Wednesday, June 29, 2011

I'm going to Pycon Australia!

I'm flying across the pacific! To a new continent!! To Sydney, Australia!!!

Okay, take a deep breath...

My girlfriend, Audrey Roy, is going to be giving a keynote speech at Pycon Australia. I'm going with her because, well, we travel everywhere together. To make the trip even more awesome, there was some last minute room in the schedule and the organizers of the conference offered me a speaking slot.

When and where will we be?

Pycon Australia will be from August 20th and 21st, with sprints the 22nd and 23rd, all at the Sydney Masonic Center at 66 Goulburn Street. Register and hang out with us!

What will we be presenting on?

Audrey's keynote is still in the works.

As for me, I'll be giving the new and improved version of my (in)famous Confessions of Joe Developer talk, of which the 'old slides' are here. You'll get to hear me confess about my shortcomings in public and in return I'll pass on tricks I've learned to convince people to believe that I know what I'm doing.

What will we be sprinting on?

I'll be leading the sprint on Packaginator, the framework behind Django Packages. The goal will be to finally launch Python Packages. Python Packages won't replace PyPI, it will simply provide a new window into what our wonderful Python community has produced. And I'm excited to work have our wonderful host, Richard Jones, as a resource for questions about PyPI API questions and systems sure to arise.

Audrey has told me she may assume her role as co-lead of Packaginator or work on another one of her great ideas (she created the idea for Django Packages - I just tagged along).

Will Pyladies host a workshop or hackathon in Sydney?

Audrey tells me there has been some interest from the Australian Python community in running a Pyladies event around Pycon Australia. She's put out a call-to-action and wants to do something the day before or the day after Pycon Australia. Please contact Audrey at if you want to know more or volunteer.

Please come and say hi!

There will be lots of people there, and I'm asking everyone in greater Australia and nearby nations and planets interested in Python to register and meet us!

Tuesday, June 28, 2011

Hollywood Hackathon Report

A few weeks ago, specifically June 18, 2011, two Python groups, Pyladies LA (since they are now global) and the local Southern California Python Interest Group joined forces with Border Stylo to put on hopefully the first of what I have styled the 'Hollywood Hackathon'.

Anyway, let's get down to some serious business. The event was exciting, eye opening, and I hope it happens again.

So why was this event special?
  • Out of the 55 local attendees, about 60% were female. Both genders had a wide range of skill levels and interests. 
  • 30 more people participated from around the world.
  • Numerous attendees, male and female, contributed to open source for the first time.
  • The waiting list for tickets was long.
  • The PSF and Python Sprints jumped at the chance to help out.
  • Code got submitted to various open source projects built using stuff like Python, Django, Pyramid, Bottle, Learn Python the Hard Way, and more.
  • The turnout was awesome. Imagine if there had been months of lead time and a dedicated conference site? Pyladies Con anyone?
What I did at the event

I did what I could to help set things up, presented at the end, and gave Python advice to those who needed it. Most of my Python advice was helping those stuck on setting up their system or trying to find a particular module to do a task.

The best thing about helping out people at an event like this is that people start figuring out things themselves. Yeah, you help them, but they do the thinking and they do the coding. All you do is provide that initial little bit of help and then they go off and make their world better. How cool is that?

Raise your hand! 

I'm guilty of this too, that I don't want to feel stupid by asking questions.

This is crazy!

If you ever come to an event like this, where a dozen people are giving their free time to walk around to mentor, then raise your hand. Otherwise it is by luck that someone will help you. Maybe we'll see you stuck on the same few lines of code or maybe we'll hear you curse exclaim in frustration. Or maybe mentors won't see you in trouble and you'll never get help.

So please, if you have any questions or problems, don't hesitate to raise your hand!

Closing bits

I have some advanced notice that the Pyladies organizers (regardless of opinion I am not a Pyladies organizer) is putting together a kit so you can open up a Pyladies club in your city. Yup, they are going global and I'll be helping spread that message in a future blog post.

If you wan to know more about what happened, Pyladies has an excellent writeup.

The Future of Python is women making up 50% or more of the community

The Future of Python

Saturday, June 25, 2011

Do not upload dev releases at PyPI

In my last blog post I mentioned that the plan was to release the django-uni-form 0.8.0 final in about six days. To my chagrin I was pointed at Tarek Ziade's post about not publishing beta releases on PyPI. So the django-uni-form team has now pushed up the 0.8.0 release of the library today, and removed the BETA from discovery via the web or pip.

Lesson learned: Until future notice from the distutils2 effort led by Tarek, if you are running a project that has any Stable releases, don't use PyPI to publish non-final versions.

Friday, June 24, 2011

Announcing django-uni-form 0.8.0 beta!

This has been a long time coming, but I am pleased to announce the release of the django-uni-form 0.8.0 beta. We plan to release the 0.8.0 final next Friday around the start of July 2011.

This is an enormous jump forward in the project, and I think you'll like what has been done and who contributed.

Some notable changes
  1. As of this release, there is now a formal django-uni-form release on PyPI that fully supports Django CSRF tokens.
  2. Better error messages to help you debug. No more annoying Null messages on bad helpers!
  3. The Python code has been carefully cleaned and optimized. Much easier to read, debug, and it plain runs faster on form heavy sites.
  4. Various improvements to the templates to better match the parent Uni-Form library.
  5. Only compatible with Django 1.2 or higher and Python 2.6 or higher. If you need something to work with other earlier versions of Django/Python, then I suggest using django-uni-form 0.7.0. Or better yet, upgrade your site!
  6. Much improved documentation on the awesome site.
  7. Tons of other things!
  8. Upcoming faster release cycles. More on that in the next section...
Leadership change for django-uni-form

Let's face it, over a year between releases is too long for any active open source project. I haven't done the incredible (and patient) django-uni-form community justice in supporting their issues and pull requests. This project has needed a much more active lead for some time. Fortunately, I found a new project in the way of Miguel Araujo.

Miguel Araujo shares my passion for good form generation and has a very deep understanding of Python, Django, and HTML. Also, his decisions on everything about this project either matches my own thoughts or he's been able to easily convince me why his concepts are sound. He is responsive to pull requests and issues, and his work is of high quality. So we should be seeing lots of releases and a better evolution of the system to match other advancements in the Django community.

So going forward Miguel will be the project lead for django-uni-form, and I'll be 'former project lead' and 'documentation donkey'.

The future of django-uni-form in the face of the forms refactor

Some people are wondering what place django-uni-form has in the face of the Django GSOC forms refactor by Greg Mullegger. Is the need for django-uni-form going away?

First of all, I actually have been pushing for a forms refactor in Django for some time. At the 2010 sprints Russel Keith-McGee, Django core developer and DSF president, asked my opinion on the design of a forms refactor. For the GSOC effort, I was delighted that the GSOC forms project followed the opinion that I preferred in how to  doing things, and so I put in my non-binding vote for Gregor's approach. I'm rooting for you Gregor!

Second, while I think that while this library may change a bit to accomodate the eventual integration of Gregor's work, the need to be able to do guaranteed working Section 508 compliant layouts easily and more importantly make fancy layout changes in Python will keep this library alive and useful for a long time coming.

Whither goes the source code?

Finally, we'll be keeping the repo at for the 0.8.x series so we have time to properly warn the community. When the forms refactor hits Django (prompting the necessary release of the 0.9.x series) we may be moving the library to its own github account.


I want to thank all the contributors, users, and anyone who gave me guidance or suggestions for this project. All the credit for this goes to you. I'm honored to have started something used by so many great people in so many wonderful ways.

This evolved from a Django beginner's shortcut filter to a rather sizable project with a great community. Due to my support of this project I learned git-scm, setuptools, JQuery, Sphinx, custom Django filters and templatetags, and more. I look forward to where it will go in the future with Miguel as lead.

Sunday, June 12, 2011

Hollywood Hackathon on June 18th!

Alas, that isn't the formal name of the event, but I'm calling it that anyway. That name just rolls off the tongue, and just seems to embody my East Coast style distorted vision of the Los Angeles Python community.

Anyway, this is a day long event in Hollywood for Python developers of all skill levels to come and code like fiends with either really smart people or nice people like me. The PyLadies and SoCal Piggies are organizing this event, and they even got some PSF funding for things like tables, chairs, and t-shirts.

Which reminds me, please encourage the smart women of all ages in your life to attend! We'll have mentors just for them!

I'll be there to:
  • Help out as a general volunteer by setting up tables, manning registration, and answering questions.
  • Assist a few friends on their open source projects.
  • Work on the new Python LA website (powered by Pyramid).
  • Finish the documentation of django-uni-form 0.8.0 if it isn't yet done.
  • Maybe close some Packaginator tickets and pull requests.
And now to open the floor to questions...

I'm just starting with Python, should I come?

Heck yeah! Hackathons (and sprints) are a great way to learn new skills or hone your technique by sitting alongside experienced developers who actually need your help. A lot of projects have what are called 'low hanging fruit', which are 'simpler' tasks saved for beginner developers to wet their teeth on.

Things I've learned at events like these include Git, Mercurial, JQuery, and a hundred other things that have made me a better coder.

What if I don't have a project of my own to bring? Should I come?

Heck yeah! There will be a number of projects around that you can join and contribute to in order to make the world a better place. There isn't a list up yet, but I'm hoping by Saturday there will be one.

What if I want to come and recruit people?

Absolutely not. This is not a job fair and we don't want unnecessary distractions.

What should I bring?

Your own functioning laptop with power cord.

How much does it cost and where do I register?

The event will put you back a measly $15 and that covers food and drinks for the day. Registration is here.