Go: Build Constraints FTW!

Posted by & filed under App Engine, Go, Web development.

We’re continuing to use Google App Engine to host our sign up page (we’ll discuss why in another post) which produced a common problem during our local builds: appengine-specific code would fail when using the standard Go build tools. Because our AppEngine and non-AppEngine code was similar, we wanted to keep the code-base from being fragmented…. Read more »

Announcing: Golapa v1.1

Posted by & filed under Email, Go, Web development.

It’s been almost 4 months since our initial release of Golapa and we’ve been using it extensively for managing our Turret.IO signups. Today I’m proud to announce that it now supports Turret.IO as a method for capturing signup data, which also coincides with our release of the Turret.IO Go client library. Golapa continues to provide a… Read more »

Organizing Go code to be ‘go gettable’

Posted by & filed under Go, Web development.

This topic comes up a lot because Go is a newer language and has some quirks that many developers aren’t used to. One Go tool that’s particular useful is ‘go get’ — which is used to fetch a remote package and add it to your current Go workspace. Naturally, a Go developer may at some point… Read more »

Improve Your Code Deployments with FPM

Posted by & filed under aws, Go, Python, Web development.

At Turret.IO, our stack includes software written in both Python and Go. While it’s relatively easy and efficient to deploy Python code that handles the website and API, shipping Go binaries isn’t nearly as elegant. Our initial methods involved deploying the source, compiling on each machine (since Go does compile incredibly fast), and startup scripts… Read more »

Using Cassandra with Python and uWSGI

Posted by & filed under Cassandra, Python, Web development.

The latest Python DataStax Driver is a welcomed addition to the available Python clients that support CQL3 with Cassandra. One unfortunate pain point with this client (and possibly others) is the amount of time it takes to connect to a cluster. Because each connection requires the client to fetch the entire cluster’s schema, time-sensitive environments (such… Read more »