csense
Joined 14 years ago
Joined 14 years ago
If you have $1 billion and you're going to get taxed $50 million in California, why not spend $1 million to buy a house in some other state and move there on paper before the tax goes into effect?
Normally Eve's attempts fail because Alice requires a message to be signed with the private key matching the public key in a certificate for bob.example.com signed by a legitimate CA.
Unfortunately Bob bought his CA from Mal's Domains, and Mal is working with Eve for some reason (for example, Mal has been bribed, hacked, intimidated, legally pressured, etc.)
So in addition to Bob's regular on-the-books cert, Mal issues a second off-the-books cert for bob.example.com and gives it to Eve.
With CT, Alice's browser doesn't just require the cert's pubkey, it requires the server to provide a Merkle proof it was included in a CT log.
The CT log puts Eve and Mal on the horns of a dilemma: If they keep their new cert out of the CT logs, Alice's browser won't accept it. If they put it in the CT logs, Bob can read the log himself (it's public) and Bob can say "Hold it! I didn't order this!"
Bob will switch away from Mal as a TLS provider and complain "Hey everybody, Mal issued this cert I didn't order, customers should stop using him and the people who create CA lists for browsers and OS's should closely investigate whether Mal's CA activities are legitimate." Mal can't deny issuing the questionable certificate, the evidence is in public append-only CT logs for everyone to see.
This expectation seems...poorly calibrated.
Pakistan didn't arrest Osama bin Laden, the terrorist mastermind behind an attack that killed thousands of innocent people and significantly altered the trajectory of world history. In what universe do you think they would deport a humble counterfeiter of stamps?
"Feed it to SAT solver" is a super useful technique every seasoned programmer should have in their toolbelt.
If you want to improve your programming skill, I suggest implementing your own version of these two interesting, satisfying algorithms:
- DPLL, the classic general-purpose SAT solving algorithm [3].
- Algorithm X (aka Dancing Links), Knuth's super elegant search algorithm for solving exact cover problems [4] [5].
You're not going to build something that beats CaDiCaL [6] in an afternoon, but writing your own implementation of these algorithms will teach you a lot, and a reasonable time investment will get you to a pretty satisfying endpoint of having a practical solver for your favorite application (Sudoku, polyomino packing, etc.)
[1] Reinventing wheels is not a bad way to spend your days at a retreat focusing on one's personal growth as a programmer. "I think I'll learn a lot and get some good practice at programming and algorithmic thinking" is an easy bar to meet.
In a professional context, telling your company or client they should commit scarce, expensive engineering resources (e.g. your time) to creating and maintaining their own wheel design requires justification [2].
[2] "Don't reinvent wheels" is good general advice for junior developers. Senior developers know that sometimes there are specific situations where this general advice doesn't apply. For example, if no existing wheels meet your application's requirements, or if you have ideas for proprietary features that give you a competitive advantage. Even in a professional setting, reinventing the wheel isn't always a bad idea; you just need to meet a much higher bar to justify the commitment of resources.
[3] https://en.wikipedia.org/wiki/DPLL_algorithm
[4] https://arxiv.org/abs/cs/0011047
A lot of artists are passionate about art [citation needed]. So the average individual with enough skill to make a career in an artistic field, faced with a choice between art and some other career -- accounting, say -- will almost always choose art if the salaries are equal; the joy and fulfillment tips the scale. But the scales balance over time; if artists are paid as well as accountants, there will be too many artists for economic demand and not enough accountants.
The pay for artists will go down and the pay for accountants will go up, until the average artist's joy and fulfillment gets balanced out by the lower pay.
This assumes art is fungible; the argument applies more to people working as artists for hire, and less to artists who cultivate a style, brand and unique audience.
IMO the best way to escape the "starving artist" trap is to embrace your individuality. There are a lot of ways for artists to connect directly to fans. Kickstarter. Patreon. Self-publishing with fulfillment-on-demand. Etsy. Anime conventions (if you're working in that art style).
For example, one artistic niche with very interesting economics is designing 3D printed miniatures for tabletop gaming [1].
As a consumer, be aware of the economics of the art you consume. Try to support artists directly instead of giving your entertainment dollars to giant megacorps.
[1] https://www.bitsaboutmoney.com/archive/payments-and-plastic-...
The code in that section is clear in its purpose and broad outline: "Give me a function and data; if the data is bare apply the function to it; if the data is a container apply the function to each item inside it."
You can absolutely do that with immutable data structures in Zig. You just have to pass an allocator to the function (i.e. instead of calling data.flat_map(f), you call data.flat_map(a, f) where a is your allocator).
That the Zig version of the code does mutation is a matter of programmer choice, not something imposed by the language.
(Also, what do monads have to do with it?)
If a government is willing to go after the property of its own citizens without due process, foreign investors have to think: "What's to stop the same from happening to me?" Even if that foreign investor's a central bank.
[1] https://www.bitsaboutmoney.com/archive/debanking-and-debunki...
[2] Maybe the truckers' protest went too far; they were blocking roads. The point isn't whether they deserved to be punished; the point is that their accounts were frozen without going through the laws and court system.
[3] This was in 2022, so it has nothing to do with the current US administration.
Does someone who works for A/I have to drive to Italy and pick up a briefcase full of cash? Or does the money stay in the bank, inaccessible to A/I, until A/I proves they aren't terrorists? Which could be...forever, since it's basically impossible to improve you're not a terrorist once you're formally included on The Big List Of Terrorists? How do you hire a lawyer to argue your case if the money you would use to pay them has already been taken away?
In 2026, you can ask an LLM to fill out the application, reducing the expensive proof-of-human-work to a free or cheap machine proof-of-work.
I can immediately think of three different user stories for LLM-generated applications for, without loss of generality, government benefits:
- Alice is honest and likely eligible but didn't apply because the application process was too time-consuming / complex. With LLM assistance, Alice can now complete the process.
- Bob is honest and likely ineligible but didn't apply because he realized he's probably not eligible. With LLM assistance, Bob can now apply anyway -- "Throw spaghetti at the wall and see what sticks."
- Eve is dishonest and ineligible. Eve wants to make money by lying on her application to defraud the government into paying her benefits. With LLM assistance, Eve can more easily make more convincing applications to more agencies.
An interesting question that doesn't seem to be addressed by the paper is how much of the cost is driven by Alice vs. Bob vs. Eve. We can tell very different stories depending on which is the case:
- Mostly Alice: Our current taxes / budget / etc. can only pay for half of what it would cost to pay everyone entitled to benefits under the law. We quietly disenfranchise citizens of their legal right to receive benefits with a bureaucratic process that half of eligible applicants can't complete, but whoops! now a lot more people can complete it with LLM assistance and we're approving most of them because they're legitimately completing the application process and legitimately entitled to benefits. Financially it's killing us to pay what the government promised to all those people to whom it was promised.
- Mostly Bob: A lot more people are applying because LLM's make it super easy for anyone to apply. We don't approve many more applications than we did before -- but each year has about 1,000,000 more applications and 990,000 more denials than the previous year for three years running. Financially it's killing us to pay the processing costs for all those unsuccessful applications.
- Mostly Eve: We're seeing an uptick in applications that are immediately denied, or approved but later revoked, because of fraud. LLM's are making it easier for criminals to defraud the government. Financially it's killing us because we pay those fraudulent benefits before we know they're fraudulent; recovery of funds is slow and uncertain once the fraud is discovered; and fraud imposes additional costs of investigation, prosecution, and punishment.
Good. Apple can't say "I don't like your app because [vague reasons], it's not allowed on the App Store so nobody can use it".
> "...provided those iOS apps have undergone an automated scan for genuine security and/or privacy reasons and been notarised by Apple or a suitably qualified third party (Alternative Distribution Channels)..."
Seems bad, can't Apple say "I refuse to notarise your app for 'security' [vague reasons]"?
Or does the cryptographic signatures Apple presumably gives an app uploaded to the App Store count as "notarised"? I'm picturing the following situation:
- January: Alice uploads to App Store, Apple produces a signature S of H(app), Alice downloads the bytes of S
- February: Apple says "Alice we're kicking your app out of the App Store for [vague reasons]"
- March: Alice says "Fine, then I'll put it on Bob's Alternate Appstore." Apple says "I refuse to 'notarise' your app for 'security' [vague reasons]". Alice then uploads her app to Bob's Alternate Appstore along with Apple's cryptographic signature S that Bob authenticates against a known Apple public key.
Now there are two contradictory narratives about whether Alice is notarised.
- (a) Apple says "I refuse to notarise Alice, therefore she's not notarised."
- (b) Alice says "S exists, here are its bytes, the hash and signature validate, therefore I'm notarised."
Presumably if (a) wins, Apple would be within its legal rights to block Bob's Alternate Appstore because it allowed Alice to upload an un-notarised app. This would make the whole ruling effectively toothless, because Apple still gets a veto, the veto is just renamed to "notarisation."
If (b) wins, it provides clarity for developers. In this world signing an app is effectively a no-takesies-backsies moment: Once S is published, Alice knows for sure she's notarised forever. Apple won't later be able to block Alice on a whim by hiding behind a vague "security" excuse.
Which narrative wins?
If (b) wins it seems like there's an opportunity here to create tooling for Alice to pull the S for her app on the app store as soon as it's approved. Maybe someone should spin up an observatory to constantly download S for every app as it's uploaded to the app store -- the observatory would be able to rescue Alice if she didn't have the foresight to download S herself before Apple banned her app.
(Lines starting with > are quotes from OP PDF)