MurphyA/hacker-news huggingface dataset:
by johnfn | 2025-12-18 15:42:32+00:00
> When you click it, HTMX POSTs to /clicked, and whatever HTML the server returns replaces the button. No fetch(). No setState(). No npm install. No fucking webpack config.

Can someone explain something to me?

To my view, the single best idea React has is that it forces you to encapsulate the full set of states in your component - not anywhere else. For instance, if you have a "Comment" button that becomes "Submitted" after you click it, you must include that state inside the comment component. You can't hide it somewhere else (i.e., in the input field after you press cmd-enter). This is a huge thing for managing complexity - if you spread state updates to a number of different places, it becomes significantly harder to reason about how the button works.

Replacing the button with whatever the server responds with may sound simple, but it really makes it hard to answer the question of "what are all the states this button could be in". I mean, what if the server returns another button... which hits another API... etc?

The weird thing is that HTMX talks about Locality of Behavior (yay!), but doesn't seem to practice it at all?

BTW, one other thing:

> The ecosystem is why your node_modules folder is 2GB. The ecosystem is why there are 14 ways to style a component and they all have tradeoffs. The ecosystem is why "which state management library" is somehow still a debate.

> HTMX's ecosystem is: your server-side language of choice. That's it. That's the ecosystem.

Really? Python is my ecosystem. You know that people add stuff to their node_modules because they need it, right? It's not like we do it for fun. Where am I going to find a date-time picker in Python? Am I going to build it from scratch? Where is an autocomplete component in Python? Or mentions?
by DaSHacka | 2025-12-18 15:42:34+00:00
> 95% of the arrests aren't actually arrests. The police send you a polite letter, you write a polite response, and at least 90% of the time the case is dropped.

Bahaha, as if that's any better.

Guess cops showing up to your door for being mean to someone online is just an inevitability when there is no "second amendment" equivalent in said country.

Sad state of affairs, if they weren't british I'd almost feel bad.
by karmakaze | 2025-12-18 15:42:38+00:00
> Any HTML element can make an HTTP request

> The server just returns HTML (not JSON, actual HTML)

I like to separate presentation HTML from the data (returned from HTTP request). Some like to make backends that do nothing but serve the (singular) frontend, even running templates to make the HTML they return for easy consumption. That's not where I draw the line.
by adam_patarino | 2025-12-18 15:43:44+00:00
Context / understanding of your codebase is the most important part of AI coding. The current AI tools like claude code and cursor aren't super great at this on their own. They want you to use a plan mode to build up a clear plan of what files to touch and what needs done.

I like Augment Code for it's context engine - it is a lot better at finding where in the codebase changes need to be made without the planning.

It's the central thesis to what we're doing at Cortex.build - our local model can compete with large SOTA models because of how much work we do on mapping the codebase and creating just in time context for our LLM to make small and precise changes.
by ryandrake | 2025-12-18 15:44:04+00:00
Chargeback has become the only way to get any justice out of companies anymore. It used to be the last resort--the point where you have tried everything and customer support won't budge. Now it's sometimes your only option because customer support doesn't even exist.

I swear, I've probably done a single chargeback from all of 1995-2015, yet I've done at least five from 2015-2025.
by komali2 | 2025-12-18 15:44:18+00:00
But how do you account for things like cycles of violence and PTSD? I have veteran friends that, sure, could handle being shot at better than me, but on the other hand I can go to a fireworks show without worrying about having a public breakdown. Or I got friends that suffer for lack of the structure the military provided and just veg out now, picking fights at the bar for a little excitement.

Hell I guess you can describe them as "hard men" but I wouldn't want to be that way and it doesn't seem to make you more successful in modern society.
by nyeah | 2025-12-18 15:44:51+00:00
Sure, but medieval European art generally sucked. (Call this a hypothesis if that helps.)

Compare the damn cave paintings of buffalo to most medieval European art. Some of the 10k-year-old stuff is much better observed. Europeans between about 500 and 1300 mostly couldn't paint. I'm sorry about that.

It's just not always taste. Sometimes it's taste. Sometimes people are bad at making art.
by lxgr | 2025-12-18 15:44:53+00:00
> There is no meaningful way to exist in society today without an Apple or Google account

As is the case for many other infrastructure companies, such as your local electricity network operator (or even supplier depending on market liberalization). We also didn't solve that problem by ensuring everyone's right to run a generator in their backyard or heat their city apartment with a coal oven.

If tech companies have become essential to our day to day lives and are not willing to allow for horizontal interoperability, i.e. to split over-the-top services from infrastructure and individual elements of infrastructure from each other – because walled garden lock-in undoubtedly increases profits – why not regulate them as infrastructure entirely?
by abhi_telnyx | 2025-12-18 15:45:07+00:00
We’ve seen a lot of voice AI demos over the last year that sound impressive in isolation and then fall apart the moment real callers show up.

This piece is an attempt to write down what actually breaks in production voice systems, and why most of those failures are not model-related. Latency, turn-taking, barge-in, state handling, and escalation end up mattering more than prompt quality or model choice once you put traffic on a phone line.

The core argument is that voice AI should be designed as a real-time system with strict constraints, not as a sequence of API calls glued together. We also go into why many teams underestimate latency by measuring it in the wrong place, and how architecture choices quietly define what is even possible conversationally.

This is written from the perspective of building and running these systems, not from a research angle. No claims about “human-like” agents. Mostly lessons learned the hard way.
by grugdev42 | 2025-12-18 15:45:12+00:00
Ultimately the complexity does have to live somewhere.

The idea that HTMX removes all the complexity is false. However it does remove some of it, and moves the rest onto the backend.

I find the backend easier to work with, so that's a win for me.

And a batteries included framework (like Laravel or Django) makes HTMX even more appealing. They already have everything you need! :)
by wat10000 | 2025-12-18 15:45:13+00:00
China is quite a bit worse. Not having an Apple or Google account in the US would be kind of inconvenient. Not having WeChat Pay or AliPay in China means you can't buy stuff most places. They've ensured that their de-facto-mandatory services are domestic, but they're a lot more mandatory.

I assume the Chinese government is quite happy with this, because they have no trouble bringing their large companies to heel, unlike the US. And centralizing payments like this gives them a great deal of information and control.
by Ajedi32 | 2025-12-18 15:45:25+00:00
Since 1791, the right to be armed has been considered a fundamental human right in the US, on the same level as freedom of speech and religion. You're fighting an uphill battle by trying to argue we should take away people's fundamental human rights in the name of public safety. To many, it's essentially no different from if you were trying to argue we should take away people's rights to free speech because some people use that right to promote violence.

Whether you think that makes the gun situation "hopeless" depends on whether you think there are other ways to reduce violence without taking away the rights of law abiding citizens.
by stackskipton | 2025-12-18 15:46:08+00:00
Yep. Remember, people not posting on this website are just grinding away at jobs where their individual output does not matter, and entire motivation is work JUST hard enough not to get fired. They don't get stock grants, extremely favorable stock options or anything else, they get salary and MAYBE a small bonus based off business factors they have little control over.

My eyes were wide open when 2 jobs ago, they said they would be blocking all personal web browsing from work computers. Multiple Software Devs were unhappy because they were using their work laptop for booking flights, dealing with their kids schools stuff and other personal things. They did not have personal computer at all.
by phantasmish | 2025-12-18 15:46:16+00:00
I… super hesitate to wade into this, but:

1) It was way before it became prestigious.

And

2) An explanation of this needs to account for a great and rapid shift in favor of women, as far as proportion-of-practitioners, that was happening at exactly the same time as the opposite shift in programming, in both law and medicine.

I don’t know what the actual reason is but “it got prestigious so women got pushed out” makes no sense to me, based on the timeline of events in full context. It was very much not prestigious in the ‘80s and early ‘90s, certainly far less so than law and medicine at that time (still isn’t as prestigious as those, outside tech circles—you can see it in people’s faces. It’s high-paid but lower-“class” than those, to this day)
by mytailorisrich | 2025-12-18 15:46:23+00:00
> and satisfy bureaucrats

That's an unnecessary quip as that's not the point of checks.

It's not surprising that if unemployed people receive benefits with no strings attached their "mental health" is better since it removes pressure to find a job.

> It was the unconditionality itself—the simple act of trusting people with resources, without surveillance or judgment, without hoops to jump through or forms to fill out—that created these dramatic improvements in psychological well-being.

It not about trusting people with the money they are given.

The usual checks are because people are expected to earn a living by themselves and unemployment benefits are only meant to help them while they can't and are looking for a job. It is not meant to enable a life-style, which is what unconditionality can lead to.

> the conditions we attach to welfare aren’t just bureaucratic inconveniences. They are active harms. They create stress, anxiety, and psychological damage that persists even when the financial support is adequate.

Oh dear... This reads like a parody at that point.

An useful measurement would be to see which group, if any, found a job quicker. A finding that conditionality does not speed things up would be noteworthy and helpful, a finding that people feel better when they get money every month unconditionally isn't.
by registeredcorn | 2025-12-18 15:46:31+00:00
Regarding

> We share similar struggles, though I recognize that Turkey's situation involves much less external interference than Iran's... ours is mostly our own doing.

Can you explain what you mean by Turkey having issues "of it's own doing"? Do you mean something like corruption, or some other factor? I know very little about Turkey or the issues it faces, other than some cataclysmic earthquakes.
by MrPowerGamerBR | 2025-12-18 15:46:34+00:00
> Every endpoint returns 3–5 different HTML fragments. Frontend and backend must agree on every scenario — success, validation errors, system errors, partial updates, full reloads.

And why would that differ from React?

When I was building a website with React, I needed to model a "apply coupon" endpoint with different states (coupon applied, coupon does not exist, coupon exists but has reached its max usage limit) and it was so annoying because you needed to

1. The backend route that returns JSON with a different model depending on the coupon state

2. The JSON models for each response type

3. And then on the frontend you need to load the data, parse the JSON, figure out which "response state" it is (http status code? having a "type" field on the JSON?) convert the JSON to HTML and then display it to the user

In my experience it added a lot of extra "mental overhead". It is something that should be extremely simple that ends up being unnecessarily complex, especially when you need to do that for any new feature you want to add.

When using htmx, a simple implementation of that would be

1. A backend route that returns HTML depending on the coupon state

2. Some htmx attributes (hx-post, hx-swap) on the frontend to make the magic happen

Don't get me wrong, there are places that you wouldn't want to use htmx (heavily interactive components) but that's why htmx recommends the "islands of interactivity" pattern. This way you can make the boring things that would add unnecessary complexity when using React with htmx, and then you can spend the unused "mental overhead" with the interactive components. (which, IMO, makes it a more enjoyable experience)

At the end of the day it is just choices: Some people may prefer the React approach, some people may prefer the htmx approach. All of them have their own upsides and downsides and there isn't a real answer to which is better.

But for my use case, htmx (truth to be told: I use my own custom library that's heavily inspired by htmx on my website, but everything that I did could be done with htmx + some htmx extensions) worked wonderfully for me, and I don't plan on "ripping it all out" anytime soon.
by EvilTrout | 2025-12-18 15:46:36+00:00
Blow and Muratori gained a following of engineers by bashing existing popular languages and engines, claiming they were all garbage.

They both started this after the Witness came out, 10 years ago.

Since then, guess how many games Muratori has shipped? 0. (He cancelled his announced game.)

Guess how many Blow has shipped? 0 so far, but it sounds close now.

These engineers spent their time ragging on other developers for slinging bad code and doing things horribly, meanwhile those developers were shipping games and apps and all sorts of other stuff.
by Workaccount2 | 2025-12-18 15:46:44+00:00
The real real problem are shameless shitheads that will abuse anything to any length the run scams or malware distributions.

"Yes support tech, please understand my child just died of cancer and my wife in a car accident last week and the only pictures I have of them are on my bitcoin4free@gmail.com account!"

Google probably also bans thousands of accounts a day. And suddenly every single one of them needs a full human appeal review. Because jamming up the system is (short term) beneficial to these shitheads.
by mythz | 2025-12-18 15:46:44+00:00
I keep seeing articles religiously pushing htmx, what I'm not seeing are sophisticated examples or apps written with it, just more basic example and interaction examples.

I personally prefer UIs with great encapsulation/composition, which used to be Vue, but with AI starting to write more of my UIs now I've switched to React/Next.js for new non-progressive UIs.
by adam_patarino | 2025-12-18 15:46:59+00:00
Feel this so hard. The opposite is also true where you have a micro-service architecture and cursor faceplants in workspaces with multiple repos. We ended up building cortex.build partly because of this exact pain. Our context engine builds a git-aware dependency/provenance graph so it can stay local and only pull the relevant slice across a massive repo or dozens of smaller ones.
by xnorswap | 2025-12-18 15:47:01+00:00
That's possibly true, but I wonder why react as an abstraction fails to deliver that kind of independence.

In theory, react developers ought to be able to code against the react API in typescript, without seeing the "raw" HTML+JS that gets delivered to the browser.

So what's failing those developers? Is it the tooling, the abstraction itself, or something else?
by insane_dreamer | 2025-12-18 15:47:04+00:00
I understand and worry about my kids the same age too. But the paradox I myself admit to is that those perceived dangers aren't new nor have they increased significantly since I was young in the 70s -- other than scooters being new -- and yet I, and pretty much every other kid, had tons of freedom and was just fine. So it's mostly about the fears in my head, not the reality on the ground.
by laurentiurad | 2025-12-18 15:47:17+00:00
No disrespect but still accuse someone of a scam, right?

I specified clearly in the description of this service that I deliver financials, historical or congress/senate trades. I think it's obvious for someone working in finance that the last two cannot be fetched from quarter or annual forms. Things like revenue, eps, ebitda, pre/post earning moves (those use last, open prices too), are strongly-related to 10Q though.

I really don't care whether you like the landing page or not. I have two B2B clients for this API and 0% churn so far, which is the best metric I need to track right now. I will stop responding to this thread since I don't think it's productive for any of us.
by RiverCrochet | 2025-12-18 15:47:32+00:00
> I’m of the belief that HN would benefit from showing a user’s up-votes and down-votes

Posting history of any account is already visible. That's already a lot of transparency.

Having individual account vote histories visible won't add any benefit, but will increase ad hominem attacks within discussions, and will also increase hive-mind type voting.

Hacker News is just a discussion forum. This isn't real life. The focus should be on the discussion more than the people-there's not much in the way of profiles. It's weird to ask more of a discussion forum than a government election process which actually does matter.

> Also limit down votes per day

Posts can already only be downvoted for a limited duration. You also can't downvote until you have 500 points.

If you require spending points downvoting, it simply further incentivizes point harvesting or spending all day on HN so you can have more power, which only drives non-genuine activity.

I think personally once you reach 1000 points a star should be displayed instead of the score.
by dvt | 2025-12-18 15:48:06+00:00
This is not just a problem in Spain. Affordable housing is a problem in almost every Western metro, both in the US and in Europe. The problem is caused by the financialization of real estate.

I know it's always been a bit of a financial asset, but the past 40 years have really seen this accelerate to pretty crazy levels. The issue, when you boil it down to the basics is: wealthy folks, development companies, overseas oligarchs, hedge funds, etc. owning many properties where they try to extract as much value as possible. This means that rents go up and short-term-rentals become more viable. This also means that young middle-class families can't afford to purchase or to live there, so it pushes out locals (this is especially bad in Lisbon).

The solution seems to be government telling you what you can or you can't do with your private property, which does not sit well with me, but it's becoming more and more clear that this can't go on forever.
by secabeen | 2025-12-18 15:48:19+00:00
It's going to get worse, ADA Title II updates require that by April 2026 all PDFs and documents be used by UCB be accessible to the WCAG 2.1 AA standard. I expect a lot of third-party content currently hosted on University of California websites will go away.

https://dap.berkeley.edu/documents-forms/pdfs

https://dap.berkeley.edu/ada-title-ii-updates/title-ii-ada-w...
by varispeed | 2025-12-18 15:48:32+00:00
When government is corrupt, any activity that makes it easy for citizens to protect themselves can be described as hostile.

This is just a symptom of security services not doing the job tax payers pay them to do.

Like when foreign asset managers can influence government to create policies nobody voted for and make it the most important thing on the agenda? No a single arrest?

We are entering banana republic territory.
by belorn | 2025-12-18 15:49:31+00:00
A possible explanation why typos for major sites are sparsely registered could be that the domain industry has put a lot of focus the last decade on addressing malicious registrations, and many registrars that focus on the market segment of large companies sell products that monitor for malicious registrations with legal response in case one pops up. It is also seems that bulk registrars has gotten better filters to reduce malicious registrations, which is a service some security companies offer to registrars. In theory it should be quite more difficult today for a malicious actor to go to a major registrar and buy an obvious trademark infringing domain for a major site.

Domain/trademark monitoring also directly compete with defensive registrations. Often it is a question if you want to pay the lawyers/monitoring service, a large number of registration/renewal fees, or both.
by timatping | 2025-12-18 15:49:40+00:00
Right now org is just done via ASN of the DNS Server IP address. Google has a lot of ASNs between its cloud regions, DNS network and others.

We added Trusted label to try to manually show DNS servers we 100% know are ran by a big org (not just on their network).

There is probably a better way though. I'll have a think.

Cheers
by skeeter2020 | 2025-12-18 15:51:00+00:00
1. if it won't compile you'll give up on the tool in minutes or an hour. 2. if it won't run you'll give up in a few hours or a day. 3. if it sneaks in something you don't find until you're almost - or already - in production it's too late.

charitable: the model was trained on a lot of weak/lazy code product.

less-charitable: there's a vested interest in the approach you saw.
by PaulHoule | 2025-12-18 15:51:06+00:00
If you are comfortable building web apps like the early adopters did in 1999 that later got mainstreamed with Ruby-on-Rails and related frameworks, HTMX adds a wonderful bit of extra interactivity with great ease.

Want to make a dropdown that updates a enumerated field on a record? Easy.

Want to make a modal dialog when users create a new content item? Easy.

Want a search box with autocomplete? Easy.

As I see it the basic problem of RIA front ends is that a piece of data changed and you have to update the front end accordingly. The complexity of this problem ranges from:

(1) One piece of information is updated on the page (Easy)

(2) Multiple pieces of information are updated but it's a static situation where the back end knows what has to be updated (Easy, HTMX can update more than one element at a time)

(3) Multiple pieces of information but it's dynamic (think of a productivity or decision support application which has lots of panes which may or may not be visible, property sheets, etc -- hard)

You do need some adaptations on the back end to really enjoy HTMX, particularly you have to have some answer to the problem that a partial might be drawn as part of a full page or drawn individually [1] and while you're there you might as well have something that makes it easy to update N partials together.

[1] ... I guess you could have HTMX suck them all down when the page loads but I'd be worried about speed and people seeing incomplete states
by vel0city | 2025-12-18 15:51:09+00:00
Yeah, so secure.

https://support.broadcom.com/web/ecx/support-content-notific...

https://nvd.nist.gov/vuln/detail/CVE-2019-5183

https://nvd.nist.gov/vuln/detail/CVE-2018-12130

https://nvd.nist.gov/vuln/detail/CVE-2018-2698

https://nvd.nist.gov/vuln/detail/CVE-2017-4936

In the end you need to configure it properly and pray there's no escape vulnerabilities. The same standard you applied to containers to say they're definitely never a security boundary. Seems like you're drawing some pretty arbitrary lines here.