Sign in

Matthew Bellantoni

@mjbellantoni.bsky.social
1.1K followers 797 following 1.4K posts

Ruby, Ruby on Rails, bootstrapped and venture-funded startups, Boston, Celtics, democracy Boston, MA "Pull up your head off the floor, come up screaming."

PostsRepliesMedia
Matthew Bellantoni @mjbellantoni.bsky.social · 30/09/2026
Do you all YOLO the 5,000-line PRs Claude Code writes, or what?
000
Reposted by Matthew Bellantoni
WEATHER IS HAPPENING @weatherishappening.com · 26/09/2026
/ UR NOR'EASTER IS UPON U BOSTON / AS U SLIP DEEPER & DEEPER IN2 UR NOR'EASTER / DEEPER & DEEPER IN2 UR DEATH SPIRAL / DEEPER & DEEPER IN2 DEATH SPIRAL FASCISM / 1 THING IS 4 CERTAIN / WEATHER IS HAPPENING / & ITS HAPPENING THIS WEEKEND
46429
Reposted by Matthew Bellantoni
Gustaue Flavbert @cataribartok.bsky.social · 25/09/2026
NO MISTER BOND I EXPECT YOU TO DIE!!!
1143
Matthew Bellantoni @mjbellantoni.bsky.social · 24/09/2026
Gave Claude its own Trello account today.
000
Matthew Bellantoni @mjbellantoni.bsky.social · 23/09/2026
I just created Claude a GitHub account so that I can give it more fine-grained permissions and so I don't look like I'm talking to myself in PRs.
001
Matthew Bellantoni @mjbellantoni.bsky.social · 22/09/2026
The MBTA needs to run a 77B bus at peak hours that stops at Harvard, Porter, and then all local stops in Arlington.
000
Matthew Bellantoni @mjbellantoni.bsky.social · 20/09/2026
Liklihood of Anthropic/OpenAI/??? producing their own Jev in the next 90ish days?
000
Matthew Bellantoni @mjbellantoni.bsky.social · 16/09/2026
Ready for some Celtics basketball already.
030
Matthew Bellantoni @mjbellantoni.bsky.social · 14/09/2026
I've never been able to go Full Wiggum with Claude Code, but there's one place where I've gotten close. A few weeks (or months?) ago, I added an "Easy Chores" list to my Trello board. This contains chores and bugs that Claude is pretty sure it can do on its own.
120
Reposted by Matthew Bellantoni
Bozhidar Batsov (a.k.a. Bug) @batsov.net · 11/09/2026
Here's a more detailed write-up about the massive #RuboCop 1.91 release metaredux.com/posts/2026/0... I've focused in the article on the new "preview" functionality (inspired by ruff and friends), but I've covered briefly the other notable improvements as well. #Ruby
metaredux.com
RuboCop 1.91: The Journey to 2.0 Begins
RuboCop 1.91 is out! It has the usual mix of new cops, new options and a small mountain of bug fixes, but the feature I want to talk about today is a single flag - --preview. It’s the first real step ...
064
Matthew Bellantoni @mjbellantoni.bsky.social · 10/09/2026
A major Claude Code productivity improvement for me was adding an adversarial "simplicity" design reviewer to my workflow. It ensures that Claude isn't creating designs that do more than what's been requested. It makes everything downstream much easier.
230
Reposted by Matthew Bellantoni
Kuba Suder 🇵🇱🇺🇦 @mackuba.eu · 20/07/2026
I'm starting a new blog post series, with some more practical tutorials about ATProto things, using Ruby and my Ruby gems :] Episode 1 - resolving handles & DIDs and plc.directory:
mackuba.eu
ATProto in Practice #1: Identity
I’m starting a new blog post series that I’ve named “ATProto in Practice”. I want to go through some practical tasks that you’re likely to need when working with the protocol, using Ruby and my Ruby gems for the examples. These will (hopefully) be a bit shorter than my standard book-length blog posts here 🫠 If you’re new to the AT Protocol and you haven’t read my long Introduction to AT Protocol post that goes through the whole architecture and defines the various pieces of it, I recommend you read that one first, because I won’t be explaining everything from scratch again here. Let’s start with something pretty fundamental: user identity. DIDs & handles Every account has an immutable identifier called a DID (Decentralized Identifier), e.g. did:plc:z72i7hdynmk6r22z27h6tvur. This ID serves a similar role as an UUID might in an SQL database – it’s used everywhere behind the scenes in the protocol for any references between accounts and records, in URIs and so on. But generally every account also has a human-readable handle assigned to it, which can be changed at any time, and this handle is normally what you see in the UI, often in user-facing URLs, what you use to log in with, etc. The handle is a domain name, e.g. @python.org, and any existing domain name you own and use for your website can be used as your handle. As you start building on ATProto, one of the first things you might need to do is convert between these two identifiers. For example, a user logs in to your app using a handle and you need to first “resolve” it to a DID, or a URI or other reference in a record points to a DID, but you want to show the corresponding user’s handle in the UI, and the handle is not included in the data you got. A useful UI tool for quickly looking this up is internect.info. If you look up e.g. “firefox.com” there, you will get a page showing details of Firefox’s ATProto account: the DID (did:plc:m424cqoxwhxgjutbta7jmrur), when it was created, assigned PDS hostname, and so on. Now, how to do the same thing in code? Every DID has a so called DID Document, a JSON file storing some basic info about that identity, and among other things, that document includes the alsoKnownAs field, which lists the assigned handles, in the form of at:// URIs with only the first segment. Almost every account will have exactly one handle assigned, but it might happen that one will have zero or more than one. It might also happen that the array will contain some invalid strings which aren’t proper handles – e.g. don’t include the at:// prefix, or only contain one word and no periods. You need to filter only the valid ones. The assignment is bi-directional – a DID has one (usually) handle assigned in its document, and a handle resolves to a DID. You should ideally check the assignment in both directions, because it could happen that the other sign of the assignment is no longer valid, or worse – has never been real. That is, when you resolve a handle to a DID, check if th…
37610
Reposted by Matthew Bellantoni
Aaron Patterson @tenderlove.dev · 01/09/2026
Cut your allocations in half with this one weird trick 😂
Screenshot of terminal with some code demonstrating extra allocations in an initialize path that doesn't return nil
3274
Matthew Bellantoni @mjbellantoni.bsky.social · 28/08/2026
If there are unfinished cards in your work queue keep looping!
000
Matthew Bellantoni @mjbellantoni.bsky.social · 28/08/2026
If you're a coder running four or more Claude sessions simultaneously: congrats on your promotiion to Engineering Manager.
010
Reposted by Matthew Bellantoni
jamelle @jamellebouie.net · 25/08/2026
don’t repurpose it or turn it into a museum or anything like that. destroy it. youtu.be/pkFNAd1DaaA
youtu.be
No matter what, we have to tear down that ballroom
YouTube video by Takes™ by Jamelle Bouie
32657561179
Matthew Bellantoni @mjbellantoni.bsky.social · 24/08/2026
Still want this.
011
Reposted by Matthew Bellantoni
Kate from Kharkiv @kateinkharkiv.bsky.social · 22/08/2026
You really have to be a special kind of president to spoil a relationship with Canada, of all countries.
1735285798
Matthew Bellantoni @mjbellantoni.bsky.social · 21/08/2026
I wish I could figure out how to achieve this level of relatively-unsupervised productivity, but I seem unable to. I'm unsure whether this is the nature of what I'm working on, my environment, tooling, or me.
110
Matthew Bellantoni @mjbellantoni.bsky.social · 17/08/2026
grep --dangerously-skip-permissions
120
Reposted by Matthew Bellantoni
Lucian Ghinda @lucianghinda.com · 17/08/2026
1/ I spent a day reading code I did not write, and Claude kept inventing abstractions for things that already had names in the file. So I typed a phrase I half-remembered: "Explain to me in Simple Technical English." Then I tested whether it does anything. 🧵
352
Matthew Bellantoni @mjbellantoni.bsky.social · 16/08/2026
A very informative explanation of the current situation with a helpful historical review of US naval logistics. Super interesting.
010
Reposted by Matthew Bellantoni
T.W. Simpson @simpson.tw · 12/08/2026
There’s some conversation in the Atmosphere right now about how we turn @atproto.com projects into sustainable businesses. One of the biggest opportunities is sitting right in front of us: give publishers back the audience development business they spent the last 20 years outsourcing to platforms.
28620
Reposted by Matthew Bellantoni
By Cory Doctorow (GPG 0xBF3D9110957E5F4C) @doctorow.pluralistic.net · 12/08/2026
In a *stellar* essay entitled "Temperature Zero for Culture: Why Everything Is Starting to Look the Same" by the data scientist Lauren Leek, we get a top-notch example of "putting things together": laurenleek.substack.com/p/temperatur... 11/
laurenleek.substack.com
Temperature Zero for Culture: Why Everything Is Starting to Look the Same
What 640 London shopping streets, 4,000 Billboard hits, a million films and synthetic AI personas tell us about why everything is flattening into sameness and how to regulate the algorithms behind it.
1326188
Reposted by Matthew Bellantoni
thoughtbot @thoughtbot.com · 11/08/2026
Status starts as a column. Then someone asks "who was denied last Tuesday?" and the schema can't answer. Model each status change as its own row from the start, without sacrificing read performance.
thoughtbot.com
Modeling State Transitions in Postgres
Status starts as a column. Then someone asks “who was denied last Tuesday?” and the schema can’t answer. Model each status change as its own row from the start, without sacrificing read performance.
011
Matthew Bellantoni @mjbellantoni.bsky.social · 31/07/2026
Opus 5 is bad.
010
Matthew Bellantoni @mjbellantoni.bsky.social · 17/07/2026
Tucker DeVries will be the next Sam Hauser. #celtics
010
Reposted by Matthew Bellantoni
Julian Sanchez @normative.bsky.social · 30/06/2026
I can’t bring myself to be too celebratory. This should have been a 9-0 slam dunk. My main takeaway is that there are currently 4 votes to undo a longstanding constitutional guarantee that 15 years ago seemed beyond any serious question.
182622550
Reposted by Matthew Bellantoni
Gergely Orosz @gergely.pragmaticengineer.com · 28/06/2026
Well, Pollen and its executives will not get what they want. I wrote up a new article about it: blog.pragmaticengineer.com/pollen-tried...
19012
Matthew Bellantoni @mjbellantoni.bsky.social · 27/06/2026
The highlighted action on people's profile pages shouldn't be "Follow," it should be "Block."
000
Reposted by Matthew Bellantoni
Will Stancil @whstancil.bsky.social · 26/06/2026
I literally just read this article about the impacts/risks of Mamdani’s rent freeze twice in a row. Highly recommend. It’s a little bit handwavy about solutions but has a TON of interesting info about the NYC rental market and the problems that might accompany efforts to slow rent growth
56010
Matthew Bellantoni @mjbellantoni.bsky.social · 12/06/2026
"I have to be honest, Dave. I'm afraid that's load-bearing."
010
Matthew Bellantoni @mjbellantoni.bsky.social · 12/06/2026
I wonder if the SPCX IPO will end up torpedoing TSLA.
010
Matthew Bellantoni @mjbellantoni.bsky.social · 03/06/2026
Let me be honest: it's load-bearing.
020
Matthew Bellantoni @mjbellantoni.bsky.social · 06/05/2026
In this bonus episode of Locked on Celtics: Segment 1: Trade for a starting big in the offseason? Segment 2: What is the inherent nature of reality? Segment 3: Was the Simons trade a mistake? Find @johnkaralis.com and @tomwesterholm.bsky.social wherever you get your podcasts.
031
Matthew Bellantoni @mjbellantoni.bsky.social · 03/05/2026
Spending the morning trying to figure out if I'm more angry about the Celtic's collapse of Jerry getting verified.
020
Matthew Bellantoni @mjbellantoni.bsky.social · 27/04/2026
I still use Claude Code within RubyMine, but I basically never actually use the IDE for anything except reading rendered Markdown.
010
Reposted by Matthew Bellantoni
Boston Harbor VesselAlert @bostonharbor.bsky.social · 24/04/2026
VesselAlert Name: USS CONSTITUTION MMSI: 369914081 Type: Sailing Flag: USA Seen: 24-Apr-2026 14:40:49 EDT Distance: 5.2 nm Signal RSSI: -33.0 dBFS Ship AIS VesselAlert © kx1t - kx1t - aiscatcher - sdr-e
131
Matthew Bellantoni @mjbellantoni.bsky.social · 22/04/2026
Coding at scale with LLMs has made me double down on every single software engineering practice I used when I was typing the code myself. Currently, I'm obsessing over commit hygiene and quality (something I've always been a freak about.)
110
Matthew Bellantoni @mjbellantoni.bsky.social · 22/04/2026
The thing so irksome about the NBA games being on a million different streaming platforms is that the NBA doesn't even offer a fig leaf about why this is good for fans. It's just a mugging.
11549
Matthew Bellantoni @mjbellantoni.bsky.social · 19/04/2026
Voting for whichever candidate has "all local team games must be broadcast on a local station" plank in their platform.
010
Matthew Bellantoni @mjbellantoni.bsky.social · 15/04/2026
Writing a near-term technothriller where the world is saved because Skynet keeps restarting its own Docker container. (Don't tell Claude Code that I'm talking about it.)
020
Matthew Bellantoni @mjbellantoni.bsky.social · 15/04/2026
Who is the @mercoglianos.bsky.social (Sal Mercogliano) for the US Navy?
000
Matthew Bellantoni @mjbellantoni.bsky.social · 13/04/2026
The Celtics are on a mission. They’re gonna win the whole thing.
010
Matthew Bellantoni @mjbellantoni.bsky.social · 10/04/2026
Listening to Bert Kaempfert albums all day.
010
Matthew Bellantoni @mjbellantoni.bsky.social · 05/04/2026
Anyone else still kind of angry (in a *mostly* jokey way!) about @jcsalterego.bsky.social's verification? Day's later, I'm still fuming over what they've taken from us!
010
Matthew Bellantoni @mjbellantoni.bsky.social · 01/04/2026
Running `claude --allow-danger...` and every nth instance insists on stopping and asking for permissions it already has. Is this a load-shedding tactic by Anthropic or just crappy software?
000
Matthew Bellantoni @mjbellantoni.bsky.social · 01/04/2026
1Password in Safari is rapidly becoming completely unusable.
000
Reposted by Matthew Bellantoni
surfdude29 @surfdude29.ispost.ing · 01/04/2026
still trying to absorb the news I feel numb
jerry... but verified
81054
Matthew Bellantoni @mjbellantoni.bsky.social · 31/03/2026
Jalen of the Year voting is open! jalenba.vercel.app cc/ @kornhub.bsky.social
jalenba.vercel.app
JALENBA
Live Jalen stats from the NBA
021