<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Cali Castle]]></title><description><![CDATA[Design Engineer. Agent Orchestrator. Creative Director.]]></description><link>https://cali.so/en</link><image><url>https://cali.so/images/avatar.png</url><title>Cali Castle</title><link>https://cali.so/en</link></image><generator>PHP 9.0</generator><lastBuildDate>Tue, 21 Jul 2026 05:30:40 GMT</lastBuildDate><atom:link href="https://cali.so/feed.en.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en-US]]></language><item><title><![CDATA[2023 Year in Review: My Unusual 28th Year]]></title><description><![CDATA[With one week left in 2023, I want to look back at the year before I turn toward 2024.]]></description><link>https://cali.so/en/blog/2023-year-in-review</link><guid isPermaLink="false">https://cali.so/en/blog/2023-year-in-review</guid><pubDate>Sat, 23 Dec 2023 17:17:16 GMT</pubDate><enclosure url="https://cali.so/content/blog/2023-year-in-review/cover.png" length="0" type="image/png"/></item><item><title><![CDATA[How to Clone This Site and Launch a Blog for Free]]></title><description><![CDATA[Historical tutorial for the 2024 v2 stack. It does not apply to the current v3 site.]]></description><link>https://cali.so/en/blog/guide-for-cloning-my-site</link><guid isPermaLink="false">https://cali.so/en/blog/guide-for-cloning-my-site</guid><pubDate>Sat, 15 Jul 2023 05:13:38 GMT</pubDate><enclosure url="https://cali.so/content/blog/guide-for-cloning-my-site/cover.png" length="0" type="image/png"/></item><item><title><![CDATA[React or Vue? My Take on the State of Web Development]]></title><description><![CDATA[I've worked in frontend for years. Here is how I see React.js and Vue.js, based on the products, tools, and communities around them.]]></description><link>https://cali.so/en/blog/react-or-vue-my-take-on-web-dev</link><guid isPermaLink="false">https://cali.so/en/blog/react-or-vue-my-take-on-web-dev</guid><pubDate>Mon, 03 Jul 2023 04:00:38 GMT</pubDate><enclosure url="https://cali.so/content/blog/react-or-vue-my-take-on-web-dev/cover.png" length="0" type="image/png"/></item><item><title><![CDATA[I'm Going to Be a Father]]></title><description><![CDATA[Our baby is due in about a month, and I'm about to take on the biggest responsibility of my life: becoming a father.]]></description><link>https://cali.so/en/blog/im-gonna-be-a-father</link><guid isPermaLink="false">https://cali.so/en/blog/im-gonna-be-a-father</guid><pubDate>Fri, 23 Jun 2023 16:01:00 GMT</pubDate><enclosure url="https://cali.so/content/blog/im-gonna-be-a-father/cover.png" length="0" type="image/png"/></item><item><title><![CDATA[Eight Laws for Becoming an Excellent Engineer]]></title><description><![CDATA[Technical skill alone does not make an excellent engineer. These are the eight principles and values that have helped me along the way.]]></description><link>https://cali.so/en/blog/8-laws-to-a-successful-engineer</link><guid isPermaLink="false">https://cali.so/en/blog/8-laws-to-a-successful-engineer</guid><pubDate>Fri, 16 Jun 2023 16:00:03 GMT</pubDate><enclosure url="https://cali.so/content/blog/8-laws-to-a-successful-engineer/cover.png" length="0" type="image/png"/></item><item><title><![CDATA[How to Add RSS to a Next.js App Router Site]]></title><description><![CDATA[A guide to adding an RSS feed to a Next.js website built with the App Router.]]></description><link>https://cali.so/en/blog/how-to-add-rss-to-your-nextjs-app-router</link><guid isPermaLink="false">https://cali.so/en/blog/how-to-add-rss-to-your-nextjs-app-router</guid><pubDate>Fri, 09 Jun 2023 16:23:08 GMT</pubDate><enclosure url="https://cali.so/content/blog/how-to-add-rss-to-your-nextjs-app-router/cover.png" length="0" type="image/png"/></item><item><title><![CDATA[Do Buttons Really Need Pointer Cursors?]]></title><description><![CDATA[Buttons are everywhere, yet native macOS and Windows apps share one detail: hovering over a button does not turn the cursor into a pointing hand.]]></description><link>https://cali.so/en/blog/do-buttons-need-pointer-cursors</link><guid isPermaLink="false">https://cali.so/en/blog/do-buttons-need-pointer-cursors</guid><pubDate>Thu, 25 May 2023 16:00:00 GMT</pubDate><enclosure url="https://cali.so/content/blog/do-buttons-need-pointer-cursors/cover.png" length="0" type="image/png"/></item><item><title><![CDATA[How to Protect Your Site With Upstash]]></title><description><![CDATA[Someone was deliberately hammering one of my APIs and driving up my Redis bill. I used Upstash rate limits and IP blocking to stop them.]]></description><link>https://cali.so/en/blog/how-to-protect-your-site-with-upstash</link><guid isPermaLink="false">https://cali.so/en/blog/how-to-protect-your-site-with-upstash</guid><pubDate>Mon, 22 May 2023 08:32:00 GMT</pubDate><enclosure url="https://cali.so/content/blog/how-to-protect-your-site-with-upstash/cover.png" length="0" type="image/png"/></item><item><title><![CDATA[Hao Chen: An Open Heart That Lit the Way in Tech]]></title><description><![CDATA[Hao Chen spoke his mind, shared what he knew, loved technology, and stood by his principles. He was my mentor. He is gone, but what he gave us remains.]]></description><link>https://cali.so/en/blog/an-ode-to-hao-chen</link><guid isPermaLink="false">https://cali.so/en/blog/an-ode-to-hao-chen</guid><pubDate>Tue, 16 May 2023 13:19:48 GMT</pubDate><enclosure url="https://cali.so/content/blog/an-ode-to-hao-chen/cover.jpg" length="0" type="image/jpeg"/></item></channel></rss>