Teknik

Välkommen till vår teknikblogg! Håll dig uppdaterad, följ oss på LinkedIn

Callista medarbetare Anna Eriksson

Go - What's new since generics?

// Anna Eriksson

Go has been around for over 16 years, with more than a decade of stable production use since version 1.0 that was released in 2012. The latest release - 1.26 - came out in February this year.

Every new release has brought new updates, often with a focus on the toolchain and runtime. When it comes to adding new features to the language itself or to the standard library, the development pace has been deliberately slow and conservative.

The introduction of generics that was part of release 1.18 (in 2022) was highly unusual in that respect and gained a lot of attention. In this blog post, we will look at some of the updates that have been made to the language and standard library in the subsequent releases that did not draw as much attention but still delivered useful and in some cases long-awaited features.

Callista medarbetare Björn Genfors

Vitalis 2026

// Björn Genfors

I de omedelbara efterdyningarna av Uppdrag gransknings reportage om upphandlingen och införandet av Cosmic i Sussaregionerna från förra veckan, och regeringens efterföljande uppdrag om en “haveriutredning” om vårdens journalsystem från i måndags, hölls årets Vitalis-konferens.

Callista medarbetare Marcus Cedergren

Konsten att misslyckas snyggt - Att designa för resiliens i webbutveckling

// Marcus Cedergren

Illustration av en utvecklare vid en kontrollpanel som justerar inställningar för att upprätthålla dataflödet till en familj som använder sina enheter under en långsam anslutning

Inget system är perfekt. Servrar går ner, nätverk svajar på pendeln och externa API:er slutar svara. Skillnaden mellan en instabil applikation och en professionell, förtroendeingivande upplevelse ligger sällan i om felen uppstår – utan i hur systemet hanterar dem.

Genom att acceptera att fel är oundvikliga kan vi lättare designa system som aldrig lämnar användaren i ett vakuum. Att integrera detta perspektiv i utveckling från dag ett höjer inte bara den tekniska kvaliteten - det bygger den typ av tillit som krävs för att behålla användare när tekniken sviker.

Begreppet resiliens är ett brett ämne och en systemisk egenskap som spänner över hela stacken – från databaser och mikrotjänster till lastbalanserare och infrastruktur. I det här inlägget kommer vi dock fokusera specifikt på vad man bör tänka på för frontend-delen av en lösning.

Callista medarbetare Nils Janson

The new team

// Nils Janson

Don’t use AI as a robot to solve problems with code; by robot I mean someone who just follows instructions and does exactly as told. There is no AI agent that behaves like that, as there is no human either. Just stop micromanaging your agents and invite them to solve problems together with you.

Callista medarbetare         Albert Andersson

Teaching your AI coding assistant how you work

// Albert Andersson

AI coding assistants are powerful out of the box, but they have no memory of how you prefer to work. Every new conversation starts from zero. You explain your conventions, your preferred tech stack, your testing approach, and then you do it all over again next time. Skills attempt to solve this by letting you store reusable instructions that your assistant can draw on automatically.

Callista medarbetare Erik Lupander

Go SIMD part 5: Bitwise operation performance optimizations

// Erik Lupander

Recently, a proposal for adding low-level SIMD support to Go was “Accepted” and was added to Go 1.26 as a GOEXPERIMENT. In the last part I applied a more genuine and fully SIMD-ish approach to my dear ray-sphere intersections, producing results almost 4x faster than the corresponding scalar code. In this part, I’ll try to take advantage of the addition of ToBits Mask32x8 methods to the archsimd package included in Go 1.26.

Callista medarbetare Henrik Starefors

Clouds of the EU

// Henrik Starefors

In this post, I’ll compare five European cloud providers: Scaleway, OVHcloud, Exoscale, CYSO, and Hetzner, with AWS as a counterpoint, representing the non-European hyper-scalers. I’ll look at performance, price, ease of use, and overall experience. Maybe it’s time to leave the big three behind, and look at what Europe has to offer when it comes to the cloud.

Callista medarbetare Ove Lindström

What about Java 26

// Ove Lindström

Java 25 was released in September 2025 but the rampdown phase for Java 26 has already begun and it will be generally available in the middle of March 2026.

But how much can actually happen in 6 months? Let me tell you.

Callista medarbetare Erik Lupander

Go SIMD part 4: Ray-Sphere intersection acceleration

// Erik Lupander

Recently, a proposal for adding low-level SIMD support to Go was “Accepted” and will be included in Go 1.26 as a GOEXPERIMENT. In the last part I took a look at “thinking in SIMD” in regard to structuring data for SIMD use. In this part, we’ll become more practical, looking at converting a scalar ray-intersection function for data parallelism.

Callista medarbetare Erik Lupander

Go SIMD part 3: Thinking in SIMD

// Erik Lupander

Recently, a proposal for adding low-level SIMD support to Go was “Accepted”. In the last part took a look at SIMD for dot product computations in order to speed up ray-sphere intersection testing. In this blog post, it’s time to “think in SIMD” to hopefully make better use of SIMD.

Callista medarbetare David Ström

The black t-shirt architect, part 3: Evolution is inevitable

// David Ström

This is the third and final part of my blog series The black t-shirt architect. Thus far in this series we have concluded that there are no perfect solutions in part 1 so that any architectural decisions becomes a trade-off. We followed up by looking at a way to document architectural decisions in a clear and concise way in part 2. It is finally time for Evolution is inevitable in which we look at how we can balance the need for up-front design without falling into the trap of overengineering the solution.

Callista medarbetare David Ström

The black t-shirt architect, part 2: The 'why' is more important than the 'how'

// David Ström

This is the continuation of my blog series The black t-shirt architect, a name I hope brings to mind the image of an architect still deeply involved in the nitty-gritty details of software development. In this blog series we take a closer look at three fundamental rules of software architecture: Everything is a trade-off, The ‘why’ is more important than the ‘how’ and finally Evolution is inevitable. In the first part we saw how it is essential to consider different alternatives when making significant design decisions and in this part we will follow up by looking at why documenting those design decisions is so important.

Callista medarbetare David Ström

The black t-shirt architect, part 1: Everything is a trade-off

// David Ström

This is a new blog series (and my first!) that I have christened The black t-shirt architect. I chose this title to conjure an image of an architect with a background as senior developer still very much involved in the code. I hope it also represents the mindset of a constant learner. Also, I think it sounds rather cool.

Callista medarbetare Hans Thunberg

Spec-driven utveckling – från kravinsamling till färdig app med AI-assistent

// Hans Thunberg

På Callista har vi varje år ett antal bootcamps, en slags träningsläger där vi tar chansen att träna på saker vi tycker verkar intressanta. Det handlar inte så mycket om att bygga muskler och kondition, mer om att bygga kompetens och självförtroende kring intressant teknologi, arbetssätt, prylar eller vad som helst egentligen.

Vid fikapauserna på höstens bootcamp hamnade jag i spännande diskussioner om MCP-lösningar för hårdvaruövervakning, specialtränade språkmodeller för systemkonfiguration, och WebAuthn/passkeys för modern autentisering. Mitt eget fokus låg på spec-driven utveckling med AI-assistenter, ett arbetssätt där vi beskriver vad vi vill uppnå istället för hur det ska kodas.

Målet? Att köra igenom ett helt utvecklingsflöde från kravinsamling till färdig implementation, med hjälp av strukturerade specifikationer och Claude Code som AI-assistent.