frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Interview with 'Just use a VPS' bro (OpenClaw version) [video]

https://www.youtube.com/watch?v=40SnEd1RWUU
1•dangtony98•45s ago•0 comments

EchoJEPA: Latent Predictive Foundation Model for Echocardiography

https://github.com/bowang-lab/EchoJEPA
1•euvin•8m ago•0 comments

Disablling Go Telemetry

https://go.dev/doc/telemetry
1•1vuio0pswjnm7•10m ago•0 comments

Effective Nihilism

https://www.effectivenihilism.org/
1•abetusk•13m ago•1 comments

The UK government didn't want you to see this report on ecosystem collapse

https://www.theguardian.com/commentisfree/2026/jan/27/uk-government-report-ecosystem-collapse-foi...
2•pabs3•15m ago•0 comments

No 10 blocks report on impact of rainforest collapse on food prices

https://www.thetimes.com/uk/environment/article/no-10-blocks-report-on-impact-of-rainforest-colla...
1•pabs3•15m ago•0 comments

Seedance 2.0 Is Coming

https://seedance-2.app/
1•Jenny249•17m ago•0 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
1•devavinoth12•17m ago•0 comments

Dexterous robotic hands: 2009 – 2014 – 2025

https://old.reddit.com/r/robotics/comments/1qp7z15/dexterous_robotic_hands_2009_2014_2025/
1•gmays•21m ago•0 comments

Interop 2025: A Year of Convergence

https://webkit.org/blog/17808/interop-2025-review/
1•ksec•31m ago•1 comments

JobArena – Human Intuition vs. Artificial Intelligence

https://www.jobarena.ai/
1•84634E1A607A•35m ago•0 comments

Concept Artists Say Generative AI References Only Make Their Jobs Harder

https://thisweekinvideogames.com/feature/concept-artists-in-games-say-generative-ai-references-on...
1•KittenInABox•38m ago•0 comments

Show HN: PaySentry – Open-source control plane for AI agent payments

https://github.com/mkmkkkkk/paysentry
1•mkyang•40m ago•0 comments

Show HN: Moli P2P – An ephemeral, serverless image gallery (Rust and WebRTC)

https://moli-green.is/
1•ShinyaKoyano•50m ago•0 comments

The Crumbling Workflow Moat: Aggregation Theory's Final Chapter

https://twitter.com/nicbstme/status/2019149771706102022
1•SubiculumCode•54m ago•0 comments

Pax Historia – User and AI powered gaming platform

https://www.ycombinator.com/launches/PMu-pax-historia-user-ai-powered-gaming-platform
2•Osiris30•55m ago•0 comments

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

https://github.com/adityaprasad-sudo/Explore-Singapore
2•ambitious_potat•1h ago•0 comments

Scams, Fraud, and Fake Apps: How to Protect Your Money in a Mobile-First Economy

https://blog.afrowallet.co/en_GB/tiers-app/scams-fraud-and-fake-apps-in-africa
1•jonatask•1h ago•0 comments

Porting Doom to My WebAssembly VM

https://irreducible.io/blog/porting-doom-to-wasm/
2•irreducible•1h ago•0 comments

Cognitive Style and Visual Attention in Multimodal Museum Exhibitions

https://www.mdpi.com/2075-5309/15/16/2968
1•rbanffy•1h ago•0 comments

Full-Blown Cross-Assembler in a Bash Script

https://hackaday.com/2026/02/06/full-blown-cross-assembler-in-a-bash-script/
1•grajmanu•1h ago•0 comments

Logic Puzzles: Why the Liar Is the Helpful One

https://blog.szczepan.org/blog/knights-and-knaves/
1•wasabi991011•1h ago•0 comments

Optical Combs Help Radio Telescopes Work Together

https://hackaday.com/2026/02/03/optical-combs-help-radio-telescopes-work-together/
2•toomuchtodo•1h ago•1 comments

Show HN: Myanon – fast, deterministic MySQL dump anonymizer

https://github.com/ppomes/myanon
1•pierrepomes•1h ago•0 comments

The Tao of Programming

http://www.canonical.org/~kragen/tao-of-programming.html
2•alexjplant•1h ago•0 comments

Forcing Rust: How Big Tech Lobbied the Government into a Language Mandate

https://medium.com/@ognian.milanov/forcing-rust-how-big-tech-lobbied-the-government-into-a-langua...
4•akagusu•1h ago•1 comments

PanelBench: We evaluated Cursor's Visual Editor on 89 test cases. 43 fail

https://www.tryinspector.com/blog/code-first-design-tools
2•quentinrl•1h ago•2 comments

Can You Draw Every Flag in PowerPoint? (Part 2) [video]

https://www.youtube.com/watch?v=BztF7MODsKI
1•fgclue•1h ago•0 comments

Show HN: MCP-baepsae – MCP server for iOS Simulator automation

https://github.com/oozoofrog/mcp-baepsae
1•oozoofrog•1h ago•0 comments

Make Trust Irrelevant: A Gamer's Take on Agentic AI Safety

https://github.com/Deso-PK/make-trust-irrelevant
9•DesoPK•1h ago•4 comments
Open in hackernews

Just say no to broken JSON

https://lemire.me/blog/2025/07/04/just-say-no-to-broken-json/
8•ingve•7mo ago

Comments

chrisjj•7mo ago
> {"key": "value\nda"}

> My convention is that \n is the one-byte ASCII control character linefeed. This JSON is not valid.

How is this not valid?

rurban•7mo ago
Daniel seems to be pretty confused on this one. All examples produce the correct error response.
orangecat•7mo ago
That confused me too, apparently it needs to be "\\n".
chrisjj•7mo ago
/He/ may need it to be //n, but JSON does not. It is valid. https://jsonlint.com/ confirms.
Doxin•7mo ago
Part of the confusion here is that writing '{"key": "value\nda"}' in python is NOT producing a string like this:

    {"key": "value\nda"}
but instead like this:

    {"key": "value
    da"}
you need to either double-escape it, or use raw strings. In python these both:

    '{"key": "value\\nda"}'
    r'{"key": "value\nda"}'
will produce the following string:

    {"key": "value\nda"}
chrisjj•7mo ago
Correction: \\n
kiitos•7mo ago
In addition to the prior comments re: how the example JSON parse failures are actually correct...

    Let me consider a broken JSON document: `{"key": "value\nda"}`
So using xxd on that input we get

    00000000: 7b22 6b65 7922 3a20 2276 616c 7565 5c6e  {"key": "value\n
    00000010: 6461 227d                                da"}
or as a contiguous hex string 7b226b6579223a2276616c75655c6e6461227d which is definitely valid JSON.

> My convention is that \n is the one-byte ASCII control character linefeed, unless otherwise stated.

That would be the following bytes

    00000000: 7b22 6b65 7922 3a20 2276 616c 7565 0a64  {"key": "value.d
    00000010: 6122 7d                                  a"}
which is for sure invalid JSON, but is also for sure different than the original document.

Transforming the characters `\n` (5c6e) into the character LF (0a) is a function of whatever primitive/type is used to represent the original string literal, and how it gets interpreted by the language in which it is defined.

For example in Go that same `{"key": "value\nda"}` would transform the \n to LF if it's wrapped in double-quotes (and the interior double-quotes appropriately escaped) which would result in a sequence of bytes that are not valid JSON. But it would leave the \n alone if it's wrapped in single backticks, which would result in a sequence of bytes that would be totally valid JSON.

> To avoid technical debt, systems should simply reject invalid JSON.

It seems like every system mentioned in the post... does simply reject invalid JSON. In fact I'm not aware of anything that would accept that invalid JSON... ?

> The problem is not with Python, JavaScript and friends. The problem is with people generating JSON documents where the strings are not escaped. I am telling them to stop doing it.

By this does the author mean "generating JSON documents where the strings are" invalid JSON -- i.e. contain 0x0a? Presumably not, as nobody would get very far if they're producing invalid JSON. So it's probably not this.

Or do they mean where strings are valid JSON that encode \n as 0x5c 0x6e? But this is fine, right? So probably not this either?

Or does the author mean that they expect every \n to be transformed to \\n automatically and universally, i.e. 0x5c 0x5c 0x6e? But that wouldn't make any sense!

Very confusing post.