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.
I’ve just returned from a 5 day course Linux/UNIX System Programming given by Michael Kerrisk. Following is the overview of the experience.
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.
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
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.
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.
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.
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.
How fast is an instant? In this post we’ll explore how the seemingly instant actions can have large latency differences when observed with more than just the eye.
The yocto project has a goal to standardize the way custom Linux distributions are built. I’ve heard rumors it can be used to build both Zephyr and cross compiled Docker images. This tutorial will cover the bare minimum steps for getting a bootable image for the Raspberry pi which can serve for future yocto exploration.
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.