I turned 22 today. Happy birthday to me. Unlike my usual birthdays, I celebrate it in Latvia today, and how many people (except for the 2.3 million Latvians) can say that they did?
It’s great, but very different out here. When I get home I’ll might write down a story with some of my experiences. Today’s probably the last day that I’ll have access to an internet connection, so I’ll talk to you all when I’m back (I come back late at the 28th of June).
Chau!
In a couple of hours I’m off to Latvia. I’ll first go to Berlin by train (Groningen - Zwolle - Deventer - … - Berlin). And then tomorrow morning at 7:00 in the morning I’ll get on the plane to Riga where I’ll arive at 9:40 local time. Exciting!
Also, my brother got the results back from his final exams yesterday and he passed! He’s done with high-school/secondary school/middelbare school. Congratulations Wouter! 
The Admin Zone has just put up an interview with me. You can “read it here”:http://www.theadminzone.com/forums/showthread.php?t=10949.
Around 16.40 this afternoon I received my bachelor degree in computer science, which means I shall now be called Zef Hemel, BSc., or just Zef, BSc. for short, or I won’t even listen to you.
Here’s a picture of the moment of truth:

Hah!
Ok, I’ve been quite busy in the past weeks and it seems like the next week is no exception. A lot of exciting stuff is going to happen in the near future.
*Monday:* I’m getting my bachelor degree (I’m going to be BSc. Zef, how cool is that?).
*Tuesday:* Birthday of a friend.
*Thursday:* End of ISEP(International Software Engineering Project) party (the University course where I’m a head of department).
*Friday:* Results of my brother’s final exams are in (so hopefully a graduation party for him too).
*Saturday:* I’m getting on the train to Berlin.
*Sunday:* I’m getting on the plane from Berlin to Latvia (check-in at 5 a.m.) to meet a friend that I’ve never met before in real life. I’ll stay with her for over a week (and during my birthday) and will return on the 28th of June.
It’s going to be an eventful couple of weeks 
People following computer-related news in the past few days probably already knows about this, but Apple has announced to switch from IBM’s PowerPC processors to Intel x86 processors. It has been rumoured to happen for years and now it happened. Major reason is that IBM doesn’t meet Apple’s expectations in processor speed and energy usage. We’ve been waiting for a PowerBook G5 for how long now, and it’s not going to happen. Apple will switch to Intel processors and probably will use similar processors like used in Centrino laptops for its iBook and Powerbooks (but this is my guess).
Except Mac fanatics screaming that this is like hell freezing over; that Apple should never use something that’s even remotely related to the Wintel (combination of Windows and Intel) platform, what does this mean? Well, PowerPC processors use a different instruction-set than Intel processors. So at least all Mac software has to be recompiled for Intel processors. Apple will also supply the new I-Macs (Intel Macs, get it?) with a kind of emulator/translator thingy that allows you to run “old-style” PowerPC Mac software on your Intel Mac. This is slower than native Intel Mac software though. Apple made compilers available that can compile software into binaries that run on both the PowerPC and Intel Macs.
Apple will launch the new Intel-based Macs next year. Personally I would think that they won’t sell many more Macs until then, nobody wants to buy hardware that is soon to be replaced by newer radically different hardware.
You can read a “summary of what was said at the WWDC conference here”:http://www4.macnn.com/macnn/wwdc/05/ or just “watch it here”:http://www.apple.com/quicktime/qtv/wwdc05/.
As you may know, I’m doing a research internship at the software engineering department at our university. I’m doing conceptual design most of the time, but I spent the past few days writing up tutorial-like material for “Archium”:http://www.archium.net. Archium is the architecture/programming language that the people here are working on “as I described a while ago”:http://www.zefhemel.com/archives/2005/04/25/research-internship.
Yesterday I started working on something that grew into a simple “Archium Tutorial”:http://wiki.zefhemel.com/index.php/Archium. For this tutorial I wrote a very simple application that creates two component entities (a client and a server) of which the server exposes one method: getVersion(). The only thing the client does is call that method and print the result. After a while I got it to work. The current implementation of the Archium compiler first compiles to “ArchJava”:http://www.archjava.org code. ArchJava then compiles ArchJava to Java code and the Java compiler compiles it to Java code. All that’s left to do then is to let the Java virtual machine run it and compile it to native machine code on the fly. Yah, it’s not really efficient, but it works (most of the time).
The result? A “93-line piece of archium code”:http://www.zefhemel.com/upload/Version.archium that practically prints just one line:
Server version: 1.0
That’s the beauty of progress. I can’t wait until this stuff is mainstream in about ten years.