Allan Deutsch

Learning to think & build in public. Excited about tools for thinking and augmenting human capabilities.

Currently head of product & engineering @GrabbitNFT. Previously product at Microsoft PlayFab, Xbox Live, and Xbox.

Recent notes

Weekly Dev Logs

Each week I write a log of what I've worked on. View them all here!

devlog 6: routing overhaul

A major overhaul to routing on this site! Plus TS identity functions, reference sheets, and my resume!

Identity functions

Identity functions make it possible to provide a much better developer experience at API boundaries by improving the type

Total Typescript notes

I've learned a lot from this course, and use this note to record bits I want to remember and riff on some of my observations.

devlog 5: back on stage!

Back on stage, this time to present about TypeScript! I also made some PRs to TypeScript and added dynamic TS playground links.

Dynamically generate TypeScript Playground links

TypeScript playground has a URL param to specify the code content. This makes it possible to always have up-to-date playground links for example code!

Make example code interactive

Whenever possible, make code interactive. Interaction is the single most effective way to teach anything, including code!

Add a demo link to TypeScript code blocks

Seeing example code with syntax highlighting is great, but sometimes you've just gotta run the code and see what happens...

Branded Types

TypeScript is a structurally typed language, but can have nominal typing semantics using a technique called type branding

devlog 4: in glorious 5K

I went to the Berkshire Hathaway annual shareholder meeting, launched the Doc Duck site, and brushed up on my databases knowledge

devlog 3: now with more pixels

Professional web forms, dogfooding Doc Duck, and glorious images on the internet!

Theory and practice

Theory and practice are often at tension with each other, but they shouldn't be. Each benefits from a health dose of the other.