Skip Navigation
InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)SW
swlabr @awful.systems

Only Bayes Can Judge Me

Posts 29
Comments 1.2K
Advent of Code 2024 - the home stretch - it's been an aMAZEing year
  • 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.

  • Advent of Code 2024 - the home stretch - it's been an aMAZEing year
  • 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.

  • Advent of Code 2024 - the home stretch - it's been an aMAZEing year
  • 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)): [],
    
  • Advent of Code Week 3 - you're lost in a maze of twisty mazes, all alike
  • 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).

  • Advent of Code Week 3 - you're lost in a maze of twisty mazes, all alike
  • 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));
    }
    
  • GM avoids reinventing a bus or a train with this one weird trick

    1

    Are we going to see prediction markets enter mainstream journalism? Taylor Lorenz says yes

    original link

    “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.”

    12

    SF tech startup Scale AI, worth $13.8B, accused of widespread wage theft

    8

    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.

    *

    !

    9

    Gotta pump tuah and dump that thang

    www.independent.co.uk Hawk Tuah girl faces ‘pump and dump’ allegations as crypto coin collapses

    ‘Hawk Tuah Girl’ Haliey Welch launched her own cryptocurrency, only for it to plummet by 90 percent just hours later

    Hawk Tuah girl faces ‘pump and dump’ allegations as crypto coin collapses
    10

    Elon is constructing a texas compound to trap, err, I mean, house his ex wives and children

    www.nytimes.com Elon Musk Wants Big Families. He Bought a Secret Compound for His.

    As the billionaire warns of population collapse and the moral obligation to have children, he’s navigating his own complicated family.

    Elon Musk Wants Big Families. He Bought a Secret Compound for His.

    Didn’t see this news posted but please link previous correspondence if I missed it.

    https://archive.is/XwbY0

    3

    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.

    0

    Playing energy market has become more profitable than mining bitcoin

    www.economist.com Why Texas Republicans are souring on crypto

    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

    4
    www.euronews.com Microsoft says EU to blame for the world's worst IT outage

    Up to 8.5 million Windows devices were affected by Friday's IT outage after Crowdstrike's antivirus update went awry.

    Microsoft says EU to blame for the world's worst IT outage

    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.

    28
    bless this jank @awful.systems swlabr @awful.systems

    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.

    3
    the-boys.fandom.com VoughtCoin

    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...

    VoughtCoin

    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.

    11

    Uncritically sharing this article with naive hope. Is this just PR for a game? Probably. Indies deserve as much free press as possible though.

    9
    www.buzzsprout.com "Going Infinite": Michael Lewis Takes On Sam Bankman-Fried - If Books Could Kill

    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:&nbsp;Peter's other podcast, 5-4Mike's other podcast, Maintenance...

    "Going Infinite": Michael Lewis Takes On Sam Bankman-Fried - If Books Could Kill

    As is tradition I am sharing this link without having listened yet.

    10

    “Crypto is already a giant video game — and we are here to make it more fun and rewarding.”

    The video game in question:

    !

    11

    An AI beauty pageant? Miss me with that Miss AI.

    www.forbes.com World’s First AI Pageant To Judge Winner On Beauty And Social Media Clout

    In a contest sponsored by Fanvue, models and influencers crafted from artificial intelligence can now jockey for the title "Miss AI."

    World’s First AI Pageant To Judge Winner On Beauty And Social Media Clout
    9
    www.buzzsprout.com "The Better Angels of Our Nature" Part 2: Campus Lies, I.Q. Rise & Epstein Ties - If Books Could Kill

    2 Better 2 AngelsSupport us on Patreon:https://www.patreon.com/IfBooksPodWhere to find us:&nbsp;Peter's other podcast, 5-4Mike's other podcast, Maintenance PhaseSources:Jeffrey Epstein’s Science of SleazePinker’s response to Epstein allegationsHow...

    "The Better Angels of Our Nature" Part 2: Campus Lies, I.Q. Rise & Epstein Ties - If Books Could Kill

    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)

    15

    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

    www.theguardian.com WeWork co-founder Adam Neumann bids to buy it back for more than $500m

    Former CEO of shared office space rental company has reportedly been in talks with investors

    WeWork co-founder Adam Neumann bids to buy it back for more than $500m
    9

    Google is as Google does

    www.wired.com Google Used a Black, Deaf Worker to Tout Its Diversity. Now She’s Suing for Discrimination

    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.

    11
    www.abc.net.au Man vanishes after allegedly pocketing about $500,000 in cryptocurrency account error

    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.

    Man vanishes after allegedly pocketing about $500,000 in cryptocurrency account error
    8
    news.yahoo.com Colorado pastor accused of pocketing $1.3M in crypto scheme says 'Lord told us to'

    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.

    Colorado pastor accused of pocketing $1.3M in crypto scheme says 'Lord told us to'
    4