frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

There's a ridiculous amount of tech in a disposable vape

https://blog.jgc.org/2026/01/theres-ridiculous-amount-of-tech-in.html
456•abnercoimbre•1d ago•378 comments

I Love You, Redis, but I'm Leaving You for SolidQueue

https://www.simplethread.com/redis-solidqueue/
83•amalinovic•2h ago•33 comments

1000 Blank White Cards

https://en.wikipedia.org/wiki/1000_Blank_White_Cards
200•eieio•9h ago•34 comments

Show HN: Tiny FOSS Compass and Navigation App (<2MB)

https://github.com/CompassMB/MBCompass
16•nativeforks•1h ago•8 comments

ASCII Clouds

https://caidan.dev/portfolio/ascii_clouds/
219•majkinetor•9h ago•38 comments

Coverage Cat (YC S22) Is Hiring a Fractional Operations Specialist

https://www.coveragecat.com/careers/operations/fractional-operations-specialist
1•botacode•14m ago

Systematically generating tests that would have caught Anthropic's top‑K bug

https://theorem.dev/blog/anthropic-bug-test/
16•jasongross•2d ago•1 comments

A 40-line fix eliminated a 400x performance gap

https://questdb.com/blog/jvm-current-thread-user-time/
284•bluestreak•13h ago•59 comments

Every GitHub object has two IDs

https://www.greptile.com/blog/github-ids
253•dakshgupta•20h ago•64 comments

Putting the "You" in CPU (2023)

https://cpu.land/
51•vinhnx•4d ago•5 comments

Show HN: OSS AI agent that indexes and searches the Epstein files

https://epstein.trynia.ai/
108•jellyotsiro•10h ago•40 comments

The Gleam Programming Language

https://gleam.run/
151•Alupis•9h ago•85 comments

The truth behind the 2026 J.P. Morgan Healthcare Conference

https://www.owlposting.com/p/the-truth-behind-the-2026-jp-morgan
246•abhishaike•17h ago•51 comments

No management needed: anti-patterns in early-stage engineering teams

https://www.ablg.io/blog/no-management-needed
212•tonioab•17h ago•224 comments

vLLM large scale serving: DeepSeek 2.2k tok/s/h200 with wide-ep

https://blog.vllm.ai/2025/12/17/large-scale-serving.html
115•robertnishihara•20h ago•35 comments

The $LANG Programming Language

214•dang•11h ago•42 comments

Show HN: 1D-Pong Game at 39C3

https://github.com/ogermer/1d-pong
36•oger•2d ago•9 comments

Are two heads better than one?

https://eieio.games/blog/two-heads-arent-better-than-one/
173•evakhoury•19h ago•55 comments

The Emacs Widget Library: A Critique and Case Study

https://www.d12frosted.io/posts/2025-11-26-emacs-widget-library
82•whacked_new•2d ago•28 comments

Show HN: Seapie – a Python debugger where breakpoints drop into a REPL

https://github.com/hirsimaki-markus/seapie
6•markushirsimaki•1d ago•4 comments

Show HN: The Tsonic Programming Language

https://tsonic.org
38•jeswin•18h ago•9 comments

UK secures record supply of offshore wind projects

https://www.bbc.co.uk/news/articles/cn9zyx150xdo
16•ljf•53m ago•17 comments

April 9, 1940 a Dish Best Served Cold

https://todayinhistory.blog/2021/04/09/april-9-1940-a-dish-best-served-cold/
48•vinnyglennon•4d ago•5 comments

Show HN: Cachekit – High performance caching policies library in Rust

https://github.com/OxidizeLabs/cachekit
39•failsafe•9h ago•7 comments

Handling secrets (somewhat) securely in shells

https://linus.schreibt.jetzt/posts/shell-secrets.html
71•todsacerdoti•4d ago•37 comments

The Stick in the Stream

https://randsinrepose.com/archives/the-stick-in-the-stream/
10•zdw•4d ago•1 comments

AI generated music barred from Bandcamp

https://old.reddit.com/r/BandCamp/comments/1qbw8ba/ai_generated_music_on_bandcamp/
814•cdrnsf•17h ago•589 comments

The Tulip Creative Computer

https://github.com/shorepine/tulipcc
220•apitman•19h ago•53 comments

Stop using natural language interfaces

https://tidepool.leaflet.pub/3mcbegnuf2k2i
91•steveklabnik•9h ago•45 comments

How to make a damn website (2024)

https://lmnt.me/blog/how-to-make-a-damn-website.html
208•birdculture•18h ago•61 comments
Open in hackernews

I Love You, Redis, but I'm Leaving You for SolidQueue

https://www.simplethread.com/redis-solidqueue/
81•amalinovic•2h ago

Comments

reena_signalhq•2h ago
Interesting migration story! I've been using Redis for background jobs for years and it's been solid, but the operational overhead is real.

Curious about your experience with SolidQueue's reliability - have you run into any edge cases or issues with job retries/failures? Redis has been battle-tested for so long that switching always feels risky.

Would love to hear more about your production experience after a few months!

withinboredom•56m ago
Email is in my profile. I’m currently building something in this space and I’m looking for early adopters. Reach out, I’d love to show you what we have!
jjgreen•2h ago
Nice article, I'm just productionising a Rails 8 app and was wondering whether it was worth switching from SolidQueue (which has given me no stress in dev) to Redis ... maybe not.
michaelbuckbee•11m ago
Unless you hit a performance wall with Postgres or absolutely need Batch capability you've probably got a very large runway with SolidQueue.
antirez•2h ago
Every time some production environment can be simplified, it is good news in my opinion. The ideal situation with Rails would be if there is a simple way to switch back to Redis, so that you can start simple, and as soon as you hit some fundamental issue with using SolidQueue (mostly scalability, I guess, in environments where the queue is truly stressed -- and you don't want to have a Postgres scalability problem because of your queue), you have a simple upgrade path. But I bet a lot of Rails apps don't have high volumes, and having to maintain two systems can be just more complexity.
yawboakye•1h ago
the problem i see here is that we end up treating the background job/task processor as part of the production system (e.g. the server that responds to requests, in the case of a web application) instead of a separate standalone thing. rails doesn’t make this distinction clear enough. it’s okay to back your tasks processor with a pg database (e.g. river[0]) but, as you indirectly pointed out, it shouldn’t be the same as the production database. this is why redis was preferred anyways: it was a lightweight database for the task processor to store state, etc. there’s still great arguments in favor of this setup. from what i’ve seen so far, solidqueue doesn’t make this separation.

[0]: https://riverqueue.com/

andrewstuart•26m ago
It’s not necessary to separate queue db from application db.
dependency_2x•2h ago
Postgres will eat the world
loafoe•2h ago
Postgres will eat the world indeed. I'm just waiting for the pg_kernel extension so I can finally uninstall Linux :)
cientifico•1h ago
Looking for postgres unikernel seems like some people are trying seriously...

https://nanovms.com/dev/tutorials/running-postgres-as-a-unik...

pjmlp•1h ago
RDMS will eat the world.

Turns out it is a matter of feature set.

yawboakye•1h ago
schema migrations will save our careers! \o/
cies•26m ago
I use PGQM and PG_CRON now... Not looking back.

The MySQL + Redis + AWS' elasti-cron (or whatever) was a ghetto compared to Postgres.

ashniu123•2h ago
For Node.js, my startup used to use [Graphile Worker](https://github.com/graphile/worker) which utilised the same "SKIP LOCKED" mechanism under the hood.

We ran into some serious issues in high throughput scenarios (~2k jobs/min currently, and ~5k job/min during peak hours) and switched to Redis+BullMQ and have never looked back ever since. Our bottleneck was Postgres performance.

I wonder if SolidQueue runs into similar issues during high load, high throughput scenarios...

dns_snek•17m ago
Facing issues with 83 jobs per second (5k/min) sounds like an extreme misconfiguration. That's not high throughput at all and it shouldn't create any appreciable load on any database.
victorbjorklund•1h ago
For people that does not think it scales. A similar implementation in Elixir is Oban. Their benchmark shows a million jobs per minute on a single node (and I am sure it could be increased further with more optimizations). I bet 99,99999% of apps have less than a million background jobs per minute.

https://oban.pro/articles/one-million-jobs-a-minute-with-oba...

formerly_proven•30m ago
This benchmark is probably as far removed from how applications use task queues as it could possibly be. The headline is "1 million jobs per minute", which is true. However...

- this is achieved by queuing batches of 5000 jobs, so on the queue side this is actually not 1 million TPS, but rather 200 TPS. I've never seen any significant batching of background job creation.

- the dispatch is also batched to a few hundred TPS (5ms ... 2ms).

- acknowledgements are also batched.

So instead of the ~50-100k TPS that you would expect to get to 17k jobs/sec, this is probably performing just a few hundred transactions per second on the SQL side. Correspondingly, if you don't batch everything (job submission, acking; dispatch is reasonable), throughput likely drops to that level, which is much more in line with expectations.

Semantically this benchmark is much closer to queuing and running 200 invocations of a "for i in range(5000)" loop in under a minute, which most would expect virtually any DB to handle (even SQLite).

jacob-s-son•1h ago
Every author of the free software obviously has rights to full control of the scope of their project.

That being said, I regret that we have switched from good_job (https://github.com/bensheldon/good_job). The thing is - Basecamp is a MySQL shop and their policy is not to accept RDMS engine specific queries. You can see in their issues in Github that they try to stick "universal" SQL and are personally mostly concerned how it performs in MySQL(https://github.com/rails/solid_queue/issues/567#issuecomment... , https://github.com/rails/solid_queue/issues/508#issuecomment...). They also still have no support for batch jobs: https://github.com/rails/solid_queue/pull/142 .

rajaravivarma_r•1h ago
The one use case where a DB backed queue will fail for sure is when the payload is large. For example, you queue a large JSON payload to be picked up by a worker and process it, then the DB writing overhead itself makes a background worker useless.

I've benchmarked Redis (Sidekiq), Postgres (using GoodJob) and SQLite (SolidQueue), Redis beats everything else for the above usecase.

SolidQueue backed by SQLite may be good when you are just passing around primary keys. I still wonder if you can have a lot of workers polling from the same database and update the queue with the job status. I've done something similar in the past using SQLite for some personal work and it is easy to hit the wall even with 10 or so workers.

Manfred•1h ago
In my experience you want job parameters to be one, maybe two ids. Do you have a real world example where that is not the case?
embedding-shape•41m ago
I'm guessing you're with that adding indirection for what you're actually processing, in that case? So I guess the counter-case would be when you don't want/need that indirection.

If I understand what you're saying, is that you'll instead of doing:

- Create job with payload (maybe big) > Put in queue > Let worker take from queue > Done

You're suggesting:

- Create job with ID of payload (stored elsewhere) > Put in queue > Let worker take from queue, then resolve ID to the data needed for processing > Done

Is that more or less what you mean? I can definitively see use cases for both, heavily depends on the situation, but more indirection isn't always better, nor isn't big payloads always OK.

azuanrb•30m ago
If we take webhook for example.

- Persist payload in db > Queue with id > Process via worker.

Queueing it directly via queue can be tricky. Any queue system usually will have limits on the payload, for good reasons. Plus if you already commit to db, you can guarantee the data is not lost and can be process again however you want later. But if you queue is having issue, or failed to queue, you might lost if forever.

zihotki•43m ago
Using Redis to store large queue payloads is usually a bad practice. Redis memory is finite.
touisteur•19m ago
Interesting, as a self-contained minimalistic setup.

Shouldn't one be using a storage system such as S3/garage with ephemeral settings and/or clean-up triggers after job-end ? I get the appeal of using one-system-for-everything but won't you need a storage system anyway for other parts of your system ?

Have you written up somewhere about your benchmarks and where the cutoffs are (payload size / throughput / latency) ?

ddorian43•18m ago
> Redis beats everything else for the above usecase.

Reminds me of Antirez blog post that when Redis is configured for durability it becomes like/slower than postgresql http://oldblog.antirez.com/post/redis-persistence-demystifie...

michaelbuckbee•16m ago
FWIW, Sidekiq docs strongly suggest only passing around primary keys or identifiers for jobs.
ckbkr10•1h ago
Comparing Redis to SQL is kinda off topic. Sure you can replace the one with the other but then we are talking about completely different concepts aren't we?

When all we are talking about is "good enough" the bar is set at a whole different level.

croes•41m ago
Maybe Redis is just overkill
touisteur•16m ago
I wish you'd have expanded on that. I almost always learn about some interesting lower-level tech through people trying to avoid a full-featured heavy-for-their-use-case tool or system.
zihotki•28m ago
We're talking about business challenges/features which can be solved by using either of the solutions and analyzing pros/cons. It's not like Redis is bad, but sometimes it's an over-engineered solution and too costly
michaelbuckbee•12m ago
I wrote this article about migrating from Redis to SQLite for a particular scenario and the tradeoffs involved.

To be clear, I think the most important thing is understanding the performance characteristics of each technology enough that you can make good choices for your particular scenario.

https://wafris.org/blog/rearchitecting-for-sqlite

KolmogorovComp•39m ago
> Job latency under 1ms is critical to your business. This is a real and pressing concern for real-time bidding, high frequency trading (HFT), and other applications in the same ilk.

From TFA. Are there really people using Rails for HFT?

steviee•39m ago
Wearing my Ruby T-Shirt (ok, Rubyconf.TH, but you get the gist) while reading this makes me fully approving and appreciating your post! It totally resonates with my current project setups and my trying to get them as simple as possible.

Especially when building new and unproven applications I'm always looking for things that trade the time I need to set tings up properly with he time I need to BUILD THE ACTUAL PRODUCT. Therefore I really like the recent changes to the Ruby on Rails ecosystem very much.

What we need is a larger user base setting everything up and discovering edge-cases and (!) writing about it (AND notifying the people around Rails). The more experience and knowledge there is, the better the tooling becomes. The happy path needs to become as broad as a road!

Like Kamal, at first only used by 36signals and now used by them and me. :D At least, of course.

Kudos!

Best, Steviee