<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>JonLuca&apos;s Blog</title>
    <link>https://jonlu.ca</link>
    <atom:link href="https://jonlu.ca/feed.xml" rel="self" type="application/rss+xml" />
    <description>Essays by JonLuca DeCaro about programming, reverse engineering, product systems, travel, and technology.</description>
    <item>
        <title>Snowmen, Recruiters, and Terry Pratchett: The Web&apos;s HTTP Header Junk Drawer</title>
        <link>https://jonlu.ca/posts/http-headers-top-1000</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/http-headers-top-1000</guid>
        <description>I crawled the top 1,000 sites and read their response headers. Browser fossils, CDN breadcrumbs, leaked codenames, a snowman, and a tribute to Terry Pratchett.</description>
        <pubDate>Sat, 30 May 2026 19:33:57 GMT</pubDate>
      </item>
<item>
        <title>Smoothing the jagged frontier</title>
        <link>https://jonlu.ca/posts/smoothing-the-jagged-frontier</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/smoothing-the-jagged-frontier</guid>
        <description>AI models may bring back the ability to combine deep expertise from every field toward a single goal.</description>
        <pubDate>Sun, 24 May 2026 01:20:00 GMT</pubDate>
      </item>
<item>
        <title>Vibecoding native apps has gotten really good</title>
        <link>https://jonlu.ca/posts/vibecoding-native-apps</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/vibecoding-native-apps</guid>
        <description>I built a fine dining tracker app using React Native, and the experience was surprisingly smooth, both from how good React Native has gotten, and how much better the models are.</description>
        <pubDate>Mon, 02 Feb 2026 03:34:03 GMT</pubDate>
      </item>
<item>
        <title>Markets as the ultimate RL environment</title>
        <link>https://jonlu.ca/posts/markets-are-the-ultimate-rl-environment</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/markets-are-the-ultimate-rl-environment</guid>
        <description>Why financial markets are an unusually pure, brutal, and adversarial reinforcement learning environment.</description>
        <pubDate>Sat, 13 Dec 2025 23:58:52 GMT</pubDate>
      </item>
<item>
        <title>SkyCards, ground truth: reverse‑engineering a flight‑spotting game</title>
        <link>https://jonlu.ca/posts/skycards</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/skycards</guid>
        <description>Automating SkyCards, the FlightRadar24 plane‑spotting game</description>
        <pubDate>Fri, 12 Sep 2025 01:50:21 GMT</pubDate>
      </item>
<item>
        <title>Finding cool custom vanity CA license plates</title>
        <link>https://jonlu.ca/posts/ca-plate-checker</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/ca-plate-checker</guid>
        <description>Reverse engineering the California DMV&apos;s license plate availability checker to find cool custom plates.</description>
        <pubDate>Thu, 28 Aug 2025 20:26:40 GMT</pubDate>
      </item>
<item>
        <title>Optimizing AI Model Load Times</title>
        <link>https://jonlu.ca/posts/optimizing-model-load-times</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/optimizing-model-load-times</guid>
        <description>Improving PyTorch model loading performance using memory-based filesystems and distributed storage in Kubernetes.</description>
        <pubDate>Sat, 03 May 2025 22:28:40 GMT</pubDate>
      </item>
<item>
        <title>Noticing when an app is only hosted in us-east-1</title>
        <link>https://jonlu.ca/posts/us-east-1-latency</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/us-east-1-latency</guid>
        <description>Using latency measurements to infer when a globally used application is served only from us-east-1.</description>
        <pubDate>Mon, 26 Jun 2023 16:26:53 GMT</pubDate>
      </item>
<item>
        <title>Exploring how Magic Link works</title>
        <link>https://jonlu.ca/posts/magic-link</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/magic-link</guid>
        <description>Examining passwordless Magic Link authentication and the implementation exposed in its onboarding flow.</description>
        <pubDate>Wed, 31 May 2023 00:53:42 GMT</pubDate>
      </item>
<item>
        <title>Semantic search in iMessage, iMessage Wrapped, and AI conversations</title>
        <link>https://jonlu.ca/posts/mimessage</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/mimessage</guid>
        <description>Building semantic search and conversation analysis for an exported iMessage archive.</description>
        <pubDate>Fri, 14 Apr 2023 04:31:20 GMT</pubDate>
      </item>
<item>
        <title>Getting a vanity phone number with 4 repeating digits</title>
        <link>https://jonlu.ca/posts/verizon-rare-numbers</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/verizon-rare-numbers</guid>
        <description>Automating Verizon number searches to find rare phone numbers with repeating digits.</description>
        <pubDate>Sat, 28 May 2022 22:06:28 GMT</pubDate>
      </item>
<item>
        <title>Web3, Free Candy, and exploits galore</title>
        <link>https://jonlu.ca/posts/candy-machine</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/candy-machine</guid>
        <description>Finding and disclosing vulnerabilities in Metaplex Candy Machine NFT minting contracts.</description>
        <pubDate>Sat, 26 Feb 2022 23:59:43 GMT</pubDate>
      </item>
<item>
        <title>Snapshotting memory to scrape encrypted network requests</title>
        <link>https://jonlu.ca/posts/heap-snapshot-scraping</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/heap-snapshot-scraping</guid>
        <description>Using browser heap snapshots to recover structured data after network responses have been encrypted.</description>
        <pubDate>Sun, 08 Aug 2021 21:06:09 GMT</pubDate>
      </item>
<item>
        <title>JavaScript gotchas</title>
        <link>https://jonlu.ca/posts/javascript-facts</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/javascript-facts</guid>
        <description>A tour of surprising JavaScript behavior involving functions, coercion, arrays, and language edges.</description>
        <pubDate>Sun, 18 Jul 2021 13:18:39 GMT</pubDate>
      </item>
<item>
        <title>Writing fast async HTTP requests in Python</title>
        <link>https://jonlu.ca/posts/async-python-http</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/async-python-http</guid>
        <description>Controlling concurrency with asyncio and semaphores to make large batches of Python HTTP requests fast.</description>
        <pubDate>Tue, 15 Jun 2021 03:02:29 GMT</pubDate>
      </item>
<item>
        <title>A boilerplate for SSR&apos;d Vite, React 17, and TypeScript 4.3</title>
        <link>https://jonlu.ca/posts/vite</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/vite</guid>
        <description>A minimal server-rendered starter setup for Vite, React 17, and TypeScript 4.3.</description>
        <pubDate>Sun, 16 May 2021 16:49:29 GMT</pubDate>
      </item>
<item>
        <title>How to redeem $2000 of HNS for being a FOSS developer</title>
        <link>https://jonlu.ca/posts/hns-airdrop</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/hns-airdrop</guid>
        <description>Claiming a Handshake developer airdrop and turning an unexpected token allocation into cash.</description>
        <pubDate>Sun, 09 May 2021 21:22:33 GMT</pubDate>
      </item>
<item>
        <title>Fun VPN tricks due to Apple owning all of 17.X.X.X</title>
        <link>https://jonlu.ca/posts/apple-wifi</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/apple-wifi</guid>
        <description>How Apple&apos;s large address allocation can interact unexpectedly with VPN routing and airplane Wi-Fi.</description>
        <pubDate>Fri, 12 Mar 2021 16:03:51 GMT</pubDate>
      </item>
<item>
        <title>What is tax loss harvesting?</title>
        <link>https://jonlu.ca/posts/tax-loss-harvesting</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/tax-loss-harvesting</guid>
        <description>An accessible explanation of tax-loss harvesting, wash sales, and portfolio tradeoffs.</description>
        <pubDate>Thu, 11 Mar 2021 00:39:59 GMT</pubDate>
      </item>
<item>
        <title>Zoh-no Zogo: Manufacturing pineapples (and cash) with Burp Suite</title>
        <link>https://jonlu.ca/posts/zogo-zono</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/zogo-zono</guid>
        <description>Reverse-engineering Zogo reward redemption requests and finding a profitable validation flaw.</description>
        <pubDate>Wed, 20 Jan 2021 01:55:59 GMT</pubDate>
      </item>
<item>
        <title>Setting up Matomo in such a way to bypass adblockers</title>
        <link>https://jonlu.ca/posts/matomo-bypass</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/matomo-bypass</guid>
        <description>Configuring self-hosted Matomo analytics behind custom routes and POST tracking.</description>
        <pubDate>Thu, 17 Dec 2020 19:10:04 GMT</pubDate>
      </item>
<item>
        <title>Unlimited free WiFi on flights with T-Mobile</title>
        <link>https://jonlu.ca/posts/tmobile-wifi</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/tmobile-wifi</guid>
        <description>Investigating an airline Wi-Fi authentication flow that granted T-Mobile connectivity.</description>
        <pubDate>Sun, 29 Nov 2020 12:12:29 GMT</pubDate>
      </item>
<item>
        <title>Habitat 2020 - Coliving during COVID</title>
        <link>https://jonlu.ca/posts/habitat</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/habitat</guid>
        <description>A look back at living in a coliving community during the first year of COVID-19.</description>
        <pubDate>Sat, 31 Oct 2020 21:06:30 GMT</pubDate>
      </item>
<item>
        <title>American Airlines is an e-currency company that happens to own some planes</title>
        <link>https://jonlu.ca/posts/american-airlines</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/american-airlines</guid>
        <description>Examining how airline loyalty currencies shape American Airlines as much as flying passengers does.</description>
        <pubDate>Sun, 06 Sep 2020 20:09:56 GMT</pubDate>
      </item>
<item>
        <title>Thoughts on user growth and product</title>
        <link>https://jonlu.ca/posts/thoughts-on-product</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/thoughts-on-product</guid>
        <description>Reflections on product engineering, growth work, experimentation, and building for user behavior.</description>
        <pubDate>Sun, 30 Aug 2020 00:51:20 GMT</pubDate>
      </item>
<item>
        <title>Reversing Lyft&apos;s ride history API to analyze 6 years worth of rides</title>
        <link>https://jonlu.ca/posts/reversing-lyft</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/reversing-lyft</guid>
        <description>Reverse-engineering Lyft&apos;s ride-history APIs to analyze six years of personal trips.</description>
        <pubDate>Fri, 03 Jul 2020 23:20:34 GMT</pubDate>
      </item>
<item>
        <title>How the Nintendo Switch prevents downgrades by irreparably blowing its own fuses</title>
        <link>https://jonlu.ca/posts/nintendo-switch</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/nintendo-switch</guid>
        <description>How the Nintendo Switch uses irreversible hardware fuses to prevent firmware downgrades.</description>
        <pubDate>Sun, 14 Jun 2020 20:36:09 GMT</pubDate>
      </item>
<item>
        <title>Promise.all vs Promise.allSettled in JavaScript</title>
        <link>https://jonlu.ca/posts/promises</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/promises</guid>
        <description>Comparing Promise.all and Promise.allSettled for concurrent JavaScript workflows and failures.</description>
        <pubDate>Thu, 14 May 2020 16:50:44 GMT</pubDate>
      </item>
<item>
        <title>Goodreads has a time to first byte of nearly 5 seconds</title>
        <link>https://jonlu.ca/posts/goodreads</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/goodreads</guid>
        <description>Investigating why Goodreads pages responded slowly and what its requests revealed.</description>
        <pubDate>Fri, 01 May 2020 06:45:21 GMT</pubDate>
      </item>
<item>
        <title>Re-enabling context actions on websites</title>
        <link>https://jonlu.ca/posts/reallowing-context</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/reallowing-context</guid>
        <description>Restoring paste, context menu, and selection actions on websites that disable them.</description>
        <pubDate>Wed, 01 Apr 2020 05:25:40 GMT</pubDate>
      </item>
<item>
        <title>How much space would it take to store every word ever said?</title>
        <link>https://jonlu.ca/posts/word-storage</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/word-storage</guid>
        <description>Estimating the storage required to preserve every word humans have ever spoken.</description>
        <pubDate>Sun, 09 Feb 2020 20:23:47 GMT</pubDate>
      </item>
<item>
        <title>The hidden value of automation in programming comes from saving mental context switches</title>
        <link>https://jonlu.ca/posts/context-switches</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/context-switches</guid>
        <description>Why small automations are valuable because they preserve focus, not merely because they save keystrokes.</description>
        <pubDate>Sat, 18 Jan 2020 23:21:31 GMT</pubDate>
      </item>
<item>
        <title>2019 Travel in Review - 52,848 miles, 137 hours, and 40 flights</title>
        <link>https://jonlu.ca/posts/year-review</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/year-review</guid>
        <description>A year of travel summarized through flights, mileage, routing, and memorable stops.</description>
        <pubDate>Tue, 24 Dec 2019 13:17:28 GMT</pubDate>
      </item>
<item>
        <title>Flight stats, entertainment, and trying to crack widevine</title>
        <link>https://jonlu.ca/posts/aa-tracker</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/aa-tracker</guid>
        <description>Investigating onboard flight entertainment APIs, flight telemetry, and Widevine-protected media.</description>
        <pubDate>Sun, 22 Dec 2019 17:18:51 GMT</pubDate>
      </item>
<item>
        <title>Email authentication: SPF, DKIM and DMARC out in the wild</title>
        <link>https://jonlu.ca/posts/spf-dkim</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/spf-dkim</guid>
        <description>Studying SPF, DKIM, and DMARC adoption and behavior across real-world email domains.</description>
        <pubDate>Sat, 30 Nov 2019 02:26:11 GMT</pubDate>
      </item>
<item>
        <title>Reversing private APIs, Safeway, and not-so-extreme couponing</title>
        <link>https://jonlu.ca/posts/safeway</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/safeway</guid>
        <description>Reverse-engineering Safeway&apos;s coupon APIs to automate adding digital offers to an account.</description>
        <pubDate>Sat, 12 Oct 2019 17:16:27 GMT</pubDate>
      </item>
<item>
        <title>Ember.js, Dr. Carvers Shave Butter, and disappearing products</title>
        <link>https://jonlu.ca/posts/dsc-products</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/dsc-products</guid>
        <description>Exploring an Ember application&apos;s data layer to find discontinued Dollar Shave Club products.</description>
        <pubDate>Sun, 08 Sep 2019 00:10:04 GMT</pubDate>
      </item>
<item>
        <title>An analysis of activity on /r/churning</title>
        <link>https://jonlu.ca/posts/churning-stats</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/churning-stats</guid>
        <description>Scraping and analyzing activity patterns in the credit-card churning subreddit.</description>
        <pubDate>Sat, 31 Aug 2019 22:49:35 GMT</pubDate>
      </item>
<item>
        <title>Compensation in 2019 new grad tech offers</title>
        <link>https://jonlu.ca/posts/tech-offers</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/tech-offers</guid>
        <description>Analyzing compensation packages from 2019 new-graduate technology job offers.</description>
        <pubDate>Mon, 29 Jul 2019 02:48:00 GMT</pubDate>
      </item>
<item>
        <title>Useful shell aliases and functions</title>
        <link>https://jonlu.ca/posts/shell-shortcuts</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/shell-shortcuts</guid>
        <description>A collection of practical shell aliases and functions for faster daily command-line work.</description>
        <pubDate>Sun, 30 Jun 2019 01:55:46 GMT</pubDate>
      </item>
<item>
        <title>What&apos;s better - a broken clock or a clock that&apos;s always 5 minutes off?</title>
        <link>https://jonlu.ca/posts/clock</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/clock</guid>
        <description>Using probability to compare a broken clock with one that is consistently five minutes slow.</description>
        <pubDate>Sun, 02 Jun 2019 06:23:55 GMT</pubDate>
      </item>
<item>
        <title>Around the world in business class: ANA RTW in J</title>
        <link>https://jonlu.ca/posts/ana-rtw</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/ana-rtw</guid>
        <description>Planning and taking an ANA round-the-world business-class award itinerary across Asia and Europe.</description>
        <pubDate>Thu, 09 May 2019 04:49:13 GMT</pubDate>
      </item>
<item>
        <title>Identifying non-default global variables in JavaScript</title>
        <link>https://jonlu.ca/posts/window-vars</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/window-vars</guid>
        <description>Finding application state and implementation clues by comparing unexpected browser global variables.</description>
        <pubDate>Mon, 01 Apr 2019 01:22:31 GMT</pubDate>
      </item>
<item>
        <title>Experiments, growth engineering, and the perils of not disguising your API routes: Part 1</title>
        <link>https://jonlu.ca/posts/experiments-and-growth-hacking</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/experiments-and-growth-hacking</guid>
        <description>Inspecting exposed experiment APIs to understand how growth teams test product changes in production.</description>
        <pubDate>Sat, 23 Feb 2019 20:16:46 GMT</pubDate>
      </item>
<item>
        <title>Obfuscated javascript, scam emails, and American Express</title>
        <link>https://jonlu.ca/posts/deobfuscating-amex-scammer</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/deobfuscating-amex-scammer</guid>
        <description>Reverse-engineering an obfuscated American Express phishing campaign from email to exfiltration endpoint.</description>
        <pubDate>Sat, 02 Feb 2019 21:49:14 GMT</pubDate>
      </item>
<item>
        <title>Class schedules, a cease and desist from Viacom, and accidental monetization</title>
        <link>https://jonlu.ca/posts/accidental-monetization</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/accidental-monetization</guid>
        <description>How a student scheduling project drew a cease and desist and unexpectedly started earning money.</description>
        <pubDate>Tue, 29 Jan 2019 03:57:33 GMT</pubDate>
      </item>
<item>
        <title>Uber, statistics, and a chrome extension</title>
        <link>https://jonlu.ca/posts/uber-stats</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/uber-stats</guid>
        <description>Building a Chrome extension to retrieve and analyze personal Uber trip history.</description>
        <pubDate>Sat, 22 Dec 2018 15:39:48 GMT</pubDate>
      </item>
<item>
        <title>Ryanair, Hamiltonian Cycles, and using graph theory to find cheap flights</title>
        <link>https://jonlu.ca/posts/ryan-air</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/ryan-air</guid>
        <description>Using graph theory and Ryanair route data to find cheap multi-city flight loops through Europe.</description>
        <pubDate>Fri, 23 Nov 2018 21:14:51 GMT</pubDate>
      </item>
<item>
        <title>An introduction to credit card churning</title>
        <link>https://jonlu.ca/posts/churning-primer</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/churning-primer</guid>
        <description>An introduction to credit card rewards, sign-up bonuses, and the mechanics of churning.</description>
        <pubDate>Sun, 11 Nov 2018 17:11:41 GMT</pubDate>
      </item>
<item>
        <title>Making high-fidelity audio sound like it came through the phone</title>
        <link>https://jonlu.ca/posts/phone-calls</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/phone-calls</guid>
        <description>Exploring bandwidth, filtering, and compression to reproduce the distinctive sound of phone calls.</description>
        <pubDate>Mon, 29 Oct 2018 01:17:38 GMT</pubDate>
      </item>
<item>
        <title>Illegal streams, decrypting m3u8&apos;s, and building a better stream experience</title>
        <link>https://jonlu.ca/posts/illegal-streams</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/illegal-streams</guid>
        <description>Building a better sports stream viewer by extracting HLS playlists, keys, cookies, and headers.</description>
        <pubDate>Sat, 22 Sep 2018 15:14:32 GMT</pubDate>
      </item>
<item>
        <title>Leaky vs punch-through abstractions</title>
        <link>https://jonlu.ca/posts/leaky-abstractions</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/leaky-abstractions</guid>
        <description>Why every abstraction leaks, and why good abstractions give users a deliberate way through.</description>
        <pubDate>Sat, 04 Aug 2018 18:07:47 GMT</pubDate>
      </item>
<item>
        <title>The Federalist Papers: author identification through K-means clustering</title>
        <link>https://jonlu.ca/posts/the-federalist-papers-author-identification-through-k-means-clustering</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/the-federalist-papers-author-identification-through-k-means-clustering</guid>
        <description>Using K-means clustering on writing style to classify disputed Federalist Papers authorship.</description>
        <pubDate>Sun, 08 Jul 2018 02:06:19 GMT</pubDate>
      </item>
<item>
        <title>The rise of megathreads on reddit</title>
        <link>https://jonlu.ca/posts/the-rise-of-megathreads-on-reddit</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/the-rise-of-megathreads-on-reddit</guid>
        <description>Lessons from moderating online communities about when megathreads help and when they hurt discussion.</description>
        <pubDate>Thu, 07 Jun 2018 02:06:43 GMT</pubDate>
      </item>
<item>
        <title>Speeding up zsh and Oh-My-Zsh</title>
        <link>https://jonlu.ca/posts/speeding-up-zsh</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/speeding-up-zsh</guid>
        <description>Profiling shell startup and trimming Oh My Zsh and NVM overhead for a faster terminal.</description>
        <pubDate>Wed, 16 May 2018 18:43:26 GMT</pubDate>
      </item>
<item>
        <title>Old code is institutional knowledge</title>
        <link>https://jonlu.ca/posts/old-code-is-institutional-knowledge</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/old-code-is-institutional-knowledge</guid>
        <description>Why maintaining old code creates institutional knowledge that clean rewrites can easily erase.</description>
        <pubDate>Thu, 26 Apr 2018 14:55:06 GMT</pubDate>
      </item>
<item>
        <title>On USC&apos;s CSCI-350 (Operating Systems)</title>
        <link>https://jonlu.ca/posts/on-uscs-csci-350-operating-systems</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/on-uscs-csci-350-operating-systems</guid>
        <description>A student&apos;s reflection on USC&apos;s operating systems course, its workload, and what made it valuable.</description>
        <pubDate>Tue, 24 Apr 2018 03:10:25 GMT</pubDate>
      </item>
<item>
        <title>Disambiguating language type systems</title>
        <link>https://jonlu.ca/posts/disambiguating-type-systems</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/disambiguating-type-systems</guid>
        <description>Clarifying the difference between static, dynamic, strong, and weak type systems.</description>
        <pubDate>Thu, 19 Apr 2018 18:18:17 GMT</pubDate>
      </item>
<item>
        <title>Information and economies of scale</title>
        <link>https://jonlu.ca/posts/information</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/information</guid>
        <description>Thinking about information propagation, scale, and how the internet changed what people can know.</description>
        <pubDate>Mon, 16 Apr 2018 16:52:00 GMT</pubDate>
      </item>
<item>
        <title>Words per minute is not a good measure of typing speed</title>
        <link>https://jonlu.ca/posts/wpm</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/wpm</guid>
        <description>Why words per minute oversimplifies typing skill and ignores the work that actually slows programmers down.</description>
        <pubDate>Sun, 15 Apr 2018 20:48:35 GMT</pubDate>
      </item>
<item>
        <title>Why does this blog exist?</title>
        <link>https://jonlu.ca/posts/why-does-this-exist</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/why-does-this-exist</guid>
        <description>Why this personal blog exists as a home for exploratory, opinionated, and loosely edited writing.</description>
        <pubDate>Sun, 15 Apr 2018 19:00:00 GMT</pubDate>
      </item>
<item>
        <title>10x Performance Increases: Optimizing a Static Site</title>
        <link>https://jonlu.ca/posts/optimizing-a-static-site</link>
        <guid isPermaLink="true">https://jonlu.ca/posts/optimizing-a-static-site</guid>
        <description>How compression, caching, HTTP/2, and deployment changes made a static personal site dramatically faster.</description>
        <pubDate>Fri, 16 Mar 2018 19:00:00 GMT</pubDate>
      </item>
  </channel>
</rss>