New Domain

This site has moved to a new domain, chriswells.io. Expect more frequent updates now that the move is complete.

It's been several months since I posted, so the site might have seemed dead already. We had a couple of hectic releases at work, which took time away from this site (and everything else). Also, I wasn't quite satisfied with the original domain name. It was a bit awkward to type and I knew I'd have to type it often. Since I wasn't sure if I would change domains or not, I didn't want to create too much content before deciding.

There's been a lot going on behind the scenes, though. I've done tons of refactoring and general code clean-up in what little time I had available. I also added several features to make site maintenance easier for myself. Finally, I built a fresh server to host the new domain and parked the old domain on top of it with redirects in place. Over the next couple of months, I intend to resume regular posting and release some source code. I'm looking forward to ramping up again.

Blank Results in MySQL Workbench on FreeBSD

An incompatibility with glib 2.42 causes MySQL Workbench to display a blank results grid. Here's how to patch the source code and recompile the port on FreeBSD.

There's one area where I simply don't like using the command line and that's SQL queries. When I'm working with a database, I appreciate having a decent GUI. That's why I was frustrated when I launched MySQL Workbench and found that the output was blank with no results being displayed for any query. The table editor also showed no data—no column names, indexes, nothing.

Blank select results

Empty results grid and blank output.

Open Source and the Free Software Ride

Despite existing open source revenue models, even popular projects are facing extinction. Is the free software ride over or is there something we can do?

Open source software powers the modern world. From operating systems to web servers and desktop applications, not only does open source deliver, but it provides truly competitive options. Given the prevalence of free and open source software, or FOSS, why are seemingly successful projects on the brink of collapse? The developers of TrueCrypt laid down their keyboards and walked away. Werner Koch announced that he was unable to justify further effort on GnuPG after 18 years. When critical security vulnerabilities were discovered, the OpenSSL maintainers revealed that they were grossly understaffed with a single full-time employee and averaging $2k per year in donations.

Those three projects alone are likely responsible for over half of the world's secure computing. I won't suggest that all FOSS developers should be rich, but anyone that makes that level of positive impact on society shouldn't have to choose between making further contributions or feeding their family. If there's an upside to these revelations, it's that the problem is out in the open. In response to the GnuPG article, the community stepped up with $135k in donations in a single day plus another $160k from just 3 companies. OpenSSL's announcement led to the Linux Foundation creating the Core Infrastructure Initiative to help fund core open source projects. If this money was available all along, why did we need an emergency to put the money where it belongs? It's time for us to agree that "free" software is about freedom rather than price.

HTML Validator Can't Connect Over HTTPS

When the W3C Markup Validation Service couldn't connect to my site using HTTPS, this simple configuration change resolved the issue.

A few days ago, someone pointed out that the HTML validation link in my footer was leading to an error message. Invalid markup? Surely not! I clicked the link to load the W3C Markup Validation Service and it screamed "Sorry! This document cannot be checked." The error message stated "500 Can't connect to chriswells.io:443" and "If you made recent changes to your domain name (DNS) configuration, you may also want to check that your domain records are correct, or ask your hosting company to do so."

HTML Validation Error

HTML Validation Error

Style Shell Commands with CSS

Do you provide shell, terminal, or other command line examples on your site? Learn how to style them with CSS using a custom, lightweight plugin for Prism.

Updated on 12/30/2015: The Command Line plugin is now part of the Prism project, but it may be converted from a plugin to a language add-on. I've left this blog entry here for reference.

I launched this site before it was "code complete" and there are still features I've yet to implement. One of the next posts I wanted to write involved shell commands, so I needed to address styling those commands to make them easy to read and understand. I searched for some examples to see what others suggested before deciding that shell commands are essentially just code samples, so I switched gears to decide how I wanted to implement general code highlighting.

Fix an LCD Monitor That Won't Turn On

When your LCD monitor won't turn on, keep it out of a landfill by repairing it yourself for a few bucks. Grab a screwdriver and soldering iron for an easy fix.

My workstation consists of a FreeBSD desktop with dual LCD monitors and a MacBook Pro provided by my current client for anything that requires access to their network. Both monitors had some age on them, so it was only a matter of time before one died. I've used a dual monitor setup for so long that having only one monitor makes me feel... well, half as productive. When my primary monitor finally cashed in its chips a few months ago, that left me not only less productive but also using a very old LCD given that it was my former secondary. I immediately found a great deal on a shiny, new replacement that brought me up to date with a 23.6" 1080p primary monitor. Although I had 2 monitors again, my former primary sitting in the floor waiting to be recycled seemed to be taunting me.

I searched for solutions and found this to be a common issue with LCD monitors. It wouldn't display anything—not even a "no signal" message—and the power light continuously blinked blue. The most common cause seemed to be one or more bad capacitors, but I've never been good with a soldering iron and I had no experience with this kind of repair. Still, given that I had nothing to lose and the dead monitor was better than the one I was using for my secondary, I decided to try my hand at repairing it. If you have a similar issue (or a monitor that won't turn on at all), it's probably worth trying the steps below at a minimum. Of course, do so at your own risk, be sure to unplug it first, it's not my fault if you do something dangerous or careless, ask your mom before playing with electronics, etc., etc.

Why Choose FreeBSD?

FreeBSD is my preferred OS thanks to ZFS, disk encryption, the wholly-owned base system, ports/packages, jails for securing network services, and the community.

A few years ago, I found myself looking for a new OS for day-to-day use. I'd been using Mac OS X for several years because my employer provided a MacBook Pro and I really loved the nice, clean Aqua UI on top of a POSIX compliant core. However, I was setting up a desktop, didn't want to spend a fortune on Apple hardware, and wasn't sure I liked the direction Apple was heading with OS X by making it more like iOS. My requirements pretty much boiled down to security (including support for full-disk encryption), stability, flexibility, software freedom, and a thriving community for those inevitable times when I would need some wisdom. If you're reading this blog, I probably don't need to tell you why Windows was ruled out before the competition started.

I had years of experience with Linux, but it had been long enough since I used it for a desktop OS that I was able to justify taking a fresh look at the leading distros. I compared the "market leaders" at the time including Red Hat, Ubuntu/Kubuntu, Mint, Debian, and others. I had almost settled on the old classic, Debian, when I saw that it now supported 2 kernels: Linux and kFreeBSD. Since OS X also had BSD roots, I decided to research it a little. Why was Debian bothering to support another kernel? Why had NeXT chosen to use BSD code for what later became OS X? In my research, I found that many other companies had chosen to use BSD code or BSD in whole either for their servers or as a base for their products including The Apache Software Foundation, Netflix, Juniper, NetApp, Sony (for the PS3 and PS4), and Experts Exchange. Among the BSD information I read was Matt Fuller's BSD for Linux Users, which is a great read that caught my attention right off the bat with this common BSD adage:

Year in Review: 2014

A reflection on my accomplishments and failures in 2014. Of course, I touch on what I'd like to change and how I'd like to improve in 2015.

Many people use the new year as a time to make resolutions or set goals. Before doing that, I like to review the goals I had set for the previous year, see how well I did (or didn't do), and use that insight to help set the next round of goals. One reason for creating a blog is for personal accountability, so that starts with making at least some of my accomplishments and failures public. It may seem odd for my first blog entry to be a "year in review" since the blog hasn't been around for a year, but I've been around all year and this process would take place with or without the blog. However, there's a good reason for making this my first entry and I'll address that below. My personal goals for 2014 mostly focused on developing better habits for reading and fitness as well as a few other items.

fireworks

Happy new year!