<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on Junjay Tan</title>
    <link>http://www.junjaytan.com/blog/</link>
    <description>Recent content in Posts on Junjay Tan</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 30 Sep 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="http://www.junjaytan.com/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Book highlights from Stephen Witt&#39;s The Thinking Machine</title>
      <link>http://www.junjaytan.com/blog/thinking-machine-nvidia-book/</link>
      <pubDate>Wed, 30 Sep 2026 00:00:00 +0000</pubDate>
      <guid>http://www.junjaytan.com/blog/thinking-machine-nvidia-book/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;thinking-machine-cover.jpeg&#34; alt=&#34;Thinking Machine book cover&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Being a PC gaming aficianado since childhood, I was obsessed with 3D graphics cards when they came out, reading reviews of the latest ones and planning which ones I would get if only I had the money. The 1990s were a very different time for graphics cards than today since there were many manufacturers in the mix, with 3dfx being the market leader. Eventually, I started paying attention when positive reviews for cards based on a chipset known as the Riva TNT appeared from a new company called Nvidia.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Book highlights from Karen Hao&#39;s Empire of AI</title>
      <link>http://www.junjaytan.com/blog/empire-of-ai-book/</link>
      <pubDate>Thu, 24 Sep 2026 00:00:00 +0000</pubDate>
      <guid>http://www.junjaytan.com/blog/empire-of-ai-book/</guid>
      <description>&lt;p&gt;&lt;img src=&#34;empire-of-ai-cover.jpeg&#34; alt=&#34;Empire of AI book cover&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve recently wanted to delve more into history behind the current AI boom because there&amp;rsquo;s so much noise right now, and this noise obscures the reality about how we got here.&lt;/p&gt;&#xA;&lt;p&gt;I ran across Karen Hao&amp;rsquo;s book &lt;em&gt;Empire of AI: Dreams and Nightmares in Sam Altman&amp;rsquo;s OpenAI&lt;/em&gt; at the library and picked it up on a whim. I&amp;rsquo;m glad I did. It&amp;rsquo;s a hefty and comprehensive book, coming in at over 400 pages, that provides a wide-ranging survey of the the beginnings and main forces at play within the modern AI industry, even if it&amp;rsquo;s missing some of the most recent developments (it was published in the &amp;ldquo;ancient&amp;rdquo; time of January 2025, and ends with OpenAI as the market leader whereas today Anthropic has raced ahead). I don&amp;rsquo;t want to do a thorough review of the book, but I do want to highlight some key points she covers that I found fascinating.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Misc learnings porting my WordPress site to Jekyll</title>
      <link>http://www.junjaytan.com/blog/wordpress-to-jekyll/</link>
      <pubDate>Thu, 27 Aug 2020 00:00:00 +0000</pubDate>
      <guid>http://www.junjaytan.com/blog/wordpress-to-jekyll/</guid>
      <description>&lt;p&gt;For a long time, my personal website was run on WordPress through a hosting service I paid an annual fee for. When I started, WordPress was still a relatively hot thing, and the WYSIWYG, themes, and plugin capabilities were nice since I was still new to websites and web development. Also, since I maintained multiple websites, having a single platform like Wordpress that I could easily monitor and run through the same host was nice.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Best Python Data Cleaning Libraries For People Data</title>
      <link>http://www.junjaytan.com/blog/python-data-cleaning-people-contact-data/</link>
      <pubDate>Tue, 01 Sep 2015 00:00:00 +0000</pubDate>
      <guid>http://www.junjaytan.com/blog/python-data-cleaning-people-contact-data/</guid>
      <description>&lt;p&gt;In the past year I&amp;rsquo;ve had to do various projects that needed data clean up of typical contact info fields like emails and phone numbers. You&amp;rsquo;d think people would have solved these problems by now, and that have (kind of). If you use Python to do data cleaning, here are some libraries you will find useful:&lt;/p&gt;&#xA;&lt;h2 id=&#34;validating-emails&#34;&gt;&#xA;  Validating Emails&#xA;  &lt;a class=&#34;heading-link&#34; href=&#34;#validating-emails&#34;&gt;&#xA;    &lt;i class=&#34;fa-solid fa-link&#34; aria-hidden=&#34;true&#34; title=&#34;Link to heading&#34;&gt;&lt;/i&gt;&#xA;    &lt;span class=&#34;sr-only&#34;&gt;Link to heading&lt;/span&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Josh Tauberer, a known developer in the open government data movement, has developed an email validation library.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Calculate Income by Zip Code From US Census Data</title>
      <link>http://www.junjaytan.com/blog/income-by-zip-code-census-data/</link>
      <pubDate>Tue, 07 Aug 2012 00:00:00 +0000</pubDate>
      <guid>http://www.junjaytan.com/blog/income-by-zip-code-census-data/</guid>
      <description>&lt;p&gt;In this post I’ll explain how I tabulated mean income by household from the 2010 American Community Survey by zip code.&lt;/p&gt;&#xA;&lt;p&gt;The US Census provides lots of data at various geographical scales, but you often have to dig through its web site and combine tables together to get what you want. Unfortunately income by zip code is one of these data sets.&lt;/p&gt;&#xA;&lt;p&gt;The good news is you can get a proxy for household income, household median income, and per capita income by zip code . The bad news is that unless you want to pay for a data source from &lt;a href=&#34;http://www.esri.com/data/esri_data/demographic-overview/census-overview&#34;  class=&#34;external-link&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ESRI&lt;/a&gt; or some other vendor, you’ll have to do some legwork to get this data.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Linear Interpolation in MySQL</title>
      <link>http://www.junjaytan.com/blog/linear-interpolation-mysql/</link>
      <pubDate>Sun, 03 Jun 2012 00:00:00 +0000</pubDate>
      <guid>http://www.junjaytan.com/blog/linear-interpolation-mysql/</guid>
      <description>&lt;p&gt;ySQL is often used to store time-series data. But  it doesn’t offer a way to interpolate between time points which is useful in a lot of data analysis work.&lt;/p&gt;&#xA;&lt;p&gt;(Interpolation is used to estimate values for periods between where you have actual measurements, and allows you to look at your data in a more continuous fashion representative of how things occur in the real world).&lt;/p&gt;&#xA;&lt;p&gt;This can be a problem if you have granular time series data and want to analyze them at an aggregated level.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
