Blogg
Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på LinkedIn
Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på LinkedIn
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.
Vi lever i en era där AI genererar kod på sekunder och dataläckor mäts i miljarder. Trots att digitaliseringen accelererar behandlas säkerhet ofta som en flaskhals i slutet av projektet eller en bock i marginalen efter ett sent penetrationstest. Resultatet blir ofta stress, omskrivningar och att säkerheten förblir “det tysta S:et”.
Det klassiska citatet lyder: “Det finns bara två svåra problem inom datavetenskap: cacheinvalidering och namngivning.”. I detta föredrag lämnar vi cachen därhän och fokuserar helhjärtat på utmaningen att sätta rätt namn på saker.
Drömmen om att låta AI generera kod direkt från design krossas ofta av verkligheten: resultatet blir generiskt, svårt att underhålla och följer sällan era kodstandarder. Varför? För att språkmodellen (LLM) saknar det viktigaste du har – din organisations unika kontext.
Det här är fjärde upplagan av Callista Tech Radar Light – vår årliga trendspaning kring teknikanvändning bland kunder och branschkollegor. Med hjälp av svar från Cadec 2026 kartlägger vi vilka teknologier som används i vardagen, vilka som är på väg upp – och vilka som lockar mest inför framtiden.
För femte året i rad presenterar vi Callistas Tech Radar - en undersökning som görs bland våra medarbetare och visar hur teknikanvändningen ser ut i våra uppdrag. Svaren inhämtades mot slutet av 2025.
Tidigare Tech Radar:s hittar du här:
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.
During the fall, I worked for a Swedish government organisation that has a large legacy codebase. This is a summary of the findings and ways of working that emerged during the project.
Kotlin Coroutines have become the standard for asynchronous programming in the Kotlin ecosystem. While I might not reach for them in every single task, they remain one of the most powerful tools in my developer toolbox. However, using them effectively requires more than just knowing syntax, it requires understanding the underlying mechanics of concurrency.
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.
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.
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.
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.
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.
Recently, a proposal for adding low-level SIMD support to Go was “Accepted”. In a previous blog post I covered the basics. In this blog post, it’s time to become more practical, looking at possibly accelerating ray-sphere intersections in a toy ray-tracer I’ve written by leveraging SIMD-acceleration of dot product computations abundant in ray tracing.
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.
Magnus Larssons bok har kommit ut med en 4:e upplaga och vi är lite nyfikna på vad den innehåller och hur är det egentligen att skriva en bok? Vi lyssnar med Magnus vad han säger.
Recently, a proposal for adding low-level SIMD support to Go was marked as “Likely Accept”. In this blog post, we do some early experiments with the simd package using gotip to access the work-in-progress implementation.
In my last blog post we took a dive into OpenTelemetry and how it could be used to gather signals from your applications. One thing was absent - trace! This blog will take a dive into adding trace to the scenario and what you can get out from it.
There is a place in Norway named Hell. It is a small community of fewer than 2,000 people, and everyone knows each other. And everyone depends on each other.
But what happens when your dependencies in your application freeze over? And what is the cost of not having a Dependency Management Strategy?
