<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Adam Dueck Blog RSS Feed]]></title><description><![CDATA[A blog about language, software development, and everything in-between]]></description><link>https://adueck.github.io/blog</link><generator>GatsbyJS</generator><lastBuildDate>Mon, 01 Dec 2025 22:25:54 GMT</lastBuildDate><item><title><![CDATA[How to keep an input in focus when clicking on other elements in React]]></title><description><![CDATA[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…]]></description><link>https://adueck.github.io/blog/keep-focus-when-clicking-on-element-react/</link><guid isPermaLink="false">https://adueck.github.io/blog/keep-focus-when-clicking-on-element-react/</guid><pubDate>Mon, 19 Sep 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[Using recursion to modify all the text in a React/JSX element]]></title><description><![CDATA[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…]]></description><link>https://adueck.github.io/blog/recursively-modify-text-jsx-react/</link><guid isPermaLink="false">https://adueck.github.io/blog/recursively-modify-text-jsx-react/</guid><pubDate>Tue, 20 Sep 2022 00:00:00 GMT</pubDate></item><item><title><![CDATA[Logic and Multiply-Quantified Statements in JavaScript]]></title><description><![CDATA[Programming has drawn me back into math, and I am really enjoying seeing the parallels between the formal logic of mathematics and the…]]></description><link>https://adueck.github.io/blog/logic-and-multiply-quantified-statements-in-javascript/</link><guid isPermaLink="false">https://adueck.github.io/blog/logic-and-multiply-quantified-statements-in-javascript/</guid><pubDate>Tue, 24 Jan 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[Making totally offline-available PWAs with Vite and React]]></title><description><![CDATA[PWAs (Progressive Web Apps) are great. They let you make any website into an app that can be installed and used across different platforms…]]></description><link>https://adueck.github.io/blog/caching-everything-for-totally-offline-pwa-vite-react/</link><guid isPermaLink="false">https://adueck.github.io/blog/caching-everything-for-totally-offline-pwa-vite-react/</guid><pubDate>Thu, 02 Feb 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[How I learned Pashto grammar through programming syntax trees]]></title><description><![CDATA[Peter Naur talked about programming as theory building, and argued that programming is: “an activity by which programmers form or achieve a…]]></description><link>https://adueck.github.io/blog/how-i-learned-pashto-grammar-through-programming-syntax-trees/</link><guid isPermaLink="false">https://adueck.github.io/blog/how-i-learned-pashto-grammar-through-programming-syntax-trees/</guid><pubDate>Sat, 18 Feb 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[State persistence in React with TypeScript and useStickyReducer]]></title><description><![CDATA[There are a number of libraries and tutorials available that explain how to make  keep the state saved in localStorage when a user revisits…]]></description><link>https://adueck.github.io/blog/persisting-state-in-react-with-typescript-and-use-reducer/</link><guid isPermaLink="false">https://adueck.github.io/blog/persisting-state-in-react-with-typescript-and-use-reducer/</guid><pubDate>Tue, 21 Feb 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[Making LISP-style macros work with destructuring in TypeScript]]></title><description><![CDATA[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…]]></description><link>https://adueck.github.io/blog/lisp-macros-in-typescript/</link><guid isPermaLink="false">https://adueck.github.io/blog/lisp-macros-in-typescript/</guid><pubDate>Tue, 09 May 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[Practical uses for functional programming in TypeScript (examples from NLP)]]></title><description><![CDATA[As I have been learning about functional programming, I’ve been delighted to see how these seemingly abstract FP contepts can be used to…]]></description><link>https://adueck.github.io/blog/practical-uses-for-functional-programming-with-nlp/</link><guid isPermaLink="false">https://adueck.github.io/blog/practical-uses-for-functional-programming-with-nlp/</guid><pubDate>Wed, 23 Aug 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[Functors, Applicatives, And Monads In Pictures (In TypeScript)]]></title><link>https://adueck.github.io/blog/functors-applicatives-and-monads-with-pictures-in-typescript/</link><guid isPermaLink="false">https://adueck.github.io/blog/functors-applicatives-and-monads-with-pictures-in-typescript/</guid><pubDate>Mon, 25 Sep 2023 00:00:00 GMT</pubDate></item><item><title><![CDATA[Proofs are Programs: A Few Examples of the Curry-Howard Correspondence]]></title><description><![CDATA[Proofs are programs, and programs are proofs. That’s basically what the Curry-Howard correspondance says. Proofs can be transformed in…]]></description><link>https://adueck.github.io/blog/curry-howard-proofs-are-programs/</link><guid isPermaLink="false">https://adueck.github.io/blog/curry-howard-proofs-are-programs/</guid><pubDate>Wed, 22 May 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Why Does Everyone Hate Haskell, Jazz, and Pure Math?]]></title><description><![CDATA[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…]]></description><link>https://adueck.github.io/blog/on-haskell-jazz-and-pure-math/</link><guid isPermaLink="false">https://adueck.github.io/blog/on-haskell-jazz-and-pure-math/</guid><pubDate>Thu, 11 Jul 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Element Theory is like Declarative Programming]]></title><description><![CDATA[I’m currently reading “An Introduction to Element Theory” by Phillip Backley. Element Theory is theory of phonology. Phonology is basically…]]></description><link>https://adueck.github.io/blog/element-theory/</link><guid isPermaLink="false">https://adueck.github.io/blog/element-theory/</guid><pubDate>Sun, 24 Nov 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Programming and Language Learning Are Exponentially Better With Other People]]></title><description><![CDATA[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…]]></description><link>https://adueck.github.io/blog/language-and-coding-are-better-with-people/</link><guid isPermaLink="false">https://adueck.github.io/blog/language-and-coding-are-better-with-people/</guid><pubDate>Sun, 08 Dec 2024 00:00:00 GMT</pubDate></item><item><title><![CDATA[Testing is Science, Type Checking is Math]]></title><description><![CDATA[Testing software is like empirical science. You run experiments to see if there’s something wrong with a program. Type-checking software is…]]></description><link>https://adueck.github.io/blog/testing-is-science-type-checking-is-math/</link><guid isPermaLink="false">https://adueck.github.io/blog/testing-is-science-type-checking-is-math/</guid><pubDate>Mon, 03 Feb 2025 00:00:00 GMT</pubDate></item></channel></rss>