frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Tiny C Compiler

https://bellard.org/tcc/
116•guerrilla•3h ago•52 comments

SectorC: A C Compiler in 512 bytes

https://xorvoid.com/sectorc.html
197•valyala•8h ago•38 comments

Speed up responses with fast mode

https://code.claude.com/docs/en/fast-mode
114•surprisetalk•7h ago•120 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•47 comments

Software factories and the agentic moment

https://factory.strongdm.ai/
138•mellosouls•10h ago•293 comments

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

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

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
134•vinhnx•11h ago•16 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...
67•randycupertino•3h ago•105 comments

First Proof

https://arxiv.org/abs/2602.05192
101•samasblack•10h ago•67 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
270•jesperordrup•18h 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/
86•thelok•9h ago•18 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
55•momciloo•7h ago•10 comments

Start all of your commands with a comma (2009)

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

The F Word

http://muratbuffalo.blogspot.com/2026/02/friction.html
98•zdw•3d ago•50 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

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

https://jonathanwhiting.com/writing/blog/games_in_c/
174•valyala•7h ago•162 comments

Eigen: Building a Workspace

https://reindernijhoff.net/2025/10/eigen-building-a-workspace/
6•todsacerdoti•4d ago•1 comments

Show HN: Craftplan – Elixir-based micro-ERP for small-scale manufacturers

https://puemos.github.io/craftplan/
4•deofoo•4d ago•0 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-...
92•josephcsible•5h ago•114 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•402 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

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
126•speckx•4d ago•191 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
59•rbanffy•4d ago•18 comments

Learning from context is harder than we thought

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

72M Points of Interest

https://tech.marksblogg.com/overture-places-pois.html
49•marklit•5d ago•9 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

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
574•todsacerdoti•1d ago•279 comments
Open in hackernews

Vexing Exceptions

https://ericlippert.com/2008/09/10/vexing-exceptions/
21•CGamesPlay•4mo ago

Comments

lmm•4mo ago
The classification is probably right, but this post feels half-baked. There are some valuable points in here (never suppress exceptions that indicate programming errors!) but it's missing guidance on how to handle cases like bad user input, and how to actually do the exception handling for cases like file not found.
xg15•4mo ago
I don't think there is a lot of guidance you can give in those situations, as the right ways to handle those exceptions are highly context specific. But the point is that you can handle them at all, as opposed to the other types.
tyleo•4mo ago
I've found that it's hard to instill in teams, "exceptions shouldn't be for user errors."

Perhaps it's an artifact of C#, exceptions are built into the language and sufficient user error handling mechanisms are not. You get some `Try*()` methods but often don't have as much error information as you'd like.

You can mimic Rust's `Result` pattern in C# without much trouble and I've found that to be a good way to go. The biggest downside is the lack of namespace-level typedefs so you always have to include that TError parameter. It's a small price to pay.

samus•3mo ago
I agree with the classification of TA, but I disagree on the "vexing exceptions". Even if you get a `Result` that you can pattern match over, the error handling code looks exactly as ugly if you put it into a pattern match branch as inside of a `catch` block.
tyleo•3mo ago
I slightly disagree. I think two things are better with the result type:

1. Exception overhead. Exceptions capture diagnostics and unwind stacks in ways that add cost to the user-error case.

2. Type system information. With the result type, you declare the possibility to fail, and exactly what failures to expect in normal operation. You can switch over specific errors vs the broad category of anything that inherits from `Exception`

Panzerschrek•4mo ago
Throwing exceptions in out-of-memory cases or something similar has no sense, since no real program can handle such exceptions properly. Throwing exceptions in cases of logic errors (like accessing an array with invalid index) has no sense, since they just conceal bugs. In other cases it's unclear what is exceptional and what is not. So why not just using normal control flow? That's why I personally use no exceptions (I program mostly in C++ and Rust).
xg15•4mo ago
> Throwing exceptions in cases of logic errors (like accessing an array with invalid index) has no sense, since they just conceal bugs.

Catching (and not logging) the exception would conceal the bug, but I wouldn't want to get rid of the stacktrace that comes with throwing the exception - that is extremely useful for narrowing down the location of the bug.

Incidentally, that's something I've never understood in the "Go style error handling" crowd. The default behavior - if you ignore the return value - in those languages is exactly equivalent to catching and silently throwing away an exception - the thing that's universally understood to be a bad idea. Whereas the default behavior in languages with exceptions is to print the error and exit the program - which us usually seen as the safest choice, unless you have more information and can recover from the exception.

So if go-style error handling makes it easier to do the bad thing instead of the good thing, why would it still be the superior form of error handling?

Panzerschrek•3mo ago
Catching exceptions caused by a bug has no sense in production code. For debugging purposes exceptions aren't necessary, a compiler can just insert asserts and call stack printing at the place where a bug was detected.

I agree that errors handling as it is implemented in Go is error-prone. Rust does this much better - values of a Result type shouldn't be discarded.

xg15•3mo ago
> For debugging purposes exceptions aren't necessary, a compiler can just insert asserts and call stack printing at the place where a bug was detected.

For that, you'd have to know the location in the first place, which you usually don't.

samus•3mo ago
You are not supposed to catch such exceptions in the first place, except at the very top level as a fallback to implement proper logging and to signal an unexpected internal error to the user. In Java, such exceptions are subclasses of RuntimeException.

Just printing a warning is not always appropriate. The code would continue to work and produce invalid data and actions.

kazinator•4mo ago
> Don’t catch fatal exceptions; nothing you can do about them anyway, and trying to generally makes it worse.

Yes there is something: you can design an exception handling system which lets your code specify choices about what to do if such an exception occurs within its contour. Those choices provide ways of passing control to that code.

Then the next layers above the code can decide whether to take those choices, or some other similar choices available from eslewhere, or let the exception bubble up, possibly leaving it unhandled.

The article is a decent tutorial for working with Blub exceptions, but it's limited to that.

samus•3mo ago
That's try-catch. But you missed the point: you can't do anything about fatal exceptions such as an OutOfMemoryError.
kazinator•3mo ago
Untrue. The circumstances of an OOM can be arranged in such a way that an emergency stash of a small amount of memory is available to meet the needs of some clean-up task.
samus•3mo ago
Those stashes (and things like caches) should use SoftReferences so the GC can drop them under memory pressure. That way no funny stuff needs to happen in catch blocks.