Fixing file sharing in Debian/Ubuntu

Mounting my ReadyNAS from Nautilus stopped working after upgrading to Ubuntu 20.04. Turns out there was a change in behavior in Sambva v4.11 that disabled SMB1 protocol by default. It’ll be interesting to see how this pans out in the rest of the Linux community … fortunately there’s a workaround!

Update: same on Debian 11 (bullseye)

[Read More]

Open Source Releases

The last couple of months have been crazy. The downturn in the economy due to Covid-19, mass layoffs, social distancing and quarantine. Not to mention the unrest in US and Europe in the wake of George Floyd’s uneccessary death.

[Read More]

Fix blinking WiFi LED on X200

Recently got my hands on a ThinkPad X200, the last model without the useless touchpad and with the awesome classic keyboard. A fine little machine that can easily be upgraded with an SSD disk and 8 GiB RAM!

I set it up with Linx Mint (LMDE 4), which worked great to begin with, but there was some odd issue with X/Waland that sometimes caused the screen (only the screen) to freeze up and show random color patterns. Only way to workaround it was to suspend, wait, and resume again. So now I’m running Ubuntu 20.04 on it and everything seems to work a lot better, this far.

[Read More]

HowTo: Install pre-built packages

Every now and then people ask me for pre-built packages of software I maintain. Up until today I’ve had to refer them to the cold hard build instructions for each of my programs.

[Read More]

Set up a Debian/Ubuntu APT Repository

How to set up a Debian/Ubuntu APT repository with GPG signing.

At first I tried to use Bas Wijnen’s mini-dinstall howto, but never managed to get it working. Probably due to problems with GPG. Then I went down the tried and true path of using reprepro.

I’ve tried to document my steps here, but I’ve very likely missed a few steps that a beginner admin may run into. YMMV B-)

[Read More]

Useful UNIX API:s

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

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

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

[Read More]

BSD syslogd in Linux

modern syslog and standards

Some time ago now I was in a meeting with a customer where I first learned of the new syslog standard, RFC5424. I say “new” because, despite it being ten years old, it was new to me.

Three weeks ago I started updating my fork of sysklogd to be RFC5424 compliant. I ended up ripping out most of the old code and replacing it with fresh DNA strands from FreeBSD and NetBSD.

The result is a fully RFC compliant syslogd, and a libsyslog with a replacement syslog.h header for sending RFC5424 events from applications!

[Read More]

Controlling Display Brightness

... in Awesome WM

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. 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. [Read More]