December 2022 Meeting

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.

Agenda

Heaping on the Complexity

Matt Valentine-House says:

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

Daniel Magliola

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.

Afterwards

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.

Venue & Registration

Prior to attending you should familiarise yourself with our README paying close attention to the code of conduct which applies to all attendees.

Secure your place

Hopefully you all remember that physical meetings involve finite space and so to be guaranteed entry you need to register via eventbrite.

Venue

The address of the venue:

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.

Posted by Paolo Fabbri on Nov 13, 2022

November 2022 Meeting

The November 2022 meeting of LRUG will be on Monday the 14th of November, from 6:00pm to 8:00pm (meeting starts at 6:30pm).

👪 in person meeting alert 👪

In-person seems to be working out, so we're doing it again. This time the lovely folks at Zappi are hosting us in their offices, on Camden High St. Full venue and registration details are given below.

Agenda

Data Indexing with RGB (Ruby, Graphs and Bitmaps)

Benji Lewis (also here) says:

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.

  1. LRUG November 2022 - Benji Lewis - Data indexing with RGB (Ruby, Graphs and Bitmaps)

ruby/debug - The best investment for your productivity

Stan Lo says:

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.

  1. LRUG November 2022 - Stan Lo - ruby/debug - The best investment for your productivity
  2. ruby/debug - The best investment for your productivity

Keeping developers happy with a fast CI

Christian Bruckmayer says:

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!

  1. LRUG November 2022 - Christian Bruckmayer - Keeping developers happy with a fast CI
  2. Slides from the Rubyconf 2021 version of 'Keeping developers happy with a fast CI'

Afterwards

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.

Venue & Registration

Prior to attending you should familiarise yourself with our README paying close attention to the code of conduct which applies to all attendees.

Secure your place

Hopefully you all remember that physical meetings involve finite space and so to be guaranteed entry you need to register via eventbrite.

Venue

The address of the venue:

Zappi
Theatre House
97 - 99 Camden High St
London
NW1 7JN

See 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.

Posted by Alessandro Proserpio on Oct 20, 2022

October 2022 Meeting

The October 2022 meeting of LRUG will be on Monday the 10th of October, from 6:00pm to 8:00pm (meeting starts at 6:30pm).

👪 in person meeting alert 👪

September was a success, and we have a willing venue host, so we're having another in person event. This time we're being hosted by the lovely folk at Cleo in their offices, on Shoreditch High St. Full venue and registration details are given below.

Agenda

How to be completely ignorant

Paul Battley says:

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.

  1. LRUG October 2022 - Paul Battley - How to be completely ignorant

The long road to ruby 3 vs. the short road to ruby 3.1

Murray Steele says:

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.

  1. LRUG October 2022 - Murray Steele - The long road to ruby 3.0 vs. the short road to ruby 3.1
  2. Talks ∋ The long road to ruby 3.0 vs. the short road to ruby 3.1

Afterwards

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.

Venue & Registration

Prior to attending you should familiarise yourself with our README paying close attention to the code of conduct which applies to all attendees.

Secure your place

Hopefully you all remember that physical meetings involve finite space and so to be guaranteed entry you need to register via eventbrite.

Venue

The address of the venue:

Cleo
Unit 2.10, 2nd Floor
Tea Building
56 Shoreditch High St.
London
E1 6JJ

See on a map

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.

Posted by Murray Steele on Sep 18, 2022

September 2022 Meeting

The September 2022 meeting of LRUG will be on Monday the 12th of September, from 6:00pm to 8:00pm (meeting starts at 6:30pm).

👪 in person meeting alert 👪

For the first time since March 2020 we're having an in person event. The lovely folk at Funding Circle are hosting us in their offices, on Queen Victoria St. Full venue and registration details are given below.

Agenda

How music works, using Ruby

Thijs Cadier says:

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!

  1. LRUG September 2022 - Thijs Cadier - How Music Works, Using Ruby

Building a Mortgage Lender at Generation Home

André Barbosa says:

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.

  1. LRUG September 2022 - André Barbosa - Building a Mortgage Lender at Generation Home

Fixing flaky tests, using RSpec's --seed option

Shen Sat says:

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 ✨

  1. LRUG September 2022 - Shen Sat - Fixing Flaky Tests Using RSpec's –seed Option

Afterwards

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!

Venue & Registration

Prior to attending you should familiarise yourself with our README paying close attention to the code of conduct which applies to all attendees.

Secure your place

Hopefully you all remember that physical meetings involve finite space and so to be guaranteed entry you need to register via eventbrite.

Venue

The address of the venue:

Funding Circle
71 Queen Victoria St
London
EC4V 4AY

See on a map

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.

Posted by Murray Steele on Aug 18, 2022

August 2022 Meeting

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.

Agenda

Low overhead Ruby profiling and tracing with rbperf

Javier Honduvilla Coto says:

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.

  1. LRUG August 2022 - Javier Honduvilla Coto - Low overhead Ruby profiling and tracing with rbperf

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 Paolo Fabbri on Aug 02, 2022

July 2022 Meeting

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.

Agenda

Building a Mortgage Lender at Generation Home

André Barbosa says:

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.

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 Chris Lowis on Jul 04, 2022

June 2022 Meeting

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.

  1. 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.

  1. 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

May 2022 Meeting

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.

  1. 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

April 2022 Meeting

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.

  1. 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…

  1. 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

March 2022 Meeting

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!

  1. LRUG March 2022 - Christian Gregg - Running full builds after merging? 🥱: Ship faster with git tree based caching
  2. 🚢 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.

  1. 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