<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Matthew Nguyen</title><link>https://matthewn.org/</link><description>Recent content on Matthew Nguyen</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 05 Jul 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://matthewn.org/index.xml" rel="self" type="application/rss+xml"/><item><title>When Git Archive Trips Up Bazel</title><link>https://matthewn.org/posts/2025-07-05-bazel-gitlab-archive/</link><pubDate>Sat, 05 Jul 2025 00:00:00 +0000</pubDate><guid>https://matthewn.org/posts/2025-07-05-bazel-gitlab-archive/</guid><description>&lt;p&gt;This was an issue that happened a couple of years ago while working at IMC. These are the leftovers of my notes, so apologies for some missing details / links.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t have much Bazel experience, this is from the perspective as someone reponsible for maintaining an internal Gitlab repository while another team was working on a Bazel build pipeline.&lt;/p&gt;
&lt;h2 id="context"&gt;Context&lt;/h2&gt;
&lt;p&gt;The &lt;a href="https://github.com/google/brotli"&gt;brotli&lt;/a&gt; repository was forked in an internal Gitlab instance to serve as a local copy, and was being updated from upstream periodically.&lt;/p&gt;</description></item><item><title>Tracking down DNS issues</title><link>https://matthewn.org/posts/2025-06-21-dns-issues-imc/</link><pubDate>Sat, 21 Jun 2025 00:00:00 +0000</pubDate><guid>https://matthewn.org/posts/2025-06-21-dns-issues-imc/</guid><description>&lt;p&gt;This was a good experience on tracking down a DNS issue at IMC, when I had no practical network debugging experience.&lt;/p&gt;
&lt;h2 id="tldr"&gt;tldr&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;try to get the &lt;a href="https://stackoverflow.com/questions/15761436/how-many-tuples-are-there-in-a-connection"&gt;network tuple&lt;/a&gt; to help diagnose general networking issues&lt;/li&gt;
&lt;li&gt;&lt;code&gt;nslookup&lt;/code&gt; / &lt;code&gt;dig&lt;/code&gt; will get the DNS record for you&lt;/li&gt;
&lt;li&gt;&lt;code&gt;tcpdump&lt;/code&gt; can determine if network traffic is making it in / out of a server&lt;/li&gt;
&lt;li&gt;&lt;code&gt;traceroute&lt;/code&gt; / &lt;code&gt;mtr&lt;/code&gt; will determine at which hop packets are getting dropped&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="the-issue"&gt;The issue&lt;/h2&gt;
&lt;p&gt;It was noticed that cronjobs on a particular host were failing with DNS errors, and was intermittently unable to send requests:&lt;/p&gt;</description></item><item><title>Trials &amp; Tribulations of Tracking Michael Reeves' uploads</title><link>https://matthewn.org/posts/2022-01-22-tracking-michael-reeves/</link><pubDate>Sat, 22 Jan 2022 00:00:00 +0000</pubDate><guid>https://matthewn.org/posts/2022-01-22-tracking-michael-reeves/</guid><description>&lt;p&gt;Hi, it&amp;rsquo;s been awhile since I last wrote about something. I recently created a timer to track how long it&amp;rsquo;s been since Michael Reeves last uploaded, since the time of writing it&amp;rsquo;s been at least 9 months now. Of course, I love his content and it&amp;rsquo;s been a real inspiration for me.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.reddit.com/r/MichaelReeves/comments/s8ztwv/comment/htn64o1/?utm_source=share&amp;amp;utm_medium=web2x&amp;amp;context=3"&gt;Here&amp;rsquo;s the original explanation for the process I went through in making this website&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://michaelreeveslastuploaded.herokuapp.com/"&gt;link to the website&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The making of Valorant Throws</title><link>https://matthewn.org/posts/2020-09-27-the-making-of-valorant-throws/</link><pubDate>Sun, 27 Sep 2020 00:00:00 +0000</pubDate><guid>https://matthewn.org/posts/2020-09-27-the-making-of-valorant-throws/</guid><description>&lt;p&gt;This will give an insight into how I came to solve a problem I was having as of late.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://valorant-throws.herokuapp.com/"&gt;Click here to go to the website!&lt;/a&gt;&lt;/p&gt;
&lt;h1 id="the-problem"&gt;The Problem&lt;/h1&gt;
&lt;p&gt;&lt;a href="playvalorant.com"&gt;Valorant&lt;/a&gt; came out and I was absolutely obsessed with it. It&amp;rsquo;s a 5v5 tactical shooter similar to Counter-Strike: Global Offensive (or CS:GO for short).&lt;/p&gt;
&lt;p&gt;Valorant, like CS:GO, has the capacity to throw grenades across the map to set up strategies and gain an advantage by blocking vision or damaging enemies. The major difference was that in Valorant, each character (otherwise called agents) each had their own unique abilities - everyone in CS:GO had access to the same types of grenades.&lt;/p&gt;</description></item><item><title>Learning From Project 0 in Algorithms &amp; Data Structures</title><link>https://matthewn.org/posts/2020-04-11-project-0/</link><pubDate>Sat, 11 Apr 2020 12:00:00 +0000</pubDate><guid>https://matthewn.org/posts/2020-04-11-project-0/</guid><description>&lt;p&gt;This project was meant to be a sort of &amp;ldquo;refresher&amp;rdquo; or opportunity for students to assess their knowledge obtained from the prerequisite class, but I did not feel like I was prepared for this at all.&lt;/p&gt;
&lt;p&gt;I won&amp;rsquo;t be saying what exactly the prompt was for this project, but essentially it was to recreate the String class in C++. Seems easy enough, right?&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;No, you were so wrong.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;After finishing this project, here&amp;rsquo;s what I learned:&lt;/p&gt;</description></item><item><title>Object Oriented Programming</title><link>https://matthewn.org/posts/2020-01-28-object-oriented-programming/</link><pubDate>Tue, 28 Jan 2020 23:00:00 +0000</pubDate><guid>https://matthewn.org/posts/2020-01-28-object-oriented-programming/</guid><description>&lt;p&gt;In this post, I&amp;rsquo;ll be giving a quick primer on Object Oriented Programming or OOP.&lt;/p&gt;
&lt;p&gt;This explanation will be using Python - each programming language has its own nuances and syntax for the various things explained in here.&lt;/p&gt;
&lt;h1 id="base-definitions-and-knowledge"&gt;Base Definitions and Knowledge&lt;/h1&gt;
&lt;p&gt;Objects -&amp;gt; essentially the same definition as a regular object, an entity that can be acted upon&lt;/p&gt;
&lt;p&gt;Classes -&amp;gt; these are the blueprints for objects &amp;ndash; these are referred to when creating a new object&lt;/p&gt;</description></item><item><title>HTML tutorial for the complete beginner</title><link>https://matthewn.org/posts/2019-07-08-html-tutorial/</link><pubDate>Mon, 08 Jul 2019 00:00:00 +0000</pubDate><guid>https://matthewn.org/posts/2019-07-08-html-tutorial/</guid><description>&lt;p&gt;Here, we&amp;rsquo;ll be covering the basics of HTML straight from scratch, for those who are just beginning to learn about it.&lt;/p&gt;
&lt;h5 id="special-shoutout-to-2019-curry-tip-for-prompting-me-to-make-this-guide-hopefully-yall-find-this-useful-and-informative"&gt;Special shoutout to 2019 Curry TIP for prompting me to make this guide, hopefully ya&amp;rsquo;ll find this useful and informative.&lt;/h5&gt;
&lt;h1 id="getting-set-up"&gt;Getting Set Up&lt;/h1&gt;
&lt;p&gt;Here&amp;rsquo;s what you&amp;rsquo;ll need to get started on using HTML:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;a text editor&lt;/strong&gt; - I recommend using &lt;a href="brackets.io"&gt;Brackets&lt;/a&gt;, but you can use any, even notepad would work.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;a web browser&lt;/strong&gt; - of course you have this, how else would you be viewing this guide? For this guide I&amp;rsquo;ll be using Google Chrome, but if you use some other browser like Firefox or Safari if you wanted to &lt;del&gt;but why would you use those, Google Chrome is &lt;em&gt;soooo much better&lt;/em&gt;&lt;/del&gt;. I &lt;strong&gt;highly&lt;/strong&gt; recommend using Google Chrome, as it is really helpful and makes Brackets so much better (you&amp;rsquo;ll see later).&lt;/li&gt;
&lt;/ul&gt;
&lt;h5 id="note-this-is-under-the-assumption-that-you-will-be-only-working-locally-you-will-need-to-downloaduse-any-software-to-manage-files-remotely-meaning-on-another-computer-thats-not-on-your-own"&gt;NOTE: This is under the assumption that you will be only working locally, you will need to download/use any software to manage files remotely (meaning on another computer that&amp;rsquo;s not on your own).&lt;/h5&gt;
&lt;p&gt;It&amp;rsquo;s best if you had a folder that you did all your work on, so you can create a folder on your desktop and name it something like &lt;code&gt;the bestest most amazing work I have ever done in my life DO NOT TOUCH&lt;/code&gt;. Or you can just call it &lt;code&gt;html tutorial&lt;/code&gt; if you don&amp;rsquo;t want to embarrass yourself when someone sees your desktop.&lt;/p&gt;</description></item><item><title>What is polymorphism?</title><link>https://matthewn.org/posts/2019-06-24-what-is-polymorphism/</link><pubDate>Mon, 24 Jun 2019 00:00:00 +0000</pubDate><guid>https://matthewn.org/posts/2019-06-24-what-is-polymorphism/</guid><description>&lt;p&gt;Polymorphism is considered an important part of OOP (Object Oriented Programming), and understanding/using it/explaining it will definitely be useful in the future.&lt;/p&gt;
&lt;h5 id="disclaimer-honestly-more-than-anything-this-is-for-my-own-benefit-so-i-am-able-to-explain-these-concepts-accurately-and-easily"&gt;Disclaimer: Honestly more than anything, this is for my own benefit so I am able to explain these concepts accurately and easily.&lt;/h5&gt;
&lt;h1 id="definition"&gt;Definition&lt;/h1&gt;
&lt;p&gt;A quick Google search brings up this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;the ability of an object to take up many forms&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="dynamic-polymorphism"&gt;Dynamic Polymorphism&lt;/h1&gt;
&lt;p&gt;In a class hierarchy, many objects share a common method or trait, but have different behaviors associated with each subclasses’ method or trait.&lt;/p&gt;</description></item></channel></rss>