The December 2020 meeting of LRUG will be on Monday the 14th of December, from
6:20pm to 8:00pm (meeting starts at 6:30pm). We're still online. Stay
home. Protect the NHS.
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.
Matestack enables you to implement reactive web UIs in pure Ruby, skipping
ERB, HTML and JavaScript. In a live coding session, we will create a Twitter
clone using Matestack's core features from scratch!
For the good of the country, we have had to pause our normal post-LRUG pub time,
but typically a few folks will hang on in the zoom call after the talks are
over. We've been meaning to try the new self-selecting breakout rooms too, which
we could. But in general, the ongoing-pandemic after-meet experience could
still use some work: if you have any ideas on that, 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.
The November 2020 meeting of LRUG will be on Monday the 9th of November, from
6:20pm to 8:00pm (meeting starts at 6:30pm). In defiance of the new
lockdown, we will be holding the meeting in Trafalgar Squ… no, of course not.
We're still online. Stay home. Protect the NHS.
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.
Thanks to the beautiful people who responded to our cry for talks, we've another
two lined up for you this month, but we always need more. Email
talks@lrug.org, yeah? G'wan. It'd be a real help.
Everybody at LRUG probably uses open source software - unless they got lost on
the way to another meeting - but it often surprises me how few developers take
the extra step from using it, to contributing to (or releasing their own) open
source software projects. I'm going to talk about how I got involved in the
open source community, why I stay involved, and about my current open source
projects
Denny de la Haye has been a programmer for nearly 30 years
now - "although my ZX81 code is thankfully all lost in the mists of time (AKA
audio cassettes and thermal printer paper)", he says. He has spent most of the
last 4+ years writing Ruby, and most of the 15+ before that writing Perl. The
switch between the two was less traumatic than he expected, but it did lead to
starting another open source software project last year…
Convention over Kubernetes: (Almost) Configless Deploys with Kuby #
Rails' most well-known mantra is "convention over configuration," i.e. sane
defaults that limit the cognitive overhead of application development. It's
easy to learn and easy to build with. The development experience is
fantastic… right up until the point you want to deploy your app to
production. It's at that point that the hand-holding stops.
Heroku to the rescue, right? Just push your git repo to "heroku master" and
never think about deployment again! Heroku is a great option for many small
projects and the ease of deployment is exactly the kind of experience Rails
developers are used to. To quote Aaron Patterson: "but at what cost?" You're
tied to Heroku's stack and stuck within the limitations of their free tier.
Heroku's add-ons can get pretty expensive too if you decide to upgrade later
on.
How can we, but humble Rails devs, achieve the same seamless, turnkey
deployment experience affordably? Enter the Kuby gem, a
convention-over-configuration approach to deploying Rails apps using
industry-leading technologies. Come learn how, with almost no configuration,
you too can use Kuby to leverage Docker and Kubernetes to deploy your Rails
app cost-effectively on a variety of cloud platforms.
Cameron Dutro currently works on the Quip team
at Salesforce. He's been programming in Ruby and using Rails for ten years and
has held previous positions at Fluther, Twitter, and Lumos Labs. When he's not
reading about, using, or working on technology, Cameron can be found hiking in
the hills behind his house or hanging out at home with his wife, daughter, and
cat.
For the good of the country, we have had to pause our normal post-LRUG pub time,
but typically a few folks will hang on in the zoom call after the talks are
over. We've been meaning to try the new self-selecting breakout rooms too, which
we could. But inn general, the ongoing-pandemic after-meet experience could
still use some work: if you have any ideas on that, 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.
The October 2020 meeting of LRUG will be on Monday the 12th of October,
from 6:20pm to 8:00pm (meeting starts at 6:30pm). In keeping with
the times, our meeting will be online.
We'll run the meeting on our own zoom account, so make sure you have
the zoom client for your preferred device, or know how to attend via
the web.
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 two talks lined up for you this month. We also need more talks
for the rest of year, and beyond, so please get in touch on
talks@lrug.org if there's something you'd like to
say to LRUG.
What is a JSON Web Token (JWT) and why do you care? JWTs
are a stateless, standardized way to represent user data. This talk will
discuss why JWTs matter and the nuts and bolts of JWTs. We’ll also discuss
how you might use a JWT in your Rails or Ruby application.
Sometimes people have great backgrounds and great skills, but have trouble
getting hired because they didn't approach the tech test the way the
company wanted. As someone who reviews a lot of tech tests at work, I'm
going to explain some of the unwritten rules and expectations that you
might not know if you've been out of circulation or are just entering the
job market, and help you level up your tech test game.
A few of us usually hang out in the Zoom chat after the meeting. It only really
works with a handful of people though, so we're still on the lookout for
something else tha would work for more attendees. If you have any ideas on that,
do get in touch at organisers@lrug.org and we can
explore it together.
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 there's no pub or venue. Basically they are good rules to
generally live your life by.
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 September 2020 meeting of LRUG will be on Monday the 14th of September,
from 6:20pm to 8:00pm (meeting starts at 6:30pm). In keeping with
the times, our meeting will be online.
We'll run the meeting on our own zoom account, so make sure you have
the zoom client for your preferred device, or know how to attend via
the web.
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 two talks lined up for you this month. We also need more talks
for the rest of year, and beyond, so please get in touch on
talks@lrug.org if there's something you'd like to
say to LRUG.
It's not quite hanging our of drinks and food in a local pub, but a few
of us usally hang out in the Zoom chat after the meeting to chat. It only
really works with a handful of people though, so we're still on the
lookout for something else tha would work for more attendees. If you have
any ideas on that, do get in touch at
organisers@lrug.org and we can explore it
together.
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 there's no pub or venue.
Basically they are good rules to generally live your life by.
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 August 2020 (What? Already?!) meeting of LRUG will be on Monday the 10th of August,
from 6:20pm to 8:00pm (meeting starts at 6:30pm). Like last
month the venue this time is wherever you happen to be because it's
COMPLETELY VIRTUAL!
We'll run the meeting on our own zoom account, so make sure you have
the zoom client for your preferred device, or know how to attend via
the web.
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 two talks this month. We also need more
talks for the rest of year, so please get in touch on talks@lrug.org
if there's something you'd like to say to LRUG
Language doesn't matter: what makes a senior engineer? #
What makes a senior engineer? What other aspects of
being a senior engineer are as important, if not more important, than
knowing a programming language inside out. What things can you work on to
become or be a better senior engineer (that won't have a new framework out
by next week!). This is a set of lessons learned in a journey from self
taught front end developer to senior polyglot developer (via ruby).
Ethics are the principles of right and wrong that govern
our behaviour. Using examples from my experience, i'll share some tools
that you can use to understand ethical decisions and ways to help
ourselves and our team make the right choices.
Normally a few of us hang around in the Zoom chat after the meeting, but we're
still on the lookout for other things we might try. If you've got a good idea of
how to replicate the post-talk chats get in touch at
organisers@lrug.org and we'll see what we can do.
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 there's no pub or venue.
Basically they are good rules to generally live your life by.
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 2020 meeting of LRUG will be on Monday the 13th of July,
from 6:20pm to 8:00pm (meeting starts at 6:30pm). Like last
month the venue this time is wherever you happen to be because it's
COMPLETELY VIRTUAL!
We'll run the meeting on our own zoom account, so make sure you have
the zoom client for your preferred device, or know how to attend via
the web.
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 linked up so far for you this month. There's room
for more so please get in touch if you'd like to talk about
something. We also need more
talks for the rest of year, so please get in touch on talks@lrug.org
if there's something you'd like to say to LRUG
Devise is a great authentication solution and is standard in many Rails
applications. I want to look at 2 easy improvements to the default password
validation. Then let's see what it takes to implement bare bones two-factor
authentication using Devise and Warden.
This talk is a rambling rag-tag collection of software engineering and
problem-solving lessons learned over the course of mumble years as a
developer and now an engineering manager. It includes practical tips,
philosophical insights, or just advice that other people gave me that I
found helpful. These ideas have helped me be better at my job over the
years. They are tried and tested, things that I have actually done
throughout my career. They might or might not help you.
Nicky is an Engineering Manager at FutureLearn, providing management and support to the Technology Team. Offline, Nicky enjoys watching bad TV and learning new stuff: this year it's a serious sewing/dressmaking habit.
As I mentioned above, we've basically run out of offers to give talks. I can
certainly vamp for ten minutes about whether or not I care about using single or
double quotes for strings without any interpolation, but I think it's almost
certain that some of you have some thoughts or experiences that might be more
interesting.
Please get in touch on talks@lrug.org and we will take
it from there.
The kind folks at RubyConfBY have given us two
tickets to their conference to raffle to our attendess. The conference is going
to be held (online) on the 18th & 19th of July, between 2-6PM CET (so that's
1-5PM BST). They've got a great line up of very interesting talks, and of
course, it's never been easy or cheaper to attend a conference since there's no
travel or hotel costs to factor in. But you can reduce that cost to zero by
signing up to attend LRUG.
During the meeting, we'll run a raffle for all registered attendees and pick
two. And even if you don't win in the raffle, the organisers have arranged a
discount for LRUG members, which we'll share on the night.
Normally a few of us hang around in the Zoom chat after the meeting, but we're
still on the lookout for other things we might try. If you've got a good idea of
how to replicate the post-talk chats get in touch at
organisers@lrug.org and we'll see what we can do.
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 there's no pub or venue.
Basically they are good rules to generally live your life by.
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 2020 meeting of LRUG will be on Monday the 8th of June,
from 6:20pm to 8:00pm (meeting starts at 6:30pm). Like last
month the venue this time is wherever you happen to be because it's
COMPLETELY VIRTUAL!
We'll run the meeting on our own zoom account, so make sure you have
the zoom client for your preferred device, or know how to attend via
the web.
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 two talks for you this month. There's room for one
more lightning talk so get in touch if you'd like to talk about something for no more than 10 minutes. We need more
talks for the rest of year, so please get in touch on talks@lrug.org
if there's something you'd like to say to LRUG
Hanami, another Opinionated Rack-based Framework #
We present Hanami and its differences to Rails. Then
we show an integration case between a Hanami and a Rails project. Finally,
we close with a PR on the Hanami project.
Today Agile is the default choice for software development out there. Every
conference, book, or blog post is telling us we are doomed to fail if we
don’t follow this established convention. But isn't it surprising to think
that Agile is advocated as the right methodology for every possible company
doing software out there? Are we going to organize software development
exactly the same way if we are working for a startup, NASA, or FedEx? It
seems hard to believe. In this presentation, I will explore the mental
model to help you choose when you should (or sometimes should not) use
Agile using the lenses of risk management. My goal is to provide guidance
for the puzzled business owner, project manager, or software developer who
wants to pick what's right for their company or team.
Last time there was no afterwards, we just stopped the zoom meeting. That
felt a bit abrupt, if you've got a good idea of how to replicate the
post-talk chats get in touch at organisers@lrug.org
and we'll see what we can do.
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 there's no pub or venue.
Basically they are good rules to generally live your life by.
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 2020 meeting of LRUG will be on Monday the 11th of May,
from 6:20pm to 8:00pm (meeting starts at 6:30pm). Like last
month the venue this time is wherever you happen to be because it's
COMPLETELY VIRTUAL!
We'll run the meeting on our own zoom account, so make sure you have
the zoom client for your preferred device, or know how to attend via
the web.
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 two talks for you in May so far. There's room for at least one
more mid-length talk, or a couple of short ones. We constantly need more
talks for the rest of year, so please get in touch on talks@lrug.org
if there's something you'd like to say to LRUG
Comparing the speed and elegance of different computer languages using a Hamiltonian curve algorithm as the comparator #
My company (Trapeze) specialises in public transport including schedule
optimisation. Finding Hamiltonian curves is a sub-problem to the
travelling salesman problem and of the general problem of optimising
pickup and drop-offs in demand responsive public transport. This talk
will compare implementing a Hamiltonian curve finder in a number of
different languages. The talk looks both at the speed of the language
and the elegance. For Ruby, I compare a couple of different
implementations. Other languages that are compared are Elixir, Go,
Javascript, Java, C++, C# and Python.
The source code is in a public Github repository details of which I will
provide as part of my talk
Some folks prefer 'puts' to debugging with something like
pry-byebug, but I'm a huge fan of debuggers, particularly stepping
through my own code and the code of the many libraries we all rely on.
In combination with bundle open to insert breakpoints into the code of
gems being used in your stack, debugging can expose really tricky
dependency bugs, as I aim to demonstrate with one that I found in the
way different ruby HTTP libraries can interact.
Last time there was no afterwards, we just stopped the zoom meeting. That
felt a bit abrupt, if you've got a good idea of how to replicate the
post-talk chats get in touch at organisers@lrug.org
and we'll see what we can do.
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 there's no pub or venue.
Basically they are good rules to generally live your life by.
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 incase.
The April 2020 meeting of LRUG will be on Monday the 6th of April,
from 6:20pm to 8:00pm (meeting starts at 6:30pm). The venue this
month is provided by…
bzzzzt
vmmmmwwemmwmmmph
PhysicalProximityError: meetings of > 2 people are currently forbidden
That's right folks – while we all collectively do our part to battle COVID-19, LRUG too must adapt for this brave new world of staying the hell indoors.
The good news is that we've done some testing and we think we can hold a decent version of LRUG online, from the safety of our own respective homes. The very kind folks at Cleo have loaned us their generously-appointed Zoom account and we're going to try running the meeting using that this month. There are likely to still be a few rough edges while we learn to translate our super-polished absolutely-no-faffing-around-ever-with-laptops-and-projectors high-production-value process into this new medium, but we will get there in the end.
Hopefully you have some to hand. Or you could always nibble on that hoard of toilet paper? Anyway.
We've got two talks for you in April; we've got room for a third, and we desperately need more for the rest of year (coughtalks@lrug.orgcough), but anyway, where's what we've got so far:
We all know how valuable it is to keep the quality of your code high. Working on a high quality codebase is more enjoyable and enables us to deliver value much more effectively for our users and yet, time and again I hear engineers saying, “I am not allowed to spend sufficient time on code quality”.
This talk clarifies the value of maintaining a high quality codebase, gives you guidance on how to talk about this to help you get the support of your colleagues and managers for spending time on this and also outlines some key practices that will help you achieve this.
Afterwards… well, that's a good question. Obviously there's no pub, but we invite you instead to conjure up the image of a gently roaring fire, and perhaps to open a beer or other beverage while holding that image in your mind, and then think to yourself that it's really a wonder to be alive at all, even in strange times such as these, and really doesn't it demonstrate how much we all rely on each other, on our neighbours and colleagues and friends, and gosh darn it we shouldn't forget that when this is all over, that we truly do need each other, and we shouldn't take each other for granted, and dammit Billy I just gotta say it that I love you dude, I know I shoulda said it before all this, but I want to say it now so you know, you're a good friend Billy, you really are, and thanks for being there for me.
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 there's no pub or venue. Basically they are good rules to generally live your life by.
It's vital that you register because we will only be sending out the meeting connection details to those registered attendees. So keep your eyes peeled for an email in your inbox on the day.
Some of you may already be living your days in Zoom meetings but if not, and if you want a head start, you can make sure you have the Zoom client by visiting their download page.
Email has been around for a long time, predating even the Internet, and
despite the best efforts of big tech to monopolise our communications,
it's still the most popular way to for people to communicate online.
This ubiquity means it's a really easy wayf or Government to keep in
touch with us, but email is a tricky thing to manage, running
mailservers can be a faff, and email as a service solutions can be
expensive. In this talk I'll go through a potted history of email, talk
about a tool that the Government Digital Service have developed to make
email easier for goverment agencies, and a Ruby gem I've build to make
it even easier for Rails devs.
Story time! Here's the bug I found, how we determined it was a bug in
Rails 6, how we dealt with it including working around it and submitting
the bug report, and finally getting to remove our workaround once the
bug was fixed and the new Rails was installed :)
Giki Social Enterprise uses Ruby on Rails to help people live
sustainably. We'll talk about what we do and why Rails is such a good
framework for helping people to make sustainable and healthy choices.
I am going to tell you about the Ruby events in London that I am
organising such as the Ruby Hacknight
and Ruby London Jobs and
other events for the community that are the most common. I will also
mention different event formats which I have experienced and found
useful for different purposes.
We should be finished these talks by 8pm. Usually we head to a local pub
afterwards to talk about what we've just heard and get to know our fellow
attendees. We'll see what Makers suggest for which is their preferred
watering hole and keep you posted if we know in advance.
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.
Prior to attending you should familiarise yourself with our
README paying close attention to the code of
conduct which applies to
all attendees at the talks and afterwards in the pub.
The venue has a hard limit of 70 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.
Simply Business are going to make
some food and drink available to us during the meeting to help us stave
off hunger pangs while we are amazed by all the talks. Thanks again
Simply Business!
How to start an investigation into transitioning from a monolith to a
microservice architecture. A number of issues to consider before you
start and how to make a list of blockers on the way.
What does it mean to make a system observable? Too often this is translated
into simply installing technical tools to measure low-level concerns like
memory, CPU or background queues size. In this talk, I will present the
concept of Domain-Oriented Observability, explore how it affects the cost
of maintaining your system and finally show some of the tools and solutions
that can help you put it into practice.
Semantic Versioning, Ruby Versoning, and the forward march of progress #
Jon Rowe is going to tell us about how ruby
versioning interprets semantic versioning, and the problems that brings
for maintainers of projects like rspec that support multiple versions of
ruby.
It's important for all the engineers to realise that individually they are
able to help shape a company's culture, tech excellence, and tech direction.
There are various ways to achieve this, in this talk I'll present some of
the common options while focusing on creating communities of practice -
groups of people that meet with a common goal in mind and relevant to the
company's interest, both sponsored by leadership or started by engineers.
How I refactored my way into an open source codebase, starting from a
state of confusion and ending up contributing to mocha, and some things
I learned along the way.
These lightning talks should be finished by 8pm after which we'll go to a
local pub to talk about all the things we've heard. We'll defer to our
hosts for a suitable venue, and we'll make sure it does food for any who
may still be hungry.
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.
Prior to attending you should familiarise yourself with our
README paying close attention to the code of
conduct which applies to
all attendees at the talks and afterwards in the pub.
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.
Not only are GoCardless letting us into their offices to run is meeting,
they're also putting on some food and drink to get us through the evening.
Thanks again GoCardless!
Using Ruby to crunch the numbers, read tv captions and drive a 30m long
LED screens at The Open Golf Championships. A whistle stop tour of the
setup, the architecture and the code that goes into making something
like this work and what can go wrong!
Some time ago I stumbled across the header description for WAV files
and wondered, what if I took a file and calculated the appropriate WAV
file header for it, could I hear my data? Yes, you can. You probably
don't want to, but you can. You can do something similar with BMP and
MIDI files too!
RubyCritic provides a
report about code quality. You can run it locally to view how your
project is doing and what are the smelly spots. A way of getting sense
of how your code quality is evolving over time is by setting it up on
your CI and storing the reports artefacts.
We’d like to hear from people using ruby for something that is a bit out
of the ordinary. Mostly we’re probably all using ruby for building
websites, or for devops, but that’s not all ruby can do.
Some examples:
making music
generating graphics
interactive chatbots
games
etc…
So, what are you making ruby do that fits the bill? Or, what are you
using ruby for that doesn’t fit that bill, but also isn’t a standard
webapp? We'd love to hear about it, whatever it is. Show us what ruby
can do!
Our goal is to be finished exploring ruby's talents by 8pm, after which
we'll move to a nearby pub to talk about the talents on show and do a spot
of socialising. We'll take advice from GoCardless on which local pub will
best accommodate us and keep you posted if we know in advance.
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.
Prior to attending you should familiarise yourself with our
README paying close attention to the code of
conduct which applies to
all attendees at the talks and afterwards in the pub.
The venue has a hard limit of 50 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.