Sunday 31 December 2006

Two weeks

It has been a little over two weeks since my accident and I am finally able to type reasonably again with two hands. It is still painful to lift my arm in front of me, though. Luckily, my primary keyboard is at the level of my armrests.
The keyboard for my laptop is positioned a bit higher and a bit further away and although I can reach it, it causes some pain.
Lifting my arm sideways is still nearly impossible; about 40 degrees is the maximum before the pain becomes too much.

Lifting arms, however, is one thing; applying any force with them is quite something else. It is surprising how much force normal, everyday movements require (such as pulling up your trousers) and how difficult they become when exercising that force is impossible because of the pain it causes.

As for work, I am contemplating returning a day or so earlier to get back in the
rhythm. I am getting a bit bored at home. There is only so much movies you can watch and books you can read before boredom sets in.

Friday 22 December 2006

Accident followup

A lot happened since my previous post; I received flowers from my coworkers, wishing me a quick recovery. Thank you guys!


I went to an orthopaedic surgeon this morning: I have to keep my arm in a sling for the next two weeks and in a few days I should start some shoulder exercises to get my rusted muscles going again.
The fracture will take at least five weeks to heal entirely.

I also went to my garage to receive some bad news in the form of a two-page list of defects. Insurancewise, my bike is a total loss: the repairs would cost exactly €40.51 less than what I paid for it new. However, there are a number of non-vital parts that can be removed from the list; all in a state ranging from slightly scratched to horrendously abraded.
The (very costly) things that really have to be changed include both front fork suspension units (€450 each), petrol tank (€600), steering bar (€430),
front mudguard (€140), ball head stuff (€100), and some other miscellaneous things. Plus VAT. Plus labour.


I'm currently in search for second-hand spare parts (especially petrol tank and front forks), so if you know some places...

Saturday 16 December 2006

The webpage at the end of the internet

... pun not really intended, but they asked for it.


My muscles hurt even more than yesterday and my left arm and shoulder are beginning to feel really awkward, keeping them in the same position for days and nights at the time.

Now for some pictures of what's left of my gear ...

My textile winter gloves can be thrown away; the gloves burned through at the knuckles and left me with a small abrasion on my right little finger and on my left thumb.


No real visible damage to my leather trousers, apart from some dirt on the right leg and a kneeslider that got abraded in a manner that I had not foreseen (both were still intact before the accident).


The foam inside my helmet has been compressed while absorbing the shock; it can now no longer absorbe shocks, so it must be replaced. It's also abraded and it has lost the rear left air vent shutter.


My jacket has really suffered under the crash; if it would have been made from textile, I probably would have had much more open wounds on my body, judging from the state of my gloves and the state of this guy's gear.
Note the abrasions on the right shoulder and the right arm.


Backside of my jacket: abrasions along the entire length from collar to waist and the left arm; the right arm is dirty and also damaged on the elbow (not really visible).


I probably have the tough padding on elbows and shoulders to thank for my shoulder being only cracked and not shattered.

My boots, strangely enough, do not show much signs of having been present in the accident. Apart from some slight abrasions on the sides of the rubber soles, there's nothing that can't be remedied with some shoe polish.

Accident

Yesterday I had an accident with my bike. I slid in the corner of a motorway exit and got knocked out by the scenery. I still can't remember anything about it; initially I didn't remember anything: not the day of the week, what time it was, what I did that day (working on my flightcase, I'll get back to that in a following post), or even why I was there in the first place.

On the way to hospital, my memory came back in bits at the time, except for the part of what happened after I entered that corner and before I exited it horizontally in the back of an ambulance. I hope it will come back sometime, because how else should one learn from his mistakes?

The emergency team at Jan Palfijn hospital in Antwerp has proven it earns the name 'emergency.' After less than an hour they were making X-rays and less than an hour after that, they were giving me the results. I stayed in hospital for less than three hours.

The results: a small crack at the top of my left shoulder blade (possibly the acromion, I'm not a medic) and a lot of sore muscles. My left arm is in a sling.

My bike is currently stored somewhere and will be transferred next tuesday to my garage. I haven't seen it yet, I hope it's repairable.

Friday 15 December 2006

JavaPolis

Today, two collegues and I went to JavaPolis, courtesy of our employer. After a breakfast of stale pastry, we attended the keynotes session, kicked off by Marc Fleury of JBoss talking about different models of employing open-source software in a commercial setting. His talk was followed by the results of the JavaPolis RADRace®, a variation on The Original RAD Race®. Next up was Erich Gamma (one quarter of the Gang of Four) with a presentation about the history of Eclipse and how they do release iterations.


After the break I went to the "Integrating XML into the Java™ Programming Language" presentation by Mark Reinhold. His speech was about the proposed integration of XML into Java itself, as the title might have suggested. His proposal is still in its infant stage, it not even having a JSR (yet). He was also a bit vague about the use of namespaces and attributes (he only showed tags and element contents in his examples).


The lunch break featured some horrible interpretation of burger-like sandwiches filled with green stuff pretending to be lettuce, red stuff masquerading as a slice of tomato and filler stuff that was labeled to be surimi, tuna or something else, but somehow managing to taste exactly the same as every other filler. The whole thing was wrapped in plastic and labeled so that consumers would know what the filler should taste like (a kind of autosuggestion, I believe).


After lunch we went to the "XFire Web Services" talk by Dan Diephouse. A bit of a boring promo-talk about XFire by a guy with no presentation skills (compared with Erich and Mark, at least). I hadn't prepared this one, so I must admit I didn't have enough background knowledge to completely understand everything. His using at least two acronyms in each sentence didn't make things easier either.


Next up were Bruno Lowagie and Paulo Soares, authors of iText and the primary reason I was there today. The presentation was not so much about iText as about Bruno's first book, published just in time for this conference. We spent the thirty minute break bewteen presentations asking them some questions and offering Bruno a bottle of champagne (partly to congratulate him with his book and work on iText, partly to get him more willing to answer questions; in this world it's all a matter of greasing the right gear at the right time). Paulo apparently doesn't drink alcohol.


After the break, I went to Neal Gafter's presentation of his proposal to put closures in Java. As I was brought up in a functional programming and language design world, this was one of the really interesting topics of the day. Currently, something similar to closures can be achieved in Java using anonymous inner classes, but this system has a lot of drawbacks: there is a lot of typing involved (on the keyboard that is), return statements not always return to the scope you want, you're very restricted in your usage of identifiers declared outside the inner class, etc. Closures would also be the solution to all SIGs competing for the addition of their own proposed control constructs as special forms to the Java language: with closures, you can define your own new constructs, without the need for the language being extended (extreme examples exist: in Scheme and Lisp you can write just about anything using only lambdas).
As an example, consider the following problem: you want to perform some kind of operation, time how long it takes to execute, and log this time. The classical Java approach would be:

void operation() { ... }

void timeOperation()
{
long start = System.nanoTime();
boolean success = false;
try
{
operation();
success = true;
}
finally
{
logTime("Operation", success, System.nanoTime()-start);
}
}

If Java would have closures, the timeOperation method could be replaced entirely by something similar to this:

time("Operation")
{
operation();
}

Not only is this way much shorter to write, the time method would also be reusable to record timing for any operation you want!


The last talk I went to was a disaster: "Java and .NET interop" by Ted Neward. Next time, try to install and test your demos, together with any and all software they need, Ted. It might also be a good idea to fully charge your laptop battery beforehand.


The buzzword of the day was: POJOs! If you don't know what the acronym means, some speakers might fool you into believing it's the next big thing coming up. It actually means "Plain Old Java Objects."

Sunday 10 December 2006

Building my flightcase - Part 2

Today I did the metalwork of the bottom part of the case. Four threeway mitre joints on the corner profiles and four regular mitre joints on the rims. I planned to do threeway mitres on the rims as well, but the rim profile is only 20mm wide, whereas the corner profile is 22mm. That means that the angle would not be 45° and would therefore be a bit tricky to get right.

Inside view:

Top view; assembled with duct tape (it has a light side and a dark side and it holds the universe together):


I'll do the lid next weekend.

Friday 8 December 2006

Building my flightcase - Part 1

All parts (I hope) to build my flightcase arrived yesterday; I collected them today and started building.

The parts:
One 1220x610x6mm piece of MDF, eight case corners, two detacheable hinges, one carrying handle (which turned out to be a bit larger than I expected), and two drawbolt catches. You can see four 2m aluminium corner and rim profiles in the back (the other 16 profiles are still in the packaging).
I also bought some new tools: a mitre box, a crosscut saw, a hacksaw, a roll of 100 grain sandpaper, a lacquer brush, and glossy black lacquer.


After the better part of a day's work, all sides were finished. It's been more than ten years since I did this kind of woodwork, so re-honing my skills took some time. Also, after some hours of industrious filing to get the pieces same-sized, it occurred to me that I should have used my electric sander instead, which I then immediately unearthed to finish off the rest.



Tomorrow I'll start on the corner profiles.