Välkommen till vår teknikblogg! Håll dig uppdaterad, följ oss på Twitter
Välkommen till vår teknikblogg! Håll dig uppdaterad, följ oss på Twitter
Back in 2020 I spent an unhealthy amount of time implementing The ray tracer challenge book in Go, which I also blogged about. After finishing the book, I re-purposed the codebase into a simplistic Path Tracer. While the results were rather nice compared to the quite artificial ray traced images, basic unidirectional path tracing is really inefficient, taking up to several hours for a high-res image.
This “just for fun” blog series is about how I used OpenCL with Go to dramatically speed up my path tracer. Part 1 deals with the basics of path tracing while latter installments will dive deeper into the Go and OpenCL implementation.
This is a prelude to an upcoming blog post about Path Tracing with Go and OpenCL, which can be seen as a spiritual sequel to my 2020 ramblings on go ray-tracer optimization.
If you want some tidbits on Golang, OpenCL and CGO on Windows 10 - read on!
This is the fourth part of a blog-series about using CDK and AWS services to build and deploy solutions related to personal energy usage and electric vehicle charging. This part deals with using data from chargefinder.com’s APIs and InfluxDB Cloud in order to be able to forecast DC fast-charger availability at certain charging sites and time of day on common travelling dates.
This is the first of three blog posts where I will explain what you can learn from each chapter in the second edition of my book Microservices with Spring Boot and Spring Cloud. This blog post will go through the first part that focuses on using Spring Boot and other Spring projects to build microservices.
This is the third part of a short blog-series about using CDK and AWS services to build and deploy a personal solution for monitoring electricity usage. This part is just a little follow-up on how the solution is doing, some improvements and most importantly - the costs I’ve been billed since the solution’s inception back in april.
The 2nd edition contains many updates using the latest versions of the tools and frameworks covered by the book. It also includes two major additions: support for Windows using WSL 2 and compiling Java-based microservices to native images using Spring Native and GraalVM. In this blog post, I will go through the most significant changes and news.
This is part four of my blog series on reactive programming, which will give an introduction to R2DBC and describe how we can use Spring Data R2DBC to create a fully reactive application.
Carrying on from part 1 it’s time to look at the role of the Consumer in application integration with Kafka. Watching a group of Consumers chew their way through a backlog of messages is extremely satisfying but there is peace of mind knowing that they are doing what they are supposed to.
There is no denying the growing popularity of Kafka as a platform. It is probably safe to say that Kafka is now the de facto solution for asynchronous integration using a pub/sub pattern. Given the profusion of Kafka providers and solutions it has never been easier to get started.
If you are starting out on your journey to integrate applications with Kafka there are some important aspects that you will want to consider to in order to guarantee smooth operation at scale. In this two part blog I will look at some of these aspects and give some advice for potential Producers and Consumers.
This is the second part of a short blog-series about using CDK and AWS services to build and deploy a personal solution for monitoring electricity usage. In this part, we’ll look more closely at the Golang-based lambdas.
As a personal exercise learning AWS Lambda and CDK, I developed a solution that helps me monitor how much electricity my house uses.
Alla system som hanterar läkemedelsinformation kommer förr eller senare behöva anpassa sig till IDMP-standarder. I denna blogg tittar vi på vad IDMP är och hur långt man har kommit med införandet i Sverige.
Over the past 18 months a crack-team of software developers and IT architects from Callista Enterpise, lead by the formidable trio Magnus Larsson, Peter Larsson and Fredrik Larsson has developed a new programming language for the nano-service, cross-cloud, no-platform based programming model.
It has now become time to share the good news and release this paradigm changing novel programming language to the wider community. We sincerely hope you will enjoy it!
This is the third part of my blog series on reactive programming, which will give an introduction to WebFlux - Spring’s reactive web framework.
The initial W3C Web Components specification draft was introduced way back in 2011. Every now and then over the years I’ve read articles and blog posts about the progress, but it’s only recently that v1 of the spec has been adopted by the major browser vendors. In the meantime, popular frontend libraries and frameworks like React, Vue, and Angular have created their own separate ways of creating components. For me, this raises a few questions:
In this two part blog series I will try to answer these questions by creating sample components using different techniques and subsequently integrating them in some popular frameworks. First we will go through a quick rundown of some basic concepts before moving on to explore stencil.js in the second part of the series.
In the last part, we implemented the Shared Database with Discriminator Column pattern usign Hibernate Filters. We observed that it will scale well, but the data isolation guarantee is troublesome due to shortcomings in the Hibernate Filter mechanism.
In this part, we will tweak the solution and redo the critical Filtering part using an advanced database mechanism: Row Level Security.
In part 2 I will discuss what happens when the test suite grows, look in depth at the Kafka Consumer, and offer one solution for how to reduce long execution times.
The source code for the example application can be found by following the link.
In the last part, we implemented the Schema-per-tenant pattern, and observed that it will scale better than the Database-per-tenant implementation. There will still most likely be an upper limit on the number of tenants it supports, caused by the Database Migrations that has to be applied to each tenant.
In this part, we will redo the solution and implement the Shared database with Discriminator Column pattern using Hibernate Filters and some AspectJ magic.
A successful continuous delivery (CD) pipeline requires a high level of automated testing. It is essential that tests are reliable to ensure that nothing unexpected slips into your production environment. Swift execution is also desirable to provide timely feedback to developers.
Testing asynchronous processes provide a different set of challenges from testing a synchronous request-response scenario. In this 2 part blog post I will investigate how to test an application that publishes events via Kafka. In part 1 I will demonstrate a method for getting started with integration testing and in part 2 I will look at how this can be made faster.
The scenario presented in these blog posts is inspired by a real-life case. The following link will take you to the source code for the example application.