Scottish Ruby Conference Round-up – Part 2

First up on Sunday morning was a Keynote with Aaron “Tenderlove” Patterson. I only caught the second half of this entertaining talk – so I’ll have to go back and catch the rest on video. Aaron talked about some changes he’d like to see in Rails 4. And also had a bonus round on sausage making.

Mastering Database Design with Redis

I was really looking forward to this talk on Redis by Ryan Briones. It half fulfilled my expectations. Ryan discussed the basic data structures in Redis, sets, sorted sets, hashes (of strings). He identified some use cases for Redis, such as it does queues really well. And then he discussed an experiment of building an app using Redis as the only data store. This was interesting, albeit not the most practical. I had hoped the talk would be focus on more practical applications of Redis. Having said that, it was an interesting talk overall that I took some good ideas away from.

Real Time Visualizations

Ben Bleything from LivingSocial gave a fun talk on how to build your own visualisations. He demo’d some real visualisation from LivingSocial that he and the team there had built using HTML, D3 and Processing. D3 in particular looked very easy to use and so said a number of attendees. Ben also covered some visual and information design stuff and recommended a couple of books on the topic. One highly recommended intro text that looks like a good read is was The Visual Display of Quantitative Information by Edward Tufte. Ben covered a number of options for storing and getting the data needed to generate the visualisations and then concluded that in his opinion we should “just use Redis” and it’s the most appropriate tool for most use cases.

Theraputic Refactoring

Katrina Owen gave a fantastic talk on refactoring. I wasn’t sure which of the three talks to go to during this time slot and I was very glad that T.J. Sheehy from FreeAgent recommended this talk on the basis of feedback from another conference where Katrina presented on this subject. Having now seen this talk, I can heartily recommend it. If you’re going to a conference and Katrina giving this presentation – don’t miss it! I didn’t take any notes during this segment other than “Rewatch and pull out ideas” – I didn’t want to take my focus off the presentation for one moment. So that’s all I’m going to say on this talk, for now. Here’s how Katrina described her talk a few days ago:

Well worth watching this talk on the Scottish Ruby Conference site when it goes up.

Exploiting an Idiomatic Approach

I went to Matt Yoho‘s talk on Using the Resource Idiom next. This was a good talk, well paced, with some well made points. I’m working on an API design at the minute so a lot of what Matt talked about was very relevant and slotted in well to my thoughts on the subject. I found Matt used well thought out realistic examples and followed through his thought process on how to deal with them in an idiomatic way. Some of my notes taken during this talk include:

    Refeed example (how to do a non crud method endpoint)
    We want to generalize, make specific cases generic, edge cases are bad (thats why we changed our name :D )
    Take member method, make a new resource inside of item
    If your introducing non-Restful methods into a controller you’re probably missing a top level concept that should be a first class resource.
    Prefer composition over inheritance
    Hashes are the lingua franca of Rails

Someone is Wrong

I’ve seen Joseph Wilk speak a number of times at different conferences and he’s already been a great speaker/presenter. In this talk he shared some of his secrets. Here he covered logical fallacies and rhetoric and how it can (and should) be used by developers to get our points across in a convincing way. This was a really enjoyable talk and definitely reminded me of a few thing i’d forgotten.

Last up then was the Keynote with “Pragmatic” Dave Thomas. What a way to end a great conference. Dave knocked us back on our heals and brought us back earth and refocused attention on doing the basics well. He advocated throwing off the shackles of labels and thinking for ourselves and doing what we think is best rather than cargo-culting solutions. I saw this talk as a bit of a call to arms, we can do better, we must do better.

It was a great way to finish a great conference.

Posted in Conferences | Leave a comment

Scottish Ruby Conference Round-up

I’ve been inspired to start blogging again at the Scottish Ruby Conference. So I thought, why not make my first post a round up of the excellent sessions I attended. So here goes.

Friday Morning Keynote
Pretty inspirational opening keynote from Mike “World’s Toughest Programmer” Lee about his journey from baggage handler to software developer to Appsterdam founder. Mike compared the discrimination he faced because of his body shape (big and strong) to the discrimation women face within the tech industry. This resulted in two things, me being afraid to talk to female attendees for the duration of the conference and me volunteering to help with the upcoming Rails Girls event in Dublin.

Power Rake
Next up for me was the Power Rake talk by the always fantastic Jim Weirich, creator of Rake. Jim introduce some new Rake functionality that I didn’t know existed – FileLists, File Tasks and Rule Tasks. You can see a previous instance of this talk at Confreaks.

Decoupling Persistance

Then before lunch we had Piotr Szotkowski (who is an assistant professor at Warsaw University of Technology) talking about decoupling persistance from the domain model. I really enjoyed this talk, it was a good mix of wit, relevant quotes and thought provoking ideas. I also thought the thrust of the talk, decoupling persistance from your models to allow for greater flexibility in the future really set the tone for the conference and a number of other talks built on this idea too. Piotr gave a number of (good realistic) examples of how to possibly achieve this decoupling some of which were new to me others which I’ve seen before but which were a nice reminder of. I’m definitely looking forward to figuring out how to implement some of these ideas on my own codebases. Slides for this talk are available online.

Hexagonal Rails
First up after lunch, I went to the Hexagonal Rails talk give by the trio of Matt Wynne, Steve Tooke and Kevin Rutherford. Another very good talk, though having three people alternating interrupted the flow for me a little. The speakers advocated a new approach to Rails development, that new approach isn’t fully formed and codified yet, my take was they were prompting us (as a Ruby community) to get involved in contributing to the discussion on how we should move Rails development forward. Some of the simple yet powerful concepts that were advocated:

    Tell, don’t ask style
    Get rid of the stacked layer metaphor
    Responsibility driven development
    Passive controller
    Your domain model is in the interactions between objects, not the objects themselves

Maintainable Rails

Building on some of the motivations of Matt Wynne et al was Steven Baker who gave a great talk on making mantainable Rails apps. Some of the tips I’ve taken away from this talk:

    FIXME – Add these immediately wherever you see stuff that needs cleaning up.
    Technical Waste – Avdi Grimm – Read it
    Do what you want Fridays – a good time to fix FIXMEs
    Listen to tests – no such thing as slow tests, theres slow code. When slow, fragile, coupled = it’s the code
    Delete code often – “I try and delete more code than I add”

As a result of Steven’s talk, I’ve already delete >500 lines of code or almost 7% of the main codebase I working on. I’ve always know there was old cruft in there from years ago but with some of it being so old and not well covered by tests there’s always been an hesitancy to delete it – not any more. I spent last friday evening from 5pm til 9pm cutting great chunks out …… and if felt great! :)

I am Designer

After a short break, Justine Arreche took to the podium for a great talk that I described in my notes as “a crash course, design for developers”. This was a great talk for me – as someone who believes he uncorrdinated when it comes to design and colours, this talk demystified the whole process and give me some simple rules to follow. It make me think designing something is achievable now. Justine covered the basics in a simple accessible manner.

    Grid and content structure
    Colour Theory

If you’re a developer who fears designing (or who just wants to know a bit more about it) – watch this talk when the video goes up. In the meantime, make do with a copy of the slides.

Some other tips I took away from this talk:

    Use a Grid
    Colour wheel – opposite sides contrast
    Don’t be afraid to choose white and gray
    Differentiate from competitors
    Serifs – easier to read in big chunks
    Sans-serifs – headlines
    Web fonts –
    Email template – reflect the website, brand consistency

Design Process (in very basic form)

    Sketch on paper
    Black boxes on grid
    Then colors, typefaces
    then html, css

The fundamentals of pursuing a dream in a digital world

I was all nerd-ed out by this stage of the afternoon, so I chose to go to the less technical talk on chasing your digital dream by Leanne MacDuff. As a coaching enthusiast I thought I’d enjoy this talk. And I did. It was a nice way to end the day in a positive, if knackered, frame of mind. I didn’t think I got a lot of new stuff from the talk, but I figure thats just down to possibly down to having done a coaching course and probably having read a lot of similar books to the ones I’d imagine Leanne has. But one great takeaway was a video she ended with, that I can use as a kick in the ass when I get into a grumpy mood.

That ended day one of my Scottish Ruby Conference. I’ll put together my notes on day two and put them in the next week. Overall, a great first day, possible one of the best conference days I’ve experience, definitely in the top three.

Posted in Conferences | Tagged , | Leave a comment