Keyboard-Friendly TortoiseHg

July 28, 2012

I’ve been using more and more Mercurial these days and I’d say I’m now sold on the idea of Distributed Version Control Systems. The speed is great, rigorous branching is designed in from the beginning (as opposed to Subversion) and websites like GitHub and Bitbucket make collaboration on code dead easy and fun.

There are several annoyances though, one of which is that TortoiseHg, a GUI for Mercurial, lacks proper keyboard support. I find it very odd that this aspect has been so much neglected by developers of this, otherwise very fine, piece of software as I truly believe that we are typists first, programmers second.

One might argue that if I insist on using a keyboard, I can do everything with a Mercurial repository from the command line. However, I postulate that if you want to maximize your efficiency with a computer, you have to put to good use both your keyboard and the mouse. Aside from that, I appreciate the ease of navigating through the repository log and its visualization. In case you’re wondering, I just checked that there is an extension for displaying repository graph in ASCII (hg glog) - isn’t it silly?

Anyway, if you’re also missing some keyboard shortcuts in TortoiseHg, you might want to check out my fork of it on Bitbucket where I hope to contribute some code for other developers who, like me, decided at one time to go commando and put down the mouse.

Shaping InstaFetch - Source Code Repository Visualization

July 14, 2012

In an NDC 2012 talk, titled "How to get productive in a project in 24h" (highly recommended by the way), Greg Young was talking about data mining your source code repository (among other things) and showed a brilliant visualization of the jQuery repository.

Turns out one can create such visualizations in a matter of minutes using this little open-source utility called Gource. When I found out, I immediately run the tool on some of my pet projects repositories and it was a great fun.

I thought I'd share a video showing how InstaFetch (an Instapaper client for Android I've been developing since 2010) has been taking shape:

Though it has been a bit sentimental peek at the past for me, the ending is rather saddening, since Marco Arment (the author of Instapaper) has recently decided to publish an official app for Android, effectively ending the life of InstaFetch :/

Anyway, if you have software projects of your own, I encourage you to play with Gource for a while. I myself can't wait to run it on repositories at my workplace.

Remote Android Debugging

If you’re developing for Android you know the pain of the change-compile-run cycle when using the emulator. Although the emulator itself starts quite quickly (especially if you use snapshots), it takes some time for the compiled application to be installed on it. For that reason I prefer using Android x86 running inside a VirtualBox virtual machine — apps install instantly and run much faster.

However, the x86 version of Android is not perfect and sooner or later you’d better test your app on real devices. In such scenario there’s just a little quirk that bothers me greatly — the necessity to use a USB cable for debugging — it gets really cumbersome to both develop and test the app at the same time with the cable getting in the way of using the device comfortably.

It was not until very recently that I thought that it might be possible to use adb via Wi-Fi instead of USB connection. And guess what — of course it’s possible and there are already apps that facilitate this. For me, adbWireless works great.