The journal
Working notes from the workshop.
Posts on AI, software craft, and the things we learn while shipping. Twice a month, sometimes weekly.
Hiring developers? Start with the how-to-hire hub →
Browse by topic
- Web Development 229
- Business 109
- Cloud & Infrastructure 87
- AI Integration 81
- Technology 33
- Cybersecurity 28
- Career 21
- Design 7
- AI & ML 3
Or read straight through: page 2 · page 3 · page 4 · page 5 · page 6 · page 7 · page 8 · page 9 · last
Categories
Tags
Showing 12 of 599 articles
Cloud & Infrastructure·PostgreSQL 14 End of Life: How to Upgrade to 18, Not 19
PostgreSQL 14 gets its last release on November 12, 2026. Pick 18 (or 17), choose pg_upgrade or logical replication, and fix what breaks between 14 and 18.
PostgreSQLDatabaseBackendProduction
Business·Inheriting a Codebase From Another Agency: A Checklist
Switching agencies or freelancers? Get repo, cloud, app store and domain ownership in your name first, then audit the code. A step-by-step handover list.
HiringDevelopersSoftware AgencyContracts
Business·Hire a Developer to Audit an AI-Built App: Scope and Cost
How to hire a developer to audit an app built with an AI tool: what the audit covers, what the report must contain, and how to judge the quote.
HiringDevelopersAI App BuildersCode Audit
Business·Who Owns the Code? IP Clauses When You Hire Developers
Hiring a freelancer or agency does not make you the owner of the code. What the law defaults to in the US and India, and the clauses that fix it.
HiringDevelopersContractsFreelance
Business·Paid Trial Project for Developers: Scope, Pay, Scorecard
A paid trial project of 20-40 hours on real backlog work tells you more than any interview. How to scope it, pay for it and score the result fairly.
HiringDevelopersFreelanceRemote Hiring
Web Development·Wall Clock vs Monotonic Clock: Measure Time Right
Use a monotonic clock for durations and timeouts, the wall clock only for timestamps. Python, JavaScript and Go code, plus the leap-second bug that shows why.
BackendDistributed SystemsBest PracticesPython
Web Development·Go 1.27 HTTP/1 Body Drain: Connection Reuse Fixed
Go 1.27 now drains unread HTTP/1 response bodies on Close, so connections get reused. What changes, what to delete, and how to test it in your client.
GoBackendPerformanceRelease Notes
Cloud & Infrastructure·Gossip Protocols Explained: How Clusters Spread News
How gossip protocols spread state across a cluster in log(N) rounds, why Cassandra and Consul use them, and a 20-line simulation you can run yourself.
ArchitectureBackendDistributed SystemsCloud & Infrastructure
Technology·Two-Phase Commit Explained: Why It Blocks, With Code
Two-phase commit makes several databases commit or abort together. How prepare and commit work, why a coordinator crash blocks you, and Postgres examples.
ArchitectureBackendDatabaseDistributed Systems
Technology·HyperLogLog Explained: Count Unique Items in 12 KB
HyperLogLog counts millions of unique visitors in about 12 KB with roughly 0.81% error. How it works, a Python sketch, and Redis PFADD in production.
Data StructuresRedisAlgorithmsDatabase
Web Development·Rust 1.99.0: C-Variadic Functions and What to Check
Rust 1.99.0 lets you define C-variadic functions in Rust, adds raw layout APIs and a Box::leak warning. What changed, what to audit, and whether to upgrade.
RustRelease NotesSystems ProgrammingFFI
Web Development·Cross-Compile Rust for 32-Bit Windows (i686) in 2026
Rust 1.100 drops host tools for i686 Windows. Here is how to build 32-bit Windows binaries from a 64-bit machine, with MSVC, MinGW and a CI setup.
RustWindowsCross CompilationCargo