This is a test of the facebook plugin for WordPress.
It’s been a while since I updated this blog. Just a quick note that I am settled in Tucson now and working at home. And I’m using Python. Woot. I’ll have more to say later.
To keep up on the Python universe I follow Planet Python which is a blog aggregator and to keep up on my two favorite Python products Django and Plone I follow Django Community and Planet Plone respectively.
I sort of fell into Python through Zope when I started working at my current job as a web administrator. Python has a fairly gently learning curve and you can become productive for simple programming tasks fairly quickly. Zope on the other hand has a very steep learning curve. I’ve probably mentioned this before in previous posts, but I was tasked to upgrade the website and after looking at dozens of PHP based content management systems I decided upon Plone. Due to legacy Zope applications the current website is a hybrid of Zope and Plone. I’ve seen Plone evolve from version 2.0 to 2.1 to 2.5 to 3.0 to version 3.1. I think with version 3.x Plone has finally come of age as a content management system and would pit it against high end commercial CMSes. What I really like about Plone is its security, workflow, and it’s shallow learning curve for end users.
Plone is open source and is used by a number of high profile sites, Oxfam America,Discover Magazine and University of Louisville come to mind. Plone also has a steep learning curve and it’s a little frustrating when you have relearn how to customize it from version to version. There wasn’t as much of a change from 2.x to 2.5, but the change to 3.x was pretty big. When I did a test migration from a 2.5 site to a 3.0 site it broke all of my template customizations. I relearned how to redo the customizations and I like the 3.x way better.
You do have to keep up Plone developments and one of the best ways is to read Planet Plone which is a blog aggregator of Plone/Zope/Python blogs. I have yet to attend a Plone conference but I have attended three Pycons 2006, 2007, and 2008 and I plan to attend 2009.
I have devoted some attention to Django which is a very nice web framework and I’ve used it to replace a number of outdated Zope applications. I’ll go into more detail about it in a future post. I see it as having a different workspace than Plone does. Anyway, back to Planet Plone. I found a few posts from it that I wanted to share to show how useful it is to follow.
And last week was World Plone Day to raise awareness of this underappreciated CMS, but that is changing.
Although I’ve become a big fan of Django, my introduction to Python was through Zope. Zope led to Plone which I’ve been using for a few years now. Plone can be customized but it’s a steep learning curve. I’ve found a slide show with some tips for customizing this wonderful content management system.
I found this as a related slide show about World Plone Day 2008
In February of 2007 I attended my second Pycon, a conference devoted to the open source programming language Python. One of the coolest system of presentations I saw were the lightning talks. Each presenter gets only 5 minutes to give his spiel. The one that made the biggest impression on me was by Ka-Ping Yee. He demonstrated how using less than 300 lines of code could make electronic voting much more secure. Consider this. A voting machine made by Diebold (now Premier Election Solutions) has over 31,000 lines of code. Some machines have over 100,000 lines of code. Which do you think would be easier to audit and certify?
As we get closer to the election, voting security becomes more important. Ka-Ping Yee is getting some news coverage. Since that talk his pvote code has ballooned to just under 500 lines of code, still somewhat under that 100K mark.
No matter what system is used, transparency and the ability to audit the system and the votes is of paramount importance. No one should trust any system to work. Proper checks and balances need to be in place, so that should questions arise, people can see what happened.
Yee was interviewed during Pycon 2008 in Chicago: In Voting Software We Trust?
Ira Flatow also interviews Ka-Ping Yee in this recent segment of Science Friday. Comes in at 13:30.
E-Voting Update (broadcast Friday, October 24th, 2008)
One thing to note about the electronic voting systems mentioned in the podcast was calibration. They use touch screens. If they are not calibrated properly, voters thinking they selected their candidate of choice may show they’ve selected a different candidate. The co-ordinates of the selections you see on the screen should be synced up with the co-ordinates of the touch display. This is a separate issue that needs to be addressed, but as long as it can be calibrated visually and on the spot this should not be a serious technical issue. The only downside is that voters may not be paying attention to their choices or summary.
Yee didn’t mention anything about a paper audit, but it would be trivial to add a few lines of code to print out the cast ballot. Not only does this make it possible to vote more securely—by an order of magnitude—his system makes it easier for the voter to cast a vote, including those requiring accessibility.
You can also view his Pycon slide show. It will walk you through the steps, and you’ll see how it is possible to make electronic voting far more secure than it is now. With the proper checks and balances people can be sure their vote is counted. These checks are sadly lacking in Diebold’s and others voting machine technology.