frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Hacking your PC using your speaker without ever touching it

https://blog.nns.ee/2026/06/03/katana-badusb/
143•xx_ns•1h ago•32 comments

Every Byte Matters

https://fzakaria.com/2026/06/01/every-byte-matters
62•ingve•1h ago•16 comments

Bun Has Been Converted to Rust. Now What?

https://bytecode.news/posts/2026/06/bun-has-been-converted-to-rust-now-what
18•jottinger•22m ago•7 comments

Show HN: Edsger – A handwritten Clojure REPL for the reMarkable 2

https://handwritten.danieljanus.pl/2026-06-01-edsger.html
103•nathell•17h ago•19 comments

PlayStation Architecture

https://www.copetti.org/writings/consoles/playstation/
43•gregsadetsky•2h ago•6 comments

Nabokov's pale fire: the lost 'father of all hypertext demos'? (2011)

https://dl.acm.org/doi/pdf/10.1145/1995966.1996008
29•aragonite•2d ago•2 comments

Piramidal (YC W24) – Software Engineers – NYC Onsite

1•dsacellarius•43m ago

1-Click GitHub Token Stealing via a VSCode Bug

https://blog.ammaraskar.com/github-token-stealing/
500•ammar2•21h ago•70 comments

Show HN: I reverse-engineered the world maps of Test Drive III (1990 DOS game)

https://github.com/s-macke/Test-Drive-3-Maps
141•s-macke•3d ago•33 comments

Use your Nvidia GPU's VRAM as swap space on Linux

https://github.com/c0dejedi/nbd-vram
356•tanelpoder•13h ago•94 comments

MAI-Code-1-Flash

https://microsoft.ai/news/introducingmai-code-1-flash/
492•EvanZhouDev•17h ago•221 comments

The Unreasonable Redundancy of Nature's Protein Folds

https://research.ligo.bio/posts/unreasonable-redundancy-of-natural-protein-folds/
117•ray__•8h ago•33 comments

Leiden Declaration on Artificial Intelligence and Mathematics

https://leidendeclaration.ai/
30•zvr•6h ago•9 comments

AI outperforms law professors in Stanford Law study

https://law.stanford.edu/press/ai-outperforms-law-professors-in-stanford-law-study/
299•berlianta•13h ago•248 comments

What I've learned about the trombone

http://bryanhu.com/blog/posts/what-ive-learned-about-the-trombone/
8•bookofjoe•1h ago•1 comments

DIY Bipedal Robot Used Pneumatic "Air-Muscles" Instead of Motors

https://spectrum.ieee.org/shadow-walker-biped-humanoid-robot
34•sohkamyung•2d ago•10 comments

U of T researchers demonstrate AI worm could target any online device

https://www.utoronto.ca/news/u-t-researchers-demonstrate-ai-worm-could-target-any-online-device
69•shscs911•8h ago•17 comments

Pluto.jl 1.0 release – reactive notebook for Julia

https://discourse.julialang.org/t/pluto-1-0-release/137296
160•fons-p•13h ago•19 comments

My thoughts after using Clojure for about a month

https://www.acdw.net/clojure/
243•speckx•16h ago•118 comments

CT scans of BYD car parts

https://www.lumafield.com/scan-of-the-month/byd
421•viasfo•16h ago•271 comments

Capstone – multi-platform, multi-architecture disassembly framework

https://www.capstone-engine.org/
70•gregsadetsky•10h ago•2 comments

Roku LT Operating System open source distribution

https://blog.roku.com/developer/roku-lt-os
88•dpmdpm•11h ago•27 comments

Writing Portable ARM64 Assembly (2023)

https://ariadne.space/2023/04/12/writing-portable-arm-assembly.html
36•luu•2d ago•15 comments

Words of Type

https://wiki.wordsoftype.com/
87•tobr•2d ago•12 comments

HP re-releases classic computer science calculator: The HP-16C

https://hpcalcs.com/product/hp-16c-collectors-edition/
186•dm319•17h ago•115 comments

Gmail thinks I'm stupid, so I left

https://moddedbear.com/gmail-thinks-im-stupid-so-i-left
1039•speckx•17h ago•683 comments

How we index images for RAG

https://www.kapa.ai/blog/how-we-index-images-for-rag
163•mooreds•20h ago•23 comments

Open Repair Data Standard

https://openrepair.org/open-data/open-standard/
139•cassepipe•17h ago•11 comments

Preparing for KDE Plasma's Last X11-Supported Release

https://blog.davidedmundson.co.uk/blog/596/
207•jandeboevrie•22h ago•281 comments

OpenFOV – Webcam head tracking for iRacing

https://www.openfov.com/
135•mwit2023•3d ago•61 comments
Open in hackernews

Every Byte Matters

https://fzakaria.com/2026/06/01/every-byte-matters
60•ingve•1h ago

Comments

coldcity_again•1h ago
I love to see stuff like this. And an active Vectrex gamedev and PC/Amiga sizecoder I strongly agree with the sentiment!
forinti•1h ago
So if you need speed, you just have to swallow your OO programmer's pride and put your data in arrays.
theandrewbailey•1h ago
Maybe someone can write an OO language where arrays of structs are automatically stored as structs of arrays.

mild /s

Mizza•53m ago
Are you talking about Zig's MultiArrayList?
alex7o•18m ago
He is talking about jai the programing language from Jonathan Blow, which is quite cool but there is no way to access it.
fp64•16m ago
Odin has some helpers, was one of the more interesting features I found, but never tried. Not sure if you want to consider Odin OO, but well https://odin-lang.org/docs/overview/#soa-struct-arrays
tlb•7m ago
There's a package to do this in Julia: https://juliaarrays.github.io/StructArrays.jl/stable/
noelwelsh•57m ago
The JVM is currently pretty bad for memory allocation. Every object (i.e. not a primitive) has a header that IIRC is 12 bytes. But there is good news in JVM land: this will be reduced to 8 bytes in the next JVM release, and Project Valhalla will give the tools to do away with headers entirely in some cases. Project Valhalla also has tools to manage off-heap memory, which is important in many cases.

The JVM is an odd place where it requires too much heap to compete with the AOT compiled languages, but its startup time is too slow compared to interpreted languages. I think these enhancements are essential to keep the platform relevant.

kakacik•40m ago
Most of real world use of Java platform has next to 0 concerns like those. Some more niche use case may benefit, good, but overall success map isn't changing anytime soon. Reasons for its long term success lie elsewhere.
FartyMcFarter•11m ago
Android Java apps' memory consumption is definitely a relevant concern.
pron•29m ago
> Every object (i.e. not a primitive) has a header that IIRC is 12 bytes. But there is good news in JVM land: this will be reduced to 8 bytes in the next JVM release

Since JDK 25 it's already 64 bits with the `-XX:+UseCompactObjectHeaders` flag [1], but in JDK 27 it will be the default [2].

> where it requires too much heap to compete with the AOT compiled languages

Not to compete but to beat, and not too much, but the right amount. Low level languages are optimised for control, not performance (that control translates to better performance in smaller programs, and to worse performance in larger programs), and their particular constraints prevent them from enjoying certain important optimisations, especially those offered by JIT compilation and moving collectors, which remove some overheads that AOT compilers and free-list allocators incur. Their memory management is forced (by their constraints) to optimise for footprint rather than speed.

There are common misunderstandings about memory management and why moving collectors were created to reduce the CPU overheads of malloc/free, especially in large programs, in exchange for what is effectively free RAM. This is why moving collectors are chosen by the languages that are unconstrained enough to use them and have the resources to implement them (Java, .NET, V8). With the exception of Zig (and even there it requires some effort), it's hard for low level languages to use the basic optimisation that's behind moving collectors. I gave a talk about how moving collectors optimise memory management at the last Java One, and it should be available on YouTube soonish [3].

> but its startup time is too slow compared to interpreted languages

That hasn't been the case for some time. You are right, though, that startup/warmup time is worse than in AOT compiled languages, and that is the tradeoff of optimising JITs: reduce the overheads associated with AOT compilation in large program in exchange for warmup.

Both startup and warmup have already been improved thanks to Project Leyden's "AOT cache" [4], but it will never be as low as C.

In general, the tradeoff is between optimisations that help large programs vs optimisations that help small programs.

[1]: https://openjdk.org/jeps/519

[2]: https://openjdk.org/jeps/534

[3]: I can't reproduce the full talk (which goes into the maths of memory management) here but what happened with moving collectors was that until very recently (open source low-latency moving collectors are newer than ChatGPT), they required pauses and so weren't suitable for programs requiring low latencies. As a result, many developers either forgot or never learnt just how incredibly efficient moving collectors are. But the key is that because accessing RAM by necessity requires CPU, using CPU effectively captures RAM even it's not used by the program. Bringing the CPU and RAM usage into a good balance is more efficient than trying to minimise one or the other. This is also the reason why hardware (physical or virtual) is packaged within a very narrow band of RAM/core ratio.

[4]: https://www.youtube.com/watch

ssiddharth•55m ago
Slight tangent, but every ms, μs, and ns counts too. We've gotten awfully carefree with response times and wasted compute cycles.
yas_hmaheshwari•48m ago
Out of course: I had thought about reading an article about Iran war or some geo political news when I read fzakaria :-)
pron•47m ago
> The cost of each new field is rarely considered

Most developers, in Java and in most other languages, do not consider the cost of every field, but I can tell you that people who need micro-optimisations certainly do care, and in Java's standard library, a layout is very much a concern (except, as always, you want to optimise what really matters; there's no point in optimising something that is unlikely to be a hot spot in a real program). Sometimes, though, you want to intentionally spread out the layout to avoid cache line sharing when concurrency is involved. You will find such examples in the standard library, too.

coolThingsFirst•24m ago
Why doesn’t the machine fill up the other cache lines as well why is 64 bytes only and then a miss?
RickJWagner•23m ago
That’s a great read. I wish more people wrote like that.