frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Tiny C Compiler

https://bellard.org/tcc/
110•guerrilla•3h ago•47 comments

SectorC: A C Compiler in 512 bytes

https://xorvoid.com/sectorc.html
193•valyala•7h ago•36 comments

Speed up responses with fast mode

https://code.claude.com/docs/en/fast-mode
114•surprisetalk•7h ago•117 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...
44•gnufx•6h ago•45 comments

Software factories and the agentic moment

https://factory.strongdm.ai/
134•mellosouls•10h ago•282 comments

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

https://openciv3.org/
880•klaussilveira•1d ago•270 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
132•vinhnx•10h ago•15 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
166•AlexeyBrin•13h ago•29 comments

FDA intends to take action against non-FDA-approved GLP-1 drugs

https://www.fda.gov/news-events/press-announcements/fda-intends-take-action-against-non-fda-appro...
63•randycupertino•3h ago•97 comments

First Proof

https://arxiv.org/abs/2602.05192
98•samasblack•10h ago•65 comments

I write games in C (yes, C) (2016)

https://jonathanwhiting.com/writing/blog/games_in_c/
173•valyala•7h ago•154 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
269•jesperordrup•17h ago•86 comments

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

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
85•thelok•9h ago•18 comments

The F Word

http://muratbuffalo.blogspot.com/2026/02/friction.html
97•zdw•3d ago•49 comments

Show HN: A luma dependent chroma compression algorithm (image compression)

https://www.bitsnbites.eu/a-spatial-domain-variable-block-size-luma-dependent-chroma-compression-...
28•mbitsnbites•3d ago•2 comments

Eigen: Building a Workspace

https://reindernijhoff.net/2025/10/eigen-building-a-workspace/
5•todsacerdoti•4d ago•1 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
53•momciloo•7h ago•10 comments

Start all of your commands with a comma (2009)

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

Microsoft account bugs locked me out of Notepad – Are thin clients ruining PCs?

https://www.windowscentral.com/microsoft/windows-11/windows-locked-me-out-of-notepad-is-the-thin-...
86•josephcsible•5h ago•109 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
252•1vuio0pswjnm7•14h ago•395 comments

Selection rather than prediction

https://voratiq.com/blog/selection-rather-than-prediction/
25•languid-photic•4d ago•7 comments

Reinforcement Learning from Human Feedback

https://rlhfbook.com/
112•onurkanbkrc•12h ago•5 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
138•videotopia•4d ago•46 comments

A Fresh Look at IBM 3270 Information Display System

https://www.rs-online.com/designspark/a-fresh-look-at-ibm-3270-information-display-system
58•rbanffy•4d ago•18 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
216•limoce•4d ago•123 comments

Where did all the starships go?

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

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
294•isitcontent•1d ago•39 comments

Coding agents have replaced every framework I used

https://blog.alaindichiappari.dev/p/software-engineering-is-back
305•alainrk•12h ago•492 comments

72M Points of Interest

https://tech.marksblogg.com/overture-places-pois.html
48•marklit•5d ago•9 comments

The silent death of Good Code

https://amit.prasad.me/blog/rip-good-code
56•amitprasad•2h ago•63 comments
Open in hackernews

The ITTAGE indirect branch predictor

https://blog.nelhage.com/post/ittage-branch-predictor/
51•Bogdanp•7mo ago

Comments

nynx•7mo ago
I must be missing something here. How would this help predict interpreter dispatch? Those won’t be a function of previous branch history or pc, which may very well be independent of the next opcode. They’d be a function of state in memory or registers.
achierius•7mo ago
"very well may be" but oftentimes isn't. Branch history does in practice do a very good job of predicting what target you're going to take for an indirect branch.
nynx•7mo ago
Sure. I can easily see that often being the case for arbitrary code but not interpreter dispatch loops.
brigade•7mo ago
In a hot loop, the next opcode can be predicted quite well from the history of previous opcodes executed, especially once have a couple iterations available in your history. And the opcodes executed in an interpreter are generally equivalent to the dispatch branch target.
saagarjha•7mo ago
Interpreters are just like normal programs, but splatted out a bit. In particular, they have branches and loops just like normal programs. The challenge for processors is that these high level constructs are far apart and dispatched through an interpreter loop, which obfuscates them. Being able to reach further back in history lets you recover this kind of information "through" the intervening bits.
dzaima•7mo ago
If your interpreter is interpreting a program with unpredictable branches, of course no predictor will magically make your interpreter get branches better predicted than an equivalent compiled program will.

The question here is about all other branching the interpreter will do. i.e. even if you have a unpredictable `if (a+b < 0)`, there's still the dispatching to the "load-variable" and "add" and "load-constant" and "less-than" and "do-branch" opcodes, that still will benefit from being predicted, and they could very well if you have it repeated in a loop (despite still having a single unpredictable branch), or potentially even if you just have a common pattern in the language (e.g. comparison opcodes being followed by a branch opcode).

saagarjha•7mo ago
If the author is around, the final link points to http://localhost:1313/post/cpython-tail-call/#further-weirdn....
jonstewart•7mo ago
I learned about computed goto a dozen years ago, tried it out in my interpreter, and got worse performance in that Haswell era than with a trusty switch statement. Branch predictors have made computed goto less compelling for a good long time.

Tail call is a different matter…

burnt-resistor•7mo ago
Some architectures have/had branch hint instructions.

https://arcb.csc.ncsu.edu/~mueller/cluster/ps3/SDK3.0/docs/a...

The impact of a branch miss is a particular pipeline stalls to flush the incorrect prediction. If there were resources available for the other branch to be speculatively executed concurrently and in parallel it might take less wall time.

pbsd•7mo ago
The Pentium 4 had branch hints in the form of taken/not taken prefixes. They were not found to be useful and basically ignored in every subsequent Intel microarchitecture, until Redwood Cove brought back the branch taken prefix in 2023.
Taniwha•7mo ago
Branch hint instructions essentially give you the initial value for your BTC entry, after that you want it to learn - in general though if you initially predict backwards branches and don't predict forwards ones it's almost as good.

Very few architectures have conditional indirect branches and they don't get used all that much:

- subroutine return: better predicted with a stack - virtual method dispatch: needs a predictor (for the destination, not the 'taken' - a different thing with multiple destinations chosen by the history than a normal branch destination which typically has a single destination and a history choosing whether taken or not) - dense case statements: similar to virtual method dispatch but maybe with a need for far more destinations

All these cases often involve a memory load prior to the branch, in essence what you are predicting is what is being loaded, and you want to keep feeding the pipe while you wait for the load to complete

IshKebab•7mo ago
If you want an introduction to more basic branch predictors that TAGE evolved from I highly recommend this:

https://www.ece.ucdavis.edu/~akella/270W05/mcfarling93combin...

It's old, but very clear. I tried to read the ITTAGE paper but it assumes you know all that already. Also it doesn't actually fully specify a branch predictor because there are various hashes you need to calculate and it simply doesn't say what they use.