Blog
Articles about web development, design, performance, and related topics. Subscribe via RSS to keep up with new articles, or browse by topic.
- A plain text task list with Todo.txt
Todo.txt is a small, portable task format built from plain text, priorities, projects, and contexts.
- Self-Hosting Web Fonts Without Overcomplicating It
Serve WOFF2 fonts from your own site with a focused @font-face rule, sensible fallbacks, and the right licence and caching checks.
- Start TypeScript With the Code You Already Have
A practical introduction to TypeScript types, narrowing, functions, API boundaries, and a small project setup.
- Invert an Image With One CSS Filter
Use CSS invert(), combine filters in a predictable order, and move to SVG filters only when the simple option is not enough.
- Why a Huge z-index Still Does Not Work
Understand CSS stacking contexts, positioned elements, and the reason z-index: 999999 sometimes changes nothing.
- The HTTP Status Codes I Actually Check
A practical guide to common HTTP response codes, redirects, client and server errors, and the headers that explain them.
- What Schema.org tells search engines about a page
Use Schema.org vocabulary and JSON-LD to describe articles, products, and organisations, then validate the markup without expecting guaranteed rich results.
- What robots.txt does and what it doesn't
Use robots.txt to manage crawler access, publish a sitemap, and avoid the common mistake of treating Disallow as noindex or authentication.
- FFmpeg Commands Worth Keeping Nearby
Install FFmpeg and use a small set of practical commands for conversion, trimming, audio extraction, filters, and batch processing.
- How large language models generate text
A plain-English explanation of large language models, what they can do, and why fluent output should not be confused with truth.
- Running a Local LLM With Ollama
A practical first look at installing Ollama, running a local language model, and creating a custom Modelfile.
- Keeping Elements in Proportion With CSS aspect-ratio
Use the CSS aspect-ratio property to size images, videos, cards, and responsive layouts without the old padding hack.
- Better Headlines With CSS text-wrap
Use CSS text-wrap to balance headings, improve paragraph wrapping, or deliberately keep text on one line.
- Use AI as an Editor, Not a Ghostwriter
A practical way to use AI for blog ideas, outlines, research leads, and editing without losing your own voice.
- Writing an AI prompt that says what you need
Write clearer AI prompts by defining the task, context, constraints, output format, and examples.
- How margin-inline follows the text direction
CSS margin-inline sets margins along the inline axis, making spacing work across writing modes and text directions.
- What CSS color-scheme Actually Does
Tell the browser which color schemes your page supports and let native controls match light or dark mode.
- Serving Google Fonts from your own domain with Cloudflare
Cloudflare Fonts can serve Google Fonts from your own domain. Here is what that changes for performance, privacy, and setup.
- How to Block AI Crawlers Without Blocking Search
Block selected AI crawlers with robots.txt or Cloudflare, and understand why meta tags and old IP lists are weaker options.
- What people mean when they talk about AGI
Artificial general intelligence describes a hypothetical system able to handle a broad range of cognitive tasks, but the definition remains disputed.