-
Lightweight virtualization with Linux containers
Containerization is a kind of virtualization that’s surprisingly good at crowding Linux virtual machines onto hosts, including humble home servers. In this post, we’ll look at Linux containers (LXC), a powerful virtualization technology leveraged by Docker, the billion-dollar company that made containerization famous.
-
Presentation tools for programmers: Reveal.js
The last 5 years have seen a proliferation of browser-based presentation tools, fuelled by widespread HTML5 and CSS3 adoption. A great example is Reveal.js, which lets you make impressive animated slide shows with nothing more than native browser capabilities (see demo).
-
Ferment: A server for ranking Homebrew formulae
As a follow-up to an earlier post about ranking Homebrew formulae, this post describes creating a web page to show formulae by rank, with links to more information. The intent of this project, dubbed Ferment, is to enable discovery of new and interesting software that may not otherwise be noticed. The source code is on GitHub and (so far) looks like this in a browser:
-
OSX software discovery via Homebrew
Many operating systems have a package manager, which facilitates the installation of software and associated dependencies. This post describes exploiting Homebrew, an OSX package manager, to discover interesting software by means of Hacker News-inspired popularity ranking.
-
Elegant virtualization with Vagrant
Vagrant is an ingenious tool for standardizing virtual machine configuration. Inventor Mitchell Hashimoto introduces the tool succinctly in The Tao of Vagrant. Let’s explore the power of Vagrant from the point of view of a developer, including legacy project maintenance.
-
Graphing data from the command line
When the need arises to plot some data, it’s tempting to reach for the nearest bloated spreadsheet program. Instead, try Gnuplot, a powerful, light-weight, command-line tool for generating graphs.
-
Selenium: Puppetry of the browser
Selenium is an automated testing tool for performing quality assurance on websites. Basically, it launches a browser (like Chrome or Firefox or Safari) and takes control of it, robotically visiting pages and clicking on things without human intervention. Let’s explore how it works and why it’s useful.
-
Enhancing Jekyll workflow with scripts
After a few weeks of using Jekyll, I’ve developed a handful of simple scripts to improve my workflow. The code serves as an example of my script everything philosophy:
-
Using SASS to define a color theme
Since creating this site with Jekyll, I’ve endured the default color theme. Now I want to try something a little different. According to my friend and design guru Steve, a good way to get started is to pick a couple of complementary colors.
-
Creating this site with Jekyll
Creating a site with Jekyll is easy, once you’ve done the hard work of selecting it from the bevy of other options. The main prerequisites are Ruby (a.k.a. the best programming language in the world) and Rubygems, its package manager.
-
My development machine
The following are my steps for configuring a new development machine running OSX Yosemite.
-
This is not a blog
In attempting to choose a backend for this site, I experienced a kind of mental paralysis induced by too many options called The Paradox of Choice after a famous book by that title. The phenomenon is also called overchoice, a great word coined in Future Shock (another book I should read).
subscribe via RSS