Unfortunately, the December 2022 meeting is cancelled
The December 2022 meeting of LRUG will be on Monday the 12th of
December, from 6:00pm to 8:00pm (meeting starts at 6:30pm).
👪 in person meeting alert 👪
and with the December meetup it will be our fourth in person meetup of the 2022; all thanks to the helps of the amazing people at Zinc at their offices, on Eversholt Street. Full venue and registration details are given below.
Join me on a journey through Ruby's Garbage Collector!
In this talk I'll teach you some of the details about how the Ruby
interpreter manages memory. I'll introduce a project my team and I are
working on that aims to make Ruby faster by improving its memory
efficiency, and then we'll talk about how our implementation broke
Garbage Collection.
After that we'll go on a journey together, through some weeds, and
taking a few bad turns until we finally emerge with a few PR's that
not only Fix GC, but make our project better too.
What does "high priority" mean? The secret to happy queues #
Like most web applications, you run important jobs in the background. And
today, some of your urgent jobs are running late. Again. No matter how many
changes you make to how you enqueue and run your jobs, the problem keeps
happening. The good news is you're not alone. Most teams struggle with this
problem, try more or less the same solutions, and have roughly the same
result. In the end, it all boils down to one thing: keeping latency low. In
this talk I will present a latency-focused approach to managing your queues
reliably, keeping your jobs flowing and your users happy.
When the talks come to an end we'll decamp to a local pub for some food, some
drinks and some chat with your fellow attendees.
Of course, even though this is the socialising part and seems more
informal, please remember that still we consider it to be a part of the
meeting and covered by our code of conduct.
Euston House, 24 Eversholt Street London, NW1 1AD England, United KingdomSee on a map
The venue has a hard limit of 100 people. If you register and realise you
can't come, please use eventbrite to give up your place so we can someone
else come in your place. We might be able to let in people on the night
who haven't registered, but we can't guarantee it.
In this talk, we will go on a journey through Zappi’s data history and how
we are using Ruby, a graph database, and a bitmap store to build a unique
data engine. A journey that starts with the problem of a disconnected data
set and serialised data frames, and ends with the solution of an in-memory
index.
We will explore how we used RedisGraph to model the relationships in our
data, connecting semantically equal nodes. Then delve into how a query
layer was used to index a bitmap store and, in turn, led to us being able
to interrogate our entire dataset orders of magnitude faster than before.
In this talk, I will demonstrate 3 powerful debugging techniques using Ruby's new debugger ruby/debug:
Step-debugging
Frame navigation
Breakpoint commands
By using them together, we can reduce unnecessary context switching and make our debugging sessions more efficient. You will also learn more about ruby/debug while we walk through these techniques with its commands and console.
And finally, I will show you how to level up our productivity even further by automating debugging steps using ruby/debug's scriptable breakpoints.
When talking about performance, most developers think application speed,
faster algorithms or better data structures. But what about your test
suite? CI time is developer waiting time!
At Shopify we have more than 170,000 Ruby tests and we add 30,000 more
annually. The sheer amount of tests and their growth requires some
aggressive methods. We will illustrate some of our techniques including
monitoring, test selection, timeouts and the 80/20 rule. If you have
experience in writing tests and want to learn tricks on how to speed up
your test suite, this talk is for you!
When the talks come to an end we'll decamp to a local pub for some food, some
drinks and some chat with your fellow attendees.
Of course, even though this is the socialising part and seems more
informal, please remember that still we consider it to be a part of the
meeting and covered by our code of conduct.
The venue has a hard limit of 100 people. If you register and realise you
can't come, please use eventbrite to give up your place so we can someone
else come in your place. We might be able to let in people on the night
who haven't registered, but we can't guarantee it.
How much does a bit of code need to know to do its job? I'll show how I
transformed a bit of complicated, untested, flaky, and poorly understood code
into something pleasant to deal with and easy to test by applying the
principle of making it know as little as possible.
I'll share how the team at Cleo
meticulously planned and delivered the upgrade to ruby 3.0 on our rails
app so smoothly that we became drunk on our own competence and totally
messed up our upgrade to ruby 3.1 the following week. A rare talk
where you will learn some best and worst practices.
After the talks we'll avoid outstaying our welcome with our hosts and move on to a local pub to grab some food and drinks and to talk over what we've heard from our speakers.
The venue has a hard limit of 60 people. If you register and realise you
can't come, please use eventbrite to give up your place so we can someone
else come in your place. We might be able to let in people on the night
who haven't registered, but we can't guarantee it.
That strange phenomenon where air molecules bounce against each other in a way that somehow comforts you, makes you cry, or makes you dance all night: music. Since the advent of recorded audio, a musician doesn't even need to be present anymore for this to happen (which makes putting "I will always love you" on repeat a little less awkward).
Musicians and sound engineers have found many ways of creating music, and making music sound good when played from a record. Some of their methods have become industry staples used on every recording released today.
Let's look at what they do and reproduce some of their methods in Ruby!
It’s not often that you hear about a startup doings things differently in the mortgages world. And there’s some good reasons for it, the cost of entry is super high!
It’s not just funding and regulations either. You also need to back it up with the right technology and tools to manage a highly complex business where mistakes can be very costly. On top of that, startups need to move fast to out-innovate the incumbents with only a fraction of the resources.
At Generation Home Ruby has been a catalyst to help us deliver a product we’re proud of in a short time-scale. We’ll talk about some of the challenges we faced early on, how Ruby, Rails and the whole ecosystem helped us deliver and what still lays ahead of us.
Fixing a flaky test in the build pipeline of your application often
requires first replicating the failing test locally. I'm going to show you
how I used RSpec's --seed to help me do this for a flaky test I was
recently grappling with, and how it led led me to a fix ✨
When the talks come to an end we'll decamp to a local pub for some food, some drinks and some chat with your fellow attendees. We'll post details of the pub shortly, once Funding Circle tell us which is the best one to go to!
The venue has a hard limit of 75 people. If you register and realise you
can't come, please use eventbrite to give up your place so we can someone
else come in your place. We might be able to let in people on the night
who haven't registered, but we can't guarantee it.
The August 2022 meeting of LRUG will be on Monday the 8th of August,
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.
Understanding our applications' performance can be tricky. Some of the readily available performance tools introduce a big overhead which makes them not suitable for use in production environments, where in many cases, it's the best place to troubleshoot performance issues.
rbperf is a low-overhead on-CPU profiler and tracer that is suitable for usage in production environments. It doesn't require the application under investigation to be restarted or disturbed in any way.
We will discuss some of the tradeoffs in its design, its architecture, the features that make it unique, as well as its limitations compared to other tools. We will also take a look at how the Ruby stack is laid out in memory and the role BPF plays in rbperf.
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.
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.
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.
The July 2022 meeting of LRUG will be on Monday the 11th of July,
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.
It’s not often that you hear about a startup doings things differently in the mortgages world. And there’s some good reasons for it, the cost of entry is super high!
It’s not just funding and regulations either. You also need to back it up with the right technology and tools to manage a highly complex business where mistakes can be very costly. On top of that, startups need to move fast to out-innovate the incumbents with only a fraction of the resources.
At Generation Home Ruby has been a catalyst to help us deliver a product we’re proud of in a short time-scale. We’ll talk about some of the challenges we faced early on, how Ruby, Rails and the whole ecosystem helped us deliver and what still lays ahead of us.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
sometricks to help you do just that
by detaching building and releasing your application to production!
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.
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.
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.
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.
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.
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.
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.
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!
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
😀
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*.
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.
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.
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.
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.
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:
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!
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.
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.