Double-blind cola test
Two of my coworkers decided today after lunch that it was time to solve the age-old question: Is it possible to actually detect different kinds of cola just by tasting them.
In the spirit of true science (and a hefty dose of Mythbusters), we decided to do this the right way and to create a double blind test. The idea is that not only the tester has to not know the different test subjects, but also the person administering the test to make sure that the tester is not influenced in any way.
So here's what we have done:
- We bought 5 different types of cola: A can of coke light, a can of standard coke, a PET bottle of standard coke, a can of coke zero and finally, a can of the new Red Bull cola (in danger of spoiling the outcome: eek).
- We marked five glasses with numbers from 1 to 5 at the bottom.
- We asked a coworker not taking part in the actual test to fill the glasses with the respective drink.
- We put the glasses on our table in random order and designated each glasses position with letters from A to E.
- One after another, we drank the samples and noted which glass (A-E) we thought to contain what drink (1-5). As to not influence ourselves during the test, the kitchen area was off-limits for everyone but the test subject and each persons results where to be kept secret until the end of the test.
- We compared notes.
- We checked the bottom of the glasses to see how we fared.
The results are interesting:
- Of the four people taking part in the test, all but one person guessed all types correctly. The one person who failed wasn't able to correctly distinguish between bottled and canned standard coke.
- Everyone instantly recognized the Red Bull Cola (no wonder there, it's much brighter than the other contenders and it smells like cough medicine)
- Everyone got the coke light and zero correctly.
- Although the tester pool was way too small, it's interesting that 75% of the testers were able to discern the coke in the bottle from the coke in the can - I would not have guessed that, but then, there's only a 50% chance to be wrong on this one - we may all just have been lucky - at least I was, to be honest.
Fun in the office doing pointless stuff after lunch, I guess.
Life is good
Remember last week when I was ranting about nothing working as it should?
Well - this weeks feels a lot more successful than the last one. It may very well be one of the nicest weeks I've had in IT so far.
- The plugin system I've written for our PopScan Windows Client doesn't just work, it's also some of the shiniest code I've written in my life. Everything is completely transparent and thus easy to debug and extend. Once more, simplicity lead to consistency and consistency is what I'm striving for.
- Yesterday, we finally managed to kill a long standing bug in a certain PopScan installation which seemed to manifest itself in intermittently non-working synchronization but was apparently not at all working synchronization. Now it works consistently.
- Over the weekend, I finally got off my ass and used some knowledge in physics and and a water-level to re-balance my projector on the ceiling mount making the picture fit the screen perfectly.
- Just now, I've configured two managed switches at home to carry cable modem traffic over a separate VLAN allowing me to abandon my previously whacky setup wasting a lot of cable and looking really bad. I was forced to do that because a TV connector I've had mounted stopped working consistently (here's the word again).
The configuration I thought out worked instantly and internet downtime at home (as if somebody counts) was 20 seconds or so - the TCP connections even stayed all up.
- I finally got mt-daapd to work consistently with all the umlauts in the file names of my iTunes collection.
If this week is an indication of how the rest of the year will be, then I'm really looking forward to this.
As the title says: Life is good.
Listen to your home music from the office
My MP3 collection is safely stored on shion, on a drobo mounted as /nas. Naturally, I want to listen to said music from the office - especially considering my fully routed VPN access between the office and my home infrastructure and the upstream which suffices for at least 10 concurrent 128bit streams (boy - technology has changed in the last few years - I remember the times where you couldn't reliably stream 128 bit streams - let alone my 160/320 mp3s).
I've tried many things so far to make this happen:
- serve the files with a tool like jinzora. This works, but I don't really like jinzora's web interface and I was never able to get it to work correctly on my Ubuntu box. I was able to trace it down to null bytes read from their tag parser, but the code is very convoluted and practically unreadable without putting quite some effort into that. Considering that I didn't much like the interface in the first place, I didn't want to invest time into that.
- Use a SlimServer (now Squeezecenter) with a softsqueeze player. Even though I don't use my squeezebox (an original model with the original slimdevices brand, not the newer Logitech one) any more because the integrated amplifier in the Sonos players works much better for my current setup. This solution worked quite ok, but the audio tends to stutter a bit at the beginning of tracks, indicating some buffering issues.
- Use iTune's integrated library sharing feature. This seemed both undoable and unpractical. Unpractical because it would force me to keep my main mac running all the time and undoable because iTunes sharing can't pass subnet boundaries. Aside of that, it's a wonderful solution as audio doesn't stutter, I already know the interface and access is very quick and convenient.
But then I found out how to make the iTunes thing both very much doable and practical.
The network boundary problem can be solved using Network Beacon, a ZeroConf proxy. Start the application, create a new beacon. Chose any service name, use «_daap._tcp.» as service type, set the port number to 3689, enable the host proxy, keep the host name clear and enter the IP address of the system running iTunes (or firefly - see below).
Oh, and the target iTunes refuses to serve out data to machines in different subnets, so to be able to directly access a remote iTunes, you'd also have to set up an SSH tunnel.
Using Network Beacon, ZeroConf quickly begins working across any subnet boundaries.
The next problem was about the fact that I was forced to keep my main workstation running at home. I fixed that with Firefly Media Server for which even a pretty recent prebuilt package exists for Ubuntu (apt-get install mt-daapd).
I've installed that, configured iptables to drop packets for port 3689 on the external interface, configured Firefly to use the music share (which basically is a current backup of the itunes library of my main workstation - rsync for the win).
Firefly in this case even detects the existing iTunes playlists (as the music share is just a backup copy of my iTunes library - including the iTunes Library.xml), though smart playists don't work, but can easily be recreated in the firefly web interface.
This means that I can access my complete home mp3 library from the office, stutter free, using an interface I'm well used to, without being forced to keep my main machine running all the time.
And it isn't even that much of a hack and thus easy to rebuild should the need arise.
I'd love to not be forced to do the Network Beacon thing, but avahi doesn't relay ZeroConf information across VPN interfaces.
Food for thought
- When you open a restaurant, you know the risk of people going to the supermarket and cook their own meal, not paying you as the restaurant owner.
- When you publish a book, you know there are going to be libraries where people can share one copy of your work.
- When you build a house and sell it, you know the people living there will be going in and out of your house for year without ever paying you anything more.
- When you live in a family and clean the parents car for one Euro, you know about the risk of your sister doing it for 50 cents next time around.
But
- The music industry claims to have a monopoly on their work, managing to get laws created that allow them to control distribution and disallow anybody to create a lookalike without paying them.
- The game industry is hard at work making it impossible for honest customers to even use the game they bought on multiple devices. And now they even begin to go after the used games market (think about that SNES pearl you just saw in your small games store. The one you wanted so badly ever since you've been young. Wouldn't it be a shame it was illegal for them to sell it?)
- The entertainment industry is hard at work to make you pay for every device you want to play the same content on.
- Two words. "SMS pricing".
Why do things applying to "small people" not apply to the big shots? Why does the government create laws to turn around well-known facts we have grown up with just so that the wealthy companies (the ones not paying nearly enough taxes) can get even wealthier?
I just don't get it.
Internet at home
I'm a usually very happy customer of Cablecom. They provide internet-over-tv-cable and as here in Switzerland, basically everyone has tv cable and because they provide nice pure ip addresses (no PPPoE stuff) and because when you are not trapped in the administrative trap, then it just works. Cablecom internet is never down, very speedy and usually I'm envied for my pings in online matches of whatever game.
All these are very good reasons to become a customer of Cablecom and depite of what you are going to read here shortly, I would probably still recommend them to other users - at least those with some technical background because, quite frankly, of all the ways to get broadband here in Switzerland, this one is the one that works the easiest and the most consistent.
But once you fall into the administrative trap, all hell breaks lose.
Here's what happened to me (also, read my other post about Cablecom's service):
Somewhere around the end of May I got a letter telling me that I would get sent a new cable modem. Once I've got that, I should give them a call so they can deactivate my old one. Also, if I don't call, they'd automatically disable the old modem after a couple of weeks.
Unfortunately, I never got that modem. I don't know who's to blame and I don't care. Also, I could not have anticipated the story as it's now unfolding because the letter clearly said that I'd get the modem at an unknown later date, so I wasn't worried at the time.
At the beginning of June, I've noticed the network going down. Not used to that, especially not as it was down for a whole day, I called the hotline and told them that I suspected them of shutting of my service despite me not reciving the modem.
They've confirmed that and promised me to resend the modem. Re-enabling the old one was not possible they've told me futher on.
One week later - not having recived the modem - I've called again and they told me that the order was delayed due to some CRM software change at their end, but they've promised me to send it that week.
Another week passes. No modem. I call again and they tell me that the reporcessing of orders was delayed, but that I will get the modem that week for sure. Knowing that this probably won't be the case, I've told them that I will be on vacation and that they should send it to my office address.
Another week passes and I go to vacation.
Another week passes and I call the office to ask if the modem (that was supposed to arrive two weeks ago the latest) has arrived. Of course it didn't. What made me actually make the call was the fact that I've received a press release from Cablecom announcing more customers than ever - the irony of that bringing my memory back to the non-existing internet at my home.
So I called support again. They did notice that my order was late, but they had no idea why it was taking so long, there was no way of speeding it up and they had no idea when I would get the modem (keep in mind that I'm paying CHF 79/mt for not working internet access).
At this point I've had enough and I've called someone higher up I know working at Cablecom.
In the end, I was able to get internet access using that route, but it's not entirely official and I still have not the slightest idea of when/if the problem with my actual account will ever be fixed.
Pathetic.
Still: If everything goes well, then you have nothing to fear. From a technical standpoint, Cablecom owns all other currently widely available methods for broadband internet access, so this is what I will be sticking with. Just be prepared for longer service intermissions once you fall into the administrative trap.
pilif.ch is back
It has been a while since I lost pilif.ch. Two years to be exact.
Fortunately, it looks like the domain grabber who took pilif.ch after that unfortunate accounting incident has since lost interest, so now pilif.ch belongs to me again. About bloody time!
Aside of the fact that my online identity has always been pilif (despite lipfi sounding much friendlier when pronounced in swiss german), there are other reasons for me wanting the domain back:
- it's in my MSN-ID (passport@pilif.ch)
- various other @pilif.ch addresses are registered at various services I've since forgotten the password for.
- it was the very first domain I bought - ever.
So it's back to the roots for me. MX, Web and DNS are already configured (the zone file is actually symlinked to lipfi.ch - I have no idea whether this is a legal thing to do, but it works).
Home - sweet home!
Nice weather

it has been a while since I've last talked about the weather, but the current official forecast by the Federal Office of Meteorology and Climatology makes me really, really happy. Especially after a very wet and cold April.
The days of barbecues are back!
Shell history stats
It seems to be cool nowadays to post the output of a certain unix command to ones blogs. So here I come:
pilif@celes ~
% fc -l 0 -1 |awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head
467 svn
369 cd
271 mate
243 git
209 ssh
199 sudo
184 grep
158 scp
124 rm
115 ./clitest.sh
clitest.sh is a small little wrapper around wget which I use to do protocol level debugging of the PopScan Server.
Thanks, Ebi
Yesterday, Ebi invited me and my girlfriend over for dinner and a round of trivial pursuit.
I fail to find words to describe how awesomly good the meal has been. I would have wanted to get a fourth serving, but I just couldn't stuff in even a microgram more.
And the trivial pursuit was fun as ever - that game just shines if you don't take it seriously.
Thanks Ebi. I had a blast!


