CTO & Consultant
Per's strengths include his passion for software development, a focus on simplicity, elegance, and pragmatism, as well as his expertise in software engineering and Test-Driven Development. Not only is he thoughtful, but he also uplifts those around him. As a good listener, he brings unique perspectives to any topic at hand. Per's interests span a wide range, such as space, math, reading, and practicing jiujitsu. He highly values collaboration and effective communication, emphasizing the importance of teamwork and avoiding a blame culture. Per joined factor10 in 2011, after working in the telecom industry. He holds a Ph.D. in software engineering and occasionally speaks at conferences. He began coding on the ZX Spectrum and remains committed to discovering simple solutions for complex problems.
Skills and interests
PhD in Software Engineering. His dissertation focused on requirements engineering, studied in an extensive collaboration between Blekinge Institute of Technology and the industry.
Worked in the telecommunications industry, focusing on the architecture and development of systems that handle categorization, tracking, and payment of traffic in mobile networks.
Have spoken about Domain-Driven Design and Test-Driven Development at conferences, both international and Swedish.
Represented Blekinge in the Swedish National Championship in Technology in 2001, together with two friends. Came second and won a trip to the United States with a visit to MIT Media Lab.
Active in open source projects mainly with projects related to video surveillance. Contributions focused on processing algorithms and performance optimizations.
Personal Blog FeedVisit Per's blog
Discovering Nim, part 1
For this year’s Advent of Code, I use the programming language Nim. I wrote a little bit about Advent of Code yesterday.
🎄 Advent of Code 2022, at last! 🎄
The time has come for another December with the alarm clock set earlier than usual!
A quick look at Cypress component testing
Cypress has recently released support for component testing in their 10.0 release. Let's have a look.
Consequences of array covariance in C#
In today’s post, I’ll talk about array covariance in C#, how it hid a bug in code that was covered by a passing unit test (*gasp*), and some ideas for how to avoid such bugs.
TDD and prototyping—a love story?
How can you write tests when you don’t know which code you need to write?
Git-diffing Excel files, part 2
This post adds some details that are big enough to deserve a separate post. They are: User-level configuration of Excel diffing. How to get an Excel diff from git show.
Nashorn's JSObject in context
The purpose of this article is to explain when the different JSObject methods are called during script execution and in some cases how they should be implemented.
Scala pattern matching & lowercase case objects
I just learned something about pattern matching and case objects in Scala which I thought I’d share.
Git-diffing Excel files
In this post, I’m going to demonstrate how to get a useful diff for binary Excel files that reside in a Git repository.