I think this proposal ultimately introduces more complexity than it solves. By automatically inserting migrations (whether at compile time or via “migration files”), you end up with a form of hidden control flow that’s arguably worse than traditional overloading or type coercion. In normal type coercion, the transformation is explicit and visible in the language syntax, whereas these “migrations” happen magically behind the scenes.
Second, database migrations are notoriously tricky for developers to manage correctly. They often require significant domain knowledge to avoid breaking assumptions further down the line. Applying that paradigm directly to compiler-managed code changes feels like it would amplify the same problems—especially in languages that rely on strong type inference. The slightest mismatch in inferred types could ripple through a large codebase in ways that are far from obvious.
While it’s an interesting idea in theory, I think the “fix your old code with a macro-like script” approach just shifts maintenance costs elsewhere. We’d still be chasing edge cases, except now they’re tucked away behind code-generation layers and elaborate type transformations. It may reduce immediate breakage, but at the expense of clarity and predictable behavior in the long run.
> In normal type coercion, the transformation is explicit and visible in the language syntax, whereas these “migrations” happen magically behind the scenes.
I was assuming that the migration would actually alter the call site in a way that is reviewable and committable, not implicitly do it every time it's needed at compile time. If that's the idea, it doesn't alter anything behind the scenes, it does so explicitly and visibly one time to change everything to meet the new requirements.
The larger problem I see is that the applications for this would be extremely limited. There's a reason why they used a simple s/a/Some a/ as an illustration—once you get beyond that the migrations will become a pain to write, a pain to validate, and likely to break tons of code in subtle ways. And since most library code changes aren't this simple kind, it's likely that it's not worth the effort of building and maintaining this migration syntax for something with so narrow an application.
Seeing how we’re only a few months in, I think you’re wrong.
I can see their desire to circumvent the firewalls and monitoring infrastructure because it’s too complicated and/or they don’t know who they can trust yet.
Many governments block TLS connections directly between a client and an external website. Instead, they’ll install a custom root certificate and all connections and intercept traffic, using the government root certificate for each TLS connection instead of the external website’s.
It still means that only whoever has the private key corresponding to that certificate can intercept and decrypt the traffic, so a third-party like Starlink should not be able to.
Let's find out if you're a bigot or not. I'll throw up Webster's definition for reference.
Bigot – a person who is obstinately or intolerantly devoted to his or her own opinions and prejudices.
The capacity for pregnancy is not confined to individuals with a female (46,XX) chromosomal pattern. The real world is complicated, and intersex people can be born with a (46,XY) karyotype or mixed (46,XX) and (46,XY) karyotypes as a result of chimerism. People with Swyer syndrome (46,XY) develop female reproductive anatomy (a uterus and fallopian tubes) but do not produce eggs. However, pregnancy can be achieved with donor eggs and assisted reproductive technology.
So here's the question: Are you devoted to your first opinion, or are you capable of acknowledging that the medical community may have had legitimate reasons, grounded in actual biology, to choose a more inclusive word?
What of the people that are born who don't produce gametes?
( For example, no gametes are produced in 85% of individuals with streak gonads )
The whole human sex | gender thing seems superficially clearcut but the real world edge cases are messy AF.
The aspect I personally find confusing is that the exceptions are relatively rare .. human births are straighforward enough for 98% of births, and of the 2% that pose a challenge the really curvy edge cases are rare (but real).
Why then do some people seeming lose their collective minds over real but rare occurrences and attempt to hammer every triangle into either a round or a square hole?
I have a purely empirical observational view of the world at large, forced a priori prescriptiveness at odds with the world seems more than a little flat earthy.
A less succinct way of phrasing it would be something like: which gametes are produced, were produced, or should have been produced.
There are messy edge cases. Not all people have 8 fingers and two thumbs, but we don't say digit count is on a spectrum because some people are born with more or less, or that some people have had digits amputated.
The vast, vast majority of people are not messy edge cases. And some of them find language like "pregnant people" or "people with protates" awkward and vaguely dehumanising as opposed to the more understandable and specific terms: "women" and "men".
Like you, I find those terms awkward, at best. I refuse to use them.
Yet, "what should have been produced" is no better. Everytime I hear it, from you and anyone else, it sounds like numbskulls all too pleased at themselves for what they believe is a clever definition, without realizing it's merely "because I said so".
Maybe I'm missing something, and one day I will hear it differently. Not many such things change for me after years. Maybe I'll win the lottery, too.
Since you mentioned fingers... I used to know a shop teacher who adamantly wouldn't count themselves among the 10-fingered, and would give you a safety lecture if you brought it up. Just like that lecture would ignore your joke about opening soda cans and proceed into a near-diatribe that, 30 years later, is still an effective reminder on machine safety, this exemplifies the crux of the gender terminology problem: you're focusing on the wrong thing.
Why are you so insistent on telling other people about their bodies, to the point of declaring to them what their body "should have produced"?
You appear as the middle-schooler that thought youself clever, and your close group of friends seemed to agree, but most everyone else is trying to ignore you. This only became a problem when that close group of friends started stealing lunch money, saying it "should have" been given to them.
> A less succinct way of phrasing it would be something like: which gametes are produced, were produced, or should have been produced.
So how can we determine what "should" be from a scientific basis if all study of these outliers is policed and censored like this?
This seems to be missing the point that would and should are objective vs whatever YOU and yours decided... Almost universally decided by religious or cultural dogma ... And not biology or science
We've been able to observe that there are two sexes since time immemorial based on secondary sex characteristics. There is a very strong correlation between these characteristics and gametes produced. This isn't what I or anyone else has decided nor is it based on religion or culture.
Why is a strong correlation need to forced into a false binary true or false by the law or government?? Myself and others have already gone over the outliers... Again you are focusing on "should be" vs what objectively and scientifically just IS. which is the very definition of culture vs science.
It's not a forced binary. There are no in-between gametes. There are large gametes (eggs) and small gametes (sperm).
The law and government doesn't get to decide this, as you say, it just is. How the law reacts to the scientific fact of the sex binary is a different matter.
There is plenty of in between on what to classify someone who doesn't produce either gamete. And the only answer you seem to have it's that it's obvious because 'should'. While also thinking it's acceptable to use the law to force this conclusion against scientific research. Much like a religious dogma...
Anyways I'm done with this conversation, the whole point was to tease out how absurd and non objective your argument was and I think I have achieved that well enough for others to read for themselves whether this circular logic makes sense or is just to rationalize bigotry.
The problem here is that you’re hand-waving people’s identity behind what you believe it “should” be - which isn’t actually easy to tell! You can have ovaries, XY chromosomes, eggs, male characteristics, and on and on and on in infinite permutations.
Of course, they (meaning people who identify different than you think they “should”) also hand-wave everything away. The difference is they are… them. Their opinion on their identity is more important.
Some people being born with additional/missing digits or limbs doesn't mean we should stop saying that humans have two arms and two legs with five fingers/toes each. At the end this is all performative - no one was ever actually harmed by women being called women.
And if anything those who insist of forcing this newspeak onto others by attacking anyone that doesn't go along also fit your definition of being "obstinately or intolerantly devoted to his or her own opinions and prejudices".
> doesn't mean we should stop saying that humans have two arms and two legs with five fingers/toes each.
In the context of a loose generalisation that's pefectly fine.
However in the context of delivering public services to insist that all humans have two arms and two legs with five fingers/toes each with no exceptions is just wrong.
18F and USDS always hired a mix of people, but I can tell you that I personally know a number of former colleagues and associates who worked for these organizations, writing code and architecting systems to solve real problems.
If you want a sense of what 18F did, you can visit their Wikipedia page.
I didn’t grow up hearing that the U.S. was inherently evil.
I learned the messy, unfiltered history of an imperfect country—one built on a Constitution that has kept it going and evolving for nearly 250 years.
That same Constitution, which originally allowed slavery, also provided the legal framework to end it and later secure civil rights. In the early 20th century, it was amended to guarantee women the right to vote.
I was never taught that the U.S. was always a just and noble nation, nor that the founders were infallible. But I also wasn’t taught that the country was irredeemable.
Our best feature has always been our willingness to redeem ourselves by continually remaking ourselves rather tethering ourselves to our past wrongs. The fact that our constitution has multiple provisions for doing exactly this has always been its most impressive feature.
A society that can’t learn and accept the good and the bad of its history is a society doomed to stagnation -- morally, intellectually, and economically.
No, it's a dishonest question, regardless of your intentions. Let's look at your question:
> Am I being too cynical if I read from this that they were fine with it until they got fired?
What is *it*? What exactly are you suggesting they were fine with? If you don't spell it out, you're asking a dishonest question because it's the type of vaguely defined question that dishonest people use to let peoples' imaginations run wild.
The people working at 18F were always about making government work better and more efficiently.
Absolutely nothing on the page suggests they were fine with the sledgehammering happening or granting access to systems that hold sensitive information. If anything, it suggests they wanted to be kept around to moderate what's happening and help lessen the damage.
The issue isn't whether you're becoming too cynical, it's that you've defaulted to a cynical theory, you've failed to examine your theory critically and you asked a question in a way that is indistinguishable from a dishonest question based on a dishonest premise.
I didn't know what 18F was until today and all I had to go by was their letter of grievance after being fired. I think it would be foolish to take a post at face value, so I asked. I think your thoughts, while well-conceived, are based on assumption that I should have implicitly known to trust the words of this organization.
I know you're upset and I am too. The United States is in a very embarrassing state right now and it's frustrating, right? Especially the amount of misinformation, disinformation, astroturfing and all that going on. I was fortunate to receive a number of helpful responses soon after my question, which helped guide discussion on the topic in other forums.
Don’t take this the wrong way—I’m not calling you dishonest; I’m calling the question dishonest.
My point wasn’t that you should have known to trust the organization. I’d never ask you to trust anyone or anything.
My argument is that the question’s vague phrasing and misleading premise make it nearly impossible to answer while also inviting the reader’s imagination to spiral into meaningless speculation.
While it may not directly inject misinformation, it fosters the kind of speculation that often leads to it—because, believe it or not, grown adults can be surprisingly impressionable.
The source is called open your mailbox and look at what’s in there. There is a massive industry designing, printing, shipping around pieces of paper that just get thrown away for no purpose. Some of them are outright scams (“Important Information! Open Immediately!” and it’s just an ad).
The situation matters. Walking down the street, I don't worry about randomly getting shot or hit by a car but I'd believe that the latter is more likely. Once a gun is introduced into a specific household though, I'd imagine the equation changes.
While I understand Feynman’s point that mathematicians love to generalize everything and that physicists focus on what actually works in the real world, as programmers, we’re doing something different from both of those groups. We’re engaged in a mix of engineering and analysis. We need to build systems that hold together under real conditions.
Category theory might seem obsessed with abstraction. In some ways, it is. However, when skilled practitioners apply these tools to areas of computer science and engineering, the point isn’t to create generalized abstractions. The point is identify the minimal, leak-proof abstractions needed to fulfill some desired quality. While I understand the language sounds very general, cryptic and off-putting, it’s also very precise.
While category theory might seem like a discipline that’s obsessed with generalizations, in practice, the abstractions one constructs using categorical tools can be very specific. The point isn’t always to construct the most general abstractions, it’s to construct abstraction that actually work 100% of the time. The irony is, mathematicians and computer scientists who are concerned with rigor often do this by proving specific cases first and then incrementally generalizing, not the other way around.
Second, database migrations are notoriously tricky for developers to manage correctly. They often require significant domain knowledge to avoid breaking assumptions further down the line. Applying that paradigm directly to compiler-managed code changes feels like it would amplify the same problems—especially in languages that rely on strong type inference. The slightest mismatch in inferred types could ripple through a large codebase in ways that are far from obvious.
While it’s an interesting idea in theory, I think the “fix your old code with a macro-like script” approach just shifts maintenance costs elsewhere. We’d still be chasing edge cases, except now they’re tucked away behind code-generation layers and elaborate type transformations. It may reduce immediate breakage, but at the expense of clarity and predictable behavior in the long run.