frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Nvidia Is Full of Shit

https://blog.sebin-nyshkim.net/posts/nvidia-is-full-of-shit/
303•todsacerdoti•3h ago•157 comments

OBBB signed: reinstates immediate expensing for U.S.-based R&D

https://www.kbkg.com/feature/house-passes-tax-bill-sending-to-president-for-signature
52•tareqak•1h ago•16 comments

Mini NASes marry NVMe to Intel's efficient chip

https://www.jeffgeerling.com/blog/2025/mini-nases-marry-nvme-intels-efficient-chip
290•ingve•10h ago•141 comments

Being too ambitious is a clever form of self-sabotage

https://maalvika.substack.com/p/being-too-ambitious-is-a-clever-form
99•alihm•4h ago•32 comments

The ITTAGE indirect branch predictor

https://blog.nelhage.com/post/ittage-branch-predictor/
12•Bogdanp•1h ago•4 comments

EverQuest

https://www.filfre.net/2025/07/everquest/
167•dmazin•9h ago•83 comments

Robots move Shanghai city block [video]

https://www.youtube.com/watch?v=7ZccC9BnT8k
55•surprisetalk•1d ago•17 comments

How to Incapacitate Google Tag Manager and Why You Should (2022)

https://backlit.neocities.org/incapacitate-google-tag-manager
122•fsflover•7h ago•79 comments

Version Control for AI Coding

https://branching.app
9•sheremetyev•3d ago•1 comments

The story behind Caesar salad

https://www.nationalgeographic.com/travel/article/story-behind-caesar-salad
67•Bluestein•5h ago•32 comments

The Amiga 3000 Unix and Sun Microsystems: Deal or No Deal?

https://www.datagubbe.se/amix/
26•wicket•4h ago•1 comments

Why I left my tech job to work on chronic pain

https://sailhealth.substack.com/p/why-i-left-my-tech-job-to-work-on
273•glasscannon•12h ago•172 comments

Show HN: AirBending – hand gesture based macOS app MIDI controller

https://www.nanassound.com/products/software/airbending
45•bepitulaz•5h ago•12 comments

Larry (cat)

https://en.wikipedia.org/wiki/Larry_(cat)
246•dcminter•15h ago•60 comments

Continue (YC S23) is hiring software engineers in San Francisco

https://www.ycombinator.com/companies/continue/jobs
1•sestinj•4h ago

Everything around LLMs is still magical and wishful thinking

https://dmitriid.com/everything-around-llms-is-still-magical-and-wishful-thinking
165•troupo•4h ago•171 comments

Show HN: I AI-coded a tower defense game and documented the whole process

https://github.com/maciej-trebacz/tower-of-time-game
199•M4v3R•12h ago•117 comments

Writing a Game Boy Emulator in OCaml

https://linoscope.github.io/writing-a-game-boy-emulator-in-ocaml/
212•ibobev•15h ago•38 comments

Kepler.gl

https://kepler.gl/
122•9woc•11h ago•17 comments

Who is Soham Parekh, the serial moonlighter Silicon Valley can't stop hiring?

https://techcrunch.com/2025/07/03/who-is-soham-parekh-the-serial-moonlighter-silicon-valley-startups-cant-stop-hiring/
36•nradov•2h ago•35 comments

Compression Dictionary Transport

https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Compression_dictionary_transport
72•todsacerdoti•10h ago•22 comments

Bcachefs may be headed out of the kernel

https://lwn.net/Articles/1027289/
96•ksec•11h ago•135 comments

ChatGPT creates phisher's paradise by serving the wrong URLs for major companies

https://www.theregister.com/2025/07/03/ai_phishing_websites/
131•josephcsible•6h ago•11 comments

Show HN: Flint – Write code your way while ensuring remote consistency

https://github.com/capsulescodes/flint
6•mho22•3d ago•1 comments

Gremllm

https://github.com/awwaiid/gremllm
83•andreabergia•8h ago•10 comments

Wind Knitting Factory

https://www.merelkarhof.nl/work/wind-knitting-factory
216•bschne•1d ago•58 comments

Zig breaking change – initial Writergate

https://github.com/ziglang/zig/pull/24329
205•Retro_Dev•21h ago•198 comments

OpenDrop – Electro-wetting technology to control small droplets of liquids

https://gaudishop.ch/index.php/product-category/opendrop/
23•_V_•3d ago•5 comments

Chasing Lost Languages

https://nautil.us/chasing-lost-languages-1221167/
9•dnetesn•3d ago•4 comments

Lens: Lenses, Folds and Traversals

https://hackage.haskell.org/package/lens
71•hyperbrainer•3d ago•27 comments
Open in hackernews

Compression Dictionary Transport

https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Compression_dictionary_transport
72•todsacerdoti•10h ago

Comments

o11c•8h ago
That `Link:` header broke my brain for a moment.
Y-bar•8h ago

    Available-Dictionary: :    =:
It seems very odd to use a colon as starting and ending delimiter when the header name is already using a colon. Wouldn’t a comma or semicolon work better?
judofyr•8h ago
It’s encoded using the spec that binary data in headers should be enclosed by colons: https://www.rfc-editor.org/rfc/rfc8941.html#name-byte-sequen...
Y-bar•8h ago
Oh, thanks, it looked like a string such as a hash or base64 encoded data, not binary. Don’t think I have ever seen a use case for binary data like this in a header before.
divbzero•5h ago
This seems like a lot of added complexity for limited gain. Are there cases where gzip and br at their highest compression levels aren’t good enough?
pmarreck•5h ago
Every piece of information or file that is compressed sends a dictionary along with it. In the case of, say, many HTML or CSS files, this dictionary data is likely nearly completely redundant.

There's almost no added complexity since zstd already handles separate compression dictionaries quite well.

pornel•5h ago
The standard compressed formats don't literally contain a dictionary. The decompressed data becomes its own dictionary while its being decompressed. This makes the first occurrence of any pattern less efficiently compressed (but usually it's still compressed thanks to entropy coding), and then it becomes cheap to repeat.

Brotli has a default dictionary with bits of HTML and scripts. This is built in into the decompressor, and not sent with the files.

The decompression dictionaries aren't magic. They're basically a prefix for decompressed files, so that a first occurrence of some pattern can be referenced from the dictionary instead of built from scratch. This helps only with the first occurrences of data near the start of the file, and for all the later repetitions the dictionary becomes irrelevant.

The dictionary needs to be downloaded too, and you're not going to have dictionaries all the way down, so you pay the cost of decompressing the data without a dictionary whether it's a dictionary + dictionary-using-file, or just the full file itself.

bsmth•5h ago
If you're shipping a JS bundle, for instance, that has small, frequent updates, this should be a good use case. There's a test site here that accompanies the explainer which looks interesting for estimates: https://use-as-dictionary.com/generate/
ks2048•4h ago
Some examples here: https://github.com/WICG/compression-dictionary-transport/blo...

show significant gain of using dictionary over compressed w/o dictionary.

It seems like instead of sites reducing bloat, they will just shift the bloat to your hard-drive. Some of the examples said dictionary of 1MB which doesn't seem big, but could add up if everyone is doing this.

wat10000•2h ago
In some applications, there’s no “good enough,” even small gains help and can be significant when multiplied across a large system. It’s like the software version of American Airlines saving $40,000/year by removing one olive from their salads.
bhaney•5h ago
Cloudflare and similar services seem well positioned to take advantage of this.

Analyze the most common responses of a website on their platform, build an efficient dictionary from that data, and then automatically inject a link to that site-specific dictionary so future responses are optimally compressed and save on bandwidth. All transparent to the customers and end users.

pornel•5h ago
Per-URL dictionaries (where a URL is its own dictionary) are great, because they allow updating to a new version of a resource incrementally, and an old version of the same resource is the best template, and there's no extra cost when you already have it.

However, I'm sceptical about usefulness of multi-page shared dictionaries (where you construct one for a site or group of pages). They're a gamble that can backfire.

The extra dictionary needs to be downloaded, so it starts as an extra overhead. It's not enough for it to just match something. It has to beat regular (per-page) compression to be better than nothing, and it must be useful enough to repay its own cost before it even starts being a net positive. This basically means everything in the dictionary must be useful to a user, and has to be used more than once, otherwise it's just an unnecessary upfront slowdown.

Standard (per-page) compression is already very good at removing simple repetitive patterns, and Brotli even comes with a default built-in dictionary of random HTML-like fragments. This further narrows down usefulness of the shared dictionaries, because generic page-like content is enough to be an advantage. They need to contain more specific content to beat standard compression, but the more specific the dictionary is, the lesser the chance of it fitting what the user browses.

creatonez•4h ago
Excited to see access control mishaps where the training data includes random data from other users
mlhpdx•4h ago
This seems very interesting for APIs where clients have chatty and long lived connections. I’m thinking about the GitHub API, for example.
everfrustrated•3h ago
No doubt someone will figure out how to abuse this into yet another cookie/tracking technology.
CottonMcKnight•3h ago
If this interests you, I highly recommend watching this talk by Pat Meenan.

https://www.youtube.com/watch?v=Gt0H2DxdAPY

londons_explore•3h ago
Seems like this would result in quite a lot of increased server load.

Previously servers would cache compressed versions of your static resources.

Whereas now they either have to compress on-the-fly or have a massive cache of not only your most recent static JavaScript blob, but also all past blobs and versions compressed using different combinations of them as a dictionary.

This could easily 10x resources needed for serving static html/CSS/js.

magicalist•3h ago
The past versions stored clientside are the dictionaries. Serverside, just keep the diffs against, say, the last five versions around if storage is an issue, or whatever gets you some high percentage of returning clients, then rebuild when pushing a new release.
toast0•54s ago
Presumably you'd generate a standalone compressed form (or forms) as usual, and also compressed forms using several dictionaries.

Then the server is doing more work at request time, but it's not meaningfully more work --- just checking if the request path has a dictionary compressed form that matches the dictionary hash provided by the client.

longhaul•3h ago
Why can’t browsers/servers just store a standard English dictionary and communicate via indexes?. Anything that isn’t in the dictionary can be sent raw. I’ve always had this thought but don’t see why it isn’t implemented. Might get a bit more involved with other languages but the principle remains the same.

Thinking about it a bit more, we are doing this at the character level- a Unicode table, so why can’t we lookup words or maybe even common sentences ?

wmf•2h ago
Brotli has a built-in dictionary.
Svetlitski•2h ago
Compression algorithms like Brotli already do this:

https://www.rfc-editor.org/rfc/rfc7932#page-28