Skip to content
Domain Specific Language

Computer architecture for developers

An adaption of a talk I gave at work aimed at raising awareness of, and interest in, computer architecture. The intended audience has low to no knowledge of computer architecture, but hopefully anyone can enjoy it.

Array indexing is a footgun and ? is here to help you

A short look at why array indexing bugs happen, and ?uestioning why languages don't do more. I need you to use the nearest question mark.

New guide: Rust resources

Three years, eight months, and two days ago I started a local project on my computer called my-little-rust. I tried out some match statements, I Boxed a few things, and I haven't stopped since. It seems I'm a card carrying member of the Rust Evangelism Strike Force now.

Memories of computing; around 1994

In which I reminisce about the first PCs I came into contact with, as well as our own software — GKO — Gammalt Kinesiskt Ordspråk ("Old Chinese Proverb")

Easily manage a chain of commits and their respective Pull Requests using git

This blog post was originally posted as a Q&A style answer on Stack Overflow. I recently edited the answer on Stack Overflow, with a slightly improved method, so I felt like sharing it on my personal blog would be beneficial too.

(A Q&A style question on Stack Overflow is a question that you answer at the same time as you ask the question, kind of like writing a blog post but right on Stack Overflow instead, under the guise of a question)

An overview of the concepts in async / await in Rust

Async / await in Rust promises to simplify concurrent code, and to allow a large number of concurrent tasks to be scheduled at the same time — with less overhead than the same number of OS Threads would require.

In general, async / await lets you write code that avoids "callback hell", in favor of a linear style similar to blocking code while still letting other tasks progress during awaits.

Strings in Rust

During the last 20 years I have used a number of garbage collected and reference counted programming languages. All of them have a single type for representing strings. Rust has two types of strings that can be stored in three different ways.

I want to shortly illustrate how Rust's strings interact with the heap, with the stack, and with the data segment of your binary, as well as shortly explain what those things are.

Rust 2020

We have all been called upon by the rust community to share our thoughts on what we want from Rust in 2020.

Java 8 to 11: TLDR edition

It's been two years and two months since I last wrote a blog post - I promise to make it count!

Let's dump some tcp - Android packet sniffing

Let's hold hands while we take a dump together!

Authentication & authorization - what gives?

In which I discuss the basics of authentication, authorization, and OpenID Connect. Why?

TL;DR-time: XSS & XSRF (web attack vectors)

I'm going to explain Cross-site scripting (XSS) & Cross-site request forgery (XSRF/CSRF) to myself.

Necessary macOS system configuration

macOS doesn't pull its own weight, at least not in a standard configuration. There are a number of apps that need to be installed. Some of them are free, others are not.

macOS keyboard settings for Windows & Linux users

If you're like me, and you're coming from two decades of using Windows and Linux, you might want to keep using the keyboard shortcuts you're used to.

You might also be a programmer. In that case: even better.