Hey, I'm Alex Harri. I write about software engineering topics like TypeScript, performance, and mathematics. View blog.
Career
As a very early employee at Taktikal—and subsequently as a Tech Lead—I built our first front-end applications, their supporting web services, and their CI/CD pipelines. That gave me valuable experience in building applications from scratch and maintaining them as they evolve. I worked at Taktikal for 4 years.
At GRID, I worked on their JavaScript-based spreadsheet engine running in the browser, their formula parser written in Rust, and wrote some Python for the back-end. See "Making GRID's spreadsheet engine 10% faster".
Right now I'm leading the development of Arkio's modelling tools. Arkio is an architectural modeler and model reviewer written in C#. My work involves lots of 3D geometry, mathematics (see "Planes in 3D space"), and some fairly low-level C# code.
Writing
I've written about topics ranging from performance and mathematics to TypeScript and monorepos.
My first really popular post was "The Engineering behind Figma's Vector Networks", which I wrote back in 2019. It's a lengthy post covering multiple topics and it contains over 200 diagrams and illustrations.
I've written three posts about TypeScript so far:
- "Build your own schema language with TypeScript's infer keyword" is a deep dive into TypeScript's
infer
keyword. - "Why doesn't TypeScript properly type Object.keys?" looks at TypeScript's structural type system and its constraints.
- "JSDoc as an alternative TypeScript syntax" explores how you can express TypeScript features using JSDoc comments.
My first post containing interactive elements is "Multi-cursor code editing: An animated introduction", which uses animated instances of the VS code editor to demonstrate use cases and techniques for multi-cursor code editing.
Another post containing a lot of interactivity is "Planes in 3D space". It contains over 50 interactive 3D illustrations, intended to provide a visual and intuitive understanding of planes.
I've also written about monorepos, performance (twice) , and bit manipulation.
Projects
My personal projects can be found on my GitHub page.
Notable project include an animation editor, a helper for Icelandic name declension called Beygla, an experimental schema builder called Strema, and this website.
Contact
You can contact me via a message on LinkedIn or by sending me an email (you can find my email address on my GitHub page).