MurphyA/hacker-news huggingface dataset:
by QuantumNomad_ | 2025-09-07 03:53:57+00:00
Might not apply to most people, but on some of my machines I have left the mail app unconfigured and so the few times something uses a mail link launching the app will just land me on the setup screen. It’s rare enough that anyone uses those sort of mailto: links that I haven’t bothered doing anything about it. And it might be that most other people have their email program set up already so only me and a handful of others run into any sort of issue with that :p
by dragontamer | 2025-09-07 03:54:08+00:00
RDRAND and RDSEED are both using quantum principles (aka: heat and temperature / truly quantumly random noise at the microscopic level in the CPU's transistors) to generate random numbers.

Well... a seed at least. And then they are expanded using AES encryption IIRC (which "shouldn't" be breakable, and even if it were breakable it'd probably be very difficult to follow). I think RDSEED takes hundreds (or nearly a thousand) cycles to complete, but we're still talking millions-of-bits of entropy per second. More than enough to shuffle a deck even if you're taking a fresh RDSEED every single card.

Every few months, it feels like "someone effed up RNG" becomes an article. But in practice, RDRAND / RDSEED are the primitives you need. And you should be getting that for free with Linux's /dev/urandom on modern platforms.

----------

I think RDSEED / RDRAND cannot be "proven secure" because of all the VMs we are running in practice though. So its something you need to be running on physical hardware to be 100% sure of security. So its still harder than it looks.

But its not "impossible" or anything. Just work to cover all the little issues that could go wrong. After all, these RDRAND/RDSEED instructions were created so that we can send our credit card numbers securely across the internet. They're solid because they _HAVE_ to be solid. And if anyone figures out a problem with these instructions, virtually everyone in the cryptographic community will be notified of it immediately.

---------

EDIT: I should probably add that using the shot-noise found in a pn-junction (be it a diode or npn transistor) is a fun student-level EE project if anyone wants to actually play with the principles here.

You are basically applying an amplifier of some kind (be it 3x inverters, or an OpAmp, or another NPN transistor) to a known quantum-source of noise. Reverse-avalanche noise from a Zener Diode is often chosen but there's many, many sources of true white-noise that you could amplify.
by pmarreck | 2025-09-07 03:54:21+00:00
Why not just simulate a real shuffle?

Just "cut" in a random location (rotate the deck a random amount), then split the deck roughly in half (add a bit of random variation), then "flip them together" back to front by alternately taking 1 or 2 (randomly, add a small chance of 3, so maybe 50% 1, 40% 2 and 10% 3) from each side till there are no cards left to shuffle. Then repeat 8 times or so (there's a certain minimum number of times that ensures good randomness)
Show HN: Glass Caustic Simulation
by chaidhat | 2025-09-07 03:54:29+00:00
I like light transport simulations and I like getting a job. So I created a simulation of glass caustics for my portfolio page. Because simulating things is intensive for web/mobile, it pre-computes the caustics which it then saves as an atlas and displays to the user. Hope you like it and please let me know if I can improve it! :)

Chai
by MrJohz | 2025-09-07 03:54:51+00:00
I think the key part, although the author doesn't quite make it explicit, is that (a) the parsing happens all up front, rather than weaving validation and logic together, and (b) the parsing creates a new structure that encodes the invariants of the application, so that the rest of the application no longer needs to check anything.

Whether you do that with Zod or manually or whatever isn't important, the important thing is having a preprocessing step that transforms the data and doesn't just validate it.
by alexey-salmin | 2025-09-07 03:56:29+00:00
> In the late 1990s the development platform ASF Software supplied several online poker providers, such as Planet Poker, with card-shuffling algorithms. The platform even posted the algorithm on its website as proof that the game was reliably programmed.

What amazes me is the level of overconfidence the developers of the broken algorithm had to post it online. I mean it's not that the probability theory was a novel and unexplored field at the time.
by esafak | 2025-09-07 03:57:37+00:00
> Looking at the output and deciding "this is clearly wrong" does not count.

You need the ground truth to be able to make that determination, so using your knowledge does count. If you press the model to answer even when it does not know, you get confabulation. What today's models lack is the ability to measure their confidence, so they know when to abstain.
by rKarpinski | 2025-09-07 03:57:43+00:00
I didn't watch more than the first season of the show... but the setting for the novel is an alternate history in the 1960's where FDR had been assassinated in the 30's (failed in our timeline) and the US was isolationist and never entered WW2 until it was conquered by Nazi Germany and Japan.

And he wrote the plot for each character by tossing coins and looking up corresponding passages in the I-Ching
by galangalalgol | 2025-09-07 03:59:18+00:00
I agree that python is often painful to get right. But asan really, doesn't help you unless you have tests that cover the path with the mistake it would catch. Safe rust doesn't segfault ever. Unsafe rust is still easier to get right for me than c, but mostly because c targets weird architectures with weird rules. Rust is also easier for me to develop fast in than either python or c++. For c++ that is because fragmented package management and build systems, and syntax that lets me express things I don't want to, like a race condition. Python slows me down because the duck typing can't help me reason about my design like static explicitly converted types can.
by johncolanduoni | 2025-09-07 04:01:31+00:00
I agree, not a well designed benchmark. The mmap side did not use any of the mechanisms for paging in data before faulting each page, which are table stakes for this usecase.

The point of DDIO is that the data is frequently processed fast enough that it can get pulled from L3 to L1 and be finished with before it needs to be flushed to main memory. For a system with a coherent L3 or appropriate NUMA this isn’t really non-temporal, it’s more like the L3 cache is shared with the device.
Show HN: "All Bitcoin transactions are JPEGs"
by rektlessness | 2025-09-07 04:01:45+00:00
I wanted to explore the idea described in the tweet by Paul Sztorc that Bitcoin transactions can be art, so I created https://transactionbitmap.com which operates on the principle that art can be found in unexpected places, including the mathematical patterns and data inherent in blockchain transactions.

Art is subjective, just like value is.
by jaredklewis | 2025-09-07 04:02:51+00:00
From what I remember, the site mostly recommended immersion supplemented by studying methods like spaced repetition, so if that’s like 16 hours of immersion and a couple hours of “study” I think that probably seems about right? Though maybe sleep a bit more.

When I lived in Tokyo I met lots of immigrants that came over with little or no knowledge of Japanese and if they were working in ordinary jobs like in a restaurant or convenience store, they would usually be conversational in a couple months and verbally fluent in a half year. The ones that studied were usually ready to take the N1 after a few years.

People that struggled were usually in jobs like English teaching or programming where most of their day was not in Japanese.

And like I said above, if you want to learn Japanese, the whole point is to use it, so using Japanese for most of the day doesn’t necessarily seem like a burden.

Obviously it’s not for everyone, but that’s true of everything.

Do you think there is another, faster way to fluency?
by lucyjojo | 2025-09-07 04:03:19+00:00
i live in one of those countries.

we're not rich, we do not buy many american products.

most of the money goes into mortgage, food, school for the kids, and occasional local family trips. that's the bulk of my spending.

in my case i have a 6yo android phone, a 6yo benq monitor, a recent (2024) mac mini and some indie steam games. i do not own anything else american. i do pay for youtube premium and a netflix family account and do use amazon to buy non-american products.

a small part goes into retirement funds with a smaller part from that going to back to america.

the us runs a big trade deficit with my country so that money is not really seeing back the american shores but the part that is definitely does not head to the american people. increasing inequality mechanics imply it's proportionally more and more funneled and concentrated into the elite (stocks&bonds, rent-seeking "post"-capitalism, lobbying, fiscal optimization etc.).
by erdehaas | 2025-09-07 04:03:26+00:00
The title is misleading. The maths explained in the blog is the math that is used to build an LLM (how it internally does calculations to do inference etc.). The math to understand LLMs, i.e. that explains in mathematical rigor why LLMs work, is not fully developed yet. That is what the LLM Explainability is about, the effort to understand and clarify the complex, "black-box" decision-making processes of Large Language Models (LLMs) in human-interpretable terms.
by arduanika | 2025-09-07 04:05:00+00:00
I believe you mean the trenches of WWI not WWII. But yes.

There's a theory that Longstreet saw it all coming, too, but was unable to get the point through to Lee. That is, he saw that trench warfare was going to be the future.

But yeah. The European general staffs were modeling all their train timetables on the fast Franco-Prussian War of 1870.
by MrJohz | 2025-09-07 04:05:43+00:00
Actually, I think argparse falls into the same trap that the author is talking about. You can define lots of invariants in the parser, and say that these two arguments can't be passed together, or that this argument, if specified, requires these arguments to also be specified, etc. But the end result is a namespace with a bunch of key-value pairs on it, and argparse doesn't play well with typing systems like mypy or pyright. So the rest of the tool has to assume that the invariants were correctly specified up-front.

The result is that you often still this kind of defensive programming, where argparse ensures that an invariant holds, but other functions still check the same invariant later on because they might have been called a different way or just because the developer isn't sure whether everything was checked where they are in the program.

What I think the author is looking for is a combination of argparse and Pydantic, such that when you define a parser using argparse, it automatically creates the relevant Pydantic classes that define the type of the parsed arguments.
by doe88 | 2025-09-07 04:06:41+00:00
I'm always surprised like at this level it still seems some people absolutely want to fire there weapons; whereas I would say the more secret a mission is, the more experience you have, the more training you have and you should have understood that killing people and making noises was not the goal of the mission... It should be more teached it seems, sometimes there is operational value in not killing people.
by ggm | 2025-09-07 04:08:08+00:00
When you deposit those USD, pay that mortgage, having received local currency as pay, to get you that local currency, or convert the USD INTO local currency, somebody wound up with USD. What does that somebody do with it?

Those stocks and bonds, those rent seeking post capitalism entities, they don't just sit on piles of USD like smaug. They have to do something with it. What do you do with USD?

These "giant trade deficits" are not the problem the current US government thinks they are. They aren't that giant. In any event, repatriating US jobs isn't going to "fix" whatever ails America.
by wkat4242 | 2025-09-07 04:08:25+00:00
Yeah the oversized gas guzzlers of the US were never popular in Europe. They're hard to park here (parking bays are smaller), difficult to drive in narrow historical cities, expensive to fuel etc. And pick-ups are very unpopular here, unless you're a farmer there's no point in such a large open loading bed.

I remember choosing between a Nissan 100NX and a Ford Probe (both about 10 years old) but the latter had way worse fuel economy not being a Europe native model (though it wasn't really a US model either I think). Also the 100NX wasn't really a sports car, it was just a Nissan Sunny compact with a more sporty looking body and T-top. It was a super nice car though.
by mitchivin | 2025-09-07 04:09:01+00:00
It would definitely go faster based on a few things. One being that these models are continually improving - an ungodly amount of time was spent trying to connect the dots between what I was seeing and what the agent was seeing/understanding.

But aside from that, I would still say yes. I've learned a lot (it's just hard to put into words when I'm missing some of the technical language) and I've gained so much confidence in even dealing with code.

I've actually started doing some work for someone after they saw my site on Reddit, which I could never have done before. It involves Docker, a bit of Python, and working on a codebase with multiple contributors. It's both exciting and terrifying at the same time.
by hippo22 | 2025-09-07 04:10:20+00:00
I think the outcome we're witnessing in the U.S. is simply an outcome of an insurance-backed industry. All the market forces conspire for prices to be higher. Insurance companies actually don't care how much healthcare costs because they earn a fixed percentage on premiums. If healthcare costs are higher, then premium costs are higher, so the insurance companies earn more money.

Naturally, hospitals also wants prices to be higher so they can earn more money.

I would expect this dynamic to play out whenever all the buyers in the marketplace are insurance companies.
by adityaathalye | 2025-09-07 04:10:37+00:00
In Clojure...

((fn [xs ret] (if (empty? xs) ret (recur (rest xs) (+ ret (first xs))))) (range 5) 0) => 10

nb. Clojure doesn't have automatic tail call optimisation. We need to explicitly emulate it with`recur`.
by b_e_n_t_o_n | 2025-09-07 04:11:38+00:00
I feel like MVC is trying to get at a core concept of having your application state in one place, your view objects/state in another place, and then having a third piece that updates the application state.

So like in React, you'd have your Redux store as the Model, React components (with useState etc) as the View, and then your Controller is the reducer which is called from UI code and updates the Model.

Maybe that's incorrect definitionally, but it makes sense to me.
by kypro | 2025-09-07 04:12:34+00:00
Why is demand needed in a post-AGI world?

Free market economics depends on the idea that resources are scarce. If you don't have scarce resources you don't have trade because everything you want you either have or can have in abundance. Although it's probably the single most important thing for your survival, no one trades air for example.

In a post-AGI world where there is no scarcity and everything is as abundant as air (for those with the AI) trade halts.

I suspect conventional economics, like many things, simply stops making sense in a post-AGI world.
by nomilk | 2025-09-07 04:12:52+00:00
Point taken, but sometimes 'heated' conversations happen on topics of great importance, and are sometimes the conversations from which we learn the most. (certainly not always, but sometimes).

A non-HN example: often when two people I have huge respect for as intellectuals go at it in debate over something, I can often infer that the topic is of some importance (I might not have ever heard of the topic before), and when smart people differ greatly in their views, at the very least, it's an 'interesting' topic, perhaps warranting further inquisition.
by woopsn | 2025-09-07 04:13:26+00:00
I guess this PRNG has recurrence period much less than 52! (or wasn't seeded appropriately), so that only sampled a fraction of the distribution

"... the system ties its number generation to the number of seconds that have passed since midnight, resetting once each day, which further limits the possible random values. Only about 86 million arrangements could be generated this way,"
by starchild3001 | 2025-09-07 04:13:34+00:00
Niall Ferguson is a huge Trump apologist, which is a bigger and bigger losing position by day. Let me tell you what will happen under Trump

1. Runaway inflation driven by unchecked bank leverage and the collapse of FED independence. Mark my words on this.

2. Cascading crises, financial and otherwise, because deregulation always ends up the same way. When government abandons its responsibility to regulate (protect), disaster follows. COVID was just one example of such systemic failure. Financial Crisis was another.

3. Structural decay of U.S. institutions -- a uniquely Trump-era risk. Once core systems are weakened, the damage can become permanent, as history shows in other countries.

4. Erosion of America’s scientific and technological edge through diminished research funding, reduced skilled immigration, and a breakdown of meritocracy.

It increasingly feels like watching the fall of Rome, with at least a 25% probability -- something even Niall Ferguson acknowledges.

Comparison with the "evils of Biden administration" feels so hollow, I feel speechless when people bring that up as an argument. It's like comparing stage 4 cancer with flu.
by mitchivin | 2025-09-07 04:14:13+00:00
funny you say that, you are the first to mention it but I personally use Gmail installed as an app from my browser, so I encounter this exact issue hahah. Even worse, there was a time where I uninstalled outlook completely. It was also pretty messy in that instance

I kind of assumed that if someone found themselves in that position they would contact me another way and it shouldn't be a dealbreaker haha
by sudahtigabulan | 2025-09-07 04:14:15+00:00
I think I've seen it done like that

--option flag1,flag2

(Maybe with another separator, as long as it doesn't need to be escaped.)

Another possibility is to make the main option an argument, like the subcommands in git, systemctl, and others:

command option --flag1 --flag2

This depends on the specifics, though.
by jerf | 2025-09-07 04:14:21+00:00
One of the other markers of "true MVC" I look for is that you ought to have pervasive mixing and matching of the pieces. It is common for models to see some reuse in multiple "views" and "controllers", but if all or almost all of your controllers match up to precisely one view, then you're burning design budget on a distinction that is buying you nothing. If you've got strictly one-to-one-to-one matches for each model, view, and controller, then you're just setting your design budget on fire.

Another major aspect of the original "true" MVC is multiple simultaneous views on to the same model, e.g., a CAD program with two completely live views on the same object, instantly reflecting changes made in one view in the other. In this case MVC is less "good idea" than "table stakes".

I agree that MVC has fuzzed out into a useless term, but if the original is to be recovered and turned into something useful, the key is not to focus on the solution so much as the problem. Are you writing something like a CAD program with rich simultaneous editing? Then you probably have MVC whether you like it or realize it or not. The farther you get from that, the less you probably have it... and most supposed uses of it I see are pretty far from that.
by ModernMech | 2025-09-07 04:14:40+00:00
How does the human consume the arbitrarily good camera feeds?

> That something magical is happening because the eyes are close topographically to the brain?

It sounds to me like you have to study what eyes actually are. It's not about proximity or magic, they are a part of your brain, and we're only beginning to understand their complexities. Eyes are not just sensory organs, so the analogy to cameras is way off. They are able to discern edges, motion, color, and shapes, as well as correct errors before your brain even is even aware.

In robotics, we only get this kind of information after the camera image has been sent through a perception pipeline, often incurring a round trip through some sort of AI and a GPU at this point.

> Sounds implausible.

Musk just spent billions of dollars and the better part of a decade trying to prove the conjecture that "cameras are sufficient", and now he's waving the white flag. So however implausible it sounds, it's now more implausible than ever that cameras alone are sufficient.
by refurb | 2025-09-07 04:16:36+00:00
Do Americans think they are special? Do they think that everything gets paid for no matter what? An endless pool of money?

As a Canadian I had the pleasure of my insurer (Canadian government) denying my treatment. Multiple appeals, still a no. My doctor said it was the only thing that would treat my disease. So my only choice is paying for it in cash at $10,000+ per month, which I can't afford.
by mitchivin | 2025-09-07 04:18:42+00:00
It should be based on my resume, you're right haha - a peak behind the curtain reveals a decade of struggles finding my place in the world before saying fuck it and following my gut. I'm 30, whoooops - if you do the math on my graduation you should be able to get there, not hiding it - but didn't want to shout it from the rooftops either haha
by jenadine | 2025-09-07 04:18:52+00:00
> C++ gives ultimate control over memory and low level things (think pointers, manual stack vs heap, inline assembly). It has good compatibility with C ABIs.

So does Rust.

> It's very general purpose and permissive

I don't really understand this point.

> And there are many programmers with C++ (or C) knowledge out there already

Indeed, the only thing C++ has for it is it's legacy: Lots of projects written in C++ and many programmer who knows the language. And that's exactly why it is difficult to change.

When there are new features added to the language, it takes time to adjust because the old code isn't getting converted by itself, and the devs need to learn and get used to the new features.

(If you can afford to teach your team new features of C++, you can as well teach your team Rust.)
by tpmoney | 2025-09-07 04:19:44+00:00
> You may be confused, but a business loss deduction usually reduces a taxable income.

Yes, I know, which is why in option B the taxes required was $9M instead of $10M. The 10k payment reduced taxable income from $100M to $90M. Business taxes are notoriously complex, but I am aware of no IRS rules that would allow a 10M legal settlement to reduce the taxes owed by >= $10M. If you believe I remain confused, please by all means provide an example scenario and/or citations to the relevant tax statutes.
by jjmarr | 2025-09-07 04:21:51+00:00
> Safe rust doesn't segfault ever.

https://github.com/Speykious/cve-rs

> That is why cve-rs uses #![deny(unsafe_code)] in the entire codebase. There is not a single block of unsafe code (except for some tests) in this project.

> cve-rs implements the following bugs in safe Rust:

* Use after free

* Buffer overflow

* Segmentation fault
by pxc | 2025-09-07 04:22:12+00:00
I don't think it counts as vibe coding, since the author read every line of code and presumably also asked questions about them and looked things up about the meanings of unfamiliar keywords and functions and so on.

It might be spiritually close to vibe coding in some ways because the author wasn't previously a programmer, so this code was never reviewed by a professional or trained developer.

But it was a high-effort project that involved inspecting and trying to understand the code, which isn't what vibe coding is about.

Whatever we want to call it, I think it's awesome! This is a good use of LLMs to help laypeople break into writing code imo, and the result is great.