Daniel Norman

Daniel Norman

@norman.life

building software and writing about it Currently working on @radicle.dev and @ipfs.tech local-first software, bicycles, motorbikes, woodworking, fixing,and making stuff https://norman.life https://agencymatters.xyz

765 followers796 following372 posts

Daniel Norman reposted

After the firefighting is done (and a nap) we'll need to have a long, serious conversation about the state of non-browser non-platform X.509 verifiers. The Linux status quo is "a pile of PEM files behind a dumpster" and that's not an acceptable excuse for a root store in 2026.

Daniel Norman reposted

Daniel Norman reposted

If you have a Gmail account, you need to read this. Google's AI now scans your emails and attachments, bank statements, tax files, medical letters, all of it. It turned on by default, and there's a class-action lawsuit over how. Here are 5 moves to shut it off, the switch is hidden in two places:

Daniel Norman reposted

@norman.life built ATFISL — a download-location lexicon for AT Protocol keyed by file CID. Multiple URL schemes per file, per-URL expiry, content-addressed identity. Complements FISL, a query interface for aggregating locations across the network. Feedback welcome.

fisl.devFISL & ATFISL — Finding Internet Structures & LinksA CID proves what the bytes are. FISL is an HTTP lookup that answers where to get them, and ATFISL publishes the answers on AT Protocol.

Daniel Norman reposted

Hey fam! We've been shaping a governance model for DASL, pretty lightweight, in line with the project's philosophy. You know what we'd love? We'd *love* to hear from you (yes, specifically *you* right there) about what you think about it. See: dasl.ing/governance.h...

dasl.ingDASL: Governance of the DASL ProjectThe goal of the DASL Project is to develop content-addressing primitives and the technologies that build on them, with a view towards enabling unbundled software and protocol architect...

There’s no way to sugar coat this. This is a big failure. But this doesn’t change our dedication to Radicle’s mission as a sovereign local-first code forge. We will continue to fix and build Radicle

Radicle@radicle.dev

Bad news. We have to inform you about security vulnerabilities in the network protocol that Radicle nodes use to communicate amongst each other. radicle.dev/2026/09/23/d...

Daniel Norman reposted

FISL, from @norman.life, is an HTTP lookup API that maps CIDs to locations. A client sends a CID and receives the URLs at which the content can be retrieved, together with the identity of the publisher that announced them, when it is known. Check it out! dasl.ing/fisl.html

dasl.ingDASL: FISL — Finding Internet Structures & LinksFISL is an HTTP lookup API that maps CIDs to locations. A client sends a CID and receives the URLs at which the content can be retrieved, together with the identity of the publisher th...

Daniel Norman reposted

Talking to your manager about testing in 2023: "I want to spend a week on our test suite, to help our engineers" no way, please go back to features 2026: "I want to spend a week on our test suite to, to help our agents" 100%, you're promoted, please teach your peers about agentic testing

Daniel Norman reposted

We (@dod.ngo) are in the early stages of planning a meetup around code hosting after github on board of @c-base.org So far we have talks around @radicle.dev and rngit Would also love to have somebody speaking about @tangled.org - anyone knows somebody in Berlin that could speak on it? Or ..

The main difference between @radicle.dev and @tangled.org is that radicle stores all social artifacts, like issues, patches, and interactions in the git repository, while tangled stores them in your atproto repository In both user actions are signed by a key but in radicle the key is user-owned 🧵

Where it gets interesting is how repositories are identified. In Radicle, repositories are identified by a hash of its genesis identity document. In Tangled, repositories are identified by a `did:plc`, which similarly is a hash of the signed genesis did document.

Daniel Norman reposted

Hey @tangled.org Do you have any docs on the recommended workflows for creating pull requests? For example, I opened a pull request and then rebased and pushed again and it created a new pull request. I may have done this wrong, but it'd be nice to have clarity on how rounds and rebased PR work 🙌

I think I'm @jj-vcs.dev pilled, though I'm not sure if it's my own hype or actual merit. Either way, it's starting to click, albeit slower than I'd like.

Daniel Norman@norman.life

I'm learning jj (www.jj-vcs.dev) Some gotchas from my first day: - You don't have to name branches 🫶 - Most commands operate on data structures in the repo rather than the working copy - Commit ID != Change ID Thanks @steveklabnik.com for the tutorial steveklabnik.github.io/jujutsu-tuto...

Daniel Norman reposted

“coding is largely solved” okay make a new cross platform web browser that supports every web platform spec to 100% compliance

Daniel Norman reposted

UPDATE: Bitchat is now mirrored on @radicle.dev — censorship-resistant, peer-to-peer code hosting: iOS/macOS: rad:z2v9tRJz1oknFAqCSY5W5c76nVvm6 Android: rad:z347HbE1F4c77DVLvsPe2ApoEEw6f Clone it. Seed it. Keep it alive. 👇

3rd year at @localfirstconf.com What keeps me coming back isn't the talks -- it's that the same faces keep showing up, and they're slowly turning into friends Feels less like a conference, more like a movement working to elevate user agency with software

Daniel Norman reposted

2026 @localfirstconf.com is truly one of the few places that unite disparate communities—open source, LLMs, p2p, interface design, standards—behind a shared value: user agency and empowerment. How refreshing to witness the openness and curiosity everyone brings to the discussion.

So let me get this right, the European Parliament has already rejected the mass surveillance of chats twice, but suddenly an emergency vote passes (during European summer!) that it should be voted on for the third time? What’s the most charitable interpretation?

Daniel Norman reposted

Unfortunately not going to make it to @localfirstconf.com this year, but have a couple tickets now that aren’t going to be used. If you’d like to go but couldn’t afford tickets give me a shout!

Daniel Norman reposted

The future is now! - Dial keys, not IPs, thanks to Iroh - Fetch hashes, not URLs, thanks to DASL - Build on shared records, not siloed databases, thanks to the AT Protocol

Iroh@iroh.computer

We just released the first stable version of iroh, v1.0! Read about it: www.iroh.computer/blog/v1 We're super proud of where we landed with iroh's 1.0. Since version 0.35 it feels like we've entirely replaced the "engine underneath". Are you a fellow key-dialer? Come tell us how you use iroh!