Greg Navis's Avatar

Greg Navis

@gregnavis

πŸ–₯ Fractional CTO, product designer, product engineer πŸ“’ Tweets about Ruby, Rails, PostgreSQL, TypeScript, Hotwire πŸ›  Creator of active_record_doctor

99
Followers
12
Following
71
Posts
27.02.2024
Joined
Posts Following

Latest posts by Greg Navis @gregnavis

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! πŸ™‡β€β™‚οΈ

01.10.2025 13:25 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

01.10.2025 13:25 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

01.10.2025 13:25 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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 πŸ‘‡πŸ»

01.10.2025 13:25 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Your experience must be very eye catching!

27.09.2025 18:40 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I'm releasing active_record_doctor 2.0!

24.09.2025 17:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 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.

12.09.2025 08:44 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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?

11.09.2025 18:05 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Add support for auto backup preconditions Β· gregnavis/cyborg@66f8382 In certain cases it doesn't make sense to proceed with an automated backup unless a precondition is met. A great example is a storage server that doesn't have its storage file system mounte...

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...

06.09.2025 10:35 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - gregnavis/cyborg: POSIX-compatible and user-friendly frontend for borg POSIX-compatible and user-friendly frontend for borg - gregnavis/cyborg

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.

06.09.2025 09:12 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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! ✨

05.09.2025 09:18 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

πŸ‘‹πŸ» 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.

02.09.2025 16:24 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Fight Chat Control - Protect Digital Privacy in the EU Learn about the EU Chat Control proposal and contact your representatives to protect digital privacy and encryption.

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

25.08.2025 09:11 πŸ‘ 0 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
Open Props: sub-atomic styles Open source CSS custom properties to help accelerate adaptive and consistent design. Available from a CDN or NPM, as CSS or Javascript.

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.

17.08.2025 11:01 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Looks great! Sound is good, but I think there's some background noise.

08.08.2025 17:38 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

I'm experimenting with a new source code layout. What do you think?

07.08.2025 11:06 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

07.08.2025 10:38 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
70 Companies You Didn't Know Were Using Rails in 2025 For twenty-two years, thoughtbot has helped companies and organizations of...

@thoughtbot.com has just published a wonderful list of 70 companies on Rails. 😍

thoughtbot.com/blog/70-comp...

06.08.2025 11:35 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

02.08.2025 11:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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.

02.08.2025 11:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

It's this time of month again! Head over to whoishiring.jobs if you're looking for a new role.

01.08.2025 18:53 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - gregnavis/pocus: Simple server provisioning via POSIX-shell Simple server provisioning via POSIX-shell. Contribute to gregnavis/pocus development by creating an account on GitHub.

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...

13.07.2025 07:15 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
whoishiring.jobs – find you dream tech startup job Find your dream tech startup job with whoishiring.jobs

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.

13.07.2025 06:43 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

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!

13.07.2025 05:15 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Ugh, that's a surprising perspective. I'm wondering how someone arrived at that idea.

12.07.2025 12:24 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I think the concern is more about keeping prompts and responses private, not necessarily training.

12.07.2025 11:55 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Happy 4th of July! πŸ‡ΊπŸ‡Έ

04.07.2025 07:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
CVE - CVE-2025-32463 The mission of the CVEβ„’ Program is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities.

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...

01.07.2025 19:13 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
GitHub - gregnavis/Slice.spoon: A Pomodoro timer for Hammerspoon A Pomodoro timer for Hammerspoon. Contribute to gregnavis/Slice.spoon development by creating an account on GitHub.

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...

19.05.2025 07:53 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

I've told you it's coming!

28.04.2025 06:28 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0