This week I attended Berlin Buzzwords Conference 2010, a two-day event aimed at software developers. The conference offered two tracks, one on search and the other one on NoSQL systems. Typical attendees seemed to be MacBook-wielding, twittering lifestyle geeks, often with SQL-induced childhood issues. The hype level was high - a …
read moreQuick Tip #4: Sorting Large Files
With traditional Unix sort(1), the size of the files you can sort is limited by the amount of available main memory. As soon as the file gets larger and your system has to swap, performance degrades significantly. Even GNU sort which uses temporary files to get around this limitation …
read moreAre Link-Sharing Services Irrelevant?
You can use RSS to easily follow a few high-profile websites and link sharing services like Slashdot or Digg to discover popular web content. But that's like reading a classic newspaper and some magazines: The information provided may have a higher chance of being relevant to you, but there's still …
read moreUsing TCP for Low-Latency Applications
Last week I ran into a nasty little problem while implementing an application with soft real-time requirements. I was aiming at 1 ms or less for a TCP-based request-response roundtrip on a local network. Should be trivial, but why did my tests indicate that I wasn't even getting close?
The …
read moreThe Future of python-musicbrainz2
I started the python-musicbrainz2 project in January 2006 as the first client library to the newly designed MusicBrainz XML web service. It has been my first Python project and I learned quite a lot in the process. Now MusicBrainz is undertaking a major data model change that also changes and …
read moreFinding the Majority Item in a Stream
Fun with Context Managers
Sometimes I need a simple stop watch in my Python scripts to find out how expensive my code is in wall clock time. The problem is trivial to solve, but I thought I'd give it a try using Python's with statement and a context manager.
Previously, my code looked like …
read moreEee PC Wireless Troubles
Half a year ago, I bought an Asus Eee PC 1000HE netbook. The first thing I did was wiping Windows XP off the disk and installing Ubuntu Jaunty Netbook Remix. When I bought the netbook, I knew support for the wireless chip (AR928X, according to lspci) was limited, but things …
read moreGoogle Gollections 1.0
The guys at Google took their time, but the much anticipated Google Collections 1.0 have finally been released. I expect this library to change the way we write our Java code (at least it did that to mine), so I put together an overview article to get you started …
read morePlotting with Matplotlib