<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://graficos.net</id>
    <title>graficos.net</title>
    <updated>2026-05-21T23:14:31.909Z</updated>
    <generator>graficos.net</generator>
    <author>
        <name>Paul Melero</name>
    </author>
    <link rel="alternate" href="https://graficos.net"/>
    <link rel="self" href="https://graficos.net/feed"/>
    <subtitle>Latest articles from graficos.net</subtitle>
    <logo>https://graficos.net/cover.png</logo>
    <icon>https://graficos.net/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[The Algorithm Behind Procedural Games Like Minecraft — Applied to UI Development]]></title>
        <id>https://graficos.net/blog/2026-04-29-what-minecraft-and-a-word-cloud-have-in-common</id>
        <link href="https://graficos.net/blog/2026-04-29-what-minecraft-and-a-word-cloud-have-in-common"/>
        <link rel="enclosure" href="https://graficos.net/images/uploads/grid-desktop.png" type="image/png"/>
        <updated>2026-04-29T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[How a grid, a seeded PRNG, and a 50-year-old bin-packing heuristic power both Minecraft's infinite worlds and a simple SVG word cloud — and why that's not a coincidence.]]></summary>
        <author>
            <name>Paul Melero</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[The Tiny Unicode Gotcha Behind Your Emoji Tests Failing: U+FE0F]]></title>
        <id>https://graficos.net/blog/2026-02-16-why-your-emoji-tests-fail-fe0f</id>
        <link href="https://graficos.net/blog/2026-02-16-why-your-emoji-tests-fail-fe0f"/>
        <link rel="enclosure" href="https://graficos.net/images/uploads/ufeof.avif" type="image/avif"/>
        <updated>2026-02-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[A tiny Unicode detail can break your tests: `☕` and `☕️` look the same but are different strings because of the ]]></summary>
        <author>
            <name>Paul Melero</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[I created a mini-PWA to read articles without cookie walls]]></title>
        <id>https://graficos.net/blog/2026-02-12-what-is-safe-reader</id>
        <link href="https://graficos.net/blog/2026-02-12-what-is-safe-reader"/>
        <link rel="enclosure" href="https://graficos.net/images/uploads/safe-reader.avif" type="image/avif"/>
        <updated>2026-02-12T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[I created this mini PWA to provide a better reading experience on mobile devices by blocking third-party cookies and scripts, while still allowing the content to be displayed.]]></summary>
        <author>
            <name>Paul Melero</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[What is a Senior Engineer?]]></title>
        <id>https://graficos.net/blog/2026-01-13-what-is-a-senior-engineer</id>
        <link href="https://graficos.net/blog/2026-01-13-what-is-a-senior-engineer"/>
        <link rel="enclosure" href="https://graficos.net/images/uploads/senior-engineer.avif" type="image/avif"/>
        <updated>2026-01-13T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[What are the skills of a Senior Engineer?]]></summary>
        <author>
            <name>Paul Melero</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Using Container Queries with Tailwind Safely in Production]]></title>
        <id>https://graficos.net/blog/2025-06-15-using-container-queries-with-tailwind-safely-in-production</id>
        <link href="https://graficos.net/blog/2025-06-15-using-container-queries-with-tailwind-safely-in-production"/>
        <link rel="enclosure" href="https://graficos.net/images/uploads/container_queries.avif" type="image/avif"/>
        <updated>2025-06-15T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Did you know you can already use Container Queries in production today? Little catch — as long as you do it with a "Progressive Enhancement" approach! I'm going to share with you a real-world example to allow you to use container queries to build responsive typography, with progressive enhancement in mind.]]></summary>
        <author>
            <name>Paul Melero</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Mocking Ghost Methods in Vitest]]></title>
        <id>https://graficos.net/blog/2025-05-22-mocking-ghost-methods-in-vitest</id>
        <link href="https://graficos.net/blog/2025-05-22-mocking-ghost-methods-in-vitest"/>
        <link rel="enclosure" href="https://graficos.net/images/uploads/GhostVitest.avif" type="image/avif"/>
        <updated>2025-05-22T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Mocking "ghost" methods in Vitest is hack I discovered while mocking with Vitest. It allows you to create virtual methods for testing purposes. This article explores how to implement this concept effectively.]]></summary>
        <author>
            <name>Paul Melero</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[Typescript's Immediately Indexed Mapped Type (IIMT)]]></title>
        <id>https://graficos.net/blog/2024-05-07-typescript-immediately-indexed-mapped-types-iimt</id>
        <link href="https://graficos.net/blog/2024-05-07-typescript-immediately-indexed-mapped-types-iimt"/>
        <link rel="enclosure" href="https://graficos.net/images/uploads/Immediately.png" type="image/png"/>
        <updated>2024-05-07T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Let's explore what "Immediately Indexed Mapped Type (IIMT)", the concept coined by Matt Pocock, means. To understand IIMT, we need to understand the underlying concepts first.]]></summary>
        <author>
            <name>Paul Melero</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to Set Aliases in PowerShell]]></title>
        <id>https://graficos.net/blog/2019-10-28-how-to-set-aliases-in-powershell</id>
        <link href="https://graficos.net/blog/2019-10-28-how-to-set-aliases-in-powershell"/>
        <link rel="enclosure" href="https://graficos.net/images/uploads/my-post-1-.png" type="image/png"/>
        <updated>2022-02-16T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[How to set up custom aliases in Windows Powershell using profile.ps1 to run npm (node.js) commands using a shortcut]]></summary>
        <author>
            <name>Paul Melero</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to Search for Emojis with Regular Expressions]]></title>
        <id>https://graficos.net/blog/2019-08-29-how-to-search-for-emojis-with-regular-expressions</id>
        <link href="https://graficos.net/blog/2019-08-29-how-to-search-for-emojis-with-regular-expressions"/>
        <link rel="enclosure" href="https://graficos.net/images/uploads/my-post.png" type="image/png"/>
        <updated>2019-08-29T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[How to look for emojis in a string using Javascript Regular Expressions with a handy shorthand.]]></summary>
        <author>
            <name>Paul Melero</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to git stash one file and add a message]]></title>
        <id>https://graficos.net/blog/2019-07-23-how-to-git-stash-one-file-and-add-a-message</id>
        <link href="https://graficos.net/blog/2019-07-23-how-to-git-stash-one-file-and-add-a-message"/>
        <link rel="enclosure" href="https://graficos.net/images/uploads/gitstash.png" type="image/png"/>
        <updated>2019-07-23T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Stashing one file only is done with git stash push but what about adding also a message to the stash so you can easily get it afterward?]]></summary>
        <author>
            <name>Paul Melero</name>
        </author>
    </entry>
    <entry>
        <title type="html"><![CDATA[How to filter GitHub issues other people made in your repository]]></title>
        <id>https://graficos.net/blog/2019-06-25-how-to-filter-github-issues-other-people-made-in-your-repository</id>
        <link href="https://graficos.net/blog/2019-06-25-how-to-filter-github-issues-other-people-made-in-your-repository"/>
        <link rel="enclosure" href="https://graficos.net/images/uploads/carbon.png" type="image/png"/>
        <updated>2019-06-25T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[How to filter an author from a pull request or an issue on GitHub using their syntax on the GitHub search.]]></summary>
        <author>
            <name>Paul Melero</name>
        </author>
    </entry>
</feed>