MurphyA/hacker-news huggingface dataset:
Show HN: Theus – I built a framework to make AI-generated code safe to run
by dohuyhoangvn93 | 2026-01-13 11:17:58+00:00
Hi HN,

AI is writing a lot of our code now, but here’s what keeps me up at night: AI is great at logic, but terrible at state safety. An LLM can write a perfect-looking function that accidentally nukes your global state or creates a race condition you'll spend a week debugging.

I built Theus because I wanted to stop worrying.

The philosophy is simple: Data is the Asset. Code is the Liability. Theus acts like a "safety container" for your logic (especially code written by AI). It enforces a few strict rules:

Zero-Trust: A process can’t see anything it didn't explicitly ask for in its contract.

Shadow Copies: Code never touches your "real" data directly. It works on copies. If the logic fails or breaks a rule, Theus just throws the changes away.

Audit Gates: You define the "red lines" (like balance can’t be negative) in a simple YAML. The framework blocks any commit that crosses them.

I’ve been using it to build AI agents that I can actually trust with "write" access. It’s not about making code faster; it’s about making it right, and being able to sleep at night.

I'd love to hear what you think about this "Process-Oriented" approach. Thanks!
by DoctorOW | 2026-01-13 11:19:24+00:00
They're probably using an OSS chess engine in something like C++, but using HTML/CSS/JS for the interface. 90% moves could be represented by a chess board as a 2D array, checking the engine accepts it as a valid move, and then replacing what's on that square be it empty space or a now captured piece. Castling, pawn promotion, and en passant are the edge cases with en passant being the most obscure.
by miroljub | 2026-01-13 11:20:27+00:00
Sex Pistols are more actual than ever.

God save the Queen
The fascist regime
It made you a moron
Potential H-bomb
God save the Queen
She ain't no human being
There is no future
In England's dreaming

Don't be told what you want to want to
And don't be told what you want to need
There's no future, no future
No future for you
by ffsm8 | 2026-01-13 11:20:55+00:00
Then I do not believe you understood the article you've commented on, because it essentially about the thing you handwaved away via

> Then you can format the Date.now() number it into whatever other format you want.

The while thing is about how to transition from a date, wherever it's string or timestamp to a date object.
The idea is that you'll either format it to a string, do equality checks, calculate durations etc after after. Your idea of using timestamps doesn't address anything the article was about
by bflesch | 2026-01-13 11:22:07+00:00
Yes, and if your host has access to several IPv6 addresses and maybe an IPv4 address it'd be nice to have something like wireguard actually utilize all of them in some random order. Same on the receiving end, wireguard server listenes both on IPv4 and IPv6 at same time and internally puts received packets in the proper order.

I feel this would create significant struggles for any surveillance software because most firewalls I know are modeled on a source address / target address basis.

If you have access to enough source IPv6 addresses you might even put your whole wireguard traffic into ICMP packet payload?
by fweirdo | 2026-01-13 11:23:03+00:00
> But the part about FOSS being used in a project not aligned with the creator's values seams hypocritical

I agree with you.

Imagine a parallel Earth where there was a free OS that the majority in the world used called GNU/Felix.

Felix (it/its), who wrote GNU/Felix and who was the project’s strong but kind leader, one day had a head injury that somehow decreased its empathy but raised its IQ.

Subordinates of Felix on the council of leadership noticed that it was adding features that would track all user data to use in some nefarious plan.

In this case, most would agree that for both the freedom and good of all, Felix should no longer lead this effort.

However, they would want to be sure that even the Will Bates’ great company Bikerosoft didn’t lead the project either, because despite its wonderful and ubiquitous Bikerosoft Office apps and Ezure cloud tools and infrastructure, it was a profit-based company.
by err0r500 | 2026-01-13 11:23:28+00:00
Senior devs spot red flags in junior portfolios in seconds, but we (almost) never explain them.

After reviewing hundreds (thousands?) of junior developer portfolios, I realized two things:

Junior devs do their best but don’t know the red flags senior developers spot immediately
Nobody tells them

So I built https://yourlead.dev to automate myself : it analyzes GitHub repositories and:
- flags the issues a lead developer would raise during a real code review
- explains why they matter
- gives concrete tips on how to fix them
- and even helps prepare for technical interviews

I spent a lot of time fine-tuning it based on my experience across different contexts (because expectations are very different in an early startup, a scale-up, or a bank).

btw, I'm giving free reviews in exchange for feedback ;)
by mikeayles | 2026-01-13 11:23:56+00:00
Yep, exactly. I'll do another blog when I have a little more to show, but the concept is, everything is on a grid of 12.7mm squares, where there is a common bus running through north-south. The boards need to be 4 layer and feature size is pretty small, 0402 passives for example, maybe even 0201 if I'm really optimising for size.

SCH:
https://github.com/MichaelAyles/heph/blob/main/blogs/0029-im...

3D bottomside:
https://github.com/MichaelAyles/heph/blob/main/blogs/0029-im...

In the Phaestus workflow, it chooses modules, for example the main cpu block just has an ESP32C6-XIAO board on it, since it has massive compute, and radio with wifi6 and zigbee, which covers 90% of IOT. Since this is larger than 0.5" it sits in the middle of a 2x2, which bridges both sets of north-south buses, with all common pins.

Bidged pinouts:
https://github.com/MichaelAyles/heph/blob/main/blogs/0029-im...

Early XIAO:
https://github.com/MichaelAyles/heph/blob/main/blogs/0029-im...

It's been a pain in the butt to design for, since the vias need enough clearance, and we are almost maxed out on our bottom side, so on the 2x2's i've given it as much room as I can in the middle to allow for topside routing with a few vias.

Then, when assembling the board, it does a 0.1mm overlap n/s, which merges the nets, whilst the system keeps track of what signals are used, so I2C is all multiparticipant, spi1 gets the default CS line, otherwise it can use the aux pins via a resistor selector, the AUX5/AUX6 aren't connected to the XIAO, so if you wanted to do something like a USB power monitor, the power can run isolated at higher voltages, as long as they get fed through a current/voltage sensing block, which could be 1x1, 1x2 or 2x2.

As for component placing in the enclosure, buttons are sub-boards with a wire-to-board connector, and the 1x1 module is a block that contains a connector and an PCA9570, which allows the button to be placed anywhere with defined mounting features.

Similar for LCD's, the pre-designed block has a FFC connector, and comes with constraints, e.g. place at end of design, so the screen can fold back on itself, whereas if it was mounted in the middle, it wouldn't be able to go where it needs to be.
by krab | 2026-01-13 11:24:05+00:00
> Could you split up the traffic across dozens or hundreds of IPv6 source addresses?

Yes

> I can see how this significantly increases complexity for tracking

Not really. You just track at some prefix level. In general, the ISP will hand out a /64 per consumer so that's what you can track. From there, you can build more complex and more precise grouping rules for tracking.
by imdsm | 2026-01-13 11:24:52+00:00
> To meet the law’s demands, companies are expected to rely heavily on automated scanning systems, content detection algorithms, and artificial intelligence models trained to evaluate the legality of text, images, and videos in real time.

this means either devices need to evolve to do this locally, or the items need to be sent to external service providers, usually based outside of the UK, to scan them unencrypted

I also assume this means the government here in the UK are okay with all whatsapp messages they send to be sent to an LLM to scan them for legality, outside the UK?
by theshrike79 | 2026-01-13 11:25:01+00:00
At one point there will be enough people with no job or no hope who will do the math of "there are 100 million of us and 3000 billionaires" and hopefully have read enough history to learn about the French Revolution and the tools they used.

The only way to prevent this is to guarantee that people without jobs will still have a roof over their heads and enough calories and micronutrients every day to survive - and some entertainment.
by nh2 | 2026-01-13 11:25:18+00:00
The reflog is not a git internal -- it is your local repository's "true history", including all operations that you ran.

The `git log` history that you push is just that curated specific view into what you did that you wish to share with others outside of your own local repository.

The reflog is to git what Ctrl+Z is to Microsoft Word. Saying you don't want to use the reflog to undo a rebase is a bit like saying you don't want to use Ctrl+Z to undo mistakes in Word.

(Of course the reflog is a bit more powerful of an undo tool than Ctrl+Z, as the reflog is append-only, so undoing something doesn't lose you the newer state, you can "undo the undo", while in Word, pressing Ctrl+Z and then typing something loses the tail of the history you undid.)

Indeed, like for Word, the undo history expires after a configurable time. The default is 90 days for reachable changes and 30 days for unreachable changes, which is usually enough to notice whether one messed up one's history and lost work. You can also set it to never expire.

It is fine for people to prefer merge over rebase histories to share the history of parallel work (if in turn they can live with the many drawbacks of not having linear history).

But it is misleading to suggest that rebase is more likely to lose work from interacting with it. Git is /designed/ to not lose any of your work on the history -- no matter the operation -- via the reflog.
by schiffern | 2026-01-13 11:25:26+00:00
>They surely have as Waymo have a much better safety record than Tesla

Tesla is already closing in on Waymo to within a factor of 2[0], and this is less than 6 months in, with Waymo having 125 million autonomous miles and Tesla having under a million. Bet on whichever horse you want, but this trend is not looking good for Waymo.

>It seems obvious to me

Oh thank goodness! Fortunately this style of argument has never been wrong before. ;)

[0] https://mashable.com/article/tesla-robotaxis-with-human-safe...
by energy123 | 2026-01-13 11:25:50+00:00
China is trying to eliminate oil because of the Malacca Dilemma. The US and allies control the seas as part of containment policy. The US also has the Middle East on lockdown, every gulf country in particular. China has a little base in Djibouti and influence over a collapsing IRGC I guess, but not enough to secure any routes. China only has land-based power projection in Eurasia which exerts some limited but insufficient control over land corridors. This is the real incentive behind China's renewables and electrification efforts. That it also addresses global warming is a very welcome side-effect.
by saidnooneever | 2026-01-13 11:25:53+00:00
i really like this project. fot me its the next level to your own custom C lib.

first your write 'tutorial C'. then after enough segfaults and double frees you start every project with a custom allocator because you've become obsessed with not having that again..., then you implement a library with a custom more generic one as you learn how to implement them, and add primitives you commonly build that lean on that allocator, it will have your refcouters, maybe ctors, dtors etc etc.. (this atleast is my learning path i guess? still have a loooong way to go as always!)

i dont see myself going for a language like this, but i think its inspirational to see where your code can evolve to with enough experience and care
by lxgr | 2026-01-13 11:26:02+00:00
Smaller spot beams are still technically possible for an Iridium-like constellation with fewer satellites. That's what e.g. ASTS is doing.

In fact, more than one (or maybe two, for geometric reasons near the equator where polar orbits are sparse etc.) satellite concurrently visible is pointless if the ground station/mobile device isn't also heavily directional, which is not the case for small, quickly moving handheld devices at least.

One other reason for wanting more satellites splitting footprint coverage between them would be if the satellite transmitters were transmit power limited.
by anovikov | 2026-01-13 11:28:01+00:00
Well, we all live in a peaceful, cooperative and interconnected world order which is created and maintained by America. Look at those suffering in the countries they can't control - only thing those poor souls are concerned with is how to get out of there.

Here in Cyprus, society is acutely aware of the impact America makes on us. It effectively defines us. But yes, they also blame America on our troubles left and right.

https://cyprus-mail.com/image/s1100x766/fill/webp/path/wp-co...

Just take coders. Virtually no one i know, and me included, simply won't take up coding if not the rich US market. It simply won't make any economic sense at any point, it won't be a lucrative employment.

Also if i make money - where do i even put it? SP500 is the only truly viable long-term investment.

Some people may feel trapped, and that's sad, but the truth is, what's good for America, is good for all civilised world and being directly or indirectly controlled by America more or less defines whether some place is a part of a civilised world at all.
by tom_ | 2026-01-13 11:28:58+00:00
It is the only one that actually writes to memory. It's occasionally convenient, but it's also largely unnecessary: the caller can typically make multiple calls to printf, for example, noting the return value for each one. Or use strlen and fputs. And so on.

The C11 printf_s functions don't support it at all, so it's clearly already on the naughty list even from the standard's perspective.
by predict_addict | 2026-01-13 11:29:36+00:00
A recurring problem I see in forecasting is that most resources stop at surface-level recipes: ARIMA folklore, shallow ML pipelines, or Kaggle tricks that break in production.
I spent the last years writing a book that goes much deeper and treats forecasting as a modern probabilistic inference problem, not a curve-fitting exercise.
What it focuses on (and what most books don’t):
Forecasting ≠ point prediction: uncertainty, distributional forecasts, and failure modes
Why many “accurate” models are structurally wrong
Time series as dependent data (not i.i.d. with a time index glued on)
When classical methods fail — and when they still beat deep learning
Modern ML (boosting, probabilistic models) used correctly
Evaluation beyond RMSE: coverage, calibration, stability
Real-world constraints: regime change, feedback loops, limited data
No fluff, no motivational filler, no cargo-cult deep learning. It’s written for people who actually deploy forecasts and get blamed when they fail.
I also released a full video walkthrough of Chapter 1, so people can judge the depth before buying.
Links:
Standard edition: https://valeman.gumroad.com/l/MasteringModernTimeSeriesForec...
Pro edition (extras, updates): https://valeman.gumroad.com/l/MasteringModernTimeSeriesForec...
Genuinely interested in feedback from HN folks who’ve built forecasting systems in anger — especially where you think the field still gets things wrong.
by like_any_other | 2026-01-13 11:30:16+00:00
More likely it would just silently not be sent, and potentially a week later you get a visit from the cops. Censors hate drawing attention to their actions, that is why you never see a "this message censored on government request" as sender or recipient.

This is where someone conflates it with anti-spam and acts confused, because showing such a notice for every spam message would make a service unusable. As if spam is equivalent, as if users cannot be given the choice to opt in/out of however much anti-spam and other filtering that they want as recipients, and as if "This was censored" messages cannot be collapsed/shown per category, e.g. "Messages blocked: 12 spam, 4 unwanted sexual content, 5 misinformation/lacking context, 7 hate/harmful content". As a rule, when someone raises an objection that can be resolved with less than 60 seconds of thought, they are not being genuine.

But more importantly, it would make it illegal to provide any kind of messaging software without government approval, which is only given by letting government-designated censorship and surveillance services act as middle-men. And then the law can be more or less strictly applied, depending how much the government dislikes the general sentiment that is spread on your network, regardless of its legality, thus controlling discourse.

I am not speculating here - this is what the UK government has admitted they want:

First, we are told, the relevant secretary of state (Michelle Donelan) expressed “concern” that the legislation might whack sites such as Amazon instead of Pornhub. In response, officials explained that the regulation in question was “not primarily aimed at … the protection of children”, but was about regulating “services that have a significant influence over public discourse”, a phrase that rather gives away the political thinking behind the act. - https://archive.md/2025.08.13-190800/https://www.thetimes.co...
by 6LLvveMx2koXfwn | 2026-01-13 11:30:42+00:00
I understand the rage generated here, but what is the alternative?

If a service implements privacy invading 'features' then we have the choice not to use that service. Letting tech companies self-regulate has failed, and too many people leave morality at the door when engaging online, something which doesn't happen at scale IRL.

What are we to do if not monitor? And how to make that scalable if not to introduce automation?
by bflesch | 2026-01-13 11:30:50+00:00
Packets with fake source address can easily be spotted, and will raise an alert. In terms of using multiple interfaces for a single service it might be easy to hack together in a python script, but last time I checked the linux kernel support for bundling multiple interfaces is limited to redundancy and failover.

What I'd like to have is a single service dynamically using many network interfaces with randomized packet timings and randomized packet scheduling (5 packets on first interface, pause on 2nd, some on third interface, sometimes send traffic simultaneously).
by flumpcakes | 2026-01-13 11:31:03+00:00
Most of these comments I think are off the mark. For some reason anything to do with EU or the UK legislating to protect citizenry is seen as some Orwellian conspiracy to mind control people. I agree some of the policies feel like always using a hammer - but I strongly suspect it's because the tech industry is clearly not playing ball.

Children being sent dick pics, or AI generated nudes of them being sent around schools, etc. are real problems facing real normal people.

I think people here need to be reminded that the average person doesn't care about technology. They will be happy for their phones to automatically block nude pictures by Government rule if the tech companies do not improve their social safety measures. This is the double edged sword: these same people are not tech savvy enough to lock down their children's phones, they expect it to be safe, they paid money for it to be "safe", and even if you lock a phone down, it doesn't stopped their class mates sending them AI porn of other class mates.

Musk is living proof that a non zero number of these giant tech companies are happy for child porn ("fake" or not) to be posted on their platform. If I was in his shoes, it would be pretty high up on my list to make sure Grok isn't posting pornography. It's not hard to be a good person.
by 72deluxe | 2026-01-13 11:31:34+00:00
I use Mate desktop and I know I can do Ctrl-Esc > P > Q for Programming > QtCreator (using the classic simple menu), and I have mapped Windows + R for app launch so can do something similar.

I didn't mean to lump Linuxland into one "we" but I was referring to the general flow of the landscape (particularly in GNOME land) where there was the enthusiasm to simplify (aka "remove features") and do odd UI things to remove the previous 35+ years of desktop interaction for no obvious reason.

Apologies for my generalisation.
by Fiveplus | 2026-01-13 11:32:36+00:00
Reading this felt like the official obituary for the 90s techno-optimism many of us grew up on.

The "end of history" hangover is real. We went about building the modern stack assuming bad actors were outliers, not state-sponsored standard procedure. But trying to legislate good use into licenses? I don't know how you would realistically implement it and to what extent? That solution implies we have to move toward zero-trust architectures even within open communities.

As an example: formal proofs and compartmentalization are unsexy but they're a solid way we survive the next decade of adversarial noise.

I remember reading a quote somewhere that stuck with me. Paraphrasing, "If the architecture of my code doesn't enforce privacy and resistance to censorship by default, we have to assume it will be weaponized".

I am out of ideas, practical ones, lots sound good on paper and in theory. It's a bit sad tbh. Always curious to hear more on this issue from smarter people.
by tpm | 2026-01-13 11:32:59+00:00
> For me, this statement is the equivalent of saying "if Python was not an awful language, there would be no need for mypy"

This analogy breaks down because if Python does not fit your preferences or the needs of your project, you can use any other language. You can't do this for JS if you have to write for the browser. Well technically you can transpile but that is leaky so in some capacity it still will be JS. And that is the issue.

> I wasn't trying to be disingenuous when I asked what was wrong with JS.

I'm just tired after decades of this. I will gladly use any language I have ever used profesionally instead of JS (so no VB please, but give me Perl, Tcl, Java, PHP, C, whatever). Just yesterday there was this: https://news.ycombinator.com/item?id=46589658

I have seen the improvements too. And the language is getting better, but by now the whole ecosystem including TS and all frameworks is hopelessly infected. And I don't even see the meaning of giving concrete examples because it's just so overwhelmingly frustrating I wouldn't know where to begin or end.
by flumpcakes | 2026-01-13 11:34:54+00:00
> Letting tech companies self-regulate has failed, and too many people leave morality at the door when engaging online, something which doesn't happen at scale IRL.

I completely agree with this point.

We also have some tech companies (X) openly hostile to the UK Government. At what point does a sovereign country say "you're harming the people here and refuse to change, you're blocked".
by Applejinx | 2026-01-13 11:35:11+00:00
Correct, because it's an exploit on intelligence, borderline intelligence or would-be intelligence. You can solve it by being an unintelligent rock. Failing that, if you take in information you're subject to being harmed by mal-information crafted to mess you up as an intelligence.

As they love to say, do your own research ;)
by Quarondeau | 2026-01-13 11:35:29+00:00
He shot while only being a few feet away from the car, which had already started to drive off.

Why would a trained officer believe that shooting at the driver from only a few feet away would have a higher chance of improving his chances against being hit by the car (which was already well in motion), than trying to physically move out of its way? That makes no sense.