Josiah

@josiahwitt.com

🇨🇦 #HamOnt 💻 @dxos.org 🚲 Cars ruin cities 🏡 Housing for shelter, not speculation 🫠 Showing up regardless

A small ask from the local-first community. I’m speaking at @localfirstconf.com in Berlin about @tiles.run, but this year the conference isn't able to cover speaker travel. I'm trying to raise $700 through Github Sponsors to cover my flight. Any amount helps. github.com/sponsors/til...

Sponsor @tilesprivacy on GitHub Sponsors

We believe that privacy adoption at scale must work backwards from preserving utility. We aim to deliver “just works” experiences through best-in-class privacy-focused engineering while offering un...

github.com

BREAKING: Signal, the #1 privacy protecting messaging app, is saying they will pull out of 🇨🇦 ENTIRELY if they're scoped into #BillC22 without large changes. This should be our final alarm bell:.We can have privacy or we can have C22, not both! #cdnpoli www.theglobeandmail.com/politics/art...

Signal warns it would pull out of Canada if made to comply with lawful access bill

Secure messaging service says it will not weaken its encryption, privacy safeguards for government

theglobeandmail.com

We’re live. Two years ago, we released a plan. Today, our collectively owned music platform is open. Explore. Support artists directly. Join the co-op. It’s only the beginning. Sincerely Ours, Subvert

NPM publishing is such a pain. I understand the reason behind their move with granular tokens but it was managed so poorly. This week finally got around to migrating all the DXOS packages to trusted publishing and was only able to do it because of Claude Code.

Justin@just-be.dev · 6mo ago

Was trying to publish some NPM packages for the first time in a while and wooo... the DX there definitely still needs a lot of love. JSR is *so* easy, heck, they'll write the publish action for you.

Regarding the experiment, I genuinely believe the current way we’re building software is outdated. We can do so much better, we can have more user agency and enable it for less technical folks. Easily build any UI sitting on top of pieces of data & logic. Create, adapt, remix; diffuse.

This is something we’ve been thinking about a bit for @dxos.org & Composer as well. We have an existing identity system (HALO) but it would be very cool to be able to send space invitations to someone just based on their atproto did handle, even if they don’t have a HALO identity yet.

Laurens@laurenshof.online · last yr.

i think we need a new term to describe this direction where platforms use atproto for metadata and identity, and use their own systems for the rest of their platforms. current examples are @roomy.chat and @tangled.sh but as bryan indicates the design space is v large and underexplored

I was considering whether or not I should buy a magic keyboard just so that I could use touch id while my mac is docked at my desk. Evidently, I'm not the only one to have encountered this dilemma because not only does this exist, but its more expensive than the magic keyboard and yet still sold out

MacOS Fingerprint Reader (Wireless) | Nate's Stuff

For all legal intents and purposes... this is not a genuine Apple product... well kinda, it's really just a hacked apart MagicKeyboard, a genuine MagicKeyboard... 🤔I like to dock my MBP and I'...

shop.singer.cloud

Meet Composer. A collaborative local-first workspace with customizable AI assisted workflows. Think of it as an IDE for your team where users can install and customize plugins from a growing open source community. 🧵

Reading @adapalmer.bsky.social’s Terra Ignota and, from some offhand statements in later books, it becomes clear that Canada became part of the EU at some point. Remarkably prescient. That seems much less science fiction today than it would have even 6 months ago and the books are from 4 years ago.

Apple's commitment to the global settings app is frustrating sometimes. There's so many settings that would make a lot more sense in-flow within apps. For example, the cross fade setting for the music app is not accessible from the music app itself. Why?

Another UX concept that we've been experimenting with in Composer's deck layout is something we call "attention". Attention supercharges the OS/web primitive of focus and imbues it with application level information about what exactly is currently in focus.

"A perspective is by nature limited. It offers us one single vision of a landscape...The more complex the object we are attempting to apprehend, the more important it is to have different sets of eyes, so that these rays of light converge and we can see the One through the many."

Stacks and decks bring to mind this tweet from @gordon.bsky.social. They start to allow you to combine individual controls (words) into larger structures like stacks and decks (sentences and paragraphs).

Imagine a language where every concept required a unique word and you can't combine words into sentences. That's GUIs.
Josiah@josiahwitt.com · 2y ago

A core part of the default layout in Composer is a component we call the "deck". If you've ever used TweetDeck or @deck.blue the basic layout should make sense, except in this case we've repurposed it to serve as a multi-tasking surface for knowledge work.

A core part of the default layout in Composer is a component we call the "deck". If you've ever used TweetDeck or @deck.blue the basic layout should make sense, except in this case we've repurposed it to serve as a multi-tasking surface for knowledge work.

Expanding on this, I'd want markdown and rich text to be able to interop before introducing a rich text editor in Composer (though I wouldn't stop anyone else from doing it). Dreaming of a pandoc-like intermediate format that could be used in to store the text data in Automerge.

Josiah@josiahwitt.com · 2y ago

I'd love to see block editors in Composer again, though I think they introduce other problems that I'm trying to avoid right now. (Overall, curbing the cognitive overhead of using Composer and more specifically, having distinct and not interoperable text formats feels like not a great experience.)

Managed to get typescript types resolving in a Codemirror editor based on X-Typescript-Types headers from @esm.sh using @val.town's codemirror-ts extension with a bit of help from Claude to glue things together. Gotta love standing on the shoulders of giants.

import { pipe } from 'https://esm.sh/effect';

with tooltip reading:

(alias) function pipe<A>(a: A): A (+19 overloads)
import pipe