BarCampLondon3 – Day 1

The time for another BarCampLondon3 has rolled around, and I was lucky enough to get a ticket. We all turned up at Google‘s swanky offices in Victoria knowing we would have a good time, but not quite realising what a great time we were in for.

The organisation went very smoothly, the wifi was rock solid, there was more food, beer and snacks than even a BarCamp-load of geeks could consume (well, apart from the beer – it’s the first time Google’s fridges have been emptied, oops!)

As usual with an unconference, it was all about the sessions folks decided to give, and we were treated to some really thought-provoking and fun discussions. It was a shame that out of the 100 attendees, about 30 chose not to present. So the schedule was a little light at times, but that’s not always a bad thing – nice to catch your breath every now and then! Jeremy marked up the timetable for us all to refer to easily.

The first session I went to was Tom Morris – Scraping Sucks – where he was giving us more usable alternatives to scraping HTML, namely doing clever stuff with GRDDL. He says it’s much easier that way. As usual, I nodded sagely at the time, and then a couple of hours later, wondered what it was all about. Tom is a great geek, but he’s several steps ahead of me when it comes to brain-wracking abilities 🙂 He’s put up a page of GRDDL Profiles here – which lets you look at (X)HTML and with an XSLT transform, spits out XML/RDF which can be used as you want.[Tom gets stuck in to his presentation]

Norm’s LawThis was an excellent presentation from Mark Norman Francis. He gave us some very good reasons for doing code his way – especially for fostering interoperability betweeen different members of the team, or yourself coming back to code at a later date. Some points included:

Use spaces not tabs

Code goes no further than col 77

No-one ever died from using too much whitespace

Separate operators and braces – more of a cognitive burden to parse squashed up code

Always indent by 4 spaces ONLY

Line up assignments of variables (equals sign in the same place etc)

Line up data tables too (arrays or whatever)

Space keys out from brackets $vote[ $value }++; etc

Space keywords out not functions

Vertical rhythm – break bits up with comments for each sub part – make a story out of it

Respect left-to-right comprehension

K&R bracketing – opening brace should be tied to RHS end of line, closing brace should be on a new line – aligned with the starting coment

Don’t cuddle and else!

One statement per line – you can easily miss the “;” in the middle of the line separating the two commands

Break lines before operators – EXCEPT in JavaScript or it won’t work

Ignore operator precidence – use brackets to make it more “English readable”

Use single quotes where possible – ‘ in PHP will just be stuffed in, ” will make PHP parse the contents looking for variables

Factor out long expressions and use intermediate variables (with english-sensible names) to break up

Always use x on regexpressions

Don’t use camelCase! unless you’re in JavaScript

Systems Hungarian is harmful, Apps Hungarian is too

All short variable names are harmful

Use grammatical variable names and function calls

Optimise for humans first! Machines – throw more hardware at it – but you can’t refactor comprehension

HTML indents use 2 spaces not 4

Write the whole document FIRST before you do any CSS etc

Insert Microformat classes

Always use single quotes in attributes

Inline CSS means you’ve done it wrong

If it only works in JS don’t

VALIDATE

Start with base stylesheets – reset, fonts, layout

Use Uppercase tags in HTML

Keep z-index below 50

[Norm – I can haz 4 skreenz]

Next up was a session about new developments from the BBC’s web team:

BBC APIs First Look
PIPs is the system to list all broadcasted stuff – telly and radio

DIY User Research – Leisa ReicheltLeisa gave us lots of good advice on how to carry out some DIY user research – her premise being that it doesn’t have to take days and days and cost big bucks – and often talking to more than half a dozen victims volunteers gives you diminishing returns. Leisa’s slides are already available at the Slideshare BarCampLondon3 group.

Building Lifestream with Yahoo! Pipes – Cristiano Betta
I didn’t take many notes as I was listening as I was actually playing with a real Yahoo pipe of my own and trying to follow along with what Cristiano had to say. I’ve been meaning to use Pipes to create my own Lifestream for some time, but had a quick go before and things weren’t coming out as I wanted. Cristiano has done a series of excellent blog posts to get you going, or you can watch Tom Morris’ video of Cristiano’s presentation. Or view Cristiano’s own Lifestream.

10 Things You Should Do In Project Management But Probably Don’t – Gareth RushgroveGareth‘s top ten tips:

Learning jQuery – Simon WillisonSimon gave us a lightining half hour tour of the jQuery Javascript library with great examples and succinct slides – you can get them from Slideshare. I’ve been meaning to beef up my JavaScript skills, and getting to grips with jQuery sounds like a good place to start.

[Simon talks about jQuery’s Ajax capabilities]

Ask Them Anything
For the final sessions of day one, Norm and friends held an Ask Us Anything panel – just a bit of silliness to round off the proceedings before dinner. The guys from the Londonbubble did a live stream of the session to their mogulus chatroom, and it all got a bit recursive when this was put up on the main screen behind the guys:

[Behind you!]

The chatroom folks even got to ask a question or two – and Ross got a marriage proposal from a lady named Picki which he had to graciously decline!