« first day (1921 days earlier)      last day (2944 days later) » 

8:03 PM
Hey, I just discovered that I can host Solver on QPixel without any trouble from COPPA - the server's in Ireland :)
If solver writes a chat bot, is it allowed on SE?
@NathanMerrill yeah, as long as it isn't using his email address
wait, why was the new Solver banned?
I thought he used another email address
one that wasn't his own
8:07 PM
I wasn't part of that deletion, so I don't know the details. The only way would be ask him or a CM.
so he couldn't write a chat bot on SE
@QPaysTaxes Aye, but the point of COPPA is to prevent people contacting the kid without oversight. If you don't use your email address, it's OK.
You also need parental oversight.
wait, this other email wasn't his parents?
@QPaysTaxes Oh, yeah. Not a parent's email, though.
@QPaysTaxes aye, from what I gathered he was using a parent's email.
From what I gathered he was well within the bounds of COPPA, actually. But I'm definitely not a lawyer, and if SE's lawyers said better safe than sorry, that's their shout.
@QPaysTaxes exactly
goes and checks the username
8:12 PM
TBH, using SE at all is a way to contact him - that's why parental oversight is required - so it's risky, and SE don't like taking risks there.
I get why that is, though. And it's a terrible part of being a moderator that you have to report people who are otherwise awesome, but it does have to be done.
@QPaysTaxes Yeah. There's a post on MSE. It essentially says that ensuring you're complying with COPPA totally is so expensive and time-consuming that it's just not worth it unless your primary audience is under 13.
Q: Rectangle builder greater area

user3761840This code challenge is from somewhere else, I think is pretty fun problem to solve, hope you enjoyed trying it: I've been trying to solve this coding challenge from Codility for couple weeks now. I just got a maximum of 35% completion according to codility. Please, can somebody help? Here is my...

@QPaysTaxes There are workarounds, some more legit than others, but none of them are totally 100% risk-free.
There is always the chance that the SE team are going to have to delete you.
The primary one is (a) get consent, (b) get oversight, (c) don't use your contact details, (d) don't ever mention your age, (e) act over 13, (f) hope nobody notices or cares enough
I know of a 100% risk-free solution to COPPA
Be >=13
Gah, I hate it when sneezes refuse to sneeze.
@Mego 's pretty good for people who are :)
8:19 PM
Being 21 is simultaneously great and awful. Great because I've unlocked all of the privileges except "lower insurance rates", awful because I have to be an adult.
@QPaysTaxes Yeah. You have to be aware of what you say, in everything you say. Which is difficult, if you don't know COPPA is a thing.
And let's face it most <13 year olds don't
Or, y'know, you can just lie about your age.
Pretty sure my birthday is set in 1990.
I learned about COPPA when I was 12 because of Neopets
which would make me 26... yeah no
I just use(d) 1990 for everything because it's convenient and easy to remember.
I don't have to any more :D
"yes yes I'm 18 shut up now"
@QPaysTaxes You know you're getting old when you can't even remember how old you are ;)
I was barely 18 when COPPA was passed.
So I was one of the "bad kids" that caused COPPA to get passed in the first place. ;-)
8:23 PM
@Mego You haven't unlocked the "run for president in the U.S" privilege yet
@quartata That's not a privilege
@TimmyD I was 4 when COPPA passed. :P
@Mego True
Good gravy, all you young'uns around.
@orlp @ btw
8:25 PM
And 1990 was 10 years ago, dammit. :p
I was 6 when COPPA passed
When did COPPA pass? 2000?
Passed in 1998, effective in 2000
I went off of the 2000 date
Ahh, that's what I was remembering.
8:29 PM
I was using the '98 date.
anyone familiar with peg?
You can create quines with the *nix utility echo. Could I use it in the quine challenge?
; interpret BF
Ä˙Ë0ÅD"[]+-<>,."ßS"@g{ } h›g h‹g È É⇒A0 hª ºA"
@CᴏɴᴏʀO'Bʀɪᴇɴ As in this? en.wikipedia.org/wiki/Parsing_expression_grammar
8:35 PM
@CᴏɴᴏʀO'Bʀɪᴇɴ What are you trying to do?
@quartata Basically make a J-like language.
Am I using the wrong tool ? :P
@QPaysTaxes hoc est pretzelum
@CᴏɴᴏʀO'Bʀɪᴇɴ I don't see how it would be useful, to be honest.
@quartata ¯\_(ツ)_/¯ I've given up on my previous parser, as it can't handle forks etc.
Would #!/bin/echo be a valid answer? It executes as a quine
8:37 PM
@CᴏɴᴏʀO'Bʀɪᴇɴ That's not really a "parser" thing per se.
Are all of your commands one char?
@quartata er, whatever it's called.
@quartata Idk, why?
@CᴏɴᴏʀO'Bʀɪᴇɴ Just wondering.
A: What counts as a proper quine?

Martin BüttnerWe've been discussing this in chat recently, and coming up with a solid definition seems difficult. The best idea I've got is to base a definition for a true quine on the principles given on this page: a true quine will in one way or another consist of data, and code. The data represents the code...

Wait a second.
Maybe I should look at Jelly source to see what he did
8:39 PM
You don't want to look at that :P
why? it surely isn't as bad as J source code
@TimmyD I think it's payload capable
Anyways, if you know the arity of each atom, all you really have to do is to iterate through it and look ahead as needed
NVM it's not a quine
Number literals and what not are just nilads, for instance.
8:41 PM
I guess I could do that. But that would mean I couldn't have variadic verbs, right?
So for instance if the first thing is f then you look ahead one atom. If the next atom is monadic, then you construct some sort of Hook object holding the two atoms.
@CᴏɴᴏʀO'Bʀɪᴇɴ Well, J doesn't either.
Ok got the quine to work
It's not something you can have in a tacit language, really.
@quartata I think it does.
@CᴏɴᴏʀO'Bʀɪᴇɴ No it doesn't. Those are just lists.
8:42 PM
what's a variadic verb, anyhow?
@CᴏɴᴏʀO'Bʀɪᴇɴ As in varity? variable amounts of arguments
So wouldn't (say) + be variadic? It can be monadic (+ 5) and dyadic (3 + 4)
Not really, IMO. There's two +s: a unary + and a dyadic +
one takes one argument the other takes two arguments
But they aren't one function that can take as many arguments as it wants
#Plain Text, 0 bytes
Plain text can be run with `cat filename.txt`. This returns the source code of 0 bytes.
8:45 PM
not sure whether to post this answer
but.... but...
plaintext is not a programming lang by our standards
Violates a standard loophole anyways
You can't have 0-byte quines
8:46 PM
And that.
2 standard loopholes, can we find a third?
A: Loopholes that are forbidden by default

DennisZero-length answers Considering an empty program a quine was original in the 1994 IOCCC. Over two decades later, if you can answer a question with an empty program and that question is scored by length (e.g., code-golf) and is tagged as quine, source-layout or restricted-source, just notify th...

yeah ok ok I get it
A: Loopholes that are forbidden by default

ProgramFOXUsing a different name for something that's prohibited The title is not very clear, I know, but this is what it means: if a specific function is prohibited, someone can use a language where another term than "function" is used (for example "subroutine"), and then that user can claim that their s...

A: Loopholes that are forbidden by default

Ilmari KaronenUsing a made-up language specifically designed for the challenge This includes any language with commands that "do whatever I choose them to do". Claiming that your answer is written in "MyOwnLanguage", where the command x means "read a sequence of numbers, split them into groups of three, and ...

8:48 PM
A: Loopholes that are forbidden by default

ProgramFOXUsing a different name for something that's prohibited The title is not very clear, I know, but this is what it means: if a specific function is prohibited, someone can use a language where another term than "function" is used (for example "subroutine"), and then that user can claim that their s...

Possibly this as well
A: Loopholes that are forbidden by default

Ilmari KaronenInterpreting the challenge too literally That is, if the challenge says "write a function that, given a number n, returns the n-th prime", posting something equivalent to: function f($n) { return "the $n-th prime"; }

Nah, not really.
@CᴏɴᴏʀO'Bʀɪᴇɴ I'm familiar with PEG
@orlp cool! I just need some concept help
(don't kill me) I'm using PEG.js
  // clear the console for ease of use
  var j = 10; while(--j) console.log(" ".repeat(j));
  // define some stuff

  = Term*

Term =
  l:(data)? _ v:verbComb _ r:(data)? {
    console.log("Right arg: ", r);
    console.log("Verb: ", v);
    console.log("Left arg: ", l);
    return eval(r + v + l);
verbComb = VERB:verb ADVERBS:(_ adverb)* {
  	var adverbList = ADVERBS[0];
  	console.log(VERB, adverbList);
    return VERB;
data = numbers:[0-9]+ { return numbers.join(""); }
How might I allow for an arbitrary amount of Terms?
a PEG implementation in ~300 lines
@CᴏɴᴏʀO'Bʀɪᴇɴ there are multiple problems
first, if a PEG can match the empty input, it will always match it
but the big problem regarding your grammar is that you never recurse
How would I do that?
I really don't know much PEG :(
8:53 PM
the intuitive way to do it
would be simply to say term = number / term verb term
but that doesn't work because left-recursion is not allowed in PEG
yeah, that's where I'm stuck. If that doesn't work, then what?
@CᴏɴᴏʀO'Bʀɪᴇɴ take a look at the example at the bottom of my PEG implementation
So by
expr = factor ([+-] factor)*
factor = primary ([*/] primary)*
you implement precedence?
@CᴏɴᴏʀO'Bʀɪᴇɴ can you describe your language better?
@orlp Yeah, of course. Do you know about J?
8:58 PM
what are verbs, verbcombs, etc
I mean, describe the syntax
not what it means :P

« first day (1921 days earlier)      last day (2944 days later) »