8. missing_foreign_keys uses belongs_to to identify missing foreign key constraints.
9. missing_presence_validation allows explicit presence validators defined on associations.
10. Lot's of bug fixes and documentation updates.
Thanks to all contributors! πββοΈ
Posts by Greg Navis
6. missing_presence_validation supports polymorphic associations, ignores columns with functional default values, allows exclusion/inclusion validators as alternatives.
7. incorrect_length_validation allows exclusion/inclusion validators as alternatives.
1. table_without_timestamps detector.
2. Support for SQLite.
3. missing_non_null_constraint checks timestamps columns too.
4. Only integer and UUID columns are considered foreign keys.
5. Support for destroy_async in missign_foreign_keys.
I had a bike accident on Friday and spent the weekend with a concussion. I'm better now, so I'd like to announce ...
active_record_doctor 2, nicknamed Bouncing Brain π§
Interested in learning what's new? Read on below ππ»
Your experience must be very eye catching!
I'm releasing active_record_doctor 2.0!
I built my own simple deployment tool that allows me to deploy my Rails application to production in 18 seconds. It's based on POSIX shell and Ruby.
My wife's iPhone 13 mini is driving me nuts!
1. eSIM stopped working and cannot be removed - it gets stuck on "Removing".
2. I can't update to iOS 18.6 - gets stuck on "Verifying update".
Any tips?
I've just pushed the first improvement to cyborg: checking for backup preconditions.
I needed that to ensure my home lab server has its encrypted ZFS partition mounted, as otherwise I'd be backing up an empty directory.
github.com/gregnavis/cy...
cyborg is live! If you're looking for a tool to make encrypted backups easy I suggest you take a look at github.com/gregnavis/cy....
I use it to back up my Mac Mini, my FreeBSD home server, and my OpenBSD app server.
I'm going to release a small POSIX shell script today called cyborg. It's a thin wrapper around borg that makes it easy to run backups configured via configuration files.
I use it on MacOS, FreeBSD, and OpenBSD: that's the beauty of POSIX! β¨
ππ» I'm available for work and can help with:
1οΈβ£ Solving complex software engineering problems, especially in Rails apps.
or
2οΈβ£ Turning product ideas into working teams and code - from pre-seed to series A.
If it sounds like I could help you drop me a DM.
If you live in the EU then you need to be aware the EU is considering requiring electronic communications surveillance. If you don't like mass indiscriminate spying then I urge you to take action:
fightchatcontrol.eu
I started using open-props.style and really like it: vanilla CSS is very powerful, and open-props saves you time by providing design tokens.
Looks great! Sound is good, but I think there's some background noise.
I'm experimenting with a new source code layout. What do you think?
Yes, seems they didn't do their research correctly. Someone else pointed these two (and a few other) cases out in the Ruby on Rails Slack.
@thoughtbot.com has just published a wonderful list of 70 companies on Rails. π
thoughtbot.com/blog/70-comp...
What makes it funnier is it produces elaborate explanations that are completely wrong, I correct in one sentence, it changes it mind and immediately responds with another elaborate explanation, often hiding another reasoning errors.
I'm test driving @zed.dev (per @hacktec.bsky.social's recommendation), including AI coding via Claude. It's sooo apparent that AI has absolutely zero reasoning skills.
It's this time of month again! Head over to whoishiring.jobs if you're looking for a new role.
I also pushed an update to pocus: it allows you to cast a subset of spells. If you're looking for a lightweight YAML-free alternative to Ansible then have a look.
Man, I missed working on open source so much ...
github.com/gregnavis/po...
Success! A new version of whoishiring.jobs has just been deployed. I had to reconfigure Solid Queue and now it's properly picking up new jobs.
I'm so excited to make my own production console work on OpenBSD! It's a matter of running `bin/rails production:console` to connect Heroku-style. So satisfying!
Ugh, that's a surprising perspective. I'm wondering how someone arrived at that idea.
I think the concern is more about keeping prompts and responses private, not necessarily training.
Happy 4th of July! πΊπΈ
A security vulnerability in sudo allows users to obtain root privileges. sudo is 20k lines of C. My recommendation is to replace it with doas - 630 lines of C + 290 lines of YACC.
cve.mitre.org/cgi-bin/cven...
I've just published something: Slice.spoon. It's a Pomodoro timer for Hammerspoon that's minimal, configurable, and persistent in asking you to use it π
It's a newborn, so no README, but the code is clear.
github.com/gregnavis/Sl...
I've told you it's coming!