Search Results: "ema"

13 July 2007

Ross Burton: Embedding Binary Blobs With GCC

For a long time I've wanted to know how to embed binary blobs into executables. This would be most useful for files like Glade and and UI Manager definitions, which are required for a given program to work at all but either cannot be embedded as a string literal (Glade) or can be but is annoying (UI Manager). I finally asked the Interweb, and Daniel Jacobowitz replied with some pointers. It turns out that doing this is remarkable simple. First, a caveat. This probably requires GNU ld, which may or may not be a deal breaker for many people. First, create a data file. Let's call it foo.txt, and put some text in it.
Hello, World!
Using ld this can be read in as a plain binary blob, and then written as a standard relocatable ELF object.
ld -r -b binary -o foo.o foo.txt
Now we have a standard ELF object with the data and some useful symbols defined. objdump will show you the contents.
$ objdump -x foo.o 
foo.o:     file format elf32-i386
Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         0000000d  00000000  00000000  00000034  2**0
                  CONTENTS, ALLOC, LOAD, DATA
SYMBOL TABLE:
00000000 l    d  .data  00000000 .data
0000000d g       .data  00000000 _binary_foo_txt_end
0000000d g       *ABS*  00000000 _binary_foo_txt_size
00000000 g       .data  00000000 _binary_foo_txt_start
Here we see 13 bytes of data, and a symbol which contains the address of the data. This is all we need to access it from a C program.
#include <stdio.h>
extern char _binary_foo_txt_start[];
int main (void)  
  puts (_binary_foo_txt_start);
  return 0;
 
Now if we compile this and link it against the generated object, we'll have a binary.
$ gcc -o test test.c foo.o
$ ./test
Hello, World!
Hooray! One small problem which alert people should have noticed: the string itself is in the .data section, which is read/write. For my use, I want it to be read-only data in the .rodata section so that it isn't copied for every instance of the application. As far as I know, this isn't possible with ld but objcopy will let us rename sections on the fly.
$ objcopy --rename-section .data=.rodata,alloc,load,readonly,data,contents foo.o foo.o
$ objdump  -h foo.o
...
  0 .rodata       0000000d  00000000  00000000  00000034  2**0
Excellent, problem solved. If you want to download this sample, I have a tarball. Many thanks to Daniel Jacobowitz for pointing out how to achieve this. Update: note that any data embedded in the binary like this won't be terminated with a NULL. This is obvious in hindsight, but due to luck my example still worked. There might be a way of asking objcopy to append a 0 to the end of the data, but if not always remember to use the start and end pointers or size instead of just the start, or append a NULL yourself before converting to an ELF. NP: (), Sigur Rós

Biella Coleman: Food Hacking

See the video. I was lucky enough to be there and yes, the meal was deliciiousssssssssssssssssssssssssss.

Eddy Petri&#537;or: glest: a free 3D real time strategy game

After almost a year of working on and off on the package, glest is now in the new queue.

Glest is really a free 3D real time strategy game with amazing graphics and really interesting game play.

So maybe you're wondering why did it took me so long to package it. Well, glest is mainly developed on a Windows platform and GNU/Linux is the platform it was later ported to. So this came with some problems:
Since when I started the packaging work I was using a PowerBook G4 as my main machine I was upset that the game was little endian only, so I started working on a patch. I made an incomplete patch but I got stuck at some point. Time passed by and I replaced my laptop and I wasn't able to continue working on the patch. So I kind of forgot about it. Before debconf I decided is time to do the upload for little endian machines, add the endianess patch disabled.

During debconf I asked Tolimar to make an upload, and it turns out that for some reason I still don't know, the build resulted in a statically linked binary. I was amazed since I didn't recall doing any changes that might have triggered this. At some point I suspected that the build system is broken on other arches than i386 (my main machine is amd64) and halted. This until a few days ago Joey Hess added a comment in the ITP bug pointing out that the game is ok. After a couple of emails I realized that the static issue was just some strange temporary issue on my machine and now the package is in NEW.

So, that's my excuse. I hope that upstream glest issue get fixed. If not, I'll probably package glevolution, too.

12 July 2007

Evan Prodromou: 23 Messidor CCXV

I just got a promotional email from Caf Press specifically for Canadian residents (title: Canadians feel the love). It pushed a lot of maple-leaf-covered schlock with gushy Canadia-praising. I found it annoying, and not even because of the maple leaf logos (which are relatively rare here in Quebec). I had an extremely poor experience last time I ordered a shirt from Caf Press. Because they fulfill Canadian orders from the US, they're subject to import duties. My order got caught by the feds, and I had to pay an additional sixty percent. (See Journal/14 Prairial CCXIV). I'm not gonna "feel the love" until they figure out the problem and make sure I don't get hidden charges from the Canadian Border Patrol. A Canadian fulfillment centre would probably do the trick, but I've heard that shipping Federal Express also fixes a lot of border duty problems. tags:

Gunning for the B-list So my technorati page for this blog shows me with an authority rank of 96, putting me just on the cusp of being a b-list bloglebrity (authority > 100). Technorati rates blogs by how many other unique blogs have linked to them in the last 6 months, so I just need four new links to go over the top. I have a few essays on the back burner of my Todo list, but there's a temptation to just do something negative to get those last few links. Could I come up with some more creative slurs against for Lars Wirzenius? (ref: Journal/6 Fructidor CCXIV, bottom of the page). That'd be good for 3-4 links from Planet Debian right there. tags:

Erich Schubert: Shaping your traffic for improved performance

Sometimes, putting up an arbitrary limit for your network connection can actually improve the performance.A typical setup will look like this: your computer is connected via 54-100 mBit to a router, which has a DSL line of let's say 2 mBit downstream and 192 kBit upstream (and then tons of other links).When you overload one of these connections, performance can go down a lot.The simples case how this can happen is when you upload data. 192 kBit are the weakest link here, and rather easy to fill up.What happens then is that your computer will start sending out data at his full link speed, until the buffers at the router are full and it starts dropping packets. TCP/IP will then adopt and - lacking 'ACK' packets - slow down sending data. It will likely still keep the send-buffer of the router full.Now if the router isn't very smart, it just keeps a first-in-first-out buffer. As long as you have just this single upload, you don't need to care. But if you have other connections, like a download, you do care.For your download to run at full speed, the sender needs to get those ACK packets from you. They're basically a "got your data, send more" kind of message. Really tiny packets, but essential for signaling.A simple trick you can use now is to limit your bandwith at the sending computer already. Since you're going to limit it just to the next link anyway it doesn't mean it will actually be getting much slower. But your network stack is smarter than the router's (probably). It can send out these ACK packets at a higher priority, so you end up with a better download-and-upload performance.If you know your network connection speed, just use it. Otherwise you can still measure it or guess it. I'm always going for 95% of the speed I see. You might want to limit it a bit more if you are sharing the connection with others.Now enough theory, here's what I use:
IFACE=wifi0
# setup ingress filtering
/sbin/tc qdisc add dev $IFACE handle ffff: ingress
# local network is unrestricted
/sbin/tc filter add dev $IFACE parent ffff: protocol ip \
  prio 10 u32 match ip src 192.168.2.0/24 \
  police conform-exceed ok/ok flowid :1
# incoming internet traffic is limited.
/sbin/tc filter add dev $IFACE parent ffff: protocol ip \
  prio 50 u32 match ip src 0.0.0.0/0 police \
  rate 1500kbit  burst 10k drop flowid :2
# outgoing traffic
/sbin/tc qdisc add dev $IFACE root handle 1: htb default 30
# local network is unrestricted
/sbin/tc class add dev $IFACE parent 1: classid 1:10 htb \
  rate 54mbit burst 15k
/sbin/tc qdisc add dev $IFACE parent 1:10 handle 10: sfq perturb 10
/sbin/tc filter add dev $IFACE parent 1:0 protocol ip \
  prio 10 u32 match ip dst 192.168.2.0/24 flowid 1:10
# internet traffic is limited.
/sbin/tc class add dev $IFACE parent 1: classid 1:20 htb \
  rate 160kbit ceil 196kbit burst 15k
/sbin/tc qdisc add dev $IFACE parent 1:20 handle 20: sfq perturb 10
/sbin/tc filter add dev $IFACE parent 1:0 protocol ip \
  prio 50 u32 match ip src 0.0.0.0/0 flowid 1:20
Long example, I know. The main reason is that I'm not limiting traffic to local computers. Furthermore, I'm also limiting my incoming traffic to use up at most 1.5 mbit of the 2 mbit connection, so my housemates will be able to use the internet as well (Debian mirrors send data fast - fast enough to kick them out of any online game they might be playing...).There is one important detail hidden in there: sfq. This stands for "stochastic fair queueing". It tells the network stack to basically send "one packet for each connection in turn". This way, the small packets needed for download or interactive SSH sessions will get out quickly even when doing a larger upload.It works great for me - I'm having a good download rate, using the 160 kBit upload limit completely (I don't want to completely fill up the 192k upload link either) and I'm actually writing this blog entry remotely via SSH. The lag when writing is okay, probably around 300ms. Without shaping, this wouldn't work this well.(And no: just using 'sfq' for your outgoing traffic is not enough, since the key scheduling is happening at the weakest link. So you have to limit your traffic shaping setup to be just below the actual weakest link.)

Benjamin Mako Hill: Footnotes

At the risk of seeming a self-aggrandizing, I wanted to point folks to a nice biographical profile that Linux.com is running about me upon my election my to the FSF board. I'm pretty honored, and excited, by the whole thing. The article talks a little bit about my road to free software and the FSF board in particular and about some of my ideas about the foundation and its work. There are three little footnotes I thought I would add to what I think is a great article:

11 July 2007

Benjamin Mako Hill: Seeing Yellow

You may have heard some of the noise that EFF was making a year so ago about the tracking dots hidden in documents by color laser printers. A number of people contacted their printer manufacturers to ask how to turn the "feature" off. At least one person (who has, understandably I think, expressed interest in remaining anonymous) was subsequently visited by the United States Secret Service who asked him questions about why he wanted to turn off the tracking dots in his printer. I've put up a little website with some others in my research group at MIT that tries to organize individuals to call into their printer manufacturers and demand that the feature is turned off. If many people call, the government won't be able to visit us all. We've made a long list of technical support contacts to help with the process. Please call your printer manufacturer today and spread the word about the site so that more people call in. The site is called Seeing Yellow -- a reference to tiny yellow dots that make up the tracking code -- and its online at seeingyellow.com.

Eddy Petri&#537;or: R U a programmer or a hax0r?

I have a few questions:
If you are programmer you will know what you should have answered...

Update: this post was tagged as "rant" and the rant was about a badly written and too rigid code; this was not about trying to tell the future and implementing now what you might need later

Andrew Pollock: [life] Sarah made the news

Last night NBC11 was running a story and an email poll about the impending new legislation requiring that all cats and dogs over 6 months of age be spayed or neutered. Anyway, the legislation seems (surprisingly, in my opinion) divisive within the community. Since Sarah has done a lot of volunteer work at the Palo Alto Animal Services animal shelter in the past, as well as doing a bit of feral cat trap/neuter/release work, she's strongly in favour of the legislation as it'll help reduce the number of unwanted kittens and puppies that get dumped at shelters (or just dumped) every year. Unfortunately, plenty of pet owners seem to feel some need to not have their pet spayed or neutered, even if they have no intention of using the animal to breed, and these people have been kicking up a fair bit of fuss. So, as I was saying, NBC11 ran an email opinion poll, and Sarah wrote in a fairly informed piece about why she felt the way she did, and got an email back this morning for a reporter wanting to interview her, and that happened today. It's funny, Sarah was saying on the way home from work, that in hindsight one of her answers was pretty lame, and sure enough, the one sound bite they decided to use was that one... Oh well, she's had her 30 seconds of fame.

Biella Coleman: Nothing to Hide in 25 Pages or Less

I am excited to read I’ve Got Nothing to Hide” and Other Misunderstandings of Privacy by Daniel Solove and I am also excited of its “short” length, mostly because I reckon I can use this for undergraduate teaching (and will perhaps include it when I teach some version of this in the future). I place short in scare quotes because I don’t think a 25 single spaced article is really all that short though it is flagged as such in the abstract. But given this is a law journal article, which tend to trail into the 75-100 page range (and thus out of reach for most undergraduate teaching), it is indeed tiny. I am in the lookout for more law journal articles that are under 30 pages as I find them to be quite useful in the classroom…

Joey Hess: saved my atari programs

I got a SIO2PC cable for my atari, hooked it up to a linux box, and used the atarisio tools to rip a few of my old BASIC disks. Now I can load them in the atari800 emulator, and will hopefully never lose this early code -- cuz it's in subversion now. The first disk I rescued ("finished programs disk 1") has a nice little menu on it with lots of games and stuff I'd put together. menu.png video.png jump.png I've always been proud of the "vidio" game, which is the first game shown above. It'd give Pong a run for its money in simplicity, and has gameplay I still enjoy (for up to 5 minutes at a time). You're the green dot, which is flying from left to right. Each time it reaches the right side of the screen, it wraps back to the left -- but leaves a blue wall behind. Crash into the wall and you lose a life. Sometimes other dots appear that you can pick up to get new lives. This sounds easy, but it's not, mostly because the Atari joystick (or my code for reading it) is not very precise, so it's hard to line up to exactly the right place on the screen to go through a small hole in the wall. In contrast to that piece on innovation, the "jump" game is a pretty generic platformer, jump over the water and shoot the enemy that's crawling along the ceiling. It's also a bit buggy. jump2.png code.png code2.png I took a look at the code, but the bug on line 200 isn't very obvious, whatever it is. This is how everyone's old code looks to them after 20 years ... right?
Update: Some more games I found.. tetris.png My version of Tetris for the Atari. It looks a lot better on a real TV tube. Two fun things in writing this were that I couldn't figure out how to program it to rotate the blocks on the fly -- so I just wrote out data with every possible rotation for every block. Also, Atari BASIC lacks arrays, so it uses strings for storing the game state. fatso2.png fatso4.png
(Colors are ok in 1st screenshot, but messed up in second.) Fatso's adventure had the best graphics I did on the Atari. It remapped parts of the the character set and used ATASCII characters as sprites. Ok, it's kind of a Lode Runner clone, but only the kind you write after having seen Lode Runner for 2 minutes. Looks kinda like it, but I don't think Lode Runner had spiders that dropped exploding eggs that broke all the rungs in the ladders..
Update 2: Disk images are nice, but regular files are nicer. I was able to explode files out of the disk images only with difficulty. I ended up using wine to run a windows program called Total Commander. It has a plugin that allows .atr disk images to be unpacked. To view the BASIC files, they have to be detokenized. I found a perl script to do that, that can be used on the fly of anything suspected of being a BASIC program. All the stuff is in my subversion repository.

10 July 2007

Mohammed Sameer: No connectivity.

No connectivity since Friday evening. I took all the precautions to ensure my connection will be working in the new place but it seems I'll have to wait until Thursday.

No email or anything. Even worse, I have a FTBFS bug that needs fixing.

Why are all the hotspots I find encrypted ? ;-)
read more

Ian Haken: Summer of Code Midterm Update

As we reach mid-summer, I think now is a good time to provide a more detailed update on my summer of code project, vlosuts. For anyone not familiar (or for anyone forgetful) the following is a brief summary of my project proposal. In order to assist in distribution upgrades, vlosuts (Virtual Live Operating System Upgrade Test Suite) aims at performing upgrades of live systems (between releases and/or repositories) while logging any errors encountered. By running on a live system (virtualized via QEMU/KVM/Xen/other) problems that may only be encountered with services upgrading can be identified early. The full proposal can be found at: http://code.google.com/soc/2007/debian/appinfo.html?csaid=24C7766EC4271F15

I am happy to say that vlosuts is successfully in alpha, with most of the desired features already implemented. Based on my initial project propasal timeline, I'm well on schedule.

Some of the features that were proposed included the ability to run the upgrade with packages selected by priority, from a list, and as mirrored from an existing system (packages can even have a specific version specified, though of course the repository used must have that version available). Additionally, when mirroring this package list, configuration files can optionally saved as well. This allows testers to (as nearly as possible) reproduce a specific system.
These options have all been implemented among others. I have also put in support for running with QEMU, KVM, and Xen backends.

For the remainder of the summer, my goal will be adding additional features and tackling a few bugs that have come up. In particular I'm trying to take advantage of QEMU's ability to emulate various architectures. However, the stability of user-mode emulation has been uneven for me (segmentation faults whenever any program is launched), which is required in order to cross bootstrap. Once this is worked out, one should be able to test upgrades on any of QEMU's supported architectures.

Additionally, vlosuts is not yet available as a package, which is clearly something that needs to be fixed soon. I'll be spending some time in the next couple weeks packaging it and making sure it sets up correctly.

I think that about sums up the current state of things. It's been a good experience thus far, and hopefully the rest of the summer continues to go well.

9 July 2007

Biella Coleman: La Rogativa

Last night I came across an amazing photo of one of my favorite spots in Viejo San Juan, Puerto Rico, La Rogativa. It is one of the *best* spots to sit, at night, after a walk and few drinks, and watch the lights dazzle in front of you till the sun decides to rise. You will not be disappointed, especially during a winter’s night when there just may also be a slight touch of cool breeze to caress your skin. Here is the story of the statue:
A modern bronze statue of the Bishop of San Juan and three torch-bearing women stands in the Plazuela de la Rogativa. A good spot for scenic views, due to is fine location overlooking the bay. The beautiful bronze statue is the work of Lindsay Daen, created in 1971 to mark the old city’s 450th anniversary. Plazuela de la Rogativa (plaza of the procession) features a modern sculpture depicting a procession of religious women and a bishop. It commemorates an event that took place on the site in 1797. During the spring of that year, a fleet of British ships led by under Sir Ralph Ambercrombie sailed into San Juan Bay, meaning to launch an assault on the city and take control of the colony. When the attack was foiled, they undertook a naval blockade of San Juan, hoping to starve the residents into submission. As the town s people began to despair of any help from soldiers garrisoned in the inland towns, the governor ordered a rogativa, or plea, to ask the saints for assistance. The women of the town formed a procession through the streets, carrying torches and ringing bells. The British, hearing the commotion and seeing the moving lights, decided that reinforcements had arrived and quickly sailed off.

Biella Coleman

La Rogativa

8 July 2007

Biella Coleman: Impacts of Technology

Most of my recurring anxiety nightmares emerge straight out of work experiences. A common dream I had, for years, was basically being slammed with a deluge of like 25 customers/tables while waitressing. Yes, I have waited tables for many years. Now, I have a new dream which reflects new working conditions. Basically I show up on the first day of class with NO syllabus and it is horribly embarrassing. Thankfully that scenario is easily avoided. I am teaching two classes this fall, one called Impacts of Technology, the other Human Culture and Communication. I had to come up with the Impacts of Technology syllabus from scratch (Culture and Comm is somewhat standard for the Department I am teaching in) and here is a first version of my syllabus. I am sure it will change but it is nice to have most of it done as I hope to avoid any work-related nightmares this summer.

7 July 2007

Martin F. Krafft: Hacker tools in Germany

I am sure you've heard that "hacker tools", including nmap and other system administrastion essentials, may be considered illegal in Germany as of now. It'll depend on whether judges determine that e.g. nmap is a tool primarily used to do harm, so we all have not become criminals overnight, but there will be complications and ridiculous showdowns in courtrooms. I was only one of thousands of protestors, when this bill was first discussed by our politicians. Back in October 2006, I wrote an email to Ilse Aigner, the spokesperson for education, research and the estimation of consequences of techynology (whatever that may be) of the Christian Democratic and Christian Socialist Unions, who is a member of the German Bundestag. She's the Bundestag representative for my hometown. Surprisingly, I got a reply from her secretary, which I shall quote in full below:
im Auftrag von Frau Ilse Aigner ich habe mich bez glich Ihres Anliegens bei unserem Referenten der CDU/CSU-Arbeitsgruppe f r Recht erkundigt. Ich wurde darauf hingewiesen, dass die Bedenken Ihrer Branche hinsichtlich des Refentenentwurfs eines Strafrechts nderungsgesetzes zur Bek mpfung der Computerkriminalit t bekannt sind. Auch hat der Bundesrat eine Pr fbitte ge u ert. Zwar ist der Referent der Meinung, dass die Gefahr der Illegalisierung schon jetzt nicht best nde, trotzdem wolle man aber im laufenden Gesetzgebungsverfahren alle Bedenken beseitigen. Seien Sie versichert, dass Sie auch in Zukunft weiterhin Ihre Arbeit ganz legal aus ben k nnen.
That last sentence says: rest assured that you may continue to exercise your profession legally in the future. In the spring of 2007, it seemed as if all protests were overheard, the Bundestag pushed the new legislation 202c StGB, and the Bundesrat drew in their horns and failed to appeal the decision. I wrote another email to the secretary of Ilse Aigner asking whether I can still "rest assured", but this time, no response came back. And now the law has been passed. Politics as we know it. On the topic of whether the Debian project now has to provide a non-German archive for Germany, I find myself in the middle of the swamp of German legislation. On the one hand, publication or distribution of "hacker tools" has been made illegal, in addition to their (ab)use. On the other hand, however, the law only makes tools illegal which are (a) primarily used for cracking, and (b) are used with malevolent intentions. It's the "yes or no?" "maybe." bullshit which makes it impossible for people to do their job in Germany, if they actively want to stay on the legal side. A good example is the tax system where you have three options: do it yourself with minimal time investment and pay way more taxes than you have to, or let a tax advisor do it, or try to do it right yourself. If you do the latter, it's like walking a thin ridge in absolute darkness, except you won't be told immediately when you fall off. I think Debian should not take any action. We're not malevolently or intentionally distributing tools primarily used for cracking, so we stand good chances of getting by with it. Apart, Debian is not a legal entity in Germany anyway, so who are they to sue? NP: Overhead: Metaepitome Update: Thomas Jollans writes in that Debian can't be sued, but the German mirror operators can, with which I have to agree. Then the solution is obviously to move the German mirrors. That's a topic for this thread.

Gunnar Wolf: It still gets to my nerves...

I've gradually become happier and happier with Ruby on Rails. I've got mostly past the constant "WTF?WTF?WTF?" phase that's so frustrating when you try to understand the magic behind the scenes (after all, I like understanding what happens inside a framework - the bang and the bling are not what lured me into Rails).
So I've tried to become a more idiomatic, more complete. In the last project I started, I decided to -gasp- stop declaring my schema structure in SQL, and use migrations instead. All fine until I reached migration 008... The first one including a table modification (adding a admin column for users) instead of a creation. Well, that one went pretty fine, but 009 was also a table modification (adding an order column for tsgs). And I updated my server - with both migrations at the same time.
Bad news: Tsg has_many :users, and every User validates_associated :tsg as it should. And as migration 8 modifies (and saves, of course) a User, this validation was triggered... So, migration 8 died complaining about an undefined method order' for #<Tsg:0x2b2d2dd8d0d0>. WTF?WTF?WTF? all over again. It took me quite a while to realize.
What's the moral of the story? That a sleepy programmer can and will mess up. That batching up several migrations does not guarantee success, because the model is already up to the newest version. Crap. :-/
Or maybe it will just be safer if I abstain from directly instantiating models in migrations? umh... Does not feel right :-/

Ben Armstrong: Bumpy Typo blog upgrade: mod_fcgid 1.10 -> 2.1

For some time I have ignored my blog so I did not notice that when my co-admin upgraded our system from etch to lenny, it broke. When I found some time to look at it, it turned out to be because the blog was no longer running in production mode, so it pointed at the empty development database. This caused every URL to redirect to the login page, but since I didn’t have a valid user for that db, I couldn’t login. This, in turn, was due to the upgrade of mod_fcgid from the old 1.10 version in Etch to 2.1. Apparently, this used to work. Note the name of the module:
<IfModule mod_fastcgi.c>
   <Directory /var/www/vir/syn.theti.ca/typo>
    FastCgiIpcDir /tmp/fcgi_ipc/
    FastCgiServer /var/www/vir/syn.theti.ca/typo/public/dispatch.fcgi -initial-env RAILS_ENV=production -processes 15 -idle-timeo
ut 60
   </Directory>
</IfModule>
It’s strange that the section is called mod_fastcgi.c, not mod_fcgid.c. Either that was done to make it a “drop in” replacement for fastcgi, and later changed in the next release, or else this config was not actually used, but somehow my blog started in production mode before the upgrade anyway. In any case, the blog is back in production node with the new fcgid with the following module section (based on this one from the mod_fcgid home page).
<IfModule mod_fcgid.c>
   DefaultInitEnv RAILS_ENV production
   <Directory /var/www/vir/syn.theti.ca/typo>
     FCGIWrapper "/var/www/vir/syn.theti.ca/typo/public/dispatch.fcgi" .fcgi
   </Directory>
</IfModule>
Hope this is helpful to others making the upgrade.

Martin F. Krafft: The weakest link

For whatever reason, my flights always bite with my food schedule; not that I have one, but I'll get hungry part way through, it must be the excitement. Under no circumstances will I gulp down the crap they serve on short haul flights, and being a last-minute packer, I usually never find the time to eat before I leave home I am also seldom hungry when there is stuff to be done before an immutable deadline, such as the departure of a plane. Fortunately, Switzerland provides healthy and great relief in the form of Bircher M esli, a snack that can keep you nourished for hours, and which renders itself well to tuppaware transport. So I've gotten into the habit of taking some along on trips. Today, the security staff at the Zurich airport forced me to break with this habit and to throw out my treasured mush. I have since recovered from the pain, but because there is more to the story than M esli in the dump, I thought it's about time for yet another airport security story about liquids my last one is more than half a year old and I am sure you're craving by now When the attendants saw my 400ml container containing M esli (think yoghurt for now, so you'll know what consistency I am talking about), they categorised it as liquid and would not let me take it through. Obviously, there was no point in arguing nor in mentioning that I often take the stuff with me on planes and never had a problem before (which is true). I was left with the choice to dump it all, or try to eat it up before my flight left. I opted for the latter, but 400ml of M esli is quite too much for quick consumption and I had to declare forfeit about three quarters through. In a moment of genius, I did the math and postulated publicly that I should now be allowed to take the rest, because it's less than 100ml (airplanes are allergic to liquids in larger volumes). I learnt then that the size of the container matters, not the amount of stuff it contains. I handed over the container to the attendant under the pretense that I refuse to throw away food and had her do the deed instead. When I got the container back, I noticed that it still had traces of M esli, looked at the queue of my flight and decided to have a go and be difficult. The result was that I had to head for the toilets and wash off all remaining traces of explosive M esli. I made sure to leave a good bit of water in the container, sealed it, and returned to the wardens of safety. This time, they let me pass, despite the 400ml container filled with, say, 30ml of water. But clear liquids aren't dangerous, or so it seems. Or maybe this is the way to smuggle the real stuff on board? The entire situation was hilarious, I stayed calm and friendly and made sure to inject a sentence about understanding that they're just doing their job and aren't responsible for the regulations at least every minute. They assured me that this was in fact what they were doing, and that it was their orders to obey the regulations imposed by Brussels without exceptions. Just then, as I was repacking my bag behind the x-ray machine, I noticed how another passenger got through with shaving cream and other stuff in a small toiletries bag. When they didn't even bother to unpack the bag, I remarked that the regulations also demand for a single, one litre, transparent plastic bag to contain all the 100ml containers and asked whether they were aware of those. At first, the attendant denied it. When I asked her to step over and look at the informational signs all over the place, which clearly documented the plastic bag requirement, she shrugged and got seemingly annoyed: "we do our job the way we do our job, leave it up to us." Some airport staff make you take off your shoes, others don't. At some airports, you have to switch on laptops, at most you don't. Some passengers are subjected to the new liquid regulations and have to throw out M esli, others are exempt. Now what was that they say about the weakest link? NP: Dream Theater: Awake

Next.

Previous.