Show HN: Zeekstd – Rust Implementation of the ZSTD Seekable Format (Score: 150+ in 23 hours)
Link: https://readhacker.news/s/6wbth
Comments: https://readhacker.news/c/6wbth
Hello,
I would like to share a Rust implementation of the Zstandard seekable format I've been working on.
Regular zstd compressed files consist of a single frame, meaning you have to start decompression at the beginning. The seekable format splits compressed data into a series of independent frames, each compressed individually, so that decompression of a section in the middle of an archive only requires zstd to decompress at most a frame's worth of extra data, instead of the entire archive.
I started working with the seekable format because I wanted to resume downloads of big zstd compressed files that are decompressed and written to disk on the fly. At first I created and used bindings to the C functions that are available upstream[1], however, I stumbled over the first segfault rather quickly (it's now fixed) and found out that the functions only allow basic things. After looking closer at the upstream implementation, I noticed that is uses functions of the core API that are now deprecated and it doesn't allow access to low-level (de)compression contexts. To me it looks like a PoC/demo implementation that isn't maintained the same way as the zstd core API, probably that's also the reason it's in the contrib directory.
My use-case seemed to require a complete rewrite of the seekable format, so I decided to implement it from scratch in Rust using bindings to the advanced zstd compression API, available from zstd 1.4.0.
The result is a single dependency library crate[2], and a CLI crate[3] for the seekable format that feels similar to the regular zstd tool.
Any feedback is highly appreciated!
[1]: https://github.com/facebook/zstd/tree/dev/contrib/seekable_f...
[2]: https://crates.io/crates/zeekstd
[3]: https://github.com/rorosen/zeekstd/tree/main/cli
Link: https://readhacker.news/s/6wbth
Comments: https://readhacker.news/c/6wbth
Hello,
I would like to share a Rust implementation of the Zstandard seekable format I've been working on.
Regular zstd compressed files consist of a single frame, meaning you have to start decompression at the beginning. The seekable format splits compressed data into a series of independent frames, each compressed individually, so that decompression of a section in the middle of an archive only requires zstd to decompress at most a frame's worth of extra data, instead of the entire archive.
I started working with the seekable format because I wanted to resume downloads of big zstd compressed files that are decompressed and written to disk on the fly. At first I created and used bindings to the C functions that are available upstream[1], however, I stumbled over the first segfault rather quickly (it's now fixed) and found out that the functions only allow basic things. After looking closer at the upstream implementation, I noticed that is uses functions of the core API that are now deprecated and it doesn't allow access to low-level (de)compression contexts. To me it looks like a PoC/demo implementation that isn't maintained the same way as the zstd core API, probably that's also the reason it's in the contrib directory.
My use-case seemed to require a complete rewrite of the seekable format, so I decided to implement it from scratch in Rust using bindings to the advanced zstd compression API, available from zstd 1.4.0.
The result is a single dependency library crate[2], and a CLI crate[3] for the seekable format that feels similar to the regular zstd tool.
Any feedback is highly appreciated!
[1]: https://github.com/facebook/zstd/tree/dev/contrib/seekable_f...
[2]: https://crates.io/crates/zeekstd
[3]: https://github.com/rorosen/zeekstd/tree/main/cli
GitHub
GitHub - rorosen/zeekstd: Rust implementation of the Zstandard Seekable Format
Rust implementation of the Zstandard Seekable Format - rorosen/zeekstd
Benzene at 200 (Score: 151+ in 6 hours)
Link: https://readhacker.news/s/6wdef
Comments: https://readhacker.news/c/6wdef
Link: https://readhacker.news/s/6wdef
Comments: https://readhacker.news/c/6wdef
Chemistry World
Benzene at 200
Celebrating the molecule that changed the world
WhatsApp introduces ads in its app (Score: 150+ in 8 hours)
Link: https://readhacker.news/s/6wcUn
Comments: https://readhacker.news/c/6wcUn
Link: https://readhacker.news/s/6wcUn
Comments: https://readhacker.news/c/6wcUn
NY Times
WhatsApp Introduces Ads in Its App
They will appear in only one part of the Meta-owned messaging service, it said. The move is potentially lucrative, while raising questions about user privacy.
Snorting the AGI with Claude Code (Score: 157+ in 13 hours)
Link: https://readhacker.news/s/6wczT
Comments: https://readhacker.news/c/6wczT
Link: https://readhacker.news/s/6wczT
Comments: https://readhacker.news/c/6wczT
kadekillary.work
blog - kade@localhost:~$
blog - kade killary
Show HN: Chawan TUI web browser (🔥 Score: 153+ in 3 hours)
Link: https://readhacker.news/s/6we96
Comments: https://readhacker.news/c/6we96
A terminal-based web browser in Nim.[1] Has acceptable (YMMV) CSS
rendering, some JS support, and inline images (sixel/kitty). It can
also use various protocols other than http(s) such as (s)ftp, gopher,
gemini, ...
Chawan started out as a w3m clone, and the UI still resembles it.
However, the architecture has turned out quite different, with pages
loaded in separate processes, and protocol/file type handling separated
out into external binaries. An interesting result is that you can even
register decoders for custom inline image formats, although practical
use cases of this are rather minimal.
There is a gallery showcasing some websites being rendered here:
https://chawan.net/gallery/index.html
[1]: https://nim-lang.org
Link: https://readhacker.news/s/6we96
Comments: https://readhacker.news/c/6we96
A terminal-based web browser in Nim.[1] Has acceptable (YMMV) CSS
rendering, some JS support, and inline images (sixel/kitty). It can
also use various protocols other than http(s) such as (s)ftp, gopher,
gemini, ...
Chawan started out as a w3m clone, and the UI still resembles it.
However, the architecture has turned out quite different, with pages
loaded in separate processes, and protocol/file type handling separated
out into external binaries. An interesting result is that you can even
register decoders for custom inline image formats, although practical
use cases of this are rather minimal.
There is a gallery showcasing some websites being rendered here:
https://chawan.net/gallery/index.html
[1]: https://nim-lang.org
Show HN: Canine – A Heroku alternative built on Kubernetes (Score: 152+ in 7 hours)
Link: https://readhacker.news/s/6wdLr
Comments: https://readhacker.news/c/6wdLr
Hello HN!
I've been working on Canine for about a year now. It started when I was sick of paying the overhead of using stuff like Heroku, Render, Fly, etc to host some web apps that I've built. At one point I was paying over $400 a month for hosting these in the cloud. Last year I moved all my stuff to Hetzner.
For a 4GB machine, the cost of various providers:
Heroku = $260
Fly.io = $65
Render = $85
Hetzner = $4
(This problem gets a lot worse when you need > 4GB)
The only downside of using Hetzner is that there isn’t a super straightforward way to do stuff like:
- DNS management / SSL certificate management
- Team management
- Github integration
But I figured it should be easy to quickly build something like Heroku for my Hetzner instance. Turns out it was a bit harder than expected, but after a year, I’ve made some good progress
The best part of Canine, is that it also makes it trivial to host any helm chart, which is available for basically any open source project, so everything from databases (e.g. Postgres, Redis), to random stuff like torrent tracking servers, VPN’s endpoints, etc.
Open source: https://github.com/czhu12/canine
Cloud hosted version is: https://canine.sh
Link: https://readhacker.news/s/6wdLr
Comments: https://readhacker.news/c/6wdLr
Hello HN!
I've been working on Canine for about a year now. It started when I was sick of paying the overhead of using stuff like Heroku, Render, Fly, etc to host some web apps that I've built. At one point I was paying over $400 a month for hosting these in the cloud. Last year I moved all my stuff to Hetzner.
For a 4GB machine, the cost of various providers:
Heroku = $260
Fly.io = $65
Render = $85
Hetzner = $4
(This problem gets a lot worse when you need > 4GB)
The only downside of using Hetzner is that there isn’t a super straightforward way to do stuff like:
- DNS management / SSL certificate management
- Team management
- Github integration
But I figured it should be easy to quickly build something like Heroku for my Hetzner instance. Turns out it was a bit harder than expected, but after a year, I’ve made some good progress
The best part of Canine, is that it also makes it trivial to host any helm chart, which is available for basically any open source project, so everything from databases (e.g. Postgres, Redis), to random stuff like torrent tracking servers, VPN’s endpoints, etc.
Open source: https://github.com/czhu12/canine
Cloud hosted version is: https://canine.sh
GitHub
GitHub - czhu12/canine: Power of Kubernetes, Simplicity of Heroku
Power of Kubernetes, Simplicity of Heroku. Contribute to czhu12/canine development by creating an account on GitHub.
Occurences of swearing in the Linux kernel source code over time (❄️ Score: 150+ in 2 days)
Link: https://readhacker.news/s/6w8jg
Comments: https://readhacker.news/c/6w8jg
Link: https://readhacker.news/s/6w8jg
Comments: https://readhacker.news/c/6w8jg
Darklang Goes Open Source (Score: 150+ in 13 hours)
Link: https://readhacker.news/s/6wdix
Comments: https://readhacker.news/c/6wdix
Link: https://readhacker.news/s/6wdix
Comments: https://readhacker.news/c/6wdix
Darklang
Darklang Goes Open Source
As part of shutting down Dark Inc. and forming Darklang Inc., we've finally open-sourced all of our repositories. Our source code is now under the Apache License 2.0.
For years, we wrestled with questions of sustainability and how to build something that…
For years, we wrestled with questions of sustainability and how to build something that…
Generative AI coding tools and agents do not work for me (Score: 151+ in 4 hours)
Link: https://readhacker.news/s/6wezB
Comments: https://readhacker.news/c/6wezB
Link: https://readhacker.news/s/6wezB
Comments: https://readhacker.news/c/6wezB
Miguelgrinberg
Why Generative AI Coding Tools and Agents Do Not Work For Me
People keep asking me If I use Generative AI tools for coding and what I think of them, so this is my effort to put my thoughts in writing, so that I can send people here instead of having to repeat…
OpenAI wins $200M U.S. defense contract (Score: 150+ in 8 hours)
Link: https://readhacker.news/s/6wen6
Comments: https://readhacker.news/c/6wen6
Link: https://readhacker.news/s/6wen6
Comments: https://readhacker.news/c/6wen6
CNBC
OpenAI wins $200 million U.S. defense contract
Months after announcing a partnership with defense-tech startup Anduril, OpenAI has secured a $200 million contract with the Department of Defense.
What happens when clergy take psilocybin (Score: 151+ in 9 hours)
Link: https://readhacker.news/s/6wefk
Comments: https://readhacker.news/c/6wefk
Link: https://readhacker.news/s/6wefk
Comments: https://readhacker.news/c/6wefk
Nautilus
Clergy Blown Away by Psilocybin
A 10-year-old study finally comes into the light
Twin – A Textmode WINdow Environment (Score: 150+ in 1 day)
Link: https://readhacker.news/s/6wbpt
Comments: https://readhacker.news/c/6wbpt
Link: https://readhacker.news/s/6wbpt
Comments: https://readhacker.news/c/6wbpt
GitHub
GitHub - cosmos72/twin: Text mode window environment. A "retro" program for embedded or remote systems, that doubles as X11 terminal…
Text mode window environment. A "retro" program for embedded or remote systems, that doubles as X11 terminal and text-mode equivalent of VNC server - cosmos72/twin
Dull Men’s Club (Score: 150+ in 17 hours)
Link: https://readhacker.news/s/6wdGE
Comments: https://readhacker.news/c/6wdGE
Link: https://readhacker.news/s/6wdGE
Comments: https://readhacker.news/c/6wdGE
the Guardian
Meet the members of the Dull Men’s Club: ‘Some of them would bore the ears off you’
An international club where dull people meet online to share the tedium of everyday lives is immensely popular. But for one man it’s a place of poignant connection
Fossify – A suite of open-source, ad-free apps (Score: 153+ in 4 hours)
Link: https://readhacker.news/s/6wfc6
Comments: https://readhacker.news/c/6wfc6
Link: https://readhacker.news/s/6wfc6
Comments: https://readhacker.news/c/6wfc6
GitHub
Fossify
A suite of open-source, ad-free apps with customizable colors. - Fossify
No Hello (🔥 Score: 150+ in 2 hours)
Link: https://readhacker.news/s/6wftz
Comments: https://readhacker.news/c/6wftz
Link: https://readhacker.news/s/6wftz
Comments: https://readhacker.news/c/6wftz
nohello.net
no hello
please don't say just hello in chat
How Frogger 2’s source code was recovered from a destroyed tape [video] (Score: 151+ in 1 day)
Link: https://readhacker.news/s/6wbtp
Comments: https://readhacker.news/c/6wbtp
Link: https://readhacker.news/s/6wbtp
Comments: https://readhacker.news/c/6wbtp
YouTube
How Frogger 2’s source code was recovered from a DESTROYED tape
▶Sponsored by PCBWay: https://www.pcbway.com/
In this video, we take a look at one Frogger community member's journey in recovering the original development material and source code for "Frogger 2: Swampy's Revenge" from a backup made on a proprietary and…
In this video, we take a look at one Frogger community member's journey in recovering the original development material and source code for "Frogger 2: Swampy's Revenge" from a backup made on a proprietary and…
Selfish reasons for building accessible UIs (Score: 150+ in 12 hours)
Link: https://readhacker.news/s/6weDx
Comments: https://readhacker.news/c/6weDx
Link: https://readhacker.news/s/6weDx
Comments: https://readhacker.news/c/6weDx
Read the Tea Leaves
Selfish reasons for building accessible UIs
All web developers know, at some level, that accessibility is important. But when push comes to shove, it can be hard to prioritize it above a bazillion other concerns when you’re trying to c…
Show HN: I recreated 90s Mode X demoscene effects in JavaScript and Canvas (Score: 152+ in 10 hours)
Link: https://readhacker.news/s/6weU5
Comments: https://readhacker.news/c/6weU5
After 25 years of writing software, I was feeling nostalgic for the kinds of things that got me into programming in the first place: the old DOS demoscene. I spent a weekend seeing if I could recapture some of that INT 13H VGA magic using today's web tech, but with the old-school constraints of doing it from scratch.
The result is this portfolio of ten classic effects running in a single HTML file. It's all vanilla JavaScript writing to a <canvas> element, with no external libraries. It was a fun challenge to implement things like:
* The color palette cycling and smooth fading in the Plasma demo.
* The buffer-averaging algorithm for the Fire effect to make the flames feel more natural.
* The distance-based texture crossfading in the Tunnel to create the illusion of flying through different sections.
* A 2D scalar field for the Metaballs to calculate the surface normals for that classic blended, metallic look (I did the best I could with the given constraints).
It was a great exercise in getting back to first principles and a reminder of how much those early demo programmers could accomplish with so little. I hope it brings back some good memories for others who grew up with this stuff.
I'd love to hear about your favorite classic demos or if there are any other iconic effects you think would be a fun challenge to add.
Cheers!
Link: https://readhacker.news/s/6weU5
Comments: https://readhacker.news/c/6weU5
After 25 years of writing software, I was feeling nostalgic for the kinds of things that got me into programming in the first place: the old DOS demoscene. I spent a weekend seeing if I could recapture some of that INT 13H VGA magic using today's web tech, but with the old-school constraints of doing it from scratch.
The result is this portfolio of ten classic effects running in a single HTML file. It's all vanilla JavaScript writing to a <canvas> element, with no external libraries. It was a fun challenge to implement things like:
* The color palette cycling and smooth fading in the Plasma demo.
* The buffer-averaging algorithm for the Fire effect to make the flames feel more natural.
* The distance-based texture crossfading in the Tunnel to create the illusion of flying through different sections.
* A 2D scalar field for the Metaballs to calculate the surface normals for that classic blended, metallic look (I did the best I could with the given constraints).
It was a great exercise in getting back to first principles and a reminder of how much those early demo programmers could accomplish with so little. I hope it brings back some good memories for others who grew up with this stuff.
I'd love to hear about your favorite classic demos or if there are any other iconic effects you think would be a fun challenge to add.
Cheers!
GitHub CI/CD observability with OpenTelemetry step by step guide (❄️ Score: 150+ in 6 days)
Link: https://readhacker.news/s/6vXpn
Comments: https://readhacker.news/c/6vXpn
Link: https://readhacker.news/s/6vXpn
Comments: https://readhacker.news/c/6vXpn
SigNoz
CI/CD Observability with OpenTelemetry - A Step by Step Guide
In the fast-paced world of CI/CD, understanding the performance and behaviour of your pipelines is crucial. In this guide, we'll walk through setting up OpenTelemetry for GitHub Actions, with practical examples and configuration snippets.
Honda Conducts Successful Launch and Landing of Experimental Reusable Rocket (🔥 Score: 157+ in 1 hour)
Link: https://readhacker.news/s/6wgjg
Comments: https://readhacker.news/c/6wgjg
Link: https://readhacker.news/s/6wgjg
Comments: https://readhacker.news/c/6wgjg
Honda Global
Honda Conducts Successful Launch and Landing Test of Experimental Reusable Rocket
Honda Global | Honda R&D Co., Ltd., a research and development subsidiary of Honda Motor Co., Ltd., today conducted a launch and landing test of an experimental reusable rocket*1 (6.3 m in length, 85 cm in diameter, 900 kg dry weight/1,312 kg wet weight)…