SIGMOD 2011: A memory efficient reachability data structure through bit vector compression

During the last year of my Utrecht master’s degree, I worked on a research project at the University of Oxford with Prof. Oege de Moor: reachability queries on large directed graphs. This work eventually led to a paper at ACM SIGMOD 2011, one of the largest international conferences on management of data. In this post, I will endeavour to convey the intuition behind our approach: bit vector compression using a specially designed scheme called PWAH.
Continue reading

Replicating a Subversion repository into a subtree of another repository without admin access

A couple of months ago, I felt the need to replicate (a part of) a colleague’s Subversion repository. We were working on a rather large project and I wanted to have the exact revisions on my own SVN server as well. Just in case I need some history information in a couple of years, and also to be able to use my own patched WebSVN to browse the repository, publish an rss feed and keep track of changes. You’d think someone else has done this before. That turned out to be a false assertion – at least, in this particular case.
Continue reading

Getting the Funambol extension for Thunderbird 3 to work

Funambol & ThunderbirdFunambol is a great platform for synchronising files, calendars, and contacts between multiple applications and devices. A few months ago, I configured my very own Funambol server to synchronise my calendar between my mobile phone (HTC Touch Pro2) and my Thunderbird Lightning calendars on multiple locations. I didn’t take much time to get things to work, but after upgrading Thunderbird to verison 3 (apt-get dist-upgrade to Ubuntu Lucid) things stopped working. Apparently, a ‘plug and play’ extension for Thunderbird 3 is not yet available. However, it is possible to build the extension from scratch! After the break you can find out how to build your very own Funambol extension for Thunderbird 3 on your Ubuntu Lucid/Maverick/Natty installation. Obviously you can use the instructions to build the extension on any other platform, but that might require some more skills from your side.

Continue reading

Workaround for notorious malfunctioning Windows Mobile SMTP functionality

I’m not sure what’s the problem exactly with the Windows Mobile e-mail feature, but it seems that Microsoft didn’t really succeed in implementing a fully functional SMTP client. The one shipped with Windows Mobile 6.1 was extremely buggy (one failure to connect -EVER- would prevent you from sending e-mail forever) and the one shipped with WM 6.5 isn’t that good either. I just can’t get it to work reliably using TLS, authentication and SMTP port 587 (sometimes referred to as the “submission port”). Especially the fact that I’m unable to connect to my mail server running on port 587 in a reliable way is extremely annoying, since I’m roaming (= using other mobile or wireless networks) a lot. Since most providers don’t allow you to connect to an arbitrary SMTP server using port 25, I keep on reconfiguring my e-mail account on WM to be able to send e-mails…

Past year, I’ve been getting more and more angry about this, which made me decide do implement a workaround: a Windows Mobile SMTP proxy called MobileHermes. Completely free and licenced under the GPL, open source!

Continue reading

Getting Windows Mobile to talk to Postfix with TLS and authentication

PostfixAround June 2009 my HTC Touch Pro2 arrived. Since then, I’ve been trying to get it to work with Postfix on my mail server, using TLS and authentication. The last few weeks I have ben working on a Windows Mobile SMTP proxy application to debug the problem. Tonight, I finally found out what did prevent Windows Mobile from sending mail to Postfix…

Continue reading

Get Eclipse TPTP to run on Ubuntu Karmic Koala

EclipseEclipse TPTP (Test & Performance Tools Project) is a very cool and nifty tool to monitor your application performance. Especially when designing, implementing and testing algorithms (for example, on huge graphs, like I’m working on) it is very useful to know the exact amount of memory an algorithm is using. Important information when comparing multiple algorithms to each other. But what to do when TPTP refuses to profile your project, complaining “IWAT0435E An error occurred when connecting to the host”? Continue reading

Forcing a hard disk to reallocate bad sectors

Hard disk head

Sometimes a hard disk is hinting on an upcoming failure. Some disks start to make unexpected sounds, others are silent and only cause some noise in your syslog. In most cases the disk will automatically reallocate one or two damaged sectors and you should start planning on buying a new disk while your data is safe. However, sometimes the disk won’t automatically reallocate these sectors and you’ll have to do that manually yourself. Luckily, this doesn’t include any rocket science. Continue reading