MurphyA/hacker-news huggingface dataset:
by earcar | 2025-07-09 12:18:48+00:00
Author here. The problem: every thread-based job queue (Sidekiq, GoodJob, etc.) has a max_threads limit. Set it to 25? That's your hard ceiling for concurrent LLM conversations. The 26th user waits, even though your server is 99% idle.

Switched to async-job in 30 minutes. No code changes needed. No max_threads = our AI app went from barely handling 25 users to thousands on the same hardware.

The beautiful part: existing libraries like RubyLLM automatically get async performance because Net::HTTP yields to fibers. No special async versions needed. No async/await keywords polluting your codebase.

After a decade in Python's asyncio world, this feels like how async should have been done. You get massive concurrency without the complexity tax.

Happy to discuss the technical details or migration experience. The future of Ruby AI apps is here, and it's surprisingly simple.
by boesboes | 2025-07-09 12:19:09+00:00
This. AI replacing all software engineers? Hype. Me, a SE with 20 years experience, using AI to do the heavy lifting of refactoring 2500 code points and corresponding tests, so that i can focus on what is the correct solution? That works very nicely. Or just last week, I managed to do some research into how (we think) the brain works, and draft a position paper based on the research and my thoughts in a day or two, instead of weeks. I don't care about AGI, or wether LLMs might approach that, or wether LLMs 'are just autocompletion'. It lets me focus on the things that matter more in my work. It still has a long way to go, but claude code is pretty decent at doing menial jobs for me already
by eadmund | 2025-07-09 12:20:24+00:00
> I'll never understand why the HATEOAS meme hasn't died.

> Is anyone using it? Anywhere?

As I recall ACME (the protocol used by Let’s Encrypt) is a HATEOAS protocol. If so (a cursory glance at RFC 8555 indicates that it may be), then it’s used by almost everyone who serves HTTPS.

Arguably HTTP, when used as it was intended, is itself a HATEOAS protocol.

> What kind of magical client can make use of an auto-discoverable API? And why does this client have no prior knowledge of the server they are talking to?

LLMs seem to do well at this.

And remember that ‘auto-discovery’ means different things. A link typed next enables auto-discovery of the next resource (whatever that means); it assumes some pre-existing knowledge in the client of what ‘next’ actually means.
by alok-g | 2025-07-09 12:21:31+00:00
Right question to ask, and I do not have have good answers currently. But here are some thoughts:

First, a clarification over what I am not challenging with the status quo. In nature, some organisms are higher up in the food chain and freely kill others. We do NOT define 'fit' in the way where those who are better at killing other humans are favored for survival. We have already set this right by creating laws that punish homicide. This bends the optimum from favoring more physical strength to favoring people to make good overall social contributions, which can be intellectual as well.

The value society should provide to an individual should (generally) be based on the value they provide to the society. This is already majorly the case. However, I challenge inheritances where someone may just be born with a lot more than others without having made those contributions to the society. There are debates present online on this alone, and I cannot claim that the social choice should be exactly this way or that way.

In a democracy, people (except children, etc.) are given equal right to vote. I do not find this optimal. People who understand social dynamics, policies and promises of various parties well (which does not include me) should have more influence on which party should get selected. I do not know how this could be implemented. Perhaps a quiz along with the vote?

I know these are not good and realistic examples. I'll need to think more. However, I do often feel that people who do good and think for the society struggle more while those who put themselves higher at the cost of the society often end higher up.
Do You Send Messages?
by bahrtw | 2025-07-09 12:22:03+00:00
Hi all,

I’m always sending myself messages. Maybe you do too? Shopping lists, things to do, good quotes, recipes, beautiful pictures, movies I want to watch, random ideas...

really curious if it is just me not using a note taking app, or more people are doing it this way? Don't know when I started using this, but never switched to some proper app.
by PeterStuer | 2025-07-09 12:22:27+00:00
Indeed. Dabbling in 'RAG' (which for better or worse has become a tag for anything context retrieval) for more complex documentation and more intricate questions, you will very quickly realize that you really need to go far beyond simple 'chunking', and end up with a subsystem that constructs more than one very intricate knowledge graphs for supporting different kinds of questions the users might ask. For example: a simple question such as "What exactly is an 'Essential Entity'? is better handled by Knowledge Representation A as opposed to "Can you provide a gap and risk analysis on my 2025 draft compliance statement (uploaded) in light of the current GDPR, NIS-2 and the AI Act?"

(My domain is regulatory compliance, so maybe this goes beyond pure documentation but I'm guessing pushed far enough the same complexities arise)
by nikitaeverywher | 2025-07-09 12:23:05+00:00
Analytics and marketing tools used on all websites – such as Google Analytics, GTM (both client- and server-side), Facebook Pixel, and many more – are increasingly blocked by privacy tools and ad blockers. As a result, 15–50% of front-end data (conversions, attribution, referrals) never reaches dashboards. This missing data has long been accepted as the norm, to the point where front-end analytics are treated as unreliable and approximate.

DataUnlocker 2.0 offers a drop-in solution: a proxy and JavaScript protection layer that shields tracking from blockers. It becomes an integral part of your web application — not only hiding analytics from generic blocking filters, but also making the code essential for the app to function. Blockers simply have no safe way to remove it.

Your feedback is welcome – happy to dive deeper.
by motorest | 2025-07-09 12:23:21+00:00
> I sympathize with the pedantry here and found Fielding's paper to be interesting, but this is a lost battle.

Why do people feel compelled to even consider it to be a battle?

As I see it, the REST concept is useful, but the HATEOAS detail ends up having no practical value and creates more problems than the ones it solves. This is in line with the Richardson maturity model[1], where the apex of REST includes all the HATEOAS bells and whistles.

Should REST without HATEOAS classify as REST? Why not? I mean, what is the strong argument to differentiate an architectural style that meets all but one requirement? And is there a point to this nitpicking if HATEOAS is practically irrelevant and the bulk of RESTful APIs do not implement it? What's the value in this nitpicking? Is there any value to cite thesis as if they where Monty Python skits?

[1] https://en.wikipedia.org/wiki/Richardson_Maturity_Model
by linuxscooter | 2025-07-09 12:23:23+00:00
If you haven’t done so, try changing your prompt styles. It’s an assistant for me but I’m finding it needs less and less babysitting. What I just tried:

Ask it first to plan out a project you briefly described, focus on the planning, file structure is ok but no coding. Tell it what functionality is integrated, or what what should become a standalone module. Ask it to summarize.

I then start a new chat for the code, and tell it follow the summary. Tell it “before you make code, ask questions if there is commonly another way to do this.

Chances are you’ve done this way more than me and tried variations of this. But it’s working here as an assistant. I’m now doing wIdk I wasn’t hired for, and people are happy.
by monocasa | 2025-07-09 12:23:26+00:00
I mean, it seems it's quite clear that a single process and all of its threads will just be assigned to a single processor group, and it'll take manual work for that process to use more than 64 cores.

The difference is just that processes will be assigned a processor group more or less randomly by default, so they'll be balanced on the process level, but not the thread level. Not super helpful for a lot of software systems on windows which had historically preferred threads to processes for concurrency.
by franze | 2025-07-09 12:23:32+00:00
as someone who is running claude code as admin (with sudo pwd in claude.md) on my laptop and on a server - and it completely changed how I interact with computers - I honestly can not fathom the ongoing dismissal of AI as the one thing that will changes everbodies future.

the jobs killed by AI is for me mostly zero sum thinking in action, also all AI companies seem to be just one AI company instead of a (currently) healthy competition. and apparently all users are duped cause they suddenly are up to a 100x more productive.

and yes, the energy needed is horrible (is AI now over bitcoin or still below).

the anecdotes ad hallucinations are true, but what about the success stories? ie faster vacation research? the fact that now everybody with chatgpt has now access to a world class team of doctors (where perviously often there was none).

yes, criticism of AI and AI companies is good and necessary. said that: even if all technological progress would stop right now it is the most meaningful technological change I experienced in the last 25 years I am working it/web stuff.
by somenameforme | 2025-07-09 12:23:36+00:00
That's a bit of a false dichotomy as the early terms were relatively modest but, in general terms, I would agree with the point you're making. However the issue you run into is that the exact same arguments were made in favor of slavery. For instance even Aristotle some 2400 years ago predicted the end of slavery, if slaves only were not necessary:

"For if every instrument could accomplish its own work, obeying or anticipating the will of others, like the statues of Daedalus, or the tripods of Hephaestus, which, says the poet, 'Of their own accord entered the assembly of the Gods.' If, in like manner, the shuttle would weave and the plectrum touch the lyre without a hand to guide them, chief workmen would not want servants, nor masters slaves." [1]

Of course society could have gotten by without slavery, but it wouldn't have been as convenient, particularly for the wealthy and political classes who were the exact sort that could afford to own slaves. And the exact same is true of conscription. If people are not willing to die for the political class of a country, who are the political class to insist they die for them? And the greatest irony is that the most 'brave' of the political class are often made up of cowards and draft dodgers themselves. But it's an entirely different game when it's not their life on the line anymore.

People, who live in a time when humans in warfare are obsoleted, will look back upon this as even more vile and barbaric than slavery. And they'll damn us all for it. Yet it's an issue that "we", the people without power, mostly do not even really think about one way or the other - because it's just how it is. We might speak out against it, those in affected regions might even start their own 'Underground Railroads' to escape tyranny, but everybody knows it won't end.

[1] - https://classics.mit.edu/Aristotle/politics.mb.txt
by _flux | 2025-07-09 12:23:55+00:00
Btw, OCaml also transitioned from read-write Strings to read-only Strings, and Buffer to be that read-write string. It was introduced in 4.02 released September 2014.

I recall it was a bit bumpy, but not all that rough in the end. I suppose static type checking helps here to find all the ways how it could be used. There was a switch to allow running old code (to make strings and buffers interchangeable).
by ivan4th | 2025-07-09 12:23:58+00:00
Helm is an abomination, as the whole idea of using a text template engine to generate YAML is. And this vulnerability adds insult to injury ;)

Sorry, just can't really recover from trauma of counting spaces and messing up newlines, etc. when writing Helm templates. You know, Lisp "sucks" because "you need to count parenthesis" (you actually don't), yet Helm is a widely accepted technology where you need to count spaces for (n)indent ;)
by ThinkBeat | 2025-07-09 12:24:54+00:00
I used this (pro) for a few years. It is ok but it does not have any particular feature I found worth the cost of the upgrades.

I bought the current version back then. I dont remember the number so X. Less than a month later they released the new version X+1 and that was at €39 I believe for a discounted upgrade.

(numbers may not be 100% accurate it has been a while)

But they do have a free version and that is nice of them.
by teamonkey | 2025-07-09 12:25:01+00:00
Like the other poster, I use the SD for convenience, snatching 10 minutes of gameplay wherever I am and whenever I have time, and that means not plugging anything in.

But the SD is just a PC in a handheld form factor. You can plug in a dock, external monitor and other peripherals, only removing it when travelling, if that suits you.
by sorcerer-mar | 2025-07-09 12:25:32+00:00
In my opinion, options should be balanced against each other and then we should pick the least-bad or most-good ones.

The "allow zero carrying costs indefinitely on any land" option entails runaway wealth inequality, skyrocketing housing costs, major impediments to family and household formation, and destruction of the payoff period for any capital expenditures made in a geography as younger generations have to create new cities from scratch over and over again, creating enormous financially unsustainable infrastructure sprawl (see: Houston) as redevelopment is too difficult against the vested interests of the landed gentry (see: NYC and SF). This of course causes decay, bankrupts cities and states, and ends up reducing the quality of life for everyone, including the landed gentry.

The "incur carrying costs" option entails old people reverse mortgaging their property until they die, or selling and moving into something more suitable for their needs.
by osigurdson | 2025-07-09 12:27:29+00:00
>> The important difference being that I need to figure out the peculiarities of each such web API

So if they say it is Roy Fielding certified, you would not have to figure out any "peculiarities"? I'd argue that creating a typical OpenAPI style spec which sticks to standard conventions is more professional than creating a pedantically HATEOAS API. Users of your API will be confused and confusion leads to bugs.
by braiamp | 2025-07-09 12:27:32+00:00
How many companies of "size" you know of? Because that process looks HORRIBLY inefficient and only primed to extract as much money of the consumer. You just need to put it in the account screen. A big red button. Your _workflow_ is there to make excuses. If the move was the other way, you would gladly pay the cost, but because it actually hurts your "business model" then it is suddenly a problem. No buddy, I call BS on all that, and call BS on the law itself.
by nchmy | 2025-07-09 12:27:47+00:00
Sorry, perhaps we're talking past each other.

Fielding was absolutely not saying that his REST was the One True approach. But it DOES mean something

The issue at hand here is that he coined REST and the whole world is using that term for something completely unrelated (eg an http json api).

You could start writing in binary here if you thought that that would be a more appropriate way to communicate, but it wouldn't be English (or any humanly recognizable language) no matter how hard you try to say it is.

If you want to discuss whether hypermedia/rest/hateaos is a better approach for web apps than http json APIs, I'd encourage you to read htmx.org/essays and engage with that community who find it to be an enormous liberation.
by RandomThoughts3 | 2025-07-09 12:28:37+00:00
> The only thing I see is that manufacturers prefer an ip stack because it's "easier" to develop for.

It is easier to develop on an ip stack.

You have great tooling and great libraries out of the box because pretty much everything uses ip nowadays.

Plus, at least part of the controllers people use for their smart home will use ip anyway. A non ip network will need a bridge.

> How is that possible when thread use an ipv6 stack over 802.15.4 while zigbee use a simpler stack also over 802.15.4?

Easy, zigbee doesn't use a simpler stack. Using the same physical layer protocol doesn't tell you anything about the rest of the stack.

It's actually pretty simple. 6LoWPAN which is what Thread uses is more efficient than the Zigbee network protocol. Packets are smaller and the routing is better. It's not particularly surprising to be honest because Thread was designed by people who knew Zigbee really well and were aiming for an improvement.
by adgjlsfhk1 | 2025-07-09 12:29:45+00:00
well in the past year, we have stopped funding science in the US, arrested and deported thousands of foreign students here legally, removing the pipeline for the smartest people in the world to move to the US and start world changing companies, and started a trade war with the entire world, making American businesses much less competitive at buying/selling goods internationally.

to consider your examples specifically, Musk and Brin were both immigrants to the US, and musk specifically did exactly the type of visa shenanigans that now is landing people in El Salvador
by simonw | 2025-07-09 12:29:55+00:00
> MCP's goal is to make it easy for end user developers to impulsively wire agentically running LLM chats to multiple tools. That very capability fundamentally causes the problem.

That's exactly the problem here: the ability for end users to combine MCP tools means that those end users are now responsible for avoiding insecure tool combinations. That's a really hard thing for end users to do - they have to understand the lethal trifecta risk in order to make those decisions.
by pcthrowaway | 2025-07-09 12:30:14+00:00
SVG is XML-based, unlike HTML which follows the SGML spec

From curling the malicious page you can also see:

<?xml version="1.0" encoding="UTF-8"?> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000" height="1000">
by arp242 | 2025-07-09 12:30:31+00:00
Most of the problems in Python 3 were the string encoding changes. It was very pervasive, fixing things was often not so straight-forward, and writing programs that worked well with Python 2 and 3 was possible but somewhat difficult and error-prone.

The rest of the changes were a bit annoying but mostly boring; some things could have been done better here too, but the string encoding thing was the main issue that caused people to hold on to Python 2 for a long time.

The frozen string literal changes are nothing like it. It's been "good practise" to do this for years, on errors fixing things is trivial, there is a long migration path, and AFAIK there are no plans to remove "frozen_string_literal: false". It's just a change in the default from false to true, not a change in features.

"Learning lessons" doesn't mean "never do anything like this ever again". You're the one who failed to learn from Python 3, by simply saying "language change bad" without deeper understanding of what went wrong with Python 3, and how to do things better. Other languages like Go also make incompatible changes to the language, but do so in a way that learned the lessons from Python 3 (which is why you're not seeing people complain about it).
by layer8 | 2025-07-09 12:30:52+00:00
I think you mean LF, not CR. The problem with changing the behavior with regard to CRLF is exactly that it would introduce vulnerabilities like the present one here, because some software would still apply the old behavior while others apply the new one. Stuff like https://portswigger.net/web-security/request-smuggling/advan....

Directory separators are another can of worms. A lot of functionality in Windows is driven by command-line invocations taking slash-prefixed options, where it’s crucial that they are syntactically distinct from file system paths. I don’t think a transition is possible without an unacceptable amount of compatibility breakage.
by snowwrestler | 2025-07-09 12:31:14+00:00
When kids learn multiplication, they learn it on paper, not just in their heads. LLMs don’t have access to paper.

“Do long arithmetic entirely in your mind” is not a test most humans can pass. Maybe a few savants. This makes me suspect it is not a reliable test of reasoning.

Humans also get a training run every night. As we sleep, our brains are integrating our experiences from the day into our existing minds, so we can learn things from day to day. Kids definitely do not learn long multiplication in just one day. LLMs don’t work like this; they get only one training run and that is when they have to learn everything all at once.

LLMs for sure cannot learn and reason the same way humans do. Does that mean they cannot reason at all? Harder question IMO. You’re right that Python did the math, but the LLM wrote the Python. Maybe that is like their version of “doing it on paper.”
by em500 | 2025-07-09 12:31:23+00:00
> Europe is hesitant in that regard for fear of getting left behind. China shows that this fear is mostly unfounded.

It's hard to transplant the Chinese experience elsewhere. Not only due to Europe's current far greater dependence on American software and cloud providers, but also due to China's far larger pool of technical expertise, likely resulting from many decades of heavy emphasis on math and science education, together with far greater social and monetary rewards. I doubt that European politicians or their electorates have the patience for a big turnaround that may not start to pay off for several decades or even generations.
by motorest | 2025-07-09 12:31:48+00:00
> HTTP/JSON API works too, but you can assume it's what they mean by REST.

This is the kind of slippery slope where pedantic nitpickers thrive. The start to complain that if you accept any media type other than JSON then it's not "REST-adjacent" anymore because JSON is in the name and some bloke wrote down somewhere that JSON was a trait of this architectural style.

In this sense, the term "RESTful" is useful to shut down these pedantic nitpickers. It's "REST-adjacent" still, but the right answer to nitpicking is "who cares".
by ralferoo | 2025-07-09 12:32:18+00:00
I think this hits the nail on the head. Complaining that the current understanding of REST isn't exactly the same as the original usage is missing the point that now REST gives people a good idea of what to expect and how to use the exposed interface.

It's actually a very analogous complaint to how object-oriented programming isn't how it was supposed to be and that only Smalltalk got it right. People now understand what is meant when people say OOP even if it's not what the creator of the term envisioned.

Computer Science, and even the world in general, is littered with examples of this process in action. What's important is that there's a general consensus of the current meaning of a word.