I LOVE SLACKWARE
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.
NETWORKMANAGER 1.10 CONNECTION ISSUES
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.
FIGHT FOR AN OPEN INTERNET
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.
BLOGGING WITH ORG-MODE
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.
SQLITE WITH C++
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.
FLOODED
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.
PARSING JSON WITH PERL 6
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.
SOME THOUGHTS
I’m sitting here in my back yard on vacation from work (which means I’m actually quite busy working on other, non-work related projects, such as those for my PhD), just had my coffee, and I’m listening to some of the local wildlife chirp away. It makes me feel that I really need more of this in my life. I’ve blogged before about programming outdoors, but I think I really need to work toward cultivating a career where I actually can spend a good chunk of my time outside.
CREATING NEW BLOG POSTS IN EMACS
I use the Emacs thermonuclear word processor for everything in my life that has to do with editing text. It’s extensibility is unmatched by any other editor out there; if there’s a feature missing that would make your life easier, then pop open the hood and add it! While it’s not the prettiest language to work with, Emacs Lisp (or elisp) is a pretty straight forward, yet deeply powerful extension language.
SIMULATING COIN FLIPS IN C++
Occasionally I have to generate random numbers in C++, and since C++11 was published the langauge now has a massively powerful, flexible library for generating quality random numbers. The only issue is that for the life of me I cannot remember the API. This would probably not be a problem if I used it more frequently, but anyways, this blog post is a reminder for me of how to generate a uniform distribution.