Browse by Tag
Explore posts organized by topic. Click to expand each tag.
▸ software-engineering 29 posts
- Services and Coupling Lines of code like: > PositionCalculator calc = new MercatorPositionCalculator(); (where **_PositionCalculator_** is a...
- Inheritance, Aggregation, and Pipelines How does one write software that can be extended? I think many developer’s first instinct is to set up some form of inh...
- Practical Laziness in Programming When I first heard about lazy evaluation I thought it was cool but not of much practical use. That is until I thought ab...
- These are not types Is an **int** a type? A **float**? A **double**? These are **storage** types, not **application level** types. For man...
- Reactive Markdown @import url("/blog-assets/reactive-markdown/main.css"); Many of my blog posts contain interactive demos or content t...
- The Shortest, Framework Free, TODO App @import url("/blog-assets/todo-mvc/base.css"); @import url("/blog-assets/todo-mvc/todo.css"); **A TodoMVC App in ~20...
- Understanding Generics ```js function identity(x: T): T; ``` What is the essence of a generic? > Generics are for the **caller** rather than...
- Reacting Better. Intro: Anemic Models React eschews models that have any attached functionality. The “model” for a react app is usually anemic — just a bare s...
- 🧬 Missing Mutation Primitives I’ve been developing apps for the past ~8 years that use immutable data models. For the ~7 years prior to that, using a...
- ⛵️ Reference Equality - What is it Really? In programming we're met with things that are completely new. Even though they're new, they're familiar enough to grasp...
- ☢️ Reacting Better - Deeply Nested Update Problem Something irks me about React. It's how inefficiently it handles deeply nested updates. React apps, like any app, will...
- 👀 Observability Driven Development One of the things I learned quickly while working on large scale systems at `Facebook (Meta)` was that if your tests pas...
- 👨💻 URLs As Display Data I've been toying with the idea that we get something wrong when it comes to URL management and routing in single page ap...
- 🌈 Understanding Color by Writing a Color Picker @import url("/blog-assets/color-picker-from-scratch/color-field.css"); > "Programmers re-invent the wheel so they ca...
- 🧶 Improving Code Sharing with Yarn Workspaces Sharing code between `JavaScript` & `TypeScript` projects has always been more trouble than it should be. Say you creat...
- 🌅 Expressing Early Fetches - React draft post-- Fetching early is difficult to express and get right in all places in React. This is because a lack of do...
- 📦 Your One Package Might Be Two When creating a software package (or module or bundle, pick your term) for others to reuse, there's often a _second_ pac...
- 😌 Simple MDX > tldr; skip to full sample code So you want to deploy a site that uses `MDX`? Outside of using Nextjs, this process is...
- 🧶 Skipping the Bundling We're in the era of ES6 modules, esm.sh and Typescript. Do you _really_ need to spin up that webpack/snowpack/rollup/vi...
- 📀 Large Local Storage Way way back in 2013 there wasn't a common way to save large blobs in all browser. Back then, all of these were true: *...
- 🪨 Chunk Iterable Today I'll be discussing the `Chunk Iterable Framework`. This is a core component of Aphrodite and is used to speed up t...
- ⛓ Query Builder Aphrodite generates rich and type safe query builders (example) from your schemas. The query builders not only query for...
- 💨 Query Plan Optimization This is the third part in a deep dive into Aphrodite's query layer. - [[2022-05-26-query-builder:Part 1]] we talked abo...
- 📝 Query Planning # Review Previously we discussed the query builder. To recap, when a user interacts with the query builder a linked li...
- 🧶 HTML, CSS & JS. All mixed up together. This time it's different. From time to time I run across people decrying the current state of web development with words like: > We've gone compl...
- 📚 Not Machine Readable? Was watching https://www.youtube.com/watch?v=AHblHPLoKKE&t=139s and this dawned on me. When we say "something isn't mac...
- Why SQLite? Why Now? 🐇 I've been sucked down a `sqlite` rabbithole and I'm all-in on it. So why `SQLite`? And why now? For me, its about re-a...
- Meta / Facebook - How a graph model can scale your relational DBs Did you know that still, to this day, the majority of Meta's data needs are serviced by MySQL? There is a caching layer...
- Adding a Chats Section to My Blog A conversation with Claude about setting up a new section to document interesting LLM chats
▸ philosophy 21 posts
- I am. You are? When we describe how we're feeling we say "I am angry", "I am upset", "I am X" But you aren't _angry_ nor _upset_. You...
- Dangerous. Ideas. "A little bit of knowledge is a dangerous thing" How do yo interpret that? * Does that mean knowledge is power and even...
- Non Conceptual Definitions Philopsophers often question what is "art" or "love" or other words for humanity has never had a solid definition. The...
- All Things are Permitted Its been said that _"if there is no God then all things are permitted."_ Well, that's why we have laws. Precisely becau...
- What if Religion is last? The popular view of religion is as being the first development of a civilization. The thing that predates a people befor...
- 👐 American Spirit > Note -- I just finished reading "Beyond Good and Evil" and was curious what something of that nature would read like i...
- 🧮 No, Mathematical Government is not a Logical Government Listening to Freakonomics s11e16 there was some commentary about "if the world was run by mathematicians it'd be so logi...
- 🧚♂️ Past, Present, Future - Doing for Others Our current state of affairs is almost entirely determined by those who came before us. What institutions they created,...
- 🧟♂️ Memes & Themes - 1619 Project Coincidentally I came across all of these three things below around the same time This was a good critique, from 2...
- You'll always have a body > Prompted after reading https://www.physics.princeton.edu/ph115/LQ.pdf and https://www.quantamagazine.org/how-to-make-t...
- The Consistent Man Part 1 of the Mirror Room Collection. A rational identity.
- The Mirror Room Part 2 of the Mirror Room Collection. A mystic identity.
- The Meeting Part 3 of the Mirror Room Collection. The Identities Meet.
- The Paradox of Becoming Part 4 of the Mirror Room Collection. Choice as primary.
- The Reader's Crisis Part 5 of the Mirror Room Collection. A 21st century leftish critique.
- Observations on the Sleep of Seekers Draft. Practical advice in response to The Mirror Room collection.
- Epistemic humility discussion The common sense perspective. Nobody knows why we're here. If they did it would require them receiving some special reve...
- 2k years Christianity summarize "the fear of falling: the inner life of the middle class"
- Girard's scapegoat mechanism explain girard's scape-goat mechanism and give examples
- Summarize fear of falling summarize "the fear of falling: the inner life of the middle class"
- AI impact on labor the exponential of ai + robotics means there is soon to be no need for human labor. Company values presumably stick arou...
▸ programming 13 posts
- Oh Lisp If you ever tell someone you like Lisp and that Lisp is a more suitable language for the work you are doing most of the...
- The Almighty Function > Objects are a poor man’s closures. Closures are a poor man’s objects. Some people say everything is an object. I used...
- Practical Laziness in Programming When I first heard about lazy evaluation I thought it was cool but not of much practical use. That is until I thought ab...
- Typed Literals ARE Constants! ``` (option 1) display.setLayout(Layouts.FIXED); (option 2) display.setLayout('FIXED'); ``` # **Are both lines of code...
- These are not types Is an **int** a type? A **float**? A **double**? These are **storage** types, not **application level** types. For man...
- Filter, Map, etc. vs For Each & While I've run into the occasional programmer that finds the functional way of transforming collections (`map`, `filter`, `red...
- Understanding False Positive Rate @import url("/blog-assets/false-positive-rate.css"); Jump to the simulation Throughout the Coronavirus pandemic, th...
- Regression to the Mean & the Gambler's Fallacy - Simulated @import url("/blog-assets/regression-mean-vs-gambler.css"); Jump to the simulation There are two seemingly contradi...
- Understanding Generics ```js function identity(x: T): T; ``` What is the essence of a generic? > Generics are for the **caller** rather than...
- Reacting Better. Intro: Anemic Models React eschews models that have any attached functionality. The “model” for a react app is usually anemic — just a bare s...
- 🧬 Missing Mutation Primitives I’ve been developing apps for the past ~8 years that use immutable data models. For the ~7 years prior to that, using a...
- Lamport Clock 🕥 The Lamport clock was originally described in 1978 in the paper "Time, Clocks, and the Ordering of Events in a Distribut...
- Do LWW Registers Need Vector Clocks or Causal Graphs? 💭 Short answer: No. When it comes to a LWW register, Lamport clocks offer all the guarantees we need. Guarantees provided...
▸ fiction 7 posts
- Nicolas Cage is Creating a new Movie Genre Not many people realize this but Nicolas Cage is slowly but surely carving out and defining a whole new genre of trippy...
- The Consistent Man Part 1 of the Mirror Room Collection. A rational identity.
- The Mirror Room Part 2 of the Mirror Room Collection. A mystic identity.
- The Meeting Part 3 of the Mirror Room Collection. The Identities Meet.
- The Paradox of Becoming Part 4 of the Mirror Room Collection. Choice as primary.
- The Reader's Crisis Part 5 of the Mirror Room Collection. A 21st century leftish critique.
- Observations on the Sleep of Seekers Draft. Practical advice in response to The Mirror Room collection.
▸ llm 6 posts
- Adding a Chats Section to My Blog A conversation with Claude about setting up a new section to document interesting LLM chats
- Epistemic humility discussion The common sense perspective. Nobody knows why we're here. If they did it would require them receiving some special reve...
- 2k years Christianity summarize "the fear of falling: the inner life of the middle class"
- Girard's scapegoat mechanism explain girard's scape-goat mechanism and give examples
- Summarize fear of falling summarize "the fear of falling: the inner life of the middle class"
- AI impact on labor the exponential of ai + robotics means there is soon to be no need for human labor. Company values presumably stick arou...
▸ chatgpt 5 posts
- Epistemic humility discussion The common sense perspective. Nobody knows why we're here. If they did it would require them receiving some special reve...
- 2k years Christianity summarize "the fear of falling: the inner life of the middle class"
- Girard's scapegoat mechanism explain girard's scape-goat mechanism and give examples
- Summarize fear of falling summarize "the fear of falling: the inner life of the middle class"
- AI impact on labor the exponential of ai + robotics means there is soon to be no need for human labor. Company values presumably stick arou...
▸ politics 5 posts
- What if Religion is last? The popular view of religion is as being the first development of a civilization. The thing that predates a people befor...
- 👐 American Spirit > Note -- I just finished reading "Beyond Good and Evil" and was curious what something of that nature would read like i...
- 🧟♂️ Memes & Themes - 1619 Project Coincidentally I came across all of these three things below around the same time This was a good critique, from 2...
- Summarize fear of falling summarize "the fear of falling: the inner life of the middle class"
- AI impact on labor the exponential of ai + robotics means there is soon to be no need for human labor. Company values presumably stick arou...
▸ distributed-systems 4 posts
- Why SQLite? Why Now? 🐇 I've been sucked down a `sqlite` rabbithole and I'm all-in on it. So why `SQLite`? And why now? For me, its about re-a...
- Lamport Clock 🕥 The Lamport clock was originally described in 1978 in the paper "Time, Clocks, and the Ordering of Events in a Distribut...
- Do LWW Registers Need Vector Clocks or Causal Graphs? 💭 Short answer: No. When it comes to a LWW register, Lamport clocks offer all the guarantees we need. Guarantees provided...
- Meta / Facebook - How a graph model can scale your relational DBs Did you know that still, to this day, the majority of Meta's data needs are serviced by MySQL? There is a caching layer...
▸ react 4 posts
- Reacting Better. Intro: Anemic Models React eschews models that have any attached functionality. The “model” for a react app is usually anemic — just a bare s...
- ☢️ Reacting Better - Deeply Nested Update Problem Something irks me about React. It's how inefficiently it handles deeply nested updates. React apps, like any app, will...
- 👨💻 URLs As Display Data I've been toying with the idea that we get something wrong when it comes to URL management and routing in single page ap...
- 🌅 Expressing Early Fetches - React draft post-- Fetching early is difficult to express and get right in all places in React. This is because a lack of do...
▸ aphrodite 3 posts
- ⛓ Query Builder Aphrodite generates rich and type safe query builders (example) from your schemas. The query builders not only query for...
- 💨 Query Plan Optimization This is the third part in a deep dive into Aphrodite's query layer. - [[2022-05-26-query-builder:Part 1]] we talked abo...
- 📝 Query Planning # Review Previously we discussed the query builder. To recap, when a user interacts with the query builder a linked li...
▸ databases 3 posts
- 🪨 Chunk Iterable Today I'll be discussing the `Chunk Iterable Framework`. This is a core component of Aphrodite and is used to speed up t...
- Why SQLite? Why Now? 🐇 I've been sucked down a `sqlite` rabbithole and I'm all-in on it. So why `SQLite`? And why now? For me, its about re-a...
- Meta / Facebook - How a graph model can scale your relational DBs Did you know that still, to this day, the majority of Meta's data needs are serviced by MySQL? There is a caching layer...
▸ framework 2 posts
- ⛵️ Reference Equality - What is it Really? In programming we're met with things that are completely new. Even though they're new, they're familiar enough to grasp...
- ☢️ Reacting Better - Deeply Nested Update Problem Something irks me about React. It's how inefficiently it handles deeply nested updates. React apps, like any app, will...
▸ math 2 posts
- Understanding False Positive Rate @import url("/blog-assets/false-positive-rate.css"); Jump to the simulation Throughout the Coronavirus pandemic, th...
- Regression to the Mean & the Gambler's Fallacy - Simulated @import url("/blog-assets/regression-mean-vs-gambler.css"); Jump to the simulation There are two seemingly contradi...