HN user

skunkworker

2,499 karma

twitter @skunkworker

github @skunkworker

I work in ruby, go and postgres.

Posts9
Comments558
View on HN

When Apple still had intel chips, I remember how long it used to take for external displays to be properly detected and to start working. The first time I used a M series chip, suddenly the displays were detected and started working in a second or two. I had assumed that that’s how long it always had to take, when in reality it could an order of magnitude quicker, and on a thunderbolt dock.

Rails shops running on normal CRuby, have difficult in effectively scaling out multithreading due to the GVL lock. It's much easier to "scale" ruby using forking with sidekiq or multi process, and to have it consume data from a Redis list. It is possible to get around the GVL using JRuby, but that poses a different set of constraints and issues.

There is some definite blending of async messaging in the Ruby world though. I've seen connectors which take protobufs on a kafka topic and use sidekiq to fan out the work. With Redis (looking at sidekiq specifically) it becomes trivial to maintain the "current" working set with items popped out of the queue, with atomic commands like BLMOVE (formerly BRPOPLPUSH).

Kafka is taking an interesting turn however with the KIP-932 "Queues for Kafka" initiative. I personally believe it could eat RabbitMQ's lunch if done effectively. Allowing for multiple consumers, a "working set" of unack'ed data, without having to worry as much about the topic partition count.

Related:

PayPal Honey extension has again "featured" flag in Chrome web store - https://news.ycombinator.com/item?id=43298054 - March 2025

LegalEagle is suing Honey [video] - https://news.ycombinator.com/item?id=42581108 - Jan 2025

uBlock Origin GPL code being stolen by team behind Honey browser extension - https://news.ycombinator.com/item?id=42576443 - Jan 2025

Show HN: Open-source and transparent alternative to Honey - https://news.ycombinator.com/item?id=42535274 - Dec 2024

Exposing the Honey Influencer Scam [video] - https://news.ycombinator.com/item?id=42483500 - Dec 2024

Amazon says browser extension Honey is a security risk, now that PayPal owns it - https://news.ycombinator.com/item?id=22016031 - Jan 2020

copied from this comment https://news.ycombinator.com/item?id=43538687

After working with the Postgres WAL through logical replication in the last few months on a work project. My largest gripe is that some specific behaviors (like how a WAL receiver process should respond to a fast-shutdown on the database backend), aren't well documented outside of asking questions on the postgres discord.

Specifically: If the server requests a reply on a heartbeat, the status update should include the heartbeat's LSN on the next loop. But a standby status update includes the LSN values + 1.

I was able to get it working and properly disconnecting to a fast shutdown, but when you get into the internals of the logical WAL receiver loop, it can get nuanced.

And my largest compliment is that the Postgres discord is filled with some extremely knowledgeable and helpful people. I was able to figure out some really specific and nuanced behavior around the different status messages being sent to the primary server, thanks to the in-depth responses there.

Millions of events per day is still in the small queue category in my book. Postgres LISTEN doesn't scale, and polling on hot databases can suddenly become more difficult, as you're having to throw away tuples regularly.

10 message/s is only 860k/day. But in my testing (with postgres 16) this doesn't scale that well when you are needing tens to hundreds of millions per day. Redis is much better than postgres for that (for a simple queue), and beyond that kafka is what I would choose in you're in the low few hundred million.

You can get generic finasteride 1mg/180 (6 month) for as low as ~$17 if you go to a Kroger pharmacy and use their preferred savings program (I forget the name off hand) and no insurance coverage. Kroger discontinued their Kroger savings and now have a preferred card, which ended up being half the cost of the best deal on GoodRX.

Source: I picked up a 6 month supply last week.

I recently purchased a M18 trimmer after not using one for years, it still surprises me that when not on the throttle - "off" is truly off, and not the persistent hum of a 2 stroke that is too loud in your left ear. No fumes and no fuel/oil mix to worry about.

Unless their pricing has changed, it’s quite exorbitant when you need a lot of data. To the point that one year of cockroachdb would cost 5x the cost of the server it was running on.

Swiss Tables 1 year ago

For those reading, Go officially adopted swisstable into Map for 1.24 last week.

Uncut Currency 2 years ago

Some banks also do this. I’ve gotten a wad of $2 bills from a local branch of a major bank before.

The internal tools I've used regenerate the code as part of the CI process, and will fail the pipeline if the regenerated code has dirtied the git tree.

While in Iceland I learned from local fisherman who have conflicting thoughts on joining the EU. On one hand it could strengthen relations, but on the other they would not be able to preserve their fisheries from being over fished.

Interesting, is there a reason why Postgres wouldn't just apply the shared query planning to INSERT...VALUES as well, it seems like almost a no-brainer to speed up all queries. Or is this more related to how the parser works with the values?

I will be curious to see what JRuby's fiber implementation is like in their upcoming version, currently I work on JRuby rails deployments with dozens of threads across hundreds of nodes. There's definitely some learning curves and tuning necessary when you have 40 threads in contention over a particular shared resource vs 3-5 on regular CRuby.

From what I remember, the cost per server per year was about 5x to 6x (annually) the hardware cost of a new server, and these were dual 32 core EPYCs. 64 cores per box at per core licensing gets really expensive.

Spanner is cheap in comparison depending on your storage requirements. I've seen CockroachDB quoted as 10x more, and for a product that is harder to sell to stake holders.

It is true. I’ve been doing multi monitor support on a M1/M3 pro for years now. Triple external monitors (2 off a dock and 1 displaylink). The older amd graphics cards took 10-15s to detect external monitors while the apple silicon chips take 1s.