Archive for the 'Life' Category

The early days (9/10) - Japtro

Sunday, May 20th, 2012

The snippets of code used in Rising Force had not been created expressly for the CSC2. They were taken from a much more ambitious project started earlier, codenamed Japtro. At the time there was a plethora of demos with strange, creative labels. Traditionally it all started with intros and demos. But soon enough some hybrids started to appear: trackmos, dentros, etc, I even saw a “pantro” once. And thus, there was no reason for us not to create our own label. This is how the Japanese Dentro, or “Japtro” was born. At that time, Elric and I were in our Manga phase, and sure enough we wanted to share this with our beloved audience! After the Rising Force experience, we went back to code like never before, hungry for success. We had tasted a dirty drug called fame.

The new challenge, the new battlefield was 3D. The new opponents, as in a classic DragonBall scenario, were far more powerful than the previous ones: Overlanders, Equinox. The Overlanders, the very people who had motivated us years before, in the Salon de la Micro 1990. The old masters. As for Equinox, represented by Keops, they were the gifted challengers we had to monitor very closely. Needless to say, it was not going to be easy.

But the Rising Force episode had changed everything. We felt ready to compete with anyone. The Japtro project accurately captured this fighting spirit: four disks crammed to the rafters with code and graphics, going in every direction, trampling underfoot the so-called stars of the day (too bad for Keops!) without a shred of scruples. It was rough, naked, stripped, with an almost total lack of design, delivering some raw code to those who wanted it. Design? Why? Sorry, this is not what we do. We did not care a bit about design, and we did not mind pointing out that fact, even if we had to insist rather tediously. We felt like hardcore coders. In fact we felt like the Pure Metal Coders from the Amiga. And this is thus not a coincidence if the Japtro intro, where the camera moves in a 3D labyrinth that is eventually revealed to be a Japtro logo, is in fact inspired from a PMC demo.

The birth of Japtro was an amazing experience. Elric came to my place a week before the coding-party in which we wanted to present the demo. We already had a lot of code and manga drawings coming from a PC, we just had to put everything together and wrap things up. For a day or two, nothing happened. We did nothing. The day was spent watching demos from other people, mentally preparing ourselves for what would follow. And then we reached the moment when we knew we had to start coding. That was it, now. There was no way to wait any longer. Duly noted.

Intensive code for 3 or 4 days. Special moments where emulation is at its peak, where reality fades, giving way to the creative process that captures all the energy of the author. During these days, what usually never happens did in fact happen: everything clicked. We did not sleep, we barely ate, we just coded. And everything worked the first time. No bugs, no crashes, accurate and well thought out code that practically writes itself. At one point a major source file got accidentally deleted. Usually this is a catastrophe. But this time, we just recoded the whole thing in a few hours, and more efficiently to boot. That was just unheard of. Magic moments when man and machine become one, moments of perfect symbiosis where things Just Work, smoothly and effortlessly. We were on auto-pilot, on a suicide run. We stayed in the flow the whole time, and managed to complete three disks in three days. I still do not know how. I have never experienced such an intense coding session afterwards. At the end of the week we had four disks shock full of stuff for an epic demo that blew away everything we had done before. We were exhausted, washed out, but proud. We had enough ammo in there to kill any opponent without compunction. High-speed 3D, spectacular fullscreens, a whole bag of new tricks, funny things involving Keops (funny for us at least!), a ton of fullscreen pictures, in short: an orgy of code, music and graphs for a beast of a demo. Four disks at once? Only the Phaleon demo matched that. But dozens of groups contributed to that one, while we were alone! Two coders to fill up four disks. I think nobody ever repeated that feat in the years that followed.

The demo was presented at the Saturn Party II, and it was a success. Still, I was not yet completely satisfied.

The early days (10/10) - Blood

Sunday, May 20th, 2012

There was something missing. Just before releasing Japtro we had attended the Intermedia Forum, during which we had discovered the Flipo. This was the first demo from Diamond Design – a bunch of wizards that included, among others, some ex-Oxygene members. That demo was a jewel. They did things that we did not know how to do, and I found that unbearable (*). Similarly, the famous 3D demo from the Overlanders in the European Demos, or the fabulous Brain Damage from Aggression certainly felt like a thorn in my side…

(*) Note that the main force behind the Flipo, Oxbab, is now co-president from Naughty Dog and the main force behind Uncharted. Yes, that game. There is something about old ST coders!

Competition, competition… We could not stop there. We had to do something, no matter the cost. Something better. We were good, but we were not clearly better than the others. And I remembered in my dreams the giant gaping hole that had originally separated TCB from the rest of the world… This is why, in a final burst of creativity driven by jealousy and the desire to “rule” once and for all, we went back to coding. And this time it would be to the death.

Always faster, always more. We had often remade the same effects from one demo to the next, but bigger and better. Blood was no exception. I imagined tortured and twisted tricks to speed up our polygon-filling routines. I did sordid experiments with the video screen memory to save a few cycles. Elric pulled out of his magic hat some of the best routines he has ever created. And for once, following the Flipo’s lead, we paid a minimum amount of attention to the demo’s overall design – for the first time we even got graphics from a real artist, Mic/Dune. The difference was obvious!

Years later the fist disk of Blood remains one of the things I am the most proud of in my life. I go back to it constantly. I still watch it in 1998, amazed after some years of coding on a PC, by the miracles we pulled off with those simple STs. And I am proud of these routines, proud of having lived those times, proud of our contributions to the ST demo world, proud of having been a part of this adventure. It was not so long ago, but it feels like it was in another life already.

I did not exactly find the same drive, the same passion, the same insanity, the same “yes we can” attitude, the same “try to beat this” challenges in any of the things I did on PC afterwards. Coding on PC always feels a bit sloppy. Made/BOMB once said that when moving from Deluxe Paint to PhotoShop he lost “le contrôle du pixel” – control over individual pixels. That was spot on. And that is exactly what I also thought about the code: on PC, we lost “le contrôle du cycle” – control over individual cycles. I miss that. Coding on PC is goal-oriented: you program something as a mean to an end. You program this or that for a game, or for a tool, or just to feed a graphics driver. On the ST however, there was a certain form of beauty in the code itself, in managing to eliminate each and every “useless” instructions, in the certainty you could have that a given piece of code was fully, totally, utterly efficient, without a single wasted cycle. There was a neverending challenge just pushing your own enveloppe, competing with yourself, see if you could do better. The clear optimization rules on the ST made that possible: if you save one NOP anywhere, if will go faster. If you remove an instruction, it will go faster. It is like a game of Tetris, where you try to remove as many useless instructions as possible while organizing the remaining ones in ways that minimize the amount of holes. On the PC, all bets are off. Saving a NOP might go faster, or not. Removing an instruction might go faster, or not. The “optimization” you do on your machine may make things slower on another machine. The optimization rules one day might be different the next day. This makes all the micro-optimizations we loved spending time on completely pointless.

Coding on ST felt like fun. Coding on PC feels like a job.

Maybe I just stopped being a kid who wanted to take over the world, and I became a grown-up.

In any case, Blood was shown at the Place to Be Again, where it only reached the 2nd place. It did feel like a defeat. Having put everything we had in that demo, it felt very disappointing not to reach the 1st place. It was supposed to be a fight to the death, and we had lost. Soon after we stopped programming on the ST. Some amazing things like Tim Clarke’s Mars had started to appear on the PC, and we slowly moved to that machine. Coding on PC was not much fun. The first days were very frustrating: no INCBIN, no IDE integrated with the assembler (WTF!), memory was apparently limited to 64K in real mode (WTF!!), 80×86 assembly was retarded compared to 68000, we had to use different programs to compile and link (WTF!!!), it felt prehistoric compared to Devpac. But the PC’s brute force power was too alluring to ignore, so we bit the bullet and started learning. We later joined BOMB and a few other groups, but this is another, far less interesting story.

What do I conclude from all this?

I feel lucky to have started programming on those old machines. It was so much fun.

I feel sad for the poor kids starting programming in Java.

Idols, heroes, models, mentors, are only regular humans. You can beat any of them with hard work and a strong motivation. “Yes we can”.

You do not even need the fastest code in the world to do so. We got great results in Choice of Gods using very limited 3D rotation routines we got from STMag, and even bits and pieces of the disassembled Line-A. Jeez we really had no shame. “Whatever works”.

Rules are meant to be bent. Limits and world records are meant to be broken.

Don’t be a “prophet programmer”. Be a Nick.

Rayman Origins

Wednesday, December 14th, 2011

I’m listed in the Rayman Origins credits, in the “Special Thanks” section :)

I just contributed some code. Yay!

http://www.youtube.com/watch?v=jG2OU5fJyPM (around 9′20)

Hello world!

Wednesday, October 26th, 2011

Raphaël was born on october 23, 2011. He says hello!

Simulationism

Sunday, September 18th, 2011

Simulationism is basically the belief that we actually live in a computer simulation. While not seriously believing in it, I found it interesting from a programmer’s point of view. Bizarrely a lot of things “make sense” from this perspective:

- We live in a giant, cosmic version of a computer simulation. It started with a Big Bang, equivalent of a Big Boot. It might end up with a reboot. The universe is simply the sandbox in which the simulation runs.

- The entity that created this sandbox can be seen as the First Scientist, or the First Programmer, or whatever you want to call it. It is a being outside of the universe, i.e. outside of the simulation. We might have been created in its image, or not. It depends on what the simulation is trying to prove or achieve, which is something we may never know.

- The laws of physics are simply the rules that have been hardcoded to make the simulation work. There might be no particular reason why the rules are what they are. Maybe they just make for an interesting simulation, in the same way totally artificial and arbitrary game rules create interesting gameplay.

- Fundamental physical constants appear meticulously tweaked because they actually are. Every programmer knows about those “magic values” that most of us used at one point or another to make everything work well. The First Programmer may have tweaked the gravity force, etc, with a cosmic slider just like we would tweak the lacunarity or the fractal increment when generating a procedural landscape.

- We are probably not the first simulation run. We are just one particular run, and if those constants all work out ok this is simply because a large number of failures might have preceded us. Things might not be perfect yet because we are a work in progress, in a way similar to what Teilhard De Chardin was writing (e.g. about the Omega Point). In this iteration humans may not be very wise yet, but we may do better in the next run.

- As a consequence, there might also be no reason for the existence of some things in our universe, in the same way there is often “dead code” remaining in a codebase. Introns in our DNA might be just that. As programmers know, there is no reason to optimize or even clean up your code before it even works. In other words we’re still prototype code, not production code.

-  We have no way to know what the outside world, where the First Programmer lives, looks like. We are quite simply “evolved virtual creatures” similar to the ones Karl Sims created a while back. Only much, much more involved, to the point that our conscience emerged. But then again, conscience might just be a convenient way to label what appears, to us, like unimaginable complexity (which reminds me of what Jean Guitton was saying about randomness: there’s no randomness, it just appears random to us because the forces that acted to produce a given event are beyond our analytical capabilities). So while conscience might appear like a miraculous trait to us, it might just be because we lack the proper caps to grasp it. In the same way a blind person can not really understand what the color blue or red is, we might lack the sense to properly understand conscience. But it might end up being a simple thing to program for a higher being like our First Programmer, in the same way programming “eyes” for a game AI is relatively easy in our own computer simulations. The bottom line anyway, is that we can not imagine the world outside of our universe, no more than a game AI can imagine our “real” world beyond the walls of the computer memory.

- We only see our world through imperfect sensors (our eyes do not see UVs or infrareds, our ears can not hear infra or ultra-sounds, our sense of touch is good for our fingertips but lousy in our back, etc, etc, all our sensors are pretty limited). In the same say a game AI sees the computer world through imperfect sensors like raycasts, sound volumes, collision detection checks, etc. Our limited sensors can not even sample the world inside our universe accurately (our brain does its best to construct something from the limited-accuracy inputs), so they are totally inadequate to figure out the real world of the First Programmer, outside the universe. Similarly, a game AI only “sees” and “hears” and “feels” what its limited sensors have been programmed to feed it with. Those sensors only let the game AI capture a small part of the program they live in. If we would succeed in creating a real AI whose consciousness would emerge, it would first discover the concept of a computer, i.e. the universe beyond their game world. But it still would not be able to imagine our world behind, in the same way our limited sensors can not tell us much about the world of the First Programmer.

- “Rien ne se perd, rien ne se crée, tout se transforme”. This is because memory is limited, really. Atoms or sub-particles are counterparts of bits in the computer memory. When an object is deleted and a different object gets created at the same memory location, it is the same as when our bodies die, decompose, and go back to cosmic dust. Our giant cosmic simulation has a finite amount of resources, in the same way a computer has a finite amount of memory.

- The First Programmer does not intervene in human affairs, does not answer prayers, does not perform miracles, does not spy on each simulated entity, simply because this is not how simulations work. You usually do not mess with a simulation while it is running. You tweak the settings, run the simulation to the end, check the output, adjust the parameters and run another one, until you get the desired results.

- A special note must be written about time, which is a very relative concept. We already know from Einstein, Langevin and others, that time slows down when you go faster (see e.g. the twins paradox, etc). To the limit, when you reach the speed of light, time does not flow anymore, it stops. The photon knows its complete history from birth to death in an instant, etc. For our computer simulations, time passes a lot quicker than for us. A lot of things happen inside a computer simulation in a few nanoseconds, a lot of history. The same might be true for the First Programmer and his simulation, i.e. us. Many centuries for us might pass in the blink of the First Programmer’s eye. This does not favorize interventions or reactions to events happening in our simulated world, simply because it is too quick for the First Programmer to react. For example the whole modern civilization might be simulated in one frame of the First Programmer’s game, so there is not much he can do about punishing sins or rewarding good deeds (if he even cares, after all we are only game AIs in this). The only thing he can do is record the simulation results and analyze them later when the simulation has ended, i.e. after the end of our world and before it is reborn/rebooted for a new iteration.

Comments

Monday, September 12th, 2011

The comments have been re-activated, after a few people complained. Oh well.

A tribute to Juliana Hatfield

Tuesday, June 28th, 2011

It happened in 1994, in Paris.

1994, fucking hell. 17 years ago already?!

I received a tape in the mail, a cassette with copied songs on it, from one of my contacts. I had a lot of contacts all over the country. We were all music junkies. Every week, if not every day, we all sent tapes and songs to each other.

Oh don’t give me that look: I know, it’s bad to copy stuff, whatever. It’s not that, as students, most of us did not have money to spend on CDs. We did. The little money I had, I blew it on CDs, buying cheap junk food for lunch just to afford that rare EP found at Jussieu Music, O’CD, Gibert Joseph, or any of the numerous music shops on my way to school. I visited those shops pretty much every day for three years, and certainly spent a significant amount of cash there.

But it was never enough. I had discovered indie music in general, and indie rock in particular just the year before. And it had blown my mind away. There is little I can report to faithfully explain the sad state of my musical education up to that point. Suffice to say that discovering that new, weird, outlaw, fascinating musical landscape was a milestone in my life. And thus, eager to get up to speed, I traded, listened, swapped, listened, copied, listened – nothing could quench my thirst.

Most of my contacts had been found thanks to the Minitel, which was this old, French, very slow ersatz to Internet, at a time when almost nobody had Internet in France. We were all conscientiously reading “Les Inrockuptibles“, and listening to Bernard Lenoir on the radio every evening (the French counterpart to John Peel). The lucky ones living in Paris attended his famous Black Sessions regularly. For the most part though, we had never met each other. But a shared love of alternative music made us all blood brothers. I spent countless hours creating carefully crafted compilations, noting down the lyrics in hand-written letters, along with annotations, remarks, questions, for people who were effectively total strangers.

One of those strangers had sent me a tape that morning, whose A-side was labeled “Juliana Hatfield - Become What You Are“. I had never heard of her. But then again, at the time I had never heard of many bands. Total rookie.

So I lied on my bed, closed my eyes, and played it once.

And then I played it again.

And once more.

And once more.

That’s how I am, can’t do things “a little bit”. At the time I had a room-mate, JC, who couldn’t listen to the same song just twice in a row, claiming he got “bored”. I was the opposite: each time a song caught my ears I would just stop the CD (even when listening to it for the very first time), and I would replay the same catchy song a good ten times in a row before listening to the next. At the end of the day, I had played that album for hours and hours, and JC was absolutely sick of it. Me, on the other hand, I was delighted. It was perfect. The catchy tunes had captured me. The melodies had grown on me. I loved the voice. I loved the lyrics. I was hooked.

In the following months, I became semi-obsessed with Juliana Hatfield. Oh, it happened all the time. I was equally obsessed with Jeff Buckley, Björk, PJ Harvey, or even Elastica. But Juliana had something that the others lacked: a connection with the audience, a proximity, a humanity that I didn’t feel, or not as much, in the others. Take Björk for example. I loved the music. Hell, I was part of “Etoile Polaire”, a magazine dedicated to Iceland & Björk. I sold Björk records at the Route du Rock in St Malo. I talked about Björk on a radio show. I was a huge fan. But as much as I enjoyed her music, I was rarely able to truly connect to Björk, to put myself in her shoes, to see the world like she did, to make her lyrics mine. Björk was simply too alien, too out there for me to fully understand her. On the other end of the spectrum, a band like Elastica rocked, was great fun, and easy to connect to. But their lyrics lacked depth: right, sure, “waking up and getting up has never been easy”, I get that, I know what you mean. But that’s a bit meh, isn’t it?

Juliana Hatfield however, a bit like Kristin Hersh, had lyrics that went right through your heart. “Ugly“, “Addicted“, “I got no idols“, and many others: those songs hit you like a punch in the guts, and they felt real. They felt like they were written by a real person, a flesh-and-blood human suffering, experiencing the same problems as the rest of us. In her book years later, she wrote that she never felt like a rock star. I think that’s exactly what made her stand out, why we loved her: we simply felt close to her. We fell for the flaws. It was very easy to feel empathy for the fragile girl who “sold her soul for rock and roll and never ever got a kiss“. It was a lot more difficult to feel anything for one more famous yet tedious rock star, like, I don’t know, David-fucking-Lee-Roth.

This all goes back to my favorite Buckley quote, really, from an interview in Les Inrockuptibles:

« Voilà l’héritage des punks: il n’existe plus de héros mais juste des êtres humains. »

That’s punk legacy, there are no more heroes, only humans. No more heroes, as the single from The Stranglers that Elastica (surprise?) so carelessly sampled. We’re running in circles here. Maybe Juliana tried too hard to become something we wouldn’t have cared about anyway. Maybe it’s better indeed, to just become what you are. To be yourself.

So what was she? What is she? Genuine rock star, or fraud? Or simple “music worker”? Nobody cares. Only uninspired journalists and academics care about labels. I hate people who put a sticker on others, reducing them to a single little concept they can easily manipulate and dismiss. I’m a coder. I’m a writer. On the ST I was drawing graphics. Now I do some 3DS Max for KP. Once again, we’re just builders. We create stuff to feel happy, doesn’t matter what it is or in what category the janitors want to put it. As far as Juliana was concerned, what I loved most is that she could also rock the house, with titles like “What a life“, “OK OK“, or even B-sides like “Rider“. Those weren’t from a shy bird in need of protection. Those were from the powerfrau, the huntress out of her lair to kick some male asses. And I loved that mix, that blend of strength and fragility. It felt honest. It felt… human.

Time passed. Over the years, I made mine many of her lyrics. Some of them, sometimes out-of-context, became my mottos. “I got no idol” has long been my answer, my weapon against a lot of so-called heroes, self-appointed experts or prima donnas I was confronted with. It was especially clear when making demos: there was no way I’d have bowed towards anybody. You can still find this quote in some of my old angry texts against the world, from that period. Others like “a heart that hurts is a heart that works” were used as a shield against failed, doomed relationships. But my most cherished line came from one of my favorite Juliana songs ever (a B-side?! What the fuck!): “You showed me it’s a crime to never even try.” How many times did I listen to that! I played that song, “Where would I be without you?“, countless times, always eagerly waiting for the last part when she utters that line. I used to be a pathologically shy boy, easily paralyzed by shyness in front of a benign-yet-scary-for-me situation. But then sometimes, out of the blue, “it’s a crime to never even try” would pop up in my head, repeated like a mantra, and it would push me over the edge, forcing me to “go for it”. The last time it happened, it made me kiss a girl, who is now the mother of my first child. Where would I be without you indeed?

It’s been 17 years since I first discovered Juliana Hatfield. To this date, “Become What You Are” is probably the record I played the most in my life after “Grace” from Jeff Buckley. That’s hundreds and hundreds of time, easily. It’s one of those rare albums where every song, one after the other, became at a time my favorite – no disk filler, nothing to leave out. My old tape died from exhaustion a long time ago, and got replaced by a brand new CD, then later by MP3s. I’m still playing them 17 years later, to create a wall of sound around me at work. It’s a cocoon I never got tired of. I have more than a thousand CDs in my collection; very few passed the test of time as well as this one.

It’s been a few weeks since I discovered Juliana’s new stuff, totally by accident. The book, the story behind God’s Foot, the latest albums. I bought “How To Walk Away”, and played “This Lonely Love” all day long. For a week. I heard “Fade Away” for the first time yesterday. And I can’t stop listening to it. I’m listening to it now, writing this post. This is insanity. Nothing changed. The old magic never vanished. I’m hooked again. I’m addicted again. Hopefully for 17 more years!

Funniest way to fix a physics bug

Monday, June 27th, 2011

I was playing Red Faction Armageddon this week-end when my Xbox suddenly froze. Apparently I’m not the only one having this issue, they released that game with a big “physics bug” in it:

http://www.redfaction.com/forums/topic/14022

(Havok, tsss, tsss!)

Now the funny thing is the workaround that players quickly found: if you destroy everything in the area before pulling the switch (a 100% crash repro otherwise), the bug vanishes :) I guess I’ll have to try that.

Still very disappointing. So far RF Guerilla was 10 times better.

Next-gen on its way

Tuesday, June 7th, 2011

Loading… please wait.

As you can imagine, I will probably have slightly less time for other projects in the next few years :)

The day my heart stopped beating

Tuesday, October 26th, 2010

I woke up Saturday morning, one week ago, with a pain in my chest. I felt pretty bad, like I could not breathe, so I got up, and went to the window to get some fresh air. A big unusual warmth went to my head. I felt dizzy.

Next thing I know, I wake up on the ground, a cold and hard surface against my cheek, a huge pain in my face and neck, pieces of teeth in my mouth. Looks like I passed out.

What happened immediately afterwards remains fuzzy. It is enough to say that I made it to the hospital. I probably looked terrible because the lady at the entrance did not even try to make me wait, for once. Admittedly I had a pretty bad looking bump on my forehead, broken teeth and blood in my mouth, and when I mentioned chest pains it quickly finished to convince her she had to let me in, now.

They immediately started running some tests, one CT Scan for the neck, one ECG, and they plugged me to various devices to record what was happening. I was quite shaken and my neck hurt like crazy, but the initial tests did not reveal anything, to the point that they were ready to release me the same day, a couple of hours after my arrival.

But then, while waiting in the bed, still plugged to the machines, I passed out once again.

It is a very curious feeling. There was no chest pain this time. Just a rush of warmth going to the head, like a fever on steroids or something, and the dizziness again. And then black out. A few seconds later the image and sound came back at once. It took me some good 10 seconds though, to realize what was going on, where I was, and who the hell were all those panicked-looking people around me.

Curiously at that very moment I felt very good, like waking up from a long invigorating nap. No pain, nothing. I think a friend of mine was right on the money when he called that a “reboot”.

Nonetheless, doctors were all around me, and they told me my heart had stopped beating for 6 seconds. They showed me the nice graph freshly printed from the recording device. It felt slightly unreal. I could look at the evidence with my own eyes but still, at that moment I felt totally fine. And the doctors looked happy too, to have recorded something like this “live”.

Needless to say, after that, they refused to let me go anymore. They put me in the “monitoring room”, and kept me there for a week. They ran on me all the tests they had in stock. I had 3 CT Scans, 1 MRI, 2 ultrasound tests, countless ECGs, and a number of other tests I don’t even have names for. They took my blood 3 times, checked the blood pressure, the tension, the cholesterol, etc, etc.

And it all came back negative. Nothing. Nada. According to all their tests, the heart is “structurally correct” and the blood flow within is also working correctly. The CT Scan from the head didn’t reveal any tumors or head-related cause. The blood pressure is normal, everything is “desperately normal”. The first day they were already mentioning giving me a pacemaker. By the end of the week that option was off the table.

Both the Zürich doctors and my father (also a cardiologist) now think that I had a “vasovagal syncope“. They can not really pinpoint why it happened, but they all seem to think it is nothing too serious (or at least, not as bad as they thought it was). Best proof of this, I guess, is that they let me go.

So that’s the good news. The bad news, of course, is that they did not really “fix” anything, and this can apparently happen again, at any time. Still, it’s much better than any of the other nasty things it could have been.

Otherwise, I can also report that:

  • some of those tests are very unpleasant. They inject you with slightly radioactive “constrast material” stuff that leaves an ugly metal taste in your mouth (even though it’s injected directly in the vein). I also hated the MRI. They strap you to the bed with heavy headphones so that you can follow the commands, and you are left for 40 minutes in that tube. It feels like a coffin, I hated it.
  • the nurses driving the bed to the MRI got lost in the building! We ended up in some basement which looked more like a warehouse than a hospital (we crossed half a dozen forklift trucks on the way). At some point the nurses entered an elevator, started discussing/arguing about the directions (all in German, sorry)… and then we left the elevator without even using it. That’s when I started to suspect something was fishy. In the end they had to ask some guy for the proper direction. Oh dear.
  • overall though, they’re very efficient and organized compared to, say, France. I’m glad this happened in Switzerland…
  • doctors said it was not a consequence of drinking too much coffee :)

So that’s it. I’m back. Stuff like this certainly makes you appreciate the simple joy of being alive and breathing.

shopfr.org cialis