Sign in

Andrey Petrov

@shazow.net
883 followers 408 following 483 posts

A doodler and computerer. I like permissive/permissionless open source, smart contracts, p2p systems, room-scale VR, and NixOS. 🇨🇦 Also on: shazow.net github.com/shazow farcaster.id/shazow.eth

PostsRepliesMedia
Andrey Petrov @shazow.net · 12/09/2026
Even without markets, competition still thrives.
010
Andrey Petrov @shazow.net · 29/08/2026
i think copyleft in 2026 has a lot of underappreciated downsides, especially on the social side latest one i realized recently (still need to add to the post) is that highly multipolar/partial usage is necessary for effectively reducing bugs (copyleft forces monoliths): x.com/shazow/statu...
x.com
Andrey 🦃 Petrov (@shazow) on X
Linus's Law was close but slightly off: It's not about how many eyes can see the code, but it's about how many hands (and claws) are pulling on it in every direction which exercise it to the point of ...
120
Andrey Petrov @shazow.net · 29/08/2026
(excuse my interjection) i wrote a big post tackling this debate through a bunch of different angles, if you're interested in reading: shazow.net/posts/permis... (disclaimer: i'm biased toward the permissive side today, but i acknowledge copyleft worked well 20+ years ago in a different world)
shazow.net
Permissive vs Copyleft Open Source | shazow.net
The premise of copyleft licenses is attractive: Create more open source! With permissive licenses, someone can take the code and make proprietary modifications …
110
Andrey Petrov @shazow.net · 28/08/2026
i made a chess-themed puzzle autobattler minigame, anyone wanna try? chessmatic.shazow.net would appreciate feedback about what's fun/notfun, still tweaking the puzzles and mechanics
Screenshot of Chessmatic, showing a 3x8 chess board and an inventory of units to putdown
000
Andrey Petrov @shazow.net · 19/07/2026
Wonder how the harnesses would do on @sockpuppet.org's old cryptopals challenges. Probably plenty of solutions in the training data but many might refuse.
000
Andrey Petrov @shazow.net · 18/07/2026
When we use the wrong abstractions, complexity accumulates to route around the problem.
030
Andrey Petrov @shazow.net · 15/06/2026
Me: "I can't do that with my mouth because I'm not a bird" @tracyosborn.com: "... yet!" Let this be a reminder to everyone: We're still so early, your bird era could still be ahead of you!
0160
Andrey Petrov @shazow.net · 15/06/2026
Any plans for Go bindings? :D (Maybe this will push me to try writing Rust again... 🫠)
2170
Andrey Petrov @shazow.net · 26/05/2026
🔥🔥🔥
030
Andrey Petrov @shazow.net · 17/05/2026
with such a short time limit, why the 1 edit limit? (generally agree with others that 5min is too short. perhaps no limit until there's engagement like repost or reply? though would be nice to address "you have a typo" replies)
000
Andrey Petrov @shazow.net · 10/05/2026
trying to come up with a name for my vm manager for sandbox workflows, how bad is virtopus? 🐙
030
Andrey Petrov @shazow.net · 06/05/2026
turns out there's just way too many abnormal people 😭
010
Andrey Petrov @shazow.net · 24/04/2026
the ~~information~~ coding superhighway
010
Andrey Petrov @shazow.net · 23/04/2026
+1, "coding" with optional distinction of tradcoding as "meatcoding"
030
Andrey Petrov @shazow.net · 04/04/2026
Vibecoding is not the future, it is a commoditization of the past. The future of software engineering is building robust bug-free software, in a world where the cost of each bug is dramatically higher than before. The "lean Ethereum" megaproject is an example of what this looks like.
070
Andrey Petrov @shazow.net · 25/03/2026
One note: When comparing permissive vs copyleft across ecosystems, keep in mind that they mean different things if the language is dynamic/interpreted like Python/Ruby vs compiled/statically linked like Go/Rust/etc (GPL boundary changes). I write about it here: shazow.net/posts/permis...
Quote fromhttps://shazow.net/posts/permissive-vs-copyleft/#copyleft-nuances-and-complexity

## Copyleft nuances and complexity

I can write Python that has a copyleft GPL dependency without relicensing my project to match, but I can’t write Go that has a GPL dependency without relicensing. Why?

Python is interpreted and the code is linked dynamically, whereas Go produces a statically linked binary so the copyleft “infects” the rest of the code.

Unless, of course, if I want to ship my Python program as a py2exe bundle with a GPL dependency, then that changes everything.

Does anyone actually understand these implications and how they vary across languages? Of course not!

But wait, what if I split out the GPL dependency into a shared library that is dynamically linked? Oh, that’s fine. Unless you ask the FSF, who disagrees with almost everyone else.

What about other copyleft licenses like LGPL? MPL? AGPL?

What if I wrap an AGPL dependency in a network-isolated container which batch-processes input from a proprietary component in my system? That’s fine.

Did we really improve anything or are we just asking people to create complex infrastructure and deployment workarounds?
010
Andrey Petrov @shazow.net · 25/03/2026
Re "outsized impact on screwing people over": Do you feel people are indirectly forced into using source-available licenses? Or is more that the liability of choosing to depend on that software is unclear in the beginning? (I wrote a bit about the latter but curious what your experience has been.)
000
Andrey Petrov @shazow.net · 24/03/2026
Dunno about #2, but I feel like #1 is deciding whether the thing is slop or not. If it's disposable with no plans of maintaining, then treat it accordingly. If someone is going to commit to owning/maintaining it, then doesn't matter how it's coded. Related rant here: bsky.app/profile/shaz...
000
Andrey Petrov @shazow.net · 24/03/2026
Are you a wifitui user? I want to improve how we render "(5 APs)", what do you think of these ideas? Currently leaning on: 📡·5 github.com/shazow/wifit...
Screenshot of contents inside https://github.com/shazow/wifitui/issues/164:

I kinda don't love seeing things like "(3 APs)" in the list view.

<wifitui screenshot>

Some ideas of how to improve them:

Emojis? Max out on three emojis for APs, so 2 APs would say 📡📡, 5 APs would still say 📡📡📡➕ maybe? 1 AP would be nothing (since that's implied) Or maybe 📡···+ for 8?
AP✖️3? Or 📡✖️3? Or simply 📡3? 3📡? 📡·3?
Other ideas?
This annotation should be configurable in the theme.
010
Andrey Petrov @shazow.net · 23/03/2026
If you're optimizing for adoption, I advise a simple algorithm: Pick the most popular permissive license in your ecosystem. It has to be popular for this reason, because everyone is already comfortable with using it. I wrote more about this here: shazow.net/posts/permis...
shazow.net
Permissive vs Copyleft Open Source
The premise of copyleft licenses is attractive: Create more open source! With permissive licenses, someone can take the code and make proprietary modifications to it and sell it to other people withou...
010
Andrey Petrov @shazow.net · 23/03/2026
"How hard is it to get an exemption for a different license?" This is the wrong question to ask. When is it worth digging up the relevant corporate policy document, reading it, emailing legal, waiting 2 weeks, arguing, etc? Not for a random link. The project never gets a chance to get that far.
110
Andrey Petrov @shazow.net · 23/03/2026
How open source projects leak the top of the funnel: Anyone who worked at a tech company with a license policy (any company that builds software) has muscle memory to look for a few popular licenses. 1. Click project link 2. Glance at license 3. Not a license you use all the time? Close link
100
Andrey Petrov @shazow.net · 18/03/2026
Looks cool! Gentle reminder to add a LICENSE. :) (I suggest something permissive like MIT or Apache2 if you don't have a preference.)
160
Andrey Petrov @shazow.net · 18/03/2026
Free as in Hop On A Quick Call
040
Andrey Petrov @shazow.net · 17/03/2026
Doesn't prescribe how it's maintained. Just means that if there's bugs, it will be fixed. If something is broken, someone will take responsibility and fix it. A program can't take responsibility for things in a meaningful way, at least not yet.
000
Andrey Petrov @shazow.net · 17/03/2026
Another good take on how maintaining is becoming increasingly important from @jess.dev: x.com/jessfraz/sta...
Tweet from @jessfraz:

I give it less than 6 months before Garry stops preaching LOC and starts preaching maintainable code bases.

And with that one move he will go from junior engineer to a bit more senior.

We watching his Eng journey live 🍿

--

Quoting @garrytan's tweet:

If I can do 16k LOC per day across 3 different projects (including one open source one you can see yourself) then I think almost any technical CEO CTO pair at YC will 

That's the bar now [...]
020
Andrey Petrov @shazow.net · 17/03/2026
End of the day, AI is a program. There's many kinds of programs out there, some are bad, some are biased, some are emulating a specific statistical distribution, some are in a loop trying to do guided search through a constraint space. We keep making new kinds of programs with new properties.
010
Andrey Petrov @shazow.net · 17/03/2026
I can't stop you but I don't think that's a meaningful distinction in many contexts. I have another take I need to write about: It's more instructive to talk about AI as just programs. Would you call any content that was produced with the help of a program as slop? IMO dilutes any meaning of slop.
100
Andrey Petrov @shazow.net · 17/03/2026
Yea, I think the challenge is people coming to believe that there is another better option.
100
Andrey Petrov @shazow.net · 17/03/2026
Agree, the label should apply to DIDs but the issue to address is spammy PDS's (which are currently getting bulk-blocked). See thread: bsky.app/profile/scoi...
100
Andrey Petrov @shazow.net · 17/03/2026
I like @apenwarr.ca's piece on how each layer review adds latency, I believe the same thing is happening here: People in the review pipeline are making a decision whether they want to commit to maintaining this thing. This is the expensive part. apenwarr.ca/log/20260316
apenwarr.ca
Every layer of review makes you 10x slower
We’ve all heard of those network effect laws: the value of a network goes up with the square of the number of members. Or the cost of commun...
130
Andrey Petrov @shazow.net · 17/03/2026
The only useful distinction between slop or not is whether we're committing to maintain the thing. If it's disposable and going to rot in a few weeks, then it's slop (whether written by meat or otherwise). If it's reviewed and someone commits to owning it, then it's fine. bsky.app/profile/shaz...
3101
Andrey Petrov @shazow.net · 17/03/2026
@boscolo.co @goat.navy One more angle (to address spammy PDS's): What about a labeler which verifies the account has committed/burned a small bond onchain?
140
Andrey Petrov @shazow.net · 17/03/2026
Email came to be that way because we lacked the ability to put a price on spam. That's not true in 2026, but perhaps it's not a popular position in this community. bsky.app/profile/shaz...
030
Andrey Petrov @shazow.net · 17/03/2026
Permissionless is definitely the harder. Putting yourself in between two people potentially at odds and saying "just trust me, I won't betray you" is by far the easiest thing to do. Building a structure where two people at odds can collaborate/coordinate within directly is very hard, but possible!
020
Andrey Petrov @shazow.net · 17/03/2026
We can go the easy way or the hard way! Sometimes the hard way is worth it.
110
Andrey Petrov @shazow.net · 16/03/2026
Yea, need to think it through because "move to another server" only works when we're not talking about a point of consensus. If we're expecting the consensus to get abandoned (who gets to rotate whose key to sign whose messages) then that breaks a lot of assumptions above it.
010
Andrey Petrov @shazow.net · 16/03/2026
Isn't the entire premise of 2026 is that social contracts are made up and constantly being broken? There's no recovery if the attack is a result of scale/value. Moving to another server is still vulnerable unless it's permissioned. Price spam or become permissioned: bsky.app/profile/shaz...
131
Andrey Petrov @shazow.net · 16/03/2026
not too worried about user counts for vanity, more worried about sybils being used to take down critical services like plc directory because they refuse to put a price on spam
010
Andrey Petrov @shazow.net · 16/03/2026
has there been any writing/thinking about how plc directories are expected to handle DoS/sybil spam attacks?
212
Reposted by Andrey Petrov
Edmund Edgar @goat.navy · 16/03/2026
did:cow: Another idea to billionaire-proof ATProto IDs, also "art of using a blockchain without using a blockchain". Blockchain-managed wrapper ID, no tx to create, points to a did:plc/did:web but you can move it if something goes wrong. Got carried away and made a resolver and front-end cow.watch
cow.watch
did:cow
56310
Andrey Petrov @shazow.net · 16/03/2026
what are you thinking of?
010
Andrey Petrov @shazow.net · 13/03/2026
Has anyone here submitted a package to Debian before? How'd that go?
120
Andrey Petrov @shazow.net · 10/03/2026
🛜 wifitui v0.11.0 is released! Do you dream of managing your wifi in a terminal? Now is your time. Made for Linux, but has experimental macOS support! Please open an issue if it can be improved. :) It even has a non-interactive mode for your beloved scripts/molts. github.com/shazow/wifit...
Screenshot of wifitui showing a bunch of mocked funny wifi names in a TUI.Output of `wifitui --help`, showing the non-interactive mode with commands like connect, list, radio, show, tui.WiFi connection details, includes a QR code for phone sharing.
050
Andrey Petrov @shazow.net · 05/03/2026
lifeminning
010
Andrey Petrov @shazow.net · 05/03/2026
Agree, you might like this post from last year where I argue a lot of the same things but ignoring LLMs: shazow.net/posts/permis... Copyleft advocates are too concerned about the value of a codebase as a whole monolith for themselves, rather than the effective replacement value to consumers.
shazow.net
Permissive vs Copyleft Open Source
The premise of copyleft licenses is attractive: Create more open source! With permissive licenses, someone can take the code and make proprietary modifications to it and sell it to other people withou...
061
Andrey Petrov @shazow.net · 01/03/2026
If you're curious why a prediction market might not pay out conditions of death: It's to avoid the creation of assassination markets.
030
Andrey Petrov @shazow.net · 26/02/2026
Would enjoy reading it, even if there are many like it. (Also would say hi if you wanna grab a Toronto warm beverage!)
1100
Andrey Petrov @shazow.net · 26/02/2026
yea atproto has a bunch of blockchain-y components (minus the blocks), and it even has a consensus component: the plc directory which sequences the key mutations! except the consensus is a centralized org.
030
Andrey Petrov @shazow.net · 25/02/2026
It's funny that we can take a slightly shifted perspective and come to opposite conclusions: Blockchains have a collectively owned consensus, how can they be individualistic? Federations are fiefdoms of autocrats, how can they be collectivist?
140