Today, we unveiled a project that I’ve been quite busy with the past few weeks: The Dojo Toolbox. Check out my First Look article to learn more about it or watch my 5 minute screencast:
The short story is that it’s an Adobe AIR-based app, built with Dojo itself, that gives you a zippy offline API documentation viewer and a graphical user interface for running Dojo builds.
This was my first interaction with the development side of AIR and my overall impression is quite good. The APIs are nicely done, and only having to target WebKit is quite a blessing.
Of course, I’m better known for my Python projects than JavaScript-related projects. In this case, we are using Paver to manage our builds and we also have Python code that processes the API documentation and generates the search index.
My colleagues and I had a great time putting this together. Thanks to SitePen and Adobe for sponsoring this project!
1 Comment »
As I had reported earlier on, my cousin Rob was planning a charity canoe event called “The Big Moo Canoe” to support Heifer International. Last month, he burned a solid 22,000 calories to complete the 250 mile route. He has a nice wrapup page for the event.

Donations are still open until July 20th, and Rob is hoping to turn this into an event that more people can take part in next year (send him email if you’re interested!)
Great job, Rob!
No Comments »
The Michigan Python Users Group (MichiPUG) monthly meeting is coming up this Thursday, July 3rd at 7PM. This month, I’ll be speaking about the Zope Object Database (ZODB). Unlike last month’s meeting, where I led us in a random experiment with Google App Engine, I actually have some experience with the ZODB.
I’ll be demonstrating use of the ZODB and will talk about concurrency, replication, packing, etc. If you’re not familiar with the ZODB (and you’re somewhere near Ann Arbor!), this is a useful topic to get to know, because the ZODB is great for a variety of situations.
2 Comments »
Anyone who runs a significant open source project should read this, especially if you don’t currently require your contributors to send in any kind of agreement:
So why have it? Why create the barrier to entry for newcomers who just want to pitch in? I have great sympathy for the impatient potential contributor huffing “why do I need to sign this, anyway?”, so this blog post is an effort to boil it down.
[From “Why Do I need To Sign This?”]
I’ve spoken with Alex a couple of times about open source intellectual property, and he’s definitely given this a lot of thought. For a project the size of Dojo, involving many very large contributors, having something like Dojo’s CLA seems critical for keeping the IP clean.
With TurboGears, from the beginning, I’ve required people to send in a simple contributor agreement and this sums up why: “One of the best aspects of the CLA process is that it gets people who are contributing to think about what it means to contribute.”. Significant open source projects that people depend on need to have contributors that are serious about maintaining the project’s quality and the project’s IP. Making people aware of this responsibility from the get-go is a big positive.
I’m posting this in hopes that more of my friends in open source software will keep these things in mind as their projects grow and the outside code contributions increase.
1 Comment »
news.google.com had among the top stories that Dennis Kucinich has filed Articles of Impeachment against George W. Bush. You wouldn’t know it from looking at CNN.com, which includes such politically charged stories as John McCain promising to “veto every beer”. Maybe Lee Stranahan is right and what’s needed is iPeachment ‘08 (3G).
Though Bush is certainly worthy of impeachment, I cannot imagine these proceedings getting very far during an election year.
No Comments »
I’m an Apple fanboy. Not for any religious reasons, mind you. I’m a fanboy because they’ve been doing an amazing job of design these past few years.
Yesterday was the latest of Steve Jobs’ signature keynote addresses. I didn’t watch it, but I saw the play-by-play from MacRumors. I need not go into the details of what was announced, given that Apple gets millions in cheap publicity whenever Steve does one of these keynotes. As usual, the products look great, more revenue, profit and marketshare coming, yadda yadda.
I was disappointed, though, that Apple didn’t ship anything yesterday. It’s very hard to get your product plan to line up with a specific event like WWDC, and I’d be surprised if early product roadmaps pointed to a release at WWDC. In this case, there was the added complexity of the iPhone 3G requiring the iPhone 2.0 software and that it didn’t make sense to launch MobileMe without the iPhone 2.0 software. And the iPhone 2.0 software can’t launch until the AppStore is ready. That’s a lot of dependencies.
As a user of their products, I still would like to have had the iPhone 2.0 software now, though. The Apple of a couple years ago more often than not seemed to ship products on the day they were announced.
3 Comments »
My latest substantial blog post is now up: SitePen Blog » Easy, Repeatable Building/Deployment of Python+Dojo Projects
Dojo on the client and Python on the server make for a great combination. They’re easy, productive and powerful. In this article, I’ll show you how to use Python + Dojo to cut the number of requests to your server by 95% and simplify development and deployment while you’re at it.
No Comments »
We’ve settled on a topic for the coming Michigan Python Users Group meeting: Google App Engine. We do not have a speaker, so this will be a combination of discussion and exploration. I have written some App Engine code, and I’m guessing that others that will be attending have, too, so it’s not all trial-and-error.
Following our usual formal (first Thursday of the month), the meeting will be on June 5th at 7PM at SRT Solutions in downtown Ann Arbor. There are parking structures nearby (4th and Washington and Liberty Square are both close), and there is usually free street parking on Ann Street near the police station.
See you there!
No Comments »
Posted by: Kevin Dangoor in Python, tags: tgws
Justin Davis has just announced that Christophe de Vienne is the new maintainer of the TurboGears Web Services (TGWS) project. Thank you Christophe for carrying this project forward! I consider it a good sign for a project’s health when it can make the transition between maintainers, which is something both TurboGears and TGWS have done.
TGWS, if you’re not familiar with it, is a multiprotocol web services extension for TurboGears 1.
No Comments »