<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: n0ot</title><link>https://news.ycombinator.com/user?id=n0ot</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 09:49:22 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=n0ot" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by n0ot in "Native Secure Enclave backed SSH keys on macOS"]]></title><description><![CDATA[
<p>This seems really cool. I use Secretive and would like to switch to this native solution. The one thing holding me back is that I like that Secretive allows you to create keys that don't require TouchID, yet still notifies you when they are used.<p>I use an external keyboard, so reaching for the fingerprint reader isn't as easy as it would be if I just used the internal keyboard. Fine, ControlMaster is a good compromise. Except when git signing (every commit) is a requirement, you have to touch the reader every, single, time. That's fine when making routine commits, not so when rebasing. Ideally, I could tell the SecureEnclave to notify me, but don't require biometrics for the next 30 seconds or so, but since that's not a thing, that I'm aware of, I'd at least like to know when my git signing key is being used.</p>
]]></description><pubDate>Tue, 25 Nov 2025 23:04:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=46051903</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=46051903</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46051903</guid></item><item><title><![CDATA[New comment by n0ot in "How we are building Audacity 4"]]></title><description><![CDATA[
<p>I know accessibility for low vision users was mentioned, but I wonder, with all these changes, whether version 4 will be accessible to screen reader users, and if so, whether any major features will nevertheless remain inaccessible.</p>
]]></description><pubDate>Fri, 03 Oct 2025 22:22:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45468515</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=45468515</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45468515</guid></item><item><title><![CDATA[New comment by n0ot in "Ask HN: Email Provider for Main Account?"]]></title><description><![CDATA[
<p>I use a custom domain with iCloud+. That works for me because I'm very much in the Apple ecosystem, but I can easily move somewhere else whenever it's no longer the best option for me, and I did just that when I moved from Proton to iCloud. I've set this up for my wife as well. It can be as simple or as hard as you want it to be, but above all, I'd strongly encourage you to use a domain you own. Email has become our de facto identity, and we should be in control of it.</p>
]]></description><pubDate>Thu, 15 May 2025 15:14:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=43995900</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=43995900</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43995900</guid></item><item><title><![CDATA[New comment by n0ot in "Using CAA Records with Namecheap"]]></title><description><![CDATA[
<p>I was working on a CAA implementation and wanted to use one of my domains (at Namecheap) to test. This was around 5 years ago. I had the same frustrating experience with support. I understand front line support personelle might not know what the heck an RFC is, but you'd think this would be a case when escalating to the next level would be warranted. I felt like they weren't even reading half of my message. I switched to different nameservers, and that worked fine in my case. I did eventually move over to Porkbun, but not for that reason.</p>
]]></description><pubDate>Fri, 18 Apr 2025 19:42:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=43731266</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=43731266</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43731266</guid></item><item><title><![CDATA[New comment by n0ot in "Cellular outage in U.S. hits AT&T, T-Mobile and Verizon users"]]></title><description><![CDATA[
<p>I'm also in the southwest suburbs, and have Comcast. My internet went out for about ten minutes at around 9:20 CST. I disabled WIFI on my iPhone only to discover I was still offline, and had no signal. Not sure whether the Comcast outage was related, but it came back up very quickly, whereas I still have no cell service (AT&T). My wife does have service, even though we both have iPhone 15 Pros.</p>
]]></description><pubDate>Thu, 22 Feb 2024 16:25:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=39469401</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=39469401</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39469401</guid></item><item><title><![CDATA[New comment by n0ot in "Why Zig When There Is Already C++, D, and Rust?"]]></title><description><![CDATA[
<p>> If you never initialize a heap allocator, you can be confident your program will not heap allocate.<p>This is true for the standard library, where I can trust that no hidden allocations will be made. If I pull in a third party package, nothing guarantees that that lib won't init a new `std.heap.GeneralPurposeAllocator(...)`, right?</p>
]]></description><pubDate>Mon, 22 Jan 2024 17:16:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=39092109</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=39092109</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39092109</guid></item><item><title><![CDATA[New comment by n0ot in "Show HN: Just F-Ing Ping"]]></title><description><![CDATA[
<p>I don't think you're stripping the userinfo quite right. You're stripping everything <i>after</i> the at-sign, when you want to strip what's before:<p><pre><code>  scheme://user:password@some.host:port/path?query_key=query_value&another_key=another_value#fragment</code></pre></p>
]]></description><pubDate>Sat, 13 Jan 2024 04:56:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=38977452</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=38977452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38977452</guid></item><item><title><![CDATA[New comment by n0ot in "Neovim Conf 2022"]]></title><description><![CDATA[
<p>That's what happens when you use coconut oil</p>
]]></description><pubDate>Fri, 09 Dec 2022 15:49:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=33922604</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=33922604</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33922604</guid></item><item><title><![CDATA[New comment by n0ot in "Ask HN: Which books have made you a better thinker and problem solver?"]]></title><description><![CDATA[
<p>I'll add Economics in One Lesson by Henry Hazlitt. It provides an introduction to economics from an Austrian point of view, and dispells many common economic fallacies. A big takeaway for me is that the consequences of policies, such as providing loans to certain groups of farmers, have consequences that we cannot forsee.<p><a href="https://www.amazon.com/Economics-One-Lesson-Shortest-Understand/dp/0517548232" rel="nofollow">https://www.amazon.com/Economics-One-Lesson-Shortest-Underst...</a></p>
]]></description><pubDate>Wed, 30 Nov 2022 16:26:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=33803064</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=33803064</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33803064</guid></item><item><title><![CDATA[New comment by n0ot in "ProtonMail Is Inherently Insecure, Your Emails Are Likely Compromised (2021)"]]></title><description><![CDATA[
<p>I use ProtonMail because I want to use an email address at my own domain. It's actually an inconvenience though, because their IOS app does not let me compose a message with VoiceOver, and when I reached out to them, they basically told me that they're not implementing features until they do their UI redesign. Most of the time, I compose messages in a desktop browser, but the few times I've needed to do so from my phone has required me to open Safari and do it from there, which was a pain.<p>I'm not looking for military grade encryption in a subterrainian mountain; I just want email at my domain from a service that doesn't read all of my emails and profile me based on their contents. I've looked into hosting my own email from a VPS, but it's not a trivial project, and I'm most worried about being blacklisted before I even start, since it seems most VPS providers are.<p>Any recommendations?</p>
]]></description><pubDate>Tue, 15 Feb 2022 22:45:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=30353903</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=30353903</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30353903</guid></item><item><title><![CDATA[New comment by n0ot in "Don’t Shower During a Thunderstorm, and Other ‘Myths’ That Are True"]]></title><description><![CDATA[
<p>I've always wondered about the whole cold lowering your immune system thing. On one hand, I've read that studies have shown this to be the case, but on the other hand, doesn't subjecting your body to moderate levels of hormetic stress actually make you more resilient? It seems like there should be a noticeable increase in sickness among people who take cold showers if this were true, the opposite of what they tend to report.</p>
]]></description><pubDate>Wed, 06 Oct 2021 21:28:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=28778694</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=28778694</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28778694</guid></item><item><title><![CDATA[New comment by n0ot in "Don’t Shower During a Thunderstorm, and Other ‘Myths’ That Are True"]]></title><description><![CDATA[
<p>I used to really enjoy reading Lifehacker, but their quality went down over time, and I stopped following them completely when they posted a map showing where to get abortions.</p>
]]></description><pubDate>Wed, 06 Oct 2021 21:23:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=28778635</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=28778635</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28778635</guid></item><item><title><![CDATA[New comment by n0ot in "Handheld two-way radios for preppers and other curious folks"]]></title><description><![CDATA[
<p>Is this explicitly allowed? I've always thought it would be cool if amateurs were allowed to encrypt their communications, so long as they provided the decryption keys regularly over the same channel.<p>You could incorporate cryptographic signatures, diffie-helmann key exchanges, all kinds of fun stuff, and so long as you periodically transmit the decryption key, you're not hiding anything. I'm not sure what the legality of this is.</p>
]]></description><pubDate>Mon, 22 Feb 2021 17:23:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=26227198</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=26227198</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26227198</guid></item><item><title><![CDATA[New comment by n0ot in "Edbrowse, a Command Line Editor Browser"]]></title><description><![CDATA[
<p>I just wrote a plugin to make Edbrowse work with gemini. It supports TOFU, prompts, client certificates, handles redirects, and passes most of the gemini torture tests, that don't involve crazy unicode wrapping.
Edbrowse's plugin support is extremely basic, so telling it about other media types, and auto redirecting away from gemini isn't possible without modifications to Edbrowse, as far as I know. I plan to add a few more features, like the ability to view the server certificate, and move up a directory, but I've only put about six or so hours into this thing so far, having never even used a gemini client beforehand.<p>Here's the plugin portion that goes into your Edbrowse configuration (~/.ebrc; you'll need to update the paths for your local system). If you want to use a client certificate, add -c your-cafile.crt -C your-cakey.crt to the program = ... line, before %i.<p><pre><code>    plugin {
        type = */*
        desc = Gemini
        protocol = gemini
        program = /Users/ncarpenter/.config/edbrowse/plugins/ebgmni.py %i
        outtype = h
    }
</code></pre>
And here's the helper Python script. It's a simple gemini client that converts text/gemini responses to HTML, for display in Edbrowse. You'll need to pip install ignition-gemini. The above plugin's program = line should point to it.<p><a href="https://gist.github.com/n0ot/b257e44a414732ef97ca08c00b5a7a93" rel="nofollow">https://gist.github.com/n0ot/b257e44a414732ef97ca08c00b5a7a9...</a></p>
]]></description><pubDate>Fri, 12 Feb 2021 17:49:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=26116372</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=26116372</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26116372</guid></item><item><title><![CDATA[New comment by n0ot in "Edbrowse, a Command Line Editor Browser"]]></title><description><![CDATA[
<p>I use Edbrowse all the time, including to read Hacker News. You can add custom functions into ~/.ebrc, and I have one to search for the next post on an HN page, or the "More" link, if there are no more posts on the current page.<p><pre><code>    function:hnn {
        /^\({} \|{More}\)
    }

</code></pre>
Edbrowse supports JavaScript, but it doesn't work very well, so I turn it off at startup, and only turn it on if I think it might make a page work better (it usually doesn't). Here's a bit of my config:<p><pre><code>    # I use certifi to provide the trusted root certificate authorities
    certfile=/usr/local/lib/python3.8/site-packages/certifi/cacert.pem
    jar=/Users/ncarpenter/.config/edbrowse/cookiejar
    downdir = /Users/ncarpenter/Downloads
    # Disable cache, so each Edbrowse session doesn't cache where I've been to disk.
    # It doesn't have persistent history anyways.
    cachesize=0
    
    # User agents (type ua0 for edbrowse, ua1 for Lynx, etc)
    agent = Lynx/2.8.4rel.1 libwww-FM/2.14
    agent = Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90)
    agent = Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)
    agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3112.113 Safari/537.36
    
    # Automatically convert Markdown, Epub, PDF to HTML
    plugin {
        type = markdown
        desc = markdown file
        suffix = md
        program = pandoc --toc -f markdown %i
        outtype = H
        down_url
    }
    
    plugin {
        type = epub
        desc = epub file
        suffix = epub
        content = application/epub+zip
        #  %o is the temp output file generated by the program
        program = pandoc -f epub %i
        outtype = H
        down_url
    }
    
    plugin {
        type = pdf
        desc = pdf file
        suffix = pdf
        content = application/pdf
        #  file must be local
        down_url
        program = pdftohtml -i -noframes %i %o >/dev/null
        outtype = H
    }
    
    # Play links to audio with mpv
    plugin {
        type = audio
        desc = streaming audio
        protocol = rtsp,pnm,sdp,pls
        suffix = rm,ra,ram,ogg,mp3,mp4,m3u,m3u8,opus,flac
        content = audio/x-scpls,audio/mpeg,application/pls+xml
        program = mpv --really-quiet --no-audio-display --no-ytdl --af=scaletempo=stride=20:overlap=1 %i
    }
    
    # Use mps-youtube to handle Youtube URLs
    plugin {
        type = audio/youtube
        desc = streaming audio from Youtube
        suffix=mpeg # Doesn't matter, but needed for edbrowse not to complain
        urlmatch = .youtube.com/watch?
        program = mpsyt url %i
    }
    
    # These commands run when Edbrowse starts
    # See the user's guide for what these commands mean, but I'm basically setting up startup preferences
    function:init {
        db0
        js-
        sg+
        ci+
        dx
        endm+
        rl+
        z37
        db1
    }
    
    function:b {
        b ~/.config/edbrowse/bookmarks
    }
    
    function+atb {
    db0
    A
        ,j
        w+ ~/.config/edbrowse/bookmarks
        ^
        db1
    }
    
    # Typing <hs some.domain.tld is easier than typing
    # b https://some.domain.tld
    function:hs {
        b https://~0
    }
    
    # Because I read RFCs enough to make use of this
    function+rfc {
        b https://tools.ietf.org/html/rfc~1
    }
    
    # Open the current page in the default browser,
    # when it just isn't working right in Edbrowse.
    function+o {
        db0
        ub
        !open "'_"
        b
        db1
    }
    
    # Copy the current URL to the clipboard
    function:cpp {
        !printf '%s' "'_" | sed ' s`^\([a-zA-Z0-9]\{1,\}://.*\)\(\.browse\)$`\1`' | tr -d '\n' | pbcopy
    }
</code></pre>
I left a few functions out, like ones to search Google and DuckDuckGo, because  I store the search forms locally, but can include those in a separate comment, if anyone's interested.</p>
]]></description><pubDate>Thu, 11 Feb 2021 19:05:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=26105722</link><dc:creator>n0ot</dc:creator><comments>https://news.ycombinator.com/item?id=26105722</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26105722</guid></item></channel></rss>