<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: sigwinch28</title><link>https://news.ycombinator.com/user?id=sigwinch28</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 19 Sep 2026 02:34:22 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=sigwinch28" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by sigwinch28 in "Bad code is kudzu"]]></title><description><![CDATA[
<p>I will now refer to senior engineers with a bone to pick with a codebase as “hungry goats”.</p>
]]></description><pubDate>Sun, 13 Sep 2026 23:05:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=49689665</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=49689665</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49689665</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Base84 deserves a place in file names"]]></title><description><![CDATA[
<p>I think bit-aligned encodings (i.e. schemes where the output alphabets have a size that is a power of two) are the sweet-spot for encoding schemes due to simplicity of encoding and decoding compared to non-bit-aligned schemes like base84.<p>Base16 is verbose, but each symbol in the alphabet carries exactly 4 bits (hence why a single byte in hex is two symbols). This is nice for encoding bytes. Base64 requires two non-alphanumeric symbols such as + and / or - and _ because A-Za-z0-9 only provides 62 characters. Each output symbol encodes exactly 6 bits of the original input. But when we're encoding whole bytes we sometimes need to use padding (when the input is not a multiple of 3 bytes and that ambiguity is harmful in the context that decoding occurs in). Then there's Base32, which is what currently seems like a sweet spot to me and is what I'm considering using for identifiers in my own systems. It only requires 32 characters, so can easily take a range of A-Z0-9 or a-z0-9 excluding visually-similar characters. Like Base64 it can also require padding in some settings.<p>I quite like the general scheme used in the Bech32 and Bech32m framing idea, which allows for a human-readable prefix before a `1` and then the base32 data follows. This can be done because `1` is excluded from the Bech32 alphabet. This prefix can be used to differentiate between kinds of identifier, for example:<p><a href="https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki" rel="nofollow">https://github.com/bitcoin/bips/blob/master/bip-0350.mediawi...</a><p>But to address the article directly, I'm not sure the complexity is worth the gains in the table in <a href="https://github.com/jedisct1/zig-base84#encoding" rel="nofollow">https://github.com/jedisct1/zig-base84#encoding</a>, which states that we save ~6.5% of characters, and for 128 input bytes, the resulting Base64 string is 171 characters, while the Base84 string is 161-166 characters.<p>I also dislike that the chosen alphabet breaks text selection; GitHub very carefully picked their current token formats so that the whole token is selected with a double-click:<p>> One other neat thing about _ is it will reliably select the whole token when you double click on it. Other characters we considered are sometimes included in application word separators and thus will stop highlighting at that character. Try out double clicking this-random-text versus this_random_text!<p><a href="https://github.blog/engineering/platform-security/behind-githubs-new-authentication-token-formats/" rel="nofollow">https://github.blog/engineering/platform-security/behind-git...</a><p>For example, compare double-clicking on the article's Base84 alphabet:<p>> ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!#$%&'()+,-;=@[]^_`{}~<p>with the Bech32 Base32 alphabet:<p>> qpzry9x8gf2tvdw0s3jn54khce6mua7l<p>Regardless though we still have the fundamental issue that bytes encoded as Base16, Base32, Base64, or even Base91/Base84 will be _longer_ when encoded. Base32 can encode up to 159 bytes before hitting a filename limit of 255 bytes. I can't remember whether filenames are 16-bit on Windows (UCS-2? UTF-16?), but I speculate on average that maybe you could save a lot of bytes by first ensuring that filenames are UTF-8 before encrypting them, since filenames on a lot of computeres, especially ones running in the west, likely contain a lot of latin characters. You could even switch between encodings to get the best bit-packing in filenames.<p>At the moment it looks like turbocrypt forbids encrypted filenames that are too long: <a href="https://github.com/jedisct1/turbocrypt/blob/4905241d271e84a06f7f634403bcb919a4d5ac63/src/filename_crypto.zig#L61-L63" rel="nofollow">https://github.com/jedisct1/turbocrypt/blob/4905241d271e84a0...</a><p>I think turbocrypt could switch to using a surrogate file when an encrypted filename exceeds 255 bytes to allow for encrypting any filename permitted by the filesystem, while still preserving the property that the same filename in a different directory has the same encrypted filename. If an encrypted filename is too long to fit on the filesystem, maybe its hash could be stored as the filename instead (which is extremely unlikely to collide). Then we could store the full encrypted filename in a `.name` file in the same directory. We could do similar for directory names that are too long. We could then use a less dense but bit-aligned encoding scheme like Base32 with an all-lowercase alphabet without any punctuation to make filename text selection straightfoward. We would avoid all case sensitivity traps that can occur with things like Base64 and Base84. Let's pick two filename prefixes, say "tcf1" for "turbocrypt filename" and "tch1" for "turbocrypt filename hash". Then we could have a directory layout like this:<p><pre><code>  tch1q9x8gf2tvdw0 # a file whose encrypted filename exceeds 255 bytes; this filename is a hash of the encrypted filename, e.g. SHA-256.
  tch1q9x8gf2tvdw0.name # a file whose contents are the full encrypted filename of tch1q9x8gf2tvdw0.
  tcf1tvdhc6mua7l9x8s3qprz # a file whose encrypted filename does not exceed 255 bytes.
</code></pre>
gocryptfs follows a similar idea for long filenames: <a href="https://github.com/rfjakob/gocryptfs-website/blob/master/docs/forward_mode_crypto.md#long-file-name-handling" rel="nofollow">https://github.com/rfjakob/gocryptfs-website/blob/master/doc...</a><p>Once a system to support long filenames is implemented, the size of the alphabet used for encoding the filenames (like Base84) becomes less important; Base16, Base32, Base64, or another bit-aligned encoding scheme could be used.<p>As a very small added bonus, you could even implement a bit-aligned codec such as base16 or base64 using SIMD via a bunch of swizzling, shifting, bitmasking, and AND/XORing, making it very fast should the need arise.</p>
]]></description><pubDate>Sun, 13 Sep 2026 15:23:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=49685026</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=49685026</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49685026</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Appreciating Exif"]]></title><description><![CDATA[
<p>Conversely, as a hobbyist photographer, I want to do the exact opposite for most photos I take.<p>I would like my camera info, especially the body, lens, focal length, and settings in the image. I recently discovered that software like Darktable can even take a gpx file and photo timestamps to add coordinates to photos taken on a camera without a GNSS receiver.</p>
]]></description><pubDate>Sat, 13 Jun 2026 17:12:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48519252</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=48519252</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48519252</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Spanish track was fractured before high-speed train disaster, report finds"]]></title><description><![CDATA[
<p>Measurement trains filled with cameras and LIDAR<p>For example, in the U.K.:<p><a href="https://en.wikipedia.org/wiki/New_Measurement_Train" rel="nofollow">https://en.wikipedia.org/wiki/New_Measurement_Train</a></p>
]]></description><pubDate>Sun, 25 Jan 2026 20:15:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=46757714</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=46757714</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46757714</guid></item><item><title><![CDATA[New comment by sigwinch28 in "C++ says “We have try... finally at home”"]]></title><description><![CDATA[
<p>A writable file closing itself when it goes out of scope is usually not great, since errors can occur when closing the file, especially when using networked file systems.<p><a href="https://github.com/isocpp/CppCoreGuidelines/issues/2203" rel="nofollow">https://github.com/isocpp/CppCoreGuidelines/issues/2203</a></p>
]]></description><pubDate>Sun, 28 Dec 2025 12:17:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46410534</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=46410534</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46410534</guid></item><item><title><![CDATA[New comment by sigwinch28 in "SQL Anti-Patterns"]]></title><description><![CDATA[
<p>Or it’s simply an indicator of a schema that has not been excessively normalised (why create an addresses_cities table just to ensure no duplicate cities are ever written to the addresses table?)</p>
]]></description><pubDate>Sat, 18 Oct 2025 15:53:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=45628287</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=45628287</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45628287</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Belkin shows tech firms getting too comfortable with bricking customers' stuff"]]></title><description><![CDATA[
<p>Via Wikipedia:<p>> The developer offered full refunds to the game for macOS and Linux owners regardless of how long they had the game.<p><a href="https://en.wikipedia.org/wiki/Rocket_League#Free-to-play_transition" rel="nofollow">https://en.wikipedia.org/wiki/Rocket_League#Free-to-play_tra...</a><p><a href="https://www.rockpapershotgun.com/rocket-league-ending-mac-and-linux-support-because-they-represent-less-than-0-3-of-active-players" rel="nofollow">https://www.rockpapershotgun.com/rocket-league-ending-mac-an...</a></p>
]]></description><pubDate>Fri, 11 Jul 2025 19:47:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=44536182</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=44536182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44536182</guid></item><item><title><![CDATA[New comment by sigwinch28 in "U.K. orders Apple to let it spy on users’ encrypted accounts"]]></title><description><![CDATA[
<p>I’m from the U.K. and I consider the government’s actions around digital privacy to be somewhere between incompetent and malicious.</p>
]]></description><pubDate>Fri, 07 Feb 2025 09:32:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=42970894</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=42970894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42970894</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Jaywalking legalized in New York City"]]></title><description><![CDATA[
<p>>waiting for 2 different lights just to get to the opposite corner.<p>A solution sometimes seen in London is a “Pedestrian Scramble”, where pedestrians are explicitly given full (and even diagonal) access to a junction with all other traffic stopped.<p><a href="https://en.wikipedia.org/wiki/Pedestrian_scramble" rel="nofollow">https://en.wikipedia.org/wiki/Pedestrian_scramble</a></p>
]]></description><pubDate>Wed, 30 Oct 2024 18:52:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=41998820</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=41998820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41998820</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Ask HN: How to store and share passwords in a company?"]]></title><description><![CDATA[
<p>With SSO, the party running the SSO decides what the authentication policy is.<p>For example, where the authentication request is coming from (on-site, managed device), what methods are being used (hardware second factor, Authenticator app).<p>These are all things that the SSO can check at time of authentication, before a token or session key gets issued to the user. Also, all of these things can be checked again when doing any auth flows for the various linked services.<p>So with stolen SSO credentials, they might be worth diddly squat to you if you didn’t think to also be on-site or on a managed company device (physically or virtually).</p>
]]></description><pubDate>Mon, 02 Sep 2024 07:26:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=41423323</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=41423323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41423323</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Airlines are running out of 4-digit flight numbers"]]></title><description><![CDATA[
<p>Reuse of identifiers seems to be a theme in aviation <a href="https://news.ycombinator.com/item?id=37401864">https://news.ycombinator.com/item?id=37401864</a></p>
]]></description><pubDate>Mon, 05 Aug 2024 18:41:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=41164067</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=41164067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41164067</guid></item><item><title><![CDATA[New comment by sigwinch28 in "A skeptic's first contact with Kubernetes"]]></title><description><![CDATA[
<p>If we replace “YAML” with “JSON” and then talk about naive text-based templating, it seems wild.<p>That’s because it is. Then we go back to YAML and add whitespace sensitivity and suddenly it’s the state-of-the-art for declaring infrastructure.</p>
]]></description><pubDate>Thu, 01 Aug 2024 20:47:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=41133450</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=41133450</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41133450</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Elsevier embeds a hash in the PDF metadata that is unique for each download (2022)"]]></title><description><![CDATA[
<p>A lot government funding stipulates open access publication of some form.<p><a href="https://en.wikipedia.org/wiki/Open-access_mandate" rel="nofollow">https://en.wikipedia.org/wiki/Open-access_mandate</a></p>
]]></description><pubDate>Mon, 10 Jun 2024 10:44:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=40632116</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=40632116</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40632116</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Google releases smart watch for kids"]]></title><description><![CDATA[
<p>A smartwatch for kids could be so good if it was designed in a way to be educational, but most importantly, which respects a child’s privacy utmost, even from their parents in terms of tracking.<p>For example, a maps app, to always get the kid home if they’re lost. Medication reminders. Fitness tracking. Emergency SOS. A calendar to remind them about family birthdays and upcoming holidays. School timetables. Medical ID. Payment cards or passes for travel (in Western Europe a lot of schoolchildren commute by themselves, especially on public transport) and spending their allowance. Let the kid choose to notify their family of their location as and when they want to. Empower them to use tech to their advantage but put their privacy first.<p>Children are going to end up as adults in this world regardless of whether we teach them, so we should be teaching them the benefits and warning them of the many bad actors. We should be teaching our children the skills they need to navigate the modern world. This includes technology and abusive/controlling relationships.<p>I believe a good responsible smartwatch for kids can exist. Alas, this is Google and helicopter parents exist, so this product is not it.</p>
]]></description><pubDate>Thu, 30 May 2024 10:53:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=40522248</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=40522248</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40522248</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Ticketmaster breach affects more than half a billion users"]]></title><description><![CDATA[
<p>At 2.6 megabytes per dollar, it is at least cheaper than the price of a (very legal) kdb license, which can hover around 3 bytes per dollar.<p>Comparing apples and oranges here but I like thinking about the monetary value assigned to a byte.</p>
]]></description><pubDate>Wed, 29 May 2024 17:11:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=40514349</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=40514349</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40514349</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Withdraw most of my ownership in favor of Mark"]]></title><description><![CDATA[
<p>This seems to be about GitHub’s annoying CODEOWNERS feature where every matching user in the CODEOWNERS file is forcefully added as a reviewer of opened PRs.<p>To my knowledge this “feature” can’t be toggled independently and in my experience often drastically reduces the signal-to-noise ratio of GitHub notifications for people in a CODEOWNERS file.<p>I wish GitHub allowed this to be configured. You either get this functionality <i>and</i> enforced code owner approval, or neither.</p>
]]></description><pubDate>Mon, 27 May 2024 19:17:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=40493704</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=40493704</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40493704</guid></item><item><title><![CDATA[New comment by sigwinch28 in "The OpenAI board was right"]]></title><description><![CDATA[
<p>There are clauses in many Hollywood contracts which prevent the use of an actor’s likeness.<p>See what happened in Back to the Future Part 2: <a href="https://en.m.wikipedia.org/wiki/Back_to_the_Future_Part_II#Replacement_of_Crispin_Glover_and_lawsuit" rel="nofollow">https://en.m.wikipedia.org/wiki/Back_to_the_Future_Part_II#R...</a></p>
]]></description><pubDate>Tue, 21 May 2024 10:42:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=40426619</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=40426619</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40426619</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Meteor seen in Portugal"]]></title><description><![CDATA[
<p><a href="https://youtu.be/MgNItWdfEIU?si=QGZbjRIh50InkiHV" rel="nofollow">https://youtu.be/MgNItWdfEIU?si=QGZbjRIh50InkiHV</a><p>Context: <a href="https://en.wikipedia.org/wiki/Your_Name" rel="nofollow">https://en.wikipedia.org/wiki/Your_Name</a></p>
]]></description><pubDate>Mon, 20 May 2024 15:22:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=40416539</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=40416539</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40416539</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Raspberry Pi Ltd is considering an IPO"]]></title><description><![CDATA[
<p>> What's the risk here?<p>A monopolistic stock exchange could, off the top of my head: increase fees, engage in rentseeking behaviour, impose unfair rules, discriminate (against companies and traders) or reduce the quality of service.<p>Listing on different (or multiple) exchanges ensures that they engage in proper competition.<p>> compared to the actual extractions you are subjected to in the UK<p>An apt example of why it's healthy to have competition. A working professional or business could relocate to a country where less of their wealth is taken from them.</p>
]]></description><pubDate>Wed, 15 May 2024 14:19:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=40367302</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=40367302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40367302</guid></item><item><title><![CDATA[New comment by sigwinch28 in "Apple and Google deliver support for unwanted tracking alerts in iOS and Android"]]></title><description><![CDATA[
<p>At least for AirTags before today, this functionality allegedly only triggers when the device is not near one of the owner’s iPhones/iPad/Macbooks.</p>
]]></description><pubDate>Mon, 13 May 2024 20:26:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=40348008</link><dc:creator>sigwinch28</dc:creator><comments>https://news.ycombinator.com/item?id=40348008</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40348008</guid></item></channel></rss>