HNHacker News
TopNewBestAskShowJobs

tharkun__

3,139 karma · joined November 28, 2020

submissionscomments
tharkun__··on The Mack Super Pumper was a locomotive engined fire fighter (2018)
Details!

Also, please set up something like this or give me a link to a North American fire department that has such high production value videos: https://www.youtube.com/@BrandweerLunteren

I just love that the guy literally bikes to the fire station in like a minute and he's not even the first guy to arrive or just barely. And the others following in the van are like a couple minutes out at most. Where I am, the volunteers at the fire department have to be there within 15 minutes plus the time it takes to get to the actual fire.

(no worries I understand that the Netherlands is a much different country with regards to fire hydrant infrastructure and closeness to the station from the US / NA, at least/especially the rural US/Canada. I just want such awesome videos from other places around the globe really)

tharkun__··on AI can code, but it can't build software

    Always create a plan/debug markdown file
Very much necessary. Especially with Claude I find. It auto-compacts so often (Sonnet 4.5) and it instantly goes a-wall stupid after that. I then make it re-read the markdown file, so we can actually continue without it forgetting about 90% of what we just did/talked about.

    Prompt the agent to ask questions/present multiple solutions
I find that only helps marginally. They all output so much text it's not even funny. And that's with one "solution".

I don't get how people can stand reading all that nonsense they spew, especially Claude. Everything is insta-ready to deploy, problem solved, root cause found, go hit the big red button that might destroy the earth in a mushroom cloud. I learned real fast to only skim what it says and ignore all that crap (as in I never tried to "change its personality" for real - I did try to tell it to always use the scientific method and prove its assumptions but just like a junior dev it never does and just tells me stupid things it believes to be true and I have to question it. Again, just like a junior dev, but it's my junior dev that's always on and available when I have time and it does things while I do other stuff. And instead of me having to ask the junior after and hour or two what rabbit hole it went down and get them out of there, Claude and Codex usually visually ping the terminal before I even have time to notice. That's for when I don't have full time focus on what I'm trying to do with the agents, which is why I do like using them.

The times when I am fully attentive, they're just soooo slow. And many many times I could do what they're doing faster or just as fast but without spending extra money and "environment". I've been trying to "only use AI agents for coding" for like a month or two now to see its positives and limitations and form my own opinion(s).

    Prompting the agent to ask questions/present multiple solutions allows me to stay "in control" over the how something is built.
I find Claude's "Plan mode" is actually ideal. I just enable it and I don't have to tell it anything. While Codex "breaks out" from time to time and just starts coding even when I just ask it a question. If these machines ever take over, there's probably some record of me swearing at them and I will get a hitman on me. Unlike junior devs, I have no qualms about telling a model that it again ignored everything I told it.

    Ideally a 3rd party "agent" would handle this.
With sub-agents you can. Simple git interactions are perfect for subagents because not much can get lost in translation in the interface between the main agent and the sub agent. Then again, I'm not sure how you loose that much context. I rather use a sub agent for things like running the tests and linter on the whole project in the final steps, which spew a lot of unnecessary output.

Personally, I had a rather bad set of experiences with it controlling git without oversight, so I do that myself, since doing it myself is less taxing than approving everything it wants to do (I automatically allow Claude certain commands that are read only for investigations and reviewing things).

tharkun__··on Meta is axing 600 roles across its AI division
This but also: not the managers in the teams that build/"protect" it.

But really, leadership above, echoing your parents.

I just went through this exercise. I had to estimate the entirety of 2026 based on nothing but a title and a very short conversation based on that for a huge suite of products. Of course none of these estimates make any sense in any way. But all of 2026 is gonna be decided on this. Sort of.

Now, if you just let us build shit as it comes up, by competent people - you know, the kind of things that I'd do if you just told me what was important and let me do shit (with both a team and various AI tooling we are allowed to use) then we'd be able to build way more than if you made us estimate and then later commit to it.

It's way different if you make me to commit to building feature X and I have zero idea if and how to make it possible and if you just tell me you need something that solves problem X and I get to figure it out as we go.

Case in point: In my "spare" time (some of which has been made possible by AI tooling) I've achieved more for our product in certain neglected areas than I ever would've achieved with years worth of accumulated arguing for team capacity. All in a few weeks.

tharkun__··on Postman which I thought worked locally on my computer, is down
Hey, personally I agree. Why would I ever go with Oracle.

But that's A) me personally and B) me in Cloud/Startup type companies, so of course we don't got with Oracle.

But like you mentioned, inertia. So my previous gigs that were large multi-national of course were all Oracle. And they were all huge and had zero reason to not just buy the Oracle tax. Which is why Oracle is going strong.

Despite all the rage, Oracle can still survive quite some time on running boring things like I don't know, many large banks and other boring old businesses. Which of those is really gonna go "AWS Aurora MySQL" when the have had an in-house "Oracle Exadata" run their entire business operation "just fine" for longer than those Cloud providers have even be around?

tharkun__··on Americans can't afford their cars any more and Wall Street is worried
This.

3 year is not a beater. My dad used to buy a new car every 3 years, back in the hey days when his company would have a deal with the local dealership (of one particular brand that they like for some reason - probably CEO friendship or something) to get their employees better terms (without negotiating), so we enjoyed a new car every 3-ish years when I was a kid. But that's not a beater.

The beater cars I owned were about 10 years old when I bought them. And I drove them for like 3-ish more years before selling again.

tharkun__··on Americans can't afford their cars any more and Wall Street is worried
Agreed. I usually have to remind the salesperson to stop talking to me in monthly payment terms. I always tell them to talk to me about final price including all interest.

It's a bit of an uphill battle, where you have to tell them over and over. They're just so used to trying to sell the monthly payment. It's really no wonder that people that don't understand interest (many if not most) will fall for this. And if you actually can't really afford the car, it's also understandable why many if not most people will "gladly" fall for it. The alternative is not having the car of their dreams.

That said, financing in general isn't bad. I've financed most of my cars. I wouldn't have had the sort of "emergency fund" to just outright buy the car and financing allowed me to get the car when I needed it instead of buying some "temp beater" and taking even longer to buy the car I really wanted when I needed it and I paid it back with priority (i.e. faster than the financing terms required it).

tharkun__··on Postman which I thought worked locally on my computer, is down
How's that been going for Oracle so far?
tharkun__··on Understanding Spec-Driven-Development: Kiro, Spec-Kit, and Tessl

    Distinguished Engineer and AI-assisted delivery expert at Thoughtworks.
And then talk about memory banks. Yeah, I recognize that from work where "AI has taken off" as well.

Guess what: As memory banks grow or accumulate the AI gets confused and doesn't quite deliver.

So far, a human that actually knows their product still prevails and is necessary to actually guide any AI effort. AIs have been trying to bullshit me so much it's not even funny any longer. Of course they all apologize and figure out reality when I guide them but that doesn't change the facts. And I simply can't read all the documents the AIs write for themselves to correct all of them and even if I did I wouldn't be sure enough that they'd improve significantly enough for me to try and spend this mind bogglingly boring amount of time to help this thing that's supposed to take my job ....

tharkun__··on Your data model is your destiny
Now how do you get your company / do yourself the hiring of those people in such a way that you can basically just have a team of people like this work with PMs to build their ideas?

I like doing this FS journey myself but am stuck "leading teams" of FS/BE/FE mixes and trying to get them to build stuff that I clearly understand and would be able to build with enough time but all I have is a team of FE or BE people or even FS people that can't just do the above. You need to be very involved with these people to get them to do this and it just doesn't scale.

I've recently tried AI (Claude specifically) and I feel like I can build things with Claude much quicker than with the FE/BE/FS people I have. Even including all the frustrations that Claude brings when I have to tell it that it's bullshitting me.

Is that bad? How do you deal with that? Advice?

tharkun__··on ISPs angry about California law that lets renters opt out of forced payments
Why would the landlord have to pay?

I grant you, yes it can cause problems. I can see plenty of entitled people say things like "if we pay for the wires, the landlord reaps the benefits when we leave and some other tenant uses those wires we paid for". Sure. Or you think about it as being able to choose for yourselves and yes that comes with costs, whether you own the place or not. We're not talking thousands of dollars here.

Look, I don't live in California but we definitely did choose our own ISPs at all the place(s) we rented (multiple places, multiple different countries) and yes, we did have the ISP come have their actual "physical wire provider" come out and run the line and we paid whatever fee was necessary for that (unless the ISP did) and the landlord was absolutely involved exactly zero percent of that. Because it meant we could get the kind of line we wanted from a third party provider at a cheaper price than the underlying physical line provider would've given us.

It's absurd to me to think that the landlord would've had to provide for any of that, except if it meant a huge amount of money and then one would've wanted to set up some sort of "cost share" arrangement. But we're talking like a hundred bucks here, for a multi-year period of use. We're renting the property, not internet service from them. Same with electrical service. We of course paid for the electrical service ourselves instead of through the landlord. It gave us the choice(s).

tharkun__··on Switch to Jujutsu Already: A Tutorial

    Your comment is coming off as a bit defensive
Your article is coming off as a bit offensive ;)

    I didn't write my article to attack git [...] I wrote the tutorial to help.
Except you didn't write a tutorial. You wrote an "I hate git and jj is better and if you think otherwise you're wrong" article.

Blue speech bubble with literally the text: "If you don't like Jujutsu, you're wrong". This is text. There's no "tongue in cheek" voice and body language here, even if potentially you meant it that way. But given how the article itself starts, I don't think there was any of that to transport :shrug:

    Needless to say, I just don’t get git
Actually, it does bear saying. And I do think that if you say "everyone that doesn't think jj is better is wrong" you have to explain what you really don't like or get. No it's not needless, because not everyone has your experience. I really do not understand your pain points unless you explain them, because I've never felt them. Either because I did understand the part you didn't, because I don't need to understand that part to use it well (cutting the decision/knowledge tree in your head is a skill by itself I've found over the years - sometimes you do have to accept magic! E.g. I don't need to understand exactly how any specific LLM works to use it well) or because I simply never had a need for the kinds of feature that trip you up.
tharkun__··on Switch to Jujutsu Already: A Tutorial
Except that it has to first be true that jj is better ;)

You start out the article with hate for git without explaining what you actually don't like, then here on HN say "I don't hate git". A command called `fuckgit`? Because you need to re-clone? What are the things you commonly do that require this? I've never encountered it. Maybe you're just too advanced a user for git and jj really is better for you. But for us lowly regular users I really do not see an issue.

Some of the benefits you tout, like "editing a commit and you don't need to commit it yourself"? I'm sorry but I want to be the one in control here. I am the one that says "I'm done here, yes this is the new version of the commit I'm comfortable with". I've specifically forbid Claude to add, commit, push etc. for example.

It also breaks your "you need to stash" argument. I don't stash. I just commit if I have something WIP that needs saving while I work on some other emergency. There's no reason not to just commit. In fact I do that all the time to checkpoint work and I amend commits all the time. It's my standard commit command actually `git commit -a --amend`.

Automatic "oplog" of everything Claude did, IDE style: sure, maybe. Though I've yet to see that need arise in practice. Just because I have Claude et. al. now, I don't believe changes should be any bigger than they used to. Nor should my "commit early, commit often, push later" practice change.

tharkun__··on Switch to Jujutsu Already: A Tutorial
SVN was not fine. Branching took forever (all the copying). And the space that required ... In fact, lots of things took forever on large-ish repos. Remember that everything required the server and network and disk speeds were slower back then. And just a commit could destroy your work if you got stuck in a conflict resolution. So you'd have to copy all the files you changed to a backup just in case, then delete them if the resolution went OK etc.

Was it better than CVS in some way? Sure.

But git is just better in so many ways. Back in the day I used git exclusively with git-svn at a place that was still stuck with SVN and I had a blast, while everyone else didn't. I just never had any of the problems they did.

I'm not entirely sure what pain people speak of with git. I found the transition very natural. And don't come talking to me about the "weird command syntax". Some of that was specifically to be compatible / "intuitive" / what they were used to for people coming from tools like SVN.

Sure you gotta learn about "the index", understand that everything is local and that you have an origin and local copy of all the labels (also sometimes called branches or tags) you can attach to commits. That's about it for the normal and regular use that someone would've had with SVN.

tharkun__··on The email they shouldn't have read
If you like Lattice's UI then I can't even imagine how bad the other options must have been.
tharkun__··on Wanted to spy on my dog, ended up spying on TP-Link
Are you really surprised though or are you talking about the HN reading subset of your "many people"?

Coz I would absolutely 100% not be surprised for your average consumer.

For your average HN reader I would hope they treat whatever their ISP gave them as just some dumb "switch" type device that sits outside their trusted network and handles nothing but encrypted traffic. Like my ISPs device definitely does have a WiFi and such, which I disabled. I treat it as a bridge / modem and it's definitely not part of my "inner circle". Hasn't been in 25 years.

tharkun__··on How to use Claude Code subagents to parallelize development
Because they output so much code. It's a wall.

Using a coding agent can make your entire work day turn into doing nothing but code reviews. I.e. the least fun part: constant review of a junior dev that's on the brink of failing their probation period with random strokes of genius.

tharkun__··on Many hard LeetCode problems are easy constraint problems
It's funny you mention that.

That's literally what CS teaches you too. Which is what "leetcode" questions are: fundamental CS problems that you'd learn about in a computer science curriculum.

It's called "reducing" one problem to another. We had an entire semester's mandatory class spend a lot of time on reducing problems. Like figuring out how you can solve a new type of question/problem with an algorithm or two that you already know from before.

Like showing that "this is just bin packing". And there are algorithms for that, which "suck" in the CS kind of sense but there are real world algorithms that are "good enough" to be usable to get shit done.

Or showing that something "doesn't work, period" by showing that it can be reduced to the halting problem (assuming that nobody has solved that yet - oh and good luck btw. if you want to try ;) )

tharkun__··on Bulletproof host Stark Industries evades EU sanctions
Especially helpful hint coz the other thread's talking about Elon </SCNR>
tharkun__··on Things you can do with a debugger but not with print debugging
... will sometimes make the race condition not occur because things are too slow.

Like the bugs "that disappear in a debug build but happen in the production build all the time".

tharkun__··on Development speed is not a bottleneck
Well apparently we're "big" then. About 15 years old code base. About 100 services or libraries. The service I tried to first use it on because of the "only use it on small code bases" was only about 300 files though (doesn't include tests even). But I guess Aider got overwhelmed (or rather overwhelmed the LLM with the repo map) by the entire code base's repo map (that's what it said it was updating before it proclaimed that there were too many tokens.

Monorepo.

And that was me already knowing what I wanted and just telling it to do it. I never added any files but the one service but it knows the entire repo.

Claude code on the other I tell "I need to do X thing across the code base" and it just goes and does it (sometimes badly of course) but it has no issue just "doing its agent thing" on it.

Aider wouldn't even be able to do both code and tests in one go? Like the whole idea of "only add the files you need" makes no sense to me for agentic use.

tharkun__··on Development speed is not a bottleneck
I really wanted to use Aider. But it's impossible. How do people actually use it?

Like, I gave it access to our code base, wanted to try a very simple bug fix. I only told it to look at one service I knew needed changes, because it says it works better in smaller code bases. It wanted to send so many tokens to sonnet that I hit the limits before it even started actually doing any coding.

Instant fail.

Then I just ran Claude Code, gave it the same instructions and I had a mostly working fix in a few minutes (never mind the other fails with Claude I've had - see other comment), but Aider was a huge disappointment for me.

tharkun__··on Development speed is not a bottleneck
I can't. The LLM (Claude Code really) is just too slow. It is just so slow at doing the things I ask it to do once I'm at the review stage.

Like the initial plan always sounds great and looks great. Then it goes to actually do the changes and proclaims victory after I left it alone doing other stuff, because it takes a while. Then I review what it did and what it didn't do and I inevitably find that it only did half of what it said it would do and did half of what it did do incorrectly despite what it told me what it would do.

The use case here is a large code base that needs changes. Not new feature development on a green field (or a green corner of an established product). And it's just so unbearably frustrating. It's like giving the task to a Junior on probation. I tell them something, they go off for 10 minutes and tell me they're done and I look and find seven holes I need to tell them to fix. But they aren't the Junior that picks up stuff and gets better and needs less supervision. Instead it seems like the context gets more and more polluted and the Junior gets closer and closer to failing his probation.

Many grey hairs added recently, because yeah, we also "have to be faster by using AI" now ...

tharkun__··on Will AI Replace Human Thinking? The Case for Writing and Coding Manually

    The issue with this approach is the mental load of verifying that the it did the thing you asked for correctly. And that it did not mess something like a condition expression.
That's fair to an extent and what I've commented on before as well: AI can make the enjoyable part of coding "go away" and replace it with the menial and unfun part: Code review.

The "trick" would be to make it more like a pair programming session than code review.

    Which make their whole experience painful for anything that involves a bit of refactoring.
Also agreed! So many times when pairing with others it's like that. It's very painful to see other people debug in many cases. Or write code / interact with their tooling. But then there are also some where it's a ray of light. People that know their tooling just as well as you do or maybe even better and you learn a thing or two.

I love it when I come out of a pairing session and I've learned something that I can incorporate.

And it pains me when I've used something, maybe even specifically called out how I do something, for the n-th time with someone and they still don't catch on. And it doesn't matter if they don't pick it up by themselves or whether it's something that's one of their improvements to work on because we literally talked about it in the last seven 1:1s or something. Some people "just don't get it" unfortunately. Some people really just aren't cut out to be devs. AI or not.

    Editing is effortless in that case. You think about a solution and it's done.
Yes but ;) As in, agreed on effective tool use being awesome but unfortunately more rare than I would like. But there are other people "like you and me" out there. Sometimes we have the fortune to work with them. It's such a delight! I love working with them. I love just working with someone that's on the same level and we can pair on an equal level and get shit done. It's rare though.

It's not just done though. It's still work in many cases and some of that really can be improved with this new tool: AI. Just like we were able to replace a 30 minute Perl refactoring done manually with a few seconds IDE refactoring in Kotlin (or whatever language floats your boat/happens to be used where you are)

     low quality code and having to coax specifications from teammates.
I'm not sure I understand this part to be honest. I don't usually coax specifications from teammates. I coax them from Product people or customers and while it's not really the most fun sometimes, personally, I do find joy in the fact that I am delivering something that helps the customer. I enjoy fixing a bug both because I like the hunt for the root cause (something AI really isn't great at doing by itself from my experience yet - but I do enjoy working with it) and because I like it when I can deliver the fix to the customer fast. Customer reported a bug this morning and by the end of the day they have a fix. That's just awesome. Cloud FTW. Gone are the days of getting assigned a bug someone triaged 6 months ago and it will go out with a release 3 months from now, ensuring the customer gets the fix installed a year plus from when they reported it (coz of course their admins don't install a new release the day it comes out, right?)
tharkun__··on Will AI Replace Human Thinking? The Case for Writing and Coding Manually
I don't think the "complete PR spanning multiple files" is an issue actually.

I think the issue is if you don't yourself understand what it's doing. If all you do is to tell it what the outcome should be from a user's perspective, you check that that's what it does and then you just merge. Then you have a problem.

But if you just use it to be faster at getting the code you would've liked to write yourself, or make it write the code you'd have written if you had bothered to do that boring thing you know needs to be done but never bothered to do, then it's actually a great tool.

I think in that case it's like IDE based refactorings enabled by well typed languages. Way back in the day, there were refactorings that were a royal pain in the butt to do in our Perl code base. I did a lot of them but they weren't fun. Very simple renames or function extractions that help code readability just aren't done if you have to do them manually. If you can tell an IDE to do a rename and you're guaranteed that nothing breaks, it's simply a no brainer. Anyone not doing it is simply a bad developer if you ask me.

There's a lot of copy and paste coding going on in "business software". And that's fine. I engage in that too, all the time. You have a blueprint of how to do something in your code base. You just need to do something similar "over there". So you know where to find the thing to copy and paste and then adjust. The AI can do it for you even faster especially if you already know what to tell it to copy. And in some cases all you need to know is that there's something to copy and not from where exactly and it'll be able to copy it very nicely for you.

And the resulting PR that does span multiple files is totally fine. You just came up with it faster than you ever could've. Personally I skipped all the "Copilot being a better autocomplete" days and went straight into agentic workflows - with Claude Code to be specific. Using it from within IntelliJ in a monorepo that I know a lot about already. It's really awesome actually.

The funny thing is that at least in my experience, the people that are slower than you doing any of this manually are not gonna be good at this with AI either. You're still gonna be better and faster at using this new tool than they were at using the previously available tools.

tharkun__··on A failure of security systems at PayPal is causing concern for German banks
Nobody is making you. You are given a choice.

This company needs to get paid. For that it uses ads and other means, just like everyone else does. Their list of ads, tracking and other partners happens to be around 200. They tell you and you either choose to accept that, read their content for "free" (like you use other content/apps for "free") or actually choose to say "No, if "free" costs me this, then I don't want it".

And some really aren't even to "sell your data" but just their own analytics to let their dev/SRE staff see what's going on. Nothing nefarious at all.

Nobody forces you to accept this and read their content.

Heck, your online banking/brokerage probably uses a bunch of trackers you probably aren't aware of, because they don't tell you. Go open the network tab in dev tools and check.

tharkun__··on A failure of security systems at PayPal is causing concern for German banks
Which is the same as many if not most of the other sites we regularly link to on HN. You just aren't told about it.
tharkun__··on 450× Faster Joins with Index Condition Pushdown
It's an example. But not of that.

It's an example of old things being new again maybe. Or reinventing the wheel because the wheel wasn't known to them.

Yes I know, nobody wants to pay that tax or make that guy richer, but databases like Oracle have had JPPD for a long time. It's just something the database does and the optimizer chooses whether to do it or not depending on whether it's the best thing to do or not.

tharkun__··on From $479 to $2,800 a month for ACA health insurance next year
It was an example. You can make other examples.

Let's take France. Looks like it's 8% you pay:

    You’ll pay 8% of your income (that the French government is allowed to tax, after an additional standard deduction of around $11,000 per person). As a ballpark figure, an individual who has income to declare to the French government of $30,000 will pay around $1,520 a year in healthcare. 
However, you are also only reimbursed 70-80% of your costs (depending on what it is), similar to the NA system(s), where your employer health plan may only reimburse a percentage as well but where no 'top-up' exists.

    In order to make up the remaining amount in excess of the 70% reimbursement (80% for hospital stays), many French residents opt for private, or “top-up,” insurance. Several options exist, and rates vary from $36 to $72, on average, per month
https://internationalliving.com/countries/france/health/
tharkun__··on From $479 to $2,800 a month for ACA health insurance next year
Does it?

Let's look at another country that has "great universal health care". Let's look to Europe, that's always "up there", right?

    For statutory or public health insurance, you pay for your insurance through social contributions, the rate of which is 14.6% of the income as  determined by the Federal Ministry of Health for 2024.
https://www.germany-visa.org/insurances-germany/health-insur...

Pretty sure that's up but let's assume 15% of income.

tharkun__··on A guide to Gen AI / LLM vibecoding for expert programmers
Sounds like you really like code reviews. You must be a unicorn.

I find most programmers don't like code reviews. They do it because it's required by their job and most will just click the approve button. Or I guess in a more dysfunctional org, argue about formatting or something, which should just be done automatically so that nobody has to even think about it.

What they like doing is the coding and problem solving.

And now you want to make programming into code review?

How's that gonna go?

← PreviousPage 7 of 34Next →