Monday, December 12, 2011

Announcing TurboGears 2.1.4 Release

The TurboGears team is proud to announce the release of TurboGears 2.1.4!

This release has many new features and bugfixes, all of them listed below. The most important one, though, is that this is the final 2.1.x release, and the final release that will support Python 2.4.

Please make sure to update your code to work on Python 2.5, as that will be the next supported Python version.

I would like to take a moment to thank Alessandro Molina especially. His work made this release possible, and as large as it is. He's been a great asset to the team, and I'm glad to have him on board.

  • Deprecated Python 2.4 support. In 2.2, Python 2.4 support will be removed, and only 2.5-2.7 will be supported
  • TurboGears extension architecture enhanced. Better support for hooks before and after configuration
  • Performance enhancements in tg module and in default templates
  • Enhancements to lazy_url
  • WebOb version locked in. The change of virtualenv to "distribute" by default has broken dependency_links and allow_hosts in the config files, and this works around that issue.
  • Jinja2 filters are now automatically loaded
  • Work arounds for best_match, which was not producing the expected behavior with IE7 and IE8
  • Add "auto_reload_template" as an .ini option
  • Performance tuning the default size of the Genshi cache
  • Added Genshi advanced i18n support
  • Better compatibility with SQLAlchemy 0.7
  • Changed default quickstart options to help ensure that some model is always available
  • Documentation enhancements
  • Nested RestControllers now work as expected (no longer required to implement "_custom_actions")

Monday, November 14, 2011

Worst Law Ever

What would it allow to happen? If you make a site that allows a user to post *anything*, no matter how small, and some user decides to post a link to a random youtube video which includes copyrighted music in the background, *your* site could be shut down.

This could even shut down Facebook, Google+, and Twitter. Possibly going so far as to shut down LinkedIn, too. Forums, Blogs, anything where any user is allowed to post content, can be completely shut down without viable recourse for the person being shut down.

How about Google groups, too? Those can be killed. Once even a link to copyrighted content appears, a copyright holder can demand the shut down of the site that has the link.

I am astounded. This might be the single worst piece of legislation I've ever even heard as regards copyright and the internet.

Here's a link to a better writeup, and includes some action points. Please, people, take them. Otherwise, the internet as we know it will be dead in this country, and the economic issues that we have right now are going to be called the good old days within a year.

Tuesday, October 18, 2011

Request For Ideas for Hiring Pond

So, a favor to ask of people: I'm working on a web application to help people manage their resumes. As I've gotten further in, I've realized I don't have an actual todo list for it. So, since I'm making this to be used by others, I'll ask everybody here:

What would you want to see? Currently, I've added enough code to allow the program to output something very close to my online resume ( http://www.icelus.org/ ). Next up, I have the following features on my todo list already:


  • add docutils to output strings where appropriate (everywhere?)
  • add login
  • add ability to edit own resume
  • add ability to compile new custom resumes
  • add ability to output PDF
  • add ability to output ODT
  • add ability to output DOC
  • add generic logo
  • add generic photo / head (shadow) shot
  • add ability to login using Google, Yahoo, Facebook, etc
  • add ability to send resumes directly from Hiring Pond
  • add ability to track where resumes have gone
  • add ability to track job hunt progress
  • add ability to display current employment status (employed, unemployed, contracting)
  • add ability to display current employment seeking status (not at all, active, passive)
  • add logo to qrcode
  • change colors of qrcode
  • change color scheme for all of hiring pond to sunset and water
  • add fisherman silhouette as hiring pond logo


What else would you all want to see in order to make you want to use this?

Saturday, October 1, 2011

"What Do You Do, Anyway?"

I get asked this quite a lot. What do I do? What value do I bring to a company? When asked, my answer is frequently "The impossible." I say this with a smile, and then explain "I do the stuff that everybody else says is too hard to do, can't be done, etc." and then go on to list some examples. If you want to see them, go check out my resume, and look at the projects at the bottom.

This answer, though, is very unsatisfying. It sounds like I'm bragging. It sounds like I'm saying I'm better than everybody else. It sounds, well ... it sounds arrogant. Since I'm on the job hunt now, I really shouldn't say this, but it needs to be said: I'm not that great, nor am I that special. I'm just a guy who happens to be passionate about his career, and doesn't shy away from some aspect simply because it doesn't fit with what I normally do.

This results in me doing such a variety of things that simply calling me by any one label is quite unrealistic.

Wednesday, September 28, 2011

Announcement: TurboGears2 2.1.3 Released!

We are pleased to announce the latest release of TurboGears, 2.1.3!

This release adds support for the Mongo object database and the Ming ORM for it, in addition to bringing in some small bugfixes. The full changelog is below

The number of changes is, admittedly, small, but don't underestimate the importance: NoSQL databases are an important tool for the web, and adding the support for Mongo brings TurboGears into the group of frameworks that not only supports it, but supports it well.

We're already looking forward to expanding support and closing even more issues for 2.1.4, so we'll see you next month for that release!

* Added support for MongoDB into the quickstart template
* Added lurl (lazy_url) support for late evaluation
* Adding tests module back into source distribution. Solves ticket 115
* Template caching is now manageable by TG applications
* Clean up output for flash() in default quickstart
* Performance enhancements
* Fixed missing dependencies in TG quickstart on Python 2.4

Sunday, September 18, 2011

TurboGears and Ming/Mongo

I know that my followers are few, and my posts are too infrequent. I'm looking for ways to change my posting frequency.

But, even still, I have an important request: TurboGears 2.1.3 is getting ready to be released. We're adding Ming/Mongo support in this release. Anybody who can, please review the changes (core, devtools, and docs), run tests, etc. We need to make sure we've got this as correct as possible for everybody.

Thank you for your time!

Wednesday, August 24, 2011

Announcement: TurboGears2 2.1.2 Released!



We are pleased to announce the latest release of TurboGears, 2.1.2!


This is a maintenance/bugfix release for the 2.1 series which also adds some new features. The full changelog is below.

Highlights for this release include the beginnings of our new book "TurboGears2 Web Applications: Batteries Included", Python 2.7 support, improved Jinja2 support, and quite a few bug fixes.
You can see the book as it stands right now at http://www.turbogears.org/book/ . We're working towards getting more details and more of the older documentation updated to go into the book.

Wednesday, June 15, 2011

Announcement: TurboGears 2.1.1 Released!

We are pleased to announce the latest release of TurboGears, 2.1.1!

This is a maintenance/bugfix release for the 2.1 series. The full changelog is below.

Saturday, June 4, 2011

Announcing TurboGears 2.0.4

We are pleased to announce the latest release in the 2.0 series, TurboGears 2.0.4.

This is a maintenance/bugfix release for the 2.0 series. The full changelog is below.

Note that, unless security issues are found, this will be the final release of the 2.0.x line. As 2.1 is fully backwards compatible, and release of 2.1.1 is imminent, we strongly encourage everybody to upgrade as soon as possible.

We look forward to continuing to serve the community with quality code, and we look forward to your continued support!

The following changes were added for 2.0.4:
  • Python 2.4 compatibility was fixed.
  • Nested RestControllers had a bug preventing the proper
  • resolution of the "delete" method. This has been fixed.
  • When all @expose'd methods of a controller had a
  • CUSTOM_CONTENT_TYPE, a 404 would be returned. This has been fixed.
  • Problem existed with getting tuples into controllers. Patch from
  • bug 37 applied to fix this.
  • Brought the current TG2 private PyPI current. Getting installation
  • to work is now as easy as "easy_install TurboGears2==2.0.4"
  • Got automated testing working consistently.
  • Added tests for mixing positional args, keyword args, and pagination
  • dependency_links is now in place to make it easier to get the initial
  • setup done
  • Several other smaller bugs were fixed.

Friday, April 22, 2011

On Problem Solvers and Problem Throwers

People have problems; some of them very large, some of them very small, but everybody has problems that have to be solved. In many ways, this is the very foundation of business. When somebody has a problem, and (for whatever reason) he is unable to solve it himself, he can find someone else to solve it for him, for a price. Along with that comes the needs of the problem solvers, too.

Wednesday, March 9, 2011

A Git Script for Python

Working on TurboGears, I found myself trying to run all the tests we provide. And then I found myself getting a failure even though I didn't change anything. I had simply switched to a different branch.

Turns out the problem was left over .pyc files. Also turns out that the fix is extremely easy.  In your git repository, create a file named "hooks/post-checkout". In that file, put the following lines, and make the script executable. All .pyc files will be scrubbed every time you switch, preventing the problem entirely.

#!/bin/bash
find . -type f -print | grep -v ^.git | grep '\.pyc$' | xargs rm