Category Archives: Go

Efficient XPath for Go

This week I found some time to work on another small spin-off from the juju project at Canonical, and I’m happy to make it openly available today: the xmlpath package, which implements an efficient and strict subset of the XPath … Continue reading

Posted in Design, Go, Snippet | Leave a comment

Gopher-powered backups

10gen, the company behind the MongoDB database, recently announced the availability of the MongoDB Backup Service. This is not a traditional backup service, though. Rather than simply sending scheduled snapshots of the data over to a remote system, the backup … Continue reading

Posted in Go, Java, MongoDB, Project | 3 Comments

jsonpeer puts the P in JSONP

Today ubuntufinder.com was updated with the latest image data for Ubuntu 13.04 and all the previous releases as well. Rather than simply hardcoding the values again, though, the JavaScript code was changed so that it imports the new JSON-based feeds … Continue reading

Posted in Cloud, Go, Project, Security, Uncategorized | Leave a comment

Porting 6700 lines of C to Go

A few years ago, when I started pondering about the possibility of porting juju to the Go language, one of the first pieces of the puzzle that were put in place was goyaml: a Go package to parse and serialize … Continue reading

Posted in Architecture, Article, C/C++, Design, Go, Project | Leave a comment

Exceptional crashes

Last week I was part of a rant with a couple of coworkers around the fact Go handles errors for expected scenarios by returning an error value instead of using exceptions or a similar mechanism. This is a rather controversial … Continue reading

Posted in Architecture, Article, C/C++, Design, Go, Python, Snippet | 16 Comments

Unix-like pipelines for Go

This weekend the proper environment settled out for sorting a pet peeve that shows up every once in a while when coding: writing logic that interacts with other applications in the system via their stdin and stdout streams is often … Continue reading

Posted in Architecture, C/C++, Design, Go, Python | Leave a comment

Synchronicity: threads vs. events

There are a number of common misconceptions in software development surrounding the idea of concurrency. This has been coming for decades, and some of the issues have just been reinforced one more time in an otherwise interesting post in LinkedIn’s … Continue reading

Posted in Architecture, Go, Java, Python | Leave a comment

Multi-doc transactions for MongoDB

I’m glad to announce experimental support for multi-document transactions in the mgo driver that integrates MongoDB with the Go language. The support is done via a driver extension, so it works with any MongoDB release supported by the driver (>= … Continue reading

Posted in Architecture, Article, Design, Go, MongoDB, Project, Test | Leave a comment

Less is more, and is not always straightforward

Rob Pike just wrote an article/talk that is the best background on the origins of Go yet. It surprises me how much his considerations match my world view pre-Go, and in a sense give me a fulfilling explanation about why … Continue reading

Posted in Architecture, Article, C/C++, Design, Go, Python | 5 Comments

The Easter mgo release

It wasn’t just the bunny that was active over the holidays. The r2012.04.08 release of the mgo MongoDB driver for Go has just been tagged. This release is supposed to be entirely compatible with the last release, and there are … Continue reading

Posted in Go, MongoDB, Project | Leave a comment