Weeknotes 53
3rd July, 2022
“Continuously stream”
-
I’m trying out difftastic on the recommendation of a colleague.
Difftastic is a structural diff tool that understands syntax. It supports over 20 programming languages and when it works, it’s fantastic.
Still evaluating/getting used to it.
-
We started watching Strangers Things and have made it through 2 series so far. I like it. I think I’ve seen Series 1 before but have absolutely no recollection of it so it has been brand new to me.
-
Brighton Ruby was this week and I had forgotten how to conference. The last one was in 2019.
Andy asked everyone how many Brighton Ruby’s they’d been to, and I had no idea at the time, so when I got home I double checked. Turns out, all seven of them 😮. The first one being in 2014 – doesn’t time fly. Stop it, Time.
I managed to catch a cold just before the conference so that I was at peak cold during the day itself. Well done, me. Still, it was nice to be back and it’s clear that the appetite for a Ruby conference in the UK is still going strong.
Highlights for me were:
-
Joel Hawksley from GitHub spoke about design systems and CSS in Breaking up with the bundle. As you’d expect GitHub has a lot of CSS, and managing it is quite a task.
CSS at scale is a hard problem, and one technique they used was to write tests that outputted the computed styles for a component, and wrote assertions against them – neat stuff.
-
Instance variables by Jemma Issroff was very interesting. It’s good to know there is still a lot of work, using decade-old ideas, going on to improve Ruby at the levels which I hardly ever see or deal with.
-
Emma Barnes gave a great talk with a key message that working code is the best code, and that you never know the context under which it was written. Very well delivered.
-
John Cinnamond gave a talk with some examples of the
Maybe
monad using Haskell code. It reminded of my recent exposure to Rust with it’s Option and Result types, and that I should try out some Haskell. -
Tom Stuart’s talk on Ruby pattern matching has definitely made me want to start using it in my own code. I was never compelled to try it before. Having used Elixir’s pattern matching a bit it was not very exciting in comparison. But it’s what we have, and Tom convinced me I should try it out. I’m pretty sure the “experimental” warnings that Ruby emits will have put an awful lot of people off, including me.
Overall a great conference. I do hope it returns to the Dome next year if there is enough interest, but I totally understand why the venue was different this year.
-
-
First weeknotes with nested bullets – that’s exciting.
-
I only worked 2 days this week, but it sure didn’t feel like it. Conference going is tiring, so I don’t feel like I’ve had 3 days off work.
-
I keep hearing interesting things about SQLite. One of those things was the Litestream project by Ben Johnson on Thinking Elixir episode 101, which allows SQLite to be replicated across servers, and can continuously stream backups to cloud storage.
Continuously stream SQLite changes to AWS S3, Azure Blob Storage, Google Cloud Storage, SFTP, or NFS. Quickly recover to the point of failure if your server goes down.
Litestream was recently acquired by Fly.io, who are seemingly keen to deploy SQLite closer to users. Seems like a very good fit.
Given the right use-case, I would definitely consider SQLite in the future. I wonder how many Rails apps really need Postgres or MySQL and if they could be quite happy using SQLite?
I suspect SQLite powers a lot of things we use every day that are unacknowledged.
-
I forgot that I bought a RGB Knob in a group buy so it was a nice surprise when I got a shipping notification for it! It arrived early this week. As a piece of hardware, it’s a lovely thing. As a useful device, I’m not so sure, but I’m still playing around with it.
-
Sadly, I have to agree with a lot of these points, via Peter Solnica.
Ruby’s documentation is so far behind Elixir and Rust. It’s actively bad in a lot of cases, and, of course, any criticism is met with the usual “open a PR” response.
I still like Ruby a lot, but there are other things out there, and some of them are better.
-
This might be handy if you need to match UUIDs in tests – RSpec matcher for UUIDs. Saves reinventing the wheel each time.
it { is_expected.to be_a_uuid }
-
The Birth & Death of JavaScript by Gary Bernhardt – I will never get tired of this talk. I should re-watch every year.