zogwarg
Day 9 discussion
Part two for me was also very slow until I, speed up the index search by providing a lower bound for the insertion. for every insertion of size “N”, I have an array lower = [null, 12, 36, …], since from the left any time you find free space for a given size, the next time must be at an index at least one larger, which makes it close to being O(N) [assuming search for the next free space is more or less constant] instead of O(N^2), went from about 30s to 2s. https://github.com/zogwarg/advent-of-code/blob/main/2024/jq/09-b.jq
Day 8
Al lot of grid index shuffling these past few days! Not too difficult yet though, will this year be gentler or much harsher later?
Part 2 code in JQ
#!/usr/bin/env jq -n -R -f
[ inputs / "" ] | [.,.[0]|length] as [$H,$W] |
#----- In bound selectors -----#
def x: select(. >= 0 and . < $W);
def y: select(. >= 0 and . < $H);
reduce (
[
to_entries[] | .key as $y | .value |
to_entries[] | .key as $x | .value |
[ [$x,$y],. ] | select(last!=".")
] | group_by(last)[] # Every antenna pair #
| combinations(2) | select(first < last)
) as [[[$ax,$ay]],[[$bx,$by]]] ({};
# Assign linear anti-nodes #
.[ range(-$H;$H) as $i | "\(
[($ax+$i*($ax-$bx)|x), ($ay+$i*($ay-$by)|y)] | select(length==2)
)"] = true
) | length
Day 3 well suited to JQ
Part 2
#!/usr/bin/env jq -n -R -f
reduce (
inputs | scan("do\\(\\)|don't\\(\\)|mul\\(\\d+,\\d+\\)")
| [[scan("(do(n't)?)")[0]], [ scan("\\d+") | tonumber]]
) as [[$do], [$a,$b]] (
{ do: true, s: 0 };
if $do == "do" then .do = true
elif $do then .do = false
elif .do then .s = .s + $a * $b end
) | .s
And following the foregone conclusion of the author, someone who can never exist and therefore will remain forever hypothetical. (Unless the basilisk would also want to punish all you possible hypothetical children as extra incentive?).
PS- This is almost “A modest proposal” levels of bad, without being satire.
I think that particular talking point also serves an exculpatory purpose: “If it was only a razor-thin victory I might understand being angry with me, but see it’s a decisive victory. He has the mandate of heaven of the people (this is a Trumpian victory! not a Democrat failure!) ! It would be wrong not to congratulate him!”
It’s also incredibly misleading, maybe it was possible to “completely” re-write the UI back in 2005—never mind that most of the value would come from, the underlying geographic data being mostly correct and mostly correctly labeled—there is no way in hell that the same would achievable in 2024. (Also the notion it would take any coder 2 * 1000 / (365 * 5/7) =
7 years to achieve a comparable result is proposterous)
As long as no-one ever bakes—pluginlessly—LLMs into vanilla vim
(or into normal nano
) I won’t despair too much.
Why hasn’t he attempted to make a robotic owl yet? Poser…