Runar Ovesen Hjerpbakk

Programmer. Software Architect. Technical Manager.


Why software sucks

I received an excellent question today:

Hey Runar, why is almost all new software and programs so ugly and difficult to use? Everything new from Microsoft or say Kongsberg looks like it’s made for Apple and it just looks horrible and has much less functionality than the older software’s had.. Any ideas?

An excellent question. And the answer depends on your perspective.

Read More

Book Scanner 1.7.2 or why a simple change took one month

Book Scanner version 1.7.2 is finally completed and it’s the most awesome version of Book Scanner yet!

Book Scanner now works and looks good on all supported iOS devices and plays nicely with iOS 12.

Book Scanner in the App Store

Read More

Why Do Achievements, Trophies, and Badges Work?

From The Psychology of Video Games:

Eight potential reasons why badges, achievements, and trophies might work are:

  1. They anchor our performance expectations higher
  2. Having goals increases our self efficacy
  3. Completing goals leads to satisfaction
  4. They create goal commitment
  5. They act as guidance mechanics and provide feedback
  6. They facilitate psychological flow through feedback
  7. They trigger social proof
  8. They trigger motivating social comparisons

Agile is full of ceremony, some of which remind me of these points:

  • The team’s velocity anchors the team to what is considered a good performance
  • The sprint goal can communicate expectations beyond the team’s previous velocity
  • A successful sprint can be celebrated
  • If the goal was reached with time to spare, the team can be more ambitious next sprint
  • Progress is tracked through the sprint dashboard, Kanban board or other post-it heavy contraptions

Software Design, Team Work and other man-made disasters

Adam Tornhill - @AdamTornhill

“Software development is a social activity”

Code reviews vs. you are not your code.

Constructive criticism.

You are your code, in order to improve we need to embrace this.

“We are anything but rational”

Pluralistic Ignorance - group bias where everyone public supports an idea that they don’t agree with in private. Common in every project.

Fight your biases.

Bias reducing social hacks. Assign the role of “Devils Advocate” in every discussion. Remember to rotate the role. Also scheduling a follow up meeting after taking important decisions. Prevent your emotions from dictating your decisions.

Base your decisions on data.

Read More

A Fool With a Tool is Still a Fool

Pawel Brodzinski:

Take pretty much any popular practice, technique or method. The same story again. We don’t understand why the tools we use work and simply blindly apply them. Doesn’t that fulfill a definition of a cargo cult?

Software engineering needs to get out of its guru-phase.

Programming Sucks

Via Still Drinking:

This is what it is to learn programming. You get to know your useful tools, then you look around, and there are some handy new tools nearby and those tools show you the bottomless horror that was always right next to your bed.

It's funny 'cause it's true (mostly)! A must read.

There's No Excuse

Via DaedTech:

What’s the moral of this story? To me, it’s this: if you have a giant document detailing manual steps for programmers to follow to get something done, what you really have is a spec/user story for your next development cycle. Automate all the things, and then burn those documents at a cathartic, gleeful camp fire. You can turn your onerous processes into roasted marshmallows.

This XKCD is relevant.

And this one.


Via xkcd.

'Automating' comes from the roots 'auto-' meaning 'self-', and 'mating', meaning 'screwing'.