« first day (2676 days earlier)      last day (884 days later) » 
00:00 - 09:0009:00 - 00:00

9:07 AM
@Adám there was a sandboxed challenge for that a while back
someone really should revive it
Imagine if you could use ^[10-20]+ to capture the first three elements of [13,19,17,23,12,14]
@Adám yes
King of the hill idea: 3 player "5 in a row", (or x player "y in a row")
@ASCII-only I think I could fairly easily create a variant of QuadR/QuadS to do that. I'd just have to do some substitutions on the regexes…
I think it could be interesting... It's a simple concept, and coming up with winning algorithms could be fun...
9:16 AM
A: Sandbox for Proposed Challenges

Conor O'BrienArray Pattern Matching Language popularity-contest array-manipulation language-design Everyone is (or should be) acquainted with the ways of the regular expression. At its core, a regex is made for matching strings. However, it's just matching something, right? Why not match arrays? That would ...

I wish I could play it with someone... Unfortunately my University days are long gone, and I won't find two others that are willing to try this out now (that find such games fun)...
@StewieGriffin We used to do that during boring classes in University.
@Emigna Well, did it make the classes fun...?
It was quite common to end with 2 players one move from winning and the 3rd in a position to determine who should win
Which made it hard to win as player 2 was determined not to have me win, while player 3 was determined to help player 2 winning
Yeah, I guess that will probably be the outcome in many cases...
9:24 AM
It did pass time
And it is strategically more fun than a 2 player game
though less fair
But fair if bots are playing...
Unless two bots team up against one.
depending on the bot programming
but it's usually not allowed to have a bot help or hinder a specific other bot
What do you think about the challenge idea?
Sounds fun
Not impossible that it's been done before though, so better that check that before you make a sandbox post
I'm not skilled enough to make such a challenge, so someone with more skills would have to make it...
9:28 AM
Well, a 1v1 has probably been done and a ffa should be different enough imo
I was just venting this here, hoping that someone interested would go: "Hi, I'll do it".
I'm sure someone can pick it up :)
9:45 AM
I hope people enjoy my challenge.. I am going away for a couple of days so any questions need to be now
10:34 AM
Q: Leaderboard not working correctly

O.O.BalanceThe snippet used in many questions to generate a leaderboard is not displaying correctly for me, and some links are not working. I am using Firefox 59.0.2 (64-bit) on macOS 10.13.2 (High Sierra). The snippet can be found (and run) here. Here's how the snippet, when run, renders for me: That'...

10:51 AM
@ASCII-only New avatar?
@Adám you just noticed? :P
@ASCII-only Yes. How long has it been?
well it has only been like half a day :P
Q: Code-generator with unique characters

Stewie GriffinChallenge Your task is to write a piece of code that outputs another piece of code. That code must in turn output yet another code until the final code outputs the integer 1. None of your programs may share any characters (there's one exception in the Rules-section). The winning submission wi...

@ASCII-only Does ^w^ do anything useful in any language?
10:53 AM
@Adám probably not :/
it's not like ><> did anything useful either :P
if anything, it's the opposite of useful :P (infinite loop in a bunch of fungeoids)
@ASCII-only ><> can distinguish character from numeric data in J. `It returns 0 for numbers and errors for anything else.
@Adám :O nice
@ASCII-only But then again, <~ is shorter.
@ASCII-only In Dyalog APL, ><> is a dyadic function which returns an array of 0s (expanded to match both arguments) for numeric arguments of compatible shapes and errors for all other arguments. E.g. [1,2,3] and 2 gives [0,0,0] but [1,2,3] and [1,2] errors.
11:46 AM
@Adám hmm. what should be valid between [] apart from ranges and single integers
@ASCII-only Non-matching [^5,7] matches all numbers except 5 and 7.
@Adám hmm. I'm thinking , for logical and and ; for logical or would be more appropriate?
@ASCII-only But there could be other patterns, e.g. just like \pL matches letters, something (e.g. \nP) should primes, etc.
@Adám definitely. also good idea, since that allows multi-character functions as well. the problem now is how to define new functions
(more specifically, being able to create a regular expression that corresponds to one specific integer)
@ASCII-only [a-fxyz] in normal regex includes all of them. What do you mean by AND and OR?
@ASCII-only A specific integer would just be 42. Brackets are for ranges. Obviously, a whole host of number properties should be built-in, just like \b \w \d and \p… etc. But a custom function could be specified e.g. using \f{} where the ellipsis is some concise programming language taking a single number and returning a Boolean.
11:55 AM
@Adám the regex itself basically has to be a concise programming language in the first place
@Adám yes. but you can't do [0-9123], so I was thinking [0-9;1;2;3]? re: AND, sometimes (see conor's sandbox post) you might need, say, something like (?:-/ 1,1) (pseudocode representing it has to be: - dyadic minus with arguments / = /1 = previous element and 1, logical AND 1)
@ASCII-only Sure, but instead of inventing a whole new mathematical notation to specify mathematical properties, just include an existing one. So, e.g. to use APL, one could match a sequence of between 5 and 7 numbers that are divisible by 4: \f{0=4|⍵}{5,7}
@Adám 0=?
@ASCII-only I don't understand the AND part, specifically what the pattern matches.
@ASCII-only Zero is equal to 4's division remainder of the argument.
@Adám element == previous_element - 1 && element == 1
@ASCII-only So previous element is 2 and this element is 1?
12:02 PM
@Adám ah, so | is mod. was a bit confused because I think | is normally used in math to signify divisibility?
@Adám yes.
@ASCII-only | is backwards (swapped arguments compared to division) mod.
this is possible with lookaheads/lookbehinds but it seems like it would be useful for e.g. fibonacci?
@ASCII-only Hm, but you can't do anything like that in PCRE, can you?
@Adám (?<=2)1 should work I think?
or \b(?<=2) 1\b maybe
@ASCII-only Sure, but that doesn't specify a relationship between them, that's just two constant values. That exact same regex should work here too.
12:06 PM
@Adám (well, in this case it would work, since element needs to be one)
@Adám but it would be possible in a theoretical integer regex language with no nth previous element but with lookbehinds (fibonacci probably possible too, but if there are too many lookbehinds it may start to get confusing)
CMC : Match any uppercase letter letter followed by its lowercase. E.g. match Ab and Dd but not aA or ee or BB or 3X.
@ASCII-only ^ Can regexes have parts that are related (other than being identical to each other)?
@Adám in perl? yes :P. normally? no, AFAIK
So I had to convert my disk from MBR to GPT to update Windows, and in the process had to fix it misplacing the boot sector. Somehow, that caused me to grow an extra Windows entry in the UEFI boot menu, and more impressively, three extra entries for the motherboard's built-in UEFI shell.
you can use regexes as FSMs occasionally, but for simple things like this it's the same as just enumerating every possibility
@ASCII-only Well, so too here, it isn't obvious that this potential language should be able to do so. However, it could be useful to tentatively match a given number of elements, and then use a function to determine if it is an actual match or not. E.g. \n{5,7,{0=4|⍵}} matches all runs of length between 5 and 7 where all members are divisible by 4.
12:38 PM
> followed by its lowercase
so don't match Ab? wut
@betseg Oh, typo. Should have said Aa
@betseg yes. why
@ASCII-only he said "match Ab"
12:53 PM
@ASCII-only {⍵/⍨⍺⍺¨⍵} is a solution in Dyalog APL:
1:03 PM
About the leaderboard: Why don't someone just implement the suggestions/etc.? Should I just do it and edit the post?
@MartinEnder ?
@Adám you didn't have to golf the interpreter :P
@ASCII-only Interpreter?
@user202729 not exactly an interpreter, but throw an eval in there (actually, does APL even have eval?) and it's an interpreter
@user202729 Sure, I don't think I'll get around to fixing it any time soon.
Q: How long is this string?

Mega ManIt's strange this question hasn't been asked yet, so here it is: Calculate the length of a string given through STDIN Rules As said, your string will be given through STDIN, not via command line arguments Print the length of the string to STDOUT Only ASCII chars will be given, but every ASCII...

1:18 PM
@ASCII-only It isn't golfed at all, just a natural solution. :-)
@ASCII-only That's how APL is wrtten. How would you write that "ungolfed"?
@user202729 i meant more as in that's like the minimal valid solution (if it even is valid :P)
@ASCII-only But notice that the "pattern" is really a function that given a list returns a Boolean if it "matches".
1:42 PM
Slightly more sophisticated version, allowing saving up to four bytes in when using it:
2:24 PM
Also -- what was inside the css file in the stack snippet? Both links don't work.
Q: Divide them all

Thomas AyoubA Math.SE user have a funny game explained as such: Pick a random positive integer X. Add +1, 0, -1 to make it divisible by 3Keep track of how much you've added and subtracted. That is your "score".. Divide by 3 to create a new X. Repeat steps 2 and 3 until you reach one. I'm ex...

Now I can find only the "primary.css" and "stacks.css".
In case someone is interested in hasn't heard yet, Junethack starts in three days.
2:45 PM
@Pavel after I read the first paragraph under "Welcome", I'm not so sure :)
@ngn If you're not familiar with Nethack already the only part that you'll find relevant in a month of playing is the part about eating your enemies' corpses
It takes people years if not decades to get to the "fight your way through heaven" part.
@FreezePhoenix Because it's the one true way. Spaces are for tabulation.
2:51 PM
Really, tabs are bad a tabulation.
Indentation should be 8 tabs rendered at width one.
@Pavel Don't you mean spaces????????
Then why would your tabs behave like spaces?
2:53 PM
I once had this partner that would use tabs.
Now, remember, I use spaces.
And he also didn't consistently indent.
So, I had this nice and pretty file,
and he made some changes,
And half of it was indented with tabs X_X
@FreezePhoenix Easy solution to that, unexpand -t=4 FILE | sponge > FILE
@Pavel Huh. what if I want 2 spaces per tab? change it to this:
unexpand -t=2 FILE | sponge > FILE
Sure, but most people use 4.
(These people are wrong, 8 is the true way)
@Pavel ಠ_ಠ \piɛnʒif\ or \piɛngif\ ?
@Pavel ???
3:00 PM
8 makes it hard to read and even harder to scroll and even larger of a file size.
@J.Sallé I don't read IPA
why are tabs bad?
At that point most of your file is spaces.
@Soaku Because a tab can vary in size. Spaces are constant.
> Now, some people will claim that having 8-character indentations makes the code move too far to the right, and makes it hard to read on a 80-character terminal screen. The answer to that is that if you need more than 3 levels of indentation, you’re screwed anyway, and should fix your program.
@Pavel png = \piɛnʒi\ ; gif = \gif\
3:02 PM
(Disclaimer: unless the FBI is following you or you changed the character width.)
@J.Sallé In that case, I pronounce pngif as the latter
@Pavel thank god you're not a heathen, then!
> There are heretic movements that try to make indentations 4 (or even 2!) characters deep, and that is akin to trying to define the value of PI to be 3.
@Pavel Boi 3 levels of indentation is necessary for for loops in for loops.... where was i?
@Pavel I use 1 :)
3:04 PM
@Pavel Ok you're making stuff up now.
@ngn No thats worse than 8!
@FreezePhoenix Right. You get 3 levels of indentation, and then you're done.
@FreezePhoenix Leading tabs are always the same, unless you use Word. And unlike space, you can configure their width in most editors, only visible this way for you (so nobody has to scream for your code using wrong indent amount).
@J.Sallé The g in gif is bad enough, but the backslashes...
@Dennis D: oh no, not you! Do you really say jeef?
3:06 PM
@FreezePhoenix This is the official position of the Linux kernel development team
@Pavel o.O
pi@raspberrypi:~/Downloads/XtraUtils $ unexpand -t=2 String.js | sponge > String.js
bash: sponge: command not found
unexpand: tab size contains invalid character(s): ‘=2’
pi@raspberrypi:~/Downloads/XtraUtils $ unexpand -t=2 String.js | sponge > String.js
@FreezePhoenix apt-get install moreutils
NO you must do it by hand or with a builtin!
pi@raspberrypi:~/Downloads/XtraUtils $ apt-get install moreutils
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
pi@raspberrypi:~/Downloads/XtraUtils $
3:08 PM
I know... I use linux :P
pi@raspberrypi:~/Downloads/XtraUtils $ unexpand -t=2 String.js | sponge > String.js
unexpand: tab size contains invalid character(s): ‘=2’
Short options don't use =.
3:10 PM
They sometimes do
Yeah shouldn't it be just -t 2?
@Pavel it succeded with no errors and also cleared the file.
Bad you!
Hmm, that shouldn't have happened
Yeh... and I just lost an hour of work.
Oh well :| Its only an hour
The command was this:
@FreezePhoenix The whole idea of sponge is not to use >.
3:13 PM
I'm dumb
@Dennis I didn't write that :P @Pavel did
Since > truncates the file to size 0 before executing the commands.
Yeah that was my bad
@Dennis so... don't use the >
@FreezePhoenix Now, what have we learned about executing commands people post into TNB?
3:15 PM
Gosh darn it @Pavel you solved the problem the wrong way!
@Pavel Or any other place of the internet, for that matter.
You turned all the spaces into tabs!
Tabs-to-spaces is expand.
And technically, he turned the spaces into nothing. :P
Everything else too.
No... I found the working method
~ $ expand -t 2 String.js | sponge String.js
3:17 PM
@Dennis Good point, at least in tnb generally people aren't actively trying to cause harm.
Now if I could just figure out how to configure my editor...
Its leafpad
@Pavel And then there are blogs that replace ordinary ASCII quotes with fancy Unicode ones. Copy-pasting those commands is only marginally better than piping /dev/random to bash.
@Dennis I know the deadliest piece of code ever.
The iPhone now defaults to “fancy Unicode quotes” which is a pain when using tio
sudo rm -rf /*
#Please nobody try this
3:21 PM
@FreezePhoenix 0/10, sudo rm -rf /*
@FreezePhoenix 0/10 just do sudo rm -rf --no-preserve-root /
@HyperNeutrino Mine is golfier and does the same thing
Ok... this is a codegolfe room
@FreezePhoenix The easiest way to prevent people from trying it, is to not post it in the first place.
3:24 PM
There, "smart punctuation" has been disabled, which greatly improves my typing experience
When I type a " I expect one. Not a
@ATaco thats smart quotes....
@Dennis Shiny piece of advice. Will remember.
I know, and knowing this allows me to disable this functionality
Because most languages don't allow print “Hello, World”
I'm pretty sure no language lets you do that but TrumpScript
Jelly uses smart quotes, but not print.
Jelly is a unique exception
3:31 PM
ERROR: Exception "Jelly"
3:45 PM
good grief does anyone know of a way to install eslint faster for unit tests?
3:58 PM
Math.floor(number['*'](Math.random())); da heck.
That doesn't even work...
4:15 PM
String length in batch without temporary files? Only 212 bytes. Most of that is working around Batch's very buggy " handling.
4:32 PM
@ATaco Disabling "Smart Punctuation" is a blessing, indeed!
@ASCII-only Why didn't you use the built in "array.forEach" method
Oh cus you redid it...
4:55 PM
@Mr.Xcoder o/
Hi \o
Hows your day going?
Well so far, thank you. How 'bout you?
Pretty good.
Just tested a build and It's a success.
5:38 PM
@J.Sallé you're missing a d
no one says /piɛnʒi/ although you can
@FrownyFrog yeah yeah I did it on the fly.
@Pavel use 0 indentation.
public class Main {
public static void main(String[] args) {
if ("HyperNeutrino" != "smart") {
/ʒif/ sounds like жив
Russian for alive
@FrownyFrog I thought в sounded like v?
5:47 PM
@J.Sallé Correct
it devoices
it sounds noticeably worse if you don't say it like жиф
Final-obstruent devoicing or terminal devoicing is a systematic phonological process occurring in languages such as Catalan, German, Dutch, Breton, Russian, Turkish, and Wolof. In such languages, voiced obstruents become voiceless before voiceless consonants and in pausa. == Dutch and Afrikaans == In Dutch and Afrikaans, terminal devoicing results in homophones such as hard 'hard' and hart 'heart' as well as differences in consonant sounds between the singular and plural forms of nouns, for example golf–golven (Dutch) and golf–golwe (Afrikaans) for 'wave–waves'. The history of the devoici...
род and рот are homophones etc.
@FrownyFrog "golf - golven", I like that :)
it says you're supposed to pronounce bad cat as bat cat
after saying that it should never happen
a flat contradiction
@FrownyFrog not in English
that's what it says for English
5:54 PM
@FrownyFrog I see. Same as in German for most words, then.
@FrownyFrog it says "devoiced to some extent" - [bæd̥ kʰæt], that's not quite the same as [bæt kʰæt]
are you sure?
that d̥ is not t?
yeah you're right, it's all approximations anyway
Q: Zero sum in python 2.7

ArleneWrite a function in Python 2.7 that takes a list of integers as an argument. It should return True or False depending on whether there are any 2 integers in the argument list that sum to zero. [4,-4,9,6,5] True [6,5,-3,2] False

yeah, also I think it's incorrect to write English t as [t] in IPA, though everybody does it
most often it sounds to me like either [t <sup>s</sup>] (sorry, I don't know how to type IPA) or [t <sup>h</sup>] in BrE, and [d] or even [r] in AmE
lol I actually intended to dupe-hammer that one ^^^ as (codegolf.stackexchange.com/q/113365/68942) but it doesn't have any winning criteria and I can only do that for
6:07 PM
@ngn german L is clearly different from the English
it sounds like lʲ to my Russian ear
@FrownyFrog in English it's "light" or "dark", depending on what follows; in German it's always "light"
but you'd never see anything different than l in English or German ipa
So I totally see what you mean
@FrownyFrog It depends on how detailed it is. Generally IPA in [ ] is supposed to be precise. In / / the phonemes could be simplified.
I think many English consonants are aspirated so the [t <sup>h</sup>] is totally fair
thanks, I'll try to remember which one is which
@FrownyFrog yes, the plosives: p k t
6:15 PM
Hm, in Mandarin there are no words that end with sounds that are normally voiced (I think, I don't know much about pronunciation mechanics)
[ ] are precise because it's the identity function :D
@NMP this is the first time PPCG react to such a challenge like that. Nobody downvotes and people participate in it like if everything was ok.
Is the world finally growing wise?
OP posted and I think left their computer. Wondering if someone should just edit it to make it non-language-specific because the challenge idea is good just the language-restriction is not encouraged.
@HyperNeutrino could this be their homework?
6:24 PM
Hm. Possibly, but I don't think so... Not sure though. I've never been given CS homework that isn't something like "spend half an hour dragging GUI stuff around in Eclipse and 2 seconds writing code" but OP might have a competent CS program.
6:46 PM
CMP: How do you call special methods, like constructors?
@Soaku NameOfClass()
@Mego I mean... How do you call them...
I just answered that
I don't mean how do you call them in code... -_-
Then what do you mean?
6:52 PM
How do you call special methods, just as all of them. For example, PHP calls them "magic methods"
Oh, as names? I like to call them sugar methods, since they're syntactic sugar in a lot of langs
I added "unpossible mode" to IBMF, where only one-line lambdas are allowed as filters, with no access to locals or globals. This is evil :D
7:39 PM
What is IBMF?
Q: The Farfallino Alphabet

CrisThe Task Your task is to create a program or a function that, given a sentence, outputs it translated to the Farfallino language. 'Y' is treated as a consonant. The usual rules for farfallino alphabet are based on the substitution of each vowel with a 3 letter sequence where the vowel itself is...

@Zacharý A rather odd language concept mego invented
The idea is you get an infinte stream of ranges and you define filters on them
@J.Sallé Is the /i/ because you were unable to type /ɪ/, or do you actually pronounce it that way?
@HyperNeutrino Mandarin doesn't have voiced sounds that contrast with voiceless ones, if I remember correctly, so that wouldn't even be an issue.
8:44 PM
there's an online tool to type IPA by Doorknob, very cool
@HyperNeutrino Dude whatsup with the indentation.
Small nitpick: ʞ isn't possible, if I remember correctly
@Zacharý Yah sure about that? You just typed it.
The sound...
Not the letter
A velar click, or more precisely a back-released velar click, is any of a family of click consonants found in paralinguistic use in several languages of Africa such as Wolof. The tongue is in a similar position to other click articulations, such as an alveolar click, and like other clicks, the airstream mechanism is lingual. However, unlike other clicks, the salient sound is produced by releasing the rear (probably velar) closure of the tongue rather than the front closure. Consequently, the air that fills the vacuum comes from behind the tongue, from the nasal cavity or the throat. == IP...
8:54 PM
Ah, back-released.
@Zacharý apparently possible somewhere in Africa, but don't try it at home, there's danger of choking :)
If I remember correctly, there is one sound that if done exactly (opposed to using the symbol as an approximation), you would be in grave danger of swallowing your tongue >_<
@ngn "possible" and "impossible" in IPA correspond mostly to impracticality in language, (c.f. palatal trill)
Q: Get all combinations of a JSON object which can have different values for each key

RohitIf I have a JSON object as below: var json = { "key1": "value1", // possible values value1, value1.1, value1.2 ... "key2": "value2", // possible values value2, value2.1, value2.2 ... "key3": "value3", // possible values value3, value3.1, value3.2 ... } I need to create a function which w...

9:10 PM
@Zacharý Found it: ` ʕ`
9:45 PM
I once had to pronounce "Xhosa" for a school presentation.
Nearly did choke
I clicked almost passably the first time, but the rest asked that I pronounce it again...
@FreezePhoenix ? but it does work?
@FreezePhoenix :| this was a long time ago ok (also i have no idea why)
@ATaco Charcoal uses smart quotes, but not print too :P except all Charcoal smart quotes are for compressed strings only
@FreezePhoenix also where
10:00 PM
@Scrooble is that click supposed to be on both sides of the mouth?
one side seems easy
@HyperNeutrino so this is basically Charcoal just with Python builtins :P
(instead of canvas-modification builtins)
10:19 PM
@ASCII-only No it doesn't...
@FreezePhoenix have you tried it
@ASCII-only Uh... in ever single for loop you had.
@FreezePhoenix with this?
@FreezePhoenix because for is faster?
and I think I wanted to support older browsers so I didn't use the superior for(... of ...) loop
@ASCII-only umm.... the for loops could be replaced with forEach
@ASCII-only Did you benchmark that?
@FreezePhoenix it's slower, is it not...
10:22 PM
@ASCII-only Lemme test.
@FreezePhoenix it's almost certain (benchmarking would be micro-optimizing) because there's no lambda for one (i.e. no weird scope things)
Those weird scope things are a part of javascript.
Also, I added several of your methods to the corrosponding files on the repo.
@FreezePhoenix no. lambdas have especially weird scope things
If you say so...
also: maybe flatten should have a default depth of Infinity :P (function flatten(depth=Infinity))
10:26 PM
@ASCII-only Not sure how that would work out...
@FreezePhoenix ?
Well, you - Yeh it would work.
@ASCII-only you should put up a code review on your gist.
@FreezePhoenix gist?
Yeh... that one you linked me to?
@FreezePhoenix :| this is not a gist
Yes thats what the "oops" is for.
A: Utilities for Various Builtins #2

Máté SafrankaThe Utility class should keep track of its own activation state, otherwise calling .activate() multiple times on the same instance (without calling .deactivate() in between) might cause some problems; also, in the current code, calling .addUtil() after .activate() leaves the instance in a limbo s...

A potential end-user response. The best.
Heh. So is javascript not that great for code golf?
I'd assume so, considering the number of "nicities" and such.
@FreezePhoenix end-user?
it's really great what are you talking about
@FreezePhoenix what. "nicities"?
11:13 PM
@FreezePhoenix Are you confusing JS with Java?
11:31 PM
@Zacharý No...
@ASCII-only an end-user is someone who is at the bottom of the usage pole, i.e. consumer, prospector.
11:50 PM
Okay, where are all the BF variants coming from on TIO?
@FreezePhoenix yeah but is that really the response an end-user would give
@Zacharý people wiring BF variants because they're easy to do
It just seemed like a sudden influx.
@Zacharý also just check talk.tryitonline.net for who requested them
@FreezePhoenix you probably are >_> JS is great for golfing, Java not so much at all
Not necessarily "great," just much better than Java.
00:00 - 09:0009:00 - 00:00

« first day (2676 days earlier)      last day (884 days later) »