I launched Disaster Lab, a free library of practical prevention and recovery playbooks for personal and business digital disasters.
Flavio Copes
https://flaviocopes.com/ · 280 posts · history since 2018 · active
Today
What chunking is in RAG, how chunk size and overlap determine chunk count, what embedding and vector storage cost, and whether top-k fits your context.
Yesterday
Build an Astro integration from scratch using hooks, configuration updates, injected routes and scripts, package metadata, and local testing.
I launched migratingto.dev, a library of versioned migration playbooks with transfer breakdowns, timelines, rollback plans, and verification checks.
Liquid software is complete, working source code designed to be understood, owned, and reshaped with the help of AI coding agents.
Local LLM vs API costs compared: amortized hardware, electricity, tokens per second, break-even point in months, and when local actually wins.
26 Jul
Create a Vercel Sandbox, upload and run JavaScript, collect its output, restrict network access, enforce a timeout, and stop it safely.
Build a TypeScript library for npm with ESM and CommonJS outputs, type declarations, exports, tests, semantic versions, and trusted publishing.
I launched calculum.dev, a growing library of practical calculators with clear formulas, visible assumptions, and browser-only calculations.
A practical mini-course on running real apps on Cloudflare with Workers, Pages, D1, KV, R2, Queues, Durable Objects, AI, and more.
How to estimate the VRAM an LLM needs: parameter count times quantization bits, plus KV cache that grows with context length, plus overhead.
25 Jul
Learn GitHub Stacked PRs with gh stack: design focused layers, submit the chain, handle review feedback, rebase safely, and merge.
Write Node.js integration tests against a real PostgreSQL database with Testcontainers, including schema setup, isolation, cleanup, and CI.
How I built Notion to Site in 2022, why it stayed an internal test, what the code taught me, and how AI agents could help turn it into a business today.
Record a product demo video with Playwright instead of screen recording. Script clicks, ffmpeg crop and encode, autoplay video for mobile fallbacks.
24 Jul
Learn how Notion as Code defines teamspaces, pages, databases, views, entries, and custom agents in TypeScript, then deploys them with the Notion CLI.
Buzz is an open source workspace where people and AI agents share channels, projects, workflows, search, and one signed event history.
Learn load testing with k6 by testing a web API under smoke, average, and spike traffic, adding checks, thresholds, scenarios, and CI.
Swap LLM providers with a small adapter pattern. One complete() interface, fetch-based OpenAI calls on Workers, env var switching, graceful degradation.
23 Jul
Two more weeks of building: new products, hundreds of pages, new courses, more than 20 tutorials, and a lot that I am not ready to reveal yet.
Use v0 to build a full-stack feedback board, connect a database, manage environment variables, sync with GitHub, and deploy to Vercel.
Build a reliable Node.js background job queue with BullMQ and Redis, including workers, retries, backoff, progress, concurrency, and idempotency.
Detect a project's tech stack from a public GitHub repo without cloning. GitHub API branch lookup, parallel raw manifest fetches, and signal mapping.
22 Jul
Instrument a Node.js API with OpenTelemetry, export traces and metrics through a collector, and learn how to debug slow production requests.
Animate SVG connection lines that draw themselves on scroll, with staggered edges, IntersectionObserver, and prefers-reduced-motion fallbacks.
21 Jul
Learn OpenAPI by building a books API with reusable schemas, request validation, interactive documentation, and a generated TypeScript client.
Build a Railway-style draggable infrastructure canvas with vanilla JS. Positioned nodes, SVG edges, pointer events, no diagram library needed.
20 Jul
Build a streaming Next.js chatbot with Vercel AI SDK v7, then add a typed tool call, structured output with Zod, and deployment safeguards.
Build a Chrome extension from scratch with JavaScript using Manifest V3, a popup, content script, service worker, storage, and shortcuts.
Keep pricing and numbers deterministic in AI products. Let the LLM write prose only. A hybrid architecture from a real deployment advisor.
19 Jul
Build product analytics with a SQLite events table in D1 instead of Google Analytics: whitelisted events, server tracking, beacons, funnel SQL.
Learn Playwright end-to-end testing from scratch: install it, write resilient tests, handle login, mock APIs, debug failures, and run everything in CI.
18 Jul
Generate sitemap.xml and robots.txt dynamically in Astro SSR without @astrojs/sitemap. API routes, typed registries, and testable pure functions.
Generate sitemap.xml and robots.txt dynamically in Astro SSR without @astrojs/sitemap. API routes, typed registries, and testable pure functions.
17 Jul
Polar payments in Astro for one-time purchases and subscriptions: server-side checkout routes, lazy customer creation, and entitlement checks in D1.
Add Polar payments to Astro with subscriptions, one-time purchases, Better Auth, webhooks, D1 entitlements, and local testing.
16 Jul
Better Auth setup for Astro SSR on Cloudflare Workers: D1 Drizzle adapter, catch-all auth route, session in middleware, no Node dependencies.
Better Auth setup for Astro SSR on Cloudflare Workers: D1 Drizzle adapter, catch-all auth route, session in middleware, no Node dependencies.
15 Jul
Version reference data in SQLite with effective_from dates instead of overwriting rows. Keep pricing history and drive changelog notifications.
Version reference data in SQLite with effective_from dates instead of overwriting rows. Keep pricing history and drive changelog notifications.
14 Jul
fstack is my free collection of 13 simple agent skills for Cursor, Claude Code, Codex, and any agent that supports skills.
fstack is my free collection of 13 simple agent skills for Cursor, Claude Code, Codex, and any agent that supports skills.
A developer's guide to AI: how I use AI agents and coding tools in my daily work, with links to my posts on agent frameworks and workflows.
Alpine.js guide: what Alpine is, why it's great for adding interactivity to server-rendered sites, and how it fits the AHA Stack.
Learn Astro with this guide: components, props, layouts, data fetching, SSR patterns and real-world tips from running my own sites on Astro.
Learn C programming from scratch: variables, pointers, arrays, strings, structures, and the preprocessor. A guided path through the C tutorials on this site.
Learn the command line: shells, essential Unix commands, file management, processes and Bash scripting, with a clear path through my tutorials.
Learn the Cloudflare developer platform: Workers, KV, D1, R2, Queues, Durable Objects and more, through my hands-on tutorial series.
Learn Go programming: a guided path through Go basics, slices, maps, structs, interfaces, plus hands-on projects like CLI tools and a REST API.
HTML is the foundation of every web page. Learn tags, forms, images, media and accessibility with this curated guide to the best HTML tutorials.
htmx guide: what htmx is, why hypermedia-driven apps beat SPA complexity for most projects, and how htmx fits the AHA Stack.
Learn Laravel: a guided path through routing, Blade templates, migrations, Eloquent, authentication, forms, and deployment with Laravel Forge.
Learn PHP from scratch: setup, first programs, handling HTTP requests, forms, cookies, sessions, errors, Composer, and deploying PHP applications.
Learn Python from scratch: a guided path through variables, data types, functions, classes, modules, files, and the tooling around the language.
Learn SQL and databases: database theory, SQL fundamentals like SELECT and joins, plus practical guides to PostgreSQL, SQLite and MySQL.
Learn Swift and iOS development: a guided path through Swift fundamentals, optionals, structs, protocols, and building interfaces with SwiftUI.
A developer's guide to AI: how I use AI agents and coding tools in my daily work, with links to my posts on agent frameworks and workflows.
Alpine.js guide: what Alpine is, why it's great for adding interactivity to server-rendered sites, and how it fits the AHA Stack.
Learn Astro with this guide: components, props, layouts, data fetching, SSR patterns and real-world tips from running my own sites on Astro.
Learn C programming from scratch: variables, pointers, arrays, strings, structures, and the preprocessor. A guided path through the C tutorials on this site.
Learn the command line: shells, essential Unix commands, file management, processes and Bash scripting, with a clear path through my tutorials.
Learn the Cloudflare developer platform: Workers, KV, D1, R2, Queues, Durable Objects and more, through my hands-on tutorial series.
Learn Go programming: a guided path through Go basics, slices, maps, structs, interfaces, plus hands-on projects like CLI tools and a REST API.
HTML is the foundation of every web page. Learn tags, forms, images, media and accessibility with this curated guide to the best HTML tutorials.
htmx guide: what htmx is, why hypermedia-driven apps beat SPA complexity for most projects, and how htmx fits the AHA Stack.
Learn Laravel: a guided path through routing, Blade templates, migrations, Eloquent, authentication, forms, and deployment with Laravel Forge.
Learn PHP from scratch: setup, first programs, handling HTTP requests, forms, cookies, sessions, errors, Composer, and deploying PHP applications.
Learn Python from scratch: a guided path through variables, data types, functions, classes, modules, files, and the tooling around the language.
Learn SQL and databases: database theory, SQL fundamentals like SELECT and joins, plus practical guides to PostgreSQL, SQLite and MySQL.
Learn Swift and iOS development: a guided path through Swift fundamentals, optionals, structs, protocols, and building interfaces with SwiftUI.
Send transactional email from Cloudflare Workers with Resend over fetch, no Node SDK. Graceful no-op without an API key, plus KV deduped alerts.
Send transactional email from Cloudflare Workers with Resend over fetch, no Node SDK. Graceful no-op without an API key, plus KV deduped alerts.
13 Jul
Codex and ChatGPT can install the same native post-commit logger I use with Cursor, keeping every project's work in one text file.
Codex and ChatGPT can install the same native post-commit logger I use with Cursor, keeping every project's work in one text file.
I use Git's native post-commit hook to keep one reverse-chronological work log, with Cursor installing it automatically in each project.
I use Git's native post-commit hook to keep one reverse-chronological work log, with Cursor installing it automatically in each project.
I built my own agent skill collection: 13 skills, plain names, one job each. Here's why it exists and how it works.
I built my own agent skill collection: 13 skills, plain names, one job each. Here's why it exists and how it works.
Wire Cloudflare D1 into an Astro SSR app with Drizzle ORM. Bindings, schema, migrations, and local dev with Miniflare in one setup guide.
Wire Cloudflare D1 into an Astro SSR app with Drizzle ORM. Bindings, schema, migrations, and local dev with Miniflare in one setup guide.
12 Jul
Rate limit Cloudflare Workers API routes with KV fixed-window counters and expirationTtl cleanup. Soft limits that work with KV eventual consistency.
Rate limit Cloudflare Workers API routes with KV fixed-window counters and expirationTtl cleanup. Soft limits that work with KV eventual consistency.
11 Jul
Four days after my first Summer of Code update: 73 more tools, 12 quiz courses, fstack, a rebuilt Cook with AI, and a Git work log.
Four days after my first Summer of Code update: 73 more tools, 12 quiz courses, fstack, a rebuilt Cook with AI, and a Git work log.
Learn what iPhone Developer Mode unlocks for Xcode, debugging, Instruments, and local apps, plus its security and privacy tradeoffs.
Learn what iPhone Developer Mode unlocks for Xcode, debugging, Instruments, and local apps, plus its security and privacy tradeoffs.
I used USB diagnostics, crash reports, and Xcode Instruments to investigate a hot iPhone, but the evidence did not reveal one clear cause.
I used USB diagnostics, crash reports, and Xcode Instruments to investigate a hot iPhone, but the evidence did not reveal one clear cause.
Sign URLs with HMAC on Cloudflare Workers using the Web Crypto API. Grant time-limited access without sessions or cookies, no Node crypto needed.
Why and how I made every post on this site available as clean Markdown. Append .md to any post URL and you get the Markdown source, served as a static file.
Sign URLs with HMAC on Cloudflare Workers using the Web Crypto API. Grant time-limited access without sessions or cookies, no Node crypto needed.
Why and how I made every post on this site available as clean Markdown. Append .md to any post URL and you get the Markdown source, served as a static file.
10 Jul
What Better Auth is and how it works: the auth instance, the database schema, the catch-all route, and the client. Authentication for TypeScript apps, explained.
Learn how Cloudflare Artifacts gives AI agents isolated Git repositories, short-lived access tokens, forks, and a programmable Workers API.
9 Jul
Cloudflare launched Workers Cache, a tiered cache that sits in front of your Worker. How to enable it, set Cache-Control headers, and purge by tag.
Cloudflare Drop deploys a static site by dragging a folder or zip into the browser. No account, no CLI. How it works and how it ties into temporary accounts.
wrangler deploy --temporary deploys a Worker with no Cloudflare account. Live for 60 minutes, claimable with a link. How it works and its limits.
Cloudflare brings the Moondream 3.1 vision model to Workers AI. Caption images, ask questions, get object coordinates and bounding boxes — in under a second.
8 Jul
I built inferencecost.dev, a calculator for the biggest line item in AI product budgets: LLM inference. Compare ~30 models under your workload assumptions.
I'm building sitebase.dev: waiting lists, forms, newsletter signups, analytics, uptime monitoring and more, embedded in any site with one script. Currently in private beta.
I built stackplan.dev, a deployment stack advisor. Describe your app, get a recommended hosting stack with real cost estimates. Why I built it and how.
How the Cloudflare Pages build cache speeds up deploys, which directories it restores for each framework, and how to keep your own caches between builds.
7 Jul
July and August: no new courses, no launches, just building. A recap of the first week: StackPlan, 140+ free tools, Sitebase, the bootcamp platform, and a new 30 Days of Code course.
How I generate a unique Open Graph preview image for every blog post at build time in Astro, using astro-og-canvas, instead of one shared image.
6 Jul
I launched a new tools section on the site: 90 free calculators and utilities for developers, running entirely in your browser. No signup, no ads.
How I added fast client-side search to my static Astro blog with Pagefind, which indexes your HTML at build time and runs entirely in the browser.
4 Jul
Learn how to rebuild a Cloudflare Pages site on a schedule using a deploy hook, triggered either by a GitHub Action cron or a Cloudflare Worker cron.
3 Jul
How to receive and process incoming email with Cloudflare Email Workers, parse it with postal-mime, and forward or act on it.
2 Jul
How to protect a form from bots with Cloudflare Turnstile. Add the widget to your page and verify the token from a Worker.
1 Jul
How to handle config, secrets, and multiple environments (staging, production) in Cloudflare Workers without leaking anything.
30 Jun
Learn how to see what your Cloudflare Worker does in production using console.log, observability in wrangler.jsonc, and live tailing with wrangler tail.
29 Jun
How to write custom events from a Worker with Analytics Engine and query them later with SQL. Cheap, high-volume time-series data.
The AI Workshop July 2026 cohort is open for enrollment through July 2nd, covering agents, Claude Code, Cursor, Codex, MCP, skills, and subagents.
28 Jun
How to run a Cloudflare Worker on a schedule with Cron Triggers. Nightly jobs, periodic checks, and cleanups, with no server to keep running.
27 Jun
What Durable Objects are and how to use them, with their built-in SQLite storage. A simple counter and a rate limiter, explained from scratch.
26 Jun
How to use Cloudflare Queues to do work after the response is sent. Producers, consumers, batching, retries, and dead letter queues.
25 Jun
How to store and serve files like images and uploads with Cloudflare R2 from a Worker. S3-compatible storage with no egress fees.
24 Jun
Learn how to use Cloudflare Workers KV, an edge key-value store, to create a namespace and put and get data, ideal for sessions, feature flags and caching.
23 Jun
How to create a D1 database, manage its schema with migrations, and query it from a Worker. SQLite, served from the edge.
22 Jun
How to deploy a static site, an SPA, or a full Astro app on Cloudflare Workers using the static assets feature, with a Worker for the dynamic parts.
21 Jun
A practical guide to Wrangler, the CLI you use to build, run, deploy, and manage Cloudflare Workers and everything attached to them.
20 Jun
A look at Executor, an open-source, local-first layer that gives your AI agents one shared catalog of tools, with shared auth and built-in safety rules.
What Cloudflare Workers are and how to build, run, and deploy your first one. The foundation of the whole Cloudflare developer platform.
A look at eve, Vercel's open-source agent framework. An agent is a directory of files, with durable execution, sandboxes, approvals, and evals built in.
19 Jun
A comprehensive guide to Flue, the TypeScript framework for building AI agents and workflows, created by Astro co-founder Fred Schott. Agents, workflows, channels, sandboxes, durability, and more.
12 Jun
A hands-on tutorial for Val Town, the platform where you write JavaScript and deploy it to a live URL instantly. APIs, cron jobs, email handlers, SQLite, blob storage, and more.
5 Jun
How to install and use The Agency (agency-agents), a collection of specialized AI agents for Claude Code, Cursor, and other coding tools
1 Jun
The AI Workshop June 2026 cohort is here.
1 May
Edition #8 is open. The AI Workshop May 2026 cohort enrolls May 1st-5th.
1 Apr
Edition #7 is open. The AI Workshop April 2026 cohort enrolls April 1st–5th.
18 Feb
Direct answers to the most common questions about the AI-first Web Engineering Bootcamp.
17 Feb
Signups are now open for the 10-week AI-first Web Engineering Bootcamp. Project-based, beginner-friendly, async format. Starts Feb 24.
Reference: the 2026 AI-first Web Engineering Bootcamp, a 10-week project-based cohort that started on February 24, 2026.
16 Feb
Here is the exact structure of the bootcamp: 10 weeks, 10 projects, from a portfolio site to a paid product.
14 Feb
The biggest shift in learning web development is this: if you can work well with AI coding agents, you can move much faster from idea to working product.
4 Feb
New cohort, big updates! The AI Workshop February 2026 cohort is now open for enrollment.
2 Jan
Announcing the January 2026 AI Workshop cohort with new lessons and workflow improvements.
1 Dec 2025
Announcing the December 2025 AI Workshop cohort and what developers will learn inside it.
12 Nov 2025
The story of bringing The Valley of Code back and what changed this time.
11 Nov 2025
A recap of the React Masterclass launch and what students learn in the course.
22 Oct 2025
20 Oct 2025
Everything you need to know about Zod—TypeScript-first validation, type inference, and real-world patterns
19 Oct 2025
Learn how modern package managers like pnpm and Bun optimize node_modules storage using global stores and symlinks
18 Oct 2025
The Context API is a neat way to pass state across the app without having to use props
15 Oct 2025
14 Oct 2025
Announcing the TypeScript Masterclass and what the course helps you understand.
29 Sept 2025
Announcing the 2025 edition of the JavaScript Handbook and what changed inside it.
Announcing the 2025 edition of the TypeScript Handbook with updated lessons.
6 Sept 2025
Announcing the 2025 edition of the CSS Handbook with updated beginner-friendly content.
Announcing the 2025 edition of the Node.js Handbook with updated Node.js coverage.
12 Aug 2025
30 Apr 2025
26 Apr 2025
21 Apr 2025
20 Apr 2025
17 Apr 2025
20 Mar 2025
6 Feb 2025
1 Feb 2025
21 Jan 2025
A quick look at using Resend as a simple SMTP server while building and testing apps.
20 Jan 2025
A personal take on AI doomerism and why I prefer focusing on what we can build.
A quick note about Supabase email rate limits when testing authentication emails.
1 Dec 2024
Why learning to code still matters even when the job market feels harder.
8 Nov 2024
A clear path for learning web development from zero without getting lost in options.
7 Nov 2024
A comparison between a full-stack TypeScript setup and classic Laravel or Rails stacks.
6 Nov 2024
A practical answer to whether AI will replace web developers and what to focus on.
7 Oct 2024
An introduction to the AHA Stack: Astro, HTMX, Alpine.js, and Supabase.
16 May 2024
Some thoughts on AI, software development, and what changes for developers as tools improve.
4 Apr 2024
How to fix too many redirects after enabling the Cloudflare proxy for a site.
15 Jan 2024
A short reflection on simplicity and why I try to keep software and life less complex.
Why I use Alpine.js to add small bits of interactivity without a big frontend framework.
Why I use htmx for simple dynamic web interactions without heavy client-side code.
13 Dec 2023
Why I like Astro for building fast content sites and flexible web projects.
17 Nov 2023
How to use a more recent Node.js version on DigitalOcean App Platform.
10 Nov 2023
How to send emails with nodemailer on Vercel and avoid common async mistakes.
29 Oct 2023
How to investigate a Render deploy that stays stuck in progress and never finishes.
14 Feb 2023
A reflection on the hard middle part of learning programming and how to keep going.
1 Feb 2023
Learning AppleScript from scratch by building a small practical automation on the Mac.
31 Jan 2023
How string concatenation works in AppleScript and how it differs from other languages.
23 Jan 2023
How to self-host Plausible Analytics for a website and keep analytics under your control.
29 Sept 2022
Why software development is open to people from many backgrounds and paths.
28 Jul 2022
Start here if you want to become a programmer
26 Jul 2022
How I experimented with creating an endless video stream for a side project idea.
21 Jul 2022
How to ask Google to index a new or updated page using Google Search Console.
3 Jul 2022
How to track file downloads from a website and understand when files are accessed.
1 Jun 2022
A collection of practical tips for beginner programmers learning their first skills.
31 May 2022
My process for creating ebooks
28 May 2022
How to keep an Ubuntu server updated with the latest package and security fixes.
17 May 2022
How to fix the Algolia objectID required error when indexing content for search.
12 May 2022
Use AWS WorkSpaces to quickly create a Windows 10 computer on the Cloud
3 Feb 2022
A 2022 roadmap for learning web development and choosing what to study next.
12 Jan 2022
A big beginner-friendly introduction to programming and the ideas behind writing code.
11 Jan 2022
How to prepare for a software engineer interview, from the process to the mindset.
10 Jan 2022
Tips and strategies to get your first programming job
4 Jan 2022
An introduction to what you might be asked at the interview
3 Jan 2022
A special skill you need to develop is how to find solutions, and when you don't find them yourself, how to ask for help
2 Jan 2022
Soft skills that help software developers work better with teams and interviews.
1 Jan 2022
How to be a great fit into a team environment
31 Dec 2021
Practical thoughts on managing software projects without adding unnecessary complexity.
12 Nov 2021
What I learned moving from no-code tools to a small amount of custom code.
3 Nov 2021
Why Safari became my main browser and what I like about using it every day.
1 Nov 2021
How low data mode helps when using an iPhone hotspot or limited network connection.
16 Oct 2021
How I update my website from an iPad using a static site workflow.
15 Oct 2021
How to handle the most common problems people hit while learning to code.
7 Oct 2021
How to add search functionality to a Ghost site with a practical setup.
21 Sept 2021
How I approach learning multiple programming languages without getting overwhelmed.
7 Sept 2021
Why jumping between programming languages can slow you down while learning to code.
4 Sept 2021
A practical roadmap for becoming a web developer and choosing what to learn first.
3 Sept 2021
How to move from learning programming to actually becoming a working developer.
29 Aug 2021
A short note about tsundoku, buying books, and why technical books pile up.
27 Aug 2021
A reminder that learning to code takes time, patience, and steady practice.
26 Aug 2021
Why I prefer to avoid managing user data unless a product really needs it.
24 Aug 2021
How to fix a Fish shell process that keeps ending with a SIGKILL forced quit error.
16 Aug 2021
A personal look at the hard parts of freelancing and what to know before choosing it.
6 Aug 2021
Some thoughts on picking a tech stack and why the best choice often depends on context.
8 Jul 2021
How to configure a website so it can run full-screen from the iOS home screen.
4 Jul 2021
How music helps me focus while programming and get into a better working flow.
3 Jul 2021
A beginner-friendly glossary of common web development acronyms and what they mean.
2 May 2021
How to fix the Cloudinary upload preset not found error when uploading images.
11 Apr 2021
A short reflection on why ideas get old quickly and need action to become useful.
9 Apr 2021
A personal note about ideas, attention, and choosing what is worth building.
3 Apr 2021
How to fix the Rails is not currently installed error when setting up Rails on macOS.
4 Mar 2021
How to automatically remove silent parts from videos and speed up editing work.
9 Feb 2021
How to deploy and host a web application using DigitalOcean App Platform.
12 Jan 2021
How I used Python to delete old tweets and clean up my Twitter history.
11 Jan 2021
How to update Pi-hole on a Raspberry Pi used as a network-wide ad blocker.
20 Aug 2020
A complete guide from zero to having a DigitalOcean VPS
13 Jul 2020
A simple explanation of frontend and backend web development and how they fit together.
4 Jun 2020
A personal note about books, reading, and why I keep coming back to them.
3 Jun 2020
Why knowing how to build software feels like a superpower in everyday life.
29 May 2020
Optimizing common email or other communication tasks
23 May 2020
A step-by-step tutorial on deploying a version of your website based on a GitHub Pull Request on Netlify
19 May 2020
How to fix the blue lines and noise rendering problem in Chrome on macOS.
17 May 2020
How to start freelancing as a developer and take the first practical steps.
15 May 2020
When is it time to move on from reading/watching tutorials and work on something?
23 Mar 2020
Find out what is a GB-second in the AWS terminology
22 Mar 2020
A little introduction to frontend frameworks
18 Mar 2020
I know, it's 2020. But I was reading my notes on a plan I had in 2017.
13 Mar 2020
A quick and simple approach
10 Mar 2020
Deciding between using an existing service or platform, and building your own
8 Mar 2020
You have a choice. You can be a specialist, or a generalist. Which route should you choose?
7 Mar 2020
In some tutorials, books, or videos, you might have seen the term magic number. What is that?
5 Mar 2020
A step-by-step guide to configuring a router to assign a static DHCP IP address in your LAN to the Raspberry Pi
4 Mar 2020
A step-by-step guide to connect to a Raspberry Pi using Rapbian via VNC
20 Jan 2020
Coding is an art, a creative craft, a joyful thing
19 Jan 2020
A trick I learned to block distractions using uBlock Origin
11 Jan 2020
A quick overview of the GPL License
8 Dec 2019
Some thoughts on your skill level compared to the people you work with
5 Dec 2019
A step-by-step guide to become a Full Stack Developer
2 Dec 2019
A quick look at a simple workflow I use to prototype a web page
19 Sept 2019
Installing an older version of some package using Homebrew can be more complex than you expect
17 Sept 2019
What's this syndrome all about? Do you have it? How do you fix the imposter feeling?
7 Sept 2019
25 actionable tips to write code as unmaintainable as possible
16 Aug 2019
How to stop reading tutorials and start doing things
12 Jul 2019
A detailed description of how I do my videos. Mostly as a reference to myself.
10 Jul 2019
Or, how to be more fulfilled as a developer. And make other developers have a more fulfilled life too.
1 Jul 2019
Given a static site, how do you get the real count of visitors?
3 Apr 2019
Productivity tips and hacks for developers and writers
8 Feb 2019
Just like everyone can learn the math basics. Or just like everyone can learn how to drive a car, or learn how to use a smartphone
6 Feb 2019
I have to say I hate programming interview questions. Why they are so difficult?
3 Feb 2019
You can be a great programmer even if you were bad at math in school
28 Jan 2019
Thoughts on commenting code, and on commenting the right way
27 Jan 2019
Notes and observations on how to learn things quicker and in a more effective way
10 Jan 2019
The fine art of estimating how long it takes to create software
8 Jan 2019
Why I think choosing a boring stack is important in programming
29 Dec 2018
What is serverless and why should you care?
26 Nov 2018
Find out what does JAMstack mean, and the advantages of this set of technologies
16 Nov 2018
Useful for screenshots and screencasts, or just to increase the real estate of your screen
29 Sept 2018
Some nice podcasts to listen to while commuting or in general when you are away from keyboard
25 Sept 2018
Is remote working making you a more effective developer? A happier developer? How can you improve?
20 Sept 2018
Ideas are worthless. Execution plus idea is everything.
22 Jul 2018
Why becoming a software engineer is a good plan for your future career
7 Jun 2018
In this post I describe how I run my blog
11 May 2018
The Google Developers Console can be complicated to get right, and it's one of the reasons I sometimes have resistance to using one of the Google APIs. This article aims to make it simple to use
10 May 2018
I have lots of evergreen content on my blog. This tutorial explains how I automated the repurpose of such content on Twitter
6 May 2018
Meteor is a web application platform. It's a tool for both beginners and experts, it makes it super easy to start, and provides a huge ecosystem of libraries you can leverage
4 May 2018
Airtable is an amazing tool. Discover why it's great for any developer to know about it and its API
19 Feb 2018
Every time I start a tutorial I find myself in a limbo wondering which app should I build. A to-do app? Not again!