News for hackers. Stuff that matters.

mhsred5

Re:What Sun got wrong on Monday September 21, 2026 @01:21PM (#49790306)
At the end of the day, the UI on a Unix server was always shell based. That was just the best way to configure a server. (And, in some way Infrastructure as Code is an evolution of the shell scripts a unix admin would use.)

Linux won on the server side because they got just as right as Unix. The crappy UI (windows) was the one that didn't work with shell scripting, didn't work with ssh, etc.

At some point maybe stop outsourcing and just do the work.

Boeing used to make airplanes. Now they outsource the work of "make the airplanes" and all it cost them was their reputation.

Less outsourcing, more just doing the work please.

Re:Routing Enhancements for Go 1.22 on Tuesday February 13, 2024 @03:09PM (#39362215)
Picking a winner in such a conflict leads to unexpected behavior if ordering changes.
Its a really well thought out way to combine schemas, templates, and data into one language. Its a superset of JSON and it provides a functional interface to validate inputs, outputs, and configurations.

It integrates very nicely with go and can convert between go structs into cue structs and vice versa.

CUE's validation is very strong, as long as you're ok with some level of functional programming and immutability.

Despite what GPT said above, its Configure, Unify, Execute. The Execute aspect is powerful but you have to be ok with functional programming and immutability.

Pairs up really nicely with Go.

Re:Cue Wins on Friday January 13, 2023 @04:32PM (#34374175)
The problem with using a general programming language for configuration is you end up needing to use that config in different places, in different contexts, and from different languages. So, you have to marshall out and marshall in that structure to some intermediate format.

You want it to be easy for humans to edit and grok, so you find a way to represent the core parts you care about as text and cordone off the general programming language to another area.

You're successful and the number of use cases you cover grows, so the size of that config grows.

And before you know it, you've invented YAML.

Whereas, if you use Cue instead of YAML it looks pretty similar - in fact some large subset of it will be parsed correctly by a YAML parser. But the difference is with Cue you can: 1. Validate the structures in your config 2. Deduplicate by referencing other values in your config (something you can't do in JSON/YAML). 3. Use language built-ins to reduce boiler plate and repetitive text.

Re:Cue Wins on Friday January 13, 2023 @10:55AM (#34369509)
I've read their comparison and it really feels like word salad.

Having gone decently down the Cue rabbit hole, I feel that Cue is remarkable in being able to do everything I need it to do without looking significantly different than JSON. The validations and boiler plate reduction are fantastic. And even without inheritance, I'm confident it can represent anything I need to without having to duplicate the same thing over and over.