Conversation

nginx 😱 seriously ffs if you want to write C, stop making these bloated NIH'd libc replacement frameworks that get everything wrong (unsafely wrong even)
Quote Tweet
Replying to @DanielMicay @saleemrash1d and 3 others
I think they got tired of people still using LAMP and decided outdo Apache by turning nginx into an in-process library/framework for a bunch of different languages. Basically the unikernel thing but with web servers. They just need to make it an OS now for maximum hype.
4
11
Replying to
They want performance at all costs and apparently that includes avoiding anything from libc and making a whole bunch of hand-rolled sketchy performance-oriented code full of free lists, arenas, lock-free data structures, custom threading, etc. Lots wrong from glancing over it.
2
Replying to and
It's amusing to me that you can find scary bugs in a lot of projects from simply doing git grep -P 'alloc\(.+ \* .+\)' in lots of projects. It's hardly the scariest kind of thing in that codebase though. I think I'll have to go with their custom fiber code as the scariest part.
3
Replying to
It's the "portable runtime" mentality. Same reason glib has gint. Misguided belief that plastering their prefix everywhere makes better code rather than gratuitously dependent code.
2