drop dropbox

For some time now, I’ve been evaluating dropbox. From time to time, I need to be able to store a file and have it available at another location in a synced fashion. First some history.
Before Dropbox, I was (ab)using gmail through the firefox gspace plugin, but, 1) you need firefox 2) you pollute your mail space 3) it’s buggy and bloated 4) but still doesn’t have all features I want. The reason I chose gspace back in the day, was because it was presumably cross platform through use of the firefox platform. That turned out to become limited functionality and eventually useless at all (may be fixed by now). It had also issues with having your gmail open in a tab at the same time. So I looked for an alternative and dropbox seemed promising.

My requirements for a ‘online storage’ solution are:

  • cross platform native clients: to allow sharing between work and home computers.
  • web interface: when you’re in the wild at someone else’s computer where you don’t want to install a client.
  • corporate-proof: can operate from behind different types of proxies.
  • server-side backup: when you accidentally overwrite a file from another location, or when syncing fails to do the right thing.

My nice-to-have’s are:

  • revision history: same as server-side backup but extended to multiple backups.
  • desktop integration: status overlay (aka tortoise stuff), context menu to perform web actions, for example, revert to some revision, make public, …
  • exclusion filters: handy when you don’t want your lock or temp files (due to editing) to be uselessly synced all the time.

Dropbox seemed to fulfill all my wishes except exclusion filters. Until recently. 🙂 At work, when I resume after suspend, the client doesn’t automatically sync back to the server (this can also be a proxy issue here at work, but it doesn’t work anymore and there’s nothing I can do about it, i.e. it’s closed source). But there are other things that bug me: 1) explorer integration is slow but not optional. So you have to live with it. 2) The (windows) client feels sluggish and quite heavy to load. 3) Linux client always lags behind and the desktop integration is only for gnome. Linux users had to wait long for a release, but even now, they are not treated very well. Then of course, there is the whole discussion of dropbox being closed source but the front-end part being open source, confusing people all around. 🙂 They give the impression they care about the linux users and open source, but in reality, they can’t make it true. In fact, I have no problem using a closed client, but it has to work very well then. 😉
Dropbox has free and paid accounts. The free accounts are limited to 2GB storage and only 30 days history. No problem for me.
So up until recently, I was quite happy with dropbox, but since the windows client fails to reconnect after resume and the linux fails to start, I guess I’m counting its last days. 🙂

If anyone knows a decent cross-platform alternative, please let me know.

But it did raise that thought again in my head: why not try to start an open source online storage sharing solution? Is it so hard? Why does it not exist yet? Of course, I’m not targetting a system which can take loads and loads of people uploading their latest torrents to share with the rest of the family *rolling eyes* 😉 But simply, you know, some system that can handle a few accounts (or even just private) which you can install on your own server and offers basic syncing functionality with some better-than-dumb compression/file-diffing mechanism. Personally, I also wouldn’t need fancy public web sharing like photogalleries and the like, so…

Maybe I’m missing something? 🙂

Thumbs.db viewer

Sometimes when images get accidentally deleted, even the thumbnails are already useful to view and might save you a recover operation. As you know, windows creates a hidden thumbs.db file in every directory where you viewed an image in thumbnail mode. When the file gets deleted, windows does not like to clean up (no surprise here), so you can still view them.
I found this nice free tool which simply does the job (.net framework required).

thumbs.db viewer

AVG antivirus makes another mistake

Since AVG8 had a terrible performance on my parent’s computer, I am very glad now I moved to another AV soft as it seems AVG is suffering a major bug right now which causes your windows to stop working! Note that this problem is not affecting all versions, but guess what, Dutch is one of the affected ones!

In the meantime, I have switched to Avira Antivir, but that didn’t last long either as there came nasty popups about potential threats which scared the hell out of my mom, only because she was using the free version instead of the professional one. Also, it doesn’t have an email scanner.

So, currently, they are running Avast Home edition. It comes with a whole lot of crap (‘advanced’ antivirus shields) which you will want to disable. You might also want to disable the automatic checksumming of every file on your box, because obviously it generates a lot of I/O, especially when you don’t want it.
But it does automatically reroute pop3 and smtp connections so email traffic gets scanned automagically without any configuration (which is a relieve in comparison with AVG where you have to configure it manually if you don’t use M$ crapware like outlook). There was one catch, as it seems your free download version ‘expires’ after 30 (?) days, unless you register it. No problem, registration is free. It seems you have to reregister every year in order to be able to keep using it. Sounds fair enough to me: if you keep using the AV soft, it means you’re satisfied, so why not let them know you are using it by registering it for free.

It kinda reminds of this funny article, in which one argues Windows should become Ad-ware. 🙂 I sure woudn’t mind using an adware version, as long as I can play my games full-screen. 😉

Boot process explained

It’s always nice to be reminded of the more important things in life, like how computers boot, *ahem* 🙂
Seriously, as a computer enthousiast, it’s like I _have_ to know about it, yet I don’t seem to be able to remember all the details 🙂
So guys like duarte chop it into nicely digestable pieces, ideally suited as bed time story material, so it can enter your subconscience when you go to sleep =)

4GB tuning

By default, on a 4GB 32-bit system, windows only gives 2GB to the application. To increase the amount of total user virtual address space, edit your boot.ini and include the /3GB option. With the /USERVA you can tweak the amount between 2 and 3 gigabyte. So you can not allocate more than 3GB for applications.

Furthermore, you must relink your application with the /LARGEADDRESSAWARE option to make use of this ‘4GT’ feature. You can also modify an existing binary by using editbin.

source: MSDN


I have been a long time satisfied user of Grisoft’s Antivirus suite, for my parent’s computer actually. What’s important for me is a good configurable email scanner and a fast on-access scanner. Until 7.5 AVG seemed OK in those aspects. However, last week, I upgraded AVG 8 as I thought this was just a regular upgrade. Little did I know they vistafied the crap out of (or rather in) it. The interface is dumbed down so you always need to use the advanced options menu. They added some bloat features like the link scanner[1] and antispyware stuff. But worst of all: it slows down the entire system! When even my mother complains the system has slowed down since the upgrade, you can be sure it is a remarkable slowdown 😉 I am guessing this must be a bug, maybe it does not occur on all systems. I can’t believe they would make such a jump downwards. In the meanwhile, I am looking for alternatives. Avira’s Antivir seems quite okay..?

[1] fortunately, you can remove this feature through a custom installer command


The 1989 C standard didn’t allow variable argument macros. They were added in the 1999 standard. To use one according to the standard, plug in “__VA_ARGS__” where you want the variable arguments. For example:

#define print(…) real_print( __VA_ARGS__ , 0)

Of course, your compiler may or may not support either this feature or a nonstandard variation.

You might have guessed that, after all those years, the MS compiler still does not support them!!! arghh. crap.

Redirecting error output on windows console

I thought I already blogged this, but I can’t find it back, so let me try one more try as I seem to need this from time to time and then fail to remember the correct syntax! 🙂

The scenario is: you have this huge error output on your console (for example a very long compiler error). Since it is quite long, console history is not big enough to see the beginning. You could of course increase the history size, but it’s not a real solution. Everyone knows how to redirect console output to a file, simply like this:

type myhugefile.txt > output.txt

This is all nice and dandy, except, it doesn’t capture the error output (stderr) (which is exactly what we’re interested in ;)). You have to do some win32 console-fu as follows:

mingw32-make 1> output.txt 2>&1

This tells the shell to redirect standard output (stdout) to output.txt and redirect error output to standard output.

You can read all this information in a nice collegebook format on MS’s KB.