By Year
2026
- Jun 22Tips and tricks for better prompts and consistent image generation
- Jun 16Agent SKILLs as a security problem
- Jun 8Are you exposing class or styles props in your UI components? Stop it!
- Jun 4Some misconceptions about buttons and links in SPAs
- May 26AI Harness: From vibecoding to agentic engineering with Learnship
- May 14AI, Humans, and the Robot Analogy 🤖 in a Manufacturing Line
- May 8The TikTok-ization of AI Development
- Apr 26AI Context in depth
- Apr 11Organizing your SKILL.md files in folders
- Apr 10AI Kiddies
- Apr 4The value of knowledge in the 'AI era'
- Apr 1Run and control multiple agents on your Raspberry Pi: Spacebot + Home Assistant
- Mar 13A Small Step, a Great Meaning
- Mar 8Creating a gym AI-trainer agent (or any other agent) easily with OpenCode
- Feb 23Use a Mac as a "normal" PC
- Feb 15From Chatbot to Coworker's Post Making Of: How I Used AI to Write an AI Blog Post
- Feb 15From Chatbot to Coworker: Demystifying the AI Engineering Stack for Junior/Mid-Level Developers
- Feb 15Sireno: Your AI Assistant for Forms - Write, Translate & Correct Anywhere
- Feb 14The project that made me rediscover the joy of building Sireno Assistant: An AI assistant (of course) for forms
- Feb 13Sireno: Your AI Assistant for Forms - Write, Translate & Correct Anywhere
- Feb 8On the fear of making "failure" visible
- Jan 30How to know which version of your frontend is deployed
- Jan 21Automating my work diary with AI
- Jan 18Organizing i18n strings for scalability
- Jan 12Speed up 10x (and more) code formatting and linting with oxfmt and oxlint
- Jan 6Design system patterns: UX consistency
2025
- Dec 282025 in a Nutshell
- Dec 21A Tool to get exported items from TypeScript files
- Dec 14React Controlled and Uncontrolled Components: useControllable Hook
- Nov 16Designing physical items with LLMs (AI)
- Nov 10Poka-yokes (ポカヨケ) in software development
- Aug 2515 years of posts
- Aug 11About the design system team: Goals, pains, and successes
- Jul 13Await component in React 18: Wait for a promise in the UI
- Jul 6Selection on chunked data
- Jun 30Automating package version bump with Release Please
- Jun 23Migrating my blog to Astro
- May 1Creating custom cards for Home Assistant
- Apr 12Git publish: Releasing and publishing ephemeral npm packages
- Feb 2Introduction to an open-source framework to create AI multi-agent workflows: Bee Agent Framework
- Jan 26Forget about installing yarn, pnpm, etc. Using Corepack
- Jan 6Input-field concept to improve reusability and consistency in your form-related UI components
2024
- Dec 292024 in a Nutshell
- Dec 24My favourite music covers
- Dec 17Math.max (and min) 'Maximum call stack size exceeded' with large datasets and how to reimplement it to make it much faster
- Nov 27Even more features. Lessons I Learned Creating a Table Component (4/4)
- Nov 12Column related features: Lessons I Learned Creating a Table Component (3/4)
- Nov 4Query builder to filter data in TypeScript
- Oct 29Table pagination, sorting, filtering and row selection. Lessons I learned creating a table component (2/4)
- Oct 19Lessons I learned creating a table component (1/4)
- Oct 7Branded types in TypeScript
- Aug 25Are you using semicolons in JS/TS? Maybe is time to remove them
- Aug 19Detecting circular dependencies in Javascript projects
- Jul 1Axios interceptors to validate allowed headers
- Jun 23Monsgeek M5 Custom Keyboard Review
- Jun 16A real-world "on a meeting" light sign
- May 20A real case: why hexagonal architecture, decoupling, and Dependency injection can be very useful in the frontend
- Apr 8UI components library (Chapter II): Components anatomy and interfaces
- Apr 1Typescript enums: Replacing them with const and union types
- Feb 12UI components library (Chapter I): Why and to create one? Characteristics of a good UI library
2023
- Dec 292023 in a Nutshell
- Dec 4SPA (Vue / React / Angular) app loader
- Nov 20The advantage of using cache to decouple the frontend code
- Sep 11Typescript tips for legacy projects: Type only you need
- Sep 10Goodbye pulpoCon
- Sep 4Find a item in lists in js: Performance of Set vs Array
- Jul 10elgato Stream Deck on Linux
- Jun 29Generative AI Models: Boosting Merchandising Analytics User Experience
- May 7Front-End: Cache Strategies You Should Know
- Apr 30Withdraw your library because there is another one better: It's something nice!
- Mar 5CSS variables scoping to create and theme flexible ui components
- Jan 29Typescript enums, const enums and readonly maps
2022
- Dec 312022 in a Nutshell
- Dec 28Frontend team roles and skills, breaking the borders
- Dec 12Typescript typing challenges and type utilities
- Nov 22Using charts in the frontend: Echarts with examples
- Nov 15Typescript type narrowing, type guards and type predicates ([var] is [type])
- Nov 8Giving (Negative) Feedback From Engineers to Managers
- Sep 8Clean architectures as a necessity
- Feb 28Generics in Golang 1.18
2021
- Dec 28Running workflows in you k8s cluster: Argo Workflows
- Nov 22Dealing with infinite pagination
- Nov 9Integration tests in Golang with dockertest
- Nov 2Vue Composition API: How to split and reuse code
- Oct 25Database migrations in Golang.
- Oct 18Creating custom events in JS
- Oct 12How to create a table with a fixed header
- Aug 9I'm almost a boomer and I consume Twitch: My favorite streams
- Jun 14How to run GitHub Actions in local with Act
- May 10Simplifying the use of custom a Vue v-model
- Apr 25Tips using Typescript and Vue
- Apr 19Understanding d3.js - A simple line chart
- Apr 1Custom SVG icon set management with Vue
- Jan 20Deploying a static website in Azure Static Web Apps
2020
- Dec 302020 in a nutshell
- Nov 2Webkit (Safari) memory leak using SVG filters
- Oct 19Talk: Creating your own Vue UI components library: From scratch to NPM
- Sep 22Automate the startup of your projects with yarn create and SAOjs
- Sep 8How Vue's reactivity works (I): Object.defineProperty
- Aug 31Is know how to search on Google a skill?
- Aug 22What is VuePress and why you should use it to document your project?
- Jul 22Export and import Vuex state
- Jul 17Sharing variables between SCSS and Typescript
- Jul 15Why I write a blog
- Jun 21Improving your Vue (and JS) coding quality and workflow
- Jun 2My Favorite YouTube Channels 2020
- May 18Creating a simple donut progress chart
- May 9Javascript unary operators: Taking advantage using them
- Apr 27Understanding Javascript's event loop: Macrotasks and microtasks
- Apr 5Slimbook ProX 15: First Impressions
- Feb 27Start using Typescript in Vue. The easy way.
- Feb 26Using same avatar in different accounts and avoid confusion
- Feb 22(Deep) Cloning objects in Javascript
2019
- Dec 29Vue Router lazy loading and chunking
- Dec 23Instagram RGB Project
- Dec 11Simracing: Very Real and Much Real
- Dec 5Your own v-model in a Vue component (The right way)
- Dec 3Functional Programming in PHP: A bit of theory and Lambdish/phunctional
- Nov 1PHP Reflection: Annotations, PHPDoc, and much more
- Oct 26Composition API: Vue 3 Features in Vue 2.x
- Oct 6My workspace: Hardware & Software
- Oct 2Simplifying Vue Router Management
- Sep 26My uplifting experience helping to organize PulpoCon19
- Sep 9Decoupling API interaction in Vue: vue.$api
- Sep 2Unifying community event information: vigotech.json
- Aug 26Sireno Grid: A lightweight CSS Grid system based on Grid Layout
- Aug 18Sandbox Games: Minecraft and 7 Days to Die (7D2D)
- Jun 30Interactive SVG Maps with Vue
- May 25Impressions after a month of using a mechanical keyboard
- May 12My mobile phone history
- Apr 27Making coffee: a simple cost analysis
- Apr 20It's not all about work: Playing with trains
- Apr 7Accessing Sergas and eSaude from Linux
- Mar 31My Open Source projects
- Mar 1My talks
- Feb 4"Smart-ifying" a desk lamp for €10
- Jan 28My experience with doctor-patient care
2018
2017
- Nov 27Abstracting data from its representation in a CMS = WIN
- Oct 23Creating email templates with Nuxt.js
- Jun 13Why is the home directory in Linux represented by ~ (tilde)?
- Jun 8Using a 'field widget' in a conventional form in Drupal 7
- May 18Receiving SSH access notifications from an unknown IP
- May 4Vigo joins forces
- Apr 18Using Vue.js + electron.js to create desktop applications
- Apr 6Vuex: The Redux of Vue.js (II)
- Apr 3Vuex: The Redux of Vue.js (I)
- Mar 15Introduction to Vue.js
- Mar 7Entity with owner in Laravel 5.4
- Mar 3Something is moving in Vigo
2016
2015
2013
2012
- Nov 29Bigdump: Import large MySQL files without problems
- May 24Supervised accounts for minors on social media?
- May 9What were you doing a year ago? Social networks remind you
- Apr 17How to download an entire website to your computer with wget
- Apr 10Disconnect.me: Browse Privately
- Feb 22Cookies in an IFRAME in Internet Explorer: p3p policy
- Feb 15CCK Blocks: Separate node fields
2011
- Dec 13Incremental backup over FTP with rsync + curlftpfs
- Sep 22In-person vs. Online Meetings
- Aug 29Converting InnoDB tables to MyISAM
- Aug 12Moving your WordPress blog to a new domain
- Aug 8New Node.js development branch and new brand identity
- Aug 3Hiding commented code in PHP templates
- Jul 14Google Plus, the new social network?
- Jul 12Chat in your browser with Node.js and Faye
- Jul 11Improving Node.js: Faye
- Jun 273D without plugins in your browser with JavaScript: three.js
- Apr 29Mobile websites
- Apr 7Social Spam
Sergio Carracedo