<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: mcpherrinm</title><link>https://news.ycombinator.com/user?id=mcpherrinm</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 09 Apr 2026 05:37:54 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mcpherrinm" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mcpherrinm in "Git commands I run before reading any code"]]></title><description><![CDATA[
<p>Git bisect is one of the important reasons IMO to always squash-merge pull requests: Because the unit of review is the pull request.<p>I think this is all Github's fault, in the end, but I think we need to get Github to change and until then will keep using squash-merges.</p>
]]></description><pubDate>Wed, 08 Apr 2026 16:55:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=47692888</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=47692888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47692888</guid></item><item><title><![CDATA[New comment by mcpherrinm in "Git commands I run before reading any code"]]></title><description><![CDATA[
<p>Squash merge is the only reasonable way to use GitHub:<p>If you update a PR with review feedback, you shouldn’t change existing commits because GitHub’s tools for showing you what has changed since your last review assume you are pushing new commits.<p>But then you don’t want those multiple commits addressing PR feedback to merge as they’re noise.<p>So sure, there’s workflows with Git that doesn’t need squashing. But they’re incompatible with GitHub, which is at least where I keep my code today.<p>Is it perfect? No. But neither is git, and I live in the world I am given.</p>
]]></description><pubDate>Wed, 08 Apr 2026 11:51:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47688910</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=47688910</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47688910</guid></item><item><title><![CDATA[New comment by mcpherrinm in "Woman who never stopped updating her lost dog's chip reunites with him after 11y"]]></title><description><![CDATA[
<p>Yes, it's just a number referenced in one of a few databases.<p>> The 15-digit pet microchip is the international standard (see ISO 11784:1996 and ISO 11785:1996)<p><a href="https://www.aaha.org/for-veterinary-professionals/microchip-registry-lookup-tool-aaha-find-your-pets-microchip-registry/" rel="nofollow">https://www.aaha.org/for-veterinary-professionals/microchip-...</a><p><a href="https://en.wikipedia.org/wiki/ISO_11784_and_ISO_11785" rel="nofollow">https://en.wikipedia.org/wiki/ISO_11784_and_ISO_11785</a></p>
]]></description><pubDate>Thu, 26 Mar 2026 01:16:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47525590</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=47525590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47525590</guid></item><item><title><![CDATA[New comment by mcpherrinm in "DNS-Persist-01: A New Model for DNS-Based Challenge Validation"]]></title><description><![CDATA[
<p>It does mean Unix timestamps. The blog post doesn’t have the full details.<p>You can read the RFC draft at <a href="https://datatracker.ietf.org/doc/html/draft-ietf-acme-dns-persist-00" rel="nofollow">https://datatracker.ietf.org/doc/html/draft-ietf-acme-dns-pe...</a><p>It says: CAs MUST properly parse and interpret the integer timestamp value as a UNIX timestamp (the number of seconds since 1970-01-01T00:00:00Z ignoring leap seconds) and apply the expiration correctly.</p>
]]></description><pubDate>Fri, 20 Feb 2026 16:30:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=47090179</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=47090179</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47090179</guid></item><item><title><![CDATA[New comment by mcpherrinm in "DNS-Persist-01: A New Model for DNS-Based Challenge Validation"]]></title><description><![CDATA[
<p>Note that we only do best-effort submission of final certs, so it's not actually guaranteed that they end up being logged.</p>
]]></description><pubDate>Fri, 20 Feb 2026 03:48:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=47083452</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=47083452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47083452</guid></item><item><title><![CDATA[New comment by mcpherrinm in "DNS-Persist-01: A New Model for DNS-Based Challenge Validation"]]></title><description><![CDATA[
<p>Two current mitigations and one future:<p>DNSSEC prevents any modification of records, but isn’t widely deployed.<p>We query authoritative nameservers directly from at least four places, over a diverse set of network connections, from multiple parts of the world. This (called MPIC) makes interception more difficult.<p>We are also working on DNS over secure transports to authoritative nameservers, for cases where DNSSEC isn’t or won’t be deployed.</p>
]]></description><pubDate>Thu, 19 Feb 2026 00:11:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47068238</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=47068238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47068238</guid></item><item><title><![CDATA[New comment by mcpherrinm in "DNS-Persist-01: A New Model for DNS-Based Challenge Validation"]]></title><description><![CDATA[
<p>It has these primary advantages:<p>1. It matches what the CAA accounturi field has<p>2. Its consistent across an account, making it easier to set up new domains without needing to make any API calls<p>3. It doesn’t pin a users key, so they can rotate it without needing to update DNS records - which this method assumes is nontrivial, otherwise you’d use the classic DNS validation method</p>
]]></description><pubDate>Thu, 19 Feb 2026 00:04:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47068170</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=47068170</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47068170</guid></item><item><title><![CDATA[New comment by mcpherrinm in "DNS-Persist-01: A New Model for DNS-Based Challenge Validation"]]></title><description><![CDATA[
<p>This wasn’t the first version of the ballot, so there was substantial work to get consensus on a ballot before the vote.<p>CAs were already doing something like this (CNAME to a dns server controlled by the CA), so there was interest from everyone involved to standardize and decide on what the rules should be.</p>
]]></description><pubDate>Wed, 18 Feb 2026 20:48:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47066158</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=47066158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47066158</guid></item><item><title><![CDATA[New comment by mcpherrinm in "DNS-Persist-01: A New Model for DNS-Based Challenge Validation"]]></title><description><![CDATA[
<p>We (Let’s Encrypt) also agree 10 days seems too long, so we are migrating to 7 hours, aligning with the restrictions on CAA records.</p>
]]></description><pubDate>Wed, 18 Feb 2026 20:27:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47065933</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=47065933</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47065933</guid></item><item><title><![CDATA[New comment by mcpherrinm in "DNS-Persist-01: A New Model for DNS-Based Challenge Validation"]]></title><description><![CDATA[
<p>Yes, you can limit both challenge types and account URIs in CAA records.<p>To revoke the record, delete it from DNS. Let’s Encrypt queries authoritative nameservers with caches capped at 1 minute.  Authorizations that have succeeded will soon be capped at 7 hours, though that’s independent of this challenge.</p>
]]></description><pubDate>Wed, 18 Feb 2026 20:26:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47065919</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=47065919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47065919</guid></item><item><title><![CDATA[New comment by mcpherrinm in "DNS-Persist-01: A New Model for DNS-Based Challenge Validation"]]></title><description><![CDATA[
<p>There is no username in ACME besides the account URI, so the UUID you’re suggesting isn’t needed. The account uri themselves just have a number (db primary key).<p>If you’re worried about correlating between domains, then yes just make multiple accounts.<p>There is an email field in ACME account registration but we don’t persist that since we dropped sending expiry emails.</p>
]]></description><pubDate>Wed, 18 Feb 2026 20:04:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47065615</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=47065615</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47065615</guid></item><item><title><![CDATA[New comment by mcpherrinm in "The Day the Telnet Died"]]></title><description><![CDATA[
<p>As I understand it, greynoise is monitoring scanner traffic, so yes this would all be scans or attacks</p>
]]></description><pubDate>Tue, 10 Feb 2026 23:55:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46968818</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=46968818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46968818</guid></item><item><title><![CDATA[New comment by mcpherrinm in "Upcoming changes to Let's Encrypt and how they affect XMPP server operators"]]></title><description><![CDATA[
<p>The current PKI system was designed by Netscape as part of SSL to enable secure connections to websites. It was never independent of the web. Of course PKIs and TLS have expanded beyond that.<p>"WebPKI" is the term used to refer to the PKI used by the web, with root stores managed by the browsers. Let's Encrypt is a WebPKI CA.</p>
]]></description><pubDate>Tue, 10 Feb 2026 00:11:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46953522</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=46953522</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46953522</guid></item><item><title><![CDATA[New comment by mcpherrinm in "6-Day and IP Address Certificates Are Generally Available"]]></title><description><![CDATA[
<p>The "client cert" requirements were specifically not a CABF rule because that would rule it out for everyone complying with those rules, which is much broader than just the CAs included in Chrome.<p>Some CAs will continue to run PKIs which support client certs, for use outside of Chrome.<p>In general, the "baseline requirements" are intended to be just that: A shared baseline that is met by everyone. All the major root programs today have requirements which are unique to their program.</p>
]]></description><pubDate>Sat, 17 Jan 2026 01:34:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=46654451</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=46654451</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46654451</guid></item><item><title><![CDATA[New comment by mcpherrinm in "6-Day and IP Address Certificates Are Generally Available"]]></title><description><![CDATA[
<p>This is a two-sided solution, and one significant reason for shorter certificate lifetimes helps make revocation work better.</p>
]]></description><pubDate>Fri, 16 Jan 2026 22:50:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=46653286</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=46653286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46653286</guid></item><item><title><![CDATA[New comment by mcpherrinm in "6-Day and IP Address Certificates Are Generally Available"]]></title><description><![CDATA[
<p>I chose 160 hours.<p>The CA/B Forum defines a "short-lived" certificate as 7 days, which has some reduced requirements on revocation that we want. That time, in turn, was chosen based on previous requirements on OCSP responses.<p>We chose a value that's under the maximum, which we do in general, to make sure we have some wiggle room. <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1715455" rel="nofollow">https://bugzilla.mozilla.org/show_bug.cgi?id=1715455</a> is one example of why.<p>Those are based on a rough idea that responding to any incident (outage, etc) might take a day or two, so (assuming renewal of certificate or OCSP response midway through lifetime) you need at least 2 days for incident response + another day to resign everything, so your lifetime needs to be at least 6 days, and then the requirement is rounded up to another day (to allow the wiggle, as previously mentioned).<p>Plus, in general, we don't want to align to things like days or weeks or months, or else you can get "resonant frequency" type problems.<p>We've always struggled with people doing things like renewing on a cronjob at midnight on the 1st monday of the month, which leads to huge traffic surges. I spend more time than I'd like convincing people to update their cronjobs to run at a randomized time.</p>
]]></description><pubDate>Fri, 16 Jan 2026 22:47:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46653251</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=46653251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46653251</guid></item><item><title><![CDATA[New comment by mcpherrinm in "6-Day and IP Address Certificates Are Generally Available"]]></title><description><![CDATA[
<p>Some ACME clients that I think currently support IP addresses are acme.sh, lego, traefik, acmez, caddy, and cert-manager. Certbot support should hopefully land pretty soon.</p>
]]></description><pubDate>Fri, 16 Jan 2026 16:32:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46648307</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=46648307</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46648307</guid></item><item><title><![CDATA[New comment by mcpherrinm in "Design and Implementation of Sprites"]]></title><description><![CDATA[
<p>I'm sure this is a difference-of-learning or whatever, but I'm usually unwilling to try a product until I can understand it and how it works from the documentation</p>
]]></description><pubDate>Thu, 15 Jan 2026 18:36:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46637026</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=46637026</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46637026</guid></item><item><title><![CDATA[New comment by mcpherrinm in "NIST was 5 μs off UTC after last week's power cut"]]></title><description><![CDATA[
<p>You can look at who the "Stratum 2" servers are, in the NTP.org pool and otherwise. Those are servers who sync from Stratum 1, like NIST.<p>Anyone can join the NTP.org pool so it's hard to make blanket statements about it. I believe there's some monitoring of servers in the pool but I don't know the details.<p>For example, Ubuntu systems point to their Stratum 2 timeservers by default, and I'd have to imagine that NIST is probably one of their upstreams.<p>An NTP server usually has multiple upstream sources and can steer its clock to minimize the error across multiple servers, as well as detecting misbehaving servers and reject them ("Falseticker"). Different NTP server implementations might do this a bit differently.</p>
]]></description><pubDate>Tue, 23 Dec 2025 02:57:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=46361919</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=46361919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46361919</guid></item><item><title><![CDATA[New comment by mcpherrinm in "Upcoming Changes to Let's Encrypt Certificates"]]></title><description><![CDATA[
<p>Hm, it's supposed to be <a href="https://letsencrypt.org/docs/integration-guide/" rel="nofollow">https://letsencrypt.org/docs/integration-guide/</a> - but it looks like the link is broken. I'll fix it.</p>
]]></description><pubDate>Tue, 16 Dec 2025 01:10:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46283431</link><dc:creator>mcpherrinm</dc:creator><comments>https://news.ycombinator.com/item?id=46283431</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46283431</guid></item></channel></rss>