Category Archives: Snippet

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

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

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

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

Good concurrency changes the game

A long time before I seriously got into using distributed version control systems (DVCS) such as Bazaar and Git for developing software, it was already well known to me how the mechanics of these systems worked, and why people benefited … Continue reading

Posted in Architecture, Design, Go, Project, Snippet | 5 Comments

Death of goroutines under control

Certainly one of the reasons why many people are attracted to the Go language is its first-class concurrency aspects. Features like communication channels, lightweight processes (goroutines), and proper scheduling of these are not only native to the language but are … Continue reading

Posted in Architecture, Design, Erlang, Go, Project, Snippet, Test | 8 Comments

Efficient algorithm for expanding circular buffers

Circular buffers are based on an algorithm well known by any developer who’s got past the “Hello world!” days. They offer a number of key characteristics with wide applicability such as constant and efficient memory use, efficient FIFO semantics, etc. … Continue reading

Posted in Architecture, Article, C/C++, Erlang, Go, Haskell, Java, Lua, Perl, Python, Ruby, Snippet | 4 Comments

Vector clock support for Go

One more Go library oriented towards building distributed systems hot off the presses: govclock. This one offers full vector clock support for the Go language. Vector clocks allow recording and analyzing the inherent partial ordering of events in a distributed … Continue reading

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

Integrating Go with C: the ZooKeeper binding experience

ZooKeeper is a clever generic coordination server for distributed systems, and is one of the core softwares which facilitate the development of Ensemble (project for automagic IaaS deployments which we push at Canonical), so it was a natural choice to … Continue reading

Posted in Architecture, Article, C/C++, Go, Project, Snippet | 3 Comments

Removing seatbelts with the Go language for mmap support

Continuing the sequence of experiments I’ve been running with the Go language, I’ve just made available a tiny but useful new package: gommap. As one would imagine, this new package provides access to low-level memory mapping for files and devices, … Continue reading

Posted in Architecture, Go, Python, Snippet | 8 Comments