Search
-
Recent Posts
Categories
Archive
- January 2012
- December 2011
- November 2011
- October 2011
- August 2011
- July 2011
- December 2010
- November 2010
- September 2010
- July 2010
- June 2010
- May 2010
- March 2010
- December 2009
- November 2009
- October 2009
- August 2009
- July 2009
- June 2009
- May 2009
- August 2008
- June 2008
- May 2008
- March 2008
- February 2008
- December 2007
- November 2007
- October 2007
- August 2007
- June 2007
- May 2007
- March 2007
- November 2006
- August 2006
- July 2006
- February 2006
- October 2005
- September 2005
- July 2005
- June 2005
- May 2005
- April 2005
- March 2005
- December 2004
- June 2004
- March 2004
- February 2004
- December 2003
- October 2003
- June 2003
Category Archives: Snippet
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
4 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
5 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
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
2 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
6 Comments
The forgotten art of error checking
I was just rambling randomly yesterday, in the usual microblogging platforms, about how result checking seems to be ignored or done badly. The precise wording was: It’s really amazing how little attention error handling receives in most software development. Even … Continue reading
Posted in Architecture, Go, Java, Lua, Perl, Python, Ruby, Snippet, Test
10 Comments
Mocker 0.10 and trivial patch-mocking of existing objects
Mocker 0.10 is out, with a number of improvements! While we’re talking about Mocker, here is another interesting use case, exploring a pretty unique feature it offers. Suppose we want to test that a method hello() on an object will … Continue reading
Posted in Project, Python, Snippet, Test
2 Comments
Partial stubbing of os.path.isfile() with Mocker
One neat feature which Mocker offers is the ability to very easily implement custom behavior on specific functions or methods. Take for instance the case where you want to pretend to some code that a given file exists, but you … Continue reading
Posted in Project, Python, Snippet, Test
Leave a comment
Python’s os.environ
As Chris Armstrong pointed out yesterday, os.environ.pop() is broken in Python versions at least up to 2.5. The method will simply remove the entry from the in-memory dictionary which holds a copy of the environment: >>> import os >>> os.system(“echo … Continue reading
Posted in Python, Snippet
2 Comments