After reading Daniel Ellsberg's The Doomsday Machine, I'm surprised we as a species are still around.
83 karma · joined May 17, 2013
After reading Daniel Ellsberg's The Doomsday Machine, I'm surprised we as a species are still around.
What's the license for ffs?
The API consumer should be able to adapt the binding to their needs and idioms instead of relying on behavior encoded in a pre-built SDK. The ability to do that with specific codegen tools (e.g. swagger-codegen, go-swagger) is pretty high-barrier. Oagen-emitters looks like something that addresses that gap.
Afaict, it was Lightwave3d, that I just learned still lives to this day. Last release June 11 2025. Also used to make SeaQuest :) Oh, the memories...
- you can serve any number of disjoint websocket services via same port via HTTP routing - this also means you can do TLS termination in one place, so downstream websocket service doesn't have to deal with the nitty-gritty of certificates.
Sure, it adds a hop compared to socket passing, and there are ways to get similar fanout with TCP with a custom protocol. But you need to add this to every stack that interacting components use, while websockets libraries exist for most languages that are likely to be used in such an endeavor.
I feel Telegraf made a good compromise: out of the box, it comes with a _ton_ of stuff[1] to monitor everything, but they make it possible to build only with pieces that you need via build tags, and even provide a tool to extract said tags from your telegraf config[2]. But lots of supply-chain security stuff assume everything in go.mod is used, so that can results in a lot of noise.
[1] https://github.com/influxdata/telegraf/blob/master/go.mod [2] https://github.com/influxdata/telegraf/tree/master/tools/cus...
necessary motto
If you're already compliant (implying you are using FIPS compliant crypto in all situations), the matter is tautological.
//go:generate go-enum -type=State
type State int
const (
Unknown State = 0
Disconnected = 1
Connected = 2
)
which then generates a separate file with implementations such as: func (i State) MarshalJSON() ([]byte, error) { ...
[0] https://pkg.go.dev/github.com/searKing/golang/tools/go-enum#...[0] https://lore.kernel.org/linux-input/nycvar.YFH.7.76.23110120... [1] https://www.kernel.org/doc/html/v6.6/admin-guide/reporting-r...
What CentOS gave you until Stream was (with some delay) the "same" set of packages that RedHat released in RHEL, which was (hopefully exhaustively) tested by RedHat QA, including making sure that packages interact in a sane way. That's what earned RHEL (and by extension CentOS) that designation of stability. By virtue of being upstream, CentOS Stream could have a lot more updates (the kind that would previously be internal to RedHat). I doubt same level of QA can/will be invested for each update state (if it could be, RHEL would probably be a rolling distro). If you don't have a QA safety net of your own, the risk is higher with Stream vs 8.
You could hack point releases into Stream: wait for RHEL release, then dnf versionlock Stream packages to the same release versions as RHEL (assuming you can map versions of modular packages).
File outputs were progress logs of the backups that got renamed after the backup, so if any jobs failed in the backup window, you could easily inspect them and rerun the failed jobs just by rerunning the make command.
Fun times. Handling filenames with spaces was an absolute pain, though.
This is an interesting observation. I seem to fall into the former category, but I'm not sure if that's a side effect of working with proprietary codebases that have less than stellar interfaces.
When stuff ultimately goes sideways, I value being able to relatively quickly reason about the flow without firing up a debugger. Information hiding cuts both ways.
[1] https://cyber.harvard.edu/metaschool/fisher/domain/tmcases/b...