Author Archives: niemeyer

A timely coffee hack

It’s somewhat ironic that just as Ubuntu readies itself for the starting wave of smart connected devices, my latest hardware hack was in fact a disconnected one. In my defense, it’s quite important for these smart devices to preserve a … Continue reading

Posted in Assembly, Hardware, Project | 2 Comments

Inline maps in gopkg.in/yaml.v2

After the updates to gopkg.in itself, it’s time for gopkg.in/yaml.v2 to receive some attention. The following improvements are now available in the yaml package:

Posted in Go, Project | 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

Improvements on gopkg.in

Early last year the gopkg.in service was introduced with the goal of encouraging Go developers to establish strategies that enable existent software to remain working while package APIs evolve. After the initial discussions and experimentation that went into defining the … Continue reading

Posted in Go, Project | Leave a comment

Holiday hardware hacks

Last night I did a trivial yet surprisingly satisfying hardware hack, of the kind that can only be accomplished when the brain is in holiday mode. Our son has that very simple airplane toy, which turned out to become one … Continue reading

Posted in Assembly, Hardware, Project, Snippet | Leave a comment

mgo r2014.10.12

A new release of the mgo MongoDB driver for Go is out, packed with contributions and features. But before jumping into the change list, there’s a note in the release of MongoDB 2.7.7 a few days ago that is worth … Continue reading

Posted in Go, MongoDB, Project | Leave a comment

Packing resources into Go qml binaries

The qml package is right now one of the best choices for creating graphic applications under the Go language. Part of the reason why this is true comes from the convenience of QML, a high-level domain-specific language that allows describing … Continue reading

Posted in Architecture, Design, Go, Project | 2 Comments

Announcing yaml v2 for Go

There were a few long standing issues in the yaml.v1 package which were being postponed so that they could be done at once in a single incompatible change, and the time has come: yaml.v2 is now available. Besides these incompatible … Continue reading

Posted in Architecture, Design, Go, Project, Snippet | Leave a comment

The new Go qml OpenGL API

As detailed in the preliminary release of qml.v1 for Go a couple of weeks ago, my next task was to finish the improvements in its OpenGL API. Good progress has happened since then, and the new API is mostly done … Continue reading

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

Announcing qml v1 for Go

After a few weeks of slow progress on the qml package for Go, action is starting again. The first important change is the release of the new v1 API, which is motivated by conversations and debugging sessions we’ve had at … Continue reading

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