What I Might Say to My Girlfriend, If I Had One

Purely hypothetical scenario.

I love the way you look
Early in the morning
When you’ve just woken up
And turn to me.
I love the way you smile
As I kiss you to say “Good morning”.

I love the way you stumble through the kitchen
Making tea
I hear the muffled sounds of your showering
And I feel warm and fuzzy inside.

When I call you at work
You’re warm and gentle
And yet, not entirely without
That distinct professionalism
Which is so entirely yours.

And when you dress up in the evening
And enter into the room
It’s as though the entire country holds its breath
For a few trembling seconds -
before moving on…

You are the most beautiful being
I have ever seen in my life.
And to that beauty you happen to add
A dashing blend of charm, kindness, love and grace
And a most endearing naivety.

I love you so much.

And I want to share
Your joy and your happiness,
Your sadness and your tears,
Your smiles,
Your laughter,
Your pain,
Your worries and doubts
And I want to hold your hand
Through every stage in life.

My dearest [insert name here],
Will you be
Forever mine?

Oh the Dark Alleyways of ASP.NET

Venturing deeper and deeper into ASP.NET is exactly like playing Zork.

Zork is an old, old adventure game from Infocom (in the spirit of the original Adventure game), where you wander through a gigantic cave, looking for treasure and trying to solve puzzles. The whole game is text-based, with sometimes complex tasks that you need to accomplish before you can advance. For instance, to pass through a certain hall of ghosts, you may need to get some garlic (garlic scares ghosts away, as everybody knows); now where did you find the garlic? And before you can go back to get the garlic, you need to do something else first in order to do that.

ASP.NET is very much like that. Before you can debug a process, you need the correct environment set up. And to do that, you need IIS 6 installed; but on Vista, IIS 7 is installed, so you need the IIS 6 Compatibility and Metadata Layer before you can do that. And when you’ve taken care of that, there’s configuration that is mismatched, so you need to update the Application Pool settings, and then it can’t start because Windows Authentication isn’t enabled for the website, so you need to go in there and fix that; but you can’t enable Windows Authentication because Forms Authentication is already enabled and those two can’t coexist, so you first need to disable that…

The only difference is that you don’t get points for solving these problems, as you did in Zork.

I’ve long maintained that Microsoft have fundamental problems in building software. If Apple “Just Gets It”, Microsoft just doesn’t. Maybe it’s a problem with a thousand middle managers each having their own say; I don’t know.

There’s a notion within software development these days, if you read books about agile modeling, pragmatic programming etc, to aggressively pursue a balance between power and simplicity; to remove unnecessary dependencies, to isolate and compartmentalize solutions. To switch components at will without breaking interfaces and redeploy in new environments without changes is the goal.

This is completely at odds with Microsoft’s methodology. Microsoft builds dependencies, integrates software, creates a thousand and one links between their programs. On the plus side, inserting an Excel sheet into an email was never so simple; on the negative side, it is nearly impossible to take a solution and deploy it to a different place without feeling like you’re caught in a spider’s web, kicking and screaming at everything and getting nowhere, while the evil deadline is moving in to consume you.

Yes, building good software is hard, and I won’t even begin to approach the problems they face in maintain products of such enormous dimensions as Office, Windows or anything like it. Still, it’s not too hard to observe certain tendencies, a certain line of operation, in their programs. Anyone who’s every tried to develop an ASP.NET application on Apache should know what I mean (whether you, in fact, like to blame Apache or Microsoft).

When Ed Castro made his remark “no modebit” in the famous book The Soul of a New Machine, he made a critical choice. Had Data General’s 32-bit minicomputers employed a modebit (to flick a switch and make the 16-bit minicomputer suddenly turn into a 32-bit supercomputer), they would still have worked with those modebits today, and probably more than just one modebit too. It is reminiscent of Intel’s protected mode: although “real mode” is now gone since long, it’s still in the processor and can’t be left out.

But sometimes radical decisions are necessary, and radical simplicity is needed today. And that’s where Microsoft fails and will continue to fail, until they become the next IBM of the 90′s, drifting towards the sidelines and badly needing to reinvent themselves.

Some say, this is already happening.

log4net? Not for Me

I’ve just made a decision not to build my logging in any application on log4net.

I’m sure log4net is a wonderful tool that can log anything, anywhere, to any log consumer. But after sitting here struggling for hours in trying to get it to log correctly – both for myself and for a client’s ASP.NET application – I’ve decided against it.

The thing is, it violates the KISS principle. (Keep It Simple, Stupid.)

Anything that you can’t get up and running – and this is supposed to be remarkably simple – within a short amount of time, does not deserve my attention. log4net, to me, is too powerful, too complex, too difficult. There is just too much trouble getting the XML configuration to work correctly, and too much pulling the hairs out when it doesn’t work. My time is far too valuable to spend it trying to get logging to work.

Putting all configuration into an XML file – even how to tie the internal components of a program together – is just downright evil. And it’s not the way to go.

The KISS principle, and its cousin Rock Steady, but shake their heads and move on.

Sweden, Be Proud

I have an American flag hanging on my wall at home. I keep it there for a few reasons; one, which I’m sure you’ve noticed by now, I’m practically half-American anyway, and I might as well fly the colors of the nation I love; two, the colors blend nicely into my living-room; and three, because I side with the ideals of the United States of America and I choose to represent those ideals in the way I try to live my life.

I once tried to get a Swedish flag to hang right next to it. I thought it would be a nice touch to have the Swedish and American flags hanging side-by-side, celebrating both our common ideals and values, and at the same time honoring the differences and the diversity of our cultures.

But as soon as I happened to tell my Mom about my idea, she immediately criticized it strongly. She drew links to the neo-nazi and racial movement in Sweden; and I’ve had more people tell me the same thing. I once displayed the Swedish flag as a wallpaper on my computer, and my former CEO told me that he immediately associated it with nazis. So that is how far we have come: We have come to associate flying our flag and our blue and yellow colors with racism and hatred towards foreigners.

I asked one of my friends why this was; why Americans can fly their flag without comment, while we Swedes can’t. “Because America is founded on principles and ideals, whereas the Swedish culture is based on nationality and ancestry” was his reply.

But I disagree with this notion. The sheer number of immigrants in our nation forces us to ask the question: What does it mean to be Swedish? What gives anyone the right to fly the Swedish colors with pride and joy? Perhaps we need to redefine ourselves.

As a culture, we share a past. We have existed as a nation for practically a thousand years. And while the early beginnings of Sweden is rather clouded in uncertainty and haze, it is clear that we’ve been developing a common history for a long, long time. Our culture is full of Swedish expressions: Our kings and royalties, our common values and ideals, our respect towards nature. It is full of red country cottages and white churches. It is full of schoolchildren singing “Den sommartid nu kommer” before summer. And yet through the constant, it has also been changing, never standing still, always developing in response to the changing world outside our borders. For the longest time we’ve been unharmed by wars and terrors, and yet we’ve changed, grown and developed.

Now we stand in other, different times. The world is getting smaller; the European Union is tying the nations of Europe together; computers break the static borders and introduce their own. People move between countries, travel the world, and immigrants establish a safe home within our nation, learn our language and become part of our society and our politics.

Why can’t I be proud of this nation, that has sought peace for so long and harbored so many refugees from outside? Why is it so difficult for us to be proud of who we are and what we’ve done – not with any disrespect towards any other culture, nationality, race or creed – but to celebrate what makes us Swedish? People who come here ask us why we are embarrassed over our nationality. For one thing, we are the only nation in the world, who as our national flag carry a cross of gold against the clear blue heavens. (Yes, the color is actually defined to be gold and not yellow.) Why are we embarrassed at that?

And so our colors have been hijacked by radical, nationalist elements. We really ought to take it back.

Perhaps it was a mistake to stand outside World War II. For all the remarkable peace we were given, maybe we lost something more: The understanding of why it’s important to fight for our ideals and our cultural identity. Not that I wish it, but had our nation suffered under the heavy nazi boot, maybe we would understand a little better why flying our flag still – despite our troubles – matters.

Random Thoughts on the New Home

I’ve lived in my new home for two weeks now. These are some thoughts that have accumulated so far.

  • The nice but deaf lady downstairs keeps cranking up the volume on her TV so the whole house shakes. I’ve already talked to her twice, but it doesn’t help. I may have to call the landlord next week. She is now affectionately known as “the TV lady”.
  • The town so far is interesting. It’s an entirely new paradigm in citybuilding. There isn’t a straight 90-degree angle in the entire city. Houses are built almost on top of each other; little alleyways emerge where it is impossible to drive cars though; homes are built directly on the side of the mountain in crazy angles. It’s very, very different.
  • There’s less nature than I thought. It’s mostly just cliffs and water. Granted, the ocean is nice, but I’m longing for more green stuff. Maybe that’ll come out the further we get into spring.
  • The store in town has everything. Even Ben & Jerry’s Cookie Dough Ice Cream.
  • It is, however, absolutely impossible to find a Der Spiegel or Süddeutsche Zeitung in Skärhamn. Strange, you’d think with all the German tourists there’d be a couple of foreign newspapers around.
  • There is far, far less military here. No soldiers in training sneaking down the street with automatic carbines, no troop movements, no distant 20mm guns firing in the evenings. There are a few boats from the Coast Guard though, but that really isn’t the same thing. I’m not sure whether this is good or bad yet, but it’s different.
  • I miss the city parks a little bit. I miss going to the mall late at night, browsing through the isles. I miss Wal-Mart, I miss the skyscrapers, and I miss having a cup of coffee at the train station. Or going to McDonalds at 10pm, just for the heck of it.
  • The State Church is completely dead here, too.
  • When you stand on top of Tjörne Huvud in the evening and watch the sun set over the ocean, the view is absolutely breathtaking.