<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: anttihaapala</title><link>https://news.ycombinator.com/user?id=anttihaapala</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 04 Sep 2026 09:07:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=anttihaapala" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by anttihaapala in ".name Termination"]]></title><description><![CDATA[
<p>Yes it has been. I have had a second level .name for 20 years.</p>
]]></description><pubDate>Thu, 03 Sep 2026 19:16:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=49555217</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=49555217</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49555217</guid></item><item><title><![CDATA[New comment by anttihaapala in "Two German airport workers die of malaria after 'mosquito arrives on plane'"]]></title><description><![CDATA[
<p>Malaria was endemic in Finland until the beginning of the 20th century, the people used to lived inside smoke-heated chimneyless log cabins together with animals, mosquitoes... and Plasmodium vivax...</p>
]]></description><pubDate>Thu, 27 Aug 2026 18:05:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=49468845</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=49468845</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49468845</guid></item><item><title><![CDATA[New comment by anttihaapala in "The Prospects for 128 Bit Processors ( John Mashey SGI 1995)"]]></title><description><![CDATA[
<p>The problem is for most practical uses where you need fast calculations the 64 bit precision is enough. For example there is hardly any physical calculation that would need more precision. 64 bit float can be used to measure the Earth-Sun distance to 30 micrometre precision. 128 bits does not just add anything generally useful. For monetary calculations you should be using decimals instead of binary anyway.</p>
]]></description><pubDate>Sun, 02 Aug 2026 11:09:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=49143319</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=49143319</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49143319</guid></item><item><title><![CDATA[New comment by anttihaapala in "I verified my LinkedIn identity. Here's what I handed over"]]></title><description><![CDATA[
<p>How about everyone gets a digital certification from their own government that this is the person named this and that. No need to share cranial measurements and iris scans.</p>
]]></description><pubDate>Sat, 21 Feb 2026 12:59:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47100412</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=47100412</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47100412</guid></item><item><title><![CDATA[New comment by anttihaapala in "Prek: A better, faster, drop-in pre-commit replacement, engineered in Rust"]]></title><description><![CDATA[
<p>formatting should definitely be in pre-commit though, otherwise you'll destroy diffs.</p>
]]></description><pubDate>Tue, 03 Feb 2026 18:12:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46874762</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=46874762</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46874762</guid></item><item><title><![CDATA[New comment by anttihaapala in "How we decreased GitLab repo backup times from 48 hours to 41 minutes"]]></title><description><![CDATA[
<p>This is not a complicated algorithm. A hash map (dictionary) or a hash set is how you would always do deduplication in Python, because it is easiest to write / least keystrokes anyway. That is not the case in C though, as it is much easier to use arrays and nested loops instead of hash maps.</p>
]]></description><pubDate>Fri, 06 Jun 2025 18:53:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=44203856</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=44203856</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44203856</guid></item><item><title><![CDATA[New comment by anttihaapala in "I decided to pay off a school’s lunch debt"]]></title><description><![CDATA[
<p>Yes, and while waiting for the child services to intervene then those children would still be starving.</p>
]]></description><pubDate>Tue, 06 May 2025 02:07:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=43901188</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=43901188</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43901188</guid></item><item><title><![CDATA[New comment by anttihaapala in "A Guide to Undefined Behavior in C and C++ (2010)"]]></title><description><![CDATA[
<p>What it means is that since <i>i</i> as the variable is monotonically increasing, an <i>array indexing operation</i> that is in the loop body can be replaced with an incrementing pointer instead, which eliminates quite a lot of code. An example here: <a href="https://pvs-studio.com/en/blog/posts/cpp/0374/" rel="nofollow">https://pvs-studio.com/en/blog/posts/cpp/0374/</a></p>
]]></description><pubDate>Mon, 17 Mar 2025 06:41:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=43385740</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=43385740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43385740</guid></item><item><title><![CDATA[New comment by anttihaapala in "Jeju Air Jet Crashes in South Korea With Over 170 Dead or Missing"]]></title><description><![CDATA[
<p>It definitely hit <i>this</i> <a href="https://maps.app.goo.gl/Npbyqgiy57y7jZDj7" rel="nofollow">https://maps.app.goo.gl/Npbyqgiy57y7jZDj7</a> instead.</p>
]]></description><pubDate>Sun, 29 Dec 2024 15:19:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=42540432</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=42540432</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42540432</guid></item><item><title><![CDATA[New comment by anttihaapala in "Protecting undersea internet cables is a tech nightmare"]]></title><description><![CDATA[
<p>If you consider an underwater cable running from Finland to Germany or Sweden to Lithuania in the Baltic Sea, it is virtually impossible for a ship travelling from St. Petersburg to the Kattegat to avoid passing over it, so redundancy can do only that much there.</p>
]]></description><pubDate>Sat, 07 Dec 2024 17:53:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=42351410</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=42351410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42351410</guid></item><item><title><![CDATA[New comment by anttihaapala in "Charset="WTF-8""]]></title><description><![CDATA[
<p>Yet Vietnamese can be written in Unicode without any combining characters whatsoever - in NFC normalization each character is one code point - just like the U+1EC7 LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW in your example.</p>
]]></description><pubDate>Sun, 24 Nov 2024 21:13:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=42230659</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=42230659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42230659</guid></item><item><title><![CDATA[New comment by anttihaapala in "PHP 8.4"]]></title><description><![CDATA[
<p>Oftentimes many of the significant new PHP features are to fix the shortsighted implementation in the previous ones - for example this method chaining with `new` - there was precedent already,
C++ got it right well before PHP even existed and with the very same arrow operator that PHP borrowed (and so did Java and JavaScript with .), so the question is why did PHP have to get it wrong at first and for so long.<p>Another pet peeve of me is that the global namespace is littered with these utility functions that should be easily composable or maybe be methods on the objects themselves - and looks like PHP 8.4 adds four more `array_*` functions.
For comparison, Python's builtin namespace has a total of 71 functions and a couple of exception classes. PHP's builtin namespace has more functions for dealing with arrays and now 58 of those are prefixed with `array_`.</p>
]]></description><pubDate>Thu, 21 Nov 2024 10:55:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=42203028</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=42203028</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42203028</guid></item><item><title><![CDATA[New comment by anttihaapala in "RCE Vulnerability in QBittorrent"]]></title><description><![CDATA[
<p>The issue was migrated to github so more up-to-date discussion is in <a href="https://github.com/python/cpython/issues/62817">https://github.com/python/cpython/issues/62817</a></p>
]]></description><pubDate>Sat, 02 Nov 2024 07:04:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=42024571</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=42024571</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42024571</guid></item><item><title><![CDATA[New comment by anttihaapala in "You're probably not vulnerable to the CUPS CVE"]]></title><description><![CDATA[
<p>IPv6?! The big thing about this was that you'd have end-to-end connections without NAT etc.</p>
]]></description><pubDate>Fri, 27 Sep 2024 11:47:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=41669233</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=41669233</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41669233</guid></item><item><title><![CDATA[New comment by anttihaapala in "Trainwreck Design"]]></title><description><![CDATA[
<p>and it <i>almost</i> works, does not get rid of efivars... needed to add `-x efivarfs` for <i>that</i>.</p>
]]></description><pubDate>Mon, 19 Aug 2024 07:33:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=41288685</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=41288685</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41288685</guid></item><item><title><![CDATA[New comment by anttihaapala in "GCC's new fortification level: The gains and costs (2022)"]]></title><description><![CDATA[
<p>No, it is not, and it has never been OK for as long as C has been standardized by ANSI or ISO.<p>C89 says that "The value of a pointer that refers to freed space is indeterminate." and that behavior is undefined "upon use ... of indeterminately-valued objects", hence a compiled program can e.g. behave as if `new_pointer == old_pointer` even though the object was relocated in memory.</p>
]]></description><pubDate>Thu, 27 Jun 2024 03:52:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=40807009</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=40807009</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40807009</guid></item><item><title><![CDATA[New comment by anttihaapala in "Things unexpectedly named after people (2020)"]]></title><description><![CDATA[
<p>Well, there is even more to it.<p>First of all the name My is (Finland-)Swedish, the Finnish name of the character is Pikku Myy.<p>The Finnish name registry contains only ~2 mentions before the publication of the hugely popular first Moomin book (and none for Myy) so this girls' name and hence the name in the MySQL really comes from the Moomin stories.<p>And finally, the name of Little My is a play on the Greek small letter mu, i.e. μ, and you'd be closer to the real idea and original pronunciation if you thought of it as MuSQL (μSQL) instead ;)</p>
]]></description><pubDate>Thu, 22 Feb 2024 06:44:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=39463954</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=39463954</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39463954</guid></item><item><title><![CDATA[New comment by anttihaapala in "Setenv Is Not Thread Safe and C Doesn't Want to Fix It"]]></title><description><![CDATA[
<p>In the case of execvp, you would pretty much be required to <i>fork</i> before it and <i>then</i> you could change PATH.</p>
]]></description><pubDate>Mon, 20 Nov 2023 10:40:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=38346050</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=38346050</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38346050</guid></item><item><title><![CDATA[New comment by anttihaapala in "Getaddrinfo() on glibc calls getenv(), oh boy"]]></title><description><![CDATA[
<p>This! And the attributes page explains these even better:<p><pre><code>       const  Functions marked with const as an MT-Safety issue non-
              atomically modify internal objects that are better
              regarded as constant, because a substantial portion of the
              GNU C Library accesses them without synchronization.
              Unlike race, which causes both readers and writers of
              internal objects to be regarded as MT-Unsafe, this mark is
              applied to writers only.  Writers remain MT-Unsafe to
              call, but the then-mandatory constness of objects they
              modify enables readers to be regarded as MT-Safe (as long
              as no other reasons for them to be unsafe remain), since
              the lack of synchronization is not a problem when the
              objects are effectively constant.

              The identifier that follows the const mark will appear by
              itself as a safety note in readers.  Programs that wish to
              work around this safety issue, so as to call writers, may
              use a non-recursive read-write lock associated with the
              identifier, and guard all calls to functions marked with
              const followed by the identifier with a write lock, and
              all calls to functions marked with the identifier by
              itself with a read lock.
</code></pre>
and<p><pre><code>       env    Functions marked with env as an MT-Safety issue access the
              environment with getenv(3) or similar, without any guards
              to ensure safety in the presence of concurrent
              modifications.

              We do not mark these functions as MT-Unsafe, however,
              because functions that modify the environment are all
              marked with const:env and regarded as unsafe.  Being
              unsafe, the latter are not to be called when multiple
              threads are running or asynchronous signals are enabled,
              and so the environment can be considered effectively
              constant in these contexts, which makes the former safe.</code></pre></p>
]]></description><pubDate>Tue, 17 Oct 2023 08:06:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=37911906</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=37911906</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37911906</guid></item><item><title><![CDATA[New comment by anttihaapala in "F-35A has flown from a highway for the first time"]]></title><description><![CDATA[
<p>Well, Finland has been landing and taking off F-18s on these road bases for almost 30 years now.</p>
]]></description><pubDate>Tue, 26 Sep 2023 04:09:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=37654234</link><dc:creator>anttihaapala</dc:creator><comments>https://news.ycombinator.com/item?id=37654234</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37654234</guid></item></channel></rss>