Category Archives: Article

Snappy Interfaces

As much anticipated, this week Ubuntu 16.04 LTS was released with integrated support for snaps on classic Ubuntu. Snappy 2.0 is a modern software platform, that includes the ability to define rich interfaces between snaps that control their security and … Continue reading

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

Snappy Changes

As announced last Saturday, Snappy Ubuntu Core 2.0 has just been tagged and made its way into the archives of Ubuntu 16.04, which is due for the final release in the next days. So this is a nice time to … Continue reading

Posted in Architecture, Article, Cloud, Design, Go, Project, Security | Leave a comment

No minor versions in Go import paths

This post provides the background for a deliberate and important decision in the design of gopkg.in that people often wonder about: while the service does support full versions in tag and branch names (as in “v1.2” or “v1.2.3”), the URL … Continue reading

Posted in Article, Design, Go, Project | Leave a comment

QML components with Go and OpenGL

As recently announced, my latest endeavor at Canonical is to enable graphical client-side development with the Go language via a new qml Go package that integrates the language with Qt’s QML framework. The QML framework solves the problem of designing … Continue reading

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

strepr v1 (draft2)

Note: This is a candidate version of the specification. This note will be removed once v1 is closed, and any changes will be described at the end. Please get in touch if you’re implementing it. Contents Introduction Supported values Representation … Continue reading

Posted in Architecture, Article, C/C++, Cloud, Design, Erlang, Go, Haskell, Java, Lua, Math, MongoDB, Python, Ruby, Security | 14 Comments

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

Ethics for code reviewers

In the previous post, I explored a bit how ephemeral most of the artifacts of software development processes are. One of these processes is code reviewing, which is arguably a major player in code quality, knowledge acquisition, and even team … Continue reading

Posted in Article | 3 Comments

The ephemeral life of software development

Lately I’ve been considering the amount of waste we produce during software development, and how to increase the amount of recycled content. I’m not talking about actual trash, though, but rather about software development artifacts. Over the years, we’ve learned … Continue reading

Posted in Architecture, Article, Design | 5 Comments

Baby feeding statistics with R

Our son Ot├ívio was born recently. Right in the first few days, we decided to keep tight control on the feeding times for a while, as it is an intense routine pretty unlike anything else, and obviously critical for the … Continue reading

Posted in Article, Math, Mobile, R, Snippet | 1 Comment