HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
becarpenter
misc
Python2026–2026
becarpenter / misc

misc

Miscellaneous stuff

3Distinct people
8Mentions
0Explicit recommenders
12GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Miscellaneous stuff

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week8 dated mentions

Observed mentions: 2026-04-18 06:33:29 UTC to 2026-10-30 11:39:35 UTC. Weeks start Monday, UTC.

02462026-04-13 00:00:00 UTC to 2026-04-20 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsApr 132026-04-20 00:00:00 UTC to 2026-04-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-04-27 00:00:00 UTC to 2026-05-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-04 00:00:00 UTC to 2026-05-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-11 00:00:00 UTC to 2026-05-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-18 00:00:00 UTC to 2026-05-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-25 00:00:00 UTC to 2026-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-01 00:00:00 UTC to 2026-06-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 00:00:00 UTC to 2026-06-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-15 00:00:00 UTC to 2026-06-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-22 00:00:00 UTC to 2026-06-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-29 00:00:00 UTC to 2026-07-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-06 00:00:00 UTC to 2026-07-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-13 00:00:00 UTC to 2026-07-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-20 00:00:00 UTC to 2026-07-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJul 202026-07-27 00:00:00 UTC to 2026-08-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-03 00:00:00 UTC to 2026-08-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-10 00:00:00 UTC to 2026-08-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-17 00:00:00 UTC to 2026-08-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-24 00:00:00 UTC to 2026-08-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-31 00:00:00 UTC to 2026-09-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-07 00:00:00 UTC to 2026-09-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-14 00:00:00 UTC to 2026-09-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-21 00:00:00 UTC to 2026-09-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-28 00:00:00 UTC to 2026-10-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-10-05 00:00:00 UTC to 2026-10-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-10-12 00:00:00 UTC to 2026-10-19 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2026-10-19 00:00:00 UTC to 2026-10-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-10-26 00:00:00 UTC to 2026-11-02 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 commentsOct 26

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Apr 132026-04-13 00:00:00 UTC2026-04-20 00:00:00 UTC110
Apr 202026-04-20 00:00:00 UTC2026-04-27 00:00:00 UTC000
Apr 272026-04-27 00:00:00 UTC2026-05-04 00:00:00 UTC000
May 42026-05-04 00:00:00 UTC2026-05-11 00:00:00 UTC000
May 112026-05-11 00:00:00 UTC2026-05-18 00:00:00 UTC000
May 182026-05-18 00:00:00 UTC2026-05-25 00:00:00 UTC000
May 252026-05-25 00:00:00 UTC2026-06-01 00:00:00 UTC000
Jun 12026-06-01 00:00:00 UTC2026-06-08 00:00:00 UTC000
Jun 82026-06-08 00:00:00 UTC2026-06-15 00:00:00 UTC000
Jun 152026-06-15 00:00:00 UTC2026-06-22 00:00:00 UTC000
Jun 222026-06-22 00:00:00 UTC2026-06-29 00:00:00 UTC000
Jun 292026-06-29 00:00:00 UTC2026-07-06 00:00:00 UTC000
Jul 62026-07-06 00:00:00 UTC2026-07-13 00:00:00 UTC000
Jul 132026-07-13 00:00:00 UTC2026-07-20 00:00:00 UTC000
Jul 202026-07-20 00:00:00 UTC2026-07-27 00:00:00 UTC000
Jul 272026-07-27 00:00:00 UTC2026-08-03 00:00:00 UTC000
Aug 32026-08-03 00:00:00 UTC2026-08-10 00:00:00 UTC000
Aug 102026-08-10 00:00:00 UTC2026-08-17 00:00:00 UTC000
Aug 172026-08-17 00:00:00 UTC2026-08-24 00:00:00 UTC000
Aug 242026-08-24 00:00:00 UTC2026-08-31 00:00:00 UTC000
Aug 312026-08-31 00:00:00 UTC2026-09-07 00:00:00 UTC000
Sep 72026-09-07 00:00:00 UTC2026-09-14 00:00:00 UTC000
Sep 142026-09-14 00:00:00 UTC2026-09-21 00:00:00 UTC000
Sep 212026-09-21 00:00:00 UTC2026-09-28 00:00:00 UTC000
Sep 282026-09-28 00:00:00 UTC2026-10-05 00:00:00 UTC000
Oct 52026-10-05 00:00:00 UTC2026-10-12 00:00:00 UTC000
Oct 122026-10-12 00:00:00 UTC2026-10-19 00:00:00 UTC101
Oct 192026-10-19 00:00:00 UTC2026-10-26 00:00:00 UTC000
Oct 262026-10-26 00:00:00 UTC2026-11-02 00:00:00 UTC606

What Hacker News says

8 sources
> I want to switch to fully native IPv6 without changing any of my addresses. There's no reason this should be impossible. … except for the fact that you have to have completely new data structures and packet format to fit more address bits, and once you change the structures you need a new version field so any gear that sees a packet knows where to use the old code paths or new ones. Then you're at the point where you have to push new code everywhere to handle these changes, and some nodes will have only the old code and some the new code, so now you're into translation and/or tunnelling to make sure the old addresses can talk to new addresses. Depending on their risk tolerance, some operators will enable the new code and some will not. You also have to update DNS with new records, as A records are hard-coded to 32 bits. So now you're up
Read the rest
dating DNS libraries and user land. There is no way to expand address space without going through all the same issues as what we call "IPv6" (originally SIPP) has gone through. * https://github.com/becarpenter/misc/blob/main/why6why.md
In If IPv4 were land
> […] but it's based on the original mistake of making it an entirely separate network from v4 with new address blocks. This was not a "mistake": So it's a matter of mathematical and physical fact that to expand the address size, you must change the protocol, and that means [three] things immediately: You have to change the version number. You have to add new code to handle the new version. […] You need a coexistence technique so that updated systems, with the new protocol, can connect to old systems that know nothing of the new protocol. Two minutes of thought show that this third requirement has only two solutions: (3A) Dual stack, in which the new machines speak both the old (IPv4) and new (IPng) proto
Read the rest
col. (3B) Translation, in which something translates addresses between the old and new protocols. * https://github.com/becarpenter/misc/blob/main/why6why.md * https://datatracker.ietf.org/doc/html/rfc1671
In If IPv4 were land
> All they needed to do was add a couple more dots onto IPv4 and maybe switch to hex. There is no 'just' extending the address length: So it's a matter of mathematical and physical fact that to expand the address size, you must change the protocol, and that means [three] things immediately: You have to change the version number. You have to add new code to handle the new version. […] You need a coexistence technique so that updated systems, with the new protocol, can connect to old systems that know nothing of the new protocol. Two minutes of thought show that this third requirement has only two solutions: (3A) Dual stack, in which the new machines speak both the old (IPv4) and new (IPng) protocol.
Read the rest
(3B) Translation, in which something translates addresses between the old and new protocols. * https://github.com/becarpenter/misc/blob/main/why6why.md * https://datatracker.ietf.org/doc/html/rfc1671 You also have to update DNS to create new resource record types ("A" is hard-coded to 32-bits) to support the new longer addresses, and have all user-land code start asking for, using, and understanding the new record replies. Just like with IPv6. (A lot of legacy code did not have room in data structures for multiple reply types: sure you'd get the "A" but unless you updated the code to get the "A+" address (for "IPv4+" addresses) you could never get to the longer with address… just like IPv6 needed code updates to recognize AAAA, otherwise you were A-only.) In any 'address extension' plan the legacy code cannot use the new address space; you have to: * update the IP stack (like with IPv6) * tell applications about new DNS records (like IPv6) * set up translation layers for legacy-only code that cannot be update to reach extended-address-only destination (like IPv6 with DNS64/NAT64, CLAT, etc)
In If IPv4 were land
> Absolutely not. Existing IPv4 hardware and software expects addresses to be 4 bytes long. As does DNS. "A" records are fixed at 32 bits, so you have to add a new record type and update all DNS software, plus user-space API/library code and data structures to ask for and store the new record type. Just like IPv6. There is no "just" adding more addresses: whatever scheme anyone comes up with is the same amount of work as IPv6. * https://github.com/becarpenter/misc/blob/main/why6why.md
In If IPv4 were land
> I still think we should just extend the length of IPv4. In my proposed system, existing addresses would become a subnet of the new set. There is no "just" extending the address length: So it's a matter of mathematical and physical fact that to expand the address size, you must change the protocol, and that means [three] things immediately: You have to change the version number. You have to add new code to handle the new version. […] You need a coexistence technique so that updated systems, with the new protocol, can connect to old systems that know nothing of the new protocol. Two minutes of thought show that this third requirement has only two solutions: (3A) Dual stack, in which the new machines speak both
Read the rest
the old (IPv4) and new (IPng) protocol. (3B) Translation, in which something translates addresses between the old and new protocols. * https://github.com/becarpenter/misc/blob/main/why6why.md * https://datatracker.ietf.org/doc/html/rfc1671 > Keeps all the nice parts of IPv4, doesn’t require everyone to switch to an entirely new system, backwards compatible with existing hardware/software. Problem solved. You have to ship new code to every 'network element' to support your "IPv4+" plan. Just like with IPv6. You also have to update DNS to create new resource record types ("A" is hard-coded to 32-bits) to support the new longer addresses, and have all user-land code start asking for, using, and understanding the new record replies. Just like with IPv6. (A lot of legacy code did not have room in data structures for multiple reply types: sure you'd get the "A" but unless you updated the code to get the "A+" address (for "IPv4+" addresses) you could never get to the longer with address… just like IPv6 needed code updates to recognize AAAA, otherwise you were A-only.) You need to update socket APIs to hold new data structures for longer addresses so your app can tell the kernel to send packets to the new addresses. Just like with IPv6. In any 'address extension' plan the legacy code cannot use the new address space; you have to: * update the IP stack (like with IPv6) * tell applications about new DNS records (like IPv6) * set up translation layers for legacy-only code that cannot be update to reach IPv4+-only destination (like IPv6 with DNS64/NAT64, CLAT, etc) You're updating the exact same code paths in both the "IPv4+" and IPv6 scenarios: dual-stack, DNS, socket address structures, dealing with legacy-only code that is never touched to deal with the larger address space. "Just adding more bits" means updating a whole bunch of code (routers, firewalls, DNS, APIs, userland, etc) to handle the new data structures. There is no "just": it's the same work for IPv6 as with any other idea.
In If IPv4 were land
> No, backwards compatibility is competence. Creating an IPng was always going to be complicated: So it's a matter of mathematical and physical fact that to expand the address size, you must change the protocol, and that means [three] things immediately: You have to change the version number. You have to add new code to handle the new version. […] You need a coexistence technique so that updated systems, with the new protocol, can connect to old systems that know nothing of the new protocol. Two minutes of thought show that this third requirement has only two solutions: (3A) Dual stack, in which the new machines speak both the old (IPv4) and new (IPng) protocol. (3B) Translation, in which som
Read the rest
ething translates addresses between the old and new protocols. * https://github.com/becarpenter/misc/blob/main/why6why.md * https://datatracker.ietf.org/doc/html/rfc1671 For anyone curious as to the decision-making process, here are the criteria for what the IETF was looking for in an IPng: * https://datatracker.ietf.org/doc/html/rfc1726 Here are the candidates that were floating around at the time, and the reason why the winner was chosen: * https://datatracker.ietf.org/doc/html/rfc1752
In If IPv4 were land
> Yeah, that is the whole point. It was never going to be a clean cut. As predicted: We believe that it is not possible to have a "flag-day" form of transition in which all hosts and routers must change over at once. The size, complexity, and distributed administration of the Internet make such a cutover impossible. Rather, IPng will need to co-exist with IPv4 for some period of time. There are a number of ways to achieve this co-existence such as requiring hosts to support two stacks, converting between protocols, or using backward compatible extensions to IPv4. Each scheme has its strengths and weaknesses, which have to be weighed. Furthermore, we note that, in all probability, there will be IPv4 hosts on the Internet effectively forever. IPng must provide mech
Read the rest
anisms to allow these hosts to communicate, even after IPng has become the dominant network layer protocol in the Internet. * https://datatracker.ietf.org/doc/html/rfc1726#section-5.5 Creating an IPng was always going to be complicated: So it's a matter of mathematical and physical fact that to expand the address size, you must change the protocol, and that means [three] things immediately: You have to change the version number. You have to add new code to handle the new version. […] You need a coexistence technique so that updated systems, with the new protocol, can connect to old systems that know nothing of the new protocol. Two minutes of thought show that this third requirement has only two solutions: (3A) Dual stack, in which the new machines speak both the old (IPv4) and new (IPng) protocol. (3B) Translation, in which something translates addresses between the old and new protocols. * https://github.com/becarpenter/misc/blob/main/why6why.md * https://datatracker.ietf.org/doc/html/rfc1671
In RFC8950: Announce IPv4 with an IPv6 next-hop

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.