My threshold is three. The third time I duplicate code/behavior is when I start to think about DRYing said code/behavior.
HN user
clintonb
Engineer at Vori, formerly at Stripe
https://getfriendlyreminder.com https://clintonblackburn.com https://dev.clintonblackburn.com
I primarily care about the pull request title and description since we squash-merge and those values end up populating the squashed commit.
Anyone else finds the LLMs version control discipline lacking?
No? How do you define discipline? Claude code knows how to read and write commits. My team just granted it limited force push access a week ago. We’ve taught it to make more human-friendly commit messages.
What’s missing?
I have the technical acumen and money, but zero desire or time to spend ripping discs. It's far too easy to raid the "five dollar bin" at MoviesAnywhere (like I used to do at Wal-Mart and Best Buy).
Licensing issues like Sony's aside, the studios did MoviesAnywhere right. I can buy the disc (often used) and redeem the code, or buy digitally, and download/stream everywhere that matters to me and my family.
If you already have Elasticsearch, it makes sense to continue utilizing it.
Saying, “just use SQLite” completely dismisses the idea that this is a _shared_ memory across teams. The ability to easily connect to the remote service and have everything “just work” pays dividends when you have dozens or hundreds of users.
The current administration doesn’t care about climate change, or believes it’s a hoax. Given this, they see no need to fund research and data gathering that tells them otherwise.
This also impacts the U.S. I had a workflow timeout on checkout after 6 hours.
I've owned a Fitbit Aria Air for nearly eight years. It stopped syncing a few days ago. Google's response is essentially, "we broke it."
Congrats on the launch! DB clones have been a game changer for my team, allowing us to build isolated workspaces for agents to do work ranging from optimizing queries/views to building UI/UX that works for the actually combinations of data we have.
We self-host DBLab since we had trouble getting Xata, Neon, and hosted DBLab configured.
I don’t have any head-to-head comparisons of the same app written in both languages. I can compare apps with similar functionality: listening to GitHub web hooks vs. Linear web hooks. Both are deployed to Kubernetes.
The GitHub listener written in Go has a CPU limit of 50m, but actual usage of 10m. Memory consumption is around 34MB of a 64MB limit.
The Linear listener written in Typescript consumes around 20m/250m CPU, but 235MB/500MB memory.
The 2x CPU and 9-10x memory consumption is significant, especially as we scale usage or add services.
(Yes, I know we need to do more right-sizing.)
I picked Go because it tends to use fewer resources than Node.js, and startup time is quite fast.
OAuth 2.x and OIDC haven’t changed much. I still use Passport.js with Firebase.
LOC doesn’t have much to do with the “constraints of the language”.
Stripe has dabbled in Golang. There is also a growing Java monorepo.
Ruby code touches financial transactions. Card payments were migrated to Java when I left in 2022. Non-card payments (e.g., ACH, checks, various wallets) were still processed by Ruby.
PCI-related/vaulting code lived in its own locked-down repo. I think that was a mix of Go and Ruby.
Once you have the foundations in place for account balances and the ledger, processing a payment isn’t that daunting. Those foundations, however, took a lot to build and evolve.
The electronic shel labels use e-ink. Their refresh time is around 30 seconds. What happens if two shoppers are looking at the same product?
Your plan fails in a few ways.
Refreshing the content on an electronic shelf label (ESL) takes about 30 seconds, and multiple people can view a product simultaneously. Unless the store is giving everyone AR glasses, people will notice the price discrepancy.
This assumes you have sufficient data to actually recognize a shopper such as facial ID or some form of iBeacon for every single product for which you wish to implement price discrimination. Basic ESLs cost $3 to $12, depending on size and use very little energy. Adding a camera means more energy, so a bigger battery and more cost.
Using in-app discounts is the most likely way to implement this, which I am okay with. Shoppers are willingly trading their data privacy for a discount.
You're thinking of pricing zones—shoppers in Zone A pay a different price than those in Zone B. This makes sense, for example, if shipping costs are higher in Zone B.
The bill in question is about per-shopper pricing (e.g, you and I pay different prices in the same store). This is something Lyft and Uber do, but it's not really possible in retail.
It’s strange to see so many commenters celebrating the death of a company and the loss of so many jobs.
I flew Spirit a few times. The first time sucked because it was an emergency and I had no other option. The last few flights were great. We got the large seats up front for $75 extra. That plus parking at SJC was still cheaper than flying Southwest out of OAK.
The staff were friendly, and the gate was conveniently across from a lounge, so we had a truly great experience for those couple flights to Dallas.
make a code change and then deploy the changes to gamma and verify they work by making a sample request and verifying output from cloudwatch logs etc
This has been a godsend over the past week while deploying a couple services. One is a bridge between Linear and our Coder.com installation so folks can assign the work to an agent. Claude Code can do most of the work while I sleep since it has access to kubectl, Linear MCP, and Coder MCP. I no longer have to manually build, deploy, test, repeat. It just does it all for me!
Nothing is “trivial” when you combine humans and computers. I worked at the MIT Computing Help Desk during my undergraduate years. We joked that we received callas from Nobel laureates who could find subatomic particles but couldn’t find the Windows Start button.
My company is currently trying to rollout shared MCPs and skills throughout the company. The engineers who have been using AI tools for the past 1-2 years have few, if any, issues. The designers, product managers, and others have numerous issues.
Having a single MCP gateway with very clear instructions for connecting to Claude Desktop and authenticating with Google eliminates numerous problems that would arise from installing and authenticating a CLI.
The MCP is also available on mobile devices. I can jot down ideas and interact with real data with Claude iOS and the remote MCP. Can’t do that with a CLI.
You're producing technical debt. At some point you will invest more time fixing the vibe slop than it would have cost you to do the work yourself in the first place. A lot of vibe-coding just feels like shifting responsibility and resources from "development" to "incident response".
How do you know the output is correct?
You joke and folks downvote, but this is my biggest issue with WebStorm. I'm seriously considering switching for the first time in 16 years. Zed is quite snappy. The Claude Code integration in VS Code is brilliant. I've used the CLI in the JetBrains terminal. I had no idea I could revisit past conversations until I used the VS Code extension!
Thanks for the email and the reminder that we can use fewer shards with larger runners.
GitHub charges too much for hosted runners. It's pretty straightforward to switch to another runner provider at literally half the cost of GitHub.
Yikes! They seem to be gunning for services like WarpBuild, which we've used for a couple years to keep our costs low. The $0.002 per minute on top of WarpBuild's costs is exactly GitHub's new pricing scheme.
I'm happy for competition, but this seems a bit foul since we users aren't getting anything tangible beyond the promise of improvements and investments that I don't need.
Not to mention choreographing the lifecycle of our business domain with the Stripe checkout flow and webhook event types, of which there are 250+
You don’t need to listen for all event types if you aren’t using _every_ Stripe feature.
I like MCP for _remote_ services such as Linear, Notion, or Sentry. I authenticate once and Claude has the relevant access to access the remote data. Same goes for my team by committing the config.
Can I “just call the API”? Yeah, but that takes extra work, and my goal is to reduce extra work.
I prefer TypeID: https://github.com/jetify-com/typeid
Client-generated IDs are necessary for distributed or offline-first systems. My company, Vori, builds a POS for grocery stores. The POS generates UUIDv7 IDs for all data it creates and that data is eventually synced to our backend. The sync time can range from less than 1 second for a store with fast Internet to hours if a store is offline.
Is a collision possible? Yes, but the likelihood of a collision is so low that it's not worth agonizing over (although I did when I was designing the system).