Erik I

My public writing. You can reach me at

Or rather: adjusting the plan

Filed under #risingEarly

Yesterday I decided to sleep an hour extra tonight.

The result: I'm waking up tired and confused.

Hopefully I'll also be less tired during the day though.

BTW: Sleep as Android is how I get up. That alarm clock is amazing and I think it has followed me since shortly after I got my first or second Android phone. Itis customizable so I can decide for example how much I am allowed to snooze and more importantly it just doesn't give up. (Not affiliated in any way, just a happy user.)

Filed under #lifeInNorway

People who receive work assessment allowance (AAP), sickness benefit or attendance allowance no longer need to apply to NAV to be able to travel to another EU or EEA country in connection with temporary stays.

This above is probably close to the nicest way it is possible to describe the scandal that has unraveled this week:

It seems bureaucrats have sent a good number of people to jail and/or fined them heavily on accusations of fraud because they traveled abroad while receiving allowance or benefits from NAV.

What was the problem? According to our agreement with EU they are not allowed to restrict peoples movement within the EU that way as long as recipients adhere to the rest of the rules, things like filling in necessary forms etc.

To make matters worse, it now seems NAV has been made aware of this a few times already after being defeated in court, but has continued anyway.

The government is also receiving some deserved criticism for not acting after they were warned last year. Some of the worst criticism has died down though as it turns out some of the parties that was loudest in their criticism was in charge when this started. Ooops.

When I was younger and more stupid than I am now I would probably have said something more: maybe I would have said that “bureaucrats and politicians should have gone to jail over this” or something to that effect.

That option is not in our laws as far as I am aware and I have also become more careful to stop judging others and leave it to those qualified, but I do wonder what will come out of this.

Filed under #web and #linking

Daniel Janus has written a really interesting post about the current state of the web: Web of Documents

While I don't necessarily agree with everything I agree with most of it and found it very clear and well-written. I'll try to get back with another post that describes where our views differ, but for now, if you are interested in the state of the web read Web of Documents.

Filed under #life

Woke up at about 0348, made coffe and have now been listening to podcast and browsing Instagram for about half an hour. Now it is time for some reading (there was a 40% sale a couple of weeks ago so I used the opportunity to get myself a new Bible, and I'm looking forward to reading it :–)

Time used for this post: approximately ten minutes, while still listening to podcast.

Update: finished reading. It is now 0448 and it is about an hour since I woke up.

I don't expect to stick to this schedule for months or years but for now it works.

Filed under #testing and #softwareengineering

In a discussion about Kent Becks post Test Desiderata someone asked when they are inexperienced in software testing but still the only one on the team that care about writing tests. I answered it briefly on my way to work yesterday but I'll try to clean it up a bit and add it below as it seemed useful.

But first: if you are at all interested in testing and haven't read Test Desiderata yet, read it. Kent Beck is famous in the field of software development and for good reason!

That said, here is what I wrote, expanded and edited somewhat. The context is still someone who tries to write tests while nobody else cares:

Testing is primarily a tool

Always remember, and particularly if you are alone fighting a good fight to improve quality: if nobody has told you to test and what tests to write then they are just a tool to help you.

I think I was lucky when I was introduced to testing as the guy who introduced our team to it presented it as a tool to reduce boredoom and busywork instead of as a “best practice” that should ideally be followed to be nice.

In his words (as best as I can recall them, and with apologies if it turns out he quoted someone else):

Only software developers launch the entire space shuttle every time they want to test a small change they've made.

Every other engineering discipline uses a test bench or text fixture.

  • Glenn Richard Bech, sometime in 2007 or 2008

He then went to prove how we could often save time by testing our new features automatically in 15 seconds flat or something like that instead of having to wait forma full server restart that could easily take 2 minutes just to get to the point where we could start manually verifying our changes.

Start small

A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system. John Gall

This law holds true for testing as well.

(And if you can keep things simple while expanding it to cover all needs – all the better!)

When planning, look for tests that will speed up your work right now

I often find that adding a minimal test suite will speed up my work significantly.

By starting with those tests you will be building confidence for yourself and goodwill for your work. After all no reasonable boss will get angry with someone who is successfully working to do their work faster and more effectively.

Getting upset if they feel someone is spending time on unnecessary busywork however would be understandable.

Don't care about overall coverage, only that what you are working on now is reasonably tested

Stay with your work. Don't switch context just to improve some statistics.

In addition to the context switches, it also creates noise.

Observe and make at least a mental note when the tests are help you

Your tests can work as both a

  • lab bench, keeping your code in place while you work on it
    • how? write a simple test that feeds the code the inputs that are currently working to make sure nothing breaks.
  • fall protection
    • how? check in the code, run everything at least every time you are about to push new code, and – especially if nobody else cares – after you check i n code from others: to verify old important code still works.
  • a colleague that does pair programming with you, pointing out when you are about to forget something important
    • how? it is hard to explain but you'll hopefully experience it.

If some advice you get doesn't make sense and you can ignore it, do that after trying to understand what it should help for

Don't waste time just because someone says something is a good idea. In keeping with the ideas above keep your tests lean and focused on value add and removal of tedious work instead of focusing on doing it “right”.

So much time is wasted every day in discussions both in teams – but also inside peoples minds – about the correct way to do things. Just don't be so open minded your brain falls out.

(And for anyone working in a team: most of the time, stick with the rules.)

Michael Feathers book “Working Effectively with Legacy Code” might come in handy at some point

If you work late with legacy code this book might help you. If you don't have time can however probably manage without as well 😏:

A couple of months in the laboratory can frequently save a couple of hours in the library.

Frank Westheimer

Filed under #music

These days I always start my days listening to a podcast I find interesting, but during the work day I often listen to music. Today I came across this track that I immediately loved:

Filed under: #lifeInNorway, #observations and #photo

The last couple of years we've seen a huge diversification of bikes and I'm hoping to get some usable photos of all kinds of weird and wonderful bikes-with-electric-motors. (My phone is too slow to catch them in use ;–)

So for now, here are some ordinary bikes parked under a bridge: Ordinary bikes under a bridge.

Also E-scooter companies have been really busy trying to become a trend this year, but haven't succeeded yet as far as I can see. Here are some of them:

E-scooters standing in line under a bridge trying to become a big trend this year. It is dark enda

Filed under #thingsIRead, #learning and #teaching

If you want to share this, please share the original link below, not this post.

My words here are just context for why I share it with my readers. This blog is not a SEO experiement, and the world need less SEO, not more.


I'm a bit facinated by learning, and this post resonates a lot with my observations.

See also, an example that I relate less to but still think explains the problem.

Filed under #observations and #books

I'm currently listening to “Getting Things Done” by David Allen.

This is a revised edition of the original and I find it even easier to relate to. It is also more than ten years since I read the original and I'm realizing that I've been further away from the ideas than I thought. I probably wouldn't have appreciated it so much however if I hadn't been experimenting so much the last >10 years.

I'm also reading the draft of the third edition of “Security Engineering”by Ross Anderson.

The first chapters are freely available and – in my opinion – probably very well worth reading if you work in a tech related position where your decisions in any way affects the product.

I also find myself reading the Bible more.

After all, life is short, and in the words of someone else: “[to be more effective] do more of what works.”

Filed under #lifeInNorway, #observations and #howto

(Might apply for other Scandinavian countries and certain other countries as well, see video of Swedish people waiting at the bus stop at the bottom of this post. )

As you walk into the bus, scan the seat rows.

  • Some seats are prioritized for elderly and disabled. Stay away unless the bus is empty anyway.

  • Try to find two empty seats next to each other, take one, put your bag in the other.

  • Generally within reasonable limits try to contribute to an even distribution of peiple in the bus.


  • If you see a friend (who's not extremely close friends,) or someone you know, smile and say hi or nod.

  • If you cannot find two empty seats, pick one based on the following list:

  1. Someone you know

  2. Someone else

Take with a grain of salt, and always apply common sense. Also it is a bit short; I wrote it in around 15 minutes, on the bus.

BTW, avoiding people on the bus is seen as polite, even if you know them.

Will try to get back with some advice on how to pick a seat on the train (if you can get one, that is 😎 )


Enter your email to subscribe to updates.