<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Joachim Wiberg</title>
    <link>https://troglobit.com/posts/</link>
    <description>Recent content in Posts on Joachim Wiberg</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 20 Jul 2026 08:15:33 +0000</lastBuildDate>
    <atom:link href="https://troglobit.com/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Sane Defaults for rxvt</title>
      <link>https://troglobit.com/post/2026-07-20-sane-defaults-for-rxvt/</link>
      <pubDate>Mon, 20 Jul 2026 08:15:33 +0000</pubDate>
      <guid>https://troglobit.com/post/2026-07-20-sane-defaults-for-rxvt/</guid>
      <description>&lt;figure class=&#34;right-floated&#34;&gt;&lt;img src=&#34;https://troglobit.com/images/rxvt-card.png&#34;&#xA;         alt=&#34;rxvt with two tabs, the active one running Midnight Commander, in the Tango palette&#34; width=&#34;512&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;&lt;em&gt;Mockup of rxvt new look, running Midnight Commander.&lt;/em&gt;&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;I want to test the editors I maintain, &lt;a href=&#34;https://github.com/troglobit/kg&#34; target=&#34;_blank&#34;&gt;kg&lt;/a&gt; and &lt;a href=&#34;https://github.com/troglobit/mg&#34; target=&#34;_blank&#34;&gt;mg&lt;/a&gt;, on as many&#xA;terminals as possible, and after bouncing between xterm, GNOME Terminal,&#xA;&lt;a href=&#34;https://sw.kovidgoyal.net/kitty/&#34; target=&#34;_blank&#34;&gt;kitty&lt;/a&gt;, &lt;a href=&#34;https://alacritty.org&#34; target=&#34;_blank&#34;&gt;Alacritty&lt;/a&gt; and Terminator over the years, &lt;code&gt;rxvt&lt;/code&gt; is the&#xA;one I keep coming back to &amp;ndash; mostly for how far it bends to a plain&#xA;config file.  So here&amp;rsquo;s how I set it up with a few sane defaults, or at&#xA;least how far I got &amp;hellip;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The following writeup is part of my series; &lt;em&gt;Reminders to self&lt;/em&gt;.&#xA;Please let me know if there&amp;rsquo;s anything you&amp;rsquo;d like me to delve&#xA;further into.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Can You Dig It?</title>
      <link>https://troglobit.com/post/2026-07-12-can-you-dig-it/</link>
      <pubDate>Sun, 12 Jul 2026 20:30:00 +0200</pubDate>
      <guid>https://troglobit.com/post/2026-07-12-can-you-dig-it/</guid>
      <description>&lt;figure class=&#34;right-floated&#34;&gt;&lt;a href=&#34;https://git.troglobit.com&#34;&gt;&lt;img src=&#34;https://troglobit.com/images/digit-card.png&#34;&#xA;         alt=&#34;Digit repo overview&#34; width=&#34;512&#34;/&gt;&lt;/a&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Like many of you I keep mirrors of my projects on a small VPS —&#xA;partly as insurance, GitHub is lovely until it isn&amp;rsquo;t, and partly&#xA;because I like having my own corner of the web.  For years &lt;a href=&#34;https://git-scm.com/docs/gitweb&#34; target=&#34;_blank&#34;&gt;gitweb&lt;/a&gt;&#xA;did the honors, showing its age but doing the job.  When I went&#xA;looking for something nicer I found &lt;a href=&#34;https://github.com/icyphox/legit&#34; target=&#34;_blank&#34;&gt;legit&lt;/a&gt;, which looks great —&#xA;but on my single-core droplet it &lt;em&gt;pegged the CPU&lt;/em&gt; just rendering a&#xA;repo page.  Add the AI scraper herds that graze on every public git&#xA;frontend these days, and the poor machine never had a quiet moment.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Long Time, No Blog</title>
      <link>https://troglobit.com/post/2026-05-26-long-time-no-blog/</link>
      <pubDate>Tue, 26 May 2026 22:00:00 +0200</pubDate>
      <guid>https://troglobit.com/post/2026-05-26-long-time-no-blog/</guid>
      <description>&lt;figure class=&#34;right-floated&#34;&gt;&lt;a href=&#34;https://github.com/troglobit/kg&#34;&gt;&lt;img src=&#34;https://troglobit.com/images/kg-1.1.png&#34;&#xA;         alt=&#34;kg welcome screen&#34; width=&#34;360&#34;/&gt;&lt;/a&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Well, this has been quiet for a while.  Not because I stopped tinkering&#xA;— quite the opposite.  Almost all of my time these days goes into &lt;a href=&#34;https://github.com/kernelkit/infix&#34; target=&#34;_blank&#34;&gt;Infix&#xA;OS&lt;/a&gt;, a Linux-based network operating system by &lt;a href=&#34;https://wires.se/infix&#34; target=&#34;_blank&#34;&gt;Wires&lt;/a&gt;.  The OS is&#xA;maintained under an independent organization, KernelKit, where I blog a&#xA;lot — so check out the &lt;a href=&#34;https://www.kernelkit.org/&#34; target=&#34;_blank&#34;&gt;KernelKit blog&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>U-Boot Bring-up Tricks</title>
      <link>https://troglobit.com/post/2025-05-05-u-boot-bring-up-tricks/</link>
      <pubDate>Mon, 05 May 2025 13:57:00 +0000</pubDate>
      <guid>https://troglobit.com/post/2025-05-05-u-boot-bring-up-tricks/</guid>
      <description>In my Reminder to Self series, this week we turn to some tricks I learned while porting U-Boot to a new board. First, a few tools:&#xA;vbindiff: Linux tool to examine, e.g., flash.bin binwalk: Linux tool to examine an unknown binary file bdinfo: U-Boot command to list board info When poking through such binaries, the FDT (flattened device tree) header magic to look for is 0xd00dfeed.&#xA;Huge props to wkz for all the help and sparring, cheers!</description>
    </item>
    <item>
      <title>Testing Network Daemons</title>
      <link>https://troglobit.com/post/2025-01-05-testing-network-daemons/</link>
      <pubDate>Sun, 05 Jan 2025 13:57:00 +0000</pubDate>
      <guid>https://troglobit.com/post/2025-01-05-testing-network-daemons/</guid>
      <description>&lt;p&gt;As a maintainer of many Open Source projects where networking is key, a&#xA;side quest has emerged &amp;ndash; how to test network applications without root?&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The following writeup is part of my series; &lt;em&gt;Reminders to self&lt;/em&gt;.&#xA;Please let me know if there&amp;rsquo;s anything you&amp;rsquo;d like me to delve&#xA;further into.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Buildroot Development Environment</title>
      <link>https://troglobit.com/post/2024-08-07-buildroot-development-environment/</link>
      <pubDate>Wed, 07 Aug 2024 07:06:19 +0100</pubDate>
      <guid>https://troglobit.com/post/2024-08-07-buildroot-development-environment/</guid>
      <description>Here are a few Buildroot tricks I use to develop and test my packages. This post will likely evolve over the years to come.&#xA;For the basics, please see my post Buildroot Development Checklist. It covers how to use the check-package and test-pkg tools shipped with Buildroot.&#xA;Tip: if stuck, always check the Buildroot documentation!&#xA;introduction I often need to rebuild from scratch to verify fundamental changes to the structure of my embedded systems.</description>
    </item>
    <item>
      <title>Building Emacs with JIT</title>
      <link>https://troglobit.com/post/2024-03-03-building-emacs-with-jit/</link>
      <pubDate>Sun, 03 Mar 2024 13:19:28 +0000</pubDate>
      <guid>https://troglobit.com/post/2024-03-03-building-emacs-with-jit/</guid>
      <description>Very brief intro to building GNU Emacs from GIT, with GCC JIT enabled to greatly speed up our favorite editor, GNU Emacs!&#xA;Perquisites You need a lot of development packages installed to check out and build Emacs. How to install these are outside the scope of this blog post. The output of the configure script and some intuition is usually sufficient. On Debian, Ubuntu, or Linux Mint, systems at least the following is needed:</description>
    </item>
    <item>
      <title>Migrating from Terminator to Kitty</title>
      <link>https://troglobit.com/post/2024-01-28-migrating-from-terminator-to-kitty/</link>
      <pubDate>Sun, 28 Jan 2024 22:10:00 +0000</pubDate>
      <guid>https://troglobit.com/post/2024-01-28-migrating-from-terminator-to-kitty/</guid>
      <description>Daniel Lipovetsky&amp;rsquo;s Typometer results.&#xA;Ever since I first learned about Terminator I&amp;rsquo;ve been a huge fan! It&amp;rsquo;s a great replacement for the standard Gnome terminal with its built-in support for horizontal and vertical splits.&#xA;It&amp;rsquo;s not a race car though &amp;hellip; like Gnome terminal it&amp;rsquo;s built around libvte. So on a bad day of clashing with Ubuntu, GDM, systemd and the new handling of capabilities, two of my colleagues went all-in on Alacritty and now swear by it!</description>
    </item>
    <item>
      <title>Finit custom connectivity check</title>
      <link>https://troglobit.com/post/2023-01-15-finit-custom-connectivity-check/</link>
      <pubDate>Sun, 15 Jan 2023 18:42:00 +0000</pubDate>
      <guid>https://troglobit.com/post/2023-01-15-finit-custom-connectivity-check/</guid>
      <description>&lt;p&gt;This post shows how you can extend Finit with your own conditions.  The&#xA;example we will use is a simple Internet connectivity checker.  When it&#xA;triggers we start BusyBox ntpd which, if started with any other type of&#xA;condition (none, default route, etc.) may get stuck trying to resolve&#xA;&lt;code&gt;pool.ntp.org&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Buildroot demo of FastInit (Finit)</title>
      <link>https://troglobit.com/post/2022-12-26-buildroot-demo-of-fastinit-finit/</link>
      <pubDate>Mon, 26 Dec 2022 21:21:21 +0000</pubDate>
      <guid>https://troglobit.com/post/2022-12-26-buildroot-demo-of-fastinit-finit/</guid>
      <description>&lt;p&gt;I believe there is a &lt;strong&gt;gap in the market&lt;/strong&gt; between BusyBox init and&#xA;systemd.  In particular in the embedded space.  This blog post shows how&#xA;easily it is to get up and running quickly with FastInit (&lt;a href=&#34;https://github.com/troglobit/finit#introduction&#34; target=&#34;_blank&#34;&gt;Finit&lt;/a&gt;)!&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m a really bad salesman, and an even worse writer, so instead of&#xA;trying to convince you with my poor English, I&amp;rsquo;ve made a demo.  It is a&#xA;&lt;a href=&#34;https://nightly.buildroot.org/#outside-br-custom&#34; target=&#34;_blank&#34;&gt;Buildroot external&lt;/a&gt;&#xA;that can be used to add Finit to your own projects.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;For details, look here: &lt;a href=&#34;https://github.com/troglobit/br2-finit-demo&#34; target=&#34;_blank&#34;&gt;https://github.com/troglobit/br2-finit-demo&lt;/a&gt;,&#xA;try out the &lt;a href=&#34;https://github.com/troglobit/br2-finit-demo/releases/tag/latest&#34; target=&#34;_blank&#34;&gt;latest build&lt;/a&gt; in &lt;a href=&#34;https://www.qemu.org&#34; target=&#34;_blank&#34;&gt;Qemu&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;figure class=&#34;center&#34;&gt;&lt;img src=&#34;https://troglobit.com/images/finit-demo/bootstrap.png&#34;&#xA;         alt=&#34;Finit bootstrap&#34; width=&#34;600&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;Finit bootstrap&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;</description>
    </item>
    <item>
      <title>Remap Prev/Next on ThinkPad</title>
      <link>https://troglobit.com/post/2022-10-01-remap-prev/next-on-thinkpad/</link>
      <pubDate>Sat, 01 Oct 2022 15:44:00 +0000</pubDate>
      <guid>https://troglobit.com/post/2022-10-01-remap-prev/next-on-thinkpad/</guid>
      <description>I still use my awesome little ThinkPad X200, in fact I now have more of them and even a few X201&amp;rsquo;s. They are truly the best machines I&amp;rsquo;ve ever used! :-)&#xA;One annoying thing though, when going back to these traditional ThinkPad keyboards is the prev/next keys next to the arrow keys. On modern ones they are PgUp/PgDn and I recently learned how to elegantly remap them in X. Note the difference, below, to the original at ThinkWiki.</description>
    </item>
    <item>
      <title>Logging to remote syslog servers</title>
      <link>https://troglobit.com/post/2022-09-09-logging-to-remote-syslog-servers/</link>
      <pubDate>Fri, 09 Sep 2022 19:36:44 +0100</pubDate>
      <guid>https://troglobit.com/post/2022-09-09-logging-to-remote-syslog-servers/</guid>
      <description>The logger(1) tool in your system, /usr/bin/logger, standardized in IEEE Std 1003.2 (&amp;ldquo;POSIX.2&amp;rdquo;), has many different implementations. For Linux users the most common one is part of the util-linux package.&#xA;I&amp;rsquo;ve always considered this one of those weird Linux:isms. The logger tool is closely tied to the system log daemon, so in the sysklogd project we ship our own implementation of logger. Our implementation is derived from the Finit project&amp;rsquo;s logit tool.</description>
    </item>
    <item>
      <title>Your Own Operating System</title>
      <link>https://troglobit.com/post/2022-04-17-your-own-operating-system/</link>
      <pubDate>Sun, 17 Apr 2022 16:56:00 +0100</pubDate>
      <guid>https://troglobit.com/post/2022-04-17-your-own-operating-system/</guid>
      <description>This post shows how you can create your own operating system based on Buildroot. Add your own packages, patches, and your very own flavor to the experience.&#xA;My own take on this is myLinux, which started out as a TroglOS, and before that as miniroot, by Henrik Nordström. Please feel free to dig around myLinux for more inspiration and tips on how to solve common use-cases.&#xA;The manual, section 9, describes the basic process of setting up a our customizations as a BR2_EXTERNAL tree.</description>
    </item>
    <item>
      <title>Linux Kernel Development Checklist</title>
      <link>https://troglobit.com/post/2022-04-11-linux-kernel-development-checklist/</link>
      <pubDate>Mon, 11 Apr 2022 17:19:00 +0200</pubDate>
      <guid>https://troglobit.com/post/2022-04-11-linux-kernel-development-checklist/</guid>
      <description>&lt;p&gt;Because I always tend to forget steps, and haven&amp;rsquo;t half replaced myself&#xA;with a shell script (yet), here&amp;rsquo;s a reminder to myself on how to post a&#xA;patch to the &lt;a href=&#34;https://lore.kernel.org/netdev/&#34; target=&#34;_blank&#34;&gt;Linux netdev&lt;/a&gt; mailing&#xA;list.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Finit in Linux Containers (LXC)</title>
      <link>https://troglobit.com/post/2022-02-13-finit-in-linux-containers-lxc/</link>
      <pubDate>Sun, 13 Feb 2022 17:55:44 +0200</pubDate>
      <guid>https://troglobit.com/post/2022-02-13-finit-in-linux-containers-lxc/</guid>
      <description>&lt;p&gt;This is a mini-HowTo on running Finit in an LXC system container.  We&#xA;will be using a variant (external) of Buildroot, called &lt;a href=&#34;https://github.com/westermo/netbox&#34; target=&#34;_blank&#34;&gt;NetBox&lt;/a&gt; to&#xA;create a squashfs (read-only) image for the root filesystem.  Then we&#xA;will give the container a single writable directory from which it then&#xA;uses bind mount to emulate a full-blown system.&lt;/p&gt;&#xA;&lt;p&gt;It is expected you have LXC installed and all the relevant build tools&#xA;needed to create the image.  How to set that up is not covered by this&#xA;tutorial.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Gmail and git send-email</title>
      <link>https://troglobit.com/post/2022-01-24-gmail-and-git-send-email/</link>
      <pubDate>Mon, 24 Jan 2022 19:37:44 +0200</pubDate>
      <guid>https://troglobit.com/post/2022-01-24-gmail-and-git-send-email/</guid>
      <description>&lt;p&gt;As a follow-up to my previous Buildroot mailing-list post about the&#xA;&lt;code&gt;git format-patch&lt;/code&gt; and &lt;code&gt;git send-email&lt;/code&gt; commands, this post covers how&#xA;to set up the latter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Finit v4.2 Released!</title>
      <link>https://troglobit.com/post/2022-01-16-finit-v4.2-released/</link>
      <pubDate>Sun, 16 Jan 2022 15:30:23 +0100</pubDate>
      <guid>https://troglobit.com/post/2022-01-16-finit-v4.2-released/</guid>
      <description>&lt;figure class=&#34;right-floated&#34;&gt;&lt;a href=&#34;https://troglobit.com/finit.html&#34;&gt;&lt;img src=&#34;https://troglobit.com/images/finit3.png&#34;&#xA;         alt=&#34;finit logo&#34;/&gt;&lt;/a&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;I&amp;rsquo;m very pleased to announce &lt;a href=&#34;https://github.com/troglobit/finit/releases/tag/4.2&#34; target=&#34;_blank&#34;&gt;Finit v4.2&lt;/a&gt;!  It comes seven months&#xA;after the last release, v4.1, with a bunch of fixes and some new&#xA;features.  See the release notes for details.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dependency handling in Finit</title>
      <link>https://troglobit.com/post/2021-05-01-dependency-handling-in-finit/</link>
      <pubDate>Sat, 01 May 2021 08:43:06 +0100</pubDate>
      <guid>https://troglobit.com/post/2021-05-01-dependency-handling-in-finit/</guid>
      <description>&lt;figure class=&#34;right-floated&#34;&gt;&lt;a href=&#34;https://troglobit.com/finit.html&#34;&gt;&lt;img src=&#34;https://troglobit.com/images/finit3.png&#34;&#xA;         alt=&#34;finit logo&#34;/&gt;&lt;/a&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;This is a blog post about Finit.  Each post is concluded with a video&#xA;summarizing the topic.  The impatient reader can scroll down to the&#xA;&lt;a href=&#34;#video&#34;&gt;video&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Most non-trivial systems require dependency tracking between services.&#xA;Not only does it help ensure correct operation, it is also an enabler&#xA;for starting services in parallel.  Less known, but just as important,&#xA;is handling dependencies at system reconfiguration.&lt;/p&gt;</description>
    </item>
    <item>
      <title>It&#39;s Here! ♥</title>
      <link>https://troglobit.com/post/2021-04-27-its-here/</link>
      <pubDate>Tue, 27 Apr 2021 20:18:06 +0100</pubDate>
      <guid>https://troglobit.com/post/2021-04-27-its-here/</guid>
      <description>&lt;figure class=&#34;right-floated&#34;&gt;&lt;a href=&#34;https://github.com/troglobit/finit/releases/latest&#34;&gt;&lt;img src=&#34;https://troglobit.com/images/finit3.png&#34;&#xA;         alt=&#34;finit logo&#34;/&gt;&lt;/a&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;Finit v4 was finally released the other day! \o/&lt;/p&gt;&#xA;&lt;p&gt;It represents the culmination of many years of hard work and careful&#xA;thought put in by many people.  There&amp;rsquo;s so much to tell, hardly know&#xA;where to begin &amp;hellip; the plan anyway is to use this blog for a series of&#xA;posts detailing different aspects and important features.&lt;/p&gt;&#xA;&lt;p&gt;The impatient reader can either scroll down to the &lt;strong&gt;video&lt;/strong&gt; below, or&#xA;move on to the project home page: &lt;a href=&#34;https://troglobit.com/finit.html&#34; target=&#34;_blank&#34;&gt;https://troglobit.com/finit.html&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Alpine Linux with Finit</title>
      <link>https://troglobit.com/post/2021-02-12-alpine-linux-with-finit/</link>
      <pubDate>Fri, 12 Feb 2021 07:24:06 +0100</pubDate>
      <guid>https://troglobit.com/post/2021-02-12-alpine-linux-with-finit/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://alpinelinux.org/&#34; target=&#34;_blank&#34;&gt;Alpine Linux&lt;/a&gt; is an amazing little operating&#xA;system.  It&amp;rsquo;s small, boots quick, and easy to use.  The size alone makes&#xA;it very attractive to container builders.&lt;/p&gt;&#xA;&lt;figure class=&#34;center&#34;&gt;&lt;img src=&#34;https://troglobit.com/images/finit4-screenshot.png&#34;&#xA;         alt=&#34;Alpine Linux started with Finit&#34;/&gt;&lt;figcaption&gt;&#xA;            &lt;p&gt;Alpine Linux started with Finit&lt;/p&gt;&#xA;        &lt;/figcaption&gt;&#xA;&lt;/figure&gt;&#xA;&lt;p&gt;This blog post details how to set Alpine up with the Finit init system,&#xA;replacing the default OpenRC.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Buildroot Development Checklist</title>
      <link>https://troglobit.com/post/2021-01-24-buildroot-development-checklist/</link>
      <pubDate>Sun, 24 Jan 2021 13:26:00 +0100</pubDate>
      <guid>https://troglobit.com/post/2021-01-24-buildroot-development-checklist/</guid>
      <description>&lt;p&gt;Because I always forget, here&amp;rsquo;s a reminder to myself on how to use &lt;code&gt;git format-patch&lt;/code&gt; and &lt;code&gt;git send-email&lt;/code&gt; from the command line.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The following process applies to many other mailing-list based&#xA;projects as well, with local differences in helper scripts.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Emacs: GMail and Lore Mailing Lists</title>
      <link>https://troglobit.com/post/2021-01-13-emacs-gmail-and-lore-mailing-lists/</link>
      <pubDate>Wed, 13 Jan 2021 09:29:00 +0100</pubDate>
      <guid>https://troglobit.com/post/2021-01-13-emacs-gmail-and-lore-mailing-lists/</guid>
      <description>With lots of help from the tireless Tobias Waldekranz, I think I&amp;rsquo;ve finally found the perfect &amp;ldquo;magit like&amp;rdquo; email setup. With Emacs, of course. This is the story of how I did it.&#xA;First install notmuch, mbsync (from the isync package), and afew:&#xA;sudo apt install notmuch isync afew Do initial setup of notmuch for your user. I&amp;rsquo;ve opted to store my mail in ~/mail, this is used throughout the text below, ymmv.</description>
    </item>
    <item>
      <title>Backtrace in C</title>
      <link>https://troglobit.com/post/2020-11-15-backtrace-in-c/</link>
      <pubDate>Sun, 15 Nov 2020 17:25:00 +0100</pubDate>
      <guid>https://troglobit.com/post/2020-11-15-backtrace-in-c/</guid>
      <description>&lt;p&gt;Reminder to self: remember &lt;code&gt;CFLAGS=-g -Og -rdynamic&lt;/code&gt; to allow&#xA;&lt;code&gt;backtrace_symbols()&lt;/code&gt; to actually pretty print function names&#xA;in stack traces.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Weird Screen Artifacts on X200</title>
      <link>https://troglobit.com/post/2020-08-23-weird-screen-artifacts-on-x200/</link>
      <pubDate>Sun, 23 Aug 2020 14:02:00 +0000</pubDate>
      <guid>https://troglobit.com/post/2020-08-23-weird-screen-artifacts-on-x200/</guid>
      <description>I blogged earlier about the awesome little ThinkPad X200 I found and its blinking WiFi LED. Briefly I mentioned an odd issue with X/Wayland on LMDE 4. This turned out to be a HW bug that can only be worked around by disabling hardware acceleration for virtualization:&#xA;https://forums.lenovo.com/t5/Windows-8-1-8-7-Vista-and-XP-Discussions/Bizarre-screen-artifacts-on-R400-Integrated-Graphics-running-Win-7-RTM/m-p/153980?page=1#199768&#xA;The post says it should be sufficient to &amp;ldquo;Disable Virtualization Technology for Directed-IO (VT-d)&amp;rdquo;, but that didn&amp;rsquo;t work for me, and I wanted to keep the 8 GiB of RAM I managed to fit into it.</description>
    </item>
    <item>
      <title>Wireguard and DNS Timeout</title>
      <link>https://troglobit.com/post/2020-07-17-wireguard-and-dns-timeout/</link>
      <pubDate>Fri, 17 Jul 2020 11:04:09 +0200</pubDate>
      <guid>https://troglobit.com/post/2020-07-17-wireguard-and-dns-timeout/</guid>
      <description>&lt;p&gt;For a while now my Wireguard VPN provider has been handing out a bad DNS&#xA;server.  So whenever I do a DNS lookup it takes five (5!) seconds timing&#xA;out, which is quite annoying.&lt;/p&gt;&#xA;&lt;p&gt;This blog post is about how you can fix this with &lt;code&gt;openresolv&lt;/code&gt; in Ubuntu.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Open Source Releases</title>
      <link>https://troglobit.com/post/2020-06-09-open-source-releases/</link>
      <pubDate>Tue, 09 Jun 2020 22:48:52 +0200</pubDate>
      <guid>https://troglobit.com/post/2020-06-09-open-source-releases/</guid>
      <description>&lt;p&gt;The last couple of months have been crazy.  The downturn in the economy&#xA;due to Covid-19, mass layoffs, social distancing and quarantine.  Not&#xA;to mention the unrest in US and Europe in the wake of George Floyd&amp;rsquo;s&#xA;uneccessary death.&lt;/p&gt;</description>
    </item>
    <item>
      <title>sudo tricks</title>
      <link>https://troglobit.com/post/2020-06-07-sudo-tricks/</link>
      <pubDate>Sun, 07 Jun 2020 12:25:52 +0200</pubDate>
      <guid>https://troglobit.com/post/2020-06-07-sudo-tricks/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;My name is Joachim and I&amp;rsquo;m a &lt;code&gt;sudo su -&lt;/code&gt; user.&amp;rdquo;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Before you read any further, please read &lt;a href=&#34;https://troglobit.com/2016/12/11/a-life-without-sudo/&#34;&gt;A life without sudo&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fix blinking WiFi LED on X200</title>
      <link>https://troglobit.com/post/2020-03-28-fix-blinking-wifi-led-on-x200/</link>
      <pubDate>Sat, 28 Mar 2020 14:16:00 +0000</pubDate>
      <guid>https://troglobit.com/post/2020-03-28-fix-blinking-wifi-led-on-x200/</guid>
      <description>&lt;p&gt;Recently got my hands on a ThinkPad X200, the last model without the&#xA;useless touchpad and with the awesome classic keyboard.  A fine little&#xA;machine that can easily be upgraded with an SSD disk and 8 GiB RAM!&lt;/p&gt;&#xA;&lt;p&gt;I set it up with &lt;a href=&#34;https://www.linuxmint.com/download_lmde.php&#34; target=&#34;_blank&#34;&gt;Linx Mint (LMDE 4)&lt;/a&gt;, which worked great to begin&#xA;with, but there was some odd issue with X/Wayland that sometimes caused&#xA;the screen (only the screen) to freeze up and show random color patterns.&#xA;Only way to workaround it was to suspend, wait, and resume again.  So&#xA;now I&amp;rsquo;m running Ubuntu 20.04 on it and everything seems to work a lot&#xA;better, this far.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HowTo: Install pre-built packages</title>
      <link>https://troglobit.com/post/2020-02-23-howto-install-pre-built-packages/</link>
      <pubDate>Sun, 23 Feb 2020 19:16:45 +0100</pubDate>
      <guid>https://troglobit.com/post/2020-02-23-howto-install-pre-built-packages/</guid>
      <description>&lt;p&gt;Every now and then people ask me for pre-built packages of software I&#xA;maintain.  Up until today I&amp;rsquo;ve had to refer them to the cold hard build&#xA;instructions for each of my programs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing file sharing in Debian/Ubuntu/Mint</title>
      <link>https://troglobit.com/post/2020-02-16-fixing-file-sharing-in-debian/ubuntu/mint/</link>
      <pubDate>Sun, 16 Feb 2020 21:06:59 +0100</pubDate>
      <guid>https://troglobit.com/post/2020-02-16-fixing-file-sharing-in-debian/ubuntu/mint/</guid>
      <description>&lt;p&gt;Mounting my ReadyNAS from Nautilus stopped working after upgrading to&#xA;Ubuntu 20.04.  Turns out there was a change in behavior in Sambva v4.11&#xA;that disabled SMB1 protocol by default.  It&amp;rsquo;ll be interesting to see how&#xA;this pans out in the rest of the Linux community &amp;hellip; fortunately there&amp;rsquo;s&#xA;a workaround!&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; same on Debian 11 (&lt;em&gt;bullseye&lt;/em&gt;) and Linux Mint 20 (&lt;em&gt;Ulyana&lt;/em&gt;)&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>BSD syslogd in Linux</title>
      <link>https://troglobit.com/post/2019-11-03-bsd-syslogd-in-linux/</link>
      <pubDate>Sun, 03 Nov 2019 23:04:00 +0100</pubDate>
      <guid>https://troglobit.com/post/2019-11-03-bsd-syslogd-in-linux/</guid>
      <description>&lt;p&gt;Some time ago now I was in a meeting with a customer where I first learned of&#xA;the new syslog standard, &lt;a href=&#34;https://tools.ietf.org/html/rfc5424&#34; target=&#34;_blank&#34;&gt;RFC5424&lt;/a&gt;.  I say &amp;ldquo;new&amp;rdquo; because, despite it being&#xA;ten years old, it was new to me.&lt;/p&gt;&#xA;&lt;p&gt;Three weeks ago I started updating my fork of &lt;a href=&#34;https://www.infodrom.org/projects/sysklogd/&#34; target=&#34;_blank&#34;&gt;sysklogd&lt;/a&gt; to be &lt;a href=&#34;https://tools.ietf.org/html/rfc5424&#34; target=&#34;_blank&#34;&gt;RFC5424&lt;/a&gt;&#xA;compliant.  I ended up ripping out most of the old code and replacing it with&#xA;fresh DNA strands from FreeBSD and NetBSD.&lt;/p&gt;&#xA;&lt;p&gt;The result is a fully RFC compliant &lt;code&gt;syslogd&lt;/code&gt;, &lt;strong&gt;and&lt;/strong&gt; a &lt;code&gt;libsyslog&lt;/code&gt; with a&#xA;replacement &lt;code&gt;syslog.h&lt;/code&gt; header for sending RFC5424 events from applications!&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/troglobit/sysklogd/&#34; target=&#34;_blank&#34;&gt;https://github.com/troglobit/sysklogd/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Controlling Display Brightness</title>
      <link>https://troglobit.com/post/2019-07-18-controlling-display-brightness/</link>
      <pubDate>Thu, 18 Jul 2019 15:13:53 +0200</pubDate>
      <guid>https://troglobit.com/post/2019-07-18-controlling-display-brightness/</guid>
      <description>About a year ago I wrote about a way to control the brightness on my x250. I found a lot of tools, and at the time I saw a lot of potential in light, which I even contributed to a lot.&#xA;However, I ended up not using the evolved versions myself, and it took me a while to digest why. I think the project just outgrew me and what I wanted in such a tool.</description>
    </item>
    <item>
      <title>XScreenSaver Fonts</title>
      <link>https://troglobit.com/post/2019-07-07-xscreensaver-fonts/</link>
      <pubDate>Sun, 07 Jul 2019 14:27:58 +0200</pubDate>
      <guid>https://troglobit.com/post/2019-07-07-xscreensaver-fonts/</guid>
      <description>&lt;p&gt;I run Awesome on Ubuntu 19.04 with XScreenSaver.  This post is a brief&#xA;writeup of what I did to fix the ugly default fonts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Minor Miracles</title>
      <link>https://troglobit.com/post/2019-06-26-minor-miracles/</link>
      <pubDate>Wed, 26 Jun 2019 19:07:29 +0200</pubDate>
      <guid>https://troglobit.com/post/2019-06-26-minor-miracles/</guid>
      <description>The last six months at work have been really stressful, so to finally get a week off for Swedish Midsummer celebrations was really what the doctor ordered! I&amp;rsquo;ve managed to wind down and relax, spend time with my kids and my family, and even put in some time on my personal software projects!&#xA;Three years ago I forked thttpd and began merging patches I&amp;rsquo;d found scattered around the net. I&amp;rsquo;ve also added a few features of my own, and to avoid any confusion with the original (bug free!</description>
    </item>
    <item>
      <title>FLOSS Progress</title>
      <link>https://troglobit.com/post/2019-03-13-floss-progress/</link>
      <pubDate>Wed, 13 Mar 2019 00:11:32 +0100</pubDate>
      <guid>https://troglobit.com/post/2019-03-13-floss-progress/</guid>
      <description>&lt;p&gt;This post is an update of what&amp;rsquo;s happened since last I posted about my&#xA;many pet projects.  As usual nothing fancy.  If you want to know more I&#xA;suggest you find one on GitHub you&amp;rsquo;re interested in.  File an issue, or&#xA;better yet, post a pull request to scratch that itch you have deep down:&#xA;👉 &lt;a href=&#34;https://github.com/troglobit&#34; target=&#34;_blank&#34;&gt;https://github.com/troglobit&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Odd Progress</title>
      <link>https://troglobit.com/post/2019-03-12-odd-progress/</link>
      <pubDate>Tue, 12 Mar 2019 23:11:30 +0100</pubDate>
      <guid>https://troglobit.com/post/2019-03-12-odd-progress/</guid>
      <description>&lt;p&gt;A lot has happened since my last post; I had my bike stolen, stumbled&#xA;upon the guys who&amp;rsquo;d stolen it, got mugged by same guys, decided I&amp;rsquo;d had&#xA;enough and then bought a house and moved to another city.  That&amp;rsquo;s the&#xA;long and short of it.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;m OK, sort of.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dark Themes Ahead</title>
      <link>https://troglobit.com/post/2018-08-12-dark-themes-ahead/</link>
      <pubDate>Sun, 12 Aug 2018 23:51:52 +0200</pubDate>
      <guid>https://troglobit.com/post/2018-08-12-dark-themes-ahead/</guid>
      <description>&lt;p&gt;&lt;em&gt;Reminder to self:&lt;/em&gt; How to fix Firefox &lt;code&gt;about:config&lt;/code&gt; when using a Dark&#xA;Theme in Gnome or &lt;a href=&#34;https://awesomewm.org/&#34; target=&#34;_blank&#34;&gt;Awesome&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I use &lt;a href=&#34;https://system76.com/&#34; target=&#34;_blank&#34;&gt;System76&lt;/a&gt; amazing Gtk+ theme from &lt;a href=&#34;https://github.com/pop-os/gtk-theme&#34; target=&#34;_blank&#34;&gt;Pop!_OS&lt;/a&gt;.  It&amp;rsquo;s quite&#xA;simple to set up on top of Ubuntu and use in Awesome:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#ebdbb2;background-color:#282828;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo add-apt-repository ppa:system76/pop&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install pop-theme&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I then use &lt;a href=&#34;https://wiki.gnome.org/Apps/Tweaks&#34; target=&#34;_blank&#34;&gt;gnome-tweaks&lt;/a&gt; to select the Pop-dark-slim theme.  Now, the&#xA;problem is that certain text box inputs in Firefox is either completely&#xA;dark or white and the text cannot be seen until you mark it.  This isn&amp;rsquo;t&#xA;specific to the Pop!_OS theme, Adwaita-dark is exactly as bad.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Display Brightness in Awesome on ThinkPad X250</title>
      <link>https://troglobit.com/post/2018-08-03-display-brightness-in-awesome-on-thinkpad-x250/</link>
      <pubDate>Fri, 03 Aug 2018 16:15:00 +0200</pubDate>
      <guid>https://troglobit.com/post/2018-08-03-display-brightness-in-awesome-on-thinkpad-x250/</guid>
      <description>&lt;p&gt;Having just received a new (used) ThinkPad X250 I felt somewhat lost&#xA;when I realized the display brightness keys didn&amp;rsquo;t do anything in my&#xA;&lt;a href=&#34;https://awesomewm.org&#34; target=&#34;_blank&#34;&gt;Awesome WM&lt;/a&gt; setup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Open Source Releases</title>
      <link>https://troglobit.com/post/2018-06-16-open-source-releases/</link>
      <pubDate>Sat, 16 Jun 2018 15:19:28 +0200</pubDate>
      <guid>https://troglobit.com/post/2018-06-16-open-source-releases/</guid>
      <description>&lt;p&gt;Last three months have been hectic, lots of exciting things going on &lt;a href=&#34;https://www.westermo.com&#34; target=&#34;_blank&#34;&gt;at&#xA;work&lt;/a&gt;, with my kids, and also with some of my&#xA;pet projects.&lt;/p&gt;</description>
    </item>
    <item>
      <title>N E M E S I S</title>
      <link>https://troglobit.com/post/2018-04-15-n-e-m-e-s-i-s/</link>
      <pubDate>Sun, 15 Apr 2018 16:11:23 +0200</pubDate>
      <guid>https://troglobit.com/post/2018-04-15-n-e-m-e-s-i-s/</guid>
      <description>&lt;p&gt;Summer is  almost upon us.  The  weather in Sweden has  been amazing the&#xA;last couple of weeks, sunny and  warm.  This has of course not prevented&#xA;me from pursuing my favorite  indoor activity; coding!  This time around&#xA;I&amp;rsquo;ve spent some time to resurrect the packet injection tool &lt;a href=&#34;https://troglobit.com/projects/nemesis/&#34;&gt;Nemesis&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Slow Down</title>
      <link>https://troglobit.com/post/2018-02-15-slow-down/</link>
      <pubDate>Thu, 15 Feb 2018 20:05:25 +0100</pubDate>
      <guid>https://troglobit.com/post/2018-02-15-slow-down/</guid>
      <description>Anyone who knows me knows I&amp;rsquo;m quite stubborn. Whenever I set my sights on something I finish it. The last couple of years I&amp;rsquo;ve been quite busy on GitHub, making at least one commit per day. I&amp;rsquo;ve had a lot of things I&amp;rsquo;ve wanted to do and complete, and this commit regimen has kept me on track to do just that.&#xA;However, nothing comes for free, and although I&amp;rsquo;ve achieved my goals, I&amp;rsquo;ve also had to make a lot of sacrifices.</description>
    </item>
    <item>
      <title>Multicast routing with PIM-SM over GRE</title>
      <link>https://troglobit.com/2016/07/05/multicast-routing-with-pim-sm-over-gre/</link>
      <pubDate>Tue, 23 Jan 2018 20:39:36 +0000</pubDate>
      <guid>https://troglobit.com/2016/07/05/multicast-routing-with-pim-sm-over-gre/</guid>
      <description>&lt;p&gt;GRE tunnels are useful in many ways.  This blog post shows how to set up&#xA;multicast routing with &lt;a href=&#34;https://github.com/troglobit/pimd/&#34; target=&#34;_blank&#34;&gt;pimd&lt;/a&gt; over a&#xA;GRE tunnel.  To achieve this we will also set up OSPF over GRE with&#xA;&lt;a href=&#34;http://www.quagga.net&#34; target=&#34;_blank&#34;&gt;Quagga&lt;/a&gt;, because PIM, unlike DVMRP (&lt;code&gt;mrouted&lt;/code&gt;),&#xA;require unicast routing rules to be established.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#ebdbb2;background-color:#282828;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;       .----{ Intranet }----.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      /    192.168.1.0/24    \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     /                        \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.10 /                          \.20&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.--&amp;#39;---. .1  GRE Tunnel  .2 .---`--.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|      |====================|      |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|  R1  |   172.16.16.0/30   |  R2  |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|      |                    |      |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#39;--.---&amp;#39;                    &amp;#39;------&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   | .1                        | .1 &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   |    10.0.1.0/24            |    10.0.2.0/24&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   | .2                        | .2 &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.--&amp;#39;---.                    .--&amp;#39;---.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|      |                    |      |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|  C1  |                    |  C2  |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;|      |                    |      |&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;#39;------&amp;#39;                    &amp;#39;------&amp;#39;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In this post we are using the home WiFi network, 192.168.1.0/24, to hook&#xA;up the GRE tunnel.  It is just as easy to extend this to a big corporate&#xA;Intranet with more routers between &lt;code&gt;R1&lt;/code&gt; and &lt;code&gt;R2&lt;/code&gt;.  As long as that IT&#xA;department takes care of the unicast routing between &lt;code&gt;R1&lt;/code&gt; and &lt;code&gt;R2&lt;/code&gt; so&#xA;that the GRE tunnel can be established.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Set up a Debian/Ubuntu APT Repository</title>
      <link>https://troglobit.com/2017/09/30/set-up-a-debian-ubuntu-apt-repository/</link>
      <pubDate>Sat, 30 Sep 2017 12:39:43 +0000</pubDate>
      <guid>https://troglobit.com/2017/09/30/set-up-a-debian-ubuntu-apt-repository/</guid>
      <description>&lt;p&gt;How to set up a Debian/Ubuntu APT repository with GPG signing.&lt;/p&gt;&#xA;&lt;p&gt;At first I tried to use &lt;a href=&#34;https://debian-administration.org/article/717/Setting_up_a_personal_secure_apt_repository&#34; target=&#34;_blank&#34;&gt;Bas Wijnen&amp;rsquo;s mini-dinstall howto&lt;/a&gt;, but never&#xA;managed to get it working.  Probably due to problems with GPG.  Then I&#xA;went down the tried and true path of using &lt;a href=&#34;https://debian-administration.org/article/286/Setting_up_your_own_APT_repository_with_upload_support&#34; target=&#34;_blank&#34;&gt;reprepro&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve tried to document my steps here, but I&amp;rsquo;ve very likely missed a few&#xA;steps that a beginner admin may run into. YMMV B-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Threads vs Event Loop, Again ...</title>
      <link>https://troglobit.com/2017/09/19/threads-vs-event-loop--again/</link>
      <pubDate>Tue, 19 Sep 2017 08:51:38 +0000</pubDate>
      <guid>https://troglobit.com/2017/09/19/threads-vs-event-loop--again/</guid>
      <description>&lt;p&gt;I still get asked this, from time to time.  Maybe it&amp;rsquo;s because I only&#xA;use event loops, maybe it&amp;rsquo;s because I&amp;rsquo;ve written &lt;a href=&#34;https://github.com/troglobit/libuev&#34; target=&#34;_blank&#34;&gt;libuEv&lt;/a&gt;, or maybe&#xA;people still don&amp;rsquo;t understand:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Why an event loop, why not use threads?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;So here&amp;rsquo;s my response, once more.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Packaging Software with Docker</title>
      <link>https://troglobit.com/2017/09/17/packaging-software-with-docker/</link>
      <pubDate>Sun, 17 Sep 2017 10:45:37 +0000</pubDate>
      <guid>https://troglobit.com/2017/09/17/packaging-software-with-docker/</guid>
      <description>&lt;p&gt;This post details how to package and deploy software with Docker.  The&#xA;example uses &lt;a href=&#34;https://github.com/troglobit/merecat&#34; target=&#34;_blank&#34;&gt;Merecat httpd&lt;/a&gt; on Alpine Linux.  Try it out with:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;docker pull troglobit/merecat&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;See &lt;a href=&#34;https://hub.docker.com/r/troglobit/merecat/&#34; target=&#34;_blank&#34;&gt;https://hub.docker.com/r/troglobit/merecat/&lt;/a&gt; for details on how to&#xA;run Merecat httpd in production.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Install X-Window in Alpine Linux</title>
      <link>https://troglobit.com/2017/09/10/install-x-window-in-alpine-linux/</link>
      <pubDate>Sun, 10 Sep 2017 11:13:39 +0000</pubDate>
      <guid>https://troglobit.com/2017/09/10/install-x-window-in-alpine-linux/</guid>
      <description>&lt;p&gt;How to install LXDM + XFCE4 in Alpine Linux 3.6 when testing with&#xA;&lt;a href=&#34;https://github.com/troglobit/finit/tree/master/contrib/alpine&#34; target=&#34;_blank&#34;&gt;Finit&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Boot Alpine Linux with GRUB</title>
      <link>https://troglobit.com/2017/09/09/boot-alpine-linux-with-grub/</link>
      <pubDate>Sat, 09 Sep 2017 21:37:10 +0000</pubDate>
      <guid>https://troglobit.com/2017/09/09/boot-alpine-linux-with-grub/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s fairly easy to replace the slightly unfriendly syslinux with grub&#xA;(grub2) in Alpine Linux.  I use v3.6 but YMMV.&lt;/p&gt;</description>
    </item>
    <item>
      <title>GIT, Autoconf and Automake in OpenBSD</title>
      <link>https://troglobit.com/2017/06/06/install-git-in-openbsd/</link>
      <pubDate>Tue, 06 Jun 2017 10:44:55 +0000</pubDate>
      <guid>https://troglobit.com/2017/06/06/install-git-in-openbsd/</guid>
      <description>Reminder to self:&#xA;echo &amp;#34;https://ftp.eu.openbsd.org/pub/OpenBSD/&amp;#34; &amp;gt;/etc/installurl pkg_add git autoconf automake libtool Select the latest versions, then add the following to ~/.profile:&#xA;AUTOCONF_VERSION=2.69 AUTOMAKE_VERSION=1.15 export AUTOCONF_VERSION AUTOMAKE_VERSION With your selected versions, of course.</description>
    </item>
    <item>
      <title>HTTPS proxy for Merecat httpd</title>
      <link>https://troglobit.com/2017/02/12/https-proxy-for-merecat-httpd/</link>
      <pubDate>Sun, 12 Feb 2017 00:07:44 +0000</pubDate>
      <guid>https://troglobit.com/2017/02/12/https-proxy-for-merecat-httpd/</guid>
      <description>This is a HTTPS proxy HowTo for Merecat httpd using pound and OpenSSL.&#xA;Pound is a reverse proxy, load balancer, and HTTPS front-end for Web servers. It is available in Debian/Ubuntu and is very simple to set up:&#xA;First install the package, including OpenSSL, or LibreSSL:&#xA;sudo apt install pound openssl Use OpenSSL to create a self-signed certificate:&#xA;mkdir ~/certs cd ~/certs openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.</description>
    </item>
    <item>
      <title>Emulate an actual MTD device in Qemu</title>
      <link>https://troglobit.com/2017/02/02/emulate-an-actual-mtd-device-in-qemu/</link>
      <pubDate>Thu, 02 Feb 2017 18:52:18 +0000</pubDate>
      <guid>https://troglobit.com/2017/02/02/emulate-an-actual-mtd-device-in-qemu/</guid>
      <description>&lt;p&gt;Having worked with Linux for the last 20 years, and embedded for more&#xA;than ten of them, I&amp;rsquo;ve become quite a fan of virtualization in general&#xA;and &lt;a href=&#34;http://qemu.org&#34; target=&#34;_blank&#34;&gt;Qemu&lt;/a&gt; in particular.&lt;/p&gt;&#xA;&lt;p&gt;Qemu is a fantastic little tool, created by the Open Source superhero&#xA;&lt;a href=&#34;http://blog.smartbear.com/careers/fabrice-bellard-portrait-of-a-super-productive-programmer/&#34; target=&#34;_blank&#34;&gt;Fabrice Bellard&lt;/a&gt;.&#xA;It can be used to verify an embedded system without having to deal with&#xA;the problems of actual HW until you really have to.  Don&amp;rsquo;t get me wrong,&#xA;HW excites me like any other nerd, but if the HW is new and shaky it can&#xA;be quite a pain to develop higher level functions.&lt;/p&gt;&#xA;&lt;p&gt;My holy grail is to have a 100% complete and accurate virtualization&#xA;target per architecture to test my various software projects on.  That&amp;rsquo;s&#xA;why I created &lt;a href=&#34;https://github.com/troglobit/troglos&#34; target=&#34;_blank&#34;&gt;TroglOS&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Wolfenstein-3D on RetroPie</title>
      <link>https://troglobit.com/2017/01/15/wolfenstein-3d-on-retropie/</link>
      <pubDate>Sun, 15 Jan 2017 13:13:15 +0000</pubDate>
      <guid>https://troglobit.com/2017/01/15/wolfenstein-3d-on-retropie/</guid>
      <description>&lt;p&gt;The last game I ever played was &lt;a href=&#34;https://en.wikipedia.org/wiki/Wolfenstein_3D&#34; target=&#34;_blank&#34;&gt;Castle Wolfenstein 3D&lt;/a&gt;, released in&#xA;1992 for MS-DOS, made by the now legendary id Software.  OK, admittedly&#xA;I&amp;rsquo;ve played other games since then, but I&amp;rsquo;ve never again been so manic&#xA;about a game since Wolfenstein.&lt;/p&gt;&#xA;&lt;img style=&#34;width:50%;height:auto;&#34; class=&#34;center&#34; src=&#34;https://troglobit.com/images/wolf3d.png&#34;&gt;&#xA;&lt;p&gt;This post is about how to build, install and set up Wolfenstein 3D on a&#xA;Raspberry Pi running &lt;a href=&#34;https://retropie.org.uk/&#34; target=&#34;_blank&#34;&gt;RetroPie&lt;/a&gt; &amp;hellip; on a &lt;a href=&#34;https://shop.pimoroni.com/products/picade&#34; target=&#34;_blank&#34;&gt;Picade&lt;/a&gt; :-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trust Bluetooth 4.0 Adapter in Linux</title>
      <link>https://troglobit.com/2017/01/03/trust-bluetooth-4.0-adapter-in-linux/</link>
      <pubDate>Tue, 03 Jan 2017 17:03:05 +0000</pubDate>
      <guid>https://troglobit.com/2017/01/03/trust-bluetooth-4.0-adapter-in-linux/</guid>
      <description>&lt;p&gt;This is a quick writeup of how to get the Trust Bluetooth 4.0 adapter&#xA;(dongle) working in Linux, Ubuntu 16.04.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A life without sudo</title>
      <link>https://troglobit.com/2016/12/11/a-life-without-sudo/</link>
      <pubDate>Sun, 11 Dec 2016 20:26:12 +0000</pubDate>
      <guid>https://troglobit.com/2016/12/11/a-life-without-sudo/</guid>
      <description>Fig 1. Classic XKCD cartoon :-)&#xA;Please see the latest update, below!&#xA;Ever since my first stumbling steps with Linux back in &amp;lsquo;96, I&amp;rsquo;ve been learning about UNIX. The first obvious lesson was to not use the root account. Since then I&amp;rsquo;ve been using a combination of sudo command and suid root binaries to get the job done.&#xA;For the last ten years, however, I&amp;rsquo;ve been meaning to learn about Linux capabilities(7) and thanks to a friend and colleague of mine I now have :)</description>
    </item>
    <item>
      <title>One ping only</title>
      <link>https://troglobit.com/2016/11/19/one-ping-only/</link>
      <pubDate>Sat, 19 Nov 2016 23:37:20 +0000</pubDate>
      <guid>https://troglobit.com/2016/11/19/one-ping-only/</guid>
      <description>For some odd reason, today was the day when I woke up and continued working on libICMP. It&amp;rsquo;s now almost seven years since I first adopted Tim Lawless&amp;rsquo; public domain version, and today I picked up where I left off and started refactoring and cleaning up.&#xA;Example:&#xA;#include &amp;#34;icmp/icmp.h&amp;#34; int main(int argc, char *argv[]) { char *host = &amp;#34;localhost&amp;#34;; struct libicmp *obj; if (argc &amp;gt;= 2) host = argv[1]; if (!</description>
    </item>
    <item>
      <title>Merecat - another stray kitten?</title>
      <link>https://troglobit.com/2016/11/06/merecat---another-stray-kitten-/</link>
      <pubDate>Sun, 06 Nov 2016 01:34:18 +0000</pubDate>
      <guid>https://troglobit.com/2016/11/06/merecat---another-stray-kitten-/</guid>
      <description>&lt;p&gt;This post is about my adoption, refactor, and rebranding of thttpd as&#xA;&lt;a href=&#34;http://merecat.troglobit.com&#34; target=&#34;_blank&#34;&gt;Merecat&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I code for recreation as well as work.  Most of the time I tinker around&#xA;with my various &lt;a href=&#34;https://github.com/troglobit&#34; target=&#34;_blank&#34;&gt;projects&lt;/a&gt; simply to learn&#xA;and sometimes these little projects turn into something useful for other&#xA;people as well, which is great!&lt;/p&gt;&#xA;&lt;p data-pullquote=&#34;not all things can be simplified, and not all simple&#xA;things are correct&#34;&gt; Recently I discovered my method to get started:&#xA;refactoring, or just simple code cleanup.  You see I&#39;ve got this crazy&#xA;idea that &lt;em&gt;all simple things are correct&lt;/em&gt;.  Although things&#xA;usually tend to require a certain balance &amp;mdash; not all things can be&#xA;simplified, and not all simple things are correct.&lt;/p&gt;&#xA;&lt;p&gt;When I recently had to migrate my personal blog, FTP, and GIT server, I&#xA;set out to run everything from an old RasPi2.  This put my private life&#xA;in just about the same niche as my work life, embedded.  On a resource&#xA;constrained platform like that running Apache is not the best idea.  So&#xA;I set out to (re-)discover the web servers of my past, the late 90&amp;rsquo;s, I&#xA;had almost forgotten:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://acme.com/software/mini_httpd/&#34; target=&#34;_blank&#34;&gt;mini_httpd&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.boa.org/&#34; target=&#34;_blank&#34;&gt;Boa&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;BusyBox httpd,&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.acme.com/software/thttpd/&#34; target=&#34;_blank&#34;&gt;thttpd&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;and more &amp;hellip;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Come to think of it, they are probably one of the many reasons that I&#xA;started my career in embedded in the first place!&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Toolchains</title>
      <link>https://troglobit.com/2016/10/27/new-toolchains/</link>
      <pubDate>Thu, 27 Oct 2016 22:22:44 +0000</pubDate>
      <guid>https://troglobit.com/2016/10/27/new-toolchains/</guid>
      <description>Finally, fresh from the oven, here are the remaining two toolchains I&amp;rsquo;ve promised, based on GCC 6.1 and GLIBC 2.23. Download from the FTP:&#xA;arm-unknown-linux-gnueabi-6.1.0-2.tar.xz powerpc-unknown-linux-gnu-6.1.0-2.tar.xz x86_64-unknown-linux-gnu-6.1.0-2.tar.xz Unpack into /usr/local, and add to your $PATH, e.g.&#xA;export PATH=/usr/local/arm-unknown-linux-gnueabi-6.1.0-2/bin:$PATH The toolchains are built using crosstool-NG on Ubuntu 16.04 64-bit, and are primarily intended for myself and users of TroglOS, but are generic enough to be useful for other purposes as well.</description>
    </item>
    <item>
      <title>ARM Toolchain r1</title>
      <link>https://troglobit.com/2016/09/26/arm-toolchain-r1/</link>
      <pubDate>Mon, 26 Sep 2016 22:43:53 +0000</pubDate>
      <guid>https://troglobit.com/2016/09/26/arm-toolchain-r1/</guid>
      <description>First GCC 6.1 based ARM (32-bit) toolchain released on my FTP. Built using crosstool-NG for Ubuntu 16.04 (x86_64) with GLIBC 2.23.&#xA;arm-unknown-linux-gnueabi-6.1.0-1.tar.xz Download, unpack into /usr/local, and add to your $PATH&#xA;export PATH=/usr/local/arm-unknown-linux-gnueabi-6.1.0-1/bin:$PATH There&amp;rsquo;s lots of neat stuff included, both a sysroot and a debug-root with GDB and gdbserver for target. For details on using it, see the excellent docs.&#xA;The main purpose for my building this is TroglOS, but it is useful for other purposes as well of course.</description>
    </item>
    <item>
      <title>Finit3: Almost there ...</title>
      <link>https://troglobit.com/2016/09/21/finit3--almost-there/</link>
      <pubDate>Wed, 21 Sep 2016 19:08:37 +0000</pubDate>
      <guid>https://troglobit.com/2016/09/21/finit3--almost-there/</guid>
      <description>Today the new logo for Finit3 was added to the GitHub repo and the homepage&#xA;Gorgeous, isn&amp;rsquo;t it?! :sunglasses:&#xA;This fancy artwork means we&amp;rsquo;re nearing the end of a long and agonizing release cycle where a lot of the internals of Finit have been rewritten and new exciting features have been added! More on this in an upcoming post :smiley:</description>
    </item>
    <item>
      <title>The General Idea</title>
      <link>https://troglobit.com/2016/09/02/the-general-idea/</link>
      <pubDate>Fri, 02 Sep 2016 23:30:00 +0000</pubDate>
      <guid>https://troglobit.com/2016/09/02/the-general-idea/</guid>
      <description>OK, so here&amp;rsquo;s the general idea: take one teaspoon of a well equipped SBC with Marvell chips you know well, add an awesome WiFi hotspot with USB connection, stir feverishly for several weekends in a row, then sprinkle some AlpineLinux and a custom kernel on top. Enjoy!&#xA;I have no clue if this will actually work, may even try porting my own little thing called TroglOS to the ClearFog first, I don&amp;rsquo;t know, but it will definitely be awesome!</description>
    </item>
    <item>
      <title>Live KVM migration with virt-manager</title>
      <link>https://troglobit.com/2016/08/18/live-kvm-migration-with-virt-manager/</link>
      <pubDate>Thu, 18 Aug 2016 20:07:17 +0000</pubDate>
      <guid>https://troglobit.com/2016/08/18/live-kvm-migration-with-virt-manager/</guid>
      <description>&lt;p&gt;With the new servers and my server room shaping up, I&amp;rsquo;ve been working on&#xA;setting up ALL THE THINGS!  I just managed to set up live migration of&#xA;the KVM virtual machines I use for testing my &lt;a href=&#34;https://en.wikipedia.org/wiki/Free_and_open-source_software&#34; target=&#34;_blank&#34;&gt;FLOSS&lt;/a&gt; projects.  Here&#xA;is a short writeup of that, just as a reminder for myself.&lt;/p&gt;&#xA;&lt;h2 id=&#34;checklist&#34;&gt;Checklist&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Make sure the libvirt versions are the same.  I tried setting up&#xA;migration between CentOS 7.2 and and Ubuntu LTS 16.04 which turned&#xA;out to be a mess of insurmountable incompatibilities.  I&amp;rsquo;ve now gone&#xA;back to run Ubuntu on everything and it all works fine.&lt;/li&gt;&#xA;&lt;li&gt;Set up NFS for the backend store of &lt;code&gt;/var/lib/libvirt/images&lt;/code&gt;.  Make&#xA;sure to export the share properly, I tried first with my ReadyNAS, but&#xA;couldn&amp;rsquo;t set up root access (defaulted to nobody).&lt;/li&gt;&#xA;&lt;li&gt;Set up VM disk caching=none&lt;/li&gt;&#xA;&lt;li&gt;Set up VM processor model=default&lt;/li&gt;&#xA;&lt;li&gt;Profit&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Good Luck! :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fake RAID Adventures</title>
      <link>https://troglobit.com/2016/08/13/fake-raid-adventures/</link>
      <pubDate>Sat, 13 Aug 2016 15:59:36 +0000</pubDate>
      <guid>https://troglobit.com/2016/08/13/fake-raid-adventures/</guid>
      <description>&lt;p&gt;The other day I got my geeky hands on two old SuperMicro X8STI-F 1U&#xA;servers.  I plan to use them as build and embedded target emulation&#xA;servers for my &lt;a href=&#34;https://github.com/troglobit&#34; target=&#34;_blank&#34;&gt;open source projects&lt;/a&gt;&#xA;as well as Minecraft server for my kids :)&lt;/p&gt;&#xA;&lt;img src=&#34;http://eitc.in/yahoo_site_admin/assets/docs/Supermicro_SuperServer_SC512L_small.324203750.JPG&#34;&gt;</description>
    </item>
    <item>
      <title>Upgrade X1 Carbon BIOS from Linux</title>
      <link>https://troglobit.com/2016/07/03/upgrade-x1-carbon-bios-from-linux/</link>
      <pubDate>Sun, 03 Jul 2016 09:57:44 +0000</pubDate>
      <guid>https://troglobit.com/2016/07/03/upgrade-x1-carbon-bios-from-linux/</guid>
      <description>&lt;p&gt;This is a very brief writeup of how to upgrade the BIOS on a X1 Carbon&#xA;(G1) from Linux.  For more information on this topic there is always the&#xA;excellent &lt;a href=&#34;http://www.thinkwiki.org/wiki/BIOS_Upgrade&#34; target=&#34;_blank&#34;&gt;ThinkWiki&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;OK, this post is more about creating the bootable USB stick needed, was&#xA;too much of a chicken to try &lt;a href=&#34;https://www.flashrom.org/Flashrom&#34; target=&#34;_blank&#34;&gt;Flashrom&lt;/a&gt; &amp;hellip;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Redirecting Ports For Fun and Profit</title>
      <link>https://troglobit.com/2016/07/02/redirecting-tcp-udp-ports-for-fun-and-profit/</link>
      <pubDate>Sat, 02 Jul 2016 12:54:37 +0000</pubDate>
      <guid>https://troglobit.com/2016/07/02/redirecting-tcp-udp-ports-for-fun-and-profit/</guid>
      <description>&lt;p&gt;Recently I needed a simple TCP/UDP port redirector and stumbled upon&#xA;&lt;a href=&#34;https://serverfault.com/questions/252150/port-forwarding-on-linux-without-iptables/&#34; target=&#34;_blank&#34;&gt;this Stackoverflow post&lt;/a&gt;.  As usual I wasn&amp;rsquo;t first wanting to this&#xA;without using &lt;code&gt;iptables&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;There were several alternatives, but since my target was embedded with&#xA;limited amount of RAM and flash I wanted something really small.  So the&#xA;best fit turned out to be &lt;a href=&#34;https://github.com/troglobit/redir&#34; target=&#34;_blank&#34;&gt;redir&lt;/a&gt;, which unfortunately only could&#xA;handle TCP connections.  This is what led me to write &lt;a href=&#34;https://github.com/troglobit/uredir&#34; target=&#34;_blank&#34;&gt;uredir&lt;/a&gt; to&#xA;complement &lt;code&gt;redir&lt;/code&gt;.  Eventually I ended up adoptiing &lt;code&gt;redir&lt;/code&gt; as well,&#xA;which meant giving it a bit of a facelift and to give them both the same&#xA;look and feel.&lt;/p&gt;&#xA;&lt;p&gt;Currently they are two separate applications, which in some use-cases&#xA;can be beneficial (small size), but I may in the future transplant the&#xA;UDP functionality of &lt;code&gt;uredir&lt;/code&gt; into &lt;code&gt;redir&lt;/code&gt;.  We&amp;rsquo;ll see, right now though&#xA;I have several other &lt;a href=&#34;https://troglobit.com/projects/&#34;&gt;projects&lt;/a&gt; to attend to :-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using netcat to test your Internet daemon</title>
      <link>https://troglobit.com/2016/04/21/using-netcat-to-test-your-internet-daemon/</link>
      <pubDate>Thu, 21 Apr 2016 14:21:49 +0000</pubDate>
      <guid>https://troglobit.com/2016/04/21/using-netcat-to-test-your-internet-daemon/</guid>
      <description>So you&amp;rsquo;re having a problem with the Internet daemon you wrote. You&amp;rsquo;re convinced the firewall, or some other magic, in your modern Linux distribution is eating your packets.&#xA;No.&#xA;First, make sure your daemon is actually running and has successfully bound to the address and port in question:&#xA;sudo netstat -atnup If your application is not listed there you have a problem with it binding its server socket. Check the return values from bind().</description>
    </item>
    <item>
      <title>The key to successful boot</title>
      <link>https://troglobit.com/2016/04/11/the-key-to-successful-boot/</link>
      <pubDate>Mon, 11 Apr 2016 01:28:27 +0000</pubDate>
      <guid>https://troglobit.com/2016/04/11/the-key-to-successful-boot/</guid>
      <description>&lt;p&gt;How do you know when your UNIX service (daemon) is ready?  Simple, it&#xA;has created a PID file, signalling to you how to reach it.  Usually this&#xA;file is created as &lt;code&gt;/var/run/daemon.pid&lt;/code&gt;, or &lt;code&gt;/run/daemon.pid&lt;/code&gt;, and has&#xA;the PID of &lt;code&gt;daemon&lt;/code&gt; as the first and only data in the file.  This data&#xA;may or may not have a UNIX line ending.&lt;/p&gt;&#xA;&lt;p&gt;Only trouble is: most UNIX daemons do not re-assert that PID file&#xA;properly on &lt;code&gt;SIGHUP&lt;/code&gt; (if they support &lt;code&gt;SIGHUP&lt;/code&gt; that is).  When I send&#xA;&lt;code&gt;SIGHUP&lt;/code&gt; to a daemon I expect it to re-read its &lt;code&gt;/etc/daemon.conf&lt;/code&gt; and&#xA;resume operation, basically a quicker way than stop/start.&lt;/p&gt;&#xA;&lt;p&gt;Annoyingly however, most daemons do not signal us back to tell us when&#xA;they&amp;rsquo;re done with the &lt;code&gt;SIGHUP&lt;/code&gt;.  Naturally a new movement has risen that&#xA;says we should all instrument our daemons with D-bus &amp;hellip; I say no.&#xA;Simply touch the PID file instead.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lecture from the UNIX beards</title>
      <link>https://troglobit.com/2016/04/04/lecture-from-the-unix-beards/</link>
      <pubDate>Mon, 04 Apr 2016 00:14:28 +0000</pubDate>
      <guid>https://troglobit.com/2016/04/04/lecture-from-the-unix-beards/</guid>
      <description>After the rm -rf /* disaster that hit me a couple of weeks ago I&amp;rsquo;ve been rebuilding my setup, restoring the few files I&amp;rsquo;ve had backed up, and collecting advice from the elders.&#xA;Turns out there are a few tricks that can save your home directory from accidents like mine. The first one is rather obvious, but I&amp;rsquo;m writing it down anyway:&#xA;Keep separate accounts. If possible, use separate accounts (with different permissions obviously) for different projects.</description>
    </item>
    <item>
      <title>Disaster Recovery</title>
      <link>https://troglobit.com/2016/03/24/disaster-recovery/</link>
      <pubDate>Thu, 24 Mar 2016 22:39:00 +0000</pubDate>
      <guid>https://troglobit.com/2016/03/24/disaster-recovery/</guid>
      <description>&lt;p&gt;Days like these inconspicuously start out just like any other day,&#xA;except on days like these you accidentally manage to erase &lt;code&gt;$HOME&lt;/code&gt; and&#xA;have no real backup to rely on &amp;hellip; Maundy Thursday will forever be Black&#xA;Thursday for me, from now on.&lt;/p&gt;&#xA;&lt;p&gt;Best thing your can do, after cursing at yourself constantly for a&#xA;couple of hours, is to:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Come up with a useful backup and &lt;em&gt;restore&lt;/em&gt; strategy&lt;/li&gt;&#xA;&lt;li&gt;Read up on undeletion tools for Ext4&lt;/li&gt;&#xA;&lt;li&gt;Blog about it, naturally&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;BUT FIRST &amp;ndash; QUICK &amp;ndash; UNMOUNT OR POWER-OFF YOUR COMPUTER &amp;ndash; PULL OUT THE&#xA;BATTERY &amp;ndash; AND STEP AWAY FROM THE COMPUTER!  Must protect the partition&#xA;from being accidentally written to &amp;ndash; I completely fumbled this step, so&#xA;take heed young people!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Testing multicast with Docker</title>
      <link>https://troglobit.com/2016/03/07/testing-multicast-with-docker/</link>
      <pubDate>Mon, 07 Mar 2016 01:37:04 +0000</pubDate>
      <guid>https://troglobit.com/2016/03/07/testing-multicast-with-docker/</guid>
      <description>&lt;p&gt;Recently &lt;a href=&#34;https://github.com/troglobit/pimd/issues/70&#34; target=&#34;_blank&#34;&gt;issue #70&lt;/a&gt; was&#xA;reported to &lt;a href=&#34;https://github.com/troglobit/pimd/&#34; target=&#34;_blank&#34;&gt;pimd&lt;/a&gt;.  That number of&#xA;issues reported is cool in itself, but this was a question about&#xA;&lt;a href=&#34;https://www.docker.com&#34; target=&#34;_blank&#34;&gt;Docker&lt;/a&gt; and &lt;code&gt;pimd&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Up until that point I had only read about this new fad, and played&#xA;around with it a bit &lt;a href=&#34;http://www.westermo.com&#34; target=&#34;_blank&#34;&gt;at work&lt;/a&gt; for use as a&#xA;stable build environment for cross-compiling.  I had no idea people&#xA;would want to use a Docker container as a multicast sink.  Basically I&#xA;was baffled.&lt;/p&gt;&#xA;&lt;p&gt;The reporter used a Java based tool but simply couldn&amp;rsquo;t get things to&#xA;work properly with &lt;code&gt;pimd&lt;/code&gt; running on the host:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;                eth0&#xA; MC sender ---&amp;gt; [ Server host ]    &amp;lt;--- router running pimd&#xA;                       |&#xA;               ________|________&#xA;              /     docker0     \   &amp;lt;--- bridge    ______&#xA;             /         |         \                |      |   &amp;lt;--- MC receiver&#xA;  __________/          |          \_______________|______|_____&#xA; \                     |                            /         /&#xA;  \                     `------------------&amp;gt;-------&#39;         /&#xA;   \________________________________________________________/&#xA;      Container ship&#xA;&lt;/code&gt;&lt;/pre&gt;</description>
    </item>
    <item>
      <title>Multicast testing, made easy!</title>
      <link>https://troglobit.com/2016/03/07/multicast-testing/</link>
      <pubDate>Mon, 07 Mar 2016 01:06:02 +0000</pubDate>
      <guid>https://troglobit.com/2016/03/07/multicast-testing/</guid>
      <description>&lt;p&gt;For the better part of the last ten years I have been working with&#xA;multicast in one way or another.  I&amp;rsquo;ve used many different tools for&#xA;testing, but on most systems I usually resort to &lt;code&gt;ping(1)&lt;/code&gt; and&#xA;&lt;code&gt;tcpdump(1)&lt;/code&gt;, which are quite sufficient.  However, you often need to&#xA;tell bridges (switches) to open up multicast in your general direction&#xA;for your pings to get through, so you need to send an IGMP &amp;ldquo;join&amp;rdquo; first.&lt;/p&gt;&#xA;&lt;p&gt;Way back in 2006 I stumbled upon a neat tool called &lt;code&gt;mcjoin&lt;/code&gt;, written by&#xA;David Stevens and announced in&#xA;&lt;a href=&#34;https://lkml.org/lkml/2004/8/5/143&#34; target=&#34;_blank&#34;&gt;this posting to LKML&lt;/a&gt;.  I started&#xA;improving and adding features to it over the years.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Useful UNIX API:s</title>
      <link>https://troglobit.com/post/2015-11-14-useful-unix-apis/</link>
      <pubDate>Sat, 14 Nov 2015 11:45:49 +0000</pubDate>
      <guid>https://troglobit.com/post/2015-11-14-useful-unix-apis/</guid>
      <description>&lt;p&gt;Had an interesting conversation with a buddy last night.  It started out&#xA;as a shift-reduce problem with Bison and ended up a ping-pong of useful&#xA;UNIX API:s.  We concluded that despite having worked professionally with&#xA;UNIX for over two decades, it is still very satisfying finding gems like&#xA;these.&lt;/p&gt;&#xA;&lt;p&gt;Most people are completely unaware they exist and end up rolling their&#xA;own (buggy) implementations.  For instance, string manipulation and&#xA;various forms of linked lists.  Which is why I many years ago extracted&#xA;the &lt;em&gt;frog DNA&lt;/em&gt; from &lt;a href=&#34;https://github.com/troglobit/finit/&#34; target=&#34;_blank&#34;&gt;Finit&lt;/a&gt; to a&#xA;separate library called &lt;a href=&#34;https://github.com/troglobit/libite/&#34; target=&#34;_blank&#34;&gt;libite&lt;/a&gt;,&#xA;or -lite for short.  It imports the OpenBSD &lt;code&gt;strlcpy()&lt;/code&gt; family of API:s,&#xA;up-to-date &lt;code&gt;queue.h&lt;/code&gt; with the &lt;code&gt;_SAFE&lt;/code&gt; iterators, and more.  Some people&#xA;like &lt;a href=&#34;https://libbsd.freedesktop.org/wiki/&#34; target=&#34;_blank&#34;&gt;libbsd&lt;/a&gt; for this, but I&amp;rsquo;ve&#xA;found many of the ports incomplete and unsafe and prefer to stay closer&#xA;to the upstream *BSD versions.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; This post was originally written Nov 14, 2015.  It was a&#xA;Saturday and I remember being extremely inspired when I wrote it.  I&amp;rsquo;ve&#xA;continued adding to it over the years, and still do.  So, as of Jul 2,&#xA;2017 I&amp;rsquo;m bumping the modification date each time I add something new :-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>En vanlig dag på jobbet (SWEDISH)</title>
      <link>https://troglobit.com/2015/11/13/en-vanlig-dag-pa-jobbet-swedish/</link>
      <pubDate>Fri, 13 Nov 2015 20:57:29 +0000</pubDate>
      <guid>https://troglobit.com/2015/11/13/en-vanlig-dag-pa-jobbet-swedish/</guid>
      <description>I vanlig ordning bashar vi DNS på jobbet, pga ofungerar hårt över VPN för de flesta. (Ja vi kör alla Linux, utom cheferna som envisas med att använda något ur gamla testamentet.) Här följer ett utdrag från vår IRC:&#xA;14:32 &amp;lt;n00b&amp;gt; Success! Äntligen fick jag ordning på DNS via guest wifi -&amp;gt; vpn -&amp;gt; office network. Firar med att skapa lite irc noise. :D 14:32 &amp;lt; rooth&amp;gt;n00b: Du har väl fått den distribuerade /etc/hosts filen?</description>
    </item>
    <item>
      <title>Awesome: Changing Next/Prev Tune in Spotify</title>
      <link>https://troglobit.com/2015/11/10/awesome-changing-next-slash-prev-tune-in-spotify/</link>
      <pubDate>Tue, 10 Nov 2015 12:14:09 +0000</pubDate>
      <guid>https://troglobit.com/2015/11/10/awesome-changing-next-slash-prev-tune-in-spotify/</guid>
      <description>Back to using the Awesome WM in Ubuntu. This time I&amp;rsquo;m setting up everything from scratch and first up is fixing keybindings to control my main music player: Spotify!&#xA;Edit your ~/.config/awesome/rc.lua with Emacs (obviously). If you do not have an rc file, simply copy the system /etc/xdb/awesome/rc.lua:&#xA;globalkeys = awful.util.table.join(globalkeys, awful.key({}, &amp;quot;XF86AudioRaiseVolume&amp;quot;, function () awful.util.spawn(&amp;quot;amixer -D pulse sset Master 5%+&amp;quot;, false) end), awful.key({}, &amp;quot;XF86AudioLowerVolume&amp;quot;, function () awful.util.spawn(&amp;quot;amixer -D pulse sset Master 5%-&amp;quot;, false) end), awful.</description>
    </item>
    <item>
      <title>Stray Puppies</title>
      <link>https://troglobit.com/2015/11/07/stray-puppies/</link>
      <pubDate>Sat, 07 Nov 2015 02:32:12 +0000</pubDate>
      <guid>https://troglobit.com/2015/11/07/stray-puppies/</guid>
      <description>Sometimes I just cannot help myself. It&amp;rsquo;s like finding a stray puppy, or abandonded kitten &amp;hellip;&#xA;&amp;hellip; I recently decided to adopt mini-snmpd since the original upstream site had passed into the great beyond. At this point in my life almost everyone I know can tell you I have no warm fuzzy feels for SNMP, at all. So why did I even consider this to begin with?!&#xA;Well, I have to confess that there are certain things that SNMP can be really useful for.</description>
    </item>
    <item>
      <title>Summer of Code 2015</title>
      <link>https://troglobit.com/2015/09/09/summer-of-code-2015/</link>
      <pubDate>Wed, 09 Sep 2015 21:49:13 +0000</pubDate>
      <guid>https://troglobit.com/2015/09/09/summer-of-code-2015/</guid>
      <description>Summer is now slowly fading away, and what a summer it has been here in Sweden! For someone who isn&amp;rsquo;t a fan of the summer heat it has been an awesome time for brain work, and in my case work on my open source projects! :-)&#xA;Due to my not really taking much vacation previous years I had saved up for ten weeks (10) this year! It was really worth it, and for the first time in many years I actually feel rested.</description>
    </item>
    <item>
      <title>HowTo: Using -lite with a GIT-based application</title>
      <link>https://troglobit.com/2015/07/02/howto-using-lite-with-a-git-based-application/</link>
      <pubDate>Thu, 02 Jul 2015 17:11:55 +0000</pubDate>
      <guid>https://troglobit.com/2015/07/02/howto-using-lite-with-a-git-based-application/</guid>
      <description>&lt;p&gt;Years ago while looking for a fast &lt;a href=&#34;https://en.wikipedia.org/wiki/Init&#34; target=&#34;_blank&#34;&gt;init&lt;/a&gt; replacement for &lt;a href=&#34;http://westermo.com/&#34; target=&#34;_blank&#34;&gt;work&lt;/a&gt;,&#xA;I found &lt;a href=&#34;http://helllabs.org/finit/&#34; target=&#34;_blank&#34;&gt;Finit&lt;/a&gt;.  Originally written by &lt;a href=&#34;https://github.com/cmatsuoka&#34; target=&#34;_blank&#34;&gt;Claudio Matsuoka&lt;/a&gt; to act&#xA;as a drop-in replacement for the &lt;a href=&#34;https://en.wikipedia.org/wiki/Asus_Eee_PC&#34; target=&#34;_blank&#34;&gt;Asus EeePC&lt;/a&gt; &lt;a href=&#34;http://wiki.eeeuser.com/boot_process:the_boot_process&#34; target=&#34;_blank&#34;&gt;fastinit&lt;/a&gt;, &lt;em&gt;&amp;ldquo;gaps&#xA;filled with frog DNA …&amp;rdquo;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Until I found Finit I had always been in awe of those venturing into the&#xA;realm of &lt;a href=&#34;http://0pointer.net/blog/&#34; target=&#34;_blank&#34;&gt;PID 1&lt;/a&gt;.  However, learning from the simplicity of Claudio&amp;rsquo;s&#xA;code I realized that although PID 1 at times is indistinguishable from&#xA;magic, it is really not that hard to master.  &lt;a href=&#34;https://github.com/troglobit/finit&#34; target=&#34;_blank&#34;&gt;My version of Finit&lt;/a&gt;&#xA;is available on GitHub.&lt;/p&gt;&#xA;&lt;p&gt;The code is open sourced under the very liberal &lt;a href=&#34;http://opensource.org/licenses/MIT&#34; target=&#34;_blank&#34;&gt;MIT/X11 license&lt;/a&gt;,&#xA;and much of its frog DNA has proven very useful to me over the years.&#xA;This blog post is about how that frog DNA can help you fill gaps in your&#xA;projects …&lt;/p&gt;</description>
    </item>
    <item>
      <title>HowTo: Push to multiple GIT repos with one command</title>
      <link>https://troglobit.com/2015/07/01/howto-push-to-multiple-git-repos-with-one-command/</link>
      <pubDate>Wed, 01 Jul 2015 00:42:17 +0000</pubDate>
      <guid>https://troglobit.com/2015/07/01/howto-push-to-multiple-git-repos-with-one-command/</guid>
      <description>&lt;p&gt;So, now that I have &lt;a href=&#34;http://git.troglobit.com&#34; target=&#34;_blank&#34;&gt;http://git.troglobit.com&lt;/a&gt; setup as a backup GIT repo&#xA;to &lt;a href=&#34;https://github.com/troglobit&#34; target=&#34;_blank&#34;&gt;https://github.com/troglobit&lt;/a&gt;, I needed a &lt;em&gt;simple&lt;/em&gt; way to always push&#xA;to both repos &amp;ndash; best way for me is to always hook into my regular work&#xA;flow, otherwise I&amp;rsquo;d just forget.  The &lt;a href=&#34;1&#34;&gt;git-remote(1)&lt;/a&gt; man page to the&#xA;rescue, it describes the &lt;code&gt;set-url --add&lt;/code&gt; sub-command:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;git remote set-url --add origin ssh://git.troglobit.com:1234/srv/git/watchdogd.git&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Now, with a simple &lt;code&gt;git push&lt;/code&gt; followed by &lt;code&gt;git push --tags&lt;/code&gt; I had now&#xA;pushed to both the GitHub repo as well as my own server!&lt;/p&gt;</description>
    </item>
    <item>
      <title>HowTo: Apache with Gitweb on Debian 8.1</title>
      <link>https://troglobit.com/2015/06/30/howto-apache-with-gitweb-on-debian-8-dot-1/</link>
      <pubDate>Tue, 30 Jun 2015 23:13:48 +0000</pubDate>
      <guid>https://troglobit.com/2015/06/30/howto-apache-with-gitweb-on-debian-8-dot-1/</guid>
      <description>&lt;p&gt;I&amp;rsquo;m posting this in case anyone else gets stuck setting up &lt;a href=&#34;http://www.apache.org&#34; target=&#34;_blank&#34;&gt;Apache&lt;/a&gt;&#xA;with &lt;a href=&#34;http://git-scm.com/docs/gitweb&#34; target=&#34;_blank&#34;&gt;Gitweb&lt;/a&gt;.  Also as a reminder to myself in case I ever need to&#xA;set up this all over again.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;You have all your eggs in one basket (GitHub), and&lt;/li&gt;&#xA;&lt;li&gt;You really like that shiny basket, but&lt;/li&gt;&#xA;&lt;li&gt;You know you&amp;rsquo;re clumsy and usually drop baskets yourself.&lt;/li&gt;&#xA;&lt;li&gt;You are wise (yes you are!) and realize you need another basket, so&lt;/li&gt;&#xA;&lt;li&gt;You set up a server and a domain yourself &amp;hellip;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;OK.  Let&amp;rsquo;s start simple, since you are already running the latest Debian&#xA;you fire up the command line and install the basics:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;sudo apt-get install gitweb apache2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;So it&amp;rsquo;ll complain, you&amp;rsquo;ll clarify your request and soon all required&#xA;packages are on your server.  Now what?&lt;/p&gt;&#xA;&lt;p&gt;Debian has already set up http://localhost/gitweb for you, and if you&#xA;have a domain already you should go ahead and edit the master file for&#xA;that:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;editor /etc/apache2/sites-available/000-default.conf&#xA;service apache2 reload&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;If you want to use that for your gitweb needs, then you&amp;rsquo;re done!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Inetd Support in Finit v1.12</title>
      <link>https://troglobit.com/2015/03/06/inetd-support-in-finit-v1-dot-12/</link>
      <pubDate>Fri, 06 Mar 2015 22:34:45 +0000</pubDate>
      <guid>https://troglobit.com/2015/03/06/inetd-support-in-finit-v1-dot-12/</guid>
      <description>&lt;p&gt;A steady flow of features, and releases, is key to keeping any project&#xA;alive.  Recently I ticked off another item in the &lt;a href=&#34;https://troglobit.com/finit.html&#34;&gt;Finit&lt;/a&gt;&#xA;TODO list &amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Finit v1.12 now comes with a built-in inetd!  You no longer need an&#xA;external inetd daemon to launch services on demand.&lt;/p&gt;&#xA;&lt;p&gt;The good news doesn&amp;rsquo;t stop there, this little inetd actually supports a&#xA;poor man&amp;rsquo;s tcpwrappers!&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;inetd ssh/tcp          nowait [2345] /sbin/dropbear -i -R -F&#xA;inetd ssh@eth0:222/tcp nowait [2345] /sbin/dropbear -i -R -F&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;With these two lines in your &lt;code&gt;/etc/finit.conf&lt;/code&gt; you tell finit to launch&#xA;the &lt;a href=&#34;https://matt.ucc.asn.au/dropbear/dropbear.html&#34; target=&#34;_blank&#34;&gt;Dropbear SSH&lt;/a&gt;&#xA;server on demand on port 22 (default ssh/tcp port in &lt;code&gt;/etc/services&lt;/code&gt;) on&#xA;&lt;em&gt;all&lt;/em&gt; interfaces except on &lt;code&gt;eth0&lt;/code&gt;, which in your case is the Internet&#xA;(WAN) interface, here you want SSH to run on port 222.  Actually, you&#xA;don&amp;rsquo;t want port 22 open at all on &lt;code&gt;eth0&lt;/code&gt; &amp;hellip; so finit takes care of this&#xA;for you!  Seriously, it just works, no need for messing about with that&#xA;nasty old &lt;code&gt;iptables&lt;/code&gt; anymore!&lt;/p&gt;&#xA;&lt;p&gt;The original UNIX inetd super server supported many protocols&#xA;internally, some of which may seem a bit odd today, and some have been&#xA;superseded by more modern protocols.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://en.wikipedia.org/wiki/Echo_Protocol&#34; target=&#34;_blank&#34;&gt;echo&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://en.wikipedia.org/wiki/Character_Generator_Protocol&#34; target=&#34;_blank&#34;&gt;chargen&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://en.wikipedia.org/wiki/Time_Protocol&#34; target=&#34;_blank&#34;&gt;time&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://en.wikipedia.org/wiki/Daytime_Protocol&#34; target=&#34;_blank&#34;&gt;daytime&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://en.wikipedia.org/wiki/Discard_Protocol&#34; target=&#34;_blank&#34;&gt;discard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Finit currently only supports one internal/built-in standard service,&#xA;&lt;code&gt;time&lt;/code&gt;.  It is built as a plugin to serve as an example of how you can&#xA;extend Finit yourself.  The time service can be called either as UDP or&#xA;TCP.  To prevent security issues, the &lt;code&gt;time&lt;/code&gt; protocol is disabled by&#xA;default.  To enable it you need two things:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The &lt;code&gt;time.so&lt;/code&gt; plugin (built by default)&lt;/li&gt;&#xA;&lt;li&gt;An &lt;code&gt;inetd time ...&lt;/code&gt; line in &lt;code&gt;/etc/finit.conf&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Assuming you&amp;rsquo;ve installed the default set of plugins, the following two&#xA;lines can be added:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;inetd time/udp   wait [2345] internal&#xA;inetd time/tcp nowait [2345] internal&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;This can be very useful for testing the inetd capabilities, your network&#xA;connection, or simply to get the time to a client where NTP for some&#xA;reason does not work, or is blocked.  For instance, you could have a GPS&#xA;setup on your server and distribute time to clients with the &lt;code&gt;time&lt;/code&gt;&#xA;protocol.&lt;/p&gt;&#xA;&lt;p&gt;To use it you need an &lt;a href=&#34;http://www.aelius.com/njh/rdate/&#34; target=&#34;_blank&#34;&gt;&lt;code&gt;rdate&lt;/code&gt;&lt;/a&gt;&#xA;client.  Users of &lt;code&gt;rdate&lt;/code&gt; in BusyBox may need to be reminded that it&#xA;only supports TCP.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;$ rdate -pu 198.51.100.42&#xA;Sat Mar  7 08:48:58 CET 2015&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;For more info on Finit and its features, see the &lt;a href=&#34;https://github.com/troglobit/finit/blob/master/README.md&#34; target=&#34;_blank&#34;&gt;README&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Enjoy! ツ&lt;/p&gt;</description>
    </item>
    <item>
      <title>Finit v1.11 released!</title>
      <link>https://troglobit.com/2015/01/24/finit-v1-dot-11-released/</link>
      <pubDate>Sat, 24 Jan 2015 16:54:23 +0000</pubDate>
      <guid>https://troglobit.com/2015/01/24/finit-v1-dot-11-released/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Update 2015-03-09&lt;/strong&gt;: This release has unfortunately been &lt;em&gt;yanked&lt;/em&gt; due&#xA;to serious regressions in launching background processes.  It has been&#xA;replaced by &lt;a href=&#34;https://troglobit.com/blog/2015/03/06/inetd-support-in-finit-v1-dot-12/&#34;&gt;v1.12&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rant: All the C Compiler Warnings ...</title>
      <link>https://troglobit.com/2015/01/12/rant-all-the-c-compiler-warnings-dot-dot-dot/</link>
      <pubDate>Mon, 12 Jan 2015 01:57:40 +0000</pubDate>
      <guid>https://troglobit.com/2015/01/12/rant-all-the-c-compiler-warnings-dot-dot-dot/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;Enable &lt;em&gt;all&lt;/em&gt; the warnings!&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This is one of the truths you learn when you start working with C.  Most&#xA;of the time adding &lt;code&gt;CPPFLAGS=&amp;quot;-W -Wall -Werror&amp;quot;&lt;/code&gt; is all you need to find&#xA;all the nasty bugs.  And if that&amp;rsquo;s not enough, there are tons of tools&#xA;for static code analysis, like &lt;code&gt;scan-build&lt;/code&gt; in&#xA;&lt;a href=&#34;http://clang-analyzer.llvm.org/scan-build.html&#34; target=&#34;_blank&#34;&gt;Clang&lt;/a&gt;, and&#xA;&lt;a href=&#34;https://scan.coverity.com/&#34; target=&#34;_blank&#34;&gt;Coverity Scan&lt;/a&gt;, to help you &lt;em&gt;find all the&#xA;bugs&lt;/em&gt;!&lt;/p&gt;&#xA;&lt;p&gt;However, these pesky warnings (some of which cannot even be disabled!)&#xA;are sometimes more of a nuisance than help.  Sometimes you &lt;em&gt;know&lt;/em&gt; that&#xA;some parameters to a function will remain unused &amp;ndash; it&amp;rsquo;s a callback, and&#xA;you don&amp;rsquo;t need all the data given to you.  So you start adding all kinds&#xA;of voodoo, like &lt;code&gt;__attribute__ ((unused))&lt;/code&gt; &amp;hellip; seriously?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Recent Open Source Work</title>
      <link>https://troglobit.com/2015/01/08/recent-open-source-work/</link>
      <pubDate>Thu, 08 Jan 2015 01:57:14 +0000</pubDate>
      <guid>https://troglobit.com/2015/01/08/recent-open-source-work/</guid>
      <description>I&amp;rsquo;m a coder, not a writer. Here&amp;rsquo;s what I&amp;rsquo;ve been working on during the winter holidays:&#xA;A new feature release of Finit is coming shortly, which will use libuEv and feature inetd support built-in!&#xA;Another minor release of my own take on event loops, libuEv v1.0.3. This time with a heavy focus on documentation and Q&amp;amp;A, extensive validation testing have been done on this release.&#xA;Released another minor release of mrouted, v3.</description>
    </item>
    <item>
      <title>Blog Restoration Project</title>
      <link>https://troglobit.com/2015/01/02/blog-restoration-project-now-also-on-github-pages/</link>
      <pubDate>Fri, 02 Jan 2015 14:12:59 +0000</pubDate>
      <guid>https://troglobit.com/2015/01/02/blog-restoration-project-now-also-on-github-pages/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve had this long-standing issue with backups.  It&amp;rsquo;s deadly boring to&#xA;set up and maintain, so I don&amp;rsquo;t do any.  Until today!&lt;/p&gt;&#xA;&lt;p&gt;Today I moved the sources for my &lt;a href=&#34;http://troglobit.com&#34; target=&#34;_blank&#34;&gt;Octopress blag&lt;/a&gt;&#xA;to GitHub, which also prompted me to set up&#xA;&lt;a href=&#34;http://troglobit.github.io&#34; target=&#34;_blank&#34;&gt;a mirror&lt;/a&gt; on&#xA;&lt;a href=&#34;http://pages.github.io&#34; target=&#34;_blank&#34;&gt;GitHub Pages&lt;/a&gt;.  As usual, reading up on the&#xA;subject and muster enough motivation took me about three months, whereas&#xA;the actual work took about 4h.&lt;/p&gt;</description>
    </item>
    <item>
      <title>mrouted v3.9.7</title>
      <link>https://troglobit.com/2014/12/28/mrouted-v3-dot-9-7/</link>
      <pubDate>Sun, 28 Dec 2014 19:38:06 +0000</pubDate>
      <guid>https://troglobit.com/2014/12/28/mrouted-v3-dot-9-7/</guid>
      <description>&lt;p&gt;Another release today is the venerable &lt;a href=&#34;https://troglobit.com/mrouted.html&#34;&gt;mrouted&lt;/a&gt;, now&#xA;available as&#xA;&lt;a href=&#34;https://github.com/troglobit/mrouted/releases/tag/3.9.7&#34; target=&#34;_blank&#34;&gt;v3.9.7 on GitHub&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>pimd v2.2.0 -- The last release of pimd?</title>
      <link>https://troglobit.com/2014/12/28/last-release-of-pimd/</link>
      <pubDate>Sun, 28 Dec 2014 13:42:18 +0000</pubDate>
      <guid>https://troglobit.com/2014/12/28/last-release-of-pimd/</guid>
      <description>&lt;p&gt;On one of the last days of 2014 I release &lt;a href=&#34;https://troglobit.com/pimd.html&#34;&gt;pimd&lt;/a&gt;&#xA;&lt;a href=&#34;https://github.com/troglobit/pimd/releases/tag/2.2.0&#34; target=&#34;_blank&#34;&gt;v2.2.0&lt;/a&gt;, which&#xA;is an awesome release with a lot of new features and bug fixes!&lt;/p&gt;&#xA;&lt;p&gt;However, it could very well be the last release I do.  Even though its&#xA;one of my most popular projects on&#xA;&lt;a href=&#34;https://github.com/troglobit&#34; target=&#34;_blank&#34;&gt;GitHub&lt;/a&gt; I have not had enough time to&#xA;dedicate to it over the years.  I will continue to do fixes and merge&#xA;pull requests until someone else steps up to take over.  There is also&#xA;the distinct possibility that the&#xA;&lt;a href=&#34;https://github.com/greearb/xorp.ct&#34; target=&#34;_blank&#34;&gt;Xorp PIM-SM&lt;/a&gt; or the new&#xA;&lt;a href=&#34;https://github.com/udhos/qpimd&#34; target=&#34;_blank&#34;&gt;Quagga PIM-SSM&lt;/a&gt; implementations will&#xA;(finally) make good old pimd completely redundant.&lt;/p&gt;&#xA;&lt;p&gt;At &lt;a href=&#34;http://www.westermo.com&#34; target=&#34;_blank&#34;&gt;work&lt;/a&gt; we will likely start using the&#xA;Quagga PIM rather than pimd in WeOS.&lt;/p&gt;&#xA;&lt;p&gt;For now though, enjoy pimd v2.2.0.  It&amp;rsquo;s been tested in both my Qemu&#xA;based virtual testbed and a few setups using Linux&amp;rsquo; &lt;code&gt;netns&lt;/code&gt; feature in&#xA;&lt;a href=&#34;http://www.nrl.navy.mil/itd/ncs/products/core&#34; target=&#34;_blank&#34;&gt;CORE&lt;/a&gt; &amp;ndash; awesome&#xA;little proggy! :-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>TFTP blocksize negotiation in uftpd v1.7</title>
      <link>https://troglobit.com/2014/12/21/tftp-blocksize-negotiation-in-uftpd-v1-dot-7/</link>
      <pubDate>Sun, 21 Dec 2014 19:42:17 +0000</pubDate>
      <guid>https://troglobit.com/2014/12/21/tftp-blocksize-negotiation-in-uftpd-v1-dot-7/</guid>
      <description>New release of uftpd, this time with TFTP blocksize negotiation, RFC 2348. Making it a lot faster to transfer files over TFTP.&#xA;Try it out!</description>
    </item>
    <item>
      <title>HowTo: Add Multicast Routing to FreeBSD kernel</title>
      <link>https://troglobit.com/2014/09/23/howto-add-multicast-routing-support-to-the-freebsd-kernel/</link>
      <pubDate>Tue, 23 Sep 2014 01:55:19 +0000</pubDate>
      <guid>https://troglobit.com/2014/09/23/howto-add-multicast-routing-support-to-the-freebsd-kernel/</guid>
      <description>This is a very short blog post, mostly intended as a reminder to myself. Basically, there are two methods of adding multicast routing support to the FreeBSD kernel:&#xA;Rebuild the kernel with options MROUTING Load the kernel module: kldload ip_mroute The kernel rebuild assumes the src.txz set was installed previously.&#xA;cd /usr/src cd sys/amd64/conf cat GENERIC | sed &#39;s/GENERIC$/MULTICAST/&#39; &amp;gt; MULTICAST echo &#39;options MROUTING # Multicast routing&#39; &amp;gt;&amp;gt; MULTICAST echo &#39;options PIM # Enable for pimd&#39; &amp;gt;&amp;gt; MULTICAST cd - make kernel KERNCONF=MULTICAST reboot That&amp;rsquo;s it.</description>
    </item>
    <item>
      <title>GnuTLS support in Inadyn and fixes to uftpd</title>
      <link>https://troglobit.com/2014/09/13/gnutls-support-in-inadyn-and-fixes-to-uftpd/</link>
      <pubDate>Sat, 13 Sep 2014 19:18:56 +0000</pubDate>
      <guid>https://troglobit.com/2014/09/13/gnutls-support-in-inadyn-and-fixes-to-uftpd/</guid>
      <description>Quite a few changes lately. I finally got around to adding support for GnuTLS to Inadyn, hopefully this will get into Debian &amp;hellip; unless the Jessie freeze prevents that.&#xA;Also, thanks to a friend of mine trying out uftpd recently I discovered that libuev has been missing from the tarball since the release of the TFTP support. Fixed.&#xA;Another great piece of news is that Coverity accepted uftpd as an Open Source project, I&amp;rsquo;ve been hard at work fixing nasty bugs uncovered by the Coverity Scan.</description>
    </item>
    <item>
      <title>Bugfix release of uftpd</title>
      <link>https://troglobit.com/2014/09/04/bugfix-release-of-uftpd/</link>
      <pubDate>Thu, 04 Sep 2014 22:22:09 +0000</pubDate>
      <guid>https://troglobit.com/2014/09/04/bugfix-release-of-uftpd/</guid>
      <description>So them pesky details of /etc/inetd.conf really are important?&#xA;This is a small bugfix release of uftpd. Version 1.4 is basically just to change nowait to wait for the TFTP service in /etc/inetd.conf, but there&amp;rsquo;s also a minor man page update.&#xA;Enjoy! :)</description>
    </item>
    <item>
      <title>The awesome uftpd, now w/ TFTP support! :)</title>
      <link>https://troglobit.com/2014/09/02/new-release-of-the-awesome-uftpd/</link>
      <pubDate>Tue, 02 Sep 2014 10:47:35 +0000</pubDate>
      <guid>https://troglobit.com/2014/09/02/new-release-of-the-awesome-uftpd/</guid>
      <description>Today sees the release of v1.3 of the awesome little uftpd. The main news is the new TFTP support! Just like before you don&amp;rsquo;t need any configuration file, just build and install &amp;ndash; or build a .deb file and install.&#xA;This release completes the main purpose of uftpd for me, I can now use it as my daily driver and fully replace vsftpd and tftpd-hpa, which to me are the next best.</description>
    </item>
    <item>
      <title>HowTo Rebase without an origin</title>
      <link>https://troglobit.com/2014/08/27/howto-rebase-without-an-origin/</link>
      <pubDate>Wed, 27 Aug 2014 10:00:13 +0000</pubDate>
      <guid>https://troglobit.com/2014/08/27/howto-rebase-without-an-origin/</guid>
      <description>OK, so you&amp;rsquo;ve just been handed the task to integrate a big piece of corporate software and it&amp;rsquo;s nowhere near as done and ready as project management thinks. Of course you&amp;rsquo;ve already started chugging away at it, fixing bugs, refactoring code and wrapping it in neat containers to keep the changeset against the base SW small &amp;ndash; you already know you&amp;rsquo;ll get another drop of the same stinking pieace of code in another six months, so you keep the changes small and track them in GIT with neatly formatted commit messages.</description>
    </item>
    <item>
      <title>On the demise of free(code) ...</title>
      <link>https://troglobit.com/2014/06/29/on-the-demise-of-free-code-dot-dot-dot/</link>
      <pubDate>Sun, 29 Jun 2014 14:52:39 +0000</pubDate>
      <guid>https://troglobit.com/2014/06/29/on-the-demise-of-free-code-dot-dot-dot/</guid>
      <description>&lt;p&gt;I feel I have to write something about the demise of&#xA;&lt;a href=&#34;http://freecode.com&#34; target=&#34;_blank&#34;&gt;free(code)&lt;/a&gt;.&#xA;&lt;a href=&#34;http://esr.ibiblio.org/?p=5936&#34; target=&#34;_blank&#34;&gt;Others&lt;/a&gt; have written about it too,&#xA;and its been covered on &lt;a href=&#34;http://lwn.net/Articles/603403/&#34; target=&#34;_blank&#34;&gt;lwn.net&lt;/a&gt; as&#xA;well.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s actually a rather depressing development.  They claim it&amp;rsquo;s due to&#xA;the low traffic and decline in updates, but it&amp;rsquo;s evident that&amp;rsquo;s not&#xA;the whole truth.  The owners recommend their other site, SourceForge,&#xA;but anyone having been in the loop for the last decade or two knows&#xA;that SourceForge has been in a slow decline for a long time, more so&#xA;than free(code) in my opinion.  Also, SourceForge only lists its own&#xA;projects, and only the most active or &amp;ldquo;top&amp;rdquo; projects.&lt;/p&gt;&#xA;&lt;p&gt;I never used free(code) to find the &amp;ldquo;top&amp;rdquo; projects or the most active&#xA;ones.  That&amp;rsquo;s completely useless to me.  I went there to dig for small&#xA;unknown projects, small gems that are usually unlisted on GitHub or&#xA;SourceForge.  I went there to publicize my own small creations, learn&#xA;about other similar projects and get a quick feedback on recent&#xA;changes of new releases to projects I was interested in.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New releases of uftpd and inadyn ...</title>
      <link>https://troglobit.com/2014/05/20/new-release-of-uftpd-and-inadyn-dot-dot-dot/</link>
      <pubDate>Tue, 20 May 2014 21:08:25 +0000</pubDate>
      <guid>https://troglobit.com/2014/05/20/new-release-of-uftpd-and-inadyn-dot-dot-dot/</guid>
      <description>The last couple of weeks have both seen the birth of the fabulous uftpd and a reignited inadyn project! Yesterday v1.2 of uftpd was released and today Inadyn saw the first working HTTPS support being released as v1.99.8! This is likely the last release of Inadyn before the big 2.0, which will introduce the new .conf file format based on libConfuse. A .conf file feasibility study was presented earlier &amp;hellip;</description>
    </item>
    <item>
      <title>New release of the DDNS client Inadyn</title>
      <link>https://troglobit.com/2014/05/14/new-release-of-the-ddns-client-inadyn/</link>
      <pubDate>Wed, 14 May 2014 08:29:48 +0000</pubDate>
      <guid>https://troglobit.com/2014/05/14/new-release-of-the-ddns-client-inadyn/</guid>
      <description>Looking for a Dynamic DNS, DDNS, client? Well you&amp;rsquo;re in luck, the FLOSS market space is flooded with dedicated clients and various wget scripts. So why bother with an old C implementation? Well, this is admittedly one of the old timers in the game and is likely packaged for your GNU/Linux distribution of choice already. It&amp;rsquo;s tried and tested with many DDNS service providers and even comes bundled in a few embedded router distributions as well.</description>
    </item>
    <item>
      <title>Why write your own FTP server?</title>
      <link>https://troglobit.com/2014/05/04/why-write-your-own-ftp-server/</link>
      <pubDate>Sun, 04 May 2014 11:25:09 +0000</pubDate>
      <guid>https://troglobit.com/2014/05/04/why-write-your-own-ftp-server/</guid>
      <description>&lt;p&gt;So, I finally got fed up with all other FTP servers and wrote&#xA;&lt;a href=&#34;https://troglobit.com/uftpd.html&#34;&gt;my own&lt;/a&gt;.  Why would someone in their right mind do&#xA;something like this 2014?&lt;/p&gt;&#xA;&lt;p&gt;As a developer the answer to most such questions is usually; to&#xA;scratch an itch.  For a very long time I&amp;rsquo;ve looked for a really simple&#xA;FTP server that just works, out of the box!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Release of Finit v1.9</title>
      <link>https://troglobit.com/2014/04/21/release-of-finit-v1-dot-9/</link>
      <pubDate>Mon, 21 Apr 2014 16:08:30 +0000</pubDate>
      <guid>https://troglobit.com/2014/04/21/release-of-finit-v1-dot-9/</guid>
      <description>Just made it! Here&amp;rsquo;s the result of #Easterhack14 &amp;ndash; Finit v1.9 :-)&#xA;Nothing fancy this time, just collecting some bug fixes, playing with cppcheck a bit and adding support for including .conf files. Quite useful if you want to partition your configuration, or if you share major pieces of configuration between different platforms.&#xA;Enjoy!</description>
    </item>
    <item>
      <title>Finally — Google Movies &amp; Music in Sweden</title>
      <link>https://troglobit.com/2014/03/18/finally-google-movies-and-music-in-sweden/</link>
      <pubDate>Tue, 18 Mar 2014 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2014/03/18/finally-google-movies-and-music-in-sweden/</guid>
      <description>So, we finally got Google Music &amp;amp; Movies services in Sweden! The prices seem a bit on the steep side, apart from maybe the Music service, which is slightly cheaper than Spotify. Will try it out for a month or so to see which one I like better.&#xA;For some reason I chose Gravity as my first rental, at 39 Skr. I&amp;rsquo;ve heard so many bad reviews of it but for better or worse it&amp;rsquo;ll now be my introduction to Google Movies :-)</description>
    </item>
    <item>
      <title>Weekend Hack: JSON vs CONF</title>
      <link>https://troglobit.com/2014/02/23/weekend-hack-json-vs-conf/</link>
      <pubDate>Sun, 23 Feb 2014 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2014/02/23/weekend-hack-json-vs-conf/</guid>
      <description>It was time. I had been putting it off for far too long &amp;ndash; learning about JSON and deciding on a new .conf file format for Inadyn. So this weekend I sat myself down to read up on JSON and the multitude of parser libraries for both JSON and traditional .conf file parsers. I was looking for a human readable file format that a user could easily and reliably edit by themselves without it being too error prone or sensitive to mistyping.</description>
    </item>
    <item>
      <title>Just a Programmer</title>
      <link>https://troglobit.com/2013/08/13/just-a-programmer/</link>
      <pubDate>Tue, 13 Aug 2013 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2013/08/13/just-a-programmer/</guid>
      <description>&lt;p&gt;Sometimes people ask me what I do for a living.  Usually I tend to&#xA;pause and think, real hard, becuase the people asking me this aren&amp;rsquo;t&#xA;programmers.  They use computers, but are mostly limited to a Windows&#xA;machine, writing in MS Word and browsing the Internet, mostly for&#xA;Facebook.&lt;/p&gt;&#xA;&lt;p&gt;I often start off with: &amp;ldquo;It&amp;rsquo;s a bit complicated to explain &amp;hellip; &amp;ldquo;, by&#xA;which time I&amp;rsquo;ve lost most of the people in the room listening to me.&#xA;Sometimes I say: &amp;ldquo;I&amp;rsquo;m a software architect.&amp;rdquo;, because people seem to&#xA;know what architects do for a living, they draw houses, design stuff&#xA;and drive SAAB&amp;rsquo;s.  Much like dentists.  The prefix &amp;ldquo;software&amp;rdquo; however&#xA;does confuse people.&lt;/p&gt;</description>
    </item>
    <item>
      <title>On commit messages ...</title>
      <link>https://troglobit.com/2013/08/13/on-commit-messages-dot-dot-dot/</link>
      <pubDate>Tue, 13 Aug 2013 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2013/08/13/on-commit-messages-dot-dot-dot/</guid>
      <description>There&amp;rsquo;s just one thing to say on the topic of commit messages: ur doin it wrong if &amp;hellip;</description>
    </item>
    <item>
      <title>On the Linearity of Time</title>
      <link>https://troglobit.com/2013/08/09/on-the-linearity-of-time/</link>
      <pubDate>Fri, 09 Aug 2013 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2013/08/09/on-the-linearity-of-time/</guid>
      <description>&lt;p&gt;Don&amp;rsquo;t try this at home kids. (Disclaimer: I live in Sweden :)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Threads vs Events</title>
      <link>https://troglobit.com/2013/08/06/event-handling/</link>
      <pubDate>Tue, 06 Aug 2013 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2013/08/06/event-handling/</guid>
      <description>&lt;p&gt;This is a rant about something I recently found to be a long standing&#xA;battle line in the world of programming,&#xA;&lt;a href=&#34;http://cgi.di.uoa.gr/~mema/courses/mde518/papers/lauer78.pdf&#34; target=&#34;_blank&#34;&gt;Lau78&lt;/a&gt;.&#xA;The event vs thread based approach to programming.  As rants go I do&#xA;not aspire to deliver a clear or logical message, what so ever.  It&amp;rsquo;s&#xA;basically just something I need to get off my chest.&lt;/p&gt;&#xA;&lt;p&gt;It was not until 2007 I first learned about the event based approach&#xA;to programming and event libraries like&#xA;&lt;a href=&#34;http://libevent.org/&#34; target=&#34;_blank&#34;&gt;libevent&lt;/a&gt; and&#xA;&lt;a href=&#34;http://software.schmorp.de/pkg/libev.html&#34; target=&#34;_blank&#34;&gt;libev&lt;/a&gt;.  Up until that&#xA;point the silver bullet everyone was using was &amp;hellip; Threads.&lt;/p&gt;</description>
    </item>
    <item>
      <title>New Open Source Releases</title>
      <link>https://troglobit.com/2013/07/12/new-open-source-releases/</link>
      <pubDate>Fri, 12 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2013/07/12/new-open-source-releases/</guid>
      <description>Vacation time means catching up on my Open Source projects! :)&#xA;Currently I&amp;rsquo;m shaping up the home pages and this blog to improve the easy access and overview of all the packages I maintain. The following packages have new releases, or can expect new releases soon:&#xA;Minix Editline v1.14.1 SMCRoute v1.99.1 &amp;ndash; There&amp;rsquo;s even a v2.0.0 being planned, with the core of SMCRoute available as a library mrouted minor cleanup an sync with OpenBSD pimd cleanups and bug fixes, needs testing inadyn is in dire need of a release, but needs more testing and fixes As usual, see my GitHub for the latest commits if you want to try anything out, file an issue report, or if you want to contribute.</description>
    </item>
    <item>
      <title>Net Install CentOS</title>
      <link>https://troglobit.com/2013/07/10/net-install-centos/</link>
      <pubDate>Wed, 10 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2013/07/10/net-install-centos/</guid>
      <description>I usually run Debian or Ubuntu on my machines. However, having recently found some time to work on my various projects again, I&amp;rsquo;ve now suddenly found myself in need of a CentOS machine.&#xA;The CentOS home page invited me to download an installation ISO, so I went for the small Net Install which started perfectly with my virt-manager in Ubuntu.&#xA;All I had to provide was an FTP server and directory:</description>
    </item>
    <item>
      <title>File System Pass-Through in KVM/Qemu/libvirt</title>
      <link>https://troglobit.com/2013/07/05/file-system-pass-through-in-kvm-slash-qemu-slash-libvirt/</link>
      <pubDate>Fri, 05 Jul 2013 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2013/07/05/file-system-pass-through-in-kvm-slash-qemu-slash-libvirt/</guid>
      <description>&lt;p&gt;This post doesn&amp;rsquo;t cover fully setting up KVM/Qemu with virt-manager&#xA;and creating virtual machine guests.  See the Ubuntu&#xA;&lt;a href=&#34;https://help.ubuntu.com/community/KVM/Installation&#34; target=&#34;_blank&#34;&gt;KVM Installtion&lt;/a&gt;,&#xA;&lt;a href=&#34;https://help.ubuntu.com/community/KVM/VirtManager&#34; target=&#34;_blank&#34;&gt;VirtManager Guide&lt;/a&gt;,&#xA;the&#xA;&lt;a href=&#34;https://help.ubuntu.com/13.04/serverguide/libvirt.html&#34; target=&#34;_blank&#34;&gt;Ubuntu Server Guide on libvirt&lt;/a&gt;,&#xA;or&#xA;&lt;a href=&#34;http://www.howtoforge.com/virtualization-with-kvm-on-ubuntu-12.04-lts-p3&#34; target=&#34;_blank&#34;&gt;HowtoForge&lt;/a&gt;&#xA;for that.&lt;/p&gt;&#xA;&lt;p&gt;Instead this blog post details the most relevant steps to get file&#xA;system pass-through between a Linux host and Qemu guest working.  The&#xA;upstream &lt;a href=&#34;http://wiki.qemu.org/Documentation/9psetup&#34; target=&#34;_blank&#34;&gt;Qemu docs&lt;/a&gt;&#xA;provide a good starting point, as is the original&#xA;&lt;a href=&#34;https://www.kernel.org/doc/ols/2010/ols2010-pages-109-120.pdf&#34; target=&#34;_blank&#34;&gt;IBM paper on VirtFS&lt;/a&gt;.&#xA;For users of Ubuntu &amp;lt;= 13.04, watch out for the&#xA;&lt;a href=&#34;https://bugs.launchpad.net/ubuntu/&amp;#43;source/libvirt/&amp;#43;bug/943680&#34; target=&#34;_blank&#34;&gt;libvirt bug&lt;/a&gt;&#xA;that I know many people run into, myself included.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Programming as an Artform</title>
      <link>https://troglobit.com/2013/06/22/programming-as-an-artform/</link>
      <pubDate>Sat, 22 Jun 2013 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2013/06/22/programming-as-an-artform/</guid>
      <description>&lt;p&gt;This is a response to the excellent post by Jani Gorše, titled&#xA;&lt;a href=&#34;https://blooki.st/BlookElement/ShowTextPhoto?blookElementId=1962&#34; target=&#34;_blank&#34;&gt;Why is Programming an Art?&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Ever since I began studying Computer Engineering at &lt;a href=&#34;http://www.mdh.se&#34; target=&#34;_blank&#34;&gt;university&lt;/a&gt; back&#xA;in 1995 I have struggled to find the &amp;ldquo;proper&amp;rdquo; ways to format my code,&#xA;name functions and variables appropriately, structure functions into&#xA;files and files into directories with Makefiles and Makefile snippets,&#xA;using both recursive and non-recursive make.  Formatting of code, for&#xA;instance, was for a while a bit of an obsession of mine, and it sort of&#xA;is still.  But today I am more concerned with the overall structure and&#xA;how components interact.  Even though I can still get very annoyed at&#xA;people naming their local variables obtrusively.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Finit v1.8</title>
      <link>https://troglobit.com/2013/06/08/finit-v1-dot-8/</link>
      <pubDate>Sat, 08 Jun 2013 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2013/06/08/finit-v1-dot-8/</guid>
      <description>It&amp;rsquo;s been a long time coming, but here it finally is, Finit v1.8! The goodies we&amp;rsquo;ve been waiting for are:&#xA;Runlevels Multiple TTYs One-shot tasks Let&amp;rsquo;s start off with tasks. Tasks are one-shot commands, with a syntax like service directives, but are not monitored and respawned like services. Tasks are started in parallel, just like services. For some cases, like the system bootstrap phase, some tasks may need to be executed in sequence, and for that purpose there also exists a run command.</description>
    </item>
    <item>
      <title>Proof of Life</title>
      <link>https://troglobit.com/2013/06/07/proof-of-life/</link>
      <pubDate>Fri, 07 Jun 2013 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2013/06/07/proof-of-life/</guid>
      <description>There is a certain &amp;ldquo;burstyness&amp;rdquo; to the way I work on my open source projects. It seems it often coincides with intense work loads during new release cycles at work.&#xA;However, I&amp;rsquo;ve just finished restoring two pages that got lost in the big server crash:&#xA;mrouted pimd Big thanks goes to the Wayback Machine for maintaining records of the original pages I lost!</description>
    </item>
    <item>
      <title>Resurrection</title>
      <link>https://troglobit.com/2013/02/17/resurrection/</link>
      <pubDate>Sun, 17 Feb 2013 00:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2013/02/17/resurrection/</guid>
      <description>Quite some time has passed now since our old site, http://vmlinux.org, crashed and burned, and with it much of my previous Open Source work and blogs. Tech blog entries, archives for the projects I maintain, lost.&#xA;Backups? Of course not.&#xA;This all happened in 2011. Since then we also managed to lose the domain and I kind of lost myself for a while, including my motivation.&#xA;Fortunately, at this point in time I had migrated most of my projects from CVS and Subversion to DVCS&amp;rsquo; like Bzr and GIT, so I could easily setup new homes for most of my Open Source projects at GitHub.</description>
    </item>
    <item>
      <title>Announcing pimd v2.1.7</title>
      <link>https://troglobit.com/2011/01/09/announcing-pimd-v2-dot-1-7/</link>
      <pubDate>Sun, 09 Jan 2011 20:20:57 +0000</pubDate>
      <guid>https://troglobit.com/2011/01/09/announcing-pimd-v2-dot-1-7/</guid>
      <description>This is a followup release to the security fix in pimd, v2.1.6. The change to use /var/lib/misc/, instead of the insecure /var/tmp/, has now been refactored into using the proper FHS recommended /var/run/pimd/ instead.&#xA;As always, check the homepage, the ChangeLog and the GIT log for more details.</description>
    </item>
    <item>
      <title>Announcing pimd v2.1.6</title>
      <link>https://troglobit.com/2011/01/08/announcing-pimd-v2-dot-1-6/</link>
      <pubDate>Sat, 08 Jan 2011 23:40:22 +0000</pubDate>
      <guid>https://troglobit.com/2011/01/08/announcing-pimd-v2-dot-1-6/</guid>
      <description>This is a security release of pimd, v2.1.6. The following fixes are included:&#xA;CVE-2011-0007: &amp;ldquo;Insecure file creation in /var/tmp&amp;rdquo; Build error on GNU/kFreeBSD Thanks to Vincent Bernat this time for the CVE fix!&#xA;As always, check the homepage, the ChangeLog and the GIT log for more details.</description>
    </item>
    <item>
      <title>Use Ubuntu to Serve iTunes</title>
      <link>https://troglobit.com/2010/12/31/ubuntu-to-serve-music-to-itunes/</link>
      <pubDate>Fri, 31 Dec 2010 20:26:37 +0000</pubDate>
      <guid>https://troglobit.com/2010/12/31/ubuntu-to-serve-music-to-itunes/</guid>
      <description>OK, so we finally got an iPad. The effective marketing droids of Apple are doing a good job, even the Linux zealots are starting to use their products :-)&#xA;So, how to serve the immense music collection of our family to the iPad? Well, it seems the magic integration with iTunes is not enough (yet), so you need a Simple Daap Client app on your iPad to get the most out of this HowTo.</description>
    </item>
    <item>
      <title>Announcing mrouted v3.9.3</title>
      <link>https://troglobit.com/2010/10/11/announcing-mrouted-v3-dot-9-3/</link>
      <pubDate>Mon, 11 Oct 2010 23:44:28 +0000</pubDate>
      <guid>https://troglobit.com/2010/10/11/announcing-mrouted-v3-dot-9-3/</guid>
      <description>Here is another bug-fix release of mrouted. This time with a couple of really nasty bugs fixed. A big thanks to Dan Kruchinin for tracking down a NULL pointer dereference in the conf file parser and an overzealous check of netmask that made mrouted useless over tunnel interfaces or point-to-point links (OpenVPN, PPP, L2TP and PPTP). See the ChangeLog or the GIT log for details.</description>
    </item>
    <item>
      <title>Announcing pimd v2.1.3</title>
      <link>https://troglobit.com/2010/09/08/announcing-pimd-v2-dot-1-3/</link>
      <pubDate>Wed, 08 Sep 2010 23:44:49 +0000</pubDate>
      <guid>https://troglobit.com/2010/09/08/announcing-pimd-v2-dot-1-3/</guid>
      <description>I&amp;rsquo;m very pleased to present the next bug-fix release of pimd, v2.1.3. The real announcement for v2.1.2 I never really got around to write because the diligent Debian maintainer, Antonin Kral alerted me to some problems. Which is great! I do not have the resources to test the build on all those platforms. I sure appreciate all the help I can get. Thank you Antonin!&#xA;As always, check the homepage, the changelog and the GIT log for details.</description>
    </item>
    <item>
      <title>Finally, NetBSD Boots in KVM!</title>
      <link>https://troglobit.com/2010/08/29/finally/</link>
      <pubDate>Sun, 29 Aug 2010 20:44:34 +0000</pubDate>
      <guid>https://troglobit.com/2010/08/29/finally/</guid>
      <description>Compared to OpenBSD and FreeBSD the NetBSD install was hard, really hard. It wasn&amp;rsquo;t until I stumbled across this that I managed to convince myself to try it again.&#xA;The trick seems to be to ignore as much as you can from other Internet tips. NetBSD runs fine in KVM, so if someone says you need to run it in Qemu mode — don&amp;rsquo;t believe the hype. OK, in virt-manager there is no preset defaults for NetBSD, so I went with a generic OS and tried starting the install from there.</description>
    </item>
    <item>
      <title>Minix editline v1.14.0</title>
      <link>https://troglobit.com/2010/08/12/minix-editline-1-dot-14-dot-0/</link>
      <pubDate>Thu, 12 Aug 2010 18:17:40 +0000</pubDate>
      <guid>https://troglobit.com/2010/08/12/minix-editline-1-dot-14-dot-0/</guid>
      <description>It is with great pleasure I announce the next release of the editline library by Simmule Turner and Rich Salz! This is a popular library, it exists in several forked versions. This release marks the end of a huge effort where archaeological methods have been applied to recover fixes and improvements developed independently over several decades by the following projects: Heimdal, Festival speech-tools, Debian, as well as patches by Mr. Steve Tell.</description>
    </item>
    <item>
      <title>Micro Tetris™ v1.2.0</title>
      <link>https://troglobit.com/2010/08/02/micro-tetris-1-dot-2-0/</link>
      <pubDate>Mon, 02 Aug 2010 00:56:35 +0000</pubDate>
      <guid>https://troglobit.com/2010/08/02/micro-tetris-1-dot-2-0/</guid>
      <description>New release of Micro Tetris™, v1.2.0, available for download now! Noteworthy changes and additions:&#xA;Preview display fixes by Mattias Walström Next level triggered after every 10 cleared lines Speed increase by each level Display high score at game over High score recorded to save file Pause key fixed, again by Mattias Walström Online GIT repository and release tarball available at the usual places:&#xA;github:tetris.git (Main GIT) vmlinux:tetris.git (Backup) tetris-1.2.0.tar.bz2, MD5 (FTP) See also the Freshmeat page for a more consistent updates.</description>
    </item>
    <item>
      <title>Minix editline moves to GIT</title>
      <link>https://troglobit.com/2010/07/19/minix-editline-moves-to-git/</link>
      <pubDate>Mon, 19 Jul 2010 02:40:36 +0000</pubDate>
      <guid>https://troglobit.com/2010/07/19/minix-editline-moves-to-git/</guid>
      <description>A small heads-up, I&amp;rsquo;ve migrated the Minix editline project from Bazaar to GIT. The new URL for keeping tabs on your favourite free readline() clone is:&#xA;http://git.vmlinux.org/editline.git/&#xA;I&amp;rsquo;m currently working on fixing up the tree and doing some house cleaning — including making more stuff configurable — before releasing a 1.14.0 later on.&#xA;One such item is the integration of libtool with our autoconf friends. This should make it lot more portable (again) and also help smooth a merge with other sources for this library.</description>
    </item>
    <item>
      <title>Git Quickie</title>
      <link>https://troglobit.com/2010/07/13/git-quickie/</link>
      <pubDate>Tue, 13 Jul 2010 20:45:49 +0000</pubDate>
      <guid>https://troglobit.com/2010/07/13/git-quickie/</guid>
      <description>This is a document I intend to maintain for my own purposes. It serves as a quick reminder for the steps needed when creating and working with git repositories.&#xA;First setup a bare repository on the server.&#xA;$ git --bare init projectX.git Initialized empty Git repository in /pub/git/projectX.git/ Set one-liner description, visible in gitweb.&#xA;$ echo &amp;quot;Secret project, use ROT13 to decode source code&amp;quot; &amp;gt;projectX.git/description Set up a post-update hook so that the server repo is update automatically when you push to it.</description>
    </item>
    <item>
      <title>Converting from Bazaar to GIT</title>
      <link>https://troglobit.com/2010/07/13/converting-from-bazaar-to-git/</link>
      <pubDate>Tue, 13 Jul 2010 01:56:11 +0000</pubDate>
      <guid>https://troglobit.com/2010/07/13/converting-from-bazaar-to-git/</guid>
      <description>You need git, and bazaar obviously. Also install bzr-fastimport, it contains the export plugin as well. The rest is a rip off from Frank&amp;rsquo;s page.&#xA;$ git init project.git $ cd project.git $ bzr fast-export --export-marks=.git/bzr.mark ~/project.bzr | git fast-import --export-marks=.git/git.mark That worked for me. The output will likely be something like this:&#xA;01:41:19 Calculating the revisions to include ... 01:41:19 Starting export of 33 revisions ... 01:41:20 Exported 33 revisions in 0:00:01 git-fast-import statistics: --------------------------------------------------------------------- Alloc&amp;#39;d objects: 5000 Total objects : 267 ( 0 duplicates ) blobs : 158 ( 0 duplicates 57 deltas) trees : 76 ( 0 duplicates 55 deltas) commits: 33 ( 0 duplicates 0 deltas) tags : 0 ( 0 duplicates 0 deltas) Total branches : 10 ( 1 loads ) marks : 1024 ( 33 unique ) atoms : 38 Memory total : 2344 KiB pools : 2110 KiB objects: 234 KiB --------------------------------------------------------------------- pack_report: getpagesize() = 4096 pack_report: core.</description>
    </item>
    <item>
      <title>Syntax highlighting in less</title>
      <link>https://troglobit.com/2010/05/09/syntax-highlighting-in-less/</link>
      <pubDate>Sun, 09 May 2010 19:53:19 +0000</pubDate>
      <guid>https://troglobit.com/2010/05/09/syntax-highlighting-in-less/</guid>
      <description> Yes, it&amp;rsquo;s certainly possible and source code becomes so much easier to read. Try it out by:&#xA;downloading my .lessfilter save it as ~/.lessfilter in your $HOME Profit! Ahem &amp;hellip;&#xA;Just try it out on a C source file :-)&#xA;less -R myfile.c </description>
    </item>
    <item>
      <title>HowTo: Move window buttons back to the right</title>
      <link>https://troglobit.com/2010/05/01/howto-move-window-buttons-back-to-the-right-hand-side/</link>
      <pubDate>Sat, 01 May 2010 16:46:57 +0000</pubDate>
      <guid>https://troglobit.com/2010/05/01/howto-move-window-buttons-back-to-the-right-hand-side/</guid>
      <description>When you&amp;rsquo;ve installed Ubuntu 10.04 you might want to have the window controls back to the right side, where you&amp;rsquo;re used to having them. Use the following simple command:&#xA;gconftool-2 --set /apps/metacity/general/button_layout --type string &amp;quot;menu:minimize,maximize,close&amp;quot; </description>
    </item>
    <item>
      <title>Best. Programming. Font. Ever.</title>
      <link>https://troglobit.com/2010/04/26/best-programming-font-ever/</link>
      <pubDate>Mon, 26 Apr 2010 22:44:19 +0000</pubDate>
      <guid>https://troglobit.com/2010/04/26/best-programming-font-ever/</guid>
      <description>This is not only a reminder to myself, it is appraisal to the probably best programming font ever: Inconsolata. Thank you so much, Mr Raph Levien!&#xA;On the previous laptop I used ProFont quite extensively, but its screen was only 1280x800, on the new laptop I have 1680x1050 and ProFont just got too small for my aging eyes.&#xA;For more tips on fonts, see Top-10 Programming Fonts and KeithDevens.com.</description>
    </item>
    <item>
      <title>Oona 6 years old!</title>
      <link>https://troglobit.com/2009/06/14/oona-6-years-old/</link>
      <pubDate>Sun, 14 Jun 2009 21:04:34 +0000</pubDate>
      <guid>https://troglobit.com/2009/06/14/oona-6-years-old/</guid>
      <description>Wow, this friday (June 12th) my daughter turned six! I can hardly believe it is six years since she came into our lives, time has gone by so quick &amp;hellip; when she was born we still lived in Västerås, now she has a younger brother and we live in a great house in Skultuna.&#xA;Happy birthday, Oona! I wish you all the best now that you&amp;rsquo;re starting first year of school after the summer vacation.</description>
    </item>
    <item>
      <title>Editline First Post</title>
      <link>https://troglobit.com/2009/06/14/editline-first-post/</link>
      <pubDate>Sun, 14 Jun 2009 20:44:45 +0000</pubDate>
      <guid>https://troglobit.com/2009/06/14/editline-first-post/</guid>
      <description>For a while now I&amp;rsquo;ve been maintaining a port of the Minix editline library libedit. Mainly for my own purposes, or rather on behalf of Westermo WeOS, where it is used in the CLI. This library is the same as the Debian editline package, even though the origin of that package is somewhat unclear to me.&#xA;Today I decided to adjust the package name and bump the version number to indicate that my port is the same, and now slightly more advanced, than the Debian version.</description>
    </item>
    <item>
      <title>HowTo use Git for Collaborative Development</title>
      <link>https://troglobit.com/2009/06/13/howto-use-git-for-collaborative-development/</link>
      <pubDate>Sat, 13 Jun 2009 00:36:07 +0000</pubDate>
      <guid>https://troglobit.com/2009/06/13/howto-use-git-for-collaborative-development/</guid>
      <description>This is mainly some notes for myself so I don&amp;rsquo;t forget. Having worked with GNU Bazaar before much of Git is still alien to me.&#xA;This HowTo is divided into two parts:&#xA;what happens on your laptop, and what you must do on a remote server where you publish your changes So, let&amp;rsquo;s start stimple:&#xA;laptop&amp;gt; mkdir projectX; cd projectX laptop&amp;gt; git init laptop&amp;gt; emacs file1.txt laptop&amp;gt; git add file1.txt laptop&amp;gt; git commit -m &amp;quot;Initial commit&amp;quot; Thus far no suprises, right?</description>
    </item>
    <item>
      <title>Micro Tetris™</title>
      <link>https://troglobit.com/2009/06/13/micro-tetris/</link>
      <pubDate>Sat, 13 Jun 2009 00:04:30 +0000</pubDate>
      <guid>https://troglobit.com/2009/06/13/micro-tetris/</guid>
      <description>I just published the unobfuscated version of the 1989 IOCCC Best Game entry, Tetris™. See the original author&amp;rsquo;s, John Tromp, home page for the game for details. But suffice it to say, this is an extremely bare bones version of the classic game and very similar to the BSD games&amp;rsquo; version.&#xA;Actually, this similarity in board layout, key combinations and feel led me to do some archaeological digging. I dowloaded the classic BSD games collection and, after having called GNU Indent on the obfuscated code, I started noticing such extreme similarities that just could not be coincidental.</description>
    </item>
    <item>
      <title>More about Bzrweb and some about Git</title>
      <link>https://troglobit.com/2009/06/12/more-about-bzrweb-and-some-about-git/</link>
      <pubDate>Fri, 12 Jun 2009 19:50:27 +0000</pubDate>
      <guid>https://troglobit.com/2009/06/12/more-about-bzrweb-and-some-about-git/</guid>
      <description>OK, I admit it. I cannot decide what version control system (VCS) to use. I&amp;rsquo;m stuck between the speed and massive snow ball effect of Git and the ease of use and emotional attachment I have to Bazaar.&#xA;I&amp;rsquo;ve been &amp;ldquo;maintaining&amp;rdquo; bzrweb for a while now, not doing a very good job of it though. It&amp;rsquo;s lagging behind considerably to the bzr API. After the upgrade of vmlinux.org to the latest Ubuntu server release bzrweb actually didn&amp;rsquo;t work at all.</description>
    </item>
    <item>
      <title>Howto Setup and Run Xen</title>
      <link>https://troglobit.com/2009/06/08/howto-setup-and-run-xen/</link>
      <pubDate>Mon, 08 Jun 2009 22:05:42 +0000</pubDate>
      <guid>https://troglobit.com/2009/06/08/howto-setup-and-run-xen/</guid>
      <description>This is an extremly brief and quick Xen tutorial. There are lots of them already, see your GNU/Linux distribution&amp;rsquo;s wiki, HowtoForge or other places for a starter guide. This particular HowTo deals with setting up Xen as easy as possible using Ubuntu 8.04 LTS as host operating system (dom0 in Xen terms) and Ubuntu 9.04 as guest operating systems (domU in Xen lingo).&#xA;Ubuntu 8.04 LTS comes with a Xen kernel that can run as dom0.</description>
    </item>
    <item>
      <title>Learning About GIT</title>
      <link>https://troglobit.com/2009/04/10/learning-about-git/</link>
      <pubDate>Fri, 10 Apr 2009 16:23:42 +0000</pubDate>
      <guid>https://troglobit.com/2009/04/10/learning-about-git/</guid>
      <description>It has been a long time coming, but now I&amp;rsquo;m seriously starting to look at Git. Git is the content tracker used by the Linux kernel folks, initially developed by Torvalds.&#xA;At Westermo R&amp;amp;D we use Subversion for our daily operations and today I started migrating the software to Git. Mainly just to get a comparison of performance, storage size and to explore how we can use Git on top of svn to become more productive when working in parallel in different teams.</description>
    </item>
    <item>
      <title>Brief libev update</title>
      <link>https://troglobit.com/2009/04/05/brief-libev-update/</link>
      <pubDate>Sun, 05 Apr 2009 23:53:47 +0000</pubDate>
      <guid>https://troglobit.com/2009/04/05/brief-libev-update/</guid>
      <description>I have now updated the libev examples. It took me a while, but during that time I have been hard at work converting two of our network daemons to use libev. As of today the upcoming Westermo WeOS uses libev in both its rstpd and igmpd implementations.&#xA;Updated example code:&#xA;timer test message queue test Enjoy, and feel free to [contact me][6] if you have any questions or comments on the code.</description>
    </item>
    <item>
      <title>The Marvellous libev</title>
      <link>https://troglobit.com/2009/03/28/the-marvellous-libev/</link>
      <pubDate>Sat, 28 Mar 2009 23:00:00 +0000</pubDate>
      <guid>https://troglobit.com/2009/03/28/the-marvellous-libev/</guid>
      <description>A very good friend mine recently told me about a neat event library, libev. Usually when he drops me links like that it takes me a couple of years to react and finally adopt.&#xA;This time it only took me about a month.&#xA;He has actually showed me lots of very useful stuff throughout the years, and even though we used GNU/Linux at university, he was one those hard core people who showed me the path into a successful full-time career as a Linux developer.</description>
    </item>
    <item>
      <title>Why I Like C</title>
      <link>https://troglobit.com/2009/03/27/why-i-like-c/</link>
      <pubDate>Fri, 27 Mar 2009 00:37:42 +0000</pubDate>
      <guid>https://troglobit.com/2009/03/27/why-i-like-c/</guid>
      <description>I thought I was alone, but it turns out I&amp;rsquo;m not. Scott James Remnant describes exactly what I&amp;rsquo;ve been feeling the last couple of years. Read his blog entry on the subject. I couldn&amp;rsquo;t agree more.</description>
    </item>
    <item>
      <title>Link Collection 2009-02-28</title>
      <link>https://troglobit.com/2009/02/28/link-collection-2009-02-28/</link>
      <pubDate>Sat, 28 Feb 2009 23:36:37 +0000</pubDate>
      <guid>https://troglobit.com/2009/02/28/link-collection-2009-02-28/</guid>
      <description>This makes it possible to debug why a disk needs to spin up, and to increase battery life even more.&#xA;Dislike NetworkManager? Try wicd &amp;hellip;&#xA;Minimalistic distro Crush Bang Linux 8.10&#xA;Ah, what every FLOSS dad is looking for, a way to make your kids interested in your world instead of the dark side, and what is better than to trick them into it with a cool Linux game? Read Uwe Hermann&amp;rsquo;s blog about Teeworlds, or visit the home page.</description>
    </item>
    <item>
      <title>Reminder to Self</title>
      <link>https://troglobit.com/2009/02/14/reminder-to-self/</link>
      <pubDate>Sat, 14 Feb 2009 21:13:41 +0000</pubDate>
      <guid>https://troglobit.com/2009/02/14/reminder-to-self/</guid>
      <description>How to recode AVI-files to be able to write them to a Video CD.&#xA;ffmpeg -i original.avi -target pal-vcd copy.mpg vcdimager -t vcd1 -l &amp;quot;Title&amp;quot; -c vcd.cue -b vcd.bin copy.mpg cdrdao write --device /dev/cdrw vcd.cue Note: vcdimager is able to take multiple .mpg files as argument, very useful when burning multiple family videos to the same disc!&#xA;Tip from Johan Risberg on how to be able to reattach a UTF-8 Linux screen session from Cygwin.</description>
    </item>
    <item>
      <title>Netork Programming -- Link Collection</title>
      <link>https://troglobit.com/2009/02/10/network-programming-link-collection/</link>
      <pubDate>Tue, 10 Feb 2009 21:56:42 +0000</pubDate>
      <guid>https://troglobit.com/2009/02/10/network-programming-link-collection/</guid>
      <description>This is a first effort at collecting information about network programming structs and APIs available in UNIX. I plan on updating this as I find more.&#xA;Linux Journal: Linux Network Programming, Part I, II, III. Linux Journal: Multicast Routing Code in the Linux Kernel Linux Journal: Inside the Linux Packet Filter, Part I, II /usr/include/netinet/in.h There are of course, in addition to these fine sources, the entire catalogue of work by Richard M.</description>
    </item>
    <item>
      <title>Minix editline v0.3.0</title>
      <link>https://troglobit.com/2009/02/08/minix-editline-v0-dot-3-0/</link>
      <pubDate>Sun, 08 Feb 2009 22:35:22 +0000</pubDate>
      <guid>https://troglobit.com/2009/02/08/minix-editline-v0-dot-3-0/</guid>
      <description>It&amp;rsquo;s here! Fresh, new and packed with new features! Well, really just one new major feature — support for ANSI arrow keys. A good enough reason to bump the minor version number :-)&#xA;Get it from the usual FTP location:&#xA;http://ftp.vmlinux.org/pub/People/jocke/minix-editline/ </description>
    </item>
    <item>
      <title>The joy of colors</title>
      <link>https://troglobit.com/2008/11/09/the-joy-of-colors/</link>
      <pubDate>Sun, 09 Nov 2008 00:39:27 +0000</pubDate>
      <guid>https://troglobit.com/2008/11/09/the-joy-of-colors/</guid>
      <description>Ever so often, as I have mentioned before, I lose myself in trying to find new ways of working and doing my daily tasks. One such digression is the topic of editors. I mainly use GNU Emacs for development and other major tasks, for everything else I use Vim.&#xA;Vim is quick to start, capable, good looking and easy to use, contrary to other vi implementations. (Most notably nvi, which I hate with a passion!</description>
    </item>
    <item>
      <title>Minix editline v0.2.2</title>
      <link>https://troglobit.com/2008/11/08/minix-editline-v0-dot-2-2/</link>
      <pubDate>Sat, 08 Nov 2008 20:24:22 +0000</pubDate>
      <guid>https://troglobit.com/2008/11/08/minix-editline-v0-dot-2-2/</guid>
      <description>Oups, it seems I forgot to announce the v0.2.2 release of the Minix editline library! It was made official in Bazaar over a month ago, 2008-10-02, but it was not until today that the tarball was created and uploaded to the FTP.&#xA;The most noteworthy in this release is support for command completion with the addition of rl_complete() and rl_list_possib(). Two function pointers that easily can be overloaded by the user.</description>
    </item>
    <item>
      <title>Ubuntu 8.10rc1 &amp;mdash; NetworkManager WTF?!</title>
      <link>https://troglobit.com/2008/10/27/ubuntu-8-dot-10rc1-networkmanager-wtf/</link>
      <pubDate>Mon, 27 Oct 2008 19:50:03 +0000</pubDate>
      <guid>https://troglobit.com/2008/10/27/ubuntu-8-dot-10rc1-networkmanager-wtf/</guid>
      <description>I tried upgrading from Hardy Heron to Intrepid Ibex this weekend. Big mistake. If I disregard the total dpkg meltdown that I, as usually, had to resolve manually there still remains this recurring madness called Network Manager.&#xA;I&amp;rsquo;m an engineer. I have a masters degree in computer engineering. I have worked professionally with GNU/Linux since 2000 and been a die hard user of it since I left OS/2 behind in 1996.</description>
    </item>
    <item>
      <title>Cross Compiler Foo</title>
      <link>https://troglobit.com/2008/08/20/cross-compiler-foo/</link>
      <pubDate>Wed, 20 Aug 2008 20:14:42 +0000</pubDate>
      <guid>https://troglobit.com/2008/08/20/cross-compiler-foo/</guid>
      <description>There is a certain magic surrounding cross compilers and the people that know how to build one. Not unlike that of (Linux/BSD) kernel developers. At work we today support two embedded Linux targets, both are ARM based, and in neither of the two have we built the cross compiler ourselves. The first was ye&amp;rsquo; old 2.95 based from uClinux.org and the second we had a consultant build for us. Lame!</description>
    </item>
    <item>
      <title>Moving to ISC</title>
      <link>https://troglobit.com/2008/07/30/moving-to-isc/</link>
      <pubDate>Wed, 30 Jul 2008 23:53:42 +0000</pubDate>
      <guid>https://troglobit.com/2008/07/30/moving-to-isc/</guid>
      <description>I hereby announce that all of the code I produce from now on will use the ISC license. Previously I&amp;rsquo;ve used the MIT license and the GNU GPL, or LGPL where applicable.&#xA;The reason for changing this is two-fold. First, I like to be able to reuse much of what I do in proprietary settings. Yes, I&amp;rsquo;m one of those people who look upon the world with &amp;ldquo;grey&amp;rdquo; eyes rather than black &amp;amp; white.</description>
    </item>
    <item>
      <title>Link Collection w31 2008</title>
      <link>https://troglobit.com/2008/07/30/link-collection-w31-2008/</link>
      <pubDate>Wed, 30 Jul 2008 16:22:36 +0000</pubDate>
      <guid>https://troglobit.com/2008/07/30/link-collection-w31-2008/</guid>
      <description>George Dyson, son of legendary Freeman Dyson, talks about the first computer, the first software bugs (both physical and logical) and the initial struggles of hackers. Fun history lesson for computer engineers and programmers alike. (Now, go crawl the web for &amp;ldquo;Dyson Sphere&amp;rdquo; and &amp;ldquo;Star Trek&amp;rdquo;! :-)&#xA;Is Ubuntu 8.04 really that buggy as everyone suggest? My guess is that we&amp;rsquo;ve reached a breaking point where beginner users (&amp;lt; 1 year) are starting to outnumber the older &amp;ldquo;hard core&amp;rdquo; users.</description>
    </item>
    <item>
      <title>HowTo: Build GNU Emacs from CVS</title>
      <link>https://troglobit.com/2008/07/28/howto-build-gnu-emacs-from-cvs/</link>
      <pubDate>Mon, 28 Jul 2008 01:38:13 +0000</pubDate>
      <guid>https://troglobit.com/2008/07/28/howto-build-gnu-emacs-from-cvs/</guid>
      <description>Why would you want to do this? Well, considering all the neat new things that have been added lately it should be tempting for any old Emacs fan.&#xA;The Emacs Wiki has all the info you need, but here is a quick run-down of the bare necessities. Start by checking out your working copy:&#xA;cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/emacs co emacs cd emacs/ ./configure make bootstrap Start with ./src/emacs or symlink the binary to your ~/bin/ directory.</description>
    </item>
    <item>
      <title>More Emacs Progress!</title>
      <link>https://troglobit.com/2008/07/22/more-emacs-progress/</link>
      <pubDate>Tue, 22 Jul 2008 23:56:55 +0000</pubDate>
      <guid>https://troglobit.com/2008/07/22/more-emacs-progress/</guid>
      <description>Wow, I&amp;rsquo;m almost starting to feel like a Windows user. The latest CVS builds of GNU Emacs has a lot of new features:&#xA;XFT Support (font anti-aliasing) Better GTK integration (desktop) A font selector! I use the CVS version now as my daily driver in Ubuntu 8.10. It&amp;rsquo;s really useful, and I love the improved support for debugging programs inside Emacs!&#xA;I think it is quite impressive how far this little editor has come.</description>
    </item>
    <item>
      <title>No Wireless LED on ThinkPad T61</title>
      <link>https://troglobit.com/2008/07/19/no-wireless-led-on-thinkpad-t61/</link>
      <pubDate>Sat, 19 Jul 2008 11:09:25 +0000</pubDate>
      <guid>https://troglobit.com/2008/07/19/no-wireless-led-on-thinkpad-t61/</guid>
      <description>I&amp;rsquo;ve got a ThinkPad T61 with Intel iwl3945 wireless chipset that I installed fresh with Ubuntu 8.04. Everything worked flawlessly out-of-the-box, except for the useless fingerprint scanner and the wireless LED. Don&amp;rsquo;t get me wrong, the wireless network worked fine, but the LED wasn&amp;rsquo;t on.&#xA;At first I thought there was something wrong with the LED itself, but a couple of searches later I found that it was a known limitation of the 2.</description>
    </item>
    <item>
      <title>Suddenly Compiz is not Working Anymore ...</title>
      <link>https://troglobit.com/2008/07/17/suddenly-compiz-is-not-working-anymore-dot-dot-dot/</link>
      <pubDate>Thu, 17 Jul 2008 01:48:05 +0000</pubDate>
      <guid>https://troglobit.com/2008/07/17/suddenly-compiz-is-not-working-anymore-dot-dot-dot/</guid>
      <description>So weird. I usually rearrange my desktop every two weeks, often when I am bored. Sometimes I want a quick lean, smallish desktop and other times I want the whole shebang, all possible animations, SVG icons, mouse gestures — you name it and I will already have tons of it!&#xA;Today I wanted to enable Compiz again and it just wouldn&amp;rsquo;t start. After a couple of tries that turned out to be dead ends I finally got this:</description>
    </item>
    <item>
      <title>Missing Sound in Firefox?</title>
      <link>https://troglobit.com/2008/07/14/missing-sound-in-firefox/</link>
      <pubDate>Mon, 14 Jul 2008 10:30:48 +0000</pubDate>
      <guid>https://troglobit.com/2008/07/14/missing-sound-in-firefox/</guid>
      <description>In Ubuntu 8.04 I recently discovered that you need to install the libflashsupport package if you get no sound in Firefox while running flash application/video. Oddly enough this is not a &amp;ldquo;required&amp;rdquo; or &amp;ldquo;supported&amp;rdquo; package in Ubuntu proper.</description>
    </item>
    <item>
      <title>Regexp replace in many files</title>
      <link>https://troglobit.com/2008/07/13/regexp-replace-in-many-files/</link>
      <pubDate>Sun, 13 Jul 2008 21:38:33 +0000</pubDate>
      <guid>https://troglobit.com/2008/07/13/regexp-replace-in-many-files/</guid>
      <description>I just have to blog about this exceptional tool I just found. It is called regexxer and is a tool in the true UNIX spirit — it does one job only, and does it well.</description>
    </item>
    <item>
      <title>Minix editline v0.2.1</title>
      <link>https://troglobit.com/2008/06/09/minix-editline-v0-dot-2-1/</link>
      <pubDate>Mon, 09 Jun 2008 23:02:22 +0000</pubDate>
      <guid>https://troglobit.com/2008/06/09/minix-editline-v0-dot-2-1/</guid>
      <description>The v0.2.0 release included some Debian patches, tcgetattr() and a batch mode (when reading from file) line reader. This release fixes a bug in the Debian patch that caused the batch mode version of readline() to actually truncate lines longer than 64 chars.&#xA;Get it from the usual FTP location:&#xA;http://ftp.vmlinux.org/pub/People/jocke/minix-editline/ </description>
    </item>
    <item>
      <title>Minix editline v0.1.4</title>
      <link>https://troglobit.com/2008/06/09/minix-editline-v0-dot-1-4/</link>
      <pubDate>Mon, 09 Jun 2008 00:49:22 +0000</pubDate>
      <guid>https://troglobit.com/2008/06/09/minix-editline-v0-dot-1-4/</guid>
      <description>Another day another release, I guess. :-)&#xA;Lots of small fixes — it can now be cross-built for Arm (Xscale) without any serious warnings. Get it from the usual FTP location:&#xA;http://ftp.vmlinux.org/pub/People/jocke/minix-editline/ </description>
    </item>
    <item>
      <title>Minix editline v0.1.1</title>
      <link>https://troglobit.com/2008/06/08/minix-editline-v0-dot-1-1/</link>
      <pubDate>Sun, 08 Jun 2008 00:56:22 +0000</pubDate>
      <guid>https://troglobit.com/2008/06/08/minix-editline-v0-dot-1-1/</guid>
      <description>Hot on the heels of the first one, only minor build fixes but this one should actually be usable by others. Now installs both library, include file and man page into the given --prefix.&#xA;http://ftp.vmlinux.org/pub/People/jocke/minix-editline/ </description>
    </item>
    <item>
      <title>Minix editline v0.1.0</title>
      <link>https://troglobit.com/2008/06/07/minix-editline-v0-dot-1-0/</link>
      <pubDate>Sat, 07 Jun 2008 21:45:05 +0000</pubDate>
      <guid>https://troglobit.com/2008/06/07/minix-editline-v0-dot-1-0/</guid>
      <description>I&amp;rsquo;ve been looking long and hard for a small and useful GNU readline replacement. Oddly enough, all the time I was looking for one I never even once considered looking at the Minix sources!&#xA;Currently I&amp;rsquo;m using the NetBSD editline derivative (readline compatible) from Jess Thrysoee, but it requires ncurses, which is huge!&#xA;All I really wanted was a bare bones readline() suitable for small embedded systems. One which could record history and preferably, but not required to, support completion.</description>
    </item>
    <item>
      <title>Enterprise Emacs</title>
      <link>https://troglobit.com/2008/02/24/enterprise-emacs/</link>
      <pubDate>Sun, 24 Feb 2008 10:59:19 +0000</pubDate>
      <guid>https://troglobit.com/2008/02/24/enterprise-emacs/</guid>
      <description>&lt;p&gt;Many years ago I discovered the beauty in a beast called &lt;a href=&#34;http://www.gnu.org/software/emacs/&#34; target=&#34;_blank&#34;&gt;Emacs&lt;/a&gt;.  I&#xA;am actually a frequent user of both Emacs and &lt;a href=&#34;http://www.vim.org&#34; target=&#34;_blank&#34;&gt;Vim&lt;/a&gt;, but I firmly&#xA;belive in the notion of &lt;a href=&#34;http://pragmaticprogrammer.com/the-pragmatic-programmer/extracts/tips&#34; target=&#34;_blank&#34;&gt;learning one editor well&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;ldquo;The editor should be an extension of your hand; make sure your editor&#xA;is configurable, extensible, and programmable.&amp;rdquo; — &lt;a href=&#34;http://pragmaticprogrammer.com/the-pragmatic-programmer/extracts/tips&#34; target=&#34;_blank&#34;&gt;The Pragmatic Programmer&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;At the many jobs I have had, colleagues often glanced over my shoulder&#xA;and said; &amp;ldquo;Oh, Emacs &amp;hellip; Yeah I used that ages ago when I was&#xA;working on UNIX &amp;hellip;&amp;rdquo;, often they remember it fondly, sometimes for&#xA;all the quirky keyboard shortcuts.  Very few know that it is still being&#xA;actively developed.&lt;/p&gt;&#xA;&lt;p&gt;Emacs can be quite counter intuitive and sometimes even an outright pain&#xA;to use.  I find it a shame that still today, after (literally) decades&#xA;there are no sane defaults.  Once, when I was still forced to use&#xA;Windows, I saw a setup wizard in &lt;a href=&#34;http://ntemacs.sourceforge.net/&#34; target=&#34;_blank&#34;&gt;Win32-Emacs&lt;/a&gt; that resembled what I&#xA;would like to have — a sort of use cases possible to chose from.  It may&#xA;have been some extension that was maintained in some non-official&#xA;version, because now when I look for it I cannot find it.  But why not&#xA;have a setup wizard in the upstream distribution of Emacs as well?&lt;/p&gt;&#xA;&lt;p&gt;Well, this is my gripe, the pieces of Emacs that are still unfriendly to&#xA;users, and mostly new users, coming from Windows or MAC.  I will use&#xA;this blog to present ideas and small things I have done to make Emacs&#xA;more user friendly.  I call this &lt;em&gt;Enterprise Emacs&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Suspend/Resume Nightmare in Ubuntu</title>
      <link>https://troglobit.com/2008/02/23/suspend-slash-resume-nightmare-in-ubuntu/</link>
      <pubDate>Sat, 23 Feb 2008 21:34:44 +0000</pubDate>
      <guid>https://troglobit.com/2008/02/23/suspend-slash-resume-nightmare-in-ubuntu/</guid>
      <description>I&amp;rsquo;ve had my ThinkPad T43 for a while now and I&amp;rsquo;m really pleased with it, everything just works! It took some pleading and, I admit, begging to persuade my boss and the IT department to buy it since they usually only buy from Dell or HP. This was mainly due to care packs and payment plans that these suppliers offer companies. My ThinkPad they had to actually pay for straight up.</description>
    </item>
    <item>
      <title>Bzrweb 0.1.2 Released</title>
      <link>https://troglobit.com/2007/07/31/bzrweb-0-dot-1-2-released/</link>
      <pubDate>Tue, 31 Jul 2007 23:33:01 +0000</pubDate>
      <guid>https://troglobit.com/2007/07/31/bzrweb-0-dot-1-2-released/</guid>
      <description>The end of my own &amp;ldquo;summer of code&amp;rdquo; is here. Seriously, this summer I took it upon myself to clean up my act and move whole heartedly to the Bazaar version control system for my private projects. Needless to say, I didn&amp;rsquo;t get far.&#xA;Being quite lazy I haven&amp;rsquo;t upgraded this server yet to the latest shiny Debian 4.0. This made it a bit hard to setup the new shiny Loggerhead web gui (see it in action here) for Bazaar — so instead I started fixing up the old bzrweb that I already had setup a few years ago.</description>
    </item>
    <item>
      <title>Netapplet Patchwork</title>
      <link>https://troglobit.com/2007/07/12/netapplet-patchwork/</link>
      <pubDate>Thu, 12 Jul 2007 11:37:38 +0000</pubDate>
      <guid>https://troglobit.com/2007/07/12/netapplet-patchwork/</guid>
      <description>I think I&amp;rsquo;ve finally done it — achieved my ultimate goal of combining the awesome powers of the Debian /etc/network/interfaces file with guessnet, wpa_supplicant, ifplugd and now also with netapplet!&#xA;I&amp;rsquo;ve been looking for a way to just point-and-click to select a different access point, both at home and at work. To that end I have a pretty advanced interfaces file that automatically detects where I am, what I am connected with (cable/wireless) and then, like magic, sets it all up.</description>
    </item>
    <item>
      <title>Making bzrweb work again</title>
      <link>https://troglobit.com/2007/07/11/making-bzrweb-work-again/</link>
      <pubDate>Wed, 11 Jul 2007 10:35:00 +0000</pubDate>
      <guid>https://troglobit.com/2007/07/11/making-bzrweb-work-again/</guid>
      <description>During the past weekend and the last couple of evenings I&amp;rsquo;ve been studying the Python code in bzrweb — which I&amp;rsquo;ve been using for online repository browsing. It broke sometime last year due to not keeping up with the development of bzr. Yesterday I got it working again!&#xA;Browse: http://vmlinux.org/jocke/bzr/ Branch: bzr branch http://vmlinux.org/jocke/bzr/bzrweb Having only programmed Python very little earlier I must say that it&amp;rsquo;s really easy to get in to.</description>
    </item>
    <item>
      <title>Buggy Gnome Main Menu</title>
      <link>https://troglobit.com/2007/07/07/buggy-gnome-main-menu/</link>
      <pubDate>Sat, 07 Jul 2007 09:52:17 +0000</pubDate>
      <guid>https://troglobit.com/2007/07/07/buggy-gnome-main-menu/</guid>
      <description>I&amp;rsquo;ve been living with the new Gnome Main Menu for a while now. Like many others I run Ubuntu these days and I&amp;rsquo;ve found the version in Feisty Fawn to be extremely slow and buggy.&#xA;I tried manually installing (dpkg -i) the latest version in Gutsy, but it had too many dependencies. So I decided to try and backport it, and it worked!&#xA;I haven&amp;rsquo;t set up any repository, so just download the below two .</description>
    </item>
    <item>
      <title>VMWare Kernel Modules for Your New Kernel</title>
      <link>https://troglobit.com/2007/03/25/vmware-kernel-modules-for-your-new-kernel/</link>
      <pubDate>Sun, 25 Mar 2007 23:59:57 +0000</pubDate>
      <guid>https://troglobit.com/2007/03/25/vmware-kernel-modules-for-your-new-kernel/</guid>
      <description>My recent post on building Debian kernels misses a subtle but useful point. Namely that of building Debian kernel modules alongside your new kernel. I wanted to run a new kernel with the Ubuntu vmware-player-kernel-source package. I was fumbling around wanting to use module-assistant to do this for me when I stumbled upon on the solution, presented so eloquently by my friend Albert Veli. This gives us a small update to the previous post:</description>
    </item>
    <item>
      <title>HowTo: Building Debian/Ubuntu Kernels</title>
      <link>https://troglobit.com/2007/02/03/building-debian-slash-ubuntu-kernels/</link>
      <pubDate>Sat, 03 Feb 2007 11:00:45 +0000</pubDate>
      <guid>https://troglobit.com/2007/02/03/building-debian-slash-ubuntu-kernels/</guid>
      <description>I have been over this topic so many times now, strangely enough I&amp;rsquo;ve managed to make things more complicated than they need to be. It&amp;rsquo;s really this simple:&#xA;$ wget ftp://ftp.sunet.se/pub/Linux/kernels/v2.6/linux-2.6.19.2.tar.bz2 $ tar xfj linux-2.6.19.2.tar.bz2 $ cd linux-2.6.19.2/ $ zcat /proc/config.gz &amp;gt;.config $ make menuconfig [Tweak to your hearts desire] $ fakeroot make-kpkg --initrd kernel_image $ dpkg -i ../linux-image-2.6.19.2_2.6.19.2-10.00.Custom_i386.deb [DONE!] You may, of course, need to tweak the file /etc/kernel-pkg.conf, but there are man pages for that.</description>
    </item>
    <item>
      <title>Moved</title>
      <link>https://troglobit.com/2007/02/03/moved/</link>
      <pubDate>Sat, 03 Feb 2007 10:52:15 +0000</pubDate>
      <guid>https://troglobit.com/2007/02/03/moved/</guid>
      <description>Yep, we finally did it, we bought ourselves a house. Last year in October we moved from our small three-room flat in central Västerås to the new house in Skultuna. Everything went really fast from finding it up for sale, deciding on it down to getting a loan and moving in. Worst part of it all was getting a decent broadband connection. We actually moved from a 100 Mbps dedicated copper line to a 24/2 Mbps ADSL line.</description>
    </item>
    <item>
      <title>Top Ten UNIX Shell Commands</title>
      <link>https://troglobit.com/2006/09/23/top-ten-unix-shell-commands/</link>
      <pubDate>Sat, 23 Sep 2006 23:02:42 +0000</pubDate>
      <guid>https://troglobit.com/2006/09/23/top-ten-unix-shell-commands/</guid>
      <description>Current trend is to run the following one-liner from IBM. I&amp;rsquo;m usually logged in to the following three systems, with very different results.&#xA;vmlinux.org $ history |awk &#39;{print $2}&#39;|sort|uniq -c|sort -nr|head -10 144 ls 61 cd 58 sudo 29 less 23 emacs 19 bzr 16 vim 11 rm 10 wget 10 mv My personal life. Not much different from my professional dito. Most visible difference maybe is my use of bzr instead of svn.</description>
    </item>
    <item>
      <title>Aaaah, the fish got a facelift! :)</title>
      <link>https://troglobit.com/2006/08/13/aaaah/</link>
      <pubDate>Sun, 13 Aug 2006 10:43:13 +0000</pubDate>
      <guid>https://troglobit.com/2006/08/13/aaaah/</guid>
      <description>This is just great! Wanda the fortune telling fish of the Gnome desktop got herself a face lift. Take a look at this:&#xA;Add her new look to your applet by copying the file to /usr/share/gnome/panel/pixmaps/. Select it in the applet preferences and use 8 frames and 0.3 seconds per frame.</description>
    </item>
    <item>
      <title>Test posting using blosxom</title>
      <link>https://troglobit.com/2006/08/05/test-posting-using-blosxom/</link>
      <pubDate>Sat, 05 Aug 2006 22:35:49 +0000</pubDate>
      <guid>https://troglobit.com/2006/08/05/test-posting-using-blosxom/</guid>
      <description>First try to consolidate on using an already working implementation of a blog script rather than writing my own. I&amp;rsquo;m trying out Blosxom, which is somewhat overkill for my needs. I actually wrote up a simple Perl script a couple of weeks ago that did what I wanted, oh well, what remains now is to do some Emacs hacks to smooth things over a bit.</description>
    </item>
    <item>
      <title>Besiktning</title>
      <link>https://troglobit.com/2006/07/24/besiktning/</link>
      <pubDate>Mon, 24 Jul 2006 22:10:27 +0000</pubDate>
      <guid>https://troglobit.com/2006/07/24/besiktning/</guid>
      <description>Yes, bilen gick igenom besiktningen!</description>
    </item>
    <item>
      <title>Atari ST(E) Emulation with Steem</title>
      <link>https://troglobit.com/2006/07/23/atari-st-e-emulation-with-steem/</link>
      <pubDate>Sun, 23 Jul 2006 22:10:50 +0000</pubDate>
      <guid>https://troglobit.com/2006/07/23/atari-st-e-emulation-with-steem/</guid>
      <description>This is is really great! Today, on my 32nd birthday I found a really golden piece of software - Steem - even though it&amp;rsquo;s not free software, it has a Linux port which runs almost all of my alltime Atari ST classics: Thrust, Virus, Speedball I &amp;amp; II, Xenon I &amp;amp; II, Great Giana Sisters, The Union Demo, The &amp;ldquo;Oh crikey what a scorcer&amp;rdquo; demo, Nebulus and lots more!&#xA;Since today is also my birthday I received a gift.</description>
    </item>
    <item>
      <title>Bromsbyte Passat</title>
      <link>https://troglobit.com/2006/07/21/bromsbyte-passat/</link>
      <pubDate>Fri, 21 Jul 2006 22:10:48 +0000</pubDate>
      <guid>https://troglobit.com/2006/07/21/bromsbyte-passat/</guid>
      <description>Igår bytte jag bromsskivor på vår gamla Passat Variant -00. Det var definitivt dags efter över 15000 mil så var skivorna och beläggen så slitna att tom. Bilprovningen nog hade klagat i år. Dessutom var det fjärde service:en som VW-verkstaden tyckte det var dags att byta. VW var mer än villiga och gav mig ett anbud på 5500:- vilket jag var väldigt nära att nappa på. Efter en liten reality check så insåg jag dock att vi inte skulle ha råd med det, så jag fick loss delar från Mekonomen för 2400:- och började själv &amp;hellip;</description>
    </item>
    <item>
      <title>make-kpkg and dirty modules</title>
      <link>https://troglobit.com/2006/07/17/make-kpkg-and-dirty-modules/</link>
      <pubDate>Mon, 17 Jul 2006 22:10:24 +0000</pubDate>
      <guid>https://troglobit.com/2006/07/17/make-kpkg-and-dirty-modules/</guid>
      <description>Dammit, tonight I spent too many hours chasing down a &amp;ldquo;feature&amp;rdquo; in the Debian kernel build process or the Linux-2.6 kernel. I haven&amp;rsquo;t yet deciced who to blame ;-)&#xA;Here goes: when you build the latest Linux 2.6 kernel, checked out from the git repository, with make-kpkg you should make sure to uncheck the CONFIG_LOCALVERSION_AUTO option in the kernel config before hand. It&amp;rsquo;s under &amp;ldquo;General setup&amp;rdquo; → &amp;ldquo;Automatically append version information &amp;hellip;&amp;rdquo;.</description>
    </item>
    <item>
      <title>Quick Note</title>
      <link>https://troglobit.com/2006/07/17/quick-note/</link>
      <pubDate>Mon, 17 Jul 2006 21:10:45 +0000</pubDate>
      <guid>https://troglobit.com/2006/07/17/quick-note/</guid>
      <description>About that /etc/network/interface autoconfig thingy: it&amp;rsquo;s almost done. Works perfect &amp;hellip; at work (connected) and at home (wireless). I need to fine tune the tests, I think, to get the connected stuff to work at home too. The problem seems to be that the test to see if the machine is connected at home is that the MAC it looks for to ID the office network also is available from home, via the VPN.</description>
    </item>
    <item>
      <title>Swedish National Day: Deep thoughts ...</title>
      <link>https://troglobit.com/2006/06/06/swedish-national-day-deep-thoughts-dot-dot-dot/</link>
      <pubDate>Tue, 06 Jun 2006 22:10:42 +0000</pubDate>
      <guid>https://troglobit.com/2006/06/06/swedish-national-day-deep-thoughts-dot-dot-dot/</guid>
      <description>From time to time, even though it seems to occur more frequently these days, I think about the persistence of things. How development is continuously accelerating in the modern world. To me this is like a double edged sword, it&amp;rsquo;s both comforting and unsettling. Comforting that we as humans continuously improve and develop our methods and technologies. Unsettling because I know much of the development is in directions that I don&amp;rsquo;t approve of: more intricate and capable weapons and methods of surveillance.</description>
    </item>
    <item>
      <title>Laptop Network Configuration in Debian/Ubuntu</title>
      <link>https://troglobit.com/2006/06/06/laptop-network-configuration-in-debian-slash-ubuntu/</link>
      <pubDate>Tue, 06 Jun 2006 21:10:24 +0000</pubDate>
      <guid>https://troglobit.com/2006/06/06/laptop-network-configuration-in-debian-slash-ubuntu/</guid>
      <description>I have three network cards in my laptop. Two built-in and one PCMCIA card. I&amp;rsquo;m currently investigating how I can migrate from using the slow and tedious gnome-network &amp;amp; C:o tools to the more integrated Debian/Ubuntu tools ifupdown, guessnet, ifplugd and waproamd instead. As usual Debian has a fine and clever way of handling all this with their /etc/network/interface file. To learn more about this fine management interface I&amp;rsquo;m reading the well written book The Debian System by Martin F.</description>
    </item>
    <item>
      <title>No news are good news?</title>
      <link>https://troglobit.com/2006/05/26/no-news-are-good-news/</link>
      <pubDate>Fri, 26 May 2006 21:10:42 +0000</pubDate>
      <guid>https://troglobit.com/2006/05/26/no-news-are-good-news/</guid>
      <description>Seriously, it&amp;rsquo;s been one long winter and now finally summer is upon us again. It was about six months ago that I switched jobs and this is the first time for that period that I&amp;rsquo;ve got ten minutes above the surface. The new job is fun but currently takes up too much of my time to be healthy in the long run.&#xA;Today we&amp;rsquo;re going to Stenby TV-service with our broken Hitachi 32&amp;quot; TV.</description>
    </item>
  </channel>
</rss>
