<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: lihaoyi</title><link>https://news.ycombinator.com/user?id=lihaoyi</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 02:37:14 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=lihaoyi" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Engineering a Better Java Build Tool [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=OtsJ902k458">https://www.youtube.com/watch?v=OtsJ902k458</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47637502">https://news.ycombinator.com/item?id=47637502</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 04 Apr 2026 09:41:35 +0000</pubDate><link>https://www.youtube.com/watch?v=OtsJ902k458</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=47637502</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47637502</guid></item><item><title><![CDATA[Engineering a Better Java Build Tool [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=OtsJ902k458">https://www.youtube.com/watch?v=OtsJ902k458</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47623964">https://news.ycombinator.com/item?id=47623964</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 03 Apr 2026 06:59:22 +0000</pubDate><link>https://www.youtube.com/watch?v=OtsJ902k458</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=47623964</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47623964</guid></item><item><title><![CDATA[Simpler JVM Project Setup with Mill]]></title><description><![CDATA[
<p>Article URL: <a href="https://mill-build.org/blog/17-simpler-jvm-mill-110.html">https://mill-build.org/blog/17-simpler-jvm-mill-110.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47130467">https://news.ycombinator.com/item?id=47130467</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 23 Feb 2026 23:18:56 +0000</pubDate><link>https://mill-build.org/blog/17-simpler-jvm-mill-110.html</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=47130467</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47130467</guid></item><item><title><![CDATA[Scripting on the JVM with Java, Scala, and Kotlin]]></title><description><![CDATA[
<p>Article URL: <a href="https://mill-build.org/blog/19-scripting-on-the-jvm.html">https://mill-build.org/blog/19-scripting-on-the-jvm.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46986954">https://news.ycombinator.com/item?id=46986954</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 12 Feb 2026 10:13:44 +0000</pubDate><link>https://mill-build.org/blog/19-scripting-on-the-jvm.html</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46986954</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46986954</guid></item><item><title><![CDATA[How to Publish to Maven Central Easily with Mill]]></title><description><![CDATA[
<p>Article URL: <a href="https://mill-build.org/blog/18-how-to-publish-to-maven-central-easily-with-mill.html">https://mill-build.org/blog/18-how-to-publish-to-maven-central-easily-with-mill.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46919504">https://news.ycombinator.com/item?id=46919504</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 06 Feb 2026 23:18:18 +0000</pubDate><link>https://mill-build.org/blog/18-how-to-publish-to-maven-central-easily-with-mill.html</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46919504</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46919504</guid></item><item><title><![CDATA[New comment by lihaoyi in "What if writing tests was a joyful experience? (2023)"]]></title><description><![CDATA[
<p>I was inspired by the jane street post and implemented exactly this in my Scala unit testing library uTest (<a href="http://www.lihaoyi.com/post/GoldenLiteralTestinginuTest090.html" rel="nofollow">http://www.lihaoyi.com/post/GoldenLiteralTestinginuTest090.h...</a>). Can confirm that auto updating golden test assertions does make working with a test suite much more joyful than struggling with each assertion by hand</p>
]]></description><pubDate>Fri, 06 Feb 2026 05:53:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46909588</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46909588</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46909588</guid></item><item><title><![CDATA[Simpler Java Project Setup with Mill]]></title><description><![CDATA[
<p>Article URL: <a href="https://mill-build.org/blog/17-simpler-jvm-mill-110.html">https://mill-build.org/blog/17-simpler-jvm-mill-110.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46881347">https://news.ycombinator.com/item?id=46881347</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 04 Feb 2026 04:08:06 +0000</pubDate><link>https://mill-build.org/blog/17-simpler-jvm-mill-110.html</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46881347</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46881347</guid></item><item><title><![CDATA[How to Publish to Maven Central Easily with Mill]]></title><description><![CDATA[
<p>Article URL: <a href="https://mill-build.org/blog/18-how-to-publish-to-maven-central-easily-with-mill.html">https://mill-build.org/blog/18-how-to-publish-to-maven-central-easily-with-mill.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46880793">https://news.ycombinator.com/item?id=46880793</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 04 Feb 2026 02:44:27 +0000</pubDate><link>https://mill-build.org/blog/18-how-to-publish-to-maven-central-easily-with-mill.html</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46880793</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46880793</guid></item><item><title><![CDATA[Simpler Declarative Java Project Setup with Mill 1.1.0]]></title><description><![CDATA[
<p>Article URL: <a href="https://mill-build.org/blog/17-simpler-jvm-mill-110.html">https://mill-build.org/blog/17-simpler-jvm-mill-110.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46818573">https://news.ycombinator.com/item?id=46818573</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 29 Jan 2026 23:46:25 +0000</pubDate><link>https://mill-build.org/blog/17-simpler-jvm-mill-110.html</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46818573</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46818573</guid></item><item><title><![CDATA[Simpler JVM Project Setup with Mill 1.1.0]]></title><description><![CDATA[
<p>Article URL: <a href="https://mill-build.org/blog/17-simpler-jvm-mill-110.html">https://mill-build.org/blog/17-simpler-jvm-mill-110.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46792060">https://news.ycombinator.com/item?id=46792060</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 28 Jan 2026 07:15:17 +0000</pubDate><link>https://mill-build.org/blog/17-simpler-jvm-mill-110.html</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46792060</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46792060</guid></item><item><title><![CDATA[Simpler JVM Project Setup with Mill 1.1.0]]></title><description><![CDATA[
<p>Article URL: <a href="https://mill-build.org/blog/17-simpler-jvm-mill-110.html">https://mill-build.org/blog/17-simpler-jvm-mill-110.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46779083">https://news.ycombinator.com/item?id=46779083</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 27 Jan 2026 12:25:35 +0000</pubDate><link>https://mill-build.org/blog/17-simpler-jvm-mill-110.html</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46779083</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46779083</guid></item><item><title><![CDATA[Golden Literal Testing in UTest 0.9.0]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.lihaoyi.com/post/GoldenLiteralTestinginuTest090.html">https://www.lihaoyi.com/post/GoldenLiteralTestinginuTest090.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46388782">https://news.ycombinator.com/item?id=46388782</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 26 Dec 2025 02:52:20 +0000</pubDate><link>https://www.lihaoyi.com/post/GoldenLiteralTestinginuTest090.html</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46388782</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46388782</guid></item><item><title><![CDATA[Simpler Build Tools with Object-Oriented Programming [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=ijEjqbCq0cM">https://www.youtube.com/watch?v=ijEjqbCq0cM</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46283496">https://news.ycombinator.com/item?id=46283496</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 16 Dec 2025 01:17:50 +0000</pubDate><link>https://www.youtube.com/watch?v=ijEjqbCq0cM</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46283496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46283496</guid></item><item><title><![CDATA[Using E2E Tests as Documentation]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.vaslabs.io/post/using-e2e-tests-as-documentation">https://www.vaslabs.io/post/using-e2e-tests-as-documentation</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46254595">https://news.ycombinator.com/item?id=46254595</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 13 Dec 2025 14:08:07 +0000</pubDate><link>https://www.vaslabs.io/post/using-e2e-tests-as-documentation</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46254595</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46254595</guid></item><item><title><![CDATA[Untapped Potential in the Java Build Tool Experience]]></title><description><![CDATA[
<p>Article URL: <a href="https://javapro.io/2025/10/23/untapped-potential-in-the-java-build-tool-experience/">https://javapro.io/2025/10/23/untapped-potential-in-the-java-build-tool-experience/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46156137">https://news.ycombinator.com/item?id=46156137</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 05 Dec 2025 02:20:50 +0000</pubDate><link>https://javapro.io/2025/10/23/untapped-potential-in-the-java-build-tool-experience/</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46156137</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46156137</guid></item><item><title><![CDATA[Zero-Setup Java Build Tooling via Mill Bootstrap Scripts]]></title><description><![CDATA[
<p>Article URL: <a href="https://mill-build.org/blog/16-zero-setup.html">https://mill-build.org/blog/16-zero-setup.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46144235">https://news.ycombinator.com/item?id=46144235</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 04 Dec 2025 05:54:27 +0000</pubDate><link>https://mill-build.org/blog/16-zero-setup.html</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46144235</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46144235</guid></item><item><title><![CDATA[Engineering a Better Java Build Tool Experience [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=-DTYm1qhQ6U">https://www.youtube.com/watch?v=-DTYm1qhQ6U</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46117247">https://news.ycombinator.com/item?id=46117247</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 02 Dec 2025 03:42:11 +0000</pubDate><link>https://www.youtube.com/watch?v=-DTYm1qhQ6U</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46117247</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46117247</guid></item><item><title><![CDATA[Simpler Java Build Tools with Object Oriented Programming [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=S47RpH_4Zn4">https://www.youtube.com/watch?v=S47RpH_4Zn4</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46092306">https://news.ycombinator.com/item?id=46092306</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 30 Nov 2025 00:38:36 +0000</pubDate><link>https://www.youtube.com/watch?v=S47RpH_4Zn4</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46092306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46092306</guid></item><item><title><![CDATA[New comment by lihaoyi in "PEP 638 – Syntactic Macros"]]></title><description><![CDATA[
<p>I actually implemented something of this sorts back in college: MacroPy <a href="https://github.com/lihaoyi/macropy" rel="nofollow">https://github.com/lihaoyi/macropy</a></p>
]]></description><pubDate>Sat, 29 Nov 2025 13:41:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=46087472</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46087472</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46087472</guid></item><item><title><![CDATA[Zero-Setup Java Build Tooling via Mill Bootstrap Scripts]]></title><description><![CDATA[
<p>Article URL: <a href="https://mill-build.org/blog/16-zero-setup.html">https://mill-build.org/blog/16-zero-setup.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46076287">https://news.ycombinator.com/item?id=46076287</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 28 Nov 2025 07:12:15 +0000</pubDate><link>https://mill-build.org/blog/16-zero-setup.html</link><dc:creator>lihaoyi</dc:creator><comments>https://news.ycombinator.com/item?id=46076287</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46076287</guid></item></channel></rss>