The June 2022 meeting of LRUG will be on Monday the 13th of June,
from 6:20pm to 8:00pm (meeting starts at 6:30pm).
Full registration details are given below, but do
note that we will only be sending out the zoom meeting url to people who
have registered, because we have limited places, so please do it.
Agenda #
Get your PRs merged, rebasing like a Pro #
Daniel Magliola says:
You have a complex PR to submit. You've tried to keep it small, but sadly
you need to make many different changes all at once. Getting there took a
lot of effort and your branch has more than 30 commits with fixes and
reverting of dead ends.
You know reviewing this will be a nightmare for your colleagues, and more
importantly, it will be almost impossible for someone in the future to
understand what happened if they ever look at the history.
In this talk we will look at how Git branches work, and how to manicure
them using Rebase to build a commit history your colleagues will love you
for.
-
LRUG June 2022 - Daniel Magliola - Get your PRs merged, rebasing like a Pro
The messy middle – 5 Software Engineering lessons from a 5 years startup journey #
Alfredo Motta says:
These are some of the lessons that I have learned over my 5 years at a
Fintech startup that went from 0 to 100k customers and grew the team from 4
to 50 people. I will present some of the software architecture tradeoffs I
have been presented with and I am still puzzled about today.
-
LRUG June 2022 - Alfredo Motta - The Messy Middle - 5 software engineering lessons from a 5 year startup journey
Afterwards #
When the talks come to an end we can't quite replicate the convivial atmosphere of hanging out in a local pub with your fellow attendees, but we do leave the zoom call running to let those interested chat for a while. If you have some ideas about an alternative approach, then let us know at organisers@lrug.org.
Registration #
Prior to attending you should familiarise yourself with our
README paying close attention to the code of
conduct which applies to all
attendees, even though we are all in our own little bubbles.
Secure your place #
Even in a virtual world there are limited places for attending the
meeting so you need to register via eventbrite.
The link to the zoom meeting will only be sent to registered attendees on
the day of the meeting, around about 6pm. Keep an eye out for the email
and check your spam just in case.
Do prepare yourself in advance by downloading the zoom
client.
Posted by Frederick Cheung on May 15, 2022
The May 2022 meeting of LRUG will be on Monday the 9th of May,
from 6:20pm to 8:00pm (meeting starts at 6:30pm).
Full registration details are given below, but do
note that we will only be sending out the zoom meeting url to people who
have registered, because we have limited places, so please do it.
Agenda #
Mining a gem: how to safely discover, extract and share useful code from your Rails app #
Duncan Brown says:
We recently extracted a gem for talking to Google BigQuery
from 5 different Rails applications at the Department for Education
I'll talk through the process of pulling the code out, how to test gems
that work with Rails, figuring out how to deal with divergence among
existing implementations of the same functionality, and how we're
driving adoption of internal open source at DfE.
-
LRUG May 2022 - Duncan Brown - Mining a gem: how to safely discover, extract and share useful code from your Rails app
GOV.UK’s response to COVID-19 #
Leena Gupte and Rosa Fox say:
Leena and Rosa have been Senior Developers/Tech Leads on the GOV.UK
Coronavirus team. The team’s work began in March 2020 when a service
they built over a weekend had nearly 50,000 registrations on the day it
launched. Two years later, after building lots more services (using
Ruby… of course) and serving millions of users, the GOV.UK
Coronavirus team finally disbanded.
Rosa and Leena will take LRUG through a timeline of GOV.UK’s
response to the pandemic. We will discuss what we delivered, our
successes, failures and how the team supported each other to cope. We
will share how Ruby/Rails and tools such as the GOV.UK Design System
enabled us to build and deploy critical services at pace.
Afterwards #
When the talks come to an end we can't quite replicate the convivial atmosphere of hanging out in a local pub with your fellow attendees, but we do leave the zoom call running to let those interested chat for a while. If you have some ideas about an alternative approach, then let us know at organisers@lrug.org.
Registration #
Prior to attending you should familiarise yourself with our
README paying close attention to the code of
conduct which applies to all
attendees, even though we are all in our own little bubbles.
Secure your place #
Even in a virtual world there are limited places for attending the
meeting so you need to register via eventbrite.
The link to the zoom meeting will only be sent to registered attendees on
the day of the meeting, around about 6pm. Keep an eye out for the email
and check your spam just in case.
Do prepare yourself in advance by downloading the zoom
client.
Posted by Murray Steele on Apr 22, 2022
The April 2022 meeting of LRUG will be on Monday the 11th of April,
from 6:20pm to 8:00pm (meeting starts at 6:30pm).
Full registration details are given below, but do
note that we will only be sending out the zoom meeting url to people who
have registered, because we have limited places, so please do it.
Agenda #
Using React in a Ruby Project to Dynamically Generate PDF Documents #
Panos Matsinopoulos says:
In the Ruby world, we traditionally address the PDF generation problem
using gems like Prawn and PDFKit
or libraries like whtmltopdf.
Recently, in one of our Ruby on Rails projects in which we
wanted to generate PDF documents for invoices, we decided to use
another programming language and technology: React and AWS Lambda.
In this talk, we will be covering how we did it, what were the challenges
and what pros and cons over the incumbent tools for Ruby.
-
LRUG April 2022 - Panos Matsinopoulos - Using React in a Ruby Project to Dynamically Generate PDF Documents 1
A parse parse pitch: using JSON and custom parsers to create efficient flexible data structures. #
Winston Ferguson says:
JSON and custom parsers let you do neat things like:
complex pricing, map data to 3D models, auto generate images…
-
LRUG April 2022 - Winston Ferguson - A parse parse pitch: using JSON and custom parsers to create efficient flexible data structures
Afterwards #
After the formal part of the meeting, if you want to keep on LRUGging a
handful of us usually stay on the zoom call for a bit of a chat. It's not
quite the same as hanging out together IRL, but it's better than nothing
while things remain pandemic-y. If you have some ideas about an
alternative approach, then let us know at
organisers@lrug.org.
Registration #
Prior to attending you should familiarise yourself with our
README paying close attention to the code of
conduct which applies to all
attendees, even though we are all in our own little bubbles.
Secure your place #
Even in a virtual world there are limited places for attending the
meeting so you need to register via eventbrite.
The link to the zoom meeting will only be sent to registered attendees on
the day of the meeting, around about 6pm. Keep an eye out for the email
and check your spam just in case.
Do prepare yourself in advance by downloading the zoom
client.
Posted by Paolo Fabbri on Apr 04, 2022
The March 2022 meeting of LRUG will be on Monday the 14th of March,
from 6:20pm to 8:00pm (meeting starts at 6:30pm).
Full registration details are given below, but do
note that we will only be sending out the zoom meeting url to people who
have registered, because we have limited places, so please do it.
Agenda #
Running full builds after merging? 🥱: Ship faster with git tree based caching #
Christian Gregg says:
Fast deploy pipelines are an important facet of a fast moving
engineering team; allowing you to ship smaller, safer units of value to
production, faster, and more often.
In this talk we'll be covering how using git tree
objects
can allow you to run CI less or potentially not at all (in a not
scary manner :) after merging your changes into your default branch,
allowing you to get straight to deploying! 🚂
In cases where your team can precompile deployment artefacts your
changes could make it into production in under 60s. If your team uses
Heroku or Buildpacks to deploy your code, I'll point you to
some
tricks to help you do just that
by detaching building and releasing your application to production!
-
LRUG March 2022 - Christian Gregg - Running full builds after merging? 🥱: Ship faster with git tree based caching
-
🚢 Ship faster with git-tree based caching
The Browser Environment - A Systems Programmer's Perspective #
Eleanor McHugh says:
A quirky introduction to writing realtime web systems with Sinatra as
the backend. The highlight will be WebSockets but there'll also be
coverage of DOM manipulation, AJAX/fetch, and timer events.
-
LRUG March 2022 - Eleanor McHugh - The Browser Environment A System Programmer's perspective
Afterwards #
After the formal part of the meeting, if you want to keep on LRUGging a
handful of us usually stay on the zoom call for a bit of a chat. It's not
quite the same as hanging out together IRL, but it's better than nothing
while things remain pandemic-y. If you have some ideas about an
alternative approach, then let us know at
organisers@lrug.org.
Registration #
Prior to attending you should familiarise yourself with our
README paying close attention to the code of
conduct which applies to all
attendees, even though we are all in our own little bubbles.
Secure your place #
Even in a virtual world there are limited places for attending the
meeting so you need to register via eventbrite.
The link to the zoom meeting will only be sent to registered attendees on
the day of the meeting, around about 6pm. Keep an eye out for the email
and check your spam just in case.
Do prepare yourself in advance by downloading the zoom
client.
Posted by Murray Steele on Mar 06, 2022
The February 2022 meeting of LRUG will be on Monday the 21st of February,
from 6:20pm to 8:00pm (meeting starts at 6:30pm).
Full registration details are given below, but do
note that we will only be sending out the zoom meeting url to people who
have registered, because we have limited places, so please do it.
Agenda #
It's our annual ⚡️lightning⚡️ talks event. All short talks, all the
time.
Javascript in Rails: A New Hope #
Frederick Cheung:
Tired of slow webpack builds and daunting configuration files?
Find out how the new css-bundling and js-bundling gems can roll back the years
and make javascript in rails fast and simple again.
-
LRUG February 2022 - Frederick Cheung - Javascript in Rails A New Hope
Getting past enemy images #
Pablo Dejuan:
Enemy images hinder our communication with people when we need them
the most: to agree with another colleague over a code review, to interview
a third party, to have an important conversation with our boss or direct
report (technical or non-technical topic).
In this talk we will raise awareness and cover one way of overcoming the
initial enemy image to get a better outcome for us and our team.
-
LRUG February 2022 - Pablo Dejuan - Getting past enemy images
The tale of the 60+ second page loads #
Jared Turner:
A monstrous mystery and a head-scratching hunt. Follow along to discover
why, just why, is that darn page so slow!?
-
The tale of the 60+ second page loads
-
LRUG February 2022 - Jared Turner - The tale of the 60+ second page loads
solargraph-dead_end #
Fritz Meissner:
The awesome dead_end gem gives really good feedback on where that elusive
missing end
keyword is hiding in your Ruby file.
At a thoughtbot hackathon a few of us worked on a solargraph plugin
for it so you can get this feedback in your editor. Come hear about
the results!
-
LRUG February 2022 - Fritz Meissner - solargraph-dead_end
Introducing ViewComponent #
Simon Fish
The view layer is the Wild West of Rails. Let's look at how ViewComponent
helps you break down and test your Rails views.
-
LRUG February 2022 - Simon Fish - Introducing ViewComponent
A Little Pessimism Never Killed Nobody #
Marija Mandić
Come join and hear my experience on a real life example of concurrency problem
and different approaches to fixing it.
-
LRUG February 2022 - Marija Mandić - A Little Pessimism Never Killed Nobody
PJ
Metaprogramming is fun but, more importantly, makes you feel really clever.
However, it's not always the best fit for codebases with multiple
contributors. Let's take a few minutes to explore some neat tricks you can
do when you don't need to worry about other people understanding your code
😀
-
LRUG February 2022 - PJ - Metaprogramming I Do In My Side Projects That My Colleagues Won't Let Me Do In The Real App At Work :-(
How to think about Learning #
Hywel Carver
Why do we learn? How do we learn? How do we learn well?
3 mental models that will answer the first 3 of those questions and change how you think
-
LRUG February 2022 - Hywel Carver - How to think about Learning
iPad giveaway #

The kind people at Cleo, a fintech chatbot
fighting for the world's financial health, have kindly offered to sponsor
the meeting to the tune of a couple of iPads. Everyone that attends the
meeting will be entered into a prize draw to win one of these iPads and
the winning names will be drawn from a hat*.
Cleo are currently hiring so check out their careers
site, or apply directly for their two
open roles for backend ruby
engineers and
senior backend ruby
engineers.
Thanks Cleo!
* We may not use an actual hat.
Afterwards #
The best we can do at the moment is promise that a few of us will hang out
on the zoom call after all the talks are done to blather on for a bit.
It's a poor substitute for actually meeting up in person, but we'll
persevere with it. If you have some ideas about an alternative approach,
then let us know at organisers@lrug.org.
Registration #
Prior to attending you should familiarise yourself with our
README paying close attention to the code of
conduct which applies to all
attendees, even though we are all in our own little bubbles.
Secure your place #
Even in a virtual world there are limited places for attending the
meeting so you need to register via eventbrite.
The link to the zoom meeting will only be sent to registered attendees on
the day of the meeting, around about 6pm. Keep an eye out for the email
and check your spam just in case.
Do prepare yourself in advance by downloading the zoom
client.
Posted by Frederick Cheung on Jan 13, 2022
The January 2022 meeting of LRUG will be on Monday the 10th of January,
from 6:20pm to 8:00pm (meeting starts at 6:30pm). Still online.
Full registration details are given below, note
that we will only be sending out the zoom meeting url to people who
have registered, so please do make sure you do it.
Agenda #
This month, we have decided to offer something different: a pub quiz about Ruby,
Ruby on Rails, and more.
LRUG Pub quiz #
Are you proud of your knowledge of Ruby and Ruby on Rails? Invite your
friends, and win bragging rights. Or simply invite them and enjoy spending
time with them.
The quiz will have 4 categories, and each category will have between 20 and 30
questions. The 4 categories are:
- Ruby
- Ruby on Rails
- General computing
- London
Afterwards #
It's been nearly 2 years of this and we still haven't worked out a good
replacement for hanging out in the pub after the meeting. That said we
leave the zoom call running for a little while after the talks for
folk to chat. We encourage the speakers to hang around too if they can,
so you can ask them questions you weren't able to during the meeting, or
that you felt were too niche to share with the wider group. If you've got
any ideas for something better, then please do let us know at
organisers@lrug.org. Thanks!
Registration #
Prior to attending you must familiarise yourself with our
README paying particular attention to the code of
conduct which applies to all
attendees, even though we float on screens like so many tiny programming postage stamps.
Secure your place #
Our Zoom meetings are artificially constrained by our miserly purses, so
you need to register via eventbrite to secure a
place. We only send the link to the zoom meeting to people who have
registered. It goes out around about 6pm on the day of the meeting, so
keep an eye out for it and check your spam just in case.
Give yourself a head-start by downloading the zoom
client (lol, as if you don't already have it).
Posted by Alessandro Proserpio on Dec 24, 2021
The December 2021 meeting of LRUG will be on Monday the 13th of December,
from 6:20pm to 8:00pm (meeting starts at 6:30pm).
Full registration details are given below, and
please do note that the zoom meeting url is only sent to registered
attendees, so please do make sure you do it.
Agenda #
Enough coverage to beat the band #
Kevin Murphy says:
The lights cut out. The crowd roars. It’s time. The band takes the stage.
They’ve practiced the songs, particularly the covers. They’ve sound
checked the coverage of the speakers. They know the lighting rig has the
proper colored gels covering the lamps. They’re nervous, but they’ve got
it all covered.
-
LRUG December 2021 - Kevin Murphy - Enough coverage to beat the band
-
Presentation Resources
-
Blog post: Ruby's Got You Covered
When ActiveRecord meets CTE!? #
Johnson Zhan says:
CTE (Common Table Expression
) is one of the ways we handle complicated
SQL queries. However, ActiveRecord does not support CTE directly so I used
to write some raw SQL to implement CTE. Now, I found there is a useful gem
called activerecord-cte
which makes things different.
-
LRUG December 2021 - Johnson Zhan - When ActiveRecord meets CTE!?
Finding, hiring and onboarding junior Ruby developers #
Alex Balhatchet says:
The Ruby community in London has a huge number of junior
developers, largely thanks to bootcamps like Le Wagon and Makers Academy.
This talk describes my experiences finding, hiring and onboarding junior
devs. The aim is for the hiring managers in the room to feel more confident
hiring junior devs for their teams, and for the junior devs in the room to
feel more confident asking for support and learning opportunities.
-
LRUG December 2021 - Alex Balhatchet - Finding, Hiring and onboarding junior Ruby developers
-
Finding, Hiring and onboarding junior Ruby developers
Afterwards #
It's been nearly 2 years of this and we still haven't worked out a good
replacement for hanging out in the pub after the meeting. That said we
leave the zoom call running for a little while after the talks for
folk to chat. We encourage the speakers to hang around too if they can,
so you can ask them questions you weren't able to during the meeting, or
that you felt were too niche to share with the wider group. If you've got
any ideas for something better, then please do let us know at
organisers@lrug.org. Thanks!
Registration #
Prior to attending you must familiarise yourself with our
README paying particular attention to the code of
conduct which applies to all
attendees, even though we float on screens like so many tiny programming postage stamps.
Secure your place #
Our Zoom meetings are artificially constrained by our miserly purses, so
you need to register via eventbrite to secure a
place. We only send the link to the zoom meeting to people who have
registered. It goes out around about 6pm on the day of the meeting, so
keep an eye out for it and check your spam just in case.
Give yourself a head-start by downloading the zoom
client (lol, as if you don't already have it).
Posted by Alessandro Proserpio on Nov 28, 2021
The November 2021 meeting of LRUG will be on Monday the 8th of November,
from 6:20pm to 8:00pm (meeting starts at 6:30pm).
Full registration details are given below, and
please do note that the zoom meeting url is only sent to registered
attendees, so please do make sure you do it.
Agenda #
Failing better w/ Load Shedding & Deadline Propagation across services #
Christian Gregg says:
As services start to split off from your majestic monolith, cascading
failures as a single service or endpoint slows down can become a
recurring problem which very quickly can lead to service unavailability.
Implementing load-shedding and deadline propagation across your services
is a technique which can help you provide a more resilient service to
your customers. This talk will introduce some of the concepts explored
in CGA1123/loadshedding-experiment-ruby
& CGA1123/shed.
-
LRUG November 2021 - Christian Gregg - Failing better with Load Shedding & Deadline Propagation across services
-
Failing better with Load Shedding & Deadline Propagation across services
Why Rails is still relevant for startups in 2021 #
Chris Parsons says:
With the rise of single page JavaScript apps, lo-code, and mobile-first,
is Rails consigned to the legacy dustbin of frameworks last cool in
2008? The answer is emphatically “no” - Rails is as relevant as ever for
startups in 2021. Chris will talk about how Rails has supercharged the
early stage of his new startup, LollipopAI, and how Rails gave them
quick experiments, good-enough domain modelling and tooling that just
works.
-
LRUG November 2021 - Chris Parsons - Why Rails is still relevant for startups in 2021
-
Why Rails is still relevant for startups in 2021
Service Objects and Domain objects differences #
Patricia Cupueran says:
Understanding what a service and domain objects are. Distinguishing the
difference between procedures and objects. Why using service objects is
a bad idea. Advantages of using modules, concerns and PORO's instead of
service objects.
-
LRUG November 2021 - Patricia Cupueran - Service Objects and Domain Objects differences
Afterwards #
It's been nearly 2 years of this and we still haven't worked out a good
replacement for hanging out in the pub after the meeting. That said we
leave the zoom call running for a little while after the talks for
folk to chat. We encourage the speakers to hang around too if they can,
so you can ask them questions you weren't able to during the meeting, or
that you felt were too niche to share with the wider group. If you've got
any ideas for something better, then please do let us know at
organisers@lrug.org. Thanks!
Registration #
Prior to attending you must familiarise yourself with our
README paying particular attention to the code of
conduct which applies to all
attendees, even though we float on screens like so many tiny programming postage stamps.
Secure your place #
Our Zoom meetings are artificially constrained by our miserly purses, so
you need to register via eventbrite to secure a
place. We only send the link to the zoom meeting to people who have
registered. It goes out around about 6pm on the day of the meeting, so
keep an eye out for it and check your spam just in case.
Give yourself a head-start by downloading the zoom
client (lol, as if you don't already have it).
Posted by Murray Steele on Oct 28, 2021
The October 2021 meeting of LRUG will be on Monday the 11th of October,
from 6:20pm to 8:00pm (meeting starts at 6:30pm).
Full registration details are given below, and
please do note that the zoom meeting url is only sent to registered
attendees, so please do make sure you do it.
Agenda #
Solargraph: A Ruby language server to make your editor smart #
Fritz Meissner has been working on the fledgling
solargraph-rails
plugin and wants to tell us all about it:
Language servers like Solargraph can give code
editing superpowers to your favourite editor (Emacs, Vim, VSCode, etc.).
I'll talk about the Language Server Protocol and its advantages over
editor-specific plugins, as well as how Solargraph learns about your
Ruby. I'll also talk about the challenges that Rails poses for such
tooling and how solargraph-rails attempts to overcome them.
-
LRUG October 2021 - Fritz Meissner - Your editor, Language Server Protocol, and Solargraph
-
If The Shoe Fritz - Solargraph talk at LRUG October 2021
-
If The Shoe Fritz - A conversation between your editor and a language server
-
The solargraph-rails plugin
-
The solargraph project
How denormalizing our Postgres turned great #
Thierry Deo co-founder and lead dev at
Pennylane is going to tell us all about
optimising their postgresql db:
It's often considered best practice to normalize the database structure
to avoid data redundancy and incoherence. In Pennylane's accounting
platform we've found that this actually does not always help with data
coherence, and even introduces additional complexity in managing data
access. Our combination of denormalizing some of our data, enhancing
some of ActiveRecord's methods, and introducing default behaviors in our
application models has enabled us to greatly simplify access control
management and given us confidence that our production data is in a
consistent state.
-
LRUG October 2021 - Thierry Deo - How denormalizing our Postgres turned great
Memoization: My Favourite Antipattern #
Joel Biffin says:
As Rubyists we love to use built-in language features to set ourselves
apart for the rest. It's part of what makes programming in Ruby so
enjoyable! Memoization is no exception to this. But, what if we
don't really need all of that memoization? Is memoization an
anti-pattern in its own right?
-
LRUG October 2021 - Joel Biffin - Memoization: My Favourite Antipattern
Afterwards #
We do our best to keep the zoom call open for a while after the talks for
those attendees that want to chat for a bit afterwards. It lacks the
general cacophonous ambiance of a pub, and you'll have to bring your own
drinks and chips, but it's better than nothing. The speakers may be
available so you can ask them questions you weren't able to during the
meeting, or that you felt were too niche to share with the wider group.
If you've got any ideas for something better, then please do let us know
at organisers@lrug.org. Thanks!
Registration #
Prior to attending you must familiarise yourself with our
README paying particular attention to the code of
conduct which applies to all
attendees, even though we float on screens like so many tiny programming postage stamps.
Secure your place #
Our Zoom meetings are artificially constrained by our miserly purses, so
you need to register via eventbrite to secure a
place. We only send the link to the zoom meeting to people who have
registered. It goes out around about 6pm on the day of the meeting, so
keep an eye out for it and check your spam just in case.
Give yourself a head-start by downloading the zoom
client (lol, as if you don't already have it).
Posted by Murray Steele on Sep 20, 2021
The September 2021 meeting of LRUG will be on Monday the 13th of September,
from 6:20pm to 8:00pm (meeting starts at 6:30pm).
Full registration details are given below, and please do
note that the zoom meeting url is only sent to registered attendees, so please
do make sure you do it.
Agenda #
Jade Dickinson will be running an interactive workshop:
Slow Ruby code can be a puzzle, but it doesn’t have to be that way. In this
talk you will see how fun it can be to use flamegraphs to find performance
problems. You’ll enjoy this talk if you know you have slow areas in your
Ruby application*, and would like to learn how to find the code responsible.
You can find out more about what you need to prepare for the workshop via Jade's
mailing list post about it.
Afterwards #
The zoom call will stay open after the workshop is finished for a little bit if
attendees want to chat for a while. It's not as good as shouting across a table
at the Singer Tavern, but we make do with what we can. The speakers may hang out
so you can ask them questions you weren't able to during the meeting. If you've
got any ideas for something better, then please do let us know at
organisers@lrug.org. Thanks!
Registration #
Prior to attending you must familiarise yourself with our
README paying particular attention to the code of
conduct which applies to all
attendees, even though we float on screens like so many tiny programming postage stamps.
Secure your place #
Thanks to capitalism we can only host a limited number of people in our Zoom
meetings, so you need to register via eventbrite. The
link to the zoom meeting will only be sent to registered attendees on the day of
the meeting, around about 6pm. Keep an eye out for the email and check your spam
just in case.
Give yourself a head-start by downloading the zoom
client (lol, as if you don't already have it).
Posted by Chris Lowis on Aug 24, 2021