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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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?
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!
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.
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.
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!
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.
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.
Tom was the founder of GoCardless (built in Ruby) and Monzo.
He recently joined the board of Generation Home (also Ruby) - a
London-based mortgage provider. He's come back to talk about the evolution
of the London startup community and how successful fintechs are still
building on Ruby on Rails
We're used to using Regular Expressions every day for pattern matching and
text replacement, but… What can Regexes actually do? How far can we push
them? Can we implement actual logic with them?
What if I told you… You can actually implement Conway's Game of Life with
just a Regex? What if I told you… You can actually implement ANYTHING with
just a Regex?
Join me on a wild ride exploring amazing Game of Life patterns, unusual Regex
techniques, Turing Completeness, programatically generating complex Regexes
with Ruby, and what all this means for ou understanding of what a Regex can
do.
The zoom call will stay open after the talks are 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!
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 are only tiny flat moving images like prisoners in the
Phantom Zone.
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.
Rapid iteration and feedback is key to enhancing agility. This is an
experience report on how we appealed to a modelling technique from the
1980s, CRC cards, to figure out how we might break away part of a monolith
at the architectural level and guide refactorings at the softer design
level.
Beam is the world's first crowdfunding platform for homelessness. Alex
will talk about what Beam does and how Beam uses Ruby on Rails,
Airtable, Vue.js and Tailwind to help them change the lives of homeless
people.
One of the aspects of Ruby & Rails that gives it the reputation for not
scaling well is that unlike some languages/frameworks it has no way to
enforce modularity. Over time and with many developers this usually
leads to 'spaghetti code'. This talk will introduce a solution to this
problem called packwerk (a ruby
gem by Shopify), as well as touch on some alternatives.
The zoom call will stay open after the talks are finished for a little bit
if attendees want to chat for a while. 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 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 2021 meeting of LRUG will be on Wednesday the 9th of June, from… wait, what? Wednesday?!
Yes, that's right. This month, we’re doing something a little different and joining up with many of the other European Ruby user groups (including our good friends in NWRug, Shrug, SW Ruby and ScotRuby) to have a sort-of mini Rails-Conf.
The details are now available at the EMEA on Rails site and we will keep you updated as we find out more about how to join in on the day. You can also follow the event on Twitter. The event will run through the afternoon and early evening (the schedule showing GMT + 1 is the same as BST, our current timezone), and you'll be free to dip in and out as your own schedule allows.
This is all a bit of an experiment, but hopefully it will be a fun opportunity to interact with some other user groups, and take a little bit more advantage of the remote-ness of our circumstances at the moment. In July, we'll be back to our regular second-Monday meetups.
You may have heard that cookie security is hard with the need to worry
special flags and encryption. Actually, Ruby on Rails makes it super
simple to securely store data in cookies. In this talk I'll explain the
different types of cookies supported by Rails and what Rails does under
the hood to secure the data they contain.
Sometimes a new feature may be objectively worthwhile; but often one
might be left wondering “Does this actually make our product better?”,
or “Is this making the business more money?”.
In this talk, I will explore the virtues of defining North Star metrics,
AB testing product variations to statistical significance, and using
funnel analysis to quantify a feature's value.
We leave the zoom call running after the talks are over for as long as our
collective rumbling stomachs can handle. Why not stick around and chat
with the handful of attendees who also don't have zoom fatigue yet. If
you've got any ideas for something better 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 2021 meeting of LRUG will be on Monday the 12th of April,
from 6:20pm to 8:00pm (meeting starts at 6:30pm). It's our first
meeting of the 2nd year of remote-only LRUG.
We've got one talk lined up for you this month so far. We've always space
for more though. Email talks@lrug.org, if you've
got something you'd like to share with your fellow LRUG attendees.
Git is the dominant tool for version management. Misunderstanding and
misusing Git can cost development teams time, energy, and money. Few
better examples exist than Git's default merge workflow which creates
repositories that are hard to read, debug, and maintain. In this
talk, I'll show how to use the Git Rebase
Workflow instead,
which puts Git to work for you to produce quality code that's easy to
handle and kicks your team into high gear.
Your questions will be answered by Brooke
Kuhlmann who is the
founder of the Alchemists where the
mission is to create an inclusive and thoughtful collective focused
on the craft, quality, ethics, and security of software engineering.
Despite spending a year doing this, we've yet to work out a decent online
version of the post-meeting pub. That said, we leave the zoom call
running aftet the talks are over and the formal goodbyes have been said.
You're more than welcome to hang out with the handful of folk who do stay
on. If you've got any ideas for something better 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 2021 meeting of LRUG will be on Monday the 8th of March, from
6:20pm to 8:00pm (meeting starts at 6:30pm), taking place once again in
our virtual home. This will mark a full year of running LRUG remotely. Wild
times.
Full registration details are given below. Please remember
that we will only be sending out the zoom meeting url to people who have
registered, so please do make sure you do it.
We've got two talks this month, but as ever, we always need more, from April
onwards. Email talks@lrug.org and we will do our very
best to nurture your seed of inspiration into a healthy plant of…
content.
Data as a foreign language, or: A tale of two (or possibly three) type systems #
Working with XSLT/XPath’s XDM type system in Ruby requires learning how to
translate between two very different type systems in a way which allows for
idiomatic Ruby without ignoring the bits of XDM which aren’t quite Ruby-shaped.
Oh, and the only open-source implementation is in Java, so Java’s type system is
in the mix.
I’ll look at a couple of cases where the different approaches and
assumptions of Ruby and XDM (and Java, which just can’t help sticking
its nose in) interact in an interesting way.
I host a weekly livestream where
each week I work on a Ruby on Rails app and, along with those watching, we
plan then build different features and discuss different possible
approaches. It’s casual, aimed very loosely at learners, hopefully useful
and receives positive feedback from those that watch or interact.
When I mention livestreaming to others, they’re often interested in how it
works, what I get from doing it, what those who interact with the streams
get out of it and how they could potentially get involved in streaming.
This talk aims to answer those questions, along with any others you may
have, come and say hello!
We're all at home so there's no post-meeting pub meetup, however a few
attendees often hang around on in the zoom call after the talks are over.
It's a pale-shadow of the pub meetup, so if you have some ideas about
doing something better do get in touch at
organisers@lrug.org.
Prior to attending you must familiarise yourself with our
README paying close attention to the code of
conduct which applies to all
attendees, even though we are all just little silent video characters.
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 6pm. Keep an eye out for the email and check your spam just in
case.
The February 2021 meeting of LRUG will be on Monday the 8th of February,
from 6:20pm to 8:00pm (meeting starts at 6:30pm). The online nature
of our little gathering continues.
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 our annual ⚡️lightning⚡️ talks event. All short talks, all the
time. As ever, we're still looking for volunteers (we have room for up to
eight of you), so get in touch talks@lrug.org, if
you've got something to say.
An intro to Bridgetown: A static site generator for the modern JAMStack era. #
Bridgetown is a new Ruby-powered static
site generator that was forked from Jekyll 4.1. It has a focus on modern
ideas and includes Webpack as a first-class citizen. In this talk I'll
give a demo of what differentiates Bridgetown from Jekyll and some of
its best features; followed by a short Q&A.
Ruby has many classes that deal with files, paths or directories, but
one that often doesn't get enough credit is
Pathname. Pathname unifies the other
pretenders to the throne with a consistent, rubyish interface that is a
joy to work with.
ap 1.methods takes an Array of Symbols as input and outputs
details it shouldn't know about the methods themselves. ap
1.methods.dup has the same behaviour, but ap
1.methods.take(1.methods.length) does not. I will peer into the magic
and divulge its secrets.
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 2021 meeting of LRUG will be on Monday the 11th 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.
We've got one talk lined up for you this month, but we always need more.
Email talks@lrug.org, if you'd like to start your
2021 presenting to the enthralled hordes of LRUG attendees.
Recruitment is one of the hardest problems in scaling your tech company.
Everyone wants the best, everyone wants diversity in hires, everyone
wants the most affordable people - but companies rarely have the time,
money or ability to invest in creating a world class recruiting team. So
what are some of the common questions we can review, and how do you
navigate the pitfalls of bad hiring as a starter for ten? Come and find
out from an LRUG community Q&A to address some of the most commonly
asked questions, and get some starter tips on hiring humans, not
resources.
Your Qs will be A'd by Thayer Prime, of Team
Prime who started life in the tech
industry as a programmer twenty years ago, before turning to the dark
arts of recruitment. She's been lucky enough to work with the likes of
Sir Tim Berners-Lee, Jimmy Wales, Apple, Stripe and NASA to name just a
few. She has founded three successful companies herself, and often acts
as a strategic adviser to founders and C-level executives growing their
tech capacity within their organisations.
We're all at home so there's no post-meeting pub meetup, however a few
attendees often hang around on in the zoom call after the talks are over.
It's a pale-shadow of the pub meetup, so if you have some ideas about
doing something better do get in touch 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.