<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: michaelmcmillan</title><link>https://news.ycombinator.com/user?id=michaelmcmillan</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 13 Jul 2026 05:42:14 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=michaelmcmillan" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by michaelmcmillan in "The creator of Claude Code's Claude setup"]]></title><description><![CDATA[
<p>It is a long-standing policy at Netflix for employees to pay for their own subscriptions. It ensures that employees "live the member experience".</p>
]]></description><pubDate>Wed, 07 Jan 2026 09:21:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46524284</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=46524284</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46524284</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Rust in the kernel is no longer experimental"]]></title><description><![CDATA[
<p>Linux is written in C, my friend.</p>
]]></description><pubDate>Wed, 10 Dec 2025 15:45:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46219043</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=46219043</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46219043</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Teen suspect surrenders in 2023 Las Vegas casino cyberattack case"]]></title><description><![CDATA[
<p>Which is useless if the domain had HSTS enabled, which they should.</p>
]]></description><pubDate>Sun, 21 Sep 2025 07:37:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45320836</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=45320836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45320836</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Dumb Pipe"]]></title><description><![CDATA[
<p>"modicum of research"<p>Jesus christ. The reason why that comment gets brought up is because it stereotypes the HN community. He wasn't disrespectful. Calm down.</p>
]]></description><pubDate>Mon, 28 Jul 2025 13:08:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=44710515</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=44710515</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44710515</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Dumb Pipe"]]></title><description><![CDATA[
<p>Exactly.</p>
]]></description><pubDate>Mon, 28 Jul 2025 10:24:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=44709292</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=44709292</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44709292</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Terraform Config Root Setups"]]></title><description><![CDATA[
<p>Please, please, please use Terraform workspaces: One workspace per environment.<p>For environment specific things use conditionals:<p><pre><code>  nodes = terraform.workspace == "prod" ? 2 : 1</code></pre></p>
]]></description><pubDate>Sun, 16 Feb 2025 14:57:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=43068505</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=43068505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43068505</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Fast self-hostable open-source workflow engine"]]></title><description><![CDATA[
<p>My bad. You’re right.</p>
]]></description><pubDate>Thu, 23 Nov 2023 09:28:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=38391006</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=38391006</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38391006</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Fast self-hostable open-source workflow engine"]]></title><description><![CDATA[
<p>Same here. Use n8n. Self hosted and open source.</p>
]]></description><pubDate>Wed, 22 Nov 2023 21:22:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=38385304</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=38385304</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38385304</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Malicious update/malware by a semi-advanced adversary"]]></title><description><![CDATA[
<p>Good example of why it’s a good idea to browse the web using a VM.</p>
]]></description><pubDate>Mon, 10 Oct 2022 13:03:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=33150823</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=33150823</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33150823</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Real World Micro Services"]]></title><description><![CDATA[
<p>That's not nearly enough.</p>
]]></description><pubDate>Wed, 28 Sep 2022 10:01:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=33006258</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=33006258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33006258</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "You have $100K. What business would you get into?"]]></title><description><![CDATA[
<p>Real estate: Buy, repair, rent, refinance, repeat.</p>
]]></description><pubDate>Sun, 14 Aug 2022 13:26:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=32459066</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=32459066</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32459066</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "16 point IQ difference between identical twins raised apart"]]></title><description><![CDATA[
<p>Exactly, this is ridiculous...</p>
]]></description><pubDate>Sun, 08 May 2022 15:18:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=31304817</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=31304817</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31304817</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Jd"]]></title><description><![CDATA[
<p>This section was interesting! Somehow I've never realized that row oriented storage is orthogonal to how disks work...<p><pre><code>  Jd is a columnar (column oriented) RDBMS.
  
  Most RDBMS systems are row oriented. Ages ago they fell into the trap of thinking of tables as rows (records). You can see how this happened. The end user wants the record that has a first name, last name, license, make, model, color, and date. So a row was the unit of information and rows were stored sequentially on disk. Row orientation works for small amounts of data. But think about what happens when there are lots of rows and the user wants all rows where the license starts with 123 and the color is blue or black. In a naive system the application has to read every single byte of data from the disk. There are lots of bytes and reading from disk is, by orders of magnitude, the slowest part of the performance equation. To answer this simple question all the data had to be read from disk. This is a performance disaster and that is where decades of adding bandages and kludges started.
  
  Jd is columnar so the data is 'fully inverted'. This means all of the license numbers are stored together and sequentially on disk. The same for all the other columns. Think about the earlier query for license and color. Jd gets the license numbers from disk (a tiny fraction of the database) and generates a boolean mask of rows that match. It then gets the color column from disk (another small fraction of the data) and generates a boolean mask of matches and ANDS that with the other mask. It can now directly read just the rows from just the columns that are required in the result. Only a small fraction of the data is read. In J, columns used in queries are likely already in memory and the query runs at ram speed, not the sad and slow disk speed.
  
  Both scenarios above are simplified, but the point is strong and valid. The end user thinks in records, but the work to get those records is best organized by columns.
  
  Row oriented is slavishly tied to the design ideas of filing cabinets and manila folders. Column oriented embraces computers.
  
  A table column is a mapped file.</code></pre></p>
]]></description><pubDate>Mon, 04 Apr 2022 15:43:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=30907975</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=30907975</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30907975</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Show HN: API to query catalogs of 20 streaming services across 60 countries"]]></title><description><![CDATA[
<p>Cool! Do you login with one account bouncing off 60 IP addresses?</p>
]]></description><pubDate>Sun, 09 Jan 2022 13:19:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=29862950</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=29862950</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29862950</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "UUIDs are popular, but bad for performance (2019)"]]></title><description><![CDATA[
<p>No. Incrementing an integer might be unique for the local database, but not unique for the universe.</p>
]]></description><pubDate>Sat, 08 Jan 2022 20:45:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=29856013</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=29856013</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29856013</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Ask HN: Is anyone working on “downloading” knowledge to the brain?"]]></title><description><![CDATA[
<p>Knowing how to do something doesn’t live outside the brain.<p>You can erase entire categories of knowledge by damaging the brain in particular areas. There is no reason to believe the opposite is not true.<p>Therefore it is a matter of modifying the state of the brain to learn or know something.</p>
]]></description><pubDate>Sat, 08 Jan 2022 17:25:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=29853811</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=29853811</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29853811</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "How Telegram Messenger circumvents Google Translate's API"]]></title><description><![CDATA[
<p>A rotated user agent does not hide anything from Google.</p>
]]></description><pubDate>Fri, 31 Dec 2021 12:11:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=29747307</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=29747307</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29747307</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "PR to Merge Multicore OCaml"]]></title><description><![CDATA[
<p>Finally a PR worthy of Hacktoberfest.</p>
]]></description><pubDate>Tue, 21 Dec 2021 16:07:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=29638702</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=29638702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29638702</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Simple Code, High Performance [video]"]]></title><description><![CDATA[
<p>You would risk ending up with a maze that can be solved by walking in a straight line directly to from start to exit.</p>
]]></description><pubDate>Sat, 30 Oct 2021 07:45:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=29046866</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=29046866</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29046866</guid></item><item><title><![CDATA[New comment by michaelmcmillan in "Boosting upload speed and improving Windows' TCP stack"]]></title><description><![CDATA[
<p>The onus is on you to explain why. Why not: Smaller payloads per packet and missing out on all the TCP algorithms already implemented in hardware en route.</p>
]]></description><pubDate>Wed, 19 May 2021 14:10:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=27208859</link><dc:creator>michaelmcmillan</dc:creator><comments>https://news.ycombinator.com/item?id=27208859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27208859</guid></item></channel></rss>