View All Tags

Open Source

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.

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.

Core Web Application for PHP Released

The Core Web Application Libraries provide a logger, database layer, and MVC framework for PHP. The code is available on GitHub along with 2 example projects.

When I built this site, I chose to start from scratch for several reasons. I could've thrown something together using any one of the open source content management systems, but I've been down that road before. Once you customize a popular CMS, it becomes an outright burden to keep up with security fixes and other updates. It's convenient to have so many features and plugins at your disposal, but having thousands of lines of unused/inapplicable code with frequent vulnerability fixes can leave you with an uneasy feeling about what's creeping into each release. Once you have multiple sites in that state, maintaining them starts to feel cumbersome or, worse, like a second job. Additionally, I wanted the freedom to use the code in any project I work on whether I retain ownership of the finished product or not.

Command Line Plugin Added to Prism

After making several changes proposed by another contributor, my Command Line plugin is now part of the Prism project.

Back in February, I wrote about how to style shell commands using CSS. I wanted to submit that code to the Prism project, but I got distracted by other things. By the time I finally got around to submitting it, there were changes to the main project that affected the plugin code. I updated the plugin to incorporate their changes and submitted my first GitHub pull request at the end of November.

FreeBSD Shell Scripts Added to GitHub

I use some shell script libraries to make FreeBSD system configuration easier. They're now available as freebsd-scripts on GitHub for anyone to use and improve.

I recently switched my hosting provider from Digital Ocean to Vultr to get tighter control over the configuration—a more "pure" FreeBSD installation. While updating my notes to prep for the install, I considered how many configuration steps were basic file editing: add this line under that line, uncomment this line, comment that line, etc. I love the simplicity that comes when the code is the documentation, so I decided to create a small file I/O library to make it easier to write shell scripts for system configuration. Why bother maintaining notes to describe manual changes when I could write a script to perform the changes automatically?

Introducing the Sitka Logger

Sitka is an extremely lightweight but powerful Node.js logger that's great for cloud/serverless applications.

Although it's a very small project, I'm excited to release my first open source Node.js package today. Sitka is an extremely lightweight but powerful logger that's great for modern cloud/serverless applications. It can be installed using the Sitka NPM package and the source code for Sitka is on GitHub. Yes, there were already tons of loggers to choose from. When I browsed through them, most seemed to fall into 2 categories: many felt too rigid while others were "kitchen sink" projects trying to do far too much. A logger is an essential part of every application, but it should be simple to use and stay out of your way. As a minimalist, I want something flexible without a lot of overhead. Sitka stands on its own with less than 250 lines of code and without importing any dependencies—much less half a dozen.