frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
256•isitcontent•19h ago•27 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
355•vecti•21h ago•161 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
329•eljojo•21h ago•199 comments

Show HN: Kappal – CLI to Run Docker Compose YML on Kubernetes for Local Dev

https://github.com/sandys/kappal
12•sandGorgon•2d ago•3 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
79•phreda4•18h ago•14 comments

Show HN: Smooth CLI – Token-efficient browser for AI agents

https://docs.smooth.sh/cli/overview
94•antves•2d ago•70 comments

Show HN: MCP App to play backgammon with your LLM

https://github.com/sam-mfb/backgammon-mcp
3•sam256•3h ago•1 comments

Show HN: XAPIs.dev – Twitter API Alternative at 90% Lower Cost

https://xapis.dev
3•nmfccodes•56m ago•1 comments

Show HN: I'm 75, building an OSS Virtual Protest Protocol for digital activism

https://github.com/voice-of-japan/Virtual-Protest-Protocol/blob/main/README.md
6•sakanakana00•4h ago•1 comments

Show HN: I built Divvy to split restaurant bills from a photo

https://divvyai.app/
3•pieterdy•4h ago•1 comments

Show HN: Slack CLI for Agents

https://github.com/stablyai/agent-slack
52•nwparker•1d ago•11 comments

Show HN: BioTradingArena – Benchmark for LLMs to predict biotech stock movements

https://www.biotradingarena.com/hn
26•dchu17•23h ago•12 comments

Show HN: Artifact Keeper – Open-Source Artifactory/Nexus Alternative in Rust

https://github.com/artifact-keeper
152•bsgeraci•1d ago•64 comments

Show HN: ARM64 Android Dev Kit

https://github.com/denuoweb/ARM64-ADK
17•denuoweb•2d ago•2 comments

Show HN: Gigacode – Use OpenCode's UI with Claude Code/Codex/Amp

https://github.com/rivet-dev/sandbox-agent/tree/main/gigacode
19•NathanFlurry•1d ago•9 comments

Show HN: I Hacked My Family's Meal Planning with an App

https://mealjar.app
2•melvinzammit•6h ago•0 comments

Show HN: I built a free UCP checker – see if AI agents can find your store

https://ucphub.ai/ucp-store-check/
2•vladeta•6h ago•2 comments

Show HN: Compile-Time Vibe Coding

https://github.com/Michael-JB/vibecode
10•michaelchicory•8h ago•1 comments

Show HN: Micropolis/SimCity Clone in Emacs Lisp

https://github.com/vkazanov/elcity
173•vkazanov•2d ago•49 comments

Show HN: Slop News – HN front page now, but it's all slop

https://dosaygo-studio.github.io/hn-front-page-2035/slop-news
17•keepamovin•9h ago•5 comments

Show HN: Falcon's Eye (isometric NetHack) running in the browser via WebAssembly

https://rahuljaguste.github.io/Nethack_Falcons_Eye/
6•rahuljaguste•18h ago•1 comments

Show HN: Daily-updated database of malicious browser extensions

https://github.com/toborrm9/malicious_extension_sentry
14•toborrm9•23h ago•8 comments

Show HN: Horizons – OSS agent execution engine

https://github.com/synth-laboratories/Horizons
23•JoshPurtell•1d ago•5 comments

Show HN: Local task classifier and dispatcher on RTX 3080

https://github.com/resilientworkflowsentinel/resilient-workflow-sentinel
25•Shubham_Amb•1d ago•2 comments

Show HN: Fitspire – a simple 5-minute workout app for busy people (iOS)

https://apps.apple.com/us/app/fitspire-5-minute-workout/id6758784938
2•devavinoth12•11h ago•0 comments

Show HN: I built a RAG engine to search Singaporean laws

https://github.com/adityaprasad-sudo/Explore-Singapore
4•ambitious_potat•12h ago•4 comments

Show HN: Sem – Semantic diffs and patches for Git

https://ataraxy-labs.github.io/sem/
2•rs545837•13h ago•1 comments

Show HN: A password system with no database, no sync, and nothing to breach

https://bastion-enclave.vercel.app
12•KevinChasse•1d ago•16 comments

Show HN: GitClaw – An AI assistant that runs in GitHub Actions

https://github.com/SawyerHood/gitclaw
10•sawyerjhood•1d ago•0 comments

Show HN: Craftplan – I built my wife a production management tool for her bakery

https://github.com/puemos/craftplan
568•deofoo•5d ago•166 comments
Open in hackernews

Show HN: KSON, a love-letter to the humans maintaining computer configuration

https://kson.org
34•dmarcotte•4mo ago
Hi friends, I'm really excited to introduce KSON, which just entered public beta!

Anywhere a human is reading or editing YAML/JSON/TOML, KSON may be used as a more effective interface on that data. If you are such a human, we invite you to participate in this beta.

tl;dr Check out the website [1], play with the online playground [2], install the library for your programming language [3], edit in your favorite editor [4], discuss and give feedback [5], contribute to the project [6].

(A personal note about this project: I love software. Machines made of words! Such a wonder. KSON itself, as a collection of words that both make a machine and explain that machine, is an expression of a lot ideas I feel really passionately about around software and our relationship to it. I've put a lot of love into trying to make that expression eloquent and reliable. I hope some of that comes through clearly, and I look forward to discussing this more over time with anyone who's interested)

One of the key things KSON wants to say is: let's keep everything that's great about YAML and JSON as "Configuration User Interfaces", and let's make those interfaces more toolable, robust, and fun. Here's some of the ways we do that:

- KSON is a verified superset of JSON, has native JSON Schema support, transpiles cleanly to YAML (with comments preserved!), and is likely available wherever you want it—current supported platforms: JS/TS, Python, Rust, JVM, and Kotlin Multiplatform.

- KSON is also widely available in developer tools, with support for VS Code, Jetbrains IDEs, and anywhere you can plug in an LSP.

- KSON is fully open source, licensed under Apache-2.0, and you are invited to meet its words and tinker with how they make its machine. A lot of care, craft, attention and joy went into making the KSON project understandable and approachable for developers. We hope to see you around.

PS. This is an HN-friendly version of the official announcement at <https://kson.org/docs/blog/2025/09/17/introducing-kson/>.

[1]: https://kson.org/

[2]: https://kson.org/playground/

[3]: https://kson.org/docs/install/#languages

[4]: https://kson.org/docs/install/#editor-support

[5]: https://kson-org.zulipchat.com/

[6]: https://github.com/kson-org/kson

Comments

nkko•4mo ago
Nice to see this out there! Been playing with the token efficiency, looks like around 10% savings vs regular JSON/YAML. Not massive but it adds up. The embedded code thing is cool. Tired of configs that need weird templating or scripts all over the place just to do basic logic. Will check this out on some projects.
wofo•4mo ago
I met Daniel (creator of KSON) a while ago and have helped out with a few things, working towards this first beta release. I don't want to hijack the comments section, but there's an article I just finished writing that might shed a bit of context into why KSON exists. It's called "Configuration files are user interfaces" (see https://ochagavia.nl/blog/configuration-files-are-user-inter...). Hope it helps folks understand where KSON is coming from!
wofo•4mo ago
(Update: my article eventually made it to the frontpage and stayed there for a good time, so there's interesting discussion there that people here might want to check out. See https://news.ycombinator.com/item?id=45291858.)
jared-jesionek•4mo ago
Excited for the GA of KSON! We've been exploring the alpha to help us build a DSL for a data viz tool and it's been really cool.
n8agrin•4mo ago
I've had similar thoughts. Any interest in sharing notes? Generally I've been thinking there should be a standard declarative format for data vis. This should be inspired by prior art like ggplot, Grammar of Graphics, Vega, VegaLite, etc.

From there it could be compiled to targets declarative or procedural (eg to generate VegaLite specs, echart specs or Observable Plot configs in JS).

How have you been thinking about this problem space?

elviskahoro•4mo ago
So incredibly excited for this to come out! What an improvement in the quality of life for developers! My hunch is that this will also come in handy when sending data into LLMs, being able to reduce input tokens without losing fidelity is becoming an ever more important ordeal.
zahlman•4mo ago
So the point is that you can use the nth competing standard, and transpile it to whatever the other systems need?

What about manipulating the data?

Does it support embedded comments, like TOML does? What happens if you round-trip that through JSON? What about the other superset features?

What does KSON stand for?

There's a lot said about JSON and YAML on the main page, but why is this better than TOML?

dmarcotte•4mo ago
Hey zahiman, thanks for all the Qs. Trying to address them:

KSON (stands for: KSON Structured Object Notation) is designed not as an nth standard, but rather as an idea of how to play nice with all n-1 existing standards. Since our comments (we do support comments!) are preserved in formatting and transpilation (provided the underlying language supports comments), you may use KSON as how you edit whatever underlying config file your system wants (currently YAML and JSON are supported, with a clear path to adding other targets like TOML <https://github.com/kson-org/kson/issues/202>)

Why is it better than TOML? We don't insist that everyone agree it is! But here's two ways to contrast them: - We prefer that KSON's recursive structure makes nesting consistent. You can see for instance in the grammar that a Kson list value is a list of Kson values: https://github.com/kson-org/kson/blob/857d585ef26d9f73e080b5... - For use cases where folks are hand-editing non-trivial config, especially if they are using embedded code blocks of any kind: if they long for more help from their tooling, KSON makes that tooling possible.

nikolay•4mo ago
For a moment I got confused that this was the new Kubernetes KYAML [0]... Yet another *SON, ewww!

[0]: https://medium.com/@simardeep.oberoi/kyaml-kubernetes-answer...

h4ch1•4mo ago
The embed block seems interesting, can someone give a concrete example on its' purpose in terms of real-world usage?

Like I understand I'll get syntax highlighting, multi-line formatting; seems great for devex, but why's stopping me from putting code in a single string and parsing it?

Does it offer some benefits while parsing it? Thanks!

dmarcotte•4mo ago
Thanks! KSON is very focused on facilitating a better interface for a user managing config data, so one concrete example of the embed block's purpose is to help anywhere folks are directly editing important/complex multi-line strings in their config (think sql in dbt files, or bash snippets in GitHub Actions, etc).

By making the content type of the embed a first-class citizen of the syntax, together with clear boundaries for the embedded content, editors and IDEs can hook in all their great tooling to the embed blocks. So, you nailed it: being great for devex is exactly the idea.

the_mungler•4mo ago
I'm not the biggest fan of the embed block syntax, for two reasons. 1. Having `%\\\%` escape to `%\\%` is confusing. Assuming you want to embed kson inside kson it would look like this:

```

%kson: level 1

  %kson: level 2

    %kson: level 3

      - "a list"

      - "of values"

    %\\%

  %\%
%%

```

Note that for each level of nesting, the delimiters inside the block have to increase, instead of the ones outside. In a long embedded block you probably copied from elsewhere, you have to check every escaped delimiter to make sure it has the correct number of back slashes and update it. It would have made more sense to have a varying number of % correspond to a matching set to close it. e.g. %%%kson: foo matches %%% and closes it.

2. It's impossible to represent strings where every line has at least some leading indent, because they "always strip their minimum indent".

I think both these issues are solved by using zig's style of raw string literals. An embed block could start with %tag and each following line with % continues the block. No closing delimiter or delimiter escapes needed.

```

%kson: level 1

  %%kson: level 2

  %  %%kson: level 3

  %  %  %  - "a list"

  %  %  %  - "of values"

  %  %  %  - "indented"
```

Granted, this also kind of looks ugly with percent signs. But the upside is you could paste in each sub level, and a text editor could insert the symbols for you before each line, just like they already do when highlighting text and commenting it out.

dmarcotte•4mo ago
Thanks for trying out KSON and having a look at the embed blocks. When embedding text inside text, the price/tax to delimit it must be paid somewhere, as the "KSON turducken" you've cooked up here demonstrates. We are familiar with this dish! Here's how we considered it in the design:

Our design observes that triple+ embedded KSON embed blocks should be rare and are zany enough information architecture that we do not need to cater to them. We accommodate singly-embedded KSON by offering `$/$$` as an alternative embed delimiter that can be used to minimize escaping (fun: if you paste your example in the playground <https://kson.org/playground/> and format it, the formatter will minimize the escaping for you).

The two-char end-delimiter is important to make it trivial to describe the end of a embed block: a `%` embed block ends if and only if exactly `%%` is encountered. This is designed to make it dead simple for humans and (especially) tools to understand the bounds of an embed.

Zig's manually-managed margin approach is interesting. Paying the embedded text price/tax with a manually managed margin is inventive, and does indeed give good whitespace control and skips all escaping. However, having to always manage that margin goes against our goal of having embed blocks facilitate "pure" embedded editing as much as possible---every block that does not contain `%%` can be edited completely in the block's native language.

Hopefully that helps make some of our goals and design decisions more clear. We've worked hard to minimize the cost of embedding while maximizing the clarity, utility and toolabilty of it. Definitely open to ideas on improving our min/max'ing here if folks see opportunities. Come chat with us on Zulip if you've got thoughts! https://kson-org.zulipchat.com/

the_mungler•4mo ago
Yeah, definitely some tradeoffs there. I do like that it makes the common use cases easy. And yeah, I did make quite the "turduckin" as you put it .

A more concrete criticism: suppose you wanted to embed some markdown, where all of the content consisted of an indented code block.

%markdown: a code block

    fn foo(){

        # do stuff

    }
%%

My understanding is the leading spaces would be removed, breaking the formatting and making it normal text instead of a code block.