Josh Brown
@joshantbrown.com
580 followers 340 following 71 posts
Product Engineer. Ruby / Hotwire. Aspiring polymath; designer, developer, writer, maker, creator, gamer and aviator. Occasionally stream on Twitch and YouTube.
Posts Media Videos Starter Packs
That’s the second stop of the #rubytriathlon over. @friendlyrb.com was amazing, such a welcoming and inclusive conference that lives up to its name. Looking forward to @euruko.org this week!
Had such a great time at Rails World! Great to spend time with friends and so many great announcements for RoR. Back on the rails again now though for stop 2 @friendlyrb.com next week.
This is amazing. Absolutely huge thanks to @marcoroth.dev 🙏
At Rails World 2025, I introduced ReActionView, an initiative to explore what's possible in the Rails view layer for 2025 and beyond.

As part of this, I announced Herb::Engine, an ActionView-compatible ERB engine built on top of the HTML-aware Herb Parser.

#RailsWorld2025
Time to go! 3 weeks of travel and conferences as part of the #RubyTriathlon with much of it on rails 🚂
Looking forward to doing this next month! I should probably figure out how I’m travelling between them all though 😅
🏆 RUBY TRIATHLON 2025
Started in 2023 - attend 3 conferences in 3 weeks:
• @railsworld
• @friendlyrb
• @euruko

9 of us did it in 2023, happened again in 2024. Ready for the ultimate Ruby adventure? 🏃‍♂️
Wait, there’s actual running involved too? 👀 I was planning on bringing a gym kit anyway so I’d be down to join any runs!
Ticket has been acquired! Looking forward to this!

Just need to secure tickets to Rails World, and EuRuKo to partake in the www.rubytriathlon.com 👀
Who's ready for Friendly.rb '25?

- 🎟️ Tickets available
- 🎤 You may submit your Call for Paper
- 🏔️ Activity announced
- 😱 The first batch of speakers announced
- 💪 Sponsorship opportunities available
- 🎲 Surprises in progress

friendlyrb.com
Friendly.rb - Your friendy European Ruby conference
With a focus on community, Friendly.rb keeps it cozy with 100-ish attendees and the some of the best European speakers.
friendlyrb.com
Okay, now I’m very interested to see this! 👀 this looks very nice!
I could probably write a whole post on each principle, they've all had a major influence on me at some point, but these were just a few that often strongly resonate on reflection.

agilemanifesto.org/principles.h...
Principles behind the Agile Manifesto
agilemanifesto.org
"Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done."

Adopting the tools of Shape Up and defining work at the right level of detail (not over/under shaped) has been the best way I've found to achieve this.
"Simplicity--the art of maximizing the amount
of work not done--is essential."

This one has honestly saved me and teams I've worked with more times than I could count. Don't build things you don't need. Don't build overly complicated things.
"Working software is the primary measure of progress."

If you're giving a status update, show the darn thing, working or not. Always a little challenging if you're doing a refactor, or something particularly data/backend focused, but do it anyway.
Occasionally I find myself reflecting on the Principles behind the Agile Manifesto - and it always surprises me just how much they've formed a foundational basis for my own product/software development philosophies that continue to provide value.

Here's a couple that I find particularly of note: 🧵
TIL. Thank you. 🙏
Nice! Tailwind v4 beta is great, I've been building a new app with it recently. It's nice being able to actually use CSS along with all the power of Tailwind.
Medium used to be so good! But yeah, if I see a Medium post today I mostly avoid it. If I do click through I usually get hit with a paywall and abandon at that point.
Either that or name the predicate method differently to something like:

all_access_previously_became_true?

But to your point in the post, I’m not sure that makes things any better.
Good post!

I feel like, if I was writing the original code, I probably would have put the conditional on the after_save_commit hook - as a lambda though rather than a predicate method of a similar name.

Easier to see the side effects and their triggers in one place then.
I like this, reminds me of Christopher Alexander’s 15 fundamental properties but much simpler.

I feel like the 15 properties probably take this a level further though by exploring the relationships between CRAP.
Status enums are a slippery slope

At some point you’ll want to know when something reached a certain status, or you’ll have some combination of statuses that have some special meaning, and it spawns complexity

Nullable dates work much better. If you must have a status, consider a status model
Status enums like this in Rails apps are almost always a mistake. This would be much better modelled as nullable dates — created_at, started_at, completed_at, delivered_at, paid_at, cancelled_at. You can then use scopes to select where null or where not null.
AeroSapce is great! I've been using it for a few months now. I used Amethyst before but it was a little clunky with multiple monitors, whereas I rarely have any issues with AeroSpace.
It’s Ruby! I love the elegance of it, super fun to work with.
Day 5 of #AdventOfCode, no fancy methods today, solution feels somewhat noddy but I like how the page ordering came together in the end with passing an array of dependent indexes to sort by.
A few years ago Ryan Singer did a pretty good primer on Christopher Alexander’s work in a live steam. I’m not sure it really covered this book specifically but it was a pretty good summary for anyone getting started.
vimeo.com/491222729
Christopher Alexander: A Primer
Christopher Alexander’s work is hard to get into. He’s written over 15 books, and there isn't one that serves as a general intro or overview for…
vimeo.com