Monthly Archive for April, 2008

Talk on Broadband and Distributed Software

Zeus organises another talk, this time by Piet Demeester. He’ll give us some details on the how’s and why’s of broadband and distributed software. We’ll also be able to visit the IBBT, which is chock full of gadgets and consoles, for “testing purposes”.

For more info, and an abstract, visit the Zeus site.

Although I don’t like this poster as much as I like my previous ones, I love the photo used as the backdrop. Link to original. Truly amazing the quality of some of the free photos you can find on sxc.hu.

Wanted: Earphone buds

My earphones with the large buds.I lost one of the rubber buds used on my in-ear earphones, and now I need to use a size that’s a bit too big for my ear-canal. It’s annoying because they keep popping out, unless I sit perfectly still. As luck would have it, you can’t get the buds seperately, and at a cost of €30 I’m in no mood to buy new earphones.

If anyone of you have the Creative EP-630 or Sennheiser CX300 (they’re basically the same), and doesn’t use the medium buds, I propose a swap. I still have both small and large buds. This way I don’t need to buy new earphones, and you have some spare in case you lose your buds.

Sunrise

Getting up early has its advantages.
Sunrise

Argument list too long

While moving Seenly to a new server with more capacity, I had to upload a huge amount of tiny files. Trying to do ncftpput * in a directory that contains 27000 files each with a filename of 35 characters makes Bash cry, and spit out “Argument list too long”.

Xargs to the rescue:

echo * | xargs ncftpput

Amazingly, this works: Instead of trying to ncftpput everything at once, xargs executes ncftpput repeatedly with a group of files, until all files have been sent. Echo doesn’t throw an Argument list too long error because it’s a shell built-in. This basically works for every command you need to execute on a large number of files.

Watch out though, because the command isn’t interactive anymore. So if you get this error:

Error: gl_getline(): not interactive, use stdio.

It means it’s trying to get interactive, e.g. asking you for a password, while it’s not allowed. So make sure you set all required options using switches:

ncftpput -u user -p password hostname remote/path

The Devaluation of my PC

Everyone knows PC components devalue at a very fast rate. Here’s a calculation based on my latest purchase.

I ordered the components for my new PC on February 21. Total price: €945,5. Today, about 40 days later, the price of all those components together has dropped by €54.5, a decrease of 6%. Especially the RAM (15% drop) and processor (15% drop) have devalued significantly.

That’s 54 beers, gone!

Sarcasm

Sarcasm
As seen on reddit (submitted).

Awesome.ugent.be

Having a job at the University of Ghent comes with certain perks. One of them allows me to have a dedicated hostname and IP for my laptop on the network of UGent.

It didn’t took long for me to come up with something original, and I’m now the proud owner of awesome.ugent.be.

Awesome.

Seenly’s Move

A Seenly PortraitWith 31000 snapshots uploaded, Seenly reached the limits of the 1.5GB of webspace provided by the previous webhost. A move to a new host was inevitable. After some looking around, I decided I’d try 1-eurohost. For readers from PlanetUgent, that’s fellow blogger Stein van Stichel’s company (Dutch link).

Since Seenly inherently has some quirky requirements, I first had to make sure they were running the correct version of PHP. Every PHP before 5.2 contains a bug that truncates uploaded binary data at the first null byte (apparantly PHP was parsing it using a C string function). Seenly sends JPEG data as binary data, so this would mean images would never be complete. Stein informed me with a quick mail that they were running 5.2.1, and I was happy.

Great, go ahead, order the damn thing. Turns out they’re running a lot more security “upgrades” than my previous host, such as base_opendir and mod_security. Base_opendir made my subdomains useless: I couldn’t create a file in files.seenly.com from a php-script running at www.seenly.com. I had to redirect all my subdomains, and modify a lot of files but it was doable. Still, maybe this is needlessly strict?

Mod_security dismissed the multipart/form-data upload I generate in Flash. This was a problem, since doing a multipart/form-data in Actionscript is still a bit of black magic, and fixing it might not even be possible. Luckily a friend gave me the idea that I might be able to disable mod_security in a .htaccess. A quick SetSecFilter Off did the job, and everything is now purring happily along.

Moving to 1-eurohost I first had some doubts, since my previous host has been very good to me. Imagine my surprise when I noticed Seenly’s speed has doubled now, even though I’m paying less. The only disadvantage is that they don’t have shell access, which would have been handy when I wanted to upload 124000 files. Uploading just a tar file, and then untarring it on the server, would have been so much easier. More on how I managed that feat in a next entry.