Toots for tobinbaker@discuss.systems account

Written by Tobin Baker on 2025-01-17 at 04:58

Thanks to @andy_pavlo for pointing out the only known free query optimizer textbook:

https://www.microsoft.com/en-us/research/uploads/prod/2024/12/Extensible-Query-Optimizers-in-Practice.pdf

=> More informations about this toot | View the thread

Written by Tobin Baker on 2025-01-04 at 20:18

Scalability litmus test for serializable databases:

Do concurrent increments on the same key contend (i.e., force their txns to wait or retry)? If these increments are blind (i.e., the old or new value is never used), then they need not conflict (same applies to any blind RMW op). Yet the only production database I know that satisfies this test is FoundationDB--are there others?

(BTW, commutativity of increment is a red herring: noncommutative blind RMW ops don't conflict either, e.g. destructive string append.)

(I think that OCC is required for this to work, but not MVCC, as long as your OCC isn't pointlessly doing WW conflict detection.)

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-12-14 at 00:32

(Maybe you could optimize this a bit for queries over current versions, at the expense of queries in the past, by maintaining a "tombstone" instance of the data structure that only holds entries for deleted keys, pointing into the undo log as before. That would require merging queries over both structures for queries in the past.)

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-12-13 at 23:11

(Also, this approach is efficient enough for MVCC scenarios but probably not for true point-in-time queries; for that you'd want something more specialized like a time-split B-tree.)

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-12-13 at 23:09

(Of course, you'd need to maintain tombstone entries in the primary structure for recently deleted keys; to avoid space blowup you could augment log truncation with an async "vacuum" pass over the primary structure to remove all tombstones pointing to a log entry older than the truncation point.)

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-12-13 at 20:38

There seems to be convergence among MVCC DB systems (except those requiring address stability) to the "update-in-place with undo log" approach to version storage. Why not use this approach to make any standalone data structure multiversioned? Just take any update-in-place structure and add an append-only undo log. The primary structure stores current versions and the undo log stores previous versions. Each entry in either the primary structure or the undo log has a pointer (or log offset) to the previous version in the undo log, so the primary structure effectively holds a linked list of versions for each entry. Because the undo log is totally ordered by update recency, it can easily be truncated at a particular LSN or timestamp (e.g., the timestamp of the oldest active transaction in a database). For a concurrent primary structure, the undo log itself can provide a total order on operations (e.g., via fetch-and-add on the next log offset), which may have additional applications besides version management (e.g., in replication).

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-12-12 at 05:23

"At the docks of the United Fruit Co., mechanical carriers, so perfected as not to bruise the fruit, have replaced the leisurely negro."

=> View attached media

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-12-12 at 04:56

I bet the 50s were swell for everybody lucky enough to live in Bananaland

=> View attached media

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-12-02 at 18:53

if you can't toss citrus peels in the compost (b/c worms), try tossing them in a big pot o' water on the stove, sprinkling a bit of cinnamon on top, and boiling it all day. your house will smell amazing.

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-11-25 at 02:28

Great news @irene, you’re trending on the orange site!

https://news.ycombinator.com/item?id=42214113

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-11-20 at 17:28

"Leaders start with the shareholder and work backwards. They work vigorously to earn and keep shareholder trust. Although leaders pay attention to competitors, they obsess over shareholders."

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-11-11 at 04:51

now this might come in handy

https://github.com/rye/eb

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-10-05 at 19:16

As usual Biden admin talking out of both sides of its mouth in public and in private

https://www.politico.com/news/2024/09/30/us-israel-military-hezbollah-00181797

Reminder that Sullivan, McGurk, Nuland et al (basically Hillary's State Dept) were almost uniformly in favor of Iraq invasion and later humanitarian disasters in Libya, Syria, Yemen

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-10-04 at 04:12

Can't believe it took me this long to discover I Think You Should Leave, easily my favorite comedy series since Trailer Park Boys.

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-10-02 at 22:08

Question about pointer tagging: I really need 17 bits for my tag but it won't fit into the 16 available high bits on Aarch64. Now I'm wondering about combining high/low bits in a single tag: shift 8- or 16-byte-aligned address right 3 or 4 bits, then use the high 19 or 20 bits for the tag, then shift and mask to use the pointer. Has anyone done anything like this before?

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-09-21 at 04:58

LOL just peeked at Glassdoor and almost all the reviews from this year appear to be written by LLMs

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-09-17 at 02:36

Folks currently working at MSFT, what's your experience with WFH policy? How much flexibility do managers have, and what seems to be the long-term outlook for WFH?

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-08-24 at 01:55

only now appreciating this wisdom

https://www.yosefk.com/blog/profiling-with-ctrl-c.html

=> View attached media

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-08-23 at 21:10

Judging by the relative paucity of information on the net, you'd think off-CPU profiling was some weird niche scenario instead of, like, totally essential to understanding performance.

Related: I loved using uftrace[0] for my previous project and miss it terribly now: I haven't found any options to perf that can make it do the same things. The blocker is that I have to be able to attach to a running process and uftrace has had an open issue on that for like 8 years. Anyone know of any profiler with similar capabilities that can attach to a running process?

[0] https://github.com/namhyung/uftrace

=> More informations about this toot | View the thread

Written by Tobin Baker on 2024-08-20 at 03:36

A lot of Roald Dahl books I loved as a child have not held up well, but Danny the Champion of the World is as sweet as many of his other books are mean-spirited. I'm absolutely loving reading it to my 8-year-old, and I think he's loving it too.

=> More informations about this toot | View the thread

=> This profile with reblog | Go to tobinbaker@discuss.systems account

Proxy Information
Original URL
gemini://mastogem.picasoft.net/profile/109910277044777714
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
364.798575 milliseconds
Gemini-to-HTML Time
9.185981 milliseconds

This content has been proxied by September (ba2dc).