HNHacker News
TopNewBestAskShowJobs

yojo

3,628 karma · joined March 9, 2012

Software engineer, fiction author.

https://www.iangmcdowell.com

submissionscomments
yojo··on Project Glasswing: An Initial Update
You can hook traditional SAST into your coding tool, and get cheap-ish realtime detection for some classes of vulns while coding.

You can optionally layer LLM diff scanning if you want to burn some tokens on your tokens. Modern tools can catch some impressively subtle issues.

yojo··on The Companies Cutting Headcount for AI Will Lose to the Ones Who Didn't
Before unlimited PTO took off, standard in FAANG-like (US) industry was ~12 corp holidays + 15-25 days annual PTO, depending on seniority.

I don’t know anyone who takes the high end of that anymore, especially senior/staff folks.

Unlimited PTO takes a liability off the company’s books, and makes every time off request a negotiation.

yojo··on The Companies Cutting Headcount for AI Will Lose to the Ones Who Didn't
Two things:

1) Unlimited PTO is a scam. Ask anyone who ever got paid out six weeks salary when they changed jobs.

2) “the craft” is doing some heavy lifting here. I happen to enjoy AI-assisted dev, but it is nothing like the work that drew me to the industry.

Otherwise agreed on all counts.

yojo··on Meta blocks human rights accounts from reaching audiences in Saudi Arabia, UAE
I’m taking it as a given that any sufficiently large social network is a gigantic propaganda machine of interest to domestic and foreign nation-state actors.

Entertaining the thought experiment where all the normies join the fediverse: now you’ve got a big juicy target maintained by hobbyists.

When it’s Lazarus Group vs Randall, the over-worked sys admin who stood up a node in his spare time, who do you think wins?

Social networks are cancer. Just ban the lot of them and move on.

yojo··on Gemini Omni
Me? No. My kids? I think they already have. I don’t allow YouTube in our house, but they for sure watch slop with friends.
yojo··on The main thing about P2P meth is that there's so much of it (2021)
Oregon decriminalized drugs in 2020 and the experiment is widely viewed as a failure by both sides of the political spectrum. The Democratic legislature rolled it back four years later.

It doesn’t necessarily follow that it’s impossible to have a legalized or decriminalized regime that works, but it is non-trivial to get right.

yojo··on America's carpet capital: an empire and its toxic legacy
You should probably be more worried about the flame retardants in the rebond carpet pad. Better these days, but older installed stuff had non-trivial PPM.
yojo··on Man finds $1M worth of Yu-Gi-Oh cards in a dumpster
DropMix was an NFC DJing game that used RFID playing cards. It’s been done/could be done again.
yojo··on Utah to hold websites liable for users who mask their location with VPNs
Meta’s bottom line is driven entirely by their ability to uniquely and persistently identify users for the sake of advertising.

Anything that makes it harder for a user to escape their dragnet is a win.

yojo··on Windows quality update: Progress we've made since March
I got a Zune on clearance when they were shutting down the whole mess (a nice fugly brown one for 80% off).

Build quality was rock solid, UI felt premium, and it mostly just got out of my way/let me play tracks. They were great little media players, as good as or ahead of the equivalent iPod.

Hardware was really good out of MSFT at the time, although when mistakes were made (e.g. the RROD Xbox 360 debacle), the broader organization seemed allergic to making thing right.

yojo··on Commenting and approving pull requests
You might try adding this branch protection rule to require conversation resolution: https://docs.github.com/en/repositories/configuring-branches...
yojo··on Commenting and approving pull requests
I also follow this approach. I just flip the flag on the PR I’m reviewing to off before submitting my approval.

We also have most of our repos set to block if unresolved comments. I think it’s a flag on branch protection rules

yojo··on The Rise of the Em-Dash in Hacker News Comments
option + hyphen gives you an en-dash (–), which is easier to type and I am guilty of way overusing/misusing.
yojo··on Tell HN: Fiverr left customer files public and searchable
My work has a “donuts” slack channel for this. You find an unlocked computer you post “donuts on me!” Social pressure says they buy the office donuts.

Still get a few a week, but at least it’s public and amusing.

yojo··on AI may be making us think and write more alike
I caught myself saying “you’re absolutely right” to my wife last night, unironically. This was 100% not in my vocabulary six months ago.

If I spend 40 hours a week talking to anybody, some of their language or mannerisms are going to rub off on me. I can’t think of a compelling reason why a human-sounding chat bot would be any different.

yojo··on Eight years of wanting, three months of building with AI
+1

I’ve been driving Claude as my primary coding interface the last three months at my job. Other than a different domain, I feel like I could have written this exact article.

The project I’m on started as a vibe-coded prototype that quickly got promoted to a production service we sell.

I’ve had to build the mental model after the fact, while refactoring and ripping out large chunks of nonsense or dead code.

But the product wouldn’t exist without that quick and dirty prototype, and I can use Claude as a goddamned chainsaw to clean up.

On Friday, I finally added a type checker pre-commit hook and fixed the 90 existing errors (properly, no type ignores) in ~2 hours. I tried full-agentic first, and it failed miserably, then I went through error by error with Claude, we tightened up some exiting types, fixed some clunky abstractions, and got a nice, clean result.

AI-assisted coding is amazing, but IMO for production code there’s no substitute for human review and guidance.

yojo··on What we learned building 100 API integrations with OpenCode
The TL;DR dos not seem to match the rest of the article.

They claim the agents reliably generated a week’s worth of dev work for $20 in tokens, then go on to list all the failure modes and debugging they had to do to get it to work, and conclude with “Agents are not ready to autonomously ship every integration end-to-end.”

Generally a good write up that matches my experience (experts can make systems that can guide agents to do useful work, with review), but the first section is pretty misleading.

yojo··on What young workers are doing to AI-proof themselves
Having spent a couple years rehabbing a 100 year old house, I’m convinced the trades will be the last thing to go. When the building you’re working on has been ship-of-Theseus’d by 3 generations of home owners, everything is out of distribution.

When a robot can reliably do this work, I think it can reliably do any human job that requires physical ability and judgement.

yojo··on Ask HN: How is AI-assisted coding going for you professionally?
LLMs rarely if ever proactively identify cleanup refactors that reduce the complexity of a codebase. They do, however, still happily duplicate logic or large blocks of markup, defer imports rather than fixing dependency cycles, introduce new abstractions for minimal logic, and freely accumulate a plethora of little papercuts and speed bumps.

These same LLMs will then get lost in the intricacies of the maze they created on subsequent tasks, until they are unable to make forward progress without introducing regressions.

You can at this point ask the LLM to rewrite the rat’s nest, and it will likely produce new code that is slightly less horrible but introduces its own crop of new bugs.

All of this is avoidable, if you take the wheel and steer the thing a little. But all the evidence I’ve seen is that it’s not ready for full automation, unless your user base has a high tolerance for bugs.

I understand Anthropic builds Claude Code without looking at the code. And I encounter new bugs, some of them quite obvious and bad, every single day. A Claude process starts at 200MB of RAM and grows from there, for a CLI tool that is just a bundle of file tools glued to a wrapper around an API!

I think they have a rats nest over there, but they’re the only game in town so I have to live with this nonsense.

yojo··on The 100 hour gap between a vibecoded prototype and a working product
> - This is partly b/c it is good at things I'm not good at (e.g. front end design)

Everyone thinks LLMs are good at the things they are bad at. In many cases they are still just giving “plausible” code that you don’t have the experience to accurately judge.

I have a lot of frontend app dev experience. Even modern tools (Claude w/Opus 4.6 and a decent Claude.md) will slip in unmaintainable slop in frontend changes. I catch cases multiple times a day in code review.

Not contradicting your broader point. Indeed, I think if you’ve spent years working on any topic, you quickly realize Claude needs human guidance for production quality code in that domain.

yojo··on Artist who “paints” portraits on glass by hitting it with a hammer
There are a few modern artists who mix cool techniques to great results and get recognized. Olafur Eliasson and James Turrell come to mind.

Damien Hirst is a more polarizing third contender.

Edit: also Yayoi Kusama

yojo··on GPT‑5.3‑Codex‑Spark
I’ve been slow to invest in building flows around parallelizing agent work under the assumption that eventually inference will get fast enough that I will basically always be the bottleneck.

Excited to see glimpses of that future. Context switching sucks and I’d much rather work focused on one task while wielding my coding power tools.

yojo··on AI on Australian travel company website sent tourists to nonexistent hot springs
It sounds like in this case there was some troll-fueled comeuppance.

> “We’re not a scam,” he continued. “We’re a married couple trying to do the right thing by people … We are legit, we are real people, we employ sales staff.”

> Australian Tours and Cruises told CNN Tuesday that “the online hate and damage to our business reputation has been absolutely soul-destroying.”

This might just be BS, but at face-value, this is a mom and pop shop that screwed up playing the SEO game and are getting raked over the internet coals.

Your broader point about blame-washing stands though.

yojo··on Ask HN: COBOL devs, how are AI coding affecting your work?
I use it in a Python/TS codebase (series D B2B SaaS with some AI agent features). It can usually “make it work” in one shot, but the code often requires cleanup.

I start every new feature w/Claude Code in plan mode. I give it the first step, point it to relevant source files, and tell it to generate a plan. I go catch up on my Slack messages.

I check back in and iterate on the plan until I’m happy, then tell it to implement.

I go to a team meeting.

I come back and review all the code. Anything I don’t 100% understand I ask Gemini to explain. I cross-check with primary sources if it’s important.

I tweak the generated code by hand (faster than talking with the agent), then switch back to plan mode and ask for specific tests. I almost always need to clean up the tests for doing way too much manual setup, despite a lot of Claude.md instructions to the contrary.

In the end, I probably get the work done in 30% less wall-clock time of Claude implementing (counting plan time), but I’m also doing other things while the agent crunches. Maybe 50% speed boost in total productivity? I also learn something new on about a third of features, which is way more than I did before.

yojo··on The Dilbert Afterlife
Totally valid that my boss probably didn’t want to be there either, but for context this was circa 2008 Google where “offsite” meant “go spend company money to do something fun.”

Alternatives were literally things like going to Napa or an amusement park or go-karting. Or if you really wanted to watch a movie, the options were all other movies. Why pick the one that digs at the tenets of your shared reality?

yojo··on The Dilbert Afterlife
I get that we’re all part of the same system, but I consider Office Space a nihilistic rejection of the entirety of that system. It’s not just “my boss is dumb,” it’s “this whole system is anti-human and dumb, and we’d all be happier working outside with our muscles.”

And it’s totally appropriate for that message to resonate with my boss, but it’s weird for my boss to make that message the focus of what is ostensibly a corporate team-building event.

Edit: just realized I used a “it’s not just this, it’s that” construction. I swear I’m not an LLM, but maybe their prose is infecting my brain.

yojo··on The Dilbert Afterlife
My former manager organized an offsite where we all watched Office Space together.

Did she just not get it? Or did she get it, and it was some weird flex making us watch it with her? I still don’t know.

yojo··on Cardiovascular disease is a solved problem
I’m old enough that my parents/spouse’s parents are all on statins. They all report side-effects, mostly digestive issues.

I’ll eat a healthy diet, exercise, and live a life without persistent diarrhea. I’ll take statins if/when they are medically necessary, and no sooner.

yojo··on OpenAI's cash burn will be one of the big bubble questions of 2026
They have not successfully trained a new model since 4o. That doesn’t mean they haven’t burned a pile of cash trying.

I know sama says they aren’t trying to train new models, but he’s also a known liar and would definitely try to spin systemic failure.

yojo··on Show HN: Picknplace.js, an alternative to drag-and-drop
This reminds me of a UI pattern I saw in an old iOS comic reader (Comic Zeal) for organizing your comics. You had a horizontal rule that worked as a cursor. You could swipe things to the side (“pick”) to add them to the cursor. You then moved the cursor to the desired location and tapped it to dump the contents (“place”).

My biggest problem with the OP implementation is the “place” button can be far from the “pick” button. Why not just leave it on the moving element - change the label from “pick” to “place” and call it a day.

← PreviousPage 2 of 21Next →