MurphyA/hacker-news huggingface dataset:
by const_cast | 2025-06-02 04:02:26+00:00
Economics is inherently tied to politics, and economic theory is merely created to satisfy various political desires.

Our economic understanding is inherently limited to just capitalism. That's all we know, and our theories are constrained within that environment. However, throughout human history there have been a plethora of economies that operated under different rules.

> Automation has always resulted in economic growth

This, while true, does not mean that further automation will result in economic growth.

For example, under a capitalist economy, 100% automation results in the entire economy collapsing. Because the economy is predicated on consumerism, which requires employment. In order to produce things, you need people to buy them.

Seems simple, but it's a huge problem with capitalism that we repeatedly bandaid. Obviously, we can't let people who can't work just rot in the street, because that's unpleasant. So we develop systems like disability, Medicaid, Social Security, education, etc to bolt-on top of capitalism to fill in the gaps.

We are completely and utterly not prepared for extreme automation.
by mixmastamyk | 2025-06-02 04:03:09+00:00
Yes, am reminded of the Pentium FDIV bug:

https://en.wikipedia.org/wiki/Pentium_FDIV_bug

$475 million charge, in 1990's dollars.

Every additional person who gets involved who didn't author the bug needs to research and communicate the problem. 100x sounds small after just a few layers of indirection.
by idiotsecant | 2025-06-02 04:04:31+00:00
To be clear, I'm not faulting Ukraine for doing this. It appears to have been a well executed and wildly innovative plan. There were no (that I'm aware of) civilian losses on either side. Sounds about as good as it can be.

I'm just speculating what, if any, geopolitical ramifications arise from this. Sometimes consequences happen even when you're 'the good guy'. Life is often not like the stories and things sometimes end up terribly even when you do everything right.
by kbolino | 2025-06-02 04:05:54+00:00
You can certainly encounter 2.675 as a multiplier, even if you wouldn't have it as a balance.

It doesn't matter that some error starts off way less than 0.005 if rounding then amplifies it. We can find two 2-digit numbers that multiply to get exactly 2.675 in reals, but whose product differs from the float number closest to 2.675 enough to affect rounding:

abs( 2.14 * 1.25 - 2.675 ) < 0.005 abs(round(2.14 * 1.25, 2) - round(2.675, 2)) > 0.01

And regarding integer vs fractional rounding, we can see different results for what is nominally the same computation, depending on where the decimal point is:

abs(round(1.0 * 1.5, 0) - 2.0 ) < 0.1 abs(round(0.01 * 1.5, 2) - 0.02) > 0.001

Now, I never said that floats were bad. I am only saying that rounding them doesn't work the way one might expect, and shouldn't be done any more than necessary; in many cases, it's not necessary at all.
by mmooss | 2025-06-02 04:08:05+00:00
While you define a legal act of war, that can stil be terrorism. Terrorism is a tactic that works by insipiring fear and causing a response. The attack itself usually doesn't do enough damage to change the outcome of the war.

By creating fear among Russian officials and, possibly, the population, Ukraine causes Russia to divert resources to protecting more places in Russia. The loss of the planes, while a substantial economic blow, doesn't change the outcome of the war.
by rybosome | 2025-06-02 04:10:51+00:00
I’ve spent some time optimizing Python performance in a web app and CLI, and yeah it absolutely sucks.

Module import cost is enormous, and while you can do lots of cute tricks to defer it from startup time in a long-running app because Python is highly dynamic, for one-time CLI operations that don’t run a daemon or something there’s just nothing you can do.

I really enjoy Python as a language and an ecosystem, and feel it very much has its place…which is absolutely not anywhere that performance matters.

EDIT: and there’s a viable alternative. Python is the ML language.
by bitwize | 2025-06-02 04:10:56+00:00
Samurai Jack always struck me as a 90s-modern, anime-and-Kurosawa-film-influenced update of another animated classic, Thundarr the Barbarian. The premise is quite different, but the vibe of "quasi-solitary warrior wandering through a ruined future, righting wrongs" is very much in force.
by peter422 | 2025-06-02 04:14:52+00:00
This chair is made from pressure treated wood. Technically speaking, it is safe to sit on, but personally I'd like to avoid those chemicals against my skin if I could. Regular lumber probably would be preferable, especially when it would take $10 and 20 minutes to replace it after 5 years when it has rotted (or you could spring for redwood or cedar for an extra $10 and double or triple the life of your chair).
by greedo | 2025-06-02 04:15:19+00:00
Ummm, bombers have no desire to be around things that explode. They want to drop their bombs/missiles, and then get out of Dodge as quick as possible. The munitions on the ground are (at least on Western air bases) housed in very well protected vaults.

Airplanes are so relatively fragile, that it's common for airbases and aircraft carriers to conduct FOD walks to make sure their runways are free of small pieces of metal debris that could be ingested by their engines. It doesn't take a lot to put an airplane out of commission.

These aren't A-10s with titanium bathtubs protecting their pilots. They're large, slow, aluminum skinned craft that have limited maneuverability, and are the quintessential "bomb trucks" for Russia.
by jader201 | 2025-06-02 04:16:26+00:00
For sure, I’m not advocating intentionally lengthening videos for financial incentives, either.

I guess I didn’t immediately get that impression when I watched it, but I wasn’t watching it with that in mind.

My point is I don’t mind filler in videos, if it’s true to what’s naturally happening.

But intentionally adding filler is, indeed, poor form.
by NoahZuniga | 2025-06-02 04:16:26+00:00
I mean, maybe they don't have an open API, but they sure do have an API on the internet. Surely the payment terminals are communicating with the issuing bank in someway, perhaps over an interface of some kind.

I believe what this comment is getting at is that making fake transactions is useless without a connection to a bank that will execute them.
by jandrewrogers | 2025-06-02 04:16:27+00:00
Not even close, and I am a fan of abseil. The design of abseil has legacy constraints that don’t need to apply to a C++20 clean room implementation. I have better re-implementations of abseil components in my own “standard” library simply because I didn’t have those constraints.

There are many good libraries out there, or fragments of libraries, but I’ve never found one that really scratches this itch.
by ElectricalUnion | 2025-06-02 04:17:21+00:00
Sad reality is that the MI300x isn't a monolithic die, so the chiplets have internal bandwidth limitations (ofc less severe that using PCIe/nvlink).

In AMD own parlance, the "Modular Chiplet Platform" presents itself as either single-I-don't-care-about-speed-or-latency "Single Partition X-celerator" mode or in multiple-I-actually-totally-do-care-about-speed-and-latency-NUMA-like "Core Partitioned X-celerator" mode.

So you kinda still need to care what-loads-where.
by kriro | 2025-06-02 04:26:23+00:00
Excellent article. Reminds me of a CCC talk in the early 2000s where an enthusiast checked ATMs of different banks across Germany and most where running unpatched Windows 98 (I think). If my memory is correct it was also very easy to get physical access. I believe removing a couple of normal screws got you to an ethernet port or something similar.
by ryao | 2025-06-02 04:28:47+00:00
Unfortunately, AMD and ATI before it have had driver quality issues for decades; and both they and their fans have claimed that they have solved the problems every year since.

Even if they have made progress, I doubt that they have reached parity with Nvidia. I have had enough false hope from them that I am convinced that the only way that they will ever improve their drivers if they let another group write the drivers for them.

Coincidentally, Valve has been developing the Vulkan driver used by SteamOS and other Linux distributions, which is how SteamOS is so much better than Windows. If AMD could get someone else to work on improving their GPGPU support, we would likely see it become quite good too. Until then, I have very low expectations.
by pzo | 2025-06-02 04:29:28+00:00
My take: tensorflow lite + mediapipe was great but google really neglected it in the last 3 years or so. Mediapipe didn't have many meaningful update in last 3 years. A lot of models today are outdated or slow. TF Lite supported NPU (like apple ANU) but mediapipe never did. They had also too much mess with different branding: MLKit, Firebase ML, TF lite, LiteRT.

This days probably better to stick with onnxruntime via hugging face transformers or transformers.js library or wait until executorch mature. I haven't seen any SOTA model officially released having official port to tensorflow lite / liteRT for a long time: SAM2, EfficientSAM, EdgeSAM, DFINE, DEIM, Whisper, Lite-Whisper, Kokoro, DepthAnythingV2 - everything is pytorch by default but with still big communities for ONNX and MLX
by NitpickLawyer | 2025-06-02 04:32:26+00:00
> And then they ship an Electron based GUI on top.

If this catches on, and more tools get the "chatgpt, translate this into rust, make it go brrr" treatment, hopefully someone puts in the time & money to take tauri that extra 10-20% left to make it an universal electron replacement. Tauri is great, but still has some pain points here and there.
by comex | 2025-06-02 04:34:08+00:00
> Sadly there is not a simple way to integrate this to native loop constructs without macros and even then it is a bit ugly.

I’ve implemented something like this before, without macros. It’s a little ugly, but not that bad IMO.

If you write a native range-based for loop:

for (auto foo : obj) { /* do something */ }

it essentially desugars to

auto it = foo.begin(); auto end = foo.end(); for (; it != end; ++it) { auto foo = *it; /* do something */ }

To make it work with a custom type, you need to implement `begin()` and `end()` methods, but the returned objects don’t need to support the full STL iterator protocol; they only need to support the exact sequence of operations from the desugaring. So, for example, `end()` can return a unique `End` type that contains no data and does nothing. `begin()` can return a different type that does all the real work and implements `operator!=(End)`. With that, it’s not too hard to implement a wrapper around a Python-like iterator protocol.

The main drawback is that you need to temporarily store each item in the begin object before it’s moved into the iteration variable. This is because you have to already know whether a next item exists at the point of `it != end`, but then the item isn’t actually retrieved until `*it`. The extra move has a slight cost, but the compiler can often optimize it away to nothing. You can also avoid this if the for loop uses a reference type (`for (auto& foo : obj)`).
by ElectricalUnion | 2025-06-02 04:34:54+00:00
> Nobody can use ChatGPT offline or retrain it, but DeepSeek is fully opensource.

Well, you likely can't train DeepSeek yourself either.

You most likely:

* you philosophically don't have all the training data to train it yourself (so the claim it's opensource or open-whatever are dubious in the first place);

or

* you don't have the compute to "press the train button" and getting the weights back before the sun expires. While considered ridiculously ground-breaking cheap, those costs were still estimated to be around 6 million USD (DeepSeek claimed the model training took 2,788 thousand H800 GPU hours, which, at a cost of $2/GPU hour, comes out to a "mere $5.576 million"). I remember that when it was released, the mere thought that "people" cound "train AI cheaply with only 6 million USD" made one of the worst drops in the Nvidia valuation.
by latchkey | 2025-06-02 04:35:05+00:00
Exactly, it is not a driver.

Appreciate you diving more into my business. Yes, we are one of the few that publishes transparent pricing.

When we started, we got zero sales, for a long time. Nobody knew if these things performed or not. So we donated hardware and people like ChipsAndCheese started to benchmark and write blog posts.

We knew the hardware was good, but the software sucked. 16 or so months later, things have changed and sufficiently improved that now we are at capacity. My deep involvement in this business is exactly how I know what’s going on.

Yes, I have a business to run, but at the same time, I was willing to take the risk, when no-one else would, and deploy this compute. To insinuate that I have some sort of conflict of interest is unfair, especially without knowing the full story.

At this juncture, I don’t know what point you’re trying to make. We agree the software sucked. Tinygrad now runs on mi300x. Whatever George’s motivations were a year ago are no longer true today.

If you feel rocm sucks so badly, go the tinygrad route. Same if you don’t want to be tied to cuda. Choice is a good thing. At the end of the day though, this isn’t a reflection on the hardware at all.
by brucehoult | 2025-06-02 04:35:38+00:00
Yup.

Put the effort into remembering a 3 digit log for 7 instead?

Or keep the same precision with ...

7 = ~sqrt(100/2) -> (2-0.3)/2 = 1.7/2 = 0.85

Log 2 is all you need?

Or even ...

7 = sqrt(sqrt(2401)) = (3*8*100)^(1/4) -> 0.95/8 + 0.3*3/4 + 2/4 = 0.12 + 0.225 + 0.5 = 0.845

VERY accurate, but that's getting to be too much.
by DiabloD3 | 2025-06-02 04:36:21+00:00
You're conflating two different things.

ROCm isn't part of AMD drivers, its a software library that helps you support legacy compute APIs and stuff in the BLAS/GEMM/LAPACK end of things.

The part of ROCm you're interested in is HIP; HIP is the part that does legacy CUDA emulation. HIP will never be complete because Nvidia keeps adding new things, documents things wrong, and also the "cool" stuff people do on Nvidia cards aren't CUDA and it is out of scope for HIP to emulate PTX (since that is strongly tied to how historical Nvidia architectures worked, and would be entirely inappropriate for AMD architectures).

The whole thing with Tinygrad's "driver" isn't a driver at all, its the infrastructure to handle card to card ccNUMA on PCI-E-based systems, which AMD does not support: if you want that, you buy into the big boy systems that have GPUs that communicate using Infinity Fabric (which it, itself, is the HyperTransport protocol over PCI-E PHY instead of over HyperTransport PHY; PCI over PCI-E has no ability to handle ccNUMA meaningfully).

Extremely few customers, AMD's or not, want to share VRAM directly over PCI-E across GPUs since most PCI-E GPU customers are single GPU. Customers that have massive multi-GPU deployments have bought into the ecosystem of their preferred vendor (ie, Nvidia's Mellanox-powered fabrics, or AMD's wall-to-wall Infinity Fabric).

That said, AMD does want to support it if they can, and Tinygrad isn't interested in waiting for an engineer at AMD to add it, so they're pushing ahead and adding it themselves.

Also, part of Tinygrad's problem is they want it available from ROCm/HIP instead of a standards compliant modern API. ROCm/HIP still has not been ported to the modern shader compiler that the AMD driver uses (ie, the one you use for OpenGL, Vulkan, and Direct family APIs), since it originally came from an unrelated engineering team that isn't part of the driver team.

The big push in AMD currently is to unify efforts so that ROCm/HIP is massively simplified and all the redundant parts are axed, so it is purely a SPIR-V code generator or similar. This would probably help projects like Tinygrad someday, but not today.
by woodson | 2025-06-02 04:36:39+00:00
I think that, for the purposes of creating high-quality Free audiobooks, the issues are essentially the same with human-generated recordings as with AI generated ones. The recording quality and faithfulness to the original text (both in terms of “content” and the appropriate reading in terms of tone, expression of emotion, etc.) have to be verified. The problem is scale. There will be many more TTS-generated recordings uploaded than human-generated ones. Some automated filters (e.g., ASR WER, audio quality metrics) would be a great first step to discard bad-quality slop right away (though it might unfairly penalize real human accented speech).

Importantly, the recording should indicate whether it was human or AI generated.
by f_allwein | 2025-06-02 04:39:36+00:00
Random thoughts:

- are there any measurable factors indicating someone is a good match? Okcupid claimed to match people with others who gave similar answers to their questions, but I had some fates with a high match % and still no chemistry.

- speaking of chemistry, check out https://smell.dating/ . No idea if it works, but at least it’s a novel approach.

- people have different goals, from finding love to sex/ friends/ … (and may not be open about this). Can an app take that into account?

- I heard from several girls that guys sometimes open conversations with direct sexual remarks, which violates the mind set of „natch - have a conversation - get to know each other irl if there’s any chemistry“. How to handle this?
by bravesoul2 | 2025-06-02 04:39:54+00:00
Formal methods can be understood by interns. This is the weird thing about this industry. Make people run gauntlets then label them and tie their hands behind their backs.

Formal methods is just another tool. Do you need a principal engineer with 15yoe for Haskell or Rust code.

In today's AI and low head count world you want someone who is really good at that thing (regardless of experience)

Needing a principal who can go deep on Kafka queues in a design interview isn't what is required.

Most organisations are measuring impact narratives not skill to get up the org chart.
by brenns10 | 2025-06-02 04:39:57+00:00
Honestly I find this quite frustrating. I really dislike when folks like yourself take your product-focused mindset into open source/public domain projects.

These people are NOT BUILDING A PRODUCT. There ARE NO USERS. No customers. No investors. No business considerations. There are just contributors, donating their time and money to a project they feel is worthwhile.

If they don't want to focus on "UX," they don't need to. If a person who believes in the project lends their time toward improving UX, they can. But it's not the job of ANYONE, contributor or maintainer, to do anything that doesn't serve the existing contributors.

And I know that sucks for welcoming new folks. I know it would be better for a project to do outreach. To try to position themselves to bring in new members. Many such projects do that. But it sure is galling to suggest that it's a project's JOB to do something more when they're providing tons of free content to you. If it mattered enough for you to comment, go work on it!
by softfalcon | 2025-06-02 04:40:25+00:00
And yet, if you go further by taking great care and effort into the mundane, it can become meditative.

There is a sense of honour and zen in doing the mundane as perfectly as possible. Not to achieve perfection but strive towards the ideal within reason.

This is something I recently spoke with my father about. He was annoyed with trying to keep toxic mushrooms out of his yard. It was tedious and complicated.

Then he embraced the struggle, and looked at it the same way he used to train in martial arts. As a chosen striving towards an ideal.

He “monk-moded” his gardening and found joy in a mundane, repetitive task.

Through caring, he turned anxiety and annoyance into peace and acceptance.

He also won the battle against the mushrooms after 2 years of diligent effort.
by throwaway314155 | 2025-06-02 04:42:07+00:00
> All I asked was how it was small enough to run locally on my phone

Bit off-topic, but did you expect to see a real or honest answer about itself? I see many people under the impression that models know information about themselves that isn't in the system prompt. Couldn't be further from the truth. In face, those questions specifically lead to hallucinations more often resulting in an overconfident assertion with a "reasonable" answer.

The information the model knows (offline - no tools allowed) stops weeks if not months if not years prior to when the model is done training. There is _zero_ information about its inception, how it works, or anything similar in its weights.

Sorry, this is mostly directed at the masses - not you.
by theschmed | 2025-06-02 04:46:10+00:00
Another site, which includes a smaller but more professionally curated set of recordings, is Lit2Go (https://etc.usf.edu/lit2go/books/). My children and I for example have greatly enjoyed Lorraine Montgomery’s recording of “Curly and Floppy Twistytail”, a series of delightful nonsense stories performed with gusto. (https://etc.usf.edu/lit2go/183/curly-and-floppy-twistytail-t...) They’re not all aimed at children either, high quality recordings of Dracula, David Copperfield, etc
by npalli | 2025-06-02 04:46:15+00:00
While they used Cranelift IR itself (amongst others, not just LLVM) to show performance improvements (thus making it complementary and not a replacement) you raise a good point. Quite possible it is not as full-featured yet so perhaps in the future, if at all.

The TPDE-based back-end compiles 4.27x faster than Cranelift and 2.68x faster than Cranelift with its fast register allocator, but is 1.74x slower than Winch
by throwawaymaths | 2025-06-02 04:47:07+00:00
demonstrated is the key word here. you can make most circuits ~reversible by just shuffling off to a pool of bits that you destroy eventually (but i presume you destroy a minimal amount), but is the juice worth the squeeze? i would worry that the scaling factor for floorplan is not linear in the matrix size (which is already O(nxk))

if you're also batching matmuls isnt there an unavoidable information loss that happens when you evict the old data and drop in the new batch?
by nicbou | 2025-06-02 04:47:39+00:00
More and more things won't be on the internet. Google and OpenAI are actively destroying the economics of putting new information online.

Why bother running a blog if their AI slurps up your posts and denies you the traffic? Why create things that no longer get indexed by Google, let alone served in the search results? So much information has become impossible to find, with the search engine reinterpreting your query and serving the blandest slop.
by mtlmtlmtlmtl | 2025-06-02 04:48:20+00:00
Again, I didn't write this, but in general, to take a chess engine and apply to another game the main things you'd have to change are the board representation, and you'd have to retrain the neural net(likely redesign it as well). The tree search should work assuming the game you're going to is also a perfect information, minimax game. Though it could also work for other games. There's a good chance there's prior work on applying bitboards(board representation) on whichever game that is. Chessprogrammingwiki is an invaluable resource for information about how engines like this work. Godspeed.
by nullc | 2025-06-02 04:49:11+00:00
If you like crazy chemistry stories, be sure to read "Excuse Me Sir, Would You Like to Buy a Kilo of Isopropyl Bromide?".

One of the first stories in it involve the high school chemistry club breaking into the local college to get materials for some experiments. Along the way they find metallic sodium in kerosene and take some by shoving it in someone's back pocket. After some time passes it predictably catches fire. But don't worry: they have water handy!