Live data from Hacker News

Ask HN: What are some well written/engineered open source software?

news.ycombinator.com

61–70 of 72 posts

Re: Ask HN: What are some well written/engineered open source software?

#62
post #56

Asterisk PBX. Well-chosen small set of module types (channel drivers, applications, functions, resources, codecs & formats), allowing to implement literally any behaviour, and converge with any thinkable external technology. Not working in VoIP anymore for quite long time, but the clarity of design of Asterisk has deeply influenced me. Gstreamer. Pipeline is very powerful model for software, the potential of it is tr…

This is surprising to read considering the following article: https://freeswitch.org/how-does-freeswitch-compare-to-asteri... FreeSWITCH is an alternative to Asterisk.

If the explanation looks like this I am not sure I want to see how the code looks like..

http://imgur.com/a/E0idH

Re: Ask HN: What are some well written/engineered open source software?

#63

I've spent a lot of time reading C sources. Standouts are nginx, mbed TLS, Amazon s2n. Clean coding styles, consistent in checking function return values (very important! significant source of vulnerabilities in C software), comments where due, no hacks. Among the most convoluted source codes I've read is Tor. It works (apparently), and it isn't even very insecure per se (the code is littered with hard asserts that w…

What software do you use to analyze call graphs?

Re: Ask HN: What are some well written/engineered open source software?

#64

Can you really learn from just reading source code? It seems like you need an annotated guide to understand why this was done along with the how.

Somewhat. I just dug through Laravel's source code and the comments helped.

Having an annotated guide for each software would be difficult but all of us have to start somewhere.

Re: Ask HN: What are some well written/engineered open source software?

#65

Asterisk PBX. Well-chosen small set of module types (channel drivers, applications, functions, resources, codecs & formats), allowing to implement literally any behaviour, and converge with any thinkable external technology. Not working in VoIP anymore for quite long time, but the clarity of design of Asterisk has deeply influenced me. Gstreamer. Pipeline is very powerful model for software, the potential of it is tr…

Just in case anyone were to be led to believe this: Asterisk's code base is a pile of crap. It's been getting a bit better over the years, but it still is terrible, tons of conceptual blunder, protocol implementations are only losely inspired by the specification, system APIs are used incorrectly, lots of code doesn't bother with dynamic string lengths, but instead simply truncates strings arbitrarily if they don't f…

Yes I know Asterisk is ridden with bugs and has very nasty spots at its core (e.g. "channel cloning" or whatever it is called). It was my job to debug the code with gdb and valgrind :)

What is still amazing to me is the set of core design concepts which I've listed - channels, applications... I have a case for comparison here, where the project is of comparable complexity but all features are bolted-on ad-hoc without such complexity compartmentalization which Asterisk has.

Re: Ask HN: What are some well written/engineered open source software?

#69

I've spent a lot of time reading C sources. Standouts are nginx, mbed TLS, Amazon s2n. Clean coding styles, consistent in checking function return values (very important! significant source of vulnerabilities in C software), comments where due, no hacks. Among the most convoluted source codes I've read is Tor. It works (apparently), and it isn't even very insecure per se (the code is littered with hard asserts that w…

> it is unnecessarily dense

Underhanded perhaps?

Re: Ask HN: What are some well written/engineered open source software?

#70
PostgreSQL, Nginx, fio, SublimeText (3), nmap, libcurl (and curl itself), ffmpeg (parts are also in asm), rsync, XLD, and the list goes on...

Watch out for biases based on how much people like the end product vs how well it's actually implemented though.

Post reply on HN