[7.0]# _

Recent Posts

Running Fleet Without Docker

published on
Introduction The CoreOS project is doing some very interesting work on how to build, deploy, and scale web applications. Their big focus is to keep the platform as minimal as possible, which means that everything must be run as a container. That in turn means that the stock OS doesn’t have to worry about any language runtimes or compilers, since those will be bundled with the app itself. This all sounds amazing on paper, but Docker isn’t without its flaws, and the kind of orchestration that CoreOS recommends comes with its own complexities. Read More...

Beer and Concurrent HTTP Pipelines

published on
This post is going to be a variation of the famous pipelines and cancellation Go blog post, modified for crawling a website, and updated using net/http’s native support for request contexts introduced in Go 1.7. Downloading Beer Recipes My motivation for building a concurrent website crawler was to be able to download a catalog of all public recipes on Brewtoad. Each recipe can be individually exported as XML, but from what I could tell there was no API to be able to download them all. Read More...

Rusty Dynamic Loading

published on
Introduction One of my favorite things that I’ve learned so far from Casey Muratori’s excellent Handmade Hero series of videos is his demonstration of how to load game code dynamically. This allows you to make changes to the running game without having to close the existing process, which enables very rapid iteration during development. However, Casey only shows you how to do it in C using Win32. In this post, I will demonstrate how to achieve the same basic effect using cross-platform Rust. Read More...

js/template

published on

One of my favorite packages in the Go standard library is [html/template][htmltemplate]. Not only does it provide a solid templating language equivalent to [text/template][texttemplate], but it ensures its safety of any HTML or JavaScript you throw at it. Unfortunately, it can be a little limiting when working with external JavaScript resources, but there are a couple options for working around those limitations.

Read More...

Building a Giphy-Searching App in GTK+ 3

published on

Web applications get all the hype these days, so why not buck the trend and build a desktop application instead? In this post I’m going to use Vala and GTK+ to build a simple desktop program for searching Giphy, the popular GIF database.

Read More...

Amazon Glacier Backups in Bash

published on

Why use an official Java or .NET-based algorithm when you can write your own in Bash? This script uses the AWS CLI tool to back up a file to an Amazon Glacier vault, without the need for a heavy runtime.

Read More...

Measuring C API Coverage with Go

published on
About a year ago I started working on an initial batch of Go bindings to the Allegro 5 game library, and while I like the idea of producing a fully-functional foreign-interface library, I didn’t finish during the initial period of development, and the project lay dormant for months. Recently I began to revive it, but as soon as I did, I ran into a problem: how much had I already done? Read More...