<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
    <channel>
        <title>Everton Fernandes's Blog</title>
        <link>https://vertocode.com/blog</link>
        <description>Articles on software engineering, React, Vue, TypeScript, testing, headless commerce and AI-assisted development by Everton Fernandes.</description>
        <lastBuildDate>Fri, 07 Aug 2026 21:46:40 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/nuxt-community/feed-module</generator>
        <language>en</language>
        <item>
            <title><![CDATA[How to Setup Chezmoi - Dotfiles Manager]]></title>
            <link>https://vertocode.com/blog/how-to-setup-chezmoi</link>
            <guid>https://vertocode.com/blog/how-to-setup-chezmoi</guid>
            <pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[A practical guide on how to setup chezmoi to manage your dotfiles across multiple machines, from installation to syncing your configuration everywhere.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/how-to-setup-chezmoi.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Running Claude AI on a VPS with OpenClaw]]></title>
            <link>https://vertocode.com/blog/running-claude-ai-on-vps-with-openclaw</link>
            <guid>https://vertocode.com/blog/running-claude-ai-on-vps-with-openclaw</guid>
            <pubDate>Fri, 27 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[How I set up a personal AI assistant running 24/7 on a Hostinger VPS using OpenClaw, with security controls and access from any machine.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/running-claude-ai-on-vps-with-openclaw.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Fix Shopify CLI GraphQL 401 Error]]></title>
            <link>https://vertocode.com/blog/shopify-cli-graphql-401-error-fix</link>
            <guid>https://vertocode.com/blog/shopify-cli-graphql-401-error-fix</guid>
            <pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to resolve the GraphQL 401 error when running npm run dev in a Hydrogen project with Shopify CLI. This guide provides multiple solutions including logout/login and alternative troubleshooting steps.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/shopify-cli-graphql-401-error-fix.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Deploy Hydrogen to Netlify for Free]]></title>
            <link>https://vertocode.com/blog/deploy-hydrogen-for-free</link>
            <guid>https://vertocode.com/blog/deploy-hydrogen-for-free</guid>
            <pubDate>Fri, 11 Apr 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Learn how to deploy a Shopify Hydrogen storefront for free using Netlify. This guide walks you through the setup process, from connecting your Git repo to enabling SSR.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/deploy-hydrogen-for-free.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[From Mid-Level to Senior in Front-End Development]]></title>
            <link>https://vertocode.com/blog/senior-frontend-developer</link>
            <guid>https://vertocode.com/blog/senior-frontend-developer</guid>
            <pubDate>Thu, 31 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[This guide is designed for mid-level front-end developers ready to advance their careers to a senior level.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/senior-frontend-developer.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Dealing with Remote Images in Next]]></title>
            <link>https://vertocode.com/blog/dealing-with-remote-images-in-nextjs</link>
            <guid>https://vertocode.com/blog/dealing-with-remote-images-in-nextjs</guid>
            <pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[The next image component in Next.js is a powerful tool for optimizing images, but maybe we can have performance problems when dealing with remote images.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/dealing-with-remote-images-in-nextjs.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Creating Windows-bootable USB on macOS]]></title>
            <link>https://vertocode.com/blog/booting-windows-macos</link>
            <guid>https://vertocode.com/blog/booting-windows-macos</guid>
            <pubDate>Sat, 06 Apr 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Simple tutorial to create windows bootable usb on macOS.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/booting-windows-macos.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Working with multiple SSHs]]></title>
            <link>https://vertocode.com/blog/working-with-multiple-sshs</link>
            <guid>https://vertocode.com/blog/working-with-multiple-sshs</guid>
            <pubDate>Sat, 09 Mar 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[I needed to learn how to work with multiple SSHs at the same laptop to work in different GitHub accounts, here I'm documenting and sharing my experience if me or anyone needs to review how do this.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/working-with-multiple-sshs.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Next.js Server Side Components]]></title>
            <link>https://vertocode.com/blog/server-components-nextjs</link>
            <guid>https://vertocode.com/blog/server-components-nextjs</guid>
            <pubDate>Tue, 20 Feb 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Why should we use server side components in next.js?]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/server-components-nextjs.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[React Redux Fundamentals]]></title>
            <link>https://vertocode.com/blog/react-redux</link>
            <guid>https://vertocode.com/blog/react-redux</guid>
            <pubDate>Tue, 30 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Redux is a state management library, similar to Vuex/Pinia in Vue. It uses reducers to manage application state.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/react-redux.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Redux Toolkit]]></title>
            <link>https://vertocode.com/blog/react-redux-toolkit</link>
            <guid>https://vertocode.com/blog/react-redux-toolkit</guid>
            <pubDate>Tue, 30 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[A tool that becomes the setup of redux easily.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/react-redux-toolkit.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[React Redux Logger]]></title>
            <link>https://vertocode.com/blog/react-redux-logger</link>
            <guid>https://vertocode.com/blog/react-redux-logger</guid>
            <pubDate>Tue, 30 Jan 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[We can have good logs when we are using Redux in dev tools console. This is very good to debugging.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/react-redux-logger.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Provide / Inject from Vue.js]]></title>
            <link>https://vertocode.com/blog/provide-inject</link>
            <guid>https://vertocode.com/blog/provide-inject</guid>
            <pubDate>Wed, 14 Jun 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[When we want share data with child components, usually we uses the props. But imagine the case where we have a large component three. and a deeply nested component needs something from a distant ancestor component.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/provide-inject.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Creating Custom Commands in Cypress using the PrevSubject option]]></title>
            <link>https://vertocode.com/blog/prev-subject</link>
            <guid>https://vertocode.com/blog/prev-subject</guid>
            <pubDate>Wed, 17 May 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[How can we create functions in cypress like `.type`, `.click`, etc...? Yes, on this page we will learn how we can do that.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/prev-subject.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[How routes works with Nuxt.js]]></title>
            <link>https://vertocode.com/blog/routes-with-nuxt</link>
            <guid>https://vertocode.com/blog/routes-with-nuxt</guid>
            <pubDate>Tue, 25 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[When we program with pure Vue.js, we need to define all routes in one file, eg (router.js). Using Nuxt, everything is done automatically, we just need to understand how it works so we don't get lost and manage to create the routes in the desired way.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/routes-with-nuxt.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Why use Nuxt.js?]]></title>
            <link>https://vertocode.com/blog/why-use-nuxt</link>
            <guid>https://vertocode.com/blog/why-use-nuxt</guid>
            <pubDate>Sun, 23 Apr 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Nuxt.js is a free and open-source framework based on Vue.js for creating server-side rendered (SSR) and statically generated applications. It provides developers with a set of powerful features and conventions, including automatic code splitting, server-side rendering, and static site generation. These features make it easier to build fast and scalable web applications with Vue.js, without needing to spend time on configuring and setting up the infrastructure. Nuxt.js also includes a powerful CLI tool and a large ecosystem of plugins and modules, making it easy to extend and customize the framework to suit your needs.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/why-use-nuxt.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Grids using CSS]]></title>
            <link>https://vertocode.com/blog/grids</link>
            <guid>https://vertocode.com/blog/grids</guid>
            <pubDate>Mon, 23 Jan 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Grid creates complex responsive web design grid layouts more easily and consistently across browsers.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/grids.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Flexbox using CSS]]></title>
            <link>https://vertocode.com/blog/flexbox</link>
            <guid>https://vertocode.com/blog/flexbox</guid>
            <pubDate>Mon, 26 Dec 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[CSS Flexible Box Layout, commonly known as Flexbox, is a CSS 3 web layout model. It is in the W3C's candidate recommendation stage. The flex layout allows responsive elements within a container to be automatically arranged depending on viewport size.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/flexbox.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Match elements with `^`, `$`, `*` and `~` using CSS or Testing framework]]></title>
            <link>https://vertocode.com/blog/match-elements-with-specials</link>
            <guid>https://vertocode.com/blog/match-elements-with-specials</guid>
            <pubDate>Sun, 04 Dec 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[We were able to use these characters in selectors to filter which ones we want to be modifying in CSS or testing in some testing framework like Cypress or Playwright.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/match-elements-with-specials.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Creational Patterns from Design Patterns]]></title>
            <link>https://vertocode.com/blog/creational-patterns</link>
            <guid>https://vertocode.com/blog/creational-patterns</guid>
            <pubDate>Tue, 08 Nov 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[The purpose of `Creational Patterns` is to provide creation tools that increase flexibility and avoid code repetition.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/creational-patterns.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Cypress VS Playwright]]></title>
            <link>https://vertocode.com/blog/cypress-vs-playwright</link>
            <guid>https://vertocode.com/blog/cypress-vs-playwright</guid>
            <pubDate>Tue, 25 Oct 2022 00:00:00 GMT</pubDate>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/cypress-vs-playwright.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Testing Key, Mouse and other DOM events using Vue Test Utils]]></title>
            <link>https://vertocode.com/blog/testing-events-vue-test-utils</link>
            <guid>https://vertocode.com/blog/testing-events-vue-test-utils</guid>
            <pubDate>Fri, 21 Oct 2022 00:00:00 GMT</pubDate>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/testing-events-vue-test-utils.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Get Started with Vue Test Utils]]></title>
            <link>https://vertocode.com/blog/get-started-with-vue-test-utils</link>
            <guid>https://vertocode.com/blog/get-started-with-vue-test-utils</guid>
            <pubDate>Wed, 19 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Vue Test Utils (VTU) is a set of utility functions aimed to simplify testing Vue.js components. It provides some methods to mount and interact with Vue components in an isolated manner.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/get-started-with-vue-test-utils.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Common Tips for Vue Test Utils]]></title>
            <link>https://vertocode.com/blog/common-tips-vue-test-utils</link>
            <guid>https://vertocode.com/blog/common-tips-vue-test-utils</guid>
            <pubDate>Wed, 19 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[For UI components, we don't recommend aiming for complete line-based coverage, because it leads to too much focus on the internal implementation details of the components and could result in brittle tests.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/common-tips-vue-test-utils.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Using Ubuntu as a Client with WireGuard]]></title>
            <link>https://vertocode.com/blog/configuration-wireguard</link>
            <guid>https://vertocode.com/blog/configuration-wireguard</guid>
            <pubDate>Tue, 18 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[WireGuard is a communication protocol and free and open-source software that implements encrypted virtual private networks, and was designed with the goals of ease of use, high speed performance, and low attack surface.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/configuration-wireguard.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Mock Functions with JEST]]></title>
            <link>https://vertocode.com/blog/mock-functions-with-jest</link>
            <guid>https://vertocode.com/blog/mock-functions-with-jest</guid>
            <pubDate>Mon, 17 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Mock functions allow you to test the links between code by erasing the actual implementation of a function, capturing calls to the function (and the parameters passed in those calls), capturing instances of constructor functions when instantiated with new, and allowing test-time configuration of return values.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/mock-functions-with-jest.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Setup and Teardown with JEST]]></title>
            <link>https://vertocode.com/blog/setup-and-teardown-with-jest</link>
            <guid>https://vertocode.com/blog/setup-and-teardown-with-jest</guid>
            <pubDate>Sun, 16 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[Often while writing tests you have some setup work that needs to happen before tests run, and you have some finishing work that needs to happen after tests run. Jest provides helper functions to handle this.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/setup-and-teardown-with-jest.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Testing Asynchronous Code with JEST]]></title>
            <link>https://vertocode.com/blog/testing-asynchronous-code-with-jest</link>
            <guid>https://vertocode.com/blog/testing-asynchronous-code-with-jest</guid>
            <pubDate>Sat, 15 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[It's common in JavaScript for code to run asynchronously. When you have code that runs asynchronously, Jest needs to know when the code it is testing has completed, before it can move on to another test. Jest has several ways to handle this.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/testing-asynchronous-code-with-jest.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Using Matchers with JEST]]></title>
            <link>https://vertocode.com/blog/using-matchers-with-jest</link>
            <guid>https://vertocode.com/blog/using-matchers-with-jest</guid>
            <pubDate>Tue, 11 Oct 2022 00:00:00 GMT</pubDate>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/using-matchers-with-jest.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[HTML Semantic Elements]]></title>
            <link>https://vertocode.com/blog/html-semantics</link>
            <guid>https://vertocode.com/blog/html-semantics</guid>
            <pubDate>Mon, 10 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[HTML semantic elements are elements that make some sense in the code to be clearer.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/html-semantics.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Get Started with JEST]]></title>
            <link>https://vertocode.com/blog/get-started-with-jest</link>
            <guid>https://vertocode.com/blog/get-started-with-jest</guid>
            <pubDate>Sat, 08 Oct 2022 00:00:00 GMT</pubDate>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/get-started-with-jest.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Get Started with HTML]]></title>
            <link>https://vertocode.com/blog/get-started-with-html</link>
            <guid>https://vertocode.com/blog/get-started-with-html</guid>
            <pubDate>Mon, 05 Sep 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[HTML means **HyperText Markup Language** and is a markup language that tells web browsers how to structure the web pages you visit.]]></description>
            <author>everton@vertocode.com (Everton Vanoni Fernandes)</author>
            <enclosure url="https://vertocode.com/assets/images/posts/get-started-with-html.jpg" length="0" type="image/jpg"/>
        </item>
    </channel>
</rss>