Author Archives: Björn Palmqvist

About Björn Palmqvist

A senior system developer with focus on agile methods and development optimization. Björn has been working with various project from game development to telecom. He has a own interest in artificial intelligence and has been involved in creating an AI engine. He has been working in languages such as C/C++, Java and C#, both as architect and developer.

Event feeds for system integration

What is a event feed? It’s a list of events on something that has happened. This is useful if we have two applications that need to share events between each other. But we don’t want to push the event to the receiving application. Instead we want the reviving application to pull the events instead. This… Read More »

TDD with Venkat

Time for some education again. This time it’s Test Driven Development with Venkat Subramaniam (@venkat_s) Disclaimer: This is my own notes and my interpretation of things, NOT the teacher’s. I recommend you to take this course if you have the opportunity. Table of Contents Influences of TDD on Agility and Sustainability Circles of feedback Development speed Cost… Read More »

Features of Java generics

Java generics is a great feature introduced in Java 5, but it’s not that type safe that you would assume. The following example was found in our test code. dto.setFailingTask(new ArrayList(Arrays.asList(“Task1”, “Task2”)); where the setter looks like the following: public void setFailingTask(List<Task> aTasks) { tasks = aTasks; } So what’s going on here? The first… Read More »

The software craftsmanship manifesto

Did you know that there exists a software craftsmanship manifesto? It’s extends the agile manifesto and a respons to the production line and factory workers attitude that exists in the industry. I have translated the English manifesto to Swedish below. The original can be found at Som ambitiös mjukvaruhantverkare höjer vi ribban för professionell… Read More »

AgileExchange 2015 in Umeå

Our paper was accepted for the conference AgileExchange in Umeå this year. So we are proud to announce that we will be holding a workshop in how you handle your legacy code. The lecturers will be Björn Palmqvist from us and Markus Westergren from Umecon.

Builder pattern for mandatory values

I found an interesting blog post for using the builder pattern with mandatory values. In short it uses the common builder pattern, but adds an twist by using interface to force which value to set next and thereby solving the problem with many mandatory values. I will demonstrate the problem with the common builder and… Read More »

Specification By Example with Gojko Adzic

I found this presentation about specification by example with Gojko Adzik. I have previous taken the course Specification by Example that he held. See the lessons learned blog post for more information about that. Gojko is a really good teacher and speaker. Here is the presentation from Agile NZ 2014.

Know your core framework

I found some legacy code in a project that I’m working on. I felt that I must share this one. I think it is very important to know the core framework you are working with. Especially the one included with the language you are using. In this project, we are currently using Java 7 and… Read More »

Data-Oriented Design and C++ with Mike Acton

I have been working the last 10 years in object oriented languages and tried to learn all design patterns for good design. I find this talk, even if this is nothing new, refreshing. Back to the basics and it make me wonder if our daily approach are the correct one or if we should try… Read More »