FLOSS Progress

This post is an update of what’s happened since last I posted about my many pet projects. As usual nothing fancy. If you want to know more I suggest you find one on GitHub you’re interested in. File an issue, or better yet, post a pull request to scratch that itch you have deep down: 👉 https://github.com/troglobit

[Read More]

Odd Progress

A lot has happened since my last post; I got my bike stolen, found the guys who had stolen my bike, got mugged by the same guys, decided I’d had enough and then bought a house and moved to another city. That’s the long and short of it.

I’m OK, sort of.

[Read More]

Dark Themes Ahead

If we do nothing

Reminder to self: How to fix Firefox about:config when using a Dark Theme in Gnome or Awesome.

I use System76 amazing Gtk+ theme from Pop!_OS. It’s quite simple to set up on top of Ubuntu and use in Awesome:

    sudo add-apt-repository ppa:system76/pop
    sudo apt update
    sudo apt install pop-theme

I then use gnome-tweaks to select the Pop-dark-slim theme. Now, the problem is that certain text box inputs in Firefox is either completely dark or white and the text cannot be seen until you mark it. This isn’t specific to the Pop!_OS theme, Adwaita-dark is exactly as bad.

[Read More]


The Resurrection

Summer is almost upon us. The weather in Sweden has been amazing the last couple of weeks, sunny and warm. This has of course not prevented me from pursuing my favorite indoor activity; coding! This time around I’ve spent some time to resurrect the packet injection tool Nemesis.

[Read More]

Slow Down

Anyone who knows me knows I’m quite stubborn. Whenever I set my sights on something I finish it. The last couple of years I’ve been quite busy on GitHub, making at least one commit per day. I’ve had a lot of things I’ve wanted to do and complete, and this commit regimen has kept me on track to do just that. However, nothing comes for free, and although I’ve achieved my goals, I’ve also had to make a lot of sacrifices. [Read More]

Multicast routing with PIM-SM over GRE

GRE tunnels are useful in many ways. This blog post shows how to set up multicast routing with pimd over a GRE tunnel. To achieve this we will also set up OSPF over GRE with Quagga, because PIM, unlike DVMRP (mrouted), require unicast routing rules to be established.

       .----{ Intranet }----.
      /    \
     /                        \
.10 /                          \.20
.--'---. .1  GRE Tunnel  .2 .---`--.
|      |====================|      |
|  R1  |   |  R2  |
|      |                    |      |
'--.---'                    '------'
   | .1                        | .1 
   |            |
   | .2                        | .2 
.--'---.                    .--'---.
|      |                    |      |
|  C1  |                    |  C2  |
|      |                    |      |
'------'                    '------'

In this post we are using the home WiFi network,, to hook up the GRE tunnel. It is just as easy to extend this to a big corporate Intranet with more routers between R1 and R2. As long as that IT department takes care of the unicast routing between R1 and R2 so that the GRE tunnel can be established.

[Read More]

Useful UNIX API:s

Had an interesting conversation with a buddy last night. It started out as a shift-reduce problem with Bison and ended up a ping-pong of useful UNIX API:s. We concluded that despite having worked professionally with UNIX for over a decade, it is still very satisfying finding gems like these.

Most people are completely unaware they exist and end up rolling their own (buggy) implementations. For instance, string manipulation and various forms of linked lists. Which is why I many years ago extracted the frog DNA from Finit to a separate library called libite, or -lite for short. It imports the OpenBSD strlcpy() family of API:s, up-to-date queue.h with the _SAFE iterators, and more. Some people like libbsd for this, but I’ve found many of the ports incomplete and unsafe and prefer to stay closer to the upstream *BSD versions.

Update: This post was originally written Nov 14, 2015. It was a Saturday and I remember being extremely inspired when I wrote it. I’ve continued adding to it over the years, and still do. So, as of Jul 2, 2017 I’m bumping the modification date each time I add something new :-)

[Read More]