Ryan Brunner

429 posts

Ryan Brunner banner
Ryan Brunner

Ryan Brunner

@ryanbrunner

CTO at @supercast, ruby developer, husband, cook, infrequent Twitter profile updater and #hamont local.

Toronto, Ontario 가입일 Mayıs 2008
349 팔로잉354 팔로워
Ryan Brunner
Ryan Brunner@ryanbrunner·
@BilalBudhani Background jobs and migrations are two things that just seem natural and commonplace for Rails shops and seem to be complex ad-hoc messes for other stacks.
English
0
0
3
238
Bilal
Bilal@BilalBudhani·
Thank you GoodJob, Sidekiq & numerous other Ruby on Rails gems for providing us with all the necessary tools for running & scaling background jobs. The folks in other ecosystem has to rely on third-party for tools that are backed into the gems.
Wilson Wilson@euboid

If you're setting up long running jobs, you probably don't need Trigger, Inngest or Upstash... It turns out, you can build a really great queue system with world-class observability using... BullMQ + dashboards w/ @AxiomFM or similar.

English
7
3
145
14.2K
Ryan Brunner
Ryan Brunner@ryanbrunner·
@LaughinOutLoudr @emcousin @bradgessler Even outside of potential flakiness, having your test setup be "rollback a transaction" vs. "build the test DB environment from scratch" will always be way, way faster.
English
0
0
2
27
Laughing Louder
Laughing Louder@LaughinOutLoudr·
@emcousin @bradgessler This… factories in parallel end up causing all sorts of flakiness even when they’re in their own database they’ll end up clashing database ids or other unique constraints
English
1
0
0
68
Brad Gessler
Brad Gessler@bradgessler·
Is there a reason RSpec doesn't run this fast by default? I'm aware of the `parallel_tests` gem, but I'm unclear on whether or not there are issues for making this a default runner mode for RSpec.
DHH@dhh

The Fizzy test suite runs in UNDER FOUR SECONDS! Nearly 2,500 assertions. The magic is to lean hard on vanilla Rails fixtures and parallel test runners. Not only is this blazingly fast, but it's also achingly beautiful. github.com/basecamp/fizzy…

English
6
0
25
11K
Ryan Brunner
Ryan Brunner@ryanbrunner·
@zilasino I have Rubocop suggestions highlighted, but I don't fail a build or require that Rubocop passes. A lot of the default settings can harm readability IMO in some cases and I find comment disabling noisy.
English
1
0
0
187
Zil N
Zil N@zilasino·
Do you lint your Ruby code? (Rubocop fans, this is your moment.)
English
14
0
18
2.8K
nard
nard@costanzahands·
@levelsio @LarryVelez its not about being antisocial it’s about cost reduction. A model like this would also allow for variable pricing based on demand and length of stay. there’s a lot of benefit to this concept.
English
2
0
0
1K
@levelsio
@levelsio@levelsio·
I'd just create an entirely new hotel chain No front desk, no lobby Payment and booking via app only Room keys via Apple / Android Wallet Hourly rates Coworking in building Powerful AC in every room and space Only cleaning staff
houssine@codehacker

@levelsio if you're going to start a startup to compete against booking and Airbnb what would you build and how will you market it ?

English
1.6K
162
7.9K
3.1M
Ryan Brunner
Ryan Brunner@ryanbrunner·
@levelsio @LarryVelez Lots and lots of reasons that the app works but not for a particular user, and 99% of the time that particular user isn't going to appreciate the distinction of "doesn't work for specifically you", and also is highly emotionally incentivized to review you.
English
1
0
2
225
@levelsio
@levelsio@levelsio·
@LarryVelez The app should work Just like iOS should always work and usually does etc
English
87
0
241
121.5K
Ryan Brunner
Ryan Brunner@ryanbrunner·
@_swanson Definitely heredocs (the <<~WHATEVER format). Editors will often have formatting highlights for things like SQL and markdown in them and it's a nice reminder as to what the 'format' of the string is.
English
0
0
0
172
matt swanson 😈
matt swanson 😈@_swanson·
One of the unexpected thing about LLMs is that you end up writing huge chunks of text in your source code (this was not something we did much before). Ruby has like 5000 ways to write multi-line strings. What is your preferred method?
English
8
1
16
4.2K
Ryan Brunner
Ryan Brunner@ryanbrunner·
@zilasino Sidekiq, but with ActiveJob as an API. If I was starting something new I'd consider Solid Queue, but it's the sort of infrastructure thing where it's there and doesn't cause me any problems so I have no big reason to switch.
English
0
0
2
74
Zil N
Zil N@zilasino·
Rails ops pulse check: Sidekiq, ActiveJob, or Que — which do you actually run in production and one reason you stuck with it?
English
24
2
25
4.8K
Ryan Brunner
Ryan Brunner@ryanbrunner·
@zilasino Different tools for different situations. I will say though that service objects (at least the ones where the entire API is a call function with arguments) have been the source of more headaches than concerns for me though.
English
0
0
0
142
Zil N
Zil N@zilasino·
Ruby devs: Service objects or Concerns — which one has saved you the most headaches? Reply with 🚀 for Service or 🧩 for Concern and add one sentence why.
English
15
1
33
4.4K
Ryan Brunner
Ryan Brunner@ryanbrunner·
@thomasrice_au @noverloop @dhh I think that's fine, I just think if you're renaming branches to master just to "own the left" or whatever that's the same degree of virtue signalling BS.
English
0
0
2
20
DHH
DHH@dhh·
Now that the wheels have fallen off the woke regime in tech, we'd be smart to offer amnesty to those who got caught up in it. Be the counter force to the purity purges that plague that side. Accept earnest apologies, embrace the fallen, and forgive those who trespass against us.
English
260
255
5.5K
372.1K
Ryan Brunner
Ryan Brunner@ryanbrunner·
@noverloop @dhh I thought the argument against the move was that it would be meaningless effort? Wouldn't the switch back be equally as meaningless? I don't recall anyone ever saying that 'main' was a BAD branch name, just that developers time would better be spent coding.
English
3
0
19
780
Ryan Brunner
Ryan Brunner@ryanbrunner·
@bradgessler Any time I've had to do that it's that I had something enabled that couldn't be expressed in a schema.rb (for Postgres that's often using different postgres schemas or extensions or something lik that)
English
0
1
4
614
Brad Gessler
Brad Gessler@bradgessler·
Anybody know why the schema for ONCE basecamp is `structure.sql` and not `schema.rb`? This is the second Rails project I've seen this week that uses a SQL file. Before that I've never really seen projects use a raw SQL file for loading the schema.
BeautifulRuby.com@BeautifulRubyHQ

An RTFSC of the ONCE Campfire source from @37signals, a self-hosted Rails app alternative to @SlackHQ and @MicrosoftTeams. Unsurprisingly it's a pretty good reference project for how to structure a basic Rails app. Link to source in 🧵👇

English
12
2
27
8.4K
Ryan Brunner
Ryan Brunner@ryanbrunner·
@lost_nomad__ @mattyglesias Canada is a lot less polarized, and the "swing vote" is probably larger than 50% of the electorate (each party probably has a hardcore base of 10-15% support). When the Liberals won pretty decisvely in 2015, they were in 3rd place with 20% of the vote when the writ dropped.
English
0
0
0
13
Lost Nomad
Lost Nomad@lost_nomad__·
@mattyglesias I’m gonna need a Canadian to explain to me how a ~30 point swing is possible in the span of . . . one month Is the political climate really that fickle?
English
140
2
181
25.3K
Ryan Brunner
Ryan Brunner@ryanbrunner·
@nullpointered If Twitter existed in the 60s there'd be threads saying "wrap it up, programmers. This field won't exist in 2 years, business people will just write their own programs in COBOL"
English
0
0
1
29
Ryan Brunner
Ryan Brunner@ryanbrunner·
@JasonSwett If you're just going to create a class with a `call` method and your background job just executes that function, what are you actually accomplishing? Jobs with most job libraries can be run synchronously or asynchronously, just use the job as your service class.
English
0
0
0
29
Jason Swett
Jason Swett@JasonSwett·
Background jobs are a poor home for code. Background jobs don't exist to aid with design, they exist to execute code asynchronously. Put the code somewhere else, where it can be organized more neatly.
English
11
1
42
3.9K
Lara Brown
Lara Brown@lara_e_brown·
This is an extremely niche complaint, but I don’t understand why anyone is installing USB plugs. We’re in the middle of a mass transition to USB-C. Who knows what will come next? The plug socket is great because it doesn’t matter what charger you have. Why do away with it?
Lara Brown tweet media
TfL@TfL

Introducing… our new electric bus 🔥 These buses will be rolled out over the coming weeks on the 358 route between Crystal Palace and Orpington 🙌 Features include: - Brand new tram-like design - Quilted high-back seating - Zero-emissions at the tailpipe - USB charging points - Priority seating Find out more 👇 tfl.gov.uk/modes/buses/im…

English
338
269
13.2K
1.3M
Ryan Brunner
Ryan Brunner@ryanbrunner·
@caseyprovost Hey @caseyprovost , would love to chat but I'm having some trouble DMing. We're very "Rails way" at Supercast and looking for people who like working w/ Hotwire in particular. ryan at supercast dot com
English
0
0
2
211
rubyAndPolitics
rubyAndPolitics@caseyprovost·
I have some hard news. My whole team and I were laid off today. I’m looking for staff/lead Ruby on Rails work. Prefer remote with a Hotwire/turbo frontend :) My team is all mid to senior and would love a new opportunity as well. Reach out if you know of some great ones!!
English
15
47
153
22.7K
maha
maha@mahaaaay·
the american mind cannot comprehend this 🍫 🇨🇦
maha tweet media
English
1.1K
2.9K
37.4K
1.9M
Ryan Brunner
Ryan Brunner@ryanbrunner·
@joeldrapper @nateberkopec It's certainly easier to set up alerts if your queues aren't meeting their SLO with separate queues. Also broad management tools can be used (i.e. pause the lower priority queues when needed)
English
0
0
0
51
Nate Berkopec
Nate Berkopec@nateberkopec·
"ASAP" or "high" is a bad queue name. How fast is "ASAP"? With SLO queues ("within_5_minutes", "within_1_day"), you call this the "within_0_seconds" queue. Does it need to be done "within zero seconds"? In practice, this queue's SLO is the same as a web request.
English
7
2
26
3.9K
Ryan Brunner
Ryan Brunner@ryanbrunner·
@khash @joelmoss I think a big part of this is that the front-end ecosystem is very largely built around JS driving control flow and navigation, and that's incompatible with "omakase" rails at a pretty fundamental level. Rails does a lot of FE stuff "in house" because they're swimming upstream.
English
0
0
0
61
Kash Sajadi
Kash Sajadi@khash·
@joelmoss I think your point is factually correct, but Rails’ recent design decisions have not reconciled with its history of Omakase choices and best of breed selection. Recently, it seems to me, Rails has been obsessed with a NIH culture
English
2
0
8
1.8K
Kash Sajadi
Kash Sajadi@khash·
As much as it pains me to say, but #Rails has lost the plot. An entire ecosystem of components is passing it by. A single Rails developer has to build the frontend themselves. Want a calendar? Build it yourself. Date picker?
English
32
5
59
37.4K