Monthly Archives: October 2006

Announcing CodeMash 2007

Ohio … where you need to be January 18-19

What? January in Ohio?! That’s always the first reaction. But … once I tell them what’s going on (and that it’s at an indoor water park), the tune changes to, “Really? Cool!”.

I’ve been involved with the planning of CodeMash, a 2-day conference for developers, to be held in Sandusky, Ohio January 18-19. 2007. It’s a conference for developers of all flavors: Java, .NET, Python, PHP, Perl … you name it! We’ll have some Ruby on Rails and some TurboGears, some Oracle and MySQL. The goal is to all get together and learn from one another. We all benefit from advances in other languages and platforms.

We’ve scheduled some really cool keynotes. Bruce Eckel is going to talk about issues of design in software development, from a philosophical standpoint. Neal Ford is planning a talk about the evolving programming paradigm. Scott Guthrie will also be doing a keynote.

We’re accepting abstracts right now, and conference registration will be open really soon (you can reserve a spot now, though!). The pricing is phenomenal … early bird price of $99 for the 2 day conference, if you stay at the Kalahari Resort (conference hotel, discounted room rate of $88/night). The regular price for registration (after Nov 30) is $149.

I think it’s going to be an amazing event.

CodeMash – I'll be there!

Code Mash Conference Page

TurboGears Jam

I’m very excited to announce that Bruce Eckel is going to do a TurboGears Jam in Ann Arbor, Michigan from January 14-16, 2007. That’s a Sunday-Tuesday, which gives people who can’t get time off of work to learn a new technology ample opportunity to pursue it on their own. Bruce is offering pricing based on whether you attend just Sunday or Sunday through Tuesday.

My company, SRT Solutions, here in Ann Arbor, is “on the ground” to help coordinate the event, which will be held at the Ann Arbor ITZone (SPARK Central). Bruce will offer us some guidance and his never-ending Python experience and excitement. Kevin Dangoor (creator of TurboGears) and Mark Ramm (author of the emergent Turbo Gears book: Rapid Web Applications in TurboGears) are Ann Arborites who have expressed interest in attending and participating. I sure hope that they can come!

I can’t wait! Hope to see old friends (you know who you are) and meet new friends at this event! Judging from the turnout at the Ann Arbor Computer Society meeting last week, where TurboGears was the topic, I’m pretty sure that this is going to be a well-attended event!

AACS Meeting Summary

October 4, 2006

Mark Ramm discussed TurboGears at the Ann Arbor Computer Society meeting this week. The crowd was mostly unfamiliar with TurboGears, and most were unaware that it was conjured up and written here in Ann Arbor (well, at least originally … it’s open source, so it’s now getting contributions from all over the world).

Most people know about Ruby on Rails, so he contrasted the frameworks a bit. Basically, Rails is a highly integrated, single piece of software. It uses some naming conventions, and if you follow them, things will just line up and work. But the magic can be a bit disconcerting for some. Features are either provided via Rails, or not available within the framework. That’s the beauty and cost of a single piece of software.

TurboGears doesn’t follow naming conventions. It’s a mega web framework. It combines best of breed tools in Python to support web development. This allows for components to be traded out and replaced with newer, better components, if they become available.

The heart of TurboGears centers around the following components:

SQLObject – an Object Relational Mapper

CherryPy – web server: manages request/response cycle

Kid – templating system, xml-based, guarantees well-formed output

MochiKit (pronounced Mo-chee-kit) – library for Javascript/AJAX, making it easier to write clean javascript

Templates can be made to look really simple by using and extending the master.kid file. Actually, you can have several master.kid files, and use appropriately in different parts of the application.

For deployment, the easiest path is in using CherryPy, proxying with IIS or Apache (using mod_proxy or mod_rewrite). You can also use mod_python, but Mark sees the other options as simpler.

Webfaction has good shared hosting for TurboGears apps. Currently, their control panel only creates 0.8.9 TurboGears apps, but if you ask the webfaction staff will send instructions about installing the newly released 1.0b1 for use with webfaction. They also help to support the TurboGears project.

From a commercial licensing standpoint, there are no hindrances to using TurboGears. It uses the very liberal BSD-style license, which allows you to write applications using TurboGears for commercial use.

Widgets are provided, to reduce work for the developer. Kid produces designer-friendly templates, that can be edited in programs like Dreamweaver without perturbing the python constructs (since Dreamweaver ignores them), but allowing the designer to see placeholders when testing layout without running a web server.

A question from the audience asked Mark to compare with ASP.NET. Basically, he said that you can do anything in ASP.Net that you can do in TurboGears but that you will have to write more code in ASP.NET. Maybe we will see some head-to-head comparisons at CodeMash in January.

Future Directions in TurboGears:

1.SQLAlchemy will replace SQLObject as the default object relational mapper in the future. It does everything that SQLObject does, and more. Needs a bit more work to simplify the definition to match that of SQLObject
2.Genshi will replace Kid as the default templating system. It uses pretty much the same syntax but is about 40% faster.

Documentation options:

1.Mark’s book (Rapid Web Applications with TurboGears) is going to be published in November. Half of the book is now available, on Safari Rough Cuts.
2.The latest issue of Linux Magazine has an article on TurboGears, written by Mark Ramm. It doesn’t appear that it’s available online. Here’s a summary of that article: http://compoundthinking.com/blog/index.php/2006/09/22/turbogears-in-linux-magazine/
3.TurboGears DVD contains screencasts and can be purchased on the TurboGears website.
4.Docs are available on the TurboGears website.

Examples of high traffic sites that run TurboGears:

www.diggdot.us: Combines Digg, slashdot, and de.licio.us into a unified format

www.rpath.com : Linux software appliance company

Next month at AACS: Scott Collins, from the Mozilla project, talking about the design and application of programming languages.

Python User Group Meeting Summary

Python User Group Meeting Summary

Tuesday, October 3, 2006

The Ann Arbor Python User Group usually meets on the first Thursday of every month, but Titus Brown was in town this week, so the meeting was moved so that he could attend and participate. Titus talked about Twill, his testing tool. You can use twill to test web apps from the command line using python-based commands, very convenient indeed. His package descended from Cory Dodt’s PBP, and is based on the Python “mechanize” package.

Twill isn’t able to test Javascript, but Selenium does a great job of that. Scotch is a collection of WSGI modules that record wsgi transactions.

Jason Pellerin was also at the meeting, and he talked a little bit about Nose (not much, mainly just about Titus’ use of it, and the fact that Titus has extended it). Hoping he attends more frequently and does some more in-depth sessions.

The original plan, before Titus’ appearance was planned, was that Bruce Webber would talk about wxPython. Instead of rescheduling his talk, Bruce and Titus both talked. It was great. I learned a ton about wxPython, and look forward to trying out some GUI programming in Python with them.

Here is a link to resources from the talk, including both links from Titus and slides and links from Bruce. http://www.michipug.org/index.cgi/OctoberMeeting

Josh goes to Microsoft

Josh Holmes, a partner in SRT Solutions, has decided to take a position at Microsoft. He is the Architect Evangelist for the heartland region. It’s always rough to lose a business partner, but if we had to, I guess it’s not so bad to lose him to The Big Guys.

Josh isn’t leaving the area. He will be working out of the Southfield, MI office. He will remain as President of the Ann Arbor Computer Society, and a good resource in the area of .NET, Compact Framework, and C#.

Bill and I started SRT Solutions in 2000. We brought Josh on in 2004. He’s contributed a lot, and he will be missed. Fortunately, over the past several years, we have experienced a significant amount of growth both in terms of customers and consultants. We’re really pleased with the quality of the consultants that we’ve been able to find and hire. While I’m pretty excited about the opportunity that this presents for Josh, I much prefer this route.