## Weird Screen Artifacts on X200

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: 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 The post says it should be sufficient to “Disable Virtualization Technology for Directed-IO (VT-d)", but that didn’t work for me, and I wanted to keep the 8 GiB of RAM I managed to fit into it. [Read More]

## Wireguard and DNS Timeout

For a while now my Wireguard VPN provider has been handing out a bad DNS server. So whenever I do a DNS lookup it takes five (5!) seconds timing out, which is quite annoying.

This blog post is about how you can fix this with openresolv in Ubuntu.

## Fixing file sharing in Debian/Ubuntu/Mint

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) and Linux Mint 20 (Ulyana)

## 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.

## 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/Wayland 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.

## 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-)

## 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 :-)