frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

We built another object storage

https://fractalbits.com/blog/why-we-built-another-object-storage/
60•fractalbits•2h ago•11 comments

Java FFM zero-copy transport using io_uring

https://www.mvp.express/
26•mands•5d ago•6 comments

How exchanges turn order books into distributed logs

https://quant.engineering/exchange-order-book-distributed-logs.html
50•rundef•5d ago•17 comments

macOS 26.2 enables fast AI clusters with RDMA over Thunderbolt

https://developer.apple.com/documentation/macos-release-notes/macos-26_2-release-notes#RDMA-over-...
467•guiand•18h ago•237 comments

AI is bringing old nuclear plants out of retirement

https://www.wbur.org/hereandnow/2025/12/09/nuclear-power-ai
35•geox•2h ago•26 comments

Sick of smart TVs? Here are your best options

https://arstechnica.com/gadgets/2025/12/the-ars-technica-guide-to-dumb-tvs/
435•fleahunter•1d ago•363 comments

Photographer built a medium-format rangefinder, and so can you

https://petapixel.com/2025/12/06/this-photographer-built-an-awesome-medium-format-rangefinder-and...
78•shinryuu•6d ago•10 comments

Apple has locked my Apple ID, and I have no recourse. A plea for help

https://hey.paris/posts/appleid/
873•parisidau•10h ago•450 comments

GNU Unifont

https://unifoundry.com/unifont/index.html
288•remywang•18h ago•68 comments

A 'toaster with a lens': The story behind the first handheld digital camera

https://www.bbc.com/future/article/20251205-how-the-handheld-digital-camera-was-born
42•selvan•5d ago•18 comments

Beautiful Abelian Sandpiles

https://eavan.blog/posts/beautiful-sandpiles.html
84•eavan0•3d ago•16 comments

Rats Play DOOM

https://ratsplaydoom.com/
335•ano-ther•18h ago•123 comments

Show HN: Tiny VM sandbox in C with apps in Rust, C and Zig

https://github.com/ringtailsoftware/uvm32
167•trj•17h ago•11 comments

OpenAI are quietly adopting skills, now available in ChatGPT and Codex CLI

https://simonwillison.net/2025/Dec/12/openai-skills/
481•simonw•15h ago•272 comments

Computer Animator and Amiga fanatic Dick Van Dyke turns 100

110•ggm•6h ago•23 comments

Will West Coast Jazz Get Some Respect?

https://www.honest-broker.com/p/will-west-coast-jazz-finally-get
10•paulpauper•6d ago•2 comments

Formula One Handovers and Handovers From Surgery to Intensive Care (2008) [pdf]

https://gwern.net/doc/technology/2008-sower.pdf
82•bookofjoe•6d ago•33 comments

Show HN: I made a spreadsheet where formulas also update backwards

https://victorpoughon.github.io/bidicalc/
179•fouronnes3•1d ago•85 comments

Freeing a Xiaomi humidifier from the cloud

https://0l.de/blog/2025/11/xiaomi-humidifier/
126•stv0g•1d ago•51 comments

Obscuring P2P Nodes with Dandelion

https://www.johndcook.com/blog/2025/12/08/dandelion/
57•ColinWright•4d ago•1 comments

Go is portable, until it isn't

https://simpleobservability.com/blog/go-portable-until-isnt
120•khazit•6d ago•101 comments

Ensuring a National Policy Framework for Artificial Intelligence

https://www.whitehouse.gov/presidential-actions/2025/12/eliminating-state-law-obstruction-of-nati...
169•andsoitis•1d ago•217 comments

Poor Johnny still won't encrypt

https://bfswa.substack.com/p/poor-johnny-still-wont-encrypt
52•zdw•10h ago•66 comments

YouTube's CEO limits his kids' social media use – other tech bosses do the same

https://www.cnbc.com/2025/12/13/youtubes-ceo-is-latest-tech-boss-limiting-his-kids-social-media-u...
86•pseudolus•3h ago•67 comments

Slax: Live Pocket Linux

https://www.slax.org/
41•Ulf950•5d ago•5 comments

50 years of proof assistants

https://lawrencecpaulson.github.io//2025/12/05/History_of_Proof_Assistants.html
107•baruchel•15h ago•17 comments

Gild Just One Lily

https://www.smashingmagazine.com/2025/04/gild-just-one-lily/
29•serialx•5d ago•5 comments

Capsudo: Rethinking sudo with object capabilities

https://ariadne.space/2025/12/12/rethinking-sudo-with-object-capabilities.html
75•fanf2•17h ago•44 comments

Google removes Sci-Hub domains from U.S. search results due to dated court order

https://torrentfreak.com/google-removes-sci-hub-domains-from-u-s-search-results-due-to-dated-cour...
193•t-3•11h ago•35 comments

String theory inspires a brilliant, baffling new math proof

https://www.quantamagazine.org/string-theory-inspires-a-brilliant-baffling-new-math-proof-20251212/
167•ArmageddonIt•22h ago•154 comments
Open in hackernews

Running Clojure in WASM with GraalVM

https://romanliutikov.com/blog/running-clojure-in-wasm
203•roman01la•7mo ago

Comments

rgyams•7mo ago
Nice, I will revisit closure to try this out
millerm•7mo ago
Clojure. ;)
90s_dev•7mo ago
You have no idea how many times I typed clojure when I meant to type closure throughout my career. Bizarrely backwards.
tomjakubowski•7mo ago
For quite some time (maybe even still today?), ClojureScript was compiled to JS using the Google Closure Compiler. I felt sympathy for anyone who had to discuss that out loud.
sjrd•7mo ago
The trick is to call the latter GCC. Much less confusing. ;-)
tonyarkles•7mo ago
And now I've got coffee in my sinus. Thanks for that :D
shawn_w•7mo ago
Imagine the pain of talking about Clozure Common Lisp.
kazinator•7mo ago
Lucky we can do "CCL".
superhoops540•7mo ago
Would have been good to create a pamphlet to inform on the differences. A Clojure/Closure Brochure, if you will
timgilbert•7mo ago
For sure.
_mlbt•7mo ago
> The output WASM of this simple program is 5.6MB binary, which can be pruned a bit via wasm-opt tool, just make sure that it doesn't break anything for you. Luckily when compressed (gzip, brotli, etc) the binary becomes just ~2.5MB in size.

That’s much better than I expected! Very impressive work here. It actually looks viable for certain applications.

sjrd•7mo ago
It's acceptable. Meanwhile 5.6MB of Wasm is about the size of the entire test suite of Scala.js. :-p

GraalVM is excellent technology, but when it comes to targeting Wasm, I believe the core language compilers will always have an edge.

tiffanyh•7mo ago
> Starting from v25 GraalVM added support for WASM

GraalVM is so amazing technically, but gets so little love by HN.

sureglymop•7mo ago
When I tried it it was great but also not easy to use. Things become hard quickly, e.g. If your jvm code uses something like reflection.
90s_dev•7mo ago
I vaguely remember using it about 10 years ago for work, can't remember what for, or anything about that situation, but the one takeaway that I do remember is that it was neat and innovative, but ultimately not good enough to overthrow whatever we were using instead.
piranha•7mo ago
First release happened in 2019
90s_dev•7mo ago
My memory is not great, as implied by that very comment.
pjmlp•7mo ago
GraalVM has evolved from another Sun Research Labs project, MaximeVM, but that was never released as a product.
perrygeo•7mo ago
Clojure code ends up using a lot of reflection if you're doing generic Java interop. Most code destined for the GraalVM will add `(set! warn-on-reflection true)` and get repl warnings and you can set type hints accordingly.
hocuspocus•7mo ago
Native images are just one feature though. Many people would benefit from the Graal JIT even if they don't care about anything else.
Capricorn2481•7mo ago
My understanding is GraalVM's JIT keeps some optimizations for the enterprise edition, and is otherwise comparable to Hotspot, with some niche exceptions. I'm not sure "many" would benefit without paying.
hocuspocus•7mo ago
It's been entirely free since mid-2023. Even if you care rather about native images, you probably want to use the proprietary distribution anyway.
hardwaresofton•7mo ago
Does it have to do with the somewhat complicated licensing?
amelius•7mo ago
And Oracle's army of lawyers.
hocuspocus•7mo ago
Current licenses for Oracle JDK and GraalVM are essentially the same terms. It's pretty straightforward.

https://www.oracle.com/downloads/licenses/graal-free-license...

hardwaresofton•7mo ago
So for shops that are already open to using the JDK they're obviously already used to the legalese/implications for companies built on this software.

Everyone else in the world probably does not see this as "straight forward".

So Step 0, be a lawyer.

hocuspocus•7mo ago
Oracle has specifically reworked its license to make terms clear after the bad press around the initial release of Oracle JDK 17:

https://blogs.oracle.com/java/post/free-java-license

Any company using Java should be willing to read and understand Oracle's terms, whether they use third party OpenJDK distributions or Oracle's builds.

If you're leaving significant performance gains on the table because you can't read, that's on you.

pjmlp•7mo ago
Just like most FOSS licenses, that in big corps always got through legal.

In the projects where that isn't required, usually we have licence validation tooling on the CI/CD pipeline, that breaks the build if the legal wishes aren't fulfilled.

kokada•7mo ago
Not really, but one thing that bothers me is how unreproducible GraalVM is. AFAIK every distro that has binaries for it just repacks the binaries released from Oracle, and the last time I searched I couldn't find instructions on how to build from scratch (I was the maintainer of GraalVM in nixpkgs, not anymore because I just got fed-up with it).
an-unknown•7mo ago
Not sure why people always say it's so hard to build GraalVM ... all you need is roughly 2 prerequisites and one build command. The prerequisites are a "Labs JDK" which is essentially a slightly modified OpenJDK with more up to date JVMCI (the JIT interface used by Graal) and the build tool "mx".

Since you want to build completely from source, you start by installing OpenJDK. Then you clone the Labs JDK repo [0] and build it just like how you would build any other OpenJDK. Once you have the Labs JDK, you don't need the OpenJDK anymore, since that's only necessary to build the Labs JDK. If you use a normal OpenJDK instead of Labs JDK for Graal, the Graal build will most likely tell you something about "too old JVMCI" and fail. Don't do that.

Next you clone mx [1] and graal [2] into some folder and add the mx folder to PATH. You also need Python and Ninja installed, and maybe something else which I can't remember anymore (but you'd quickly figure it out if the build fails). Once you have that, you go to graal/vm and run the relevant "mx build" command. You specify the path to the Labs JDK via the "--java-home" CLI option and you have to decide which components to include by adding them to the build command line. I can't remember what exactly happens with just "mx build" but chances are this only gives you a bare GraalVM without anything else, which means also no SubstrateVM ("native-image"). By adding projects on the command line, you can include whatever languages/features are available. And that's it. After some time (depending on how beefy your computer is), you get the final GraalVM distribution in some folder, with a nice symlink to find it.

It's not exactly documented in a good way, but you can figure it out from the CI scripts which are in the git repos of Graal and Labs JDK. The "mx build" command is where you decide which languages and features to include; if you want to include languages from external repositories, you have to clone them next to the graal and mx folder and add the relevant projects to the mx build command.

[0] https://github.com/graalvm/labs-openjdk

[1] https://github.com/graalvm/mx

[2] https://github.com/oracle/graal

kokada•7mo ago
I think the fact that you had to write a 4 paragraph about the process say more about it than anything.
pjmlp•7mo ago
That is how people lose out on great technology, while worshiping the ways of 1980's server room computing.
gavinray•7mo ago
Just to clarify -- GraalVM had support for RUNNING WASM for quite a long time.

This post references the ability to compile programs via native images to WASM as an output format.

nzoschke•7mo ago
GraalVM is neat.

I used it to make a program that logs all activity happening on the Pioneer CDJs. The best reverse engineering of the Pioneer protocols is a Java project, but I wanted to write the rest of my application in Go.

GraalVM plus a GitHub action spits out native binaries that I can exec and interact with over stdio from Go.

If/when the WASM backend supports UDP networking and threads I'd love to run it as WASM instead of a binary.

- https://github.com/nzoschke/vizlink

- https://github.com/nzoschke/vizlink/blob/main/.github/workfl...

croemer•7mo ago
The analysis of the benchmark is wrong. Native is faster than JVM for 2 out of 4 operations. The 2-3x vs 5-12x are hence not correct.
apignotti•7mo ago
Shameless plug: CheerpJ is our solution to run any JVM language in the browser, including Clojure. Reflections, Multithreading and Swing / AWT apps are all supported.

https://labs.leaningtech.com/blog/cheerpj-4.0

And yes, it can run Minecraft :-)

https://browsercraft.cheerpj.com/

pjmlp•7mo ago
The more the merrier.
alabhyajindal•7mo ago
Nitpick maybe: It should be Wasm not WASM.

https://youtu.be/nnDo0i6NbsI?si=XSqgSVoV6ISBWg2n&t=185

https://webassembly.org/

gitroom•7mo ago
yes sir, i kinda love seeing all the different ways folks mash stuff together to get dev setups working, so much trial and error that never gets seen - you ever feel like the real blocker is always some weird little detail nobody warns you about?