frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

How getting richer made teenagers less free

https://www.theargumentmag.com/p/how-getting-richer-made-teenagers
6•NavinF•18m ago•0 comments

What is an elliptic curve? (2019)

https://www.johndcook.com/blog/2019/02/21/what-is-an-elliptic-curve/
71•tzury•3h ago•6 comments

RCE via ND6 Router Advertisements in FreeBSD

https://www.freebsd.org/security/advisories/FreeBSD-SA-25:12.rtsold.asc
30•weeha•2h ago•18 comments

Egyptian Hieroglyphs: Lesson 1

https://www.egyptianhieroglyphs.net/egyptian-hieroglyphs/lesson-1/
56•jameslk•4h ago•10 comments

It's all about momentum

https://combo.cc/posts/its-all-about-momentum-innit/
3•sph•13m ago•0 comments

Gemini 3 Flash: Frontier intelligence built for speed

https://blog.google/products/gemini/gemini-3-flash/
976•meetpateltech•17h ago•520 comments

GitHub Actions for Self-Hosted Runners Price Increase Postponed

https://pricetimeline.com/news/189
29•taubek•2h ago•15 comments

Jonathan Blow has spent the past decade designing 1,400 puzzles for you

https://arstechnica.com/gaming/2025/12/jonathan-blow-has-spent-the-past-decade-designing-1400-puz...
20•furcyd•6d ago•2 comments

Coursera to combine with Udemy

https://investor.coursera.com/news/news-details/2025/Coursera-to-Combine-with-Udemy-to-Empower-th...
518•throwaway019254•21h ago•311 comments

I got hacked: My Hetzner server started mining Monero

https://blog.jakesaunders.dev/my-server-started-mining-monero-this-morning/
393•jakelsaunders94•13h ago•264 comments

Working quickly is more important than it seems (2015)

https://jsomers.net/blog/speed-matters
166•bschne•3d ago•91 comments

Gut bacteria from amphibians and reptiles achieve tumor elimination in mice

https://www.jaist.ac.jp/english/whatsnew/press/2025/12/17-1.html
401•Xunxi•11h ago•93 comments

Don MacKinnon: Why Simplicity Beats Cleverness in Software Design [audio]

https://maintainable.fm/episodes/don-mackinnon-why-simplicity-beats-cleverness-in-software-design
42•mooreds•2d ago•10 comments

Ask HN: Those making $500/month on side projects in 2025 – Show and tell

237•cvbox•8h ago•200 comments

Judge hints Vizio TV buyers may have rights to source code licensed under GPL

https://www.theregister.com/2025/12/05/vizio_gpl_source_code_ruling/
90•pabs3•5h ago•5 comments

AWS CEO says replacing junior devs with AI is 'one of the dumbest ideas'

https://www.finalroundai.com/blog/aws-ceo-ai-cannot-replace-junior-developers
920•birdculture•17h ago•475 comments

Building a High-Performance OpenAPI Parser in Go

https://www.speakeasy.com/blog/building-speakeasy-openapi-go-library
9•subomi•3d ago•1 comments

Developers can now submit apps to ChatGPT

https://openai.com/index/developers-can-now-submit-apps-to-chatgpt/
143•tananaev•11h ago•86 comments

Show HN: I built a fast RSS reader in Zig

https://github.com/superstarryeyes/hys
67•superstarryeyes•1d ago•16 comments

A Safer Container Ecosystem with Docker: Free Docker Hardened Images

https://www.docker.com/blog/docker-hardened-images-for-every-developer/
322•anttiharju•17h ago•74 comments

'Ghost jobs' are on the rise – and so are calls to ban them

https://www.bbc.com/news/articles/clyzvpp8g3vo
113•1659447091•5h ago•113 comments

OBS Studio Gets a New Renderer

https://obsproject.com/blog/obs-studio-gets-a-new-renderer
248•aizk•13h ago•54 comments

Tell HN: HN was down

562•uyzstvqs•17h ago•305 comments

Cloudflare Radar 2025 Year in Review

https://radar.cloudflare.com/year-in-review/2025
90•ksec•12h ago•36 comments

Ask HN: Does anyone understand how Hacker News works?

95•jannesblobel•10h ago•124 comments

TikTok unlawfully tracks shopping habits and use of dating apps?

https://noyb.eu/en/tiktok-unlawfully-tracks-your-shopping-habits-and-your-use-dating-apps
192•doener•9h ago•104 comments

Zmij: Faster floating point double-to-string conversion

https://vitaut.net/posts/2025/faster-dtoa/
131•fanf2•3d ago•18 comments

How SQLite is tested

https://sqlite.org/testing.html
289•whatisabcdefgh•16h ago•78 comments

More than half of researchers now use AI for peer review, often against guidance

https://www.nature.com/articles/d41586-025-04066-5
46•neilv•5h ago•27 comments

Oasis: Pooling PCIe Devices over CXL to Boost Utilization

https://dl.acm.org/doi/10.1145/3731569.3764812
11•blakepelton•5d ago•2 comments
Open in hackernews

Show HN: I built a fast RSS reader in Zig

https://github.com/superstarryeyes/hys
66•superstarryeyes•1d ago
Well, I certainly tried. I had to, because it has a certain quirk inspired by "digital minimalism."

The quirk is that it only allows you to fetch new articles once per day (or X days).

Why? Let me explain...

I want my internet content to be like a boring newspaper. You get it in the morning, and you read the whole thing while sipping your morning coffee, and then you're done! No more new information for today. No pings, no alerts, peace, quiet, zen, etc.

But with that, I needed it to be able to fetch all articles from my hundreds of feeds in one sitting. This is where Zig and curl optimisations come in. I tried to do all the tricks in the book. If I missed something, let me know!

First off, I'm using curl multi for the network layer. The cool thing is it automatically does HTTP/2 multiplexing, which means if your feeds are hosted on the same CDN it reuses the same connection. I've got it configured to handle 50 connections total with up to 6 per host, which seems to be the sweet spot before servers start getting suspicious. Also, conditional GETs. If a feed hasn't changed since last time, the server just says "Not Modified" and we bail immediately.

While curl is downloading feeds, I wouldn't want CPU just being idle so the moment curl finishes downloading a single feed, it fires a callback that immediately throws the XML into a worker thread pool for parsing. The main thread keeps managing all the network stuff while worker threads are chewing through XML in parallel. Zig's memory model is perfect for this. Each feed gets its own ArenaAllocator, which is basically a playground where you can allocate strings during parsing, then when we're done, we just nuke the entire arena in one go.

For parsing itself, I'm using libexpat because it doesn't load the entire XML into memory like a DOM parser would. This matters because some podcast feeds especially are like 10MB+ of XML. So with smart truncation we download the first few X mb's (configurable), scan backwards to find the last complete item tag, cut it there, and parse just that. Keeps memory usage sane even when feed sizes get massive.

And for the UI I just pipe everything to the system's "less" command. You get vim navigation, searching, and paging for free. Plus I'm using OSC 8 hyperlinks, so you can actually click links to open them on your browser. Zero TUI framework needed. I've also included OPML import/export and feed groups as additional features.

The result: content from hundreds of RSS feeds retrieved in matter of seconds, and peace of mind for the rest of the day.

The code is open source and MIT licensed. If you have ideas on how to make it even faster or better, comment below. Feature requests and other suggestions are also welcome, here or GitHub.

Comments

ekjhgkejhgk•1d ago
Why MIT and not GPL3?
superstarryeyes•1d ago
why not? isn't mit just objectively a better license for open source? i just hope rss would make a comeback to make the internet a little saner again, and if someone wants to use hys source code as a base for their own rss reader, whether commercial or not, great!
ekjhgkejhgk•1d ago
Explain what you mean by "objectively better"? Your response makes it sound like you don't know the difference and are doing it because everybody else does it. It also makes it sounds like you don't understand the difference between open source software and free software. Both are free licenses, open source is just one part of it.

The main difference is that GPL3 is a copyleft license, whereas MIT is not. Meaning that legally there is nothing in the license preventing a company from taking your code and using it for their purposes without having to contribute to improve the code.

superstarryeyes•1d ago
i know the difference. i use gpl3 in my other project lue for example. i meant objectively better for the open source community. the spread of new ideas benefits from the mit license because the ideas in the code can travel farther.

the reason i picked mit is because rss is in a rough spot right now. the tech isn't mainstream, and big companies are trying to squash it since it doesn't drive engagement like the infinite scroll. anything that helps rss move forward is a win, and the mit license makes that easier.

ekjhgkejhgk•23h ago
Ok thank you for explaining.

> the reason i picked mit is because rss is in a rough spot right now.

I don't think another client is the solution, just saying. There's about three billion of them out there (though I don't dispute that yours might have something unique).

lknuth•1d ago
I think its cool that more people are building what I call "calm tech". More technology should try to serve a purpose quickly and then get out of the way instead of trying to artificially stay on your screen as long as possible.

Incidentally, I built my own calm RSS reader some time ago that has many similar ideas to yours: https://github.com/lukasknuth/briefly

superstarryeyes•1d ago
nice! yeah, i agree. calm tech is a nice way to put it. the current big platforms are highly tuned to keep people engaged and enraged to the max, rss is kind antithesis of that. that's probably why big companies try to bury and hide it. youtube and reddit still give pretty good rss support though, which is nice.
ekjhgkejhgk•1d ago
https://newsboat.org/
sbinnee•2h ago
The best RSS reader program I have been using for years
A1aM0•7h ago
The 'once a day' fetching limitation is a fascinating idea. It really captures the vibe of reading a physical newspaper in the morning rather than constantly checking for updates. I think many of us could use a tool that enforces a bit of 'digital silence' like this.
mocheeze•6h ago
In middle school (age 11-13 in the late '90s, USA) I had a hand-me-down Palm Pilot (probably upgraded to Handspring in there). I'd leave it on my serial(?) port cradle and have it download my daily news from sites like IGN and Slashdot over 56K before I woke up. I was also the kid that regularly read the "Time Life for Kids" mags they'd pass out to us in homeroom. That's the outlet I learned about Napster from and hooked my school onto. Your comment reminded me of those days. Now I'm still desperately hooked on RSS since the early days.

ETA: When I was a late teen I ended up managing a bunch of younger teams for a free mod for an indie PC game called Blockland. I had them code up IRC and RSS capabilities into the mod from scratch in the Torque Game Engine's custom TorcueScript. I couldn't believe what those kids were capable of. They all went into programming, engineering, or founding their own companies out of highschool and college. If one of them told me something was impossible I'd just tell them that I saw that a competing mod already figured it out. Magically my dudes had a solution really quick lol. Sometimes when you have limited resources and/or experience the old and proven ways are just as good.

Was great when they had all that XML experience in a weird scripting language and I asked them to implement Jabber in-game from my Dreamhost shared-hosting plan. Crazy what a bunch of teens can do for an online Lego-like game.

Thanks for letting this older dude wax nostalgic off the rails. Hope it reminds others on HN about early hacking days like OP's project.

A1aM0•4h ago
Love it. It’s funny how we are now building modern tools just to try and get back that simple 'Palm Pilot morning read' vibe.
PMunch•1h ago
I've been wanting a browser plugin like this for ages. Basically tell it which sites to limit, then once loaded it won't re-load for a certain amount of time, or until the next day (not necessarily 24 hours). This way there is no reason to keep checking the news, they won't change.
endorphine•1h ago
Kagi News does something similar, for what it's worth.
mbirth•26m ago
I’m currently evaluating whether I’m happy with Kagi News in my RSS reader compared to separate news outlets. So far it seems to capture all the important bits.
keyle•3h ago
Nice work, I did mine in C, using Termbox2, in a very suckless fashion (config.h & make install)

I like the idea of the daily digest.

That gave me a good chuckle:

    Starts in milliseconds and parses hundreds of items in seconds.
Consider having a shortcut to load a feed item's comments in the browser, if that's not already there.