Thursday, 17 March 2011

PyCon 2011 - Hopefully The First Of Many

Well, PyCon is over and it's back to life, back to reality (back to the hear and noooooooooooow, oh yeah). Before it all becomes a distant memory I thought I'd put down a few words in writing to record my first impressions of the event.

As a bit of background this was my first visit to the US and also my first Python conference. I've been watching the videos online for at least the last 3 years and have wanted to attend the last 2 conferences. I finally made it this year mainly due to the dates not falling on any critical family birthdays - yes, that'd be you Ollie ;-)

PyCon 2011 was a truly rewarding experience. There nothing quite like getting to rub shoulders with the greats of the Python world (and very frequently bump into them in the lift)! I met a nice bunch of people and forged new friendships. What strikes me most about my time there is how friendly everyone was. It is an amazing feeling to be part of such a community and a flourishing one at that. Seeing other people leveraging Python to literally change the world is mind blowing and a great inspiration for me to go out and do the same. It's as close as you can get to a religious experience ;-) It just helps to cement the feeling that doing Python is the right thing and that it is very much a technology for "getting things done", quickly and efficiently. As a good friend Tim Couper asserts, it is the perfect match for Agile development.

The biggest revelation for me at the conference was the fact that I've been using Dropbox for the last two years and I didn't have a clue that it was built entirely on Python (both on the client and server side). Awesome work guys, keep up the good work!

I have been following the progress of PyPy since I started using Python and even more closely after watching Maciej's talk on it last year. It was extremely pleasing to see the team receive the recognition they wholly deserve from the PSF in the form of funding for the next year's work. This is surely a big step forward for Python. Go PyPy!

One of the many great experiences of PyCon for me was the Lightning Talk sessions. Concise, extremely funny and wholely informative, these are a great part of an already impressive offering. Witty presentations are great because it's so easy to bore your audience to death with page after page of bullet points. The quality of the presenting for the most part was excellent and there was good tips to be had from attending on how to present well to an audience. Most of the time I felt like a kid in a candy store with a limited amount of money to spend. On several occasions I found myself wanting to go to 3 or 4 out of the 5 talks within the same time slot. Being spoilt for choice is a very good thing in my book and I can't wait for the videos to be posted on online. I'm going to be spending a good while catching up on all the talks I missed out on. The long thin tail of the PyCon experience!

The only real disappointment was having to leave on Sunday and miss out on the sprints. I'm going to try and factor in at least a couple of sprint days into my next PyCon (Santa Clara here we come).

In closing I'd like to send out a big shout to the PyCon organisers and a very special thanks to Steve Holden (lovely chap), for his stewardship and navigation of the PSF through very difficult waters in recent years. Keep up the good work!

Tuesday, 5 January 2010

A decade's worth of IPv4 allocation

An interesting retrospective article on about the depletion of IPv4 address space over the last decade :-

The shift to IPv6 is certainly increasingly pressing and will no doubt end up being very expensive!

Saturday, 29 August 2009

Quotable Quotes no. 368

Progress is impossible without change, and those who cannot change their minds cannot change anything.

–George Bernard Shaw

Sunday, 2 August 2009

easy_install (mis)behaviour

Version 0.7 of netaddr, a major milestone release went out recently. It marked the library's status moving from beta to production/stable as I'm fairly happy now with its interface and implementation.

There was a lot of change involved in this release due to some major refactoring work. I thought it best to put together a series of pre-release snapshot tarballs to give interested users an early look at the upcoming changes and a chance to hopefully squash any bugs before the main release.

The download page on the Google code hosting site seemed like a fairly safe bet for publishing these files. I purposefully didn't post them on PyPI in an attempt to limit the audience to which they would be made available.

BIG mistake!

A kind user raised the following bug report -

They used easy_install to install netaddr and, unbeknown to me, in the background it was going off to the code hosting site, picking up the release candidate packages, and trying to dynamically build eggs based on them to provide to users!

The question is "why would you choose to do this"?! Hey, I'm all for software being clever and helpful, but this choice of behaviour seems a bit clever for its own good. It wantonly broke a seemingly sane way of releasing code and really seems to try hard to break the Rule of Least Surprise. This kind of thing is actually the opposite of helpful.

OK, so the easy fix would probably be to remove or change the explicit link between PyPI and the code hosting download page by editing the Download URL parameter in the PKG_INFO file, but the fact remains that this functionality seems to be trying a little too hard to be useful.

It seems that my misgivings on supporting setuptools are not entirely without justification ;-)

Saturday, 30 May 2009

The Wave is coming ...

Google Wave that is ;-)

Here's a direct link to the Tech Preview video :-
(Skip forward to 7:30 if you prefer to leave out some of the marketing and introduction at the start)

The video is an hour and 20 minute demo on a product that Google has been working on for the last 2 years or so. It is a view on how the way we communicate using computers is likely to change in the very near future.

Seeing this, I am really beginning to believe some of the hype about Google becoming a true Microsoft killer. This doesn't even take into account all the hard work Google is doing to supplant Microsoft's products through software vendors with their own paid for products (an issue for another blog post). With technology like Wave, Google totally outclasses pretty much anything anyone else is doing right now.

Interestingly, Google is putting the protocol behind Wave forward as an open standard so other software vendors can build their own interoperable (and possibly competing) systems and products with it :-

This is all very altruistic but it does beg the question, "how do they make any money out of this"? I guess we'll be finding out in the months ahead.

Maybe it's just paranoid old me but aspects of Wave are also a little scary. It opens up a whole Pandora's box of new possible security and privacy issues (much as any new technology does). Some of those bots look real friendly in a demo setting (Spelly, Buggy, Tweety etc) but ones could also be built for less savoury purposes in the wrong hands.

On the whole though this is really cool technology and opens up some very interesting possibilities for new and better ways of working (in real time) collaboratively in the future.

Nice work Lars and team!

Sunday, 24 May 2009

Wingsuit Base Jumping - the new extreme sport

This has to be one of the most extreme sports of all time. It takes base jumping to a whole new level by combining this already dangerous pastime with the latest advances in wingsuit technology developed over the last 10 years.

The most dangerous part has to be the practice known as "proximity flying" where the wingsuit base jumper glides over the mountain side on the way down only a few metres above the ground!

You really have to see it to know what I'm talking about :-

It literally makes your hairs stand up watching it!

See Also

Loic Jean Albert's Homepage - great details on the history of this sport, starting with Icarus :-) and the evolution of wingsuit technology.

Saturday, 16 May 2009

Yahoo Pipes - a web service for the customisation of RSS and Atom feeds

In the last couple of years I've started subscribing to more and more RSS and Atom feeds preferring interesting articles and information to come to me rather than having to go out trawling a list of well known websites on a fairly ad hoc basis for new articles of interest.

Google Reader is my feed reader of choice mainly because it's online and I can access it from anywhere without having to maintain multiple installs of feed reader software and settings.

I'm fairly ruthless with my feed subscriptions preferring feeds that are reasonably low volume (1 of 2 posts a week) with high quality content. There is usually a single human being on the other end with a limited amount of bandwidth.

Quite a few feeds are aggregates of multiple contributions (e.g. news websites) or are automated to provide information when changes to some underlying system occur (e.g. check ins for a code hosting site). They contain useful information but you sometimes quickly get bogged down by the sheer volume and frequency of updates coming through. I don't stay subscribed to these feeds for long when all I'm doing is clicking on "Mark All As Read" as hundreds of unread entries pile up.

There are certain feeds in this latter category that I would still like to follow, if only I could reduce the noise by either adding an include or exclude filter and possibly generating sub feeds that I could publish and make available to myself and others.

This was a pipe dream until this morning when I came across Yahoo Pipes :-)

You rarely come across technology that does exactly what you want out of the box without requiring a decent amount of customisation first, either through configuration or some coding. Yahoo Pipes allowed me solve a problem that has been nagging me for ages and it was dead simple to do.

As its name suggests Yahoo Pipes makes use concepts familiar to those who know and love UNIX command line with I/O processing pipelines, redirection and a set of options similar to tools like grep, sed and awk. These are all provided through a great visual designer and editor that make settings up and publishing your own custom feeds really easy and most importantly very quick to crank out. You can literally build and publish a custom feed in 5 minutes or less without much prior experience of Yahoo Pipes. That is real power (hats off to the designers - this kind of thing is not easy to do).

Here is a sample feed that is already saving me loads of time filtering out stuff I'm not interested in :-

Source feed :-

PyPI Package Update RSS feed

Resulting feed :-

PyPI Package Update RSS feed (without Zope or Plone packages)

You can organise your new feeds by giving them sensible and meaningful URLs too (another great feature).

So, if you subscribe to a lot of feeds and find that you want to tame them this is definitely the way forward™.

Check out these impressive tech demo videos for some real "wow" moments :-