12:04 AM
@WheatWizard what do I have to do to have polynomial time?

@DestructibleWatermelon It doesn't have to do anything just loop in polynomial time from the input

ok, I don't know how to make something be polynomial time...

:O One day away from 500 days

@DestructibleWatermelon It means that when you input `n` it should take n^k time with k being any integer greater than 1.
Big O notation is a mathematical notation that describes the limiting behavior of a function when the argument tends towards a particular value or infinity. It is a member of a family of notations invented by Paul Bachmann, Edmund Landau, and others, collectively called Bachmann-Landau notation or asymptotic notation. In computer science, big O notation is used to classify algorithms by how they respond to changes in input size, such as how the processing time of an algorithm changes as the problem size becomes extremely large. In analytic number theory it is used to estimate the "error committed...

@WheatWizard `[...]`?

12:09 AM

Without using what

hmmmm, if you used the height of the stack, you can pop to decrement, but making the height of the stack the input could be hard...

@WheatWizard What is that

@El'endiaStarman do you have experience with symbol tables?

12:11 AM
@ASCII-only `([()()()])` pushes negative 3. `[...]` makes what ever is inside of it negative.

@PhiNotPi Some, considering that I implemented variables in Pytek.

is unary input allowed?

@DestructibleWatermelon no

hmmm, seems impossible

12:12 AM
thats what makes it a challenge :P

@mınxomaτ Woah, that's mind-bending.

I think it is impossible now
might be a bit hard for a CMC

How is it impossible? Also how is input taken? ASCII?

@ASCII-only Input is taken as a single integer

Hmm

12:14 AM
Why not just square it and loops through?

@DJMcMayhem you need the negative monad to do that

I'm not sure it's possible to do without polynomial time...

@DestructibleWatermelon It's easy to do `O(1)` though

@WheatWizard For the squaring or the looping through?

12:18 AM
@Dennis considering the unanimous support of a PPCG blog, can you inquire to the SE overlords about us getting one? (or is there some other process you can recommend)

@DJMcMayhem both

@ASCII-only is that really a loop though?

@DJMcMayhem Looping
@DestructibleWatermelon Yeah `{{}}`

Input is one integer
And that would be `O(N)` not `O(1)`

No I was talking about a one integer loop in `O(1)` time

12:20 AM
@Downgoat That's hardly unanimous, considering its participants are "a small subset of regular chat users." Actually what it's not even unanimous at all, with only 78% in favor...

@DJMcMayhem it pops the number and the loop only runs once

@Doorknob other 22% is "Indifferent" there is 0% for Nay

@Downgoat SE is actually planning on shutting down individual site blogs, since they aren't active enough, I guess. We can make our own on another platform though.

Also, we went over this, but it never became a thing.

@El'endiaStarman huh :/ that sucks
I think Worldbuilding uses Medium

12:21 AM
@Downgoat IIRC, yes.

@Doorknob The site was surely much smaller 2 years ago

@WheatWizard Yeah, thinking over it, I'm almost positive it's impossible. Without wrapping or any way of decrementing...

I think that was before code-trolling even? (am I wrong?)

What would a blog be about?
Like, what's an example post, who gets to write it, who ok's it?

12:31 AM
@HelkaHomba anyone (who is approved) can write on it
> Writers can submit their stories to a publication, where the story will be reviewed by its editors before being added (editors can also make edits to your story). Writers also can remove their story from a publication to which it has been added.
^ from help center

@EᴀsᴛᴇʀʟʏIʀᴋ are you going to try?

sure
join my game?

Destructible watermelon
also how would I join your game...
oh, found you

@HelkaHomba I'd think a lot of it would be language design

@ASCII-only I was thinking that too. We have questions for golfing ideas, mostly.

12:38 AM
@HelkaHomba Language design, code-golfing, site talk, etc.

A few posts could be about incredible posts, like primo's (right person?) record-breaking BF Hello world program or Martin's brute-force of cat programs in Hexagony.

@Downgoat I think this question would be more appropriate for meta

@DJMcMayhem hm :/ I'll wait until a mod enters the room and I'll discuss it with them (and whether or not I should post a meta post)

@Downgoat How about you just start up the blog, do a few posts, then encourage others to contribute too? Spearhead it and show it's a cool idea and others will be more enthusiastic.

@El'endiaStarman right person

12:40 AM
I wouldn't mind contributing a post. Just gotta pick some topic...

I'LL WRITE FOR THE BLOGGGGG ON ESOLANG DESIGN

hahahaha

@ConorO'Brien Yeah, and maybe ROFLcopter as well

I'm not so sure about it; that feels like it's appealing to a small part of PPCG. It kind of feels like we have so many niches that a blog about them all would require a lot of folk

@Downgoat Just maybe use a custom account/email to make it so transferring ownership later is easy (unless the blog platform makes this easy)

12:43 AM
@quartata What sort of niches?

I guess "niches" was a bad word for it. But with all the different kinds of challenges, languages and just general interests it seems like it would be hard to make something that truly encompasses our scope and not just a limited part of it
Esolangs aren't everything

(not to understate Mr. Heisenberg's work, but still...)

But it's a major part

@ASCII-only Really isn't.
The vast majority of people here golf in regular languages

But a lot of solutions are of esoteric languages
I have no idea what we could talk about for regular normal languages apart form Pytek/Cheddar etc and golfing tips

12:49 AM
0

Given an ASCII string, output the exploded suffixes of it. For example, if the string was abcde, there are 5 suffixes, ordered longest to shortest: abcde bcde cde de e Each suffix is then exploded, meaning each character is copied as many times as its one-indexed location in that suffix. For e...

@HelkaHomba idk what emial platform to use for that tho then
if i try making ppcg blog specific gmail account, google will log my location, phone #, and all my information
and if account is transfered then ono

@ASCII-only true

1:18 AM

### PPCG Blog

Discussion about the PPCG Blog: medium.com/code-golf
@El'endiaStarman can you move all these messages into ^?

Sure. One moment...

thanks
brb

68 messages moved to PPCG Blog

thanks!

Idea for a game: conway's game of life, but multiplayer

1:28 AM
@noɥʇʎPʎzɐɹC Been done before

Woohoo!

52

You probably know Conway's Game of Life, the famous cellular automaton invented by mathematician John Conway. Life is a set of rules that, together, allow you to simulate a two-dimensional board of cells. The rules decide which cells on the board live and which ones die. With some imagination, y...

ninja'ed
@mınxomaτ would you be interested in possibly having the podcast on a unofficial PPCG blog?
5

1:30 AM
@ASCII-only I know, but that one's not fun

@EᴀsᴛᴇʀʟʏIʀᴋ No I wasn't

@EᴀsᴛᴇʀʟʏIʀᴋ I would definetly.

you don't count
i'm asking the guy who owns it.

@quartata oh, sorry
@noɥʇʎPʎzɐɹC no. This is a PPCG blog, not a coding-in-general blog.

1:32 AM
@EᴀsᴛᴇʀʟʏIʀᴋ Ok then who's willing to start a democratic, crowdsourced blog for the developer culture?

Not me!
@noɥʇʎPʎzɐɹC that exists, it's called r/programming >_>

0

Goal Generate (N) random line segments of uniform length (l), check if they cross the equidistant (t) parallel lines. Simulation What are we simulating? Buffon's needle. Smooth out the sand in your sandbox, draw a set of equally spaced parallel lines (call the distance in between t). Take a st...

Anyone know a good way to have a keyboard macro run automatically every time a certain application opens?

@mods can pls officialize unofficial ppcg blog

@EᴀsᴛᴇʀʟʏIʀᴋ that, my friend is technical stuff. I'm talking "oh here's a cool library" "oh here's a good podcast on economics"

1:34 AM
that's... r/programming generally
if not that, then it's some other subreddit. I've seen it before.
@Downgoat we can do a meta post later

> "No gods or kings. Only concrete."

@noɥʇʎPʎzɐɹC that's been a thing for a while, there was a PPCG Screeps group a while back.
Unfortunately (IIRC) screeps turned into a pay-to-win game. (additional computation time cost money)

@PhiNotPi Idea: PPCG Screeps, a collective open-source screeps controller
one person pays

1:40 AM
@PhiNotPi any other of these kinds of games?
screeps interface is yucky
@Downgoat wat's beta blue?

i.e. the deafult beta desing

@PhiNotPi pleeease any other kind of this game?

I honestly don't know.

@noɥʇʎPʎzɐɹC Don't repeatedly ping or ask people the same (kind of) questions over and over.

The concept of a long-term KOTH has been percolating on PPCG for a long time.

1:48 AM
CMC: how much RAM and GhZ (of processing power) do you have? And OS Family.
Make a complex open-source one, like screeps but reiterated?
4GB, 3GhZ, BSD/Darwin

4GB, 2.16 GHz

@ASCII-only my computer is pretty slow often... and yours....
at least my OS deals with swap well

@noɥʇʎPʎzɐɹC ?

@ASCII-only tl;dr my computer is slow

If it's slow, it's just because of OS X.

1:54 AM
Yeah

Cocoa aside I think we can all agree Mach is shit

I have a Celeron, you can't get much worse than that

Hello
Argh can't build Skulpt for some reason

2:05 AM
So wait for brython
Can I do something like `<script type="text/python" src="path/to/something.py"></script>`?

@Qwerp-Derp Yes!
brython site > inspect element the demo > it's `text/python`
npm is like pip but with too many bells and whistels
@ΛεγίωνΜάμμαλϠΟΗʹ kurzgesagt video will be out soon (dear chat mods: LegionMammal is a kurzgesagt fan, and I referred him)
Proposal: use "se" as a gender neutral pronoun. Borrowed from spanish. Pronounce "say"

Why write JS when you don't have to

why code when you don't have to >_<

Fair

2:13 AM
PPCG Nomic Reboot (nomic = a game where rules are modified during gameplay)

oh I love nomic

can anyone find a vector of the PPCG logo?

@ConorO'Brien Well I'm making a new one!

for a challenge, or a chatroom?

@ConorO'Brien a chat room
> Rule proposals will be formatted as Pull Requests.
Chatroom = game, GitHub = parliament

2:17 AM
that's going to be chaotic ._.

why? @ConorO'Brien

I just feel like it would be easier to do strawpolls with duplicate checking

@ConorO'Brien Just click the edit icon on the web interface and use thumb up/down emoji reaction for voting.

maybe just use issues for rule changes?
a pull request seems a bit much

@ConorO'Brien Pull Request is just an issue, but there's a merge button

2:19 AM
oh, I didn't see rules.md.
proceed :P

2:36 AM

### ppcg.nomicon

For PPCG Blog i have two designs:
idk if i should use unofficial design which looks better or official design which looks more plain

first one

@Downgoat Title banner is too big

@ASCII-only i can make same size as bottom one

@Downgoat Yea, I think that would be better

Anonymous
2:56 AM
@ASCII-only Your avatar is an appropriate amount of spooky. Good job.

3:11 AM
@Downgoat I prefer plain.

0

Play a game of Yahtzee king-of-the-hill game In the game Yahtzee, players take turns rolling 5 6-sided dice up to three times per turn, possibly saving dice between rolls, and then selecting a category they wish to use for their roll. This continues until there are no more categories (which happ...

Anonymous
@NewSandboxedPosts Took you long enough

Help is it okay if an interpreter accepts a custom codepage via a flag?
IMO it's way easier to parse as unicode by default

Anonymous
@ASCII-only Yep

@NewSandboxedPosts I'm concerned that Yahtzee is too easy to play optimally.

3:15 AM
@Dennis ok, I'll leave as plain then

Anonymous
@PhiNotPi The only optimal strategy I'm aware of only applies when the joker is free choice (meaning you get to pick any category for subsequent Yahtzees, rather than the forced joker rules outlined in the challenge)

@ASCII-only That's what Jelly does. It uses the `u` flag for UTF-8.

Anonymous
And besides, that optimal strategy only optimizes the average score - not the chances of winning. It also only works in isolation (no opponents).

fair enough

I don't know if you're going to get enough trials to differentiate the two strategies

3:18 AM
Yahtzee seems like it could be a code challenge instead of koth, because there's no real interaction.

the interaction is there: How risky you play depends on how far ahead your competition is

Hmm. I suppose.

I still don't really think its interesting enough for a KoTH

Anonymous
@NathanMerrill Games will be fast (I'm going to require that each turn is decided in < 5 seconds), so running 100 or more games won't take long.

### ppcg.nomicon

3:22 AM
you'll need a lot more than 100 games IMO

^ star if you want people to see it

Anonymous
Yeah it will probably end up being 1000 or 5000

Is every player going to play in every game?

Anonymous
Yes, aside from any tiebreaker games, where only the tied players will play

Anonymous
Design question: I'm going to allow players to see scoring information about their competition. Should they be allowed to see the entire scorecard, or just the current score?

3:27 AM
the key here is that the highest-score strategy and the optimal strategy will only make a difference maybe once every 100 games. In a 1v1, this means you're going to be dealing with a 49 vs 51 score with a high variance. So, in a 1000-game tournament, you're dealing with 490 wins vs 510 wins, but the 490 could be anywhere from 470 to 510
however, this isn't a 1v1, which means that a bunch of times you aren't going to be able to win no matter what
I just think that the random variables are going to play a much bigger factor than the optimal-average-score vs optimal-win strategies are going to play

Anonymous
@NathanMerrill I think you're misunderstanding. There is only one "optimized" strategy (which only optimizes average score over many runs) and even then only in free joker rules. Even if that strategy was adapted for fixed joker rules, all it would do is maximize the average score, not the number of games won. There is no known optimal strategy for maximizing the number of games won in a multi-game tournament.

I'm assuming that there is an optimal strategy for the latter
I think its going to be really hard to have enough games for it to make a difference

Anonymous
There isn't - there are too many possibilities for the game state to have an optimal strategy, plus the non-deterministic nature of the game.

there absolutely is an optimal strategy. You can calculate all of the possibilities
I mean, that likely isn't computationally feasible until the end game, but it's still possible to calculate

Anonymous
No, you really can't. It's not computationally feasible because there are so many options - the game state tree is huge. It would be impossible to compute the optimal strategy given any current game state within a reasonable time limit. That's like saying that you can calculate all of the possibilities for chess - theoretically yes, realistically not a chance.

3:33 AM
1 min ago, by Nathan Merrill
I mean, that likely isn't computationally feasible until the end game, but it's still possible to calculate
literally what I just said :)

@Downgoat Are you making a PPCG blog?
Wait what is going on

but my point is, is that the "Best Average Score" vs "Most Wins" strategy (assuming it was possible) is going to rarely make a difference

and running enough games to find that difference is also computationally infeasible

Anonymous
3:36 AM
@NathanMerrill It absolutely will. There's a huge amount of variance in the best average score strategy.

Anonymous
The best average score strategy can score over 1000 with perfect rolls, but as low as 12 with bad rolls.

right, that's because its yahtzee

@EᴀsᴛᴇʀʟʏIʀᴋ I golfed title on your blog post

that has nothing to do with the strategy you're using

@Downgoat Follow'd

3:37 AM
:D
if you'd like to write for it, you can make medium account and tell me username and i can add you as author

Anonymous
But being able to adapt to the randomness and out-score your opponents is a very different goal than trying to get the maximum average score

I agree, but the "Most Wins" strategy actually has more variance than the "Best Average Score", as "Most Wins" will try riskier moves when it is farther behind

Anonymous
You're referring to that strategy as if it was actually fleshed out

@EᴀsᴛᴇʀʟʏIʀᴋ do you mind if I merge your two welcome posts into one?

Anonymous
There are multiple avenues for "most wins" - that's the point of the KotH

3:40 AM
@Mego in the end game, its pretty obvious to see.
If you are behind 40 points, you aim only for a yahtzee, even if you have an empty slot on a full house

Anonymous
@NathanMerrill But you still have to get through the first 8-10 turns before it's endgame

Anonymous
You're focusing on 20% of the game

right, the only 20% we have any knowledge about

Anonymous
I still think it would make a good KotH. Your arguments have not swayed me.

Ok :)

3:54 AM
@Downgoat sure

okay, i did it but the first post is still hanging around on your own personal medium profile which you may want to delete

Anonymous
4:19 AM
Great, semantic satiation is setting in... "category" looks wrong now.

:( my face when I edit an abstract class that then breaks the 20 classes that extend from it.

Anonymous
@PhiNotPi I know that feeling

@PhiNotPi I love refactoring!
seriously. Not sure why, but I rather enjoy it

4:39 AM
@NathanMerrill depends how much nicer the code is after doing it

@ASCII-only Where does the logicode.py print to STDOUT?
I'm implementing this for Brython

@Qwerp-Derp ?
Should be only in `out`
Any call to `print` outputs to STDOUT

Anonymous
4:55 AM
Java 8's Stream API has almost made me start liking the language

I like java :[

Anonymous
Functional programming is a must-have for me to like a language. Closures and the Stream API are pretty good. But, Java has too many faults (imo) for me to like it.

woo symbol table!
```0 null null
2 INT test
7 INT whatever
8 BLOCK null
13 INT thingy
23 SUB do_thing
24 ARG helicopter
27 ARG test
31 INT res
36 BLOCK null
42 BLOCK null
56 SUB reset```

Anonymous
Nice

basically an outline of all of the scopes and variable declarations in the test program
Now for the fun stuff: RAM mapping

5:04 AM
Well, I don't think I can use Brython with importing files
It's buggin' out because of synchronous XMLHTTPRequests

(well, not quite yet, but I do have to calculate which variables will be stored in which way: global static address or locally, etc.)
Good night!

Good morning!

5:35 AM
@Anyone do you think there's a use for an image-manipulation golfing language
Also help what commands does an ASCII-art golfing language need

@EᴀsᴛᴇʀʟʏIʀᴋ Oh, you did smallcaps again. Also, my Medium username is `@erikkonstas`.

Anonymous
@ASCII-only Vertical and horizontal repeat, rotation, reflection, mirroring, etc.

Ah screw it, using PyPyJS

110

A colleague is working in a small software development company (twenty employees). He's a part of a team of five developers who work on the leading product of the company. For a few years, the founder was unhappy about the technical skills of the employees, and he recently hired a senior develop...

☺🔫

@Qwerp-Derp Don't, startup time is horrible plus it's really big

5:41 AM
Ah
But Brython doesn't work...

@Mego Vertical and horizontal repeat? And what's the difference between mirroring and reflection

Anonymous
@ASCII-only Horizontal repeat would be like:

Anonymous
```ab
cd

->

abab
cdcd```

Anonymous
Vertical repeat would be the same, but vertically rather than horizontally

Anonymous
Mirroring is reflection that preserves the original portion

5:50 AM
Okay, most are already implemented, and I don't see how repeats are that much better than repeated prints

Anonymous
`reflect("ab cd") -> "dc ba"`, `mirror("ab cd") -> "ab cddc ba"`

Or how repeats are better than just filling a polygon with an input string

Anonymous
Eh, either approach is fine - as long as there are the tools to get those results, it doesn't really matter what they're called

Argh why do you need to custom-build skulpt.js
I don't understand

Hmm, anything else and ASCII-art language would need?

Anonymous
5:53 AM
I'm guessing you have polygon creation methods

How complete is it at the moment? Do you have any sample code? What's the memory model/execution model?

Anonymous
Rotate and scale are important

### Charcoal

Discussion and design of Charcoal, a golfing language optimize...
There's link to a markdown document on the starboard with some examples at the bottom, any documentation is pretty far from up to date

@EriktheGolfer will add you on morning

@EᴀsᴛᴇʀʟʏIʀᴋ Good night! Here it is already morning, though.

5:59 AM
@DJMcMayhem It's usable right now, rotation with copy isn't implemented yet because it's not finalized, some other builtins as well e.g. Bresenham/Bresenham polygon because command characters haven't been decided yet
@Mego Depends on how you define a polygon (i.e. what can you specify), right now polygon sides can only be in a compass direction

Anonymous
@ASCII-only I'm looking at the GH repo right now. What you've done is really impressive.

Anonymous
It also took me far too long to realize you were somebody aka Mars Ultor

@Mego Thanks :D

Anonymous
You have a seriously outdated version of Seriously in your Python-Holes repo

Anonymous
Even for v1, it's old

6:09 AM
Hmm
I probably need to delete all those cloned repos (some of them by accident), and update/redo that

Anonymous
Aren't they submodules?

why is the one of the best parts of candybox throwing candy on the ground?

Yeah, but I think I accidentally cloned them to my GH as well
@DJMcMayhem Samples are near the bottom of the markdown document, what do you mean by memory/execution model

1 hour later…
7:22 AM
Is anyone on?

Anyone here good at Python? I think I'm running into some scoping/variable naming issues
never mind
@Qwerp-Derp For Logicode REPL's enter program, you should probably change `raw_input` to a `print("Logicode> ")` and a `sys.stdin.read()` so it will read until EOF (Ctrl+D on most systems), meaning you can enter multiline programs

Ah
KK, will do once I finish the IDE thing

7:45 AM
I am going to make new esolang!

@DestructibleWatermelon :D Yay

It's going to be like that comm one, but different
also I had an idea that could be applied to other esolangs:

regular one dimensional code, but control flow consists of one conditional skip command, and a begin 2 dimensional navigation command, and 2d redirect commands

Nice

7:50 AM
```[if expression] cond_skip naV naV
@this is the else clause    <   @This is the then clause```
@ returns the language to 1d mode
all other chars are ignored
also I was thinking about another non-alphanumeric thing for down in 2d mode, so V in naV does not affect
maybe '`;`' or '`!`'?
I am not trying to keep this idea for myself: if you want to use it, I want you to use it
I think there was a similar idea on esolangs actually...
but not exactly the same
I am making new esolang, I need ideas for a name

`esolang_1`
For the name

8:06 AM
@ASCII-only Halp how to use Skulpt for `logicode.py`

@betseg ಠ_ಠ

@Qwerp-Derp No idea I don't use Python for browser

8:30 AM
I'm not sure whether to str.split() the program for my new esolang, or not, so that the idea I had for 2d stuff is still open, or similar ideas...

8:52 AM
0/10 `str.split` as a tokenizer

'Tis simplest, and perhaps weakest