« first day (2023 days earlier)      last day (2803 days later) » 

12:00 AM
the dude who started ppcg is back
@EᴀsᴛᴇʀʟʏIʀᴋ o_O
@JonathanAllan yes
@ConorO'Brien (AKA Platypus?) Thanks
wait why am I a platypus
oh, thought that was the image of the platypus image question
12:04 AM
@JonathanAllan dragon =\= platypus?
lol the founder of ppcg is only at 3.3 k rep?
He started the A51 proposal
but he didn't "found" it I wouldn't say
@ConorO'Brien OK you are not who I thought you must be (Easterly Irk)...
A: Sandbox for Proposed Challenges

Easterly IrkI can't believe it's not a Platypus!!! This is an image of our wonderful pet platypus @Cyoce. This is also an image of the same person, or is it? (hint: it isn't) Your task is to determine whether a inputted image is @Cyoce in disguise... The input may be taken in any form. It will also...

see the image
@JonathanAllan xD
12:09 AM
that would be @Cyoce
Ah true
12:24 AM
CMC polyglot: do the collatz sequence. score is bytes / ((# of langs - 1) ^ 3)
@ConorO'Brien yes a platypus I am
\o/ I haven't seen you in a while!
The power of the @
Getting back into things as summer comes to a close
And the notification helped :P
12:29 AM
welcome back :D
1:03 AM
@DJMcMayhem s/snek/danger noodle/
I'm trying to learn as many languages as possible to see what works best
@Zwei you should try reticular
it's object oriented and slightly functional
I don't like OO too much
(1) then you might not like cheddar (2) what do you like? (3) you can do stuff without objects in reticular
1:05 AM
1) I understand that 2) Haskell and Rust are probably my top 2 favorite at the moment and 3) I know
here, just let me show you a shunting yard algorithm
I'll take that as a yes
\ {"+":[01],"-":[01],"*":[02],"/":[02],"^":[13]} "prec" =
\ {"+":[+],"-":[-],"*":[*],"/":[%],"^":[J]} "func" =
\ ["prec"`~F~$~$]kKp ["prec"`~F$~$]kKa [dnNEQ]kKn [2@dHNE~$]kKh ["func"`~H~$]kKf [dT"String"E]kKs
v   <
\ 0b "queue" = 0b "stack" =
            v                  =q@"queue"&~ <j*44             <
> "> "oiSBq > l0E!v_Kn|^+~c. _ .cn "queue"` ^
                      >d" "E?v$>"stack"`V?v$"stack"`~&"stack"=^
            ^              $$<            > :2= :1= .1Kp .2Kp   .1Ka [Y][y]2b~H~$  g  ?v$"stack"`.1&"stack"=
@Zwei :D if you like haskell you'll probably like cheddar too. cheddar is very functional
@ConorO'Brien cheddar doesn't even have classes tho
@Downgoat BTW, I'm going to make a function that'll describe multi-op behaviour within functionized ops
@Downgoat not yet
1:07 AM
@ConorO'Brien ok
Conor, the example you gave seems rather... esoteric. With all of my knowledge, I can't really begin to form any intutions as to how it does what it does
@Zwei well, yes, it's an esoteric language
1:23 AM
2nd gold badge on arqade! \o/
Ironical the only site I have multiple gold badges on is one I'm least active on.
Q: Continued Fraction of a Rational Number

mbomb007The continued fraction of a number n is a fraction of the following form: which converges to n. The sequence a in a continued fraction is typically written as: [a0; a1, a2, a3, ..., an]. Your goal is to return the continued fraction of the given rational number (positive or negative), whether ...

I wanted to ask this :(
do any of you use an email client?
@NathanMerrill kind of, sometimes
75 messages moved to Cheddar
I'm considering getting one, as I have several email addresses I keep open and watch
1:26 AM
If I messed any up, feel free to move them back @Downgoat
the only two I know of are outlook and thunderbird
@NathanMerrill yes, mutt
@NathanMerrill yes
@Doorknob windows here :/
@Downgoat @ASCII-only do you have one to recommend?
@NathanMerrill The one I sometimes use is Thunderbird
but it's Mozilla so you might not like it
1:29 AM
what's wrong with Mozilla? They made Rust, after all
I use mutt, objectively the best
Rust, and firefox
claws mail is good too
very lightweight
@NathanMerrill yeah but a lot of people don't like FireFox
true. I'm not a fan of the browser
I don't know if I could do a console email client @mutt
1:32 AM
@NathanMerrill apple mail. its great and does all things
Mutt is very easy to use.
I don't doubt it, but you aren't going to get images/html/links
I have it set up with w3m to dump html emails into the console, and yes, links work fine
I also have mailcap set up to view HTML emails in browser if I want to
oO I've never seen a text based browser
1:35 AM
Yeah mutt handles links and attachments just fine. Who cares about HTML
htnl messages are usually spam anyways
@NathanMerrill A browser as in a real browser
But I can think of 3 popular text-based browsers off the top of my head
@NathanMerrill never used lynx in a pinch? huh
once again, I'm on windows
that said, when I'm on a linux box, I pretty much use chromium
well, sure I could also use linux subsystem to run any of this stuff
but I have chrome, which suits me just fine
1:39 AM
Mutt probably works under Windows
anyways, back to email clients, I guess its really just Thunderbird and outlook
and mutt
On a very unrelated note, this looks absolutely amazing. Just look at those thumb keys and palm (!) keys.
It's pretty expensive though.
@Doorknob that's gorgeous. You got $330 lying around, burning a whole in your pocket? :P
1:45 AM
@DJMcMayhem any more democracy polls?
Prolly not for a while
@JonathanAllan that's me
never got around to finishing that
one day I'm sure...
@Doorknob though its not on fire. Since your website is keyboardfire I'll be disapointed if your keyboard is not fire
has anyone seen this: 19thbyte.com ?
1:52 AM
@ConorO'Brien holy shit. What?
@ConorO'Brien 0/10 doesn't redirect to https
Jun 14 at 3:52, by Quill
PSA: 19thbyte.com works now :)
domains are nearly as cheap as my time
So you just buy random ppcg-related domains for fun?
@Quill what about a TIO domain
Aug 5 at 21:24, by Eᴀsᴛᴇʀʟʏ Iʀᴋ
@Quill make tio.ppcg.lol redirect to TIO? (cc @Dennis)
@Doorknob dang
that looks epic
@DJMcMayhem s/ppcg-related// and yeah
I'd prefer something shorter
2:02 AM
@Quill golfier: fpdW
@DJMcMayhem Remember, sed is not vim
But vim is shorter!
vim is pretty
2:16 AM
I immensely enjoy turning typos into editor-golf CMCs.
@ASCII-only fi2dWi<
what does i< do? (sorry i don't vim)
insert mode, then <
@Downgoat that's pretty obvious, a stream editor can't compete with a text editor
@Downgoat fic2w<
2:19 AM
@Downgoat CMC: do what you just did, but you have to flip "vim" and "sed" and do > instead of <
@Doorknob TIL 2cw removed is not instead of just is<space>
I think you could do $bDdTdbhpa> but surely that can be shorter.
@DJMcMayhem Even WCvim>sed is shorter :P
Haha, yeah that's kinda sad
(which is honestly what I'd do if I were actually in this situation)
2:22 AM
Or 2WDbivim>
That's tied
@Downgoat wait wat
@Downgoat that's valid?!
Why wouldn't it be?
i made some progress on infographic
idk, does that change motion to nothing?
@DJMcMayhem what does it mean/how would that be parsed
2:28 AM
@ASCII-only 2cw is c2w
Also, 3d2w == d6w
what does it do exactly? is it translated to c2w or does it do cw twice?
@ASCII-only it does cw twice
@Downgoat ok then how is that surprising
i thougt w just does \w+ but apparently it does ` +\w+`
2:30 AM
Not quite. :help iskw
\w is always the same, but w can vary.
@Downgoat I don't think that's true. If you do cw<esc>cw it's very different.
Partially because cw is special-cased to behave like ce
Ohhhh, is that intentional? I was noticing that and it bugged me.
I might change that for V since otherwise cw is redundant.
2:48 AM
@Quill halp how detect EOF with fs.read
no idea
3:16 AM
@downgoat carefully
@ConorO'Brien ಠ_ಠ
btw it's Downgoat not downgoat
3:32 AM
he's on mobile
A: Automatic box expander

DJMcMayhemV, 6 bytes lyêpjÄ Try it online! Explanation: l "move one character to the right yê "yank this colum p "paste what we just yanked j "move down to line 2 Ä "and duplicate this line

Answer the question dj
I did
@NathanMerrill a lot of work goes into your challenge man...
I'm blind apparently
3:43 AM
I love it when challenges like that come along and I get to show off what V is best at.
Hey dj is there a v room
Yeah, there is


Discussion about golfing in Vim/V. vim.org/download.php github...
It's a pretty quiet room. It got frozen before
@DJMcMayhem Why are your answers always 1 byte longer than they should be?
Cause V is very buggy and I don't work on it as often as I should.
@Mego Yes, you're right
@Mego And what about the other examples where you have two numbers?
And what does pop "a",[b]: push "a"%[b] mean, since that doesn't appear to work in TIO. P and p don't work in TIO either
3:58 AM
@Sherlock9 I believe it is string formatting
@Sherlock9 P works
Good lord, I've finally figured it out
I'm trying to write the Seriously docs
@Sherlock9 p works
And I ended up using the Actually code
4:00 AM
@Sherlock9 No?
@Sherlock9 Did you use two digit numbers?
Leaky stop the pinging
Ok sorry
Yeah, that makes more sense now
@NathanMerrill actually, this will be too much work
there's way too many possibilities and corner cases
if anyone wants to continue, here's my partially golfed C program: gist.github.com/orlp/d90c9ffef4e093555ee36cf43c00ca89
@orlp Can 0-indexed?
4:02 AM
@LeakyNun what?
@orlp Your new challenge
@orlp sorry!
@LeakyNun oh, no
please conform
I know I made it tough
@orlp alright
4:03 AM
@NathanMerrill do you have a program that works yourself?
not that I've written, no
if at some point you want to make it easier, give the source position for every move :)
@NathanMerrill basically, you can make the situation arbitrarily complicated to theoretically have an unambiguous move
en-passant, pinned pieces, not allowing to check yourself, fifty move rule, etc
in fact, for some you even need to look in the future
you can disambiguate moves on this turn by realizing that on a later turn you castle, therefore your castling path could not have been exposed this turn, therefore you can eliminate potential ambiguous pieces
woah, never though about that
etc etc
I can clear that up in the challenge
aka, if there is any possible piece of the type that could move to that position, then it will be unambiguified
4:12 AM
what do you mean by that
regardless of the legality of moves
you need to rephrase that or be more specific, because as I interpret your message right now every move will be unambiguified
aka, if two pieces could have moved to the same spot, but one would put you in check, I'll still give additional information that makes it unambiguous
but there are many such examples
I don't know if we're even good enough at chess to list all of them
@NathanMerrill omg I just had the most evil idea
right, but if there are two pieces (of the same type) that both have a moveset that could potentially put them in the same spot, I'll always make it unambiguous
4:16 AM
@NathanMerrill challenge: write a context-free grammar that accepts any and only unambiguous games in PGN
@NathanMerrill what about a moveset where line of sight is obscured?
wouldn't that just end up being an enumeration of all possible moves?
@orlp hmmm....let me think about that
@NathanMerrill possibly
with the fifty rule
the maximum number of moves is <9000 or smt
so the CFG exists for sure
since the number of unambiguous PGN games must be finite
well, sure, you've got a finite number of pieces on a finite board
@orlp I think that line of sight still must be taken into account
anyways, I'll update my challenge tomorrow. I'm heading to bed
if you happen to work on it, have fun, don't kill yourself over it :)
1 hour later…
5:28 AM
chat is dead
chat is ded huh?
I have a feeling that zyabin is a chat necromancer who summons chats via the phrase "chat is dead".
@Downgoat please nope
I never say that ;_;
I kinda want upvotes to my "showcase your language" post on Coffeescript (self-promo!).
Just to see what I can get up to.
5:59 AM
CMC: produce this exact string "1267650600228229401496703205376"
Hint: it is 2^100
what is meant by produce?
Do I win?
@DestructibleWatermelon No.
6:10 AM
@DestructibleWatermelon 4**50
I believe this is shortest method in python 3
Another Python method: int("1"+"0"*100,2)
Not very short, but I thought it was an interesting idea
@Sherlock9 use 4**50
That isn't really the point of my answer. I'm adding another method, not trying to be short
6:13 AM
My apologies
I'm just golfing your method
I was just about to type that
int("1"+"0"*25,8) also
@DestructibleWatermelon nope
6:19 AM
aw... I did it wrong?
2^100 = 4^50 = 16^25
why is my brain ail to dai
come on, pick a more interesting language
I don't know any ;_;
;_; why
@LeakyNun boring cheddar answer: ->"1267650600228229401496703205376" interesting cheddar answer: Encoding.base64.encode("×n»ë:ÓM¶óm½ãMx÷®ôßm9ß¾")
6:22 AM
why not proper cheddar answer, or does cheddar not have maths?
cheddar? :D
@DestructibleWatermelon cheddar does not support huge numbers
it will soon tho
I kind of want to make my own language but I can't ;_; I'm doomed to boring python answers that get outgolfed by dennis everytime...
@Downgoat not interesting.
you can't minus one a chat post, unless you star it first
also, get minus one'd
6:26 AM
@Downgoat If you want to be interesting, do (2^50)^2 by convolution
@DestructibleWatermelon ;_; y u do dis destructible watrmeln. i now liek indescrubtable watrmelns betr
convert 2^50 to digit array and then make a multiplication table
and then add up the diagonals to form a new array
then carry
then convert to string
@Downgoat This is destructibilitist
CMC: Given a CMC output a CMC which solves this CMC by solving the CMC by outputting a CMC to solve the CMC
CMC: Solve the halting problem
6:29 AM
Runtime Error: String has no property map
now downgoats CMC is impossible MUHAHAHAHAHAH
@Downgoat please
2 mins ago, by Downgoat
@DestructibleWatermelon ;_; y u do dis destructible watrmeln. i now liek indescrubtable watrmelns betr
@LeakyNun use String.bytes or String.chars then map
or use for in. even multiline lambdas have implicit out
Do you have diagonals?
cheddar> ("%d"%2**50).bytes.map(n->n-48)
[1, 1, 2, 5, 8, 9, 9, 9, 0, 6, 8, 4, 2, 6, 2, 4]
First step done
oh "%d"% that is genius
6:31 AM
cheddar> (a->a.map(i->a.map(j->i*j)))(("%d"%2**50).bytes.map(n->n-48))
[[1, 1, 2, 5, 8, 9, 9, 9, 0, 6, 8, 4, 2, 6, 2, 4], [1, 1, 2, 5, 8, 9, 9, 9, 0, 6
, 8, 4, 2, 6, 2, 4], [2, 2, 4, 10, 16, 18, 18, 18, 0, 12, 16, 8, 4, 12, 4, 8], [
5, 5, 10, 25, 40, 45, 45, 45, 0, 30, 40, 20, 10, 30, 10, 20], [8, 8, 16, 40, 64,
 72, 72, 72, 0, 48, 64, 32, 16, 48, 16, 32], [9, 9, 18, 45, 72, 81, 81, 81, 0, 5
4, 72, 36, 18, 54, 18, 36], [9, 9, 18, 45, 72, 81, 81, 81, 0, 54, 72, 36, 18, 54
, 18, 36], [9, 9, 18, 45, 72, 81, 81, 81, 0, 54, 72, 36, 18, 54, 18, 36], [0, 0,
Second step done (convolution)
Now I need diagonals
@Downgoat old trick
@LeakyNun j->i*j -> (*)&i
@Downgoat Do you have diagonals?
idk if i should add diagonals built-in
maybe as part of matrixes feature
though i already did add hashmaps
i shuold start writing cheddar stdlib docs....
6:37 AM
cheddar> ((f->a->f(a)+f(a.turn(2)).rev.slice(1))(a->(|>a.len).map(n->(|>(n+1)).m
[[1], [2, 4], [3, 5, 7], [8, 6], [9]]
@Downgoat diagonal done
cheddar> (f->a->f(a)+f(a.turn(2)).rev.slice(1))(a->(|>a.len).map(n->(|>(n+1)).ma
[1, 2, 5, 14, 30, 54, 93, 152, 208, 282, 343, 354, 347, 370, 381, 372, 432, 384,
 324, 340, 328, 196, 192, 136, 132, 104, 76, 40, 52, 16, 16]
Convolution done, now carrying
carrying is the hardest part
@Downgoat floordiv?
cheddar> (a->{var c=0;a.rev.map(n->{n+=c;c=n/10|0;n%=10}).rev})((f->a->f(a)+f(a.turn(2)).rev.slice(1))(a->(|>a.len).map(n->(|>(n+1)).map(i->a[i][n-i]).sum))((a->a.map(i->a.map(j->i*j)))(("%d"%2**50).bytes.map(n->n-48))))
[1, 2, 6, 7, 6, 5, 0, 6, 0, 0, 2, 2, 8, 2, 2, 9, 4, 0, 1, 4, 9, 6, 7, 0, 3, 2, 0
, 5, 3, 7, 6]
cheddar> (a->{var c=0;a.rev.map(n->{n+=c;c=n/10|0;n="%d"%(n%10)}).rev.fuse})((f->a->f(a)+f(a.turn(2)).rev.slice(1))(a->(|>a.len).map(n->(|>(n+1)).map(i->a[i][n-i]).sum))((a->a.map(i->a.map(j->i*j)))(("%d"%2**50).bytes.map(n->n-48))))
it can still be golfed further
cheddar> ((a,c=0)->a.rev.map(n->{n+=c;c=n/10|0;n="%d"%(n%10)}).rev.fuse)((f->a->f(a)+f(a.turn(2)).rev.slice(1))(a->(|>a.len).map(n->(|>(n+1)).map(i->a[i][n-i]).sum))((a->a.map(i->a.map(j->i*j)))(("%d"%2**50).bytes.map(n->n-48))))
a bit more golfed
carry and format: ((a,c=0)->a.rev.map(n->{n+=c;c=n/10|0;n="%d"%(n%10)}).rev.fuse)
diagonals and sum: ((f->a->f(a)+f(a.turn(2)).rev.slice(1))(a->(|>a.len).map(n->(|>(n+1)).map(i->a[i][n-i]).sum))
convolution: ((a->a.map(i->a.map(j->i*j)))
generate 2^50: (("%d"%2**50).bytes.map(n->n-48))))
can be golfed by fusing step 2 with step 3
6:54 AM
77% coverage!!! that's an all time high
@Downgoat ?
@Dennis can you update cheddar on TIO? npm install -g cheddar-lang
this version brings ΛεγίωνΜάμμαλϠΨΠʹ's rationals
@Downgoat wait what
6:55 AM
How do I use rationals?
brb fixing
but how to use them
lmao, can't even use cheddar now
halp how uninstall v39
Rational.of(numerator, denominator)
@Dennis @LeakyNun can you all do npm install -g cheddar-lang@v1.0.0-beta.38 most recent version is borked
@LeakyNun XD
@Quill do you know if I symlink npmignore to gitignore if that'll work?
6:57 AM
@Downgoat Done.
this is most embaraasing bug >_>
"today is the day"*(2**100)

« first day (2023 days earlier)      last day (2803 days later) »