Hacker Newsnew | past | comments | ask | show | jobs | submit | senfiaj's commentslogin

What about TOR or VPNs + faking user agents?


That's the decoy message :)

Ah, sorry, yes, tried with a very different message. But it can still read when telling that the text is formed by movement. AI doesn't see the world the way we do, so it's understandable. https://chatgpt.com/share/6a522660-929c-83eb-91ff-66b7873420...

That is not the message. Did you read the article.

I downloaded the message video, renamed it to test.mp4

Still could read https://chatgpt.com/share/6a5221f0-e3fc-83eb-bc15-74420002b6...


That's not the message

I gave him this video file https://streamable.com/1bxxyf

Yeah, I'm so sick of hearing "it's way faster to install app on linux by using terminal than using that bloated gui softare center".

What happens if I cover the camera?

>> I’m clearly much more productive now. I’m doing five things at once very effectively, switching between multiple agent sessions from morning to night.

Joel Spolsky disagrees here: https://www.joelonsoftware.com/2001/02/12/human-task-switche...


I feel like it depends on the task, and that's why people seem to disagree on this. Think about a manager managing 5 devs. If he is working on planning and managing work for his dev team, we don't say he is task switching, he's just taking a management role where he takes a high level view of the task at hand and then delegates the deep dive. Where it differs for devs is that we could in theory run multiple agents concurrently, but frequently, currently, we have to dive in and give the agents significant steers and this pulls us in to the detail. The same will happen for managers. The variables are the complexity of the task, the capability of the agent and the number of tasks. There are lots of scenarios where devs can run multiple tasks without too much mental overload, but I think what is hard is that we don't know when an agent will underperform on a task and we will get pulled back into developer mode. Maybe it's a case of running for as long as you can in manager mode and then accept that when one agent needs help, you have to single task with that agent (I think this is what makes us feel like we are the bottleneck, and that's where the feeling of stress creeps in). I thought about this a lot while working on https://www.agentkanban.io which I use to help me partition agent chats by task, run separate worktrees etc

>> I feel like it depends on the task, and that's why people seem to disagree on this. Think about a manager managing 5 devs. If he is working on planning and managing work for his dev team, we don't say he is task switching, he's just taking a management role where he takes a high level view of the task at hand and then delegates the deep dive.

This is assuming you fully trust AI code. AI is still not perfect and sometimes might produce code with insufficient quality even when it works. For example, it can fix a bug in a wrong way, such as removing the symptoms instead of fixing the root cause. And so on. Also, I still have to review and test that generated code, especially in complex systems. Yes, AI reduces coding time, but at the expense of increasing the review / testing time, and review is not something all developers enjoy (both as reviewer and someone who is reviewed). This still doesn't seem to be something that has negligible cost of context switching. Also, AI tends to make you more lazy and care less about understanding the requirements. I'll prefer manual coding with some AI assistance for boring / repetitive tasks and finding potential mistakes for software that I care.


Uh, I am an EM, and you have to treat context switching as the enemy or nothing gets done.

There’s a bunch of different tactics for this. Some people hold office hours. I block off 9am for code review any only do it once per day.

The programs we call agents are nothing like people.


That was 2001 today Joel seems to think this is the future: https://hash.ai/

Does Joel still disagree today?

Worth noting that this article is 25 years old. The world was very very different back then, especially when it comes to software engineering.

Context switching is a problem when the cost of switching contexts is non-negligible -- but in the age of agentic development is that still really true? Surely yes for some problems, but for many others I would argue it no longer is.

A personal anecdote for you:

At my company we have a local development CLI our devX team built, it allows for agents to interact with standing up, tearing down and managing local stacks for our software suite. When I receive customer feedback about a broken button, or a poor UX experience, I simply start up a prompt:

/metal user X reported an issue on the trial balance page, they encountered a blank page when using the inception to date filter. We need to investigate the root cause, spin up a new stack, and resolve the bug.

Then off to the next task, maybe some few hours later I'll check back in on the session and I'll see:

> PR created: https://github.com/company/repo/pull/12758295 > QA URL: http://localhost:8400/<url> > Summary of root cause and fix: lorem ipsum lorem ipsum

After a quick QA session I validate the fix, confirm that our claude reviewer has approved the PR and merge the PR to deploy. The mental burden of switching to this task is quite low, orders of magnitude lower than it would be 25 years ago.


What is also lower is your understanding of the change. So yes, if you are now essentially only doing the final mile of paper pushing for the LLM, then the mental burden is lower but so is the assurance of what has just transpired.

Whether this mode of working is going to be long-term viable is going to depend on how important it is for you to be aware of what has happened for the system in question, how viable the economics are for the LLM usage at this level of assurance and how much ownership you exert over the LLM used or another similarly powered one (because otherwise the LLM can be taken away from you, leaving you at the mercy of a third party with goals that do not align with your own).


Both very fair observations.

> Whether this mode of working is going to be long-term viable is going to depend on how important it is for you to be aware of what has happened for the system in question

This is the million dollar we'll see answered in our lifetime. Software engineering exists to automate work, are we arrogant to think we are not destined to the same fate? Is this truly a job befitting of a human over an agent?

Ever since I discovered my dad's C++ book in highschool I've absolutely loved coding, but i'm not convinced I have a long stable career ahead of me in SWE -- I'm 30 now and have already seen so much change in the industry during my professional career.

> how viable the economics are for the LLM usage at this level of assurance and how much ownership you exert over the LLM used or another similarly powered one

This piece scares me the most, a world where the next generation models are capped behind capital infeasible for the common person to access, further separating the ultra wealthy from what little remains of the middle class.

My hope is that open source models will fill the moat all of these AI companies so desperately want to dig, aready models like Qwen and Kimi are unfathomably better than what we had just a year or two ago.


> This is the million dollar we'll see answered in our lifetime. Software engineering exists to automate work, are we arrogant to think we are not destined to the same fate? Is this truly a job befitting of a human over an agent?

There is a fine distinction here that I believe is often glossed over, so the two things it's delineating get muddled together. One of those two things is coding—the rote, mechanical encoding of meaning into computer instructions. It can be argued the LLM is fit to take this out of hands hands almost entirely, and it's almost indisputable the LLM is better at this in at least a certain sizeable subset of coding tasks.

But the other thing is the choosing, determination, specification of the intended meaning itself. This I think is squarely the job of the human, because letting this fall through to the AI means it is no longer the human that is making the decisions. This then becomes not merely automating work but ceding control. This, ultimately, is a bad thing.

So if we accept the premise that the specification of the intended meaning is the job of the human, the question is how you do that. Today many of us do it somewhat half-assedly, by writing lots of natural language text at the LLM and hoping it sticks. It is our hope that the text, given that there is a lot of it, will drive the stochastic machine in a sufficiently correct direction. This works to a degree—meaning we've ceded some control but not the majority of it—not least because we still read (most) of the code but cannot work in the limit, if code reading ceases.

A more proper way to specify the intended meaning is to specify (or "model") your system formally in a system that is mechanically verifiable. Then the final artefact produced by the LLM can be validated by verifying that it aligns with the specification. However this type of high-assurance specification looks a lot like a certain type of programming. In my opinion, writing this kind of specification is the future of human software engineering.

I do not accept the approach of simply rolling the dice and hoping the machine knows better than us, though I'm sure that church is also going to have its acolytes.


This behavior is how you get:

> user X reported an issue on the trial balance page, they encountered a blank page when using the inception to date filter.

It’s whack-a-mole with bugs.


I rate Joel immensely, however, that post is 25 years old.

still true only the multitasking blocks are thinner and more...

Also neuroscience disagrees.

This really isn’t a debate. OP is wrong.


Yeah, same thoughts. And this industry is becoming so volatile, I'm not sure what will happen tomorrow. I mean it's highly unlikely that AI will replace developers at least in the next 10 years, but I'm not sure what will "software developer" become. Certain people love to work with details. If AI is taking away this joy, I'll rather retire as early as possible from this volatile industry.

I’m trying to get a bit away from the business stakeholders, into more technically required roles. Eventually my goal is to get into a system programming role.

The issue with roles close to business is that it doesn’t provide the right soil for good engineering . Your stakeholders have no concept of engineering and wants everything ASAP; Your manager is just a yes man who takes all tickets, and want you to use AI for everything because it’s so easy and quick; Your VP thinks your team is not moving quickly enough; Your VP puts speed before quality literally.

The thing is, I believe that some roles and some industries just don’t care about good engineering. If you want to be a good engineer, you have to stay away from them, even if they are high paying, and get yourself into a system programming role, in a company that fails you if you do not have good engineering practices. The only way to be a good engineer is to put yourself in such an environment that you will almost surely fail if you are not a good one. There is a cool-aid and many engineers drink that the most important thing is "business value", and I politely vomit that all out a while ago. The new rule is to become an engineer that they are still willing to pay you even if you spit on their faces.

Those roles and companies can die and I don’t give a fuck about those business clowns.


In my company it's a bit more complicated, but I have the spirit of your thoughts. I think business software (such as the ERP-like software I work on) is often an entropy magnet from the complexity point of view. It doesn't strive to be simple and elegant because business / finance world is messy. Whether all the complexity and messiness of the financial world is accidental or justified, this is irrelevant for me because I don't care about their business problems. It will be soul sucking anyway.

Yeah I agree. And sometimes it is not really the complexity. For example, kernel or compilers are very complicated in certain way, too, but whichever company makes those products probably is way more stringent about the quality comparing to other companies that are happy to move forward with tons of bugs and tech debts.

>> For example, kernel or compilers are very complicated in certain way, too, but whichever company makes those products probably is way more stringent about the quality comparing to other companies that are happy to move forward with tons of bugs and tech debts.

IMHO, the complexity of kernel and compilers is usually more justified and less accidental. At least non technical people are rarely the cause.


Yeah I’d rather fight with concurrency or obscure language features than fight with ever changing and ambiguous business rules.

Maybe we just aren't far enough in the vibe coding side of things and there are still too many people in the industry who still pay attention to details, so no major catastrophes haven't happened yet because of vibe coding. So the people who pay attention to details are still carrying their organizations, but I do wonder how long it is going to be sustainable.

When it comes to joy killers because of AI, then it is dismal how plagiarism (going by the definition of "presenting someone else's work without attribution") suddenly became widely accepted. When I see long lists of bullet points with interspersed bold text, I know that it is something the sender did not write or bother reviewing. Absolute cherry on top when in the end of that text you see the typical LLM suggestion that you can ask for more information, which the sender didn't even bother removing.


> major catastrophes haven't happened yet because of vibe coding

Didn't Azure, AWS and Cloudflare crash a few times in the second half of 2025 because of vibe coding?


They crashed yes, but not for too long and they did recover. And was it ever confirmed it was because of vibe coding? Not sure how much if any it even impacted their stock.

It was confirmed each was because of vibe coding.

Can you share some links?

Asking for myself, some friends and HN community at large.


Catastrophies would be we vibe coded a nuclear plant or space rocket system and we blew up thousands of people due to a vibe coding error.

I can confirm that nuclear power plant software has much higher quality level than normal commercial software and extremly extensive testing. In addition, lot of nuclear safety is checked below the software level on hardware level.

Developement of nuclear power plant software is very conservative, it will use LLMs maybe in 10-15 years.


Bringing most of the western world economy to a standstill isn't one? When I say AWS was down I mean AWS was down.

> Bringing most of the western world economy to a standstill

That’s a huge exaggeration.


True, it was Crowdstrike that did that, and that one wasn't AI.

The Crowdstrike outage only affected Windows machines. It probably improved the world economy.

programmers were always against "software patents" - the idea of copyrighting algorithms and implementations

implementations are already copyright

It’s not just that. Working with multiple agents and tasks switching will increase cognitive load significantly leading to both poor decision making and increased stress.

https://pmc.ncbi.nlm.nih.gov/articles/PMC7075496/ https://pmc.ncbi.nlm.nih.gov/articles/PMC7614709/


10 years is a long time. 10 years ago the Transformer architecture didn't exist. I would call it moderately unlikely at best. At the very least, I would say it's likely that development will require an entirely different skillet 10 years from now.

Even before LLMs ORMs are good enough to cover most of the use cases. Only some complicated use cases needs raw SQL. So you can use both.

What's the problem with using ORMs for 95% of the cases and using raw SQL only for the remaining 5% where ORM isn't sufficient? One important benefit (aside from writing less code) of ORMs is type checking which is important for maintainability in large complex projects.

So it's a footgun because a lot of low quality software?

Is Firefox low quality?

Well, if Firefox also works on other OSes, it probably should gracefully handle failing allocations, isn't it?

No, it doesn't handle failing allocations gracefully - https://unix.stackexchange.com/questions/797841/firefox-died...

I lost cookies several times on disk-full condition...

There was also a bug in the Linux kernel, or did I miss something?

Yes there was. It's detailed in the article.

But why wouldn't have happened with Rust? Sorry I can't find anything about Rust in the article. Or you mean if the Linux kernel was written in Rust and that stupid bool coercion was not possible?

It's the latter; Rust won't allow the int->bool coercion.

Though to be absolutely pedantic, !x is an int for x:int in C, there is no bool coercion involved; an if-statement takes an expression of any scalar value and evals to true on non-zero. Not that that helps to avoid introducing bugs anyway.


Because Rust programmers would have used an enum or Result.

Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: