I’ve helped plenty of people with coding before, but when I’m not working right next to them it can be difficult to help troubleshoot. They normally end up emailing me the code and then I email them back the edited file. Along with that I typically have to explain what I’ve changed, which can be a pain if there were a lot of modifications throughout the code. Sometimes I’m just lazy and tell them to run a comparison on the original code and what I’ve sent back. :)

Well, this is where EtherCodes comes into play. It is based on Mozilla’s Bespin, which is specifically designed to be used in JavaScript-powered applications such as EtherCodes. Once you hit the site you can instantly start a “code pad” that can be shared with others. When other users pull up your page they can see in realtime whatever changes you make, and they are actually allowed to make changes as well.

There are a lot of things going on tucked away in the toolbar at the top of EtherCodes that makes it super sweet. The first thing you can do is choose whether or not you want to have syntax highlighted using one of the nine supported languages:

  • C/C++
  • C#
  • Java
  • PHP
  • JavaScript
  • Python
  • SQL
  • Ruby
  • HTML

You can also save a code pad at any point… serving as a makeshift bookmark for later on. You’ll find this to be handy for those moments you say “that will work, but let’s try this instead.” There is also a timeline view that will let you see how the code changed over time, and even includes a “play” button so that you can watch the changes happen all over again. That also makes this an excellent way to learn.

We can’t forget the one thing that everyone seems to overlook when using EtherCodes: the command line. At the bottom of the coding screen there is an area you can type in that makes it easier to edit and navigate around your code. This is also how you can chat with other users that you are collaborating with (messages will appear in the right sidebar, so make sure you keep it visible otherwise there will be no indicator for new messages). Here’s a full list of the available commands along with their appropriate shortcuts:

alias define and show aliases for commands
chat Send text messages to others CTRL + /
deletelines Delete all lines currently selected CTRL + D
detab Convert tabs to spaces.
entab Convert spaces to tabs.
find Search for text within this buffer CTRL + F
findnext Repeat the last search (forward) CTRL + G
findprev Repeat the last search (backward) CTRL + SHIFT + G
goto move it! make the editor head to a line number. CTRL + L
help Get help on the available commands.
history Show history of the commands
jump-commandline Quick jump between commandline and editor CTRL + J
lc Change all selected text to lowercase
openline Create a new, empty line below the current one CTRL + RETURN
openline Create a new, empty line below the current one CTRL + RETURN
redo Redo locally (only my changes) CTRL + Y
set define and show settings
trim trim trailing or leading whitespace from each line in selection
uc Change all selected text to uppercase
undo Undo locally (only my changes) CTRL + Z
unset unset a setting entirely

EtherCodes is obviously not something you want to do all your programming in, but it can be incredibly useful whenever you need to help someone else with their code or even when requesting help from a friend.

EtherCodes Homepage