I am not the only person pondering what mobile platform to get.

Though as I blogged already, I'll be going with Maemo.

Posted Sun Nov 15 15:38:00 2009 Tags: programming

I have devices that run both Android (OpenMoko Freerunner) and Maemo (N810). With new devices now available that run newer versions of Android and Maemo, I was trying to decide which one I would get (the WAF will not allow both).

The Google Maps Navigation announcement really made me want the new Motorola Milestone phone. That is a sweet app.

However, after reading Harald Welte's summary of Android Mythbusters and Comparing Freedom on Maemo and Android Android does not seem like the platform I want. If reviews of the just now shipping N900 are positive, that will be my choice.

Posted Wed Nov 11 22:16:00 2009 Tags: programming

If you typically send patches to mail lists then Felipe Contreras' git send-email tricks blog post is definitely worth reading.

Posted Wed Oct 28 21:29:00 2009 Tags: programming

Dave Jones is a genius. Using mutt and your editor to highlight your coding errors -- he should have patented that one!

Posted Wed Aug 27 22:47:00 2008 Tags: programming

As an emacs user, I knew the butterfly command. I just don't find it that useful.

Posted Sun Feb 3 14:31:00 2008 Tags: programming

In the C/C++ programming language, data can be given the volatile qualifier. Typically, people think this is sufficient to prevent code ordering problems. Well, volatile does not do that.

Linus provided a great explanation of the problem on the lkml today. Definitely worth reading. Also, you should read Linux Kernel Memory Barriers from the kernel documentation.

Update 2007-10-14: Also check out the LWN article The Trouble with Volatile.

Posted Fri Aug 17 11:47:00 2007 Tags: programming

If you've heard of pointer aliasing but have not fully understood what it means, read this great explanation by Krister.

Posted Tue Nov 21 14:52:00 2006 Tags: programming

Update 2009-10-12: Updated Intel document link

Posted Wed Nov 1 00:00:00 2006 Tags: programming

When you are programming it is often convenient to have 32-bit values that, when displayed in hex (base-16), spell words (e.g, 0xdeadbeef). These values are useful for signifying specific conditions either within a program's resident memory or in persistent storage.

I found a cool list of words that were pragmatically generated and expanded to include l337 spellings.

Posted Wed Aug 30 00:00:00 2006 Tags: programming

Ulrich Drepper has a blog entry about using the environment variable MALLOC_PERTURB_ to aid in the detection of typical memory usage bugs in programs.

Using this debugging feature is as simple as setting the environment variable and running the program you want to test. No recompiling required. Sweet!

Posted Wed Jun 21 00:00:00 2006 Tags: programming