MurphyA/hacker-news huggingface dataset:
by privong | 2025-08-20 15:46:51+00:00
It could partly be that, but I've generally read that the default inks are not waterproof.

I was curious about this so I just did a quick non-scientific perusal of one fountain pen enthusiast shop's offerings. It shows 118 of the ink bottles they sell are water-resistant ink while 935 are not (looking at the Yes/No filter counts for "Water-resistant" at https://www.gouletpens.com/collections/bottled-ink). There's a lot of duplicate inks that can be purchased in multiple bottle sizes, but picking the three most represented bottle volumes (20ml, 30ml, and 50ml) it drops to 24 water-resistant inks and 578 inks that are not water-resistant.

The above includes a lot of "interesting" colors; further restricting to black ink only ends up with 3 that are water-resistant and 26 that are not.
Show HN: Clipipe – pipe data to another machine behind NAT
by 4m1rk | 2025-08-20 15:46:58+00:00
I was thinking it would be nice to quickly send the clipboard to another machine without direct network connectivity. Then I thought why not piping it? Not just the clipboard, but any data.

$ xclip -sel c -o | clipipe send $ clipipe receive {code} | xclip -sel c

Implemented it using Python for both the CLI and server (FastAPI). Please checkout https://clipipe.io for more info and https://github.com/amirkarimi/clipipe to see the source code.
by 6510 | 2025-08-20 15:48:46+00:00
In the grownups vs children the grownups win often enough. So the kids won some ground. ChatGPT could learn what assignments students are currently working on. (That is intelligence!)

We could also come to our senses and consider if homework is a reasonable demand? It creates a disadvantage if the home situation isn't ideal.

Not a lot of jobs require additional work from home hours after the shift. If it is so sensible why not add it to every job?

If one could chose most would much rather have some extra free time when young than when old.

All work and no play makes Jack a dull boy.
by qcnguy | 2025-08-20 15:49:08+00:00
Eh no not really. Google's early success came from PhD dropouts (Larry Page & Sergey Brin), combined with people like Jeff Dean and Sanjay Ghemawat (formerly at DEC), and the lesser known but no less critical Eric Veach (formerly Pixar).

Those are the people behind the core innovations that made Google so powerful: PageRank, MapReduce, BigTable, the indexing pipeline, protobufs/Stubby, GFS, AdWords, AdSense and the use of ML in both (iirc Veach was a key reason the ads system worked so well).

So none of the names I associate with early Google were academics. They all came from industry.
by Nevermark | 2025-08-20 15:49:53+00:00
> the concepts are more like a clustering of characteristics [...]

> This seems to be how our minds model at least some concepts as well [...]

Since we have existed for 100's of thousands of years, and formal thinking only a couple hundred as a widespread practice, only habitually by a modern minority, and then for a tiny minority of daily concepts -- that is very nearly the only way we encode concepts.

In fact, we no doubt actually encode formal concepts using clustered characteristic thinking. We have just intentionally narrowed characteristics down to the point that the result is formal thinking.
by hacker_yacker | 2025-08-20 15:50:15+00:00
Whenever a Grok user clicks the “share” button on a conversation with the chatbot, it creates a unique URL that the user can use to share the conversation via email, text or on social media. According to Forbes, those URLs are being indexed by search engines like Google, Bing, and DuckDuckGo, which in turn lets anyone look up those conversations on the web.
by NitpickLawyer | 2025-08-20 15:50:33+00:00
This is really cool! And even cooler that it's tested on their mini agent harness (only has access to "terminal", no other tools) because this implies it's "raw model power" rather than "software glue".

My speculation: this is an "emergent" capability out of good / scalable / "solved" RL. Both Anthropic and oAI seem to have made huge advances in RL. (xAI as well, but haven't yet released their coding model, so we'll see if that continues). In contrast to other RLd models out there (i.e. the deepseeks, the qwens, etc) that score really well on tasks similar to those in benchmarks, both claude4 and gpt5 seem to have "learned" what agentic means at a different level. They can be guided through tasks, asked to do one particular subpart of a task, or a particular approach, etc. And they do it well. The other implementations feel "stubborn". Can't explain it better.

It will be interesting to see what Gemini3 will bring about. goog / deepmind are experts at RL, and gemini2.5 is a bit too old now, so curious to see what they can deliver on this front. My guess is that we'll see the same kind of "it gets it" after scaled RL.

One note, that I've made after using gpt5 for a bit is that it seems to have this "gettheritis" with solving tasks. It wants to solve them so bad, that sometimes it forgets the plan, or rushes through step 5 after solving 1-4 pretty throughly. Might be prompting as well, maybe those havent yet caught up.
by robbies | 2025-08-20 15:50:47+00:00
As a real time rendering engineer, this is how it’s always been. NV obfuscates much of the info to prevent competitors from understanding changes between generations. Other vendors aren’t great at this either.

In games, you can get NDA disclosures about architectural details that are closer to those docs. But I’ve never really seen any vendor (besides Intel) disclose this stuff publicly
by FollowingTheDao | 2025-08-20 15:51:05+00:00
What hypoxia does is lower brain oxygen. So why is this important in Parkinson's? Oxygen is a coezyme for an enzyme called MAOB, which gets rid of dopamine and produces H2O2 (Hydrogen Peroxiode). It is well know thatpeople with Parkinson's have polymorphisms in MAOB that put them at risk.

https://pmc.ncbi.nlm.nih.gov/articles/PMC6074924/

Their enzyme activity is high, and gets higher as they age. So getting rid of oxygen (hypoxia) slows down the MAOB enzyme, reducing H2O2 production, and slowing Parkinson's. Hypoxia also reduces DNA methylation (HYPOmethylation) which is even more important (more later).

https://pmc.ncbi.nlm.nih.gov/articles/PMC7016890/

Hydrogen Peroxide is the real enemy in Parkinson's since it is responsible for the destruction of the Dopamine neurons.

https://pubmed.ncbi.nlm.nih.gov/7675214/

How does Levodopa fit in with all of this? Levodopa makes Dopamine via an enzyme called DDC. DDC uses vitamin B6 as a cofactor. Giving people Levodopa lowers B6

https://pubmed.ncbi.nlm.nih.gov/35569990/

which increases homocysteine and DNA methylation (HYPERmethylation. HYPOmethylation of DNA is linked to Parkinson's.

https://pmc.ncbi.nlm.nih.gov/articles/PMC6557551/

And they know that Hypomethylation of the alpha-synuclein (SNCA) gene is the cause of Parkinson's.

Increase DNA Methylation and you decrease Parkinson's. One way to do that is to get more zinc becasue it increases DNMT gene activity (methylation) and low zinc is linked to Parkinson's.

https://www.nature.com/articles/s41598-017-04252-0
by michaelmior | 2025-08-20 15:51:15+00:00
A lot of CI platforms (such as GitHub) spit out a lot of environment variables automatically that can help you with the logic in your build script. If they don't, they should give you a way to set them. One approach is to keep the majority of the logic in your build script and just use the platform-specific stuff to configure the environment for the build script.

Of course, as you mention, if you want to do things like comment on PRs or report detailed status information, you have to dig deeper.
by senderista | 2025-08-20 15:51:37+00:00
Maybe you mean ticket locks? That’s kind of the practical version of the bakery algorithm. It’s not the same because ticket locks require fetch-and-add (or its emulation over another atomic RMW like CAS), while the bakery algorithm uses only reads and writes (which makes it impractical).

Using a futex to allow ticket locks to block in the kernel does have a thundering herd problem. Fortunately you can do “smart sleeps” by measuring the time elapsed since the last wakeup and the change in the turn counter since then, and using that to estimate the time until the current thread’s turn (we don’t want to block the queue by oversleeping, so sleep for half of that estimate, then redo the estimate again, etc). (The same logic can be applied to spinning during the waiter’s timeslice, to avoid unnecessary cache coherence traffic.)

I assume you’re referring to Guy Blelloch’s work on wait-free hazard pointers? That’s very cool although I doubt it’s solving a practical problem. The practical issue with hazard pointers is the StoreLoad barrier on the read side (which can be moved to the GC side via membarrier(2) etc).
by stevekemp | 2025-08-20 15:52:07+00:00
I found that with CGI::Application, and similar Perl modules you get the facilities of the modern stuff, as well as the portability and simplicity of a simple index.cgi script.

Two things I think Perl always had a good reputation for was CPAN, providing interfaces to "everything", and a high degree of testing. I love that golang and rust both emphasize testing in modules/crates/packages. Writing perl CGI scripts I always had test-cases for the whole lifecycle, and that's something that isn't so common these days writing handlers in other languages.
by shadowgovt | 2025-08-20 15:52:57+00:00
That's actually the zen of programming emacs: don't avoid using buffers; create as many of them as you need.

"But that's like opening a document every time I want to glue two strings together!"

Not at all. A buffer is just a fancy blob of RAM. It's not file-backed unless you make it file-backed. They do take up RAM, but you're programming on a modern computer, not a PDP-11; if you're comfortable with Python using a whole in-memory object to represent an integer, you're comfortable with buffers.

"But it's messy to leave them lying around."

It's a feature. Yes, buffers aren't well-encapsulated and if your program crashes mid-run they get left open. That's by design. You don't need encapsulation because you're not doing multithreading here (and if you are, there are primitives for that and they take a bit more work to use); emacs is for editing and there's only one you, so if the current program is creating buffers and has no way to run two copies of itself at once, who cares. And your program crashing leaving buffers around is a feature; you can inspect the buffer and see what it looked like at crash-time, or set up the buffers the way you want them before firing off the program to get the desired effect (try those tricks with most languages without slapping on a debugger). And there are scripting blocks to create temp buffers and clean up your buffers for you anyway.

"But it's weird to have two ways to talk about strings in the language!"

That's true; it's a bit weird to have the string primitives and also buffers. But that's a pretty common flavor of weird; Java has strings and also has StringBuilder. My rule of thumb is "any time I'd reach for StringBuilder in Java, I should probably consider using a buffer in elisp."
by hearsathought | 2025-08-20 15:53:01+00:00
> Calling something as exceptional or special entails a value judgement;

Calling something exceptional or special is generally an objective statement based on observed facts. Now whether something exceptional deserves special treatment is a value judgment.

> Consider, horseshoe crabs are undeniably the best at doing all things horseshoe crab. No other animal comes close to behaving like a horseshoe crab!

What are their exceptional traits? For example, we can say peregrine falcons or cheetahs are exceptionally fast. Or blue whales are exceptionally large. Saying horseshoe crabs are horseshoe crabs isn't saying much.

> IMHO, the almost tautological nature

You conjured up a false tautological argument.

> It's just a stone's throw away from individual, group, and racial exceptionalism.

But such exceptionalisms exist individually and group-wise/racially. We know that lebron james is exceptionally good at basketball. We know that tibetans do exceptionally well at high altitudes. Those are objective facts. Now whether they deserve special treatment is a value judgment.
by elepedus | 2025-08-20 15:53:08+00:00
I'm super-conflicted about this.

I've been loving Tidewave MCP since the day it launched and I wish I had that for all my work. I also fight the pain of driving web browsers through the playwright MCP every day, and while it's a huge help, it's also massively slow and kills my context window.

I want these problems solved. But I want them solved in a way that isn't unique to one stack, because I don't have the luxury of sticking to my preferred Elixir stack all the time. I also want them solved in a way that doesn't force me to take a huge backward step in my AI usage by bypassing my all-you-can-eat Max subscription.

The $10 subscription isn't that expensive, but then again, since this isn't a complete solution, it's going to be on top of other subs like Cursor/Max/Phoenix.new etc etc and it becomes death by a thousand cuts.

Maybe I just need to calm down a bit and not look at it as all-or-nothing.

Like, sure, switching to this full-time would be impossible. But maybe as a tool in my toolbox, where I pay $10 and use it once-in-a-while, when I have a tricky thing to do and it's worth me burning $10-20 on API tokens just to unblock me.

I'm just concerned that software development is fast becoming pay-to-play / pay-to-win, and that can quickly lead to chickenization, where prices are carefully titrated to shift most of the value to the tool providers.

We've seen this play out in infrastructure and tooling, and most orgs now "donate" a huge chunk of their profit margins to AWS.
by MangoCoffee | 2025-08-20 15:53:12+00:00
> It’s anyone’s guess if someone trusts intel to manufacture on their behalf instead of sticking with an established player.

Intel also designs its own chips. Thus, it's hard for fabless players to buy in without worrying about their IPs being stolen. One of the strengths of TSMC is they only make chips. They don't do anything else. TSMC is highly trusted by its customers.
by viridian | 2025-08-20 15:54:16+00:00
I think its overgeneralizing, but mostly accurate to say that the human-free constructs built by the Germans are quite efficient, but the human processes, systems, and interactions by which they get to these other results are byzantine at best, Kafkaesque at worst.

Perhaps the two are even related. American companies will reach 3 9's of reliability for a device, call it sufficient, and ship a product. German companies will be engaged with not only internal stakeholders, but also various levels of government for weeks to months just to come to an agreement about what the acceptable threshold is (it's the highest asked for by the combined pool of stakeholders), and 18 months after the Americans hit the market, you'll have a wristwatch with 7 9's of reliability that costs 3x as much as the American one.
by qcnguy | 2025-08-20 15:54:28+00:00
How are non-profits "accountable" to the poor? Are the poor going to threaten to stop giving them donations if they don't shape up? You seem to contradict yourself when you say that indeed if the soup kitchen upsets you then you can't do anything about it. Thus the soup kitchen isn't accountable to the poor who use it.

I think non-profits are accountable to their donors but the problem with charity is that the donors are giving money mostly to be seen to give money. They rarely care much about outcomes. Indeed if the non-profit actually solved the problem they were set up to tackle the donors would have a problem as now they'd need to find a new cause to demonstrate their philanthropic loveliness with.

And yeah one can argue that feeding poor people is of little value; that's the whole idea behind the parable of teaching a man to fish. Translated into modern terms, the right thing to do in terms of value creation is make poor people richer, not give them free food. Then they can feed themselves and much more. It's of course a harder problem but much more valuable to solve.
by yencabulator | 2025-08-20 15:54:36+00:00
And it makes a lot more sense when you realize "prøv" means trial/test. "Attempt this feat of bravery and stop me". It's a diss/brag, depending on whether it's aimed at others or self.

"In this quest I shall be victorious and wash the dog" = "I'll try and wash the dog"
by Telemakhos | 2025-08-20 15:54:36+00:00
Writing by hand teaches fine motor skills that can bd transferred later to other tasks. When I was in school, we learned not only block print and cursive but also half-uncial script. Nobody expected us to get jobs copying medieval manuscripts: we learned better how to control our fingers and wrists.

The same goes for playing recorders or simple musical instruments: you don't teach that to kids hoping that they'll get jobs playing the recorder, but so that they learn finger control and maybe, if you're lucky, something about music.

People who think that early childhood education is job training probably don't have kids. Educating kids is not about direct utility but about cultivating muscles and thoughts and habits that lead to other development later. The word "cultivation" is an agricultural term that describes tilling the soil: that doesn't actually grow crops (it happens prior to planting), but it makes the growing season to come much more productive than simply casting seed on the unbroken earth. Education is the cultivation of human potential before adulthood, preparing the child for a richer adulthood in ways that are not obviously utilitarian.
by piva00 | 2025-08-20 15:54:43+00:00
> Most developer have never studied any CS history and are quite young

Even the ones who studied it still fall into the trap of novelty for novelty sake. I'm guilty of that as well 20+ years ago at the start of my career, I believe it's one of those wisdom rites of passage someone needs to go through to value the lesson.

Boring old tech that works is pretty good, if it's not unmaintained, gets updates while keeping a stable core, has an ecosystem of good libraries and documentation, I'll always choose it over some new fangled thing from the past 2-5 years.

You need to feel the pain of depending on something that is taken away, or dies a slow but surely death, or creates massive headaches to upgrade, to value the stability of boring old tech.

I feel it's a cycle bound to be repeated by each generation.
by HAL3000 | 2025-08-20 15:55:17+00:00
> TSMC has bomb damage and Taiwan is blockaded

For anyone familiar with Chinese culture, history, and mindset, and who views China through that lens rather than a Western one, the probability of this is lower than the probability of Intel’s collapsing entirely in the next two years.

“Supreme excellence is to subdue the enemy without fighting.”

“Victory without unsheathing the blade.”

“If swords are clashing, strategy has already failed.”
by ejp | 2025-08-20 15:55:48+00:00
I had a similar thought about 3D printing - particularly extruding mathematically defined shapes in vase mode.

In both of these cases, mathematically generating the points to visit (in gcode) is needed, and we don't care about constant speed - the firmware handles the instruction->motion part.

I am thinking about non-planar printing mostly, but this could also apply to CNC finishing passes.
by hdvr | 2025-08-20 15:56:08+00:00
It's an interesting problem. If most of the votes concentrate on the first submission, I wouldn't bother including subsequent submissions in the model. However if this is not the case (as in your example), you could actually include the past voting sequence, submission times, and domain, as predictors. In your example, the 800 votes might then (ideally) correspond to a better time slot and source/domain than the first single vote.
by johncolanduoni | 2025-08-20 15:57:13+00:00
A trillion dollar company (that loves huge vanity projects) gave up on maintaining a browser because it was too much work and just ship a Chrome fork now. I won’t defend Mozilla’s allocation of their resources, but even if they put it all into the “right” Firefox features the web platform is too complex and too much of a moving target for a company with mere centi-million revenues.
by cube00 | 2025-08-20 15:57:47+00:00
It makes people feel like they're in control of the text prediction agent when actually it'll only follow this some of the time.

1. I tell Copilot until I'm blue in the face that the project must build.

2. Copilot assures me it has fixed the build errors it created.

3. Still get build errors

4. Run out of tokens so I come back next month and repeat.
by saltcured | 2025-08-20 15:57:53+00:00
It's all very circular, if you try to avoid the architecture-specific details of individual hardware designs. A SIMD "lane" is roughly equivalent to an ALU (arithmetic logic unit) in a conventional CPU design. Conceptually, it processes one primitive operation such as add, multiple, or FMA (fused-multiply-add) at a time on scalar values.

Each such scalar operation is on a fixed width primitive number, which is where we get into the questions of what numeric types the hardware supports. E.g. we used to worry about 32 vs 64 bit support in GPUs and now everything is worrying about smaller widths. Some image processing tasks benefit from 8 or 16 bit values. Lately, people are dipping into heavily quantized models that can benefit from even narrower values. The narrower values mean smaller memory footprint, but also generally mean that you can do more parallel operations with "similar" amounts of logic since each ALU processes fewer bits.

Where this lane==ALU analogy stumbles is when you get into all the details about how these ALUs are ganged together or in fact repartitioned on the fly. E.g. a SIMD group of lanes share some control signals and are not truly independent computation streams. Different memory architectures and superscalar designs also blur the ability to count computational throughput, as the number of operations that can retire per cycle becomes very task-dependent due to memory or port contention inside these beasts.

And if a system can reconfigure the lane width, it may effectively change a wide ALU into N logically smaller ALUs that reuse most of the same gates. Or, it might redirect some tasks to a completely different set of narrower hardware lanes that are otherwise idle. The dynamic ALU splitting was the conventional story around desktop SIMD, but I think is less true in modern designs. AFAICT, modern designs seem more likely to have some dedicated chip regions that go idle when they are not processing specific widths.