yud, a technofascist, recently forming opinions against seed oils forms a poop ouroboros with the wellness to fascism pipeline.
Oof ouch
For a fun 20 minutes or so, I recommend going through the recent enron “revival”. (It’s all satire)
Before reading the story I guessed that he had used chatgpt as a search engine and I was right! My best case scenario: law enforcement pushes for backdoors into chatgpt and poisons the codebase forever.
I did end up writing a code solution.
algorithm desc
So basically the problem boils down to this:
A 1 bit full adder circuit with carry in/out is described as follows:
Si = Xi ^ Yi ^ Cini
Couti = (Xi && Yi) || (Cini && (Xi ^ Yi))
Where S is the output bit, X and Y are the input bits, and Cini is the carry out bit of bit i-1. For the first and last bits of the output, the circuits are slightly different due to carry in/out not mattering in the 0/last bit case.
Note that as said in the problem statement any input is correctly labelled, while outputs might be incorrect. You can then categorise each gate input/output as any of the elements in an adder circuit. You can then use set differences and intersections to determine the errors between categories. That's all you need to do!
For example, you might have something like:
X && Y = err
if this output was used correctly, it should show up as an operand to an OR gate. So if you did:
(Set of all outputs of and gates) - (Set of all inputs to or gates), if something appears, then you know one of the and gates is wrong.
Just exhaustively find all the relevant differences and intersections and you're done! To correct the circuit, you can then just brute force the 105 combinations of pair swaps to find what ends up correcting the circuit.
I did part 2 manually! I will not bother writing a code solution unless I feel like it.
well well well
AoC, so you thought you could dredge up my trauma as an EE grad by making me debug a full-adder logic circuit? How dare you. You succeeded.
thanks
I've probably learned that term at some point, so thanks for naming it. That made me realise my algorithm was too thicc and could just be greedy.
22
uh
pretty straightforward. At least it's not a grid!
21!
Finally managed to beat this one into submission.
P1
I created this disgusting mess of a recursive search that happened to work. This problem was really hard to think about due to the levels of indirection. It was also hard because of a bug I introduced into my code that would have been easy to debug with more print statements, but hubris.
P2
Recursive solution from P1 was too slow, once I was at 7 robots it was taking minutes to run the code. It didn't take long to realise that you don't really care about where the robots other than the keypad robot and the one controlling the keypad robot are since the boundary of each state needs all the previous robots to be on the A button. So with memoisation, you can calculate all the shortest paths for a given robot to each of the directional inputs in constant time, so O(kn) all up where n is the number of robots (25) and k is the complexity of searching for a path over 5 or 11 nodes.
What helped was looking at the penultimate robot's button choices when moving the keypad robot. After the first one or two levels, the transitions settle into the table in the appendix. I will not explain the code.
appendix
(P(0, 1), P(0, 1)): [],
(P(0, 1), P(0, 2)): [btn.r],
(P(0, 1), P(1, 0)): [btn.d, btn.l],
(P(0, 1), P(1, 1)): [btn.d],
(P(0, 1), P(1, 2)): [btn.d, btn.r],
(P(0, 2), P(0, 1)): [btn.l],
(P(0, 2), P(0, 2)): [],
(P(0, 2), P(1, 0)): [btn.d, btn.l, btn.l],
(P(0, 2), P(1, 1)): [btn.l, btn.d],
(P(0, 2), P(1, 2)): [btn.d],
(P(1, 0), P(0, 1)): [btn.r, btn.u],
(P(1, 0), P(0, 2)): [btn.r, btn.r, btn.u],
(P(1, 0), P(1, 0)): [],
(P(1, 0), P(1, 1)): [btn.r],
(P(1, 0), P(1, 2)): [btn.r, btn.r],
(P(1, 1), P(0, 1)): [btn.u],
(P(1, 1), P(0, 2)): [btn.u, btn.r],
(P(1, 1), P(1, 0)): [btn.l],
(P(1, 1), P(1, 1)): [],
(P(1, 1), P(1, 2)): [btn.r],
(P(1, 2), P(0, 1)): [btn.l, btn.u],
(P(1, 2), P(0, 2)): [btn.u],
(P(1, 2), P(1, 0)): [btn.l, btn.l],
(P(1, 2), P(1, 1)): [btn.l],
(P(1, 2), P(1, 2)): [],
1.1 trillion? Good luck, chuck.
21 (wip)
2 meme 2 memeious
Understandable, have a nice day
ok disco
It took me too long to read the prompt and see that without the shortcuts, it's a single path. I wasted too much time on search algorithms.
P1: Here's what I did: Walk the path. Every time you hit a new grid, check if the two shortcuts you can take will save you 100 ps.
To calculate the shortcut saving:
If you index every grid position on the main path from 0, then it takes X ps to reach position X, The time it takes to travel from start to X, then a shortcut to Y, then from Y to the end, is X + 1 + (main path length - Y). The time saved is then just Y - X - 1, modulo maybe like 5 fence post errors.
P2. The prompt wasn't really clear about whether or not cheating meant you can only travel through one set of walls before your cheat ends, or if it meant you could just move through walls for 20ps to wherever you could reach. Turns out, it's the latter.
The above formula is then a special case of Y - X - manhattan distance(X, Y).
20: currently a WIP but:
meme
Wait, so it’s all grids? 🧑🏿🚀🔫🧑🏿🚀
Day 19! (the cuervo gold....)
disc and code
Ok so my path to this answer was circuitous and I now hate myself a little.
P1: Ok, a repeated dfs on suffixes. that shouldn't be too hard. (it was not hard)
P2: Ok, a repeated dfs is a little too slow for me, I wonder how I can speed it up?
forgets about memoisation, a thing that you can do to speed this sort of thing up
I guess the problem is I'm doing an O(mn) match (where m is the number of towels, n is the max towel length) when I can do O(n). I'll build a prefix tree!
one prefix tree later
Ok that still seems to be quite slow. What am I doing wrong?
remembers that memoisation exists
Oh I just need to memoise my dp from part 1. Oops.
Anyway posting the code because I shrunk it down to like two semicolons worth of lines.
(
List<String> input = getLines();
Set<String> ts = Set.from(input.first.split(', '));
Map<String, int> dp = {};
int dpm(String s) => dp.putIfAbsent(
s,
() => s.isNotEmpty
? ts
.where((t) => t.matchAsPrefix(s) != null)
.map((t) => dpm(s.substring(t.length)))
.fold(0, (a, b) => a + b)
: 1);
void d19(bool sub) {
print(input
.skip(2)
.map((s) => dpm(s))
.map((i) => sub
? i
: i > 0
? 1
: 0)
.reduce((a, b) => a + b));
}
gilding the lily a bit but
yes
What is this, day 16?
Does a sealion have bootlicker nature? Ugh.
Please, señor software engineer was my father. Call me Bob.
Are we going to see prediction markets enter mainstream journalism? Taylor Lorenz says yes
“If all of this sounds like a libertarian fever dream, I hear you. But as these markets rise, legacy media will continue to slide into irrelevance.”
In which some researchers draw a spooky picture and spook themselves
Abstracted abstract: >Frontier models are increasingly trained and deployed as autonomous agents, which significantly increases their potential for risks. One particular safety concern is that AI agents might covertly pursue misaligned goals, hiding their true capabilities and objectives – also known as scheming. We study whether models have the capability to scheme in pursuit of a goal that we provide in-context and instruct the model to strongly follow. We evaluate frontier models on a suite of six agentic evaluations where models are instructed to pursue goals and are placed in environments that incentivize scheming.
I saw this posted here a moment ago and reported it*, and it looks to have been purged. I am reposting it to allow us to sneer at it.
Gotta pump tuah and dump that thang
‘Hawk Tuah Girl’ Haliey Welch launched her own cryptocurrency, only for it to plummet by 90 percent just hours later
Elon is constructing a texas compound to trap, err, I mean, house his ex wives and children
As the billionaire warns of population collapse and the moral obligation to have children, he’s navigating his own complicated family.
Didn’t see this news posted but please link previous correspondence if I missed it.
https://archive.is/XwbY0
Should a man be allowed to sell his soul on the blockchain? (Podcast ep dated 23rd February 2022)
This is somewhat tangential to the usual fare here but I decided to make a post because why not.
I’ve been listening to the back catalog of the Judge John Hodgman podcast, and this ep came up. This ep is the second crypto based case after “crypto facto” in ep 333.
John Hodgman is a comedian, probs best known for being the “I’m a PC” guy in the “I’m a Mac” ad campaign from ancient times. In the podcast, he plays a fake judge that hears cases and makes judgements. In this ep, “Suing for Soul Custody,” he hears a case in which a husband wants to sell his soul on the blockchain, while his wife does not want him to do that.
Some good sneers against the crypto bro husband (in both this case and the other I linked). Brief spoilers as to the rulings in case you don’t want to listen:
333
Judge rules that the husband should continue to mine ETH until his rig burns down his house.
556
Judge rules that the guy shouldn’t sell his soul, for symbolic reasons.
Note: I like John Hodgman. He’s funny. He’s not really inside the tech space, but he is good friends with Jonathan Coulton, who is. If all you know of him is the “I’m a PC” ads, he has an entertaining wider catalogue worth checking out.
Playing energy market has become more profitable than mining bitcoin
Playing the state’s energy market has become more profitable than mining bitcoin
> On the hottest and coldest days, when demand for electricity peaks and the price rockets, the bitcoin miners either sell power back to providers at a profit or stop mining for a fee, paid by ercot. Doing so has become more lucrative than mining itself. In August of 2023 Riot collected $32m from curtailing mining and just $8.6m from selling bitcoin.
Archive link: https://archive.md/O8Cz9
Up to 8.5 million Windows devices were affected by Friday's IT outage after Crowdstrike's antivirus update went awry.
Kind of sharing this because the headline is a little sensationalist and makes it sound like MS is hard right (they are, but not like this) and anti-EU.
I mean, they probably are! Especially if it means MS is barred from monopolies and vertical integration.
Occasionally my username appears incorrect
Wish I had a screengrab of this, but occasionally when I open the awful.systems page, it looks like I've logged in as a different user. Just now the username "autumnal" appeared instead of my own. Don't know how to reproduce.
This has happened in chrome on macosx a few times, haven't seen it elsewhere.
VoughtCoin is a cryptocurrency created by Vought International. On December 15, 2022, Vought International announced that VoughtCoin can be used to purchase digital collectible cards of Homelander. Each authentic and non-fungible card be purchased for 777 VoughtCoin. The use of cryptocurrency to pur...
TIL that television program “The Boys” has an in universe cryptocurrency as a satire of, well, cryptocurrency in general but also specifically that time when DJT was selling NFTs. They occasionally tweet about it.
It has a listing on the “BSCScan” crypto tracker under the name “VTC” so someone might have actually minted it? It might surprise some of you that I have no way of telling the realness of such a thing.
Whisker Squadron: Survivor "feels like a whole new game"
Uncritically sharing this article with naive hope. Is this just PR for a game? Probably. Indies deserve as much free press as possible though.
Peter and Michael discuss Michael Lewis’s bestselling book about the rise and fall of Sam Bankman-Fried, a young prodigy whose only flaw was that he dreamed too big.Where to find us: Peter's other podcast, 5-4Mike's other podcast, Maintenance...
As is tradition I am sharing this link without having listened yet.
An AI beauty pageant? Miss me with that Miss AI.
In a contest sponsored by Fanvue, models and influencers crafted from artificial intelligence can now jockey for the title "Miss AI."
2 Better 2 AngelsSupport us on Patreon:https://www.patreon.com/IfBooksPodWhere to find us: Peter's other podcast, 5-4Mike's other podcast, Maintenance PhaseSources:Jeffrey Epstein’s Science of SleazePinker’s response to Epstein allegationsHow...
Followup to part 1, which now has a transcript!
As is tradition, I am posting this link without having listened to it. (too many podcasts)
Guy who “would convince employees to take shots of pricey Don Julio tequila, work 20-hour days attend 2am meetings” wants to own WeWork again
Former CEO of shared office space rental company has reportedly been in talks with investors
Google is as Google does
Jalon Hall was featured on Google’s corporate social media accounts “for making #LifeAtGoogle more inclusive!” She says the company discriminated against her on the basis of her disability and race.
A Mildura man has allegedly pocketed hundreds of thousands of dollars after a cryptocurrency trading platform accidentally added an extra zero to the funds in his account.
A Colorado-based pastor for an online church accused of pocketing $1.3 million through a cryptocurrency fraud scheme told followers in a video statement that the Lord told him to do it.