Toots for bensheldon@ruby.social account

Written by Ben Sheldon (he/him) on 2024-12-02 at 20:13

I wrote about a common disorder of Rails View Helpers: https://island94.org/2024/12/including-rails-view-helpers-concern

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-11-27 at 16:37

Can anyone help me understand, from a performance standpoint, how switching between two Ruby processes (at the OS/Kernel level) is different than switching between two threads within the same Ruby process?

Cause Ruby Threads are OS/Kernel-level threads right? So it seems like it would be same same, perf wise (to me?).

(Assume I don't care at all about shared memory; just CPU cycles)

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-11-27 at 00:36

After chatting with @john and Ivo Anjo at RubyConf, I went down a rabbit hole trying to understand how Ruby Thread Priority adjusts the effective Thread Quantum.

https://github.com/bensheldon/good_job/issues/1554

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-11-11 at 02:33

I recommended @alinapaz read "None of this is true".

She hasn't moved in 4 hours other than occasionally shouting "this book?!"

I think it's going well.

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-10-17 at 02:25

I went to go draft a blog post titled “Commit your gem’s Gemfile.lock” thinking it’s a spicy contrarian practice.

…and then in my research discovered that’s exactly what Bundler recommends: https://bundler.io/guides/faq.html#using-gemfiles-inside-gems

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-09-29 at 15:22

I wrote an introduction to and motivation/intention behind the new Rails plugin I’m working on: Spectator Sport: https://island94.org/2024/09/spectator-sport-a-brief-introduction-to-an-upcoming-rails-plugin

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-09-27 at 18:11

Unfortunately, my new gem is not yet in a plug-and-play state (though I'm running it on my own websites).

If this is interesting to you, I'd love to chat and build it for/with you.

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-09-27 at 18:06

I'm working on a new gem, called Spectator Sport, to easily add Browser Session Recording (a video-like replay of everything your visitors/users see and click on your website) to your app without any external dependencies/services (a Rails engine, data stored in Active Record and/or Active Storage, with a nice admin dashboard).

Some ideas I'm working with: seeing live activity on the website, recording activity right before a 500 or 404 error, filtering recordings for specific pages/clicks.

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-09-24 at 23:16

Super proud of my team at GitHub: our Rails Monolith is now freezing all Ruby strings by default 🧊

We submitted patches for a ton of community gems too. Better together!

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-09-13 at 01:31

@baweaver I got around to quote-blogging your post about The Novice Problem:

https://island94.org/2024/09/the-novice-problem

Also, I'm really enjoying your series on rereading "Eloquent Ruby". Thank you!

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-08-23 at 14:54

Last weekend I submitted a tiny change to Feedbin's conditional fetch logic to ensure etags/last-modified changes are reflected even if the contents of the feed doesn't change.

The results are in: ~6% more 304s than before (on ~14M requests) 💪

https://github.com/feedbin/feedbin/pull/727#issuecomment-2307113660

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-08-20 at 01:47

Strong opinion:

In Rails, in 2024, it is never reasonable to do include SomeHelper from app/helpers anywhere. Don't do it.

Really. Don't include Helpers. It's not necessary, and if it seems like it is, the module isn't a Helper and shouldn't be in app/helpers.

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-08-16 at 15:32

Lazy Routes initialization landed in Rails. I've been waiting and watching the backlinks to it for signs of breakage in other libraries:

https://github.com/rails/rails/pull/52590

In my recent blog about disordered autoloading, I note that some libraries create (mistaken imo) dependencies between routes and Active Record models or Action Controllers or other components. They're going to break (correctly imo) because of Lazy Routes: https://island94.org/2024/07/on-the-importance-of-rails-code-reloading

=> More informations about this toot | View the thread

Written by Ben Sheldon (he/him) on 2024-07-31 at 19:50

I published a new gem: activerecord-has_some_of_many to make it easy to make top-N-of-group associations like "most recent 5 comments" that are preloadable, using lateral joins.

has_some_of_many :latest_comments, -> { order(created_at: :desc).limit(5) }, class_name: "Comments"` 

https://github.com/bensheldon/activerecord-has_some_of_many

=> More informations about this toot | View the thread

=> This profile with reblog | Go to bensheldon@ruby.social account

Proxy Information
Original URL
gemini://mastogem.picasoft.net/profile/109435501625916623
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
440.713969 milliseconds
Gemini-to-HTML Time
4.712619 milliseconds

This content has been proxied by September (ba2dc).