Kondo your code — review from the UK Ruby conf
In the UK, there are two Ruby conferences held each year — Bath Ruby and Brighton Ruby. North West Ruby user meetup group enthusiasts encouraged members to attend Brighton Ruby since it was the only Ruby conference being held this year.
Brighton Ruby is a one day single track Ruby conference held in Brighton, England. It is attended by Ruby enthusiasts from England, Scotland, USA and probably other European countries too. This year it was held on Friday 5 July at Brighton Dome. There were 12 talks presented.
My husband Iain and I travelled to Brighton by train from Manchester and the journey took us just under four hours.
The venue had sponsor stalls setup similar to RubyConf AU. I felt like the turnout was smaller than previous conferences I’ve been to in Australia. It was great to meet Ruby enthusiasts from other countries and hear about various developers’ backgrounds. I also enjoyed being able to share my remote working experiences.
Brighton Dome
Setting up to Fail: Vaidehi Joshi
Vaidehi’s talk was all about distributed systems and building fault tolerance in our systems.
These were my key takeaways from her talk:
-
Distributed systems are an illusion to the end user
-
Understanding how a system handles failures is more important than understanding how a system works
From Developer to Architect (and back again): Matthew Ruby Jacobs
Attendees were taken through a journey of Matthew’s various professional roles in this talk. Matthew talked about the power of what an architect can do in terms of saving the Government thousands of pounds. I thought his definition of an architect below was great:
Definition of an Architect
Embracing openness in open source: Amina Adewusi
Amina encouraged attendees to take part in contributing to open source software. She believed first time contributors are the life blood of open source. In addition, she believed there were things you can have in a repository to encourage first time contributors to participate in extending the code. These were:
-
Good language in the README
-
Good documentation
-
Availability of public forums
She provided a good visual in her presentation of the contributor funnel which was insightful and provided food for thought:
Contributor funnel of open source software
Better coding through unit tests — Valerie Woolard Srinivasan
Valerie covered the basics for unit testing in her talk. Though this talk was targeted for new developers it covered some important points that are good to be reiterated to everyone regardless of experience level.
-
She believes that writing tests are a favour to yourself and your future self.
-
A good test suite fails when something is broken and doesn’t fail otherwise. It also covers all conditionals in the code and should make the code more self documenting (without the need for a large number of comments).
-
When deciding what type of tests to write you should always consider the overhead incurred.
-
Bug fixes should be accompanied with a unit test to validate that the faulty behaviour is fixed.
Valerie finished her talk with a strong remark: go forth and conquer, based on the insights she provided in her talk.
The Life Changing Magic of Tidying Technical Debt: Sroop Sunar
This was by far the best talk of the day. It was so cleverly devised and was truly inspirational. This is because the speaker linked her talk to the practices of tidying conveyed by Marie Kondo who hosts the Netflix TV show: Tidying with Marie Kondo.
Sroop talked about how technical debt is just like household possessions.
Marie Kondo delivers a key message to her clients in the Netflix TV show about assessing whether to keep something in your house depending on if it sparks joy or not. This idea can be easily applied to code: if the code sparks joy and is useful then keep it. Otherwise thank the code for the value it has provided in your codebase then delete it.
Sroop’s four key tidying tips were as follows:
-
We can’t tidy unless we know how it all started — it is all about finding the root cause of why the code was there in the first place and knowing the value it provides
-
Knowing when to clean and when to tidy — it is all about achieving a good balance
-
Tidying is about cultivating empathy for the things around us — we need empathy to work with a messy code base
-
Letting go is more important than adding — deleting is an essential part of the development process
As much as I enjoyed the talk, one of the key takeaways for me from this talk was the importance of code deletion. Sroop believes code deletion should be a time of celebration. This is because we have mastered and overcome the feelings of uncertainty, intimidation and attachment which hinder us from overcoming technical debt. She also taught me to not leave commented code in the code base because of source control allowing you to get back deleted code whenever necessary.
The following were two of my favourite visuals that Sroop presented — describing code quality measurement and the definition of clean code:
Code Quality Measurement (L), Definition of Clean Code (R)
Ruby like it’s 1995: Matias Korhonen
Matias provided an insightful history into Ruby and Rails. He showed a timeline of the evolution of the language and framework and how far it really does date. It was insightful for me to see how much the language and framework has progressed over time.
Evolution of Ruby and Rails
He also described his efforts in running Ruby 0.95 and the issues he faced in doing so:
Issues for running Ruby 0.95 (L)
The city of Brighton
I was fortunate enough to visit the Brighton sights whilst attending the conference. Brighton is a city full of quirky restaurants, shops and alleyways. It is great how accessible the beach is from the city centre.
I hope to attend the conference next year and see what talks are on offer. It is certainly a great city to be in during the British summer. For more information on the conference please see the website: https://brightonruby.com/