I thought this was going to be a long post about upgrading the graphics card in my Mac Pro

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

As I’ve mentioned before on this blog, I still have one of the “cheese grater” Mac Pros around. It’s a 2009 that I upgraded somewhat with SSD, 6 core Xeon and a few other small goodies. As I split my time between Linux, Windows and macOS, I like having it around but can’t really justify getting a newer machine. Anyway, I’m upgrading my monitor to wide screen monitor and the old graphics card (Apple branded AMD Radeon 7970) was unlikely to be too happy about it.

Setting up my own VPN server on Vultr with Centos 7 and WireGuard

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

As an IT consultant, I travel a lot. I mean, a lot. Part of the pleasure is having to deal with day-to-day online life on open, potentially free-for-all hotel and conference WiFi. In other words, the type of networks you really want to do your online banking, ecommerce and other potentially sensitive operations on. After seeing one too many ads for VPN services on bad late night TV I finally decided I needed to do something about it. Ideally I intended to this on the cheap and learn something in the process. I also didn’t want to spend the whole weekend trying to set it up, which is how WireGuard entered the picture. I only really needed to protect my most sensitive device - my personal travel laptop.

As I’m already a customer at Vultr (affiliate link) I decided to just spin up another of their tiny instances and set it up as my WireGuard VPN server. Note that I’m not setting up a VPN service for the whole family, all my friends and some additional people, all I’m trying to do is secure some of my online communications a little bit more.

I also decided to document this experiment, both for my own reference and in the hope that it will be useful for someone else. Readers will need to have some experience setting up and administering Linux server. Come on in and follow along!

Postmortem of the unexpected blog outage

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

Straight from the “make work for yourself because there aren’t enough hours in the day already” files.

I’ve mentioned before that I am self-hosting this blog rather than using a hosted instance. I hosted the WordPress instance on FreeBSD and it’s been running quite well for a while, but during a double FreeBSD port upgrade to WordPress 5.0.1 and PHP 7.2 – after the php 7.0 port had been discontinued – broke the blog. php-fpm failed regularly with a signal 10, but I wasn’t able to figure out why in a hurry, so I started looking at alternatives.

Sorry for the disruption, normal service will resume shortly

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

My apologies for the sudden instability of my blog. I’ve managed to make a hash of an update on the main Wordpress site when trying to update to a newer PHP version and had to switch to the Jekyll “backup” site that isn’t quite production ready yet. Comments will be available in due course, at the moment I’m trying to get the static site fully functioning and the various RSS feeds going again.

Someone installed a Scheme development environment on their phone

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

Ben Simon has a post up on his blog describing how he set up a scheme development environment on his Galaxy S9 Android phone. It was also an especially timely post as I had been eyeing a Mac Quadra with a Symbolics Lisp Machine extension card on eBay. As if we needed another reminder just how powerful current phones have become! And no, I didn’t put a bid on that Quadra - not quite feeling this flush at the moment.

The Art of Prolog – reading another classic programming text

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

I did have to learn some Prolog when I was studying CS and back then it was one of those “why do we have to learn this when everybody is programming in C or Turbo Pascal” (yes, I’m old). For some strange reason things clicked for me quicker with Prolog than Lisp, which I now find quite ironic given that I’ve been using Emacs for since the early 1990s. Anyway, a recent post over on Hacker News alerted me to a book called “The Art of Prolog”.

Talk – Getting started with geospatial data in MongoDB (MDBW 2017)

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

I’ve been meaning to post this link for quite a while now but keep forgetting to do so. If you are planning to store geospatial data in MongoDB, the database offers you a variety of ways to deal with geospatial-specific data storage and queries. I gave an introductory talk on this subject at MongoDB World 2017 and you can find a recording of the talk here. Disclaimer: I work for MongoDB as a Consulting Engineer and this is my personal blog.

Emacs 26.1 has been released (and it’s already on Homebrew)

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

Saw the announcement on on the GNU Emacs mailing list this morning. Much to my surprise, it’s also already available on homebrew. So my Mac is now sporting a new fetching version of Emacs as well :). I’ve been running the release candidate on several Linux machines already and was very happy with it, so upgrading my OS X install was pretty much a no brainer. Here we go:

Another way to use Emacs to convert DOS/Unix line endings

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

I’ve previously blogged about using Emacs to convert line endings and use it as an alternative to the dos2unix/unix2dos tools. Using set-buffer-file-coding-system works well and has been my go-to conversion method. That said, there is another way to do the same conversion by using M-x recode-region. As the name implies, recode-region works on a region. As a result, it offers better control over where the line ending conversion is applied. This is extremely useful if you’re dealing with a file with mixed line endings.

Emacs 26.1-RC1 on the Windows Subsystem for Linux

The Lone C++ Coder's Blog from The Lone C++ Coder's Blog

As posted in a few places, Emacs 26.1-RC1 has been released. Following up my previous experiments with running Emacs on the Windows Subsystem for Linux, I naturally had to see how the latest version would work out. For that, I built the RC1 on an up-to-date Ubuntu WSL. I actually built it twice – once with the GTK+ toolkit, once with the Lucid toolkit. More on that later.

The good news is that the text mode version works right out of the box, the same way it worked the last time. I only gave it a quick spin, but so far it looks like it Just Works.