frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

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

https://openciv3.org/
629•klaussilveira•12h ago•186 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
929•xnx•18h ago•547 comments

Start all of your commands with a comma

https://rhodesmill.org/brandon/2009/commands-with-comma/
11•theblazehen•2d ago•0 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
34•helloplanets•4d ago•26 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
110•matheusalmeida•1d ago•28 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

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

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
10•kaonwarb•3d ago•9 comments

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

https://github.com/valdanylchuk/breezydemo
222•isitcontent•13h ago•25 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
212•dmpetrov•13h ago•103 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
323•vecti•15h ago•142 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
372•ostacke•19h ago•94 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
359•aktau•19h ago•181 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
478•todsacerdoti•20h ago•233 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
275•eljojo•15h ago•163 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
404•lstoll•19h ago•272 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
85•quibono•4d ago•21 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
25•romes•4d ago•3 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
56•kmm•5d ago•3 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
16•jesperordrup•3h ago•9 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
13•bikenaga•3d ago•2 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
244•i5heu•15h ago•189 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
52•gfortaine•10h ago•22 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
141•vmatsiiako•18h ago•64 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
281•surprisetalk•3d ago•37 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1058•cdrnsf•22h ago•435 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
133•SerCe•9h ago•118 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
177•limoce•3d ago•96 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
70•phreda4•12h ago•14 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
28•gmays•8h ago•11 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
63•rescrv•20h ago•23 comments
Open in hackernews

Zig is so cool, C is cooler

https://github.com/little-book-of/c/blob/main/articles/zig-is-cool-c-is-cooler.md
89•tamnd•3mo ago

Comments

forgotpwd16•3mo ago
Obviously the answer to https://nilostolte.github.io/tech/articles/ZigCool.html (discussed in https://news.ycombinator.com/item?id=45852328 ; currently both at first page alongside each other).
tamnd•3mo ago
Yes, I wrote that because of the interesting discussion here, not because of the article content.
dj902ihda•3mo ago
What a dumb writeup.
nepthar•3mo ago
Friendly reminder to take a look at our posting guidelines, found at the bottom of the page.

What specifically did you find dumb about this?

jasonjmcghee•3mo ago
Something I didn't see mentioned are alternative compilers like tcc that provide ~9x faster compilation - very useful during development etc

https://www.bellard.org/tcc/

scottlamb•3mo ago
I'm not rooting for Zig [1] but I think there are some misses here, e.g.:

> Cross-compilation looks like a standout feature in Zig, although C developers have been doing the same thing for decades. ... You can target an embedded ARM board or a RISC-V chip with one flag:

Disagree: Zig's cross-compilation support is better than anything else. For one, installing a toolchain for a different OS/arch combo is not necessarily so easy with C. For another, with Zig you can target an arbitrary Linux glibc version with a commandline argument. Without Zig's toolchain, [2] the best I've seen is to run within a Docker container with that glibc version installed.

[1] almost entirely because I think all new languages should have memory safety (via GC or borrow checking).

[2] I see people linking Rust programs with Zig's toolchain for this reason: https://github.com/rust-cross/cargo-zigbuild

tamnd•3mo ago
> [2] the best I've seen is to run within a Docker container with that glibc version installed.

Agreed. I will revise that section tomorrow. Also, for compiling Go with CGO enabled, using Docker is the only reliable way to produce a binary correctly linked against glibc, especially when working with RHEL.

binary132•3mo ago
none of this needs to be batteries-included, and there is no reason it cannot be done just as straightforwardly for C-family languages as it has been for Zig and Rust.
estebank•3mo ago
This is true of almost everything: it's not that Zig or Rust are unique on most features. Most of them have existed in one shape or another before. The praise they receive is because of the level of polish their design and implementation have and how they interact with their other features. There's no one stopping other projects from doing the same thing (modulo technical and organisational considerations), but they haven't yet, so it is reasonable to highlight them. If people talk about how good X is in language Y enough, people from language Z might notice and "steal" it. That's a good thing!
binary132•2mo ago
I’m saying these things aren’t “language features” at all. I applaud their creation, but “batteries built in” has always seemed to me like a terrible design decision compared to “batteries provided” especially considering that many of these things would have been perfectly satisfactory generic tooling. Now we have people yapping about C++ not having a build system because they’re all habituated to a world where every language has its own, different build system built in.
mtklein•3mo ago
Zig is so good at this, it is also probably the easiest way to cross-compile C.
tamnd•3mo ago
And it could be used as drop in replacement for gcc/clang

https://andrewkelley.me/post/zig-cc-powerful-drop-in-replace...

synergy20•3mo ago
generally speaking, cross compilation is a solved problem for common cpus on the market. on linux it's an installation step away, prepackaged and ready to use.

for newer chips or some vendor-optimized-purpose etc, you have to rely on vendor's SDKs, zig can not help there either.

alexrp•3mo ago
The selling point is not merely cross-compilation; as pointed out in the other thread, it's the any-to-any cross-compilation for any supported target. With Zig, you get to download the compiler for any supported host target and then build binaries for Linux, macOS, Windows, FreeBSD, and NetBSD. In the near future, I intend to expand that list to include OpenBSD, illumos, and SerenityOS too.
rootnod3•3mo ago
Yeah, but doesn't that also apply to GCC or LLVM? Download the target-system version and go compiling away. That is not unique to ZIG.
tamnd•3mo ago
I really appreciate the enormous amount of work that has gone into Zig.

Let me clarify my goal here: by writing this article I hope to hear solid counterpoints to the first one, which I didn't find very convincing, and to start a more constructive discussion.

I'm also curious, how hard is it to a new target in Zig? For example, FreeBSD and NetBSD are already supported, but OpenBSD isn't yet. What are the main challenges blocking that?

abnercoimbre•3mo ago
Dude your article got flagged, which means it's no longer on the feed.

If you ever use LLMs for "technical accuracy" again, maybe actually test things on the command line.

tamnd•3mo ago
Are you a moderator?

Sorry for all the negativity. I added some clarifications, but it might have been a bit too late.

baranul•2mo ago
It's not just a matter of who is a moderator. It can be about the topic, what you are saying, or guideline issue. For clarification, you have to email HN.
n42•3mo ago
It’s hard to see this article as being written in good faith. We’re at the point that we are responding to low quality LLM outputs with low quality LLM retorts and voting them both to the front page because of feelings.
averms•3mo ago
the entire github organization looks to be ai slop books... why even do this?
n42•3mo ago
As a fan and user of Zig I found the original post embarrassing, but chalked it up to the enthusiasm of a new user discovering the joy of something that clicked for them

Taking offense to that enthusiasm and generating this weirdly defensive and uninformed take is something else, though

fwip•3mo ago
Edit: Apologies, it looks like I misunderstood. Original response left below for posterity.

It's not "weirdly defensive and uninformed" to question the value of posting a bunch of inaccurate LLM slop, especially without any disclosures.

If you're pro-AI, you should be against this too, before these errors get used as training data.

wasabi991011•3mo ago
I think you are misunderstanding, they are calling TFA a defensive and uninformed reply to the pro-Zig post from yesterday.
fwip•3mo ago
Ohhhh, my apologies, then.
n42•3mo ago
I can see how you would have read it that way, now, but yes — I meant this article is defensive for no reason while being uninformed
e2le•3mo ago
I'm at the point now where I simply stop reading the article once it has too many red flags, something that is happening increasingly often.

I don't enjoy reading AI slop but it feels worse when users of AI tools have chosen not to disclose the authors of these articles as Claude/ChatGPT/etc. Rather than being honest upfront, they choose to hide this fact.

tamnd•3mo ago
I added some sentences at the top, so it wont waste people's time:

Some parts of this article were refined with help from LLMs to improve clarity and technical accuracy. These are just personal notes, but I would really appreciate feedback: feel free to share your thoughts, open an issue, or send a pull request!

If you prefer to read only fully human-written articles, feel free to skip this one.

abnercoimbre•3mo ago
We've flagged it. Please don't waste our time in the future.
detaro•3mo ago
It clearly wasn't "refined" using LLMs when it contained commands that plainly don't work. Don't lie.
0manrho•3mo ago
> but I would really appreciate feedback

very well

> Some parts of this article were refined with help from LLMs to improve clarity and technical accuracy

Perhaps you should stick to writing about things you can write with clarity and and accuracy yourself instead of relying on an LLM to do it for you. Alternatively, properly cite and highlight what portions you used AI on/for from the outset as failure to do so reads at best as lazy slop and more often as intentional duplicity

pyrolistical•3mo ago
The main reason why C is used everywhere is because the C ABI is the de facto ABI.

This is why Zig was smart to have first party support for C libs.

In fact the fact Zig pointer types are more precise, it allows imported C libs to be more correct than the original C.

do_not_redeem•3mo ago
Not a single mention of defer? There's no way I'll ever go back to writing goto towers.

Yes, I'm aware that some specific C toolchains have nonstandard extensions that accomplish the same thing, but if you lock yourself into one of those, the "Portability and Presence" section (and really, the first 20% of the article) goes out the window.

0x696C6961•3mo ago
C is actually getting defer!
lelanthran•3mo ago
> Not a single mention of defer? There's no way I'll ever go back to writing goto towers.

What's a goto tower?

(Repeating sibling post, `defer` is in the works for C as well)

benatkin•3mo ago
This feels wrong.

> Zig's compiler is self-contained. It includes a build system, cross-compilers, and package management features. This makes it simple for small projects or single-language codebases.

> C follows a different philosophy. Its toolchain is composable. The compiler, linker, build system, and package manager are independent pieces. You can use GCC or Clang, build with Make or Ninja, manage dependencies with apt or brew, and link with ld, lld, or mold.

Zig would be more composable, as rather than being separate programs, you can write code to compose them in different ways. You are composing in zig rather than bash.

tamnd•3mo ago
I see it a bit differently. Zig's toolchain is self-contained: one binary gives you the compiler, build system, cross-compilers, and a package manager. It doesnt depend on the system toolchain, which makes builds reproducible and easy to move between machines.

C's ecosystem is the opposite. It is modular, built from separate tools like GCC, ld, Make, and apt. You compose them externally.

omgtehlion•3mo ago
I have read both articles (this and zig-cool), and I regret the time wasted.

IMO, both articles fail to deliver on their titles :(

Both fail to list really cool parts, and both reiterate same arguments several times. This one even looks like an LLM output, but I'm not sure.

tamnd•3mo ago
Sorry you felt that way.

Which parts did you feel were missing or didn't live up to the title? What kind of points or examples would have made it feel more worthwhile to you?

mzajc•3mo ago
Nice dodge.
201984•3mo ago
>You can target an embedded ARM board or a RISC-V chip with one flag:

  gcc main.c --target=arm-linux-gnueabihf -o app
AI hallucination? --target does not exist in GCC. Clang has -target, but you still need to install libc for the target architecture.
cesarb•3mo ago
> AI hallucination? --target does not exist in GCC.

It might also be someone used to a system which symlinks "gcc" to clang for compatibility (IIRC, that's the case at least on OS X).

201984•3mo ago
It's still just a single hyphen on clang, double hyphen like in the post does not work on clang either.
abnercoimbre•3mo ago
Unfortunate to say the article does smell like LLMs had a heavy hand in it.
e2le•3mo ago
They fixed this "mistake" a few minutes ago.

https://github.com/little-book-of/c/commit/43b0a89852a507bdd...

201984•3mo ago
And that "fix" is not "one flag" any more either since you have to install that compiler somehow.
e2le•3mo ago
I wonder if they are simply pasting your criticism into an AI prompt.

https://github.com/little-book-of/c/commit/349d475a5922cf005...

201984•3mo ago
Lmao, probably. I'm not going to trust anything else this person has written, since this has proven to me he's writing about things he has little experience with.
ramon156•3mo ago
https://github.com/little-book-of/c/commit/aa7496f9ba58ac11a...

just got updated with some clarity

> *Some parts of this article were refined with help from LLMs to improve clarity and technical accuracy. These are just personal notes, but I would really appreciate feedback: feel free to share your thoughts, open an issue, or send a pull request!*

201984•3mo ago
Seems the technical accuracy wasn't improved very much, if at all.
synergy20•3mo ago
gcc main.c --target=arm-linux-gnueabihf -o app

this is definitely wrong, the correct way is to use arm-linux-gnueabihf-gcc main.c instead, there is no such flag called --target per se

tamnd•3mo ago
Fixed, thanks for pointing this out.
201984•3mo ago
Did you not even try the original command? As you've now updated it (https://github.com/little-book-of/c/commit/43b0a89852a507bdd...), it is definitely not one simple flag since arm-linux-gnueabihf-gcc has to be installed from somewhere. It doesn't exist in a default installation of GCC that only targets the host, and you'll need to install a GCC version for every architecture you want to target.
laxd•3mo ago
> But before Zig, there was C. For fifty years, C has been the foundation of modern computing.

And for fifty years, language theory has made progress. While C, brilliant as it once was, has given us never ending problems with security and reliability. The software world is saturated anyways. It's time to revise rather than just layering new junk in chase of profit.

> This article does not aim to dismiss Zig. Its focus is on the fact that C never stopped evolving.

It didn't stop but it certainly slowed down to glacial pace. There's plenty of fundamental issues that will never be fixed.

That said. I wish the software world would just keep its cool and not commit to Rust so fast. Rust was the first in a trend of new low level languages. It snowballed and now we may not get to make an informed decision on how the future of low level programming should be. I personally like Zig a lot more. Unfortunately people seem to be neither adequately scared of complexity nor sufficiently impressed by simplicity.

stephc_int13•3mo ago
The Zig self-contained toolchain is one of the most appealing feature IMO, and it can also be used to compile C.

That said, I was very interested in Zig 2-3 years ago but that has mostly cooled off, C is not perfect but good/flexible enough for what I am building.

Zig has some opinionated language features/idiosyncrasies that I don't like and the syntax feels somewhat less clean.

Also, while I really like the memory management approach (passing allocators as parameters) the way it is implemented is conflicting some of my needs. There are probably some workarounds but I don't feel the need to invest much time in this language as the added QoL benefits are not simply not outweighing the cost for me.

bbkane•3mo ago
I feel like passing allocators is the most flexible design (if cumbersome to use). What needs does it conflict with?
Cieric•3mo ago
I really wish I could like zig more, I started using it heavily around 0.11, but I feel like as more features get implemented there is more that I like and more that I hate.

They've recently fallen into the trap of the wrong whitespace will now error compilation, which has effected me directly.

All the none blocking IO was stuck behind async, which when I was trying to use it it literally didn't exist (this might have changed in 0.15 from the videos I've seen, but all my code fails to compile now do to the former issue with whitespace).

I might come back at Zig 1.0 as long as some of the stupid decisions can be reverted or worked around in some way I find acceptable, otherwise I might just fork it myself to fix it so I can still have some fun with the language.

TheMagicHorsey•3mo ago
This is like that situation where a kid goes up to the dad who abandoned him and says, "You have given me nothing! I had to do everything myself."

And the dad says back, "By giving you nothing I have given you everything. Look at the tough guy you have become!"

lelanthran•3mo ago
Like that Johnny Cash song, A Boy Named Sue.
xigoi•3mo ago
Ah yes, the “portable” language where different implementations can’t even agree on how big an integer is. Don’t get me started about the “transparency in behavior” that’s not even close to how any modern computer works.
jokoon•3mo ago
I like neither C nor zig

C is too verbose, Zig has too many features and things.

I would rather have some sort of "improved C", without the complexity of C++, but with things map, string, vector math, etc, just standard quality-of-life stuff.

Zig has the same problems rust has: its syntax is too complicated, too modern and sophisticated.

Language designers need to understand that programmers are not always patient, smart or motivated to learn all those things. It's the 101 of user experience: make it easy and intuitive.

The programming language who dominate, dominate because they are accessible to lesser skilled people.

The more complex it is, the fewer chance it will reach adoption.

Too•3mo ago
> It includes some of the most advanced tools in computing

Half of them which shouldn’t be needed if the language didn’t let you shoot yourself in the foot in the first place.

> Transparency in Behavior

Undefined behavior has entered the chat

> Loop structures are clean and readable

If you like fiddling with i-variables and sizeof like foreach never happened.

> Error handling and optional results use simple, explicit patterns.

Proceeds and ignores the return code of fread(), leaving errors unhandled.

At this point I lost it as became more and more obvious it’s both AI slop and it’s ignoring the past 20 years of progress in programming languages. C may have its uses but jeez don’t pretend it is ergonomic.

em-bee•3mo ago
the part where C syntax examples are shown misses the same examples in zig to really allow a comparison. i am already familiar with C. giving me a C example and telling me it's better than zig does not tell me anything. i'd need to see the equivalent zig example too.