Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
sa46
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
21 ms
·
181.
▲
by
sa46
4y ago
You lose traditional FK constraints with temporal tables since there's multiple copies of a row. One workaround is to partition current rows separately from historical rows and only enforce FK constraints on the current partition.
182.
▲
by
sa46
4y ago
I'm on team RPC. I'll stay away from the term REST since my beef is with HTTP APIs that mix transport and application concerns. - The Kingdom of Nouns comparison is forced. Yegge's complaint is that nouns own the verbs, meani
183.
▲
by
sa46
4y ago
I went down this path to madness a few years ago [1]. HN discussion [2]. Nowadays, I use IntelliJ for everything. [1]: https://blog.d46.us/zsh-tmux-emacs-copy-paste/ [2]: https://news.ycombinator.com/it
184.
▲
by
sa46
4y ago
One consequence is that you end with cute names instead of clear names. Cherry picking from the top 30 or so crates: - parking_lot - hashbrown - ryu - heck The longer there's a shared namespace, the stranger the names get as the "
185.
▲
by
sa46
4y ago
Other globally consistent NewSQL DBs: Spanner, TiDB, Yugabyte, SingleStore Partitioning for existing DBs: Citus for Postgres and Vitess for MySQL. Snowflake apparently just started to target transactional workloads with UniStore.
186.
▲
by
sa46
4y ago
The upside of structural typing, with some help from Go idioms, is that it encourages composition and narrow types. A type like bytes.Buffer implements Reader, Writer, ByteWriter, ByteReader and another 5 or so interfaces but the call site
187.
▲
by
sa46
4y ago
A data race and garbage collection are unrelated. A data race occurs when: > two or more threads in a single process access the same memory location concurrently, and at least one of the accesses is for writing. Rust provides compile tim
188.
▲
by
sa46
4y ago
Dan Luu has a take on this: http://danluu.com/butler-lampson-1999/
189.
▲
by
sa46
4y ago
I don't think that's fair. It's telling that two companies have ditched the enormous complexity of gRPC for their own solution. There's a great comment from a gRPC engineer back when Twirp launched evaluating why Twirp h
190.
▲
by
sa46
4y ago
Expiring tokens has a section in that link: > Many APIs store page tokens in a database internally. In this situation, APIs may expire page tokens a reasonable time after they have been sent, in order not to needlessly store large amount
191.
▲
by
sa46
4y ago
The API improvement proposals (AIP, yes it's a terrible acronym) are a rich source of API design wisdom. It assumes protobufs but the majority of proposals would work for any API. The relevant one is https://google.aip.dev&
192.
▲
by
sa46
4y ago
They claim 4x faster against vanilla postgres for "commercial workloads" so it sounds really impressive. > I wonder if there are performance tradeoffs sometimes leading to slower than vanilla postgres? Speculation: alloydb prob
193.
▲
by
sa46
4y ago
It wasn't clear to me how it was related to Postgres so I spun up a cluster and alloydb is Postgres with a different storage engine (similar to the long awaited zedstore project). That means all Postgres features work.
194.
▲
by
sa46
4y ago
Any interesting details on how it’s implemented? If I were guessing, register a stripe webhook. On each webhook, and fetch changed events and turn it into proper sql.
195.
▲
by
sa46
4y ago
That's the approach I've taken as well. We use coalesces to ensure queries to never return null and handle the zero value or a sentinel value specially. Since our API layer is protobufs which don't have nil, the zero value i
196.
▲
by
sa46
4y ago
IntelliJ's integration with GitHub PRs is nice. The one thing I miss is you can't what changed if you switch from the PR diff view to the normal code view which you need for code navigation and refactoring.
197.
▲
by
sa46
4y ago
Interesting, I hadn't thought of it that way. Looking through our codebase: - We get a lot of mileage out of DISTINCT ON to get the most recent version of a row for some subset of columns. I think this a different use case than what yo
198.
▲
by
sa46
4y ago
Author here. Things that have changed since I published this. - Doom emacs does most (all) of these with a bunch of cleverer techniques than mine. I’d recommend doom over rolling your own emacs. - I use IntelliJ just about exclusively. - I
199.
▲
by
sa46
4y ago
I started a cluster and initial testing shows that alloydb is Postgres, so everything should just work. The blog post [1] has more details on the implementation [1]. [1]: https://cloud.google.com/blog/products/da
200.
▲
by
sa46
4y ago
What does 100% compatibility refer to? Does alloydb support triggers, partitions, and extensions?
201.
▲
by
sa46
4y ago
> I want to check out the state of the world at a specific commit, write a change, a week later write another change, revert the first change 3 weeks later. This is sort of like temporal tables but with the ability to branch from a previ
202.
▲
by
sa46
4y ago
I've seen credentials appear in logs from env vars. Logs tend to replicate to a few different systems and are usually less locked down than the app they came from. An attacker could get lucky with logs that live in a less-secure storag
203.
▲
by
sa46
4y ago
How would Lightrun have helped here? Skimming their docs, it looks like a fancy debugger that can log stuff on prod and display it in your IDE. A debugger is most useful when you know where the problem is and you can either reproduce it or
204.
▲
by
sa46
4y ago
GWT was replaced by the similar J2CL and is used for GMail, Inbox, Docs, Slides and Calendar.
205.
▲
by
sa46
4y ago
With cross compilation or docker for development, I'm not clear on why using Linux is a huge boon to developing servers. Having been down the path of Linux-for-all-things, these days I'd much rather have a nice, fast macbook.
206.
▲
by
sa46
4y ago
Related question, what are broad recommendations for vehicle routing with capacity, time windows, and a smattering of other constraints? I'm a generalist SWE by trade and my (shallow) survey of the field revealed: General solvers: - Lo
207.
▲
by
sa46
4y ago
In-place is a separate concept from zero downtime. Similarly, an inplace upgrade of your OS doesn't mean you can continue using the OS during the upgrade; it means you get to keep your data without restoring from an external backup. Th
208.
▲
by
sa46
5y ago
That’s a sed-injection bug.
209.
▲
by
sa46
5y ago
A interesting question to ponder is how and why you would mandate training for a various task across a large organization while balancing constraints of maintaining readiness, accomplishing other mandated training, equipment availability, a
210.
▲
by
sa46
5y ago
I suspect the overwhelming majority of crime reporting is citizens reporting other citizens, i.e. calling 911.
More ›