Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
diarrhea
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
61.
▲
by
diarrhea
1y ago
I've not used Redis Streams, but it might work. I've seen folks advise against PG, in favor of Redis for job queues. > using a table instead of LISTEN/NOTIFY What do you mean? The job queue is backed by a PG table. You cou
62.
▲
by
diarrhea
1y ago
Your version makes sense. I understood the OP's approach as being different. Two (very, if indexed properly) short transactions at start and end are a good solution. One caveat is that the worker can die after t1, but before t2 - hence
63.
▲
by
diarrhea
1y ago
Yes, and that cannot work: if a task is unlocked but in 'executing' state, how was it unlocked but its state not updated? If a worker/processor dies abruptly, it will neither unlock nor set the state appropriately. It won&#
64.
▲
by
diarrhea
1y ago
This introduces long-running transactions, which at least in Postgres should be avoided.
65.
▲
Billion Cell Spreadsheet
(xls.feldera.io)
2 points
by
diarrhea
1y ago
|
0 comments
66.
▲
by
diarrhea
1y ago
> What’s the rationale for making it all free? The writing is on the wall for Leetcode-style interviewing. The signal-to-noise ratio is diminishing in the age of AI (cheating). These sorts of puzzle challenges might no longer play a mean
67.
▲
by
diarrhea
2y ago
IIRC it is just having locks with exclusive constructors, which take previous locks’ guards (by ownership?). That way you can never lock lock B if you have not received a guard aka lock from lock A prior. Ensured on the type level. I suppos
68.
▲
by
diarrhea
2y ago
Thank you! Very insightful, especially the forum link and the observation around UUIDs bloating indexes.
69.
▲
by
diarrhea
2y ago
This is very exciting stuff. I’m curious: When you say FOR UPDATE SKIP LOCKED does not scale to 25k queries/s, did you observe a threshold at which it became untenable for you? I’m also curious about the two points of: - buffered reads
70.
▲
by
diarrhea
2y ago
Yes, but that is not garbage.
71.
▲
by
diarrhea
2y ago
> It just litters perfectly reasonable python code with async/await Yeah. As an API consumer I would not expect a PDF API do IO, hence be async. Have the library be sans-io, the interfaces sync and callers from async code handle IO
72.
▲
by
diarrhea
2y ago
I’m curious about the async aspect of this. I was under the impression PDF processing like OCR is purely CPU bound. OS file I/O interfaces are sync, so async does not help. With GIL, so single threaded Python, I can’t see how async imp
73.
▲
by
diarrhea
2y ago
Interesting, thank you for the example. I'm mostly used to how Rust handles this, and in its approach individual items such as functions need to be "standalone sane". func foo[T any, V any](x T) V { return x.y
74.
▲
by
diarrhea
2y ago
> Sadly, Go's generics are a bit of a basket case in terms of usefulness since they don't support compile time duck typing like C++ generics, What are you referring to here? Code like func PrintAnything[T Stringer](item T
75.
▲
by
diarrhea
2y ago
Your first paragraph is a great description of what I am currently feeling as well. There just isn’t anything there. I’m familiar with Python, Rust, C# and other random languages. Go just has nothing to offer meanwhile. I am struggling with
76.
▲
by
diarrhea
2y ago
Yes. The concept of references (which includes that of null pointers) and that of optionality (which includes that of nothingness) are orthogonal. The former is just an artefact of computer architecture, the latter is everyday business logi
77.
▲
by
diarrhea
2y ago
Do you have a concrete example by any chance?
78.
▲
by
diarrhea
2y ago
Yeah, the landscape is horrible. I created NS records on example.com to delegate all of home.example.com to a wholly different DNS provider. That provider then manages (all of) that zone, but nothing more (important records such as MX remai
79.
▲
by
diarrhea
2y ago
Lua can also be massively faster than Python (LuaJIT).
80.
▲
by
diarrhea
2y ago
> A trait is object-safe as long as no trait method returns the implementing type (like T::clone() -> T) That, and much more: https://doc.rust-lang.org/reference/items/traits.html#object... .
81.
▲
by
diarrhea
2y ago
> having the intuition of how fast computers can work I wish I never developed it. It turned what used to be mild annoyances into questioning my career choices.
82.
▲
by
diarrhea
2y ago
A coworker of mine dislikes it as it bundles everything into a single binary. For example, to have ACME DNS-01 challenges for certificate issuance working, I need to compile in a Google DNS-specific plugin. But then it... just works. Try th
83.
▲
by
diarrhea
2y ago
From their perspective, what are you going to do? Say you implemented a new function and missed some clear edge cases in the new tests. Or perhaps there's no tests written at all, because it was half-assed. You will have to speak up in
84.
▲
by
diarrhea
2y ago
Companies generally follow decision-driven data principles.
85.
▲
by
diarrhea
2y ago
Azure Cloud isn’t mentioned in the article.
86.
▲
by
diarrhea
2y ago
Empty/unset environment variables not, by default, being cause for immediate error and abort is the billion dollar mistake of the DevOps/infra world.
87.
▲
by
diarrhea
2y ago
I feel like a filesystem with native snapshot support (zfs, btrfs), replicated once (also native in zfs) obsoletes conventional 3-2-1 backup systems. It’s technically only 2 versions, but you’re protected from all the same failure modes.
88.
▲
by
diarrhea
2y ago
Hilarious coincidence. I had and loved that exact same model for the same reasons. Until one of the dials broke and I discovered how utterly irreparable the thing is. Had to get rid of it and indeed, it’s impossible to find similarly simple
89.
▲
by
diarrhea
2y ago
I wish more people used asserts like that. Such a wonderful tool for documentation. It complements the type system and testing really well.
90.
▲
by
diarrhea
2y ago
I’ve been using catchall email for everything for well over 5 years now, and it hasn’t been useful once since. Regular spam filters from my provider and occasionally hitting “Unsubscribe” once seem to do the trick.
More ›