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.

860 Followers  |  164 Following  |  34 Posts  |  Joined: 06.08.2023
Posts Following

Posts by Ben Sheldon (@bensheldon.bsky.social)

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