« first day (2043 days earlier)      last day (1168 days later) » 

3:00 PM
def __init__(self, arg_1, arg_2):?
Ah ok thx
@NathanMerrill But it doesn't work, because the Google Web Search API no longer exists D:
@zyabin101 I know :/
I was actually thinking the other day that I'm totally going to do self for member functions as well.
@Downgoat self is automatically filled even if it's not actually self which can make some confusing bugs if you forget to put it in
I think I'm definitely going to do self in Elegance. It allows me to assert certain Traits on self (like the function queue.pop() only will work on nonempty queues)
fun pop(self: Queue<T>[NonEmpty]): T
3:04 PM
How to have static properties in Python class?
define it outside the class :)
or @staticmethod
And how to overload equality?
@Downgoat python doesn't have static stuff
@Downgoat def __eq__(self, other):
@muddyfish I guess you have properties
my god I actually pinged myself
Does Python have a notion of extends
@Downgoat you mean inheritance?
3:09 PM
@Downgoat class A(B):
@Downgoat class Pear(Fruit):
K thx
@Downgoat infact, you should always extend from object liike class A(object)
3:10 PM
@Maltysen only in python 2, right?
@Maltysen wat
python oop is weird
@NathanMerrill If you want it py2 and 3 compatible yes
right :)
@NathanMerrill oh youre' right
@Downgoat its really not. the object thing is for backwards comaptability in python2 between old-style and new-style classes
The only thing using py3 consistently is the fact they turned print into a function and I have to use brackets round it all the time
3:12 PM
@muddyfish also map, etc. are generators and not lists
lol, I write python so often and don't even know what old/new style classes are
@Maltysen It basically lets you use super properly
I hardly ever make classes :)
@feersum In py2, if it doesn't extend object you can't use super in a pretty way
What does super do?
3:13 PM
@feersum old-stlye classes were stupid
@feersum It basically lets you overload methods and still have access to the old ones
@feersum It gives your code the ability to fly and regenerate from wounds at an unnatural rate.
why in python2 classes can't simply extends object by default?
32075264: It also lets you write code in such a way it doesn't need to know what class it is
@muddyfish there's some other big changes. Like float division and range == xrange
3:14 PM
@El'endiaStarman I tested it on my app: If you split a territory, and one side only has 1 square, even a tower dies
@TùxCräftîñg because backwards compatability. what you say is what happens in python3
@DJMcMayhem I did mention it was the main reason for it to stop me swapping
And input == raw_input
How to check if a dictionary with keys which are objects with an eq property contains the same object according to eq
@Downgoat can you rephrase that?
3:15 PM
@Downgoat no don't override eq, override contains on the dict
Wait a minute, is @Downgoat writing in snek?
@NathanMerrill no it's bad because it look like MS-DOS
E.g I have dictionary with keys which are a Vector class I want to check of the same vector class is there
@DJMcMayhem yes ;_;
@Maltysen example?
@Downgoat oh, do you need a hug?
@Downgoat :O I never thought I'd see this day come
3:16 PM
@Downgoat if you're using in, it checks with the is operator, which cannot be ovverriden
so, you have to ovverride the in operator, but that requires changing the dict, not the vector
@Maltysen It can but it's kind of really ugly
then what must gaot do
3:17 PM
but you can still override eq
I'm using boost python right now.
and then make your new dict use eq instead of is
there's a reason __hash__ exists
who was user43512?
if you just want a standard dictionary, then just override __hash__ and __eq__
3:18 PM
@NathanMerrill __hash__ is basically id(obj)
@NathanMerrill oh shit you're right I was thinking about lists
@Downgoat ignore everything I said, listen to @NathanMerrill he's smart
@NathanMerrill uh
scew gaot will just eat snek
@muddyfish Not quite - id is just a unique identifier (memory address in CPython) but __hash__ is the value to use in, e.g., sets and dict (e.g. id(1) in Python 3.5 might give something like 139969564926528, but hash(1) or (1).__hash__() gives 1)
@Sp3000 I know it's different for some types like int and str
Wait Python uses hashes to check for equality???
3:21 PM
if you're making your own classes whose equivalence is defined by its members equivalence, then override eq and hash
1..__add__(2) is valid syntax
@Downgoat no, dicts and sets do
@Downgoat no. If you do a == b, it uses __eq__
@Downgoat because python... ?
@Maltysen still bad
3:21 PM
but dictionaries and sets need __hash__
@Downgoat ...no? that's kinda of the entire point of dicts and sets (hash-tables)
@Downgoat this is how dictionaries have to work
you need to generate a hash for a particular object
@Downgoat wait, you're using your Vector object as a key?
otherwise insertion is O(n), and you've got a list
This is why it's great to just use tuples everywhere instead of making objects ;)
3:24 PM
@feersum rofl
have you seen namedtuple? I think you'd like it
from collections import namedtuple
... nevermind :P
If you want your program to actually be efficient, then you can't use Python anyway.
yeah, if all you want is to store some data, tuples are the way to go
So screw things like writing hash functions in Python.
A: Shortest infinite loop producing no output

TùxCräftîñgRu, 4 bytes ¿Ϟ{} ¿ call a function while koppa is not 0/nil/false. But since Ϟ also return it's argument, it's possible chain ¿ and Ϟ.

3:25 PM
its the functions that define a class
@Downgoat actually, if you don't have any functions, plz look at namedtuple, it might be exactly what you need
Doesn't really matter whether you write thing.f(a,b) or f(thing, a, b).
@feersum go C and structs!
@feersum except scoping. I may call a function on an object that was created in a totally different file
Of course classes exist for a reason :)
3:29 PM
@feersum actually that's kinda the methodology python uses for self. thing.f(a,b) is basically syntactic sugar for f(thing, a, b). (basically but not completely, there are some edge cases)
Yes, I didn't say that I've never used a class.
Phew, that was a tough one.
But, I'm happy, because now I've added a golfed prime factorization method to my bag o' tricks.
@Downgoat check this out:
>>> from collections import namedtuple
>>> Vector = namedtuple('Vector', ['x', 'y', 'z'])
>>> Vector(3, 4, 5)
Vector(x=3, y=4, z=5)
>>> x={Vector(3, 4, 5): "blah", Vector(5, 6, 7): "blah2"}
>>> Vector(5, 6, 7) in x
>>> Vector(5, 6, 8) in x
@El'endiaStarman more tests. Trees grow all at once, independent of their owner, but graves turn into trees at the owner's start of their turn
also, newly-created trees wait at least a full round before growing.
@Maltysen what's the purpose of the 'Vector' string?
pretty printing?
@NathanMerrill also, its the actual type
3:40 PM
what do you mean?
cuz namedtuple returns a class
its called that string you put in
...I didn't realize you could return a class
>>> Vector = namedtuple('Vector1', ['x', 'y', 'z'])
>>> type(Vector(3,4,5))
<class '__main__.Vector1'>
is that reproducible magic?
@NathanMerrill completely
3:41 PM
its not even the extent of that idea
this sort of thing leads to metaclasses
>>> X=type('MyClass', (), {'x': 3})
>>> X()
<__main__.MyClass object at 0x7ff72458f128>
>>> X().x
>>> X=type('MyClass', (), {'x': 3, 'my_func': lambda self, x:2*x})
>>> X().my_func(5)
classes are all instances of the class "type"
(this is unrelated to the type() function of the same name)
hmmm... I kindof expected something more along the lines of MyClass(class):
@NathanMerrill well you have to remember that these(and all) classes aren't inheriting from type, but rather instantiating type
if you extend from type, then you have metaclasses
I'm still using instantiation
metaclasses are complicated
3:50 PM
    __init__(name, params):
@NathanMerrill oh you mean just defining it and returning it? yeah that works
that way, each instantiation of NamedTuple is a different class
the normal class syntax is just syntactic sugar for type()
right, I get how it works. I just would have designed it differently
@NathanMerrill I was just a little confused cuz you used class instead of object
3:54 PM
Q: Render the top-down view of a hip roof in ASCII

Jan DvorakFirst, some terminology (source): A hip roof is (quoting Wikipedia) "a type of roof where all sides slope downwards to the walls, usually with a fairly gentle slope" A slope is a planar surface that is a part of the roof A ridge is an edge where two opposite roof slopes meet A hip is a convex e...

4:05 PM
putchar(92-n%2*45) is the same length. — mbomb007 2 hours ago
> same length
> gets upvoted
Wtf m8
Mini-puzzle: What do these numbers represent?
My sadness?
@HelkaHomba Numbers marked 2 are 45, the rest, 33544354, are marked 1.
@ReleasingHeliumNuclei :( hope not
@zyabin101 Erm, not what I'm going for
4:17 PM
It seems 45 are present in both sections, when 3 is only in the section marked 1.
@HelkaHomba I'm trying to cut through it.
Get clues for the puzzle.
@Dennis suggestion: Add ÆṖ as "If z is composite, then 1, else 0." as it is not the logical negation of ÆP - i.e. ÆP for -n, 0, and 1 return 0 but they are also not composite. See my answer here for example.
@HelkaHomba does each column correspond to a digit?
@MartinEnder perchance ;)
4:24 PM
@HelkaHomba i dunno m8
I made a thing with Jelly compression. :3
The Nth column represents how funny the Nth entry of the starboard is in base 6.
@zyabin101 In any other internet chatroom that would sound weird.
Yes :P
Jelly Ipsum, volume 1.
@HelkaHomba a hint, maybe? :)
4:28 PM
Ok, but only one
that was the hint, wasn't it?
The numbers in the 1 section are 33544354.
ah, first row is number of letters in the digit
and the second is the number of characters shared between one and the digit name
wait that breaks down for one
4:31 PM
@MartinEnder Yes!
@MartinEnder No. You're thinking too hard
@MartinEnder wait how?
four and two?
'zero' = 4, 'one' = 3, 'two' = 3 ...
4:32 PM
oh the index
@HelkaHomba vowels
no wait nvm
@Dennis - My guess would be call = f=lambda z: int(z>1 and z==int(z) and not sympy.primetest.isprime(z)) although I don't know if that's how you'd handle non-integers
@HelkaHomba second row is syllables
whoa, spacing fail
zero one two three four five six seven eight nine
  2   1   1   1   .  1   1   1   2   . 1   .  1
Ignore the . ... stupid space-to-tab markdown
It's kinda curious how almost symmetrical 4335443554 is
4:37 PM
Gah. Just had to put commas in the number and it instantly becomes Google searchable
Well, the first one anyway
Baking cookies at rapid speed 12.4 cps... 12.8 cps...
Any CMC? Another puzzle?
CMC: snail matrix generator.
Test case: from: 8 to:
1	2	3	4	5	6	7	8
28	29	30	31	32	33	34	9
27	48	49	50	51	52	35	10
26	47	60	61	62	53	36	11
25	46	59	64	63	54	37	12
24	45	58	57	56	55	38	13
23	44	43	42	41	40	39	14
22	21	20	19	18	17	16	15
4:54 PM
Matlab, 19 bytes: @(n)n*n+1-spiral(n)
@ReleasingHeliumNuclei What comes next? 8 8 12 2 2 3 14 15 ...
Wow. I drastically underestimated how effective Pokémon Go is at getting people (specifically me) up and about... :P
I'll bet the user who first answers will have a 2 in their PPCG user id
@El'endiaStarman I still have the impression pokemon go is just a slightly modified Ingress, which I like better.
The story is obviously way different, but the gameplay in the end is quite similar. And it seems they just converted the portals to pokestops
Q: Print 10 × 10 square of X and O characters, split diagonally

ShammyI'm going through a beginners exercise for writing a small program in Java. My task is to print out (i.e. find an algorithm) the following output XOOOOOOOOO XXOOOOOOOO XXXOOOOOOO XXXXOOOOOO XXXXXOOOOO XXXXXXOOOO XXXXXXXOOO XXXXXXXXOO XXXXXXXXXO XXXXXXXXXX I have figured out how to do it but th...

5:06 PM
@flawr I'm not sure I even personally know anyone that played Ingress. Well, chances are good that I do, but I don't know who they are.
@El'endiaStarman Try it=)
I think I'll stick with Pokémon Go for now. :P
If the gameplay is so similar, then it doesn't really matter which one I play, right? :P
Q: Draw an Empty Scrabble Board

Helka HombaA standard Scrabble board is a 15×15 grid of spaces to place letter tiles. Most of the spaces are blank but some are double word scores (pink), triple word scores (red), double letter scores (light blue), and triple letter scores (blue). There is usually a star in the very center (which counts as...

@El'endiaStarman Well Ingress is objectively better.
5:08 PM
@muddyfish I have no idea, I'm too new to this game :)
And I (and everyone with that same opinion) am the ultimate authority when it comes to objectivity.
(as everyone knows)
Today I learned why time flies.
@zyabin101 Because someone threw a clock out the window? </smart-aleck-answer>
@Adnan Damn you user 34388
@zyabin101 0/10, does not work on mobile
5:11 PM
@El'endiaStarman Remember that fruit flies like bananas and time flies like arrows.
@HelkaHomba Huh wat?
@Adnan wow, fast - sandbox peek perchance?
@HelkaHomba Huh wat?
@El'endiaStarman my dad played ingress and our village has 2 gyms and 3 pokestops. It has a church a postbox and a telephone box as well as a pub
@zyabin101 cool
5:12 PM
7 mins ago, by Helka Homba
I'll bet the user who first answers will have a 2 in their PPCG user id
@JonathanAllan I still don't understand
@muddyfish There are four gyms that I know about along the main road nearby, all controlled by Team Mystic. Something like a dozen Pokéstops too.
@HelkaHomba Oh hahaha
@Adnan your scrabble board was very quick :)
@El'endiaStarman ewww... mystic.
5:13 PM
@JonathanAllan It's actually not that spectacular :p
@JonathanAllan Me sandbox something that trivial? >.>
@muddyfish I'm probably gonna go to Team Instinct, despite everyone else bashing them. :P
Our gyms are mystic or instincts
@HelkaHomba oh you didn't? OK :)
@El'endiaStarman go instincts! Most geeky people I know are instincts
5:15 PM
@JonathanAllan: FYI, Helka Homba is one of like two people that can reliably write a good challenge without sandboxing it first. :P
The other is Doorknob.
@JonathanAllan I'm pretty sure that after 231 challenges, he knows how to make one haha
@El'endiaStarman @Adnan hehe. N00b status showing :)
@HelkaHomba i dunno
@zyabin101 i don't think the theory is actually true, though. unless you could remember each year of your life approximately as well as any other
@JonathanAllan by the way, what should I do here?
5:16 PM
@JonathanAllan No big deal. I'm not seriously insulted :P
@El'endiaStarman There are more than two people. Martin Ender.
Scratch that, Martin used the Sandbox.
This doesn't seem right to me.
A: Print Numbers from 1 to 10

JoffanExcel 6 bytes =ROW( Select the cells A1:A10, type the above (once only) and ctrl-shift-enter as an array formula (which links the cells in an array, with one common formula). Note the total lack of numerals entered in this process. :-)

It requires certain numbers in the cells without being included in the byte count.
@ReleasingHeliumNuclei You ought to know ;) (and it may be on oeis, so...)
@HelkaHomba oh... Ye oeis has it
In my defense, my language has more letters :p
@Adnan - I dunno, how right is it? I see "the key is made out of five NUMBERS"
5:23 PM
@JonathanAllan He got the answer right, but with no further explanation
So both his answers were deleted
@HelkaHomba - I had just ass*u*med that everything went through the sandbox.
GitHub Pages news: you can now build GitHub pages from any branch, branch by default, as it was before.
@JonathanAllan That sounds useful.
@Dennis - probably - is the z==int(z) what you would do or is there a better way?
@Adnan - then post a comment saying answers require an explanation :)
@JonathanAllan Someone else actually did that already, but he seems to be ignoring the comment.
5:27 PM
@Adnan Out of interest how are we meant to find that the numbers are the question id?
@JonathanAllan It's the recursion link
@Adnan well then maybe somone will swoop in for a steal :p
@JonathanAllan Not sure. ÆP behaves weirdly for non-integers (it rounds down).
@Dennis you could add an int check to that call too then :)
@Adnan are we not meant to use the private key to decode after that?
@Adnan - I see the question is "do you know what the private key is" so I guess not
@Adnan well I fired into the dark (made a comment for more details)
@JonathanAllan I'm not sure if I understand what you mean
5:35 PM
@Dennis - That person carried on for another four hours after I decided to ignore them ^^
@Adnan by what?
@HelkaHomba nope (34388)
@JonathanAllan The password to the private key is the question ID
So, 41635
That gives me this key.
which is the answer
@JonathanAllan Who?
He did post this key in another answer, but it got deleted
@Dennis "bb"
@Adnan - yeah I can see the deleted post :)
5:38 PM
@JonathanAllan Oh hahaha, you got 10.6k rep
* is too high and mighty. — Helka Homba 28 mins ago
@HelkaHomba: You make me sad.
@El'endiaStarman hehe yeah.
@Adnan - yep new to CG, not so new to Puzzling
@Dennis - ahh silly auto voter :)
CNet strikes again
5:42 PM
@Doorknob @EᴀsᴛᴇʀʟʏIʀᴋ @Lynn current qNetHack todo list, definitely more things to come: gist.github.com/quartata/d47671ba2d37c84888c84af32d063799
@ReleasingHeliumNuclei Yes, yes it does
@quartata check the comments >_>
I have a question there.
Hrm ... 2+ hours and my code for figuring out if 4937775 is a Smith number is still running. Maybe I should've put in some sort of progress bar.
@zyabin101 DS is going to be my replacement for dgamelaunch. A Pekka is an automaton that I stole from a certain other game
Next time just ping me
@quartata, how would you register a prefix for qNetHack (since you need one)?
5:55 PM
> NetHack uses the prefix "NHDT" internally to identify specific information (such as versions and dates) produced by the NetHack Development Team. NetHack variants should use a different prefix.
That's just for versioning?
> for use in the source control system.
That one is from another page, nethack.org/common/git.html
6:15 PM
@TimmyD Took my pre-written Python code a tiny fraction of a second to factorize that number. Are you running golfed and therefore inefficient code?
@quartata ruhl?
Google gives some actress
And fizzbuzzes?
@El'endiaStarman Ohhhh yeah. Very inefficient. Loops through the range up to the number, pulls out anything that's a prime (using a pretty damn inefficient prime check using a regex) that is also a factor, then divides by each of those. If we're still greater than one, we start the loop again.
And what are you planning for the cloud9 quest?
@TimmyD Oh yeah, that makes a lot more sense. :P
The answer is "no", by the way. 4937775 = 3 * 5 * 5 * 65837
...are there any nontrivial perfect smith numbers?
6:23 PM
Actually, wait, do we add up the digits in the factors too?
@El'endiaStarman Uh, yeah it is. 4+9+3+7+7+7+5 = 42 = 3+5+5+6+5+8+3+7
@TimmyD Ah-ha, I see.
@NathanMerrill As with most conjectures regarding perfect numbers, the answer is probably "we don't know". :P
...this might be easier to prove though
A "vanilla fizzbuzz" sounds delicious. — iamnotmaynard Sep 25 '15 at 15:12
@EᴀsᴛᴇʀʟʏIʀᴋ Ruhls are a race of strong evil humanoids
@quartata from what?
But okay
6:28 PM
From some DND module most likely. Not sure what the origin was
And the quest?
They have some special abilities
@JonathanAllan At least in that challenge, it wouldn't have saved any bytes after all.
@EᴀsᴛᴇʀʟʏIʀᴋ The Cloud 9 one? You'll see
A: Is this a Smith number?

DennisJelly, 12 11 bytes Æfḟȯ.DFżDSE Returns 1 for Smith numbers and 0 otherwise. Try it online! or verify all test cases. Background Æf (prime factorization) and D (integer-to-decimal) are implemented so that P (product) and Ḍ (decimal-to-integer) constitute left inverses. For the integers -4 to...

6:29 PM
@quartata -.-
now now
@Dennis I couldn't work out how to do anything like that!
I just had this interaction with a tester:
Me: "What is the expected result?"
Tester: "I expect that it to not take 5 seconds to load."
Me: "Okay, so if it takes 7 seconds, then the bug passes?"
@Dennis Oh Æf yields with multiplicity. dammmn.
@Dennis thanks for posting this. I was looking for something to test my "are there any perfect smith numbers"
@Dennis also, I have no idea how its so fast. I tested it with "191561942608236107294793378084303638130997321548169216", and it returned in a second
6:34 PM
Ahaha. This answer on Puzzling is awesome.
@TimmyD Soundly beaten by this one. :P
sigh when deliveries are "delivered" but not.
@El'endiaStarman Yeah. But given that the answer you linked was inspired by the answer I linked, I'm going to count the answer I linked as better. Also, because I saw it first and posted here and then kept reading the answers, and so didn't see the BB one until later.
Valid points. I do like the out-of-the-box cleverness of G900. :P
@NathanMerrill The factorization happens instantly; that second is only Jelly's start-up time. It has lots of small prime factors, so it's rather easy to factorize.
6:45 PM
ah, I wasn't sure what its factors look like
that said, if it is a smith number, they are likely small
[2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 618970019642690137449562111]
A: Sandbox for Proposed Challenges

βετѧ ΛєҫαγOutputting x to y code-challenge kolmogorov-complexity restricted-source Challenge You must choose one number x (y = x + 10) and create ten unique programs which each print out one of the numbers in the range x to y inclusive. However, there are three twists: Each program's score is the diff...

Oooh, lemme try that number with my Python code.
@Dennis checking that last number for primality still isn't trivial
6:45 PM
@NewSandboxedPosts This may need some more rules to tighten this up
Hmm, it's taking a fair bit of time. Because of that last factor, I would hope.
@βετѧΛєҫαγ Are you ... are you talking to yourself?
@TimmyD I'm talking to everyone
Me needs sum helpz
@TimmyD What's so strange about talking to yourself? I do it sometimes...
@El'endiaStarman Yeah, you certainly do.
Nevermind. Poor attempt at humor.
6:49 PM
@El'endiaStarman My father used to say that it's the only way to have an intelligent conversation.
KoTH question: I'm passing a Map to submissions. This Map has lots of functions you can call, some of them are actions that players are allowed to do, some of them aren't. Is it a good idea to created a "locked" variable type, so that players can only do what they are supposed to? It can be pretty inefficient, as it often requires doing extra checks and and coping extra data
@NathanMerrill There are well-known shortcuts for numbers below certain thresholds. I'd expect SymPy to take advantage of them.
@NathanMerrill Make two interfaces
Players get handed an IPlayerMap, your controller works with an IControllerMap
Alternatively, make the functions you don't want players to call package private, and put submissions in another package
oooh...I've never actually had a need for package private
that said, there's still some lockdown that's needed
I meant package private in the English sense of the phrase... is that actually a thing?
6:56 PM
My map is split up into territories. A player can place units on their own territories
Oh... huh. It's the default.
but they can't place units on other territories
Maximum laziness: have a variable for whose turn it is in the map object.
but you're right. If I don't place "guards" on the function calls themselves, then players will abuse it
actually, I could just give them a readonly map, and a list of writable territories they own
that would work
Let me get this straight: I get a map, and I own (2,4) but I don't own (8,8). If I call place(2,4) then that should be allowed, but if I call place(8,8) then that should not be allowed?
6:59 PM
@Rainbolt yep :)
... and, I get a stackoverflow error. Well. RIP search for 4937775 as a Smith number.

« first day (2043 days earlier)      last day (1168 days later) »