<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>Sergio Xalambrí</title>
    <description>Articles, tutorials, bookmarks, and glossary terms by Sergio Xalambrí.</description>
    <link>https://r3.sergiodxa.com</link>
    <item>
        <guid>b21278f6-aa67-45a5-b1a3-cbe9ae8d3079</guid>
        <title>Details that make interfaces feel better</title>
        <description>https://jakub.kr/writing/details-that-make-interfaces-feel-better</description>
        <link>https://jakub.kr/writing/details-that-make-interfaces-feel-better</link>
        <pubDate>Wed, 11 Mar 2026 04:48:41 GMT</pubDate>
      </item>
<item>
        <guid>d4c9fe9b-e0b2-4f41-8260-f524777f3e79</guid>
        <title>Expand your hit areas</title>
        <description>https://bazza.dev/craft/2026/hit-area</description>
        <link>https://bazza.dev/craft/2026/hit-area</link>
        <pubDate>Tue, 10 Mar 2026 23:40:22 GMT</pubDate>
      </item>
<item>
        <guid>6945212f-4b45-4110-aeaa-e46671838f0d</guid>
        <title>Nobody Gets Promoted for Simplicity</title>
        <description>https://terriblesoftware.org/2026/03/03/nobody-gets-promoted-for-simplicity/</description>
        <link>https://terriblesoftware.org/2026/03/03/nobody-gets-promoted-for-simplicity/</link>
        <pubDate>Sun, 08 Mar 2026 23:00:29 GMT</pubDate>
      </item>
<item>
        <guid>94d337cb-37a7-4226-9e79-4ce0c5a822e8</guid>
        <title>Why I don't use down migrations</title>
        <description>https://freek.dev/2900-why-i-dont-use-down-migrations</description>
        <link>https://freek.dev/2900-why-i-dont-use-down-migrations</link>
        <pubDate>Sun, 08 Mar 2026 22:59:28 GMT</pubDate>
      </item>
<item>
        <guid>04d18404-be88-44ce-9f6a-8bc7b28cd625</guid>
        <title>How we enabled Content Security Policy for everyone</title>
        <description>https://buttondown.com/blog/2026-03-06-how-we-enabled-content-security-policy</description>
        <link>https://buttondown.com/blog/2026-03-06-how-we-enabled-content-security-policy</link>
        <pubDate>Sun, 08 Mar 2026 22:58:36 GMT</pubDate>
      </item>
<item>
        <guid>fd5f0e2c-e94b-47de-8b7c-511aa6c61da5</guid>
        <title>RESTful</title>
        <description>A term used to describe APIs that follow the principles of REST, using standard HTTP methods, stateless communication, and resource-based URLs to provide predictable and consistent API design.</description>
        <link>https://r3.sergiodxa.com/glossary#restful</link>
        <pubDate>Sun, 08 Mar 2026 22:50:08 GMT</pubDate>
      </item>
<item>
        <guid>20c418f5-0f35-4719-affa-9b874d94eb27</guid>
        <title>MIME Type (aka Multipurpose Internet Mail Extensions Type)</title>
        <description>A standardized identifier used by HTTP to describe the format of a file or response, such as text/html, application/json, or image/png.</description>
        <link>https://r3.sergiodxa.com/glossary#mime-type</link>
        <pubDate>Sun, 08 Mar 2026 22:48:38 GMT</pubDate>
      </item>
<item>
        <guid>9adc7281-5aab-4dff-8f62-5828cdda7c51</guid>
        <title>Same-Origin Policy</title>
        <description>A browser security rule that restricts scripts from interacting with resources from a different origin unless explicitly allowed through mechanisms such as CORS.</description>
        <link>https://r3.sergiodxa.com/glossary#same-origin-policy</link>
        <pubDate>Sun, 08 Mar 2026 22:47:23 GMT</pubDate>
      </item>
<item>
        <guid>93fcf346-e021-4637-9820-3c97bdd706d7</guid>
        <title>CORS (aka Cross-Origin Resource Sharing)</title>
        <description>A browser security mechanism that controls whether a web page can request resources from a different origin than the one that served the page.</description>
        <link>https://r3.sergiodxa.com/glossary#cors</link>
        <pubDate>Sun, 08 Mar 2026 22:46:01 GMT</pubDate>
      </item>
<item>
        <guid>06c53c9f-88c9-4bc2-814e-80058c80a891</guid>
        <title>Bearer Token</title>
        <description>A type of access token used in HTTP authentication where possession of the token grants access to protected resources, commonly sent in the Authorization header.</description>
        <link>https://r3.sergiodxa.com/glossary#bearer-token</link>
        <pubDate>Sun, 08 Mar 2026 22:45:23 GMT</pubDate>
      </item>
<item>
        <guid>bd141ef0-e814-4779-8378-2f52eed8df40</guid>
        <title>OIDC (aka OpenID Connect)</title>
        <description>An identity layer built on top of OAuth2 that allows applications to authenticate users and obtain identity information through standardized tokens such as ID Tokens.</description>
        <link>https://r3.sergiodxa.com/glossary#oidc</link>
        <pubDate>Sun, 08 Mar 2026 22:44:33 GMT</pubDate>
      </item>
<item>
        <guid>cc47493a-69ee-49ce-b41f-b3815f8d6387</guid>
        <title>OAuth2 (aka OAuth 2.0)</title>
        <description>An authorization framework that allows applications to obtain limited access to user resources on another service without requiring the user to share their credentials.</description>
        <link>https://r3.sergiodxa.com/glossary#oauth2</link>
        <pubDate>Sun, 08 Mar 2026 22:43:34 GMT</pubDate>
      </item>
<item>
        <guid>aeaeb74e-63d9-4dba-b3f2-bd6458ff8ae8</guid>
        <title>GraphQL</title>
        <description>A query language and runtime for APIs that allows clients to request exactly the data they need from a server rather than receiving fixed responses from predefined endpoints.</description>
        <link>https://r3.sergiodxa.com/glossary#graphql</link>
        <pubDate>Sun, 08 Mar 2026 22:42:56 GMT</pubDate>
      </item>
<item>
        <guid>112be8e2-1047-4d45-b04a-10ee690ece98</guid>
        <title>REST (aka Representational State Transfer)</title>
        <description>An architectural style for building Web APIs where resources are accessed through standard HTTP methods such as GET, POST, PUT, PATCH, and DELETE.</description>
        <link>https://r3.sergiodxa.com/glossary#rest</link>
        <pubDate>Sun, 08 Mar 2026 22:42:24 GMT</pubDate>
      </item>
<item>
        <guid>bf869e4b-62ac-4e5d-b3d7-444d657f6785</guid>
        <title>XML (aka Extensible Markup Language)</title>
        <description>A markup language used to represent structured data in a hierarchical format, historically common in web services before JSON became dominant.</description>
        <link>https://r3.sergiodxa.com/glossary#xml</link>
        <pubDate>Sun, 08 Mar 2026 22:41:46 GMT</pubDate>
      </item>
<item>
        <guid>b8cdbc2f-c121-4dc4-8e44-8a5252cf75b2</guid>
        <title>JSON (aka JavaScript Object Notation)</title>
        <description>A lightweight data format commonly used in APIs to exchange structured data between clients and servers in a format that is easy for humans to read and machines to parse.</description>
        <link>https://r3.sergiodxa.com/glossary#json</link>
        <pubDate>Sun, 08 Mar 2026 22:41:06 GMT</pubDate>
      </item>
<item>
        <guid>bb654e8d-7838-4489-875b-e8a24840f410</guid>
        <title>TLS (aka Transport Layer Security)</title>
        <description>A cryptographic protocol used to secure communications over a network, commonly used by HTTPS and WSS to encrypt data between clients and servers.</description>
        <link>https://r3.sergiodxa.com/glossary#tls</link>
        <pubDate>Sun, 08 Mar 2026 22:40:21 GMT</pubDate>
      </item>
<item>
        <guid>e923824a-f85a-4542-838b-2c535b8cb7eb</guid>
        <title>TCP (aka Transmission Control Protocol)</title>
        <description>A core internet protocol that ensures reliable, ordered delivery of data between devices communicating over a network.</description>
        <link>https://r3.sergiodxa.com/glossary#tcp</link>
        <pubDate>Sun, 08 Mar 2026 22:39:35 GMT</pubDate>
      </item>
<item>
        <guid>56fad0f2-3335-4efd-8b34-5c891a52286c</guid>
        <title>IP (aka Internet Protocol)</title>
        <description>The protocol responsible for addressing and routing packets across networks so data can travel from a source device to a destination device.</description>
        <link>https://r3.sergiodxa.com/glossary#ip</link>
        <pubDate>Sun, 08 Mar 2026 22:39:01 GMT</pubDate>
      </item>
<item>
        <guid>e743f22f-377a-4810-a5e8-b4e6e827374e</guid>
        <title>URI (aka Uniform Resource Identifier)</title>
        <description>A broader identifier used to identify a resource, which may include URLs or other naming schemes that reference resources without specifying their location.</description>
        <link>https://r3.sergiodxa.com/glossary#uri</link>
        <pubDate>Sun, 08 Mar 2026 22:38:28 GMT</pubDate>
      </item>
<item>
        <guid>d9382834-c02d-4fdd-a184-5e8087bbf349</guid>
        <title>URL (aka Uniform Resource Locator)</title>
        <description>A standardized address used to locate resources on the web, specifying the protocol, domain, path, and optionally query parameters or fragments.</description>
        <link>https://r3.sergiodxa.com/glossary#url</link>
        <pubDate>Sun, 08 Mar 2026 22:37:47 GMT</pubDate>
      </item>
<item>
        <guid>025e5c3c-6d5f-4138-9141-df66bc6b3963</guid>
        <title>DNS (aka Domain Name System)</title>
        <description>A distributed system that translates human-readable domain names into IP addresses so browsers can locate servers on the internet.</description>
        <link>https://r3.sergiodxa.com/glossary#dns</link>
        <pubDate>Sun, 08 Mar 2026 22:37:01 GMT</pubDate>
      </item>
<item>
        <guid>2c52c55e-78cd-4645-aa07-3f27448dfb77</guid>
        <title>FTP (aka File Transfer Protocol)</title>
        <description>A network protocol used to transfer files between a client and a server, historically common for uploading website files to hosting servers.</description>
        <link>https://r3.sergiodxa.com/glossary#ftp</link>
        <pubDate>Sun, 08 Mar 2026 22:36:20 GMT</pubDate>
      </item>
<item>
        <guid>783c3b98-e39f-4c4f-b804-46568d7f0428</guid>
        <title>CSS (aka Cascading Style Sheets)</title>
        <description>A stylesheet language used to control the presentation of HTML documents, including layout, colors, typography, spacing, and responsive design.</description>
        <link>https://r3.sergiodxa.com/glossary#css</link>
        <pubDate>Sun, 08 Mar 2026 22:35:43 GMT</pubDate>
      </item>
<item>
        <guid>b5875f61-61f9-46e8-8bd1-69f23f0d4b94</guid>
        <title>HTML (aka Hypertext Markup Language)</title>
        <description>The standard markup language used to structure content on the web, defining elements such as headings, paragraphs, links, images, and other page structure.</description>
        <link>https://r3.sergiodxa.com/glossary#html</link>
        <pubDate>Sun, 08 Mar 2026 22:35:07 GMT</pubDate>
      </item>
<item>
        <guid>099a30e4-96e5-401c-83ef-9de27921a6c8</guid>
        <title>HTTPS (aka Hypertext Transfer Protocol Secure)</title>
        <description>A secure version of HTTP that encrypts communication between a client and server using TLS, protecting data from interception or modification during transmission.</description>
        <link>https://r3.sergiodxa.com/glossary#https</link>
        <pubDate>Sun, 08 Mar 2026 22:34:29 GMT</pubDate>
      </item>
<item>
        <guid>98a21ab0-520d-40ad-9411-014d97cb90e3</guid>
        <title>HTTP (aka Hypertext Transfer Protocol)</title>
        <description>The application-layer protocol used for communication between web browsers and servers, defining how requests and responses are formatted and transmitted across the web.</description>
        <link>https://r3.sergiodxa.com/glossary#http</link>
        <pubDate>Sun, 08 Mar 2026 22:33:47 GMT</pubDate>
      </item>
<item>
        <guid>79fc507c-361d-41ce-a9a3-82796201b9c7</guid>
        <title>WSS (aka WebSocket Secure)</title>
        <description>The encrypted version of the WebSocket protocol, using TLS to provide secure real-time communication between a client and a server over the internet.</description>
        <link>https://r3.sergiodxa.com/glossary#wss</link>
        <pubDate>Sun, 08 Mar 2026 22:31:33 GMT</pubDate>
      </item>
<item>
        <guid>7dbca349-b7bf-4d96-b524-1f8716de980b</guid>
        <title>Web API</title>
        <description>An API exposed over HTTP that allows clients such as browsers or mobile applications to interact with backend services.</description>
        <link>https://r3.sergiodxa.com/glossary#web-api</link>
        <pubDate>Sun, 08 Mar 2026 22:30:52 GMT</pubDate>
      </item>
<item>
        <guid>121455a1-648e-4126-a31f-a7133976d4d3</guid>
        <title>Static Assets</title>
        <description>Files such as images, fonts, stylesheets, and scripts that are served directly to the browser without server-side processing.</description>
        <link>https://r3.sergiodxa.com/glossary#static-assets</link>
        <pubDate>Sun, 08 Mar 2026 22:30:11 GMT</pubDate>
      </item>
<item>
        <guid>2df07188-259e-4847-bf4a-e2bf3177282e</guid>
        <title>Routing</title>
        <description>The mechanism that determines which content or component should be displayed based on the current URL, either handled by the server or by client-side routers in SPAs.</description>
        <link>https://r3.sergiodxa.com/glossary#routing</link>
        <pubDate>Sun, 08 Mar 2026 22:29:39 GMT</pubDate>
      </item>
<item>
        <guid>6df4663d-97eb-485d-9b78-9fb8729dce29</guid>
        <title>Rendering</title>
        <description>The process of generating the UI of an application from data and components, either on the server (SSR) or in the browser (CSR).</description>
        <link>https://r3.sergiodxa.com/glossary#rendering</link>
        <pubDate>Sun, 08 Mar 2026 22:29:05 GMT</pubDate>
      </item>
<item>
        <guid>96d13baf-9c49-47ca-a62e-93ff4bf1ec13</guid>
        <title>SSE (aka Server-Sent Events)</title>
        <description>A browser technology that allows a server to push real-time updates to the client over a single HTTP connection, commonly used for notifications and live feeds.</description>
        <link>https://r3.sergiodxa.com/glossary#sse</link>
        <pubDate>Sun, 08 Mar 2026 22:27:20 GMT</pubDate>
      </item>
<item>
        <guid>b5239841-8c6a-4e25-9bf3-5baa46584df4</guid>
        <title>WebSockets</title>
        <description>A protocol that provides persistent, bidirectional communication between a client and a server, allowing real-time features such as chat, live updates, and streaming data.</description>
        <link>https://r3.sergiodxa.com/glossary#websockets</link>
        <pubDate>Sun, 08 Mar 2026 22:26:21 GMT</pubDate>
      </item>
<item>
        <guid>928483fe-93f2-4a94-85ee-ae28e54de881</guid>
        <title>Idempotency</title>
        <description>A property of an operation where performing the same request multiple times produces the same result, commonly used in APIs to make retries safe.</description>
        <link>https://r3.sergiodxa.com/glossary#idempotency</link>
        <pubDate>Sun, 08 Mar 2026 22:25:29 GMT</pubDate>
      </item>
<item>
        <guid>f6dffd2b-20f5-4b58-b262-60a0b5e83e01</guid>
        <title>CDN (aka Content Delivery Network)</title>
        <description>A distributed network of servers that cache and deliver static assets such as images, scripts, and stylesheets from locations geographically closer to users.</description>
        <link>https://r3.sergiodxa.com/glossary#cdn</link>
        <pubDate>Sun, 08 Mar 2026 22:24:57 GMT</pubDate>
      </item>
<item>
        <guid>ebbec730-f8cf-480a-8eee-71029a5c9847</guid>
        <title>Caching</title>
        <description>A performance technique where responses or computed data are stored temporarily so future requests can be served faster without repeating the same computation.</description>
        <link>https://r3.sergiodxa.com/glossary#caching</link>
        <pubDate>Sun, 08 Mar 2026 22:24:08 GMT</pubDate>
      </item>
<item>
        <guid>3d102d04-2544-440f-aaea-8438007b9c58</guid>
        <title>Rate Limiting</title>
        <description>A technique used by APIs and servers to restrict how many requests a client can make within a given time period, protecting systems from abuse or overload.</description>
        <link>https://r3.sergiodxa.com/glossary#rate-limiting</link>
        <pubDate>Sun, 08 Mar 2026 22:23:37 GMT</pubDate>
      </item>
<item>
        <guid>5bc43df2-aa10-4329-bb02-89a6b92a7249</guid>
        <title>Webhooks</title>
        <description>A mechanism where one system sends HTTP requests to another when specific events occur, allowing applications to receive real-time updates without polling an API.</description>
        <link>https://r3.sergiodxa.com/glossary#webhooks</link>
        <pubDate>Sun, 08 Mar 2026 22:22:54 GMT</pubDate>
      </item>
<item>
        <guid>585bb226-ad6a-48c6-b224-ecfc76942577</guid>
        <title>Edge Runtime</title>
        <description>A lightweight JavaScript runtime designed to run code at the edge of a CDN network, commonly used for Edge Functions and SSR close to the user.</description>
        <link>https://r3.sergiodxa.com/glossary#edge-runtime</link>
        <pubDate>Sun, 08 Mar 2026 22:22:24 GMT</pubDate>
      </item>
<item>
        <guid>619c2cb3-0a21-4192-b263-6fd8e4896e8f</guid>
        <title>RSC (aka React Server Components)</title>
        <description>A React rendering model where components run on the server and send serialized UI to the client, reducing the amount of JavaScript needed in the browser.</description>
        <link>https://r3.sergiodxa.com/glossary#rsc</link>
        <pubDate>Sun, 08 Mar 2026 22:21:43 GMT</pubDate>
      </item>
<item>
        <guid>c6010655-3770-49fa-b2f4-e367b4d2b116</guid>
        <title>Optimistic UI</title>
        <description>A UX pattern where the interface updates immediately after a user action assuming the server operation will succeed, later reconciling the UI state with the server response.</description>
        <link>https://r3.sergiodxa.com/glossary#optimistic-ui</link>
        <pubDate>Sun, 08 Mar 2026 22:09:08 GMT</pubDate>
      </item>
<item>
        <guid>1794e860-1d8c-484b-9a69-840d5f60a709</guid>
        <title>Progressive Enhancement</title>
        <description>A web development strategy where a website works with basic functionality using HTML and server responses, and enhances the experience with JavaScript when available.</description>
        <link>https://r3.sergiodxa.com/glossary#progressive-enhancement</link>
        <pubDate>Sun, 08 Mar 2026 22:07:19 GMT</pubDate>
      </item>
<item>
        <guid>0394daeb-81ef-4d35-8179-2d9ca6100c54</guid>
        <title>PKCE (aka Proof Key for Code Exchange)</title>
        <description>An extension to the OAuth2 Authorization Code Flow that protects public clients from authorization code interception by requiring a one-time secret during token exchange.</description>
        <link>https://r3.sergiodxa.com/glossary#pkce</link>
        <pubDate>Sun, 08 Mar 2026 22:06:35 GMT</pubDate>
      </item>
<item>
        <guid>ae9284b7-4c81-4c83-9b0e-86bb7a120f51</guid>
        <title>Resource Server</title>
        <description>A server that hosts protected resources and validates access tokens before granting access, commonly implemented as an API that trusts tokens issued by an Authorization Server.</description>
        <link>https://r3.sergiodxa.com/glossary#resource-server</link>
        <pubDate>Sun, 08 Mar 2026 22:05:53 GMT</pubDate>
      </item>
<item>
        <guid>635eb6a7-1248-433c-9963-50c47020ea4e</guid>
        <title>Authorization Server</title>
        <description>A server responsible for authenticating users and issuing tokens such as access tokens and refresh tokens, acting as the central authority in OAuth2 and OpenID Connect systems.</description>
        <link>https://r3.sergiodxa.com/glossary#authorization-server</link>
        <pubDate>Sun, 08 Mar 2026 22:05:21 GMT</pubDate>
      </item>
<item>
        <guid>08ad7578-9ba1-46e0-95db-680db69a6c24</guid>
        <title>Refresh Token</title>
        <description>A token used to obtain new access tokens from an Authorization Server without requiring the user to authenticate again, typically long-lived and stored securely by the client.</description>
        <link>https://r3.sergiodxa.com/glossary#refresh-token</link>
        <pubDate>Sun, 08 Mar 2026 22:04:53 GMT</pubDate>
      </item>
<item>
        <guid>6897bce3-e6ca-48f5-af3a-98de03ad0f1f</guid>
        <title>Access Token</title>
        <description>A credential issued by an Authorization Server that allows a client to access protected resources on a Resource Server, typically short-lived and included in API requests.</description>
        <link>https://r3.sergiodxa.com/glossary#access-token</link>
        <pubDate>Sun, 08 Mar 2026 22:04:08 GMT</pubDate>
      </item>
<item>
        <guid>1b964a48-759e-460c-bade-cbfd42fc1b64</guid>
        <title>JWKS (aka JSON Web Key Set)</title>
        <description>A JSON document containing one or more JWKs, typically exposed through a public endpoint so Resource Servers can retrieve the keys required to validate JWT signatures.</description>
        <link>https://r3.sergiodxa.com/glossary#jwks</link>
        <pubDate>Sun, 08 Mar 2026 22:03:29 GMT</pubDate>
      </item>
<item>
        <guid>9582a7bf-e204-413e-a90c-c73e6be748db</guid>
        <title>JWK (aka JSON Web Key)</title>
        <description>A JSON representation of a cryptographic key used in web security systems, commonly published by Authorization Servers so other services can verify signatures on JWTs.</description>
        <link>https://r3.sergiodxa.com/glossary#jwk</link>
        <pubDate>Sun, 08 Mar 2026 22:02:48 GMT</pubDate>
      </item>
<item>
        <guid>d8abb472-6673-4e07-aaf4-a11589a2d533</guid>
        <title>JWT (aka JSON Web Token)</title>
        <description>A compact and self-contained token format used to securely transmit claims between parties, commonly used in authentication systems where an Authorization Server issues tokens to clients.</description>
        <link>https://r3.sergiodxa.com/glossary#jwt</link>
        <pubDate>Sun, 08 Mar 2026 22:02:04 GMT</pubDate>
      </item>
<item>
        <guid>ae47c122-685a-4184-a179-1150f8b2b5a7</guid>
        <title>API Gateway</title>
        <description>A service that acts as a single entry point for multiple backend services, handling routing, authentication, rate limiting, and request transformation before forwarding requests to internal APIs.</description>
        <link>https://r3.sergiodxa.com/glossary#api-gateway</link>
        <pubDate>Sun, 08 Mar 2026 22:01:02 GMT</pubDate>
      </item>
<item>
        <guid>36128bcf-77c9-4109-b09e-da37da43b735</guid>
        <title>Edge Functions</title>
        <description>Small serverless functions that run at the edge of a CDN network close to users, often used for authentication, request rewriting, personalization, and lightweight SSR.</description>
        <link>https://r3.sergiodxa.com/glossary#edge-functions</link>
        <pubDate>Sun, 08 Mar 2026 22:00:31 GMT</pubDate>
      </item>
<item>
        <guid>279a48a6-645f-4628-9718-6b6ad180dc05</guid>
        <title>Serverless</title>
        <description>A cloud computing model where applications run as short-lived functions managed by a platform, allowing developers to deploy code without managing servers or infrastructure.</description>
        <link>https://r3.sergiodxa.com/glossary#serverless</link>
        <pubDate>Sun, 08 Mar 2026 22:00:09 GMT</pubDate>
      </item>
<item>
        <guid>0d049e99-05ae-4561-bef5-0f524fe160c4</guid>
        <title>Microservices</title>
        <description>An architectural style where an application is composed of multiple independent services that communicate over a network, each responsible for a specific capability and deployable independently.</description>
        <link>https://r3.sergiodxa.com/glossary#microservices</link>
        <pubDate>Sun, 08 Mar 2026 21:59:09 GMT</pubDate>
      </item>
<item>
        <guid>f04f0c2a-ef24-4c8b-9630-a4a9f1716d73</guid>
        <title>Monolith</title>
        <description>An application architecture where the frontend, backend, and business logic are developed and deployed together as a single system rather than split across multiple independent services.</description>
        <link>https://r3.sergiodxa.com/glossary#monolith</link>
        <pubDate>Sun, 08 Mar 2026 21:58:37 GMT</pubDate>
      </item>
<item>
        <guid>86f0ca96-5272-4579-befb-4f599dafe799</guid>
        <title>BFF (aka Backend for Frontend)</title>
        <description>An architectural pattern where a backend service is built specifically for a particular frontend, aggregating data from multiple services and shaping responses for that client.</description>
        <link>https://r3.sergiodxa.com/glossary#bff</link>
        <pubDate>Sun, 08 Mar 2026 21:58:07 GMT</pubDate>
      </item>
<item>
        <guid>405ab055-30bd-4462-9d82-eff2abb3ac38</guid>
        <title>Edge Rendering</title>
        <description>A rendering strategy where SSR runs on edge runtimes located close to users, reducing latency compared to rendering requests in a centralized server or traditional backend.</description>
        <link>https://r3.sergiodxa.com/glossary#edge-rendering</link>
        <pubDate>Sun, 08 Mar 2026 21:57:15 GMT</pubDate>
      </item>
<item>
        <guid>e9aec628-1df0-4e74-8130-fe17a7f0592f</guid>
        <title>Streaming SSR</title>
        <description>A variation of SSR where the server sends HTML to the browser in chunks as it is generated, allowing the browser to begin rendering the page before the full response is complete.</description>
        <link>https://r3.sergiodxa.com/glossary#streaming-ssr</link>
        <pubDate>Sun, 08 Mar 2026 21:56:16 GMT</pubDate>
      </item>
<item>
        <guid>1b0eb4d9-9fdc-405f-ae87-5efb4c7c2c7b</guid>
        <title>Islands Architecture</title>
        <description>An architecture where most of a page is static HTML but small interactive sections, called islands, are hydrated as independent components instead of turning the entire page into a SPA.</description>
        <link>https://r3.sergiodxa.com/glossary#islands-architecture</link>
        <pubDate>Sun, 08 Mar 2026 21:55:23 GMT</pubDate>
      </item>
<item>
        <guid>c3dab2c9-b8c6-4435-8653-ce29931e3cf4</guid>
        <title>Partial Hydration</title>
        <description>A rendering strategy where only specific parts of a server-rendered page are hydrated with JavaScript instead of the entire document, reducing the amount of JavaScript executed in the browser.</description>
        <link>https://r3.sergiodxa.com/glossary#partial-hydration</link>
        <pubDate>Sun, 08 Mar 2026 21:53:04 GMT</pubDate>
      </item>
<item>
        <guid>3d08400d-a866-4c80-a009-2d0e2f6769da</guid>
        <title>Hydration</title>
        <description>The process where client-side JavaScript takes control of HTML generated by SSR, attaching event listeners and restoring application state so the page becomes interactive.</description>
        <link>https://r3.sergiodxa.com/glossary#hydration</link>
        <pubDate>Sun, 08 Mar 2026 21:52:12 GMT</pubDate>
      </item>
<item>
        <guid>4a0e9fc9-98a9-475a-a9cf-25fbc7ccf260</guid>
        <title>Access React Router Context with AsyncLocalStorage</title>
        <description>Access React Router's context from any function without passing it through every layer.</description>
        <link>https://r3.sergiodxa.com/tutorials/access-react-router-context-with-asynclocalstorage</link>
        <pubDate>Fri, 06 Mar 2026 17:12:29 GMT</pubDate>
      </item>
<item>
        <guid>02f8a79e-d7e5-47a8-9993-6215b8a5b9f2</guid>
        <title>Hire managers of one</title>
        <description>https://signalvnoise.com/posts/1430-hire-managers-of-one</description>
        <link>https://signalvnoise.com/posts/1430-hire-managers-of-one</link>
        <pubDate>Thu, 05 Mar 2026 03:29:38 GMT</pubDate>
      </item>
<item>
        <guid>fbddd4a9-0014-4156-873d-6e734a58de91</guid>
        <title>Create a Per-Request Database Instance with Middleware</title>
        <description>Manage database lifecycle with React Router middleware, ensuring connections close even when errors occur.</description>
        <link>https://r3.sergiodxa.com/tutorials/create-a-per-request-database-instance-with-middleware</link>
        <pubDate>Tue, 03 Mar 2026 05:37:11 GMT</pubDate>
      </item>
<item>
        <guid>ccb38b2d-2b56-4492-916b-503c16560888</guid>
        <title>Use Sec-Fetch Headers for CSRF Protection</title>
        <description>Protect your React Router app from CSRF attacks using browser Sec-Fetch headers in middleware.</description>
        <link>https://r3.sergiodxa.com/tutorials/use-sec-fetch-headers-for-csrf-protection</link>
        <pubDate>Mon, 23 Feb 2026 04:49:51 GMT</pubDate>
      </item>
<item>
        <guid>60652b58-4da7-496a-ad7f-eb54f781a320</guid>
        <title>SQLite-on-the-Server Is Misunderstood: Better At Hyper-Scale Than Micro-Scale</title>
        <description>https://www.rivet.dev/blog/2025-02-16-sqlite-on-the-server-is-misunderstood/</description>
        <link>https://www.rivet.dev/blog/2025-02-16-sqlite-on-the-server-is-misunderstood/</link>
        <pubDate>Mon, 23 Feb 2026 04:45:13 GMT</pubDate>
      </item>
<item>
        <guid>731b571a-9fb8-472d-9560-3a85c092fd0d</guid>
        <title>React Router Loaders and Actions as Integration Points</title>
        <description>Test your business logic, not your loaders and actions. Treat them as integration points and avoid mocking nightmares.</description>
        <link>https://r3.sergiodxa.com/articles/react-router-loaders-and-actions-as-integration-points</link>
        <pubDate>Fri, 20 Feb 2026 06:40:28 GMT</pubDate>
      </item>
<item>
        <guid>534899dd-3298-42b4-83fd-ebe6bf49be77</guid>
        <title>The Too Early Breakpoint</title>
        <description>https://ishadeed.com/article/too-early-breakpoint/</description>
        <link>https://ishadeed.com/article/too-early-breakpoint/</link>
        <pubDate>Tue, 03 Feb 2026 19:32:28 GMT</pubDate>
      </item>
<item>
        <guid>f23034f2-a692-424f-95ca-6f4eca4f123b</guid>
        <title>More invoker commands, and more reasons not to use JavaScript please</title>
        <description>https://pawelgrzybek.com/more-invoker-commands-and-more-reasons-not-to-use-javascript-please/</description>
        <link>https://pawelgrzybek.com/more-invoker-commands-and-more-reasons-not-to-use-javascript-please/</link>
        <pubDate>Tue, 03 Feb 2026 19:25:26 GMT</pubDate>
      </item>
<item>
        <guid>cbda0c77-fc13-4984-9835-901c1ddf70f8</guid>
        <title>sergiodxa/agent-skills</title>
        <description>https://github.com/sergiodxa/agent-skills</description>
        <link>https://github.com/sergiodxa/agent-skills</link>
        <pubDate>Wed, 28 Jan 2026 19:49:17 GMT</pubDate>
      </item>
<item>
        <guid>29afb617-3444-4dfb-adc0-20270647a0e2</guid>
        <title>The Incredible Overcomplexity of the Shadcn Radio Button</title>
        <description>https://paulmakeswebsites.com/writing/shadcn-radio-button/</description>
        <link>https://paulmakeswebsites.com/writing/shadcn-radio-button/</link>
        <pubDate>Tue, 20 Jan 2026 23:15:22 GMT</pubDate>
      </item>
<item>
        <guid>24da627a-d290-4a56-8f95-f463dfb5784f</guid>
        <title>Affordances: The Missing Layer in Frontend Architecture</title>
        <description>https://fractaledmind.com/2025/12/01/ui-affordances/</description>
        <link>https://fractaledmind.com/2025/12/01/ui-affordances/</link>
        <pubDate>Mon, 22 Dec 2025 19:02:12 GMT</pubDate>
      </item>
<item>
        <guid>b01820c8-b278-42e8-99c0-a6adb85b1355</guid>
        <title>Confirmation dialogs with zero JavaScript</title>
        <description>https://fractaledmind.com/2025/12/16/turbo-confirm-dialogs-without-javascript/</description>
        <link>https://fractaledmind.com/2025/12/16/turbo-confirm-dialogs-without-javascript/</link>
        <pubDate>Mon, 22 Dec 2025 19:00:05 GMT</pubDate>
      </item>
<item>
        <guid>9ad7505b-5bbb-49b0-ac53-621501e3db4d</guid>
        <title>Stylish dialogs</title>
        <description>https://fractaledmind.com/2025/12/18/stylish-dialogs/</description>
        <link>https://fractaledmind.com/2025/12/18/stylish-dialogs/</link>
        <pubDate>Mon, 22 Dec 2025 19:00:00 GMT</pubDate>
      </item>
<item>
        <guid>fedbfc1a-d64a-4c34-95c5-9ca34254db3a</guid>
        <title>Logging Sucks - Your Logs Are Lying To You</title>
        <description>https://loggingsucks.com/</description>
        <link>https://loggingsucks.com/</link>
        <pubDate>Mon, 22 Dec 2025 07:18:06 GMT</pubDate>
      </item>
<item>
        <guid>5a66ee45-1ba6-4f20-befb-bf10867b7faa</guid>
        <title>Micro-libraries need to die already</title>
        <description>https://bvisness.me/microlibraries/</description>
        <link>https://bvisness.me/microlibraries/</link>
        <pubDate>Mon, 01 Dec 2025 18:44:47 GMT</pubDate>
      </item>
<item>
        <guid>5fc1dddd-2338-463d-ba79-a50e980cc698</guid>
        <title>The stacking workflow</title>
        <description>https://www.stacking.dev/</description>
        <link>https://www.stacking.dev/</link>
        <pubDate>Mon, 10 Nov 2025 23:31:21 GMT</pubDate>
      </item>
<item>
        <guid>99c65a3d-1421-4e56-b2a4-3a465d0688b1</guid>
        <title>Composition Is All You Need by Fernando Rojo at React Universe Conf 2025</title>
        <description>https://www.youtube.com/watch?v=4KvbVq3Eg5w</description>
        <link>https://www.youtube.com/watch?v=4KvbVq3Eg5w</link>
        <pubDate>Wed, 05 Nov 2025 06:35:12 GMT</pubDate>
      </item>
<item>
        <guid>4d6cc437-7104-41f1-95db-0a12c08e449b</guid>
        <title>Tips for good UI implementation</title>
        <description>https://jasonlbeggs.com/blog/tips-for-good-ui-implementation</description>
        <link>https://jasonlbeggs.com/blog/tips-for-good-ui-implementation</link>
        <pubDate>Tue, 28 Oct 2025 05:37:37 GMT</pubDate>
      </item>
<item>
        <guid>d7480bad-f5af-428f-9fa9-8accbae23de6</guid>
        <title>Dedupe Server Calls with Remix Utils Batcher</title>
        <description>Prevent duplicate API calls in React Router loaders using Remix Utils Batcher middleware for better performance.</description>
        <link>https://r3.sergiodxa.com/tutorials/dedupe-server-calls-with-remix-utils-batcher</link>
        <pubDate>Sun, 19 Oct 2025 07:14:18 GMT</pubDate>
      </item>
<item>
        <guid>9c80a2de-da65-450b-865c-8b041c20398e</guid>
        <title>Transform FormData Between UI and Database in React Router</title>
        <description>Transform form data to database objects and back using actions and loaders with proper separation of concerns.</description>
        <link>https://r3.sergiodxa.com/tutorials/transform-formdata-between-ui-and-database-in-react-router</link>
        <pubDate>Wed, 15 Oct 2025 04:58:31 GMT</pubDate>
      </item>
<item>
        <guid>dadcc5b8-95a3-4ea6-a97c-572ff36d3a8c</guid>
        <title>The Perils of Reactivity</title>
        <description>https://outbox.matthewphillips.info/archive/perils-of-reactivity</description>
        <link>https://outbox.matthewphillips.info/archive/perils-of-reactivity</link>
        <pubDate>Sat, 11 Oct 2025 02:42:34 GMT</pubDate>
      </item>
<item>
        <guid>34ef2cba-6787-417d-bbcb-f8f65fe6fe20</guid>
        <title>How Architecture Patterns Shape Development</title>
        <description>Understanding MVC, MVT, MVVM, and Component architectures through responsibility separation and data flow in modern web applications.</description>
        <link>https://r3.sergiodxa.com/articles/how-architecture-patterns-shape-development</link>
        <pubDate>Sat, 04 Oct 2025 05:26:12 GMT</pubDate>
      </item>
<item>
        <guid>5e485164-47ab-4f0e-abca-2854ab676173</guid>
        <title>Build a Master-Detail UI with React Router</title>
        <description>Create a master-detail interface that adapts based on how users access it, full context when browsing, focused when direct.</description>
        <link>https://r3.sergiodxa.com/tutorials/build-a-master-detail-ui-with-react-router</link>
        <pubDate>Fri, 03 Oct 2025 06:42:21 GMT</pubDate>
      </item>
<item>
        <guid>c61faf82-33cc-4bd5-84e0-073d31655693</guid>
        <title>Leverage React Router's Built-in Data Deduplication</title>
        <description>Learn how React Router's built-in deduplication system uses references to eliminate duplicate data transmission when combining promises in y</description>
        <link>https://r3.sergiodxa.com/tutorials/leverage-react-router-s-built-in-data-deduplication</link>
        <pubDate>Thu, 25 Sep 2025 06:08:18 GMT</pubDate>
      </item>
<item>
        <guid>fa8ddf04-b741-454a-a41d-7e132d2af657</guid>
        <title>No, you don't want to hire "the best engineers'</title>
        <description>https://www.otherbranch.com/shared/blog/no-you-dont-want-to-hire-the-best-engineers</description>
        <link>https://www.otherbranch.com/shared/blog/no-you-dont-want-to-hire-the-best-engineers</link>
        <pubDate>Thu, 25 Sep 2025 05:29:42 GMT</pubDate>
      </item>
<item>
        <guid>750e1e1d-f479-4b30-9361-a140f6bb3315</guid>
        <title>Redirect Based on Screen Size in React Router</title>
        <description>Learn how to use a nested index route with a clientLoader in React Router to conditionally redirect based on screen size, ensuring a smooth </description>
        <link>https://r3.sergiodxa.com/tutorials/redirect-based-on-screen-size-in-react-router</link>
        <pubDate>Wed, 13 Aug 2025 08:18:55 GMT</pubDate>
      </item>
<item>
        <guid>457074e9-3258-496d-afdc-f6826b8ac1b9</guid>
        <title>Avoid Waterfalls in React Suspense</title>
        <description>Learn how React Suspense boundaries can cause or prevent data loading waterfalls, the difference between nested and sibling boundaries, and </description>
        <link>https://r3.sergiodxa.com/tutorials/avoid-waterfalls-in-react-suspense</link>
        <pubDate>Tue, 12 Aug 2025 14:33:41 GMT</pubDate>
      </item>
<item>
        <guid>2f52ceb1-381d-41ef-9ee3-63446f0a638f</guid>
        <title>Handle deferred data in React Router</title>
        <description>Three approaches to handle deferred promises in React Router v7: Await component, React.use hook, and direct promise rendering.</description>
        <link>https://r3.sergiodxa.com/tutorials/handle-deferred-data-in-react-router</link>
        <pubDate>Thu, 31 Jul 2025 20:00:25 GMT</pubDate>
      </item>
<item>
        <guid>07c9acf9-aa8d-4300-a231-948963553120</guid>
        <title>Use Action Routes in React Router</title>
        <description>Learn how to structure server and client actions in React Router using a clear and scalable pattern. Centralize logic, handle forms, manage </description>
        <link>https://r3.sergiodxa.com/tutorials/use-action-routes-in-react-router</link>
        <pubDate>Sun, 20 Jul 2025 07:04:15 GMT</pubDate>
      </item>
<item>
        <guid>f789f76c-82d1-4ad6-8dff-c04ade0d9f08</guid>
        <title>Prefer Gaps To Margins</title>
        <description>https://kyleshevlin.com/prefer-gaps-to-margins/</description>
        <link>https://kyleshevlin.com/prefer-gaps-to-margins/</link>
        <pubDate>Wed, 25 Jun 2025 21:07:19 GMT</pubDate>
      </item>
<item>
        <guid>40cbbfdb-ecab-4499-b365-0d9c0748828c</guid>
        <title>Syntax Highlighting code snippets with Prism and the Custom Highlight API</title>
        <description>https://www.bram.us/2024/02/18/custom-highlight-api-for-syntax-highlighting/</description>
        <link>https://www.bram.us/2024/02/18/custom-highlight-api-for-syntax-highlighting/</link>
        <pubDate>Fri, 20 Jun 2025 20:28:22 GMT</pubDate>
      </item>
<item>
        <guid>22d490ef-23d7-40a5-9b21-210a5a9c1cf6</guid>
        <title>Resilient Import Maps - Better Theme Development and Beyond</title>
        <description>https://shopify.engineering/resilient-import-maps</description>
        <link>https://shopify.engineering/resilient-import-maps</link>
        <pubDate>Tue, 03 Jun 2025 05:56:11 GMT</pubDate>
      </item>
<item>
        <guid>5cffba43-1927-4dc7-87ba-681c17183c27</guid>
        <title>Toasts are Bad UX</title>
        <description>https://maxschmitt.me/posts/toasts-bad-ux</description>
        <link>https://maxschmitt.me/posts/toasts-bad-ux</link>
        <pubDate>Thu, 22 May 2025 23:15:45 GMT</pubDate>
      </item>
<item>
        <guid>42c1accd-e6a9-401f-9c7f-3c7f7526ce5d</guid>
        <title>The XY Problem</title>
        <description>https://xyproblem.info/</description>
        <link>https://xyproblem.info/</link>
        <pubDate>Sun, 18 May 2025 17:46:46 GMT</pubDate>
      </item>
<item>
        <guid>5f00fdc2-9c97-4f34-857b-485470b834cd</guid>
        <title>Don't ask to ask, just ask</title>
        <description>https://dontasktoask.com/</description>
        <link>https://dontasktoask.com/</link>
        <pubDate>Sun, 18 May 2025 17:46:41 GMT</pubDate>
      </item>
<item>
        <guid>a93c0250-4b10-4199-a49d-2acb7e64f977</guid>
        <title>no
          hello</title>
        <description>https://nohello.net/en/</description>
        <link>https://nohello.net/en/</link>
        <pubDate>Sun, 18 May 2025 17:46:36 GMT</pubDate>
      </item>
<item>
        <guid>626d8d44-ad18-4b66-89de-414e9aa7c754</guid>
        <title>never just</title>
        <description>https://www.neverjust.net/</description>
        <link>https://www.neverjust.net/</link>
        <pubDate>Sun, 18 May 2025 17:46:26 GMT</pubDate>
      </item>
<item>
        <guid>18e4b638-17e7-42e5-81aa-08789e59e647</guid>
        <title>Add a Color Scheme Toggle in React Router</title>
        <description>Add a color scheme toggle to your React Router app using cookies for persistent, flash-free light, dark, or system preference.</description>
        <link>https://r3.sergiodxa.com/tutorials/add-a-color-scheme-toggle-in-react-router</link>
        <pubDate>Wed, 07 May 2025 05:55:43 GMT</pubDate>
      </item>
<item>
        <guid>e908770c-2670-414b-b47a-25eb482fff30</guid>
        <title>JSX Over The Wire</title>
        <description>https://overreacted.io/jsx-over-the-wire/</description>
        <link>https://overreacted.io/jsx-over-the-wire/</link>
        <pubDate>Sun, 20 Apr 2025 04:42:19 GMT</pubDate>
      </item>
<item>
        <guid>27aeedce-c3bd-4e7c-aa0f-19f4f77a590e</guid>
        <title>The Back-end for Front-end Pattern (BFF)</title>
        <description>https://philcalcado.com/2015/09/18/the_back_end_for_front_end_pattern_bff.html</description>
        <link>https://philcalcado.com/2015/09/18/the_back_end_for_front_end_pattern_bff.html</link>
        <pubDate>Mon, 14 Apr 2025 16:42:12 GMT</pubDate>
      </item>
<item>
        <guid>e8f59d6d-3e4c-4f9a-8832-5d1b817bef1c</guid>
        <title>Debounce Loaders and Actions in React Router</title>
        <description>Debounce loaders and actions in React Router at the route level—cleaner code, better control, no extra wrappers needed.</description>
        <link>https://r3.sergiodxa.com/tutorials/debounce-loaders-and-actions-in-react-router</link>
        <pubDate>Mon, 14 Apr 2025 04:58:58 GMT</pubDate>
      </item>
<item>
        <guid>508b80da-7fc6-4e9a-8227-cbb5ce9efae7</guid>
        <title>Use client_id and client_secret in OAuth2</title>
        <description>Use client_id and client_secret to authenticate your app with the Authorization Server in OAuth2 flows.</description>
        <link>https://r3.sergiodxa.com/tutorials/use-client_id-and-client_secret-in-oauth2</link>
        <pubDate>Sat, 05 Apr 2025 00:17:43 GMT</pubDate>
      </item>
<item>
        <guid>7ee0a528-76bc-4f6e-a598-a91c41f367a3</guid>
        <title>Use the OAuth2 Introspection Endpoint</title>
        <description>Learn how to use the introspection endpoint in OAuth2 to validate opaque tokens and extract user and scope information.</description>
        <link>https://r3.sergiodxa.com/tutorials/use-the-oauth2-introspection-endpoint</link>
        <pubDate>Wed, 02 Apr 2025 19:03:39 GMT</pubDate>
      </item>
<item>
        <guid>6f77eef4-2392-453b-a905-db69db68778b</guid>
        <title>Revoke a Refresh Token in OAuth2</title>
        <description>Learn how to securely revoke refresh tokens in OAuth2 and prevent unauthorized access after logout or token compromise.</description>
        <link>https://r3.sergiodxa.com/tutorials/revoke-a-refresh-token-in-oauth2</link>
        <pubDate>Tue, 01 Apr 2025 00:02:49 GMT</pubDate>
      </item>
<item>
        <guid>f67c8826-d769-4e5b-95e1-b4069afe89e3</guid>
        <title>Use PKCE in OAuth2 Authorization Code Flow</title>
        <description>Learn how to securely implement PKCE in the OAuth2 Authorization Code flow and why it’s useful for public and server-rendered apps.</description>
        <link>https://r3.sergiodxa.com/tutorials/use-pkce-in-oauth2-authorization-code-flow</link>
        <pubDate>Wed, 26 Mar 2025 03:26:52 GMT</pubDate>
      </item>
<item>
        <guid>ca633663-962e-47ae-9fdf-152194dbb194</guid>
        <title>Add Custom Claims to JWT Access Tokens</title>
        <description>Learn how to add custom claims to JWT access tokens in OAuth2 without exposing sensitive data.</description>
        <link>https://r3.sergiodxa.com/tutorials/add-custom-claims-to-jwt-access-tokens</link>
        <pubDate>Tue, 25 Mar 2025 18:03:05 GMT</pubDate>
      </item>
<item>
        <guid>8ab1f14d-94ee-4f6c-bcd7-19fa61826718</guid>
        <title>Validate exp, iat, and nbf in JWTs</title>
        <description>Learn how to validate exp, iat, and nbf claims in JWT access tokens to ensure your API only accepts valid tokens.</description>
        <link>https://r3.sergiodxa.com/tutorials/validate-exp-iat-and-nbf-in-jwts</link>
        <pubDate>Tue, 25 Mar 2025 06:27:23 GMT</pubDate>
      </item>
<item>
        <guid>a05ef2f1-7987-48d9-8e32-7c21083b42b5</guid>
        <title>Use `scope` to Authorize Actions in Your API</title>
        <description>Learn how to use the scope claim in OAuth2 access tokens to authorize actions in your API with fine-grained permissions.</description>
        <link>https://r3.sergiodxa.com/tutorials/use-scope-to-authorize-actions-in-your-api</link>
        <pubDate>Mon, 24 Mar 2025 04:52:09 GMT</pubDate>
      </item>
<item>
        <guid>2940b4ab-916d-4c52-8727-905c20754a44</guid>
        <title>Validate JWTs with JWKS</title>
        <description>Learn how to verify JWT access tokens securely using JWKS, without hitting your Authorization Server on every request.</description>
        <link>https://r3.sergiodxa.com/tutorials/validate-jwts-with-jwks</link>
        <pubDate>Mon, 24 Mar 2025 04:39:27 GMT</pubDate>
      </item>
<item>
        <guid>9befdbcc-ee15-4c40-b974-92c75455b9c4</guid>
        <title>OAuth2 Access Token Claims Explained</title>
        <description>JWTs used as OAuth2 access tokens contain claims that define identity, security, and permissions. Learn how to use and validate them.</description>
        <link>https://r3.sergiodxa.com/articles/oauth2-access-token-claims-explained</link>
        <pubDate>Wed, 19 Mar 2025 23:30:58 GMT</pubDate>
      </item>
<item>
        <guid>cd5f4ca4-c7d5-4ea5-beee-aacecaa1a293</guid>
        <title>OAuth2 Scopes Explained</title>
        <description>OAuth2 scopes define what an app can do with your data. Learn how they work, best practices, and how to enforce them in your API.</description>
        <link>https://r3.sergiodxa.com/articles/oauth2-scopes-explained</link>
        <pubDate>Thu, 13 Mar 2025 21:47:20 GMT</pubDate>
      </item>
<item>
        <guid>7f14ac20-45fa-4a97-91cd-704da084b609</guid>
        <title>Create a Per-Request Singleton with React Router Middleware</title>
        <description>Create a per-request singleton in React Router middleware to optimize request-based caching and batching without persistent global state.</description>
        <link>https://r3.sergiodxa.com/tutorials/create-a-per-request-singleton-with-react-router-middleware</link>
        <pubDate>Tue, 11 Mar 2025 05:34:35 GMT</pubDate>
      </item>
<item>
        <guid>d88bf449-bcad-4bc0-b7df-cdcd193cda36</guid>
        <title>Test Middleware in React Router</title>
        <description>Learn how to test React Router middleware using Bun Test, mock requests, and validate session handling in just a few simple steps.</description>
        <link>https://r3.sergiodxa.com/tutorials/test-middleware-in-react-router</link>
        <pubDate>Mon, 10 Mar 2025 19:17:05 GMT</pubDate>
      </item>
<item>
        <guid>db36f48a-2eaa-479f-9402-aa67c583abd6</guid>
        <title>OAuth2 Tokens Explained</title>
        <description>OAuth2 uses Access, Refresh, and ID Tokens, each with a distinct role. Learn how they work and how to store them securely.</description>
        <link>https://r3.sergiodxa.com/articles/oauth2-tokens-explained</link>
        <pubDate>Mon, 10 Mar 2025 15:13:42 GMT</pubDate>
      </item>
<item>
        <guid>78fbbb7b-265e-4cfa-8138-05bc2311a9aa</guid>
        <title>OAuth2 Audience Explained</title>
        <description>The OAuth2 audience (aud) claim ensures tokens are used only by the right APIs. Learn how it works and why it matters.</description>
        <link>https://r3.sergiodxa.com/articles/oauth2-audience-explained</link>
        <pubDate>Mon, 10 Mar 2025 04:09:54 GMT</pubDate>
      </item>
<item>
        <guid>bb4bd500-020d-44d8-93a9-6a58f8dab8d0</guid>
        <title>JWT vs. Opaque Tokens</title>
        <description>JWTs offer fast, stateless authentication, while opaque tokens provide better revocation control. Which one should you use?</description>
        <link>https://r3.sergiodxa.com/articles/jwt-vs-opaque-tokens</link>
        <pubDate>Sun, 09 Mar 2025 23:23:40 GMT</pubDate>
      </item>
<item>
        <guid>98276c3c-88d8-4d76-8796-0ca9ee04509c</guid>
        <title>Use middleware in React Router</title>
        <description>Enable middleware in React Router 7.3.0 to intercept requests and enhance loaders and actions on both server and client.</description>
        <link>https://r3.sergiodxa.com/tutorials/use-middleware-in-react-router</link>
        <pubDate>Sat, 08 Mar 2025 07:43:41 GMT</pubDate>
      </item>
<item>
        <guid>efdb0196-6815-45ef-a6c3-25bbcfc9633f</guid>
        <title>Maybe don't navigate(-1) in Remix/React Router</title>
        <description>https://programmingarehard.com/2025/01/13/maybe-dont-navigate-1.html/</description>
        <link>https://programmingarehard.com/2025/01/13/maybe-dont-navigate-1.html/</link>
        <pubDate>Wed, 05 Mar 2025 18:37:55 GMT</pubDate>
      </item>
<item>
        <guid>a4d23a27-67f1-4239-ab58-230a9b9f9bf2</guid>
        <title>OAuth2 for Backend-for-Frontend</title>
        <description>Securely handle OAuth2 in a Backend-for-Frontend (BFF) with React Router, keeping tokens off the frontend for better security</description>
        <link>https://r3.sergiodxa.com/articles/oauth2-for-backend-for-frontend</link>
        <pubDate>Tue, 04 Mar 2025 23:51:25 GMT</pubDate>
      </item>
<item>
        <guid>98020084-853d-4c2e-ab01-062e36cc6b7a</guid>
        <title>Show a 404 in React Router</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/create-show-a-404-in-react-router</link>
        <pubDate>Sun, 02 Mar 2025 10:11:07 GMT</pubDate>
      </item>
<item>
        <guid>07c042c4-2577-4623-b6a0-79237ee42c6a</guid>
        <title>Class methods are Ruby’s useEffect</title>
        <description>https://www.campsite.com/blog/class-methods-are-rubys-useeffect</description>
        <link>https://www.campsite.com/blog/class-methods-are-rubys-useeffect</link>
        <pubDate>Fri, 28 Feb 2025 05:36:42 GMT</pubDate>
      </item>
<item>
        <guid>5119dcc7-28eb-4590-abfc-22313458da0f</guid>
        <title>What I learned at Campsite</title>
        <description>https://danphilibin.com/what-i-learned-at-campsite</description>
        <link>https://danphilibin.com/what-i-learned-at-campsite</link>
        <pubDate>Fri, 28 Feb 2025 04:37:14 GMT</pubDate>
      </item>
<item>
        <guid>096ea2b9-47ba-4989-8ab0-96f6989f29cc</guid>
        <title>Throwing vs. Returning Redirects in React Router</title>
        <description>Throwing vs. returning redirects in React Router: understand when to use each, how they work, and how to handle them properly</description>
        <link>https://r3.sergiodxa.com/articles/throwing-vs-returning-redirects-in-react-router</link>
        <pubDate>Tue, 25 Feb 2025 05:10:12 GMT</pubDate>
      </item>
<item>
        <guid>d354a607-7508-4da7-920d-1e255db6608f</guid>
        <title>Download a file from a React Router route</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/download-a-file-from-a-react-router-route</link>
        <pubDate>Mon, 24 Feb 2025 06:15:30 GMT</pubDate>
      </item>
<item>
        <guid>ae68ab6b-a94e-4fe9-96f8-625f0b07fb8b</guid>
        <title>How I Stay Sane Implementing Stripe</title>
        <description>https://github.com/t3dotgg/stripe-recommendations</description>
        <link>https://github.com/t3dotgg/stripe-recommendations</link>
        <pubDate>Mon, 24 Feb 2025 05:08:30 GMT</pubDate>
      </item>
<item>
        <guid>e0b52f6e-62f5-46f1-972b-2baefd916c96</guid>
        <title>Where to put concernsImprove readabilityEnhance, but not replace, rich object modelsConclusions</title>
        <description>https://world.hey.com/jorge/code-i-like-iii-good-concerns-5a1b391c</description>
        <link>https://world.hey.com/jorge/code-i-like-iii-good-concerns-5a1b391c</link>
        <pubDate>Mon, 24 Feb 2025 05:07:30 GMT</pubDate>
      </item>
<item>
        <guid>8a9ce622-7079-4611-8c29-19caee770570</guid>
        <title>Domain driven boldness</title>
        <description>https://dev.37signals.com/domain-driven-boldness/</description>
        <link>https://dev.37signals.com/domain-driven-boldness/</link>
        <pubDate>Mon, 24 Feb 2025 05:05:53 GMT</pubDate>
      </item>
<item>
        <guid>48863e2c-b70f-4791-9afc-852773fa94cd</guid>
        <title>Good concerns</title>
        <description>https://dev.37signals.com/good-concerns/</description>
        <link>https://dev.37signals.com/good-concerns/</link>
        <pubDate>Mon, 24 Feb 2025 05:05:44 GMT</pubDate>
      </item>
<item>
        <guid>3ddc343c-af2b-4081-91d7-2dcfdef23ded</guid>
        <title>Vanilla Rails is plenty</title>
        <description>https://dev.37signals.com/vanilla-rails-is-plenty/</description>
        <link>https://dev.37signals.com/vanilla-rails-is-plenty/</link>
        <pubDate>Mon, 24 Feb 2025 05:05:30 GMT</pubDate>
      </item>
<item>
        <guid>bd4c9c72-4290-41c6-8573-5f6ea83fc873</guid>
        <title>Active Record, nice and blended</title>
        <description>https://dev.37signals.com/active-record-nice-and-blended/</description>
        <link>https://dev.37signals.com/active-record-nice-and-blended/</link>
        <pubDate>Mon, 24 Feb 2025 05:05:25 GMT</pubDate>
      </item>
<item>
        <guid>b4f7828d-0c49-453d-a179-daf4c5ed12ef</guid>
        <title>Globals, callbacks and other sacrileges</title>
        <description>https://dev.37signals.com/globals-callbacks-and-other-sacrileges/</description>
        <link>https://dev.37signals.com/globals-callbacks-and-other-sacrileges/</link>
        <pubDate>Mon, 24 Feb 2025 05:05:19 GMT</pubDate>
      </item>
<item>
        <guid>6dc822e5-00b7-42a9-882a-4a41ca964a46</guid>
        <title>Use Bullet to Detect N+1 Queries in Rails</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/use-bullet-to-detect-n-1-queries-in-rails</link>
        <pubDate>Sat, 08 Feb 2025 22:30:12 GMT</pubDate>
      </item>
<item>
        <guid>2ba97a47-eca3-4b6c-97af-3d0c4aeb4879</guid>
        <title>Use Pandoc to convert a Markdown to a PDF and ePUB</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/use-pandoc-to-convert-a-markdown-to-a-pdf-and-epub</link>
        <pubDate>Fri, 07 Feb 2025 19:32:44 GMT</pubDate>
      </item>
<item>
        <guid>abc90f14-05f3-4e52-b80e-faf5a74580b0</guid>
        <title>Load Dynamic Stylesheets in React Router</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/load-dynamic-stylesheets-in-react-router</link>
        <pubDate>Mon, 03 Feb 2025 05:02:01 GMT</pubDate>
      </item>
<item>
        <guid>f3d21883-eb38-4490-973e-c2011b95941c</guid>
        <title>Split routes config in React Router</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/split-routes-config-in-react-router</link>
        <pubDate>Wed, 15 Jan 2025 05:36:05 GMT</pubDate>
      </item>
<item>
        <guid>2a79aedb-2237-4452-b364-71ba71dfa34e</guid>
        <title> Configure the tracking branch in Git</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/configure-the-tracking-branch-in-git</link>
        <pubDate>Tue, 14 Jan 2025 22:45:32 GMT</pubDate>
      </item>
<item>
        <guid>d666931c-b537-4722-8697-2ea9826c6275</guid>
        <title>Reuse route modules in React Router</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/reuse-route-modules-in-react-router</link>
        <pubDate>Mon, 13 Jan 2025 18:12:37 GMT</pubDate>
      </item>
<item>
        <guid>e5792f3e-3168-4f14-93d9-5bfc3a4b64fe</guid>
        <title>Stop just using “Frontend” or “Backend” to describe the Engineering you like</title>
        <description>https://michellelim.dev/writing/stop-using-frontend-backend/</description>
        <link>https://michellelim.dev/writing/stop-using-frontend-backend/</link>
        <pubDate>Fri, 03 Jan 2025 20:27:48 GMT</pubDate>
      </item>
<item>
        <guid>5e44620f-860b-4904-b382-08ea94d2637d</guid>
        <title>Populate Your Rails Database with Fixtures</title>
        <description>Learn how to populate your Rails database with fixtures for testing and development.</description>
        <link>https://r3.sergiodxa.com/tutorials/populate-your-rails-database-with-fixtures</link>
        <pubDate>Wed, 18 Dec 2024 21:03:28 GMT</pubDate>
      </item>
<item>
        <guid>a6fbe68d-b027-4dbd-b197-9ecdb6beffd1</guid>
        <title>You Can't Not Have a Framework</title>
        <description>https://ryanflorence.com/blog/you-cant-not-have-a-framework.html</description>
        <link>https://ryanflorence.com/blog/you-cant-not-have-a-framework.html</link>
        <pubDate>Fri, 13 Dec 2024 21:19:40 GMT</pubDate>
      </item>
<item>
        <guid>1b42731b-c28c-49e3-941e-a76521fa1b7a</guid>
        <title>This doesn't warrant a blog post</title>
        <description>https://aaronfrancis.com/2024/this-doesnt-warrant-a-blog-post-40142b06</description>
        <link>https://aaronfrancis.com/2024/this-doesnt-warrant-a-blog-post-40142b06</link>
        <pubDate>Wed, 27 Nov 2024 04:23:38 GMT</pubDate>
      </item>
<item>
        <guid>9da892e7-5f8b-48a6-8b13-31dd3942b85f</guid>
        <title>Because I wanted to</title>
        <description>https://aaronfrancis.com/2024/because-i-wanted-to-12c5137c</description>
        <link>https://aaronfrancis.com/2024/because-i-wanted-to-12c5137c</link>
        <pubDate>Mon, 18 Nov 2024 17:48:44 GMT</pubDate>
      </item>
<item>
        <guid>3c2adc2d-2d32-40f9-ae79-ecb5e6b28994</guid>
        <title>Making Web Component good enough</title>
        <description>https://r3.sergiodxa.com/articles/making-web-component-good-enough</description>
        <link>https://r3.sergiodxa.com/articles/making-web-component-good-enough</link>
        <pubDate>Mon, 30 Sep 2024 23:44:50 GMT</pubDate>
      </item>
<item>
        <guid>801de533-b018-40df-be71-0ec8e917a270</guid>
        <title>Layered Architectures with Laravel</title>
        <description>https://martinjoo.dev/layered-architectures-with-laravel</description>
        <link>https://martinjoo.dev/layered-architectures-with-laravel</link>
        <pubDate>Fri, 27 Sep 2024 01:43:22 GMT</pubDate>
      </item>
<item>
        <guid>5b2fb6d4-f2d5-41d5-ba74-346eafe96acc</guid>
        <title>Don't Sleep on AbortController</title>
        <description>https://kettanaito.com/blog/dont-sleep-on-abort-controller</description>
        <link>https://kettanaito.com/blog/dont-sleep-on-abort-controller</link>
        <pubDate>Wed, 18 Sep 2024 13:57:07 GMT</pubDate>
      </item>
<item>
        <guid>918bf794-28a9-4a51-bd8f-2a854f149643</guid>
        <title>Stub a method in a class with Minitest</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/stub-a-method-in-a-class-with-minitest</link>
        <pubDate>Mon, 02 Sep 2024 17:49:10 GMT</pubDate>
      </item>
<item>
        <guid>5da63444-0dea-465b-b486-0ad18bd0799b</guid>
        <title>Show toast after a Remix action</title>
        <description>Learn to display a toast notification after a Remix action by utilizing the clientAction function to ensure consistent user feedback.</description>
        <link>https://r3.sergiodxa.com/tutorials/show-toast-after-a-remix-action</link>
        <pubDate>Fri, 30 Aug 2024 07:39:08 GMT</pubDate>
      </item>
<item>
        <guid>52ec08d9-7578-490d-b8ae-15d7e992edff</guid>
        <title>Building a Proper REST API</title>
        <description>https://alexkondov.com/full-stack-tao-proper-rest-api/</description>
        <link>https://alexkondov.com/full-stack-tao-proper-rest-api/</link>
        <pubDate>Wed, 14 Aug 2024 18:54:04 GMT</pubDate>
      </item>
<item>
        <guid>5f5856f0-062f-4c53-a828-d8fcc376296f</guid>
        <title>How I would do auth</title>
        <description>https://pilcrowonpaper.com/blog/how-i-would-do-auth/</description>
        <link>https://pilcrowonpaper.com/blog/how-i-would-do-auth/</link>
        <pubDate>Sun, 14 Jul 2024 09:34:37 GMT</pubDate>
      </item>
<item>
        <guid>6a97f238-4d90-402e-941e-965bf090b082</guid>
        <title>Simplify Component Imports with TypeScript Namespaces</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/simplify-component-imports-with-typescript-namespaces</link>
        <pubDate>Wed, 10 Jul 2024 21:34:33 GMT</pubDate>
      </item>
<item>
        <guid>932d844f-ca8a-4070-a1ef-de427fa5d80f</guid>
        <title>Card Stack</title>
        <description>https://www.abjt.dev/lab/card-stack</description>
        <link>https://www.abjt.dev/lab/card-stack</link>
        <pubDate>Tue, 02 Jul 2024 23:36:58 GMT</pubDate>
      </item>
<item>
        <guid>b1d08cb2-ad5e-47c1-89d1-a4cc409faa2d</guid>
        <title>Counterscale and the New Self-Hosted</title>
        <description>https://benv.ca/blog/posts/counterscale-and-the-new-self-hosted</description>
        <link>https://benv.ca/blog/posts/counterscale-and-the-new-self-hosted</link>
        <pubDate>Thu, 27 Jun 2024 03:45:18 GMT</pubDate>
      </item>
<item>
        <guid>5b209b9a-31bb-4980-9584-cfd6fd26e8cd</guid>
        <title>On Frontend vs Backend</title>
        <description>https://r3.sergiodxa.com/articles/on-frontend-vs-backend</description>
        <link>https://r3.sergiodxa.com/articles/on-frontend-vs-backend</link>
        <pubDate>Wed, 19 Jun 2024 09:06:58 GMT</pubDate>
      </item>
<item>
        <guid>afc5b33c-e68e-4328-bc1d-c254d85d2468</guid>
        <title>Validate Form in Remix with clientAction</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/validate-form-in-remix-with-clientaction</link>
        <pubDate>Tue, 18 Jun 2024 06:26:14 GMT</pubDate>
      </item>
<item>
        <guid>2fbdeaf2-e390-4dc9-88fe-4d6134eabaa7</guid>
        <title>Generate Cloudflare environment type with wrangler</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/generate-cloudflare-environment-type-with-wrangler</link>
        <pubDate>Tue, 18 Jun 2024 06:10:40 GMT</pubDate>
      </item>
<item>
        <guid>587c21fe-d16e-4d10-9d1b-83a6eb6b5aae</guid>
        <title>Configure scoped private packages in Bun</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/configure-scoped-private-packages-in-bun</link>
        <pubDate>Tue, 18 Jun 2024 06:05:06 GMT</pubDate>
      </item>
<item>
        <guid>ce0b8141-0ea8-46b3-8a1d-9cc5ddc7aba9</guid>
        <title>When to use Route Modal in React Router</title>
        <description>https://r3.sergiodxa.com/articles/when-to-use-route-modal-in-react-router</description>
        <link>https://r3.sergiodxa.com/articles/when-to-use-route-modal-in-react-router</link>
        <pubDate>Sun, 16 Jun 2024 06:30:40 GMT</pubDate>
      </item>
<item>
        <guid>152965e5-84da-4f69-852d-f445a7b353fc</guid>
        <title>Deconstructing the Monolith: Designing Software that Maximizes Developer Productivity</title>
        <description>https://shopify.engineering/deconstructing-monolith-designing-software-maximizes-developer-productivity</description>
        <link>https://shopify.engineering/deconstructing-monolith-designing-software-maximizes-developer-productivity</link>
        <pubDate>Wed, 05 Jun 2024 06:32:20 GMT</pubDate>
      </item>
<item>
        <guid>d1311895-76f5-4e05-9115-7b4518c253b4</guid>
        <title>Ultimate guide to multi-tenant SaaS data modeling</title>
        <description>https://www.flightcontrol.dev/blog/ultimate-guide-to-multi-tenant-saas-data-modeling</description>
        <link>https://www.flightcontrol.dev/blog/ultimate-guide-to-multi-tenant-saas-data-modeling</link>
        <pubDate>Thu, 30 May 2024 23:34:27 GMT</pubDate>
      </item>
<item>
        <guid>8818f50a-d5e0-493b-a03a-52c07c1a731b</guid>
        <title>Migrating from Radix to React Aria: Improving Accessibility and UX</title>
        <description>https://argos-ci.com/blog/react-aria-migration</description>
        <link>https://argos-ci.com/blog/react-aria-migration</link>
        <pubDate>Wed, 29 May 2024 02:57:16 GMT</pubDate>
      </item>
<item>
        <guid>8a89fb89-90df-4655-aa64-8af398e8965f</guid>
        <title>Creating a pointer-friendly submenu experience</title>
        <description>https://react-spectrum.adobe.com/blog/creating-a-pointer-friendly-submenu-experience.html</description>
        <link>https://react-spectrum.adobe.com/blog/creating-a-pointer-friendly-submenu-experience.html</link>
        <pubDate>Fri, 03 May 2024 20:42:54 GMT</pubDate>
      </item>
<item>
        <guid>dcbe7bb9-6e86-4605-9dc3-0cfd1d03fc22</guid>
        <title>Building like it's 1984: A comprehensive guide to creating intuitive context menus</title>
        <description>https://height.app/blog/guide-to-build-context-menus</description>
        <link>https://height.app/blog/guide-to-build-context-menus</link>
        <pubDate>Fri, 03 May 2024 19:31:43 GMT</pubDate>
      </item>
<item>
        <guid>ea51b003-dde7-411a-9e17-e09bfca90dc0</guid>
        <title>Building future facing frontend architectures</title>
        <description>https://frontendmastery.com/posts/building-future-facing-frontend-architectures/</description>
        <link>https://frontendmastery.com/posts/building-future-facing-frontend-architectures/</link>
        <pubDate>Wed, 24 Apr 2024 22:52:58 GMT</pubDate>
      </item>
<item>
        <guid>8a160bd7-8911-458b-ab18-884b06720830</guid>
        <title>Navigating the future of frontend</title>
        <description>https://frontendmastery.com/posts/navigating-the-future-of-frontend/</description>
        <link>https://frontendmastery.com/posts/navigating-the-future-of-frontend/</link>
        <pubDate>Mon, 15 Apr 2024 23:44:43 GMT</pubDate>
      </item>
<item>
        <guid>fab5e004-f5ad-48ae-a648-91467fbdc9c3</guid>
        <title>Use package.json#bin to create a CLI</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/use-package-json-bin-to-create-a-cli</link>
        <pubDate>Tue, 26 Mar 2024 22:01:17 GMT</pubDate>
      </item>
<item>
        <guid>bcedb451-f2f9-45e8-bcc9-3a07a3e512b8</guid>
        <title>Margin considered harmful</title>
        <description>https://mxstbr.com/thoughts/margin/</description>
        <link>https://mxstbr.com/thoughts/margin/</link>
        <pubDate>Tue, 26 Mar 2024 15:17:50 GMT</pubDate>
      </item>
<item>
        <guid>62538ca7-04df-4f29-90f8-0a1182cdc42d</guid>
        <title>In Loving Memory of Square Checkbox</title>
        <description>https://tonsky.me/blog/checkbox/</description>
        <link>https://tonsky.me/blog/checkbox/</link>
        <pubDate>Mon, 18 Mar 2024 18:36:56 GMT</pubDate>
      </item>
<item>
        <guid>9e58a26a-9362-4036-a406-bb5b93a11a64</guid>
        <title>Access location.state in Remix loaders and actions</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/access-location-state-in-remix-loaders-and-actions</link>
        <pubDate>Wed, 13 Mar 2024 22:39:02 GMT</pubDate>
      </item>
<item>
        <guid>d4cbffc7-30ca-4975-984b-35a3dfa99efb</guid>
        <title>The Copenhagen Book</title>
        <description>https://thecopenhagenbook.com/</description>
        <link>https://thecopenhagenbook.com/</link>
        <pubDate>Sun, 10 Mar 2024 04:25:01 GMT</pubDate>
      </item>
<item>
        <guid>007b3c60-b01a-4f76-84b4-0880ed503c4f</guid>
        <title>Add i18n to a Remix Vite app</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/add-i18n-to-a-remix-vite-app</link>
        <pubDate>Fri, 08 Mar 2024 00:39:07 GMT</pubDate>
      </item>
<item>
        <guid>22da580d-2411-4049-aec4-9762fab35474</guid>
        <title>Documenting Architecture Decisions</title>
        <description>https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions</description>
        <link>https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions</link>
        <pubDate>Sat, 02 Mar 2024 07:40:30 GMT</pubDate>
      </item>
<item>
        <guid>e8bdf09b-769c-422e-8a3f-8cd062609b9e</guid>
        <title>Autoload the correct Node version with NVM</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/autoload-the-correct-node-version-with-nvm</link>
        <pubDate>Fri, 01 Mar 2024 17:12:49 GMT</pubDate>
      </item>
<item>
        <guid>bc2eb837-3536-4123-8996-5b730848b179</guid>
        <title>HDR (aka Hot Data Revalidation)</title>
        <description>A development-time compiler feature where the data used by an application is replaced at runtime without reloading the application and losing any in-memory state.</description>
        <link>https://r3.sergiodxa.com/glossary#hdr</link>
        <pubDate>Sat, 24 Feb 2024 22:39:38 GMT</pubDate>
      </item>
<item>
        <guid>e23b9caf-8664-4a59-baba-2a13d907834f</guid>
        <title>HMR (aka Hot Module Replacement)</title>
        <description>A development-time compiler feature where the code is replaced at runtime without reloading the application or server and losing any in-memory state.</description>
        <link>https://r3.sergiodxa.com/glossary#hmr</link>
        <pubDate>Sat, 24 Feb 2024 22:39:11 GMT</pubDate>
      </item>
<item>
        <guid>9bf4bfe2-ce67-4434-bfc7-cc685090d1c4</guid>
        <title>PPR (aka Partial Pre-Rendering)</title>
        <description>An application rendering strategy where SSG is used in combination with SSR to generate at build time the static parts of an HTML document and then use SSR to stream the dynamic parts at runtime.</description>
        <link>https://r3.sergiodxa.com/glossary#ppr</link>
        <pubDate>Sat, 24 Feb 2024 22:37:34 GMT</pubDate>
      </item>
<item>
        <guid>5a651351-acf5-469d-9477-24c6f189114e</guid>
        <title>ISR (aka Incremental Static Regeneration)</title>
        <description>An application rendering strategy where SSG is used combined with SSR to update or generate new static HTML files at runtime without re-building the application.</description>
        <link>https://r3.sergiodxa.com/glossary#isr</link>
        <pubDate>Sat, 24 Feb 2024 22:34:42 GMT</pubDate>
      </item>
<item>
        <guid>3b0f4555-145b-4e05-8511-92a53818c50d</guid>
        <title>SSG (aka Static Site Generation)</title>
        <description>An application rendering strategy where the server generates static HTML files at build time instead of runtime. Updating those static files require a new build of the application.</description>
        <link>https://r3.sergiodxa.com/glossary#ssg</link>
        <pubDate>Sat, 24 Feb 2024 22:32:58 GMT</pubDate>
      </item>
<item>
        <guid>35ef91f1-83ec-45eb-bd1c-1f87d646e8f4</guid>
        <title>PESPA (aka Progressively Enhanced Single-Page Application)</title>
        <description>A progressively enhanced SPA that uses SSR on document requests, and after JS loads start working as a SPA, while most if not all of the behavior can stil work before JS work.</description>
        <link>https://r3.sergiodxa.com/glossary#pespa</link>
        <pubDate>Sat, 24 Feb 2024 22:29:36 GMT</pubDate>
      </item>
<item>
        <guid>9ef4817e-1422-4290-8ffa-78d6119c7b8b</guid>
        <title>PEMPA (aka Progressively Enhanced Multi-Page Application)</title>
        <description>A progressively enhanced MPA that uses JS, general navigation happens like a MPA but in-page changes happens with or without JS to fetch more data as the user interact with the application.</description>
        <link>https://r3.sergiodxa.com/glossary#pempa</link>
        <pubDate>Sat, 24 Feb 2024 22:26:00 GMT</pubDate>
      </item>
<item>
        <guid>69ac35a3-3dc4-42d0-a63e-7e6fab9b26b7</guid>
        <title>Nest routes with dynamic params in Remix</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/nest-routes-with-dynamic-params-in-remix</link>
        <pubDate>Thu, 15 Feb 2024 16:52:53 GMT</pubDate>
      </item>
<item>
        <guid>9adefeaf-e0f9-4f23-bcd8-79237a2958d8</guid>
        <title>Build a simple login and logout with Remix</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/build-a-simple-login-and-logout-with-remix</link>
        <pubDate>Tue, 13 Feb 2024 05:57:59 GMT</pubDate>
      </item>
<item>
        <guid>78ea7328-6db4-47b2-b95d-55caad5dae21</guid>
        <title>Access React Router's loader data from a route ErrorBoundary</title>
        <description>Use useRouteLoaderData hook to access route loader data inside ErrorBoundary components when handling errors.</description>
        <link>https://r3.sergiodxa.com/tutorials/access-remix-s-loader-data-from-a-root-errorboundary</link>
        <pubDate>Tue, 13 Feb 2024 05:35:44 GMT</pubDate>
      </item>
<item>
        <guid>8dab3d0e-64ac-4990-9076-c821a8d9bcb7</guid>
        <title>Access React Router's Loaders Data in entry.client</title>
        <description>Access loader data from entry.client.tsx using the global window.__reactRouterContext object before hydrating your app.</description>
        <link>https://r3.sergiodxa.com/tutorials/access-remix-s-loaders-data-in-entry-client</link>
        <pubDate>Tue, 13 Feb 2024 05:25:07 GMT</pubDate>
      </item>
<item>
        <guid>0aabde7c-2d38-41bd-aaa3-361669b3660b</guid>
        <title>Handle not found URLs with Remix</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/handle-not-found-urls-with-remix</link>
        <pubDate>Sat, 10 Feb 2024 04:07:57 GMT</pubDate>
      </item>
<item>
        <guid>e1b23b7d-be27-47f5-98bd-c69350c52ea1</guid>
        <title>Persist the User Locale Using Cookies with React Router and i18next</title>
        <description>Store user language preferences in cookies to persist locale selections across sessions using middleware.</description>
        <link>https://r3.sergiodxa.com/tutorials/persist-the-user-locale-using-cookies-with-remix-i18next</link>
        <pubDate>Wed, 07 Feb 2024 17:16:37 GMT</pubDate>
      </item>
<item>
        <guid>99efe7cd-cc86-4b29-9e76-ebbc1006a23a</guid>
        <title>Add dynamic canonical URL to Remix routes</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/add-dynamic-canonical-url-to-remix-routes</link>
        <pubDate>Sun, 04 Feb 2024 05:38:01 GMT</pubDate>
      </item>
<item>
        <guid>da7913c2-2617-40ad-88c5-515853b0b1c4</guid>
        <title>Parallelized Decision Making</title>
        <description>https://arkwright.github.io/parallelized-decision-making.html</description>
        <link>https://arkwright.github.io/parallelized-decision-making.html</link>
        <pubDate>Sat, 03 Feb 2024 05:27:57 GMT</pubDate>
      </item>
<item>
        <guid>35803825-3636-41dc-9964-9b89cbba23e5</guid>
        <title>Add custom attributes to Markdoc code fences</title>
        <description>@markdoc/markdoc@0.4.0</description>
        <link>https://r3.sergiodxa.com/tutorials/add-custom-attributes-to-markdoc-code-fences</link>
        <pubDate>Sat, 03 Feb 2024 05:12:14 GMT</pubDate>
      </item>
<item>
        <guid>cc7241b9-6a86-44f3-816a-3b5d90831eb1</guid>
        <title>Enable Remix ~/ aliased imports in Vitest</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/enable-remix-aliased-imports-in-vitest</link>
        <pubDate>Fri, 02 Feb 2024 00:09:44 GMT</pubDate>
      </item>
<item>
        <guid>177f305e-f399-4bdb-8edc-808120474cd5</guid>
        <title>API (aka Application Programming Interface)</title>
        <description>Code interface used to interact with an application. It can go from a function in a library, a method in the runtime of the code to an HTTP based one using URLs and HTTP methods.</description>
        <link>https://r3.sergiodxa.com/glossary#api</link>
        <pubDate>Thu, 01 Feb 2024 18:54:06 GMT</pubDate>
      </item>
<item>
        <guid>56dc4168-133f-41e2-99bf-9f9675ca8520</guid>
        <title>MPA (aka Multi-Page Application)</title>
        <description>An application navigation strategy where the navigation between routes/views happens by requesting a new document from the server.</description>
        <link>https://r3.sergiodxa.com/glossary#mpa</link>
        <pubDate>Wed, 31 Jan 2024 22:16:18 GMT</pubDate>
      </item>
<item>
        <guid>59e67e60-4785-4afd-8c40-fb3f1015cf9d</guid>
        <title>SPA (aka Single-Page Application)</title>
        <description>An application navigation strategy where the navigation between routes/views of the application happens client-side without creating a new document request.</description>
        <link>https://r3.sergiodxa.com/glossary#spa</link>
        <pubDate>Wed, 31 Jan 2024 22:15:08 GMT</pubDate>
      </item>
<item>
        <guid>5c247b74-4238-4fd6-bc55-6e245d5f0bfe</guid>
        <title>CSR (aka Client-Side Rendering)</title>
        <description>An application rendering strategy where the rendering happens in a client, typically the browser, in the same process event listeners are attached to react to them and re-render the UI.</description>
        <link>https://r3.sergiodxa.com/glossary#csr</link>
        <pubDate>Wed, 31 Jan 2024 22:12:58 GMT</pubDate>
      </item>
<item>
        <guid>33b0a467-cd5c-4da2-a9f3-0471caa71aef</guid>
        <title>SSR (aka Server-Side Rendering)</title>
        <description>An application rendering strategy where the rendering happens in a server, typically at runtime when a new render is requested.</description>
        <link>https://r3.sergiodxa.com/glossary#ssr</link>
        <pubDate>Wed, 31 Jan 2024 22:12:48 GMT</pubDate>
      </item>
<item>
        <guid>837d5feb-8e54-48d4-b8ea-0e24d9fb9ca7</guid>
        <title>Add syntax highlight to Markdoc using Prism.js</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/add-syntax-highlight-to-markdoc-using-prism-js</link>
        <pubDate>Wed, 31 Jan 2024 00:08:25 GMT</pubDate>
      </item>
<item>
        <guid>eb261b13-e0f3-4396-ac12-60afe728a2f7</guid>
        <title>Create a CRUD with Remix</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/create-a-crud-with-remix</link>
        <pubDate>Thu, 25 Jan 2024 05:04:07 GMT</pubDate>
      </item>
<item>
        <guid>51a0c89b-35a4-45b0-b0c6-613173ff1307</guid>
        <title>I miss RSS</title>
        <description>https://www.learnwithjason.dev/blog/i-miss-rss/</description>
        <link>https://www.learnwithjason.dev/blog/i-miss-rss/</link>
        <pubDate>Tue, 23 Jan 2024 08:46:20 GMT</pubDate>
      </item>
<item>
        <guid>d77e092a-117f-4fe9-9926-0e7b8c7b09e5</guid>
        <title>RSC is React Server + Component | bobae kang</title>
        <description>https://bobaekang.com/blog/rsc-is-react-server-plus-component/</description>
        <link>https://bobaekang.com/blog/rsc-is-react-server-plus-component/</link>
        <pubDate>Tue, 23 Jan 2024 02:33:58 GMT</pubDate>
      </item>
<item>
        <guid>ce70d2a6-245e-4201-8129-0b971cc0300a</guid>
        <title>Pass Cookies from a React Router Loader to an External API</title>
        <description>Forward browser cookies to external APIs by passing request headers through fetch calls.</description>
        <link>https://r3.sergiodxa.com/tutorials/pass-cookies-from-a-remix-loader-to-an-external-api</link>
        <pubDate>Mon, 22 Jan 2024 06:02:45 GMT</pubDate>
      </item>
<item>
        <guid>92294a9a-96e8-4d65-92ee-d4aeaceb2e73</guid>
        <title>Call an action from a loader in Remix</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/call-an-action-from-a-loader-in-remix</link>
        <pubDate>Mon, 22 Jan 2024 05:57:32 GMT</pubDate>
      </item>
<item>
        <guid>7cb13b2e-94ad-488f-9555-eef99caf0098</guid>
        <title>Use React Portal in Remix</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/use-react-portal-in-remix</link>
        <pubDate>Mon, 22 Jan 2024 05:48:48 GMT</pubDate>
      </item>
<item>
        <guid>453a85d5-b8f4-41c6-bbdd-43f9c6ecbb74</guid>
        <title>Prevent the React Router Loader to Run after Document Request</title>
        <description>Use clientLoader to prevent server loader execution during client-side navigation while keeping it on document requests.</description>
        <link>https://r3.sergiodxa.com/tutorials/prevent-the-remix-loader-to-run-after-document-request</link>
        <pubDate>Mon, 22 Jan 2024 05:04:15 GMT</pubDate>
      </item>
<item>
        <guid>4d81be9f-1b5a-4298-8484-5669f1ee636a</guid>
        <title>Passkey-Based Auth in Remix (feat. Alex Anderson) - YouTube</title>
        <description>https://www.youtube.com/watch?v=cPwsNEkScoQ</description>
        <link>https://www.youtube.com/watch?v=cPwsNEkScoQ</link>
        <pubDate>Sun, 21 Jan 2024 11:11:00 GMT</pubDate>
      </item>
<item>
        <guid>00fe5084-fba1-4b00-ba0e-71147cc9d93e</guid>
        <title>Remix Movies: build a movie browser with Remix - YouTube</title>
        <description>https://www.youtube.com/playlist?list=PLXoynULbYuEApkwAGZ7U7LmL-BDHloB0l</description>
        <link>https://www.youtube.com/playlist?list=PLXoynULbYuEApkwAGZ7U7LmL-BDHloB0l</link>
        <pubDate>Sun, 21 Jan 2024 11:09:30 GMT</pubDate>
      </item>
<item>
        <guid>439d79e0-b353-4446-9f3d-79a58cff339e</guid>
        <title>Trellix: build a Trello clone using Remix - YouTube</title>
        <description>https://www.youtube.com/playlist?list=PLXoynULbYuED9b2k5LS44v9TQjfXifwNu</description>
        <link>https://www.youtube.com/playlist?list=PLXoynULbYuED9b2k5LS44v9TQjfXifwNu</link>
        <pubDate>Sun, 21 Jan 2024 11:09:22 GMT</pubDate>
      </item>
<item>
        <guid>fcd0a387-95ca-417b-9658-6a6d68a1732e</guid>
        <title>Defer a Fetch response in Remix</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/defer-a-fetch-response-in-remix</link>
        <pubDate>Fri, 19 Jan 2024 23:39:03 GMT</pubDate>
      </item>
<item>
        <guid>42648b77-d40e-4474-a5ad-e62be79f0818</guid>
        <title>Use a CDN for your static assets in Remix</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/use-a-cdn-for-your-static-assets-in-remix</link>
        <pubDate>Fri, 19 Jan 2024 23:32:26 GMT</pubDate>
      </item>
<item>
        <guid>58f492a9-d64a-4123-a449-034053c4d76f</guid>
        <title>Get the absolute URL in Remix's MetaFunction</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/get-the-absolute-url-in-remix-s-metafunction</link>
        <pubDate>Fri, 19 Jan 2024 23:26:21 GMT</pubDate>
      </item>
<item>
        <guid>0f06bfd2-99ec-4e44-b0ed-06b9a7f96430</guid>
        <title>Build an app with Remix and Bun</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/build-an-app-with-remix-and-bun</link>
        <pubDate>Fri, 19 Jan 2024 22:36:30 GMT</pubDate>
      </item>
<item>
        <guid>83d5e406-43cc-439e-b7f5-6284d74a81ad</guid>
        <title>Designing better target sizes</title>
        <description>https://ishadeed.com/article/target-size/</description>
        <link>https://ishadeed.com/article/target-size/</link>
        <pubDate>Fri, 19 Jan 2024 04:22:05 GMT</pubDate>
      </item>
<item>
        <guid>b3d20f6f-2d22-4f20-a2f8-a47c832f774b</guid>
        <title>Find and remove unused code with Knip</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/find-and-remove-unused-code-with-knip</link>
        <pubDate>Thu, 18 Jan 2024 22:24:28 GMT</pubDate>
      </item>
<item>
        <guid>f8093c61-d529-4227-b1e5-9e072ff189a8</guid>
        <title>Create multiple top-level layouts in Remix</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/create-multiple-top-level-layouts-in-remix</link>
        <pubDate>Wed, 17 Jan 2024 00:15:29 GMT</pubDate>
      </item>
<item>
        <guid>93acf563-5d6e-499e-864e-ce22bf672a2c</guid>
        <title>Kind of annoyed at React</title>
        <description>https://blog.cassidoo.co/post/annoyed-at-react/</description>
        <link>https://blog.cassidoo.co/post/annoyed-at-react/</link>
        <pubDate>Mon, 15 Jan 2024 03:07:39 GMT</pubDate>
      </item>
<item>
        <guid>994a9cf3-5983-416e-8dac-4d0bda5fc747</guid>
        <title>Increasingly miffed about the state of React releases</title>
        <description>https://macwright.com/2024/01/03/miffed-about-react</description>
        <link>https://macwright.com/2024/01/03/miffed-about-react</link>
        <pubDate>Thu, 11 Jan 2024 04:03:05 GMT</pubDate>
      </item>
<item>
        <guid>c075eca8-2f4a-4c4f-aea4-5b9c1fefaf12</guid>
        <title>The Website vs. Web App Dichotomy Does Not Exist</title>
        <description>https://jakelazaroff.com/words/the-website-vs-web-app-dichotomy-doesnt-exist/</description>
        <link>https://jakelazaroff.com/words/the-website-vs-web-app-dichotomy-doesnt-exist/</link>
        <pubDate>Thu, 11 Jan 2024 03:33:18 GMT</pubDate>
      </item>
<item>
        <guid>1f8ba001-8d93-4aba-abd8-33e8b2eff4b4</guid>
        <title>Test meta tags using Playwright</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/test-meta-tags-using-playwright</link>
        <pubDate>Wed, 10 Jan 2024 22:47:06 GMT</pubDate>
      </item>
<item>
        <guid>cc2528cc-ef13-43ac-ac2f-383d9a9267b0</guid>
        <title>gilest.org: Make the indie web easier</title>
        <description>https://gilest.org/indie-easy.html</description>
        <link>https://gilest.org/indie-easy.html</link>
        <pubDate>Wed, 10 Jan 2024 00:32:59 GMT</pubDate>
      </item>
<item>
        <guid>cfa5adf8-f0c7-4e25-bb82-4ae4aefa9640</guid>
        <title>Why Fetch Promise Does Not Reject on Error Responses</title>
        <description>https://kettanaito.com/blog/why-fetch-promise-doesnt-reject-on-error-responses</description>
        <link>https://kettanaito.com/blog/why-fetch-promise-doesnt-reject-on-error-responses</link>
        <pubDate>Mon, 08 Jan 2024 17:15:34 GMT</pubDate>
      </item>
<item>
        <guid>9fc27a61-55a4-4640-9967-e72fd9b685af</guid>
        <title>A Well-Known Links Resource - Jim Nielsen’s Blog</title>
        <description>https://blog.jim-nielsen.com/2022/well-known-links-resource/</description>
        <link>https://blog.jim-nielsen.com/2022/well-known-links-resource/</link>
        <pubDate>Mon, 01 Jan 2024 09:22:16 GMT</pubDate>
      </item>
<item>
        <guid>e4e5728b-a879-45e4-96b6-66510b462d3d</guid>
        <title>The OG Social Network: Other People’s Websites - Jim Nielsen’s Blog</title>
        <description>https://blog.jim-nielsen.com/2022/other-peoples-websites/</description>
        <link>https://blog.jim-nielsen.com/2022/other-peoples-websites/</link>
        <pubDate>Mon, 01 Jan 2024 09:21:47 GMT</pubDate>
      </item>
<item>
        <guid>7d68a408-dc02-40c2-9605-20a05e16ffe2</guid>
        <title>Rationale for a Browser-Level Color Scheme Preference - Jim Nielsen’s Blog</title>
        <description>https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/</description>
        <link>https://blog.jim-nielsen.com/2022/browser-level-color-scheme-preference/</link>
        <pubDate>Mon, 01 Jan 2024 09:17:52 GMT</pubDate>
      </item>
<item>
        <guid>661d2d0d-c91f-416c-ab5a-eb5d9d38c9d4</guid>
        <title>A Well Known URL For Your Personal Avatar - Jim Nielsen’s Blog</title>
        <description>https://blog.jim-nielsen.com/2023/well-known-avatar/</description>
        <link>https://blog.jim-nielsen.com/2023/well-known-avatar/</link>
        <pubDate>Mon, 01 Jan 2024 09:10:52 GMT</pubDate>
      </item>
<item>
        <guid>dcb831e8-6584-448a-845a-338615e2e5a6</guid>
        <title>React Aria</title>
        <description>https://react-spectrum.adobe.com/react-aria/</description>
        <link>https://react-spectrum.adobe.com/react-aria/</link>
        <pubDate>Thu, 28 Dec 2023 16:37:20 GMT</pubDate>
      </item>
<item>
        <guid>f15a4c79-7937-4cd7-8326-e9387ace617c</guid>
        <title>Stop Lying to Your Users | Epic Web Dev by Kent C. Dodds</title>
        <description>https://www.epicweb.dev/stop-lying-to-your-users</description>
        <link>https://www.epicweb.dev/stop-lying-to-your-users</link>
        <pubDate>Wed, 27 Dec 2023 00:36:38 GMT</pubDate>
      </item>
<item>
        <guid>cbd27182-c9c2-468f-bb94-8a1a56382470</guid>
        <title>Prefetch data for Remix Fetcher usage</title>
        <description>If you're using Remix, you can ask it to prefetch the data of a new route using Link's prefetch prop, but if you need to use `fetcher.loa…</description>
        <link>https://r3.sergiodxa.com/tutorials/prefetch-data-for-remix-fetcher-usage</link>
        <pubDate>Fri, 08 Dec 2023 22:31:58 GMT</pubDate>
      </item>
<item>
        <guid>114b3ead-20e2-4174-93c3-8ddfca2ca785</guid>
        <title>Keep Your Loader Data Fresh in Remix</title>
        <description>Using the useRevalidator hook we can revalidate our loader data on an interval to ensure that our data is always fresh.  How fresh can depe…</description>
        <link>https://r3.sergiodxa.com/tutorials/keep-your-loader-data-fresh-in-remix</link>
        <pubDate>Fri, 01 Dec 2023 05:35:33 GMT</pubDate>
      </item>
<item>
        <guid>e702cb53-79c8-4f6e-a263-2479a97452f6</guid>
        <title>Expose Remix Routes as API Endpoints</title>
        <description>If you're building a Remix web app, and then you decide to expose an API from that app, you may be tempted to try to reuse the same routes …</description>
        <link>https://r3.sergiodxa.com/tutorials/expose-remix-routes-as-api-endpoints</link>
        <pubDate>Mon, 27 Nov 2023 18:43:34 GMT</pubDate>
      </item>
<item>
        <guid>1e6d833d-19c2-4452-a40c-d2c0db2fcd46</guid>
        <title>Access the Search Params of a Request in React Router</title>
        <description>Learn how to access URL search params in React Router loaders and components using the URL and URLSearchParams APIs.</description>
        <link>https://r3.sergiodxa.com/tutorials/access-the-search-params-of-a-request-in-remix</link>
        <pubDate>Wed, 22 Nov 2023 23:17:29 GMT</pubDate>
      </item>
<item>
        <guid>bbc2d771-4516-4d6d-b11a-2585c1147c4c</guid>
        <title>Upload Images in a Remix Application</title>
        <description>If you want to add file upload to let users send you images, e.g., for an avatar, Remix provides a few (still unstable for some reason) too…</description>
        <link>https://r3.sergiodxa.com/tutorials/upload-images-in-remix-apps</link>
        <pubDate>Mon, 23 Oct 2023 23:40:03 GMT</pubDate>
      </item>
<item>
        <guid>55e27fe3-4d5b-4dd2-bbc9-32ba5feb8280</guid>
        <title>Redirect with Search Param in Remix</title>
        <description>Let's say you want to ensure a specific search param is always set. To do so, you can first check if the search param is set, and if not, r…</description>
        <link>https://r3.sergiodxa.com/tutorials/redirect-with-search-param-in-remix</link>
        <pubDate>Fri, 06 Oct 2023 23:47:03 GMT</pubDate>
      </item>
<item>
        <guid>3b9b64e1-f973-4812-aaed-d620999ae1fa</guid>
        <title>Access the Loader Data in Remix</title>
        <description>If you're using Remix, you may have noticed that the loader data is not passed to the components as props. This is because the loader data …</description>
        <link>https://r3.sergiodxa.com/tutorials/access-loaders-data-in-remix</link>
        <pubDate>Thu, 05 Oct 2023 20:33:52 GMT</pubDate>
      </item>
<item>
        <guid>a7be77b2-610a-4b97-8d8e-d33c6519367c</guid>
        <title>Abort Async Calls Inside Remix Loaders and Actions</title>
        <description>Let's say you're writing a loader that needs to do a fetch call to get some data, something simple just for the example:  ```ts import { js…</description>
        <link>https://r3.sergiodxa.com/tutorials/abort-async-calls-inside-remix-loaders-and-actions</link>
        <pubDate>Sun, 24 Sep 2023 07:41:49 GMT</pubDate>
      </item>
<item>
        <guid>530263a7-7559-4031-8df2-e3317a952d79</guid>
        <title>Get Remix route params `entry.server`</title>
        <description>If you have a parameter like the locale `/:locale/*` that you want to get in entry.server for any reason, you can use the `EntryContext` ob…</description>
        <link>https://r3.sergiodxa.com/tutorials/get-remix-route-params-in-entry-server</link>
        <pubDate>Fri, 08 Sep 2023 16:36:36 GMT</pubDate>
      </item>
<item>
        <guid>994f6ec4-a705-477f-8937-30d1d315733b</guid>
        <title>Test meta tags with Cypress</title>
        <description>If you want to ensure your webs have the correct meta tags like the title, description, Open Graph or Twitter Cards.  We can test the title…</description>
        <link>https://r3.sergiodxa.com/tutorials/test-meta-tags-with-cypress</link>
        <pubDate>Wed, 06 Sep 2023 04:42:31 GMT</pubDate>
      </item>
<item>
        <guid>0f69d354-a368-4b67-be25-b06022709842</guid>
        <title>Challenging Established Norms: Making Component Fetching the Exception</title>
        <description>https://jjenzz.com/making-component-fetching-the-exception/</description>
        <link>https://jjenzz.com/making-component-fetching-the-exception/</link>
        <pubDate>Mon, 04 Sep 2023 02:16:42 GMT</pubDate>
      </item>
<item>
        <guid>a9da8426-fe11-4ffc-b281-44ec85916647</guid>
        <title>Be the browser’s mentor, not its micromanager</title>
        <description>https://buildexcellentwebsit.es/</description>
        <link>https://buildexcellentwebsit.es/</link>
        <pubDate>Thu, 31 Aug 2023 04:55:09 GMT</pubDate>
      </item>
<item>
        <guid>5230a066-5a09-4715-aaeb-3a4310d11a53</guid>
        <title>The ideal viewport doesn’t exist</title>
        <description>https://viewports.fyi/</description>
        <link>https://viewports.fyi/</link>
        <pubDate>Thu, 31 Aug 2023 04:54:24 GMT</pubDate>
      </item>
<item>
        <guid>4ebc09f8-385f-4365-80fc-8a770e724376</guid>
        <title>My thoughts on open-source</title>
        <description>https://alemtuzlak.hashnode.dev/my-thoughts-on-open-source</description>
        <link>https://alemtuzlak.hashnode.dev/my-thoughts-on-open-source</link>
        <pubDate>Tue, 22 Aug 2023 17:18:39 GMT</pubDate>
      </item>
<item>
        <guid>badb7de6-6a1c-4e88-85d3-daf18c28ca24</guid>
        <title>Strongly type Remix route IDs</title>
        <description>When using something like `useRouteLoaderData()` we need to provide the route ID of the route we want to get the data from.  This could als…</description>
        <link>https://r3.sergiodxa.com/tutorials/strongly-type-remix-route-ids</link>
        <pubDate>Mon, 17 Jul 2023 23:33:22 GMT</pubDate>
      </item>
<item>
        <guid>43dda622-38d6-4ed0-a62c-3f37a19e1a21</guid>
        <title>Strongly type public assets in Remix</title>
        <description>Remix gives us two ways to work with assets, we can import them directly and get a string to the hashed file path, or we can place the file…</description>
        <link>https://r3.sergiodxa.com/tutorials/strongly-type-public-assets-in-remix</link>
        <pubDate>Mon, 17 Jul 2023 15:29:17 GMT</pubDate>
      </item>
<item>
        <guid>2bbae9d1-cce6-447f-af7f-a2f5a4cd2aef</guid>
        <title>Create a reusable Form component in Remix</title>
        <description>Let's say we want to build a custom Form component for our application, this Form will do things inside like rendering a hidden input with …</description>
        <link>https://r3.sergiodxa.com/tutorials/create-a-reusable-form-component-in-remix</link>
        <pubDate>Fri, 07 Jul 2023 22:35:43 GMT</pubDate>
      </item>
<item>
        <guid>84028037-2930-48ae-bdbb-6b6b1212036c</guid>
        <title>Sync text input with URLSearchParam in Remix</title>
        <description>Let's say we're building a search form that needs to keep the value on the search params as the user type.  We could directly update on the…</description>
        <link>https://r3.sergiodxa.com/tutorials/sync-text-input-with-urlsearch-params-in-remix</link>
        <pubDate>Thu, 06 Jul 2023 17:28:54 GMT</pubDate>
      </item>
<item>
        <guid>6be28524-d490-4063-a3d3-0fc06ca4b0d7</guid>
        <title>Social RSS</title>
        <description>https://chriscoyier.net/2023/07/01/social-rss/</description>
        <link>https://chriscoyier.net/2023/07/01/social-rss/</link>
        <pubDate>Tue, 04 Jul 2023 10:19:16 GMT</pubDate>
      </item>
<item>
        <guid>760be593-4c73-4438-a2da-6a1dda13c1f5</guid>
        <title>The fediverse and the indieweb</title>
        <description>https://werd.io/2022/the-fediverse-and-the-indieweb</description>
        <link>https://werd.io/2022/the-fediverse-and-the-indieweb</link>
        <pubDate>Tue, 04 Jul 2023 04:22:44 GMT</pubDate>
      </item>
<item>
        <guid>b6557098-4809-49c9-95a4-ed07af4f41fa</guid>
        <title>Blogging as DRY</title>
        <description>https://seirdy.one/notes/2022/11/20/blogging-as-dry/</description>
        <link>https://seirdy.one/notes/2022/11/20/blogging-as-dry/</link>
        <pubDate>Sun, 02 Jul 2023 07:47:23 GMT</pubDate>
      </item>
<item>
        <guid>15bd80c1-c6d9-4c7c-a17e-00a7594ae9b1</guid>
        <title>Everything You Can Test In Your Laravel Application</title>
        <description>https://christoph-rumpel.com/2023/3/everything-you-can-test-in-your-laravel-application</description>
        <link>https://christoph-rumpel.com/2023/3/everything-you-can-test-in-your-laravel-application</link>
        <pubDate>Sun, 02 Jul 2023 02:11:29 GMT</pubDate>
      </item>
<item>
        <guid>d026b87c-5355-4828-a69a-e5ee86fe0d69</guid>
        <title>Dear Open Source: let’s do a better job of asking for money</title>
        <description>https://reactflow.dev/blog/asking-for-money-for-open-source/</description>
        <link>https://reactflow.dev/blog/asking-for-money-for-open-source/</link>
        <pubDate>Sun, 02 Jul 2023 02:03:18 GMT</pubDate>
      </item>
<item>
        <guid>03e422fd-aa0c-40dc-9cf4-799d74525fc5</guid>
        <title>Don't make me think, or why I switched to Rails from JavaScript SPAs</title>
        <description>https://vadimdemedes.com/posts/dont-make-me-think-or-why-i-switched-to-rails-from-javascript-spas</description>
        <link>https://vadimdemedes.com/posts/dont-make-me-think-or-why-i-switched-to-rails-from-javascript-spas</link>
        <pubDate>Sun, 02 Jul 2023 02:03:00 GMT</pubDate>
      </item>
<item>
        <guid>5d48d6ca-c15d-4c07-8cdd-01454d749d94</guid>
        <title>Generating income from open source</title>
        <description>https://vadimdemedes.com/posts/generating-income-from-open-source</description>
        <link>https://vadimdemedes.com/posts/generating-income-from-open-source</link>
        <pubDate>Sun, 18 Jun 2023 23:11:38 GMT</pubDate>
      </item>
<item>
        <guid>8cbcf6a4-b387-42a8-ba32-e04d87ebd303</guid>
        <title>Use TanStack Query to Share Data between React Router Loaders</title>
        <description>Share data between React Router loaders efficiently using TanStack Query to avoid duplicate fetches and improve performance.</description>
        <link>https://r3.sergiodxa.com/tutorials/use-tanstack-query-to-share-data-between-remix-loaders</link>
        <pubDate>Mon, 05 Jun 2023 16:01:26 GMT</pubDate>
      </item>
<item>
        <guid>b50daf66-45e6-4dbd-a2d0-b55dc4983be9</guid>
        <title>Logout from Auth0 with Remix Auth</title>
        <description>If you're using Remix Auth together with Auth0, you may found out that if you just use the logout method from Remix Auth and try to login a…</description>
        <link>https://r3.sergiodxa.com/tutorials/logout-from-auth0-with-remix-auth</link>
        <pubDate>Wed, 24 May 2023 04:41:20 GMT</pubDate>
      </item>
<item>
        <guid>1b30e4cf-133a-44fb-b430-8f2ffe0ad474</guid>
        <title>Send Node.js ReadStream objects from Remix loaders</title>
        <description>If you're creating route in Remix that needs to send a file from you may want to use `node:fs` to get the file content from the system and …</description>
        <link>https://r3.sergiodxa.com/tutorials/send-node-read-stream-objects-from-remix-loaders</link>
        <pubDate>Mon, 15 May 2023 21:00:05 GMT</pubDate>
      </item>
<item>
        <guid>6e7df66d-ecbc-43f9-9aeb-248deefebf91</guid>
        <title>Reset a form on success in Remix</title>
        <description>If you have a form with one or more uncontrolled inputs you may have seen the case where the user submits the form but the inputs are not c…</description>
        <link>https://r3.sergiodxa.com/tutorials/reset-a-form-on-success-in-remix</link>
        <pubDate>Mon, 15 May 2023 20:46:56 GMT</pubDate>
      </item>
<item>
        <guid>d1525d30-e998-4d17-83e6-ed0fe7953bc5</guid>
        <title>Use `qs.parse` to use nested form fields in Remix</title>
        <description>The traditional way to parse a form body in Remix is by using `request.formData()` to get a new FormData object, then use `formData.get()` …</description>
        <link>https://r3.sergiodxa.com/tutorials/use-qs-parse-to-use-nested-form-fields-in-remix</link>
        <pubDate>Mon, 15 May 2023 18:51:52 GMT</pubDate>
      </item>
<item>
        <guid>bea97751-fc9f-4d71-8068-f4da8e740712</guid>
        <title>Send JSON to a Remix action</title>
        <description>While [there's a proposal to add support for this](https://github.com/remix-run/remix/discussions/1959#discussioncomment-2205718), right no…</description>
        <link>https://r3.sergiodxa.com/tutorials/send-json-to-a-remix-action</link>
        <pubDate>Sat, 13 May 2023 23:14:44 GMT</pubDate>
      </item>
<item>
        <guid>a7e1db39-e333-4496-92dc-ec424c998c91</guid>
        <title>Set Multiple Cookies in the Same Response in React Router Loaders</title>
        <description>Set multiple Set-Cookie headers in loader responses using header arrays or the Headers.append method.</description>
        <link>https://r3.sergiodxa.com/tutorials/set-multiple-cookies-in-the-same-response-in-remix-loaders</link>
        <pubDate>Fri, 12 May 2023 22:34:08 GMT</pubDate>
      </item>
<item>
        <guid>7b587419-5714-4ea7-adc7-25f7c8b239d3</guid>
        <title>Close SSE connection from the server in Remix</title>
        <description>If you're using SSE in a Remix app, you may find you want to be able to close the connection from the server.  The [Remix Utils `eventStrea…</description>
        <link>https://r3.sergiodxa.com/tutorials/close-sse-connection-from-the-server-in-remix</link>
        <pubDate>Wed, 10 May 2023 23:43:44 GMT</pubDate>
      </item>
<item>
        <guid>dd058b68-93e2-4b96-8453-212138eed212</guid>
        <title>Measure performance with the Server-Timing header in React Router</title>
        <description>Add performance measurements to response headers to inspect route timing from the browser DevTools.</description>
        <link>https://r3.sergiodxa.com/tutorials/measure-performance-with-the-server-timing-header-in-remix</link>
        <pubDate>Sun, 30 Apr 2023 06:20:25 GMT</pubDate>
      </item>
<item>
        <guid>52e93d4a-cd93-4f2a-a09b-8a9b262778d2</guid>
        <title>Automatically commit sessions on Remix</title>
        <description>When you use Remix's session feature you have to always remember to commit your session before sending the response.  This is a simpler fun…</description>
        <link>https://r3.sergiodxa.com/tutorials/automatically-commit-session-on-remix</link>
        <pubDate>Tue, 04 Apr 2023 21:37:26 GMT</pubDate>
      </item>
<item>
        <guid>bcbe5ba4-9c3b-4ab4-b723-da8b9486ef56</guid>
        <title>Customize Remix AppLoadContext type</title>
        <description></description>
        <link>https://r3.sergiodxa.com/tutorials/customize-remix-app-load-context-type</link>
        <pubDate>Thu, 16 Mar 2023 21:17:58 GMT</pubDate>
      </item>
<item>
        <guid>e720a5df-ab1a-41c4-a562-69c63038eb8b</guid>
        <title>Client-side JavaScript and React criticism: What comes next?</title>
        <description>https://molily.de/javascript-criticism/</description>
        <link>https://molily.de/javascript-criticism/</link>
        <pubDate>Thu, 16 Mar 2023 12:31:32 GMT</pubDate>
      </item>
<item>
        <guid>736e1f21-25d2-4f76-942e-a5abe329adc4</guid>
        <title>Turn on Caps Lock on Cypress</title>
        <description>If you're testing a feature that depends on Caps Lock to be on, e.g. detect Caps Lock and warn on password inputs. You can test this works …</description>
        <link>https://r3.sergiodxa.com/tutorials/turn-on-caps-lock-on-cypress</link>
        <pubDate>Tue, 14 Mar 2023 17:27:21 GMT</pubDate>
      </item>
<item>
        <guid>8fdc40f5-1a9c-465b-aa01-e759d2d12192</guid>
        <title>Fast and maintainable patterns for fetching from a database</title>
        <description>https://sophiebits.com/2020/01/01/fast-maintainable-db-patterns.html</description>
        <link>https://sophiebits.com/2020/01/01/fast-maintainable-db-patterns.html</link>
        <pubDate>Tue, 14 Feb 2023 18:43:58 GMT</pubDate>
      </item>
<item>
        <guid>40816af1-790b-4b02-97b6-af9640fa8117</guid>
        <title>Delete a Cookie using Remix cookie helpers</title>
        <description>If we have set a cookie and we need to tell the browser to delete it, we can do that with a simple trick, we can set the cookie value to an…</description>
        <link>https://r3.sergiodxa.com/tutorials/delete-a-cookie-using-remix-cookie-helpers</link>
        <pubDate>Mon, 13 Feb 2023 22:41:53 GMT</pubDate>
      </item>
<item>
        <guid>d10a30c6-a96c-4f59-a6cb-841fcf678c64</guid>
        <title>Add runtime SSG and ISR to Remix</title>
        <description>If you came to Remix from the Next.js world, you might wonder how to use SSG and ISR with Remix.  The framework doesn't support it; instead…</description>
        <link>https://r3.sergiodxa.com/tutorials/add-runtime-ssg-and-isr-to-remix</link>
        <pubDate>Sun, 29 Jan 2023 05:24:17 GMT</pubDate>
      </item>
<item>
        <guid>8d9297a4-a462-4658-b74f-5b6440618357</guid>
        <title>Improve SEO by not sending JS in Remix</title>
        <description>When Google crawls your website, it will try to execute all the JavaScript it finds. And even if your app…</description>
        <link>https://r3.sergiodxa.com/tutorials/improve-seo-by-not-sending-js-in-remix</link>
        <pubDate>Wed, 25 Jan 2023 20:24:28 GMT</pubDate>
      </item>
<item>
        <guid>1918409d-39d6-4bd5-9ed7-eda45dbbe5e7</guid>
        <title>Use AMP with Remix</title>
        <description>If for any reason, you want to add AMP to your Remix app, there are a few things you need to do.

First, go to your `app/root…</description>
        <link>https://r3.sergiodxa.com/tutorials/use-amp-with-remix</link>
        <pubDate>Mon, 23 Jan 2023 23:10:44 GMT</pubDate>
      </item>
<item>
        <guid>97b32b62-ec30-4ccb-95e8-170ea5b7e21a</guid>
        <title>Use Remix as a SPA only</title>
        <description>Remix always does SSR on document requests. Then it works as an MPA until JS loads and React hydrates your app. At that …</description>
        <link>https://r3.sergiodxa.com/tutorials/use-remix-as-a-spa-only</link>
        <pubDate>Mon, 23 Jan 2023 22:39:20 GMT</pubDate>
      </item>
<item>
        <guid>2f3dd5ad-3cdf-487f-a29c-b6e45e5f666f</guid>
        <title>A Theory of Web Relativity</title>
        <description>https://www.htmhell.dev/adventcalendar/2022/21/</description>
        <link>https://www.htmhell.dev/adventcalendar/2022/21/</link>
        <pubDate>Fri, 30 Dec 2022 04:53:10 GMT</pubDate>
      </item>
<item>
        <guid>e99054f4-8201-49a3-834f-b49b686c5f07</guid>
        <title>Downgrade to MPA if Users Prefer Reduced Data in React Router</title>
        <description>Detect the Save-Data header and conditionally disable client-side JavaScript to reduce data usage.</description>
        <link>https://r3.sergiodxa.com/tutorials/downgrade-to-mpa-if-users-prefer-reduced-data-in-remix</link>
        <pubDate>Thu, 15 Dec 2022 18:03:02 GMT</pubDate>
      </item>
<item>
        <guid>de673902-090a-46a7-943a-2094764d9aa9</guid>
        <title>Add rolling sessions to Remix</title>
        <description>Rolling sessions is a technique to extend the maxAge of a session cookie by resetting the cookie's expiration date…</description>
        <link>https://r3.sergiodxa.com/tutorials/add-rolling-sessions-to-remix</link>
        <pubDate>Thu, 01 Dec 2022 20:32:16 GMT</pubDate>
      </item>
<item>
        <guid>a9a54bae-0ac7-4513-bc4d-ead45645a891</guid>
        <title>Use Server-Sent Events with Remix</title>
        <description>Using Server-Sent Events (SSE) you can keep a connection between a browser (client) and an HTTP server open an…</description>
        <link>https://r3.sergiodxa.com/tutorials/use-server-sent-events-with-remix</link>
        <pubDate>Fri, 25 Nov 2022 23:45:39 GMT</pubDate>
      </item>
<item>
        <guid>49b7237c-8bbf-4230-9c22-cbce6fdb18b6</guid>
        <title>Progressively Enhance the useFetcher Hook in React Router</title>
        <description>Support both JavaScript and no-JavaScript users by detecting hydration state in fetcher forms.</description>
        <link>https://r3.sergiodxa.com/tutorials/progressively-enhance-the-usefetcher-hook-in-remix</link>
        <pubDate>Wed, 16 Nov 2022 22:13:23 GMT</pubDate>
      </item>
<item>
        <guid>d70531b7-e8ab-492d-9681-f5c47e37b64f</guid>
        <title>Use `process.env` client-side with Remix</title>
        <description>Use process.env client-side with Remix

The process.env thing is a Node.js-only feature that many front-end developers adopted as something t…</description>
        <link>https://r3.sergiodxa.com/tutorials/use-process-env-client-side-with-remix</link>
        <pubDate>Wed, 09 Nov 2022 16:58:37 GMT</pubDate>
      </item>
<item>
        <guid>1e9ab918-8468-4085-85f3-45e3c9011ef8</guid>
        <title>Persist inputs after a form submit in Remix</title>
        <description>Let's say you have a form with a few inputs. You want to persist the inputs' values after submitting…</description>
        <link>https://r3.sergiodxa.com/tutorials/persist-inputs-after-a-form-submit-in-remix</link>
        <pubDate>Thu, 20 Oct 2022 22:11:55 GMT</pubDate>
      </item>
<item>
        <guid>f6dbb362-120d-4324-98b7-80206e1231da</guid>
        <title>Streaming: is it worth it?</title>
        <description>https://www.builder.io/blog/streaming-is-it-worth-it</description>
        <link>https://www.builder.io/blog/streaming-is-it-worth-it</link>
        <pubDate>Thu, 20 Oct 2022 20:30:47 GMT</pubDate>
      </item>
<item>
        <guid>8e9a94e8-0115-464c-a77e-ebf95f0ea504</guid>
        <title>Prioritise content over components</title>
        <description>https://www.simeongriggs.dev/components-considered-harmful-for-content</description>
        <link>https://www.simeongriggs.dev/components-considered-harmful-for-content</link>
        <pubDate>Wed, 19 Oct 2022 16:57:23 GMT</pubDate>
      </item>
<item>
        <guid>55b00baf-2c2f-4b39-bb7f-101f11640d26</guid>
        <title>Throwing vs. Returning responses in Remix</title>
        <description>When you code a loader/action (we'll call them data functions from now) in Remix, you can either retur…</description>
        <link>https://r3.sergiodxa.com/articles/throwing-vs-returning-responses-in-remix</link>
        <pubDate>Fri, 14 Oct 2022 16:09:14 GMT</pubDate>
      </item>
<item>
        <guid>b991d4e0-5adf-4985-8182-a37396ef358d</guid>
        <title>Lazy-load React components in Remix</title>
        <description>Suppose we want to create a timeline component that lists different events. Each event type has a unique com…</description>
        <link>https://r3.sergiodxa.com/tutorials/lazy-load-react-components-in-remix</link>
        <pubDate>Wed, 12 Oct 2022 21:31:09 GMT</pubDate>
      </item>
<item>
        <guid>c1d5499a-9f6c-4a8b-b2a5-357155acbf89</guid>
        <title>Overcoming Popular Issues With React Projects</title>
        <description>https://dinosaurs-with-jetpacks.com/posts/react-problems</description>
        <link>https://dinosaurs-with-jetpacks.com/posts/react-problems</link>
        <pubDate>Tue, 11 Oct 2022 18:33:38 GMT</pubDate>
      </item>
<item>
        <guid>a2efb8ae-ecec-420b-814b-28a6a1c017e7</guid>
        <title>💿 remix simplifies things</title>
        <description>https://bradgarropy.com/blog/remix-simplifies-things</description>
        <link>https://bradgarropy.com/blog/remix-simplifies-things</link>
        <pubDate>Sun, 02 Oct 2022 04:51:03 GMT</pubDate>
      </item>
<item>
        <guid>24278d89-eb0d-4fd0-9d57-dd706628ac26</guid>
        <title>Progressively enhance for a more resilient web</title>
        <description>https://jjenzz.com/progressively-enhance-for-a-more-resilient-web</description>
        <link>https://jjenzz.com/progressively-enhance-for-a-more-resilient-web</link>
        <pubDate>Sat, 01 Oct 2022 03:08:48 GMT</pubDate>
      </item>
<item>
        <guid>dd7d14ab-77c0-479c-b0b1-8c34dae326f7</guid>
        <title>Get in Zoomer, We're Saving React</title>
        <description>https://acko.net/blog/get-in-zoomer-we-re-saving-react/</description>
        <link>https://acko.net/blog/get-in-zoomer-we-re-saving-react/</link>
        <pubDate>Mon, 26 Sep 2022 21:56:38 GMT</pubDate>
      </item>
<item>
        <guid>5bea3832-0e35-471b-9da0-3c9898bfeead</guid>
        <title>Optional route segments with Remix</title>
        <description>Let's say we have a URL structure like this:


/:category/products
/products


Both routes need to work…</description>
        <link>https://r3.sergiodxa.com/articles/optional-route-segments-with-remix</link>
        <pubDate>Mon, 26 Sep 2022 16:56:48 GMT</pubDate>
      </item>
<item>
        <guid>a5c0e9ee-8537-4eb8-8f2e-5fe4cb7ddb2c</guid>
        <title>Destroy User Session and While Setting a Flash Message in React Router</title>
        <description>Set flash messages while destroying user sessions using cookie or database session storage.</description>
        <link>https://r3.sergiodxa.com/tutorials/destroy-user-session-and-while-setting-a-flash-message-in-remix</link>
        <pubDate>Wed, 21 Sep 2022 20:48:27 GMT</pubDate>
      </item>
<item>
        <guid>85215ec1-2baa-4c9b-ab59-1220064eb903</guid>
        <title>Add additional data before submitting on Remix</title>
        <description>The Remix approach to submitting forms is to replace the &lt;form&gt; tag with their &lt;Form&gt; compone…</description>
        <link>https://r3.sergiodxa.com/tutorials/add-additional-data-before-submitting-on-remix</link>
        <pubDate>Wed, 21 Sep 2022 20:31:22 GMT</pubDate>
      </item>
<item>
        <guid>05fbbc06-4b78-46fd-9f5f-4ff0b5003e0d</guid>
        <title>Redirect to an external website with Remix</title>
        <description>Remix gives us a useful redirect helper function which lets us quickly create a new redirect Respon…</description>
        <link>https://r3.sergiodxa.com/tutorials/redirect-to-an-external-website-with-remix</link>
        <pubDate>Wed, 21 Sep 2022 20:07:18 GMT</pubDate>
      </item>
<item>
        <guid>747de196-331e-4944-be76-7642003c08ca</guid>
        <title>Bubble up data on Remix routes</title>
        <description>React introduced a one-way data flow where a parent component has some data (state) and passes it to the children…</description>
        <link>https://r3.sergiodxa.com/tutorials/bubble-up-data-on-remix-routes</link>
        <pubDate>Tue, 13 Sep 2022 23:04:17 GMT</pubDate>
      </item>
<item>
        <guid>58444295-3648-489f-b83c-0bc2a3ea7eac</guid>
        <title>Group related routes together in Remix</title>
        <description>Next.js released its new nested routes feature yesterday (Friday, 9th September). One of the things they …</description>
        <link>https://r3.sergiodxa.com/tutorials/group-related-routes-together-in-remix</link>
        <pubDate>Fri, 09 Sep 2022 17:51:15 GMT</pubDate>
      </item>
<item>
        <guid>07252859-81a3-44b9-b97e-53700b361b91</guid>
        <title>What if your Index Page was Smart?</title>
        <description>https://www.swyx.io/smart-indexes</description>
        <link>https://www.swyx.io/smart-indexes</link>
        <pubDate>Mon, 05 Sep 2022 18:30:26 GMT</pubDate>
      </item>
<item>
        <guid>9ab067dd-a59b-43f8-854d-97dda6b31064</guid>
        <title>Building websites for Safari Reader Mode and other reading apps</title>
        <description>https://medium.com/@mandy.michael/building-websites-for-safari-reader-mode-and-other-reading-apps-1562913c86c9</description>
        <link>https://medium.com/@mandy.michael/building-websites-for-safari-reader-mode-and-other-reading-apps-1562913c86c9</link>
        <pubDate>Mon, 05 Sep 2022 17:54:42 GMT</pubDate>
      </item>
<item>
        <guid>db24cbc9-b702-43ca-bcd7-e1415b434b7b</guid>
        <title>How to Section Your HTML</title>
        <description>https://css-tricks.com/how-to-section-your-html/</description>
        <link>https://css-tricks.com/how-to-section-your-html/</link>
        <pubDate>Fri, 02 Sep 2022 15:54:14 GMT</pubDate>
      </item>
<item>
        <guid>9114aaeb-d23e-4072-9a09-aaad4314e2c2</guid>
        <title>Block Links: The Search for a Perfect Solution</title>
        <description>https://css-tricks.com/block-links-the-search-for-a-perfect-solution/</description>
        <link>https://css-tricks.com/block-links-the-search-for-a-perfect-solution/</link>
        <pubDate>Wed, 10 Aug 2022 21:16:20 GMT</pubDate>
      </item>
<item>
        <guid>20b6aab6-7252-4210-8bc3-758b9a5e7fa9</guid>
        <title>Parse Markdown with Markdoc in Remix</title>
        <description>Markdoc is this new Markdown parser by Stripe, and it's a simple to use yet extendable library we can use i…</description>
        <link>https://r3.sergiodxa.com/tutorials/parse-markdown-with-markdoc-in-remix</link>
        <pubDate>Thu, 21 Jul 2022 22:43:43 GMT</pubDate>
      </item>
<item>
        <guid>c35b5706-6d6e-4c66-b80e-a007213d04e9</guid>
        <title>Dependency injection in Remix loaders and actions</title>
        <description>Dependency Injection is a way our function or class can receieve from the caller the instancie…</description>
        <link>https://r3.sergiodxa.com/articles/dependency-injection-in-remix-loaders-and-actions</link>
        <pubDate>Tue, 19 Jul 2022 22:26:38 GMT</pubDate>
      </item>
<item>
        <guid>d69b2fc1-0303-46ed-af18-3014278095b3</guid>
        <title>Using Zod to safely read env variables</title>
        <description>Zod is a great library to do schema based validations and get fully typed objects as a result. Environmen…</description>
        <link>https://r3.sergiodxa.com/articles/using-zod-to-safely-read-env-variables</link>
        <pubDate>Thu, 23 Jun 2022 21:30:31 GMT</pubDate>
      </item>
<item>
        <guid>a277f64f-0a1e-441d-a234-9054c6a69489</guid>
        <title>Debug your server-side Remix code using VSCode</title>
        <description>https://gist.github.com/kiliman/a9d7c874af03369a1d105a92560d89e9</description>
        <link>https://gist.github.com/kiliman/a9d7c874af03369a1d105a92560d89e9</link>
        <pubDate>Thu, 23 Jun 2022 14:21:00 GMT</pubDate>
      </item>
<item>
        <guid>db3d73de-13c8-4e84-9848-7d23da8c798b</guid>
        <title>RSS</title>
        <description>https://chriscoyier.net/2022/04/29/rss-3/</description>
        <link>https://chriscoyier.net/2022/04/29/rss-3/</link>
        <pubDate>Sun, 12 Jun 2022 05:38:43 GMT</pubDate>
      </item>
<item>
        <guid>f80b12cd-ab27-4917-aa96-12a5d34335b9</guid>
        <title>Working with Refresh Tokens in Remix</title>
        <description>When using an external API, you may need to keep an access token to send a request as a user. And a refresh…</description>
        <link>https://r3.sergiodxa.com/articles/working-with-refresh-tokens-in-remix</link>
        <pubDate>Fri, 03 Jun 2022 16:03:56 GMT</pubDate>
      </item>
<item>
        <guid>124ab9a9-e952-4d08-be65-da0017876c7f</guid>
        <title>Device-Agnostic</title>
        <description>https://trentwalton.com/2014/03/10/device-agnostic/</description>
        <link>https://trentwalton.com/2014/03/10/device-agnostic/</link>
        <pubDate>Mon, 30 May 2022 04:15:02 GMT</pubDate>
      </item>
<item>
        <guid>48e1d393-b62f-4ce6-bbad-0842297e43be</guid>
        <title>E2E test Remix with Vitest and Puppeteer</title>
        <description>Vitest is a testing framework, similar to Jest, but way faster, built on top of Vite, which uses esbuil…</description>
        <link>https://r3.sergiodxa.com/articles/e2e-test-remix-with-vitest-and-puppeteer</link>
        <pubDate>Mon, 16 May 2022 22:42:56 GMT</pubDate>
      </item>
<item>
        <guid>f5bbb049-386b-4791-b1ed-61acd0873288</guid>
        <title>Optimize image loading with plain HTML</title>
        <description>If you're building some page like a landing with some images, you may want to optimize how these images l…</description>
        <link>https://r3.sergiodxa.com/tutorials/optimize-image-loading-with-plain-html</link>
        <pubDate>Mon, 09 May 2022 17:31:08 GMT</pubDate>
      </item>
<item>
        <guid>a3679f5c-f9dc-493d-ae2f-1bffcc78a263</guid>
        <title>Using rel=preload for responsive images</title>
        <description>https://www.bronco.co.uk/our-ideas/using-relpreload-for-responsive-images/</description>
        <link>https://www.bronco.co.uk/our-ideas/using-relpreload-for-responsive-images/</link>
        <pubDate>Thu, 05 May 2022 17:40:33 GMT</pubDate>
      </item>
<item>
        <guid>df3bc414-e8aa-4377-889b-2b7b390773c8</guid>
        <title>Multiple forms per route in Remix</title>
        <description>Suppose you have a complex enough Remix application. In that case, you may have reached the point where a sing…</description>
        <link>https://r3.sergiodxa.com/articles/multiple-forms-per-route-in-remix</link>
        <pubDate>Thu, 14 Apr 2022 08:35:32 GMT</pubDate>
      </item>
<item>
        <guid>40727fc2-b155-472e-96df-a1fc7c6225c9</guid>
        <title>How to avoid layout shifts caused by web fonts</title>
        <description>https://simonhearne.com/2021/layout-shifts-webfonts/</description>
        <link>https://simonhearne.com/2021/layout-shifts-webfonts/</link>
        <pubDate>Fri, 25 Mar 2022 00:47:26 GMT</pubDate>
      </item>
<item>
        <guid>73b1d153-28b4-444e-a63d-673fdc075216</guid>
        <title>“Guys, we’re doing pagination wrong…”</title>
        <description>https://hackernoon.com/guys-were-doing-pagination-wrong-f6c18a91b232</description>
        <link>https://hackernoon.com/guys-were-doing-pagination-wrong-f6c18a91b232</link>
        <pubDate>Fri, 18 Mar 2022 03:25:47 GMT</pubDate>
      </item>
<item>
        <guid>c53612d3-0868-4ffe-9954-c328dc276bf8</guid>
        <title>Why Remix doesn’t infer types from loaders for useLoaderData</title>
        <description>https://github.com/remix-run/remix/pull/1254#issuecomment-1034475233</description>
        <link>https://github.com/remix-run/remix/pull/1254#issuecomment-1034475233</link>
        <pubDate>Sat, 26 Feb 2022 04:50:11 GMT</pubDate>
      </item>
<item>
        <guid>f57ef76b-acfc-4790-a089-6543d7f6908a</guid>
        <title>Add returnTo behavior to Remix Auth</title>
        <description>If you're using Remix Auth, you may want to add support to return the user to where it was before redirectin…</description>
        <link>https://r3.sergiodxa.com/tutorials/add-returnto-behavior-to-remix-auth</link>
        <pubDate>Fri, 25 Feb 2022 03:34:26 GMT</pubDate>
      </item>
<item>
        <guid>e5bd273e-81af-4cda-88db-30b41293de76</guid>
        <title>Survivorship Bias in Web Performance</title>
        <description>https://simonhearne.com/2022/survorship-bias-in-webperf/</description>
        <link>https://simonhearne.com/2022/survorship-bias-in-webperf/</link>
        <pubDate>Fri, 25 Feb 2022 00:17:56 GMT</pubDate>
      </item>
<item>
        <guid>02635127-2b55-482b-85af-7aeb3fda9b72</guid>
        <title>Building a Command Palette with Remix and Tailwind UI</title>
        <description>Recently, the Tailwind Labs team published a new Combobox component on Headless UI and use…</description>
        <link>https://r3.sergiodxa.com/articles/building-a-command-palette-with-remix-and-tailwind-ui</link>
        <pubDate>Thu, 24 Feb 2022 23:07:42 GMT</pubDate>
      </item>
<item>
        <guid>da12077f-67c9-4d77-a5b2-d1c2e899cf45</guid>
        <title>Share session and cookies between Next and Remix</title>
        <description>I have been migrating a Next.js app to Remix for a few months. I already wrote how to run them …</description>
        <link>https://r3.sergiodxa.com/tutorials/share-session-and-cookies-between-next-and-remix</link>
        <pubDate>Thu, 24 Feb 2022 21:52:55 GMT</pubDate>
      </item>
<item>
        <guid>1b09e16a-286c-4005-88a3-3d97483e7356</guid>
        <title>Fix double data request when prefetching in Remix</title>
        <description>Suppose you rendered a &lt;Link prefetch="intent" /&gt; component in your UI with the idea of pref…</description>
        <link>https://r3.sergiodxa.com/tutorials/fix-double-data-request-when-prefetching-in-remix</link>
        <pubDate>Thu, 24 Feb 2022 20:45:58 GMT</pubDate>
      </item>
<item>
        <guid>1296af9f-9c42-4963-bd89-266df83d9ec1</guid>
        <title>The "best" way to manage icons in React.js</title>
        <description>https://benadam.me/thoughts/react-svg-sprites</description>
        <link>https://benadam.me/thoughts/react-svg-sprites</link>
        <pubDate>Sun, 20 Feb 2022 18:46:22 GMT</pubDate>
      </item>
<item>
        <guid>d15cb70a-a4fb-4572-861c-9aff3c652932</guid>
        <title>Run Tailwind and Remix in Parallel with PM2</title>
        <description>If you use Remix together Tailwind (and you should!), you may have found out that you need to run th…</description>
        <link>https://r3.sergiodxa.com/tutorials/run-tailwind-and-remix-in-parallel-with-pm2</link>
        <pubDate>Wed, 19 Jan 2022 05:37:24 GMT</pubDate>
      </item>
<item>
        <guid>8dd575df-d498-4ede-b7de-aa2a1a0d4cdc</guid>
        <title>Use Remix with socket.io</title>
        <description>If you want to add real-time capabilities to your Remix app without using an external service, the easiest way is proba…</description>
        <link>https://r3.sergiodxa.com/tutorials/use-remix-with-socket-io</link>
        <pubDate>Tue, 11 Jan 2022 21:20:22 GMT</pubDate>
      </item>
<item>
        <guid>90977c4c-53c2-48a8-bb32-865208d237df</guid>
        <title>Generate a PDF in Remix with Resource Routes</title>
        <description>Remix has a feature called Resource Routes which let you create endpoints returning anything.

Usin…</description>
        <link>https://r3.sergiodxa.com/tutorials/generate-a-pdf-in-remix-with-resource-routes</link>
        <pubDate>Mon, 10 Jan 2022 16:43:09 GMT</pubDate>
      </item>
<item>
        <guid>f08306b9-4e5a-49ba-8241-889ed66517c1</guid>
        <title>Avoid waterfalls of queries in Remix loaders</title>
        <description>Remix does a fantastic job of avoiding waterfalls everywhere. It preloads assets. It downloads JS a…</description>
        <link>https://r3.sergiodxa.com/tutorials/avoid-waterfalls-of-queries-in-remix-loaders</link>
        <pubDate>Thu, 06 Jan 2022 17:05:58 GMT</pubDate>
      </item>
<item>
        <guid>a5768f69-17a2-42ba-9006-40f8258d2de5</guid>
        <title>Run Next and Remix on the same server</title>
        <description>If you want to migrate a Next app to Remix, you may be tempted to do a complete migration. Still, if your …</description>
        <link>https://r3.sergiodxa.com/tutorials/run-next-and-remix-on-the-same-server</link>
        <pubDate>Mon, 03 Jan 2022 18:49:57 GMT</pubDate>
      </item>
<item>
        <guid>b78bfa03-13fc-4523-ae19-3a52ec329788</guid>
        <title>HTTP vs. Server-side Cache in Remix</title>
        <description>When you build a web application, you may reach a point where some performance problems could be solved by a…</description>
        <link>https://r3.sergiodxa.com/articles/http-vs-server-side-cache-in-remix</link>
        <pubDate>Wed, 22 Dec 2021 19:22:24 GMT</pubDate>
      </item>
<item>
        <guid>a4ed3a20-405e-44c4-a5a1-9d07e45b930b</guid>
        <title>Clase rápida de programación asíncrona</title>
        <description>El código síncrono se ejecuta una linea a la vez, cierto? Entonces si haces esto:
let result = fn(…</description>
        <link>https://r3.sergiodxa.com/articles/clase-rapida-de-programacion-asincrona</link>
        <pubDate>Mon, 20 Dec 2021 02:50:17 GMT</pubDate>
      </item>
<item>
        <guid>8b0ef81d-7895-4056-a270-285c7682abfa</guid>
        <title>On-Demand Hydration in Remix</title>
        <description>Remix makes it really easy to don't send JS to the browser. It even has a guide on how to let routes statically def…</description>
        <link>https://r3.sergiodxa.com/articles/on-demand-hydration-in-remix</link>
        <pubDate>Fri, 10 Dec 2021 23:14:53 GMT</pubDate>
      </item>
<item>
        <guid>b03abab1-2a74-4688-9a6a-0a478452c595</guid>
        <title>Live validation is problematic</title>
        <description>https://adamsilver.io/blog/live-validation-is-problematic/</description>
        <link>https://adamsilver.io/blog/live-validation-is-problematic/</link>
        <pubDate>Wed, 08 Dec 2021 04:14:19 GMT</pubDate>
      </item>
<item>
        <guid>5106e739-6492-4fab-8780-bf6917ea7f3c</guid>
        <title>Stop building client-side forms</title>
        <description>https://blog.vararu.org/stop-building-client-side-forms</description>
        <link>https://blog.vararu.org/stop-building-client-side-forms</link>
        <pubDate>Wed, 08 Dec 2021 03:55:41 GMT</pubDate>
      </item>
<item>
        <guid>5764d421-b49d-4bb2-ac72-c2d048f03b8d</guid>
        <title>Loader vs Route Cache Headers in Remix</title>
        <description>Document Request

So, let's say you have a route at /my-super-route, and there you have a loader fun…</description>
        <link>https://r3.sergiodxa.com/articles/loader-vs-route-cache-headers-in-remix</link>
        <pubDate>Thu, 02 Dec 2021 17:20:54 GMT</pubDate>
      </item>
<item>
        <guid>d42ec256-1014-4cbc-8905-8488c9e388d6</guid>
        <title>The useMatches hook in Remix</title>
        <description>If you use Remix, there's a hook that you can use called useMatches, this hook is a way to access some internal d…</description>
        <link>https://r3.sergiodxa.com/articles/the-usematches-hook-in-remix</link>
        <pubDate>Tue, 30 Nov 2021 23:36:29 GMT</pubDate>
      </item>
<item>
        <guid>98afb00f-0c43-4e3a-9c4f-612dc5136b5f</guid>
        <title>Validating Remix forms with Constraints API</title>
        <description>The Constraints API is a browser API that has been available since the times of IE10, yep, that old.…</description>
        <link>https://r3.sergiodxa.com/articles/validating-remix-forms-with-constraints-api</link>
        <pubDate>Fri, 26 Nov 2021 06:32:51 GMT</pubDate>
      </item>
<item>
        <guid>b57b20e9-829f-4e8f-b739-fb9ecf659605</guid>
        <title>Test Remix loaders and actions</title>
        <description>If you are using Remix, most of your application code will live in the loaders and actions instead of React compo…</description>
        <link>https://r3.sergiodxa.com/tutorials/test-remix-loaders-and-actions</link>
        <pubDate>Thu, 25 Nov 2021 06:53:55 GMT</pubDate>
      </item>
<item>
        <guid>07347da6-bb26-4bef-8e1e-4e202eaf60fb</guid>
        <title>Use NProgress in a Remix app</title>
        <description>Remix's philosophy is to kill all the spinner! This is amazing, but sometimes it's not possible. Connections may be…</description>
        <link>https://r3.sergiodxa.com/tutorials/use-nprogress-in-a-remix-app</link>
        <pubDate>Wed, 24 Nov 2021 16:07:35 GMT</pubDate>
      </item>
<item>
        <guid>4058e8c8-9ea0-4967-bd4c-10bf41e7d51c</guid>
        <title>Result Objects in TS</title>
        <description>Build resilient TypeScript apps that handle failures gracefully using the Result pattern to make errors explicit in your types.</description>
        <link>https://r3.sergiodxa.com/articles/result-objects-in-ts</link>
        <pubDate>Wed, 17 Nov 2021 20:32:42 GMT</pubDate>
      </item>
<item>
        <guid>bf276e06-d26e-44ef-9224-c73465a70512</guid>
        <title>Dark Mode and Dark Context</title>
        <description>Most of the time, there is two way to implement dark mode support in an application.


Using media queries with `pre…</description>
        <link>https://r3.sergiodxa.com/articles/dark-mode-and-dark-context</link>
        <pubDate>Tue, 16 Nov 2021 05:01:23 GMT</pubDate>
      </item>
<item>
        <guid>7e61e6fe-db8e-4c6a-a159-cc6be172f20d</guid>
        <title>Why Decentralization Isn't as Important as You Think</title>
        <description>https://haseebq.com/why-decentralization-isnt-as-important-as-you-think/</description>
        <link>https://haseebq.com/why-decentralization-isnt-as-important-as-you-think/</link>
        <pubDate>Thu, 28 Oct 2021 03:07:08 GMT</pubDate>
      </item>
<item>
        <guid>1498a95f-470f-411e-af2d-85a64491d8e5</guid>
        <title>When You Stop Counting</title>
        <description>https://www.getrevue.co/profile/swyx/issues/swyx-io-when-you-stop-counting-794799</description>
        <link>https://www.getrevue.co/profile/swyx/issues/swyx-io-when-you-stop-counting-794799</link>
        <pubDate>Thu, 28 Oct 2021 03:06:36 GMT</pubDate>
      </item>
<item>
        <guid>df57a5e5-d43e-44fa-a514-87e97fe5f18e</guid>
        <title>Why I Quit Google to Work for Myself</title>
        <description>https://mtlynch.io/why-i-quit-google/</description>
        <link>https://mtlynch.io/why-i-quit-google/</link>
        <pubDate>Mon, 27 Sep 2021 06:36:54 GMT</pubDate>
      </item>
<item>
        <guid>724b233f-f2b7-4451-86e9-12b87b44923c</guid>
        <title>Use Fathom with Remix</title>
        <description>If you want to use Fathom for your analytics and use Remix to build your app, you can configure it to work quite quickly.
…</description>
        <link>https://r3.sergiodxa.com/tutorials/use-fathom-with-remix</link>
        <pubDate>Thu, 23 Sep 2021 21:47:25 GMT</pubDate>
      </item>
<item>
        <guid>0017fbe0-ef95-4fb5-9e43-b1019d73e651</guid>
        <title>Don’t Build A General Purpose API To Power Your Own Front End</title>
        <description>https://max.engineer/server-informed-ui</description>
        <link>https://max.engineer/server-informed-ui</link>
        <pubDate>Wed, 22 Sep 2021 01:26:26 GMT</pubDate>
      </item>
<item>
        <guid>3eb7695c-1c2b-4bd9-853e-6b1b149184c2</guid>
        <title>Why You Should Never Use MongoDB</title>
        <description>http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/</description>
        <link>http://www.sarahmei.com/blog/2013/11/11/why-you-should-never-use-mongodb/</link>
        <pubDate>Tue, 21 Sep 2021 05:51:06 GMT</pubDate>
      </item>
<item>
        <guid>1bb066ef-f91a-4be4-8cd2-6bced4dd1a5e</guid>
        <title>A Case For Use Cases</title>
        <description>https://webuild.envato.com/blog/a-case-for-use-cases/</description>
        <link>https://webuild.envato.com/blog/a-case-for-use-cases/</link>
        <pubDate>Fri, 10 Sep 2021 16:46:33 GMT</pubDate>
      </item>
<item>
        <guid>f62924ea-eb76-4a03-9b33-288be706def5</guid>
        <title>Fix `gyp: No Xcode or CLT version detected!` error</title>
        <description>Fix gyp: No Xcode or CLT version detected! error

If you have this error, and you running xcode-select --install tells you you have them inst…</description>
        <link>https://r3.sergiodxa.com/tutorials/fix-gyp-no-xcode-or-clt-version-detected-error</link>
        <pubDate>Thu, 09 Sep 2021 16:34:31 GMT</pubDate>
      </item>
<item>
        <guid>fc20a489-5a9d-49e9-973b-22dd724e03bf</guid>
        <title>Use Dependabot to keep Remix up-to-date</title>
        <description>If you use Dependabot to keep your project dependencies up-to-date, and if you use Remix you may have no…</description>
        <link>https://r3.sergiodxa.com/tutorials/use-dependabot-to-keep-remix-up-to-date</link>
        <pubDate>Wed, 08 Sep 2021 17:45:06 GMT</pubDate>
      </item>
<item>
        <guid>9bf18a1f-b297-4a9d-b896-5fe8aaf590f2</guid>
        <title>Automatic Revalidation in Remix</title>
        <description>If you have used SWR or React Query, you may be used to a feature both libraries have called automatic revalidat…</description>
        <link>https://r3.sergiodxa.com/articles/automatic-revalidation-in-remix</link>
        <pubDate>Tue, 31 Aug 2021 17:37:46 GMT</pubDate>
      </item>
<item>
        <guid>0f0564bd-41aa-4c73-899b-96fce6ee3fb7</guid>
        <title>People read on the web</title>
        <description>https://uxmyths.com/post/647473628/myth-people-read-on-the-web</description>
        <link>https://uxmyths.com/post/647473628/myth-people-read-on-the-web</link>
        <pubDate>Sat, 28 Aug 2021 03:47:50 GMT</pubDate>
      </item>
<item>
        <guid>0c64e83e-fb2d-4b5e-8185-20181a229a63</guid>
        <title>Why we use progressive enhancement to build GOV.UK</title>
        <description>https://technology.blog.gov.uk/2016/09/19/why-we-use-progressive-enhancement-to-build-gov-uk/</description>
        <link>https://technology.blog.gov.uk/2016/09/19/why-we-use-progressive-enhancement-to-build-gov-uk/</link>
        <pubDate>Mon, 16 Aug 2021 00:23:56 GMT</pubDate>
      </item>
<item>
        <guid>76320116-5942-4c53-9a93-981da8d5baba</guid>
        <title>Building a resilient frontend using progressive enhancement</title>
        <description>https://www.gov.uk/service-manual/technology/using-progressive-enhancement</description>
        <link>https://www.gov.uk/service-manual/technology/using-progressive-enhancement</link>
        <pubDate>Sun, 15 Aug 2021 18:50:24 GMT</pubDate>
      </item>
<item>
        <guid>1fc9547d-6eed-4199-b828-2be64d7402bc</guid>
        <title>I Want To Confirm a Prompt That We Stay Alert</title>
        <description>https://blog.jim-nielsen.com/2021/confirm-a-prompt-we-stay-alert/</description>
        <link>https://blog.jim-nielsen.com/2021/confirm-a-prompt-we-stay-alert/</link>
        <pubDate>Sun, 15 Aug 2021 18:09:52 GMT</pubDate>
      </item>
<item>
        <guid>db45905c-f77e-4ce4-8ea8-be143fc2fd30</guid>
        <title>Browsers and Representation</title>
        <description>https://blog.jim-nielsen.com/2021/browsers-and-representation/</description>
        <link>https://blog.jim-nielsen.com/2021/browsers-and-representation/</link>
        <pubDate>Sun, 15 Aug 2021 18:00:36 GMT</pubDate>
      </item>
<item>
        <guid>8f31b7cf-e7a2-4e64-912a-38303112d26e</guid>
        <title>Google vs. the web</title>
        <description>https://gomakethings.com/google-vs.-the-web/</description>
        <link>https://gomakethings.com/google-vs.-the-web/</link>
        <pubDate>Sun, 15 Aug 2021 17:53:58 GMT</pubDate>
      </item>
<item>
        <guid>9dd8c3fa-3b35-4476-8c39-4081c993572c</guid>
        <title>Back to the Bad Old Days of the Web</title>
        <description>https://jarango.com/2021/07/02/back-to-the-bad-old-days-of-the-web/</description>
        <link>https://jarango.com/2021/07/02/back-to-the-bad-old-days-of-the-web/</link>
        <pubDate>Sun, 15 Aug 2021 17:34:57 GMT</pubDate>
      </item>
<item>
        <guid>3b47fb57-63a9-4696-857b-6f5d869af140</guid>
        <title>The Mythical Document Web</title>
        <description>https://www.milezero.org/index.php/tech/web/the_mythical_document_web.html</description>
        <link>https://www.milezero.org/index.php/tech/web/the_mythical_document_web.html</link>
        <pubDate>Sun, 15 Aug 2021 17:28:39 GMT</pubDate>
      </item>
<item>
        <guid>a06060ec-d39f-4cbd-a018-053c20fd9e90</guid>
        <title>Breaking the web forward</title>
        <description>https://www.quirksmode.org/blog/archives/2021/08/breaking_the_we.html</description>
        <link>https://www.quirksmode.org/blog/archives/2021/08/breaking_the_we.html</link>
        <pubDate>Sun, 15 Aug 2021 17:28:11 GMT</pubDate>
      </item>
<item>
        <guid>eb19c2a1-a4f7-4b25-9256-c1115f0e8915</guid>
        <title>Back to the Future with RSS</title>
        <description>https://ncase.me/rss/</description>
        <link>https://ncase.me/rss/</link>
        <pubDate>Thu, 12 Aug 2021 18:28:42 GMT</pubDate>
      </item>
<item>
        <guid>b9e0ecf9-8f85-49a1-bfee-03f8628ca4a9</guid>
        <title>Client-Side Architecture Basics</title>
        <description>https://khalilstemmler.com/articles/client-side-architecture/introduction/</description>
        <link>https://khalilstemmler.com/articles/client-side-architecture/introduction/</link>
        <pubDate>Wed, 11 Aug 2021 06:11:36 GMT</pubDate>
      </item>
<item>
        <guid>5bb539be-7a2c-4c81-9ba7-855e41f33cb1</guid>
        <title>Organizing App Logic with the Clean Architecture </title>
        <description>https://khalilstemmler.com/articles/software-design-architecture/organizing-app-logic/</description>
        <link>https://khalilstemmler.com/articles/software-design-architecture/organizing-app-logic/</link>
        <pubDate>Wed, 11 Aug 2021 04:23:15 GMT</pubDate>
      </item>
<item>
        <guid>2f416582-543d-4c33-b11e-2c56a9d1ed35</guid>
        <title>Implementing DTOs, Mappers and the Repository Pattern</title>
        <description>https://khalilstemmler.com/articles/typescript-domain-driven-design/repository-dto-mapper/</description>
        <link>https://khalilstemmler.com/articles/typescript-domain-driven-design/repository-dto-mapper/</link>
        <pubDate>Wed, 11 Aug 2021 03:14:51 GMT</pubDate>
      </item>
<item>
        <guid>1bf0a3e7-d8e5-492c-b945-6efd570e8620</guid>
        <title>Screaming Architecture</title>
        <description>https://blog.cleancoder.com/uncle-bob/2011/09/30/Screaming-Architecture.html</description>
        <link>https://blog.cleancoder.com/uncle-bob/2011/09/30/Screaming-Architecture.html</link>
        <pubDate>Wed, 11 Aug 2021 02:46:05 GMT</pubDate>
      </item>
<item>
        <guid>343515ac-ba4c-40a3-b76f-148180ff1d66</guid>
        <title>Better Software Design with Application Layer Use Cases</title>
        <description>https://khalilstemmler.com/articles/enterprise-typescript-nodejs/application-layer-use-cases/</description>
        <link>https://khalilstemmler.com/articles/enterprise-typescript-nodejs/application-layer-use-cases/</link>
        <pubDate>Wed, 11 Aug 2021 02:37:14 GMT</pubDate>
      </item>
<item>
        <guid>433759f9-e95f-4d1d-9c8f-465164c29f0b</guid>
        <title>Anemic Domain Model</title>
        <description>https://khalilstemmler.com/wiki/anemic-domain-model/</description>
        <link>https://khalilstemmler.com/wiki/anemic-domain-model/</link>
        <pubDate>Wed, 11 Aug 2021 01:41:46 GMT</pubDate>
      </item>
<item>
        <guid>8be86b6b-abdb-4a46-872f-f820c3a9be3a</guid>
        <title>Value Objects - DDD w/ TypeScript</title>
        <description>https://khalilstemmler.com/articles/typescript-value-object/</description>
        <link>https://khalilstemmler.com/articles/typescript-value-object/</link>
        <pubDate>Wed, 11 Aug 2021 01:38:39 GMT</pubDate>
      </item>
<item>
        <guid>e5609ceb-2d7c-4d3a-a149-33085bd61c42</guid>
        <title>iOS 15, Humane</title>
        <description>https://potential.app/ios-15-humane</description>
        <link>https://potential.app/ios-15-humane</link>
        <pubDate>Tue, 10 Aug 2021 06:43:16 GMT</pubDate>
      </item>
<item>
        <guid>53f8791b-472e-40c7-9dff-8bcaf3e4f2fe</guid>
        <title>Don't overabstract your components</title>
        <description>https://kirjai.com/component-abstraction/</description>
        <link>https://kirjai.com/component-abstraction/</link>
        <pubDate>Fri, 16 Jul 2021 05:17:34 GMT</pubDate>
      </item>
<item>
        <guid>487451eb-062b-42ed-b732-f3fe4220002d</guid>
        <title>Creating a PDF with React in the Browser</title>
        <description>If you need to generate a PDF for your users, maybe some reports or a document you want users to be abl…</description>
        <link>https://r3.sergiodxa.com/articles/creating-a-pdf-with-react-in-the-browser</link>
        <pubDate>Wed, 14 Jul 2021 17:58:01 GMT</pubDate>
      </item>
<item>
        <guid>b125a596-1c9d-42e5-860a-d513c3e9404d</guid>
        <title>Meta Theme Color and Trickery</title>
        <description>https://css-tricks.com/meta-theme-color-and-trickery/</description>
        <link>https://css-tricks.com/meta-theme-color-and-trickery/</link>
        <pubDate>Tue, 13 Jul 2021 17:35:19 GMT</pubDate>
      </item>
<item>
        <guid>f332518b-c019-4ba8-a56c-ba2e2173647f</guid>
        <title>Sending data from layout to leaf routes in Remix</title>
        <description>Hey! This is outdated, Remix Outlet component now supports sending data to leaf routes using …</description>
        <link>https://r3.sergiodxa.com/articles/sending-data-from-layout-to-leaf-routes-in-remix</link>
        <pubDate>Tue, 29 Jun 2021 06:19:57 GMT</pubDate>
      </item>
<item>
        <guid>4ff0a041-9d21-4774-8d3e-0c2c6e8d72dc</guid>
        <title>Using Service Workers with Remix</title>
        <description>A Remix app is by default fast, the framework optimize a lot how the required resources for a page are loaded s…</description>
        <link>https://r3.sergiodxa.com/articles/using-service-workers-with-remix</link>
        <pubDate>Tue, 29 Jun 2021 06:08:42 GMT</pubDate>
      </item>
<item>
        <guid>4c2882eb-f88b-44a2-b401-965ca9940471</guid>
        <title>Localizing Remix apps with i18next</title>
        <description>There's a lot if libraries to implement i18n in JS and React, and i18next is one of the most popular out ther…</description>
        <link>https://r3.sergiodxa.com/articles/localizing-remix-apps-with-i18next</link>
        <pubDate>Tue, 29 Jun 2021 05:53:24 GMT</pubDate>
      </item>
<item>
        <guid>5a8bd6f2-907e-4c70-b271-7f5340dd7317</guid>
        <title>Adding CSRF protection to Remix</title>
        <description>While you may not need CSRF if your cookies have the SameSite: Lax configured, it may still be a good idea to …</description>
        <link>https://r3.sergiodxa.com/articles/adding-csrf-protection-to-remix</link>
        <pubDate>Mon, 28 Jun 2021 20:49:49 GMT</pubDate>
      </item>
<item>
        <guid>730eb5c9-79e3-4cc6-b3e0-262a1d952a90</guid>
        <title>Load only the data you need in Remix</title>
        <description>If you are used to build SPA and your APIs are REST you probably have found the issue with over fetching, t…</description>
        <link>https://r3.sergiodxa.com/tutorials/load-only-the-data-you-need-in-remix</link>
        <pubDate>Fri, 18 Jun 2021 16:45:32 GMT</pubDate>
      </item>
<item>
        <guid>fe7d3efa-8423-4574-a344-0349aa196677</guid>
        <title>Server-Side authentication with Auth0 in Remix</title>
        <description>While this works, I recommend you to don't do all of this yourself, instead use Remix Auth with…</description>
        <link>https://r3.sergiodxa.com/articles/server-side-authentication-with-auth0-in-remix</link>
        <pubDate>Thu, 17 Jun 2021 23:12:21 GMT</pubDate>
      </item>
<item>
        <guid>b4804544-0c72-4034-bc45-7c59ab1e781f</guid>
        <title>Using TailwindCSS with Remix</title>
        <description>Let's see how to do the setup of TailwindCSS for a project using Remix.
Install Tailwind

The first thing we ne…</description>
        <link>https://r3.sergiodxa.com/articles/using-tailwindcss-with-remix</link>
        <pubDate>Thu, 17 Jun 2021 22:13:00 GMT</pubDate>
      </item>
<item>
        <guid>3ebf4c7e-834c-4307-a202-06986ab9be90</guid>
        <title>Use ETags in Remix</title>
        <description>ETags are strings used to identify a particular version of a resource. If the URL is the identity of a resource the ETag is t…</description>
        <link>https://r3.sergiodxa.com/tutorials/use-etags-in-remix</link>
        <pubDate>Wed, 16 Jun 2021 16:32:36 GMT</pubDate>
      </item>
<item>
        <guid>75122554-b3a6-4071-ac57-dedfa89f92e9</guid>
        <title>Jest Matchers for Remix responses</title>
        <description>When testing the logic of an action in Remix, or any function returning a Response, even a Fetch API Response,…</description>
        <link>https://r3.sergiodxa.com/articles/jest-matchers-for-remix-responses</link>
        <pubDate>Tue, 01 Jun 2021 22:44:26 GMT</pubDate>
      </item>
<item>
        <guid>ea59b67b-4a21-49ea-bfe8-699835744969</guid>
        <title>Using Form Objects inside Remix actions</title>
        <description>In Remix, each route can export a single action function used to handle any non GET request received b…</description>
        <link>https://r3.sergiodxa.com/articles/using-form-objects-inside-remix-actions</link>
        <pubDate>Tue, 01 Jun 2021 05:51:41 GMT</pubDate>
      </item>
<item>
        <guid>76db0fc4-eb4a-4656-8b9f-00bfafd5f29b</guid>
        <title>Route protection in Remix with Policies</title>
        <description>A Policy is a design pattern used to define authorization rules that can be re-used easily across an app…</description>
        <link>https://r3.sergiodxa.com/articles/route-protection-in-remix-with-policies</link>
        <pubDate>Thu, 27 May 2021 16:12:11 GMT</pubDate>
      </item>
<item>
        <guid>986edd2c-a6ea-4a08-abd5-28892cd960c7</guid>
        <title>Redirect to the original URL inside a Remix action</title>
        <description>Let's say the user is currently at the URL /:username, and there's a button to follow that …</description>
        <link>https://r3.sergiodxa.com/tutorials/redirect-to-the-original-url-inside-a-remix-action</link>
        <pubDate>Thu, 20 May 2021 21:29:16 GMT</pubDate>
      </item>
<item>
        <guid>bb2f2a70-caa0-41aa-96b4-4d3ce3e06103</guid>
        <title>Read search params with JS</title>
        <description>If you need to read the search params (aka query string) from a URL in JS the most common way is to use one of the mu…</description>
        <link>https://r3.sergiodxa.com/tutorials/read-search-params-with-js</link>
        <pubDate>Tue, 18 May 2021 16:31:40 GMT</pubDate>
      </item>
<item>
        <guid>277a7e39-b460-43df-976c-8e4ccec6e74b</guid>
        <title>Use ActiveModel::Serializer with non ActiveRecord object</title>
        <description>If you are trying to serialize an object which is not an instance of ActiveRecord, when…</description>
        <link>https://r3.sergiodxa.com/tutorials/use-activemodel-serializer-with-non-activerecord-object</link>
        <pubDate>Mon, 17 May 2021 20:15:30 GMT</pubDate>
      </item>
<item>
        <guid>0f8c90cd-4d04-4e97-bdda-9350c84ad2d6</guid>
        <title>Serialize list of items with ActiveModel::Serializer</title>
        <description>Most of the them, when working on Rails with ActiveModel::Serializer you will do something …</description>
        <link>https://r3.sergiodxa.com/tutorials/serialize-list-of-items-with-activemodel-serializer</link>
        <pubDate>Mon, 17 May 2021 18:42:02 GMT</pubDate>
      </item>
<item>
        <guid>35cdbf34-4426-4876-bf4b-89ca54d14250</guid>
        <title>Use serializers with JSON.stringify and JSON.parse</title>
        <description>If you are working with an API which expects and returns keys without using camelCase, e.g if…</description>
        <link>https://r3.sergiodxa.com/tutorials/use-serializers-with-json-stringify-and-json-parse</link>
        <pubDate>Wed, 12 May 2021 23:19:48 GMT</pubDate>
      </item>
<item>
        <guid>22da0bdc-d599-47ee-85ab-272efcbc740d</guid>
        <title>Force a locale in Rails I18n from the params</title>
        <description>If you want to change the local used for internationalization a single time from the params of the …</description>
        <link>https://r3.sergiodxa.com/tutorials/force-a-locale-in-rails-i18n-from-the-params</link>
        <pubDate>Tue, 11 May 2021 05:02:35 GMT</pubDate>
      </item>
<item>
        <guid>c3a0ced6-c795-48df-a456-2256b171d1ab</guid>
        <title>Que es un bundler de JS</title>
        <description>Para entender esto es un poco útil que aprendan como funcionaban las dependencias antes, hace mucho tiempo atrás (unos 6…</description>
        <link>https://r3.sergiodxa.com/articles/que-es-un-bundler-de-js</link>
        <pubDate>Fri, 07 May 2021 03:53:50 GMT</pubDate>
      </item>
<item>
        <guid>6e7db86f-f174-440e-9f09-636871a52659</guid>
        <title>Remix vs Next.js Comparison</title>
        <description>I have been using Next for years, since the v1 was released, I even become an early contributor of the framework and…</description>
        <link>https://r3.sergiodxa.com/articles/remix-vs-next-js-comparison</link>
        <pubDate>Mon, 26 Apr 2021 05:38:21 GMT</pubDate>
      </item>
<item>
        <guid>effbe586-ac53-42d4-84bc-5e247f832182</guid>
        <title>Imagining native skip links</title>
        <description>https://kittygiraudel.com/2021/03/07/imagining-native-skip-links/</description>
        <link>https://kittygiraudel.com/2021/03/07/imagining-native-skip-links/</link>
        <pubDate>Wed, 24 Mar 2021 03:23:23 GMT</pubDate>
      </item>
<item>
        <guid>e8679159-1a70-4ce9-8dd8-447181fb520f</guid>
        <title>Add missing `created_at` and `updated_at` columns in Rails</title>
        <description>Add missing created_at and updated_at columns in Rails

If, like me, you forgot to add the t.timestamps when creating a new table, you may …</description>
        <link>https://r3.sergiodxa.com/tutorials/add-missing-created_at-and-updated_at-columns-in-rails</link>
        <pubDate>Tue, 23 Mar 2021 22:53:31 GMT</pubDate>
      </item>
<item>
        <guid>7c513fbf-9d9e-45b4-a00d-f88a628951c5</guid>
        <title>Rails design patterns - The big picture</title>
        <description>https://longliveruby.com/articles/rails-design-patterns-the-big-picture</description>
        <link>https://longliveruby.com/articles/rails-design-patterns-the-big-picture</link>
        <pubDate>Wed, 03 Mar 2021 20:39:25 GMT</pubDate>
      </item>
<item>
        <guid>d4529a72-dcd2-47c8-a262-7cfad7ac2873</guid>
        <title>How to rename a column in a Rails migration</title>
        <description>If, for some reason, you need to rename a column in a table you need to create a new migration and r…</description>
        <link>https://r3.sergiodxa.com/articles/how-to-rename-a-column-in-a-rails-migration</link>
        <pubDate>Wed, 03 Mar 2021 16:54:48 GMT</pubDate>
      </item>
<item>
        <guid>07c7c5d7-9eef-41a4-8e6b-85564b0ef4b2</guid>
        <title>Before You memo()</title>
        <description>https://overreacted.io/before-you-memo/</description>
        <link>https://overreacted.io/before-you-memo/</link>
        <pubDate>Tue, 23 Feb 2021 05:55:44 GMT</pubDate>
      </item>
<item>
        <guid>ad1c837b-5cca-491f-a105-8b1cb29df0e4</guid>
        <title>Usar variables de entorno en Next.js</title>
        <description>Las variables de entorno nos permiten configurar como un software se ejecuta dependiendo de la computadora …</description>
        <link>https://r3.sergiodxa.com/articles/usar-variables-de-entorno-en-next-js</link>
        <pubDate>Tue, 23 Feb 2021 05:24:25 GMT</pubDate>
      </item>
<item>
        <guid>3b4927af-0153-4c3c-ae88-586f6adf80c8</guid>
        <title>Implement a Skip Link for Navigation-Heavy Sites</title>
        <description>https://www.benmyers.dev/blog/skip-links/</description>
        <link>https://www.benmyers.dev/blog/skip-links/</link>
        <pubDate>Tue, 16 Feb 2021 07:36:56 GMT</pubDate>
      </item>
<item>
        <guid>e471dd35-50f3-470a-a1b3-53717594ba05</guid>
        <title>Meaningful Motion with Action-Driven Animation</title>
        <description>https://tobiasahlin.com/blog/meaningful-motion-w-action-driven-animation/</description>
        <link>https://tobiasahlin.com/blog/meaningful-motion-w-action-driven-animation/</link>
        <pubDate>Wed, 10 Feb 2021 04:11:33 GMT</pubDate>
      </item>
<item>
        <guid>8fdafdaa-8422-4b75-8321-682269c87597</guid>
        <title>An Interactive Guide to CSS Transitions</title>
        <description>https://www.joshwcomeau.com/animation/css-transitions/</description>
        <link>https://www.joshwcomeau.com/animation/css-transitions/</link>
        <pubDate>Tue, 09 Feb 2021 16:32:13 GMT</pubDate>
      </item>
<item>
        <guid>49ed5a33-1dc6-4a32-9cab-bec3ff3ee49b</guid>
        <title>Build your own RSS Reader</title>
        <description>RSS is a standard way to use XML to share content from a website so other apps could read it and show it in a differen…</description>
        <link>https://r3.sergiodxa.com/tutorials/build-your-own-rss-reader</link>
        <pubDate>Mon, 01 Feb 2021 05:53:03 GMT</pubDate>
      </item>
<item>
        <guid>06d17028-1c57-4efb-b052-252a5359e3d1</guid>
        <title>Keep Heading Levels Consistent with React Context</title>
        <description>When building for the web one of the most common elements are the heading tags (h1 to h6) …</description>
        <link>https://r3.sergiodxa.com/tutorials/keep-heading-levels-consistent-with-react-context</link>
        <pubDate>Sun, 31 Jan 2021 22:37:23 GMT</pubDate>
      </item>
<item>
        <guid>9aa6ff14-8b23-4a87-9fcf-dbfe5adf7386</guid>
        <title>Preload: What Is It Good For?</title>
        <description>https://www.smashingmagazine.com/2016/02/preload-what-is-it-good-for/</description>
        <link>https://www.smashingmagazine.com/2016/02/preload-what-is-it-good-for/</link>
        <pubDate>Thu, 28 Jan 2021 05:38:53 GMT</pubDate>
      </item>
<item>
        <guid>b7c4622a-9dd9-4108-98ed-243e5e58cab6</guid>
        <title>The unreasonable effectiveness of simple HTML</title>
        <description>https://shkspr.mobi/blog/2021/01/the-unreasonable-effectiveness-of-simple-html/</description>
        <link>https://shkspr.mobi/blog/2021/01/the-unreasonable-effectiveness-of-simple-html/</link>
        <pubDate>Wed, 27 Jan 2021 21:51:58 GMT</pubDate>
      </item>
<item>
        <guid>1db5db39-f911-4b8e-a76b-62b89a1e9852</guid>
        <title>Open Peeps</title>
        <description>https://www.openpeeps.com/</description>
        <link>https://www.openpeeps.com/</link>
        <pubDate>Sat, 23 Jan 2021 02:39:12 GMT</pubDate>
      </item>
<item>
        <guid>40a833b8-4f37-4aa4-81a7-29fa22c3b4d0</guid>
        <title>System Design 101</title>
        <description>https://stanete.com/system-design-101</description>
        <link>https://stanete.com/system-design-101</link>
        <pubDate>Sun, 17 Jan 2021 21:04:42 GMT</pubDate>
      </item>
<item>
        <guid>aa59b108-3b3a-4bcb-a859-c4862a7b57d4</guid>
        <title>A primer on investing for designers and developers</title>
        <description>https://brianlovin.com/overthought/investing-for-designers-and-developers</description>
        <link>https://brianlovin.com/overthought/investing-for-designers-and-developers</link>
        <pubDate>Thu, 14 Jan 2021 08:42:05 GMT</pubDate>
      </item>
<item>
        <guid>e6f84ed9-0195-4b76-b0ef-4a9c324cb660</guid>
        <title>About</title>
        <description>A photo of me

Hi there! I'm a web developer currently based on Lima, Perú.

I'm currently working in Silverback Ventures as the web devel…</description>
        <link>https://r3.sergiodxa.com/articles/about</link>
        <pubDate>Thu, 14 Jan 2021 06:04:53 GMT</pubDate>
      </item>
<item>
        <guid>10cd2f5b-90e1-4a87-8302-e682726d7100</guid>
        <title>In Critical Defense of Frontend Develop</title>
        <description>https://meiert.com/en/blog/critical-frontend-development/</description>
        <link>https://meiert.com/en/blog/critical-frontend-development/</link>
        <pubDate>Thu, 14 Jan 2021 01:57:17 GMT</pubDate>
      </item>
<item>
        <guid>f5931cf5-8f95-41b1-b767-5a305b87440d</guid>
        <title>Be Wary of Nesting Roles</title>
        <description>https://adrianroselli.com/2016/12/be-wary-of-nesting-roles.html</description>
        <link>https://adrianroselli.com/2016/12/be-wary-of-nesting-roles.html</link>
        <pubDate>Sun, 03 Jan 2021 20:20:31 GMT</pubDate>
      </item>
<item>
        <guid>a0902991-9aae-4f7d-b642-3c03457c9851</guid>
        <title>Accessible SVGs</title>
        <description>https://css-tricks.com/accessible-svgs/</description>
        <link>https://css-tricks.com/accessible-svgs/</link>
        <pubDate>Wed, 23 Dec 2020 23:42:04 GMT</pubDate>
      </item>
<item>
        <guid>0c4d6b98-9470-4b58-beb8-a5a6edad928f</guid>
        <title>¿Qué son Server Components de React y cómo se relacionan con SSR/SSG/ISR?</title>
        <description>Ayer el team de React…</description>
        <link>https://r3.sergiodxa.com/articles/que-son-server-components-de-react-y-como-se-relacionan-con-ssr-ssg-isr</link>
        <pubDate>Wed, 23 Dec 2020 02:42:09 GMT</pubDate>
      </item>
<item>
        <guid>54b1354a-3615-4dc7-bc12-4e7572201413</guid>
        <title>🔥 Pro Tip: Name your useEffect functions</title>
        <description>When creating an effect in React, avoid arrow function and instead use a function with a name. This wil…</description>
        <link>https://r3.sergiodxa.com/articles/pro-tip-name-your-useeffect-functions</link>
        <pubDate>Thu, 17 Dec 2020 20:01:10 GMT</pubDate>
      </item>
<item>
        <guid>253029d2-80b6-4444-bfa4-09ced37f2ea4</guid>
        <title>dotCSS 2019 - Sarah Dayan - In Defense of Utility-First CSS</title>
        <description>https://youtu.be/R50q4NES6Iw</description>
        <link>https://youtu.be/R50q4NES6Iw</link>
        <pubDate>Thu, 10 Dec 2020 00:03:04 GMT</pubDate>
      </item>
<item>
        <guid>039907c1-5623-4f01-8070-e3cbd82ca056</guid>
        <title>Alt-texts: The Ultimate Guide</title>
        <description>https://axesslab.com/alt-texts/</description>
        <link>https://axesslab.com/alt-texts/</link>
        <pubDate>Wed, 09 Dec 2020 21:55:25 GMT</pubDate>
      </item>
<item>
        <guid>de0d6f1a-2f81-473f-8bba-3b5b18d3d765</guid>
        <title>Polymorphic React Components in TypeScript</title>
        <description>https://www.benmvp.com/blog/polymorphic-react-components-typescript/</description>
        <link>https://www.benmvp.com/blog/polymorphic-react-components-typescript/</link>
        <pubDate>Tue, 08 Dec 2020 03:14:30 GMT</pubDate>
      </item>
<item>
        <guid>aecfdc46-f85e-4ed2-b838-432672cbec8b</guid>
        <title>CSS and Scalability</title>
        <description>http://mrmrs.io/writing/2016/03/24/scalable-css/</description>
        <link>http://mrmrs.io/writing/2016/03/24/scalable-css/</link>
        <pubDate>Sun, 06 Dec 2020 06:36:34 GMT</pubDate>
      </item>
<item>
        <guid>3efca413-7796-4d2e-ab22-c5408383acd9</guid>
        <title>Using MDX with Remote Content</title>
        <description>One of the most common ways to use MDX in a website is to have the .mdx files together with the rest of the webs…</description>
        <link>https://r3.sergiodxa.com/articles/using-mdx-with-remote-content</link>
        <pubDate>Mon, 23 Nov 2020 22:25:06 GMT</pubDate>
      </item>
<item>
        <guid>777e9f04-9fb4-4913-b8dc-26f00836ddc2</guid>
        <title>The UI and UX Tips Collection: Volume One.</title>
        <description>https://marcandrew.me/ui-ux-tips-collection-vol-one/</description>
        <link>https://marcandrew.me/ui-ux-tips-collection-vol-one/</link>
        <pubDate>Mon, 23 Nov 2020 07:07:29 GMT</pubDate>
      </item>
<item>
        <guid>07577c1e-2de4-42bc-917d-aa02f1431c7d</guid>
        <title>Practical React Query</title>
        <description>https://tkdodo.eu/blog/practical-react-query</description>
        <link>https://tkdodo.eu/blog/practical-react-query</link>
        <pubDate>Tue, 17 Nov 2020 00:41:21 GMT</pubDate>
      </item>
<item>
        <guid>e4ba7878-5144-49f2-bec4-fb067f3031a8</guid>
        <title>Use TailwindCSS Typography with Dark Mode Styles</title>
        <description>Since TailwindCSS v2 it comes with dark mode support. Enabling it is really simple, in the `tai…</description>
        <link>https://r3.sergiodxa.com/tutorials/use-tailwindcss-typography-with-dark-mode-styles</link>
        <pubDate>Mon, 16 Nov 2020 06:57:08 GMT</pubDate>
      </item>
<item>
        <guid>cbaf68bd-98bf-4b11-a4fd-bbd90d770701</guid>
        <title>Don't design for mobile</title>
        <description>https://mattanddesign.com/dont-design-for-mobile/</description>
        <link>https://mattanddesign.com/dont-design-for-mobile/</link>
        <pubDate>Fri, 13 Nov 2020 18:38:45 GMT</pubDate>
      </item>
<item>
        <guid>b1dc487b-c760-4b29-bda8-ca66b37c526e</guid>
        <title>Stop Using “Drop-down”</title>
        <description>https://adrianroselli.com/2020/03/stop-using-drop-down.html</description>
        <link>https://adrianroselli.com/2020/03/stop-using-drop-down.html</link>
        <pubDate>Sun, 25 Oct 2020 09:33:07 GMT</pubDate>
      </item>
<item>
        <guid>ef664bf2-389b-4834-8f1b-f77de5ef4aad</guid>
        <title>Decoupling, Architecture and Teams</title>
        <description>http://mikehadlow.blogspot.com/2018/11/decoupling-architecture-and-teams.html</description>
        <link>http://mikehadlow.blogspot.com/2018/11/decoupling-architecture-and-teams.html</link>
        <pubDate>Thu, 22 Oct 2020 05:52:38 GMT</pubDate>
      </item>
<item>
        <guid>ada17075-6b2d-4e0d-bc35-1a7063bd3b2e</guid>
        <title>The Lava Layer Anti-Pattern</title>
        <description>http://mikehadlow.blogspot.com/2014/12/the-lava-layer-anti-pattern.html</description>
        <link>http://mikehadlow.blogspot.com/2014/12/the-lava-layer-anti-pattern.html</link>
        <pubDate>Thu, 22 Oct 2020 05:22:53 GMT</pubDate>
      </item>
<item>
        <guid>c701564d-6255-4d5f-880a-52cb9eafcea8</guid>
        <title>UI as an afterthought</title>
        <description>https://michel.codes/blogs/ui-as-an-afterthought</description>
        <link>https://michel.codes/blogs/ui-as-an-afterthought</link>
        <pubDate>Sun, 18 Oct 2020 00:19:35 GMT</pubDate>
      </item>
<item>
        <guid>242dfbae-50c1-4114-9f4f-d4a9025034a3</guid>
        <title>Todo lo que sé de SWR</title>
        <description>Conceptos Básicos
Introducción

En este artículo muy largo vamos a ver como usar esta librería para trabajar con d…</description>
        <link>https://r3.sergiodxa.com/articles/todo-lo-que-se-de-swr</link>
        <pubDate>Sun, 13 Sep 2020 10:26:26 GMT</pubDate>
      </item>
<item>
        <guid>79da3fa3-98b0-4341-af5d-dfc218a6a8e1</guid>
        <title>In 2020, what is "frontend" 🤨</title>
        <description>https://swizec.com/blog/in-2020-what-is-frontend/</description>
        <link>https://swizec.com/blog/in-2020-what-is-frontend/</link>
        <pubDate>Mon, 07 Sep 2020 19:29:19 GMT</pubDate>
      </item>
<item>
        <guid>02a56c85-8ae5-43a5-822d-404be4b9e56e</guid>
        <title>How React Query gives you almost everything you thought you needed GraphQL for</title>
        <description>https://swizec.com/blog/how-react-query-gives-you-almost-everything-you-thought-you-needed-graphql-for/</description>
        <link>https://swizec.com/blog/how-react-query-gives-you-almost-everything-you-thought-you-needed-graphql-for/</link>
        <pubDate>Mon, 07 Sep 2020 19:00:05 GMT</pubDate>
      </item>
<item>
        <guid>c258c322-9578-42ed-bd1a-eb0879e989f4</guid>
        <title>Wormhole state management</title>
        <description>https://swizec.com/blog/wormhole-state-management/</description>
        <link>https://swizec.com/blog/wormhole-state-management/</link>
        <pubDate>Mon, 07 Sep 2020 18:40:38 GMT</pubDate>
      </item>
<item>
        <guid>7bc466b1-ebae-462b-a922-0fa929bf4c7e</guid>
        <title>Todo el software está roto</title>
        <description>https://youtu.be/0riSpvps4mA</description>
        <link>https://youtu.be/0riSpvps4mA</link>
        <pubDate>Mon, 07 Sep 2020 09:08:37 GMT</pubDate>
      </item>
<item>
        <guid>210d0d4d-3f88-41fa-a10d-aa86662f60b9</guid>
        <title>What is the Value of Browser Diversity?</title>
        <description>https://daverupert.com/2020/09/the-value-of-browser-diversity/</description>
        <link>https://daverupert.com/2020/09/the-value-of-browser-diversity/</link>
        <pubDate>Sun, 06 Sep 2020 08:54:33 GMT</pubDate>
      </item>
<item>
        <guid>d5bd34d3-af41-4d06-9684-6d0b1e0f90eb</guid>
        <title>Margins and Composability in CSS</title>
        <description>https://giuseppegurgone.com/margins-and-composability-in-css/</description>
        <link>https://giuseppegurgone.com/margins-and-composability-in-css/</link>
        <pubDate>Fri, 04 Sep 2020 18:24:24 GMT</pubDate>
      </item>
<item>
        <guid>c0033ff1-be32-4707-be77-c4c139c7a6b4</guid>
        <title>Nailing Your First (Info-Product) Launch</title>
        <description>https://microconf.gen.co/adam-wathan/</description>
        <link>https://microconf.gen.co/adam-wathan/</link>
        <pubDate>Tue, 01 Sep 2020 08:05:54 GMT</pubDate>
      </item>
<item>
        <guid>7efc9b90-c8f0-47b0-b75c-91ba861f7f21</guid>
        <title>Defining Component APIs in React</title>
        <description>https://jxnblk.com/blog/defining-component-apis-in-react/</description>
        <link>https://jxnblk.com/blog/defining-component-apis-in-react/</link>
        <pubDate>Tue, 01 Sep 2020 08:00:21 GMT</pubDate>
      </item>
<item>
        <guid>0057f0ef-4b36-4696-9de0-798b159284e3</guid>
        <title>The Modern Front-End Design System Stack</title>
        <description>https://jxnblk.com/blog/the-modern-front-end-design-system/</description>
        <link>https://jxnblk.com/blog/the-modern-front-end-design-system/</link>
        <pubDate>Tue, 01 Sep 2020 07:59:04 GMT</pubDate>
      </item>
<item>
        <guid>19c81f26-e716-4f3b-8734-e0b9fc8678cb</guid>
        <title>Building the New facebook.com with React, GraphQL and Relay</title>
        <description>https://developers.facebook.com/videos/2019/building-the-new-facebookcom-with-react-graphql-and-relay/</description>
        <link>https://developers.facebook.com/videos/2019/building-the-new-facebookcom-with-react-graphql-and-relay/</link>
        <pubDate>Tue, 01 Sep 2020 07:58:25 GMT</pubDate>
      </item>
<item>
        <guid>aeefcb40-555a-4b50-8e99-bc5b1396e00e</guid>
        <title>Architecting UIs for Change</title>
        <description>https://joreteg.com/blog/architecting-uis-for-change</description>
        <link>https://joreteg.com/blog/architecting-uis-for-change</link>
        <pubDate>Tue, 01 Sep 2020 07:57:14 GMT</pubDate>
      </item>
<item>
        <guid>e20965cd-9c74-4c73-bf2a-b8df064018a1</guid>
        <title>When frontend means full stack</title>
        <description>https://increment.com/frontend/when-frontend-means-full-stack/</description>
        <link>https://increment.com/frontend/when-frontend-means-full-stack/</link>
        <pubDate>Tue, 01 Sep 2020 07:55:02 GMT</pubDate>
      </item>
<item>
        <guid>104f66c4-2ce5-4c17-bebd-654f09d4d768</guid>
        <title>Building a Button Part 2: Hover Interactions</title>
        <description>https://react-spectrum.adobe.com/blog/building-a-button-part-2.html</description>
        <link>https://react-spectrum.adobe.com/blog/building-a-button-part-2.html</link>
        <pubDate>Wed, 26 Aug 2020 23:53:25 GMT</pubDate>
      </item>
<item>
        <guid>6055a6d2-fff6-484e-a2fa-a67bc2cb28ca</guid>
        <title>Building a Button Part 1: Press Events</title>
        <description>https://react-spectrum.adobe.com/blog/building-a-button-part-1.html</description>
        <link>https://react-spectrum.adobe.com/blog/building-a-button-part-1.html</link>
        <pubDate>Wed, 26 Aug 2020 23:53:18 GMT</pubDate>
      </item>
<item>
        <guid>9ca8953b-d514-4d86-ae6c-e9b4d9bf37d9</guid>
        <title>The States of the UI</title>
        <description>Let's say you are in charge of building the UI of Twitter, how many states do you think that UI …</description>
        <link>https://r3.sergiodxa.com/articles/the-states-of-the-ui</link>
        <pubDate>Tue, 25 Aug 2020 00:32:55 GMT</pubDate>
      </item>
<item>
        <guid>95f6470d-92e6-4d98-a877-6c70df9fc4f4</guid>
        <title>About HTML semantics and front-end architecture</title>
        <description>http://nicolasgallagher.com/about-html-semantics-front-end-architecture/</description>
        <link>http://nicolasgallagher.com/about-html-semantics-front-end-architecture/</link>
        <pubDate>Mon, 24 Aug 2020 22:01:49 GMT</pubDate>
      </item>
<item>
        <guid>0d78d521-157f-49db-96be-6751e0cba568</guid>
        <title>"Semantic" CSS</title>
        <description>https://adamwathan.me/2014/11/10/semantic-css/</description>
        <link>https://adamwathan.me/2014/11/10/semantic-css/</link>
        <pubDate>Mon, 24 Aug 2020 22:01:26 GMT</pubDate>
      </item>
<item>
        <guid>fe4db58d-18da-448e-8802-4089d1ea534f</guid>
        <title>CSS Utility Classes and "Separation of Concerns"</title>
        <description>https://adamwathan.me/css-utility-classes-and-separation-of-concerns/</description>
        <link>https://adamwathan.me/css-utility-classes-and-separation-of-concerns/</link>
        <pubDate>Mon, 24 Aug 2020 22:01:17 GMT</pubDate>
      </item>
<item>
        <guid>e77403cd-a0c1-4e9d-aa84-58dee8b028c7</guid>
        <title>Second-guessing the modern web</title>
        <description>https://macwright.com/2020/05/10/spa-fatigue.html</description>
        <link>https://macwright.com/2020/05/10/spa-fatigue.html</link>
        <pubDate>Mon, 24 Aug 2020 18:49:39 GMT</pubDate>
      </item>
<item>
        <guid>41ff4d93-8874-4502-97e2-f8c56297b859</guid>
        <title>A clean start for the web</title>
        <description>https://macwright.com/2020/08/22/clean-starts-for-the-web.html</description>
        <link>https://macwright.com/2020/08/22/clean-starts-for-the-web.html</link>
        <pubDate>Mon, 24 Aug 2020 18:12:58 GMT</pubDate>
      </item>
<item>
        <guid>8a429769-28b6-43d7-9ac4-8f67c023187e</guid>
        <title>What I Use</title>
        <description>This is my current development setup.
Tech Stack


TypeSc…</description>
        <link>https://r3.sergiodxa.com/articles/uses</link>
        <pubDate>Sun, 23 Aug 2020 23:53:18 GMT</pubDate>
      </item>
<item>
        <guid>55d2cd7b-d3d0-4552-9a31-994b3bc7a243</guid>
        <title>Writing Type-Safe Polymorphic React Components (Without Crashing TypeScript)</title>
        <description>https://blog.andrewbran.ch/polymorphic-react-components/</description>
        <link>https://blog.andrewbran.ch/polymorphic-react-components/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:56 GMT</pubDate>
      </item>
<item>
        <guid>eaecf261-55a3-40a2-87ac-6a8de42f4b0c</guid>
        <title>Using SwiftUI's Spacer to Create Complex Layouts</title>
        <description>https://benmcmahen.com/using-spacer-in-swiftui/</description>
        <link>https://benmcmahen.com/using-spacer-in-swiftui/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:55 GMT</pubDate>
      </item>
<item>
        <guid>3999086a-91cb-4b9f-a419-48edae8d32b3</guid>
        <title>Most tech content is bullshit</title>
        <description>https://www.aleksandra.codes/tech-content-consumer</description>
        <link>https://www.aleksandra.codes/tech-content-consumer</link>
        <pubDate>Sun, 23 Aug 2020 05:18:55 GMT</pubDate>
      </item>
<item>
        <guid>3c91aaa5-4ea9-446e-ab21-9db1808e95d8</guid>
        <title>The Art of UI Skeletons</title>
        <description>http://farmdev.com/thoughts/108/the-art-of-ui-skeletons/</description>
        <link>http://farmdev.com/thoughts/108/the-art-of-ui-skeletons/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:54 GMT</pubDate>
      </item>
<item>
        <guid>7337edaa-a871-42a4-a6c8-51ae244bb9de</guid>
        <title>How to Design a Web Application: Software Architecture 101</title>
        <description>https://dev.to/educative/how-to-design-a-web-application-software-architecture-101-188b</description>
        <link>https://dev.to/educative/how-to-design-a-web-application-software-architecture-101-188b</link>
        <pubDate>Sun, 23 Aug 2020 05:18:54 GMT</pubDate>
      </item>
<item>
        <guid>96e74df1-3589-4b88-9266-e4023e767137</guid>
        <title>Shared Hook State with SWR</title>
        <description>https://paco.im/blog/shared-hook-state-with-swr</description>
        <link>https://paco.im/blog/shared-hook-state-with-swr</link>
        <pubDate>Sun, 23 Aug 2020 05:18:54 GMT</pubDate>
      </item>
<item>
        <guid>4726c05a-ad98-4c22-95ad-8fd990adde6e</guid>
        <title>Testing in the Frontend World</title>
        <description>https://www.youtube.com/watch?v=sOMAMtOBiA8</description>
        <link>https://www.youtube.com/watch?v=sOMAMtOBiA8</link>
        <pubDate>Sun, 23 Aug 2020 05:18:53 GMT</pubDate>
      </item>
<item>
        <guid>5111ac35-e7e1-4b2e-9b86-a8383e22763f</guid>
        <title>The Real Dark Web</title>
        <description>https://www.sonniesedge.net/posts/real-dark-web/</description>
        <link>https://www.sonniesedge.net/posts/real-dark-web/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:53 GMT</pubDate>
      </item>
<item>
        <guid>520cbd49-713f-47c6-8764-008e59280f64</guid>
        <title>The Elements of UI Engineering</title>
        <description>https://overreacted.io/the-elements-of-ui-engineering/</description>
        <link>https://overreacted.io/the-elements-of-ui-engineering/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:52 GMT</pubDate>
      </item>
<item>
        <guid>d77e56f7-babd-4d59-ab3c-1200ebb52a5e</guid>
        <title>frontend design, react, and a bridge over the great divide</title>
        <description>http://bradfrost.com/blog/post/frontend-design-react-and-a-bridge-over-the-great-divide/</description>
        <link>http://bradfrost.com/blog/post/frontend-design-react-and-a-bridge-over-the-great-divide/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:52 GMT</pubDate>
      </item>
<item>
        <guid>b95fcccb-17a5-4891-9da1-516576fcc62f</guid>
        <title>The Great Divide</title>
        <description>https://css-tricks.com/the-great-divide/</description>
        <link>https://css-tricks.com/the-great-divide/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:51 GMT</pubDate>
      </item>
<item>
        <guid>59bac894-c638-44ab-ab84-63402ac556b4</guid>
        <title>We have a problem with promises</title>
        <description>https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html</description>
        <link>https://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html</link>
        <pubDate>Sun, 23 Aug 2020 05:18:51 GMT</pubDate>
      </item>
<item>
        <guid>9451bb14-f831-4556-a50b-005aca7f11e1</guid>
        <title>Taming the asynchronous beast with ES7</title>
        <description>https://pouchdb.com/2015/03/05/taming-the-async-beast-with-es7.html</description>
        <link>https://pouchdb.com/2015/03/05/taming-the-async-beast-with-es7.html</link>
        <pubDate>Sun, 23 Aug 2020 05:18:51 GMT</pubDate>
      </item>
<item>
        <guid>57cc13a9-57ce-41eb-8c70-afef3bb3c5d8</guid>
        <title>The Fault in Our Tolerance: Accounting for Failures in React</title>
        <description>https://aweary.dev/fault-tolerance-react/</description>
        <link>https://aweary.dev/fault-tolerance-react/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:50 GMT</pubDate>
      </item>
<item>
        <guid>3f6aac4b-18e2-4440-bf92-9322d25479e3</guid>
        <title>7 Principles of Rich Web Applications</title>
        <description>https://rauchg.com/2014/7-principles-of-rich-web-applications/</description>
        <link>https://rauchg.com/2014/7-principles-of-rich-web-applications/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:50 GMT</pubDate>
      </item>
<item>
        <guid>26795da8-903b-4948-995b-fdafc95f6f96</guid>
        <title>🌱 My blog is a digital garden, not a blog</title>
        <description>https://joelhooks.com/digital-garden</description>
        <link>https://joelhooks.com/digital-garden</link>
        <pubDate>Sun, 23 Aug 2020 05:18:49 GMT</pubDate>
      </item>
<item>
        <guid>1dada7f9-e724-4e83-a375-e01db046d752</guid>
        <title>Shape Up: Stop Running in Circles and Ship Work that Matters</title>
        <description>https://basecamp.com/shapeup</description>
        <link>https://basecamp.com/shapeup</link>
        <pubDate>Sun, 23 Aug 2020 05:18:48 GMT</pubDate>
      </item>
<item>
        <guid>08a55a70-2a0f-45f7-9320-eff34de59a3d</guid>
        <title>How the Blog Broke the Web</title>
        <description>https://stackingthebricks.com/how-blogs-broke-the-web/</description>
        <link>https://stackingthebricks.com/how-blogs-broke-the-web/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:48 GMT</pubDate>
      </item>
<item>
        <guid>c6f1cb93-bbed-4473-acb0-b3adae08aab3</guid>
        <title>Turning the database inside-out with Apache Samza</title>
        <description>https://www.confluent.io/blog/turning-the-database-inside-out-with-apache-samza/</description>
        <link>https://www.confluent.io/blog/turning-the-database-inside-out-with-apache-samza/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:47 GMT</pubDate>
      </item>
<item>
        <guid>fc5224e4-6983-4b16-a5c6-b13a2102366c</guid>
        <title>Design Systems and Front-End Architecture by Stuart Robson</title>
        <description>https://noti.st/sturobson/yc1gwN/design-systems-and-front-end-architecture#saPZSRV</description>
        <link>https://noti.st/sturobson/yc1gwN/design-systems-and-front-end-architecture#saPZSRV</link>
        <pubDate>Sun, 23 Aug 2020 05:18:47 GMT</pubDate>
      </item>
<item>
        <guid>514c8b17-afdc-49cb-875f-fa409c2b64cd</guid>
        <title>How to Section Your HTML</title>
        <description>https://css-tricks.com/how-to-section-your-html/</description>
        <link>https://css-tricks.com/how-to-section-your-html/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:46 GMT</pubDate>
      </item>
<item>
        <guid>99423d82-6dfa-4d95-b53f-8e9a5de5077d</guid>
        <title>write on your own website</title>
        <description>https://bradfrost.com/blog/post/write-on-your-own-website/</description>
        <link>https://bradfrost.com/blog/post/write-on-your-own-website/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:46 GMT</pubDate>
      </item>
<item>
        <guid>e54461a9-e811-4518-bf00-ed7905437f18</guid>
        <title>Going Indie. Step 2: Reclaiming Content</title>
        <description>https://matthiasott.com/articles/going-indie-reclaiming-content</description>
        <link>https://matthiasott.com/articles/going-indie-reclaiming-content</link>
        <pubDate>Sun, 23 Aug 2020 05:18:45 GMT</pubDate>
      </item>
<item>
        <guid>76a6fa99-275f-495c-99f0-7940eb33337b</guid>
        <title>Just write</title>
        <description>https://www.sarasoueidan.com/desk/just-write/</description>
        <link>https://www.sarasoueidan.com/desk/just-write/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:45 GMT</pubDate>
      </item>
<item>
        <guid>2548e63f-5ba5-4bb3-bf4c-00967c5df487</guid>
        <title>The Documentation Compendium</title>
        <description>https://github.com/kylelobo/The-Documentation-Compendium</description>
        <link>https://github.com/kylelobo/The-Documentation-Compendium</link>
        <pubDate>Sun, 23 Aug 2020 05:18:44 GMT</pubDate>
      </item>
<item>
        <guid>5aa2acc5-dc74-4737-9e75-9eff0ebf1041</guid>
        <title>Why Text Buttons Hurt Mobile Usability</title>
        <description>https://uxmovement.com/mobile/why-text-buttons-hurt-mobile-usability/</description>
        <link>https://uxmovement.com/mobile/why-text-buttons-hurt-mobile-usability/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:44 GMT</pubDate>
      </item>
<item>
        <guid>b7de08da-3e53-43e2-8bdc-aa757ea35a08</guid>
        <title>Bulletproof node.js project architecture 🛡️</title>
        <description>https://softwareontheroad.com/ideal-nodejs-project-structure/</description>
        <link>https://softwareontheroad.com/ideal-nodejs-project-structure/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:40 GMT</pubDate>
      </item>
<item>
        <guid>8b424933-8a6a-4cf8-a03e-9341ae7eb930</guid>
        <title>The Power of Sensible Defaults</title>
        <description>https://stevebennett.co/2017/07/24/the-power-of-sensible-defaults/</description>
        <link>https://stevebennett.co/2017/07/24/the-power-of-sensible-defaults/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:39 GMT</pubDate>
      </item>
<item>
        <guid>47e14594-1a16-45fd-b821-5f1be95f820c</guid>
        <title>HTML Reference</title>
        <description>https://htmlreference.io/</description>
        <link>https://htmlreference.io/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:39 GMT</pubDate>
      </item>
<item>
        <guid>21a13f38-7a15-4cea-9b6e-833b68028066</guid>
        <title>CSS Reference</title>
        <description>https://cssreference.io/</description>
        <link>https://cssreference.io/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:38 GMT</pubDate>
      </item>
<item>
        <guid>77a897d6-bc9f-4676-a064-45f7302b206e</guid>
        <title>The God Login</title>
        <description>https://blog.codinghorror.com/the-god-login/</description>
        <link>https://blog.codinghorror.com/the-god-login/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:38 GMT</pubDate>
      </item>
<item>
        <guid>16e22bad-2a01-4cff-b9b3-53e1c2228715</guid>
        <title>Your Body Text Is Too Small</title>
        <description>https://blog.marvelapp.com/body-text-small/</description>
        <link>https://blog.marvelapp.com/body-text-small/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:37 GMT</pubDate>
      </item>
<item>
        <guid>4b299790-3467-4ac5-9b74-5b1461a7233c</guid>
        <title>Architecture as a burden</title>
        <description>https://dev.to/schreiber_chris/architecture-as-a-burden-18ca</description>
        <link>https://dev.to/schreiber_chris/architecture-as-a-burden-18ca</link>
        <pubDate>Sun, 23 Aug 2020 05:18:37 GMT</pubDate>
      </item>
<item>
        <guid>ab42f16d-26d2-4968-9f00-d50d17d3f6b0</guid>
        <title>The Architecture of Open Source Applications (Volume 2): Scalable Web Architecture and Distributed Systems</title>
        <description>https://www.aosabook.org/en/distsys.html</description>
        <link>https://www.aosabook.org/en/distsys.html</link>
        <pubDate>Sun, 23 Aug 2020 05:18:37 GMT</pubDate>
      </item>
<item>
        <guid>7e5c3df2-2dd2-4874-89b5-913ab370aef9</guid>
        <title>Scaling React Server-Side Rendering</title>
        <description>https://arkwright.github.io/scaling-react-server-side-rendering.html</description>
        <link>https://arkwright.github.io/scaling-react-server-side-rendering.html</link>
        <pubDate>Sun, 23 Aug 2020 05:18:36 GMT</pubDate>
      </item>
<item>
        <guid>e02408d3-4289-4ba1-96dc-5ec97c08af28</guid>
        <title>Refactoring UI</title>
        <description>https://refactoringui.com/</description>
        <link>https://refactoringui.com/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:36 GMT</pubDate>
      </item>
<item>
        <guid>426fcb7f-6f6c-4ae2-b7f0-dbfe07b95ad1</guid>
        <title>Cards</title>
        <description>https://inclusive-components.design/cards/</description>
        <link>https://inclusive-components.design/cards/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:35 GMT</pubDate>
      </item>
<item>
        <guid>5071795e-95ae-45fa-819c-cb90591b9cad</guid>
        <title>Introducing Grial</title>
        <description>https://medium.com/@sergiodxa/introducing-grial-js-6c414d6dc947</description>
        <link>https://medium.com/@sergiodxa/introducing-grial-js-6c414d6dc947</link>
        <pubDate>Sun, 23 Aug 2020 05:18:35 GMT</pubDate>
      </item>
<item>
        <guid>1e85f00b-9f25-4eb4-a0d3-5a0882a1cd29</guid>
        <title>Aplicando estilos a Pulse Editor con styled-components</title>
        <description>https://platzi.com/blog/aplicando-estilos-a-pulse-editor-con-styled-components/</description>
        <link>https://platzi.com/blog/aplicando-estilos-a-pulse-editor-con-styled-components/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:34 GMT</pubDate>
      </item>
<item>
        <guid>0e9e20bf-92c8-4547-baee-84bf59426f80</guid>
        <title>Usando socket.io en aplicaciones de Next.js</title>
        <description>https://platzi.com/blog/usando-socketio-en-aplicaciones-de-nextjs/</description>
        <link>https://platzi.com/blog/usando-socketio-en-aplicaciones-de-nextjs/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:34 GMT</pubDate>
      </item>
<item>
        <guid>9d5630bb-a3e9-47a6-9a91-50ee438dfc90</guid>
        <title>Depurando aplicaciones de Node.js v8.0.0</title>
        <description>https://platzi.com/blog/depurando-aplicaciones-de-nodejs-v800/</description>
        <link>https://platzi.com/blog/depurando-aplicaciones-de-nodejs-v800/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:33 GMT</pubDate>
      </item>
<item>
        <guid>e68c6e8a-dcfb-4945-8bc5-ab80e6d06d5c</guid>
        <title>Personalizando Babel.js en aplicaciones de Next.js</title>
        <description>https://platzi.com/blog/personalizando-babeljs-en-aplicaciones-de-nextjs/</description>
        <link>https://platzi.com/blog/personalizando-babeljs-en-aplicaciones-de-nextjs/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:33 GMT</pubDate>
      </item>
<item>
        <guid>2d619ff7-7d40-4ee9-81d6-d4559805043e</guid>
        <title>Creando botones propios para Pulse Editor</title>
        <description>https://platzi.com/blog/creando-botones-propios-para-pulse-editor/</description>
        <link>https://platzi.com/blog/creando-botones-propios-para-pulse-editor/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:32 GMT</pubDate>
      </item>
<item>
        <guid>b45f08ce-2eae-4761-9724-9fc7a20e1133</guid>
        <title>Te presentamos la nueva versión de Node.js</title>
        <description>https://platzi.com/blog/nueva-version-nodejs-npm/</description>
        <link>https://platzi.com/blog/nueva-version-nodejs-npm/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:32 GMT</pubDate>
      </item>
<item>
        <guid>e2486b51-4af8-416b-911f-266bba2ea492</guid>
        <title>Creando sitios estáticos con Next.js</title>
        <description>https://platzi.com/blog/creando-sitios-estaticos-con-nextjs/</description>
        <link>https://platzi.com/blog/creando-sitios-estaticos-con-nextjs/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:32 GMT</pubDate>
      </item>
<item>
        <guid>5a123dcb-63c1-4083-abfa-c4bf06fe44de</guid>
        <title>Implementando Pulse Editor</title>
        <description>https://platzi.com/blog/implementando-pulse-editor/</description>
        <link>https://platzi.com/blog/implementando-pulse-editor/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:31 GMT</pubDate>
      </item>
<item>
        <guid>4925ce10-2cc7-4de3-8d63-5cb6050f1c4b</guid>
        <title>Aplicación de escritorio Pulse</title>
        <description>https://platzi.com/blog/aplicacion-de-escritorio-pulse/</description>
        <link>https://platzi.com/blog/aplicacion-de-escritorio-pulse/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:31 GMT</pubDate>
      </item>
<item>
        <guid>1849ef3d-6754-4d90-bd83-19a685340195</guid>
        <title>Presentamos Pulse Editor</title>
        <description>https://platzi.com/blog/presentamos-pulse-editor/</description>
        <link>https://platzi.com/blog/presentamos-pulse-editor/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:30 GMT</pubDate>
      </item>
<item>
        <guid>42835ec1-d6ba-421f-894f-4631d1f01254</guid>
        <title>Crea aplicaciones de escritorio con Electron y Next.js</title>
        <description>https://platzi.com/blog/crea-aplicaciones-de-escritorio-con-electron-y-nextjs/</description>
        <link>https://platzi.com/blog/crea-aplicaciones-de-escritorio-con-electron-y-nextjs/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:30 GMT</pubDate>
      </item>
<item>
        <guid>52777b19-f22b-4ac4-96f2-e75338ca3d39</guid>
        <title>Implementa Progressive server-side render con Next.js</title>
        <description>https://platzi.com/blog/progressive-server-side-render/</description>
        <link>https://platzi.com/blog/progressive-server-side-render/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:30 GMT</pubDate>
      </item>
<item>
        <guid>664de938-5f3d-4a69-9e27-d242e0ff9e70</guid>
        <title>Next.js, el futuro de las aplicaciones con React</title>
        <description>https://platzi.com/blog/nextjs-el-futuro-de-las-aplicaciones-con-react/</description>
        <link>https://platzi.com/blog/nextjs-el-futuro-de-las-aplicaciones-con-react/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:29 GMT</pubDate>
      </item>
<item>
        <guid>df8a8cb8-204e-48f6-9b34-d0163f8d60ef</guid>
        <title>Manejo de dependencias JavaScript con Yarn</title>
        <description>https://platzi.com/blog/manejo-de-dependencias-javascript-con-yarn/</description>
        <link>https://platzi.com/blog/manejo-de-dependencias-javascript-con-yarn/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:29 GMT</pubDate>
      </item>
<item>
        <guid>4711cb31-4399-4ca6-ba62-7cd387de3632</guid>
        <title>Deploy y orquestación de microservicios con now.sh</title>
        <description>https://platzi.com/blog/deploy-microservicios/</description>
        <link>https://platzi.com/blog/deploy-microservicios/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:28 GMT</pubDate>
      </item>
<item>
        <guid>e024483c-4795-4ea9-8ae8-4b7ba90a9ef6</guid>
        <title>Introducción a JSON Web Tokens (JWT)</title>
        <description>https://platzi.com/blog/introduccion-json-web-tokens/</description>
        <link>https://platzi.com/blog/introduccion-json-web-tokens/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:28 GMT</pubDate>
      </item>
<item>
        <guid>89d24a56-6863-44b9-8a49-eafad3bcf895</guid>
        <title>¿Qué es y para qué sirve Babel?</title>
        <description>https://platzi.com/blog/que-es-babel/</description>
        <link>https://platzi.com/blog/que-es-babel/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:28 GMT</pubDate>
      </item>
<item>
        <guid>2cc7818a-ae16-4178-b22a-535bc2f27941</guid>
        <title>Desarrollando aplicaciones de escritorio con Electron.js</title>
        <description>https://platzi.com/blog/aplicaciones-escritorio-electron-js/</description>
        <link>https://platzi.com/blog/aplicaciones-escritorio-electron-js/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:27 GMT</pubDate>
      </item>
<item>
        <guid>ffe2f664-c4fe-4509-9e7c-fb8f24c20f13</guid>
        <title>¿Qué es una aplicación isomórfica?</title>
        <description>https://platzi.com/blog/aplicaciones-isomorficas/</description>
        <link>https://platzi.com/blog/aplicaciones-isomorficas/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:27 GMT</pubDate>
      </item>
<item>
        <guid>6a1128a4-ef75-4bda-a434-feb5765207c7</guid>
        <title>Crea microservicios en Node.js con micro.js</title>
        <description>https://platzi.com/blog/microservicios-en-node-con-micro/</description>
        <link>https://platzi.com/blog/microservicios-en-node-con-micro/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:26 GMT</pubDate>
      </item>
<item>
        <guid>4502c8ff-9812-4d2d-a76f-8bce66c7f28a</guid>
        <title>Usando React.js en el servidor con Django</title>
        <description>https://platzi.com/blog/react-js-en-servidor-con-django/</description>
        <link>https://platzi.com/blog/react-js-en-servidor-con-django/</link>
        <pubDate>Sun, 23 Aug 2020 05:18:26 GMT</pubDate>
      </item>
<item>
        <guid>77de86c6-ace6-4a44-8d93-a87d03571faf</guid>
        <title>Estado inmutable con Redux e Immutable.js</title>
        <description>https://medium.com/react-redux/estado-inmutable-con-redux-e-immutable-js-5a3d69ef0451</description>
        <link>https://medium.com/react-redux/estado-inmutable-con-redux-e-immutable-js-5a3d69ef0451</link>
        <pubDate>Sun, 23 Aug 2020 05:18:25 GMT</pubDate>
      </item>
<item>
        <guid>a375d34e-a80d-4a3e-9e93-8736a1797bdd</guid>
        <title>Componentes de Alto Orden en React.js</title>
        <description>https://medium.com/react-redux/react-componentes-alto-orden-2498211e933f</description>
        <link>https://medium.com/react-redux/react-componentes-alto-orden-2498211e933f</link>
        <pubDate>Sun, 23 Aug 2020 05:18:24 GMT</pubDate>
      </item>
<item>
        <guid>8bfb9d02-3730-41a2-80bd-9c4727b200b4</guid>
        <title>Obteniendo datos en aplicaciones de Redux</title>
        <description>https://medium.com/react-redux/obteniendo-datos-en-aplicaciones-de-redux-1007e8703521</description>
        <link>https://medium.com/react-redux/obteniendo-datos-en-aplicaciones-de-redux-1007e8703521</link>
        <pubDate>Sun, 23 Aug 2020 05:18:24 GMT</pubDate>
      </item>
<item>
        <guid>e240d163-217a-460f-8183-f39a22487192</guid>
        <title>Usando Redux en el servidor con Socket.io</title>
        <description>https://medium.com/react-redux/wip-usando-redux-en-el-servidor-con-socket-io-61e31242e366</description>
        <link>https://medium.com/react-redux/wip-usando-redux-en-el-servidor-con-socket-io-61e31242e366</link>
        <pubDate>Sun, 23 Aug 2020 05:18:23 GMT</pubDate>
      </item>
<item>
        <guid>3bf8e778-6f5b-4315-901c-0e3772610ff4</guid>
        <title>Creando código modular con ducks de Redux</title>
        <description>https://medium.com/react-redux/creando-c%C3%B3digo-modular-con-ducks-de-redux-bfd7b67ff8c0</description>
        <link>https://medium.com/react-redux/creando-c%C3%B3digo-modular-con-ducks-de-redux-bfd7b67ff8c0</link>
        <pubDate>Sun, 23 Aug 2020 05:18:23 GMT</pubDate>
      </item>
<item>
        <guid>68fad389-b584-4cdf-8ae9-f9f605d5519a</guid>
        <title>Renderizando aplicaciones de Redux en el servidor</title>
        <description>https://medium.com/react-redux/server-render-react-redux-1f6cb0b557c9</description>
        <link>https://medium.com/react-redux/server-render-react-redux-1f6cb0b557c9</link>
        <pubDate>Sun, 23 Aug 2020 05:18:23 GMT</pubDate>
      </item>
<item>
        <guid>7879be2c-82e4-428c-aa2d-4586b74e5f65</guid>
        <title>Manejo de errores en Redux.js</title>
        <description>https://medium.com/react-redux/manejo-de-errores-en-redux-js-adf9dfa0129b</description>
        <link>https://medium.com/react-redux/manejo-de-errores-en-redux-js-adf9dfa0129b</link>
        <pubDate>Sun, 23 Aug 2020 05:18:22 GMT</pubDate>
      </item>
<item>
        <guid>85cd75fa-7d5f-4902-85c3-d69f8c019348</guid>
        <title>Migrando a Redux</title>
        <description>https://medium.com/react-redux/migrando-a-redux-f7a15457a805</description>
        <link>https://medium.com/react-redux/migrando-a-redux-f7a15457a805</link>
        <pubDate>Sun, 23 Aug 2020 05:18:22 GMT</pubDate>
      </item>
<item>
        <guid>63cefdef-2834-4d44-b2e1-8927e1035eb3</guid>
        <title>Ruteo en aplicaciones de Redux y React.js</title>
        <description>https://medium.com/react-redux/ruteo-en-aplicaciones-de-redux-y-react-js-d62de452bf1b</description>
        <link>https://medium.com/react-redux/ruteo-en-aplicaciones-de-redux-y-react-js-d62de452bf1b</link>
        <pubDate>Sun, 23 Aug 2020 05:18:21 GMT</pubDate>
      </item>
<item>
        <guid>54c33018-328c-494e-a1f4-8ae0af2b0bff</guid>
        <title>Glosario de términos de Redux</title>
        <description>https://medium.com/react-redux/glosario-de-t%C3%A9rminos-de-redux-c2bca005ca69</description>
        <link>https://medium.com/react-redux/glosario-de-t%C3%A9rminos-de-redux-c2bca005ca69</link>
        <pubDate>Sun, 23 Aug 2020 05:18:21 GMT</pubDate>
      </item>
<item>
        <guid>dee789b0-716d-4f99-bf5a-d490286a430b</guid>
        <title>Estructura de archivos Ducks para Redux.js</title>
        <description>https://medium.com/react-redux/estructura-de-archivos-ducks-para-redux-js-36bb56a70cb3</description>
        <link>https://medium.com/react-redux/estructura-de-archivos-ducks-para-redux-js-36bb56a70cb3</link>
        <pubDate>Sun, 23 Aug 2020 05:18:21 GMT</pubDate>
      </item>
<item>
        <guid>5143825f-bc7a-4800-b252-423ff2bca276</guid>
        <title>Pruebas unitarias en Redux.js</title>
        <description>https://medium.com/react-redux/pruebas-unitarias-en-redux-js-d7285c013123</description>
        <link>https://medium.com/react-redux/pruebas-unitarias-en-redux-js-d7285c013123</link>
        <pubDate>Sun, 23 Aug 2020 05:18:20 GMT</pubDate>
      </item>
<item>
        <guid>e620a414-1458-472c-bdbe-ade21eaa9a53</guid>
        <title>Acciones asíncronas en Redux.js</title>
        <description>https://medium.com/react-redux/acciones-as%C3%ADncronas-en-redux-js-d06e2514c4b8</description>
        <link>https://medium.com/react-redux/acciones-as%C3%ADncronas-en-redux-js-d06e2514c4b8</link>
        <pubDate>Sun, 23 Aug 2020 05:18:20 GMT</pubDate>
      </item>
<item>
        <guid>a66774bb-8055-4f35-b458-4ec6b638a3df</guid>
        <title>Middlewares en Redux.js</title>
        <description>https://medium.com/react-redux/middlewares-en-redux-js-88081fcd6c91</description>
        <link>https://medium.com/react-redux/middlewares-en-redux-js-88081fcd6c91</link>
        <pubDate>Sun, 23 Aug 2020 05:18:19 GMT</pubDate>
      </item>
<item>
        <guid>00586efd-f1de-4fa9-b4a9-1893fd109f5e</guid>
        <title>Como me inicié en el desarrollo web</title>
        <description>Corría el año 2002, tenía unos 10 años, un día me pregu…</description>
        <link>https://r3.sergiodxa.com/articles/historia</link>
        <pubDate>Tue, 18 Aug 2020 13:04:37 GMT</pubDate>
      </item>
<item>
        <guid>6a2ba101-4343-4ee0-bd14-628de716e334</guid>
        <title>Why build a non-RESTful API</title>
        <description>One of the most common architectural styles to build an HTTP API is…</description>
        <link>https://r3.sergiodxa.com/articles/why-build-a-non-restful-api</link>
        <pubDate>Sat, 15 Aug 2020 22:49:30 GMT</pubDate>
      </item>
<item>
        <guid>d05bbe1f-081d-447a-85b3-27829908c6c1</guid>
        <title>How I work with static assets in React apps</title>
        <description>Most people when working with tools like webpack te…</description>
        <link>https://r3.sergiodxa.com/articles/how-i-work-with-static-assets-in-react-apps</link>
        <pubDate>Thu, 13 Aug 2020 01:43:21 GMT</pubDate>
      </item>
<item>
        <guid>1eff8d96-87fb-446c-8993-77f8ed806876</guid>
        <title>How shallow: true works in Rails</title>
        <description>Learn how to create nested shallow resource routes in Rails</description>
        <link>https://r3.sergiodxa.com/articles/how-shallow-true-works-in-rails</link>
        <pubDate>Tue, 11 Aug 2020 22:55:18 GMT</pubDate>
      </item>
<item>
        <guid>5a9c4218-4225-454f-bc60-2d0b5655fbbb</guid>
        <title>Build an Optimistic UI in React using SWR with useMutation</title>
        <description>Use the useMutation hook together with SWR to implement optimistic updates in your React components</description>
        <link>https://r3.sergiodxa.com/articles/swr/use-mutation</link>
        <pubDate>Thu, 23 Jul 2020 08:17:26 GMT</pubDate>
      </item>
<item>
        <guid>17868ea4-917f-4206-aed5-faa65da64f02</guid>
        <title>Como organizo mis aplicaciones de React</title>
        <description>Hay muchas formas de organizar aplicaciones de React, con los años esta es la que más me ha convencido</description>
        <link>https://r3.sergiodxa.com/articles/react/estructura-archivos</link>
        <pubDate>Thu, 16 Jul 2020 05:56:01 GMT</pubDate>
      </item>
<item>
        <guid>aff77a68-c3a3-432c-998f-be346ad01a79</guid>
        <title>How I Organize React Applications</title>
        <description>There are many ways to organize a React application, with the years this the the one I liked the most</description>
        <link>https://r3.sergiodxa.com/articles/react/file-structure</link>
        <pubDate>Thu, 16 Jul 2020 04:37:52 GMT</pubDate>
      </item>
<item>
        <guid>12e6fd5d-8c02-43a7-af43-ded09282b93c</guid>
        <title>Usa React.Suspense para controlar la carga de imagenes</title>
        <description>Aprende como usar React.Suspense para controlar el estado de carga de imágenes.</description>
        <link>https://r3.sergiodxa.com/articles/react/cargando-imagenes-con-suspense</link>
        <pubDate>Wed, 15 Jul 2020 23:07:00 GMT</pubDate>
      </item>
<item>
        <guid>ca95794a-4be1-4ada-98cb-3f2f42597db6</guid>
        <title>Data-Aware Components</title>
        <description>Normalmente, al crear un app de React, un componente necesita un dato del API, ej. el usuario log…</description>
        <link>https://r3.sergiodxa.com/articles/data-aware-components</link>
        <pubDate>Wed, 24 Jun 2020 08:02:46 GMT</pubDate>
      </item>
<item>
        <guid>848c4f5b-53b3-4bf6-b1d1-b5cf6b3ea688</guid>
        <title>Collected Notes TS Client</title>
        <description>A TypeScript client for the Collected Notes API.



TypeScript Support
Types for the API returned value
Types fo…</description>
        <link>https://r3.sergiodxa.com/articles/collected-notes-ts-client</link>
        <pubDate>Sat, 20 Jun 2020 03:24:14 GMT</pubDate>
      </item>
<item>
        <guid>57bba8f3-2056-4d11-95b2-32fc6521931a</guid>
        <title>Use SWR with Geolocation</title>
        <description>Learn how to use SWR with the Geolocation WebAPI to show the user location in a map and keep it up-to-date with any change.</description>
        <link>https://r3.sergiodxa.com/tutorials/swr/geolocation</link>
        <pubDate>Fri, 19 Jun 2020 05:36:42 GMT</pubDate>
      </item>
<item>
        <guid>96d9640f-38cf-4dfd-8eba-b0b8513e3674</guid>
        <title>Using Collected Notes as CMS</title>
        <description>Now that Collected Notes has an API to get the notes you wrote here it's possible to use it as a CMS (Content Manag…</description>
        <link>https://r3.sergiodxa.com/articles/using-collected-notes-as-cms</link>
        <pubDate>Sat, 06 Jun 2020 10:21:22 GMT</pubDate>
      </item>
<item>
        <guid>e585d2c4-e819-4b6e-ab69-2c87ba7f8e35</guid>
        <title>Sync WebApp Session Status between Tabs with SWR</title>
        <description>Implement a synced session status using SWR to keep the user logged in/out in all the tabs or windows</description>
        <link>https://r3.sergiodxa.com/tutorials/swr/sync-session</link>
        <pubDate>Fri, 15 May 2020 07:11:20 GMT</pubDate>
      </item>
<item>
        <guid>245d7926-b6bd-4a29-9d2a-65a5af86ecdf</guid>
        <title>Sync SWR cache with Web Storage</title>
        <description>Use Web Storage to retain SWR cache between page reloads</description>
        <link>https://r3.sergiodxa.com/tutorials/swr/storage-sync</link>
        <pubDate>Fri, 15 May 2020 05:28:17 GMT</pubDate>
      </item>
<item>
        <guid>16a6b1a9-af7a-4a52-ac22-a3d7e72ee79d</guid>
        <title>Configure Google Suite MX records in Vercel</title>
        <description>Use Google Suite with a domain whose NS records is in Vercel</description>
        <link>https://r3.sergiodxa.com/tutorials/vercel/configure-gsuite</link>
        <pubDate>Tue, 12 May 2020 05:10:09 GMT</pubDate>
      </item>
<item>
        <guid>64c60cd3-c6fd-430f-9a4f-f6b4be75807d</guid>
        <title>Report Web Vitals in Next.js</title>
        <description>Measure the performance of our Next.js application with Web Vitals</description>
        <link>https://r3.sergiodxa.com/tutorials/next/web-vitals</link>
        <pubDate>Mon, 11 May 2020 17:49:13 GMT</pubDate>
      </item>
<item>
        <guid>d6930967-c724-4eeb-be60-d4758f45a9d9</guid>
        <title>Use React.Suspense to wait for an image to load</title>
        <description>Learn how to use React.Suspense to handle the loading state of an image.</description>
        <link>https://r3.sergiodxa.com/tutorials/react/suspense-image-loading</link>
        <pubDate>Sat, 09 May 2020 09:13:43 GMT</pubDate>
      </item>
<item>
        <guid>403d43ab-fecc-4d9c-9810-3ff1d0743f6f</guid>
        <title>Purge unused CSS with TailwindCSS</title>
        <description>Learn how to use the built-in purge support of Tailwind to remove unused classes in production.</description>
        <link>https://r3.sergiodxa.com/tutorials/tailwind/purge-unused-css</link>
        <pubDate>Sat, 09 May 2020 09:05:38 GMT</pubDate>
      </item>
<item>
        <guid>7e9c2cdf-12ea-40d1-a158-cb0241a3e0b5</guid>
        <title>Setup a redirect inside a project deployed to Vercel</title>
        <description>Learn how you can create a redirect in any project deployed to the Vercel platform.</description>
        <link>https://r3.sergiodxa.com/tutorials/vercel/setup-redirect</link>
        <pubDate>Sat, 09 May 2020 08:37:03 GMT</pubDate>
      </item>
<item>
        <guid>0888b51e-5653-413a-a43a-abdaf9a6bde2</guid>
        <title>Use a scoped registry with Yarn</title>
        <description>Learn how you can configure Yarn to use a different registry for scoped packages</description>
        <link>https://r3.sergiodxa.com/tutorials/use-scoped-registry</link>
        <pubDate>Sat, 09 May 2020 08:23:30 GMT</pubDate>
      </item>
<item>
        <guid>a540454c-aa17-4188-bedb-80a31fd52365</guid>
        <title>Using Immer with SWR to mutate data</title>
        <description>Use Immer to make optimistic UI updates with SWR easier to follow</description>
        <link>https://r3.sergiodxa.com/articles/swr/mutate-immer</link>
        <pubDate>Sat, 09 May 2020 02:16:03 GMT</pubDate>
      </item>
<item>
        <guid>342f365e-8b6d-4494-afef-9aba8e99899c</guid>
        <title>Render as you Fetch Pattern in React with SWR</title>
        <description>Learn how to use the Render as you Fetch pattern with React and SWR.</description>
        <link>https://r3.sergiodxa.com/articles/render-as-you-fetch</link>
        <pubDate>Thu, 23 Jan 2020 22:03:45 GMT</pubDate>
      </item>
<item>
        <guid>6b96d528-4f03-4090-810e-bba18ea80956</guid>
        <title>Prefetching Data in a Next.js Application with SWR</title>
        <description>Optimizing the performance of a Next.js using SWR and data prefetching.</description>
        <link>https://r3.sergiodxa.com/articles/next-swr-prefetch</link>
        <pubDate>Wed, 22 Jan 2020 17:40:27 GMT</pubDate>
      </item>
<item>
        <guid>7cf66bac-a299-4ab6-bf73-576f6f07f654</guid>
        <title>What Type of States Could You Find in a Client-Side Application?</title>
        <description>Client-Side Applications could have different types of states based on the requirements, let's dig through them and learn their differences.</description>
        <link>https://r3.sergiodxa.com/articles/type-states-client-side-app</link>
        <pubDate>Tue, 21 Jan 2020 05:00:00 GMT</pubDate>
      </item>
<item>
        <guid>dcf10c22-6f60-4dc7-8059-f5fe66a37b3b</guid>
        <title>Using Tailwind with Next.js</title>
        <description>Learn how to use Tailwind in a Next.js application.</description>
        <link>https://r3.sergiodxa.com/articles/next-tailwind</link>
        <pubDate>Thu, 26 Dec 2019 20:19:09 GMT</pubDate>
      </item>
<item>
        <guid>30d1d0bd-68c3-4835-ad4f-6c3872e46ad9</guid>
        <title>Using Suspense for Data Fetching Today with SWR</title>
        <description>Learn how to use SWR for data fetching with Suspense to handle loading states.</description>
        <link>https://r3.sergiodxa.com/articles/swr/suspense</link>
        <pubDate>Thu, 21 Nov 2019 14:30:36 GMT</pubDate>
      </item>
<item>
        <guid>18861188-65ce-44be-b33b-44aa0c6ec99b</guid>
        <title>Using Paginated Data with SWR</title>
        <description>Learn how to use SWR to build an infinite scrolled paginated data.</description>
        <link>https://r3.sergiodxa.com/articles/swr/pagination</link>
        <pubDate>Wed, 20 Nov 2019 14:30:36 GMT</pubDate>
      </item>
<item>
        <guid>f9b1aeec-5644-4378-be6c-7a4f1bb30f4b</guid>
        <title>Introduction to SWR</title>
        <description>Learn how to start using SWR, the ZEIT data fetching library for React applications.</description>
        <link>https://r3.sergiodxa.com/articles/swr/intro</link>
        <pubDate>Wed, 20 Nov 2019 06:13:30 GMT</pubDate>
      </item>
<item>
        <guid>d56ca00c-f52e-49f7-ae16-9ee2c528f4df</guid>
        <title>Automatically Publish to npm using GitHub Actions</title>
        <description>Create a GitHub Actions workflow to automatically publish new version of a package when creating a new release on GitHub.</description>
        <link>https://r3.sergiodxa.com/tutorials/github-actions-npm-publish</link>
        <pubDate>Tue, 29 Oct 2019 15:49:37 GMT</pubDate>
      </item>
<item>
        <guid>3b121549-d347-4b23-aec5-45e970506198</guid>
        <title>Feature Flags in React with Flagged</title>
        <description>Use Flagged to detect Feature Flags and render or not a React component</description>
        <link>https://r3.sergiodxa.com/articles/feature-flags-react</link>
        <pubDate>Sat, 26 Oct 2019 17:45:34 GMT</pubDate>
      </item>
<item>
        <guid>746883b5-3b33-4ab9-8d45-61fc5a07b2ee</guid>
        <title>Next.js File Structure</title>
        <description>Overview of the file structure I like to use in Next.js projects</description>
        <link>https://r3.sergiodxa.com/articles/next-file-structure</link>
        <pubDate>Tue, 27 Aug 2019 22:15:52 GMT</pubDate>
      </item>
<item>
        <guid>804d1f10-8a26-4653-ae1b-9ee206371e45</guid>
        <title>Testing in Next.js: Dynamic Imports</title>
        <description>Learn how to test components using dynamic imports in a Next.js application.</description>
        <link>https://r3.sergiodxa.com/articles/testing-in-next-dynamic-imports</link>
        <pubDate>Thu, 22 Aug 2019 03:14:16 GMT</pubDate>
      </item>
<item>
        <guid>04f5eb51-78c2-4e02-ab61-1f990a157cb4</guid>
        <title>Redirects in Next.js, the Best Way</title>
        <description>Learn how to create redirects when using Next.js in the most efficient way.</description>
        <link>https://r3.sergiodxa.com/articles/redirects-in-next-the-good-way</link>
        <pubDate>Tue, 20 Aug 2019 18:20:48 GMT</pubDate>
      </item>
<item>
        <guid>4c137175-bd4d-4060-9574-616028fb7146</guid>
        <title>Working with Forms in React without libraries</title>
        <description>Learn how to work with forms and form elements in React without using another library.</description>
        <link>https://r3.sergiodxa.com/articles/react-working-with-forms</link>
        <pubDate>Wed, 19 Jun 2019 20:21:42 GMT</pubDate>
      </item>
<item>
        <guid>c76fd9cc-8277-4f1c-a322-f490fe26c845</guid>
        <title>Working with conditions and lists in React</title>
        <description>Learn how to conditionally render elements and how to properly work with lists in React.</description>
        <link>https://r3.sergiodxa.com/articles/react-conditions-lists</link>
        <pubDate>Tue, 18 Jun 2019 17:36:02 GMT</pubDate>
      </item>
<item>
        <guid>5ac7a1e5-acce-468a-87d2-dfb4680124ff</guid>
        <title>Introduction to React with the State and Effects hooks</title>
        <description>Learn how to start a React project, create your first component and use the State and Effects hooks to implement basic behaviors.</description>
        <link>https://r3.sergiodxa.com/articles/react-state-effects</link>
        <pubDate>Sat, 15 Jun 2019 20:54:54 GMT</pubDate>
      </item>
<item>
        <guid>c909ee31-a3e7-4599-9eb3-9ab2e25f9005</guid>
        <title>Introducing Contentz</title>
        <description>Contentz, a Pure Static Site Generator which let you focus on the content and gives you a highly optimized website.</description>
        <link>https://r3.sergiodxa.com/articles/introducing-contentz</link>
        <pubDate>Tue, 23 Apr 2019 02:13:19 GMT</pubDate>
      </item>
<item>
        <guid>b494a10b-4dc1-472c-a6ae-7b5ed165f908</guid>
        <title>Career Titles and Levels in Tech</title>
        <description>List of possible career paths, titles and level you could find while working as Software Engineer.</description>
        <link>https://r3.sergiodxa.com/articles/career-titles-levels</link>
        <pubDate>Tue, 09 Apr 2019 21:25:19 GMT</pubDate>
      </item>
<item>
        <guid>6d966415-8bbd-4206-a6d2-0555b26fafb3</guid>
        <title>Deploy de Contentz a Netlify</title>
        <description>Aprende como llevar tu sitio de Contentz a producción usando Netlify.</description>
        <link>https://r3.sergiodxa.com/articles/contentz-netlify</link>
        <pubDate>Thu, 21 Mar 2019 19:56:31 GMT</pubDate>
      </item>
<item>
        <guid>c3f58e8d-6824-465c-bb86-43360fcc3b82</guid>
        <title>Contentz es Omakase</title>
        <description>Contentz toma decisiones por uno, a cambio nos ofrece un sitio optimizado para un mejor rendimiento y lectura.</description>
        <link>https://r3.sergiodxa.com/articles/contentz-es-omakase</link>
        <pubDate>Thu, 21 Mar 2019 18:33:05 GMT</pubDate>
      </item>
<item>
        <guid>217b2515-10c6-41de-a13f-3109abe754c6</guid>
        <title>Conceptos básicos de JS: Array#forEach</title>
        <description>Aprende a usar Array#forEeach, como se implementa a mano y casos de uso prácticos de este método de los array en JavaScript.</description>
        <link>https://r3.sergiodxa.com/articles/js-basics/array-prototype-foreach</link>
        <pubDate>Tue, 12 Mar 2019 17:05:27 GMT</pubDate>
      </item>
<item>
        <guid>cd886e92-81b0-4e8a-a416-6ceabefa6a26</guid>
        <title>Cómo crear y publicar un módulo para npm</title>
        <description>Aprende como crear un módulo y publicarlo a npm configurando Prettier, ESLint, pruebas, tipos y más.</description>
        <link>https://r3.sergiodxa.com/articles/crear-modulo-npm</link>
        <pubDate>Mon, 11 Mar 2019 17:12:50 GMT</pubDate>
      </item>
<item>
        <guid>0f329b04-4483-4a99-a310-fcb67d4b4b60</guid>
        <title>Aplicaciones web con Zero Server</title>
        <description>Introducción a Zero Server, el framework de desarrollo web con cero configuración.</description>
        <link>https://r3.sergiodxa.com/articles/aplicaciones-web-con-zero-server</link>
        <pubDate>Wed, 06 Mar 2019 04:56:18 GMT</pubDate>
      </item>
<item>
        <guid>5923aee3-fc4f-41f6-8c9c-20727e1f126d</guid>
        <title>Presentando Contentz</title>
        <description>Contentz, un Pure Static Site Generator para obtener un sitio web super optimizado.</description>
        <link>https://r3.sergiodxa.com/articles/presentando-contentz</link>
        <pubDate>Tue, 05 Mar 2019 21:03:17 GMT</pubDate>
      </item>
<item>
        <guid>9304fb28-95e0-47a9-9788-b0b50206c084</guid>
        <title>Uso del prop children en React</title>
        <description>El prop children tiene significado especial para React, veremos para que sirve y como usarlo en nuestros propios componentes.</description>
        <link>https://r3.sergiodxa.com/articles/react-prop-especial-children</link>
        <pubDate>Tue, 26 Feb 2019 16:42:36 GMT</pubDate>
      </item>
<item>
        <guid>1e69000f-1761-497c-b717-41eb4d72db14</guid>
        <title>Componentes con Hijos Personalizables en React</title>
        <description>Para evitar prop drilling y hacer componentes aún más personalizables vamos a ver como usar un prop para cambiar el contenido de un componentes de React.</description>
        <link>https://r3.sergiodxa.com/articles/componentes-react-hijos-personalizables</link>
        <pubDate>Tue, 26 Feb 2019 16:35:48 GMT</pubDate>
      </item>
<item>
        <guid>ad8f8946-0834-49f1-b4a6-5d4f1854b6dc</guid>
        <title>Composición de Componentes en React</title>
        <description>Una de las mejores cosas de React es poder combinar componentes para crear nuevo componentes más complejos</description>
        <link>https://r3.sergiodxa.com/articles/composicion-componentes-react</link>
        <pubDate>Tue, 26 Feb 2019 16:27:49 GMT</pubDate>
      </item>
<item>
        <guid>11bcf889-5a22-476b-a19f-97a6fa271255</guid>
        <title>Tipos de datos en React</title>
        <description>Hay varias formas de definir que tipos de datos recibe un componente en React, puede ser TypeScript, Flow o PropTypes</description>
        <link>https://r3.sergiodxa.com/articles/tipos-datos-react</link>
        <pubDate>Tue, 26 Feb 2019 16:14:01 GMT</pubDate>
      </item>
<item>
        <guid>dadc6089-991b-4ef5-956c-26b7bd7a8edc</guid>
        <title>Props con valores predefinidos en React</title>
        <description>Es muy común querer tener props con valores por defecto en nuestros componentes de React, veremos varias formas de lograr este objetivo.</description>
        <link>https://r3.sergiodxa.com/articles/react-props-valores-predefinidos</link>
        <pubDate>Tue, 26 Feb 2019 16:09:40 GMT</pubDate>
      </item>
<item>
        <guid>6cdc25cd-c469-4b86-bad1-af4691c9c37c</guid>
        <title>Componente de React personalizables usando props</title>
        <description>Los props nos permiten crear componentes de React que sean personalizables y que nos sirven para muchos más casos</description>
        <link>https://r3.sergiodxa.com/articles/componentes-react-personalizables-props</link>
        <pubDate>Tue, 26 Feb 2019 16:04:00 GMT</pubDate>
      </item>
<item>
        <guid>ffdbe8f4-a889-4a54-a396-a78285b4a30b</guid>
        <title>Componentes con React</title>
        <description>Los componentes de React son la unidad básica de cualquier aplicación hecha con esta librería, aprende como crear y usar componentes de React</description>
        <link>https://r3.sergiodxa.com/articles/componentes-con-react</link>
        <pubDate>Tue, 26 Feb 2019 15:58:10 GMT</pubDate>
      </item>
<item>
        <guid>91fd2371-eb8f-47cb-b28f-7e467fe7a067</guid>
        <title>Hola Mundo con React</title>
        <description>En este tutorial vamos a ver como crear un Hola Mundo en React sin usar JSX</description>
        <link>https://r3.sergiodxa.com/articles/hola-mundo-react</link>
        <pubDate>Tue, 26 Feb 2019 15:58:06 GMT</pubDate>
      </item>
<item>
        <guid>19376632-addb-4c2a-80b6-2a9c5de24f7e</guid>
        <title>Cargando React desde un CDN</title>
        <description>En este tutorial vamos a ver como crear un Hola Mundo en React sin usar JSX.</description>
        <link>https://r3.sergiodxa.com/articles/cargando-react-cdn</link>
        <pubDate>Tue, 26 Feb 2019 15:57:55 GMT</pubDate>
      </item>
<item>
        <guid>318a58c3-1a8c-46c6-8f07-d16a241b662e</guid>
        <title>Mi Static Site Generator ideal</title>
        <description>Un artículo con ideas de como sería mi generador de sitios estáticos ideal</description>
        <link>https://r3.sergiodxa.com/articles/generador-sitios-estaticos-propio</link>
        <pubDate>Mon, 25 Feb 2019 18:09:56 GMT</pubDate>
      </item>
<item>
        <guid>58b7b948-64f4-4a0a-b8bf-a32726d51eba</guid>
        <title>Automatización con Shell Scripts</title>
        <description>Aprende a usar Shell Scripts para automatizar tareas, todo con un ejemplo práctico para montar un entorno de trabajo para un proyecto en Node.js</description>
        <link>https://r3.sergiodxa.com/articles/automatizacion-shell-scripts</link>
        <pubDate>Sat, 23 Feb 2019 04:41:48 GMT</pubDate>
      </item>
<item>
        <guid>6ca49089-fb24-4800-8521-7320382d0454</guid>
        <title>Conceptos básicos de JS: Array#push</title>
        <description>Aprende a usar Array#push, como se implementa a mano y casos de uso prácticos de este método de los array en JavaScript.</description>
        <link>https://r3.sergiodxa.com/articles/js-basics/array-prototype-push</link>
        <pubDate>Mon, 11 Feb 2019 15:51:40 GMT</pubDate>
      </item>
<item>
        <guid>9291da82-cf58-4327-b8ac-b8320d3014f8</guid>
        <title>Conceptos básicos de JS: Array#filter</title>
        <description>Aprende a usar Array#filter, como se implementa a mano y casos de uso prácticos de este método de los array en JavaScript.</description>
        <link>https://r3.sergiodxa.com/articles/js-basics/array-prototype-filter</link>
        <pubDate>Fri, 08 Feb 2019 17:36:16 GMT</pubDate>
      </item>
<item>
        <guid>a63bffde-a0a6-4b33-92b4-bc5725a4ec75</guid>
        <title>Conceptos básicos de JS: Array#map</title>
        <description>Aprende a usar Array#map, como se implementa a mano y casos de uso prácticos de este método de los array en JavaScript.</description>
        <link>https://r3.sergiodxa.com/articles/js-basics/array-prototype-map</link>
        <pubDate>Thu, 07 Feb 2019 05:44:51 GMT</pubDate>
      </item>
<item>
        <guid>9b7fe4c8-a642-4ec5-b003-16a5c079ad57</guid>
        <title>Usando Generadores Asíncronos en JavaScript</title>
        <description>Tutorial sobre como se pueden usar Generadores Asíncronos de ECMAScript 2018 para realizar colas o paginaciones de un API fácilmente en JavaScript</description>
        <link>https://r3.sergiodxa.com/articles/generadores-asincronos-js</link>
        <pubDate>Wed, 30 Jan 2019 15:00:00 GMT</pubDate>
      </item>
<item>
        <guid>4f81c6ad-005a-4dc1-bdf4-d2f216d60405</guid>
        <title>Carrusel de elementos dinámicos con React.js</title>
        <description>Tutorial sobre como implementar un carrusel para elementos de diferentes tamaños usando React.js</description>
        <link>https://r3.sergiodxa.com/articles/carrusel-elementos-dinamicos-react</link>
        <pubDate>Tue, 29 Jan 2019 18:44:19 GMT</pubDate>
      </item>
<item>
        <guid>5f09fe41-c392-44ef-8508-13282790d4fb</guid>
        <title>Scalable Real-Time Applications</title>
        <description>Tips and recommendations to build real-time applications using WebSockets</description>
        <link>https://r3.sergiodxa.com/articles/scalable-real-time-applications</link>
        <pubDate>Fri, 11 Jan 2019 05:52:01 GMT</pubDate>
      </item>
<item>
        <guid>1e1c2e65-b637-4552-8b4b-a0dd99c8fe05</guid>
        <title>Aplicaciones Real-Time de Alta Escala</title>
        <description>Consejos y recomendaciones para construir aplicaciones en tiempo real usando WebSockets</description>
        <link>https://r3.sergiodxa.com/articles/aplicaciones-real-time-alta-escala</link>
        <pubDate>Sun, 06 Jan 2019 07:20:33 GMT</pubDate>
      </item>
<item>
        <guid>3cbf5aef-9242-4b93-8852-e9bd9505211a</guid>
        <title>React v16.6: lazy, memo y más</title>
        <description>Aprende a usar los nuevos features de React v16.6, lazy load, memoize, errores, contexto y más</description>
        <link>https://r3.sergiodxa.com/articles/react-v-16-6</link>
        <pubDate>Wed, 24 Oct 2018 17:32:04 GMT</pubDate>
      </item>
<item>
        <guid>3e436945-2751-4b5f-88a9-9a00c5be22f8</guid>
        <title>Introducción a MDX</title>
        <description>MDX es un formato de archivos que permite extender Markdown con código JS y JSX (Componentes de React)</description>
        <link>https://r3.sergiodxa.com/articles/introduccion-a-mdx</link>
        <pubDate>Wed, 09 May 2018 05:03:59 GMT</pubDate>
      </item>
<item>
        <guid>ea453280-9de3-4198-9676-6bb90ab5e593</guid>
        <title>Documentation, Lessons Learned</title>
        <description>After working on the documentation of the API of ZEIT I want to share some insights I learned from it</description>
        <link>https://r3.sergiodxa.com/articles/documentation</link>
        <pubDate>Wed, 17 Jan 2018 21:18:58 GMT</pubDate>
      </item>
<item>
        <guid>17bfb437-2534-4b1f-826b-3ca17614c5a8</guid>
        <title>Documentación, Lecciones Aprendidas</title>
        <description>Después de trabajar en la documentación del API de ZEIT quiero compartir algunas lecciones que aprendí de ello.</description>
        <link>https://r3.sergiodxa.com/articles/documentacion</link>
        <pubDate>Wed, 17 Jan 2018 21:18:58 GMT</pubDate>
      </item>
<item>
        <guid>fb58dec1-fd7b-4437-9a1b-3f112bfd9a80</guid>
        <title>¿Cómo mantenerse actualizado con el ecosistema de JavaScript?</title>
        <description>Cómo mantenerse actualizado es una pregunta común al comenzar, acá hay una lista de maneras útiles de hacerlo y no morir en el proceso.</description>
        <link>https://r3.sergiodxa.com/articles/como-mantenerse-actualizado-con-el-ecosistema-de-javascript</link>
        <pubDate>Fri, 12 Jan 2018 17:53:42 GMT</pubDate>
      </item>
<item>
        <guid>a9bdfdbf-b388-4784-9993-cd41a94a04f7</guid>
        <title>Renderizando Markdown en React.js</title>
        <description>Crea un parser que transforme Markdown a componentes de React.js</description>
        <link>https://r3.sergiodxa.com/articles/markdown-react</link>
        <pubDate>Sat, 06 Jan 2018 05:43:35 GMT</pubDate>
      </item>
<item>
        <guid>f8c4dbe2-40f7-44ac-877b-6e101e2af60d</guid>
        <title>An Accessible Approach to Frontend Testing</title>
        <description>Testing is hard. Testing Frontend is harder. But you should do it anyways.</description>
        <link>https://r3.sergiodxa.com/articles/an-accessible-approach-to-frontend-testing</link>
        <pubDate>Sat, 30 Sep 2017 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>5a359589-c9fb-41a6-baa8-b0b5d8529aac</guid>
        <title>How to keep updated with the JavaScript ecosystem?</title>
        <description>How to keep updated is a common questions when starting, here you can find a list of useful ways to do it and not die in the process.</description>
        <link>https://r3.sergiodxa.com/articles/how-to-keep-updated-with-the-javascript-ecosystem</link>
        <pubDate>Sun, 06 Aug 2017 17:26:03 GMT</pubDate>
      </item>
<item>
        <guid>5393d2b7-3a18-4c28-ad69-6611b83fed77</guid>
        <title>Implementando un Servidor de GraphQL</title>
        <description>Explicación paso a paso de como implementar un servidor GraphQL desde cero en Node.js.</description>
        <link>https://r3.sergiodxa.com/articles/implementando-un-servidor-de-graphql</link>
        <pubDate>Fri, 07 Jul 2017 15:42:42 GMT</pubDate>
      </item>
<item>
        <guid>9a41370a-aba3-47a8-a5c7-66fe52ac2fd7</guid>
        <title>Bye Platzi, hi ▲ZEIT</title>
        <description>Today I leave my job as Frontend Developer at Platzi to start working as Support Engineer at ▲ZEIT.</description>
        <link>https://r3.sergiodxa.com/articles/bye-platzi-hi-zeit</link>
        <pubDate>Fri, 07 Jul 2017 04:50:53 GMT</pubDate>
      </item>
<item>
        <guid>6e6ca866-0336-4d48-8f34-0052c7bb5d7e</guid>
        <title>Ciclo de vida de un componente de React.js</title>
        <description>Repaso por los diferentes métodos del ciclo de vida de un componente de React.js</description>
        <link>https://r3.sergiodxa.com/articles/ciclo-de-vida-de-un-componente-de-reactjs</link>
        <pubDate>Thu, 06 Jul 2017 15:31:07 GMT</pubDate>
      </item>
<item>
        <guid>a95280e2-e0ad-4bb6-9ce6-1fab7f70c761</guid>
        <title>Mezclando flujos síncronos y asíncronos usando promesas en JavaScript</title>
        <description>Manejar flujos de datos síncronos es fácil, con Promises también es fácil hacerlos asíncronos. Ahora veamos como combinarlos.</description>
        <link>https://r3.sergiodxa.com/articles/mezclando-flujos-sincronos-y-asincronos</link>
        <pubDate>Fri, 23 Jun 2017 22:39:48 GMT</pubDate>
      </item>
<item>
        <guid>4a75524b-b17a-4157-b5cb-16538e2e5109</guid>
        <title>Introducción a GraphQL</title>
        <description>En 2015 Facebook anunció GraphQL, una tecnología que empezaron a desarrollar y usar internamente en 2012. ¿Pero qué es GraphQL?</description>
        <link>https://r3.sergiodxa.com/articles/introduccion-a-graphql</link>
        <pubDate>Mon, 29 May 2017 00:42:30 GMT</pubDate>
      </item>
<item>
        <guid>fc7de063-2e99-4b73-b8a1-5306e29e782c</guid>
        <title>Qué son y cómo funcionan las promesas en JavaScript</title>
        <description>Manejar flujos de datos asíncronos es complejo, pero con Promesas esto se vuelve mucho más fácil</description>
        <link>https://r3.sergiodxa.com/articles/que-son-y-como-funcionan-las-promesas-en-javascript</link>
        <pubDate>Mon, 06 Mar 2017 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>1545ec9e-19e5-4002-bf4d-c9091fc18c2d</guid>
        <title>Sobre el ecosistema y la fatiga de JavaScript</title>
        <description>Desde hace ya un tiempo han ido saliendo un montón de artículos sobre JS Fatigue, tantos que hasta hay artículos sobre la fatiga de esta.</description>
        <link>https://r3.sergiodxa.com/articles/sobre-el-ecosistema-y-la-fatiga-de-javascript</link>
        <pubDate>Mon, 10 Oct 2016 14:01:02 GMT</pubDate>
      </item>
<item>
        <guid>beb852ac-86a3-45c3-a8c9-6ea9d55d0a52</guid>
        <title>Combinando React.js y Redux.js</title>
        <description>Redux es especialmente bueno al usarlo con librerías como React ya que facilita usar React solo para la UI y dejar el estado en Redux.</description>
        <link>https://r3.sergiodxa.com/articles/combinando-react-y-redux</link>
        <pubDate>Mon, 28 Mar 2016 07:18:42 GMT</pubDate>
      </item>
<item>
        <guid>06ae95dd-683a-4005-924b-4acff8f6f3f6</guid>
        <title>Introducción a Redux.js</title>
        <description>Redux es una librería para controlar el estado de nuestras WebApps fácilmente, de forma consistente entre cliente y servidor y una gran DX.</description>
        <link>https://r3.sergiodxa.com/articles/introduccion-a-redux</link>
        <pubDate>Wed, 23 Mar 2016 15:52:14 GMT</pubDate>
      </item>
<item>
        <guid>9697bd59-81e6-4b00-a570-56a78f00e9d4</guid>
        <title>Compilando el Frontend con webpack</title>
        <description>  Cuando estamos haciendo desarrollo Frontend es una buena práctica separar nuestro código en distintos módulos, tanto el código de JavaScr…</description>
        <link>https://r3.sergiodxa.com/articles/medium/compilando-frontend-webpack</link>
        <pubDate>Mon, 28 Sep 2015 00:10:28 GMT</pubDate>
      </item>
<item>
        <guid>d2cc2c4c-78ea-4d6a-8d20-b1617476dafc</guid>
        <title>Internacionalización con React.js y FormatJS</title>
        <description>Guía de como usar FormatJS para internacionalizar aplicaciones hechas con React.js y poder pluralizar o formatear fechas y números.</description>
        <link>https://r3.sergiodxa.com/articles/medium/i18n-react-formatjs</link>
        <pubDate>Sun, 27 Sep 2015 03:57:35 GMT</pubDate>
      </item>
<item>
        <guid>a78e9ec6-6d9e-4389-a15b-1487074d4a8a</guid>
        <title>Introducción a ECMAScript 2016/7</title>
        <description>Desde finales del 2014, incluso antes de que se terminara de definir ECMAScript 6 ya se estaba empezando a trabajar en la siguiente versión…</description>
        <link>https://r3.sergiodxa.com/articles/medium/introduccion-a-ecmascript-2016-7</link>
        <pubDate>Fri, 25 Sep 2015 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>b3284bdc-599d-4ac7-86ca-b127632d1bde</guid>
        <title>Mi experiencia como estudiante de los cursos de Platzi</title>
        <description>El nacimiento de Platzi  Hace más de 5 años me enteré que los dueños de Cristalab y Maestros del Web se iban a juntar para crear Mejorando …</description>
        <link>https://r3.sergiodxa.com/articles/medium/mi-experiencia-como-estudiante-de-los-cursos-de-platzi</link>
        <pubDate>Thu, 10 Sep 2015 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>a837d011-8622-4b29-8689-afdb87b21744</guid>
        <title>Lo nuevo en React v0.14</title>
        <description>React v0.14 es la nueva beta de la librería de Facebook que fue liberada recientemente. Esta primera versión llegará con dos grandes cambio…</description>
        <link>https://r3.sergiodxa.com/articles/platzi/react-v014</link>
        <pubDate>Wed, 08 Jul 2015 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>b95201d5-b3f3-412f-ab4e-649919b366d2</guid>
        <title>Usando ECMAScript 6 en tus tareas de Gulp</title>
        <description>Algo muy molesto cuando estás usando ES6 con Babel.js y Gulp.js para automatizar tareas es que el archivo gulpfile.js sigue estando en ES5 …</description>
        <link>https://r3.sergiodxa.com/articles/medium/usando-ecmascript-6-en-tus-tareas-de-gulp</link>
        <pubDate>Tue, 09 Jun 2015 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>9f30c18a-8ef5-454e-b1df-bfb8e0f0348c</guid>
        <title>Usando ECMAScript 6/2015 con Babel</title>
        <description>ECMAScript 2015, comunmente conocido como ECMAScript 6 o ES6, es la nueva versión del lenguaje estandarizado ECMAScript del cual sale JavaS…</description>
        <link>https://r3.sergiodxa.com/articles/medium/usando-ecmascript-6-2015-con-babel</link>
        <pubDate>Tue, 09 Jun 2015 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>0c39c89c-41b4-4fd6-862f-3165495b6c42</guid>
        <title>Buenas prácticas del desarrollo FrontEnd</title>
        <description>En el desarrollo FrontEnd con el tiempo han ido surgiendo lo que se conoce como buenas prácticas, cosas que normalmente hacemos porque mejo…</description>
        <link>https://r3.sergiodxa.com/articles/medium/buenas-practicas-del-desarrollo-frontend</link>
        <pubDate>Mon, 08 Jun 2015 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>45180c4b-bfdc-489b-b5a0-59941e81507f</guid>
        <title>Renderizando React.js en el server con Express.js y react-engine</title>
        <description>React.js cada vez es más popular en el mundo del desarrollo web y una de las razones de esto es que permite crear código isomórfico, esto q…</description>
        <link>https://r3.sergiodxa.com/articles/medium/renderizando-react-js-en-el-server-con-express-js-y-react-engine</link>
        <pubDate>Mon, 01 Jun 2015 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>adc99b09-3754-4cc9-8cec-6379ea393a55</guid>
        <title>ECMAScript 6: nueva sintaxis y características para JavaScript</title>
        <description>title: ''
date: 2015-04-24T00:00:00.000Z
published: true
lang: es
canonical_url: …</description>
        <link>https://r3.sergiodxa.com/articles/platzi/ecmascript-nueva-sintaxis</link>
        <pubDate>Fri, 24 Apr 2015 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>dc4e7bee-bd68-4d31-8bab-e902fd6f83d2</guid>
        <title>Cómo usar la etiqueta template en HTML5</title>
        <description>Hasta hace unos años, cuando un desarrollador quería hacer templates de sus páginas, la opción era usar algún lenguaje en el Backend como P…</description>
        <link>https://r3.sergiodxa.com/articles/cristalab/como-usar-la-etiqueta-template-en-html5</link>
        <pubDate>Sun, 04 Jan 2015 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>991de6c8-5ad5-4af3-802d-671c5a87c23a</guid>
        <title>Automatización de tareas de frontend usando Gulp.js</title>
        <description>Como desarrollador Frontend, hay ciertas tareas que se terminan volviendo repetitivas durante el desarrollo, como compilar el CSS desde un …</description>
        <link>https://r3.sergiodxa.com/articles/cristalab/automatizando-tareas-frontend-gulp</link>
        <pubDate>Mon, 22 Dec 2014 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>602d194e-b226-4058-95ad-c38c63098b36</guid>
        <title>Uso de módulos en JavaScript con ECMAScript 6</title>
        <description>JavaScript no tiene (por ahora) un sistema de módulos propio, aunque eso si, la comunidad fue creando varios para suplir esa necesidad. Act…</description>
        <link>https://r3.sergiodxa.com/articles/cristalab/uso-de-modulos-en-javascript-con-ecmascript-6</link>
        <pubDate>Fri, 07 Nov 2014 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>9a065518-e2c9-43b6-bee1-495e1410731a</guid>
        <title>Escribiendo CSS de la forma correcta</title>
        <description>Como desarrollador FrontEnd me encuentro constantemente utilizando CSS. Este lenguaje para dar estilos a páginas web tiende a empezar siend…</description>
        <link>https://r3.sergiodxa.com/articles/medium/escribiendo-css-de-la-forma-correcta</link>
        <pubDate>Fri, 31 Oct 2014 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>3b259fff-6a34-49f2-9d64-6c3b40e21d64</guid>
        <title>Definiendo conceptos - Closure y Scope en JavaScript</title>
        <description>Qué es el Scope  El scope es el alcance de una variable, puede ser de dos tipos, global y local. Una variable cuyo scope es global se puede…</description>
        <link>https://r3.sergiodxa.com/articles/definiendo-conceptos-closures-y-scope</link>
        <pubDate>Thu, 31 Jul 2014 00:19:09 GMT</pubDate>
      </item>
<item>
        <guid>65e83c2e-4463-4630-8283-425fed52b416</guid>
        <title>Ventajas y desventajas de los pre-procesadores de CSS</title>
        <description>Usar pre-procesadores de CSS de a poco se convierte un estándar en el mundo del desarrollo web front-end, pero primero empecemos hablando s…</description>
        <link>https://r3.sergiodxa.com/articles/medium/ventajas-y-desventajas-de-los-pre-procesadores-de-css</link>
        <pubDate>Tue, 08 Jul 2014 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>3f646c6d-fa21-4e5a-8317-b4c58677edf3</guid>
        <title>¿Qué es Scrum? ¿Y cómo te ayuda trabajar?</title>
        <description>Scrum es una metodología de desarrollo ágil. Scrum propone una forma diferente de organizarse en el desarrollo de un proyecto, tanto en sol…</description>
        <link>https://r3.sergiodxa.com/articles/medium/que-es-scrum</link>
        <pubDate>Sun, 06 Jul 2014 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>2104d5ba-8462-44d6-bc18-30a8a3dfbc63</guid>
        <title>El módulo Flexbox de CSS3</title>
        <description>Flexbox es un módulo de CSS3 que permite crear layouts flexibles de una forma más eficiente controlando la alineación de las cajas, el anch…</description>
        <link>https://r3.sergiodxa.com/articles/cristalab/el-modulo-flexbox-de-css3</link>
        <pubDate>Sun, 15 Dec 2013 00:00:00 GMT</pubDate>
      </item>
<item>
        <guid>26966f1e-faa2-4a9a-8ac7-fc9097c4095b</guid>
        <title>JavaScript orientado a objetos</title>
        <description>La programación orientada a objetos o POO (OOP en inglés Object Oriented Programming) es una forma de realizar aplicaciones. Javascript por…</description>
        <link>https://r3.sergiodxa.com/articles/cristalab/javascript-orientado-a-objetos</link>
        <pubDate>Fri, 23 Aug 2013 00:00:00 GMT</pubDate>
      </item>
  </channel>
</rss>