MurphyA/hacker-news huggingface dataset:
Show HN: Hekate – A Zero-Copy ZK Engine Overcoming the Memory Wall
by y00zzeek | 2026-01-18 03:52:48+00:00
Most ZK proving systems are optimized for server-grade hardware with massive RAM. When scaling to industrial-sized traces (2^20+ rows), they often hit a "Memory Wall" where allocation and data movement become a larger bottleneck than the actual computation.

I have been developing Hekate, a ZK engine written in Rust that utilizes a Zero-Copy streaming model and a hybrid tiled evaluator. To test its limits, I ran a head-to-head benchmark against Binius64 on an Apple M3 Max laptop using Keccak-256.

The results highlight a significant architectural divergence:

At 2^15 rows: Binius64 is faster (147ms vs 202ms), but Hekate is already 10x more memory efficient (44MB vs ~400MB).

At 2^20 rows: Binius64 hits 72GB of RAM usage, entering swap hell on a laptop. Hekate processes the same workload in 4.74s using just 1.4GB of RAM.

At 2^24 rows (16.7M steps): Hekate finishes in 88s with a peak RAM of 21.5GB. Binius64 is unable to complete the task due to OOM/Swap on this hardware.

The core difference is "Materialization vs. Streaming". While many engines materialize and copy massive polynomials in RAM during Sumcheck and PCS operations, Hekate streams them through the CPU cache in tiles. This shifts the unit economics of ZK proving from $2.00/hour high-memory cloud instances to $0.10/hour commodity hardware or local edge devices.

I am looking for feedback from the community, especially those working on binary fields, GKR, and memory-constrained SNARK/STARK implementations.
Show HN: A self-custody medical records prototype (lessons learned)
by SERSI-S | 2026-01-18 03:53:19+00:00
Hi HN,

I built an early prototype exploring whether self-custody medical records can work in practice, using cryptographic proofs without putting sensitive health data on-chain.

The problem I’m testing against is healthcare data fragmentation in Indonesia, where patient records are siloed across hospitals and often unavailable in emergencies.

Blockchain is used only as an immutable audit layer; the system is designed to work even if the chain changes.

Key design choices:
- No medical data on-chain (hashes only, for verification and audit)
- All records encrypted off-chain
- Patients control access via QR-based sharing (doctors don’t touch crypto)
- Blockchain treated as a verification layer, not storage

Lessons learned so far:
- Hospitals won’t run blockchain infrastructure
- Doctors won’t manage private keys
- UX matters more than cryptography
- Key recovery is harder than expected
- Regulation shapes architecture early

This is not production-ready and doesn’t solve regulation, key recovery, or hospital interoperability yet.

I’m mainly looking for critical feedback:
- Where this approach is fundamentally flawed
- What simpler designs I should consider instead
- Healthcare practitioners’ reality checks

Repo and technical details are in the README.
Happy to answer questions.
by seanmcdirmid | 2026-01-18 03:54:02+00:00
When I worked in China for Microsoft China, I was making 60-70% what I would have made back in the US working the same job, but my living expenses actually kind of made up for that. I learned that most of my non-Chinese asian colleagues were in it for the money instead of just the experience (this was basically my dream job, now I have to settle for working in the states for Google).

> It seems like the China's strategy of low cost LLM applied pragmatically to all layers of the stack is the better approach at least right now. Here in the US they are spending every last penny to try and build some sort of Skynet god. If it fails well I guess the Chinese were right after all. If it succeeds well, I don't know what will happen then.

China lacks those big NVIDIA GPUs that were sanctioned and now export tariffed, so going with lower models that could run on hardware they could access was the best move for them. This could either work out (local LLM computing is the future, and China is ahead of the game by circumstance) or maybe it doesn't work out (big server-based LLMs are the future and China is behind the curve). I think the Chinese government would have actually preferred centralization control, and censorship, but the current situation is that the Chinese models are the most uncensored you can get these days (with some fine tuning, they are heavily used in the adult entertainment industry...haha socialist values).

I wouldn't trust the Chinese government to not do Skynet if they get the chance, but Chinese entrepreneurs are good at getting things done and avoiding government interference. Basically, the world is just getting lucky by a bunch of circumstances ATM.
by rcoder | 2026-01-18 03:55:08+00:00
I think that any kind of “modern ops” necessarily includes coding, even if there isn’t a ton of Python or Rust being generated as part of the workflow.

Kubernetes deployment configurations and Ansible playbooks are code. PromQL is code. Dockerfiles and cloud-init scripts are code. Terraform HCL is code.

It’s all code I personally hate writing, but that doesn’t make it less valid “software development” than (say) writing React code.
by SERSI-S | 2026-01-18 03:55:09+00:00
Author here.

A few quick clarifications up front:
- No medical data is stored on-chain (hashes only)
- This is a prototype to test assumptions, not a compliant system
- Hospitals are not expected to run blockchain infrastructure
- The design is intentionally chain-agnostic

If you think blockchain is unnecessary here, I’d genuinely like to hear what simpler alternative you’d recommend.
by fragmede | 2026-01-18 03:56:22+00:00
Quality QA folk are able to reason and develop an understanding of a system without ever seeing a line of code. As long as we're discussing fundamentals, being able to develop such an understanding will be a skill to develop that will pay off returns even after AI comes and goes.

---

When given only three words, is the rewrite any good? When given to a human intern, would it be any good? Instead "refactor the foo that's repeated n bar, baz and qux into one reusable shared class/component/the appropriate thing for the given language" is good actual software engineering that a human would do, or ask an intern to do.
by tjr | 2026-01-18 03:57:59+00:00
I see a lot of people saying things like, if you don't use LLMs for coding then you are slower than your peers who do and you are are obsolete, not worth working with, etc., etc.

I am curious where this train of thought has come from. For decades, there have been

a) some human programmers who worked faster than others

b) other non-LLM programming tools that enabled productivity boosts

While maybe (maybe?) slower programmers aspired to be faster, and maybe (maybe?) their managers wished they were faster, it was generally accepted. You might have someone who codes slowly, or medium, or fast, or superhuman fast. Just so long as they were "fast enough" for your business needs, it wasn't a huge issue. There wasn't a culture of shaming all of the medium-speed programmers into the ground.

And while maybe some programming tools did indeed offer productivity boosts, there really wasn't a culture of demanding all possible boosting tools be used. If you want to use Nano to edit, great, up to you. Emacs? Great. Visual Studio Code? Great. Debuggers? Great. Print statements? Great. Outside of some highbrow programmer ivory towers, there wasn't a widespread insistence that "only these tools shall be used because they let you write code the fastest".

But now it seems that there is demand that LLMs be used to write code as fast as possible as possible.

Why? Why now, is it suddenly important that code be written as fast as possible, and anything less should be mocked and derided?
by qohen | 2026-01-18 03:59:19+00:00
The following is from David Warren's manual for DEC-10 Prolog, from 1979 [0]. It describes how Prolog development is done interactively, by being able to load code in dynamically into an interpreter and using the REPL -- note that the only mention of using paper is if the developer wants to print out a log of what they did during their session:

Interactive Environment Performance is all very well. What the programmer really needs is a good inter-active environment for developing his programs. To address this need, DEC-10 Prolog provides an interpreter in addition to the compiler.

The interpreter allows a program to be read in quickly, and to be modified on-line, by adding and deleting single clauses, or by updating whole procedures. Goals to be executed can be entered directly from the terminal. An execution
can be traced, interrupted, or suspended while other actions are performed. At
any time, the state of the system can be saved, and resumed later if required.
The system maintains, on a disk file, a complete log of all interactions with the user's terminal. After a session, the user can examine this file, and print it out on hard copy if required.

[0] https://softwarepreservation.computerhistory.org/prolog/edin...
by qingcharles | 2026-01-18 03:59:43+00:00
They just look at the traffic coming and going. I have a bunch of Hetzner boxes for different web projects that I've had forever and never heard a peep from them.

DHT is the protocol for P2P BitTorrent metadata transfer, essentially. It sorta lets you bootstrap a BitTorrent download without having a centralized tracker site. I'm trying to find a list of torrents for a research project and I need to monitor a lot of DHT traffic to see what is out there.
Show HN: StarFetch – A lightweight, modern system fetch tool in Rust
by LinusShyu | 2026-01-18 03:59:56+00:00
Hi HN,

I’m a high school developer and a huge fan of terminal customization. After Neofetch was archived, I wanted to build something that feels "instant" and takes full advantage of Rust’s performance.

That’s why I created StarFetch.

Why check it out?

Zero-latency: It’s designed to be fast enough that you can put it in your .zshrc without feeling any lag.

Rust-powered: A great way for me to learn systems programming and for users to have a memory-safe binary.

Clean Output: Focused on the essentials without the bloat.

I’ve been using it in my own setup alongside tools like yabai and sketchybar, and it’s been a blast to develop. I recently even submitted it to "This Week in Rust."

I’d love to hear your thoughts on the code implementation or what features you think a modern fetch tool should have in 2026.

GitHub:[https://github.com/Linus-Shyu/StarFetch_Core]
Thanks for taking a look!
by skullt | 2026-01-18 03:59:57+00:00
If you're paying the cost of serializing/deserializing the whole game state around every reload of the worker, why bother with the unsafe type-erased PersistWrapper (which still requires you to restart the host any time the game state struct changes)? Just keep the game state entirely on the worker side, and have the host instead pass, say, a &mut dyn Write to the before/after_reload functions. The old worker can write whatever it feels like there, JSON or whatever else, on the assumption that the new worker will decode it somehow. The new worker then stashes the deserialized game state in a static Mutex<GameState> during the after_reload hook and the actual hot_update function goes back to taking just the host trait object. The big advantage here is you can change the game state struct during a hot reload as long as the deserialization can handle it. With JSON, for example, adding new fields to the game state struct would be perfectly fine: old fields still get deserialized and new fields get default initialized.
by matheusmoreira | 2026-01-18 04:00:23+00:00
Stallman has always been right. Took me many years to understand just how far he saw into the future. Mind boggling.

It's a damn shame too. The current status quo is corporations and governments are locking the hardware down, rendering free software irrelevant. Sure, you can hack your computer, but if you do it fails remote attestation and is marked as untrustworthy by other computers on the internet. Hackers in control of their systems are marginalized, ostracized.

And it's only going to get worse. Stallman is losing. Computing freedom is being destroyed and there's little that can be done about it.
by kittikitti | 2026-01-18 04:01:40+00:00
The vast majority of people who called themselves DevOps were opportunist corporatists looking to get a promotion. It became less Ops as in operations and more Ops as in opponent. These people were haphazardly given the keys to production and I was often bullied by their ability to control it. Management needs to know if my application was running? They asked DevOps who often came back with lies in order to fit their own career objectives.

I apologize if my words were sharp because many DevOps engineers were not mean to me. Perhaps I just had bad luck to deal with ignorant gatekeepers to production. You already know if my opinion doesn't apply to you.
by y00zzeek | 2026-01-18 04:02:03+00:00
My motivation for building Hekate is simple: I am done watching well-funded teams with 50+ people and a busload of PhDs produce engineering trash.

There is a massive, widening gap between academic brilliance and silicon-level implementation. You can write the most elegant paper in the world, but if your prover requires 100GB of RAM to execute a basic trace, you haven't built a protocol, you've built a research project that collapses under its own weight.

I don't have "strategic planning" committees or HR-mandated consensus. If Hekate's core doesn't meet my performance standards, I rewrite it in 48 hours. This agility is a weapon. I want to prove that a single engineer, driven by physics and zero-copy principles, can wreck the unit economics of a multi-million dollar venture-backed startup.

Disrupting inefficient financial models is more than fun—it's necessary. The current "safe" hiring meta (US-only, HR-compliant, resume-padded candidates) is a strategic failure. While industry leaders focus on compliance, state-sponsored actors like Lazarus are eating their lunch.

You don't need "safe" candidates. You need predators. You need the difficult, inconvenient outliers who don't need a visa to outcode your entire department. Hekate is a reminder that in deep-tech, capital is noise, but performance is the only signal that matters.
by Twey | 2026-01-18 04:02:25+00:00
> CGEL says this

On further investigation I guess that Old English did indeed have a dedicated subjective conjugation, unique at least in the plural!

> good luck identifying why a verb appears in the subjunctive if you can't see the rest of the sentence around it.

The question of _why_ a verb is in a particular conjunction is one thing; the question of _whether_ a verb is conjugated, though, shouldn't really be in doubt.

> A verb form is never sufficient to signify the semantic mode of a sentence.

In languages with conjugated grammatical mood, the conjugation is indeed enough to signify the mood of the verb, just as in languages with conjugated past tense verbs in the past tense can be recognized by their conjugation.

> So, for English, we have a distinction in semantic modality that obligates us to use an exotically-conjugated verb. Why is this not an example of grammatical mood?

I think we might be talking at cross purposes. English certainly does have (several! though the precise set might depend on whom you ask) grammatical moods (in the English-grammar sense of grammatical constructions that convey mode). I don't know of anybody who argues that it doesn't. What English doesn't have, and Turkish (as well as Latin) does, is _conjugated_ mood, i.e. a particular mutation of verbs that associates a particular mode with that verb.
by zxh | 2026-01-18 04:03:55+00:00
We built SkillHub because our team was copy-pasting the same AI rules across Cursor, Copilot, and Claude Code. Now we version-control them in one Git repo and sync to all tools with one command.

- `skillhub install --global` once per dev.

- `skillhub link` in any project.

- Works with 13 AI tools out of the box.

It's like npm but for AI agent configurations.
by sxzygz | 2026-01-18 04:06:53+00:00
The amount of hate (used in the sense that it seems people online use) here is amusing. All he is saying is build things you want to see in this world. Implicit in his argument is the view that the majority in US tech are building what the elite demand, and his previous article outlines his view of this as a certain path to techno-feudalism, which I think is a reasonable extrapolation. The dissenters (aka haters) simply believe their 996 code-monkeyry will be rewarded when this future is realized.

How fucking naive.
by oenton | 2026-01-18 04:08:57+00:00
I honestly struggled to write a starter comment because... in the totality of the circus of things that transpired this past week, I don't have much more to add that hasn't already been said. But it's clear to me there aren't any adults in the room. Maybe there hasn't been for some time? Either way that's fucking scary.

Ironically, this "board" sounds like the poster child of what was feared in certain fringe circles around 2012. In that timeline, libertarians feared a big unaccountable federal government, and the only thing scarier than that is a big unaccountable global government where membership is mandatory.

I don't know how we ended up in this timeline, or more accurately, how this timeline started accelerating so rapidly, but now would be a great time for Congress to wake up and do their job. I called my senators and reps. I said, "Listen! If you don't make a public statement and wave your finger very strongly, I'm going to call you again tomorrow. Well, tomorrow's the weekend but first thing Monday!"

In the words of Bill Burr: Nobody can help but everybody understands.
by octoberfranklin | 2026-01-18 04:12:52+00:00
Cases essentially act like named arguments

... and there are only eight argument names. Which seems... limiting.

It's different from record types in the sense that you can provide the arguments in any order to a function

You can provide the fields of a record in any order, and call a function with it!

f { foo=3, bar=5 }
g { bar=5, foo=3 }

I still think the page needs a Rosetta Stone.
by fc417fc802 | 2026-01-18 04:13:50+00:00
> So to the extent that an ideographic language conveys words as ideas through symbology, and to the uninitiated these symbols lack all meaning, it's not really ideographic is it?

If I write math equations in an unfamiliar and inscrutable notation does that somehow make them "not math"?

I don't think ideography is in the eye of the beholder but rather the creator. Using the uninitiated as your standard doesn't seem to work very well for most things beyond the absolute basics.

The key observation here with relevance to the original in topic would probably be that icons that are legible to the uninitiated are likely to be of benefit. Even if you don't really care to accommodate them it's still going to help you to get your choices adopted.

Thus an amusing thought occurs to me. If we did want to switch to Chinese characters for icons it would probably make sense to do so gradually, one app every six months or so.
by deeg | 2026-01-18 04:13:57+00:00
>They aren't openly going against this and unifying against a dictator.

I'll push back on this some. There are demonstrations (the No Kings was the largest political demonstration in US history) and some open defiance, like currently in Minneapolis. But it's not enough. Not yet. The opposition party (Democrats) is led by some feckless weaklings who don't act like they understand the severity of the situation. Polls seem to indicate that unrest is growing so maybe something will change. Sadly I can't say it any stronger than that.
by gmd63 | 2026-01-18 04:17:49+00:00
The old skeuomorphic Apple icons were so easily distinguishable and yet still identifiable as Apple, a tough act to balance today amid competing design languages in oceans of competing apps. I thought they were great.

That pen and ink icon had a classic feel to it. It made me think about the time and effort demanded by handwriting that I was bypassing by opening that app. That kind of visual poetry is lost in these flat designs, where communicating membership in a brand's ecosystem seems to beat out other priorities.
by LexiMax | 2026-01-18 04:19:36+00:00
Your comment seems almost completely divorced from the tone of someone who actually read the article in good faith. It's almost like you got to the first critical thing that was said, stopped, and came back to the comments section to pout.

In no way was Scott Alexander dancing on the man's grave, in fact he spends a considerable portion of the article going over the positive influence Scott had on his life, despite not endorsing his politics and being dubious of his self-help methods.
by TZubiri | 2026-01-18 04:19:41+00:00
Yeah, there were 2 golden ages:

1- When this internet thing came out

2- When this covid thing came out

On the first era, here's a Java lecture from Stanford, if it's too basic for you, it still has historical value, iirc it's something like Java 6. And it also reinforces the basics.

https://www.youtube.com/watch?v=KkMDCCdjyW8&list=PLA70DBE71B...

It's a bit harder to follow along with online materials since you have to use the Internet Archive, and download older compilers or use options to target older versions, but it's all the more fun for it.
by ynac | 2026-01-18 04:20:42+00:00
There are a bunch of these on our island. The fireplaces are in the middle of the house, small doors, and once they get that brick warm the houses are 80 all winter long. They were built by Russian families in the 1940s, maybe a couple dozen homes on about 300 acres. The rest of the home's construction was typical; except for a few innovative walkways between main house and garage. I'm guessing it's what they knew from their homeland, even though temperatures here rarely drop below 20, and then, only for a short time.
by fsckboy | 2026-01-18 04:21:35+00:00
>PCs refuse to shut down after Microsoft patch

it was many patches ago when I refused to even start my PC after Microsoft's patches (when they made it so you couldn't reject their telemetry), at least not till I had linux installed (which I had anyhow been running all along via Xwindows, before the Microsoft-mind-virus-infected systemd, wayland, and btrfs crowds decided to ruin linux too.)

are the BSDs still safe?
by qohen | 2026-01-18 04:23:06+00:00
By 1979 at the latest -- probably closer to 1975 -- the primary Prolog implementation of the day (Warren's DEC-10 version) had an interpreter, where you could load files of code in and modify the code and you had a REPL with the ability to do all kinds of things.

I posted an excerpt of the manual, with a link to a PDF of it, in a reply to another comment [0]

(And, since even the earliest versions of Prolog were interpreted, they may've had features like this too).

And, as far as editors are concerned, people still use versions of vi (and, of course, emacs) to this day by people who don't necessarily do lots of planning and correctness before deciding to input the code into the computer.

[0] https://news.ycombinator.com/item?id=46664671
by habinero | 2026-01-18 04:23:22+00:00
> Still no definition, but I imagine if one were to define "regression test"

Why do you need to "imagine" anything? Just google it. "Regression test" is a very standard thing.

Also, the first commenter was correct. Many, many, many kinds of tests are only useful after the code is written.

TDD works for some people doing some kinds of code, but I've never found that much value in it. With what I do, functional testing is highest impact, followed by targeted unit tests for any critical/complex library code, followed by integration or end to end or perf testing, depending on the project.