Posts
-
How designing with accessibility in mind benefits your web app
Accessibility is a requirement for plenty of projects nowdays - especially ones developed for the public sector. But why implement accessibility only when asked, instead of starting designing and developing with accessibility in mind?
-
Lessons learned on observing complex systems
Today when running software solutions, you might want to get a bigger picture than one application and its log files. This blog article is some lessons learned and repeating patterns for building in observability from the very beginning. Especially targeted for DevOps and DevSecOps teams that both create and run that software.
-
How to stay sane with Robot Framework
Robot framework with Selenium offers a wide toolbox to work on with browser UI tests. With simple patterns and architechture, writing and maintaining UI tests is not a big deal as it used to be.
-
Two Years With React Native: Practical Experiences On Android Development
React Native has been around for more than five years now. Is it mature enough for building high quality software while keeping developers happy? Let's find out.
-
Creating your CI/CD-pipeline with Concourse
Choosing a CI/CD-system is very much the same thing as choosing a good server name. You probably have a long ride with your decision ahead. Concourse CI is one option.
-
Inverse Kinematics with Python
Inverse kinematics is a method for calculating how a limb should be positioned in order to touch some point. It's surprisingly simple!
-
Understand Your PostgreSQL Query Plans for Performance Gains
A real-life example of how to read PostgreSQL query plan (EXPLAIN ANALYZE) and act upon it for better performance and end-user experience
-
Taming Advanced Compilation bugs in ClojureScript projects
Closure Compiler's Advanced Compilation can sometimes produce quirky errors. It's better to avoid them by taking advanced optimizations into account from the beginning of the project. On rare occasions, some weirder errors might arise that you have to swiftly resolve.
-
Cheap software is very expensive
Tailored software can be done very quickly by cutting corners and doing things dirty - however that might not bring you the happiness you seek.
-
Coding with kids
Sharing my experience about teaching my kids to code
-
Introduction to Spring WebFlux
Spring Framework 5.0 introduced a new reactive web stack Spring WebFlux in addition to Spring MVC. In this post I'll give a brief introduction to Spring WebFlux and talk about how to choose between the two stacks.
-
Rethinking the frontend
Combining the old and the new for a simple approach to modern web frontends
-
Mastering AWS Kinesis Data Streams, Part 1
I have been working with AWS Kinesis Data Streams for several years now, dealing with over 0.5TB of streaming data per day. Rather than telling you about all the reasons why you should use Kinesis Data Streams (plenty is written on that subject), I'll talk about the things you should know when working with the service. At least it would have saved me some gray hair if I knew those beforehand. So if you are still reading, let's dive in!
-
ClojureScript web server with Macchiato, Shadow CLJS and Reitit
ClojureScript is a valid alternative for backend development besides browser development. In this post I will explain how to create a simple server using Shadow CLJS as a compilation tool, Macchiato as the server software and Reitit as a Ring router.
-
6 Easy Steps to Boost the Creation of Technical Debt in your Organization
You might have noticed that for a while now technical debt has been on the lips of everyone. Do you believe that your organization is lacking technical debt? Are your competitors shadowing over you with their mountains of technical debt? Have you been searching for a quick fix to ramp up your technical debt creation? If the answer is yes, look no further!
-
Semi-Automatic Mobile App Versioning in Xamarin.Forms
Implementing a reasonable versioning scheme in a cross-platform Xamarin.Forms project with just the bare minimum of manual labor
-
How to implement a secure software development lifecycle
Sharing my experience and thoughts about implementing a secure software development lifecycle
-
Trying out Julia programming language
Julia is a programming language with it's roots in the mathematics. The language itself is increasingly gaining momentum and that combined with the boom were seeing in the data science demand makes it a very interesting subject. This post is about my journey starting from zero knowledge to, well, some knowledge of the language. So if you, like me, are interested in trying out Julia language keep on reading. If you are already familiar with the subject you can safely skip this one.
-
Simulating a pandemic with Elixir
Wash your hands! Just how many deaths can you prevent with this simple trick? Take a look with this Elixir-based pandemic simulator.
-
Staying un-pwned with HTTP Security Headers
Your fancy front-end framework won't print unescaped HTML. But what if it does after the next update? To protect your app, you need security layers. Like an onion, each layer means more tears for the attacker. HTTP security headers form one of these layers. Here are the essential security headers for every non-trivial site.