On May 2nd Chris Strom wrote a message on G+. He was looking for some candidates to try out the new Google Hangouts Remote Desktop while working on Dart.
I decided to give it a try, though I had never done any Dart development prior to this meeting.
This quote gave me enough confidence to send him an email and try this out. Since then I have done more than 5 #pairwithme sessions with him while switching between his machine and mine.
Zero Dart experience required. Really :)Chris Strom
The out of the box experience with Dart is excellent. You are up and running in a short period of time and the Dart tutorials are a great material to get you started.
The quality of the remote desktop is great. The latency between screen updates has been very low so the pairing experience has been very pleasant even though I am currenlty in France and Chris is in the U.S.
We did encounter some issues when using each others keyboards. I have an azerty keyboard while Chris has a qwerty one.
There is a dart-mode for emacs. You can do a
M-x package-list-packages, search for
dart-mode, once you have found the package press
I to mark for installation, then press
X to start the package installation.
Chromium: is available under
dart/Chromium/Chromium.app. Is good to have Chromium running while you are working on your app.
DartEditor: is available under
dart/DartEditor.app. The editor is really easy to work with and is well presented in the Dart Tutorials.
dart yourapp.dartfrom a command line. The
dartcommand is available under
dart/dart-sdk/binyou might want to add that to your path.
dartanalyzerdoes the same work that the DartEditor does when it highlights errors and warning. It is also available under
dart/dart-sdk/binand is great if you want to use other editors like vim or emacs.
Through this pair review sessions we have worked on multiple issues while porting to Dart the ice-code-editor. This is great because you get to see multiple aspects of the language (Unit tests, JS interop, DOM usage). Here are some of the things we went through during these sessions.
We worked on hidding some JS dependencies from the ice-code-editor. It turns out that html manipulation is really smooth.
Take a look:
script.src = "packages/ice_code_editor/ace/ace.js";
Through these sessions I also learned a lot of things that I didn't expect.
Network emulation in linux:
You can emulate network latency netem as described here.
Emacs commands and lisp expressions for my .emacs:
With the following code on your .emacs you can simply select a region and do a
C-x C-; to comment out a region of code.
;;comment regionIf you want to insert the content of a file into another file, you can perform a
(global-set-key [?\C-x?\C-\;] 'comment-or-uncomment-region)
C-x iand choose the file you want to insert. Then press