Andrey Petrov's Avatar

Andrey Petrov

@shazow.net

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

818
Followers
392
Following
441
Posts
13.05.2023
Joined
Posts Following

Latest posts by Andrey Petrov @shazow.net

Screenshot of wifitui showing a bunch of mocked funny wifi names in a TUI.

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.

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.

WiFi connection details, includes a QR code for phone sharing.

πŸ›œ 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...

10.03.2026 16:15 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

lifeminning

05.03.2026 18:36 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
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...

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.

05.03.2026 16:55 πŸ‘ 6 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

If you're curious why a prediction market might not pay out conditions of death: It's to avoid the creation of assassination markets.

01.03.2026 16:10 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Would enjoy reading it, even if there are many like it.

(Also would say hi if you wanna grab a Toronto warm beverage!)

26.02.2026 22:57 πŸ‘ 10 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

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.

26.02.2026 02:00 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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?

25.02.2026 23:47 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

There's only a few ways to deal with attacks on permissionless networks:

1. Increase the cost to the attacker
2. Reduce the cost to the defender
3. Reduce the value to the attacker

22.02.2026 16:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Also worth noting there's a difference between a protocol and a network/server/infrastructure. It might not make sense to say "I'm gonna take down HTTP" but I can certainly take down an HTTP server. ATProto is great, but PDS or AppView or PLC directory are chokepoints that are vulnerable to abuse.

22.02.2026 15:39 πŸ‘ 1 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

The reality is that when there is sufficient value in something, people come to try and extract value from it.

Careful conflating a "nascent network that hasn't accumulated enough value to attack" with safety just because it hasn't been attacked in new ways yet. :)

22.02.2026 15:39 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I don't claim people won't run things benevolently, but they're still paying for them.

Unfortunately things break when they enter adversarial conditions (your concerns about spam/DoS, censorship, etc).

Whether it's privately funded or VC funded or collectively owned (eg some blockchains).

22.02.2026 15:39 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I see. I'm not sure you'll get away from "financialization" if we acknowledge that infrastructure has a financial cost. If the users are truly self custodial then the regulatory burden is not on you. Anyway build the thing you're motivated to build, best of luck. :)

22.02.2026 15:13 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

have you considered skipping all the novel consensus/incentive stuff and making a rollup/L2 instead? you can leverage all of ethereum's consensus/security and make commitments about plc directory state onchain, you can even have mixed sequencers (batched offchain+onchain inbox for forced inclusion)

22.02.2026 14:18 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

Today, @bsky.app + @atprotocol.dev devs can plug into XMTP to give users what they've been asking for: quantum-encrypted, secure group chats that scale to millions.

With our XMTPID identity model, it's finally here.

1/5

10.02.2026 21:29 πŸ‘ 158 πŸ” 26 πŸ’¬ 10 πŸ“Œ 23

You're Absolutely Rightℒ️!

My mistake, I was fixated on the multiplying and forgot time.Duration(b) * 2 is just being added which is negligible. -_-

10.02.2026 21:42 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Go Playground - The Go Programming Language

Er no, that's not quite right, but still too high (1m25s in this example): go.dev/play/p/_bQzi...

10.02.2026 21:28 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I think that value would be too high? Millisecond = 0.001 seconds, the random value is between 0 and 1000, which is already between 0 and 1 second, multiplied by 2 is between 0 and 2 seconds. Multiply by time.Second again is 1000 * 1000 * 1000 * 2 seconds.

10.02.2026 21:26 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Go Playground - The Go Programming Language

go.dev/play/p/PXtJn...

10.02.2026 21:15 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Multiplying must be across the same type, things like time.Millisecond and time.Second are constants of type time.Duration. So let's say you want to do 2b * milliseconds * whatever, you'd need to do time.Duration(b) * 2 + time.Millisecond * time.Duration(whatever)

10.02.2026 21:12 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

The quoted post is about bluesky but is awkwardly not bluesky-native (all the @-mentions are X account handles, not bluesky handles πŸ’€πŸ’€πŸ’€).

Crossposting fail, worth fixing?

10.02.2026 21:08 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

some useful directions for further debugging! thanks

23.01.2026 19:57 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
```
$ nmcli -f BSSID device wifi list
BSSID
00:01:02:00:00:00
FE:77:7B:16:D2:F0
00:01:02:00:00:01
00:01:02:00:00:0A
00:01:02:00:07:CF
00:01:02:00:00:9C
00:01:02:00:00:8C
00:01:02:00:00:79
00:01:02:00:00:8A
00:01:02:00:07:C0
00:01:02:00:00:02
00:01:02:00:01:3F
00:01:02:00:04:8D
00:01:02:00:07:BF
00:01:02:00:07:D0
00:01:02:00:07:D1
```

Why are all the networks' BSSIDs I see start with `00:01:02:00:...`?

``` $ nmcli -f BSSID device wifi list BSSID 00:01:02:00:00:00 FE:77:7B:16:D2:F0 00:01:02:00:00:01 00:01:02:00:00:0A 00:01:02:00:07:CF 00:01:02:00:00:9C 00:01:02:00:00:8C 00:01:02:00:00:79 00:01:02:00:00:8A 00:01:02:00:07:C0 00:01:02:00:00:02 00:01:02:00:01:3F 00:01:02:00:04:8D 00:01:02:00:07:BF 00:01:02:00:07:D0 00:01:02:00:07:D1 ``` Why are all the networks' BSSIDs I see start with `00:01:02:00:...`?

This was the question, if someone else has a better answer: Why is nmcli showing fake BSSIDs on my laptop?

23.01.2026 19:51 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Truncated Gemini response screenshot:

This is a clear sign that you are not looking at "real" physical Wi-Fi networks. You are almost certainly inside a simulation, a virtual machine, or a software-defined network (SDN) lab.

Here is the breakdown of why your output looks like this: [...]

Truncated Gemini response screenshot: This is a clear sign that you are not looking at "real" physical Wi-Fi networks. You are almost certainly inside a simulation, a virtual machine, or a software-defined network (SDN) lab. Here is the breakdown of why your output looks like this: [...]

AI just told me I'm in a simulation, how's your day going?

23.01.2026 18:49 πŸ‘ 37 πŸ” 3 πŸ’¬ 1 πŸ“Œ 1

Cute! For a moment I thought maybe you were shuffling the routing on the fly based on the most recent DNS query, that would have been wild.

22.01.2026 19:59 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I see people debating whether an AI agent will ever "try to escape a container" but that is the wrong concern.

The agent will be tricked into installing a malware dependency designed to escape the container.

Even with CVEs patched many months ago, at scale, enough people will be impacted.

20.01.2026 20:31 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
urllib3 entered the "Billion-a-Month" club in 2025 Welcome to the 2025 annual report for urllib3. I’m Illia, and this is my first time writing this update for the second most downloaded Python package. Long-time readers will recognize these reports fr...

Annual urllib3 report is out!

Illia is taking over as lead maintainer, facilitated our first professional security audit, and we continue to raise funding for work on HTTP/2.

Gentle reminder to ask your employer to help fund urllib3 work if you rely on Python. :)

volochii.dev/blog/urllib3...

20.01.2026 17:37 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Blindly accepting PRs without the prompt is like blindly implementing features users ask for without understanding their underlying needs.

Users usually ask for less pain and more pleasure. It's the maintainer's job to dig deeper, read between the lines, and find the cause/utility behind the ask.

18.01.2026 15:17 πŸ‘ 4 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Very agree, I think the delineation ends up: Who is going to be responsible for this code and maintain it moving forward?

If a human is taking that role, then contributions must meet their bar of sustainability. If it's slop maintaining slop, then buyer beware.

bsky.app/profile/shaz...

18.01.2026 15:12 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

❌ Social Network
❌ Social Media
βœ”οΈ Social Venue

it's time we change our vocabulary, our words have become encumbered with business models when we really want to talk about a place that we visit for the people--a social venue.

06.01.2026 19:21 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

kinda relatedly, i enjoy posts that have something like "use [this prompt] to learn more about <topic>", prompts written by experts >>> naively phrased prompts.

reminds me of the old days in everything2 where [[any topic of note]] was linked to another universe of takes about it.

06.01.2026 14:16 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0