Programming nirvana part 2: be agile

In part 1 I made the very brief argument that compiling sucks. I really like that cartoon since there is a lot of truth to it. Compiling sucks mainly because it breaks flow. There has been several tries to fix it by lowering the time it takes to compile but in the end, it’s still the same loop: write, compile, “debug”. There is another layer to it as well, one that dynamic languages doesn’t necessarily imply: Developing a program should be having a running program that can be used while it is being written. This is one of the pillars of agile programming. Step one in achieving this goal is to separate the UI from the backend. Web is a natural way to do this. ...

January 13, 2010

Programming nirvana part 1: avoid compilation

I have been meaning to write about a new project I have been working on in my spare time for a while now. It’s a project where I wanted to maximize the fun I had doing it, learn something new and to do something that I can use. Sadly I have been putting it off since enumerating all the reasons feels like quite a daunting task. So instead of writing everything in one big blog post I’ll just do shorter posts. One for each argument. First one is pretty simple. ...

January 11, 2010

Fighting spam in gmail

Everyone hates spam, and like everyone else I get tons of it. So I’ve of course written about it two times before. Earlier this week we migrated over to a better email solution, so that we could get SPF working properly. SPF should help google figure out what is spam and what is not. In the process I went through all my old spam (all 4200 hundred of them) and found the following patterns to be effective in cleaning my spam folder: ...

December 16, 2009

Django Alliance

Being small and agile has many advances, but sometimes people confuse it with being fragile. Although one could argue that betting on a single-vendors proprietary solution would be a more fragile business proposition. Anyway, to make people feel safer buying web systems developed in Django and Python based on Open Source, we have had a finger in the creation of the Django Alliance. The web site complements Django People with a focus on companies rather than on single individuals.

December 1, 2009

Andnav2 working on Hero again

First a short background. HTC Hero released with android 1.5. Google releases android 1.6 with TTS (text-to-speech) support. Andnav2 working fine since it uses external tts library. Author of Andnav2 (Nicolas) releases version compatible with android 1.6, but leaves all users of 1.5 devices out in the cold. The update was uploaded to marked with NO warning. After many talks back and forth Nicolas finally agrees to release a version that at least starts up on 1.5, but still crashes when using turn navigation. HTC announces that they are working on a new firmware based on 2.0, but release has not yet been determined. ...

November 25, 2009

Go

Google released a new system programming language. I wonder if the names of Robert Pike and Ken Thomsen will make it more appealing to C people :) It’s clearly meant to go head to head with C++. The two most interesting design decisions to me is their take on OO (feels like templates done right and no crappy inteheritance in the ordinary sense) and concurrency which looks a lot like Erlang because it’s CSP. Both of these things make it feel very functional. ...

November 11, 2009

Python scoping

Last friday, Lau discovered an interesting edge case of python. Something that at first appeared to be a bug, but later revealed a deeper truth about the scoping of Python. I guess coming from a C++ background spoils one in some regards. Scoping in C++ is simple and uniform, I have never in many years of programming C++ got bitten by the scope of the language, something that I also can’t say about C#. ...

November 9, 2009

Getting android emulator running on Ubuntu 9.10

I had a little trouble getting the android emulator running on my laptop. I wanted to start debugging why andnav2 is no longer working. Hopefully Nicolas can get it fixed, but it appears that he’s quite busy :( The first problem I ran into was that the buttons in the tools/android application where not responding properly. Starting tools/android with the env variable GDK_NATIVE_WINDOWS=1 fixed that problem. Next problem was that the ssl mirror for getting the different SDK versions was not working. A quick google revealed that adding a sdkman.force.http=true to ~/.android/androidtool.cfg fixed that. Do not try to just remove the http. You’ll get the SDKs, but it will not work. ...

November 6, 2009

Font problems with QT programs in Ubuntu 9.10

I upgraded early to Ubuntu 9.10 release and have been overall very satisfied with the changes. 3d effects are back, thanks to fixed intel drivers, kernel has been upgraded and suspend + boot is faster, and Emacs has been upgraded to 23 :) I just had one problem when upgrading, namely that QT applications would use a non-hinted font which made Skype and Virtualbox would look like crap. It took a bit of googling to find out what the problem was. Using qtconfig-qt4 did not work for some unknown reason. I followed the guide on the link, and got fonts working again by simply copy/paste in his .fonts.conf file into my home directory.

October 29, 2009

8 free android apps and two web

One of the more interesting aspects of the HTC Hero for me was the android market. As paid applications are not yet available in Denmark, this list only includes free (as in beer) apps: Locale: Brilliant and simple program to handle profiles automatically. Currently I just use it to have the phone silent when at work and with ringer on at home. But there are endless possibilities with this application. No wonder it won the Android Developer Challenge 1 competition. Highly recommended. Facebook: pretty decent way to read and post status updates. Mostly needed because their website sucks in the browser. Flickr.com: While not an app, the web site is simply a blast to use with the browser. Way to go flickr! Wikipedia.com: Also not an app, but I've tried a few different apps, and the web site beats them all hands down. Don't bother installating any apps. AndNav2: I wrote a seperate post about it here. I'll just add that I tried mapping with it yesterday and that also works perfectly. This application for me is the killer app for the android right now. Google sky map: Mostly a wow-factor application but to be fair this application is pretty nice. PMix: Application to control music player daemon (mpd) that I use at home for playing music. It's ok, but still quite rough around the edges (=crashes). Skype lite: The software uses normal phone minutes for calling and thinks its a feature. Very disappointed. Pro football live: Just to keep up with the latest games. Works pretty well. The best NFL app I have used. Advanced task killer: The best I have found to keep the android running lean and clean :)

October 2, 2009