Sign in

Josiah

@josiahwitt.com
470 followers 616 following 285 posts

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

PostsRepliesMedia
Josiah @josiahwitt.com · 26/01/2026
Snow day! ❄️
A wide, snow-covered outdoor plaza overlooking a frozen marina, with two tall decorative metal totem-like columns in the foreground. Steps and railings are partially buried in snow, benches dot the open space, and a flat winter landscape stretches to the horizon under a blue sky with scattered clouds.A snowy urban sidewalk with several bike-share bicycles locked in a row of metal racks, partially buried in snow. A plowed road runs alongside the sidewalk, with a 30 km/h speed limit sign visible. Apartment buildings and leafless trees stand in the background as the low winter sun sets behind them.A snow-covered sidewalk beside a plowed road, with a row of bike-share bicycles locked into metal racks. Bikes are dug out of the snow, and a snow shovel leans against it in the foreground. A “Maximum 30” speed limit sign stands along the road, with bare trees, street lamps, and apartment buildings visible under a winter sunset sky.
010
Josiah @josiahwitt.com · 21/09/2025
I see the Bluesky team finally found a way to bring in some revenue.
Car driving down the street, on the back it says “BLUESKY GLASS WORKS”. The license plate is “GLAS MAN”.
060
Josiah @josiahwitt.com · 05/02/2025
Today, the visual treatment of unattended planks has evolved: the colours remain now but the background and controls such a toolbars are much more faded.
An attended document plankAn unattended document plank
010
Josiah @josiahwitt.com · 05/02/2025
Presence is another example of something which is being powered by attention in Composer. Once you're in deck having something open is a little less meaningful of a signal. Attention allows the noise in that signal to be reduced by indicating more clearly what someone is currently working on.
100
Josiah @josiahwitt.com · 05/02/2025
The complementary sidebar in Composer is one example of attention in action. With it, we're easily able to control the context of the sidebar based on the currently attended item.
100
Josiah @josiahwitt.com · 30/01/2025
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.
150
Josiah @josiahwitt.com · 28/01/2025
In the deck, clicking on something in the sidebar will open a new plank or scroll to the plank if it's already open. Alt-clicking will close thing or they can be closed from the plank itself.
100
Josiah @josiahwitt.com · 28/01/2025
Currently there is only one deck in Composer and it is effectively a mode. First time users enter in "solo mode" where one plank fills up the whole main area. Exiting solo mode adds that current plank into the deck and displays the deck.
110
Josiah @josiahwitt.com · 28/01/2025
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.
160
Josiah @josiahwitt.com · 26/01/2025
Took this shortly after the trucks arrived earlier, and it got worse before they got it out. It was really bad.
Apartment building on fire, fire trucks responding
010
Josiah @josiahwitt.com · 26/01/2025
This finally bubbled up on my reading list, interesting way of thinking! Some of this reminds me a bit of an idea @tbsocialist.bsky.social wrote a bit about in Blockchain Radicals in the sense that it’s a way of thinking about technology positively while acknowledging its flaws.
In order to summarise a position that seeks to move beyond any sense of complete determinism while also acknowledging the structures that do exist, I'd like to coin the term "technological probabilism". It means that technological progression can help determine what is and is not materially possible, but the extent to which social movements are coherent tips the scales towards particular outcomes. In other words, it's up to us to save ourselves collectively, and seizing these technologies, albeit in the perhaps problematic and undesirable state in which they currently exist, should be part of a coherent strategy for political change.

Blockchain Radicals
Joshua Dávila
142
Josiah @josiahwitt.com · 21/01/2025
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
0133
Josiah @josiahwitt.com · 16/01/2025
One view into data that we've been experimenting with in Composer is what we call a "stack". A stack is a transclusive view of an ordered collection of objects laid out vertically.
150
Josiah @josiahwitt.com · 12/01/2025
Ooof this is from yesterday that’s twice in two days. Clearly they’re just using the bike lane for parking 🤦
Snow covered car parked in a bike lane
120
Josiah @josiahwitt.com · 09/01/2025
We've been making heavy use of @effect-ts.bsky.social's schema package at DXOS so naturally that's what we reached for here as well. This allows Intents to have statically typed inputs and outputs and helps a bunch with the experience of building with Intents.
Code reading `createIntent(SpaceAction.Create, {})`

Intellisense autocomplete:
- edgeReplication?: boolean | undefined
- name?: string | undefinedexport const SpaceForm = S.Struct({
  name: S.optional(S.String.annotations({ [AST.TitleAnnotationId]: 'Name' })),
  edgeReplication: S.optional(S.Boolean.annotations({ [AST.TitleAnnotationId]: 'Enable EDGE Replication' })),
});

export class Create extends S.TaggedClass<Create>()(`${SPACE_ACTION}/create`, {
  input: SpaceForm,
  output: S.Struct({
    id: S.String,
    space: SpaceSchema,
  }),
}) {}
020
Josiah @josiahwitt.com · 06/12/2024
Heads up, the link here is broken
broken link
110
Josiah @josiahwitt.com · 06/12/2024
First snow of the winter yesterday meant first trip to clean and clear a neighbourhood bike share bike hub!
Selfie at the bike share bike hub
031
Josiah @josiahwitt.com · 04/12/2024
Secret Life has been a go to this year. Something about it is just so comforting. Didn’t click on first listen, it’s been on heavy rotation since it did. Great for working, reading, thinking, relaxing.
Apple Music Replay 2024

Top Songs all from Secret Life by Fred again.. & Brian Eno
010
Josiah @josiahwitt.com · 04/12/2024
Another simple but powerful capability that is core to how Composer works is Surfaces. A Surface is a component which allows one plugin to delegate rendering of a subtree to another plugin.
Organization of Surfaces and Components in Composer

Surfaces in blue boxes
Resolved components within them in pink boxes
170
Josiah @josiahwitt.com · 26/11/2024
The abstraction that was developed from there was Plugins. The hypothesis was that an entire application could be described by sets of capabilities that loosely depend on each other via well-known interfaces.
Image contains the following typescript code snippet:

export const Plugin = {
  meta: { id: '...' },
  provides: {
    someCapability: {
      /* some capability API fulfillment provided here */
    }
  }
};
110
Josiah @josiahwitt.com · 14/11/2024
Not as flexible as a search term, but I use a list as sort of an inbox. It's a constrained list of folks and is deterministic so you notice when you get to posts you've seen before. Then a few other feeds to help surface interesting content outside of the set, with increasing levels of broadness.
List of feeds:
- DXOS Vibes
- Quiet Posters
- Best of Follows
- Popular With Friends
- Discover
110
Josiah @josiahwitt.com · 16/09/2024
This place has changed a lot in the last year or so. Looking forward to see what the next one has in store!
Celebrating 10M users 🎉 @josiahwitt.com was #34,475
010
Josiah @josiahwitt.com · 15/09/2023
The bike lane blockade was out in full force in #HamOnt yesterday. These are all going into my collection of Cars Doing Car Things 🚗
Truck blocking bike lane on Victoria St NSUV blocking bike lane on Victoria St NTruck sticking into bike lane on Ferguson St NCar blocking bike lane on Victoria St N
171
Josiah @josiahwitt.com · 29/05/2023
Blue sky above
Maple tree and cedar tree from below, looking up to blue sky above
020
Josiah @josiahwitt.com · 20/05/2023
The service berries are coming 🫐😍
Close up photo of unripe service berries just beginning to visibly grow
000
Josiah @josiahwitt.com · 15/05/2023
I've been working on this app architecture with DXOS. The goal is an inversion of control for apps - they don't own the data but are granted access to it inside the vault. This works in Chromium and Firefox but the way Safari handles iframes and data persistence completely breaks down this structure
DXOS App Architecture

Your App is represent by a box, the HALO Vault is represented by nested box which is labelled IFrame, arrows labelled postMessage represent communication between Your App and the HALO Vault
100
Josiah @josiahwitt.com · 28/04/2023
Not sure what the best way to report bugs is but I ran into an issue with the Bluesky app this morning where the iOS keyboard covers the alt text box so it’s impossible to add alt text. I was able to work around this by using the web app. Long live the web! @bsky.app @pfrazee.com
000
Josiah @josiahwitt.com · 28/04/2023
We’re working with imbyhomes.org to build an affordable tiny house in our backyard 🏡 Excited to see something that we’ve been dreaming about for a while coming to life this week! #housingcrisis #hamont
Two people in a backyard, standing beside the beginning of what will become the subfloor of a tiny houseA tiny house taking shape, the subfloor built up from helical piles in the ground and end-walls put up with supports. A person in a bright orange safety shirt stands to the right.
031