#AdVENt of Code
1 messages · Page 8 of 1
did u test mine on it
i wanna know if it works
well ill just do it myself soooon
i downloaded it but it was not windows
ya i was gonna but faulty ssd
use vens vps
vscode remote beloved
https://vscode.mantikafasi.dev/login @ornate nexus you love
what if we hosted code-server on your vps
in different account ofc
vap I will write a readme for the large repo tomorrow if you have not by then
omg real
do you care about me sharing the repo with other people yet or should I wait
nah u can share
var output = ""
for (i in 1..1000000000) {
val winningNumbers = listOf((Math.random()*110 % 99 + 1 ).toInt(), (Math.random()*110 % 99 +1 ).toInt(), (Math.random()*110 % 99 +1 ).toInt(), (Math.random()*110 % 99 +1 ).toInt(), (Math.random()*110 % 99 +1 ).toInt())
var myNumbers = mutableListOf<Int>()
repeat(25) {
myNumbers.add((Math.random()*110 % 99 +1 ).toInt())
}
repeat(15) {
if (Math.random() < 0.25)
myNumbers[(Math.random() * 30 % 25).toInt()] = winningNumbers[(Math.random() * 30 % 5).toInt()]
}
output += "Game $i: ${winningNumbers.joinToString(" ")} | ${myNumbers.joinToString(" ")}\n"
if(i % 10000 == 0) "Game $i: ${winningNumbers.joinToString(" ")} | ${myNumbers.joinToString(" ")}\n".println()
if(i % 1000000000 == 0) File("out.txt").writeText(output)
}
understoodable
alright gn everyone have a good day
ts virus
damn generating day 4 is
hard
to do normal size
i might have to do it smartly
oo raising my random seed to the 3rd power seems to work good
I wonder if theres reverse regex
What?
she meant to ping me
WHAT DO YOU MEAN BY SHE
OK
@tranquil vapor this will be ur vps soon
NO
yopp
I'M SCARED OF YOU RUNNING CODE SERVER ON MY VPS
its not in your server
cause it makes it too easy for you to run your brute force 20gb ram solutions on my vps
yet
my code never used that much ram
I am sane
maybe i should pre generated all possible permutations
it should be really efficient
its been an hour and im at 550k
imagine needing math.random
60 random numbers every iteration
while you can just read some random memory adress
if u think ur math.random is making ur generator slow
remember last advent of code when you ran something on my vps that ran for like a day
imagine how my sha256 random is slowing mine
i calculated that it would take many years to finish
yes

my python math solution
var output = ""
for (i in 1..1000000000) {
val winningNumbers = listOf((Math.random()*110 % 99 + 1 ).toInt(), (Math.random()*110 % 99 +1 ).toInt(), (Math.random()*110 % 99 +1 ).toInt(), (Math.random()*110 % 99 +1 ).toInt(), (Math.random()*110 % 99 +1 ).toInt())
var myNumbers = mutableListOf<Int>()
repeat(25) {
myNumbers.add((Math.random()*110 % 99 +1 ).toInt())
}
repeat(15) {
if (Math.random() < 0.25)
myNumbers[(Math.random() * 30 % 25).toInt()] = winningNumbers[(Math.random() * 30 % 5).toInt()]
}
output += "Game $i: ${winningNumbers.joinToString(" ")} | ${myNumbers.joinToString(" ")}\n"
if(i % 10000 == 0) "Game $i: ${winningNumbers.joinToString(" ")} | ${myNumbers.joinToString(" ")}\n".println()
if(i % 1000000000 == 0) File("out.txt").writeText(output)
}
would
how could I know I needed to divide it by multiplcation of all prime numbers
I just let it calculate 512+ bit numebrs
i forgot, was that day 11?
yeah that problem
who can run a large day 4
what was day 4 again
just make 1000 games
it's ruby but it shouldn't be too slow
cards?
i will get on my pc in 30 mins or so then I can try
ok i forgot to not be stupid so let this generate for another 3 minutes
oh god its so slow to generate
yea if u reuse same games it would be like instant
reusing games shouldn't really matter (as long as you don't cheat and make ur code optimise by caching results lol)
what language
ur right i just prefer that it isnt a possible avenue
since im putting it in a repo
reusing games doesnt count
im gonna try ur inputs now
what day is that
4
almost done generating
LOL this is particularly large
my upload so bad
FAST
how large
115mb
WHAT
the contract?
mines bigger
the puzzle specifically said nothing will be out of bounds
wdym
oh wait
HOW DO I DOWNLOAD THAT
why did u make it so stupid
im dumb
put it in quotes
why does it have so many winning numbers
it was my example.txt lol
okay removing dumb stuff worked
oh ur kinda right
i made it same format as real but with 1 million lines
i think the ratio makes it actually insane
ok done
cause i made part1 brute force
how many lines btw @sullen fiber
100k
okay
how do i upload the file
vap this is not ending
LMAO IT KEEPS
its still only using 240mb of ram
i fear it will overflow
letts hope not
wait why
😭
i made a git repo to upload it but clone with https not ssh so i had to enter pw so i deleted the repo locally but i alr moved the file there
im raising the seed to the 5/2 power
SO DISGUSTING
thats tiny bro
yop
my file is cooking something
originally my part 2 took like three times as long as here but i just optimised it further
cause I was parsing the mappings once for each seed range
game 100k should not be on line 550k
oh im not clearing the output
i wanna try a further optimisation which is using a set instead of array for storing the ranges (cause currently deleting ranges is O(n))
Wth did u do
its time for 10 million lines of day 4
i had an output variable that i appended each game to, and every 10000 i printed it, but i didnt clear it, so every 10000 i printed the entire file again
waiiit or I can just use .reverse_each and delete by index again
ok its gonna take about 11 minutes
insane
There isnt even arrows in mt keyboard
I have to rewrite command everytime
This is bad
i didnt have 500k lines i actually had 12.75 million lines
lmao
its actually 1mil
.
Lets go
Ooo interesting
how many lines is that
12 minutes on vaps input
have fun with 10 million lines
I DONT HAVE THAT
nah I found a better solution 
Why slow
LOL
thats for the input generator
Oh
it's just O(n) cause I loop from start to end so I can't delete by index
Solve
OUTPUT??
but I just need to loop from end to start so I can delete by index
It says here
yes thats 6.71 million
Answer is lots of numbers
Oh cool ty
I love how people here focus on running code in huge datasets or creating big datasets
:3
10mil input almost done
i wonder if anyone will be able to solve it
in a reasonable timeframe
That is at least 1-2 hour of runtime
Yes
For 1 mil it would be something like 1.5 hours I thibk
actually didnt change much
Manti what's ur card solution look like
Gijub
Latest
WAIT IF WE MULTJREAD
Others are bork
imagine aoc inputs were also 1GB
tho its hard
bro github is taking so long for it
wtf my solution so fast
whats the solution to this
is it 4081485 43610187939196406391740660158070498473393984626099324285536447
tf r u guys cooking
15249 24426334738393
lol
See manti screenshot
0.94s
i ran git add . a minute ago and it still hasnt finished
He did it and got smth diffenr
it finished
i think my solution is right
Yea probably
there goes 1GB of my mobile data
I used 100mb one
how many lines is it
im surprised how fast it is tho
Not other
WTH
100k
Why was the output so small
send 100mb one
Is it small
i will test as well
ok
10mil 15% there
shithub slow
But there isnt a way to confirm it so
i dont think rust would overflow
USE VAPS ONE
it would panic probably
LINK
@tranquil vapor
how else am i supposed to upload it
It does normally
But also I doubt uint is enough for all that
Loooove
is Ruby multi threaded by default or smth
u probably need rust for 1mil or 10mil
insane
how would 1 thread 100% freeze my pc
or memory?
VJIJIGEDSJIOGJIOSGJIOGJIOEIOJ
ARE YOU USING GNOME
thanks oom killer
@tranquil vapor 100mb
the way i do day 4 is i just use an array to keep track of how many cards i have
thats why it oomed
DO 100MB
Isnt that right way to do it
Actually instead of Vector I could try static lenght arrays
I SHOULDNT HAVE SPOKEN
Whateve
vscode froze again


Ruby so bad
Mine never froze
exponential growth
BUT YOU ALSO HAVE SUPER LOW SOLUTION THAT ISNT POSSIBLE
its cause ur integers are capped to 32bit or smth
mine are infinite so it grows so big
i think the fix is to discard lower cards
not use an array
or rather make the array only 5 big
cause u only need that much
and shift all elements after each iteration
21 digit
cause i currently just push to array
so if there are 1 million lines it will make 1 million element array

u can win 16
but the issue is, i made it so that it repeats 15 times a 25% chance to add one of the winning numbers to the scratch card
so there is gonna be a lot of winning cards
isnt this just 10 winning cards
what input is this
vaps
bro 10 winning numbers is too much i think
Ven tell output
NOT YET
thats 512 copies
Why
i didnt do yet
Did it not finish
Ruby so slow
10mil coming soon
LIKE I SAID IM RUNNING OUT OF MEMORY
i need to change my code
anyone got rust sol and goot specs?
Get more ram
NO
number so large it doesnt fit in a message
i might
is that p1 or p2
it was really fast tbh
p2
how fast
wait maybe it isnt exponential
yea its not
the max a card can have is 16
wait yea it is
if every card is 16 its gonna be 16^x where x is the card
actually nvm my code is wrong
and most of my cards are winning
gonna run mine on 1mil
Test Part 2: -325994640 (4215 ms)
shit
.size returns an int
id have to redo my solution from scratch
part 1 on 1mil is suspiciously similar to part 2 on real input
Mine really overflows
cardsWon = 0
cardsWonBuf = []
File.foreach(file).with_index do |line, idx|
idx %= 20
cardsWonBuf[idx] ||= 1
left, right = line.split " | "
winning = parseNums left.split(":")[1]
owned = parseNums right
winningCardCount = owned.count { |n| winning.include? n }
next if winningCardCount == 0
for i in 1..winningCardCount do
cardsWonBuf[idx + i] ||= 1
cardsWonBuf[idx + i] += cardsWonBuf[idx]
end
points += 2 ** (winningCardCount - 1)
cardsWon += cardsWonBuf[idx]
cardsWonBuf.delete_at idx
end
is this not correct
whats ||= 1
when i change module it changes result xd
shouldnt it not matter
oh i get the problem
nop
java slow
nop
I seen duke surfing
he surfing on a wave from 12 years ago
maybe someone will give us the solution
shouldntve used windows
plink
400???
But also this was extremely idle
what
Put everything to power savinf
guhh
guh this is confusing
We need rust dynamic number library
cardsWon = 0
cardsWonBuf = []
File.foreach(file).each do |line|
cardsWonBuf[0] ||= 1
left, right = line.split " | "
winning = parseNums left.split(":")[1]
owned = parseNums right
winningCardCount = owned.count { |n| winning.include? n }
next if winningCardCount == 0
for i in 1..winningCardCount do
cardsWonBuf[i] ||= 1
cardsWonBuf[i] += cardsWonBuf[0]
end
points += 2 ** (winningCardCount - 1)
cardsWon += cardsWonBuf.shift
end
i thought this should be right
but its not
i wonder why
result is WAYYY too high
You will powertop
idk not on laptop rn
later
Fiine
oh i see an issue
why not set
im close
yayy it works
input-100k.txt
4081485
43610187939196406391740660158070498473393984626099236846382392
same results as earlier
How fast
Try 100mb
yop i am
100mb is 100k too right
done
Or was it 1M
Show
INSANE NUMBER
RESULT SO LARGE I CANT COPY IT
i will rewrite this in crystal and see if it makes any difference
GİVE YOUR ANSWER FIRAT
Your part1 is smaller than mine
Also
HOW MANY BITS IS THAY
yeah definiletly not happening with rust
Java rewrite when
@real hinge
Thats high
i wonder how much money aoc costs
Make your gpu go to sleep
for the average person
the worse you are at it the earlier you wil drop out so youll waste less power, but the better you are the faster your code will be, so its also less power, being average is the worst
cuz youll be bruteforcing day 19
I REWROTE IN CRYSTAL AND DIFFERENT RESULT
i will fix my crystal solution
oh i know issue
im adding the cards to an array so i cant do it
without rewriting
cuz .size returns an int
lie
you messed up the format
INSANEE
your single digits dont have an extra space
oh no so relevant
it 100% is
mine doesnt work because i expect them to be there
i dont string split
i dont even look at the numbers
i look at the indices
you could replace all of it with :
huff some copium
eat my nuts
sure
try this one @hazy sinew
it expects these files
solve "example.txt"
puts
solve "input.txt"
puts
solve "input-100k.txt"
puts
solve "input-1m.txt"
source code:
require "big"
def parseNums(line)
line.strip.split(/\s+/).map { |n| n.strip.to_i }
end
def solve(file)
startTime = Time.utc
points = 0
cardsWon = BigInt.new(0)
cardsWonBuf = StaticArray(BigInt, 20).new(BigInt.new(1))
File.each_line(file) do |line|
left, right = line.split " | "
winning = parseNums left.split(":")[1]
owned = parseNums right
winningCardCount = owned.count { |n| winning.includes? n }
if winningCardCount == 0
cardsWon += cardsWonBuf[0]
cardsWonBuf[0] = BigInt.new(1)
cardsWonBuf.rotate!(1)
next
end
(1..winningCardCount).each do |i|
cardsWonBuf[i] += cardsWonBuf[0]
end
points += 2 ** (winningCardCount - 1)
cardsWon += cardsWonBuf[0]
cardsWonBuf[0] = BigInt.new(1)
cardsWonBuf.rotate!(1)
end
puts file, points, cardsWon, "took #{(Time.utc - startTime).total_milliseconds}ms"
end
solve "example.txt"
puts
solve "input.txt"
puts
solve "input-100k.txt"
puts
solve "input-1m.txt"
yes
actually i added timing sec
this one has timing
idk if its correct for the 100k and 1m ones
cause idk their solutions
chmod +x solution
oh wait
right
i thought switching to root would do tha ttoo
ill let it run ig
wait it runs 100k first
i named the 10mil one 100k
the number is QUITE big
correction:
horrible
also my solution has hardcoded buffer length of 20 so if you have more than 20 wins per game it wont work (can just increase buffer size to fix that)
10mil no
lemme put it in file
takes about a minute to run the 1mil
10mil still running
i could optimise it further probably
Ven
by not rotating the array and instead writing it like a tape and using modulo to wrap back around
VEN EXPLODE
At this point just make k-map
And convert to logic gate
store it using a char* directly
you have to translate pen and paper multiplication into code
Yop
it doesnt work for some reason and idk why
still running 10mil btw
lmaoo
i = 0
File.each_line(file) do |line|
idx = i % 20
left, right = line.split " | "
winning = parseNums left.split(":")[1]
owned = parseNums right
winningCardCount = owned.count { |n| winning.includes? n }
if winningCardCount == 0
cardsWon += cardsWonBuf[idx]
cardsWonBuf[idx] = BigInt.new(1)
next
end
(1..winningCardCount).each do |c|
cardsWonBuf[(idx + c) % 20] += cardsWonBuf[idx]
end
points += 2 ** (winningCardCount - 1)
cardsWon += cardsWonBuf[idx]
cardsWonBuf[idx] = BigInt.new(1)
i += 1
end
ohh
yep
i posted code and immediately realised my mistake
THAT MADE IT SLOWER???
modulo slower than array rotate
yeah i tried to optimise it further and it's still slower than array rotate
funny
ig it makes sense cause array rotate is just a memcpy
and modulo is expensive
but i wouldnt expect modulo to be slower than memcpy...
holy shit i made it faster by not using regex to parse lines
lol day 6 seems like yet another puzzle where brute force wont work
you yet again have a range and need to calculate the subrange that matches a condition
xd
IT TOOK SO LONG LMAO
Use gpuuuu
how do we know if it's correct
hope people answer the reddit post
i dont think parsing is why its slow
it does actually
not on huge inputs obv
on huge inputs u use the quadratic formula
yeah. it made a huge difference on the normal input (30% speed up), but only made like a 1s difference on the large input
I'm still confused modulo was slower tho
did the compiler realise what I was doing and optimise the rotating to smth different?
what lang is that
crystal
if a language uses the end keyword its shit
it uses llvm
also that code looks inefficient idk why
how
idk it just does
youre shit
should i do it in c
day 4
find some bigint lib
idk if i should use gmp or just manipulate memory manually
allocate myself 10mb
crystal uses gmp
Advent of code teached me to not use arrays
Or at least use as less as possible
I am iterator guy now
@real hinge
i HAVE to win
wait ik how to do day 6 without ranges
i do time.last { beats the record } - time.first { beats the record }
*taught
i doubt that works
i will help you learn english by being a grammar nzi
Thank
her names also lina
Horror
also being evil fits me no?
wdym
@steady fog do day 8
okay
I know what day 7 and 8 is gonna be
----- Day 7: Dimensions?! -----
You wake up to the sound of excited elves, it turns out you've slept for 2 million years and the interdimensional rocket transfer boost coordination system is corrupted.
The technician elf gives you the log and asks you to read it to him, stating that he doesn't speak SHA-256.
For example:
635185f0ef78066ee1acccfa386335e720ece408a80100ab9c8f1333d2dc0b48
64a204364f1a86492e406034439b9d0048314bff4d3306ceadcdfcf1617fd09d
ca91534dfcb701210e325d5d979089ffe37edc0697b2f4185c1d94c3fc94c059
6f0434072cbcb8df770089c0f0b79c33ae4de9668ba93faaee3e5c7727f2b953
0e2b85b1126bcfaede2ce21827ed4156707a82c010aed6a4c94cc2917b7b118e
7200dd6e94d329cb285325558ecafd8a7ed17f7e5c3386fe644a1e1e97b14fc7
03ef27a056cc014a0b35d3d94ea95f8de4b8ebe99c11970a6a01a21fd112e71b
40ba3c9b227797ba491cecd01e531133fc00bc8ea91fdd8f40ba7450cf6520d7
b5d69a31bfe7aaba76f51c40c551f75736f51c8663ea301d680b3c5872e4ca0b
c554ec7fd7c15968ba4538331595e1ee3f0b5051aa370755656a2dc25277db94
You translate to the elf: "Press the big red button"
He tries, but nothing happens, you receive another log (Your puzzle input), and the elf asks you to translate.
What is the decoded instruction?
Answer: [ ] Submit
----- Part Two -----
Only nonsense comes out, the elf looks at the instructions in confusion: It turns out, it's actually SHA-512, each 2 lines being 1 string.
What is the new decoded instruction?
Answer: [ ] Submit
----- Day 8: Boat -----
You are in a boat. How many letters does the word boat have?
Answer: [ ] Submit
----- Part Two -----
Include the period
Answer: [ ] Submit
qhar
venny
whats the right answer
because I definitely got a number
is it right? who knows
(thats part 2)
Luckily rust had a very convenient arbitrary-precision quadratic library
**2023-day4-10mil.txt: **
The file is too big to upload to github
https://www.mediafire.com/file/k0xs4b22vtv7opy/2023-day4-10mil.txt/file
cool bot
That's not even a fun thing to solve, you just have to loop a few million times
Maybe later
Have to go to school now
Tyman make dynamic numbers for rust when
What's a dynamic number
Byte
Bit
Whenever it overflows it will go 32 - > 64
Or 512 - 1024
or just make it unlimited
I don't really have a use for that so never
**2023-day4-10mil.txt: **
The file is too big to upload to github
https://www.mediafire.com/file/k0xs4b22vtv7opy/2023-day4-10mil.txt/file
Bad
whats a trans inclusive radical sword misogyny
What's wrong with normal bignums
the output has 1 million digits
So
does a regular bignum have infinite precision
That's why it's called arbitrary precision I thought
900 digit doesnt really fit into any rust type
rust has that?
day 6 is easy but || im getting overflow even on u128 lmao ||
for large input?
normal input
It fits into an arbitrary precision library
oh wrong
wth is that
I will soon look
For example
In computer science, arbitrary-precision arithmetic, also called bignum arithmetic, multiple-precision arithmetic, or sometimes infinite-precision arithmetic, indicates that calculations are performed on numbers whose digits of precision are limited only by the available memory of the host system. This contrasts with the faster fixed-precision arithmetic found in most arithmetic logic unit (ALU) hardware, which typically offers between 8 and 64 bits of precision.
ohhh
oooh
looove
then bigint doesnt have any bit limits
Yes
Only limited by how many digits your memory can store
fix:
- (1..totalTime)
+ (1.to_i64..totalTime)
you can do multiplaction etc right
Yeah
are you using big input
now solve with big input
crystal has binary search built in
https://codeberg.org/Ven/AdventOfCode/src/branch/main/2023/day6/solution.cr#L14
**solution.cr: **Line 14
first_winning = (1i64...totalTime).bsearch do |t|
THAT NUMBER IS SO BIG IT DOESNT EVEN FIT IN A MESSAGE#

so uhh
idk
but theres fast way to do this probably
getting limit from start
and end
any number between will work probably
yeah thats what i do
|| i use binary search to find the smallest and highest number that wins, then just everything between those wins ||
looove
my rank is so low cause i always do it pretty late

i wish it didnt use submit time as a metric
I love this system
So I can say I did it later instead of I wasted 1 hour on solution
Well its usually combination of both
But whatever
you know what would make it way better
mm actually
i was gonna say make it start counting the moment you load the exercise for the first time
so it measures how long you took instead of just time since american midnight
but then u could cheat :I
cheaters ruining evrything
There is
But it's a quadratic
The first root is lower bound of success, and the second is the upper
Or maybe that's reversed idk, abs it
Would
Yep
but how do you calculate the smallest and biggest x that match that formula
i did crystal
Ah
I found https://lib.rs/num-irrational which does quadratics with arbitrary precision
Libraries are fun
**mod.rs: **Lines 57-65
// Arbitrary precision solution:
let lower = QuadraticSurd::from_equation(
Into::<BigInt>::into(-1).into(),
BigInt::from_str(&lines[0]).unwrap().into(),
BigInt::from_str(&("-".to_string() + &lines[1])).unwrap().into()
).unwrap();
let higher = lower.conj_ref();
((higher - lower).floor().to_integer().value() + 1u8).to_string()
yeah probably
i dont know the quadratic formula
I don't either, I used Wolfram alpha lol
If I ever need it I just programmed my ti84 to do the quadratic formula for me
yeah
i learned the pq formula for school but i forgot it again cause its useless
like if i need it i just use a calculator or look it up real quick xd
i was gonna say what if we added webhooks for everyones repo here but then i realised that'll let anyone at everyone
i wish discord would let u configure allowed mentions for a webhook
instead of putting that "responsibility" to the webhook executor
You could run a proxy or something but that might be too much effort
i already do actually xd
A proxy to filter star spam from GitHub Webhooks
could just add additional settings
but rn it doesn't hide the webhook urls so it'd be worthless
the link is just https://ghwp.vendicated.dev/webhook?url=https://discord.com/api/webhooks/....
obv you could just use the original webhook
to fix it i'd need to make my proxy have a database and give you an url like https://ghwp.vendicated.dev/webhook/skoppüolsaß0⁰19ijiasjido but im scared that then skids will abuse it for their shitty tokenloggers
A proxy to filter star spam from GitHub Webhooks
root of quadric equation jumpscare
math is very scary
lmao
i wrote a generic bfs function that doesnt even take a collection as a parameter but still finds the shortest path from start to end within that collection, including step costs
im too lazy to do it efficiently so i literally allocate a massive array and binary search on that 
it even works on a non point bfs
so if its not a grid
but smth else
idk what that would be tho
fun <T> bfs(
start: T,
getNext: (T) -> Collection<T>,
isEnd: (T) -> Boolean,
getStepCost: (T) -> Int = { 1 }
): Pair<List<T>, Int>? {
if (isEnd(start)) return Pair(listOf(start), 0)
val visited = mutableSetOf<T>()
val queue: Deque<Pair<T, Pair<List<T>, Int>>> = LinkedList()
queue.offer(Pair(start, Pair(listOf(start), 0)))
visited.add(start)
while (queue.isNotEmpty()) {
val (current, pathWithCost) = queue.poll()
val (path, cost) = pathWithCost
if (isEnd(current)) return Pair(path, cost)
for (next in getNext(current)) {
if (next !in visited) {
visited.add(next)
queue.offer(Pair(next, Pair(path + next, cost + getStepCost(next))))
}
}
}
return null
}
man i love kotlin function parameters so much
allows me to do stupid shit like this
huh?
*guh?
THEY MAKE HARD ON EVERY ODD NUMBER DAYS
today is easy
wdym
yeah today was really easy
especially if u brute force instead of using brain
like i did
now think yesterday

yesterday was fun
yes but I didnt like rewriting my solution
and logic
anyway we will see tomorrow
DIDN'T LIKE LOGIC
tomorrow will be
----- Day 7: Dimensions?! -----
You wake up to the sound of excited elves, it turns out you've slept for 2 million years and the interdimensional rocket transfer boost coordination system is corrupted.
The technician elf gives you the log and asks you to read it to him, stating that he doesn't speak SHA-256.
For example:
635185f0ef78066ee1acccfa386335e720ece408a80100ab9c8f1333d2dc0b48
64a204364f1a86492e406034439b9d0048314bff4d3306ceadcdfcf1617fd09d
ca91534dfcb701210e325d5d979089ffe37edc0697b2f4185c1d94c3fc94c059
6f0434072cbcb8df770089c0f0b79c33ae4de9668ba93faaee3e5c7727f2b953
0e2b85b1126bcfaede2ce21827ed4156707a82c010aed6a4c94cc2917b7b118e
7200dd6e94d329cb285325558ecafd8a7ed17f7e5c3386fe644a1e1e97b14fc7
03ef27a056cc014a0b35d3d94ea95f8de4b8ebe99c11970a6a01a21fd112e71b
40ba3c9b227797ba491cecd01e531133fc00bc8ea91fdd8f40ba7450cf6520d7
b5d69a31bfe7aaba76f51c40c551f75736f51c8663ea301d680b3c5872e4ca0b
c554ec7fd7c15968ba4538331595e1ee3f0b5051aa370755656a2dc25277db94
You translate to the elf: "Press the big red button"
He tries, but nothing happens, you receive another log (Your puzzle input), and the elf asks you to translate.
What is the decoded instruction?
Answer: [ ] Submit
----- Part Two -----
Only nonsense comes out, the elf looks at the instructions in confusion: It turns out, it's actually SHA-512, each 2 lines being 1 string.
What is the new decoded instruction?
Answer: [ ] Submit
true
@real hinge hi
hi
What is this
wikipedia page views of the aoc question topics
Is that actually a thing or are you guessing based on 7 days so far
guessing
i watched so many hyper neutrino videos i think i can just switch to python and not have any issues now
proud of my brother in kotlin
tho im pretty sure he uses something else to solve it initially
@tranquil vapor howd you get crystal tooltips to work
i installed crystalline and set the path
turn them on in extension settings LOL
doesnt work
just says working and then doesnt
are you using this
guh this is so shit
why do i have to have vsc open in the project dir
these people
REEEEE

real rage starts when it tells you to wait 5 minutes
stay calm void
im so calm wdym
doesnt REEEE indicate anger
YES
yop
i love crystal
i wish Crystal was more popular
instead we have go and rust
honestly im surprised crystal didn't pop off, cause rails is so popular
missed opportunity
I am glad
they should have made crystal on rails be a drop in replacement for ruby on rails
DAMN
yes
this is right
baaaaaaaad
is rails action views like a wasm thing or
my typescript code gets it 2 off 🥲
I had to cheat a bit and look on Reddit for the correct floor/ceil arrangement and the such
i got the real answer with wolfram mathematica
But that was also after I ran that so I guess I got lucky
btw u can check in the repo i put output_large.txt files for the answers
What repo
oh yeah since i saw you guys talking
do i need like a bigint for day 6 normal or do can i use i64
i64
ty :3
I doubt he will make anyone use bigger than 64 bits, that would be interesting but also I doubt it
try it and see kitty
anyway if u use crystal replacing int type is super easy
bigint has same api as normal int
I think I'm going to mess with my setup to fetch large inputs and have separate functions which support absurd number lengths
Because yes.
TRUEE
yeah, there have been some in the past that the naive way requires big int but you can use modulos to keep the size down
oo 2022 day11 looks cool
OO i knowp how to do day 11
thisis epic
imma do it in uiua
oh god ui update jumpscare
what the fuck today is so easy
ah
will i hop on crystal
like what?
yea today is crazy compared the the last 5 days
crystals block thingies are surprisingly cool
dont quite understand how they work but i just type random stuff and it works
intresting
crystal is just ruby but compiled
whats the crystal lsp again
theyre basically the same language lol
crystalline
ty
@proper totem 👉 👈 https://github.com/voidfill/aoc-2023
guh crystal for windows fake
hop on linux already
SCARY
it exists but its alpha
wdym
maybe i can install wsl onto my external drive
isnt that basically what you ha
yea its alpha but also crystalline nop windwos buisl

doesnt feel like it...

julia looks like less cool crystal
ish?
id love to use crystal for normal projects if comptime wasnt so bad
though julia has horrible jit times on first runs
why tf are u running these via actions lmao
huh? it doesnt seem that bad
no worse than rust
its uhhh
i havent tried it on large projects
instead of parsing


