<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: za_creature</title><link>https://news.ycombinator.com/user?id=za_creature</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 21 Apr 2026 15:42:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=za_creature" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by za_creature in "All phones sold in the EU to have replaceable batteries from 2027"]]></title><description><![CDATA[
<p>> If you stood on the street corner and asked every passerby what they would change...<p>... the answer would depend on which street corner you asked.<p>> people seem so unaware of how idiosyncratic their preferences are<p>Yes, they are. They also tend to state that "most people" agree with them. This is called subjectivity.</p>
]]></description><pubDate>Mon, 20 Apr 2026 16:40:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47836845</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=47836845</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47836845</guid></item><item><title><![CDATA[New comment by za_creature in "PCI Express over Fiber [video]"]]></title><description><![CDATA[
<p>The video is about a 2x1 link, which the author hopes to eventually scale up to 3x4 using 40 gig transceivers. I'd say thunderbolt is probably safe in the near future.</p>
]]></description><pubDate>Thu, 16 Apr 2026 20:24:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=47799021</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=47799021</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47799021</guid></item><item><title><![CDATA[New comment by za_creature in "Spain to expand internet blocks to tennis, golf, movies broadcasting times"]]></title><description><![CDATA[
<p>Just to put some context into what _never_ means here:<p>If a website offers me the choice between "accept cookies" and "more options", I'll manually edit the DOM to remove the popup from the offending website. Some sites disable scrolling while such a "We value your privacy" popup is shown, so I wrote a js bookmarklet to work around most common means of scroll hijacking.<p>Google is currently waging a war against adblockers, especially on youtube. I currently have a way around that too but should they start baking ads in the video bytes, I'll stop using youtube altogether (though I am willing to look the other way for content creators shouting out their curated sponsors).<p>There is simply no universe in which I pay for certain types of digital content, and while I can't stop the data collection that ultimately pays for it, I can at least make damn sure that it's unlawful.<p>With respect to Spain and sports, stadiums are littered with ads, players wear ads, the commentator stream itself has ads baked in and people buy tickets and tapas to watch the game live. If that's not enough, go fuck yourselves!</p>
]]></description><pubDate>Tue, 14 Apr 2026 20:17:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47770912</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=47770912</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47770912</guid></item><item><title><![CDATA[New comment by za_creature in "[dead]"]]></title><description><![CDATA[
<p>Github: <a href="https://github.com/luckyPipewrench" rel="nofollow">https://github.com/luckyPipewrench</a>
> Pipe-layin' mastermind, code slayer supreme. Typin' fire across the screen, layin' pipe through the night. Bustin' blockages and bugs with no mercy.<p>HN:
> created: 1 day ago<p><a href="https://asciinema.org/~user%3A281302" rel="nofollow">https://asciinema.org/~user%3A281302</a>
> Joined on February 9, 2026<p>pipejosh is totally a real person!<p>Because a plumber would definitely first and foremost plug his AI software and not his plumbing company, which definitely exists!<p>How does this make it to the frontpage in <1 hour from posting?<p>P.S. <a href="https://pipelab.org/" rel="nofollow">https://pipelab.org/</a> has a bad cert</p>
]]></description><pubDate>Tue, 10 Feb 2026 13:06:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=46959208</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=46959208</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46959208</guid></item><item><title><![CDATA[New comment by za_creature in "SIMD Binary Heap Operations"]]></title><description><![CDATA[
<p>Ah, I meant that for a classic heap, it's convenient to assign h[0] to the limit of your goal function (e.g. -inf for a min heap) cause that way you can skip the while i>0 check and just do while h[i>>1] > min(h[i], h[i+1]), asserting that the condition is definitely false when i < 2<p>I guess that it's not as important when you're explicitly willing to pay the piper and run the full log2n iterations just for the sake of branch predictability.<p>Thanks for the algo though, before today I never would've thought about doing a branchless downheap with i = i<<1 + h[i<<1] != h[i]</p>
]]></description><pubDate>Thu, 14 Aug 2025 21:48:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=44906091</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=44906091</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44906091</guid></item><item><title><![CDATA[New comment by za_creature in "SIMD Binary Heap Operations"]]></title><description><![CDATA[
<p>That's a nice niche you found (spoken from one heap fan to another) but I have to say I strongly disagree with your use of *roughly* twice as much<p>At best you were off by one but in the context of performance, you'd want to assign that extra to a super-root of ±inf in order to save log2n extra range checks per heap-up, no?</p>
]]></description><pubDate>Thu, 14 Aug 2025 20:09:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=44905077</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=44905077</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44905077</guid></item><item><title><![CDATA[New comment by za_creature in "Undefined Behavior in C and C++ (2024)"]]></title><description><![CDATA[
<p>> When you know what you are doing with C pointers, the compiler just doesn't get in the way.<p>Tell me you use -fno-strict-aliasing without telling me.<p>Fwiw, I agree with you and we're in good[citation needed] company: <a href="https://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg01647.html" rel="nofollow">https://www.mail-archive.com/linux-btrfs@vger.kernel.org/msg...</a></p>
]]></description><pubDate>Tue, 12 Aug 2025 16:04:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=44878170</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=44878170</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44878170</guid></item><item><title><![CDATA[New comment by za_creature in "Show HN: Retriever – Securely share secrets over the internet"]]></title><description><![CDATA[
<p>Same idea, as a shareable static html page. It never made it to the front page though:<p><a href="https://news.ycombinator.com/item?id=38365892">https://news.ycombinator.com/item?id=38365892</a></p>
]]></description><pubDate>Thu, 25 Jan 2024 12:14:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=39128702</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=39128702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39128702</guid></item><item><title><![CDATA[New comment by za_creature in "Show HN: Send private messages over a public channel"]]></title><description><![CDATA[
<p>Thank you for the impromtpu audit. I agree that localStorage is overkill for the discord use-case, but wanted a bit more leeway for async forum posts.<p>I might tweak the UI to let users explicitly opt into no-storage operation, though now I wonder whether opening it in incognito is the correct UX approach for that behavior?</p>
]]></description><pubDate>Wed, 22 Nov 2023 07:08:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=38375869</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=38375869</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38375869</guid></item><item><title><![CDATA[New comment by za_creature in "Show HN: Send private messages over a public channel"]]></title><description><![CDATA[
<p>funny you should mention that<p>I initially wanted to go with inplainsight dot net cause that felt more fitting, but that's parked and the owner won't let it go for less than the low 4 figures, which was outside my budget for a hobby project</p>
]]></description><pubDate>Wed, 22 Nov 2023 07:02:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=38375829</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=38375829</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38375829</guid></item><item><title><![CDATA[New comment by za_creature in "Show HN: Send private messages over a public channel"]]></title><description><![CDATA[
<p>> <i>Did you learn anything while building this?</i><p>My main takeaway is that, for all of its footguns, React has solved a lot more problems than it created: Even for this rather simple app, the number of invariants that need to be preserved is large enough that doing jQuery-style UX feels like hand-writing assembly. I know from other projects that React's performance is quite a thorny issue, though I now wonder if that's because we're treating it as a library (as advertised) when instead we should maybe treat it as an optimizing compiler for a far too liberal language (there's only so much you can optimize when some <script> you have no knowledge of can pull the rug).<p>I've also learnt that post-html5 web specs are still annoying, inconsistent or downright missing. I guess that the committee is mostly happy with that outcome but it's almost 2024, can we get TypedArray.to/fromBase64() already?<p>> <i>How do you plan to monetize it?</i><p>I don't, not really. Pushing ads, even if it could be done without compromising security, might trigger paranoia in some users for example when the <i>interested in private communications</i> data point leads to the user seeing ads for other encryption solutions, some of which may be formulated as <i>they're always watching you!</i>.<p>On a tangential matter, I'm currently looking for contracts. Send me a message if you like what you've read and are willing to retain LLC external contractors (US east coast or EU time zones). My services are not cheap, but (I like to think that) they are top shelf.<p>> <i>How do you plan to keep this running in the future?</i><p>It's pretty cheap as there's no real infrastructure to speak of. All cryptography is done in the browser and while there is a server, it is only used to deliver the static html page (~12KiB when gzipped). Most of the distribution cost is currently offloaded to the proxy provider and while they are well within their rights to pull the plug at any time, my current choice has a proven track record of doing the opposite for the internet equivalent of public infrastructure: <<a href="https://blog.apnic.net/2021/06/17/how-a-small-free-ip-tool-survived/" rel="nofollow noreferrer">https://blog.apnic.net/2021/06/17/how-a-small-free-ip-tool-s...</a>>.<p>Other than my time, the only thing I've paid for thus far is the domain name, and I can likely personally afford the renewal fees for the foreseeable future.<p>> <i>You mentioned repudiation. What's that about?</i><p>Because all secrets are deleted upon (successful) use, both parties can claim to have no knowledge of any secret exchange since there's no hard evidence that can pin them to it. They can argue that either their respective platform accounts or their user agents were compromised and those statements are irrefutable without further evidence. That being said, the exchange itself is part of the public record and may (I am not a lawyer!) constitute reasonable suspicion for an officer of the court to issue a warrant that could lead to the discovery of said evidence.<p>> <i>I want to buy you a coffee, how do I go about doing that?</i><p>Accepting donations is something that I have considered, but have currently decided against because profiting from this feels unfair to the proxy. While this is subject to change in the future, it will only do so if the projected donations can cover the distribution costs (e.g. via a paid plan or self hosted).</p>
]]></description><pubDate>Tue, 21 Nov 2023 16:33:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=38365907</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=38365907</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38365907</guid></item><item><title><![CDATA[Show HN: Send private messages over a public channel]]></title><description><![CDATA[
<p>The other day I was on github assisting a compiler developer replicate an accidentally-quadratic observed behavior in generated code and was asked if I was willing to privately share my full source code with his company. While that was ultimately unnecessary as it was easy enough to find a simpler example, it did get me wondering about how exactly was I going to do that:<p>1. github does not (to my knowledge) allow private messages<p>2. all communication had thus far occurred on the public record (or at least Microsoft's version thereof)<p>3. my peer did not publish any contact information in his public profile, and out of respect for his privacy I did not look elsewhere<p>In yet another case of life imitates art imitates life, while I was building this, another developer on this very forum was complaining about not being able to set up a public "dropbox" on the internet in the context of receiving bluesky invite codes which, according to them, were being immediately redeemed by bots. I can't speak to that, but their structure does seem to make them easy to regexp against.<p>My objectives were to build something that:<p>1. provides reasonable security against doxxing oneself <i>to other participants</i><p>2. runs just about anywhere, even without an internet connection<p>3. requires no setup beforehand; since this turned out to be impossible, it was later relaxed to "no installation, but might benefit from it"<p>4. is easy to audit: no external dependencies other than the standard library<p>What I ended up with was this ~35KiB blob of js + html + css which (I hope) can be broadly summarized as "PGP for people who don't get invited to key signing parties". It is reverse-proxied via Cloudflare (I have a great ISP, but my aging homelab server probably can't handle any significant load) at:<p><pre><code>  <https://plaintext.world/>.
</code></pre>
If, for whatever reason, Cloudflare is a part of your threat model, the <i>shasum -a 256</i> for the uncompressed file is:<p><pre><code>  153e8022213bc565b5b914a263162920a6039251dd6da5a77b3a37f35de9b1a3  /var/www/html/plaintext.world/index.html
</code></pre>
You'll find most of the relevant technical information on the page itself, though you may have to <i>view-source:</i> in the rather likely event that I've omitted something from the manual.<p>Since this is a technical, VC-backed forum, I'll add a couple more private FAQ entries that may be of interest to some of you, in exchange for the potential of free publicity. Due to HN posts being limited to 4k, you'll find them as a reply by yours truly.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=38365892">https://news.ycombinator.com/item?id=38365892</a></p>
<p>Points: 12</p>
<p># Comments: 6</p>
]]></description><pubDate>Tue, 21 Nov 2023 16:32:44 +0000</pubDate><link>https://plaintext.world/</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=38365892</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38365892</guid></item><item><title><![CDATA[New comment by za_creature in "Govt warns kenyans about Worldcoin"]]></title><description><![CDATA[
<p>With no opinion on whether this is a good thing or not, the blockchain as described by the original author(s) does allow (as long as the hash function holds up and there's financial incentive to crunch the numbers) proof of public delivery of a message, thus negating the need for notaries.</p>
]]></description><pubDate>Wed, 09 Aug 2023 21:15:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=37068519</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=37068519</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37068519</guid></item><item><title><![CDATA[New comment by za_creature in "Good code is like a love letter to the next developer who will maintain it"]]></title><description><![CDATA[
<p>> there is no such thing as good code.<p>nor is there such a thing as a good love letter</p>
]]></description><pubDate>Thu, 20 Jul 2023 23:00:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=36807940</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=36807940</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36807940</guid></item><item><title><![CDATA[New comment by za_creature in "Finish your stuff"]]></title><description><![CDATA[
<p>The one thing you can <i>expect</i> to receive in exchange for said significant donation of your time is recognition for your work.<p>If your work consists of half-finished code that you then attempt to pass off as a usable product, the expected reward is shunning.<p>There's a difference between pushing your CS101 homework to github and publishing your package to npm. As with academia, once you publish you implicitly vouch for the quality of your work, and your reputation is permanently tied to it.</p>
]]></description><pubDate>Fri, 13 Oct 2017 19:06:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=15468430</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=15468430</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15468430</guid></item><item><title><![CDATA[New comment by za_creature in "The Netherlands Closes Prisons Because It Doesn't Have Enough Prisoners"]]></title><description><![CDATA[
<p>If they're renting them, I think Romania has a higher need at the moment :)</p>
]]></description><pubDate>Mon, 06 Feb 2017 16:56:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=13581368</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=13581368</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13581368</guid></item><item><title><![CDATA[New comment by za_creature in "Problems I Have with Python"]]></title><description><![CDATA[
<p>The thing is, tail calls aren't _just_ about emulating iteration via recursion:<p><pre><code>  def foo():
      raise ValueError

  def bar():
      return foo()

  bar()
</code></pre>
With TCO, the stack trace would contain `main` and `foo`, as `bar`'s frame would be overwritten by `foo`. This example is simple, but `bar` could be a 50 line long if-else chain of tail calls and when debugging you won't necessarily know which condition was evaluated.</p>
]]></description><pubDate>Wed, 25 Jan 2017 18:36:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=13484389</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=13484389</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13484389</guid></item><item><title><![CDATA[New comment by za_creature in "Ask HN: What was your greatest accomplishment in 2016?"]]></title><description><![CDATA[
<p>Awesome idea and the website looks great too! Congratulations for bootstrapping a 30 man team!<p>Does Pavlok have any other automated detection capacities other than wrist to mouth? You might consider making a video on how that works and how to temporarily disable it when eating: if that's the only "magic" feature, I for one would definitely want to see it in action before committing. If you have more magic, I think those features could use more exposure</p>
]]></description><pubDate>Wed, 28 Dec 2016 00:39:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=13267551</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=13267551</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13267551</guid></item><item><title><![CDATA[New comment by za_creature in "Ask HN: What if we legalize cybercrime?"]]></title><description><![CDATA[
<p>Wouldn't the presence of those legal deterrents allow a company to transfer resources away from tech and into legal to mitigate the problem?</p>
]]></description><pubDate>Tue, 27 Dec 2016 21:01:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=13266150</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=13266150</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13266150</guid></item><item><title><![CDATA[New comment by za_creature in "Bitcoin Beat the Trough of Sorrow"]]></title><description><![CDATA[
<p>> Bitcoin will thrive whenever the shit hits the fan somewhere<p>Not if "somewhere" is nearby elliptic curves</p>
]]></description><pubDate>Sat, 03 Dec 2016 04:27:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=13094302</link><dc:creator>za_creature</dc:creator><comments>https://news.ycombinator.com/item?id=13094302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13094302</guid></item></channel></rss>