Skip to content
memo
Dwarves Foundation
Writing
Reports
Topics
Programs
Case studies
About
Search 587 notes
⌘K
Menu
All memos
Every dated note, newest first. Company pages and undated notes are left out.
All
587
Writing
75
Reports
32
Research notes
403
Case studies
32
Playbooks
45
Any topic
Product engineering (145)
Engineering practice (89)
AI agents (52)
Applied LLMs (50)
Data (48)
Digital assets (35)
Markets and strategy (31)
Languages (28)
Knowledge work (27)
Architecture (25)
Platform ops (25)
Financial systems (13)
Production readiness (12)
Any year
2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
October 2026
27 Oct
Agentic engineering: the series map and how to read it
Analysis
25 Oct
Owner agents, plain functions: where the model sits in our ops estate
Analysis
22 Oct
No. 43: Tuan Dao on delegating to AI
Essay
21 Oct
Related notes by meaning: an embedding index won memo's Ask and lost the chat eval
Field report
18 Oct
#5 Building is cheap now, getting heard is the hard part
Essay
18 Oct
3,016 delegations to agents: the long briefs cost the most
Essay
18 Oct
Ahrens on the slip box, from atomic notes to writing from the bottom up
Research note
18 Oct
Five sources made 72% of our 5,068 pages: six months of a Worker that watches our jobs
Field report
18 Oct
Harness engineering notes from a team running agents all day
Essay
18 Oct
History of DeFi
Research note
18 Oct
How trust works at Dwarves: from your team to the people we call first
Essay
18 Oct
MBTI preferences and cognitive functions, reading notes on My True Type
Research note
18 Oct
Onboarding without flattening: what 9T keeps hard on purpose
Analysis
18 Oct
Play a quarter, wait the rest: the dead-air problem in turn-based artillery games
Analysis
18 Oct
The 2025 roadmap, scored: 22 promises, 5 kept, 9 dropped
Field report
18 Oct
The Go bet worked, then we tried to double the team
Essay
18 Oct
The Hook Model and AARRR: reading notes on Nir Eyal's Hooked
Research note
18 Oct
Twenty accounts and the rich players: the economy loop behind farm-and-fight MMOs
Analysis
18 Oct
Waterfall, iterative or Agile: how to choose a software lifecycle for a project
Research note
18 Oct
We called ten technology arcs in June 2025. eight of the 60 experiments we planned got built.
Field report
18 Oct
We stopped testing engineers on speed
Essay
17 Oct
Engineering release checklists for production, UAT and frontend UI
Playbook
17 Oct
Memo, rebuilt: Elixir and DuckDB out, Cloudflare and D1 in
Field report
10 Oct
Guest writers on memo, keyed by the writer's own domain
Field report
9 Oct
Designing Out SNAP Fraud
Analysis
8 Oct
Five layers to tune before you fork your agent
Analysis
September 2026
18 Sep
Dispatch #1: UI kit workflow: bốn bước từ setup đến implement
Writing
18 Sep
Dispatch #2: handoff pattern: từ ảnh chụp app đến Figma và video demo
Writing
18 Sep
Hide the MacBook notch: the 32-point fix for the macOS 27 menu bar
Playbook
18 Sep
Record a Discord talk on your own machine
Playbook
7 Sep
What the Engelberg report got right about us
Analysis
3 Sep
Claude Code 2.1.259 turned our Read() deny rules into a Bash tripwire
Analysis
3 Sep
The debug loop: make the agent measure the browser before it touches the CSS
Analysis
August 2026
27 Aug
A landscape of UX research methods
Research note
27 Aug
A scene has large-scale and small-scale structures
Research note
27 Aug
Abundant data pushes us toward quantitative answers to every problem
Research note
27 Aug
Assert, require and revert: enforcing smart contract invariants in Solidity
Research note
27 Aug
Evidence communication: inform your audience instead of persuading them
Research note
27 Aug
Four theories of truth: correspondence, coherence, consensus and pragmatic
Research note
27 Aug
General Solidity best practices: abstract contracts, interfaces and checks
Research note
27 Aug
How many users should you interview?
Research note
27 Aug
Job stories: use JTBD stories to foreground the context of a solution
Research note
27 Aug
Jobs to be done: a framework built on customer needs and outcomes
Research note
27 Aug
Jobs-to-be-done interview structure: a five-step customer interview guide
Research note
27 Aug
Lester Dent's master plot for pulp fiction
Research note
27 Aug
Measuring behaviour changes behaviour (reading note)
Research note
27 Aug
Methods to overcome the limitations of personas (reading note)
Research note
27 Aug
Persona (reading note)
Research note
27 Aug
Personas alone can't help teams achieve empathy (reading note)
Research note
27 Aug
Personas may create space for assumptions (reading note)
Research note
27 Aug
Personas start with qualitative research (reading note)
Research note
27 Aug
Qualitative researchers care more about data saturation than sample size (reading note)
Research note
27 Aug
Quant data is lossy (reading note)
Research note
27 Aug
Quantitative analysis is not inherently more reliable than qualitative data (reading note)
Research note
27 Aug
Sensemaking (reading note)
Research note
27 Aug
Show, don't tell: vivid detail in business writing
Research note
27 Aug
Skeuomorphic models can limit room for innovation
Research note
27 Aug
Skeuomorphism: familiar metaphors for new technology
Research note
27 Aug
Spend more time in the problem space before you chase a solution
Research note
27 Aug
The collector's fallacy
Research note
27 Aug
The five commandments of storytelling from the Story Grid
Research note
27 Aug
The Pyramid Principle: organizing information from the bottom up
Research note
27 Aug
The talking heads avoidance device: adding action to dialogue scenes
Research note
27 Aug
The three clicks rule is a myth
Research note
27 Aug
User research teams as organizational multipliers
Research note
27 Aug
UX research activities across the product lifecycle
Research note
27 Aug
Why expressing uncertainty does not undermine a researcher's authority
Research note
24 Aug
Making our site AI-agent-ready, 50 to 93
Field report
19 Aug
Our publish step took 110 seconds, then 78. Our release tab took three tries.
Field report
18 Aug
DeepSeek harness, dissected
Analysis
14 Aug
What stays valuable when anyone can build anything
Essay
13 Aug
The tells
Essay
September 2025
9 Sep
CAP breakdown
Analysis
8 Sep
Social proof
Playbook
3 Sep
How knowledge work organizes itself
Research note
3 Sep
The five stages of learning
Research note
August 2025
28 Aug
Stagehand breakdown
Analysis
27 Aug
Context7 breakdown
Analysis
27 Aug
E2b breakdown
Analysis
19 Aug
Dify breakdown
Analysis
15 Aug
Maybe finance breakdown
Analysis
15 Aug
Umami breakdown
Analysis
13 Aug
Automated markdown linting for memo
Field report
7 Aug
Mem0 & Mem0-Graph breakdown
Analysis
7 Aug
Monitoring the ICY Swap backend
Field report
7 Aug
The Coding Agent Team
Research note
July 2025
30 Jul
Cline breakdown
Analysis
29 Jul
Ax framework breakdown
Analysis
29 Jul
Crawl4AI breakdown
Analysis
29 Jul
Zen MCP breakdown
Analysis
28 Jul
Better engineering
Essay
21 Jul
Why every redesign should start with UX Benchmarking
Research note
18 Jul
LSTM
Research note
10 Jul
Composing the Dwarves video pipeline
Field report
9 Jul
Modernizing complex financial systems through systematic transition
Case study
8 Jul
Should AI agents transact without human confirmation?
Research note
7 Jul
AI-powered consulting sprints for rapid clarity
Case study
5 Jul
Dual-mode monitoring for memo.d.foundation
Field report
1 Jul
Attack their cash cow
Research note
1 Jul
Building a scalable social listening data pipeline
Case study
June 2025
23 Jun
AI agent explained: LLMs, workflows and agents
Research note
23 Jun
Prompt formula
Research note
22 Jun
IC and management
Research note
22 Jun
You can poke life
Research note
21 Jun
Speed beats perfectionism in AI adaptation
Essay
20 Jun
Designing software for AI agents
Research note
19 Jun
Seeding your content for AI: a writer’s guide
Research note
18 Jun
Stand up GEO tracking tools: a simple guide
Research note
13 Jun
Tech transfer framework
Research note
12 Jun
Generative engine optimization
Research note
12 Jun
Staying visible in AI search with GEO
Research note
12 Jun
Understanding Tidewave.ai
Research note
9 Jun
Engineers in the AI landscape: architects, tinkerers, planners, and the vibers
Essay
8 Jun
Design tokens in the AI era
Research note
8 Jun
Vibe culture
Research note
3 Jun
A protocol for asynchronous shadowing
Playbook
3 Jun
Real feedback
Research note
2 Jun
Composing the future, part 1: agent basics, LangGraph and Autogen
Analysis
2 Jun
Composing the future, part 2: OpenAI's agent tools, MCP and fast-agent
Analysis
2 Jun
Composing the future, part 3: Mastra and CrewAI
Analysis
2 Jun
Composing the future, part 4: LlamaIndex and the framework face-off
Analysis
2 Jun
Composing the future, part 5: agent patterns, open problems and how to choose
Analysis
2 Jun
Mapping the path to AGI
Research note
May 2025
30 May
Strategic thinking behind our hiring
Essay
29 May
Skillmaxing
Essay
28 May
URL redirects and folder aliases for memo
Field report
27 May
Vetting proven talents
Essay
24 May
Composing forward engineering newsletter
Playbook
17 May
Client onboarding
Playbook
16 May
Engagement models
Playbook
15 May
Client delivery and soft skills
Playbook
14 May
Client-side and agency-side
Essay
14 May
Inefficiency arbitrage
Essay
14 May
LLM prompt for metrics planning
Playbook
13 May
AI knowledge automation
Field report
13 May
MCP playbook code flow
Field report
13 May
MCP playbook data flow
Field report
13 May
MCP playbook setup
Playbook
8 May
Append-only concept embedding log
Puzzle
8 May
Build a brain that never forgets
Puzzle
8 May
Data flow in Brainery
Puzzle
8 May
Database design and philosophy
Puzzle
8 May
MCP authorization over SSE
Puzzle
7 May
Building use-cases
Puzzle
7 May
Promoting raw data to insight
Puzzle
6 May
Access the brainery
Puzzle
6 May
Brainery architecture
Puzzle
2 May
Data-first Approach & Maintaining Data Integrity with Zod Schema
Research note
April 2025
25 Apr
Multi-MCP data integration - receiving data from other MCP servers
Research note
18 Apr
How to use Claude to build the system prompt
Research note
3 Apr
Approach as a squad
Playbook
3 Apr
Leads generation
Playbook
3 Apr
Market players
Essay
3 Apr
On deal making
Playbook
2 Apr
Build custom AI agent with ElizaOS
Research note
1 Apr
Web3 development with Foundry
Research note
March 2025
31 Mar
AI for fast and fair talent search
Case study
31 Mar
Secure and transparent uptime monitoring with Upptime and GitHub secrets
Field report
27 Mar
Authorization for remote MCP servers over SSE
Research note
27 Mar
Tool-level security for remote MCP servers, part 1: designing role-based access control
Research note
27 Mar
Tool-level security for remote MCP servers, part 2: enforcement, identity and practice
Research note
20 Mar
Create slides with Overleaf and ChatGPT
Playbook
12 Mar
Optimizing initial load time for a trading platform
Field report
7 Mar
Evolutionary database design: managing change and scaling with the system
Research note
7 Mar
Implement a token swap from the Base chain to Bitcoin for cross-chain transactions
Research note
January 2025
27 Jan
Let AI ask you
Research note
27 Jan
Your AI approach
Research note
23 Jan
Human touch in agent systems
Research note
15 Jan
Implement Binance futures PNL analysis page by Phoenix LiveView
Field report
15 Jan
Migrate regular tables into TimescaleDB hypertables to improve query performance
Field report
6 Jan
Mental models for prompting
Research note
2 Jan
Database hardening for a trading platform
Field report
December 2024
19 Dec
Synthetic users in UX research
Research note
19 Dec
Working with legacy code
Research note
13 Dec
Building a data archive and recovery strategy for high-volume trading system
Field report
9 Dec
Neutronpay: Lightning Network payment solutions
Case study
November 2024
21 Nov
Building chatbot agent to streamline project management
Field report
21 Nov
Building data pipeline for OGIF transcriber
Field report
21 Nov
Quantization for large language models
Research note
21 Nov
Setup centralized monitoring system for Hedge Foundation trading platform
Field report
18 Nov
Building better Binance transfer tracking
Field report
18 Nov
Reconstructing historical trading PnL: a data pipeline approach
Field report
18 Nov
Visualizing crypto market performance: BTC-Alt dynamic indicators in Golang
Field report
14 Nov
Project reports system: a case study
Field report
13 Nov
Natural language to database queries: Text-to-MongoDB
Research note
1 Nov
GraphRAG - building a knowledge graph for RAG system
Research note
October 2024
30 Oct
Database design circular
Research note
29 Oct
Building a data-driven project reporting system: A lens into modern data engineering
Research note
29 Oct
Code splitting in React
Research note
29 Oct
Component composition patterns in React
Research note
29 Oct
Design system integration in React
Research note
29 Oct
Hook architecture in React
Research note
29 Oct
Rendering strategies in React
Research note
29 Oct
State management strategy in React
Research note
29 Oct
Testing strategies in React
Research note
25 Oct
Package-first Go, part 1: packages and import paths
Research note
25 Oct
Package-first Go, part 2: wrapping types and choosing error patterns
Research note
25 Oct
Package-first Go, part 3: type safety with generics and a repo checklist
Research note
24 Oct
Guardrails in llm
Research note
22 Oct
Automata
Research note
18 Oct
ReAct(reason + act) in LLM
Research note
18 Oct
ReWOO: Reasoning without observation - a deeper look
Research note
16 Oct
#1 Coffee craftsmanship lessons for software engineering
Essay
16 Oct
#2 Film production lessons for software engineering
Essay
16 Oct
Kafi: making stock trading easier for everyone
Case study
15 Oct
Model selection
Research note
11 Oct
≈ Founder liquidity
Research note
11 Oct
Logging
Research note
11 Oct
Metrics
Research note
11 Oct
Tracing
Research note
9 Oct
Intent classification by LLM
Research note
4 Oct
LLM as a judge
Research note
4 Oct
Use cases for LLM applications
Research note
1 Oct
The rise of AI applications with LLM
Research note
September 2024
26 Sep
Evaluation guidelines for LLM applications, part 1: the evaluation checklist
Research note
26 Sep
Evaluation guidelines for LLM applications, part 2: types of evaluation and considerations
Research note
23 Sep
Prevent prompt injection
Research note
12 Sep
Evaluate chatbot agent by user simulation
Research note
11 Sep
Journey of thought prompting: Harnessing AI to craft better prompts
Research note
6 Sep
A holistic guide to security
Research note
6 Sep
Multi-agent collaboration for task completion
Research note
5 Sep
Efficient union of finite automata in Golang: a practical approach
Research note
August 2024
30 Aug
Why enterprise chose Java
Research note
30 Aug
Why go?
Research note
23 Aug
Designing for forgiveness: creating error-tolerant interfaces
Research note
21 Aug
Designing a model with dynamic properties
Research note
20 Aug
Dwarves operations checklists, part 1: the people lifecycle
Playbook
20 Aug
Dwarves operations checklists, part 2: clients, money and projects
Playbook
9 Aug
Devbox in production: our success story
Field report
9 Aug
Evaluating caching in RAG systems
Research note
8 Aug
Evaluating search engine in RAG systems
Research note
8 Aug
What is Generative UI?
Research note
1 Aug
Set up Devbox: local and global shells, devbox.json and a containerless Go backend
Research note
1 Aug
The monthly delivery report: three questions, one table, three ratings
Playbook
1 Aug
Why Docker builds drift and how Nix pins them: unstable packages, shadow copies, nixpkgs and fixed hashes
Research note
1 Aug
Why we use Devbox, from Docker's limits to Nix shells, flakes, services and plugins
Research note
July 2024
31 Jul
Design a file-sharing system: directory structure, permissions and passwords
Puzzle
30 Jul
Pricing model: bill by hours
Essay
19 Jul
Subscription pricing models
Research note
19 Jul
Using Foundry for EVM smart contract development
Research note
18 Jul
Function calling in AI agents
Research note
17 Jul
Building a local search engine for our Memo website
Research note
17 Jul
Ton's base concepts
Research note
12 Jul
Erlang finite state machine
Research note
12 Jul
Streamlining internal tool development with managed LLMOps: A Dify case study
Research note
12 Jul
Thumbs up and thumbs down pattern
Research note
12 Jul
Visitor design pattern, the concept, problem solution and use cases
Research note
11 Jul
Building agent supervisors to generate insights
Research note
11 Jul
Ton: blockchain of blockchains
Research note
11 Jul
Vietnam tech ecosystem 2024 report
Market report
10 Jul
How we crafted the OGIF summarizer bot to streamline weekly knowledge-sharing
Research note
8 Jul
Design feedback mechanism for LLM applications
Research note
6 Jul
¶ Local-first software
Research note
3 Jul
Proximal policy optimization
Research note
June 2024
28 Jun
A tour of Template method pattern with Golang
Research note
28 Jun
Bloom filter
Research note
28 Jun
Multimodal: in rag
Research note
27 Jun
Radix sort
Research note
25 Jun
Explaining gradient descent in machine learning with a simple analogy
Research note
21 Jun
Dynamic liquidity market maker - a new form of concentrated liquidity AMM on Solana
Research note
19 Jun
Introduce to Solana token 2022 - new standard to create a token in Solana
Research note
18 Jun
Solana core concepts
Research note
13 Jun
A grand unified theory of the AI hype cycle
Research note
13 Jun
Using Devbox to setup local development environment
Research note
11 Jun
History of structured outputs for LLMs
Research note
10 Jun
Gang of Four design patterns, notes on seven creational and behavioral patterns
Research note
5 Jun
#3 Digital transformation insights from the energy sector
Essay
May 2024
23 May
Breaking down complexity: the role of abstractions and UML in C4 modelling
Research note
3 May
Dollar Cost Averaging (DCA)
Research note
3 May
How I create content for multiple platforms
Playbook
3 May
Write content for multimedia guidelines
Playbook
2 May
Developing rapidly with generative AI
Research note
April 2024
24 Apr
The overview into Nix & how we use Devbox @ Dwarves
Research note
19 Apr
How I came up with our security standard
Research note
19 Apr
Our docker adoption and its challenges
Research note
15 Apr
Effective planning and reporting
Playbook
9 Apr
The world before Docker
Research note
March 2024
15 Mar
Data pipeline design framework
Research note
January 2024
3 Jan
Droppii v3 in ten weeks: rebuilding a 90-day rush on web, iOS and Android
Case study
December 2023
18 Dec
Introducing HTMX - navigating the advantages and concerns
Research note
18 Dec
WebSockets
Research note
8 Dec
Estimation guidelines
Playbook
5 Dec
Project delivery schedule and guidelines
Playbook
November 2023
22 Nov
Leveraging Golang and WebRTC for high-performance video streaming
Research note
5 Nov
Introduction to CRDT
Research note
October 2023
16 Oct
AARRR framework
Playbook
16 Oct
Design sprint
Playbook
16 Oct
Fixed-budget, scope-controlled
Essay
16 Oct
Lean canvas
Playbook
16 Oct
Low-fidelity prototype: UI design
Playbook
16 Oct
Member skills required
Playbook
16 Oct
UX
Playbook
September 2023
14 Sep
Making keg management smarter for breweries
Case study
14 Sep
SQL saragable queries and their impact on database performance
Research note
13 Sep
The removal of Apache Kafka's dependency on Zookeeper
Research note
11 Sep
From markup to pixels - a look inside the DOM, CSSOM, and render tree
Research note
6 Sep
Sql and how it relates to disk reads and writes
Research note
6 Sep
URL Redirect vs. Rewrite; What’s the difference?
Research note
August 2023
30 Aug
Our view on fullstack engineering
Research note
20 Aug
Window and iframe communication
Research note
16 Aug
Building CIMB's digital wealth platform for better customer experience
Case study
16 Aug
UML state machine diagrams: states, transitions, events and actions
Research note
9 Aug
A story map for building with LLMs
Research note
8 Aug
Building a Redis leaderboard with sorted sets and hashes
Research note
8 Aug
Level up Go unit tests with Gomock mock objects
Research note
8 Aug
Test doubles in Go, part 1: dummies and stubs
Research note
8 Aug
Test doubles in Go, part 2: spies, mocks, fakes and best practices
Research note
8 Aug
Testing made simple: best practices for Go tests
Research note
July 2023
31 Jul
Adoption of pnpm
Research note
10 Jul
Adversarial prompting in prompt engineering
Research note
2 Jul
The circuit breaker pattern in Go
Research note
June 2023
29 Jun
LLM's accuracy - self refinement
Research note
23 Jun
Reward model
Research note
22 Jun
Q learning
Research note
19 Jun
Applying mock service worker (MSW) for seamless web development
Research note
16 Jun
Deploying a branch of a monorepo with the Vercel CLI and GitHub Actions
Research note
9 Jun
Building blocks of a RAG pipeline
Research note
9 Jun
REPL-driven development with Vim, tmux and vim-slime
Research note
8 Jun
A paid project as an interview assessment at Dwarves
Research note
8 Jun
Render optimization in data-fetching libraries
Research note
7 Jun
A cached table for fast Binance kline API data
Research note
7 Jun
Real-time highest and lowest symbol prices with Binance WebSocket
Research note
5 Jun
Introduction to reinforcement learning and its application with LLMs
Research note
4 Jun
A fragment colocation pattern with React & Apollo GraphQL
Research note
2 Jun
How Discord stores messages: from MongoDB to Cassandra
Research note
1 Jun
A Redis rate limiter with counters and lists
Research note
1 Jun
Scroll-driven animations in CSS
Research note
May 2023
29 May
How we created an AI powered interview system using OpenAI's ChatGPT
Research note
26 May
URL formats for sharing a link on social networks
Research note
22 May
Managing concurrent workloads in Go, part 1: worker pools and fan-out/fan-in
Research note
22 May
Managing concurrent workloads in Go, part 2: pipelines, semaphores and goroutine counts
Research note
18 May
Choosing a vector database for LLM applications
Research note
18 May
Foundation models: the latest advancement in AI
Research note
16 May
Redis streaming concurrency: a master and consumers pattern
Research note
16 May
Shadow DOM
Research note
4 May
Message queues and streaming platforms eg Kafka Nats Rabbitmq
Research note
April 2023
24 Apr
A layer 2 design system with zkEVM and zero-knowledge proofs
Research note
24 Apr
Choosing a JavaScript framework: React versus Angular versus Vue
Research note
24 Apr
Lessons learned from a corporate micro-frontend implementation
Research note
24 Apr
Retain scroll position in infinite scroll
Research note
22 Apr
Database locking in PostgreSQL: explicit locks for concurrency control
Research note
21 Apr
Redis streaming for event sourcing and messaging
Research note
20 Apr
SOLID principles for clean and maintainable object-oriented code
Research note
17 Apr
Lessons learned from concurrency in blockchain projects
Research note
11 Apr
Continuous translation
Research note
11 Apr
Database designs for multilingual apps: column, JSON and translation tables
Research note
11 Apr
Unit testing in Go, conventions and best practices
Research note
11 Apr
What is PNPM compare to NPM/Yarn
Research note
3 Apr
Accelerating project initiation with a Next.js boilerplate and React toolkit
Research note
3 Apr
An i18n guideline for frontends: locale detection, routing and RTL text
Research note
3 Apr
How blue-green deployment helped Mochi Bot ship updates
Research note
3 Apr
Swift: Building a micro frontend design system for e-commerce
Case study
March 2023
29 Mar
GraphQL in microservices: a unified API gateway with Bramble
Research note
28 Mar
Profiling in Go
Research note
27 Mar
Radio talk 61: adopting a monorepo with Turborepo and Nx
Research note
20 Mar
From multi-repo to monorepo: a case study with Nghenhan Turbo
Field report
20 Mar
Why micro frontend
Research note
20 Mar
Why we chose our frontend tech stack
Research note
17 Mar
LocalStack lets you test AWS services locally, no AWS bill
Research note
15 Mar
Building a community platform for Vietnamese entrepreneurs
Case study
11 Mar
Tackling server state complexity in frontend development
Research note
10 Mar
Radio talk 60 blue green deployment
Research note
6 Mar
Variable fonts
Research note
1 Mar
When should we use useReducer instead of useState?
Research note
February 2023
28 Feb
Burnup and burndown charts for tracking product progress
Research note
22 Feb
No. 19: Tay Nguyen on focusing on the core
Essay
13 Feb
Self-balancing binary search trees, part 1: trees and binary trees
Research note
13 Feb
Self-balancing binary search trees, part 2: why a BST needs to be balanced
Research note
13 Feb
Self-balancing binary search trees, part 3: AVL trees
Research note
January 2023
17 Jan
Project, program and portfolio managers: how the roles differ
Research note
17 Jan
The Law of Demeter: loose coupling by limiting object dependencies
Research note
17 Jan
Validation with Zod
Research note
5 Jan
Parse, don't validate in TypeScript
Research note
5 Jan
Webassembly
Research note
December 2022
26 Dec
Starknet architecture, components and transaction lifecycle
Research note
26 Dec
The key security mechanisms for tackling cyber threats
Research note
15 Dec
Data Vault modelling: hubs, links and satellites for flexible data lakes
Research note
12 Dec
A test case breakdown structure for manual and automated tests
Research note
12 Dec
Hive window and analytic functions: a 10-day moving average example
Research note
11 Dec
Data race versus race condition in multithreaded programming
Research note
10 Dec
Buckets in Apache Hive: fewer tiny files and efficient sampling
Research note
9 Dec
zk-SNARKs
Research note
6 Dec
Layer 2: scaling solutions for Ethereum
Research note
5 Dec
Event sourcing overview: recording every order change as an event
Research note
2 Dec
Apache Hive partitions: static and dynamic partitioning for faster queries
Research note
November 2022
23 Nov
Hive ORDER BY, SORT BY, DISTRIBUTE BY and CLUSTER BY compared
Research note
22 Nov
#4 Transforming healthcare with technology
Essay
22 Nov
Boundary and equivalence partitioning in testing
Research note
21 Nov
dbt for faster data transformation in the warehouse
Research note
18 Nov
How to run backlog grooming effectively
Research note
16 Nov
Hive managed tables versus external tables
Research note
14 Nov
Go JSON parser: number <-> interface
Research note
14 Nov
Materialized view pattern
Research note
14 Nov
Scaling up an Android app with Jetpack Navigation
Research note
11 Nov
Behind a Hive table: structure, storage formats and SerDe
Research note
10 Nov
An introduction to Apache Hive: SQL queries on Hadoop data
Research note
8 Nov
How quality assurance works in the product team: test record formats
Research note
2 Nov
Libcluster in Elixir: node clustering on Kubernetes
Research note
1 Nov
Process groups in Elixir with Erlang pg
Research note
October 2022
24 Oct
¶ MapReduce
Research note
24 Oct
MapReduce components, part 1: input split, map and reduce
Research note
24 Oct
MapReduce components, part 2: the shuffle phase and combiner
Research note
16 Oct
Debugging in JavaScript: console methods and the debugger
Research note
16 Oct
Singleton design pattern in Javascript
Research note
16 Oct
The best of CSS TLDR
Research note
15 Oct
How a product team handles customer-reported incidents
Research note
13 Oct
An introduction to atomic CSS
Research note
13 Oct
Behavior driven development
Research note
13 Oct
Intro to IndexedDB
Research note
11 Oct
Concurrency in Go, part 1: unexpected pitfalls
Research note
11 Oct
Concurrency in Go, part 2: goroutines, channels, select and timeouts
Research note
11 Oct
Concurrency in Go, part 3: quit channels and a concurrent search
Research note
10 Oct
Kotlin coroutine lifecycle: scope, context and Job states
Research note
4 Oct
Software quality assurance: testing, planning and process control
Research note
2 Oct
The fundamental of web performance
Research note
September 2022
30 Sep
WAI-ARIA
Research note
28 Sep
Building a payment platform from scratch
Case study
28 Sep
Kubeseal and Sops: managing Kubernetes secrets in public repositories
Research note
26 Sep
Build polymorphic React components with Typescript
Research note
26 Sep
The Six Lines of Gold: learning the key structures of a language fast
Research note
25 Sep
Feature flags: switching features on and off at runtime
Research note
25 Sep
Progressive delivery: gradual releases with feature flags and CI/CD
Research note
25 Sep
The Pomodoro technique for focused work
Research note
19 Sep
Team Topologies: stream-aligned teams and the enabling teams that support them
Research note
18 Sep
The structure of a command line app built with Swift
Research note
15 Sep
Cameras in ThreeJS
Research note
15 Sep
Story point estimation and Planning Poker
Research note
12 Sep
Flutter widgets: stateless versus stateful
Research note
11 Sep
Prevent layout thrashing
Research note
10 Sep
DiSC personality types and how they shape teamwork
Research note
10 Sep
Pure CSS parallax
Research note
9 Sep
Secret management on iOS: from obfuscation to keeping secrets off the device
Research note
6 Sep
Kotlin coroutines: structured concurrency basics
Research note
6 Sep
Zero-knowledge proofs
Research note
2 Sep
Container queries in CSS
Research note
2 Sep
HSL color
Research note
August 2022
31 Aug
Declarative UIKit in Swift: the builder pattern, then @resultBuilder stacks
Research note
31 Aug
Mitigate blocking the main thread
Research note
29 Aug
A data analyst in retail trading: Power BI and SQL for business insight
Research note
26 Aug
Concurrency in JavaScript: the event loop, callbacks and promises
Research note
24 Aug
Double-entry accounting basics for engineers
Research note
15 Aug
Team Topologies: four team types and three interaction modes
Research note
15 Aug
Team-first thinking: small, stable teams that own their code
Research note
11 Aug
Css in JS
Research note
11 Aug
Dark mode flickers a white background for a fraction of a second
Research note
10 Aug
Multisign wallet
Research note
9 Aug
The atomic package in Go: fixing race conditions with sync/atomic
Research note
5 Aug
UX in Web3: simple, secure and self-custodial design
Research note
July 2022
12 Jul
Full-text search in PostgreSQL with GIN indexes
Research note
4 Jul
ViteJS native modules
Research note
2 Jul
Domain-driven design primer, from overview to entities and the domain model
Research note
June 2022
28 Jun
Finite state machines: automata, transducers, Mealy and Moore machines
Research note
27 Jun
JavaScript modules
Research note
23 Jun
Making crypto transfers faster and easier
Case study
21 Jun
Blockchain bridge
Research note
21 Jun
Service-based architecture: the middle ground between monoliths and microservices
Research note
17 Jun
Building a powerful crypto trading dashboard for professionals
Case study
16 Jun
Blocks
Research note
16 Jun
Distributed systems
Research note
16 Jun
PoS
Research note
16 Jun
Smart contract
Research note
15 Jun
Atomic design pattern
Research note
15 Jun
Hadoop distributed file system, part 1: why HDFS and how blocks work
Research note
15 Jun
Hadoop distributed file system, part 2: working with HDFS, reads and writes
Research note
12 Jun
Apache Hadoop and big data, part 1: what big data is, why Hadoop, and the problem
Research note
12 Jun
Apache Hadoop and big data, part 2: execution time on one machine and the history of Hadoop
Research note
12 Jun
Conway's Law: how communication structure shapes software design
Research note
6 Jun
React 18 feature quick guide
Research note
May 2022
22 May
Frontend reducers as state machines with algebraic data types
Research note
22 May
State explosion in state machines and how statecharts solve it
Research note
9 May
An Edsger Dijkstra interview on programming, elegance and testing limits
Research note
1 May
Zaplib post-mortem
Analysis
April 2022
18 Apr
Question trees: brainstorming research questions for a business problem
Research note
18 Apr
The ACID model for reliable database transactions
Research note
18 Apr
The CAP theorem: consistency, availability and partition tolerance
Research note
17 Apr
C4 diagrams: a four-level model for drawing software architecture
Research note
4 Apr
Parallelism in JavaScript
Research note
March 2022
28 Mar
The cold start problem in serverless functions and how to keep them warm
Research note
24 Mar
Liquidity pool
Research note
24 Mar
MPA, SPA and partial hydration
Research note
21 Mar
State, explain, link - An all-purpose writing technique
Research note
17 Mar
Blockchain oracle
Research note
17 Mar
Deno: a secure JavaScript runtime built in Rust
Research note
February 2022
16 Feb
Blue-green deployment on Kubernetes with Argo Rollouts
Research note
January 2022
6 Jan
A and CNAME records in DNS: when to use each
Research note
October 2021
14 Oct
Building AI-powered search for online stores
Case study
August 2021
11 Aug
Git basics: tracking changes, branching and collaborating
Research note
11 Aug
Setup Feedback Loop (research note)
Research note
11 Aug
The Kano model (research note)
Research note
9 Aug
Building a modern crypto investment platform for Tokenomy
Case study
9 Aug
Conduct a 1-on-1 session
Research note
6 Aug
Creating the first platform for Executive assistants
Case study
2 Aug
Run an effective performance review
Research note
July 2021
28 Jul
Defining features (research note)
Research note
27 Jul
Software 101, the impact, types and history of software
Research note
9 Jul
Micro frontends microservices for frontend development
Research note
1 Jul
Building a central hub for food and beverage businesses in Singapore
Case study
June 2021
30 Jun
Build in public (research note)
Research note
30 Jun
Product roadmap (research note)
Research note
22 Jun
No. 10: Duc Nghiem on motivation from within
Essay
21 Jun
No. 09: Duc Nghiem on raising a daughter
Essay
18 Jun
Building blockchain solutions for affiliate marketing
Case study
May 2021
27 May
Building Setel's fuel payment super-app for Malaysian drivers
Case study
18 May
No. 08: Huy Tieu on joining a nonprofit
Essay
April 2021
29 Apr
Connecting healthcare workers with hospitals during COVID-19
Case study
29 Apr
Two engineers, a Chrome extension and a Slack app: how we shipped Relay's MVP
Case study
18 Apr
Naru: a task manager that works right in your browser
Case study
14 Apr
Six lessons from design thinking for everyday decisions
Research note
10 Apr
Gitflow and pull requests: branching models, reviews and workflows
Research note
6 Apr
Git commit message convention: types, scopes and subjects
Research note
March 2021
11 Mar
No. 06: Loc Nguyen on working in Germany
Essay
9 Mar
Upgrading Malaysia's largest online marketplace
Case study
8 Mar
Software engineering is engineering: the case for it
Research note
February 2021
16 Feb
How we set up CI/CD at Dwarves
Research note
13 Feb
Building cloud solutions for UK real estate
Case study
1 Feb
No. 04: Duc Nghiem on backing startups
Essay
January 2021
23 Jan
Getting started with Webflow: responsive sites on a no-code platform
Research note
December 2020
19 Dec
Blockchain fundamentals
Research note
1 Dec
Building a complete tech system for small Vietnamese hotels
Case study
November 2020
24 Nov
UI design best practices at Dwarves: Figma handover to developers
Research note
18 Nov
Helping launch beCorporate enterprise ride-hailing service
Case study
15 Nov
Creating a smart system to monitor electricity use
Case study
5 Nov
XPC services in a macOS app with Swift
Research note
3 Nov
The correct way to build a KPI, with a mindful view of measurement
Research note
October 2020
24 Oct
Building Voconic's cloud platform with Google for financial services
Case study
21 Oct
The Domain Insight Research framework for understanding a new industry
Research note
16 Oct
Setting the budget
Playbook
10 Oct
Sol: making group travel easier and more fun
Case study
September 2020
20 Sep
Making dental work easier in Singapore
Case study
14 Sep
An infinite image gallery with react-three-fiber
Research note
August 2020
17 Aug
Grids and layout: columns, gutters and responsive techniques
Research note
12 Aug
No. 03: Quynh Le on testing as a career
Essay
7 Aug
Go in software engineering
Research note
July 2020
24 Jul
Startups vs junior designers
Essay
13 Jul
Gestalt principles in UI design: proximity, similarity and closure
Research note
5 Jul
The adjacent possible
Essay
June 2020
15 Jun
A quick introduction to WebAssembly, part 1: why it exists and how JavaScript runs
Research note
15 Jun
A quick introduction to WebAssembly, part 2: from asm.js to WebAssembly
Research note
May 2020
20 May
Redesigning BHD Cinema's ticket booking app for a better experience
Case study
19 May
Software development life cycle 101: phases and artifacts
Research note
9 May
How a design system works: naming for colors, text styles and components
Research note
8 May
Software modeling: core objects, diagrams and maintainability
Research note
5 May
Reusability in software development, part 1: benefits, problems and the reuse landscape
Research note
5 May
Reusability in software development, part 2: application frameworks and product lines
Research note
4 May
Blockchain for designers: trust, decentralization and immutability
Research note
April 2020
24 Apr
An introduction to software craftsmanship at Dwarves
Research note
March 2020
27 Mar
Architecture decision records: documenting software choices
Research note
27 Mar
Building an AI assistant for the terminal with Mimir
Research note
23 Mar
Drawing a watch face with SwiftUI
Research note
February 2020
25 Feb
Write management objectives in SMART
Playbook
21 Feb
Ideas over titles at Dwarves
Essay
January 2020
25 Jan
What to look for when hiring an operations lead
Playbook
19 Jan
Well crafted software
Research note
1 Jan
Dwarves email templates, part 1: candidates and new hires
Playbook
1 Jan
Dwarves email templates, part 2: employees, clients and community
Playbook
1 Jan
How we calculated the annual sales bonus
Playbook
1 Jan
Project collaboration guidelines
Playbook
December 2019
4 Dec
Go concurrency
Research note
September 2019
20 Sep
Seven traits to assess in an interview
Playbook
August 2019
30 Aug
Rust language notes: ownership, lifetimes, traits and error handling
Research note
24 Aug
The broker pattern in distributed systems: decoupling clients and servers
Research note
23 Aug
Using correct Html element to increase website accessibility
Research note
June 2019
22 Jun
Building custom iOS views in Swift
Research note
9 Jun
Istio service mesh: traffic management, security and observability
Research note
May 2019
18 May
Byzantine agreement: Stellar consensus with quorum slices
Research note
15 May
Hyperledger Fabric architecture for permissioned enterprise networks
Research note
2 May
Splitting and reusing code in React: render props, HOCs and hooks
Research note
April 2019
10 Apr
Strategic resource allocation
Playbook
November 2018
1 Nov
The principle of spacing in UI design, part 2: line height and paragraph spacing
Research note
August 2018
26 Aug
Card sorting for information architecture and an experimental sorting session
Research note
26 Aug
Job-minded and mission-driven employees
Playbook
July 2018
23 Jul
About DevOps: continuous integration, automation and collaboration
Research note
June 2018
26 Jun
Hiring approach
Playbook
April 2018
2 Apr
What makes good design: usability, accessibility, credibility and typography
Research note
1 Apr
A competency map for user research, design and client management
Research note
March 2018
23 Mar
Building a design system that unites teams and speeds up design work
Research note
22 Mar
A design workflow from user research to UI principles
Research note
21 Mar
Don Norman's three levels of design: visceral, behavioral and reflective
Research note
20 Mar
UI design fundamentals: aesthetics, content and interaction
Research note
13 Mar
Slice and array in Golang
Research note
July 2017
17 Jul
Be careful with your code splitting setup: scroll resets in virtual lists
Research note
April 2016
6 Apr
The OKR
Playbook
4 Apr
Our metrics for performance review
Playbook
March 2016
13 Mar
How we contribute to Homebrew
Playbook
February 2016
12 Feb
Estimation in agile: story points, time and planning poker
Research note
January 2016
17 Jan
How we make remote working work
Playbook
10 Jan
Our remote working policy
Playbook