The Register Covers The Revolv DB Migration

April 14, 2014

The Register's Jack Clark wrote a short piece on Revolv's database migration based on my blog post from last week and an interview we did on Friday. I found the conclusion to the article to be a fairly phrased and well-put summary of the NoSQL/SQL issue:

We here on El Reg's database cluster are...

NoSQL No More

April 11, 2014

I work at Revolv, and right now we're just about finished with a major migration off of a NoSQL database. We're moving onto a traditional RDBMS (PostgreSQL, to be precise). Many people seem surprised that we, a tech-savvy startup, would be moving to an "old" technology. But in fact our reasoning is...

A Quick Theory of Moral Obligation

March 24, 2014

I recently made a distinction between moral laudability and moral permissibility. I feel as though I did not explain well why moral obligation is not entailed by the fact that a given action is or would be moral.

Briefly, to say someone is morally obligated to do action A is to say that if they

Go's Handy ioutils Package

March 22, 2014

One thing I find myself often doing in just about any programming language I use is reading and writing small text files. We're talking text files that are only a few dozen lines long. Go provides the io/ioutils package for quickly reading and writing files.

The two frequent use cases I have are...

Good Guys Don't (Always) Give Away the Code

March 20, 2014

Sometimes proponents of Free Software make it sound as if you must give away all of your code as Free or Open Source Software (FOSS) if you want to be an honest and moral software developer. This is not the case. Morally motivated developers don't always have to give away their software. In fact,...

SSL And Password Protection for Kibana

March 19, 2014

Kibana is a front-end to Logstash, a log collection server. By default, Kibana is configured without support for logins and without support for SSL. This is a fast-paced explanation of how I tried to get Kibana reasonably secure.

To begin, I have a Logstash server up and running on an Ubuntu 13.10...

Generating Stack Traces in Go

March 19, 2014

The ability to generate a stack trace can prove to be very useful, especially when writing log files. The Go language's runtime package provides a helper for generating a stack trace. Here's how to use it.

Simply put, you can grab a stack trace from just about anywhere in a Go program. Import the...

A Simple UDP Server in Go

March 18, 2014

Creating Go network clients and servers is simple, supported as it is by the excellent built-in net package. But when I wanted to create a UDP server instead of a TCP or UNIX socket server, the API through me for a loop. I assumed that the same net.Listen() function I used for other server types would...

Importing Python Docs into Dash

March 12, 2014

Dash is a cool little multi-language API documentation manager for OS X. While it's free (as in beer) with some limits, it is one of the few programs I don't mind paying for.

Dash makes it easy to install the core library references for a variety of languages and tools. Mine, for example, has Go...

Goose for Database Migrations

March 11, 2014

I've been hunting for good database tools to perform that class of tasks that we all need, but that we end up re-implementing over and over again. One such task is database migrations. I've been experimenting with Goose to provide general-purpose database migration support.

What Is Goose?