Getting md5sums from Google Drive

From time to time I pull out grind, and upload the latest and greatest of my private pictures. It is nothing fancy, and it is basicly unmaintained. But it works.

Some days ago, I got an request on email to help with collecting md5sums from every file in the Google ...

more ...

Improve Laggy SSH with Mosh

Mosh is a shell for mobile users. It carries a handful of features that make it great for users on the move:

  • auto reconnect after suspend/resume, network reconnect, etc
  • responsiveness on high delay networks
  • secure authentication
  • simple usage

Since I often travel by train when commuting to work, I ...

more ...

GoTTY - the Simple Serial Client

When doing embedded programming, a serial connection is often indispensable, and for this a serial client is needed.

My first experience with such a client was minicom, but I find this overly complicated and non-intuitive. (Which is expected from a program designed to control modems...)

Then I tried GtkTerm. But ...

more ...

Keyword Arguments in C++

I previously discussed the mixin technique for C++, where layers are used to construct types from reusable classes. As the stacks of layers grow in size, it becomes tedious to pass arguments to the different layers. At first, I used a big struct to hold each an every argument I ...

more ...

Mixin Layers with C++

I would like to highlight a technique in C++ called mixin layers and present a use case, where it is very useful.

Mixin layers is a template-based design, where the layers are used a building blocks to quickly construct applications with reusable code. My favourite example is a networking application ...

more ...

Receiving UDP Packets in Promiscuous Mode

One of my colleagues needed to sniff UDP packets from two other nodes in the wireless ad-hoc network, so I cooked a header file for him, along with a small usage example.

My first attempt used the obsolete AF_INET and SOCK_RAW protocol arguments to the socket call, but this didn ...

more ...

Getting the Gateway Link Layer Address Using RTNetlink

In my networking application I need to get the MAC address of the default gateway. One way to do this is parsing the relevant files in /proc/net, but this is not an elegant solution.

Instead, I use the network configuration interface to the linux kernel: rtnetlink. To get familiar ...

more ...

Yet Another Google Drive Client

I have chosen to put all my private pictures on Google Drive. Among other reasons (e.g. backup), I like to have pictures available on all my devices, which happens to be connected to the Google cloud, so Google Drive makes it easy for me.

Until half a year ago ...

more ...

Sending Traffic to Localhost over the Network

When testing new protocols on my test-bed routers, I often need to generate traffic through those routers. Since routers are meant to route, and not to generate traffic, I use my laptop to push traffic. To make it even more convenient, I like to receive the routed traffic on the ...

more ...

Multiple Network Interfaces and Default Routes

To test a multipath application that I am currently working on, I need to setup my laptop with two active network interfaces. As always, I cooked a script to do the work, which uses NetworkManager to read the needed information and iproute2 to setup the routing table(s):

multi_homed.sh ...
more ...