Monday, February 28, 2011

The 10 Python Conferences Happening at PyCon 2011 (part 2)

This is the second in a series of posts about the schedule for PyCon 2011. In designing this schedule, we found that there are actually 10 different conferences happening in parallel at PyCon. The first post introduced the series and discussed the Django virtual track. This post focuses on the second virtual track, web working.

Web Working

The first virtual track was about Django, but there is much more to Python on the web than just Django. This second track is focused on the many ways in which Python works to enable the world wide web.

In this track we have nine different talks:

State of Pylons/TurboGears 2/repoze.bfg by Chris McDonough, Ben Bangert, and Mark Ramm. The past couple of years have seen some amazing consolidation around a core set of libraries and best practices in the Python web world. As a result, Pylons, TurboGears, and Repoze.bfg now share an underlying base of best-of-breed components, while maintaining their unique outlook on how to quickly get from zero to working code. This three-for-one talk by the main developers of these three popular Python web frameworks will (very!) briefly cover the state of each of our individual frameworks and communities, followed by a discussion of their efforts to work together and share code.

Opening the Flask by Armin Ronacher. Flask has an unusual history - it started out as the joke framework Denied, but was morphed into a small, reusable microframework when there was an unexpected surge of interest. Based on the powerful foundation of Werkzeug and Jinja2 it's one of the most popular microframeworks for Python.

This talk will start with a very quick introduction into Flask, where it all started and why people like it. Armin will take people into the design of Flask and explain why it works the way it works. Furthermore it will look into the Flask ecosystem and how extensions work and have a brief look in what is planned for the future, especially regarding Python 3.

WSGI: Working together to solve the web's problems by Christopher Perkins. WSGI has been around for quite a few years now, and has progressed somewhat into a movement in the web development world, having inspired a number of similar libraries in other languages. WSGI is moving forward in the Python space, with a new, Python-3-compatible specification just approved. The purpose of this panel is to get the experts developing the spec together in a public domain to talk about the past, present, and future of WSGI.

Hookbox: All Python web-frameworks, now real-time. Batteries Included by Michael Carter. Hookbox is a Python and Eventlet-based Comet-server/message-queue which tightly integrates with existing web application infrastructure via web hooks and a REST interface; Hookbox’s purpose is to ease the development of real-time web applications, with an emphasis on tight integration with existing web technology. Put simply, Hookbox is a web-enabled message queue. It doesn't matter if you are using Django, Pylons, TurboGears, Google App Engine, or Werkzeug; Hookbox is made to integrate with your framework of choice. If you pay attention for at least half of this talk, you'll leave confident and ready to take advantage of WebSockets, Comet, and the world.

HTSQL - an insanely good WSGI / REST interface to your favorite database by Clark C. Evans. One of the most common needs for companies is an ad-hoc reporting tool for their databases. The most common product within this space is Crystal Reports - with the open source alternative Jasper Reports. The problem with both Crystal and Jasper, though, is that they require significant programmer/DBA time to set up and administer the reporting infrastructure. This is inefficient and expensive. Another problem with existing solutions is that they don't make the data from your databases available for web applications.

HTSQL takes it away from hard "reports" by exposing databases as full-fledged entities on the web by mapping a graph-based URL language to the structure of your database. No setting up the report needed - just craft the right URL and your ad-hoc reports are done. Live dashboards become easy - and your data can easily be consumed by other web services in XML or JSON format.

An (biased) survey of the python web by Mark Ramm. Mark Ramm is the BDFL of one framework - but that's also why he pays attention to the whole ecosystem. From the release of Plone 4, TurboGears 2, Django 1.2 and Pylons 1, it's been an interesting year. And things like html5lib, an updated WSGI spec, and a contender for the next generation WSGI have all made things interesting.

This talk is not about teach people to use python to make websites. It's to teach people who already use python, that there are lots of different tools out there, and to help us all get some perspective on what Mark calls the "python web toolkit." This talk won't be about throwing Twisted into a cage match with Zope3, or setting Flask up in a fight to the death against web.py. Instead, it attempt to survey the full landscape of the python web world and to see how far we've come in the last 5 years.

HTTP in Python: which library for what task?/ by Augie Fackler. HTTP is the lingua franca of the web, and many things done in Python depend on it - but unfortunately the implementations of HTTP in Python can be a mixed bag of available technology. What's implemented mostly works well, but there are some frustrating gaps in different libraries that are poorly documented. This talk goes through the nuts and bolts (and warts) of every HTTP library Augie could find for Python. Finally, Augie decided to write his own. This talk will cover what's available today and why it made sense to start from scratch with a completely new implementation.

Scaling Python past 100 by Mark Ramm. This talk takes a dive into one of the most-trafficked sites on the web, the venerable Sourceforge.net. Sourceforge is in the midst of a complete exorcism of the old codebase - but the path from legacy PHP to modern python tools has been long and bumpy. This is the inside story of how Sourceforge took Python from a single prototype site, to the core technology driving SourceForge.net. Mark will discuss the mistakes they made along the way, the benefits that sold python, and the real secret behind Sourceforge's python transformation.

The Pyramid FAQ by Carlos de la Guardia. Every development project has a few questions and doubts that seem to come up on its support channels every now and then. The Pyramid framework is no exception. For Pyramid, the #pylons IRC channel is the most common way of giving support to users of the Pyramid framework. This talk will take some of the most often discussed topics in the channel and give detailed answers to them.

Is this the conference you want to see? Then, register for PyCon and book your room now! We have picked up a few more rooms - including a few at a lower rate a block away. You can email (pycon4-reg@cteusa.com), or phone (847-759-4277). We have very few spots left.

See Part 1 of this series, or go to this post on the PyCon site.

Edit: See the discussion link on Hacker News.

The 10 Python Conferences Happening at PyCon 2011 (part 1)

After weeks of work, we have finalized a schedule for PyCon 2011. In designing this schedule, we found that there are actually 10 different conferences happening in parallel at PyCon. We are going to tell you about them all.

In our earlier blog post, I mentioned that part of the fun of each conference is discovering the themes inherent in what the Python community is doing. We then try to schedule the talks in "virtual tracks" so that people with different interests can attend and see the conference that is personalized to their particular interests, without having all the talks on the same topic scheduled against each other.

This year, we organized the talks in ten different virtual tracks. For the most part, the talks in each track should be sequential, so that each person can see most or all of the talks in one virtual track.

For this year, the virtual tracks are:

  • Django
  • Web working
  • Python and NoSQL
  • Networking and Concurrency
  • Community
  • Python Implementations
  • Deep Voodoo
  • Testing, Debugging, and Documentation
  • Algorithms, Big Data, and Cloud Computing
  • Working with Python

Virtual Track #1: Django

Django is the best-known and most widely used web framework for Python. Coming out of the Lawrence-Journal World's internal development efforts, it has evolved from a news-focused system to a full-fledged web development environment in use all over the web. It is not by mistake that one of our Startup Stories focuses on the use of Django at DISQUS.

In this track we have six different talks:

Distributed Tasks with Celery by Ryan Petrello. Celery is an open source task queueing system based on distributed message passing, especially using the AMQP protocol. Celery is usable for all sorts of things, but it has become prominent as the go-to backend queuing system for use with Django. This talk will focus on the need for task distribution, the tools celery provides to meet those needs, and an in-depth discussion of how they have used celery at ShootQ to improve the efficiency and reliability of their background processes. [ShootQ doesn't use Django - showing how this is applicable across the web working space. Nevertheless, it is best known for its easy-to-use Django integration - ed.]

Django Packages: A Case Study by Daniel Greenfeld. Since launch Django Packages has become the place to find and compare apps, frameworks and projects produced by the Django Community. Through the use of public APIs, Django Packages constantly fetches hard data from PyPI, Github, and Bitbucket, aproviding a powerful mash-up of real-world data on the volume of usage of a particular package. At a glance you can see which package is the most downloaded, which is the most used, and which has seen ongoing development. This talk is for everyone, including non-Django users, and covers everything from architecture, API development, to interacting with PyPI, Github, Bitbucket, etc. It will include tools, lessons learned, and projects that fork the code to save the world and will finish with an overview of the forthcoming pypackages.com.

Pluggable Django Patterns by Corey Oordt. (Extreme) Pluggable or reusable applications are a key feature of Django, but there is little guidance on writing them well. This talk will dig into the different types of Django applications and coding patterns that make writing a reusable application easier. This talk also covers ways to avoid common implementation gotchas.

Best Practices for Impossible Deadlines by Christopher Groskopf. Django's tagline is "The Web framework for perfectionists with deadlines." Christopher Groskopf takes that to the next level with this talk. At the Chicago Tribune he helps develop, test, and deploy production web applications on schedules that range from two hours to two months. This talk will discuss the tools and techniques that allow us to make our deadlines, including automated deployments, frameworks, just-in-time testing, and more. Attention will be paid to the projects in their Github repository and the problems they solve.

Django: Pitfalls I Encountered and How to Avoid Them by Luke Sneeringer. This talk helps those who are new to the Django framework by helping them gently up the learning curve. Are you starting a moderate to large sized Django project? Do you need to plan ahead and build an application that will react to unanticipated needs? This talk covers some techniques and pitfalls Luke encountered in writing his first reasonably large Django site, and what he did differently the second time he started a project.

Running Django Apps on Google App Engine by Wesley Chun. In the past, Django users couldn't run apps unmodified on Google App Engine. Some tools helped with integration but required you to change your data models. Django-nonrel removes this requirement letting you run native Django apps on App Engine with only config changes if you bear in mind its restrictions like no JOINs. This talk will discuss Django-nonrel and porting App Engine apps to Django.

Is this the conference you want to see? Then, register for PyCon and book your room now! We have picked up a few more rooms - including a few at a lower rate a block away. You can email (pycon4-reg@cteusa.com), or phone (847-759-4277). We have very few spots left.

Edit: Blogger Link and Hacker News discussion link.

Edit 2: Go to part 2 of this series on the PyCon site or on Blogger.

Saturday, February 26, 2011

Remember to submit and vote on questions for the fireside chat with Guido Van Rossum!

PyCon 2011 is rapidly coming up on us (10 days) - remember to submit and vote on questions for the delightful fireside chat (featuring a comfy chair) with Guido Van Rossum, BDFL and Creator of Python! Check out the google moderator here: http://www.google.com/moderator/#16/e=5615c

Friday, February 25, 2011

Pycon 2011: Interview with Michael Foord

By Mike Driscoll

PyCon is only a few weeks away, so I decided to interview one of the speakers for this year’s convention. In this discourse you can learn about Michael Foord’s talk about mock and what he likes about PyCon in general. Michael Foord is probably best known for his work in the IronPython community and for writing a book on IronPython. He is also the author of the mock library.

1) What do you want the attendees to take away from this talk?

My talk is on mock, which is a mocking and patching library for testing with Python. It grew out of a very simple, 30 line, proof of concept I developed for Resolver Systems to replace the myriad stubs we were creating throughout our test suite. It has since grown to become one of the most popular mocking libraries, out of the many available. The main reason for this is because it's very *simple* to use. It *isn't* a framework and it isn't opinionated about how you write your tests. mock aims to simplify many of the common patterns for mocking and monkey patching when testing with Python.

This talk is an introduction to mock, so it isn't an advanced talk but will show people how mock solves the common problems for which it is designed. There are also some really interesting features coming in mock 0.7.0 (which you can use right now - the beta is up on PyPI). This includes the much demanded support for mocking objects that have "magic methods" (protocol methods) including context managers and so on.

So I guess I'd like to showcase the new features (Python 3 support - yay!) and hopefully show people who aren't familiar with mock not just why they should use mock but how.

One of the other topics I'll talk about, perhaps surprisingly, is when *not* to mock. There are certain streams of thought in the testing world that you should mock absolutely everything. This can make your tests fragile and mean that you end up testing against implementation (and are therefore subject to every implementation detail) rather than testing the purpose of your code. I'm a believer in testing units of behaviour rather than units of implementation. I'll talk a little bit about *minimising* the use of mocking within your tests and not straying into over-mocking that is going to make your tests painful to maintain.

2) What made you decide to speak on this topic?

Despite mock being pretty popular I've never spoken about it at conferences before. I like to contribute to PyCon by talking about *something* (if I'm wanted of course) so it seemed an obvious topic. Not only that, but mock is something I'm using daily (thankfully my team at Canonical were using mock even before I arrived) and seems to be proving useful to other people.

One of the reasons people sometimes don't test is because it can look like some things are harder to test than they really are. Certainly if you're not doing any mocking, and even possibly if you are, mock can make writing tests easier and remove another barrier (excuse) for not testing.

I'd also like to speak up in favour of the much maligned monkey-patch. Monkey patching (changing behaviour of objects at runtime by replacing members - usually methods) has a bad reputation in the Python world, and certainly for production code it is a great way to confuse people trying to read your code. For testing though it is a very useful technique for analysing the behaviour of your code, especially where certain code paths are "expensive" (hit the network, filesystem or database for example) or are complex to configure.

Some people religiously avoid monkey patching and advocate techniques like dependency injection or inversion of control. Whilst these can be very useful architectural decisions in their own right they are rarely needed in Python *purely for testability* (whereas in languages like Java and C# they absolutely are) and I'll be showing why.

3) Why did you write the mock module?

I kind of answered that already. Many of the existing mocking libraries are really framework; they encourage or force you to write your tests in a particular way. For mocking frameworks that follow the expect -> verify (or record -> replay) this puts the tests what feels like the wrong way round; you effectively make your assertions and then execute your code. They also force you to jump through hoops where you *aren't* interested in how some mock is used (or some aspect of it is used) but a particular test is really just about one small part of the behaviour of the code under test.

I thought we could do better and wrote a small Mock class that could replace pretty much all of the many stub objects we were using in our tests at Resolver Systems. Functionality grew as we and other people started to use it more and more.

4) What are you most looking forward to at PyCon this year?

I always look forward to meeting people and the hallway track. There are many people I interact with daily on IRC, twitter and mailing lists and only get to see in person at PyCon. The Python community is full of great people and I enjoy spending time with them. The talks are a nice bonus of course and now that I'm working daily with django (which I wasn't this time last year) I'll be seeing what new tricks and tools I can pick up on. Hearing about how the other implementations are doing, particularly pypy, is always fascinating too.

There are a whole lot of other great speakers that are coming to PyCon this year as well. This is just a very small taste of what you can see while you’re there. Also note that there will be lots of folks who don’t speak but who are quite possibly just as interesting. PyCon is creeping up on its attendance cap, so sign up now before it’s too late!

Thursday, February 24, 2011

PyCon 2011 Interview: Daniel Greenfeld

By Rich Leland

The master of one-handed cartwheels takes time to answer a few questions about his talks at PyCon this year.

Daniel has been selected to give a tutorial, a talks and moderate a panel at PyCon 2011:

About the speaker

Tell us a little bit about yourself.

Since summer of 2004 I’ve had this weird compulsion to read Wikipedia’s recent death page every day. I didn’t get my driver’s license until 2010. And thanks to my mother’s keen parenting skills I suspect that oatmeal doesn’t stop growing.

I’ve been doing Python for nearly 6 years, 5 of them professionally. I started professionally on Django 2.5 years ago. I live in Los Angeles and am a co-founder of cartwheelweb.com, a consulting/training firm that specializes in Python and Django.

The talks

Why did you decide to submit a tutorial, talk and panel for PyCon this year?

I figured that if I submitted enough things then maybe one would be accepted. I took a shotgun approach and expected to miss the target completely. I put my heart into the submissions and I guess that paid off.

How did it feel to learn that your submissions were accepted?

Terrified.

I expected to miss. I didn’t expect to hit the bullseye.

PyCon is full of brilliant people who I respect and admire. You can’t walk into a room at PyCon and not meet people who don’t know more than you do on just about everything. Now the pressure is on to make a good impression on all these people who I consider role models and inspirations.

If I had hair on my head it would have turned white by now.

What should one expect to learn from your Pinax Solutions tutorial?

A better question would be “what should one expect to get from the Pinax Solutions tutorial?”

And the answer to that is “Lots of technical details and a lot of practice.”

We’ll go over the nuts and bolts of setting up a Pinax project. Then we’ll go over solutions that myself, Brian Rosner, and others use to solve project requirements. Basically, it will be a dump of some of the patterns and tools that work best in our day-to-day work. Even if you are using django-cms, Satchmo, or plain Django, there is material in it for you.

Then we’ll go into workshop mode for the rest of the tutorial. That means we help you build our project, and if a question you ask could benefit everyone, we’ll show everyone what you are trying to do. After the tutorial officially ends I’ll still be around to help out that afternoon and the next day’s afternoon.

What will you cover in your talk about djangopackages.com?

That it wasn’t just me.

I didn’t work in a vacuum, I had literally thousands of people helping me out. Django Packages was created by myself and my business partner, Audrey Roy, by combining a lot of packages into a single system. Which means I also had the open source Django and Python communities helping me out.

Besides that I’ll get into the Zen of Python, lessons learned, and the wildlife of Kansas.

Give us an overview of what to expect from the How to sell Python panel.

Five brilliant minds discussing how to get Python into the places where we want it to be. I think its safe to assume that people wanting to attend PyCon believe that Python makes a difference. My hope is that at PyCon 2012 someone will come up to me and say, “Hey Danny, that panel help me get Python into our organization and everyone is delight with what it’s done for us!”

PyCon 2011

As someone who has attended PyCon in the past, what keeps you coming back?

Discovering ideas and technology that takes my breath away. The chance to meet with old friends and make new ones. Finally, I always look forward to gushing over Guido van Rossum like a adolescent over Justin Bieber.

What talks are you looking forward to attending this year at PyCon?

See Daniel present

I’ve seen Daniel speak on a number of occasions, whether it was at previous PyCons or in Washington, DC before he moved to Los Angeles. I would encourage you to attend one of his accepted talks.

If you haven’t already, register for PyCon! If you’re on the fence, check out the full list of talks, tutorials and other general information. It’s bound to be another great year.

Monday, February 21, 2011

Want free tickets to PyCon? Check out Github's Raffle!

Github (one of our sponsors) are raffling off two free conference registration passes! Check it out over on their official blog.

Sunday, February 20, 2011

PyCon 2011: Networking Preliminary Information

Sean Reifschneider of Tummy.com - official networking provider of PyCon 2011 (and past PyCons) has posted a good read for PyCon attendees who want to use the network (wired and wireless) at PyCon 2011. I've quoted the post here, but you can also subscribe/read it from the tummy.com blog here. He's also looking for volunteers to help set things up - check it out here.

If you are planning to attend PyCon 2011 and use the network, please read this. And if you are thinking of going and haven't signed up, please do so soon, it is expected to sell out. In a good way.

Executive Summary: Please bring 5.2GHz gear if at all possible (A.K.A. 802.11a). There will be a few hundred wired ports but they are highly concentrated. Please leave your 100+mW cards at home. Read this full message for all the details.

Configuration

You should see several networks available, including "pycon", "pycon2" and "pycon5". The latter two indicate that they are operating at 2.4GHz or 5.2GHz. The "pycon" is a blanket "whatever I can see", but the "pycon2" and "pycon5" networks allow you to more easily pick one of the specific frequencies. It also allows you to tell if your card is capable of 5.2GHz operation.

My recommendation: Use "pycon5".

Which Frequency, Kenneth?

One thing I've learned doing PyCon networking over the years is that 5.2GHz (802.11a) networking gear just tends to work, and 2.4GHz (802.11b/g) just tends to have problems... If you rely on the network at PyCon, particularly during the "big 3" days of the conference, please try to bring 5.2GHz gear.

802.11n, the newer protocol, is a bit trickier to tell, because they don't have different names for it depending on the frequency, like they did with 802.11a/b/g. You'll have to check your hardware to see if it supports 5.2GHz.

Last year, at peak, we had around 70% of connections via 5.2GHz, and 30% using 2.4GHz. Only 10 out of 600 connections were at 802.11b (the older, 2.4 GHz protocol).

Why? There are a couple of issues with 2.4 related to congestion. There are only 3 non-overlapping channels in 2.4GHz, but also the venues tend to have a lot of other gear including their own APs and other gear that operates at 2.4GHz. 5.2GHz has many more channels, and tends to have fewer users on it.

So, while we do our best to offer service to 2.4GHz, it often just doesn't work in the main ballrooms, there are just too many users for too little wireless spectrum.

Wired: Coffee and Ethernet

I will be buying more Ethernet switches this year, but that's still only around 32, and we have hundreds of tables. So only a few tables will have wired ports available. If you are having networking problems, feel free to sit by the switches and use them.

If wireless is working fine for you, please leave the tables with Ethernet available for others. Don't go overboard, if there's nowhere else to sit, feel free, but if there's plenty of space open, try to save the wired tables for those who need it. If you're at a wired table, please do use the wired network, everyone we can get off the wireless network will help, particularly in the 2.4GHz spectrum.

I'm Big on the Internet: Downloads

If you need to do a big download (or to a lesser extent, upload), during the main 3 days of the conference, please try to use one of the wired connections if you can, especially on the 2.4GHz spectrum.

Sharks with Freaking Lasers: High-power Wireless Gear

A lot of people love the high power cards, that have 100mW, 200mW, or more power... But at PyCon, these cards are like a fog-horn, deafening everyone for miles around. Again, especially in 2.4GHz, these cards can stomp on many other wireless "cells", blocking out other users.

And it's really not likely to help. All the APs at PyCon, in 2.4GHz, are set to their lowest power settings -- to make many little "cells" rather than trying to blanket a huge area. So if you need big power to reach the AP, chances are that the AP isn't powerful enough to reach back to you.

Hey Everyone! Over here! Ad-Hoc Mode Networks

Please be careful of the configuration of your card, and what networks you connect to. Be careful not to set up your card in Ad-Hoc mode. This basically makes you look like a provider of PyCon wireless access, and unskilled users may connect to your network and then not be able to reach the public Internet. We've had serious problems with this in the past.

Likewise, when you are connecting to the network, be aware of this possibility. Most network management programs will differentiate the Ad-Hoc networks as "computer-to-computer" or showing a computer icon next to it, as opposed to the real PyCon wireless which is in "Infrastructure" mode. Do not connect to the Computer-to-Computer networks.

Help me! If it doesn't work...

Please report networking problems to registration. If you can, write down a quick note with where you were having problems, what frequency (2.4 or 5.2), and the nature of the problem. Registration may or may not be able to help you, depending on how busy they are and if there is anyone there who can help. However, worst case they will get the notes of problems to me to investigate later.

Thanks for listening.

 

Saturday, February 19, 2011

PyCon 2011: Interview with Geremy Condra

by Brian Curtin

Putting together two talks for a conference like PyCon is certainly no easy task, nor is it easy to pile on a lightning talk and the organization of a Birds of a Feather (BoF) session or two. That’s Geremy Condra’s plan for March 11 through March 13 at PyCon.

The security researcher from the University of Washington heads to Atlanta for a second time, looking forward to an even better conference compared to last year’s blast. “My favorite part is definitely the degree of accessibility the conference offers - between the lightning talks, poster sessions, BoF sessions, etc.,” he says.

Although the PyCon talk schedule may have you believe the day is over by dinner time, that’s only half of it. As Geremy mentions, “PyCon's enormous strength is in its ability to connect diverse parts of the Python community.” One of the ways this happens is through the many Open Space and BoF sessions in the evening. Add to that all of the thrown together hallway events, ad hoc sprints, games, and much more, and it quickly becomes a 24-hour gathering.

During the day you’ll have a chance to hear Geremy’s take on TUF, a library for secure software updates in Python. Asked what common security issues developers are facing, Geremy answers, “Most devs make their security mistakes when they try to figure out who the adversary is - misplacing trust, assuming that adversaries are weaker (or just differently capable) than they actually are, that sort of thing. This seems to happen a lot with client side code, especially when it comes to downloading files.” Rollback and mix-and-match attacks like this are some of the topics of this talk, including a demonstration of the vulnerability followed by what TUF can do to protect against it.

“The other big issue is with trusting untrustworthy code,” he claims. “Thinking that
urllib will automatically check certs for you, that your cryptographic routines are secure because you can't figure out what they do,” are some of these issues. Fortunately, these are more easily fixed than others, and also make up a lot of what he plans to speak about at PyCon.

His second talk, Through the Side Channel: Timing and Implementation Attacks in Python dives into some of the great things about Python that can also introduce security risks. Part of the talk is to raise awareness using some Python projects that are in wide use. Additionally, he plans to educate attendees on the methods of defense, leaving them with a better sense of what’s out there and giving them a better chance at spotting and correcting the flaws that leave one’s project open.

I had a chance to ask Geremy about some of his work and his use of Python, and found that almost everything he does uses it. “I build simulations using Fabric, display data using Matplotlib, use Sage to model problems, and of course implement solutions in Python where possible,” he says, also mentioning occasional Haskell use.

Additionally, he’s the creator of several open tools that he uses on the job. The Graphine library, an easy to use graph library for Python 3, is one of his projects. He’s also responsible for EVPy, a set of bindings for OpenSSL’s EVP interface, supporting both Python 2 and 3.

We look forward to the security knowledge Geremy brings to this year’s conference, along with his upcoming book titled “Cryptography and Network Security with Python 3.” If you haven’t bought your tickets yet, get them before all 1,500 are sold out!

Friday, February 18, 2011

PyCon 2011: Interview with Zed Shaw

Speaking and teaching for the first time at PyCon is Learn Python The Hard Way author and software developer Zed Shaw. As the author of numerous open source projects involving a number of languages such as Lamson (Python), Mongrel (Ruby), Mongrel2 (C), and Tir (Lua), I asked what brought him to his involvement with Python.

He began in 2003 with a server that interacted with fingerprint scanners, complete with a web front end to manage them. “My interest in Python is now more as an educational tool. It's really the only language with the right balance of not too much punctuation or ‘syntax junk’ and not too little,” he says. Python seems to hit the sweet spot for him in terms of the amount of punctuation needed to build structure, “but not so much that you're filling out forms in triplicate just to get something printed to the screen.”

The idea for his Learn Python The Hard Way book came from his experience with Mickey Baker’s “Complete Course in Jazz Guitar.” “I learned a lot from it because a trainer sort of inverts how you're taught by having you do exercises, then explain them, then apply them,” says Zed. “It's easier to explain something that someone has already experienced,” he claims, which explains his “Do Not Copy-Paste” introduction. Readers are encouraged to manually type all examples, as copy-paste defeats the purpose of learning. “The point of these exercises is to train your hands, your brain, and your mind in how to read, write, and see code,” he says in the book.

Zed’s Python For Total Beginners tutorial uses his book to give a lab-style introduction to the language. Along with the tutorial comes a bonus offer from Zed: if enough people are interested, he’ll keep going and teach the whole book throughout the conference.

He has also offered to be somewhat of a guide to new Python users in the group. “I thought that if there was a cadre of folks who helped newbies at least understand the culture then they'd have more fun. This year I decided to give it a shot and see how well it'd work,” says Zed. The plan is to mix in Learn Python The Hard Way lessons with talks, including post-talk discussion to dive in further. If you’re interested in this, contact Zed and let him know.

Along with the beginner material, Zed plans to kick it up a notch with an extreme talk on ZeroMQ. The talk, titled Advanced Network Architectures With ZeroMQ, jumps right into the swimming pool of messaging and heads quickly for the deep end. He starts with pub/sub, works through distributed queues, inter-language communication, and onto whatever other deep things he can get through “all in a short talk with only code, no diagrams.”

He’s pretty well invested in ZeroMQ, choosing it as the messaging platform for his Mongrel2 web server, which hit a major release three months after starting. “My favorite thing about ZeroMQ is not having to care about it. It just works and I can do all the stuff I generally do with raw sockets,” he said when asked what he liked the most. He goes on to say, “I just love that it's easy to use it for various architectures that would be a huge pain to create otherwise.”

We welcome Zed back for another PyCon and hope to see him and his extended tutorial group around the conference. Check out his talk, tutorial, and get your tickets soon. They are running out. Seriously.

Thursday, February 17, 2011

PyCon 2014-2015 site selection meeting at PyCon 2011

The PyCon Organizing Committee will have a planning meeting at PyCon 2011 to begin the process of selecting the location for the 2014 and 2015 conferences. Any local or regional user group interested in proposing their city to host the conference should plan to have a representative at the meeting, if possible.

Email PyCon 2011 Chair Van Lindberg if you are interested in attending.

More details will be announced as soon as the time and location are decided, and a notice will be posted on the open space board at the conference in case you decide to come at the last minute.


Wednesday, February 16, 2011

PyCon 2011: Behind the Scenes

People are asking about the cap for PyCon this year. The answer is that we have approximately three hundred and fifty spaces left. So no, we are not sold out at PyCon yet - but things are moving so fast (and we are receiving so many questions) that we thought it was worth opening our kimono a little bit and letting you see into the underbelly of planning for an event like PyCon.

Hotel Negotiations

The first and most important part of hosting a conference is negotiating with the hotel or convention center to get a place to stay. Some of that negotiation took place a couple years ago - we signed on to be at the Hyatt Regency Atlanta a couple years ago - but big parts of that contract are contingent on a conference attracting enough attendees to fill hotel rooms to make the hassle worth it for the hotel.

For those who are working with the hotel numbers, we measure what are called room-nights - booked hotel rooms. These are not the same as individuals attending PyCon, because people share rooms, drive in, stay at other hotels,etc. They are, however, a good comparative indicator of how many people are going to be someplace.

Last year (our biggest PyCon to date), PyCon generated a total of 2406 room-nights. At this level we didn't sell out our reserved block, but we had enough of our block filled (the contract specified over 80%) that we didn't have any penalties.

This year, PyCon attendees have already registered 2647 room-nights - 96% of our allocated block. The hotel always keeps a little in reserve above our block, but we may not only sell out PyCon, we may sell out the hotel, too.

A Public Service Announcement

Especially in light of the above, please note that online booking of hotel rooms at the PyCon rate will close this upcoming Friday, February 18. We have to provide a list of booked rooms to the hotel on that date.

In short, register for PyCon and book your room now!

Note however, we will continue taking additional reservations and changes via email (pycon4-reg@cteusa.com) and phone (847-759-4277), but after Friday they are not guaranteed and will be based on availability with the hotel itself.

Catering

Another aspect of holding an event like PyCon is catering. It is not something that most people think about, but getting good food to 1500 people efficiently is really hard - and doing it on a budget so that it is affordable is even harder.

The hotels build in the price for their services into the cost of the food. That means that sodas are about $4.00 each; coffee costs from $75-$100 a gallon; and that croissant you just ate for breakfast was only $6.00. A nice plated lunch like the ones that we give at PyCon? Only $35-$40. A bargain!

When I first saw these prices, I nearly fell over - being much more frugal myself - but I have come to understand that there is much more to feeding 1500 people than there is to feeding 10, 20, or even 200. The operational complexity of preparing, serving, and cleaning up that much food all at once makes it a specialty operation. It is a lot like the principle that dealing with 1000 requests/second is much easier than dealing with 10K requests/second. Scale matters - in software and in food.

As an aside, if you are going to PyCon, we would love to get a response from you about dietary restrictions and PyCon. If you could answer the one question on our survey, we can use that information to better tailor what we are making to what people will be eating.

Tutorials

We are very excited about our tutorials this year. We were excited to get so much feedback about what people are interested in seeing. We changed some of the offerings in response to that feedback - and the response has been immense.

The tutorials at PyCon have always been something special - but I think this the tutorial days are one of the underrated gems of PyCon. PyCon attracts some of the very best instructors in the US (and in the world!) to give instruction, and the cost per tutorial is far below what other conferences and commercial services cost.

In fact, it is such a good value that we have had more than one company that have adopted the PyCon tutorials as their employee training in Python. That is ok too - that is part of growing the community. The tutorials are an example of us putting our money where our mouth is to make PyCon a community-oriented conference.

The tutorials always sell out first - though - and a few have already sold out - so register for any tutorials that you want now before they are all gone.

Themes - Data and Startups

One of the hardest but most interesting parts of PyCon involves discovering the theme for each year. Yes, I said "discovering," not "inventing." For the past several years, we haven't had a theme in mind when we have called for talks, tutorials, and sponsors -- but each year, the submissions and discussion around PyCon have converged to give us a focus for the conference. We don't usually make a big deal of these themes, because it can be so overdone, but once we discover it, it helps guide our thinking about how we will use the conference to build up and reflect what people are naturally doing.

This year, we had a lot of interest and submissions centered around using Python in the big data/natural language processing space. Python is becoming one of the favored tools for doing data hacking - and that is why we are so excited that Hilary Mason will be giving our first keynote. Looking across all of the submissions, though, we saw a second theme - the use of Python not only to make sense of data, but also - with apologies to Perl - to be the swiss army chainsaw of a growing number of startups. With this perspective, we were able to find our second set of keynote addresses - "Startup Stories" about companies that made it (and are making it) with Python.

Some of those same Python startups are helping get the word out about PyCon. We are using Convore for some conversations about PyCon and Lanyrd is tracking conference attendees who tweet "@lanyrd attending #pycon."

Sponsors

I also want to thank the incredible number of sponsors that have stepped up to help make PyCon happen this year. Our sponsors make it possible for us to keep PyCon a community conference (and not a CIO-only blahfest) by stepping up and helping shoulder the costs of making PyCon go. I hope that each person reading this will look at the companies listed on the PyCon site and make a point of noting - and thanking, if you have a chance - the representatives from these companies who will be coming to PyCon. These companies are part of the PyCon ecosystem and PyCon wouldn't be the same without them.

Besides funding PyCon, sponsorship also goes directly to making Python better. It is no coincidence that the conference co-chair, Jesse Noller, is also behind the Python Sprints project. Any excess that is not used for funding PyCon (this year or for as seed funding for future years) is used to help fund projects and developers in the Python ecosystem via the Python Software Foundation. Stay tuned here, too - there will be some big announcements in this area at PyCon.

I also want to put out a call to anyone reading this who uses Python at their work, but is not already a sponsor: Please contact us or sign up to sponsor! We want to get you involved with PyCon and recognize your contributions. Your sponsorship goes directly to making PyCon and Python better.

Recruiting at PyCon

One side-effect of having so many great companies involved with Python is that there is a lot of demand for Python programmers. If you are looking for work - either a new job or an upgrade - a lot of the companies at PyCon will be hiring. It doesn't matter if you are a data hacker, web slinger, sysadmin, or game programmer, we will probably have someone at PyCon that wants to hire you.

We will be sending out an email to all attendees right before PyCon with information about some of the available positions at sponsor companies. Come prepared with a resume and a repository URL!

Update

Room-nights have gone up by almost 100 since I drafted the first part of this post yesterday. We are now at 2757 room-nights.

 

Additional Discussion:

 

Tuesday, February 15, 2011

PyCon 2011: Interview with Dave Beazley

It’s not the first time Dave Beazley made the drive from Chicago to PyCon, but it’s the first time he buckled up a piece of history to join him on the trip. After giving two tutorials on Python 3, Dave brings out his 1979 OSI Superboard II for an old school meets new school mashup which is sure to raise a few eyebrows and bring back memories for some.

“The Superboard II was the first computer on which I learned to program back in the late 70s,” said Dave when asked how he came about the machine. It sat in his parents’ basement until Eric Floehr mentioned it at a recent SciPy conference. From there he called his brother who brought it out to Chicago, and “much to our amazement, it still worked.”

After figuring out the cassette audio interface, his concurrency and distributed computing interests had to find a way in. He decided to use ZeroMQ and Redis. Just for good measure, he went with Python 3 for the project. Because of that, he did have to spend a few hours porting Py65.

The port to Python 3 might have been easier for him due to his experience with the changes in the I/O system -- the topic of his Mastering Python 3 I/O tutorial. While the first revision of his port only took 15-20 minutes, he says “I don't want to give anyone the impression that they can just take some arbitrary library, run it through 2to3, and have it working over their coffee break. You really have to understand Python 3's I/O model and know what you're doing.” Attending his tutorial would certainly help you in that area.

Dave’s tutorial double duty also involves a joint presentation with Brian Jones titled Cooking With Python 3. They plan to cover the new features, the differences, and their experiences in porting. The pair are also teaming up to write the third edition of the Python Cookbook, which is going to be all about Python3, expected to hit the shelves in late 2011.

Since all of his tutorials and talks are Python 3 based, I wanted to ask him some general questions about where Python 3 is. “I think that the adoption of Python 3.x is proceeding just fine,” he says. He mentions the porting of NumPy as work “that will pave the way for others to start playing with [Python 3] and porting other packages.” On the whole, after mentioning that wide scale adoption was estimated to be around five years, he says it’s still too early to make a judgement on it.

However, he says “I do think that Python 3 presents developers with many possibilities to create new libraries and packages.” Additionally, “if you're going to port old code, it's a good opportunity to clean it up (since Python 3 breaks everything anyways, you can use it as excuse to get rid of all of those deprecated features that you're keeping around for backwards compatibility).”

He’s no stranger to Python conferences, getting his start in 1996 and attending most of the US conferences since then, plus PyCon UK in 2008. One of his trips was even last minute, deciding just days before that it’d be a fun time to attend one of the PyCons in Washington, D.C. Asked about his favorite part, he says “For me, the best part of the conference is the people. [...] It's a smart group and I always go home with ton of new ideas.”

We’re looking forward to all of the diabolical things he has planned and hope you are too. If you haven’t bought tickets, hurry up. A last minute trip probably will not work out for you like it did for Dave.

Monday, February 14, 2011

PyCon 2011: Online Hotel reservations for PyCon end Friday 2/18/11!

We want to let everyone know, that as of this upcoming Friday, 2/18/11 the ability to book and reserve your room online via the PyCon registration system will end. We have to provide a list of booked rooms to the hotel on that date. Note however, we will continue taking additional reservations and changes via email (pycon4-reg@cteusa.com) and phone (847-759-4277), but after Friday they are not guaranteed and will be based on availability with the hotel itself.

The website will have this information after the online housing system is "closed" online Friday around 3PM EDT.

This does not change PyCon conference registration, which will stay as-is until the cutoff date.

We obviously recommend that you register for the conference, and book your rooms this week though!

PyCon 2011: Interview with Wesley Chun

By Mike Driscoll

As PyCon approaches, the blogger community was invited to interview the speakers that are coming to the event. I chose Wesley Chun, writer of “Core Python Programming” and co-author of “Python Web Development with Django”. In this interview, I ask Wesley about his talk, Running Django Apps on Google App Engine and about PyCon in general. Let’s see what he has to say:

1) What do you want the attendees to take away from this talk?

I'd like all attendees to come away from this talk with a greater sense of optimism they can take their Django apps and run them with little or no modification on Google App Engine, taking advantage of the scalability they need and is so difficult to achieve on your own.

Part of this talk is pseudo-marketing to bring more awareness to Django-nonrel, which is the foundation of how to get Django apps to run on App Engine. For the past several years since App Engine debuted in 2008, there have been several tools, called the Helper and the Patch, to help you run Django apps on App Engine. Unfortunately, those older systems required you to modify your apps' data models in order to get them to run on App Engine. This is not the case with Django-nonrel, which should take its place as the leading tool that users should use when desiring to run Django apps on any NoSQL or non-relational database.

Along with Django-nonrel, developers also need the corresponding NoSQL adapter code, djangoappengine (for Google App Engine's datastore), Django-mongodb-engine (for MongoDB). they (and others) are working on adapters to other NoSQL databases, but more exciting than that is the prospect of having NoSQL JOINs!

2) What made you decide to speak on this topic?

I wanted to give this talk for many reasons... I already mentioned awareness earlier. The other thing is that people are so used to the Helper and the Patch, that they don't realize there's a better tool out there.

Another important reason is the concept of vendor lock-in, the phenomenon where you can't easily migrate your apps and/or data to different platforms because you're "locked in" by your current vendor. people complain that you can't run App Engine apps anywhere else, but this is not true. You can choose a different backend besides Google's original... two of these backends are AppScale and TyphoonAE. similarly, if you created a Django app and ran it via traditional hosting, Django-nonrel helps you bring it to App Engine with very little porting. Similarly, if you write a Django app and run it on App Engine using Django-nonrel, it shouldn't take much work to move it to traditional hosting.

3) What are the pros and cons in using Django on Google App Engine?

The most obvious pro is scalability. This is something that's both very difficult and very expensive to build. why not take advantage of all the smart people at Google that have built scalability into their core infrastructure that helps them be..., well, Google! With Django-nonrel, if Google isn't right for you, you can take your app and run it elsewhere! no vendor lock-in here.

One con would be that App Engine's datastore is still difficult to wrap your head around if you're used to the traditional relational database model. you can't do raw SQL or JOINs completely yet. Google does give you a stripped-down SQL syntax known as GQL, but it's not the complete picture. Also, in exchange for its benefits, you do have to give up some control over your app by letting Google host it. you can't use any C/C++ extensions, and don't have access to your logs or other raw files.

4) What are you most looking forward to at PyCon this year?

I'm looking forward to connecting with familiar and friendly faces of those I've met over the past decade of attending Python and open source conferences. Because we're all so geographically diverse, it's the one time you can count on to see people you haven't seen in a year and to catch up, either in the exhibit hall or part of an interesting hallway conversation.

I'm also excited to learn new things that are part of the Python universe. every year it seems to grow a bit more, so it's a struggle to stay up-to-date with what's been going on in the community. I'm also looking forward to reprising my Python 3 talk from last year, partly because it's becoming more important every year, and as part of my research for the talk, I'll be finding out which projects have moved to Python 3.

5) What were your favorite parts of PyCon in previous years?

The best part of the Python ecosphere is having a great programming language to rally behind, but the next best thing is the people... the Python community itself. And PyCon is the best place to interact with the community. the conference is phenomenal because of the talks, ability to reach to all skill levels (from beginner through advanced), superb tutorials stretching across TWO days, compelling session talks, amazing lightning talks and open space sessions, and of course, the hallway conversations, not to mention that crazy memes and hacks such as OHwar http://pycon.ohwar.com that come from such convos.

Just think: you could meet your favorite Python author at PyCon this year AND learn about Django and Google App Engine at the same time. And if that doesn’t float your boat, Wesley is also doing a talk on Python 3. What are you waiting for? Get on over to the PyCon website and sign yourself up!

Sunday, February 13, 2011

PyCon 2011: Interview with Lennart Regebro - “Porting to Python 3”

By Brian Curtin

The Python world has come a long way since December 2008 when 3.0 was first released. Books have been released, blogs have been written, and most importantly, projects have been ported. Recently, NumPy and SciPy checked in their porting work. We’ve heard rumblings of Django on 3.x, possibly as early as this summer. Python 3.1.3 was released in the fall and 3.2 final is around a week away, and with 2.7 being the end of the 2.x line, all core hands are on Python 3.

Lennart Regebro knows all about this. He’s the author of a new book, Porting to Python 3, and he’s giving a talk by the same name. The idea to write the book came from a lack of published material on the topic and an interest in writing for the now defunct Python Magazine. “The lack of documentation has been the biggest hurdle, [so] if you want to port to Python 3 you have been stepping into the dark. Since I had been using Python 3 and porting to it on my free time since early 2008 I had a bit of experience to share,” says Lennart. He then took his article series and had the basis for a book which he created with reStructuredText and Sphinx.

While he agrees that the separation of string contents into binary data and Unicode text was the right move, it’s a challenge you’ll have to undertake if your application doesn’t already handle all text as Unicode. “This is where you can expect the biggest problems,” he claims. Luckily he’s taking the time to cover it in his talk. He also covers the important topic of porting strategies, including branching, continuous 2to3 conversion, and single codebase projects.

Asked about his hardest porting project, zope.testing appears to be the winner. The package used doctests from before they were included in the standard library, along with a custom testrunner module, so the first step was to separate and deprecate. “I think I ended up deleting the port and restarting two or three times either because I made a hash of it or the trunk code had changed so much that it was easier to restart than to merge the changes.” Although the port isn’t complete, “porting a package takes between a couple of hours and a couple of days, and is a lot of fun, except if you have a lot of doctests.”

The Zope Component Architecture tops his most-wanted list and is the driving force behind his efforts. “It's really cool, but uses a lot of Python internals so porting it is a challenge,” he says, mentioning that a further complication is the need of writing fixers, for which there is little documentation.” Understanding how 2to3 works internally was another challenge, which led to a chapter in his book. Along with 2to3, Benjamin Peterson’s six package has been helping Lennart along with his porting. “I was planning to write such a module myself, but now I'm glad I didn't, because Benjamin did a much better job than I would have,” he says.

Lennart is a PyCon veteran, coming to the 2008 and 2009 conferences in Chicago, along with several EuroPython events, as well as Polish and French PyCons. The evenings are some of his favorite times, “because there are so many people around you that are much smarter than you are, and are friendly and open and willing to hang with you over coffee or a drink.” Sprints were one of the highlights of his 2009 experience, where he organized a Zope sprint without hopes of a great turnout. He ended up being wrong: “we got a quite a big gathering with many of the top Zope names and had some fantastic discussions on the way forward for Zope, as well as an extremely productive sprint!” He finished the interview by saying, “that was great fun, and those type of things seem to happen a lot on PyCon.”

If you’re interested in the PyCon sprints, check out the sprint page, and don’t forget to buy your tickets soon!

Saturday, February 12, 2011

PyCon 2011: Want to discuss things? Want to help promote - we'd love to have you around!

Feel like helping promote, get the word out - or just show that you're going or speaking at PyCon 2011? Well - we encourage presenters and everyone to post blog entries to anywhere they can - if you have one you see, or think especially deserves notice - drop an email to pycon-organizers and we'll feature it here, and elsewhere for PyCon 2011!

Second - Simon Willison, co-creator of Lanyrd a newly minted YCombinator startup designed around promoting and  says:

...one of the best ways we (Lanyrd) can help is if you get as many of your attendees to mark themselves as attending on Lanyrd as possible. This has a couple of knock-on effects: most importantly, if anyone signs in to Lanyrd who follows at least one of PyCon's attendees they'll get a conference recommendation. Secondly, we're about to set it up so e-mail alerts go out to users telling them of conferences their contacts are attending, with an emphasis on conferences with multiple contacts already going.

You can tell people to tweet "@lanyrd attending #pycon" - our Twitter bot will pick them up and add them to the list on the PyCon page without them having to sign in to the site.

PyCon has great metadata on Lanyrd, so hopefully as our audience grows we'll be pointing more and more people towards PyCon as a natural effect of how the site works.

So come join us all over here at Lanyrd!

Third - Eric Florenzano and Leah Culver have fired up another newly minted YCombinator startup - Convore, a social site which is an interesting mashup of IRC, Twitter and other message board concepts. So far, we're digging it, and considering using it for the recommended "real time" chat tool for PyCon 2011. We have a PyCon 2011 group right over here you can join in on.

(Note: I challenge someone to come up with an awesome iPhone/Android - and OS/X / Linux client for Convore by PyCon)!

It's important to note: Both of these startups are Python powered, through and through and are built by long-standing Python/Django community members - hence why we're encouraging them. We're showcasing a lot of Python powered startups and services - and even some not powered by Python, but we as a team feel that encouraging these Python powered forums helps us all, while helping us spread the word about PyCon 2011.

We're going to work on having a real-time stream going on for all of the places PyCon might be being discussed - and there might still be more awesome discussion tech coming up in time for PyCon from other Python folk.

Blogging, participating in the social web - getting the word out - all help PyCon and helps get the word out. Thanks for everything you've done so far, and thanks for the hundreds of attendees already coming to PyCon 2011.

Registration is still open, and we're still taking on new sponsors!

PyCon 2011: Interview with Tarek Ziadé - “Packaging, from Distutils to Distutils2” and “Firefox Sync”

By Brian Curtin

Coming over from France for his 4th PyCon is packaging and distribution guru, Tarek Ziadé. When he’s not spending his time on Mozilla work, he’s leading the Distutils2 project, maintains the shutil and sysconfig standard libraries, and organizes PyCon France. On top of all of that, he found time to put together two talks: an extreme talk on packaging, and one on the Firefox Sync project.

Getting right into the question most people have, I started by asking what’s up with Distutils2? “Distutils2 is almost ready to be used in projects, and a first beta release will be published before PyCon,” claims Tarek. Additionally, re-integration to the standard library is in the plans as soon as Python 3.2 final goes out. They made the necessary adjustments to PyPI and also plan to distribute a standalone package supporting versions as far back as Python 2.4.

His “Packaging, from Distutils to Distutils2” talk gets right to the heart of Distutils new features and their use cases. The long threatened death of setup.py, metadata and versioning, dependency graphing, and extensibility are in the plans. The new pysetup command, as he calls “one command to rule them all”, gets coverage as well. He plans to round the whole talk out with several examples, from porting to process improvements.

Speaking of process, Tarek and the Distutils2 developers have been using Mercurial via bitbucket to manage the project during its “outside the standard library life”. As you may know, CPython is getting close to a Mercurial switch, so I asked Tarek his experience with the tools. He says, “A DVCS really makes contribution simpler, as anyone can clone and propose changes that are easy for me to review and merge.” They follow a fairly common workflow of cloning, changing, then asking for a merge, but a change they are considering is the use of mq.

Tarek’s other talk, Firefox Sync, looks into the server side of Mozilla’s history, bookmark, and even tab synchronization across devices, all of which is written in Python. PHP used to be the tool of choice, but most of their server apps are being done in Python now. Asked about the technologies he’s employing, he responds “The stack I use is very low-level, since we're writing web services with almost no HTML pages. I've written a WSGI micro-framework mainly based on Paster and WebOb that can be used to build a new app. SQLAlchemy, python-memcached and python-ldap are used to work with data.” His talk covers this architecture, plus their use of encryption, along with the scalability and benchmarks they’ve produced.

Tarek will be at PyCon early for the Language Summit, one of his favorite parts, as its “a good opportunity to sync/meet in real life with the core people”. He’s also going to be sprinting on Distutils2, where they plan to polish the project and make sure projects are working correctly as they reach their final release. As with Armin, the hallway track is another of his highlights, but he’s also interested in the PyPy, ZeroMQ, and coroutine talks as well!

Stay tuned for an interview with speaker and book author Lennart Regebro, covering his experiences with Porting to Python 3.

Thursday, February 10, 2011

PyCon 2011: Interview with Armin Ronacher - “Opening the Flask”

By Brian Curtin

It’s not often that “April Fools” jokes go past the joke stage, especially in the Python community. PEP-3117 didn’t make it, and Uncle Barry’s PEP-401 takeover hasn’t yet occurred. However, we’re still seeing the work of an April 1, 2010 joke in the form of Flask, Armin Ronacher’s micro-framework.

For a fake project, it certainly got a lot of attention. Within days after announcing the joke Denied micro-framework, 10,000 people downloaded the fake screencast, 50,000 people viewed the website, and the project had 50 followers and 6 forks on github. “The great thing about being part of a vibrant open source community like the Python one is that you learn a lot more about people and yourself than you do about the project itself,” said Ronacher. The joke was an exercise in project judgment, and people seemed to like the idea and bought into it right away, many without noticing the quality of the code or lack of documentation, but the flashiness of a screencast.

His talk “Opening the Flask” hopes to give an inside look and draw some conclusions from the year of work to make the real project what it is today. When asked what turned the joke into reality, he says, “My original frustration that lead to the April Fool's joke framework was the fact that some frameworks chose to re-implement WSGI […] just to be able to claim ‘no dependencies’.” From there, he decided it was worth a shot at creating a real framework based on his Werkzeug and Jinja2 projects. After all, people seemed to like the joke micro-framework idea, and a year later, people love it, so he’s doing something right.

Extensions are one of the key topics of the talk, and Armin recently announced the 30th extension had been created by the community. Asked about his favorite extension, he says “I love relational databases and I adore the design and implementation of SQLAlchemy so I would say Flask-SQLAlchemy is the one I use the most.” Another of his favorites is Flask-Script, which is similar to django-management in the Flask world.

Armin is one of the younger Python hackers out there today, getting his start into development around 2002 by writing games at school using QBasic. After finding a Delphi book and ignoring most of the contents, he and a friend “wrote a horribly developed game called ‘be a bee’.” They ended up taking that game to the under-19 ARS Electronica festival in 2003 and won second prize.

He found Python by way of Gregor Lingl’s “Python fuer Kids”, then shortly joined the German Python Forum. After getting acquainted with Ubuntu, he spent time working with the ubuntuusers.de forum, which ended in the creation of the Pocoo project. “Having something to work for and a Python core developer on board (Georg Brandl joined the project very early) is a great way to learn the language.”

While this will be Armin’s first US Pycon, he’s been to EuroPython and a number of Django conferences, and he’s no stranger to speaking there. To him, one of the best parts of the conference is “talking to other developers in the hallways and sharing experiences.”

We’re looking forward to his talk in Atlanta - it should be a great time, and Flask is another great addition to the Python web ecosystem. Over the next few weeks, we will be posting more interviews with upcoming speakers, authors and others involved in Pycon 2011, so stay tuned - and get registered!

Press release: Record-Breaking Submissions to PyCon 2011

(Little of this is news to faithful readers of the PyCon blog... but we wanted to gather some of the exciting developments in a press-release style format.)

ATLANTA - February 10, 2011

PyCon 2011 has broken all existing PyCon records for content submitted by the Python community.

Since its beginning in 2003, PyCon has been a community conference, relying on Python-loving volunteers for its speakers and organizers. For PyCon 2011, over 250 submissions to present talks and tutorials poured in - far more than in any previous year. From these, a rich conference has been created for Python users of every level - from novice-level talks and tutorials to the new Extreme PyCon track for the fearless. The program topics span the range of Python programming:

PyCon 2011 Talks: http://us.pycon.org/2011/schedule/lists/talks/
PyCon 2011 Tutorials: http://us.pycon.org/2011/schedule/tutorials/

PyCon 2010's poster session packed the poster hall with enthusiastic attendees. This year the poster session has doubled in size to 34 posters, bringing attendees face-to-face with experts on exciting new developments in Python programming.

PyCon 2011 Posters: http://us.pycon.org/2011/schedule/lists/posters/

Arguably PyCon's most vibrant aspect - the informal and semi-formal user-provided content - can't be put on a schedule. For example:

  • Dozens of user-scheduled Open Space sessions stimulate deep topical discussions.

  • Five-minute Lightning Talks are high-intensity streams of exciting ideas.

  • Four days of Development Sprints (http://us.pycon.org/2011/sprints/) let programmers advance important Python projects while working closely with some of the greatest programmers in the Python world.

  • Countless impromptu hallway chats show the Python community to be as friendly as it is smart.

All this spontaneous content is likely to be bigger than ever before. Early registration numbers show that attendance is on course to surpass PyCon 2010 - the largest PyCon ever. The PyCon organizers this year have set a cap of 1500 on attendance. This is the first time such a limit has ever been required.

This year's keynote addresses bring amazing achievers to inspire the community onward. Hilary Mason, lead scientist at Bit.ly, is joined by engineers and founders from Python-using startups Dropbox, Disqus, Threadless, and OpenStack - and, of course, by Guido van Rossum, Python's creator.

PyCon 2011 Keynotes: http://us.pycon.org/2011/home/keynotes/

The growing importance of Python and PyCon is vividly illustrated by the long list of companies stepping forward to support the conference. PyCon 2011 is sponsored by technical giants Google (Diamond sponsor) and Microsoft (Platinum sponsor) as well as twenty-six other technology-embracing companies: Walt Disney Animation Studios, Nasuni, Rackspace, JetBrains, CCP, Linode, Canonical, Github, Atlassian, WhiteOak, Evite, ZeOmega, ActiveState, Dropbox, FreshBooks, Accense, Wingware, Imaginary Landscape, Net-ng, Revsys, Esri, Loggly, Disqus, Emma, OpenEnd, and Enthought.

PyCon 2011 will be held March 9-17 at the Hyatt Regency in Atlanta, Georgia. March 9-10 are set aside for tutorials, 11-13 for the main conference, and 14-17 for the Development Sprints. Registration is open now at http://us.pycon.org/2011/tickets/.

About Python

Python is an open-source, dynamically typed, object-oriented programming language that can be used in nearly the entire range of technology applications. It offers an easy learning curve and access to a vast array of libraries. With implementations available for all common operating systems as well as the Java and .NET platforms, Python can be used on virtually any system in existence. By combining clear and reliable code with rapid productivity and a vigorous development community, Python has become a favorite from major enterprises to the newest startups. Winner of the TIOBE Programming Language Award and the Linux Journal Readers' Choice Best Programming Language awards in 2010, Python has become an indispensable part of the technology landscape.

About PyCon

Presented by the Python Software Foundation and sponsored by Google, the world’s largest Python conference brings together a diverse group of developers, enthusiasts, and organizations to explore new challenges, launch new businesses and forge new connections within the Python community. PyCon provides attendees with the opportunity to delve into the dynamic programming language relied upon by institutions from MIT and NASA to Cisco and Walt Disney. PyCon helps people learn new tools and techniques, present their own projects, and meet other Python fans. Press passes to the conference are available for members of the press who would like to witness PyCon in person.

PyCon: http://us.pycon.org
Python language website: http://python.org
Python Software Foundation: http://www.python.org/psf/
TIOBE Index: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
Linux Journal Readers' Choice: http://www.linuxjournal.com/content/readers-choice-awards-2010

Monday, February 07, 2011

PyCon 2011 - Announcing "Startup Stories"

Each year, PyCon has a focus that arises fairly naturally from the activities of the Python community. Whether it is Python moving from niche to mainstream (as in PyCon 2008), new implementations of Python (as in PyCon 2009), or shipping quality software (PyCon 2010), PyCon has reflected the tech space in general and Python's place within it.

By now, you all know about our focus on the startup ecosystem for PyCon 2011. Startups - especially successful ones - can provide us with unique perspectives, insights and most of all inspiration to go out and perform the impossible.

In evaluating the available speakers - everyone from VCs, Angels - and many more, we were taken by a suggestion provided by Y Combinator's Paul Graham and Union Square Venture's Fred Wilson: Why not shine a light on some startups that had "made it" or are going to shortly -- all on top of Python?

Thus, we want to announce a set of plenary talks for PyCon 2011: Startup stories. These are the stories of companies that have built and shipped (or, in the case of Threadless - about to ship) Python systems at scale. Or, in the case of Open Stack - it is the story of the next generation "Open Cloud" platform for Python at scale.

When we approached these companies (to their surprise!) we asked them to stand back from their own products and instead speak directly to the good, the bad, and the ugly of making Python scale all the way to success. We're excited about having some people who have made it in the trenches show us how Python made them successful - warts and all.

You can see all of the talks and details on the keynotes page

How Dropbox Did It and How Python Helped

  • Rian Hunter, Engineer - Dropbox

Dropbox is a startup company located in San Francisco that has probably one of the most popular file synchronization and sharing tools in the world, shipping Python on the desktop and supporting millions of users and growing every day. Dropbox uses Python on the client-side and server side as well. This talk will give an overview of the first two years of Dropbox, the team formation, our early guiding principles and philosophies, what worked for us and what we learned while building the company and engineering infrastructure. It will also cover why Python was essential to the success of the project and the rough edges we had to overcome to make it our long term programming environment and runtime. Finally it will give some insight into the future of Dropbox and where the project is going.

Disqus: Serving 400 million people with Python

  • David Cramer, Engineer - Disqus
  • Jason Yan, CTO and Co-Founder of Disqus

Disqus, one of the largest Python applications on the web, will explain how they deal with scaling complexities in a growing startup. Founded in 2007, Disqus maintains a small engineering team reaching over 400 million users a month. Being powered by Python has allowed quick iteration of the application, without sacrificing code quality and performance. The talk will cover key parts of the architecture and development process at Disqus, including hardware, databases, and common bottlenecks.

Going Full Python - Threadless

  • Chris McAvoy, VP of Technology - Threadless

Threadless is a 10 year old community based design company with an overpowering love of witty t-shirts and a mission to 'inspire awesomeness.' After 10 years of working primarily with PHP, Threadless decided to switch its development stack to use Python as the base development language. As described by Chris McAvoy, VP of Technology at Threadless (and the founder of the Chicago Python Users Group), the decision was in large part driven by the ethos of the Python community. Chris will share a bit about the company's history, the role of technology in supporting the community at the core of the business, and why Python and Threadless are going to be totally BFF's.

An Open success for the cloud: OpenStack

  • Andy Smith, Core Developer - Openstack

Cloud computing brings radical flexibility to companies and is an enabler for all kinds of different types of startups. That is why it was a big deal when Rackspace, NASA, and a consortium of other companies announced OpenStack - an all-open-source, all-Python infrastructure for building public and private clouds. OpenStack is currently developing two interrelated projects: OpenStack Compute and OpenStack Object Storage. OpenStack Compute is software to provision and manage large groups of virtual private servers, and OpenStack Object Storage is software for creating redundant, scalable object storage using clusters of commodity servers to store terabytes or even petabytes of data.

This talk will go into details about the success of OpenStack with Python, limitations and how overall, Python was the right technology choice.

Wednesday, February 02, 2011

PyCon 2011: Announcing "A Fireside Chat with Guido van Rossum"

I'm really happy to announce the most recent addition to our keynote/plenary talk lineup - "A Fireside Chat with Guido van Rossum" - in this interview style keynote, we will explore the mind of Python's creator and benevolent dictator - subjecting him to the "comfy chair" as well as questions from the community (picked and voted on by the community) as well as questions from the audience. This will be a guided, but informal talk.

I'm really excited by this (not just because I might be the interviewer - move over anchor news!) but also because I think it will strike a good balance between a formal, and informal talk style that will allow us to ask open, candid questions from the founder of our community and the Python language!

You can submit questions for the BDFL here: http://goo.gl/mod/qSW7

And comfy chairs will be used.