Category Archives: C/C++

Leveling up snapd integration tests

Over the last several months there has been noticeable and growing pain associated with the evolving integration tests around snapd, and given the project goal of being a cross-distribution platform, we are very keen on solving this problem appropriately so … Continue reading

Posted in Architecture, Assembly, C/C++, Cloud, Design, Go, Hardware, Haskell, Java, Lua, Project, Python, Ruby, Snippet, Test | 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

Arbitrary Qt extensions with Go QML

As part of the on going work on Ubuntu Touch phones, I was invited to contribute a Go package to interface with ubuntuoneauth, a C++ and Qt library that authenticates against Ubuntu One using the system account made available by … Continue reading

Posted in Architecture, C/C++, Design, Go, Project, Snippet | 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

IEEE-754 brain teaser

Here is a small programming brain teaser for the weekend: Assume uf is an unsigned integer with 64 bits that holds the IEEE-754 representation for a binary floating point number of that size. The questions are:

Posted in C/C++, Erlang, Go, Haskell, Java, Math, Perl, Puzzle, Python, Ruby, Snippet | 7 Comments

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

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