Der Traum

29 September 2006, 13:21 — Poetry

I accidentally wrote this poem while translating texts to German:

In stoltzen reihen stehen, mit Blick auf höchstem Traum
Und danach vorwärts, einfach schlagen: Brauchen Lebensraum!
Zum Aktion läuft unser Heer, Soldaten schnell mit Mut
Vorwärts, Männer! Vorwärts, Panzer! Voll mit rechtem Wut!
    Eins, zwei, drei, vier!
    Wir marschieren hier!
    Eins, zwei, drei, vier!
    Attackieren hier!
Und Lebensraum wird unseres, mit Feuersturm und Kampf
Bis Feind entsteht, und schlagt zurück mit Tod und Dampf.

Vielleicht… Unser Traum war nicht so hoch und gut
All unser’ Männer sind verloren, mit all ihr stoltzen Mut
Feuersturm wird Russensturm, all kampf vorbei
Millionen hab’ gestorben, mit grausam Todesschrei
    Jetzt eins, zwei, drei, vier;
    Unser Land aufbauen
    Eins, zwei, drei, vier;
    Kein Führer mehr vertrauen
Gibt’s noch zu knien, mit reuig Geduld
Wir bitten, vergib uns unsere Schuld.

I have absolutely no guarantee that the German is correct (grammatically or ideomatically), but it sounds OK when I read it.

I’ve probably studied too much World War II.

Aquarium at Work

28 September 2006, 17:19 — Uncategorized

Some nice guys came by today and installed an aquarium at my job. It’s right outside of my room, so I can sit and look at it all day.

fish-acquarium.jpg

Looks neat!

Autonomous Systems and Sensors

27 September 2006, 13:51 — Reflections

Computers and machines have a marked deficiency: They live inside of an engineering world that’s been constructed for them. This world consists of bits and bytes, instructions and programs; but it is generally impossible for them to reach outside of this world and examine themselves in detail, or to carry out repairs. While we human beings have similar problems with actually understanding how we work and how to repair ourselves, thanks to medical science we can usually get at the problem and examine it in detail, and in an increasing number of cases also help fix it.

Machines have no such luxury. They break down without knowing it; the oil runs old and they continue to operate just as cheerfully until the inevitable day comes when they grind to a halt, and cannot understand what is wrong. Human beings need to continually check these machines, and carry out maintenance or repairs.

For fully autonomous systems to exist, I believe they must first of all be able to reach outside of their digital worlds. The first step is providing sensors (Hello Barb!) that allow them to monitor themselves, like our nervous networks, and sense where there are injuries or developing malfunctions. The next step is to be able to carry out repairs as needed, i.e. reporting to a repairing facitility and get work done. As more and more functions are delegated to microprocessors which need little or no maintenance, the need for repairs might be limited, but there will always be elements like joints and motors which experience friction and degeneration over time.

By modeling a computer/machine system on the biological blueprints with fine-grained nervous sensors, we might take the first step to building fully autonomous systems. And in a wider sense it may even improve the functionality of prosthetic devices, allowing replacement limbs to become sensing and more fully integrated with the human body, providing feedback through the normal pain channels and indicating its state.

This is, of course, mere speculations.

Speaking of sensors, I’ve always myself (with my technological expertise) lived inside of the computer, managing bits and bytes by the millions or billions. The level of interfacing with the external world has usually taken place through monitors and keyboards (interestingly enough named Human Interface Devices in the USB context) and, optionally, a printer or so. It has always been an interesting prospect of mine, from the early days of computing in school, to actually interface with reality and monitor it.

The dream scenario of mine is to maintain a network of sensors for, say, traffic control systems for railways or freeways. It would be an interesting challenge to write the systems that continually monitor all of this real-time data and provide responses to it.

In a way, it’s like writing the first, simplistic models of the electronical version of the biological brain. In essence, what our brains do is monitor a series of nervous impulses, and provide appropriate responses to them. Although there might be qualitatively different orders between sensing traffic loads on the I-494 freeway, and sensing being touched by a beautiful woman, in the end it’s just a matter of different programming. Without getting naughty, it might be interesting to program a computer to “enjoy” a stable and efficient traffic flow just as much as our biological programs do to other “external stimuli”, and program it so seek (in a reasonably autonomous manner) such traffic flows as efficiently as possible.

Still a long ways off, I suppose. But as massively parallell systems and paradigm changes loom on the horizon, and Moore’s law still churning out ever increasing technology, it might just be closer than we think.

Those Blinding Moments of Insight

21 September 2006, 13:58 — Software Development

argh.pngIt is with a profound sadness that I realize that the serialization subsystem I built for Delphi a few months back, while working for Visionutveckling, was so comparatively inefficient.

While studying .NET Remoting, I suddenly understand what dispinterfaces is all about. And suddenly, in a blinding flash of insight, I realize that I had, in my hands, the power to build an entire remoting interface for Delphi, complete with marshalling, object-by-reference pointers, remote objects and everything else. Instead, I went with a serialization layer that fell substantially short of what I could do now.

I kind of wish I could go back and do it all over again.

On the other hand, the solution I did build, did work flawlessly. So I guess it was good enough for that particular task.

Maybe I’ll build it as an open-source thing.

P.S. dispinterfaces are cool because they use a special Invoke method to channel object calls. So you can set up a proxy which serializes the call and uses a communication channel to instantiate an object on the other side.

Personal Registration Numbers

20 September 2006, 13:44 — Reflections

“19741234-1231″

This little number holds a lot of power. (This one is fake, though. And invalid.)

In Sweden, during the build-up of the national computer databases such as SPAR (Statens Person- och AdressRegister, i.e. Government Register over People and Addresses), the brains behind this chose to assign each person a special registration number, composed of the birth date, three additional digits, and a check digit. This number is similiar to the social security ID in other nations, but it’s more pervavise: The Personal Registration Number is a unique identifier, shared among most payment systems, public databases, banks and government agencies. It tracks you from birth to grave; and no matter if you change your name, if you move from one end of the country to the other (or overseas), this little number will identify you and know your whereabouts.

As everything, it is both good and bad.

The good thing is that every person can be uniquely identified. There is no need to parse names and addresses computationally; there is a nationwide register of all citizens; and data lookups are as easy as ever. There is no need to provide electric bills for identification (like in France), or driver’s licenses (like in the USA) or any other form of proof. If you have a personal registration number, you’re legit.

Mostly the benefit of this registration comes to us software developers. We’re the ones having to match different records together. And instead of trying to match names, addresses, phone numbers, birth dates and so on, we just match the personal registration numbers. Endless hours of tears and sweat are reduced into a single SQL query. At least, inside Sweden – we’re not so lucky when it comes to building computer systems for other countries.

The bad thing – aside from possible security implications – is a non-tangible loss of freedom, in the sense that it’s impossible to relocate without informing a large computer about your whereabouts. Because if you don’t, none of the social services work. You won’t get mail. Forget about your paycheck. Everything is channeled through this little number, and that number needs to know where you are.

I think maybe Solzhenitsyn put it best:

As every man goes through life he fills in a number of forms for the record, each containing a number of questions . .. There are thus hundreds of little threads radiating from every man, millions of threads in all. If these threads were suddenly to become visible, the whole sky would look like a spider’s web, and if they materialized as rubber bands, buses; trams and even people would all lose the ability to move, and the wind would be unable to carry torn-up newspapers or autumn leaves along the streets of the city. They are not visible, they are not material, but every man is constantly aware of their existence…. Each man, permanently aware of his own invisible threads, naturally develops a respect for the people who manipulate the threads. (Alexander Solzhenitsyn, Cancer Ward, 1968, via Bruce Schneier)

In the over-digitalized society in which we live, imagining life without a serial number attached to you becomes more and more impossible. We will probably never be able to back to the Wild West, where people lived and died and no-one in the government knew about it. So it seems we’re stuck with it, for better or for worse.

Once thing is clear, though. We software people like it. A lot.

Accordions

20 September 2006, 13:05 — Reflections

I’m not sure if accordions hold a special place in my heart. It’s an instrument associated with folk music and midsummer’s, and I’m not a great fan of either. Well, at least, Swedish folk music — I appreciate a lot of other types of folk music: bluegrass, country, irish, etc.

I think there are many instruments that sound better. And apparently Gary Larson, from the Far Side, shares my idea, as is evident in the hilarious comic. [removed]

But there’s this guy that shows up sometimes in the square downtown with his accordion. And whenever he does, suddenly, it seems like everything isn’t so gray and dull any longer. Sitting at a McDonalds, having coffee in the sun, and listening to old accordion music makes you feel like you’re sitting in a quaint little country cafe in France.

Since the only experience I have of quaint little French cafes is from the BBC comedy series ‘Allo ‘Allo, you sort of almost half expect Hans Grüber’s “little tank” to come rolling around the corner. :)

I guess, despite all the fun we make of them, the world needs a couple of accordion players after all.

.NET Developer by Day, Delphi Hacker by Night

19 September 2006, 16:43 — Reflections, Software Development

Being a .NET programmer is, I guess, okay. We build our business objects, code our stuff, do our thing. And .NET is a pretty good environment to work with, I suppose … it has a lot of stuff, lots of classes, serialization built in, whatever. Lots of remote stuff. Good for building three-tier enterprise solutions. I think.

But there’s another sweet little pretty thing I like to play with, something called Delphi. And that little something keeps me on my toes. Forget about the .NET framework, forget about runtimes and deployables and libraries and all of that stuff. Delphi shoves all of that off the table with one sweep and lays the raw processor bare right in front of me. Bare metal to my fingertips.

With Delphi I can choose at whichever level I want to write code. Using the VCL to hack together forms and dialogs, or going directly for the Win32 API for the trickier things, or maybe I’ll just hand-tune my functions in raw assembler. Just because I like to. Just because I can.

I feel more and more like John Anderton, the hero in Matrix: “Mr. Anderton”, Smith says, “it seems you’ve been living two lifes.” One life in which I sit with the .NET thingamajig where I play with the class library and not much else. And another life, when I go home and spend my time hacking, in the most beautiful and powerful little language I know.

Delphi is quickly becoming the renegade tool of my choice, standing outside the whole Microsoft/Sun debate and every established language. It’s not Ruby, it’s not C#, not Java. It’s not hyped up, people don’t talk about it over lattes in hip little coffee shops. It’s just… Raw. Powerful. Fast. Passionate… and yet easy. Probably the best average blend between code simplicity and power that I’ve ever known.

In fact, if I hold up the Delphi box to my ears, I can just make out the rumble of lightning inside.

New Politics

18 September 2006, 14:27 — Politics

The socialists are gone. We can breathe again.

Yesterday’s election swept the socialist-communist bloc from power and we now have a center-right block in power instead. The actual shift will take place in October, but it’s kind of a relief, for now.

The question is how much they will be able to accomplish until Sweden reverts back to it’s old behavior and whines for the good ol’ socalism again. I predict four years. Eight if we’re lucky.

When I Become Dictator, I Will…

12 September 2006, 15:46 — Reflections
  • straighten out all streets in Gothenburg in a nice north-south, east-west pattern.
  • declare Stockholm as the official “wrong side of the country”.
  • move my residence to Skåne.
  • invade Denmark.
  • reinstitute the union with Norway and take all their oil.
  • have free hunting of social democrats during May through September.
  • wipe out the income tax. You will be expected, however, to help build my gigantic, white castle on the seaside, for one or two months per year. Think of it as vacation.
  • have legions and legions of Storm Troopers!
  • drive a really nice car.
  • develop nuclear weapons and have big parades on the square in front of my castle, and then extort all neighboring countries for money.
  • build a McDonalds in every city.
  • build freeways. Lots of them.
  • build skyscrapers. You’ve got to appreciate a nice skyline.
  • fire everyone at SVT.
  • teach capitalism in school.
  • fund research into alternative fuel.
  • have a massive, enormous church organ installed in my sleeping quarters where I can sit and play like a madman at night.
  • play “Baby Elephant Walk” on radio a lot.
  • force people to sing all four verses of the national anthem, especially the part which is about God.
  • have my picture taken with Sandra Bullock.

Updated:

  • imprison all people who make fun of my car.

September 11

11 September 2006, 13:00 — Military, Reflections

usflag.jpgI had taken this particular week off. I felt I could use some rest after a long year of coding, and looked forward to brisk walks in the woods. This morning was easy; I had woken up, read the news, had my coffee and made plans for taking a walk, when suddenly the phone rang. It was my friend Chris from Kentucky who said something that a plane had crashed into a skyscraper, and asked me to pray. I flipped on CNN as he was still talking.

For the next hour, I sat glued to the TV screen. The things I saw etched itself into my mind and which I will never forget. I saw the second plane hit. My mind raced with thoughts concerning the people inside those burning buildings. I knew Sears Tower in Chicago took about 25.000 people. I had no idea how many would die. I remember staring at the TV screen, looking in wild disbelief at the carnage and I thought to myself “I can’t see tower two… I f***ing can’t see tower two“. One of the towers had collapsed. Shortly thereafter, the other tower collapsed as well, and the skyline of Manhattan was forever changed in that fateful morning. I turned off the TV and went for a long walk.

The day after was terrible. I felt like I was trapped over in Sweden while America was in need of help. It was like I should have been over there, helping, aiding, doing whatever I could to be there to share the grief and help carry the burdens. I cried, because I couldn’t be standing on the bridges over to Manhattan and cheer the firemen on as they went to work the days after, searching for survivors and putting out the fires.

My friend Bob used to work for American Airlines, and one of the flight attendants on board those two planes was a close friend of his. As for myself, I ended up making a small donation to the American Red Cross. It was the least I could do. I wish I had done more.

A few months before I had been in Florida on Memorial Day and watched the newly released movie “Pearl Harbor”. I wrote in my travel journals after watching it, that despite all of the everyday America I saw with gas stations, cheap motels, neon lights and all, that “I know that if America is ever attacked again, she will rise up in strength and strike back with ferocious unity and power”. In September, America was attacked, and she rose up and struck back.

Somehow, for some strange reason, my heart is forever tied to America and the American people; I don’t know why. But as I wrote on one site supporting American soldiers overseas: “I stand with you, and I’ll keep standing with you; in rain, in tears, in heartaches, and in glorious victory.”

God bless America.

Older Posts »