frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Tiny C Compiler

https://bellard.org/tcc/
90•guerrilla•2h ago•35 comments

The silent death of Good Code

https://amit.prasad.me/blog/rip-good-code
14•amitprasad•1h ago•1 comments

SectorC: A C Compiler in 512 bytes

https://xorvoid.com/sectorc.html
174•valyala•6h ago•30 comments

Speed up responses with fast mode

https://code.claude.com/docs/en/fast-mode
106•surprisetalk•6h ago•107 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...
40•gnufx•5h ago•43 comments

The F Word

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

Software factories and the agentic moment

https://factory.strongdm.ai/
126•mellosouls•9h ago•264 comments

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

https://openciv3.org/
876•klaussilveira•1d ago•268 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
165•AlexeyBrin•12h ago•29 comments

Stories from 25 Years of Software Development

https://susam.net/twenty-five-years-of-computing.html
124•vinhnx•9h ago•15 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...
54•randycupertino•2h ago•53 comments

First Proof

https://arxiv.org/abs/2602.05192
91•samasblack•9h ago•62 comments

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

https://spillhistorie.no/2026/02/06/interview-with-sierra-veteran-al-lowe/
80•thelok•8h ago•16 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
263•jesperordrup•16h ago•84 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-...
25•mbitsnbites•3d ago•2 comments

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
546•theblazehen•3d ago•201 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
47•momciloo•6h ago•9 comments

Show HN: Browser based state machine simulator and visualizer

https://svylabs.github.io/smac-viz/
7•sridhar87•4d ago•3 comments

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

https://jonathanwhiting.com/writing/blog/games_in_c/
160•valyala•6h ago•143 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
234•1vuio0pswjnm7•13h ago•372 comments

Selection rather than prediction

https://voratiq.com/blog/selection-rather-than-prediction/
22•languid-photic•4d ago•6 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-...
69•josephcsible•4h ago•94 comments

Reinforcement Learning from Human Feedback

https://rlhfbook.com/
106•onurkanbkrc•11h ago•5 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

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

Coding agents have replaced every framework I used

https://blog.alaindichiappari.dev/p/software-engineering-is-back
297•alainrk•11h ago•470 comments

72M Points of Interest

https://tech.marksblogg.com/overture-places-pois.html
46•marklit•5d ago•6 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
55•rbanffy•4d ago•15 comments

France's homegrown open source online office suite

https://github.com/suitenumerique
678•nar001•11h ago•292 comments

Where did all the starships go?

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

Show HN: Kappal – CLI to Run Docker Compose YML on Kubernetes for Local Dev

https://github.com/sandys/kappal
44•sandGorgon•2d ago•20 comments
Open in hackernews

Yet Another TypeSafe and Generic Programming Candidate for C

https://github.com/brightprogrammer/MisraStdC
72•brightprogramer•5mo ago

Comments

brightprogramer•5mo ago
been working on this for some time. has some usable features. i keep adding as i feel the need. try to well document everything and maintain it.
WalterBright•5mo ago
> brightprogrammer

There can be only one.

yuppiemephisto•5mo ago
That’s what I was thinking seeing the username =)
brightprogramer•5mo ago
It's an honor to have you comment here .
WalterBright•5mo ago
Thank you for the kind words!
dmux•5mo ago
>Disclaimer: This library is not related to the MISRA C standard or guidelines. The name "MisraStdC" comes from the author's name, Siddharth Mishra, who is commonly known as "Misra" among friends.

Why include the letters Std then? This seems like a purposeful typo-squatting effort and definitely makes me suspicious.

brightprogramer•5mo ago
because it's my personal standard. I use it more than I use standard C utils.
CyberDildonics•5mo ago
Did you really take the name mishra and make it into misra.h then call your library MisraStdC and expect people to believe the confusion isn't intentional? This whole thing feels incredibly dishonest.
brightprogramer•5mo ago
Ok I'm saying this for the last time so I'll over-explain so everyone can follow the idea properly.

Not all people can pronounce names correctly. In a language some names are easier to pronounce if you take away a few letters. Some may find using Sid as short form for Siddharth, because it's just easier.

Now from my childhood, some friends used to pronounce my name differently. I noticed that they don't use the 'h' in Mishra, so I started using 'Misra' instead. They found it easier to pronounce and I felt connected more. Those who could pronounce it correctly, still used Misra because it's just easier and sounds more personal. Friends and loved ones do that. It's also sometimes called as a nickname, where you give other names to a loved one.

Now, it also just happens that my native language has the same root word for Misra and Mishra aaaand they mean the same! It essentially means a mixture of different things.

Now even if all this this reason does not sound good to you, just ignore it. It is my project, my name. I can pronounce however I want, with whatever spelling I want. A project is named by it's maintainer. I can name it exactly MISRA and still be happy with it because it's my project, I'm the maintainer.

I did mention that this is not related to the MISRA standard because I felt like users should know and not confuse it with my library.

I tried to ignore this matter but people over internet just keep poking you saying you're dishonest. Please don't bother yourself with the name of things, just use it if you need it otherwise ignore it. It's an advice for life. Name of things does not matter, it's what they do and achieve. I've put honest work into this library and I won't accept someone sitting behind a screen just say that I'm dishonest, I'm purposefully choosing this name. It is my name, I chose it, names clash in this world at least. Two entities can have same name but of different origin and use case.

Thanks for reading this if you read it till here.

CyberDildonics•5mo ago
I tried to ignore this matter but people over internet just keep poking

Did you really think naming something MisraStdC, then posting it to the internet, then rationalizing it wouldn't be noticed?

It's not even your name or a standard.

It really looks like you are trying to name it something that people would find from searches then somehow walk it back and come with a story after.

selimthegrim•4mo ago
While I do think there might be some squatting here, I have to defend that dropping the h is also a common spelling of that name.
donperignon•5mo ago
Wow! Thanks for pointing that out, so misleading…
brightprogramer•5mo ago
yep, glad you pointed that out. To explain a bit more : MisraStdC is 3 parts : Misra + Std + C - Misra is derived from my name. That's why I needed to specify that the repo is not related to the MISRA standard.
typpilol•5mo ago
How does MisraStdC = Siddharth Mishra?

Misra and not Mishra? You randomly drop the h? And it just so happens dropping the H makes it a typo squat basically.

Siddharth has a T after the D. So std should be sdt.. at best.

Just be honest lol

brightprogramer•5mo ago
Std is short for standard :-) It's pretty std.
typpilol•5mo ago
That doesn't explain the worst part though. Why drop a random H?
dkenyser•5mo ago
You do understand people's concern here though right?

Because it seems like you're being purposefully obtuse at this point.

donperignon•4mo ago
Thanks for the clarification but it makes zero sense
Panzerschrek•5mo ago
Why do people do such wired projects? Why not just using C++ instead of pure C?
brightprogramer•5mo ago
Because I just don't like it as much and I wanted to see how much farther can we go by just using macro tricks.
Panzerschrek•5mo ago
Ok, it's fine, if you just wanted to experiment with macros. This seems to be a legit reason to use pure C.
brightprogramer•5mo ago
It also compilers way faster than C++ code if that interests you :-)
Panzerschrek•5mo ago
I agree, C++ code compilation is generally slower compared to C. But the compiler itself isn't particularity slower (under the hood it's the same compiler), but compiling C++ code with a lot of templates is slow.

For me personally compilation slowdown is just a price, which I am ready to pay for more language features, including better abstractions and type safety.

dfawcus•5mo ago
Maybe because one is working on a legacy C program, and for various reasons adding C++ to said program is too risky or expensive?
teo_zero•5mo ago
> A modern C11 library

I'd say "mostly C11": it uses __VA_OPT__ that's been standardized only in C23.

The "foreach" macros need a lot of refinement: passing the body in the parameters is asking for troubles, for example. And using a non-unique default name for the index prevents nested loops.

To overcome the issues with generic and qualified types, have you considered using typeof_unqual?

  _Generic(*(typeof_unqual(x)*)0, ...)
brightprogramer•5mo ago
Yea the FMT trick uses VA_OPT. I consider myself a noob with C official specification, so you're probably right about that.

I do kinda like how foreach is implemented right now. This allows me to perform some strict checking for easy loop iteration based bugs and also it kinda looks cool.

This is the first time I came across typeof_unqual. I'll look into it, thanks .

I spent a lot of time making this work across all three compilers (especially MSVC). I'm glad MSVC has VA_OPT support.

teo_zero•5mo ago
> I do kinda like how foreach is implemented right now. This allows me to perform some strict checking for easy loop iteration based bugs and also it kinda looks cool.

Yes but the body in the parameters really is a show stopper. What if the body has a unprotected comma? Like

  VecForeach(&v, e, {
    int x, y;
    ...
  });
Better to expand the macro into one or two "for" and let the body follow. For example:

  #define VecForeachIdx(v, var, idx)\
    for (size idx=0,_d=1; ValidateVec(v),_d; _d--)\
      for (VEC_DATATYPE(v) var={}; idx<(v)->length && (var=VecAt(v,idx),1); idx++)
Please note that I haven't tested it.
brightprogramer•5mo ago
That sounds like a better idea. I'll test it. Debugging with my existing macros is a PITA, but if your suggestion works then it'll work well with debuggers as well! Thanks :)
servicewelt•4mo ago
How would you implement 'var = ...' while respecting that 'VecAt(...)' could return 0? I am currently working on a similar problem and can't seem do seem figure out how to handle these for-loops and setting the iterator properly.
teo_zero•4mo ago
The ",1" ignores var and keeps 1.
brightprogramer•4mo ago
I just tested this, and it works flawlessly! This is amazing! Thanks for the suggestion.
brightprogramer•5mo ago
I especially am in love with how my formatted printer works. It's not a completely new solution and I think people have already done that. I'll also say that it's not very mature but it makes life a lot easier in some cases.

One example is me parsing HTTP headers: https://github.com/brightprogrammer/beam/blob/master/Source%...

teo_zero•5mo ago
What disturbs me is the need to Init() everything. In the Vec type (the only one I've analyzed, actually) all it does is to fill everything with zeros and add a "magic" field certifying that the initialization happened. So why don't simply fill everything with zeros, which can be achieved with ={} if you're super modern or ={0} if you're not, and then drop the check for the magic field? Of course that wouldn't detect a missing intialization, but neither is it detected for any standard type.
brightprogramer•5mo ago
It is a bit crazy but forcing this kinda makes a habit. That way, a habitual user will tend to initialize other variable types as well.

That's why I call it a standard, because the library has its own coding style. Take the ownership semantics explained in concepts section of README for example. I provide a way to very clearly specify ownership.

Also the init() instantly detects bugs related to uninitialized struts. When they do happen, sometimes very deep in the code they take a lot of time.

This is also one of the reasons why there are so many ValidateX checks in implementation code. Try to catch bugs faster.