« first day (3603 days earlier)      last day (127 days later) » 

1:06 AM
does anyone have any idea / hints on how to do part two of adventofcode.com/2016/day/11? my BFS sol works fine for part 1 but it's too slow once you add the extra two pairs of objects
1 hour later…
2:12 AM
Okay apparently the web server I'm using treats GET http://redwolfprograms.com/tools as different from GET http://redwolfprograms.com/tools/ ...I don't even know what to try to fix anymore
they are different URLs though i'm not sure why
i believe x.y will redirect to x.y/ at least the way i have it set up in flask
2:30 AM
good morning
@HyperNeutrino bfs is... breath-first search?
Maybe it's a pattern exploit thing again? I don't know because I haven't tried 2016 yet
that's what i'm thinking, or maybe i can use the result from part 1 as a sub-state, but i haven't come up with anything yet
Or you can just keep it running and have a meal and come back, unless you're 100% sure the algorithm will blow up
well i just stopped it and it's been running for at least like 1:30 or so without any output so
maybe i modified my inputs wrong or smth xD
ok new question: is there any smart solution to this problem: adventofcode.com/2016/day/14#part2 (part 2)
doing 2017 MD5s each time feels impractical even with caching lol
2:54 AM
... i don't even understand why this doesn't work; doing 2017 MD5s is really not that much slower than doing 1 so it shouldn't be taking longer to output 1 answer than part 1 did to output all 64
(I think you were required to run a million MD5's in 2015 day4, so I don't think 2017 MD5's should be a limiting factor)
hmm whats the shortest md5 hash function in APL
unable to find one
yeah i don't understand what's wrong with this lol
There must be a crypto library for Dyalog APL
If you can't find it, you have to implement it from scratch, which is bleh
actually it's theoretically 2017 times slower than the first solution so maybe i do need some optimizations
3:04 AM
@Bubbler bleh indeed
might as well make one for APLcart
(Or just shell out and use md5sum on Linux)
I didn't solve 2015 day4 exactly for that reason
If you can make web requests with apl, you could try and make a request to a web service/api that does md5
@Lyxal lol that's a bit overkill
Actually I just realised that's a bad idea
mac has the md5 command, should be enough
3:48 AM
Bit of an irrelevant question, but can y'all visualize faces? As in, if you imagine a scene in your head with people you know, can you see their faces distinctly, or just blobs?
@RedwolfPrograms yes, I can
aphantasia is the "condition" where a person can't visualize at all
@RedwolfPrograms yee
Albeit probably incorrectly
4:04 AM
@Razetime I think it's sort of like the intersection of aphantasia and prosopagnosia (face blindness). I (and at least some other people) can visualize things just fine, except faces. I think it's caused by the brain's face visualizing thingy not working, so it has to rely on the less accurate object visualization thing
sounds like da brain running on medium graphics settings
4:19 AM
@Razetime More like blur applied to people's faces for privacy
4:40 AM
20 minutes until AoC day 10
which is the first two-digit day
which means we can expect some amount of difficulty bump, hopefully
I'm waiting for a day where the task can be solved super easily with the builtins in my shorthand Javascript
AoC in 10...
I just realized the drawing is of the earth
With the path of the plane traced out
wait, that's the drawing?
Yeah, they're incredibly good at ASCII art
4:55 AM
I guess I'm not the only one who is doing old AOC problems.
the gap really is growing
It should start shrinking as we leave the equator
we're going from the north pole to the equator
4:59 AM
Urrgh it included your device and the charger :(
Aw I'm not at my computer rn
And I won't be for a while
Rip my ranking
i am having a surprisingly hard time actually comprehending the spec
i messed up my DP :( my speedrunning is a bit rusty
i genuinely cannot figure out what i'm missing now
i gurss this is waht example inputs are for
5:12 AM
i'm just happy i ranked 2 on the first star lol, hopefully one day i can get rank 1 but probably not cuz the problems are gonna get harder and i'm only good at speedrunning (relatively) easy things lol
I added 3
good enough for using a language I'm still learning
@HyperNeutrino bruh how
@ASCII-only template functions xd
>:( cheater
5:16 AM
would've been better if i didn't forget to prepend [0] to my input before DPing
33) 651 hyper-neutrino woah
yeah i unfortunately only started speedrunning it like 3-4 days in but i'm not disappointed with the result currently
not sure how to go about part 2
probably some simple mathematical formula
dynamic programming :P
Yeah, it's relatively simple DP
like how you'd do tribonacci, but with some holes
5:19 AM
Day       Time  Rank  Score       Time  Rank  Score
 10   00:06:17   658      0   00:18:48   642      0
Let's go :p
637 because I spent too long figuring out how Python's @lru_cache is supposed to go
wait what is that
i have never heard of it before
considering how fast I got a result I suspect I didn't need it
it's just memoizing
wait why did you need memoizing here
I kept leaving the initial 0 out of the array and it would say it was someone else's answer :p
5:19 AM
for part 2?
yeah part 2
a bit
come to think of it
Did you do naive recursion?
if you take the memoize out does its still run in time
it's O(N) DP
5:20 AM
Guarantee you there's some poor guy who thinks you're supposed to do these by hand, and is absolutely freaking out
Still 5000 people between parts 1 and 2, only 800 done with both
okay it's actually slow without the memoize
I had the impression I was failing horribly at part 2, but got only 841th place
5:22 AM
probably because i used a dumb recursive function instead of some array thing
Me too
I tried to do f=c=>c==m?1:ds.f(n=>n>c&&n-c<=3).m(n=>f(n)).c() (shorthand JS)
Especially since you were all using fancy math I didn't understand.
@UnrelatedString yeah it's like O(2^N) without isn't it? cuz it's similar to fibonacci which without memoization grows that fast
My approach was to use a dictionary tracking the number of ways a specific number could be reached and progress it with each iteration until I hit a steady state and no more progress could be made
I used a for loop because Javascript
5:24 AM
@pppery yeah that's sort of what i was thinking of
@RedwolfPrograms I ended up with 3 nested loops, one while and two for
(although the innermost loop was just for n in 1,2,3:)
i feel like getting fast times on AOC is like a mix of competitive programming and code golf
also the main reason lru_cache burned my time was i didn't realize my python installation is too old for there to be an alias for lru_cache(maxsize=None) in functools
and I also didn't remember what that alias is called to begin with
5:26 AM
I ended up looping through them backwards, counting the number of ways each one could be reached until I got to 0
I immediately knew it was DP, but I fumbled with dicts instead of an array
I have to rewrite it from scratch
oh rip :/
Where is gi defined?
It's much nicer than my code, which is about 30 lines long
5:29 AM
Why does your program look like something I'd take an hour to write and frame on the wall while mine looks like a Javascript program written by a markov chain seeded with OCR scans of dead field mice
gi and lines are defined in my template
lines basically just lets me read input faster cuz typing the while loop each time takes a couple of seconds longer
and gi(a, x) basically takes a[x] if it's in range and default otherwise (defaulting to 0)
@RedwolfPrograms mine
do you golf them afterwards or do you write them golfed lmao
write them golfed
5:32 AM
who the heck has time to type extra chars bro
Can't wait 'til I get a real job and someone opens up a file of code I've written on a deadline and just slowly backs away to get the lighter fluid
i can assure you probably they won't actually read it as long as it runs on their system
@RedwolfPrograms i mean i don't think you'd write a golfed program if you're not pressed for time
also not sure if people have linked it before but betaveros has a blog post on how to leaderboard, huh
5:52 AM
don't remember doing anything like this before
6:17 AM
@ASCII-only I ended up porting this, but i don't understand it too well
6:46 AM
A: Sandbox for Proposed Challenges

justinpcThe Slices Puzzle Puzzle Background Slices is a puzzle game. Placed on a 2d map is a set of islands; possibly just a single island. Placed on each island is a set of points. The task is to draw a number of lines crossing the islands such that no point can be reached from another without crossing ...

7:17 AM
Day       Time   Rank  Score       Time  Rank  Score
 10   01:16:17  10317      0   02:16:36  6484      0
With the power of chalk and memoization, I done did it
@Lyxal which implies... by hand?
@Bubbler no, I used chalk to visualise the first testcase
and then turned the manual process into an algorithm which I then used on the big data
all of it gets easier to wrap your head around if you consider the input sorted
Well yeah, drawing things out is a good strategy when everything else fails
user image
7:44 AM
@Lyxal literally chalked it out
8:16 AM
@Lyxal lmao, nice xD my recommendation would be write each number only once and then draw out the connections between those elements and try to visualize from there
unless you've already gotten the O(N) DP in which case nice
what does dp stand for here again
Dot pixel
oh, dynamic programming
yes, though no one explains why it's dynamic
yeah i don't understand the name that much either
8:23 AM
dynamic programming is one of the least descriptive names out there lol
it's not even programming
it's a kind of algorithm that can be programmed
8:44 AM
What's the difference between M and Jelly?
Because they both seem the same
One is yummy, the other is not
@Lyxal M uses sympy so it has exact math, but it is also very outdated
8:59 AM
@Lyxal where's M
@Bubbler I had some baked M's at dinner
@UnrelatedString nice
Maybe M is a precursor of Jelly? No docs, but I can immediately recognize first few function names in the source
9:44 AM
@Lyxal They're exactly the same. But I hate M more than Jelly
@Bubbler M is an abandoned fork of Jelly reworked to use sympy
2 hours later…
11:44 AM
I will see y'all tomorrow.
CMC: Given a list of strings, each string is one of the empty string, a single &, or a double &&, return & if any of the strings is &, otherwise return && if any of the strings is &&, otherwise return the empty string
12:00 PM
@Razetime Fails on the first input, no? Has & so should return &
ah ok misunderstood
@ASCII-only I followed that link and at the bottom there's then a link to "C++ Rvalue References: The Unnecessarily Detailed Guide" which sadly unnecessarily suggests you have to overload your sort function in order to be able to accept both lvalues and rvalues
@Razetime brownie points for working out what the purpose of that operation is
looks like something used in an interpreter
12:16 PM
it's actually "what's the resulting C++ reference type after a series of typedefs". e.g. typedef int T1; typedef T1& T2; typedef T2&& T3; then T3 is the type int&.
12:33 PM
Have we had this before: Given two lists of strings, return whether one is a subsequence of the other e.g. ['b', 'd'] is a subsequence of ['a', 'b', 'c', 'd', 'e'] but ['d', 'b'] and ['c', 'c'] aren't
@Neil you're parsing C++?
no I was just reading the unnecessarily detailed guide and it mentioned reference collapsing so I thought it would make an interesting CMC
@Neil i can try doing it anyway
1:30 PM
I would have been top 100 if I hadn't mistyped the multiplication factors in the first part :(
I had the working program in like two minutes I just kept messing up entering it
db().af().tn().bw(-1).nx()...the perfect set of builtins and I messed up the opportunity
1:55 PM
@RedwolfPrograms is there a repo for jsish?
2:12 PM
Q: Towering Cistercian representation

RazetimeSE Sandbox Link, Codidact Sandbox Link Inspired by this video. Given a positive integer, draw its Cistercian representation as ascii art. The Challenge Cistercian numerals are a decimal-based number representation system which use simple line based drawings to represent 4-digit numerals. Their s...

2:25 PM
@Razetime Not gonna give away my secret weapon :p
It's also half finished, but when I'm done with the actual transpiler I'll put it in a repo
2:45 PM
@RedwolfPrograms It's not like I'd understand how to use it :)
Simple explanation of what that program above did: db().af().tn() is the input represented as a list of numbers, .bw(-1) gets the difference between each pair, and .nx() counts the number of occurrences of each value
Cmon mr Redwolf, we need your secret weapon
your lance of longinus
Fine, right now it's just a bunch of shorthand method names and functions but here
I peer pressured a programmer into giving away his code
now to try this on Bill Gates
The Windows XP source code was leaked recently, right?
2:51 PM
@RedwolfPrograms and TF2
3:09 PM
is it just PPCG that's offline?
It's working fine for me
nvm it's working fine now -- it said service unavailable for like 2 minutes
Is there anything sort of like recursive regular expressions? Like x=\[x\]|. would match any character wrapped in any number of brackets?
3:26 PM
@RedwolfPrograms maybe this will help?
Maybe my next project will be writing a regexish library, that includes things like that
2 hours later…
5:02 PM
So I spent a long time writing something for an assignment, and I was wondering why I got such a bad grade for the conclusion...turns out the teacher thought a page break halfway through was the end of the paper ._.
5:46 PM
This modded module from Keep Talking And Nobody Explodes as a challenge:
As well as its sibling: (seperate challenges, obviosuly)
They feel like decidedly advanced problems in a way that you don't see nowadays.
6:41 PM
A: Sandbox for Proposed Challenges

caird coinheringaahing"Factorise" a quadratic When learning to factorise quadratics in the form \$x^2 + ax + b\$, a common technique is to find two numbers, \$p, q\$ such that $$pq = b \\ p + q = a$$ as, for such numbers, \$x^2 + ax + b = (x + p)(x + q)\$ You are to take two integers \$a, b \in (-\infty, +\infty)\$ an...

2 hours later…
8:19 PM
@RedwolfPrograms SNOBOL has recursive PATTERNs, for instance: tio.run/##K87LT8rPMfn/…
1 hour later…
9:44 PM
Anyone here want to play Minecraft in an hour or so? I can set up a (Java) server.
@RedwolfPrograms I would but the computer I use for Minecraft is insisting it's never heard of "internet" :/
10:02 PM
I do, but not to the point of buying it :P
@RedwolfPrograms yes
But I'll only be able to join for an hour or so
@RedwolfPrograms ^
10:38 PM
Okay, just got home, I'll start the server
oh I'll join for a bit
... why is minecraft.net in korean...
Okay, starting the server.
Oh, I just realized I'm still on 1.15.2, let me change it to the newest one.
are you changing it to 1.16.4?
please let it be 1.16.4
y'all are gonna love my minecraft skin
I made it myself in MS pain.
10:44 PM
Hopefully it doesn't lag too much
(the lack of t in MS paint is intentional)
Ok, the IP is
11:12 PM
bruh whats happening
So today is the day
I solve the AoC while everyone else is playing Minecraft
And do we really have no way to close this?
@Bubbler I guess Needs details would work as the challenge should describe how one solves the Halting problem for Python
11:29 PM
It's halting problem only if we're required to output "false" when it does not terminate. That's not the case here
Well, we do have challenges on this site that are very poor quality but shouldn't be closed. I just downvoted it (although if it comes up in the VTC queue because someone found a good close reason, I'll happily VTC)
Q: Will this code stop?

AndiChinChallenge: given a program in pythong, determine whether the program will stop or run forever in a standard python 3.8.5 environment. Output true if it stops. example 1: while (True): print("hello world!"); output: example 2: def fun(a): return fun(a - 1); fun(0); answer: true this is becau...

11:47 PM
It's definitely needs details or clarity
failing that, it's a challenge to which every answer is invalid and should be deleted.
The OP already said it's intentionally disguised as a halting problem
Halting isn't necessarily deterministic. import time; t = int(time.time()) % 2; while t: passwater_ghosts 18 mins ago
I'm leaving the server up for now, ping me if you want to play

« first day (3603 days earlier)      last day (127 days later) »