Picture of Marcus Ahnve

Hi, I'm Marcus.

I'm an independent software developer with 20+ years of experience designing and building web based systems.

Areas of Expertise


I wrote my first BASIC program in 1981 and have been paid to program since 1996. I have experience writing full stack software for the web and have written production code in Java, Python, JavaScript, Kotlin, Clojure, Ruby and Smalltalk. And of course, I know HTML, CSS and SQL as well.


I have built and designed applications on various versions of Open Source software stacks based on Linux and databases like PostgreSQL. Since the end of the '00s I have used cloud providers such as AWS, Google Cloud and Digital Ocean to deliver these solutions.

Methods and Ways

I was an early adopter of what was later to be called agile methodologies and was a founder of Agila Sverige, Swedens first conference on this topic. As agile grew mainstream and the meaning of the term went diluted I choose to step away from agile as an industry, but I still work by the ideals of the early movement. This means test driven development, continuous delivery and deployment and an adherence to a well functioning workplace. If asked kindly I still give talks about methodology.

Education, Speaker

I have spoken at numerous conferences and have worked as a teacher in all of my areas of expertise. Teaching and speaking is a complementary activity for me as I like to speak from experience.

Latest Posts

How I Create Test Objects in Java

"The Problem When I write tests in Java, I find it tedious to manually create objects and setting attributes. Code easily turns out like this: var foo = new Foo("Satellite", 1000, true); var bar = new Bar("Edward", "Scissorhands", List.of(foo)); // do stuff assertEquals(foo, bar.findByName("Satellite")); Here we're first creating a Foo, which is then added to a Bar. We then test that we can find the Foo when we ask the Bar to search for it."
Read More…

Distro Hopping

"A year and half ago I ended a two year experiment using Windows as my daily driver OS. In short, I felt WSL had too many wrinkles that annoyed me. I switched back to Linux and it was like coming home after being away for too long. Since then I've tried a number of distros and desktop environments, and I believe I have finally settled on Fedora KDE Plasma Desktop Edition."
Read More…

Hamburger Menu With Bulma and Hyperscript

"As part of a larger overhaul, I recently redid the navigation for this site and switched the CSS framework from Semantic UI to Bulma. The main reasons are that I find Bulma requires simpler HTML, and that it has no included JavaScript dependencies. JavaScript is needed for some features though, one of them being the burger menu. Bulma has a navbar component that automatically adapts to touchscreen devices by hiding the navbar-menu item."
Read More…