user165474
12:22 AM
@ASCII-only The state immediately before a circle of all 0s must have all adjacent elements unequal. That means that you have to have `1 0 1 0 1 ...`, with an even number of 1s and 0s. But there are an odd number of terms, so you can never have a fully alternating sequence.

@HyperNeutrino oh yeah forgot i could work backwards

user165474
yup c:

12:35 AM
@Christopher you should put bounty then

user165474
I have a +100 bounty on it now.

10

Life: Created or Evolved? Given the state of a square Game of Life grid, determine whether it could have evolved from any previous state, or could only have been created. That is, identify whether the state is a "Garden of Eden" state. Input A square grid of states, with 1 indicating "alive" a...

user165474

user165474
12:51 AM

no

user165474

1:06 AM
Yay I just became a second page user. :D

0

Task: Given sample index, x, calculate sample value f(x) of triangular wave, with period of 4 samples and amplitude 1. Offset can be negative and sample value could be either {0, 1, -1}. Test cases: -5 -> -1 -4 -> 0 -3 -> 1 -2 -> 0 -1 -> -1 0 -> 0 1 -> 1 2 -> 0 3 ->

@DestructibleLemon I'm on the second page of users sorted by rep

nice I guess

hey, internet experts: I'm looking for an adblocking DNS: any suggestions?

1:10 AM
thats a thing?

yep
far better than any extension, as it works for all devices

the only downside is that you can't easily turn it off

^ I was gonna say

Anonymous
@NathanMerrill I've heard good things about Adguard DNS, but I don't have firsthand experience

1:14 AM
that said, if there are sites that prevent you from using their content with adblocker, you can either try to remove their popup with dev tools, try a chrome extension that stops anti-adblocks, or just not use the site

I was thinking of answering the snowball koth with Turtlèd, but then that'd make the koth slow probably

most of the time I realize I don't really want the content
so I just move on

I hate it when I disable my adblock but they keep telling me to turn the adblock off

CMC: Given an integer larger than `0`, and less then `2^32-1`, output the Digital Product. That is, while the amount of base ten digits is larger than 1, get the product of the digits, and repeat.

if only there were a prod function in python...

1:26 AM
@ConorO'Brien Are you still writing the blog post on Brain-Flak?

oh, more blog things are being made!

@HyperNeutrino Yay ty
@WheatWizard Page 27 myself. Almost 26

Anonymous
@ATaco Actually, 7 bytes: `⌠♂≈π\$⌡Y`

Anonymous
Integer input instead of string input is similar: `⌠\$♂≈π⌡Y`

Anonymous
Fellow Pythonistas: should a function composition decorator like `@compose(f) def g(): pass` compose the functions as `f(g())` or `g(f())`? In other words, should the function being decorated be the inner or the outer function?

Anonymous
1:41 AM
I'm leaning towards `f(g())`, but I'm not sure yet

user165474
@DestructibleLemon `reduce(__int__.mul, list)`

that's not golfy at all

user165474
¯\_(ツ)_/¯ it's the best we can do

user165474
I think

user165474
@ATaco Jelly, 7 bytes: `DP\$>9\$¿`

1:49 AM
Now, is there an integer that this does not terminate for?

how do I check highest voted answers across the site?

user165474
That becomes a question of whether or not the digital product ever does not decrease.

user165474
I conjecture that for any positive integer, the digital product will be strictly less than the integer itself (assuming it has at least 2 digits).

Anonymous
@HyperNeutrino That's trivial to prove. A stronger statement is that for all non-negative integers, `N >= digital_sum(N)`

user165474
1:56 AM
Well, the thing is, it won't terminate if `N == digital_product(N)` and also sorry, I meant digital product

Anonymous
(if `N < 10`, `N == digital_sum(N)`, else `N > digital_sum(N)`)

user165474
sum is easy to prove

Anonymous
Oh digital product

user165474
yeah sorry i typo'd the first time

Anonymous
That should also be easy to prove

Anonymous
1:59 AM
For single-digit numbers, the largest digital product is `9`, from `N = 9`

user165474
Yes.

Anonymous
For double-digit numbers, the largest digital product is `81`, from `N = 99`

Anonymous
For triple-digits, it's `729` from `999`

user165474
Yes, but what about the other values? Is it possible for there to be a number that's less than 99 but has a digital product not as much smaller than 81?

Anonymous
The digital product is multiplied by `9` each time, but `N` is multiplied by a value that converges to `10` from above

user165474
2:01 AM
I see.

Anonymous
So after `9` the two start to diverge, with `N` growing faster

user165474
I see. But that still doesn't strictly prove that the values in the middle follow the same divergence pattern.

Anonymous
It does, though. `digital_product(N)` is at most `9**(log10(N) + 1)`

user165474
Oh alright I stand corrected :)

user165474
`all(map(lambda x:x>reduce(int.__mul__,map(int,list(str(x)))),range(10,1000000)))` is `True` so I think it's probably correct.

Anonymous
2:07 AM
So if `N > 9`, `N > digital_product(N)`

Anonymous
Now repeated application is a different story

user165474
Well it will always converge down to a single-digit number because it's always decreasing until it reaches a single-digit number.

Anonymous
@HyperNeutrino That extra `list` call isn't needed - `str`s are iterable

user165474
oh lol

user165474
well i'm not golfing but okay thanks :) i should know that for future python golfing

Anonymous
2:10 AM
@HyperNeutrino That's true. So digital products (as well as digital sums) only have fixed points for `N < 10`

user165474
Yay. Now how about digital exponentiation? :D D:

user165474
(I watch as a giant downvote button descends into the active users list)

user165474
^ sorry random thought of the day

Anonymous
Since exponentiation isn't commutative, an order has to be chosen

user165474
Right-To-Left (exponent tower)

Anonymous
2:12 AM
So `digital_exp(123) == 3**2**1`?

user165474
Sorry, I meant left-to-right but operation order right-to-left, so `digital_exp(123) = (1**2)**3`.

Anonymous
Either way, digital exponentiation will grow infinitely large with some `N`: `9**9` won't converge

user165474
Yeah.

user165474
So no it won't converge.

user165474
But, for which values will it converge to a single-digit number when repeatedly applied?

Anonymous
2:13 AM
Some will (like 200), but a lot won't

user165474
And is there a way to prove that all numbers will either converge fully or diverge infinitely?

user165474
I think most won't.

user165474
But are there any cycles?

Anonymous
I have no idea

Anonymous
Sounds like a question for Math.SE

2:13 AM
A single 0 means the result is 1.

Anonymous
I asked this interesting question over there and got a very good answer

Anonymous
Now I'm going to make it into a challenge

KoTH (abstract) idea: Players try to perform tasks which take different amounts of turns. However, credit is only given to the player that finished the task.
perhaps these tasks are only available in certain locations, so the players have to choose which tasks to progress towards

@NathanMerrill so basically bots have to try to be the ones to finish the task?

yeah
I'm still trying to get a solid definition down
but I think it's an interesting mechanic
perhaps some sort of planning phase where they indicate what they plan on working on, and certain steps are hidden?
oh!
Just give the players 10 credits a turn
they can spend them on a single task
Oooh...and maybe unused credits get saved, but only at 50% rate

user165474
2:23 AM
Ooh, sounds like an interesting KoTH :D

I'll wait for yours to die down

I'm assuming moving takes a turn?

er, there's no moving
that was an earlier idea, but I don't like it

oh okay then

user165474
@NathanMerrill Too many KoTHs at once is not a good idea?

2:24 AM
you just have a queue of tasks, and players can only work on the 3? next ones
@HyperNeutrino not enough of a playerbase
KoTHs need all the submissions they can get

@HyperNeutrino it's fine but when too many people are focusing on one of them not as many will focus on another one

user165474
Ah, I see. Makes sense.

although, I really need to start posting KoTHs more

@NathanMerrill How do turns work? Is there an order to the players' turns?

I've written controllers for two of them

2:26 AM
with this? (btw the markdown is broken)

@ASCII-only yes
you randomize the order
oh it is!
@ASCII-only yeah. I was also helping Splix post his KoTH for a good month or so
it was going to be really cool
or was Splix the name of the game?
I think that was the name of the game
yep, his name was JAtkin

oh crap my pi implementation was broken D:

The problem with KOTHs is, I never participate because it takes a significant effort, and I'm afraid it will be wasted by no one else palying.

yeah, but they are fun to think and theorize about

2:55 AM
Wait what TIL journals published in the future exist

user165474
eh what

@HyperNeutrino google for example ""food chemistry volume 230" -> 1 september 2017 -> wat

you sure you don't mean Theoretical Inquiries in Law journals?

user165474
Yay time travel

@WheatWizard sort of. finals are just around the bend (I have my french oral exam tomorrow in fact), so it's on hold for the moment

2:59 AM
Ok no rush, good luck on finals!

thanks !

Anonymous
@ASCII-only Second result: "in progress"

@WheatWizard random question, but can brain-flak output through its exit code?

@ConorO'Brien No it only has two exit codes, one for ran and one for syntax error.

hm, ok

3:02 AM
I don't really know much about Exit codes.

I was wondering if it would be possible to do this challenge in brain-flak

@WheatWizard `Kernel.exit(code_number)`

@ConorO'Brien Yeah definitely not

an exit code is a number that tells how the program exited. In python, this can me `sys.exit(number)`. This number usually has some special meaning, e.g., `2` could mean `no such command`. it's a nice way for scripts to inspect how a program terminated
you can inspect the exit code on windows with `%ERRORLEVEL%` and in bash with `\$?`

TIL that aircraft registration numbers work somewhat similar to .com domains: you can pay \$10/year to reserve a special registration number.

3:04 AM
isn't that the standard registration model?

Yeah Brain-flak only has 2 (maybe 3). I think they are inherited directly from Ruby

you either have one-time register, or renewal-fee registration, no?

@HyperNeutrino have you done a run of your controller?
Looks like your question got closed but I kinda still want to know the standings.

@WheatWizard hm, maybe there could be a sort of "extra-flak"? maybe using unicode brackets to do things like exit codes, sleep/wait, and other system-y stuff

Anonymous
@ConorO'Brien PeripheralNervousSystemFlak

3:08 AM
I think @0' was working on something like that that would allow for system calls, but you'd have to ask him

@Mego You need SpinalCordFlak first IO

Anonymous
@ASCII-only That's the connection layer between the two

oh true

@WheatWizard was he planning on using that exact name? if not, I think I'd like to take a stab at writing something like that. (after exams of course :P)

@NathanMerrill yeah I guess, I was surprised they let people have a choice at all

3:09 AM
oh, you were thinking it was some government-issued thing?

actually I can ask him >_> @0' what are your plans for this sort of extended brain-flak thingy?

yeah, that would make sense as well

@ConorO'Brien Don't think so, go ahead. He was going to allow I think for arbitrary system calls.

what's the game where you pick up sticks and you want to/don't want to take the last one?
ah, found it, Nim!

I'm designing a 2D Esolang that can be embedded on various topological surfaces.
There's a gif of it running on the surface of a Klein bottle.

3:17 AM
@WheatWizard nice
but make it clear the screen with ansi code pls tyvm

Yeah I hope to do that soon. :)

@WheatWizard `print '\033[2J\033[0;0H'`

Oh I was going to get it to run in place, not just clear the screen, but I suppose thats an improvement

user165474
@PhiNotPi Oh R.I.P the challenge, but no I haven't finished the run yet. I've started, and it looks like Aggressor can't be beat except by the ugly duckling, but I still need to update your code and re-run. I've only completed all rounds involving the Aggressor.

user165474
Dupe, right?

3:24 AM
@HyperNeutrino yeah.

user165474
Okay

user165474
R.I.P.

user165474
I guess Nathan can start on his KoTH then

I voted to reopen because it thought it was cool ;-;
I don't expect it to be reopened though

@WheatWizard run in place?

user165474
3:26 AM
thanks :D but yeah I don't expect it to be reopened because dupes typically aren't reopened.

that's probably better for this because you only need to redraw two characters per frame

@ASCII-only I was going to use ncurses to make it run without clogging up the terminal.

@WheatWizard oh okay

@HyperNeutrino I think I fixed my entry earlier (because I had written my own controller which was different than how it was supposed to be), so I think my entry works, if it doesn't no point in fixing it now.

@WheatWizard btw +1 for agnoster and edgeless terminal

3:32 AM
@ASCII-only Agnoster?

@WheatWizard idk, your terminal looks like it uses the zsh theme agonster

Nah, I'm using the fish theme Shellder
I am using borderless though.

@WheatWizard do you think fish is better than zsh (btw looked it up, oh-my-fish is pretty much a port of oh-my-zsh, shellder is a port of agnoster)

I like fish a lot, I haven't used zsh though.

```<< NaN === NaN
>> false```
ಠ_ಠ

3:43 AM
That's required by the standard.

Anonymous
@TuxCopter Blame IEEE 754 for that one

Anonymous
All comparisons involving `NaN` are false

Well, not all.
```< NaN !== NaN
> true```

user165474
lol

Floating point numbers are confusing

3:45 AM
Since `a += b` is the same as `a = a + b`, `a === b` should be the same as `a = a == b`.

I like the proposal with `a <= b` better.

And `a====` should be the same as `a===1` because `a++` is the same as `a+=1`

twitches

@Dennis What proposal is that `a<=b`-> `a=a<b`?

Yes.

3:48 AM
I need to make a language where every operator has these versions

user165474
no

user165474
:)

@WheatWizard *every binary operator

user165474
CMC: Make the most counter-intuitive esolang ever

@HyperNeutrino Malbolge

user165474
3:49 AM
lol

user165474
anyway I have to get up early tomorrow morning so I'm going to bed now. Good (night|morning|afternoon|evening) everyone! o/ [UTC-4:00]

@TuxCopter it's not counter-intuitive though

@ASCII-only In what way is `2783gy7w89q9j4#2373828@` not counterintuitive

@TuxCopter it's hard to understand but not counterintuitive

Counterintuitive should do exactly the opposite of what you expect not just something you don't expect

3:51 AM
@WheatWizard Precisely. (Plus Malbolge doesn't do something you don't expect, you don't even know what to expect)

But if you know the language is counter-intuitive, wouldn't it have to do exactly what you expect in order to do the opposite of what you expect?
5

You make half the stuff do exactly what you would normally expect and half do the exact opposite.

Anonymous
@WheatWizard Nah, half is too predictable. Have `e`% of the stuff work as expected

Anonymous
@HyperNeutrino HQ9+. You think it trivially solves HW, 99BB, and quines, but instead it gets you a bajillion downvotes.
7

@Mego 2.718281828%?

3:55 AM
We don't consider Q a quine even though it prints its source, you can't get much more counter-intuitive than that.

We don't consider Q a quine because it reads it's own source.
And the Emoji button's almost complete!

Yeah, but its pretty amusing that the Q stands for Quine when it actually makes the program in question not a quite.

Anonymous
11

@ATaco no no no no
We're a civilized place, not Facebook

4:01 AM
Don't worry, it will work everywhere.

NO
@ATaco When searching an emoji empty categories are visible
Making them invisible would be better

Yeah, Probably a good idea. I just need to work out how to do that.

`x.style.display = "none"` ?

Categories aren't uniquely defined... Yet...
Also, Regex is supported in the search, by accident.

oh that's cool

4:15 AM
@ATaco 0/10
i'm assuming you're using `string.match`

`pattern.test`
Precompiled because it was the fastest method.

🙋Hi!

😒 Now because of ATaco TN🅱️ will be flooded with emojis

I simply created the tool, I am not to blame for the use.

Anonymous
@ATaco You could have just not created the tool...

4:18 AM
⬆️

But I was curious if I could.

Anonymous
Excessive use of emojis falls under disruptive behavior, in case it isn't clear.

TuxCopter, I used my tablet's keyboard for the Emoji, not ATaco's tool. I am on Android.

Anonymous
@ATaco That's how you get killed by dinosaurs

@ATaco ... Of course you can

4:20 AM
Why are people against of Emojis? 😱
Emojis are cool! Cool as this drink : 🍺

Yes but emojis are normies
and that's not good

Emoji can be useful at replacing expressions we may otherwise pull in face to face conversation, something not necessarily achievable in pure text chat.

True

CMC: `ljust` a list in python.

🐳 Also whales.

4:23 AM
@ATaco And people in business suit levitating >_>

`🕴`

And 💩, of course!

Like who tought 🕴 would be a useful addition to Unicode

@WheatWizard as in iterate and ljust? or pad list?

4:24 AM
Device batter draining. Going to charge 🔌

@WheatWizard like this? `lambda l,n,f=' ':l+[f]*(n-len(l))`

Yeah, I wonder if there is a golfier way to do it, thats what I cam up with as well

Can someone help me with this? I am trying to implement Game of Life, but getting an error.

@ASCII-only Thanks for that! But I would like to resolve the error that I am getting. Can't figure out why it's happening! If you know JS, could you help me? 🙏

4:37 AM
@Arjun I live and breathe JS no wait i'm not at that level yet, Downgoat and Conor are
@Arjun yeah ik i'm debugging atm
@Arjun `setTimeout("")`?

@ASCII-only For waiting a second between ticks.

@Arjun um that doesn't work like how you think it does

@ASCII-only ?

@Arjun `setTimeout` doesn't block the running of the function
so the while loop is constantly being executed = bad

@ASCII-only What should I do then?

4:47 AM
@Arjun i'm working on it, will post link when finished if that's ok with you
@Arjun some notes: use `classList` methods instead of `className` hacks, use `===` instead of `==`

@ASCII-only Okay. In the meantime I will implement methods described here.

@Arjun Don't

@ASCII-only I will improve the quality of code (and even make the code object Oriented) once I get it working.

I've already changed it to use `setInterval` which is the sane way to do it
@Arjun wait what that's what i've been doing for like the past 5 minutes :(

Sorry :P

5:04 AM
@Arjun oh one other thing, `tempCells = cells` won't work because the elements aren't copied
@Arjun found your problem: in your `j` loop you increment `i`

@ASCII-only Nah, that's fixed. (Probably the link gives you older code, this is the latest code) The problem is that when the value of j becomes 9, isAlive function is called with isAlive(i-1,j+1) which causes error. I will fix it later myself, since my device's battery is only 4% left. Thanks for you help, though!
That is why the error occurred in the tenth iteration.

@Arjun I'll fix it + send a link because I've already done a lot anyway

Okay, then!

5:22 AM
@Arjun Because they're irritating and get everywhere.

@Arjun also you can't do chained comparisons in JS (i.e. `4 > count > 1` doesn't work as you'd expect)

That in particular does `(4>count)>1` which is `(false or true)>1` which will always output `false`

Here is the topological language I was hinting at earlier. I have just finished the first working version and would appreciate any feed back.

@ASCII-only Fixed (ie it does not produce; but does not work as expected)! And the time between iterations part is still not working properly. But I don't have time to debug it now (2%). The code is currently very messy, I will make it better later! If you fix it, just a drop a link as you said. I will come back some hours later. So kind of you to help! (1%) Thank You! Bye! (0%) Gone......

@Arjun ;_; forgot to save rip me have to do it all over again

5:30 AM
The "Fixed" link that I have given you is the latest code.
@ASCII-only Don't worry, I'll fix it later! No problem! Thanks for your help!

@Arjun doesn't matter, i'll do anything to stop seeing `pauseComp` ever again i can redo it, it isn't that hard

Oh okay. Thanks, again!
Bye!
Will come back in a few hours.

@Arjun bye

5:45 AM
@WheatWizard 0/10 "Klein" and "various topologocal surfaces" don't make sense together

It was intended to just be Klein bottles when I started out but then I figured why not add as many as I can

@WheatWizard pls rename

Do you have any suggestions?

also "topologocal" 0/10 typo
@WheatWizard Manifold maybe? Manyfold? :P
Or else use Topology or some derived word/word containing Topology

Object Non-Orientable Programming

5:49 AM
Yes this 10/10

Except most of the surfaces are orientable.

6:11 AM
Hey you know what would be pretty cool? PPCG Graduating.

@ASCII-only I need more help with JS
@ATaco LOL, funny joke
So I have a file `foo.js` with a class called `Bar`
How do I do something like this in another file (e.g. `main.js`)?
```/* insert require code here */
test = new Bar();```
As opposed to
```var foo = require("./foo.js");
test = new foo.Bar();```
So instead of `foo.Bar()` I just want `Bar()`

6:27 AM
`var Bar = require("./foo.js").Bar`

@Qwerp-Derp ok

@ASCII-only See text below my ping

@Qwerp-Derp What browser/node version

@ATaco Thanks, it works!

basically: can you use fancy new ES6 stuff
if you don't mind using ES6,`const { Bar } = require("./foo.js")` looks cleaner IMO

6:45 AM
If you're using node.js, you can add to your package `modules.exports=Bar` And then you can call it with `var Bar = require("./foo.js"); new Bar()`

Never code to arbitrary standards! Viva la revolution!

7:18 AM
At the rate Jalapeño's going, it might end up being a competitive language.

7:31 AM
if a polyglot answer has been provided because the answer is identical in multiple languages, that means there shouldn't be answers for each of the languages then, right?
codegolf.stackexchange.com/a/106187/65532 the comment in this question points out that there's already a polyglot answer of this

@numbermaniac There should

there should be one for each language, you mean?

7:46 AM
@numbermaniac given the polyglot answer is marked as community wiki and clearly states "Edit to add other languages for which this is a valid answer", I don't think those languages should have their own answer. Plus PidgeonScript has been added to the community wiki answer, which means the standalone PidgeonScript answer is now a duplicate

7:57 AM
alright, thanks 👍