frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Vicinae – a native, Raycast-compatible launcher for Linux

https://github.com/vicinaehq/vicinae
2•aurellius•2m ago•0 comments

I still love PHP and JavaScript

https://the.scapegoat.dev/why-i-love-php-and-javascript/
1•jonfelsar•2m ago•0 comments

As hackers exploit one high-severity SAP flaw, company warns of 3 more

https://arstechnica.com/security/2025/09/as-hackers-exploit-one-high-severity-sap-flaw-company-wa...
1•mikece•2m ago•0 comments

BBC: UFO hit by hellfire, no impact on vehicle & flying away

https://www.bbc.com/news/live/c1wgqdnxvr5t
2•ta12653421•5m ago•1 comments

The Gaza family torn apart by IDF snipers from Chicago and Munich

https://www.theguardian.com/world/2025/sep/09/the-gaza-family-torn-apart-by-idf-snipers-from-chic...
1•abdusco•5m ago•0 comments

Show HN: Real time visual saliency detection

https://github.com/big-nacho/dosage
1•big-nacho•6m ago•0 comments

Day: Ten of the greatest Roland TR-909 moments in musical history

https://www.musicradar.com/news/the-greatest-roland-tr-909-moments-ever
1•b13n1u•6m ago•0 comments

Jake Paul's one of the investors of Cognition (Devin)

https://twitter.com/jakepaul/status/1965265496414277661
1•amrrs•9m ago•0 comments

FileMock – Free browser-based mock file generator for testing

https://filemock.com
1•humast•9m ago•1 comments

A quiet movement is forming: building for human agency – not just agents' sake

https://agentictech.substack.com/p/a-quiet-movement-is-forming-entrepreneurs
1•duck•10m ago•0 comments

Tier 1 Reachability: Precision CVE Triage for Enterprise Teams

https://socket.dev/blog/introducing-tier-1-reachability
1•feross•10m ago•0 comments

FCC Clears SpaceX to Boost Power on Starlink Dishes

https://www.pcmag.com/news/fcc-clears-spacex-to-boost-power-on-starlink-dishes
3•_JamesA_•12m ago•0 comments

California limits on 'addictive' social media feeds for children largely upheld

https://www.reuters.com/sustainability/boards-policy-regulation/california-limits-addictive-socia...
1•giuliomagnifico•13m ago•0 comments

.NET 10 Release Candidate 1

https://devblogs.microsoft.com/dotnet/dotnet-10-rc-1/
2•vyrotek•13m ago•0 comments

Deno Fresh 2.0.0

https://github.com/denoland/fresh/releases/tag/2.0.0
3•enz•16m ago•0 comments

Apple barely talked about AI at its big iPhone 17 event

https://www.theverge.com/apple-event/774963/apple-september-launch-event-ai-apple-intelligence
7•andrew_lastmile•18m ago•1 comments

Bettor Up - The Tragedy That Has Befallen Baseball

https://www.nytimes.com/2025/09/06/opinion/gambling-baseball-ohtani-pete-rose-fanduel.html
1•ChrisArchitect•19m ago•1 comments

Reduce Noise

https://eternova.base44.app/
1•Santdex•19m ago•0 comments

Australia announces a plan for new Great Koala National Park

https://www.bbc.co.uk/newsround/articles/cm2ze1lnn9vo
1•matthew16550•20m ago•0 comments

UVA study of identical twins links faster aging to memory decline

https://news.virginia.edu/content/uva-study-identical-twins-links-faster-aging-memory-decline
1•hackernj•21m ago•0 comments

Classic Mac OS System 1 Patterns

https://paulsmith.github.io/classic-mac-patterns/
13•navigate8310•22m ago•2 comments

AI Darwin Awards 2025

https://aidarwinawards.org/index.html
9•incomplete•23m ago•0 comments

Far from Harmless? High Levels of THC Associated with Psychiatric Disorders

https://www.medscape.com/viewarticle/far-harmless-high-levels-thc-associated-psychiatric-2025a100...
1•wiry•23m ago•0 comments

Is the Golden Age of Fair Use Over? (2024)

https://blog.mojeek.com/2024/05/is-the-golden-age-of-fair-use-over.html
2•devonnull•23m ago•0 comments

Inflation Erased U.S. Income Gains Last Year

https://www.wsj.com/economy/consumers/census-income-insurance-poverty-2024-31d82ad0
5•JumpCrisscross•28m ago•0 comments

Fueled by Anger over Corruption, Nepal Protesters Topple Prime Minister

https://www.wsj.com/world/asia/nepal-prime-minister-resigns-as-protests-intensify-ffa11714
4•JumpCrisscross•29m ago•0 comments

Show HN: I built research agents because GPT cant accurately hilite txt in files

https://app.ubik.studio/chat
2•ieuanking•30m ago•1 comments

Make 5x faster outbound requests in Laravel (2024)

https://aaronfrancis.com/2024/make-5x-faster-outbound-requests-in-laravel-192e8e98
1•mooreds•34m ago•0 comments

Optimizing Qwen Image for Edge Devices

https://engineering.drawthings.ai/p/optimizing-qwen-image-for-edge-devices
3•liuliu•35m ago•0 comments

Study: GPT-4V can evaluate social situations similar to humans

https://www.utu.fi/en/news/press-release/ai-can-evaluate-social-situations-similar-to-humans
2•giuliomagnifico•35m ago•0 comments
Open in hackernews

A new experimental Go API for JSON

https://go.dev/blog/jsonv2-exp
119•darccio•5h ago

Comments

analytically•3h ago
Benchmark Analysis: Sonic vs Standard JSON vs JSON v2 in Go

https://github.com/centralci/go-benchmarks/tree/b647c45272c7...

tgv•2h ago
IIRC, sonic does JIT, has inline assembly (github says 41%), and it's huge. There's no way you can audit it. If you don't need to squeeze every cpu cycle out of your json parser (and most of us don't; go wouldn't be the first choice for such performance anyway), I'd stick with a simpler implementation.
gethly•2h ago
Those numbers look similar to goccy. I used to use it in the past, even Kubernetes uses it as direct dependency, but the amount of issues have been stockpiling for quite some time so I no longer trust it.

So it seems both are operating at the edge of Go's capabilities.

Personally, I think JSON should be in Go's core and highly optimised simd c code and not in the Go's std library as standard Go code. As JSON is such an important part of the web nowadays, it deserves to be treated with more care.

tptacek•1h ago
What does "highly optimized" have to do with whether it's in the standard library? Highly-optimized cryptography is in the standard library.
ronsor•1h ago
Not to mention that Go is never going to put C code in the standard library for anything portable. It's all Go or assembly now.
dilyevsky•1h ago
Previously Go team has been vocal about sacrificing performance to keep stdlib idiomatic and readable. Guess the crypto packages are the exception because they are used heavily by Google internally and json and some others (like say image/jpeg which had crap performance last time i checked) are not.

Edit: See: https://go.dev/wiki/AssemblyPolicy

nasretdinov•1h ago
Go doesn't yet have native SIMD support, but it actually might in the future: https://github.com/golang/go/issues/73787

I think when it's introduced it might be worth discussing that again. Otherwise providing assembly for JSON of all packages seems like a huge maintenance burden for very little benefit for end users (since faster alternatives are readily available)

CamouflagedKiwi•48m ago
Agreed. goccy has better performance most times but absolutely appalling worst-case performance which renders it unacceptable for many use cases - in my case even with trusted input it took effectively eternity to decode it. It's literally a quadratic worst case, what's the point of having a bunch of super clever optimisations if the big-O performance is that bad.

Sonic may be different but I'm feeling once bitten twice shy on "faster" JSON parsers at this point. A highly optimised SIMD version might be nice but the stdlib json package needs to work for everything out there, not just the cases the author decided to test on, and I'd be a lot more nervous about something like that being sufficiently well tested given the extra complexity.

rjrodger•1h ago
null != nil !!!

It is good to see some partial solutions to this issue. It plagues most languages and introduces a nice little ambiguity that is just trouble waiting to happen.

Ironically, JavaScript with its hilarious `null` and `undefined` does not have this problem.

Most JSON parsers and emitters in most languages should use a special value for "JSON null".

pjmlp•1h ago
Fixed in 1976 by ML, followed up by Eiffel in 2005, but unfortunately yet to be made common.
afiori•1h ago
Null and undefined are fine imho with a sort of empty/missing semantics (especially since you mostly just care to == them) I have bigger issues to how similar yet different it is to have an undefined key and a not-defined key, I would almost prefer if

    obj['key']=undefined

 was the same as 

    delete obj['key']
coldtea•1h ago
>Over time, packages evolve with the needs of their users, and encoding/json is no exception

No, it's an exception. It was badly designed from the start - it's not just that people's json needs (which hardly changed) outgrew it.

bayindirh•1h ago
A bad design doesn't invalidate the sentence you have quoted.

Over time, it became evident that the JSON package didn't meet the needs of its users, and the package has evolved as a result. The size of the evolution doesn't matter.

pcthrowaway•1h ago
It's true that packages (generally) evolve with the needs of their users.

It's also true that a json IO built-in lib typically wouldn't be so poorly designed in the first release of a language, that it would immediately be in need of maintenance.

bayindirh•1h ago
> immediately

JSON library released with Go 1, in 2012. This makes the library 13 years old [0].

If that's immediate, I'm fine with that kind of immediate.

[0]: https://pkg.go.dev/encoding/json@go1

pcthrowaway•1h ago
In need of maintenance and having received maintenance are two different things
coldtea•56m ago
"immediately be in need of maintenance" means it needed this update 13 years ago.
coldtea•57m ago
"Becoming evident it doesn't meet the needs of its users" is not the same as "packages evolve with the needs of their users".

The latter is a weasely way to put the blame on changing needs - as if initially it was fine, but user needs grew and it's not covering them anymore. Truth is, user needs are the same, we havent had any magical change in JSON use patterns over the last 10 years. The design was just flawed to begin with.

I'd argue it didn't "become evident over time" either. It was evident on day one, and many people pointed it out 10 and 13 years ago.

geodel•19m ago
Well mostly I have seem people learn shortcomings of software by using or creating it and come up with new version when possible. In your case it seems v1 are perfect each time.
sroerick•1h ago
Could somebody give a high level overview of this for me, as not a godev? It looks like Go JSON lib has support to encode native go structures in JSON, which is cool, but maybe it was bad, which is not as cool. Do I have that right?
eknkc•35m ago
Go already has a JSON parser and serializer. It kind of resembles the JS api where you push some objects into JSON.stringify and it serializes them. Or you push some string and get an object (or string etc) from JSON.parse.

The types themselves have a way to customize their own JSON conversion code. You could have a struct serialize itself to a string, an array, do weird gymnastics, whatever. The JSON module calls these custom implementations when available.

The current way of doing it is shit though. If you want to customize serialization, you need to return a json string basically. Then the serializer has to check if you actually managed to return something sane. You also have no idea if there were some JSON options. Maybe there is an indentation setting or whatever. No, you return a byte array.

Deserialization is also shit because a) again, no options. b) the parser has to send you a byte array to parse. Hey, I have this JSON string, parse it. If that JSON string is 100MB long, too bad, it has to be read completely and allocated again for you to work on because you can only accept a byte array to parse.

New API fixes these. They provide a Decoder or Encoder to you. These carry any options from top. And they also can stream data. So you can serialize your 10GB array value by value while the underlying writer writes it into disk for example. Instead of allocating all on memory first, as the older API forces you to.

There are other improvements too but the post mainly focuses on these so thats what I got from it (I havent tried the new api btw, this is all from the post so maybe I’m wrong on some points)

tibbe•24m ago
> Since encoding/json marshals a nil slice or map as a JSON null

How did that make it into the v1 design?

rowanseymour•11m ago
I had a back and forth with someone who really didn't want to change that behavior and their reasoning was that since you can create and provide an empty map or slice.. having the marshaler do that for you, and then also needing a way to disable that behavior, was unnecessary complexity.