<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: Freaky</title><link>https://news.ycombinator.com/user?id=Freaky</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 13 Jun 2026 06:22:09 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Freaky" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by Freaky in "Webcam head tracking, webcam to control in‑game FOV"]]></title><description><![CDATA[
<p>Ooh, awesome.  I was literally just thinking the other day that it was a shame on-foot head tracking games pretty much started and ended with ArmA 3, because it's great both for situational awareness, and for just plain gawping at stuff.<p>Will definitely be trying out some of those :)</p>
]]></description><pubDate>Tue, 02 Jun 2026 20:46:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48376037</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=48376037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48376037</guid></item><item><title><![CDATA[New comment by Freaky in "Webcam head tracking, webcam to control in‑game FOV"]]></title><description><![CDATA[
<p>I guess so, given I have my TrackIR in a box!<p>That said, I have had issues with opentrack that involved some mildly irritating troubleshooting. Namely X4: Foundations didn't work properly with the standard freetrack output regardless of how I configured it, and I ended up needing to use "UDP over network".<p>I've never had a comparable problem with TrackIR, in spite of using it with a wider variety of titles over a longer period.  I do kinda like having it as a backup in case more intractable problems crop up.</p>
]]></description><pubDate>Tue, 02 Jun 2026 20:39:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48375957</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=48375957</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48375957</guid></item><item><title><![CDATA[New comment by Freaky in "OpenFOV – Webcam head tracking for iRacing"]]></title><description><![CDATA[
<p>opentrack would be the one to beat these days: <a href="https://github.com/opentrack/opentrack" rel="nofollow">https://github.com/opentrack/opentrack</a><p>It's completely replaced my TrackIR 5, since it averts the need to wear headphones and dig out the tracking bracket every time I want to use it, and the accuracy feels about the same.<p>I found head tracking pretty much becomes second-nature after a while - to the point at which it feels weird to play first-person sims without it. Not quite as fancy as VR, but much more comfortable and much more practical.</p>
]]></description><pubDate>Tue, 02 Jun 2026 12:19:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48369256</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=48369256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48369256</guid></item><item><title><![CDATA[New comment by Freaky in "Amazon reveals first color Kindle, new Kindle Scribe, and more"]]></title><description><![CDATA[
<p>I too have the previous generation Paperwhite and it's a laggy piece of junk.  About the only thing it's even remotely zippy at is flicking through pages rapidly when I accidentally brush my wet hand against the stupid touchscreen while I'm in the bath.</p>
]]></description><pubDate>Thu, 17 Oct 2024 10:49:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=41868306</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=41868306</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41868306</guid></item><item><title><![CDATA[New comment by Freaky in "PHP 8.3"]]></title><description><![CDATA[
<p>Looks like my fix for CPU feature detection under clang made it in, so such builds should now have much faster addslashes/base64/etc.<p>They're still disabled by default on FreeBSD - my PR is pending, and the patch has been in testing in ports for a while: <a href="https://github.com/php/php-src/pull/12288">https://github.com/php/php-src/pull/12288</a></p>
]]></description><pubDate>Fri, 24 Nov 2023 15:13:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=38404777</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=38404777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38404777</guid></item><item><title><![CDATA[New comment by Freaky in "YJIT is the most memory-efficient Ruby JIT"]]></title><description><![CDATA[
<p>It appears to have a cool-sounding JIT server mode, allowing multiple clients to share a caching JIT compiler which does most of the heavy-lifting:<p><a href="https://www.usenix.org/conference/atc22/presentation/khrabrov" rel="nofollow noreferrer">https://www.usenix.org/conference/atc22/presentation/khrabro...</a><p><a href="https://developer.ibm.com/articles/jitserver-optimize-your-java-cloud-native-applications/" rel="nofollow noreferrer">https://developer.ibm.com/articles/jitserver-optimize-your-j...</a><p>It also has a "dynamic AOT compiler", so first-run stuff can be JITed and cached for future execution instead of it all starting out interpreted every time.</p>
]]></description><pubDate>Sun, 19 Nov 2023 14:55:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=38333178</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=38333178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38333178</guid></item><item><title><![CDATA[New comment by Freaky in "Songs of Syx: A city-builder with complex mechanics (2020)"]]></title><description><![CDATA[
<p>In addition to being a great game, I also find Syx technically impressive - in a genre where it's so common to start running into serious performance problems with just two or three digit populations, Syx still zooms along effortlessly as you approach five.  I believe its pop cap is 40,000 units.<p>I'm sure they're greatly simplified in comparison - it isn't trying to simulate complex interpersonal relationships or painstakingly track everyone's hair growth, but they still have a decent amount of detail to them given the scale.<p>The demo is just an older version of the full game (usually lagged behind 3 major releases, not sure where it is now, I think it's more up to date?) - and far from making it feel like I didn't need to pay for the thing to enjoy it, it instead made it an easy buy.</p>
]]></description><pubDate>Sun, 19 Nov 2023 14:42:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=38333037</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=38333037</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38333037</guid></item><item><title><![CDATA[New comment by Freaky in "YJIT is the most memory-efficient Ruby JIT"]]></title><description><![CDATA[
<p>> We were very generous in terms of warm-up time. Each benchmark was run for 1000 iterations, and the first half of all the iterations were discarded as warm-up time, giving each JIT a more than fair chance to reach peak performance.<p>1,000 iterations isn't remotely generous for JRuby, unfortunately - JVM's Tier-3 compilation only kicks in by default around 2,000, and full tier-4 is only considered beyond 15,000. I've observed this to have quite a substantial effect, for instance bringing manticore (JRuby wrapper for Apache's Java HttpClient) down from merely "okay" performance after 10,000 requests to pretty much matching the curb C extension under MRI after 20,000.<p>You can tweak it to be more aggressive, but I guess this puts more pressure on the compiler threads and their memory use, while reducing the run-time profiling data they use to optimize most effectively. It perhaps also risks more churn from deoptimization. I kind of felt like I'd be better off trying to formalise the warmup process.<p>It's rather a shame that all this warmup work is one-shot. It would be far less obnoxious if it could be preserved across runs - I believe some alternative Java runtimes support something like that, though given JRuby's got its own JIT targetting Java bytecode I dare say it would require work there as well.</p>
]]></description><pubDate>Tue, 14 Nov 2023 22:18:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=38270613</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=38270613</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38270613</guid></item><item><title><![CDATA[New comment by Freaky in "Java 21: The Nice, the Meh, and the Momentous"]]></title><description><![CDATA[
<p>I encountered a weird bug with deserializing JSON in a JRuby app during an OpenJDK upgrade - it would sporadically throw a parse error for no apparent reason.  I was upgrading to OpenJDK 15, but another user experienced the same regression with an LTS upgrade from 8 to 11.<p>The end result of my own investigation led to this quite satisfying thread on hotspot-compiler-dev, in which an engineer starts with my minimal reproduction of the problem and posts a workaround within 24 hours: <a href="https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2021-February/044182.html" rel="nofollow noreferrer">https://mail.openjdk.org/pipermail/hotspot-compiler-dev/2021...</a><p>There's also a tip there: try a fastdebug build and see if you can convert it into an assertion failure you can look up.</p>
]]></description><pubDate>Sat, 23 Sep 2023 00:25:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=37619487</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=37619487</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37619487</guid></item><item><title><![CDATA[New comment by Freaky in "Kopia: Fast and secure open-source backup software"]]></title><description><![CDATA[
<p>FreeBSD had a pretty decent option in the base system two decades ago - FFS snapshots and a stock backup tool that would use them automatically with minimal effort, dump(8).  Just chuck `-L` at it and your backups are consistent.<p>Now of course it's all about ZFS, so there's at least snapshots paired with replication - but the story for anything else is still pretty bad, with you having to put all the fiddly pieces together.  I'm sure <i>some</i> people taught their backup tool about their special named backup snapshots sprinkled about in `.zfs/snapshot` directories, but given the fiddly nature of it I'm also sure most people just ended up YOLOing raw directories, temporal-smearing be damned.<p>I know I did!<p>I finally got around to fixing that last year with zfsnapr[1].  `zfsnapr mount /mnt/backup` and there's a snapshot of the system - all datasets, mounted recursively - ready for whatever backup tool of the year is.<p>I'm kind of disappointed in mentioning it over on the Practical ZFS forum that the response was not "why didn't you just use <existing solution everyone uses>", but "I can see why that might be useful".<p>Well, yes, it makes backups actually work.<p>> Also, it's unclear to me what happens if you attempt a snapshot in the middle of something like a database transaction or even a basic file write. Seems likely that the snapshot would still be corrupted<p>A snapshot is a point-in-time image of the filesystem at a given point.  Any ACID database worth the name will roll back the in-flight transaction just like they would if you issued it a `kill -9`.<p>For other file writes, that's really down to whether or not such interruptions were considered by the writer. You may well have half-written files in your snapshot, with the file contents as they were in between two write() calls.  Ideally this will only be in the form of temporary files, prior to their rename() over the data they're replacing.<p>For everything else - well, you have more than one snapshot backed up, right?<p>1: <a href="https://github.com/Freaky/zfsnapr">https://github.com/Freaky/zfsnapr</a></p>
]]></description><pubDate>Sat, 16 Sep 2023 11:18:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=37533806</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=37533806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37533806</guid></item><item><title><![CDATA[New comment by Freaky in "Kopia: Fast and secure open-source backup software"]]></title><description><![CDATA[
<p>> Unfortunately, this is not true. You need to grab all the DB files (WAL, etc.) in a consistent manner. You can't grab them while writes are in progress.<p>Perhaps you could be more specific, because the former is exactly what a filesystem snapshot is meant to do, and the latter is exactly what an ACID database is meant to allow assuming the former.<p>> Look at what Kanister does with its recipes to get consistent DB snapshots<p>I looked at a few examples and they mostly seemed to involve running the usual database dump commands.</p>
]]></description><pubDate>Sat, 16 Sep 2023 04:14:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=37531997</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=37531997</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37531997</guid></item><item><title><![CDATA[New comment by Freaky in "Caddy is the first and only web server to use HTTPS automatically and by default"]]></title><description><![CDATA[
<p>They insist on adding it to the standard response path, but they're happy for you to remove it:<p><pre><code>    header -Server
</code></pre>
However as this isn't global configuration it'll tend to pop back up in implicit configs like HTTP redirects and error handling if not overridden.</p>
]]></description><pubDate>Tue, 12 Sep 2023 14:16:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=37481659</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=37481659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37481659</guid></item><item><title><![CDATA[New comment by Freaky in "Caddy is the first and only web server to use HTTPS automatically and by default"]]></title><description><![CDATA[
<p>I'll see about getting it made the default for the FreeBSD port at least.</p>
]]></description><pubDate>Tue, 12 Sep 2023 11:50:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=37479628</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=37479628</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37479628</guid></item><item><title><![CDATA[New comment by Freaky in "Caddy is the first and only web server to use HTTPS automatically and by default"]]></title><description><![CDATA[
<p>Caddy also supports Unix sockets, which should be rather more difficult to smuggle requests to, and can be protected by file permissions:<p><pre><code>    admin listen unix//var/run/caddy/admin.sock</code></pre></p>
]]></description><pubDate>Tue, 12 Sep 2023 11:16:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=37479356</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=37479356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37479356</guid></item><item><title><![CDATA[New comment by Freaky in "ZFS for Dummies"]]></title><description><![CDATA[
<p>I make remote snapshot backups with Borg using this: <a href="https://github.com/Freaky/zfsnapr">https://github.com/Freaky/zfsnapr</a><p>zfsnapr mounts recursive snapshots on a target directory so you can just point whatever backup tool you like at a normal directory tree.<p>I still use send/recv for local backups - I think it's good to have a mix of strategies.</p>
]]></description><pubDate>Tue, 05 Sep 2023 11:36:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=37390357</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=37390357</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37390357</guid></item><item><title><![CDATA[New comment by Freaky in "ZFS for Dummies"]]></title><description><![CDATA[
<p>Nice, you reminded me of my own incomplete Rust rewrite of the Ruby ZFS snapshot script I wrote about a decade ago, <i>and</i> this bit of yak shaving that ended up derailing me: <a href="https://github.com/Freaky/command-limits">https://github.com/Freaky/command-limits</a><p>I ended up finishing neither, and should pick them back up!<p>(I snapshot in big chunks with xargs to try to minimise temporal smear - snapshots created in the same `zfs snapshot` command are atomic)</p>
]]></description><pubDate>Tue, 05 Sep 2023 11:22:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=37390273</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=37390273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37390273</guid></item><item><title><![CDATA[New comment by Freaky in "X glitch wipes out most pictures and links tweeted before December 2014"]]></title><description><![CDATA[
<p>SMS 2FA was put behind the paywall - ostensibly because they saw "bad actors" abusing it, but more likely because it costs money to send text messages and they're bleeding like a stuck pig thanks to Musk.<p>App and keyfob-based 2FA is still free.</p>
]]></description><pubDate>Sun, 20 Aug 2023 22:36:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=37203586</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=37203586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37203586</guid></item><item><title><![CDATA[New comment by Freaky in "Jeremy Vaught spent 16 years to build @music on Twitter, then X took it away"]]></title><description><![CDATA[
<p><a href="https://twitter.com/jeremyvaught/status/1687444457837187072" rel="nofollow noreferrer">https://twitter.com/jeremyvaught/status/1687444457837187072</a><p>> Oh wow, I didn't even think to look up the alternatives they were offering. THEY ARE ALREADY USED AS WELL! So if I choose one, I'll be complicit in stealing more accounts.</p>
]]></description><pubDate>Sun, 06 Aug 2023 01:30:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=37018069</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=37018069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37018069</guid></item><item><title><![CDATA[New comment by Freaky in "NASA mistakenly severs communication to Voyager 2"]]></title><description><![CDATA[
<p>> Take the Traders’ method of timekeeping. The frame corrections were incredibly complex—and down at the very bottom of it was a little program that ran a counter. Second by second, the Qeng Ho counted from the instant that a human had first set foot on Old Earth’s moon. But if you looked at it still more closely. . .the starting instant was actually some hundred million seconds later, the 0-second of one of Humankind’s first computer operating systems.<p>- Chapter 17, A Deepness in the Sky</p>
]]></description><pubDate>Mon, 31 Jul 2023 22:38:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=36949818</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=36949818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36949818</guid></item><item><title><![CDATA[New comment by Freaky in "FreeBSD at 30: Its secrets to success"]]></title><description><![CDATA[
<p><a href="https://freshbsd.org/freebsd?q=%22Sponsored+by+Netflix%22" rel="nofollow noreferrer">https://freshbsd.org/freebsd?q=%22Sponsored+by+Netflix%22</a><p>3,975 commits.</p>
]]></description><pubDate>Thu, 06 Jul 2023 11:51:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=36614443</link><dc:creator>Freaky</dc:creator><comments>https://news.ycombinator.com/item?id=36614443</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36614443</guid></item></channel></rss>