<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: Frotag</title><link>https://news.ycombinator.com/user?id=Frotag</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 05:57:32 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Frotag" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Frotag in "Tell HN: Chrome says "suspicious download" when trying to download yt-dlp"]]></title><description><![CDATA[
<p>Conveniently M$ lets you buy a signing certificate to fix this.<p><a href="https://stackoverflow.com/questions/48946680/how-to-avoid-the-windows-defender-smartscreen-prevented-an-unrecognized-app-fro/66582477#66582477" rel="nofollow">https://stackoverflow.com/questions/48946680/how-to-avoid-th...</a></p>
]]></description><pubDate>Tue, 31 Mar 2026 16:49:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=47590146</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47590146</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47590146</guid></item><item><title><![CDATA[New comment by Frotag in "The three pillars of JavaScript bloat"]]></title><description><![CDATA[
<p>Some utility stuff I copy paste between projects:<p><pre><code>  - range, clamp, inIvl, enumerate, topK
  - groupBy (array to record), numeric / lexical array sorts
  - seeded rng
  - throttling
  - attachDragListener (like d3's mousedown -> mousemove -> mouseup)
  - Maps / Sets that accept non-primitive keys (ie custom hash)
</code></pre>
So basically functions that every *dash variant includes.</p>
]]></description><pubDate>Sun, 22 Mar 2026 18:30:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47480577</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47480577</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47480577</guid></item><item><title><![CDATA[New comment by Frotag in "Hisense TVs add unskippable startup ads before live TV"]]></title><description><![CDATA[
<p>Alternatively, dns block the update domains, wait a few months to few years for someone to discover an exploit for rooting, root and sideload.</p>
]]></description><pubDate>Tue, 10 Mar 2026 13:58:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47323341</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47323341</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47323341</guid></item><item><title><![CDATA[New comment by Frotag in "Pushing and Pulling: Three reactivity algorithms"]]></title><description><![CDATA[
<p>From what I understand, Svelte 4 calculated dependencies at compile time. Whereas Svelte 5 does it automatically at runtime based on which values are accessed in tracking contexts (effect / computed value callbacks). This means objects marked as reactive have to be wrapped in proxies to intercept gets / sets. And plain values have to be transformed to objects at compile time. The deps are also recalculated after every update, so accessing state in conditionals can cause funkiness.<p>But after working with Svelte 5 daily for a few months, I don't think I like the implicitness. For one, reactivity doesn't show up in type signatures. So I have to remember whats reactive and what's not. Another is that making plain values (string, numbers, etc) reactive is really a trap. The reactivity doesn't cross file boundaries so you have to do weird things like exporting a getter / setter instead of the variable.</p>
]]></description><pubDate>Mon, 09 Mar 2026 01:54:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=47303938</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47303938</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47303938</guid></item><item><title><![CDATA[New comment by Frotag in "My Homelab Setup"]]></title><description><![CDATA[
<p>IME androids dont respect static routes published by the router. I guess self hosting DNS might be more robust but I usually just settle for bookmarking the ip:port</p>
]]></description><pubDate>Sun, 08 Mar 2026 17:35:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47299193</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47299193</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47299193</guid></item><item><title><![CDATA[New comment by Frotag in "Science Fiction Is Dying. Long Live Post Sci-Fi?"]]></title><description><![CDATA[
<p>>  It's full of regurgitated fantasy tropes, the writing and characters seem simple, and there's a forced world building with what feels like an infinite and boring back story, with no movement to justify it.<p>Maybe it's because he published 7 books that year (2021). Maybe it's also a coincidence that I remember not liking Children of Memory and he published 6 books that year, compared to Children of Time which was 2015 / 2 books.<p>Also just checked and looks like the fourth book (Children of Strife) is releasing in 2 weeks!</p>
]]></description><pubDate>Sun, 08 Mar 2026 04:24:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47294377</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47294377</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47294377</guid></item><item><title><![CDATA[New comment by Frotag in "Science Fiction Is Dying. Long Live Post Sci-Fi?"]]></title><description><![CDATA[
<p>There's a subreddit called /r/hfy for more positive scifi. It tends to be indie stuff and I think it goes a little too far in the other direction but at least some of the top-voted ones are interesting.<p>Off the top of my head...<p><a href="https://www.royalroad.com/fiction/32973/synchronizing-minds-a-first-contact-story" rel="nofollow">https://www.royalroad.com/fiction/32973/synchronizing-minds-...</a><p><a href="https://www.royalroad.com/fiction/67180/here-be-dragons-book-1-of-the-emergence-series" rel="nofollow">https://www.royalroad.com/fiction/67180/here-be-dragons-book...</a></p>
]]></description><pubDate>Sun, 08 Mar 2026 03:29:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47294104</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47294104</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47294104</guid></item><item><title><![CDATA[New comment by Frotag in "Science Fiction Is Dying. Long Live Post Sci-Fi?"]]></title><description><![CDATA[
<p>Funny timing, I was just thinking about this over dinner while scrolling the wiki list on [clarke / seiun / nebula] awards for the thousandth time.<p>> [Post-sci-fi is] free to allow the science fictional elements of their stories develop slowly, to emerge only in the latter half of the text, or to remain an isolated thread in a larger tapestry, all of which are anathema to genre-machine publishing, which generally wants its spaceships front-and-centre early on, to reassure readers they’re getting what they paid for.<p>This has always bugged me. There's often an interesting synopsis like (below), but the actual story begins with ~200 pages of backstories. And altogether the actual problem / developments / solution could probably be detailed in a tenth of the page count after subtracting all the character drama.<p>> "When a signal is discovered that seems to come from far beyond our solar system [...] What follows is an eye-opening journey out to the stars to the most awesome encounter in human history"<p>But this synopsis is actually from a well known 80s novel [0] so I don't think this slow-burn type of writing has become any more or less common with post scifi. To be clear, I don't have a problem with character-focused stories (I've read a ton!), I just wish they were advertised that way.<p>At this point I'm finding new / unusual stuff to read by looking for the <i>least</i> liked books whenever  recommendations come up. Anyways rant over. On a more positive note, the author's post has put of new names / titles on my reading list. I think my next read will probably be something by Ishiguro:<p>> [The Buried Giant] follows an elderly Briton couple, Axl and Beatrice, living in a fictional post-Arthurian England in which no-one is able to retain long-term memories. The couple have dim memories of having had a son, and they decide to travel to a neighbouring village to seek him out.<p>[0] <a href="https://en.wikipedia.org/wiki/Contact_(novel)" rel="nofollow">https://en.wikipedia.org/wiki/Contact_(novel)</a></p>
]]></description><pubDate>Sun, 08 Mar 2026 03:17:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=47294046</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47294046</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47294046</guid></item><item><title><![CDATA[Relax NG is a schema language for XML (2014)]]></title><description><![CDATA[
<p>Article URL: <a href="https://relaxng.org/">https://relaxng.org/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47258076">https://news.ycombinator.com/item?id=47258076</a></p>
<p>Points: 40</p>
<p># Comments: 26</p>
]]></description><pubDate>Thu, 05 Mar 2026 06:01:18 +0000</pubDate><link>https://relaxng.org/</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47258076</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47258076</guid></item><item><title><![CDATA[New comment by Frotag in "Disable Your SSH access accidentally with scp"]]></title><description><![CDATA[
<p>rclone has a web gui
<a href="https://rclone.org/gui/" rel="nofollow">https://rclone.org/gui/</a></p>
]]></description><pubDate>Wed, 04 Mar 2026 02:17:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47242151</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47242151</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47242151</guid></item><item><title><![CDATA[New comment by Frotag in "Motorola announces a partnership with GrapheneOS"]]></title><description><![CDATA[
<p>> if you enable battery changes, a current gen device can easily last a decade), people will care.<p>Modern batteries last surprisingly long. I assumed my 5yo pixel 4a was at 50~60% capacity based on feels and the adb batterystats printout estimated the same (with 1600 charge cycles). But when I actually measured the screentime / charging wattage, it was still at 80% capacity. Even confirmed this by replacing the battery and running the same tests.<p>I think part of the reason the old battery felt worse is that it would read 100% when it was only ~85% full then trickle charge at like 2w for another 90 minutes.</p>
]]></description><pubDate>Mon, 02 Mar 2026 12:39:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47217268</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47217268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47217268</guid></item><item><title><![CDATA[The free media database that anyone can edit]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.omdb.org/en/us/captcha">https://www.omdb.org/en/us/captcha</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47198918">https://news.ycombinator.com/item?id=47198918</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 28 Feb 2026 18:58:08 +0000</pubDate><link>https://www.omdb.org/en/us/captcha</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47198918</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47198918</guid></item><item><title><![CDATA[New comment by Frotag in "Baby chicks pass the bouba-kiki test, challenging a theory of language evolution"]]></title><description><![CDATA[
<p>> the informal word-button experiments suggest that non-avian animals like cats and dogs<p>I always wanted to see long form content on this. Like I'm sure the cherrypicked clips make it look more impressive than reality but I've owned enough pets to believe they can understand more than just individual words / tone.</p>
]]></description><pubDate>Tue, 24 Feb 2026 06:54:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47133719</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47133719</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47133719</guid></item><item><title><![CDATA[New comment by Frotag in "What I Learned After Building 3 TV Apps Coming from Mobile"]]></title><description><![CDATA[
<p>As an outsider, the fact that cross-device stuff just works in apple's ecosystem is probably the biggest thing I'm jealous of. It's crazy that something as simple as screen casting is still hit or miss when it comes to (android / linux) <-> (web os / chromecast / fire stick)</p>
]]></description><pubDate>Mon, 23 Feb 2026 13:54:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47122363</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47122363</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47122363</guid></item><item><title><![CDATA[New comment by Frotag in "What Is OAuth?"]]></title><description><![CDATA[
<p>I've been meaning to set up some nginx-level oauth. I have some self-hosted apps I want to share with friends / family but forcing them to remember a user / pass (basic auth) or run a vpn is a bit too much friction.</p>
]]></description><pubDate>Sat, 21 Feb 2026 04:06:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=47097388</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47097388</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47097388</guid></item><item><title><![CDATA[New comment by Frotag in "A beginner's guide to split keyboards"]]></title><description><![CDATA[
<p>Yeah the handful of times I've tried a split keyboard, I dropped it because of this. Like I use a different hand for the 'y' key if I'm typing my (left index) versus yes (right index).</p>
]]></description><pubDate>Fri, 20 Feb 2026 06:02:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47084330</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47084330</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47084330</guid></item><item><title><![CDATA[New comment by Frotag in "NewPipe: YouTube client without vertical videos and algorithmic feed"]]></title><description><![CDATA[
<p>IME newpipe breaks every few weeks or so, presumably because of some youtube change / obfuscation. Or at least that was the case a few years ago.<p>I've had more success hosting an invidious instance and using the materialious client for mobile. And a bonus is that it comes with sponsorblock built in.<p><a href="https://invidious.io/" rel="nofollow">https://invidious.io/</a><p><a href="https://materialio.us/" rel="nofollow">https://materialio.us/</a></p>
]]></description><pubDate>Sun, 15 Feb 2026 02:41:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47020559</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=47020559</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47020559</guid></item><item><title><![CDATA[New comment by Frotag in "Where did all the starships go?"]]></title><description><![CDATA[
<p>> No need for "serious justification" unless you're trying to pull it out of nowhere halfway through the plot. If it's there from the start, there's no problem.<p>Yeah I think most readers care more about consistency than realism. Being completely realistic makes consistency easy but a harder sell in terms of entertainment.<p>Maybe one way to view consistency is modelling the story world as a network of criss-crossing character threads. Where one axis is time and the other(s) are uh something? Anyways, consistency is how predictable (smooth / linear) the thread is. We follow the main character's thread pretty closely so that thread is allowed to suddenly curve (plot twist) without risk of losing the reader. We only catch glimpses of the supporting cast / antagonist so those have to be either predictable or the narrator has to backtrack and reveal any twists where necessary. And maybe how intricate yet well-behaved this network appears is what  gives the feeling of stories coming alive. Or maybe I'm just on too much caffeine and ranting.</p>
]]></description><pubDate>Sun, 08 Feb 2026 01:34:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46930440</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=46930440</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46930440</guid></item><item><title><![CDATA[New comment by Frotag in "Quaternion Algebras"]]></title><description><![CDATA[
<p>> Quaternions are the same idea just in 3 dimensions (so with 3 imaginary units i j k, not just i, one per plane).<p>I justify quaternions to myself with the intuition from [1]. In essence quaternions represent rotations in 4D, where multiplying by a "unit" (i,j,k), rotates two distinct planes by 90 degrees. The reason introducing a single unit j doesn't work is the same reason this rotation-is-multiplication trick doesn't work in 1D (or really any odd-number of dimensions). Anyways if we call this 4th axis w and pick a simple rule like ij = k then we get some nice properties like<p><pre><code>    - multiplying by i rotates xy + zw planes by 90 degrees
    - j rotates xz + yw
    - k rotates xw + yz
    - 1 rotates nothing
</code></pre>
Notably this definition covers all 6 unique planes. But if we want to rotate only a single plane, we have to make up a new property, something that lets us rotate say xz by 90 and yw by -90. So we make up another rule that multiplying by a unit on the <i>right</i> does this, which algebraically looks like ij = -ji. This is incidentally why the rotation formulas have 1/2 everywhere, because if we want to rotate xy by 90, we multiply on the left by i/2 then on the right by -i/2.<p>[1] <a href="https://www.reedbeta.com/blog/why-quaternions-double-cover/" rel="nofollow">https://www.reedbeta.com/blog/why-quaternions-double-cover/</a></p>
]]></description><pubDate>Sat, 31 Jan 2026 15:29:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46837496</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=46837496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46837496</guid></item><item><title><![CDATA[New comment by Frotag in "UK Government’s ‘AI Skills Hub’ was delivered by PwC for £4.1M"]]></title><description><![CDATA[
<p>As an american it's pretty cool to see how citizens can force representatives to debate an issue. But it's too bad even the most popular petitions just have "lol no" as the response.<p><a href="https://petition.parliament.uk/petitions?state=all" rel="nofollow">https://petition.parliament.uk/petitions?state=all</a></p>
]]></description><pubDate>Thu, 29 Jan 2026 00:34:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=46803979</link><dc:creator>Frotag</dc:creator><comments>https://news.ycombinator.com/item?id=46803979</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46803979</guid></item></channel></rss>