Microposts
This is a log of learning and collected notes and thoughts along the way. It’s public, but that doesn’t mean it’s likely to be interesting to many people.
-
-
- Migrated this site from Sprockets to Propshaft (my asset stuff is so simple there was nothing to really report).
Tags:
-
- Watched Peter Zhu’s talk at Rails World 2023—should give this autotuner thing a play.
Tags:
- I’ve written a nice little gem to generate an iCalendar feed of birthdays from CardDAV contacts. Very rewarding little self-contained project.
Tags:
- Caved to the podcast/YouTube ads and am using Brilliant to brush up on my maths. Foundations first then on to Calculus and beyond.
Tags:
- Discovered that Active Storage variants by default will strip the animation from any GIF.
The solution is to pass loader: { page: nil } to variant, and also to preprocess the image with a call to convert --coalesce.Tags:
- Opened my first Rails PR (to add some documentation). Hopefully it gets merged.
Tags:
- Set up virus scanning on Active storage attachments with Clamby. Might be worth a quick blog post or PR to their docs as there were a couple of gotchas.
Tags:
- Wrote a simple feature flagging gem. Its nice how little functionality this needs to be useful.
https://rubygems.org/gems/flaggle_rockTags:
- Spent some time today Rubocopping a legacy application. Think I had a fairly good workflow that will be worth writing up.
Tags:
-
- Watched the Rails World talk on deploying Active Record Encryption at GitHub.
Tags:
- Added a private section to this site to track my health and try and find some patterns in what causes my CFS flareups. Currently it's just some CRUD stuff, but I plan to build this out to have some pointlessly flashy graphs &c.
Tags:
- I've gotten a lot better at diving into other people's source code (e.g. gems) when debugging, but note to self to use `source_location` and `bundle show` to speed up this process.
Tags:
- Finished reading the RSpec book yesterday. I’m not sure I learned much on a technical level but I have a slightly deeper understanding and respect for the design choices that went into making it what it is, I think.
Not that I like it any more than I did.Tags:
- vi things I need to get in my head:
- In a search and replace, & is the matched text (so you can, for example, reinsert it with extra text)
- /d at the end of a search string will delete the matched line
- Match groups are referenced with \n (pretty standard)
- :.,+5 matches the next five lines
- :g!/Paid/s/$/ Overdue (appends Overdue to all lines not containing Paid)
- /m$ moves a line to the end of the file
Tags:
- This was a good talk by Jez Humble. Of particular note was HP going from spending ~5% to ~40% of time on feature development by investing ~25% of their time on test automation.
Tags:
- Note to self that I should learn mocha more thoroughly. The test failure blocking my Kamal PR is mocha-related, and it seems to be a solid addition to a minitest-based test suite.
Tags:
- Writing a bunch of specs to both thoroughly test and document some API endpoints is giving me a good chance to test my testing abilities. Still struggling to decide on where the limits should be on what a spec is testing, but honestly I don't think there's a single right answer to that in many cases.
Tags:
- I really need to remember to use --only-failures more often when debugging RSpec specs.
Tags:
- Writing the Jobs plugin for Redmine is the first time I've got to use some Ruby features in anger-the ability to reopen classes and throw a bunch more code inside is incredibly powerful, and means Redmine's plugin system doesn't need to do a huge amount to let you do... pretty much anything.
Tags:
- Got my second PR up for Kamal to add in a docker-setup hook. Got a pesky failing test though 🫤
Tags:
- Good article by Rouan Wilsenach on an approach that might be a good step towards the CI vision I've outlined.
Tags: