Blog
Articles about web development, design, performance, and related topics. Subscribe via RSS to keep up with new articles, or browse by topic.
- 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.
- Figma vs Sketch in 2024
A practical 2024 comparison of Figma and Sketch, focused on collaboration, platforms, offline work, and handoff.
- What to test when Facebook ads aren't working
Improve Facebook ads with a clear objective, useful creative, controlled tests, reliable measurement, and budget decisions based on outcomes.
- Making Digital Advertising Decisions With Data
Use campaign data to find useful audience segments, test ads, and spend the advertising budget where it has a better chance of working.
- The Apps I Actually Use Every Day
A straightforward list of the default apps and services I use for mail, notes, photos, work, and everything in between.
- Native CSS Nesting Without Sass
Use native CSS nesting to keep related selectors and media queries together without turning the stylesheet into a maze.
- Font sizes and spacing that scale with CSS clamp()
Use CSS clamp() to create fluid type and spacing with sensible minimum and maximum values.