October 8th, 2013

GotoCon Aarhus 2013 round-up

Last week, I was lucky enough to attend GOTO Aarhus 2013, the original and biggest of the GOTO Conferences. In short, it was excellent!

During the course of the conference, I took notes of interesting things (with varying levels of detail and comprehensiveness...), which I've put in another post. I started off with one post, but it got a bit big, so I've opted instead to split them up. This one's all about the conference itself. But, before we get to that...

My first involvement with GOTO was a couple of years ago, when I attended + spoke at the first GOTO Amsterdam. I largely enjoyed that one, but it wasn't quite what I'd expected, both in terms of the audience and the things covered. Unfortunately, this expectations gap meant that my talk there wasn't quite the right one... While everyone who came really liked it and learnt a lot from it, sadly it didn't get the numbers it might have had. This time round, I knew what to expect, and knew the kind of audiences and speakers there, so was better prepared to make the most out of it!

For those who've not made it to a GOTO Conference before, they cover a bit of a mixture of topics, but one that seems to work well together. You seem to learn what you need today, what you might need tomorrow, along with a fun bunch of people to speak to between sessions to discuss it all with. Everything is related to Software Development, but in a broad sense, not just pure tech in isolation. So, along with the talks on technology stuff, you also have project management, architecture, careers, technology stacks, general approaches and more. Some of the best talks weren't the most immediately obvious ones, so it's certainly worth trying out some tracks outside of your normal role.

GOTO Aarhus ran with 6 tracks, so it's not a small event. I'd say that at least half the time, I wanted to attend 3 of the talks, so you're not short on interesting things to attend! Possibly my record was one slot where I quite fancied going to 5 out of the 6 talks on offer! The event took place in the Aarhus Musikhuset, the main concert hall, so for many of the sessions you were sat in nice tiered seating, in a medium or big room. It took me a little while to work out which room was where, but then I discovered a very nifty locator in the mobile app. That worked much better than I expected, and showed you where in the building you were, where the room was, and what direction to head in. It was the future arrived! One or two more signs might've been helpful though, as you do look a little bit silly navigating your way round a concert hall using your ipad...

The conference ran over 3 days, and despite fitting a lot in, didn't feel too busy. Partly I think this was due to the 20 minute break between every (50 minute) session, which gave a chance to pause, have a drink, snack on something and re-charge. It saved a mad dash between sessions, and certainly helped me keep going to the end! The sponsors seemed to like it too, as there were more people about for them to chat to. The break area was sunny, and you could walk outside for fresh air, which made a big difference to energy levels vs being buried in some deep basement for 3 days!

Despite there being a large number of people there, everyone seemed very friendly, I had lots of interesting chats with speakers and attendees alike. Possibly I should've got a tshirt saying "I'm not Danish", as almost everyone tried speaking Danish to me first, but everyone was happy and able to switch to English! As well as the danes, there were people from all over Scandinavia there, along with a smattering of other European countries, so there was a good mix.

GOTO had a lot of students there helping out, and some of them did an amazing job at note taking and summarising! Check #gotoaar for some, but the one that most caught my eye was Mathilde Hoeg, who did some amazing summaries like these:

For my much less exciting notes than those... Move onto part 2 here.

If you missed Aarhus, as well as next year's one, there's still time to make it to GOTO Berlin in a couple of weeks, which looks to have an excellent line-up too! See here for details and signup.

GOTO Conference Aarhus - My Notes

Last week, I was at the GOTO Aarhus conference. My general overview of it is available here. For my much less exciting notes, read on...

Now, before I go onto my notes, a small apology. These are just basic notes and pointers on the things I either wanted to read up on later, or things I thought were important. They're not a complete summary of a session. GOTO had a lot of students there helping out, and some of them did an amazing job at note taking and summarising

There and Back Again - Software Security in the 21st Century - Brian Chess
  • To error is human

  • #1 education

  • #2 code review

Why Agile doesn't scale, and what you can do about it - Dan North
  • Local optimisations don't roll up

  • Agile doesn't have an opinion

  • Book Suggestion: Agile adoption patterns - Richard durnall

  • Book Suggestion: The leprechauns of software engineering - ebook

  • Book Suggestion: Beyond budgeting

  • Contextual consistency

  • Scaling is more than just small things bigger

  • Guiding principles, strong leadership

  • Crossing the chasm of credibility is hard

Why code in Node.js often gets rejected by SoundCloud
Inspired by this: I need to stop just reading little bits on Scala and Closure! Need to try some things in them

Connway's Law - organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations

Something on data vis stuff (I forget which, sorry!)
Data description language (dsl)
Then from that to neo4j or similar to actually query
Allows for easy changes to db format
Closure macros for DSLs
Small team wins over big team when lots of knowledge needs to be shared
Ola Bini / @olabini

"Mocking without hangover"
"Hiding selenium in ui tests"

How to think about parallel programming - not!
~= an introduction to functional programming
Tail calls

javap - bytecode printer
Non capturing lambdas faster than inner classes
Capturing lambdas same as inner classes, but may improve later!

Code golf
Kingdom of Nouns

Scott Murray - d3 tutorials for non programmers
D3 academic paper

Risk Management
Architecture covers hard parts, critical parts, prototype then fix
Executable requirements and feedback
If you can't identify a consumer for it, you don't need to deliver it

Put it in the mission statement
Consider social justice issues
Start with program committee - needs to be diverse from there on down
Doesn't mean lowering the bar! Plenty of top notch speakers of all kinds
Women tend to say no more - tend to be more busy
Need to do outreach, work hard to get women to submit
CFP alone not enough to increase diversity
Speakers isn't a hard problem, though other parts are

Scala and Play
Syntax, naming, versioning and white space are fertile ground for bike shedding
"Marketing is a moral imperative"

"Out of the tar pit" mark and Mosley
State spoils testing. We test it anyway, as what else can we do?
"Generative testing"
Oop - less helpful when constraints must be enforced across objects
Immutable state instead of mutable state makes reasoning easier
Complexity through control still exists in FP
"Java repl"
"Functional reactive programming" - functional for UIs

"5 second rule" for presentation slides

5k / 10k art - tiny sized web apps and mobile
Pursue simplicity - avoid cognative load

Discussion with Trisha Gee
Spock - groovy, bdd test tool

Overall - I need to give more talks!