<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alson Kaw</title>
	<atom:link href="https://alsonkaw.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://alsonkaw.com</link>
	<description></description>
	<lastBuildDate>Mon, 21 Sep 2026 04:11:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>A Safer Way to Use the Linux Terminal</title>
		<link>https://alsonkaw.com/writing/the-terminal-rewards-precision-not-bravery/</link>
					<comments>https://alsonkaw.com/writing/the-terminal-rewards-precision-not-bravery/#respond</comments>
		
		<dc:creator><![CDATA[Alson Kaw]]></dc:creator>
		<pubDate>Mon, 21 Sep 2026 02:44:13 +0000</pubDate>
				<category><![CDATA[Software Development & Best Practices]]></category>
		<category><![CDATA[Command Line]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[System Administration]]></category>
		<guid isPermaLink="false">https://alsonkaw.com/writing/</guid>

					<description><![CDATA[Linux commands turn intention into consequence. Use them with precision and patience.]]></description>
										<content:encoded><![CDATA[<p>Linux is generous with consequences. Give it a target, a pattern, a device, a process, and it will generally accept your explanation. That directness makes terminal work satisfying. It also means the distance between an idea and an outage can be one missing argument. The MeetCyber list of twenty Linux commands leans into the dangerous side of terminal power, but the useful lesson sits…</p>
<p><a href="https://alsonkaw.com/writing/the-terminal-rewards-precision-not-bravery/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://alsonkaw.com/writing/the-terminal-rewards-precision-not-bravery/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Writing Code Is No Longer the Hard Part</title>
		<link>https://alsonkaw.com/writing/writing-code-is-no-longer-the-hard-part/</link>
					<comments>https://alsonkaw.com/writing/writing-code-is-no-longer-the-hard-part/#respond</comments>
		
		<dc:creator><![CDATA[Alson Kaw]]></dc:creator>
		<pubDate>Thu, 13 Aug 2026 10:32:34 +0000</pubDate>
				<category><![CDATA[Software Development & Best Practices]]></category>
		<guid isPermaLink="false">https://2027.alsonkaw.com/writing/writing-code-is-no-longer-the-hard-part/</guid>

					<description><![CDATA[AI can generate code quickly. The harder part of development is increasingly defining intent, providing context and knowing whether the result is good.]]></description>
										<content:encoded><![CDATA[<p>I’ve been using AI coding agents heavily enough that something about programming has started to feel different. I can describe a feature, give the agent the relevant files and constraints, and come back to hundreds of lines of working code. Sometimes I have several agents working on different things at once. Writing the code is increasingly not the part that takes my time.</p>
<p><a href="https://alsonkaw.com/writing/writing-code-is-no-longer-the-hard-part/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://alsonkaw.com/writing/writing-code-is-no-longer-the-hard-part/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why Customer Value Matters in Development</title>
		<link>https://alsonkaw.com/writing/why-customer-value-matters-in-development/</link>
					<comments>https://alsonkaw.com/writing/why-customer-value-matters-in-development/#respond</comments>
		
		<dc:creator><![CDATA[Alson Kaw]]></dc:creator>
		<pubDate>Sun, 19 Jul 2026 03:53:00 +0000</pubDate>
				<category><![CDATA[Psychology & Human Behavior]]></category>
		<guid isPermaLink="false">https://2027.alsonkaw.com/?post_type=writing&#038;p=164</guid>

					<description><![CDATA[Customer value matters more than user counts. iOS and Android spending differences shape app economics.]]></description>
										<content:encoded><![CDATA[<p>When diving into app development, understanding the true value of a customer is crucial. I recently stumbled upon Horace Dediu’s insightful article on Asymco (you can read the full article at the end of this post), which breaks down why focusing on customer quality rather than sheer numbers can drastically shape business strategies, particularly when comparing iOS and Android users.</p>
<p><a href="https://alsonkaw.com/writing/why-customer-value-matters-in-development/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://alsonkaw.com/writing/why-customer-value-matters-in-development/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why Does CORS Keep Blocking Me?</title>
		<link>https://alsonkaw.com/writing/cors-errors-are-the-browser-protecting-you/</link>
					<comments>https://alsonkaw.com/writing/cors-errors-are-the-browser-protecting-you/#respond</comments>
		
		<dc:creator><![CDATA[Alson Kaw]]></dc:creator>
		<pubDate>Tue, 23 Jun 2026 04:37:17 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Privacy Insights]]></category>
		<guid isPermaLink="false">https://2027.alsonkaw.com/writing/cors-errors-are-the-browser-protecting-you/</guid>

					<description><![CDATA[CORS errors confused me too. Here's what Same Origin Policy and CORS actually do, why browsers enforce them, and how to configure your way out.]]></description>
										<content:encoded><![CDATA[<p>You’ve seen it. You’re building something, you make a fetch call to an API, and the browser console lights up red: Your first instinct is that something is broken. It isn’t. The browser is doing exactly what it’s supposed to do. Here’s what’s actually going on. Browsers enforce something called the Same Origin Policy (SOP). The rule is simple: JavaScript on one origin…</p>
<p><a href="https://alsonkaw.com/writing/cors-errors-are-the-browser-protecting-you/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://alsonkaw.com/writing/cors-errors-are-the-browser-protecting-you/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Building Dark Mode Emails That Work</title>
		<link>https://alsonkaw.com/writing/building-dark-mode-emails-that-works/</link>
					<comments>https://alsonkaw.com/writing/building-dark-mode-emails-that-works/#respond</comments>
		
		<dc:creator><![CDATA[Alson Kaw]]></dc:creator>
		<pubDate>Fri, 12 Jun 2026 07:53:16 +0000</pubDate>
				<category><![CDATA[Technology Innovations & Future Trends]]></category>
		<guid isPermaLink="false">https://2027.alsonkaw.com/writing/building-dark-mode-emails-that-works/</guid>

					<description><![CDATA[MJML handles responsive email boilerplate so you don't have to. Here's how to implement dark mode, logo switching, and survive the email client minefield.]]></description>
										<content:encoded><![CDATA[<p>HTML email development is famously unpleasant. You are writing table-based layouts in 2026 because Microsoft decided in 2007 that Outlook should use the Word rendering engine instead of a browser engine. That one product decision, made nearly two decades ago, is why email developers are still nesting tables and writing inline CSS by hand. If it works in a browser, it will probably fail in at…</p>
<p><a href="https://alsonkaw.com/writing/building-dark-mode-emails-that-works/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://alsonkaw.com/writing/building-dark-mode-emails-that-works/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Project Apollo: Rebuilt After 13 Years</title>
		<link>https://alsonkaw.com/writing/project-apollo-rebuilt-after-13-years/</link>
					<comments>https://alsonkaw.com/writing/project-apollo-rebuilt-after-13-years/#respond</comments>
		
		<dc:creator><![CDATA[Alson Kaw]]></dc:creator>
		<pubDate>Mon, 08 Jun 2026 10:00:54 +0000</pubDate>
				<category><![CDATA[Homelab Projects & Self-Hosting Adventures]]></category>
		<guid isPermaLink="false">https://2027.alsonkaw.com/writing/project-apollo-rebuilt-after-13-years/</guid>

					<description><![CDATA[Project Apollo started as a static HTML page in 2012. Here's how I rebuilt it into a self-hosted PWA on Docker, Directus, and vanilla JS — no bundler, no framework.]]></description>
										<content:encoded><![CDATA[<p>Project Apollo started in 2012 as a static HTML page. One file, hard-coded paths pointing to audio and image assets in folders, served directly by Apache. No CMS, no database, no deployment pipeline. It worked, and it kept working untouched for over a decade. Last month I rewrote the entire thing from scratch. The UI was redesigned and built with Claude Design and Claude Code.</p>
<p><a href="https://alsonkaw.com/writing/project-apollo-rebuilt-after-13-years/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://alsonkaw.com/writing/project-apollo-rebuilt-after-13-years/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Your meeting. Their podcast.</title>
		<link>https://alsonkaw.com/writing/your-meeting-their-podcast/</link>
					<comments>https://alsonkaw.com/writing/your-meeting-their-podcast/#respond</comments>
		
		<dc:creator><![CDATA[Alson Kaw]]></dc:creator>
		<pubDate>Sat, 18 Apr 2026 10:35:24 +0000</pubDate>
				<category><![CDATA[Cybersecurity & Digital Privacy Insights]]></category>
		<guid isPermaLink="false">https://2027.alsonkaw.com/writing/your-meeting-their-podcast/</guid>

					<description><![CDATA[WebinarTV has been secretly infiltrating Zoom calls, recording them without consent, and turning them into AI podcasts. Here's the full breakdown.]]></description>
										<content:encoded><![CDATA[<p>A company called WebinarTV has been quietly crawling the internet for Zoom links, sending bots with fake identities to join your meetings, recording everything without consent, converting it into an AI-generated podcast, and then — only after all of that — sending you an email to let you know. Congratulations, you’re on air. 404 Media broke the story in March. The mechanics: WebinarTV bills…</p>
<p><a href="https://alsonkaw.com/writing/your-meeting-their-podcast/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://alsonkaw.com/writing/your-meeting-their-podcast/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Velocity Is the New Authority</title>
		<link>https://alsonkaw.com/writing/velocity-is-the-new-authority/</link>
					<comments>https://alsonkaw.com/writing/velocity-is-the-new-authority/#respond</comments>
		
		<dc:creator><![CDATA[Alson Kaw]]></dc:creator>
		<pubDate>Tue, 24 Feb 2026 04:38:04 +0000</pubDate>
				<category><![CDATA[Psychology & Human Behavior]]></category>
		<guid isPermaLink="false">https://2027.alsonkaw.com/writing/velocity-is-the-new-authority/</guid>

					<description><![CDATA[The internet once rewarded authority; now it rewards velocity. When attention follows whatever is newest, ideas are replaced faster than they can be examined.]]></description>
										<content:encoded><![CDATA[<p>By the time you finish this paragraph, the feed has refreshed itself several times. A handful of new headlines have surfaced. Most will disappear before the hour ends, including for the people who posted them. Scroll for ten minutes and try to recount what you consumed. Speed fills the space where substance used to sit. Om Malik recently offers a structural explanation.</p>
<p><a href="https://alsonkaw.com/writing/velocity-is-the-new-authority/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://alsonkaw.com/writing/velocity-is-the-new-authority/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Lossless Streaming Now On Spotify Premium</title>
		<link>https://alsonkaw.com/writing/lossless-streaming-now-on-spotify-premium/</link>
					<comments>https://alsonkaw.com/writing/lossless-streaming-now-on-spotify-premium/#respond</comments>
		
		<dc:creator><![CDATA[Alson Kaw]]></dc:creator>
		<pubDate>Thu, 18 Sep 2025 03:59:20 +0000</pubDate>
				<category><![CDATA[Social Media News & Platform Updates]]></category>
		<guid isPermaLink="false">https://2027.alsonkaw.com/writing/lossless-streaming-now-on-spotify-premium/</guid>

					<description><![CDATA[Spotify Premium finally adds lossless 24-bit/44.1 kHz FLAC streaming at no extra tier, closing one of the biggest audio-quality gaps with Apple Music and Tidal.]]></description>
										<content:encoded><![CDATA[<p>via Spotify, For the Record Spotify just rolled out something listeners have been asking about for years: lossless audio for Premium subscribers. That means you can finally stream music in 24-bit/44.1 kHz FLAC, giving you more detail, depth, and nuance than the usual compressed streams. It’s a big step forward if you’ve ever felt like your favorite tracks were missing some of the texture you’…</p>
<p><a href="https://alsonkaw.com/writing/lossless-streaming-now-on-spotify-premium/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://alsonkaw.com/writing/lossless-streaming-now-on-spotify-premium/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Why We Won&#8217;t Hire a Junior with Five Years of Experience</title>
		<link>https://alsonkaw.com/writing/why-we-wont-hire-a-junior-with-five-years-of-experience/</link>
					<comments>https://alsonkaw.com/writing/why-we-wont-hire-a-junior-with-five-years-of-experience/#respond</comments>
		
		<dc:creator><![CDATA[Alson Kaw]]></dc:creator>
		<pubDate>Wed, 09 Apr 2025 22:31:28 +0000</pubDate>
				<category><![CDATA[Career Development & Professional Growth]]></category>
		<guid isPermaLink="false">https://2027.alsonkaw.com/writing/why-we-wont-hire-a-junior-with-five-years-of-experience/</guid>

					<description><![CDATA[37signals wants junior programmers with potential, not candidates who have simply accumulated years. Experience matters less when it stops being a proxy for.]]></description>
										<content:encoded><![CDATA[<p>37signals is on the lookout for a new junior programmer, and they’re offering an impressive annual salary of USD$145,849. They’re not just looking for someone with a ton of experience—they want a candidate with incredible potential. The idea is that someone fresh out of school or early in their career can grow much faster than someone with five years of experience, whose growth might be more…</p>
<p><a href="https://alsonkaw.com/writing/why-we-wont-hire-a-junior-with-five-years-of-experience/" rel="nofollow">Source</a></p>]]></content:encoded>
					
					<wfw:commentRss>https://alsonkaw.com/writing/why-we-wont-hire-a-junior-with-five-years-of-experience/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
