Also from Andrew Faraday

Where else can you find me?

Tuesday, 15 March 2016

Bath Ruby 2016 - a retrospective

So, last week, I headed out to the Bath Ruby Conference in, um, Bath. It's the second year in a row I've attended this event, it's been well worth a visit both times, combining some top quality talks, a beautiful venue, and the all important community aspect.

The more conferences I visit, the more value I find in chatting to people, new and known who share the experience of writing code, who work in the same community. Now, this part of tech events can be highly individual, coloured by who you happen to speak to, the time they're having and all kinds of social oddities (I'm Autistic, remember, people can be baffling to me sometimes), but event organisers can do a lot to facilitate this mingling. So how did Bath measure up in the 'corridor track'?

The venue was a really nice social space, comprising of the main conference hall, seating around 500 people, a tea room, and between the two, the grand octagon, where the sponsors were set out. (Freebies galore! Huzzah!)

It was also a very beautiful reconstructed Georgian building, somewhat grander than the Ruby community are accustomed to, and honestly fantastic surroundings for the day.

The schedule was resplendent with breaks, each talk (and each set of lightning talks) was followed by a break, coffee and snacks were provided through in another hall. Each time the room stood up to stretch their many legs, I met someone different, and had a different conversation. This worked well for the social aspect.

On to the talks, we started off the day with Xavier Riley running us through Sonic Pi. I already know a little bit about Sonic Pi, as some of my previous posts will attest, so I've talked about it rather a lot here. It's always good to learn from actual people, tho, and Xavier took it right from the beginning, the first part of the talk just taking us through the basics of the API and making music with computers.

After this section, it turned into a kind of whirlwind tour of some of the more impressive things that Sonic Pi is capable of, including a few crowd pleasers, such as the Mario theme music. It was difficult to follow the actual code at this stage, tho. My only criticism of this talk was that it followed this pattern a little bit.

It was good to see what it does, tho, and the last part of the talk was some good, solid live coding. This was well pitched to go just over the audience's heads, as it were. One problem with live coding is that to produce something impressive under pressure, people write code which isn't readable, partly defeating the object of showing people code as it comes together. This was built to be readable, but sound good, encouraging people to read.

As the talk finished, there was a break, then a set of lightning talks, open slots where people can have a go at speaking in front of an assembled audience for a short time. For people like me who enjoy public speaking, lighting talks are a great opportunity to try out ideas, and keep in practice. Bath had three sets of lightning talks this year, providing ample opportunities and allowing about 15 people to try their hand. It was a good mix of experienced speakers, first timers and in-betweeners like me, but more about that later.

Next up was Coraline Ada Ehmke talking about the graph-based database, Neo4J. Most databases which web developers work with are what's known as "relational databases", which are built around a firmly structured set of data. This graph database appears to be built around graph theory, which focuses on how entities (known as 'nodes') are associated with one another.

We learned how a graph database treats these associations, edges, as first class citizens. I got a little lost in the details here, but the practical upshot is that it performs far better when working through multiple links. This makes things like semantic analysis and understanding networks much quicker and easier to do.

As I mentioned, most of the work web developers do is with relational databases, but it was good to be introduced to a completely different way of solving some of the same problems. We never know when an idea we've only met in passing might turn out to be the best tool to fix a new problem.

Next up, Courtney Ervin was talking about Open Source Software, and particularly how we can approach contributing to the OS ecosystem. She broached on a number of issues it throws up. Mostly based around the fact that most programmers learn in and around Open Source projects, and feel obliged to contribute back into that community once they're able to.

Of course, the end-point is that not everyone can work for free, as well as working for money, and we need to manage our time. Courtney told us that there are many ways to contribute to the community as besides writing actual code, and that there are many possible benefits to contributing besides altruism. The main take-away is that we need to balance these benefits against the negative effects of overwork, and under appreciation.

She put the issues out there, and made it very clear that we're not actually obliged to contribute when it's having a negative effect on us, it has to work both ways.

Another talk, another break, another set of lightning talks. There was one speaker in this set who had specific significance to me, chatting about code review and repair in the guise of a wonky limerick.

but let's not dwell on him too long...

Then we broke up for lunch, the conference wasn't able to provide lunch so instead there was what must have been a slightly terrifying tide of people heading into Bath, where there's a fantastic array of places to eat and historic buildings to see.

Next up, Janet Crawford, a Neuro-scientist of Stanford University was talking about unconscious gender bias. This is becoming a very familiar message at technology events, but the sad truth of the matter is that the technology industry (as well as engineering and science) is still male-dominated, and it doesn't need to be that way. It's a subject that needs exploring at these events, something that we should all be aware of.

Janets talk focused on the ways that the human brain forms shortcuts, and how this helps us to understand the world around us. It's essentially a good bit of brain design, but it does mean we compartmentalize people in the same way, so when we see that technology is mostly male-dominated, we make associations between men and coders. The trouble is that it follows that we think only men can code.

I have met a number of talented female coders who prove that this simply isn't true.

However, with an industry which is mostly male, and which sadly assumes this is because of innate ability, it's hard for women to get into the industry. It's a vicious circle.

Janet stated this case, along with some history of this kind of bias and the neurological basis for it in a concise, thorough and, importantly, compassionate way. Familiar, but well delivered, a valuable perspective on one of the biggest problems in the technology industry.

Next up, Zach Holman, he's spoken at a number of events I've seen so far, and he's always been billed as 'the guy from Github'. Only last year he was fired from that organisation, and this talk was about being fired from Github.

This is a topic which is rarely spoken about at tech conferences, which is, in retrospect, surprising. There are often jobs about finding work, hiring coders, career progression and starting a business, but the termination of a job is rarely mentioned. It's hard to tell if it's a taboo subject or not, but it's understandable that people don't like to talk about having been fired.

Zach, in my experience, has always been an entertaining speaker, and this talk was no exception, with humour injected into each part of the narrative. Even then, it was clear that the firing experience was still pretty fresh and raw, it showed a fair amount of vulnerability and introspection.

It was also very well rounded, all things considered, looking at the perspective of someone being fired, but also colleagues and employers.

The only real issue I found here, and Zach did warn us, is that it was rooted, unsurprisingly, in American employment law. It's difficult to tell just how much of this would apply to a similar situation in the UK.

The keynote for the day was Ruby core team member and former TechJAM panelist, Aaron Patterson, talking about how method calls are constructed in Ruby.

Aaron typically uses a fair portion of his talks being funny, and this was no exception. Falling back on a favoured topic of the (somewhat exaggerated) Trans-Atlantic culture gap. We heard about Freedom, waffles and a fairly famous cat.

Down to technical details, and this years most technical talk went well down the rabbit-hole of code. We looked deep inside the internals of the Ruby language, and how it works at a low level.

I got very lost in the details, here, being at a level where we rarely have to work, most coders don't have much framework to understand it. However, again, it's good to be introduced to things related to the work you do, even if you don't use that knowledge.

The whole thing was followed by an after party which was good fun. The sponsors laid on some nice food, and a free bar and most of the conference hung around to eat, drink, chat and enjoy ourselves. A great standard conference after party with an added bit of Video Jockeying from Ruth John, another TechJam panelist, who was in her element using audio-reactive video with clips from 80's cartoons.

So, overall, a fun, social, interesting day of talks and chatter. A great event for techies to go and directly engage with the wider Ruby community. Great work from Simon and the rest of the team for making it happen on a second year running.


Addendum: Apart from my little selfie snap at the start, the photography for this post was taken by Adam Butler who also presented a lightning talk. You can see his Bath album, with many more photos from the day, here.