Why GPM is the Right Go Package Manager
The debate rages on over which method is best for managing dependencies in Go. But I've found what seems to me to be the right solution to the problem, and it's a tiny little Bash script called GPM.
Go comes with a variety of marvelous and problem solving tools. But one thing it lacks is any built...
Development Tools Talk
Thanks to Dan Walkes for summarizing the "Development Tools Talk" session that I was a part of last week. Boulder Startup Week is a fun event, and it never ceases to amaze me how active and positive the Boulder startup culture is.
For some background, my talk covered porting our REST services from...
Built in Colorado Profile
Built in Colorado covers the latest news on startups and high tech in Colorado. Today they ran a feature on Colorado developers who run active GitHub projects. I am really excited to be one of their chosen featured developers for this series.
I had the opportunity to talk about some of my recent...
5 Strengths of PHP
PHP. It's the much-maligned whipping boy of "serious" programmers. And in some sense, its ill repute is justified. PHP's early evolution was choppy. The standard libraries don't feel all that cohesive. Decades ago, it had some security issues. And the community, as diverse as it is, continues to churn...
Adding Methods to Function Types in Go
One of the intriguing features of Go is its ability to take a function type and attach methods to it. Yes, you read that right: in Go, functions can have methods. With this ability, you take a function and satisfy one or more interfaces by implementing methods on it.
I'd seen this little trick in...
The Surprising Success of the First Gophercon
Any time a new conference starts, setting realistic expectations is hard. I've been to a few "first cons" in my life, and even the most successful have been small, fraught with technical difficulties, and often difficulties with focus. As far as I can tell, Gophercon had none of these issues.
The Register Covers The Revolv DB Migration
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
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
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
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...