Ben Sheldon's Avatar

Ben Sheldon

@bensheldon.bsky.social

I help small teams do big things and help big teams have big impact. And I build GoodJob, Day of the Shirt, Panlexicon, and Brompt too.

850 Followers  |  161 Following  |  34 Posts  |  Joined: 06.08.2023  |  2.1406

Latest posts by bensheldon.bsky.social on Bluesky

If you know of any open-source program using Ractors, let me know, I'd be interested to try it with ractor-shim.

30.10.2025 21:00 β€” πŸ‘ 2    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

How short lived to make passing it to a ractor be worth it? That's the like real examples I'm looking for.

30.10.2025 21:56 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Anything you see moving to Ractors right now? I can't think of any large manipulations that fit into the constraints in the context of the products I work on. Like maybe a ViewComponent but getting the data into a state to ractorize seems exhausting. Or how to invert flow of child queues on parent.

30.10.2025 18:51 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
GitHub - mperham/ratomic: Ractor-safe mutable data structures for Ruby Ractor-safe mutable data structures for Ruby. Contribute to mperham/ratomic development by creating an account on GitHub.

1.1 I think it was ratomic gem that surprised me: github.com/mperham/rato...

1.2 my real question I guess was: what's changed in Ruby 3.5 that makes this possible? (Or easier)

30.10.2025 14:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Ooh! Questions:

- the last time we looked at this Ractors required a c extension to work. Did that all get into Ruby 3.5?

- Say I already have calculated fibonacci.... what else might I use this for?

30.10.2025 00:56 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

that's good stuff! post more bangers as you find them.

25.10.2025 18:17 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Yep. to_i on a AS::Duration does the same math you did. Just a little more wordy

22.10.2025 00:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

You could do: + 7.days.to_i

Also TIL. Also, wouldn't you want it to end at the same local time? (Like is the test assertion itself wrong)

21.10.2025 20:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

There is no Microsoft stack. MS does not care what GitHub's stack is. A few decisions have influence (Azure dropping their Ruby SDK) but GH can trivially work around that.

imo, GitHub is same as Jean described about Shopify: the eng leaders they have (ic & mgt) simply want to do something else

20.10.2025 13:52 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

... and obvs given this thread that didn't happen 🫠

Though now that's all in my rearview and I feel ok, given what I knew at the time and my skills and abilities and so forth.

20.10.2025 04:01 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

πŸ’›

And a majority of GitHub's engineers work in Ruby; the largest language cohort internally. And my intention (and sorta my role, though with downleveling who knows) was to turn that into a cohesive *program* (both in concrete resources but also as a conceptual narrative) across and outside the co

20.10.2025 03:59 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Which isn't to be defensive about it. But to explain the perspective from inside the company.

It's not *just* a communications problem, but I think examples of what it looks like to be contributing to Open Source internally were really hard to get written and published through the company blog.

20.10.2025 01:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I think GitHub contributes a lot; they do conf and meetup sponsorships and employees do work upstream and there is a team that focuses on enabling that (Ruby Architecture, my former team).

And I'm ashamed by everything that I wasn't able to achieve. And publicizing it was its own challenge.

20.10.2025 01:12 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

accepts_nested_attributes_for. And probably some name/value buttons to differentiate the different actions in a controller. That's about it.

19.10.2025 20:14 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Rilo Kiley on stage at The Greek in Berkeley, CA

Rilo Kiley on stage at The Greek in Berkeley, CA

They are dialed.

17.10.2025 03:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Good show? I'm going Thursday.

15.10.2025 04:47 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Hello, Ruby World! sfruby.com

07.10.2025 03:49 β€” πŸ‘ 20    πŸ” 12    πŸ’¬ 0    πŸ“Œ 1
Preview
Avoid creating controller _helper modules until modification by jhawthorn Β· Pull Request #40204 Β· rails/rails In applications which use :all helpers (the default), most controllers won't be making modifications to their _helpers module. In CRuby this created many ICLASS objects which could cause a larg...

A little bit of context in here: github.com/rails/rails/...

Whenever `helper` or `helper_method` is used, the controller ends up with its own custom set of classes for holding the custom set of helper methods.

19.08.2025 01:53 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Civic Tech is About Benefiting The Public Good, not Government Efficiency By Christopher Whitaker and Derek Eder

#civictech is about benefiting the public good - not government efficiency

www.civictechnologists.org/2025/02/civi...

@derekeder.com and I write for @civictechallies.bsky.social on what civic tech volunteer groups can do to reduce harm brought on by the new administrations policies (thread!)

12.02.2025 21:06 β€” πŸ‘ 25    πŸ” 9    πŸ’¬ 1    πŸ“Œ 2

I finished it a few weeks ago. Really good! I'm almost done with Martha Well's entire catalog. So good.

01.02.2025 06:25 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Post image

ACT unequivocally supports all diverse individuals. We stand for diversity, equity, inclusion and accessibility to build stronger, more innovative #civictech and public service.

Read our full joint statement with #TechnologistsForThePublicGood (#TPG) πŸ‘‡

πŸ”—https://www.civictechnologists.org/2025/01/…

27.01.2025 17:19 β€” πŸ‘ 12    πŸ” 6    πŸ’¬ 1    πŸ“Œ 2
Preview
Feature request: Ability to target multiple frames Β· Issue #475 Β· hotwired/turbo Currently Turbo frames is amazing at handling HTML updates back to the UI when specifying a single frame target to update on the page. In a lot of cases this is all you need however in more complex...

Unfortunately not: github.com/hotwired/tur...

26.01.2025 23:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Replace two different turbo-frame from one response Β· Issue #56 Β· hotwired/turbo Situation: There is a profile form where the user can update his own name. There is, in the same page, a navigation bar where the username is shown. When the user submit the profile form, the respo...

Ooh ooh. Maybe I'll go subscribe πŸ˜„

I've been looking for someone else doing a good job of this: github.com/hotwired/tur...

26.01.2025 18:28 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

If people leaving USDS are looking to stay in #civictech, the Alliance of Civic Technologisits (@civictechallies.bsky.social) is recruiting for both our current member organizations and for starting NEW civic technology volunteer organizations.

Get in touch -> hello(at)civictechnologists.org

21.01.2025 01:26 β€” πŸ‘ 69    πŸ” 21    πŸ’¬ 0    πŸ“Œ 1

Oooh! Are you using streams to do the Refresh All?

20.01.2025 05:37 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
GitHub Next | Copilot Workspace GitHub Next Project: A Copilot-native dev environment, designed for everyday tasks.

Totally. Cursor has a thing called "cursorfile" that is the system prompt for a project. Unfortunately it can't reference files (there was an earlier feature that could but it disappeared in a recent update)

Copilot Workspace is web only: https://githubnext.com/projects/copilot-workspace

16.01.2025 02:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I'm rereading "Radical Focus" to sharpen up my dislike of how OKRs are practiced.

16.01.2025 02:57 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

They're same same. I just tried Windsurf again this past weekend and couldn't really tell the difference.

Copilot Workspaces (disclosure: I work at GitHub) is kinda different. It exposes the chain-of-thought steps as editable UI, rather than a chat prompt. More precise maybe, but takes more time.

15.01.2025 17:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

πŸ˜„ That's Cursor.ai.

15.01.2025 16:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
A screenshot of an application in which it has been typed "Update document_needs_spec.rb to match the behavior of document_needs.rb"

A screenshot of an application in which it has been typed "Update document_needs_spec.rb to match the behavior of document_needs.rb"

I guess this is how we code now 🫠

tbh I'm not unhappy with the result, just disappointed in myself.

15.01.2025 16:26 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@bensheldon is following 20 prominent accounts