Author Archives: niemeyer

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

12 years ago

These ancient entries were taken from my old Advogato diary, written in my early twenties, a year after I joined the development team of Conectiva Linux. I’m copying them for historic purposes, with the content untouched. It’s curious to look … Continue reading

Posted in Uncategorized | Leave a comment

Introducing the Ubuntu Finder

A small and fun experiment is out:

Posted in Cloud, Design, Project | Leave a comment

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

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