<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2025-12-11T01:12:14+00:00</updated><id>/feed.xml</id><title type="html">Gabe Chai</title><entry><title type="html">Japan Travel Tips</title><link href="/japan-travel-tips/" rel="alternate" type="text/html" title="Japan Travel Tips" /><published>2025-08-29T00:00:00+00:00</published><updated>2025-08-29T00:00:00+00:00</updated><id>/japan-travel-tips</id><content type="html" xml:base="/japan-travel-tips/"><![CDATA[<p>I’ve been to Japan 3 times now. I’m not an expert but here are some tips that I’ve picked up along the way.</p>

<h2 id="tech-stuff">Tech stuff</h2>
<p>If you have an iPhone, <a href="https://support.apple.com/en-us/108772">add the Suica card to your phone</a>. The Suica card is used for all the transit systems in Japan. You can add value to it in the wallet app. If you use Apple Maps for navigation, it will tell you how much the trip will cost and if you don’t have enough value, it will prompt you to add more. Make sure you enable <a href="https://support.apple.com/en-us/105123">Express Transit Mode</a> with your Suica card</p>

<p>If you have an Android, you’re stuck with the physical card.</p>

<p>To book Shinkansen tickets, use <a href="https://smart-ex.jp/en/index.php">SmartEx</a>. They also have an app.
You can bind your Shinkansen tickets to your Suica card so you just need to tap your Suica card to get into the Shinkansen. To get your Suica card’s ID number, download the <a href="https://apps.apple.com/us/app/suica/id1156875272">Suica App</a> and press the (i) button to view it.</p>

<p>For eSIM I used <a href="https://www.mobal.com/japan-esims/?t=st#buysim-tourist">Mobal.jp</a>’s eSIMs. They’re pretty cheap. I personally used ~ 1 GB per day but I’m a power user. One caveat is that your phone <strong>MUST BE UNLOCKED</strong> for this to work. If it’s not unlocked…. pick up a <a href="https://ninjawifi.com/en/receive/airport">hotspot at the airport</a>?</p>

<p>Download offline maps for your map app of choice <a href="https://support.apple.com/en-us/105084">Apple Maps</a> and <a href="https://support.google.com/maps/answer/6291838">Google Maps</a>.</p>

<p>Download offline translations for <a href="https://support.apple.com/guide/iphone/translate-text-voice-and-conversations-iphd74cb450f/ios">Apple Translator</a> or <a href="https://support.google.com/translate/answer/6142473?hl=en&amp;co=GENIE.Platform%3DAndroid">Google Translate</a>.</p>

<p>If you have T-Mobile, make sure you enable data roaming as data is free.</p>

<h2 id="recommendations">Recommendations</h2>
<ul>
  <li>Locations
    <ul>
      <li>Kyoto
        <ul>
          <li>Kintsugi
            <ul>
              <li>Japanese art of fixing broken ceramics with gold</li>
              <li>Pretty nice, small class and you get to keep the bowl after!</li>
              <li>https://www.heiando-kyoto.com/</li>
            </ul>
          </li>
          <li>Foods:
            <ul>
              <li><a href="https://maps.app.goo.gl/1Cmmj1LxzMNcimzq7">Itsutsu</a>
                <ul>
                  <li>Very good soba!</li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </li>
      <li>Tokyo
        <ul>
          <li>Foods:
            <ul>
              <li>Sharikimon Onozawa
                <ul>
                  <li>1 Michelin star</li>
                  <li>Really good variety of Japanese foods.</li>
                </ul>
              </li>
              <li><a href="https://maps.app.goo.gl/hj7abrSTVFJBgfsW7">Okoge</a>
                <ul>
                  <li>Monjayaki restaurant</li>
                  <li>There are two restaurants called Okoge right next to each other. The North one is better</li>
                  <li></li>
                </ul>
              </li>
            </ul>
          </li>
        </ul>
      </li>
      <li>Osaka
        <ul>
          <li>OKO - Fun Okonomiyaki Bar - https://www.oko-osaka.com/english-menu
            <ul>
              <li>Really cheap alcohol (200y per refill, make your own drinks)</li>
              <li>Good Okonomiyaki too!</li>
            </ul>
          </li>
          <li>The whole area where the Glico man has a vibrant night life</li>
          <li>Yakitori Ichimatsu
            <ul>
              <li>Michelin star</li>
              <li>Really good food!</li>
            </ul>
          </li>
        </ul>
      </li>
    </ul>
  </li>
  <li>Tax Free
    <ul>
      <li>Places that are tax free usually will do it at a base price of 5000 JPY.
        <ul>
          <li>Not that items listed usually have VAT so the price needed for a tax free purchase is 5500 JPY.</li>
        </ul>
      </li>
      <li>You can add your tax free QR code to your Visit Japan Web app. Some stores will take this. In my experience, most won’t.</li>
      <li>Consumables will be placed inside of a sealed bag so that you do not use in Japan.
        <ul>
          <li>In my experience, no one checks to make sure it’s in the bag when you leave.</li>
        </ul>
      </li>
    </ul>
  </li>
</ul>]]></content><author><name>gchai</name></author><category term="blog" /><category term="travel" /><summary type="html"><![CDATA[Japan travel guide]]></summary></entry><entry><title type="html">Reflections on EDCLV 2025</title><link href="/EDCLV2025/" rel="alternate" type="text/html" title="Reflections on EDCLV 2025" /><published>2025-05-23T00:00:00+00:00</published><updated>2025-05-23T00:00:00+00:00</updated><id>/EDCLV2025</id><content type="html" xml:base="/EDCLV2025/"><![CDATA[<p>I never thought I’d call myself a raver–until EDC happened.</p>

<p>A couple of friends persuaded me to attend EDC. Before then, I’d always associated <em>ravers</em> with a negative stereotype–I’d seen people make raving their <em>identity</em> and it put me off.</p>

<p>I’d enjoyed some EDM before, but most of my music tastes leaned toward rock and pop. In fact, I seldom listened to music; I preferred spoken content like YouTube videos, shows, or podcasts.</p>

<p>Every Tuesday, a group of friends and I would play <a href="https://factorio.com">Factorio</a><sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> and as it got closer to EDC, we switched from trying to finish Aquilo to designing our totems<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>. I joined late in the design phase, but I enjoyed every moment—equal parts nerdy experimentation and creative iteration. I hadn’t touched microcontrollers in seven years, so diving back in was especially fun.</p>

<p>It had occurred to me after I arrived in Vegas that I had no idea who most of the artists were at EDC and I have no idea what genres I would enjoy. I sat down with Brian and he picked out a couple of sets based on my taste and I also shoved all of my past “liked” songs on YouTube Music into Chatgpt/Gemini and asked them to make a schedule for me based on what I’ve liked in the past.</p>

<p>None of that mattered. I definitely found genres and artists that I liked. But none of that mattered. What really stayed with me was the connections I made. The people I was surrounded with. This feels very cliché to say, but being surrounded by friends, friends I see often, friends I barely see, new friends, old friends, was the best part. Everyone was wholesome (for the most part) and invited me in with open arms<sup id="fnref:3" role="doc-noteref"><a href="#fn:3" class="footnote" rel="footnote">3</a></sup>.  For the most part, I just followed different friend groups around, catching up, making memories. I made connections with friends in ways that I do not think would be possible elsewhere.</p>

<p>By sunrise on day one, I felt exhilarated and exhausted–and then it hit me: <em>two more days of this</em>. Somehow I mustered the energy for the rest of the festival and each sunrise left me even more awe-struck.</p>

<p>One of my friends put it best:</p>
<blockquote>
  <p>I know it appears like a debauchery gateway from a distance but it’s truly something beautiful</p>
</blockquote>

<p>The days after EDC, but before I left, I was internally deciding whether or not I should come back. Am I a <em>raver</em>? Am I going to be one of <em>those</em>? I didn’t know it at the time, but I had already made my decision. While I was on the plane heading back home I received a text from Insomniac, the producers of EDC:</p>

<blockquote>
  <p>EDC: … Presale for EDC Las Vegas 2026 starts THIS Friday @ 10am PT</p>
</blockquote>

<p>I knew what I had to do. <em>I’m going next year</em>. I am a <em>raver</em>.</p>

<hr />
<p>Thank you to everyone who helped make this experience possible.</p>
<ul>
  <li>Samson and Brian for dragging me out here.</li>
  <li>Viet, Paul, Alex, Benny, Willy and the rest of the group for inviting me into your group with open arms</li>
  <li>Bond for all the fish</li>
  <li>Wes, Winston, Dave, and Matt for making the totem with me. It came out <em>amazing</em>.</li>
  <li>Derek for your amazing kandi and for taking me around</li>
  <li>Aydin and Oliver for spending a lot of days 2 and 3 with me. And for enduring my curiosities and questions</li>
  <li>Ben for the mudkip pearler, guiding me around and making sure I was safe</li>
  <li>Jo for spending time with me afterwards and getting a much needed dinner</li>
  <li>Caleb for your daily stickers–they were a highlight</li>
  <li>Yan for being supportive</li>
  <li>Raveon, Green Stop, So Jelly, Lips and all of the other groups for being welcoming.</li>
  <li>There’s so many more, even if I don’t list you out, thank you for being a part of this journey.</li>
</ul>

<p>If you’re curious what my (rapidly growing) EDM playlist looks like now, you can see it <a href="https://music.youtube.com/playlist?list=PLhkORqMkXHVhBKZ1SMMn_KiUWzi5o60fL&amp;si=TO3W1VI7XcR1BoCW">here</a></p>

<hr />
<p>Tips for friends who are coming to EDC:</p>
<ul>
  <li>Verizon (VZW) is (at the time of writing) one of the sponsors at EDC. If you want (usable) cellular service, pick up a VZW or one of their MVNO’s SIM (or eSIM). Make sure you get a plan/phone that gives you VZW’s <a href="https://www.verizon.com/support/software-updates-5g-ultrawideband/">Ultra Wide Band (UWB) coverage</a>
    <ul>
      <li><a href="https://mymobilex.com/">MobileX</a> 1GB for like $5</li>
      <li><a href="https://www.visible.com/plans">Visible</a> Only the Visible+ Plan includes UWB</li>
    </ul>
  </li>
  <li><a href="https://support.apple.com/guide/iphone/meet-up-with-a-friend-iph3effd0ed6/ios">Precision Find My</a> worked surprisingly well! I was able to find friends inside of thick crowds with this. Both of you need to have service (VZW w/ UWB) and an iPhone 15 or higher</li>
  <li>I did something slightly unusual and I had a “personal totem”. Usually, totems are bigger and allows people to find groups, but I had a small-ish one that stuck out of my backpack. It worked really well for people to find me when they get lost! I didn’t have to hold it the entire night since it was in my backpack</li>
  <li>Pace yourself. It’s a marathon, not a sprint. EDC reminded me of my time working at the NYC Marathon, where my call time was 3a and I would get home at around 8p. I felt so tired, but at the same time I felt such a sense of pride and accomplishment. EDC was like this, but 3 days in a row with no rest</li>
  <li>Premier shuttles passes have a specific time window of 1 hour before and after. If you miss the time slot, you can try to go into the standard line and after you get past security, ask to get into the premier line</li>
  <li>The group I stayed with did a big Costco trip at the beginning. Highly recommend</li>
  <li>Items I ordered that I found useful:
    <ul>
      <li><a href="https://amzn.to/43tcuGc">Osprey 2.5L Hydration Pack</a></li>
      <li><a href="https://amzn.to/43JXtRD">Shorts with a “hidden” inner pocket</a> - Lots of people get their phones stolen at EDC. Don’t be one of them!</li>
      <li><a href="https://amzn.to/4kIkytL">Running belt storage</a> - Another option if you want a under the shirt style.</li>
      <li><a href="https://amzn.to/4kDz0mL">Eargasm Earplugs</a> - Tinnitus sucks.
        <ul>
          <li><a href="https://amzn.to/3HfyFIE">Eargasm High DB Filters</a> - These helps reduce the sound even more!</li>
        </ul>
      </li>
      <li><a href="https://amzn.to/4dxhCO4">37Wh (10k mAh) battery pack</a></li>
    </ul>
  </li>
</ul>

<hr />

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>As Wes describes it, Factorio is an Amazon Fulfillment Center simulator. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:2" role="doc-endnote">
      <p>Because cellular signal is not a guarantee, and even then, you are in a sea of people. You could be 10 ft away and still not find your friends. A Totem is used for visual precision finding, is usually something high up in the air that is distinct. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
    <li id="fn:3" role="doc-endnote">
      <p>Special shout out to Viet and Pauls group. I didn’t really know you guys too well getting into this, and I didn’t know a lot of the other people in your group. Thank you for welcoming me in like one of yours. <a href="#fnref:3" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>gchai</name></author><category term="blog" /><category term="travel" /><summary type="html"><![CDATA[I never thought I’d call myself a raver–until EDC happened.]]></summary></entry><entry><title type="html">HSA Optimization</title><link href="/HSA-transfer/" rel="alternate" type="text/html" title="HSA Optimization" /><published>2024-02-25T00:00:00+00:00</published><updated>2024-02-25T00:00:00+00:00</updated><id>/HSA-transfer</id><content type="html" xml:base="/HSA-transfer/"><![CDATA[<blockquote>
  <p>⚠️ While this guide references a specific HSA provider (Optum), the general principles apply to other providers as well.</p>
</blockquote>

<h2 id="why-should-i-transfer-funds-out-of-optum">Why should I transfer funds out of Optum?</h2>

<p>Optum only lets you invest funds once you have (and maintain) $1,000<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> in cash.</p>

<p>Optum charges an $18 annual fee<sup id="fnref:1:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup> to use their investment service.</p>

<p>Investment options are limited to a small set of mutual funds.</p>

<h2 id="why-fidelity">Why Fidelity?</h2>

<p>Fidelity offers an HSA with no account minimums or recurring fees. Other HSA providers include <a href="https://healthaccounts.bankofamerica.com/individuals-families.shtml">BofA</a>, <a href="https://www.hsabank.com/hsabank/Members/hsa-investment-options">HSA Bank</a> and <a href="https://livelyme.com/pricing/">lively</a>.</p>

<h2 id="why-invest">Why Invest?</h2>

<p>A HSA account is triple tax advantaged. No taxes on contribution, no taxes on growth and no taxes on withdrawal.</p>

<p>You can file claims for qualified medical expenses at any point in the future. This means you can let your HSA funds grow tax-free for decades while holding onto your receipts. When you need funds, you can redeem these receipts for a tax-free withdrawal, even years later.</p>

<p>Read more <a href="https://www.nerdwallet.com/article/investing/how-to-invest-hsa">here</a></p>

<h2 id="preparation">Preparation:</h2>

<ol>
  <li><a href="https://www.fidelity.com/go/hsa/why-hsa">Open a Fidelity HSA account</a> if you don’t already have one. This is optional as you can open one <em>during</em> the transfer of assets flow.</li>
  <li>Make sure you liquidate your investments in Optum (if applicable)
    <ol>
      <li>To do this, you must log in to your online account, select “Sell Investments,” then select “Liquidate Entire Portfolio.”
        <ol>
          <li>If your account had automatic investments, you must also pause your automatic investment to prevent your liquidation from re-investing.</li>
          <li>To do this, you must log in to you online account, select “Manage Automatic Investments,” then select “Pause Automatic Investments.”</li>
        </ol>
      </li>
      <li>This may take a couple of days</li>
      <li>[Optional] Close the investment account in your HSA to avoid paying the annual fee.</li>
    </ol>
  </li>
  <li>Go to <a href="https://secure.optumfinancial.com/portal/CC/cdhportal">Optum Financial</a> and find your account number</li>
  <li>Download your latest HSA Statement</li>
</ol>

<h2 id="how-to-transfer">How to transfer</h2>

<ol>
  <li>Go to Fidelity’s  <a href="https://digital.fidelity.com/ftgw/digital/transfer-of-assets/">Transfers of Assets</a> page.</li>
  <li>Enter <code class="language-plaintext highlighter-rouge">Optum Financial - Hsa</code> (Or whatever your HSA provider is) as the institution name.</li>
  <li>Put in your account number you found in Preparation step 3.</li>
  <li>Select account type <code class="language-plaintext highlighter-rouge">HSA</code> </li>
  <li>Choose <code class="language-plaintext highlighter-rouge">An Existing Account</code>  if you already have an account.</li>
  <li>Chose “Some of my account” and “A specific cash amount”. Specify a cash amount slightly less than your full HSA balance.
    <ol>
      <li>⚠️ DO NOT TRANSFER <code class="language-plaintext highlighter-rouge">All of my account</code>⚠️. Leave some in so you don’t get charged a fee.</li>
      <li>This may <em>close</em> your HSA and you may be charged a $20 transfer fee<sup id="fnref:1:2" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup>.</li>
    </ol>
  </li>
  <li>Attach the statement you downloaded in Preparation Step 4</li>
  <li>Go through the rest of the form</li>
</ol>

<p>You can track the transfer <a href="https://digital.fidelity.com/ftgw/digital/universal-tracker/">here</a> and you can call Fidelity if you have any questions or they will call you if there are delays.</p>

<h2 id="faq">FAQ:</h2>

<ul>
  <li>Debit Card?
    <ul>
      <li><a href="https://www.fidelitydebitcard.com/">Yes they offer one</a>. Unclear if there needs to be cash in the account before you use it or not.</li>
    </ul>
  </li>
  <li>Will new monthly contributions will go to Optum?
    <ul>
      <li>Yes, new payroll deductions (contributions) will go directly to Optum. You <em>can</em> make after-tax contributions (that you can <em>mostly</em> deduct) to Fidelity but you lose out on the 7.5% FICA taxes that are waived on a payroll deduction.</li>
    </ul>
  </li>
  <li>How do I take withdrawals from my Fidelity HSA?
    <ul>
      <li><a href="https://www.fidelity.com/static/moneymovement/html/Withdraw_To_HSA_Selectaccountwithotherways.shtml">Ways to take withdrawals from your HSA</a></li>
    </ul>
  </li>
</ul>

<h2 id="note">Note:</h2>
<p>Some HSAs will charge you <em>per transfer</em>. This depends on your the agreement your employer has with your HSA provider.</p>

<p>At a $25 fee per transfer and assuming a 7% annual return in stocks, moving funds every 4–6 months typically minimizes both the total fees and the opportunity cost of not being fully invested.</p>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>This will vary, check your plan documents! <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:1:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a> <a href="#fnref:1:2" class="reversefootnote" role="doc-backlink">&#8617;<sup>3</sup></a></p>
    </li>
  </ol>
</div>]]></content><author><name>gchai</name></author><category term="blog" /><category term="personal-finance" /><summary type="html"><![CDATA[HSA Transfers]]></summary></entry><entry><title type="html">Layoff Checklist</title><link href="/layoff-checklist/" rel="alternate" type="text/html" title="Layoff Checklist" /><published>2023-10-24T01:08:00+00:00</published><updated>2023-10-24T01:08:00+00:00</updated><id>/layoff-checklist</id><content type="html" xml:base="/layoff-checklist/"><![CDATA[<p>With the <a href="https://layoffs.fyi">layoffs</a> occuring all the time these days, here’s a to-do list of things I’ve compiled:</p>

<ul>
  <li>Use or Claim FSA funds</li>
  <li>Utilize Transit/Parking benefit funds
    <ul>
      <li><em>Note: Transit funds typically expire on the day of termination</em></li>
    </ul>
  </li>
  <li>Consider moving your 401k
    <ul>
      <li>Your 401k may start charging fees<sup id="fnref:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup></li>
      <li>If applicable, ask when the true-up contributions occur (usually Q1 of the following year).</li>
    </ul>
  </li>
  <li>Consider <a href="/HSA-transfer/">moving your HSA (Fidelity’s HSA is free)</a>
    <ul>
      <li>Your HSA provider may also start charging fees<sup id="fnref:1:1" role="doc-noteref"><a href="#fn:1" class="footnote" rel="footnote">1</a></sup></li>
    </ul>
  </li>
  <li>Back up important files<sup id="fnref:2" role="doc-noteref"><a href="#fn:2" class="footnote" rel="footnote">2</a></sup>
    <ul>
      <li>Make a copies of:
        <ul>
          <li>Paystubs</li>
          <li>Performance reviews</li>
        </ul>
      </li>
    </ul>
  </li>
  <li>Go to all the doctors (make the appointments now?).
    <ul>
      <li>This includes getting glasses/contacts and your bi-annual dental checkups</li>
      <li>Request for a 90 day supply of any medications you need</li>
      <li>Your insurance typically will run intil the end of the month.</li>
    </ul>
  </li>
  <li>File unemployment
    <ul>
      <li>Some states require you to wait out the to the end of your severance period.</li>
    </ul>
  </li>
  <li>Take a breath</li>
  <li>Update Resume/LinkedIn</li>
</ul>

<div class="footnotes" role="doc-endnotes">
  <ol>
    <li id="fn:1" role="doc-endnote">
      <p>Your employer typically pays for these fees, now that you’re no longer employed by them they won’t pay for the fees anymore. <a href="#fnref:1" class="reversefootnote" role="doc-backlink">&#8617;</a> <a href="#fnref:1:1" class="reversefootnote" role="doc-backlink">&#8617;<sup>2</sup></a></p>
    </li>
    <li id="fn:2" role="doc-endnote">
      <p>This goes without saying, but make sure you only take <em>your personal</em> data. <a href="#fnref:2" class="reversefootnote" role="doc-backlink">&#8617;</a></p>
    </li>
  </ol>
</div>]]></content><author><name>gchai</name></author><category term="blog" /><category term="personal-finance" /><summary type="html"><![CDATA[List of things to do after a layoff]]></summary></entry><entry><title type="html">Learning programming resources</title><link href="/learn-programming/" rel="alternate" type="text/html" title="Learning programming resources" /><published>2023-07-21T00:00:00+00:00</published><updated>2023-07-21T00:00:00+00:00</updated><id>/learn-programming</id><content type="html" xml:base="/learn-programming/"><![CDATA[<p>Here are some resources that can help you learn how to program:</p>

<ul>
  <li>Web Development:
    <ul>
      <li><a href="https://www.codecademy.com/learn/learn-html">Learn HTML</a> (Code Academy)</li>
      <li><a href="https://www.khanacademy.org/computing/computer-programming/html-css">Intro to HTML/CSS</a> (Khan Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-html-fundamentals">HTML Fundamentals</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-html-tables">HTML Tables</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-css">Learn CSS</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-intermediate-css">Intermediate CSS</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-css-flexbox-and-grid">Flexbox + Grid</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-css-browser-compatibility">CSS Browser Compatibility</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-sass-fundamentals">SASS Fundamentals</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-sass-mixins-and-the-parent-selector">SASS Mixins and Parent Selector</a> (Code Academy)</li>
      <li><a href="https://ocw.mit.edu/courses/6-171-software-engineering-for-web-applications-fall-2003/">Software Engineering for Web Applications</a> (MIT)</li>
      <li><a href="https://www.coursera.org/learn/html-css-javascript-for-web-developers">HTML, CSS, and Javascript for Web Developers</a> (Coursera)</li>
      <li><a href="https://www.theodinproject.com/paths/full-stack-javascript/courses/intermediate-html-and-css">Intermediate HTML and CSS</a> (The Odin Project)</li>
      <li><a href="https://www.theodinproject.com/paths/full-stack-javascript/courses/advanced-html-and-css">Advanced HTML and CSS</a> (The Odin Project)</li>
    </ul>
  </li>
  <li>Javascript:
    <ul>
      <li><a href="https://www.khanacademy.org/computing/computer-programming/programming">Intro to JS</a> (Khan Academy)</li>
      <li><a href="https://www.codecademy.com/learn/introduction-to-javascript">Learn Javascript</a> (Code Academy)</li>
      <li><a href="https://www.theodinproject.com/paths/full-stack-javascript/courses/javascript">Javascript</a> (The Odin Project)</li>
      <li><a href="https://www.codecademy.com/learn/learn-intermediate-javascript">Intermediate Javascript</a> (Code Academy)</li>
      <li><a href="https://www.khanacademy.org/computing/computer-programming/programming-natural-simulations">Advanced JS</a> (Khan Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-typescript">Typescript</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-typescript-fundamentals">Typescript Fundamentals</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-typescript-functions">Typescript Functions</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-typescript-complex-types">Typescript: Complex Types</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-typescript-object-types">Typescript: Object Types</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-typescript-union-types">Typescript: Union Types</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/asynchronous-javascript">Javascript: Asynchronous Programming</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-javascript-functions-and-scope">Javascript: Functions and Scope</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-javascript-arrays-and-loops">Javascript: Arrays and Loops</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-javascript-objects">Javascript: Objects</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/javascript-errors-debugging">Javascript: Error Handling</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-javascript-requests">Javascript: Requests</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-javascript-iterators">Javascript: Iterators</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-javascript-best-practices">Javascript: Best Practices</a> (Code Academy)</li>
      <li><a href="https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/">Javascript Algorithms and Data Structures</a> (freecodecamp)</li>
    </ul>
  </li>
  <li>React:
    <ul>
      <li><a href="https://www.codecademy.com/learn/learn-react-introduction">Learn React: Introduction</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/react-101">Learn React</a> (Code Academy)</li>
      <li><a href="https://www.freecodecamp.org/learn/front-end-development-libraries/#react">Front-end Development Libraries: React</a> (freecodecamp)</li>
      <li><a href="https://www.theodinproject.com/paths/full-stack-javascript/courses/react-new">React</a> (The Odin Project)</li>
      <li><a href="https://www.codecademy.com/learn/learn-redux">Redux</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-redux-middleware-and-thunks">Redux: Middleware and Thunks</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-react-hooks">React Hooks</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-react-testing">React Testing</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-react-router">React Router v6</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-react-state-management">React State Management</a> (Code Academy)</li>
    </ul>
  </li>
  <li>SQL/NoSQL:
    <ul>
      <li><a href="https://www.khanacademy.org/computing/computer-programming/sql">Intro to SQL</a> (Khan Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-mongodb">MongoDB</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-node-sqlite">Node-SQLite</a> (Code Academy)</li>
      <li><a href="https://ocw.mit.edu/courses/6-830-database-systems-fall-2010/">Database System</a> (MIT)</li>
      <li><a href="https://www.freecodecamp.org/learn/relational-database/">Relational Database</a> (freecodecamp)</li>
    </ul>
  </li>
  <li>Node:
    <ul>
      <li><a href="https://www.codecademy.com/learn/learn-node-js">Learn Node.js</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-nodejs-fundamentals">Node.js Fundamentals</a> (Code Academy)</li>
      <li><a href="https://www.theodinproject.com/paths/full-stack-javascript/courses/nodejs">NodeJS</a> (The Odin Project)</li>
    </ul>
  </li>
  <li>Java:
    <ul>
      <li><a href="https://ocw.mit.edu/courses/6-092-introduction-to-programming-in-java-january-iap-2010/">Introduction to Programming in Java</a> (MIT)</li>
    </ul>
  </li>
  <li>Testing:
    <ul>
      <li><a href="https://www.codecademy.com/learn/learn-testing-for-web-development-fundamentals">Testing for Web Development: Fundamentals</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-testing-for-web-development-model-testing">Testing for Web Development: Model Testing</a> (Code Academy)</li>
      <li><a href="https://www.codecademy.com/learn/learn-testing-for-web-development-server-testing">Testing for Web Development: Server Testing</a> (Code Academy)</li>
    </ul>
  </li>
  <li>General Computer Science:
    <ul>
      <li><a href="https://www.codecademy.com/resources/docs/general">General Index of Docs around computer science concepts, languages, etc.</a> (Code Academy)</li>
      <li><a href="https://ocw.mit.edu/courses/6-00-introduction-to-computer-science-and-programming-fall-2008/">Intro to Computer Science and Programming</a> (MIT)</li>
      <li><a href="https://www.coursera.org/learn/intro-programming">Intro to Programming</a> (Coursera)</li>
      <li><a href="https://ocw.mit.edu/courses/6-821-programming-languages-fall-2002/">Programming Languages</a> (MIT)</li>
      <li><a href="https://ocw.mit.edu/courses/6-172-performance-engineering-of-software-systems-fall-2018/">Performance Engineering for Software Systems</a> (MIT)</li>
      <li><a href="https://ocw.mit.edu/courses/6-824-distributed-computer-systems-engineering-spring-2006/">Distributed Computer Systems Engineering</a> (MIT)</li>
      <li><a href="https://www.freecodecamp.org/news/learn-big-o-notation/">Time Complexity - Big O Notation</a> (freecodecamp)</li>
    </ul>
  </li>
  <li>General Web Development course
    <ul>
      <li><a href="https://indeed.udemy.com/course/the-complete-web-development-bootcamp/">The-complete-web-development-bootcamp</a> (Udemy)</li>
    </ul>
  </li>
</ul>]]></content><author><name>gchai</name></author><category term="blog" /><category term="programming" /><summary type="html"><![CDATA[Learning resources]]></summary></entry></feed>