frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Abstraction, not syntax

https://ruudvanasseldonk.com/2025/abstraction-not-syntax
40•unripe_syntax•13h ago

Comments

JohnMakin•2h ago
As someone who's spent most of their career in cloud IAC, and likes to think they are pretty read up on the latest going on in that world, if you didn't know better you'd think YAML is one of the greatest threats facing mankind. There are plenty of things I certainly hate about it, but every configuration syntax I've ever used I have similar gripes about. It's like once a month this kind of "The world is growing tired of yaml" claim is just thrown out there like everyone just agrees with it. Choose something that works for you. This author repeatedly mentions TOML but there are plenty of issues with that one I could point out too. Syntax is one very small part of what makes an ecosystem great or not so great. Most of my exposure to yaml is helm chart templates, which admittedly is not pure YAML, but it works fine enough for me, at least to where I don't feel like writing lengthy blog posts about how much I hate it. I even wrote a library that converts yaml templates to HCL for internal use because I got so sick of people having this exact same argument like it deeply mattered. And guess what? They hate the HCL too.
compyman•1h ago
I also think that a lot of the problems with yaml specifically are overblown, but this post is actually not about that!

It is specifically saying the same problem exists in JSON/YAML/TOML, etc, which is that all these configuration languages don't have any real means of abstraction, and ultimately aren't expressive enough do to the job we require of them.

as soon as you are templating config files with other configs, I agree, I have sorely felt this limitation with helm charts

kmoser•33m ago
Serious question: do people who work with these config files frequently, or on large such files, use simple text editors, or are there "smart" editors that do things like prevent you from making typos or inserting the wrong data type, similar to an HTML form that does basic validation or a DB schema that rejects bad data?

There is no single cure-all, of course, but surely we should be relying on computers to do much of the heavy lifting when it comes to validation and verification of these files, not just as linters after the fact but in realtime while we're editing, and with some sort of knowledge (even if derived programmatically) of what is right and what is wrong so we no longer have to worry about simple footguns.

kokada•20m ago
I think one of the problems of those "configuration languages" is that you can extract semantic information without knowing the target, e.g., with has a specific meaning in GitHub Actions but it is otherwise an unremarkable word in the YAML specification.

But when working with real programming languages it is completely different, you can take semantic information from the current code, and you can have things like types to give you safety.

taeric•50m ago
I'm trying to remember the phrase. Something like, "there is nothing as vicious as low stakes fights."

Trying that on Google gets me https://en.wikipedia.org/wiki/Sayre%27s_law. Is about right. :D

skywhopper•31m ago
HCL is generally great, but has some issues with clarity of transformation to the underlying data structures.

But anytime someone suggests TOML I have to double check to be sure they are serious because the TOML syntax for anything more complicated than single-layer maps is mind-bogglingly confusing to me. This is not a serious alternative to YAML.

Defletter•1h ago
Really wish people would just bite the bullet and do configuration as code instead of trying to make all these config petlangs.
patrickmay•1h ago
Exactly. Emacs Lisp is an existence proof that this can be done well.
taeric•52m ago
You beat me to it!

And for those that haven't taken a look at it, the "customize" menu and everything it supports is silly impressive. And it just writes out the results out, like a boss.*

* Obviously, it has a lot of "don't edit below this line" complexity to it. But that doesn't change that it is right there.

skydhash•1h ago
My preference is towards simpler formats like:

  option value
Easy to edit and manipulate. JSON and YAML is always a nightmare if it's user facing. As for ansible, I'd love to see some scheme/lisp variants.
horsawlarway•30m ago
I appreciate that the ts/js ecosystem seems to be moving in this general direction.

Lots of config.json is being replaced by the nicer config.ts.

frou_dh•14m ago
When Python projects used that approach (setup.py files) that meant to just know what a package's dependencies were, arbitrary code had to be run. Now it's pyproject.toml
nickelpro•5m ago
pyproject.toml calls into a build backend which is... Python.

It is good to have a simple, declarative entry point to the build system which records declarative elements of the build. The non-declarative elements of the system are configuration-as-code.

lenkite•11m ago
Yes, though languages need to develop and provide restricted execution modes for "configuration as code" for security enforcement.
tekbruh9000•4m ago
This year I started using an SQLite file specifically for config values

Have used everything from Json to Cue and in-between. Tired of the context switch. Need to use SQL anyway. Fewer dependencies overall required.

apalmer•1h ago
I don't think the title and the article really communicates it's case well. Did not understand the goal until 90% through the article when they showed the source code of RCL with the loops.

This isn't syntax vs abstraction. This is how much programming language power do you want to enable in your configuration language. This is a big difference and I think we miss the interesting part of that discussion because we dip into this 'abstraction angle.

dvrp•6m ago
Should be titled “the power spectrum of data” or something similar

the article talks about the trade off between plain data structure versus abstract ones and that’s the main issue

nickelpro•6m ago
Yes, one more DSL on your Tower of Babel tech stack will save you.

If you want configuration-as-code use Python. Please. Or Tcl if you must. Do not invent N+1 DSL for your engineers to waste time learning.

NanoChat – The best ChatGPT that $100 can buy

https://github.com/karpathy/nanochat
719•huseyinkeles•7h ago•126 comments

First device based on 'optical thermodynamics' can route light without switches

https://phys.org/news/2025-10-device-based-optical-thermodynamics-route.html
78•rbanffy•4d ago•13 comments

Uv overtakes pip in CI (for Wagtail users)

https://wagtail.org/blog/uv-overtakes-pip-in-ci/
15•ThibWeb•1w ago•1 comments

Show HN: SQLite Online – 11 years of solo development, 11K daily users

https://sqliteonline.com/
301•sqliteonline•9h ago•108 comments

Modern iOS Security Features – A Deep Dive into SPTM, TXM, and Exclaves

https://arxiv.org/abs/2510.09272
57•todsacerdoti•4h ago•0 comments

JIT: So you want to be faster than an interpreter on modern CPUs

https://www.pinaraf.info/2025/10/jit-so-you-want-to-be-faster-than-an-interpreter-on-modern-cpus/
50•pinaraf•1d ago•3 comments

Abstraction, not syntax

https://ruudvanasseldonk.com/2025/abstraction-not-syntax
40•unripe_syntax•13h ago•18 comments

Root cause analysis? You're doing it wrong

https://entropicthoughts.com/root-cause-analysis-youre-doing-it-wrong
70•davedx•2d ago•32 comments

Dutch government takes control of Chinese-owned chipmaker Nexperia

https://www.cnbc.com/2025/10/13/dutch-government-takes-control-of-chinese-owned-chipmaker-nexperi...
225•piskov•12h ago•151 comments

Don't Be a Sucker (1943) [video]

https://www.youtube.com/watch?v=vGAqYNFQdZ4
174•surprisetalk•2h ago•49 comments

Strudel REPL – a music live coding environment living in the browser

https://strudel.cc
52•birdculture•4h ago•8 comments

Show HN: AI Toy I worked on is in stores

https://www.walmart.com/ip/SANTA-SMAGICAL-PHONE/16364964771
22•Sean-Der•1d ago•20 comments

Scaling request logging with ClickHouse, Kafka, and Vector

https://www.geocod.io/code-and-coordinates/2025-10-02-from-millions-to-billions/
89•mjwhansen•5d ago•13 comments

JSON River – Parse JSON incrementally as it streams in

https://github.com/rictic/jsonriver
134•rickcarlino•5d ago•62 comments

Android's sideloading limits are its most anti-consumer move

https://www.makeuseof.com/androids-sideloading-limits-are-anti-consumer-move-yet/
500•josephcsible•7h ago•311 comments

CRDT and SQLite: Local-First Value Synchronization

https://marcobambini.substack.com/p/the-secret-life-of-a-local-first
49•marcobambini•4d ago•9 comments

Optery (YC W22) – Hiring Tech Lead with Node.js Experience (U.S. & Latin America)

https://www.optery.com/careers/
1•beyondd•5h ago

Software update bricks some Jeep 4xe hybrids over the weekend

https://arstechnica.com/cars/2025/10/software-update-bricks-some-jeep-4xe-hybrids-over-the-weekend/
269•gloxkiqcza•8h ago•196 comments

Spotlight on pdfly, the Swiss Army knife for PDF files

https://chezsoi.org/lucas/blog/spotlight-on-pdfly.html
297•Lucas-C•14h ago•88 comments

Systems as Mirrors

https://iamstelios.com/blog/systems-as-mirrors/
10•i8s•1d ago•1 comments

American solar farms

https://tech.marksblogg.com/american-solar-farms.html
187•marklit•12h ago•220 comments

Roger Dean – His legendary artwork in gaming history (Psygnosis)

https://spillhistorie.no/2025/10/03/legends-of-the-games-industry-roger-dean/
61•thelok•8h ago•15 comments

Reverse Engineering a 1979 Camera's Spec

https://blog.mano.lol/posts/film/
22•manoloesparta•3h ago•5 comments

AWS Service Availability Updates

https://aws.amazon.com/about-aws/whats-new/2025/10/aws-service-availability/
41•dabinat•2h ago•16 comments

Matrices can be your friends (2002)

https://www.sjbaker.org/steve/omniv/matrices_can_be_your_friends.html
115•todsacerdoti•12h ago•85 comments

The Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel 2025

https://www.nobelprize.org/prizes/economic-sciences/2025/summary/
118•k2enemy•11h ago•159 comments

More random home lab things I've recently learned

https://chollinger.com/blog/2025/10/more-homelab-things-ive-recently-learned/
178•otter-in-a-suit•1w ago•94 comments

Ancient Patagonian hunter-gatherers took care of their injured and disabled

https://phys.org/news/2025-10-ancient-patagonian-hunter-disabled.html
66•pseudolus•6d ago•66 comments

Smartphones and being present

https://herman.bearblog.dev/being-present/
181•articsputnik•8h ago•114 comments

MPTCP for Linux

https://www.mptcp.dev/
109•SweetSoftPillow•13h ago•19 comments