Paul Spormann
logfrogdog.bsky.social
Paul Spormann
@logfrogdog.bsky.social
Software, data, rust, python, finance, macro, anime, gaming
Reposted by Paul Spormann
How Decentralized Is Bluesky Really? dustycloud.org/blog/how-dec...

A technical deep-dive, since people have been asking me for my thoughts. I'll expand a bit on some of the key points here in a thread. 🧵
How decentralized is Bluesky really? -- Dustycloud Brainstorms
dustycloud.org
November 22, 2024 at 4:06 PM
Reposted by Paul Spormann
[new blog post]
DBSP: Automatic Incremental View Maintenance for Rich Query Languages
muratbuffalo.blogspot.com/2024/11/dbsp...
DBSP: Automatic Incremental View Maintenance for Rich Query Languages
Incremental computation represents a transformative (!) approach to data processing. Instead of recomputing everything when your input chang...
muratbuffalo.blogspot.com
November 20, 2024 at 2:17 AM
Reposted by Paul Spormann
Announcing Crunchy Data Warehouse! A next-generation Postgres-native data warehouse that provides full Iceberg support for fast analytical queries and transactions.Read more in our announcement. www.crunchydata.com/blog/crunchy...
Crunchy Data Warehouse: Postgres with Iceberg for High Performance Analytics | Crunchy Data Blog
We are excited to release Crunchy Data Warehouse, a modern data warehouse for Postgres. Crunchy Data Warehouse combines Postgres with Iceberg, Parquet, and data lake formats for fast analytics queries...
www.crunchydata.com
November 20, 2024 at 2:45 PM
Reposted by Paul Spormann
The latest uv release includes support for conflicting dependencies across optional groups.

A subtle but very powerful feature.

For example: use the PyTorch CPU build with `uv sync --extra cpu` and the CUDA build with `uv sync --extra gpu`. All powered by a single lockfile.
November 19, 2024 at 8:08 PM
Feel like my initial follow choices based on the starterpacks were quite solid. Seeing interesting database, rust, python and banking content on my feed. So far pretty happy 🤩🙂
November 19, 2024 at 4:28 PM
Reposted by Paul Spormann
Another great practical resource on Postgres, straight up from their official wiki: Don't do this

contains a bunch of things you should *not* be doing

https://wiki.postgresql.org/wiki/Don%27t_Do_This
November 19, 2024 at 3:56 PM
Reposted by Paul Spormann
I also heard this class is great: pages.cs.wisc.edu/~ra/Classes/...

Both of them are at UIUC now. Here’s the class for this year courses.grainger.illinois.edu/cs425/fa2024...
CS-739: Distributed Systems
pages.cs.wisc.edu
November 19, 2024 at 12:01 AM
Reposted by Paul Spormann
“I'm now convinced that async/await is, in fact, a bad abstraction for most languages, and we should be aiming for something better instead and that I believe to be thread.”

lucumr.pocoo.org/2024/11/18/t...
Playground Wisdom: Threads Beat Async/Await
Musings about async await again and why I think virtual threads are a better model.
lucumr.pocoo.org
November 18, 2024 at 12:04 PM
Reposted by Paul Spormann
For the second edition of Designing Data-Intensive Applications we want to add a brief explanation of what a Bloom filter is (even though it's quite a well-known concept, we don't want to assume readers already know it). Here's my attempt at showing it diagramatically. What do you think?
November 2, 2024 at 2:36 PM
Reposted by Paul Spormann
Part of maturing as an engineer is recognizing the difference between "thing you would do differently" and "thing you should comment on during code review"
November 18, 2024 at 1:47 PM
Reposted by Paul Spormann
For the new techies here:

1. Bluesky is built on an open social protocol called ATProtocol

2. You CAN & SHOULD hack on this stuff. An open innovation network is our fundamental strategy for beating centralized attention-economy enshittification.

3. HackerNews for ATProto: frontpage.fyi
Frontpage
Your frontpage to the internet.
frontpage.fyi
November 18, 2024 at 1:15 PM
Reposted by Paul Spormann
i wonder if diagrams like these might help draw the distinction between ActivityPub (and how Mastodon uses it) and AT Protocol (and how it’s used by Bluesky and atproto apps)?

with AP, instance = application + hosting. data gets sent between instances.

with AT, data flows *from* hosting *to* apps
October 30, 2024 at 1:08 AM
Reposted by Paul Spormann
Taking inspiration from @martin.kleppmann.com blog post Verifying distributed systems with Isabelle/HOL

In Python Mesa, an agent has a step function. If there is a message to deliver, we trigger a Receive Event, if not, a Timeout Event

martin.kleppmann.com/2022/10/12/v...

bsky.app/profile/domi...
November 18, 2024 at 10:00 AM
Reposted by Paul Spormann
Inflation vs. Prices, by John H. Cochrane

www.grumpy-economist.com/p/inflation-...
Inflation vs. Prices
Did “supply shocks” or “relative demand shocks” cause the recent inflation?
www.grumpy-economist.com
November 17, 2024 at 8:17 AM
Reposted by Paul Spormann
Initial uv support just landed in IntelliJ's main branch 👀
November 17, 2024 at 5:15 PM
Reposted by Paul Spormann
Anime : Neon Genesis Evangelion (1995)
November 16, 2024 at 6:39 AM
Reposted by Paul Spormann
Depending on your use case, you might be pretty happy with NATS and the Rust client. The single binary & related Docker container makes it refreshingly simple to start/prototype/dev. We using this a ton at @systeminit.com
November 16, 2024 at 4:13 PM
Reposted by Paul Spormann
Could I please have $10M to build a team to create Kafka in Rust?
November 16, 2024 at 3:12 PM
Very interesting conversation with Stanley Druckenmiller. Although a few months old, nice discussion of assets for a hard landing, FED independence and the US budget.
www.youtube.com/watch?v=bMAm...
Sohn 2023 | Kiril Sokoloff in conversation with Stanley Druckenmiller
YouTube video by Sohn Conference Foundation
www.youtube.com
November 17, 2024 at 9:34 AM
Reposted by Paul Spormann
As Bluesky is now so lively, it seems likely that the network effect will start working in its favour. It's increasingly plausible that Bluesky will become as big as X.

Source for X data: x.com/elonmusk/sta...
Source for Bluesky data: bskycharts.edavis.dev/edavis.dev/b... (thanks @edavis.dev)
November 16, 2024 at 10:46 PM
Reposted by Paul Spormann
A while back I published a detailed code walkthrough of CPython's GC implementation. But there was a need for a higher level explanation of the overall memory management mechanism of CPython without discussing the code. I did just that in a recent article. Here's a summary:
November 17, 2024 at 8:33 AM
Saw this recent blog post on using uv in combination with Docker. Probably a decent starting point but still looking for an extensive template with examples for distroless and so on.

mkennedy.codes/posts/python...
Docker images using uv's python
uv has added a new way to build Python-based containers.
mkennedy.codes
November 17, 2024 at 9:00 AM
Will try to post interesting content in programming and finance regularly to connect with likeminded people. Ideally even share some blog posts 😅
November 17, 2024 at 8:50 AM
Still looking for the perfect zsh terminal prompt setup. Happy about any suggestions 😎
November 16, 2024 at 7:40 AM