In light of the passing of the great John Perry Barlow, vpnMentor has published a wonderful tribute piece, titled 5 Lessons that John Barlow Taught the World. Typically I don’t link to these kinds of articles, but in the wake of John’s passing I feel the need to spread the message far and wide: digital privacy is important.
The world lost a great man today. John Perry Barlow was a hero of mine. He wrote lyrics for the Grateful Dead, co-founded the Electronic Frontier Foundation, and helped shape the internet and the freedoms therein. Though I never had the honor to meet him personally, he greatly shaped my views of the world. Rest in peace, John. What follows is a reprinting of John’s famous principles for adult behavior.
As you may have noticed, I’ve changed the subtitle of this blog again. Back in the day I used to run a blog at beardedcodewarrior.net. The blog was strictly about programming, which allowed me to focus my personal site (this one) on personal issues. Since then I’ve consolidated my web presence, but I want to bring the name back. I used to actively blog about template meta-programming tricks back before we had the luxury of things like constexpr functions and std::apply and other cool things in the standard library.
I love Slackware. It’s the most stable operating system I’ve ever run. Even on days like today where I have to hunt and peck to get some setting tweaked to get my wifi working again, I can’t help but love this system. No operating system is perfect, but I’ve had far less problems over the years with Slackware than I’ve had with Windows and macOS. And the beauty of Slackware, and linux distributions in general, is that when the wheels do occasionally fall off, I have the ability to at least try and fix things myself.
The NetworkManager package was recently updated in Slackware-current, and for some reason it stopped working on my laptop. It would try to connect, but would always just disconnect from any wifi network. I tested connecting with raw wpa_supplicant and ifconfig/iwconfig, and everything worked fine, so I figured it was definitely a NetworkManager problem. After some exhaustive googling, I came across a fix: add the following to /etc/NetworkManager/NetworkManager.conf: [device] wifi.scan-rand-mac-address=no which tells NetworkManager to not use a randomized MAC address when doing scans and such.
Friends, Would you want to live in a world where the electric company charges you extra fees if you plug in a fridge from a brand that THEY don’t like? Or how about having to pay extra just to have the luxury of using both a microwave AND a coffee maker? What I’ve described just there sounds pretty absurd, but it’s exactly what will happen to the free and open internet if the FCC has it’s way.
Over the years I have tried various techniques for trying to stay organized in my day-to-day life. I'm not quite there yet, but the best I've so far come up with is using org-mode inside emacs (I already do most of my computing in it anyways...) to keep track of notes and planning, and then use a daily bullet journal for keeping tabs on what I need to do for a given day.
This blog post outlines how simple it is to interface with the sqlite3 database platform in a type and memory-safe way using features in modern C++. In order to complie this code, you will need a compiler that supports at least some new features of C++17. Namely: the ability for the compiler to deduce template arguments from constructors. If you want to play with C++17, I suggest grabbing a pre-release snapshot of your favourite compiler.
I’ve been on-edge recently. The reason is because about two weeks ago Tecumseh got more water in one night than we typically do in an entire month. By about a factor of 2. Suffice to say my basement, though mostly unfinished, was ruined. I lost my office, as well as every major appliance that my wife and I owned. We can repair the furnace, but we lost our hot water tank, our washer and dryer, freezer and fridge.
Aside from my usual meanderings about in C++ land I’ve been playing with Perl 6. I used to use Perl 5 back in the day, so I’m not totally lost when it comes to sprinkling sigils around everywhere in my code. From first impressions, however, Perl 6 really does feel like a much cleaner, more consistent language than its older sister. It’s raining tonight in Windsor, Ontario (across from Detroit, Michigan for those of you who don’t know your Canadian geography), and I thought it would be a nice evening to build a program that interfaces with the Weather Underground Developer API.