RSSAmplifier

Blog

Adam Dueck Blog RSS Feed

A blog about language, software development, and everything in-between

adueck.github.ioRSS feed ↗14 posts

Latest posts

Testing is Science, Type Checking is Math

Testing software is like empirical science. You run experiments to see if there’s something wrong with a program. Type-checking software is…

Programming and Language Learning Are Exponentially Better With Other People

I’m not saying that pair programming or team coding is better. I’m a solo coder. I’m not saying that group language learning is better. I do…

Element Theory is like Declarative Programming

I’m currently reading “An Introduction to Element Theory” by Phillip Backley. Element Theory is theory of phonology. Phonology is basically…

Why Does Everyone Hate Haskell, Jazz, and Pure Math?

All three of these things get a lot of flack for being elitist, obscure, irrelevant, painful, and useless. But are they? They all have a…

Proofs are Programs: A Few Examples of the Curry-Howard Correspondence

Proofs are programs, and programs are proofs. That’s basically what the Curry-Howard correspondance says. Proofs can be transformed in…

Functors, Applicatives, And Monads In Pictures (In TypeScript)

Practical uses for functional programming in TypeScript (examples from NLP)

As I have been learning about functional programming, I’ve been delighted to see how these seemingly abstract FP contepts can be used to…

Making LISP-style macros work with destructuring in TypeScript

In this post I’m going to talk about how I figured out I could use nested array destructuring in TypeScript to work like S-Expression…

State persistence in React with TypeScript and useStickyReducer

There are a number of libraries and tutorials available that explain how to make keep the state saved in localStorage when a user revisits…

How I learned Pashto grammar through programming syntax trees

Peter Naur talked about programming as theory building, and argued that programming is: “an activity by which programmers form or achieve a…

Making totally offline-available PWAs with Vite and React

PWAs (Progressive Web Apps) are great. They let you make any website into an app that can be installed and used across different platforms…

Logic and Multiply-Quantified Statements in JavaScript

Programming has drawn me back into math, and I am really enjoying seeing the parallels between the formal logic of mathematics and the…

Using recursion to modify all the text in a React/JSX element

How can we write a function to modify all the text found inside of a React/JSX element, even when its full of other nodes and text? This is…

How to keep an input in focus when clicking on other elements in React

Sometimes in a React application you want to have an input which is the main focus. You might want the cursor to stay focussed on that input…