Blog

Thoughts on building systems that reason, AI architecture decisions, Web3 experiments, and the occasionally crushing anxiety of optimizing for search engines that might not exist in three years.

2025

October 28, 202512 min read

How we learned to stop worrying and love the binary calendar. On deleting databases, removing cron jobs, and discovering that the oracle was encoded in the date all along.

architecturesimplicityi-ching8-bit-oracleengineering
October 28, 20259 min read

What we actually ship in 8-Bit Oracle today: JSONB conversations, hexagram context, and Postgres views — plus why we didn't adopt Neo4j, MemMachine, or mem0 (yet).

architectureaimemory-systemspostgres8-bit-oracle
October 28, 202522 min read

Complete technical comparison of MemMachine vs mem0, PostgreSQL graph alternatives (recursive CTEs, ltree, adjacency lists), and detailed implementation strategies for AI agent memory systems.

architectureaimemory-systemspostgrestechnical-deep-dive
August 19, 20255 min read

A technical deep-dive into how we avoided a risky database migration by choosing an additive strategy for adding Simplified Chinese support to our Traditional Chinese implementation.

internationalizationdatabase-migrationrisk-managementproduction-deploymentlocale-strategy
August 11, 20255 min read

My experience with Claude Code's productivity gains, the double-edged sword of rapid development, and lessons learned from over-engineering features.

claude-codeai-codingproductivitydevelopment-workflowrefactoring
May 14, 202510 min read

A developer's journey through the challenges of implementing FIDO2 passkeys for an Android app using Python, covering assetlinks.json, data serialization, and Base64URL encoding.

pythonfido2passkeyswebauthnbackend
March 27, 20256 min read

A developer's guide to deploying a CosmWasm smart contract on the Stargaze testnet, covering environment setup, starsd CLI usage, contract uploading, instantiation, and Rust version considerations.

rustcosmwasmsmart contractsstarsdcosmos
January 17, 20255 min read

An exploration of using the I-Ching's King Wen sequence as a potential framework for self-directed learning in AGI. Details the thought process, key insights, and implications for AI development, including a link to a research paper.

king-wen-sequencei-chingself-directed-learningmemoryagi

2024

September 1, 20245 min read

An overview of Zustand as an efficient state management library for React, highlighting its benefits over traditional methods (refs, Context API) for managing user state, simplifying code, and minimizing re-renders.

zustandreactstate-managementreact-state-managementglobal-state
August 30, 20243 min read

A guide to minimizing re-renders and optimizing performance in React/Next.js applications with authentication. Covers combining state, memoizing context with useMemo, tracking state changes with useRef, debouncing, and optimizing useEffect dependencies.

reactnextjsreact-performancenextjs-optimizationre-renders
June 21, 20244 min read

A guide to conditionally rendering components, like a footer, in a Next.js 14 (App Router) application by bridging server and client components using React Context API and usePathname.

nextjsreactnextjs-app-routerserver-componentsclient-components
June 8, 20242 min read

A developer's experience integrating Shadcn UI components into a Next.js project. Covers project preparation, handling opinionated styling (dark theme, New York style), managing global CSS, and an example root layout incorporating ThemeProvider and Toaster.

shadcn-uiui-componentsreactnextjstailwindcss
May 31, 20243 min read

A developer's journey through UI framework choices, from Bootstrap to Next.js with Shadcn/ui. Discusses the pros and cons of component libraries like Shadcn (built on Radix UI and Tailwind CSS) versus traditional UI frameworks, and touches on project MVP plans.

ui-frameworkscomponent-librariesshadcn-uitailwindcssradix-ui
May 7, 20243 min read

Explores client-side vs. server-side authentication using Supabase with Next.js 14 (App Router). Covers Google OAuth2 (client-side flow with createBrowserClient) and Magic Link (server-side flow with createServerClient), and clarifies Supabase Auth-UI usage.

supabasenextjsauthenticationclient-side-authserver-side-auth
May 5, 20242 min read

Details on setting up authentication and database for the 8-Bit Oracle project using Next.js, Supabase (with Auth-UI for OAuth2), and Tailwind CSS. Discusses choices like Supabase over Firebase and future consideration of Web3Auth.

supabaseauthenticationoauth2web3authsupabase-auth-ui
April 19, 20241 min read

A developer's comparison of using Claude Opus and GPT-4 (via Cursor.sh) as AI coding assistants, particularly when working with Next.js App Router vs. Pages Router and handling framework updates.

ai-coding-assistantsclaudegpt-4ai-pair-programmingnextjs
April 17, 20243 min read

A developer's notes and tips on implementing a smooth, multi-paragraph typing effect in React with a skip animation feature. Covers state management, DOM manipulation alternatives, event handling, and internationalization with react-i18next.

reacttyping-effectanimationreact-hooksuseeffect
April 15, 20245 min read

An analysis of using Chainlink VRF for I-Ching divination, comparing it to traditional methods and other randomness generation techniques like PRNGs and client-side randomness. Discusses pros, cons, and includes JavaScript examples for hexagram generation with changing lines.

chainlink-vrfi-chingdivinationrandomnessblockchain
March 23, 20242 min read

Troubleshooting common Webpack issues, including double script loading due to manual and Webpack config imports, and resolving Flash of Unstyled Content (FOUC) by correctly setting production mode with cross-env and configuring MiniCssExtractPlugin.

webpackjavascript-bundlingfoucfrontend-optimizationwebpack-configuration
March 4, 20245 min read

A project idea to create Fortune-Telling NFTs by integrating the ancient wisdom of the I-Ching (Yin/Yang, Trigrams, Hexagrams) with modern blockchain technology. I explore the cultural and personal motivations, the envisioned fortune-telling process, and potential Web3 integrations.

nftblockchaini-chingtaoismyin-yang
February 29, 20244 min read

My initial thoughts on designing an AI service that can analyze and critique uploaded photos. I explore a multi-stage approach using CNNs, CLIP, and LLMs for metadata extraction, image understanding, and generating constructive feedback.

aiphoto-criticmulti-modalcomputer-visionimage-analysis
February 28, 20245 min read

A step-by-step guide to diagnosing and fixing network connection problems between a Dockerized Spring Boot app on AWS EC2 and an RDS Postgres database. Learn to use nslookup, nc, psql for troubleshooting, and how to configure Docker DNS for private AWS VPC name resolution.

awsec2rdspostgresnetworking
February 28, 20244 min read

My developer notes on quickly getting to grips with JWT authentication and data persistence in Spring Boot 3. I cover my experiences with Spring Security, the power of JPA annotations for entity management, stateless sessions with JWT, and BCrypt password encryption, contrasting it with older Java EE approaches.

spring-bootspring-securityspring-data-jpajwtbcrypt
February 13, 20243 min read

Some brainstorming on using AI to transcribe family stories shared at gatherings. I'm thinking about detecting narrators, mapping complex family relationships, and even visualizing our family history as an interactive graph.

ai-transcriptionfamily-storytellinggenealogynarrator-detectionrelationship-mapping
February 1, 20245 min read

My experience implementing Retrieval Augmented Generation (RAG) and AI Agents with Haystack 1.x. I cover conversational memory, creating custom data pipelines using FAISS DocumentStore, integrating Google Search, and the challenges of incrementally indexing new knowledge.

retrieval-augmented-generationraghaystack-frameworkai-agentsfaiss
January 21, 20245 min read

My practical tips and experiences from working with the Haystack LLM framework. I cover version differences (1.x vs. 2.x beta), the benefits of developing with a forked repository, managing Python dependencies for projects like this, and how to contribute back to open-source.

haystack-frameworkllmnlpvector-searchretrieval-augmented-generation

2023

November 26, 20237 min read

A guide on dramatically improving GPT-J-6B inference speed. I'll show you how I converted a Hugging Face model from its standard format to GGML, slashing wait times from minutes to seconds on my own machine. Covers the conversion process, memory needs, and running the optimized model.

gpt-jllminference-speedhuggingfaceggml
November 26, 20232 min read

Exploring the difficulties in finding truly uncensored AI models. I discuss the influence of OpenAI's data and look at methods for fine-tuning base models to remove built-in limitations or refusals, mentioning my experiences with some specific models.

uncensored-aiai-model-traininghuggingface-modelsopenaigguf
November 26, 20234 min read

A breakdown of a helpful Reddit discussion on AI model formats like GGUF, GGML, and tools such as Llama.cpp and Hugging Face Transformers. I add my own notes on GGML quantization and summarize the key takeaways for navigating this complex landscape.

ai-model-formatsllama-cppggufggmlhuggingface-transformers