When using a zc.buildout based deployment system you want to be able to reproduce the same setup with the same set of egg versions one month later. Without pinning all eggs picked by zc.buildout the task is impossible.
buildout.dumppickedversions is a buildout extension that does just that. It can print or generate a versions.cfg file with all eggs picked by zc.buildout.
The 0.2 release is the result of some feedback I got especially from Martin.
On how to use it see: http://pypi.python.org/pypi/buildout.dumppickedversions
Try it and give some feedback.
When you have many zope instances distributed on many servers and point all to the same storage and you have many other servers at the frontend with many software for caching, load balancing, mailing, ..etc, you probably know the hell of maintaining such system. I was asked to found out a solution to centralize the logging part of this system.
Let’s take just the zope part:
Zope comes with 5 types of logging handlers: logfile, syslog, win32-eventlog, http-handler and email-notifier. For the problem I want to solve the syslog handler is the best choice.
I found the link to the “How to Design a Good API & Why it Matters” talk by Joshua Bloch on the Google’s Research Publications page.
Joshua Bloch is a Java library designer. In this talk he teaches how to design good APIs, with many examples of what good and bad APIs look like. Most examples are in java of course, but they are ONLY examples. This talk is about design and the java examples are very easy to understand even if you have never written a line of java code.
I really enjoyed this talk. I recommend it to you if your are programmer or have some thing to do with software development.
Here is the link: http://www.infoq.com/presentations/effective-api-design