Feed: Alex Harri

Entries found: 18

ASCII characters are not pixels: a deep dive into ASCII rendering

Published: Sat, 17 Jan 2026 00:00:00 GMT
Updated: Sat, 17 Jan 2026 00:00:00 GMT
UTC: 2026-01-17 00:00:00+00:00
URL: https://alexharri.com/blog/ascii-rendering

A look at how I used shape vectors to achieve sharp, high-quality ASCII rendering.
Content Preview A look at how I used shape vectors to achieve sharp, high-quality ASCII rendering.

Compressing Icelandic name declension patterns into a 3.27 kB trie

Published: Sat, 02 Aug 2025 00:00:00 GMT
Updated: Sat, 02 Aug 2025 00:00:00 GMT
UTC: 2025-08-02 00:00:00+00:00
URL: https://alexharri.com/blog/icelandic-name-declension-trie

How I used a compressed trie data structure to encode Icelandic declension data.
Content Preview How I used a compressed trie data structure to encode Icelandic declension data.

A flowing WebGL gradient, deconstructed

Published: Sat, 12 Apr 2025 00:00:00 GMT
Updated: Sat, 12 Apr 2025 00:00:00 GMT
UTC: 2025-04-12 00:00:00+00:00
URL: https://alexharri.com/blog/webgl-gradients

An introduction to writing WebGL shaders using gradient noise and cool math.
Content Preview An introduction to writing WebGL shaders using gradient noise and cool math.

Sharing changes, visuals first

Published: Sat, 09 Nov 2024 00:00:00 GMT
Updated: Sat, 09 Nov 2024 00:00:00 GMT
UTC: 2024-11-09 00:00:00+00:00
URL: https://alexharri.com/blog/visuals-first

Exploring my visuals-first approach to sharing my work internally.
Content Preview Exploring my visuals-first approach to sharing my work internally.

Searching for and navigating Git commits

Published: Sun, 20 Oct 2024 00:00:00 GMT
Updated: Sun, 20 Oct 2024 00:00:00 GMT
UTC: 2024-10-20 00:00:00+00:00
URL: https://alexharri.com/blog/searching-and-navigating-git-commits

Exploring Git’s built-in tools for searching through and analyzing Git commit logs and diffs.
Content Preview Exploring Git’s built-in tools for searching through and analyzing Git commit logs and diffs.

The web’s clipboard, and how it stores data of different types

Published: Sat, 14 Sep 2024 00:00:00 GMT
Updated: Sat, 14 Sep 2024 00:00:00 GMT
UTC: 2024-09-14 00:00:00+00:00
URL: https://alexharri.com/blog/clipboard

Exploring the web’s clipboard APIs, their limitations, and their history.
Content Preview Exploring the web’s clipboard APIs, their limitations, and their history.

2024 Icelandic Developer Survey: Compensation, Technologies, and more

Published: Sat, 13 Jul 2024 00:00:00 GMT
Updated: Sat, 13 Jul 2024 00:00:00 GMT
UTC: 2024-07-13 00:00:00+00:00
URL: https://alexharri.com/blog/icelandic-developer-survey-2024

Analyzing data from Iceland’s 2024 developer survey: compensation figures, programming languages, and technologies used.
Content Preview Analyzing data from Iceland’s 2024 developer survey: compensation figures, programming languages, and technologies used.

Introducing Arkio’s Pin Tool

Published: Mon, 29 Apr 2024 00:00:00 GMT
Updated: Mon, 29 Apr 2024 00:00:00 GMT
UTC: 2024-04-29 00:00:00+00:00
URL: https://alexharri.com/blog/arkio-pin-tool

Archived version of a post I wrote introducing Arkio’s Pin Tool as part of Arkio’s 1.7 release
Content Preview Archived version of a post I wrote introducing Arkio’s Pin Tool as part of Arkio’s 1.7 release

Planes in 3D space

Published: Sat, 27 Apr 2024 00:00:00 GMT
Updated: Sat, 27 Apr 2024 00:00:00 GMT
UTC: 2024-04-27 00:00:00+00:00
URL: https://alexharri.com/blog/planes

Visual and interactive introduction to 2D planes in 3D space.
Content Preview Visual and interactive introduction to 2D planes in 3D space.

JSDoc as an alternative TypeScript syntax

Published: Wed, 09 Oct 2024 00:00:00 GMT
Updated: Wed, 09 Oct 2024 00:00:00 GMT
UTC: 2024-10-09 00:00:00+00:00
URL: https://alexharri.com/blog/jsdoc-as-an-alternative-typescript-syntax

How to type your JavaScript code base without writing a single TypeScript file.
Content Preview How to type your JavaScript code base without writing a single TypeScript file.

Iterating over Bit Sets quickly

Published: Sat, 06 Jan 2024 00:00:00 GMT
Updated: Sat, 06 Jan 2024 00:00:00 GMT
UTC: 2024-01-06 00:00:00+00:00
URL: https://alexharri.com/blog/bit-set-iteration

Multiplying iteration speed by exploiting two’s complement and Hamming weights.
Content Preview Multiplying iteration speed by exploiting two’s complement and Hamming weights.

Bit Sets: An introduction to bit manipulation

Published: Sat, 06 Jan 2024 00:00:00 GMT
Updated: Sat, 06 Jan 2024 00:00:00 GMT
UTC: 2024-01-06 00:00:00+00:00
URL: https://alexharri.com/blog/bit-sets

Learn about bitwise operators and bit manipulation by implementing a BitSet class in JavaScript.
Content Preview Learn about bitwise operators and bit manipulation by implementing a BitSet class in JavaScript.

Making GRID’s spreadsheet engine 10% faster

Published: Wed, 11 Oct 2023 00:00:00 GMT
Updated: Wed, 11 Oct 2023 00:00:00 GMT
UTC: 2023-10-11 00:00:00+00:00
URL: https://alexharri.com/blog/grid-engine-performance

Optimizing the performance of GRID’s browser-based spreadsheet engine, through the use of shared immutable objects.
Content Preview Optimizing the performance of GRID’s browser-based spreadsheet engine, through the use of shared immutable objects.

Why doesn’t TypeScript properly type Object.keys?

Published: Sat, 24 Jun 2023 00:00:00 GMT
Updated: Sat, 24 Jun 2023 00:00:00 GMT
UTC: 2023-06-24 00:00:00+00:00
URL: https://alexharri.com/blog/typescript-structural-typing

A look at TypeScript’s structural type system, and we how we can effectively use it to our benefit.
Content Preview A look at TypeScript’s structural type system, and we how we can effectively use it to our benefit.

Moving to a monorepo: Yes, but how?

Published: Sun, 11 Jun 2023 00:00:00 GMT
Updated: Sun, 11 Jun 2023 00:00:00 GMT
UTC: 2023-06-11 00:00:00+00:00
URL: https://alexharri.com/blog/move-to-monorepo

Migrating existing repositories to a monorepo structure. A step-by-step guide.
Content Preview Migrating existing repositories to a monorepo structure. A step-by-step guide.

Multi-cursor code editing: An animated introduction

Published: Sat, 28 Jan 2023 00:00:00 GMT
Updated: Sat, 28 Jan 2023 00:00:00 GMT
UTC: 2023-01-28 00:00:00+00:00
URL: https://alexharri.com/blog/multi-cursor-code-editing-animated-introduction

Animated and interactive intro to multi-cursor editing using Command D and clever text navigation techniques.
Content Preview Animated and interactive intro to multi-cursor editing using Command D and clever text navigation techniques.

Build your own schema language with TypeScript’s infer keyword

Published: Tue, 08 Nov 2022 00:00:00 GMT
Updated: Tue, 08 Nov 2022 00:00:00 GMT
UTC: 2022-11-08 00:00:00+00:00
URL: https://alexharri.com/blog/build-schema-language-with-infer

Case study on using TypeScript’s infer keyword, combined with recursive types, to create a custom schema language using template literal types.
Content Preview Case study on using TypeScript’s infer keyword, combined with recursive types, to create a custom schema language using template literal types.

The Engineering behind Figma’s Vector Networks

Published: Sun, 24 Nov 2019 00:00:00 GMT
Updated: Sun, 24 Nov 2019 00:00:00 GMT
UTC: 2019-11-24 00:00:00+00:00
URL: https://alexharri.com/blog/vector-networks

A deep dive into the world of vector networks, and the engineering challenges involved in their implementation.
Content Preview A deep dive into the world of vector networks, and the engineering challenges involved in their implementation.