<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: JanisErdmanis</title><link>https://news.ycombinator.com/user?id=JanisErdmanis</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 15 Jun 2026 09:12:54 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=JanisErdmanis" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by JanisErdmanis in "Distributing Mac software is increasing my cortisol levels"]]></title><description><![CDATA[
<p>Sometimes I wonder why we don't just treat an installation script like curl <a href="https://alx.sh" rel="nofollow">https://alx.sh</a> | sh as a universal option for distributing applications. The provenance is there via the HTTPS certificate, and if you're already about to trust an application that can compromise your system, why not trust the installation script as well?</p>
]]></description><pubDate>Sat, 09 May 2026 20:18:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48077875</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=48077875</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48077875</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Miscellanea: The War in Iran"]]></title><description><![CDATA[
<p>The remaining oil companies will profit tremendously from the high oil prices. I am sure they will have no problem allocating some of those extra profits to sabotage attempts to consider any alternative energy sources.</p>
]]></description><pubDate>Wed, 25 Mar 2026 22:49:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47524333</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47524333</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47524333</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "90% of Claude-linked output going to GitHub repos w <2 stars"]]></title><description><![CDATA[
<p>Depends widely on the target audience. In my case, targeting Julia developers who want to package their applications into installers to reach 100 stars took 2 years - <a href="https://peacefounder.org/AppBundler.jl" rel="nofollow">https://peacefounder.org/AppBundler.jl</a>. If I were to target Python developers, I would have many more stars.</p>
]]></description><pubDate>Wed, 25 Mar 2026 21:59:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47523859</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47523859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47523859</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Regex Blaster"]]></title><description><![CDATA[
<p>This is really funny ;D Gives Tetris vibes and is executed beautifully.</p>
]]></description><pubDate>Fri, 20 Mar 2026 15:28:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47455981</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47455981</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47455981</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Rob Pike’s Rules of Programming (1989)"]]></title><description><![CDATA[
<p>To put it simply if you have a function f(ctx) = ctx.a + ctx.b it is hard to see what are the arguments producing the output. Which are the elements in the datastructure you need to vary in order to have exhaustive tests. Whereas if one refactors it as f(ctx) = g(ctx.a, ctx.b) you only need to test function g with respect to (a, b) whereas forwarding of methods can be simply covered in integration tests without any care whether function g is implemented correctly.<p>To make such testing strategy to work data structures need to be small. It is better to have multiple small data structures rather than one big universal one where methods are defined at the ctx level making exhaustive tests difficult.<p>Perhaps, I haven’t been clear. I agree with Pike’s advice strongly. What I am trying to say here is that the Perl’s rule 9 is diametrically opposite of what Pike says.</p>
]]></description><pubDate>Thu, 19 Mar 2026 10:21:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=47437116</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47437116</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47437116</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Rob Pike’s Rules of Programming (1989)"]]></title><description><![CDATA[
<p>It’s about coupling and being able to maintain that in the long term. A narrow focus helps to test each individual unit in isolation from each other. It is true that a database appears to be a single datastructure with hundreds of methods from the users perspective and that is fine, because someone else engineered and tested it for you. However if you were to look into how a database is implemented you would get to see the composition of data structures, like btrees that are tested in isolation.</p>
]]></description><pubDate>Thu, 19 Mar 2026 00:41:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47433272</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47433272</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47433272</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Rob Pike’s Rules of Programming (1989)"]]></title><description><![CDATA[
<p>I still firmly believe that one ctx object and hundred functions/methods is as bad as programming with plain variables defined in the global scope. If the ctx is composed from smaller data structures with whom the functions are defined, then all is good. This is the opposite of the rule.</p>
]]></description><pubDate>Wed, 18 Mar 2026 19:43:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=47430489</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47430489</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47430489</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Rob Pike's Rules of Programming (1989)"]]></title><description><![CDATA[
<p>Separation of concerns is still a valid paradigm with a single global datastructure like GUI, Microservice, Database and etc. In such situation one can still seperate concerns via composing the global datastructure from a smaller units and define methods with respect to thoose smaller units. In that way one does not need to wonder whether there are some unattended side effects when calling a function that mutates the state.</p>
]]></description><pubDate>Wed, 18 Mar 2026 17:56:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47429018</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47429018</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47429018</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Rob Pike's Rules of Programming (1989)"]]></title><description><![CDATA[
<p>One can always look as global variables equivalent to a context object that’s is passed in every function. It’s just a syntactic difference whether one constructs such data structure or uses it implicitly via globals.<p>What I am getting at is that when one has such gigantic data structure there is no separation of concerns.</p>
]]></description><pubDate>Wed, 18 Mar 2026 16:24:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47427750</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47427750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47427750</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Rob Pike’s Rules of Programming (1989)"]]></title><description><![CDATA[
<p>With 100 functions and one datastructure it is almost as programming with a global variables where new instance is equivalent to a new process. Doesn’t seem like a good rule to follow.</p>
]]></description><pubDate>Wed, 18 Mar 2026 11:51:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47424525</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47424525</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47424525</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Qatar helium shutdown puts chip supply chain on a two-week clock"]]></title><description><![CDATA[
<p>Yes, energy dissipates. Although one still needs to look out for the distance from the neighbours as your ground can be different from your neighbours ground potential.</p>
]]></description><pubDate>Sat, 14 Mar 2026 23:39:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47382524</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47382524</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47382524</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Qatar helium shutdown puts chip supply chain on a two-week clock"]]></title><description><![CDATA[
<p>Yes, that puts it down perfectly. That’s why some don’t ever see the benefit of installing their surge protector whereas others install one way too small for their situation and find them useless anyway.</p>
]]></description><pubDate>Sat, 14 Mar 2026 23:34:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47382476</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47382476</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47382476</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Qatar helium shutdown puts chip supply chain on a two-week clock"]]></title><description><![CDATA[
<p>If your close neighbours have surge protectors then you benefit little from installing your own.</p>
]]></description><pubDate>Sat, 14 Mar 2026 02:30:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47372686</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47372686</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47372686</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "An opinionated take on how to do important research that matters"]]></title><description><![CDATA[
<p>> Another reason ignoring the literature can be helpful is that sometimes a bunch of work tries to solve some problem, and so everyone assumes it must be hard---just because no one has solved it yet, even though no one has really tried a fundamentally different approach<p>How does one approach collaborators in this situation? Like, hey, I have this idea that solves the problem you have been trying to solve in a fundamentally different way that invalidates all the legacy approaches you have invested in, BTW. My emails that follow this spirit tend to get ghosted.</p>
]]></description><pubDate>Mon, 09 Mar 2026 22:58:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=47316914</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47316914</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47316914</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "The United States and Israel have launched a major attack on Iran"]]></title><description><![CDATA[
<p>This is unlikelly because Iranian regime is going to execute false flag operations against their people to steer public opinion in their favour.</p>
]]></description><pubDate>Sat, 28 Feb 2026 16:41:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47197392</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47197392</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47197392</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Julia: Performance Tips"]]></title><description><![CDATA[
<p>As long as someone else does the porting and maintains the compatability between both subecosystems of thoose who prefer using Jax and thoose who prefer depending on the NumPy. Also not having zero overhead structs that one can in an array handicaps types of performance codes one can write.</p>
]]></description><pubDate>Fri, 27 Feb 2026 09:48:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47178638</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47178638</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47178638</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "The Age Verification Trap: Verifying age undermines everyone's data protection"]]></title><description><![CDATA[
<p>A significant obstacle to adoption is that cryptographic research aims for a perfect system that overshadows simpler, less private approaches. For instance, it does not seem that one should really need unlinkability across sessions. If that's the case, a simple range proof for a commitment encoding the birth year is sufficient to prove eligibility for age, where the commitment is static and signed by a trusted third party to actually encode the correct year.</p>
]]></description><pubDate>Mon, 23 Feb 2026 15:47:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=47123877</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47123877</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47123877</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Show HN: A physically-based GPU ray tracer written in Julia"]]></title><description><![CDATA[
<p>> It took me days to get that build to work; doing this compilation once in CI so you don't have to do it on every machine is trickier than it sounds in Julia<p>You may be interested in looking into AppBundler. Apart from the full application packaging it also offers ability to make Julia image bundles. While offering sysimage compilation option it also enables to bundle an application via compiled pkgimages which requires less RAM and is much faster to compile.</p>
]]></description><pubDate>Thu, 19 Feb 2026 16:53:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47075884</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47075884</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47075884</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "GPT-5.2 derives a new result in theoretical physics"]]></title><description><![CDATA[
<p>Such tedious derivations used to be a work of poor PhD students who were instrumentalized for such tasks. I envy those who do PhDs in theoretical physics in the age of AI, people can learn so much about their field quicker via chat than reading obstructing papers.</p>
]]></description><pubDate>Sat, 14 Feb 2026 10:12:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47013304</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47013304</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47013304</guid></item><item><title><![CDATA[New comment by JanisErdmanis in "Polis: Open-source platform for large-scale civic deliberation"]]></title><description><![CDATA[
<p>In essence liquid democracy makes votes a transferable currency bringing it fairly close to what money already is. It would be really hard to prevent existence of an exchange rate between money and vote transfer making that a capitalist dream (until markets themselves gets monopolized).</p>
]]></description><pubDate>Sat, 14 Feb 2026 09:37:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47013111</link><dc:creator>JanisErdmanis</dc:creator><comments>https://news.ycombinator.com/item?id=47013111</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47013111</guid></item></channel></rss>