Search 🔍

70 articles on many different topics!

Take me to a random article!

Tags: cli  linux  macosx  automation  amiga  retro-computing  windows  opinions  web-browsers  programming  emacs  editor  teaching  career  java  enterprise  kotlin  rust  books  gamecube  low-level  info  youtube  javascript  lisp  life-lessons  devops  gba  ansible  maven  objectivism  philosophy  scheme  prolog  dsl 

Debugging GameBoy Advance (GBA) programs/games in Emacs

Mon May 09 2022

There are not many articles on debugging GameBoy Advance C code around the web, and most of them seem to be about debugging in VSCode. While VSCode is good, it is far from the awesomness that is Emacs! Debugging GBA code with Emacs is far easier than you would think, and in this article I wills how you how.

Read more..

Creating container images with Ansible (using ansible-bender)

Thu Mar 17 2022

Did you know that you can use Ansible to make container images? It's actually a very readable way to create images compared to some Dockerfiles you find online (if you don't think so, you have probably never read one that is 100+ lines). In this article we will look at building images using ansible-bender, which makes for a good way to make images with Ansible with minimal fuzz.

Read more..

Introduction to Ansible

Thu Mar 10 2022

More automation! Ansible is a great tool to automate the configuration and handling of your computers. I have to admit I put off looking into Ansible for the longest time, simply because I underestimated how powerful it is! At the surface it seems like just another configuration management tool, but it is not just a way of running shell scripts like some may get you to believe. It comes with great tooling, and have great features that help you get going fast. In this article I will focus on the complete basics to get you started, and there will be features I won't cover here. Hopefully you will be aqainted with a few terms, and get some links that will help you explore these features further. Are you ready to learn the best automation tool for setting up computers?

Read more..

Why and how to use Github Actions

Tue Mar 01 2022

Automating repetitive tasks is great! My favorite tool these days for automating operations relating to code and development, is Github Actions. I even use it for this site! I have used Github Actions both for work and spare time for some time. Sadly the work stuff is proprietary (yes, organisations can be private on Github), so I have less examples to show here. Wonder why you should consider automating more? Or consider using Github Actions for your next project? Then continue reading!

Read more..

Bit tricks - Absolute value without branching

Mon Feb 14 2022

Bit trickery is always interesting! Sometimes you can use them to avoid branching (like if-checks), other times they are useful to save a few CPU cycles to avoid expensive operations. The absolute value trick I will show you here, is mostly to avoid branching. Why would you want to avoid branching? Many newer processors, from the mid 90s and onward, do something called pipelining to achieve a form of instruction level parallelism. While a classic processor fetch an instruction, decode it, then execute, a pipelined processor can fetch the next instruction while the previous one is decoded. You can have multiple operations like this almost in parallel. If we have to branch, like for an if-check, we might not have fetched the correct next instruction anymore, and might have to fetch new ones (for the whole pipeline). This can be an expensive operation. Calculating absolute values is a problem where we often have to have a branch (an if-check for smaller than 0).

Read more..

More sci-fi books you should read!

Sat Feb 12 2022

There is probably no secret that I love science fiction books and dream of the mysteries of space exploration. It's a nice way to fantasize about the future of technology, and to get your imagination going. Sometimes I get very inspired by these books, and it's also a great way to take a break from real life.

Read more..

Should you read Designing Data-Intensive Applications? - A short book review

Mon Jan 17 2022

You may have seen the book Designing Data-Intensive Applications mentioned several places, and wondered if you should read it. I have to admit I bought it years ago, and read parts of it (got side-tracked and researched graph databases further, and read something else). Last Christmas holiday I picked it up again, and this time I finished it. It covers many topics, ranging from how databases are designed, to how we can design good stream processing systems. Should you read it? Continue reading the review to find out!

Read more..

Often forgotten features in Kotlin

Sun Jan 16 2022

This time we will look at features in Kotlin that are often overlooked in walkthroughs or other places, but are still cool and can be useful! Some are features some of us might know of, but often forget exist. Others are features we forget exist until we see them mentioned, probably because we don't use them as often (or very rarely). Hopefully you will see at least one feature you have forgotten existed!

Read more..

5 reasons I LOVE Emacs

Mon Dec 20 2021

Maybe you have seen Emacs articles around the internet, and wondered "why do people love this editor so much?". I can't answer for everyone, but in this post I will give you some of my reasons. Emacs is almost a way of life for me, and I have it open and use it every day. To make this article short and sweet, I will limit it to 5 reasons. Maybe you will end up starting your Emacs journey?

Read more..

What's the big deal with Reactive?

Thu Dec 16 2021

Reactive is a buzzword thrown around a lot, but what is it really? At first glance, reactive doesn't seem to be anything special. Asynchronous stream processing seems nice, but is that all? Fortunately, the answer is no! Reactive also includes nonblocking IO, which makes resource utilization better. If you have never heard any of these terms before, it may just seem like a word-soup. Don't worry! We will explain the terms below, so you can understand the big whoop with reactive. Getting an overview of the concepts will be the main goal here, but I will provide links for further reading. Some oversimplification may happen, but I hope that it will help you understand concepts without being boggled in buzzwords and lots of pre-requisite knowledge.

Read more..