dwwoelfel

Joined 17 years ago

Karma
4,363
Submissions
505
Member since
Dec 18
[email protected]

https://github.com/dwwoelfel

https://twitter.com/danielwoelfel

YC Badge: 0x9e3313e5bd4204ba554c8615b35b4d99d089d31d

View on Hacker News

Recent submissions

Comment · 6 months ago
Are you using `walg wal-receive` for streaming? As far as I can tell, that command will wait for the full wal segment before it pushes anything to storage. I don't see any way to stream wal records continuously in wal-g.
Comment · 1 year ago
Carmack is talking about variable reassignment here, which Clojure will happily let you mutate.

For example:

  (let [result {:a 1}
        result (assoc result :b 2)]
    ...)

He mentions that C and C++ allow const variables, but Clojure doesn't support that.

clj-kondo has a :shadowed-var rule, but it will only find cases where you shadow a top-level var (not the case in my example).

Comment · 1 year ago
You have to use the slug from the wiki page. `Jell-O` to `Philosophy` works.
Comment · 1 year ago
If you want an RSS feed of your YouTube video subscriptions, I made an app for that:

https://yt-better-subs.web.app/

I went through quite the hassle to get the app's oauth scopes approved with Google so that it can keep your subscriptions up-to-date as you add or remove YouTube channel subscriptions.

Comment · 2 years ago
Here's how we did it at OneGraph (RIP), where we not only upgraded versions without downtime, but we also moved hosting providers from GCP to Aurora without downtime.

1. Set up logical replication to a new database server. We used https://github.com/2ndQuadrant/pglogical, but maybe you don't need that any more with newer versions of postgres?

2. Flip a feature flag that pauses all database queries and wait for the queue of queries to complete.

3. Wait for the query queue to drain and for replication to catch up.

4. Flip a feature flag that switches the connection from the old db to the new db.

5. Flip the flag to resume queries.

It helped that we were written in OCaml. We had to write our own connection pooling, which meant that we had full control over the query queue. Not sure how you would do it with e.g. Java's Hikari, where the query queue and the connection settings are complected.

We also had no long-running queries, with a default timeout of 30 seconds.

It helped to over-provision servers during the migration, because any requests that came in while the migration was ongoing would have to wait for the migration to complete.

Comment · 2 years ago
How do you handle shipping price calculations? Is that also a feature in Stripe's Product Catalogue?
Comment · 2 years ago
Comment · 3 years ago
Comment · 4 years ago
You can build curl without support for ftp.
Comment · 4 years ago
Might be better to redirect to the news.ycombinator.com instead of google.com. I'd be less likely to notice that, especially if I opened it in a background tab.

But maybe that's the kind of criticism he was trying to avoid in the first place!

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton