<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: BinaryRage</title><link>https://news.ycombinator.com/user?id=BinaryRage</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 25 Jun 2026 10:25:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=BinaryRage" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by BinaryRage in "Shall I implement it? No"]]></title><description><![CDATA[
<p>You can relax permissions while avoiding the flag with BashTool sandboxing, see /sandbox.</p>
]]></description><pubDate>Fri, 13 Mar 2026 04:18:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47360643</link><dc:creator>BinaryRage</dc:creator><comments>https://news.ycombinator.com/item?id=47360643</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47360643</guid></item><item><title><![CDATA[New comment by BinaryRage in "Public static void main(String[] args) is dead"]]></title><description><![CDATA[
<p>No, these are just default imports. Module import declarations are in for JDK 25 to make this kind of thing even easier: <a href="https://openjdk.org/jeps/511" rel="nofollow">https://openjdk.org/jeps/511</a></p>
]]></description><pubDate>Tue, 16 Sep 2025 05:15:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=45258261</link><dc:creator>BinaryRage</dc:creator><comments>https://news.ycombinator.com/item?id=45258261</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45258261</guid></item><item><title><![CDATA[New comment by BinaryRage in "Public static void main(String[] args) is dead"]]></title><description><![CDATA[
<p>See Brian's article "Paving the on-ramp": <a href="https://openjdk.org/projects/amber/design-notes/on-ramp" rel="nofollow">https://openjdk.org/projects/amber/design-notes/on-ramp</a></p>
]]></description><pubDate>Tue, 16 Sep 2025 05:13:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45258252</link><dc:creator>BinaryRage</dc:creator><comments>https://news.ycombinator.com/item?id=45258252</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45258252</guid></item><item><title><![CDATA[New comment by BinaryRage in "The return of the frame pointers"]]></title><description><![CDATA[
<p>I remember talking to Brendan about the PreserveFramePointer patch during my first months at Netflix in 2015. As of JDK 21, unfortunately it is no longer a general purpose solution for the JVM, because it prevents a fast path being taken for stack thawing for virtual threads: <a href="https://github.com/openjdk/jdk/blob/d32ce65781c1d7815a69ceac720cdf3ae39caa9e/src/hotspot/share/runtime/continuationFreezeThaw.cpp#L1807">https://github.com/openjdk/jdk/blob/d32ce65781c1d7815a69ceac...</a></p>
]]></description><pubDate>Sun, 17 Mar 2024 21:30:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=39738238</link><dc:creator>BinaryRage</dc:creator><comments>https://news.ycombinator.com/item?id=39738238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39738238</guid></item><item><title><![CDATA[New comment by BinaryRage in "How Netflix uses Java"]]></title><description><![CDATA[
<p>The figure is about the overall <i>improvement</i>, not sure why that reads increase.<p>On JDK 8 we are using G1 for our modern application stack, and we saw a reduction in CPU utilisation with the upgrade with few exceptions (saw what I believe is our first regression today: a busy wait in ForkJoinPool with parallel streams; fixed in 19 and later it seems).<p>G1 has seen the greatest improvement from 8 to 17 compared to its counterparts, and you also see reduced allocation rates due to compact strings (20-30%), so that reduces GC total time.<p>It's a virtuous cycle for the GRPC services doing the heavy lifting: reduced pauses means reduced tail latencies, fewer server cancellations and client hedging and retries. So improvements to application throughput reduce RPS, and further reduce required capacity over and above the CPU utilisation reduction due to efficiency improvements.<p>JDK 21 is a much more modest improvement upgrading from 17, perhaps 3%. Virtual threads are incredibly impressive work, and despite having an already highly asynchronous/non-blocking stack, expect to see many benefits. Generational ZGC is fantastic, but losing compressed oops (it requires 64-bit pointers) is about a 20% memory penalty. Haven't yet done a head to head with Genshen. We already have some JDK 21 in production, including a very large DGS service.</p>
]]></description><pubDate>Tue, 10 Oct 2023 10:20:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=37830321</link><dc:creator>BinaryRage</dc:creator><comments>https://news.ycombinator.com/item?id=37830321</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37830321</guid></item><item><title><![CDATA[New comment by BinaryRage in "Java 21 VirtualThreads vs. Clojure Lazy Seqs"]]></title><description><![CDATA[
<p>Lunatics all.</p>
]]></description><pubDate>Sat, 07 Oct 2023 02:01:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=37798404</link><dc:creator>BinaryRage</dc:creator><comments>https://news.ycombinator.com/item?id=37798404</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37798404</guid></item><item><title><![CDATA[New comment by BinaryRage in "Documentation related to the implementation of SimCity 2000"]]></title><description><![CDATA[
<p>Same for SimCity 2013, except the flaws extended to every agent. I've always thought that's why they limited the city size so heavily. Such a shame, because there was so much promise there.<p>Power, water, etc. randomly chose a direction at a junction, so even basic grid would make it impossible to power a building on the other side of the city, even if the power demand was there <a href="https://www.youtube.com/watch?v=tvq6zAMJfOU">https://www.youtube.com/watch?v=tvq6zAMJfOU</a>.<p>Traffic and pedestrians were attracted to available houses/work, but randomly every day, rather than having a defined home/work location. I built a pedestrian heavy city and would watch crowds of pedestrians head for the nearest available house on a street, before the whole street filled, and they turned around for the next nearest. Same for work, shopping, despite there being plenty available.</p>
]]></description><pubDate>Wed, 15 Feb 2023 07:35:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=34801089</link><dc:creator>BinaryRage</dc:creator><comments>https://news.ycombinator.com/item?id=34801089</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34801089</guid></item><item><title><![CDATA[New comment by BinaryRage in "Log4j RCE Found"]]></title><description><![CDATA[
<p>log4j2 supports lookups, which allows you to add additional logging context:<p><a href="https://logging.apache.org/log4j/2.x/manual/lookups.html" rel="nofollow">https://logging.apache.org/log4j/2.x/manual/lookups.html</a><p>The problem here is the JNDI lookup because for historical reasons there is code in these providers which causes Java to deserialize and load bytecode if it's found in a result for a lookup against an LDAP server. That exploit was partially fixed in the JDK in 2008, then in 2018, but there are multiple naming providers that are affected.<p>Yes, it's enabled by default before 2.15.0, released today to mitigate this issue.</p>
]]></description><pubDate>Fri, 10 Dec 2021 06:47:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=29507123</link><dc:creator>BinaryRage</dc:creator><comments>https://news.ycombinator.com/item?id=29507123</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29507123</guid></item><item><title><![CDATA[New comment by BinaryRage in "FAA issues emergency directive on 2,000 Boeing 737 NG, Classic planes"]]></title><description><![CDATA[
<p>I was staggered by how much adjustment was required when watching CuriousMarc's excellent Model 19 restoration series, seems incredibly finicky.<p><a href="https://www.youtube.com/watch?v=_NuvwndwYSY&list=PL-_93BVApb5-9eQLTCk9xx16RAGEYHH1q" rel="nofollow">https://www.youtube.com/watch?v=_NuvwndwYSY&list=PL-_93BVApb...</a></p>
]]></description><pubDate>Fri, 24 Jul 2020 21:48:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=23944836</link><dc:creator>BinaryRage</dc:creator><comments>https://news.ycombinator.com/item?id=23944836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23944836</guid></item><item><title><![CDATA[New comment by BinaryRage in "The security content of iOS 10.3.3"]]></title><description><![CDATA[
<p>They should rewrite in Rust...</p>
]]></description><pubDate>Thu, 20 Jul 2017 06:53:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=14810504</link><dc:creator>BinaryRage</dc:creator><comments>https://news.ycombinator.com/item?id=14810504</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14810504</guid></item><item><title><![CDATA[New comment by BinaryRage in "A View of the Entire Netflix Stack"]]></title><description><![CDATA[
<p>You might want to link to the OSS site too - <a href="https://netflix.github.io/" rel="nofollow">https://netflix.github.io/</a></p>
]]></description><pubDate>Tue, 10 Nov 2015 23:32:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=10543496</link><dc:creator>BinaryRage</dc:creator><comments>https://news.ycombinator.com/item?id=10543496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10543496</guid></item></channel></rss>