<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: lbalazscs</title><link>https://news.ycombinator.com/user?id=lbalazscs</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Apr 2026 22:57:17 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=lbalazscs" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by lbalazscs in "Callbacks in C++ using template functors (1994)"]]></title><description><![CDATA[
<p>A sentence from the article: "Given the extreme undesirability of any new language features I'd hardly propose bound-pointers now."<p>It shows that C++ was considered too complex already in the 90s.</p>
]]></description><pubDate>Sun, 05 Oct 2025 19:14:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=45484332</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=45484332</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45484332</guid></item><item><title><![CDATA[New comment by lbalazscs in "Fernflower Java Decompiler"]]></title><description><![CDATA[
<p>The link about Stiver has some details:<p>> Stiver decided to write his own decompiler as a side project. To overcome the weaknesses of existing alternatives, he took a different approach. After reading the bytecode, he constructed a control-flow graph in static single-assignment form, which is much better to express the program semantics abstracting the particular shape of bytecode. At the beginning of this project, Stiver knew little about static analysis and compiler design and had to learn a lot, but the effort was worth it. The resulting decompiler produced much better results than anything available at that time. It could even decompile the bytecode produced by some obfuscators without any explicit support.<p><a href="https://blog.jetbrains.com/idea/2024/11/in-memory-of-stiver/" rel="nofollow">https://blog.jetbrains.com/idea/2024/11/in-memory-of-stiver/</a></p>
]]></description><pubDate>Mon, 29 Sep 2025 09:40:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=45411862</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=45411862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45411862</guid></item><item><title><![CDATA[New comment by lbalazscs in "Byte Buddy is a code generation and manipulation library for Java"]]></title><description><![CDATA[
<p>We are already living in an (almost) ideal world: <a href="https://github.com/raphw/byte-buddy/discussions/1798" rel="nofollow">https://github.com/raphw/byte-buddy/discussions/1798</a></p>
]]></description><pubDate>Mon, 11 Aug 2025 21:05:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=44869463</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=44869463</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44869463</guid></item><item><title><![CDATA[New comment by lbalazscs in "LLM code generation may lead to an erosion of trust"]]></title><description><![CDATA[
<p>It's naive to hope that automatic tests will find all problems. There are several types of problems that are hard to detect automatically: concurrency problems, resource management errors, security vulnerabilities, etc.<p>An even more important question: who tests the tests themselves? In traditional development, every piece of logic is implemented twice: once in the code and once in the tests. The tests checks the code, and in turn, the code implicitly checks the tests. It's quite common to find that a bug was actually in the tests, not the app code. You can't just blindly trust the tests, and wait until your agent finds a way to replicate a test bug in the code.</p>
]]></description><pubDate>Thu, 26 Jun 2025 13:27:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=44387211</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=44387211</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44387211</guid></item><item><title><![CDATA[New comment by lbalazscs in "JVM statistics cause garbage collection pauses (2015)"]]></title><description><![CDATA[
<p>In 2015 there was no ZGC. Today ZGC (an optional garbage collector optimized for latency) guarantees that there will be no GC pauses longer than a millisecond.</p>
]]></description><pubDate>Thu, 19 Sep 2024 15:56:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=41593194</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=41593194</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41593194</guid></item><item><title><![CDATA[New comment by lbalazscs in "The Expert Mind [pdf] (2006)"]]></title><description><![CDATA[
<p>Regarding openings, there's a trade-off between chess training and chess results. Rote memorization can improve your results (if you already have good skills), but it won't improve your skills.<p>Learning endgames is not about blindly memorizing moves in specific positions. You learn tricks that can be used in a large number of positions. Even the seemingly very specific positions can be mirrored left-right (not to mention black-white).</p>
]]></description><pubDate>Tue, 20 Aug 2024 08:30:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=41298025</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=41298025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41298025</guid></item><item><title><![CDATA[New comment by lbalazscs in "The Expert Mind [pdf] (2006)"]]></title><description><![CDATA[
<p>There is a difference between memorization and rote memorization. In chess, rote memorization of master games or chess positions is not a recognized training method. Chess memory improves as a byproduct of analyzing many positions.</p>
]]></description><pubDate>Sun, 18 Aug 2024 20:38:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=41285298</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=41285298</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41285298</guid></item><item><title><![CDATA[New comment by lbalazscs in "Null-Restricted and Nullable Types"]]></title><description><![CDATA[
<p>Your link is only for value types, but this one is more general, it's for any type. Obviously the two are related, but not the same. Nullability for value types has performance implications as well.</p>
]]></description><pubDate>Fri, 02 Aug 2024 18:01:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=41141077</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=41141077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41141077</guid></item><item><title><![CDATA[New comment by lbalazscs in "JVM Performance Comparison for JDK 21"]]></title><description><![CDATA[
<p>"Oracle GraalVM" (the former "Enterprise Edition") is now free, but (unlike "GraalVM Community Edition") not open source.</p>
]]></description><pubDate>Tue, 06 Feb 2024 17:10:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=39277053</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=39277053</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39277053</guid></item><item><title><![CDATA[New comment by lbalazscs in "The Rust project has a burnout problem"]]></title><description><![CDATA[
<p>I guess you missed the part where Linus Torvalds has apologized for years of being a jerk.<p><a href="https://arstechnica.com/gadgets/2018/09/linus-torvalds-apologizes-for-years-of-being-a-jerk-takes-time-off-to-learn-empathy/" rel="nofollow">https://arstechnica.com/gadgets/2018/09/linus-torvalds-apolo...</a></p>
]]></description><pubDate>Wed, 17 Jan 2024 14:52:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=39028498</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=39028498</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39028498</guid></item><item><title><![CDATA[New comment by lbalazscs in "SD4J – Stable Diffusion pipeline in Java using ONNX Runtime"]]></title><description><![CDATA[
<p>The ONNX Runtime is written in C++ and it uses the GPU. And Java is certainly much faster than Python.</p>
]]></description><pubDate>Mon, 01 Jan 2024 15:37:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=38832510</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=38832510</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38832510</guid></item><item><title><![CDATA[New comment by lbalazscs in "Compare Google, Bing, Marginalia, Kagi, Mwmbl, and ChatGPT"]]></title><description><![CDATA[
<p>I often do a Google search, and then go directly to the Wikipedia result. My reasoning is that during the initial search, I don't know if there's a Wikipedia page about that topic, and I might need a fallback option.</p>
]]></description><pubDate>Sun, 31 Dec 2023 13:21:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=38823858</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=38823858</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38823858</guid></item><item><title><![CDATA[New comment by lbalazscs in "FFM (Foreign Function and Memory API) Goes Final"]]></title><description><![CDATA[
<p>I only used Launch4j on Windows, but in the downloads you can find Linux and MacOS versions as well. At the bottom of the webpage it explains that it can be built on even more platforms, if you have MinGW binutils 2.22 (windres and ld only) on those platforms.<p>If I remember correctly, you can't just pull out the exe created by jpackage, because it doesn't contain the runtime. The installer installs both the runtime and the exe. The exe created by Launch4j also doesn't include the runtime, but Launch4j is better at finding a system-wide runtime, and can direct the user to a specific download site (such as adoptium.net) instead of java.com. If you want to have JUST a single exe, then I think GraalVM's native image is the only option.</p>
]]></description><pubDate>Mon, 11 Dec 2023 19:38:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=38604425</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=38604425</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38604425</guid></item><item><title><![CDATA[New comment by lbalazscs in "FFM (Foreign Function and Memory API) Goes Final"]]></title><description><![CDATA[
<p>jlink only creates a runtime (the parts of the JDK that are actually used by your app), but there's a relatively new command called jpackage for creating installers: <a href="https://docs.oracle.com/en/java/javase/21/jpackage/packaging-overview.html" rel="nofollow noreferrer">https://docs.oracle.com/en/java/javase/21/jpackage/packaging...</a><p>EDIT: I see now that you already know jpackage, but you don't want an installer. In that case you can use launch4j, which just wraps a jar in an exe: <a href="https://launch4j.sourceforge.net/" rel="nofollow noreferrer">https://launch4j.sourceforge.net/</a></p>
]]></description><pubDate>Mon, 11 Dec 2023 17:21:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=38602464</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=38602464</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38602464</guid></item><item><title><![CDATA[New comment by lbalazscs in "Telling GPT-4 you're scared or under pressure improves performance"]]></title><description><![CDATA[
<p>I actually did that, and I asked for the first paragraph from "Great Expectations", and the answer was correct.<p>Of course the first paragraph of any famous novel is in itself famous, so I also asked for the first paragraph from Chapter XL, from the same novel. Interestingly the first 12 words were correct, but the rest was hallucination.<p>Original: It was fortunate for me that I had to take precautions to ensure (so far as I could) the safety of my dreaded visitor; for, this thought pressing on me when I awoke, held other thoughts in a confused concourse at a distance.<p>ChatGPT 3.5: "It was fortunate for me that I had to take precautions to ensure the safety of my treasure, for with such a boy as Compeyson on the loose, I was not likely to find much mercy at his hands. I had not told Herbert about the money, and I was glad to have the chance to count it before he came back. I found that I had still twenty-one sovereigns, six shillings, and sixpence left."</p>
]]></description><pubDate>Sat, 04 Nov 2023 19:42:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=38144438</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=38144438</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38144438</guid></item><item><title><![CDATA[New comment by lbalazscs in "Java JEP 461: Stream Gatherers"]]></title><description><![CDATA[
<p>My understanding is that Stream internals are a very complex piece of software that can have multiple different bugs. By the way, I agree with you that eager versions of the Stream methods should also be available directly on the collections.</p>
]]></description><pubDate>Sat, 04 Nov 2023 12:26:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=38140406</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=38140406</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38140406</guid></item><item><title><![CDATA[New comment by lbalazscs in "Java JEP 461: Stream Gatherers"]]></title><description><![CDATA[
<p>The latest Mockito works with Java 21; you'll just see a warning about the usage of the bytebuddy agent. In the future, you'll need to explicitly approve the loading of agents (you can call it "magic"), which will improve the security of your programs.</p>
]]></description><pubDate>Fri, 03 Nov 2023 14:31:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=38129357</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=38129357</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38129357</guid></item><item><title><![CDATA[New comment by lbalazscs in "Java JEP 461: Stream Gatherers"]]></title><description><![CDATA[
<p>I hope that 2024 will be the year when people stop pointing to duplicate or fixed bugs...</p>
]]></description><pubDate>Fri, 03 Nov 2023 14:06:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=38128960</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=38128960</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38128960</guid></item><item><title><![CDATA[New comment by lbalazscs in "JDK 21 Release Notes"]]></title><description><![CDATA[
<p>The question of "single UI or GPU bound thread" could be solved in a future release with custom virtual thread schedulers. Java 21 concentrates on solving the problem of server-side applications.</p>
]]></description><pubDate>Tue, 19 Sep 2023 15:49:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=37571712</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=37571712</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37571712</guid></item><item><title><![CDATA[New comment by lbalazscs in "JDK 21 Release Notes"]]></title><description><![CDATA[
<p>Ideally knowing "what is synchronous and what is asynchronous" shouldn't be your concern, just like freeing memory isn't your concern in a language with garbage collection. Similarly, you don't have to know the "real" memory addresses when using virtual memory.<p>Ask yourself why do you want to know what is asynchronous. In a typical server-side app synchronous, blocking, thread-per-task code is easy to write and read. There is only one drawback: you can run out of kernel threads. Asynchronous code solves this problem, but virtual threads solve it in a better way, because you can have three orders of magnitude more virtual threads compared to kernel threads. Ultimately, it's all about the number of threads you are allowed to use.</p>
]]></description><pubDate>Tue, 19 Sep 2023 15:46:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=37571646</link><dc:creator>lbalazscs</dc:creator><comments>https://news.ycombinator.com/item?id=37571646</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37571646</guid></item></channel></rss>