« first day (4290 days earlier)      last day (849 days later) » 
00:00 - 22:0022:00 - 23:00

00:00
@user Related
hopefully 1) i sent it to the right email and 2) eric sees it
00:45
I am thinking about a challenge that make you check whether a shape fits this question number definition, what do you guys think?
i am chaining question again, and everytime i do that i feel guilty for doing selfish necroposting-ish behavior
00:57
Fun fact: the week.golf site is now open source
@Niko getting inspiration from previous challenges (by myself or others) is one of the things I do regularly, no need to feel guilty of it
Ooh, let's see how much I can abuse the APIs before they notice
you can golf the whole site now :P
(I'll tell them, but after doing a little trolling)
@Bubbler ooooh, i feel lotta better now
thanks
01:12
@emanresuA cc @lyxal
we perform a minimal quantity of problem-magnification
Currently, I've found that I can create an account with an arbitrary IP address and country, so that'll be fun
make one for me
01:30
> Fortunately, people are entirely predictable
- AoC 2020 day 11
@emanresuA a lot, because they're asleep right now
01:46
lyxal with new timezone exploitation, breaking a codegolf site down to atom scale
- next day news
the patch for timezone exploit is now our top priority for next site update
- code.golf site admin
> Warning If you voluntarily abuse these security holes, sanctions may be taken
who cares?
I mean... it wouldn't be hard to create a sockpuppet army
yeah
especially if you can create an arbitrary ip acc
they cant even ipban
I'll probably tell them
01:55
Okay, it appears it doesn't even store IP, just country
 
1 hour later…
03:04
Anyone got in mind a lang that nearly no one uses and is quite easy to learn?
Cuz I can never post vyxal answers cuz lyxal keeps stealing em
brainfuck is pretty easy to learn, only 8 instructions
I can list some rarely used golflangs, though Idk if they count as "easy to learn"
also do you want to compete with vyxal in bytes?
04:04
@DialFrost seggan's fig maybe?
@DialFrost ok well I’m gonna say desmos obviously cuz literally almost no one uses it here except me. Also it is pretty easy to learn.
Oh wait u looking for golf langs ?
Nvm then
Well there’s pip, idk how many ppl use it but I found it relatively easy to pick up
@DLosc reminder to award the pip bounty to me, not sure if u just forgot or if u just didn’t get the time to, thanks!!
@DialFrost well u can post answers to older questions that don’t have any vyxal answers, there r probably tons of those out there
@AidenChow SE notifies you when there's one day left on a bounty - I think dlosc is leaving it for the longest time possible
Which is pretty common practice
@AidenChow dialfrost has already done that though :p
04:36
@JoKing I dont entirely understand it :(
@PyGamer0 definitely not :3
you need to make sure to match the brackets
Wait this is the main thing I dont understand: how does it really work
I get confused by the instructions on it using chars to make a program
i was being mostly sarcastic, but the instructions are actually pretty easy to understand, it's just hard to formulate programs
How does it work :(
the language has a 1D tape of values (initially all at 0), +- increment/decrement the current cell, >< move left and right on the tape, ., print and receive input as bytes and [] is a loop that executes as long the current cell is not 0
so ++++++[>++++++++<-]>. will increment the first cell 6 times, then loop, incrementing the second cell 8 times and decrement the first cell once (thus looping 6 times putting 48 in the second cell), and finally move to the second cell to print it
04:46
Hmm
Then what's the fuss about chr()?
how to do basic arithmetic (add, sub, mul, div, mod) and control flow (if, if-else) is left as an exercise to the reader
what fuss?
Like I see a lot of intros about this lang say something about chr()
But I dont know why it's important
it's not important at all
@DialFrost why?
maybe you read about implementing brainfuck, not using it
04:54
@PyGamer0 it's strange
@DialFrost this world is strange...
@DialFrost then just play karlson like me :P
if you want to use bf properly, this and this are the most valuable resources out there
i don't think chr has any bearing on brainfuck
like, maybe if you were lazy and used it instead of printing as bytes, but that wouldn't work if you wanted to print multi-byte characters or just bytes above 128
and this interpreter is 1000x more useful than any others
@DialFrost jelly :P
or k (which is not a golflang)
05:17
@Bubbler tysm
@Bubbler why
05:32
it shows the memory during and after you run a program
@JoKing what's the use of printing just numbers then?
i don't understand
brainfuck prints bytes
Like since it only increments stuff, and then prints
e.g. my example program prints the character '0'
@JoKing eh?
@JoKing mhm
att
att
05:35
@DialFrost mathematica ;)
@att dont a lot of ppl use that?
att
att
i'd say ~4 including me but I haven't seen some lately
its like Niel
the only person who does retina and charcoal answers
@JoKing ?wait now im confused
ahhhhhhh
att
att
@att it's nice having a billion built-ins :)
@JoKing? sry i dont understand
05:44
48 is the character code of '0'
so printing the byte 48 will output '0'
damn
that makes this so much worse :(((
how
like for numeric output?
there's more to worry about than just that :P
@UnrelatedString no
if the print means chr(this) then how are you supposed to know what to print?
like if u want to print strings based on input e.g.
05:58
the input is also in byte values
ya but...
I'm very confused anyone got an example?
lol
@JoKing why loop 6 times?
8*6 = 48
@DialFrost again, chr isn't involved
doing multiplication is shorter than doing literally 48 pluses
@JoKing why 6?
like where did it come from :P
@JoKing ord?
because 6*8 is more or less the optimal pair of divisors to minimise the program size (without wrapping)
@DialFrost ord?
06:14
@JoKing ?
sry im being extremely dumb today
non-sequiters usually need explaining
@JoKing non what???
@JoKing like i dont understand why it loops 6 times, why not 5? or 4?
because if you did 5*8 it would 40, and print a different byte
@JoKing sorry but your explaining this backwards :( so i still dont understand lol
my point is: why cant it be 5? did the 6 come from the number in the first cell since it's 6?
it decrements the first cell once per loop, stopping when it hits zero
06:22
ah so it loops based on the first cell then!
technically it loops based on the current cell, for example [>] will move the pointer right until it finds a zero cell
ah
tysm!
qns: why does +[>+]<. print ÿ?
and chr is not the same as converting to a byte, e.g. chr(250) will produce multiple bytes
@DialFrost that should loop infinitely unless your interpreter has a limited tape
@JoKing eh why?
which interpreter are you using?
06:27
doesn't it only loop once?
@Bubbler TIO
imagine converting it to equivalent instructions
a[p]++; while(a[p]){p++;a[p]++;}
the entire tape is initially 0. whenever you move right once, you're stepping on a new zero cell, but then you do +, making it 1
therefore it is an infinite loop on an infinite tape
and a non-sequiter is a statement that does not follow logically from what preceded it
but then some interpreters cycle through a finite tape, which means if you've filled the entire tape with 1, you'll be making all the 1s into 2s, 2s into 3s, and so on
until it becomes 255 and then back to 0
@JoKing why is it p++ not a[p]++?
@Bubbler ah
06:31
chat hiccup moment
anyway so when the loop does exit, the current cell is 0 and the rest is filled with 255
so moving left once and printing gives 255 == ÿ
but... wait wait wait im so confused why doesnt it loop once tho?
the current cell is only at 1!
before loop: [1] 0 0 0 ...
it loops until the current cell is zero
inside loop, after >: 1 [0] 0 0 ...
after +: 1 [1] 0 0 ...
1 is not zero so it jumps to the start of the loop
>: 1 1 [0] 0 ...
+: 1 1 [1] 0 ...
rinse and repeat
@JoKing wait really?
06:35
yes
OOOOOOOOH
what's the benefit of that?
:3
makes it turing complete
lol
@JoKing u mean ^^ :3
@Bubbler ?eh
bf is designed to be minimalistic and still be able to do everything any other program languages can do
06:39
like why cant it just end without waiting till current cell is 0
doesnt that waste a lot of bytes?
yes it does
or wait
bf answers are usually veeeeeeerrrrrry long
cant you just +[] then go back to that first cell and -` it?
@Bubbler :3
+[] is an infinite loop
06:40
e.g. this challenge how tha hell did MeWhenl make 18k bytes?
@Bubbler nononon like theres stuf inside
I'm just showing the skeleton of the structure
so my poitn being: cant you make the first cell 1 do whateevr you want with the other cells 2,3,4 .... and then go back to 1 and make it 0?
@DialFrost transpiled from a different language
@JoKing how the heck can u do that lol
arent transpilers hard to make
well, some people just can
@DialFrost you only have < and >, it's hard to navigate if you don't know the exact cell you are on and you haven't made any landmarks
@JoKing then how do people make the first cell 0 to stop the loop then?
06:43
you can end the loop on the same cell you started it on
@JoKing ah so u mean the <- helped make the first cell back to 0 after looping 6 times
let's head off the confusion again. The loop is based on the current cell, not literally the first cell
ye ye
why is there a need for 2 loops like this? tio.run/##SypKzMxLK03O/v9fGwqi7SC0jW4sl7Y2QlRP2w7B1YvWjbUBqvj/…
to print 0 to 9
one to generate 48 in a cell, then the other to loop nine times
@JoKing "pretty easy to learn"? think again :3
can you help explain ++++++++++[>.+>++++++++++.[-]<<-]? I dont entirely understand what's going on in the loop
06:59
just go through it step by step
add nine to current cell, start loop, print cell to the right and increment it, add ten to the next cell and print (i.e print a newline), clear that cell, go back to first cell and decrement it
@DialFrost i think the problem exists between keyboard and chair
@JoKing ?
so to clarify [-] clears the current cell, 10 +'s is a newline?
10 is the byte value of a newline, and [-] is pretty simple, decrement until current cell is zero
So I wrote this code today: println!("{}{}{}{:?}{}{}{}{}{}{}{}{}{}{}",m.0,i.0,m.1,m,m.2,i.1,m.3,i.1+1,m.4,i.1-1,m.4,i.1,m.5,m.6);
@JoKing ah okey
@mousetail nani? lmao
Trying to do this in Rust, https://codegolf.stackexchange.com/questions/253817/increment-decrement-undo-peek

needless to say my answer won't be competetive
07:25
er guys whats the "or" version in SQL
welp this query doesnt work
07:48
@DialFrost Google asm2bf
I read the github and esolang of it
extremely confused what it actually does
@emanresuA?
It's an assembly-like language that compiles to brainfuck
I've heard there's a wip C to asm2bf compiler
Oh cool then you can use cython to compile python to C to ASM to BF
lmaoooooo
Unfortunately im looking for py to BF
doubt it exists
Python is a very complex language, running even a single expression in BF is going to take 800 years
Does this horrify you as much as it does me? codegolf.stackexchange.com/a/253850/91213
08:10
@mousetail yes, Why is it so long!
that print is taking lots of space :p
Yes
Go do better, I challenge you
oh no i have been challenged
@PyGamer0 ggs
I'm sure you can do a lot better, I imagine the shortest answer is like 50% shorter or even more but I'm really not sure how to get there
 
1 hour later…
09:33
what is wrapping and non wrapping
In what context?
brainfuck
+++++[>++++++++++<-]>+[<+++++>-]< (33, 2) non-wrapping
++++[->[->++<]>+[-<++>]<+<]> (28, 3) non-wrapping
>+>++>+[->+++[-<++++>]<<]>- (27, 5) non-wrapping
>-->+>+[->+[-<++++++>]<<]> (26, 5) non-wrapping (soft)
>+>+>+>+[++>[-<++++>]<<]> (25, 6) non-wrapping
+>>>>-[>+[-<++++>]<<-]> (23, 6) non-wrapping (soft)
- (1, 1) wrapping
also what does the soft mean, and the two numbers beside the code
Some brainfuck implementation wrap the instruction pointer around if you go left past the start
Though in this case it seems it's just your editor being confused how to display a very long word
Wrapping in this context means cells
@emanresuA eh
09:41
255 -> 0 for example
oooooh
i get it
how would one perform max in bf
on a more general idea: how can you train yourself to work with bf to "use" these functions that are easily accessible by other langs
10:04
@JoKing maybe?
10:33
@DialFrost you mostly have to figure out everything in terms of increment/decrement, as well as the concept of working destructively
max could be something like; while both cells are not zero, decrement each one and increment an output cell. then add the remaining cell to the output cell, and you have your maximum
@DialFrost the numbers here are the amount of instructions and the number of cells it uses
 
1 hour later…
11:43
ah
tyty
 
1 hour later…
13:04
oh hey I've got palindromic rep
cool
CMP: What is your favourite shell and why?
disco shell from smw
@Razetime I prefer the original sh
@Razetime Tortoise. Feels natural.
13:08
*laughs in only ever used bash*
0
Q: Length of Binary as Base 10 [OEIS A242347]

Pacmanboss256Length of Binary as Base 10 [OEIS A242347] Computers like binary. Humans like base 10. Assuming users are humans, why not find the best of both worlds? Your task is to find the first n terms in the sequence A008559 where each term is the binary representation of the previous number interpreted as...

13:28
@Razetime zsh because it sounds cool :P
zsh autocomplete is cool
I finally got a median difference of -1 byte for vyxμ
waiting for pxeger paragraph response
13:55
@lyxal damnnnnn
wait how did you change the icons???
@Razetime turtle shell :3
Frick you, bash
But anyway, NPSP 2.0: github.com/Radvylf/npsp2
0
Q: Is this series of quotes valid python?

mousetailPython string parsing has quite a few edge cases. This is a string: "a" Putting 2 strings immediately after each other implicitly concatenates them, so this is also a string: "a""a" However, if you put 3 quotes in a row, it will create a "triple quoted string" which can only be ended by another...

14:11
Announcement: Now that NPSP 2.0 is feature complete and seems to be working, it just needs to hang out in the sandbox to make sure it works, then it'll be moved back in here
I'm thinking if it doesn't go down over a sliding one week window it's solid enough
posted on October 28, 2022 by trichoplax‭

Given a radius R, output a text representation of a circle. Input A positive integer R (strictly greater than zero) You do not need to handle values of R great...

@DialFrost Fig
@DialFrost why not
14:28
idk
doesnt look enticing :P
14:57
@Razetime bash
15:31
@lyxal ah ok that makes sense
@AidenChow I like to wait until there's one day left on the bounty to give the answer maximum publicity. :)
@Bubbler Introducing Marvel's newest superhero: Transpiler Man! Due to a rare genetic mutation, he has the power to make transpilers!
15:54
problem: Eric has requested we not call Advent of Code Golf by that name
> Please do not call your event something like "Advent of Code Golf"; this makes it look like an official Advent of Code event. "Advent of Code" is a registered trademark in the United States. You can call it something like "Code Golf Advent Calendar" or "Santa Golf" or "Christmas Code Golf" or "Code Golf December 2022".
@Sʨɠɠan where did you find that?
an email he sent to me
i was asking permission to use AoC challenges in AoCG
o.0
that guy has like 20k followers on twitter
@Sʨɠɠan WHAT
@Sʨɠɠan cc: @Bubbler
@Ginger i was surprised myself, given that we did the same thing last year
16:00
wtf
what do we do??????
should i send an email back reminding him of last year?
no, don't do anything
we need bubbler's input
but like how are we not allowed to use it???
I'm no lawyer but that feels like fair use
perhaps we should ask in the law.se chatroom
it might be legal, but hes not happy about it
we might get on his bad side ⍨
16:08
^^^^
erm which message is that
my fair use one I think
lol yes
ok I've asked in the law.se room, now all we have to do is wait
@Ginger Just change the name. Why not?
16:13
¯\_(ಠ_ಠ)_/¯
in Advent of Code Golf, 6 mins ago, by Razetime
Advent of Golf makes sense
AoC guy might decide that that's too close as well, and I like "code golf" more
also I love overcomplicating things
Oh wait I see
[EMERGENCY MEETING]
:p
@Ginger "Fair use" is 110% irrelevant here
16:17
> I am not a lawyer
which is why I asked some
1. "Fair use" has to do with copyright, not trademark
2. It has nothing to do with making things similar to existing things, just criticism of them
3. Even if it's legally possible, I doubt the guy's threatening to sue us, just politely asking us not to
okay, good to know
But yeah I think the issue is that the name literally contains the words "Advent of Code"
"Advent of Golf" would probably be fine; they don't have a trademark on "Advent of..."
we still need @Bubbler
@Sʨɠɠan Why were y'all even doing that in the first place...those'd just be instant downvotes if they were posted
16:21
not neccesarily
had a convo yesterday about this
Most AoC challenges would be bad on CGCC anyway, but even if they weren't, cross-posting challenges from elsewhere takes very little creativity or work and makes AoCG even less original
i agree with radvylf
16:47
^^
it pains me how awful the code for Schrodinger's Uno is
it's jank all the way down
17:24
alright, so based off of what the friendly law.se user told me I'd say the best course of action is in fact to rename the event
I don't want to and we probably don't have to but it's the safest course of action
@Ginger the easiest*
no, I meant best
you don't want to sue eric?
who'd be doing the suing exactly??? TNB is not a legal entity I think :p
 
2 hours later…
19:00
CMPSA: Please make your package manager's lock files use a different file name from the config file
I don't wanna have to hit tab twice
Just make C autocomplete to Cargo.toml
so like package.toml and waterjet.lock?
or just like lock_package.lock
19:42
I've used JS for several years and TIL an empty array is truthy :/
@Sʨɠɠan that's offensive, how could python be your least fave language
pythonieers, attack
20:00
*pulls out list comprehension*
20:51
@Sʨɠɠan Uh oh. Sʨɠɠan is arguing with Sʨɠɠan...
6
sometimes I really hate git
@Ginger only sometimes?
@Sʨɠɠan that's a doozy for sure
oh no they're evolving
21:25
HECK YEA
ALL TESTS PASSED BABYYYYYYY
(for sechat 1.1.0)
@Sʨɠɠan isn't it the same shit as new Boolean(false) being truthy, where all objects are always truthy
21:44
Idea: a language in which all values are truthy 🤔
there's probably some prolog descendant that fits the bill :P
like i wouldn't say prolog itself because there's too many ways that failure fails to be equivalent to the non-existence of a value
but conceptually it's still adjacent
i was going to say curry until i looked it up and it actually does have a Bool type
CMQ: Do you prefer the JS-style await xyz(), or Rust-style xyz().await?
The latter feels sooo much more elegant to me, personally
i prefer not writing asynchronous constructs at all
21:57
Not only does it get rid of lots of weird operator precedence issues and the ambiguity that makes the error messages when you use it in a non-async function super confusing, it's just a more straightforward and linear description of what you're doing. E.g., "run xyz, wait for the result, then do this thing with it".
yeah rust's syntax is definitely cleaner
@UnrelatedString I do really like the idea of async being done with await as syntactic sugar for futures/promises, for a few reasons
the more stuff on the right of the meaningful names the better
versus mixing stuff around
and god forbid enclosing large expressions in parentheses if the occasion arises
@RadvylfPrograms yeah no i mean just not doing any of that at all lmao
@RadvylfPrograms It makes things like select!/join! or JS's Promises.any/Promises.all much easier to do
00:00 - 22:0022:00 - 23:00

« first day (4290 days earlier)      last day (849 days later) »