frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

DoNotNotify is now Open Source

https://donotnotify.com/opensource.html
206•awaaz•4h ago•35 comments

Dave Farber has passed away

https://lists.nanog.org/archives/list/nanog@lists.nanog.org/thread/TSNPJVFH4DKLINIKSMRIIVNHDG5XKJCM/
20•vitplister•41m ago•3 comments

Matchlock: Linux-based sandboxing for AI agents

https://github.com/jingkaihe/matchlock
40•jingkai_he•4h ago•8 comments

Reverse Engineering Raiders of the Lost Ark for the Atari 2600

https://github.com/joshuanwalker/Raiders2600
16•pacod•3h ago•1 comments

Show HN: LocalGPT – A local-first AI assistant in Rust with persistent memory

https://github.com/localgpt-app/localgpt
247•yi_wang•10h ago•121 comments

Haskell for all: Beyond agentic coding

https://haskellforall.com/2026/02/beyond-agentic-coding
146•RebelPotato•10h ago•43 comments

(AI) Slop Terrifies Me

https://ezhik.jp/ai-slop-terrifies-me/
30•Ezhik•1h ago•18 comments

SectorC: A C Compiler in 512 bytes (2023)

https://xorvoid.com/sectorc.html
324•valyala•18h ago•66 comments

Rabbit Ear "Origami": programmable origami in the browser (JS)

https://rabbitear.org/book/origami.html
16•molszanski•3d ago•3 comments

LLMs as the new high level language

https://federicopereiro.com/llm-high/
138•swah•5d ago•255 comments

The Architecture of Open Source Applications (Volume 1) Berkeley DB

https://aosabook.org/en/v1/bdb.html
46•grep_it•5d ago•8 comments

Software factories and the agentic moment

https://factory.strongdm.ai/
242•mellosouls•21h ago•402 comments

Modern and Antique Technologies Reveal a Dynamic Cosmos

https://www.quantamagazine.org/how-modern-and-antique-technologies-reveal-a-dynamic-cosmos-20260202/
11•sohkamyung•5d ago•0 comments

Speed up responses with fast mode

https://code.claude.com/docs/en/fast-mode
195•surprisetalk•18h ago•201 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
198•AlexeyBrin•1d ago•36 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
215•vinhnx•21h ago•26 comments

uLauncher

https://github.com/jrpie/launcher
40•dtj1123•5d ago•10 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
378•jesperordrup•1d ago•118 comments

Brookhaven Lab's RHIC concludes 25-year run with final collisions

https://www.hpcwire.com/off-the-wire/brookhaven-labs-rhic-concludes-25-year-run-with-final-collis...
86•gnufx•17h ago•66 comments

In the Australian outback, we're listening for nuclear tests

https://www.abc.net.au/news/2026-02-08/australian-outback-nuclear-tests-listening-warramunga-faci...
20•defrost•2h ago•4 comments

LineageOS 23.2

https://lineageos.org/Changelog-31/
90•pentagrama•6h ago•24 comments

Wood Gas Vehicles: Firewood in the Fuel Tank (2010)

https://solar.lowtechmagazine.com/2010/01/wood-gas-vehicles-firewood-in-the-fuel-tank/
58•Rygian•3d ago•29 comments

Show HN: I saw this cool navigation reveal, so I made a simple HTML+CSS version

https://github.com/Momciloo/fun-with-clip-path
119•momciloo•18h ago•28 comments

First Proof

https://arxiv.org/abs/2602.05192
157•samasblack•20h ago•97 comments

The Legacy of Daniel Kahneman: A Personal View (2025)

https://ejpe.org/journal/article/view/1075/753
7•cainxinth•3d ago•0 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
623•theblazehen•3d ago•223 comments

Substack confirms data breach affects users’ email addresses and phone numbers

https://techcrunch.com/2026/02/05/substack-confirms-data-breach-affecting-email-addresses-and-pho...
82•witnessme•7h ago•38 comments

Al Lowe on model trains, funny deaths and working with Disney

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
114•thelok•20h ago•28 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
201•speckx•4d ago•296 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
930•klaussilveira•1d ago•285 comments
Open in hackernews

RISC-V in AI and HPC Part 1: Per Aspera Ad Astra?

https://www.eetimes.com/risc-v-in-ai-and-hpc-part-1-per-aspera-ad-astra/
35•fork-bomber•8mo ago

Comments

justin66•7mo ago
The first sentence contains an obvious falsehood:

Introduced in 2014, the RISC-V instruction set architecture has been evolving at a pace that Arm and x86 ISAs have never experienced.

In eleven years the PC world went from having the 8086 to having the 80486.

kragen•7mo ago
It did (01978 to 01989), and RISC-V hasn't changed nearly that much since 02014 despite the introduction of important extensions like V, but there's an even more obvious falsehood: the RISC-V instruction set was introduced in 02010, not 02014. https://riscv.org/blog/2024/05/14-years-of-risc-v-a-journey-...

This article has a lot of huge honesty problems, but maybe the worst one is how it focuses exclusively on US companies, who aren't the ones doing the work of making RISC-V real. Where are the mentions of AliBaba, T-Head, WCH, Seeed Studios, Tencent, Pine64, Espressif, Rockchip, and all the other Chinese brands that are such huge players in the RISC-V world? This is like reading a news article about computer networking in 01984 in France that focuses entirely on Minitel and Groupe Bull and doesn't bother to mention Tymnet, IBM, Ethernet, Xerox, or the internet. Did MIPS hire a PR agency to write it for them?

Shilov himself has written about some of Huawei's RISC-V development, so he really has no excuse: https://www.tomshardware.com/news/huaweis-hisilicon-develops... Doesn't that seem a bit more significant than anything related to MIPS?

And in https://merics.org/en/report/huawei-quietly-dominating-china...:

> For instruction set architecture, the software for executing chip production which represents another key supply chain chokepoint with high levels of market concentration, China’s government has chosen an open-source architecture that was pioneered in the United States: RISC-V. Top artificial intelligence and software companies like Alibaba and Tencent have been charged with furthering progress in using RISC-V.

And Huawei's HarmonyOS supports RISC-V: https://www.huaweicentral.com/runhe-software-launches-harmon...

nullc•7mo ago
Has RISC-V gained a cmov yet or is security critical code still left do branch-and-pray or use byzantine bitops?
kragen•7mo ago
I'm sure at least one proposed extension has a constant time conditional move, but I don't know of a ratified extension has one. But as T-Head demonstrated with the V extension, shipped silicon can implement non-ratified extensions, and as the fast interrupt handling in WCH's CH32V003 demonstrates, shipped silicon can extend the architecture in ways that haven't even been proposed as extensions. But I don't know of any shipped silicon with a constant time conditional move, either.

For most people, though, using "byzantine" bitops in their security-critical code is less important than being able to run it on a processor that doesn't implement IME or other presumable US backdoors. (Huawei backdoors, though?)

nullc•7mo ago
Ending up with visible timing side channels where there otherwise wouldn't be ones though is not an awesome tradeoff. Like... vulnerable to NSA vs vulnerable to everyone? The former is probably preferable. And as you say-- the RISC-V option may not be backdoor free, it may just be an alternative backdoor.

Seems like such an unforced error too, particular because CMOVs are extremely beneficial for performance in out of order deeply pipelined architectures. Though at least the performance side can be answered with extended behavior the security side needs guarantees (and ideally ones that aren't "this instruction sequence is constant time on some chips and variable time on others").

kragen•7mo ago
Yeah, obviously you do want to do the "byzantine" bitops, not just ship code that's vulnerable to timing side channels due to conditional jumps depending on secret data. But you can do that pretty easily on RISC-V, and it doesn't even cost much performance. It's four register-to-register instructions instead of the one you'd have with CMOV:

            .globl minop
    minop:  slt t0, a0, a1          # set t0 to "is a0 < a1?" (0 or 1)
            addi t0, t0, -1         # convert 0 to -1 (a0 ≥ a1) and 1 to 0 (a0 < a1)
            sub t1, a1, a0          # set t1 := a1 - a0
            and t1, t0, t1          # t1 is now either 0 or, if a0 ≥ a1, a1 - a0
            add a0, a0, t1          # transform a0 into a1 if a0 ≥ a1
            ret
Possibly what you meant by "byzantine bitops" is this version:

    minop:  slt t0, a0, a1
            addi t0, t0, -1
            xor t1, a1, a0          # set t1 := a1 ^ a0
            and t1, t0, t1
            xor a0, a0, t1          # transform a0 into a1 using xor
            ret
(http://canonical.org/~kragen/sw/dev3/minop.S http://canonical.org/~kragen/sw/dev3/testminop.c http://canonical.org/~kragen/sw/dev3/minoptests)

I'm interested in knowing if there's a faster way to do this! You could do it in one less instruction with a multiply, but it's pretty common for a multiply to take multiple cycles.

Apparently CMOV isn't such a big win for superscalar architectures, which is what you'd normally use when performance is critical. But I don't know enough about superscalar architectures to really understand that assertion. And, for low-power architectures, people are moving to shorter pipeline lengths, like Cortex-M0 (3 stages) to Cortex-M0+ (2 stages).

In general, the RISC-V standard doesn't make any guarantees about execution time at all. That's out of its scope.

IshKebab•7mo ago
It does actually - there's the Zkt extension which declares that some instructions have data independent execution times. (Basically bitwise ops, add, sub, shift and multiply.)

If there was a cmov instruction it could be included in Zkt.

That said I'm also not sure how much performance benefit it gets you. I think the answer isn't obvious and you'd definitely need to do simulations to see.

kragen•7mo ago
Thank you!
camel-cdr•7mo ago
There are min/max instructions and zicond: https://github.com/riscvarchive/riscv-zicond/blob/main/zicon...

Most conditional instruxtion sequences are two instructions, cmov is:

    czero.eqz  rd, rs1, rc
    czero.nez  rtmp, rs2, rc
    or         rd, rd, r
kragen•7mo ago
Aha, thanks! That seems like a much less appealing proposal to me than a simple mv.eqz/mv.nez. I wonder if there are merits to it that aren't obvious to me.
camel-cdr•7mo ago
The reason against a simple conditional move instruction was that this would require a 3R1W integer register file, while the current extension allows for an 2R1W one.

I can definitely see a three-source conditional move being added in conjunction with more 3R1W instructions (see what the scalar efficiency SIG is doing). But my understanding is that the 2R1W design is desired for some of the wide, high-performance designs. (register file size grows quadratically with port count)

kragen•7mo ago
Hmm, I guess I had thought you would implement it with a 2R1W register file by just not writing to the register file in the register-file-writing stage of the pipeline when the condition didn't hold, in such simple implementations, same as for jump or store instructions, or those that write to x0. You do have three read dependencies, but without knowing much, I'd guess that's a much smaller problem than a bloated four-port register file.