In the last year several people I know or follow have switched to a static weblog. I was in the middle if a redesign myself and thought it was a great opportunity to investigate the concept. The result: I replaced Django with Acrylamid for this site.
Several Pythonistas switched to a static blog this year. If you are also looking into static blog engines, give Acrylamid a go.
As of today I am using Disqus for comments on this site. This meant that I had to migrate the old comments (which used django.contrib.comments) to Disqus. Here’s a short description of how I did this.
While working on a client project, I created an (Archetypes based)
content type with a text field. After adding a custom view as the
default view, I got an
AttributeError when I tried to add a new object.
Last year I participated in a deployment knowledge sharing session and I started implementing changes at my company pretty soon after. The result is that we are using Puppet for some parts of our server configuration. We also added Munin to our monitoring toolset (and I used Puppet to deploy Munin and manage its configuration). But an important piece that was still missing in our setup was an overview of which packages we use in the buildouts of our clients and more specifically which version each client uses.
For years web development was quite predictable. The resolution of the average screen slowly but steadily increased, bandwidth became less of an issue and everything was good. Then smartphones became mainstream. Suddenly we have to make sure our websites are also accessible on small screens. And bandwidth may also be limited to a few kilobytes per second. In other words: new challenges. But how are we responding to them?
Are you using a jQuery plugin, for instance
jQuery UI, to spice up the Django admin site?
Then you might get either an error like “foo is not a function”
(Firebug) or “Object … has no method foo”
(Chrome Developer Tools). Confused
foo should be defined in the plugin? Don’t worry, the
solution is simple.
A lightning talk by Thijs Jonkman at the Dutch Plone User Day once again brought Compass to my attention. I’ve read about it on other occasions, but I never actually tried it. But Thijs really wet my appetite.
This article is a short example of how to use a list as a value of a dict when using plone.app.registry. Perhaps a similar example is already in the docs, but I could not find it when I was looking for it. And since it took me some trial and error to get it right, I figured I could just as well post my solution.