Deploying Etherpad at Scale in one minute

Follow along! Do each window in order

Window 1

mkdir etherpadProxy
git clone git@github.com:ether/etherpad-proxy.git
cd etherpad-proxy && npm i && node app.js

Window 2

cd etherpadProxy
git clone git@github.com:ether/etherpad-lite.git 1
cd 1 && bin/run.sh
# wait for this to show "Etherpad is running"

Window 3

cd etherpadProxy
cp -R 1 2
cd 2
sed -i 's/9001/9002/g' settings.json
bin/fastRun.sh

Window 4

cd etherpadProxy
cp -R 1 3
cd 3
sed -i 's/9001/9003/g' settings.json
bin/fastRun.sh

Now visit http://127.0.0.1:9000

Electric car conversions IVA and CEC requirements for non-classics.

Do you want to convert your Petrol or Diesel car to Electric? You might need to be a little naughty to get it fully registered and insured and it might be that a number of people skip these steps and we end up with electric conversions on that road that aren’t legal.

Post conversion, electric conversions should be registered with the DVLA. This means that your car will be MOT tested as electric & you will get a reduction tax costs, this of course only impacts cars less than 40 years old. Cars older than 40 years old are considered classics and as such don’t require an MOT or Tax. So let’s say your car is 30 years old, you convert it to electric then you contact the DVLA to notify them you converted it to electric. The DVSA(intentional change from DVLA) will require an IVA which has some ~£500 costs and requires your car to be taken to a test center, the DVSA is the least of your problems though.. The DVSA will require a CEC 100.01 test of the electrical work. These tests cost ~£2000 and again require the car to be taken to a test center. Re-testing (you probably wont pass first time) will incur the initial test fee and of course transportation costs to and from the center. These costs (let’s assume you are £5000 in) are just not feasible for the majority of conversions and when you assume the electric drive train came from an already CEC 100.01 tested car it does seem wasteful.

People familiar with petrol conversions will be aware that you have a few options, you either do or don’t tell the DVLA that you changed the engine. It’s really seen as no big deal because at the end of the day the MOT emissions test will either pass or fail, this same approach can’t be used for Electric conversions due to there being zero emissions causing an MOT fail. Obviously I’m ignoring insurance/legalities intentionally, it’s rare engine conversions are caught out during insurance claims.

So let’s quickly outline the options you have for your 30 year old conversion:

  1. Go fully legal: Spend the extra month and £10k or so in additional testing and bug-fixes. But be warned, even if you pass the CEC test the IVA inspector might not accept the “pass” and may require additional testing.
  2. Illegal VIN Swap: Swap your Reg/VIN for a car that is 40+ years. Doing this is illegal but it will mean you don’t need to pay Tax or get an MOT so the car will “legally” be on the road, ignoring the illegal VIN/Registration swap.
  3. Trust the UK Gov: Wait ~5 years for the DVLA/DVSA/UK Gov to come up with a new process for EV Conversions

The DVSA/DVLA recognize they have a problem and that electrification of old vehicles is important. Currently there are only two people and centers in the UK who do CEC testing and it’s a relatively new requirement for the IVA. I liken the requirement for CEC testing to requiring a test just for changing a fuel line on the car. I think all testing is important and having as much of a safe vehicle as possible but there should be a balance. The point I suppose is that the IVA should be testing some of the electrification aspect in the same way they do the combustion engine. I like to think that the IVA team are hoping to take this on in the future but it doesn’t sound like that’s the case.

So with option 1 being cost prohibitive, option 2 being technically illegal and option 3 being unlikely to ever come to fruition you are stuck between a rock and a hard place.

So if you learn anything from this, only convert cars that are 40+ years old.

Suggestions for improving Etherpad plugins

UPDATE: Me Gusta! All these things now exist. To improve your Etherpad plugin run

node bin/plugins/checkPlugins.js ep_whatever








In this blog post I will propose some methods to improve Etherpad plugins. This is a musing for myself a brain dump / wish list of things we might want to have in the future.

Test coverage

Does a plugin have test coverage? No test coverage discovered?

How to: Open Github issue including example source code.

Does the plugin have CI? If not create it..

How to: Create .travis file – Possible to automatically register repo as active in travis? Example travis test file

Automatically test plugins when a new version of Etherpad is released.

How to: Github actions?

License

No License?

How to: Suggest Apache 2 license to plugin as pull request

Translations

If plugin has i18n, automatically register plugins to Translate Wiki. If not, suggest supporting i18n.

Readme

Does the README file include a license?

Does the README contain an animated gif of user experience?

Does the plugin contain references to Etherpad as Etherpad lite?

Common faults

Is .ep_initialized included in the repo root? Send PR suggesting to remove it

Does .gitignore exist in root? If not? Send PR suggesting content

Does packages.json include link to repository?

Does package include npm-debug.log? Send PR removing it

JShint/lint?

Spacetime Characterization of Real-Time Collaborative Editing author feedback

This is feedback for the authors of the paper on “Spacetime Characterization of Real-Time Collaborative Editing“. It is an excellent paper full of useful insight for Etherpad.

I’m writing this as an author and maintainer of Etherpad, which for this study was primarily used for providing the data used in the analysis.

I have some suggestions for future research/development of the project with a goal to help improve Etherpad and other RTCE.

I improved the documentation and bugfix the RTCE Analysis and my efforts on this are available on the Etherpad Foundation RTCE Github Repository.

Simulate data to validate analysis.

Spacetime data could be simulated to ensure analysis is accurate.

Suggestion: Generate space-time edits with known values. etherpad-loadtest could do this with just a few hours work probably.

Programming complexity

A single programming language could be used to complete the task.

Suggestion: Rewrite analysis tasks in NodeJS using Etherpad’s built in methods. This would be a few days work.

Supplemental features

Analyzing RTCE along side other communication methods (IE Video conferencing within Etherpad) would be extremely useful. See ep_webrtc, ep_author_follow, ep_comments_page plugins for example..

Suggestion: Speak to WMF to discuss the potential of them rolling out Video chat for a trial period and do a side-by-side comparison to see if there is any difference in findings. This would be a few days prep work then a few months to gather data.

Multiple sources of data.

Using a single source(WMF) for data is not ideal.

Suggestion: Analyze video.etherpad.com, 26LLC (online tutoring platform), WMF and FramaPads content.

Database support

Only supporting a single database store(MySQL) is not ideal as some large instances use Postgres, Maria, Redis etc.

Suggestion: Use Etherpad internals to generate data allowing for analysis of a much larger set of Etherpad instances.

Conclusion

The goal of RTCE software is to reduce the amount of changesets and as such complimentary tools are included as they are often computationally cheaper than editing the pad; some examples are; Chat, Video Chat, Voice Chat and Comments(with suggestions) functionality.

Changesets or RTCE edits are relatively computationally expensive compared to a user doing peer to peer video chat, we want to minimize them so the measurement of success for Etherpad is reducing changesets to complete a document, which is contrary to this paper and may be somewhat surprising to the authors!