A short trip to OpenWRT

Coming from Linux on desktops/servers the OpenWRT environment is very similar. However, to not get confused, you must switch to the mental model in which you’re no longer the consuming endpoint of the network, but it’s enabling infrastructure.

Read More

Logging facilities in Linux

Logging in Linux got another component to take into account with the introduction of systemd. In this post, I’ll give an overview of the components involved in handling logs on an average modern Linux system.

Read More

SSH reverse tunneling

Want an easy way to SSH to a device behind a firewall but don’t want to set up a VPN? Welcome to the pragmatic man’s approach - Reverse SSH tunneling

Read More

Adventures in C (References)

We often ask if something is passed by value or passed by reference. Technically, nothing is ever passed by reference in C. Thinking in passing references is an abstraction and the ability to see through it helps us reason with the code once things start to get messy.

Read More

Portable workshop network with OpenWRT

When giving location independent workshops, you never know what kind of network setup you will encounter. Most venues will provide Internet access through Wifi, but what about hosting presentations on that network? MQTT brokers? File sharing? I don’t like to have the workshop’s outcome depend on the firewall policy of the venue, which is why I carry a setup with me that provides me with a peace of mind.

Read More

Kernel developent inside Qt Creator

I’ve always found myself missing a friendly environment for exploring the Linux kernel. One where I could quickly go to macro and find function usages without grepping through the entire code. I got motivated by this talk so I decided to try and out and polish it a bit.

Read More

The serial connection

Embedded devices don’t have monitors or keyboards for IO. Sometimes even SSH or Telnet aren’t available. Do not despair though, for there is light in the end of the tunnel in the form of the serial console.

Read More

Custom kernel module on the RPi

When writing kernel modules, I prefer to have as much help from the editor as possible. This translates to: auto-complete for everything and effortless switching to the dependency code.

Read More