HN user

hamstergene

1,306 karma
Posts0
Comments197
View on HN
No posts found.

What I didn’t like about this series of books was choosing “garbage collection” as umbrella term for both tracing GC and reference counting, without verifying if programming community would agree with that, which turned out they didn’t.

I’ve seen a lot of threads here and on reddit where people were arguing about terminology purely because of this book alone.

By that definition, C++ code has garbage collection if it uses std::shared_ptr, going against widespread common usage of the term “garbage collected programming language” which specifically contrasts manual languages like C++ or Rust against garbage collected ones.

“Automatic Memory Management” is a lot more suitable description to what programmers have to do to manage memory; it is now in the title but still hasn’t become the primary term.

Because the most important parts of the expertise are coming from their internal "world model" and are inseparable from it.

An average unaware person believes that anything can be put in words and once the words are said, they mean to reader what the sayer meant, and the only difficulty could come from not knowing the words or mistaking ambiguities. The request to take a dev and "communicate" their expertise to another is based on this belief. And because this belief is wrong, the attempt to communicate expertise never fully succeeds.

Factual knowledge can be transferred via words well, that's why there is always at least partial success at communicating expertise. But solidified interconnected world model of what all your knowledge adds up to, cannot. AI can blow you out of the water at knowing more facts, but it doesn't yet utilize it in a way that allows surprisingly often having surprisingly correct insights into what more knowledge probably is. That mysterious ability to be right more often is coming out of "world model", that is what "expertise" is. That part cannot be communicated, one can only help others acquire the same expertise.

Communicating expertise is a hint where to go and what to learn, the reader still needs to put effort to internalize it and they need to have the right project that provides the opportunity to learn what needs to be learnt. It is not an act of transfer.

macOS and Windows both used to allow running arbitrary binaries from a web page. Linux GUI users get away purely because it’s unpopular target for as scammers, once naive grandmas and 12-year olds start using it, I’m sure there will be comparable amount of hurdle to just give another person a binary.

A simple answer is that they see neither.

What they think they see is actually a short snapshot of North Korean life with a red circle, a red arrow and a red caption text that says "North Korean propaganda here!!! -->", carefully drawn by their local propaganda.

Sanity check: I present you a country X, whose language you don't speak, and whose news you don't read day to day. I show you their politician saying something. Can you tell if that was propaganda? Substitute X from "North Korea" to a country you know nothing about and see how the answer changes.

This is indeed interesting because rotating 2D screen is not necessarily the same type of brain processing as experiencing things fly around you. Even VR is not necessarily the same, because knowing you're safe may be different from taking the situation seriously. Could be same, could be completely different.

But the first massively popular 3D games started end of 90s which means Alzheimer cases for them will pop up only around 2060 or later (average onset year 75 minus being 15 years kid during 90s).

Normally I cringe at doomsday preppers but given how many dictators out there love the idea to cut their country off Internet whenever anything starts going not in their favor, I imagine a lot of people may find this useful.

I wouldn’t want to lose access to knowledge how to fix a sink or which medication is better, just because the local kingface currently feels that free exchange of opinions about him threatens his kingship.

Bugs Apple loves 6 months ago

I personally reported that around time when Mac OS X 10.9 (first non-cat) came out and immediately saw it marked as duplicate. So at least 13 years and counting.

Imagine being a person like me who has always been expressing himself like that. Using em dash, too.

LLMs didn’t randomly invent their own unique style, they learned it from books. This is just how people write when they get slightly more literate than nowadays texting-era kids.

And these suspicions are in vain even if happen to be right this one time. LLMs are champions of copying styles, there is no problem asking one to slap Gen Z slang all over and finish the post with the phrase “I literally can’t! <sad-smiley>”. “Detecting LLMs” doesn’t get you ahead of LLMs, it only gets you ahead of the person using them. Why not appreciate example of concise and on-point self-expression and focus on usefulness of content?

Agree, to me this "research" is like proving grocery stores are vulnerable to theft by sending students to shoplift. If review process guaranteed that vulnerabilities can't pass, wouldn't that mean that the current kernel should be pristinely devoid of them?

Having created 100 of nano-sized projects does not add up to having developed and maintained one large code base.

Coding agents are eating up programming from the lowest end, starting from pressing button on the keyboard to type the code in: completion was literally their first application. I don't think it will go all the way to the top, though, the essential part of the profession will remain until true AGI.

Metaphorically, think how integrated chips didn't replace electrical engineering, just changed which production tools and components engineers deal with and how.

Obviously we all are adapting to changes, but if he or someone are panicking about being behind, that can only be because they've never been in too deep.

I feel like many people in the comments aren't aware that Karpathy is an ML scientist for whom programming is a complementary skill, not a profession. The only reason he came up with "vibe coding" is because maximum complexity of his hobby projects made it seem believable. Maybe take his opinions about fate of programming with a grain of salt.

He is brilliant no doubt, but not in that field.

A great opportunity to bring up that a robot that operates 100% locally and is located within Bluetooth range has never needed a cloud account, has never had to become unavailable whenever AWS goes down, and certainly doesn't have to be reduced to a manual dud when its company ceases to exist. I wonder what whoever produced such "Systems Design" would have to say to customers now.

I am really surprised how well AI excuse works, most journalists just take CEO words as is, and make no effort to assess: is that even credible?

Obviously layoffs correlate with AI age, but it's most definitely not AI replacing jobs, not yet. Even in 2025 stories about a job fully taken by AI need to be scraped for, and it's almost always about non-SWE jobs. And in 2023, when the first layoffs already started, models sucked and none of the existing tools and agents even existed yet! But if you search for example for headcount growth in India/Mexico, the numbers can only be described as "booming".

I don't know what exactly is going on, but it's pretty obvious the companies are moving offshore or simply doing less work, and for some reason need to lie about why.

Endless volume escalation is known as Lombard Effect: https://en.wikipedia.org/wiki/Lombard_effect

At parties it is mainly due to room's echo.

The best and cheapest is open-air, where voices fly into the sky and never return, it would take like a thousand of people before it stops being enough.

Second best are large open windows, missing walls (porch/balcony) or multiple rooms.

Beyond that I don't think there can be a solution without some sort of room soundproofing, which is usually no-go for rented spaces and private houses. The closest one can get is to maximize soft surfaces (rugs, curtains esp. along walls).

Speaking of which, I wish bars, restaurants and other venues were required to place echo reducers on the ceiling, such simple and cheap measure would dramatically improve ability to talk there when they're full.

Sometimes I think the way CRDT research formulates the problem, itself obstructs evolution of local-first.

That obsession with Google Docs-like collaborative real-time text editing, a pretty marginal use case, derails the progress from where local-first apps really need it:

- offline-enabled, rather than realtime/collaborated

- branching/undoing/rebasing, rather than combining edits/messages

- help me create conflict-aware user workflows, rather than pursue conflict-free/auto-converging magic

- embeddable database that syncs, not algorithms or data types

CRDT research gives us `/usr/bin/merge` when local-first apps actually need `/usr/bin/git`. I don't care much how good the merge algorithm is, I need what calls it.

Locals have always been allowed to quit the new job on day 1, and it has never been a crisis for employers.

A company that is confident it is offering worthy salary and career should have no extra reason to worry a foreign worker will quit during first week, than that a local worker would do the same thing.

The only difference a fee would make under such conditions is that locals become cheaper to hire, which is the point.

First of all, misleading title? It says that tech debt must be treated as regular business tasks when needed, not denies its existence.

Throughout my career, I’ve been an engineer complaining about tech debt, a manager prioritizing (and deprioritizing) addressing tech debt, and a product manager, where I assume I primarily inspire the creation of new tech debt.

It takes staying on a codebase that has been mismanaged for 5-7 years to know from experience what tech debt really does. Author's CV doesn't show that: he's been 1st employee of a startup, 2nd employee, a PM, and intern i.e. most of the time it was something made from scratch and lasted 1-3 years. That's not enough to see an old project rot. In fact, my first thought while reading was "This post was written by a manager", and yup, by a PM.

Sometimes people want to schedule tech debt in, saying things like “20% of each sprint should be dedicated to tech debt” or allocating a debt fix-it week

The reason is that the industry is full of managers who ignore tech debt entirely and will prioritize it never. All over the place there people who have never seen the tech but will micromanage engineers, preventing doing anything without immediate "customer impact" or "profit impact". It is unfortunately common for a manager to come in, mismanage for 1-2 years, reap rewards for "quick delivery", and leave without seeing damage ripples starting 3-5 years later. Businesses have virtually no measures to prevent this.

Allocating fixed 10-20% is a consensus that protects the team from manager changes. You may understand why something is a systemic problem that has long-term or unpredictable damage, but the next guy doesn't have to. If this was a standard practice which managers don't dare challenge, like code reviews, software engineering would be relieved from proudly incompetent "business focused" managers who run projects downhill. It is either this, or the other popular alternative of working without a manager (search it, there is a lot of advocacy for that).

Just like code reviews are safely net against potential crazy changes esp. from newcomers, fixed time could be a safety net against short-sighted management.

Don’t treat tech debt as separate from feature work

We understand that, we're actually already at the next step: how do we as engineers operate in environment, where too many managers can't understand why tech debt should have same priority as feature work.

Apps are sandboxed and don’t have full disk access unless you want them to.

Article’s claim that websites have same capabilities largely defeats its own argument that websites have less capacity to collect tracking data. Either can be used nefariously if isolation is leaky, and both can be secure if done properly. But sometimes apps are a better default: I would rather not have notes, audio/video recordings, and chats to automatically go to out of device unless I consciously opt in.

Even when privacy is not a concern, there are still plenty of cases when I don’t want the website over the app. I don’t want ebooks reader, music app, bodyweight scale reader, vacuum robot and smart home controls, games to be on the web.

Sure there are plenty of apps that shouldn’t exist, but just as annoying is relentless push for web/cloud tech everywhere just so they can lock you in on a subscription, mine your data behind the scenes, and risk mass leaking all to hackers.

Always use website is a shortsighted advice that doesn’t consider the full picture.

The other side of the coin is that website forces you to trust your data to the website and almost always locks you in with them (the regulation to provide "export" of data worth nothing if competitors are not required to be able to auto-import it). It is not as one-sided as this articles presents it.

There could be generational gap here: for many people the first JS was ES5 or later, which is after the language was taken seriously and fixed. The difference between Python2 and ES1-ES3 was much bigger than between modern Python and modern JavaScript, so some protest against old bad fame is understandable.

But, if you have any suspicion that JavaScript has been treated unfairly: it hasn't. It is literally being replaced by TypeScript as we speak. The fact you have to invite people to come up with more Python slander is itself a testimony, JavaScript has never needed an invitation. Having lot more issues than others is what being exception means, and JavaScript is one.

I think coding assistants aren't great at UI/UX yet because they can't see, their understanding of left/right/lighter/darker is guessed from textual descriptions that accompanied CSS tutorials but they are never actually imagining the looks of what they are working with. I had Cursor repeatedly fix and mess up a CSS grid, over and over again, until I switched to HTML table so that browser would handle layout. Once switched from visuals ("leftmost") to semantics ("first cell in a row") the agent immediately started getting tasks done right.

I guess keep them on backend/library tasks for now. I am sure the companies are already working on getting a snapshot of a browser page and feeding it back into multimodal model so it can comprehend what "looking" means.

An easy answer for what's missing is that the industry isn't run by people who read "No Silver Bullet".

- Articles about tricky nature of tech debt aren't written by people who call the shots on whether the team can spend the entire next week on something that a customer can't see.

- Articles about systems architecture aren't written by people who decide how much each piece of work was significant for business.

- Books on methodologies are optional read for engineers, not essential for their job, and adoption happens only when they push it upwards.

Most of the buzz about AI replacing coding is coming from people who don't see a difference between generating a working MVP of an app, and evolving an app codebase for a decade and fixing ancient poor design choices in a spaceship which is already in flight.

I've even seen a manager who proposed allocating 33% time every day on 3 projects, and engineers had to push back. Such old and common knowledge that it doesn't work is apparently still not a job requirement in 2025. Despite that organizing and structuring project time allocation is management competency and not an engineering skill, it is de-facto entirely up to engineers to make sure it's done right. The same managers are now proud to demonstrate their "customer focus" by proposing to ask AI to resolve all the tech debt and write all the missing tests so that engineers could focus on business requests, and same engineers have to figure how to explain why it didn't just work when they tried.

To talk about complexity is to repeat the same old mistake. I am sure most engineers already know and I am yet to see an experienced engineer who believes their job will be taken by simple prompts. The problem we should be talking about should be titled something like,

"Software Engineering Has Poor Management Problem, and AI is Amplifying It"

It would be great if every complex or volatile third-party library came with its own mock and an abstract interface to which they both conform. Including pieces of language’s standard library itself.

It makes so much more sense this way:

- users don’t have to duplicate effort of writing more or less same mock/stub of the same library

- mock is forced to be up to date, because the library’s maintainers probably pay more attention to their release notes than you do

- no one knows the best choice of mocking approach/DSL than the library’s authors

- the adoption of inversion of control / dependency injection and comprehensive testing could be so much wider if writing a test didn’t require first solving an extra problem if how to mock something with complicated API and if it worth solving in the first place

Remember how the central idea of Orwell's 1984 was that TVs in everyone's home were also watching all time and someone behind that device actually understanding what they see?

That last part was considered dystopian: there can't possibly be enough people to watch and understand every other person all day long. Plus, who watches the watchers? 1984 has been just a scary fantasy because there is no practical way to implement it.

For the first time in history, the new LLM/GenAI makes that part of 1984 finally realistic. All it takes is a GPU per household for early alerting of "dangerous thoughts", which is already feasible or will soon be.

The fact that one household can be allocated only a small amount of compute, that can run only basic and poor intelligence is actually *perfect*: an AGI could at least theoretically side with the opposition by listening to the both sides and researching the big picture of events, but a one-track LLM agent has no ability to do that.

I can find at least 6 companies, including OpenAI and Apple, reported working on always-watching household device, backend by the latest GenAI. Watching your whole recent life is necessary to have enough context to meaningfully assist you from a single phrase. It is also sufficient to know who you'll vote for, which protest one might attend before it's even announced, and what is the best way to intimidate you to stay out. The difference is like between a nail-driving tool and a murder weapon: both are the same hammer.

During TikTok-China campaign, there were a bunch of videos showing LGBT people reporting how quickly TikTok figured their sexual preferences: without liking any videos, no following anyone, nor giving any traceable profile information at all. Sometimes before the young person has admitted that for themselves. TikTok figures that simply by seeing how long the user stares at what: spending much more time on boys' gym videos over girls', or vice versa, is already enough. I think that was used to scare people of how much China can figure about Americans from just app usage?

Well if that scares anyone, how about this: an LLM-backend device can already do much more by just seeing which TV shows you watch and which parts of them give you laugh or which comments you make to the person next to you. Probably doesn't even need to be multimodal: pretty sure subtitles and text-to-speech will already do it. Your desire to oppose the upcoming authoritarian can be figured out even before you admit it to yourself.

While Helen Toner (the author) is worried about democracies on the opposite end of the planet, the stronghold of democracy may as well be nearing the last 2 steps to achieve the first working implementation of Orwellian society:

1. convince everyone to have such device in their home for our own good (in progress)

2. intimidate/seize the owning company to use said devices for not our own good (TODO)

I think the question was pretty clearly worded:

Title: What do insanely wealthy people buy, that ordinary people know nothing about?

Text: I was just spending a second thinking of what insanely wealthy people buy, that the not insanely wealthy people aren't familiar with (as in they don't even know it's for sale)?

The comment just plain and straight doesn't answer the question being asked.

It's kinda amazing how much more it is upvoted than comments with relevant answers. Maybe because emotions from dreaming of what it's like being rich (that's what it actually goes about) are so strong, the interpretation of the question is getting bent towards experiencing them.

I wish we all could agree on a terminology where taking a pill daily is management, not a cure.

A cure should be a one-off measure after which one stays cured. If not forever then at least for years.

Something that needs to be repeated, esp. daily, should have a different word. That’s not a cure.

Returning error codes was actually the first approach to error handling. Exceptions (try/catch) became widespread much later. The article got it backwards calling try/catch "traditional" and Go's approach "modern".