Tim Tilberg

999 posts

Tim Tilberg banner
Tim Tilberg

Tim Tilberg

@timtilberg

A beatster from nor-easter... assuming you were in Minneapolis... And not going too far north east. I use .rb, .py and .js to power business intelligence apps.

Duluth, MN Katılım Şubat 2008
233 Takip Edilen154 Takipçiler
Tim Tilberg retweetledi
DHH
DHH@dhh·
Ruby on Rails is probably the most token-efficient way to write a real web app together with agents that doesn't immediately fall apart with security holes and unscalable decisions. rubyonrails.org
DHH tweet media
English
87
100
1.2K
78K
Tim Tilberg
Tim Tilberg@timtilberg·
@jeremysmithco I’ll add, I’m using Claude code, not copilot. I don’t know if or how much that matters. I’ve been really surprised at how good Claude is at getting going with very little info. Sticking to vanilla rails conventions feels like it may be paying dividends.
English
1
0
1
33
Tim Tilberg
Tim Tilberg@timtilberg·
@jeremysmithco Well, I mean files like Claude.md, agents.md, product design docs, etc. I’ve been working in a project very successfully with none of it, which contradicts common wisdom. But I’ve seen a handful of rails people describe a similar sentiment.
English
1
0
1
24
Jeremy Smith
Jeremy Smith@jeremysmithco·
I'm finding Copilot PR reviews to currently be more trouble than they're worth. Just fighting too many false positives like this. The belongs_to is required by default, meaning it's presence will already be validated.
Jeremy Smith tweet media
English
4
0
6
835
Tim Tilberg
Tim Tilberg@timtilberg·
@jeremysmithco @jeremysmithco We definitely hit those same type of false positives, but it usually highlights a few notes worth consideration. I’m curious what extra context your review session gets. I’ve been feeling like less is more in my current project.
English
1
0
1
8
Tim Tilberg
Tim Tilberg@timtilberg·
@jeremysmithco I’ve had a mixed bag, but generally slightly positive. It’s surprising because we aren’t adding any extra context with claude files, and there’s not all the robust PRD docs, etc. Most strangely, the review prompt is literally just “Review this branch against main, output in MD”
English
1
0
1
17
Tim Tilberg
Tim Tilberg@timtilberg·
@ifthencarl @dhh @heyhey Filling out a spreadsheet of 30,000 things to check after deploying to production and emailing it to Kef to review.
English
0
0
0
13
DHH
DHH@dhh·
We managed to optimize this even further with a few select tweaks. Now @heyhey's 30K-assertion test suite can run in THIRTY SECONDS on a fast local Linux machine. These are tests hitting the database! Powering a major SaaS app making millions. Ruby is so fast.
DHH tweet media
DHH@dhh

We now have the entire test suite for @heyhey running in less than a minute on Linux with an AMD 395+! 30,000 assertions. Hitting the real database. Gotta love the speed of the vanilla Rails test suite performance (minitest+fixtures)🤘

English
26
12
385
106.8K
Tim Tilberg
Tim Tilberg@timtilberg·
@godwincodes @dhh @igor_alexandrov @heyhey @rspec @claudeai When I was a ruby noobie, I was confused by the zealotry of this too. I spent a lot of time feeling bad that I couldn't figure out why people preferred it so strongly. I do think the rspec runner is generally pretty dope out of the box though.
English
0
0
1
40
Igor Alexandrov
Igor Alexandrov@igor_alexandrov·
His every post about how fast the @heyhey test suit is makes me envious. Our @rspec suite with 10187 examples (which is comparable in size) takes 20 minutes to run. We are in the middle of the process of migrating from factories to fixtures (thanks to @claudeai for making this possible). And I hope we will be able to migrate to Minitest by the end of the year. Good luck to us :)
DHH@dhh

We managed to optimize this even further with a few select tweaks. Now @heyhey's 30K-assertion test suite can run in THIRTY SECONDS on a fast local Linux machine. These are tests hitting the database! Powering a major SaaS app making millions. Ruby is so fast.

English
12
1
81
30.2K
Tim Tilberg
Tim Tilberg@timtilberg·
@Zain_Wania @dhh @igor_alexandrov @heyhey @rspec @claudeai In short: Rails with Minitest runs each test in a transaction, so they all have an isolated view of the db. With fixtures, you create a useful initial state at the beginning of the test run that all tests get to start from instead of creating fresh DB state for each test.
English
0
0
1
26
Tim Tilberg
Tim Tilberg@timtilberg·
@jorgemanru @dhh We're using Rails more widely in our company on a full team now, but have issues managing schema migration timing between devs and branches. Lately you guys have been pretty open-book on how 37s works. Any chance we can hear how you manage migrations on a team?
English
0
0
3
30
Tim Tilberg
Tim Tilberg@timtilberg·
@jnunemaker I’ve gone back and forth about what kind of context to create (Claude.md, skills, agents, etc). Sometimes I feel like less is more in Rails. But, managing a team of Claude, surely you’re leveraging those kind of context tools. What balance do you use?
English
1
0
0
89
Robby Russell
Robby Russell@robbyrussell·
Unpopular opinion: The best thing about a 16-year-old Rails app is that it's survived 16 years of production use. That's not technical debt. That's battle-tested code.
English
16
4
214
9.8K
Ruby on Rails
Ruby on Rails@rails·
Rails Core member @fxn presented the award to @marcoroth_ at the Rails Höck meetup in Switzerland today.
Ruby on Rails tweet media
English
5
12
128
6.3K
Ruby on Rails
Ruby on Rails@rails·
Congratulations @marcoroth_! The Rails Core team has announced Marco as the 2025 Rails Luminary. The Luminary award exists to celebrate those in the community who have significantly advanced Rails for the benefit of all, through contributions, gems, ideas, or knowledge-sharing, and Marco ticked all of those boxes this year. Read the full announcement here: rubyonrails.org/2025/12/17/mar…
Ruby on Rails tweet media
English
29
29
257
63.2K
Tim Tilberg
Tim Tilberg@timtilberg·
@zilasino Yes. The context is “market definitions” that get registered to customize how data is processed, and each type is essentially a strategy pattern implementation. It feels pretty good!
English
0
0
0
52
Zil N
Zil N@zilasino·
Single Table Inheritance (STI): Have you ever used it and not regretted it later?
English
7
0
9
1.4K
Tim Tilberg
Tim Tilberg@timtilberg·
Upgraded to Rails 8.1 and was exploring `bin/ci`. Tests took 6X longer to run in the new CI tooling. It turns out the env var `CI` gets set to true in the Ruby class, triggering eager loading. I'd prefer that in `bin/ci` instead. Hard to find difference. #L57" target="_blank" rel="nofollow noopener">github.com/rails/rails/bl…
English
0
0
1
29
Tim Tilberg
Tim Tilberg@timtilberg·
@realdoomleika @dhh The most beautiful thing about SQLite’s is the dude is like: take it or leave it, but I think this leads to happiness.
English
0
0
1
34
doomleika.zstd
doomleika.zstd@realdoomleika·
@dhh I still remember SQLite got the flamme because the creator is a Christian and said most inoffensive thing in their 'CoC' like 'wish you do no evil'. Turns out boomer Christian have better man most of newer age of dev news.ycombinator.com/item?id=344776…
English
1
2
4
755
DHH
DHH@dhh·
Watching the Omarchy community reject the tired trojan CoC horse of these insufferable and intolerant nut jobs before I even get to see the issue is 😍 github.com/basecamp/omarc…
English
97
68
2.2K
85.6K
Tim Tilberg
Tim Tilberg@timtilberg·
@dwaynebradley70 @dhh @_vojto @37signals @usgraphics I’ve really been into ibm-plex(-mono) myself for all the interface, it’s sweet. Wish I could figure out how to style the “file edit view” menus though. Changing everything in font config didn’t do the trick.
English
0
0
0
50
DHH
DHH@dhh·
Gotta love this super cool appreciation effect on the Hyprland homepage for our @37signals platinum sponsorship of the project! 😍 hypr.land
English
7
6
311
125.7K
Tim Tilberg
Tim Tilberg@timtilberg·
@dhh You've mentioned you are encouraging new devs at 37s to run Omarchy -- do you have thoughts on alternatives to the Kandji situation yet? This has been on my mind since our company shifted to managed devices a couple of years ago. Less easy to "just use what you like".
English
0
0
1
41
Jason Charnes
Jason Charnes@jasoncharnes·
About to scale this rails at scale event
Jason Charnes tweet media
English
1
0
18
1.5K
Tim Tilberg
Tim Tilberg@timtilberg·
@brendanwb Make sure to rollback any migrations that were created by generate before you destroy, or you’ll have a complicated minute!
English
1
0
3
25
Brendan Buckingham
Brendan Buckingham@brendanwb·
Friendly reminder for any Rails devs that you can undo any rails generated code by replacing `generate` with `destroy`. So `rails generate model user` becomes `rails destroy model user`. This is one I don't use often, and as a result never remember the syntax right away.
English
2
1
4
433
Tim Tilberg
Tim Tilberg@timtilberg·
I’ve been doing Ruby in Windsurf for certain tasks for about a year now. A few months ago it became worse than useless: it’s constantly taking time away from me. Today I finally correlated it to the gpt4o model switch. Went back to Claude Sonnet 3.7, and it’s magic again.
English
0
0
0
42