Aaaahlan Deutsch 👻
@allandeutsch.com
330 followers 310 following 1.2K posts
👨‍💻 Software craftsman 🎟️ SeattleJS Organizer Currently building: 🦺 typesafe-ts to help you write safer code with confidence 🐤 docduck.dev to get inline docs feedback from developers
Posts Media Videos Starter Packs
allandeutsch.com
Kaiba sticks his paws under the bathroom door trying to reach for me while I’m in there.
allandeutsch.com
Advanced typescript trick: custom compiler errors!

when I’ve used types to identify an error case, instead of using never (and getting a normal boring type error) I’ll write a custom error type like:
{ error: “this type is already branded”}

It makes it way clearer what the error is!

See example 👇
allandeutsch.com
100%! One trick I use in typesafe-ts which I hope more people will adopt in the ecosystem is custom compilation errors.

I use custom types in error cases that provide more useful hints/diagnostics via properties with literal types.

They’re way more helpful than the stock compiler type errors IMO
github.com
allandeutsch.com
100%! One trick I use in typesafe-ts which I hope more people will adopt in the ecosystem is custom compilation errors.

I use custom types in error cases that provide more useful hints/diagnostics via properties with literal types.

They’re way more helpful than the stock compiler type errors IMO
github.com
allandeutsch.com
I’ve also found it’s really useful for getting LLMs to write code the way I want. They’re quite good at using automated tooling, but otherwise don’t learn things between sessions. It’s a good forcing function to codify the way I want code written!
allandeutsch.com
I built typesafe-ts because I have felt the same pain coming from c++. It has a lot of the type safe patterns I want in TS, without require the huge shift in paradigm that Effect asks of its users and those who read their code. Neverthrow is also a good option.
GitHub - Masstronaut/typesafe-ts
Contribute to Masstronaut/typesafe-ts development by creating an account on GitHub.
GitHub.com
allandeutsch.com
I like the thread format. Thanks for sharing!
allandeutsch.com
What's the most popular Halloween costume for web developers?

Spiderman! 🕸️
allandeutsch.com
Free dev education AND free pizza/beer? What a deal! I had to pay for all of those when I was in undergrad.

Glad I can help make it all available for free now!
seattlejs.com
SeattleJS is this Wednesday night at Just The Tap!

This month we've got 2 techs and a sponsor (they're hiring!) to help you fuel up for learning.

On deck we have:
- Building and Releasing Cross-Platform Desktop Apps with Electron and React
- Lies I was told about collaborative editing

RSVP:
SeattleJS: Web Tech Talks - October · Luma
🎉 Get ready to learn and connect at SeattleJS! 🎉 Prepare for an evening filled with fun, networking, and learning. Whether you're a seasoned developer or…
luma.com
allandeutsch.com
One example of this is twoslash completion annotations, which need to be at the precise position I want the completion to start from.

In engineering, it is often important to represent things with precision.
allandeutsch.com
It sucks but it sucks less than not having it.

Also I find CLI LLMs are pretty good on airplane Wi-Fi because they generally transmit less data than browsing myself.
allandeutsch.com
Tabs are objectively better (accessibility, preference, file size). That said, I really appreciate that spaces make it possible to perfectly align things in a way that will work consistently for all viewers.
allandeutsch.com
You’re absolutely right!
allandeutsch.com
Capybaras are adorable, but they’re far from svelte creatures… perhaps an elf or a cat would be a more fitting option?
allandeutsch.com
No but I’m excited to go remove a dependency, thanks!
allandeutsch.com
If I were home I’d invite you over, our cats run to the door to greet guests and beg people to play with them. I had to rent a coworking space desk to get away from them and get some work done!
allandeutsch.com
Kinda crazy if there’s no better controls for orgs on GitHub
rich-harris.dev
True, as one of the 6 'owners' of the sveltejs org I guess I have the power to arbitrarily add/remove other owners (and so do the other 5). If you know of a way to make certain actions require approval from multiple owners, let me know... otherwise will add to the 'to research' pile
allandeutsch.com
Most people live like they’re NPCs with no agency.
allandeutsch.com
Some Qs:
- does it use native macOS spaces or its own implementation?
- how does it handle native tabs (ie in ghostty)?
- what’s the multimonitor situation? And which API is used for display IDs?

Overall looks really nice, super impressed with how fast you got it ported!
allandeutsch.com
I dunno, it seems like the bsky team is treating users like we’re all smart enough to go build our own app views, feeds, self-host PDSs, etc. that seems to imply they think we are quite competent, don’t you think?
allandeutsch.com
Why do you hate pancakes?!
allandeutsch.com
Ah yeah I like wood shop. Great spot for a late lunch after working from Temple Pastry across the street!
allandeutsch.com
Check out outsiders bbq in north Seattle. It’s really good!
allandeutsch.com
A lot of e-bike riders (and scooters, etc.) are not riding them just in the car lane, but in the sidewalk.

It’s easier to advocate for slower e-bikes than for more protected bike lane infrastructure.
allandeutsch.com
Pls something not in black, Kaiba & Momo are incompatible with black shirts.
A fluffy white ragdoll cat named Kaiba is laying in luxury on a siesta chair.
allandeutsch.com
Call it by its true name, Adenosine TriPhosphate (ATP), the source of our power.