MurphyA/hacker-news huggingface dataset:
by dap | 2025-11-01 14:40:49+00:00
> So how exactly did they bring about the impossible? They put an await call inside the critical section. The part of the code base that is not allowed to be subject to arbitrary delays. Massive facepalm.

I'm not sure where you got the impression that the example code was where we found the problem. That's a minimal reproducer trying to explain the problem from first principles because most people look at that code and think "that shouldn't deadlock". It uses a Mutex because people are familiar with Mutexes and `sleep` just to control the interleaving of execution. The RFD shows the problem in other examples without Mutexes. Here's a reproducer that futurelocks even though nobody uses `await` with the lock held: https://play.rust-lang.org/?version=stable&mode=debug&editio...

> I was honestly wondering how you could possibly cause this in any sane code base.

The actual issue is linked at the very top of the RFD. In our cases, we had a bounded mpsc channel used to send messages to an actor running in a separate task. That actor was working fine. But the channel did become briefly saturated (i.e., at capacity) at a point where someone tried to send on it via a `tokio::select!` similar to the one in the example.
by uvaursi | 2025-11-01 14:41:49+00:00
These hot takes are somewhat useless honestly. People give these point-in-time opinions ignoring that the rate of improvement is exponential when it comes to software. The last three, four years of heavy AI utilization have been refreshing.

I personally treat these things the same way I treat car accidents: if an autonomous system still has accidents but has less than human drivers do, it’s a success. Given the amount of nonsense and factually incorrect things people spout, I’d still call Grok even at this early stage a major success.

Also I’m a big fan of how it ties nuanced details to better present a comprehensive story. I read both TBray’s Wiki and Groki entries. The Groki version has some solid info that I suppose I should expect of an AI that can pull a larger corpus of data in. A human editor would of course omit that, or change it, and then Wiki admins would have to lock the page as changes erupt into a silly flame war over what’s factually accurate. Because we can’t seem to agree.

Anyway - good stuff! Looking forward to more of Grok. Very fitting name, actually.
by onion2k | 2025-11-01 14:42:17+00:00
I shared an office with a bunch of crypto enthusiasts in 2010 when I was running my first startup. They kept going on about Bitcoin and how I should get some because money would be obsolete in a few years. I thought they were silly (and I still do) but I could have a very different lifestyle now if I'd had some foresight.

It's not really a regret though. Just a missed opportunity. I'm a little more open-minded about tech now.
Ask HN: What Value Do Programmers Have If AI Allows Everyone to Write Code?
by CoderLim110 | 2025-11-01 14:42:18+00:00
With the rapid advancement of artificial intelligence, we might soon face a future where AI enables anyone, regardless of their technical background, to write code easily. In this scenario, what happens to the value of programmers?

1. From “Writing Code” to “Solving Problems”: If coding becomes widespread, the role of programmers may shift from simply “writing code” to “solving complex problems.” Programmers will need to focus on understanding and addressing problems from a high-level perspective, applying technical solutions to real-world challenges.

2. AI and Creativity: While AI can generate code, it still lacks creativity and deep understanding. Programmers will play a crucial role in designing and guiding the architecture of complex systems, driving innovation, and developing unique products that meet market and user needs.

3. Quality and Security Gatekeepers: AI-generated code might contain bugs or fail to follow best practices. Programmers will be responsible for reviewing, optimizing, and ensuring the quality, security, and maintainability of code to prevent technical debt from piling up.

4. Trainers and Supervisors of AI: Although AI can generate code, it relies on training data and model optimization. Programmers will take on the role of overseeing AI, improving models, and ensuring AI-generated code meets quality standards and aligns with user requirements.

5. Connecting with User Needs: Programmers are not just tech experts, but also the bridge between technology and user needs. Even with AI automating code generation, programmers will remain essential in understanding and translating customer or business needs into effective technological solutions.

In a world where AI becomes more intelligent, how will the role of programmers evolve? How will they continue to hold irreplaceable value in the tech industry?
by moritzwarhier | 2025-11-01 14:42:56+00:00
Abandonware is a clickbait title insofar as it normally refers to licenses, not standards.

The idea of the author seems to be that this part of the DOM API that could benefit from backwards-compatible additions. So, by "abandoned", he hints at the headroom for building more table capabilities into the platform.

He compares it loosely to the form element API and the additions it received over the last decades.

In the case of tables, I could think of things such as a sorting, filtering API, but I can't tell whether that's what he means.
by mindslight | 2025-11-01 14:43:13+00:00
> libertarianism is the safe way to be right-wing in Tech

The deeper lie is that libertarianism is right wing. So-called right wing Libertarianism is fallacious - ultimately a product of the corporate neutering of political organization just like the main parties.

I certainly understand why right- "Libertarianism" is highly appealing - stick to these small core set of axioms, and you will be free, and everything that appears to be bad will actually be justified because it's merely a result of people exercising freedom. It makes it sound like we just need to simplify things. If we just perform a rewrite and avoid giving into the temptation to make bloat, don't you know we will all be free?

The fallacy is easy demonstrated, but requires the reader to suspend the mainstream indoctrination asserting a dichotomy between government and corporations (promulgated in the "Libertarian" dogma by the lemma that a corporation is definitionally incapable of exercising coercion).

In actuality - a government is a corporation, and corporations can exert coercive power like government. What we consider a corporation is merely a partial version of what we consider a government. If we're in need of a particular product or service and there are many corporations to choose from, we feel more free (just as if we could choose between multiple governments!). If there are only a handful of corporations to choose from, especially if the executives all implement similar policies in lockstep, then the dynamic feels much less free. If there is only one corporation to choose from, then we have a de facto government that can coerce us up to the limit of needing that product/service.

Essentially any authoritarian/totalitarian government can be transmuted into an axoimatic right-"Libertarian" utopia simply by reframing its government as a singular corporation with which every citizen has a lifelong contract of onerous terms. And so the only way to approach libertarianism is to set the metric as a society's constructive outcomes for its citizens having effective freedoms.

As for the original topic, the Thiel quote shows that Thiel never actually was a libertarian, or at least least as long as he's been relevant. Rather the only "freedom" he is interested in is his own "freedom" to coerce others. And as he's gained more power, that "freedom" mask has been slowly flaking off.

This is the exact shape of Silicon Valley's surveillance industry as a whole - "disrupting" the world merely to make centralized web/apps that exert fine-grained top down control. "Freedom" for their founders, not for their users. That's not freedom, it's just new systems of control. And now that this new crop of nouveau riche have entrenched themselves, they want to shamelessly start exercising their power.
by joeiq | 2025-11-01 14:43:29+00:00
XSLT is wildly under-appreciated. You can take hierarchical data and bend it to your will, remix it, and turn it inside out if you wish. Those developers working with XML should consider XSLT before rolling their own manipulation script.

Now, do you need XSLT’s capabilities in the browser? Their stats say no one’s really using it.
by bluGill | 2025-11-01 14:43:43+00:00
One more reason to opposed planning departments - too often they are focused on the wrong things. They need to ensure the fire department can rescue people if there is a fire. If my house has a dormer - that should be a first amendment free speech issue they have no interest in (assuming it is otherwise safe). However the looks are easy for someone to verify, while the important things need an engineer to spend time.
by collingreen | 2025-11-01 14:44:11+00:00
This transcript reads like it's out of order or section headers or something. I couldn't even follow it but I get the general gist is "departments don't have as much money as they used to and so lots of time is spent applying for grants"?

This would benefit from curation and organization (and, like, taking out -- how do I... -- like, all the filler, like, time wasting words just, like, taking up room on the page).
by mayhemducks | 2025-11-01 14:44:19+00:00
Cybersecurity professionals are police officers and detectives first, technologists second. They are supposed to catch criminals who abuse technology. I find it distasteful to blame a tool and an entire community for things that criminals are responsible for.

There is nothing about Go, or Cargo, or Nuget, or any of the other systems that prevents criminals from committing crimes. Some cleverness can slow them down, or block certain roads to exploiting these systems, but managing risk in a supply chain is essential no matter which technology ecosystem is used.

Let's stop name-calling and throwing shade at specific tools and communities and get better at educating new-comers to the trade, and shaming and ostracizing the cyber-criminals who are causing the problems.
by joaogui1 | 2025-11-01 14:45:00+00:00
Anthropic has amazing scientists and engineers, but when it comes to results that align with the narrative of LLMs being conscious, or intelligent, or similar properties, they tend to blow the results out of proportion

Edit: In my opinion at least, maybe they would say that if models are exhibiting that stuff 20% of the time nowadays then we’re a few years away from that reaching > 50%, or some other argument that I would disagree with probably
by FredPret | 2025-11-01 14:45:00+00:00
This is a good counterpoint, but forcing companies’ hand with investment will at best distort the economy, and slow it down long term.

Companies are single-purpose wealth creation machines, let them find their optimal investment mix. Taxing only dividends, buybacks, and salaries will bias the taxation to mature companies that aren’t growing so fast anymore, minimizing the damage.
by nullocator | 2025-11-01 14:45:15+00:00
You seem to be under some misguided notion that someone like Paul Krugman wouldn't be and could not remain relevant without substack. The man is in his 70s and had what most would consider a successful career (that he retired from) and he continues to have significant following of his writing, the idea that substack is somehow a requisite for this is laughable.

If Marc Andreessen wants to fund a platform that enables and allows people to call him out on his fascistic bullshit and insane disconnect with humanity, it seems like a trap to say people shouldn't use it to do just that.
by mickeyp | 2025-11-01 14:46:44+00:00
These are my PRAGMAs and not your PRAGMAs. Be very careful about blindly copying something that may or may not match your needs.

PRAGMA foreign_keys=ON PRAGMA recursive_triggers=ON PRAGMA journal_mode=WAL PRAGMA busy_timeout=30000 PRAGMA synchronous=NORMAL PRAGMA cache_size=10000 PRAGMA temp_store=MEMORY PRAGMA wal_autocheckpoint=1000 PRAGMA optimize <- run on tx start

Note that I do not use auto_vacuum for DELETEs are uncommon in my workflows and I am fine with the trade-off and if I do need it I can always PRAGMA it.

defer_foreign_keys is useful if you understand the pros and cons of enabling it.
by embedding-shape | 2025-11-01 14:47:29+00:00
> Just make sure to pass a subscriber to useSyncExternalStore if you decide to venture outside React and use HTMLTable.insertRow, you see react is really smart and won’t let you use this piece of outdated code without punishing you with side effects.

Huh? Why'd you involve state in this or any imperative code? You render the rows/columns as you'd render any other DOM elements in React, pass in the data as props and iterate on it, create children and pass them to render.
by casey2 | 2025-11-01 14:47:51+00:00
There are quite a few scifi novels of libertarian societies that rely on constant surveillance to assure that NAP isn't violated. I'd say the central theme is that eventually technology will solve these disputes so the fundamental system shouldn't allow any political leeway that will slow progress (why solve technical problems when you can just be made whole by the government).

Someone else might want to live were you live, who gets to decide who lives there? You both live in identical virtual copies. The goal is to sidestep politics entirely wherever it appears

Where it falls apart (aside from its total amorality) is that technological progress is secondary to scientific progress and if science says in 100 billion years the universe is over, then there is no technical solution, I don't want people increasing entropy and killing me sooner before then.
by porridgeraisin | 2025-11-01 14:48:08+00:00
> So an application that wants to use SQLite as its database needs to be the only one accessing it.

No. It uses OS level locks. fcntl(). You can access it from how many ever processes. The only rule is, single writer (at a time).

> When another part of the application wants to read data, it reads from the actual database, then scans the WAL for modifications and applies them on the fly.

Also wrong. WAL does not contain modifications, it contains the full pages. A reader checks the WAL, and if it finds the page it won't even read the DB. It's a bit like a cache in this sense, that's why shared cache mode was discouraged in favour of WAL (in addition to its other benefits). Multiple versions of a page can exist in the WAL (from different transactions), but each reader sees a consistent snapshot which is the newest version of each page up to its snapshot point.

> For some reason on some systems that run Jellyfin when a transaction takes place the SQLite engine reports the database is locked and instead of waiting for the transaction to be resolved the engine refuses to wait and just crashes

You can set a timeout for this - busy_timeout.

> Reproducible

There's nothing unreliable here. It will fail every single time. If it doesn't, then the write finished too fast for the read to notice and return SQLite busy. Not sure what they are seeing.

> The solution

So they've reimplemented SQLites serialisation, as well as SQLites busy_timeout in C#?

> "engine", "crash"

Sqlite is not an engine. It's literally functions you link into your app. It also doesn't crash, it returns sqlite_busy. Maybe EF throws an exception on top of that.

I have to say, this article betrays a lack of fundamental DB knowledge and only knowing ORMs. Understand the DB and then use the ORM on top of it. Or atleast, don't flame the DB (context: blame-y tone of article) if you haven't bothered to understand it. Speaking of ORMs ...

> EF Core

You're telling me that burj khalifa of abstractions doesn't have room to tune SQLite to what web devs expect?
by JKCalhoun | 2025-11-01 14:48:29+00:00
Ben Eater delves into 6502 assembly with regard to his bread-board 6502 computer. I recommend anyone interested in assembly do a search (on YouTube) for his series.

I got one of his kits and assembled it while working through his YouTube series.

(I didn't, at the time, continue very far into the assembly course, but perhaps will this Winter when I am hunkered down in the Midwaste with the blizzards beating down on my home.)
by codemonkey-zeta | 2025-11-01 14:48:38+00:00
Author is on the verge of having a Clojure epiphany.

> 1. You should often be using different objects in different contexts.

This is because "data" are just "facts" that your application has observed. Different facts are relevant in different circumstances. The User class in my application may be very similar to the User class in your application, they may even have identical "login" implementations, but neither captures the "essence" of a "User", because the set of facts one could observe about Users is unbounded, and combinatorially explosive. This holds for subsets of facts as well. Maybe our login method only cares about a User's email address and password, but to support all the other stuff in our app, we have to either: 1. Pass along every piece of data and behavior the entire app specifies 2. Create another data object that captures only the facts that login cares about (e.g. a LoginPayload object, or a LoginUser object, Credential object, etc.)

Option 1 is a nightmare because refactoring requires taking into consideration ALL usages of the object, regardless of whether or not the changes are relevant to the caller. Option 2 sucks because your Object hierarchy is combinatorial on the number of distinct _callers_. That's why it is so hard to refactor large systems programmed in this style.

> 3. The classes get huge and painful.

The author observed the combinatorial explosion of facts!

If you have a rich information landscape that is relevant to your application, you are going to have a bad time if you try modeling it with Data Objects. Full stop.

See Rich Hickey's talks, but in particular this section about the shortcomings of data objects compared to plain data structures (maps in this case).

https://www.youtube.com/watch?v=aSEQfqNYNAc
by troupo | 2025-11-01 14:48:42+00:00
> Google won because nobody else really tried.

Google won because it:

- built on a very solid foundation from the start (it started out as a webkit fork), and was generally a good fast browser. This is the very minor part

- Sabotaged Firefox: https://archive.is/tgIH9

- Heavily promoted and advertised Chrome across all of its properties which included such insignificantly small sites like Google Search and Youtube.
by neilv | 2025-11-01 14:48:53+00:00
> Krugman trying to take the piss while he literally makes his living off substack, an a16z funded platform designed to give creators very different platforms and thus finances than they had six years ago, and clearly doesn’t even know it is infuriating.

"How dare this vile journalist criticize a holy god techbro, while using a Web site?!"

Incidentally, here we are on HN, the lounge of junior techbros, which still systematically posts a piracy link for every paywalled news story. Krugman came from one of those revenue-starved news organizations that oblivious techbros are kicking while they're down. If some techbros then deign to toss Krugman some peanuts, for providing "content" on the techbro's property, Krugman should be thankful, and not dare bite the hand that feeds him?

There are bad people and idiots in this story, and it's not the journalist.
by ExoticPearTree | 2025-11-01 14:48:58+00:00
> One might think that as technology progresses more and more pieces of older technologies get revived and incorporated into the available tooling. Yet the very opposite thing happens: good and working parts are removed because the richest companies on Earth "cannot afford" to keep them.

I think it is because nobody, excepts a handful of people around the world, feels the need to use XSLT in lieu of CSS. Hence, CSS has evolved over time while XSLT has not.

This is how the world works: technology advances and old things become obsolete over time.
by wat10000 | 2025-11-01 14:49:31+00:00
Every authoritarian needs secret police. ICE happens to be the perfect agency for Trump to use for this, because immigration is such a hot issue for his base, and immigration law provides some nice loopholes in constitutional guarantees.

For example, deportation is a civil action, not criminal. That means that to exile you from your home the government does not need to prove their case beyond a reasonable doubt, does not need to provide you with legal representation if you can’t afford a lawyer, and the procedure takes place in an administrative court. There have been numerous cases of small children representing themselves in deportation proceedings. And this was all before the current administration.

The point of a bogus database is to give them cover for arresting, imprisoning, and deporting anyone they wish to.
by spinningarrow | 2025-11-01 14:49:40+00:00
I’ve been building sites since around 2000 and I’ve used HTML tables a lot (including for page layouts, remember those days?). There was a time when I thought I was fluent enough to not have to look up HTML or CSS docs for most things. But I don’t think I’ve ever actively used the DOM API that this article mentions so I learned something new today.
by razeh | 2025-11-01 14:49:43+00:00
I was writing software at a bank and found a bug. I was told to save it for when we had our audit —- because no matter what, the auditors were going to insist we fixed something and it might as well be something the development team wanted fixed too. I’ve heard of contractors who leave electrical outlets out of their plans so that the building department, which will insist something be changed in the plans (proving the department’s usefulness), does not insist on something hard.
by Hilift | 2025-11-01 14:49:45+00:00
The typically tier 2 carriers are the main ideal perfect market for eSIMs. If you want to do everything online, you really can't if it relies on a physical something. I would estimate 90% of the market is for mint mobile and consumer cellular. eSIMs are a genius move progression from the old burner phone days, from the perspective of overhead costs and flexibility.
by lucidplot | 2025-11-01 14:51:58+00:00
author here. Agree 100% - the idea of the examples is to get you to try out the technique. When we teach active listening, we start with “it sounds like” or “I’m hearing that” and the instruction to check that you got it right. As you get the hang of it, you don’t have to use these guard rails any more.

But really the difficult part for most people is the listening itself. Actually getting your head around what is going on for someone else.
by whoooboyy | 2025-11-01 14:52:06+00:00
I think you are right, but not thinking deeply enough. You point at the government, and the voting that led to it. 100% that's a step in the root cause chain.

But we cannot stop there, and needs ask why. There are structural forces that lead to this government, some of which are corporate. Fox and MSNBC exist to extract wealth from polarization, and have every incentive to drive wedges between us. Meta and X likewise get paid for optimizing engagement and hate drives engagement.

It's not all corporations, but they contribute to structural forces we're have to unwind as we also try to fix the government side too.
by superkuh | 2025-11-01 14:52:11+00:00
Rust is a great language for devs. They love it and how developer centric everything about it is.

But for end users on Debian trying to compile rust stuff is a nightmare. They do breaking changes in the compiler (rustc) every 3 months. This is not a joke or exaggeration. It's entirely inappropriate to use such a rapidly changing language in anything that matters because users on a non-rolling distro, LIKE DEBIAN, will NOT be able to compile software written for it's constantly moving bleeding edge.

This is an anti-user move to ease developer experience. Very par for the course for modern software.