Paul Adams Smith, a software engineer, writes on Redis internals, the LLVM C API, Go, OpenBSD networking, and the Healthcare.gov rescue.
HN links it for Redis source walkthroughs, an LLVM C API starter guide, and his account of the Healthcare.gov rescue.
This issue came up again recently with the Democrats' voter registration application (http://pauladamsmith.com/blog/2013/01/dnc_voter_reg_foss.html).
The take-home is don't do that. Don't modify a standard open source contract on a whim as it will inevitably cause serious hassle later. Okay if you have some major ethical/legal objection, then just beware it will cause some major hassle.
JSON is an exception. It came along when the programming world was desperate to be liberated from XML bondage...a fine solution surfaced at the right place and right time. And also at a time when people cared less about open source license specifics. For any average project, you're adding more barriers to adoption than you probably realise.
(I said more about this the last time http://news.ycombinator.com/item?id=4762261)
I realize this isn’t what you’re arguing for, but as a cautionary anecdote on this topic:
Paul alludes to it in his post about Healthcare.gov from the other day, but this was apparently one of the major parts of the failure there - endless lines of code generated from UML diagrams, making reading the code hard and things like “can we add a trace statement here” difficult.
Optimising for diagrams-as-source-of-truth has drawbacks for debugging and maintainability of the running code
https://www.pauladamsmith.com/blog/2023/10/the-10-year-anniversary-of-the-healthcare.gov-rescue.html
I am not sure what is meant by this. It certainly seems to have QoS in the form of the queue directive. It works for me for limiting buffer bloat on my VDSL model upstream. The defaults work well for my VOIP stuff so that all I have is this in my pf.conf:
queue outq on re1 flows 1024 bandwidth 3000K max 3000K qlimit 1024 default
I think the magic is in the "flows" part.
Added: Relevant articles:
* https://dataswamp.org/~solene/2021-08-30-openbsd-qos-lan.html
* https://www.pauladamsmith.com/blog/2018/07/fixing-bufferbloat-on-your-home-network-with-openbsd-6.2-or-newer.html
A good reminder to read about how it almost didn't turn out alright.
* https://time.com/10228/obamas-trauma-team/
* https://www.pauladamsmith.com/blog/2023/10/the-10-year-anniversary-of-the-healthcare.gov-rescue.html
(And of course the related Hacker News threads.)
* https://news.ycombinator.com/item?id=7312442
* https://news.ycombinator.com/item?id=37957152
Take a look at Redis sometime. You might want to actually work on it a bit to help internalize what you're reading. Here are a couple of articles that might help get you started:
http://pauladamsmith.com/articles/redis-under-the-hood.html
http://www.starkiller.net/2013/05/03/hacking-redis-adding-interval-sets/
As a user, I assume the site is not going to do the right thing with my password. That's why I securely generate a new password for each site using a master passphrase. Oplop is a good, zero-install tool for doing this. http://pauladamsmith.com/blog/2010/12/oplop.html