HNHacker News
TopNewBestAskShowJobs

riwsky

2,080 karma · joined February 23, 2013

submissionscomments
riwsky··on Elevated errors across many models
I heard that Google and OpenAI also make coding models, but I’ve never bothered to confirm.
riwsky··on 4 billion if statements (2023)
Would be more maintainable if they injected the loading strategy to be used as a dependency from config instead of hardcoding it :/
riwsky··on Amp, Inc. – Amp is spinning out of Sourcegraph
Where did he go/what’s he doing now? He’s clearly still big on AI coding, given https://steve-yegge.medium.com/six-new-tips-for-better-codin...
riwsky··on It’s time to free JavaScript (2024)
JavaScriptScript?
riwsky··on Why Strong Consistency?
Because the incidence and cost of mistaken under-consistency are both generally higher than those of mistaken over-consistency—especially at the scale where people would need to rely on managed off-the-shelf services like aurora instead of being able to build their own.
riwsky··on Claude Opus 4.5
Because intentionally fucking over their customers would be an impossible secret to keep, and when it inevitably leaks would trigger severe backlash, if not investigations for fraud. The game theoretic model you’re positing only really makes sense if there’s only one iteration of the game, which isn’t the case.
riwsky··on We stopped roadmap work for a week and fixed bugs
So much of the tech debt work scheduling feels like a coordination or cover problem. We’re overdue for a federal “Tech Debt Week” holiday once a year, and just save people all the hand-wringing of how when or how much. If big tech brands can keep affording to celebrate April fools jokes, they can afford to celebrate this.
riwsky··on Several core problems with Rust
Screw discipline, it’s a tooling problem. Making canary rollouts with automatic rollback the default would take a lot of investment up front, but then would make discipline at release time a non-factor.
riwsky··on When is it better to think without words?
what happens is that they're comparatively boring
riwsky··on Free applicatives, the handle pattern, and remote systems
So is Costar, the horoscope app, of all things
riwsky··on Claude Haiku 4.5
the underlying LLM service provider APIs require sending the entire history for every request anyway; the state is entirely in your local (or kilocode or whatever), not in some "session" on the API side. (There are some APIs that will optionally handle that state for you, like OpenAI's more recent stuff — but those are the exception, not the rule).
riwsky··on Switch to Jujutsu Already: A Tutorial
Oh, if you’re an ex-hg guy, this makes this easier, then: jj is in many ways a renaissance for hg’s philosophy: https://ahal.ca/blog/2024/jujutsu-mercurial-haven/
riwsky··on Why language models hallucinate
Here’s where you're clearly wrong. The correct favorite in that corpus is Golden Gate Claude: https://www.anthropic.com/news/golden-gate-claude
riwsky··on Why language models hallucinate
42
riwsky··on Jujutsu for everyone
No. The GP making a commit off of the first non-conflict isn’t the essence of the feature he’s talking about, just an example of what he can do next.

He’d also be free to edit upstream to not commit, or split a change in two so that parts unrelated to the conflict are in their own change. The big idea is that he doesn’t need to blindly decide that before seeing what the conflict is.

riwsky··on In Search of AI Psychosis
The criticism invoked “anyone with serious experience with schizophrenia”, implying the author of the article is not such a one. Citing the author’s experience is a perfectly valid rebuttal to that implication. It’s not an argument from authority, but about it.
riwsky··on Some thoughts on LLMs and software development
Humanity used fire for like a bazillion years before figuring out thermodynamics
riwsky··on What makes Claude Code so damn good
> For those who’ve built coding agents: do you think LLMs are better suited for generating structured config vs. raw code?

Raw code. Use case was configuring a mapping of health data JSON from heterogeneous sources to a standard (also JSON) format. Initial prototype was a YAML DSL, based on the same theory as yours. LLMs had difficulty using the DSL’s semantics correctly, or even getting its syntax (not YAML-level syntax, but the schema: nesting levels for different constructs, and so on). It’s possible that better error loops or something would have cracked it, but a second prototype generating jq worked so much better out of the box that we basically never looked back.

riwsky··on Jujutsu and Radicle
That exact workflow? It won't improve much. But it tends to change peoples' workflows.

For example: let's say you have a few feature branches in flight at the same time, and you want to make a change to one of them to address some PR feedback. In your git workflow, that presumably means something like `git stash; git checkout feature-name; vim-and-actually-make-the-change; git add -up; git commit; git push; git checkout whatever-you-were-doing-before; git stash pop`, ± a `--amend` depending on your PR philosophy. A common workflow in jj is to instead sit on top of a merge commit with all the feature branches at once, and handle this like `vim-and-actually-make-the-change; jj squash -i --into feature-name; jj git push`. You can do something like the latter in git too, of course, it just tends to get hairy relatively quickly with rebases and merge conflicts.

riwsky··on Claude Opus 4.1
Great, now even computers need to leave the IC track if they want continued career progression.
riwsky··on Gemini 2.5 Deep Think
“This meeting could’ve been an email”
riwsky··on OpenAI's ChatGPT Agent casually clicks through "I am not a robot" verification
A long time ago, in the four out of the six boxes below that contain a picture of a galaxy far, far away…
riwsky··on Study mode
Perhaps LLMs are magic?
riwsky··on Jujutsu for busy devs
I’ve never onboarded or successfully convinced a colleague to use jj. But roughly once a month I find myself helping someone escape git hell that would either be easier to solve or avoided entirely with jujutsu. I’m not speaking hypothetically: I will solve the problem locally while waiting for them to slog through whatever merge conflicts or stash/unstash dances.

But the graphite CLI’s stacked PR review is a killer app. Our team uses it, but treats the rebase-centric workflow as the price of stacked review, instead of a mental model to leverage. I end up using jj but with a helper script to set up graphite’s branch tracking whenever I want to submit a stacked PR.

I also was always a git CLI person. I’d do diffs and resolve conflicts in a proper editor, I wasn’t crazy—but I know that changing just my mental model is less work than it’d be to change the UI habits as well.

riwsky··on Jujutsu for busy devs
You indeed can: https://jj-vcs.github.io/jj/latest/config/#set-of-private-co...
riwsky··on Jujutsu for busy devs
jj’s workflow isn’t about being careless with commits—it’s about time-shifting that care to when it’s most convenient. You’d split the commit later for the same reasons you wouldn’t want your text editor to force manually marking each line to save to disk.
riwsky··on Jujutsu for busy devs
It’s both. Their CLI has a lot of overlap with what you’d use jj for (rebasing, amending, etc), but does basically everything worse other than “creating stacked PRs”. Slower; refuses to work from a detached HEAD; gets confused more easily by changes on the remote.
riwsky··on Jujutsu for busy devs
“Trauma” is a bit much.
riwsky··on Jujutsu for busy devs
Extremely amenable—my workflow shifted to match your description after I started using jj, because it makes that easier. Conceptually, it’s not “edit commits by adding on only parts of your staging area”, but “edit commits by only moving or splitting parts from another commit”, and since the working copy is a commit, it is handled by that general case instead of being it’s own thing.
riwsky··on Jujutsu for busy devs
Mental model: “everything is a commit”. Commits are commits. Stashes are commits. The working tree is a commit. The index doesn’t exist, because it’s unnecessary.

The data model is technically of revisions, which are stable across operations like rebases (which change the underlying git commit).

How to conceptualize a branch: as a bookmark of a specific commit.

← PreviousPage 2 of 20Next →