Disclaimer: This is where I shout my thoughts and opinions.

The case of the else statement
John Mikael Lindbakk John Mikael Lindbakk

The case of the else statement

Architecture happens at all levels of the application. We got the high level architecture such as diagrams and charts laying out the architecture of the solution and we can go all the way down to how functions are structured and how the code is written.

Read More
A brain dump on schema updates
John Mikael Lindbakk John Mikael Lindbakk

A brain dump on schema updates

Some of the most dangerous and scary things a developer does is making changes to the database. Be it fixing some dodgy data in production or changing the database schema all together. Users trust us to at least not lose any data, even less so to break it. SQL changes also tend to be somewhat of a “side thing” compared to normal development..

Read More
Don’t use transient fields
John Mikael Lindbakk John Mikael Lindbakk

Don’t use transient fields

Most ORM frameworks allow developers to code in values into the models which is actually not a part of the database model. Java calls this transient fields, which is the word I will use throughout this post as well. I aim to explain why transient fields are toxic, and how to avoid them.

Read More
Useful tools: USE Together - Remote pair programming made easy
John Mikael Lindbakk John Mikael Lindbakk

Useful tools: USE Together - Remote pair programming made easy

The current COIVD-19 pandemic has shocked the world. For developers, like myself, it means that we’re working from home. Working from home is not an issue for me personally. I have an office, a good chair, reliable internet and everything an office has except for the people.

Read More
The importance of unit test names
John Mikael Lindbakk John Mikael Lindbakk

The importance of unit test names

The names of our unit tests might seem like the most insignificant part of our code. After all, they usually don’t even get shipped with the release code of our software, so therefore they cannot impact runtime functionality. To make it worse, the naming of a test does not impact the implementation of a test, so they cannot impact the running of these tests either. So the question becomes why I would make a blog post out of the importance of naming these tests appropriately.

Read More
Useful tools: Vim Vixen
developer-tools John Mikael Lindbakk developer-tools John Mikael Lindbakk

Useful tools: Vim Vixen

I’m a keyboard guy. If it was practical I would love to throw the mouse away. This is why my personal computer runs Manjaro with the I3vm. A window manager which is the keyboard first. Often there’s applications which simply do not allow me to use keybindings, or are so unintuitive that it isn’t even worth learning them, whereupon I often script the functionalities I need and execute them from the command line. The point I’m trying to get across is that I love doing things from the keyboard…

Read More
Code Reviews - easy in theory, difficult in practice
development-processes John Mikael Lindbakk development-processes John Mikael Lindbakk

Code Reviews - easy in theory, difficult in practice

The other day some of my coworkers and myself had a discussion about what it meant to do a code review. To my surprise it turned out that we had wildly different opinions on what it meant to have a pull request approved and what can be expected from the code reviewer. Some believed that code reviews are to check for bugs, performance issues and so forth. Others indicated that it is to check that we have made the correct thing. That the code does what the customer wants it to do. Others thought it was to check for code quality…

Read More