by Daniel Davies

The Zen of the Web

by Ville Säävuori (@uninen)

The first talk of the conference, promising to take us through the basics of publishing to the web. Whilst primarily aimed at a novice, its always a good idea to re-cover the basics, and catch-up on the most basic principles which are all too often forgotten.

The talk introduced web standards, and most of all, the complete mess they are in. There are so many bodies, organisations and open-standards it can be difficult to keep up with it all. WAI, WCAG, W3C, RFC, etc etc. Lots for developers to keep up with, to make things accessible.

I liked a very good justification for APIs. The web is highly unpredictable, an API should help this by making more things possible, not restrict them.

Also learnt to use Atom, rather than RSS as default for feeds, not entriely sure why yet - feel free to comment. Turns out this is because Atom is an RFC standard (via holizz).

When designing software, keep in mind i18n, i10n. Even if you don't plan to translate, character set supports, etc. will expand the reach of your app. Do it from day one. "My hovercraft is full of eels". Make sure you're outputting unicode.

Another thing which you should sort of "just know". Whenever you are changing data on a website, use POST, never GET to change data.

On the whole, nothing really in this talk that I didn't already know. But knowing the reasons behind why I do these things is sometimes even more useful.

Crowdsourcing With Django

by Simon Willison

Simon Willison is a core developer of Django, and I had the pleasure of sharing a table with him at last year's conference dinner. This talk promises to use a real world website example of a Guardian website and show how Django was used to build it in 4 and a half days.

The talk began quite political, providing the background. It then went on to talk about the UI. Surprisingly, one of the most popular features was actually the progress bar, which was only put in as a quick way for them to see the progress.

The user has minimal things to do. At bare minimum, they click two boxes, and then "enter'.

The pictures of MPs made a large difference - added some personalisation. Seeing your 'smug MP made you think, "haha, I'm going through your expenses now", it helped.'

People started taking this quite serious - element of competition added through the scorepage on the homepage and then some users started to become far more productive.

Thumbnails of a document all spread out revealed just how much censoring had been applied. They counted the black pixels on the page, and had a league table of the most "redacted MPs". This was removed though for legal reasons; the MPs didn't censor their expenses themselves.

Any kind of registration stack is going to massively reduce participation. Added a system so you automatically have a user/cookie created on entry, and you are able to add a username when you want, if you want. If you don't pick a username you are just assigned one automatically. They wanted majority of people to just play with it for a bit, then get bored. But for others, they needed more robust tools, again for user competition. Found a nice balance.

Struck major problem when all PDFs are different paper-sizes. Took 6 minutes per document, at 99% CPU to convert all documents to display correctly. Guardian has a "Drop Everything" moment. Two teams, one with Photoshop, macs and AppleScript. Another team had Java and IntelliJ. Photoshop team won. Suddenly realise, that they can't upload all these files to Amazon, so had to self-host.

As soon as first document is available, 4 QA engineers hit the site. Went live on EC2, never used EC2, MySQL, Django, no load testing - was a wild shot. Within a few minutes, site had gone - bad server configures.

Caching ONE QUERY dropped DB use of CPU from 135% to 35%. Changing the query also helped to not use LEFT OUTER JOIN.

Great talk!

Python ain't no snake oil

by Harald Armin Massa

Its often difficult to sell Python to clients and peers. Too many times I've told people to just "try it and you'll see". Well, hopefully this talk will provide me with some better strategies for persuading people to take that first step in giving Python a try.

Really funny and interesting talk. The main points were that Python reflects reality, its not pure, but it breaks down some barriers between thinkers and doers, in a good way.

Then spoke about methods of persuasian. People create force fields for consistency, what they know. To break a force field, you need to adjust your frequency to it (damn trekies) and enter it. Don't just fire facts at it.

 

Talk about Europython, Day 1, Morning

No comments yet! Why not be the first?

Contact Daniel…

Request a Quote