« first day (1906 days earlier)      last day (2938 days later) » 

3:00 AM
Somebody help me. I have a problem.
 
nothing a 30 minute suspension won't fix
also no one laughed at the xkcd. I thought it was amusing
 
I enjoyed the hovertext
 
I was amused.
 
wafflemao
 
K, good. I was worried I'd have to explain it. Jokes are never funny if you have to explain them
 
3:01 AM
@quartata Sorry, was busy finding picture of dice with birds on them >_>
 
@quartata why not?
 
@Geobits you and your bird fetish
 
>_>
 
Don't worry, Alex, it's not a bird fetish. It's a pun fetish. The topic is irrelevant.
 
@Doorknob Just aren't. The timing is ruined if you have to explain it
 
3:03 AM
@quartata why?
 
That's just how comedy works?
 
why?
 
Because you're five.
 
One of the axioms of comedy
 
3:04 AM
@quartata why?
 
> Dissecting a joke is like dissecting a frog. It's messy and the frog dies in the process.
That said, I'm still sometimes amused even after a joke has been explained to me.
 
@El'endiaStarman This is why for high school biology I was able to opt out of dissecting a frog and instead I had to do this weird Flash game thing about frog innards.
 
ok I was trying to do another joke based on asking you to explain why explaining a joke makes it less funny but it didn't really work :(
 
If you're careful, you can make the explanation funny. But it's not easy.
@AlexA. Really? I thought dissection was fun. The pig was better than the frog, though.
 
3:06 AM
D:
 
are there cpus out there that support arbitrary precision arithmetic?
 
I remember dissecting a fetal pig in 9th or 10th grade.
@NathanMerrill In hardware? No.
 
@El'endiaStarman Yep. We weren't supposed to take the brain out and play hot-potato with it, but...
 
D: D:
 
@El'endiaStarman is there a fundamental reason why?
 
3:07 AM
@Geobits That's something my class didn't do.
 
dissection is not fun what are you a serial killer
 
or simply that they don't see a pressing need?
 
@NathanMerrill Well, I mean you can only have so many ones and zeros fit into a thingamabob
 
Life lesson: brains are fragile, and feel like a wet sack of grits.
 
brb puking
 
3:08 AM
@Geobits A lesson I didn't need. Thanks.
 
oh fuck ew cannot unthink
 
@NathanMerrill Well, one of the biggest practical reasons is that CPUs are heavily optimized for 8/32/64 bit stuff.
 
I'll never be able to eat grits again
 
You guys must be really fun at parties.
 
true, but I'd imagine that you simply indicate additional "memory blocks"
 
3:09 AM
Another issue is that there are only so many wires you could fit onto one chip for the bits of a number, and the more wires you add, the fewer "functions" you can fit onto the chip.
 
@Geobits we're basement dwelling nerds what did you expect
 
Relatedly, the speed of light is a significant problem when it comes to chip design.
 
@quartata To be honest, I figured that would overlap the "I'd take a brain out and toss it around" area of the venn diagram.
 
@NathanMerrill the register size would be unbounded. A single number number could fill a hard drive. You couldn't just fully hand two of them to the processor and expect it to add them
 
tfw your program really shouldn't work but it does
 
3:14 AM
@HelkaHomba I was imagining something along the lines of indicating where the memory starts/ends for both integers
 
Consider this: if a chip operates at 1 GHz, then light travels 11 inches (~30 cm) in the time one clock cycle takes. Electrons travel through wires more slowly than that, and there's a lot of simple/complex operations going on as electrical signals travel through gates and the like.
 
@Doorknob 🍪🍪🍪
 
@El'endiaStarman room temperature superconductors when
 
@HelkaHomba :D
 
meaning that the CPU would simply take the number in chunks
 
3:15 AM
@NathanMerrill But it would still have to take in the numbers in 64bit or whatever chunks, which is what a precision library would do anyway
 
right, but I'd imagine that a single CPU command vs a library would be faster
 
Even if it were possible to operate on arbitrarily-sized integers, that would be something a very small fraction of users would need, and those that do have bigint libraries at their disposal.
 
bignums are magic and i love them
 
@NathanMerrill I guess. Probably just not enough need
 
@El'endiaStarman its a language feature that's becoming more and more popular
 
3:17 AM
But more and more used in real applications?
 
no idea. I mean, python does it, but often times people avoid things like BigInt because they are supposedly slow
which obviously, they are slower than normal integers, but how much slower, I have no idea
 
big integers in the core language is a big plus IMO
 
^
 
is there a term for a CPU api?
 
instruction set?
 
3:23 AM
gmp is basically magic. there isn't even any overhead until it's larger than the native int size, and even then it's stupidly effecient
yeah, ISA
 
thanks :)
 
anyone here played BOX256?
@RenderSettings there's a small overhead
 
huh, apparently Intel is starting to support arbitrary precision:
Intel ADX (Multi-Precision Add-Carry Instruction Extensions) is Intel's arbitrary-precision arithmetic extension to the x86 instruction set architecture (ISA). Intel ADX was first supported in the Broadwell microarchitecture. The instruction set extension contains just two new instructions, though MULX from BMI2 is also considered as a part of the large integer arithmetic support. Both instructions are more efficient variants of the existing ADC instruction, with the difference that each of the two new instructions affects only one flag, where ADC as a signed addition may set both overflow and...
 
How to fill BOX256 with all 01010101: THR 011
 
Floats. I've seen suggestions that it would be better to have a rational type where possible, but I think there's a fairly good chance that normal floats have all the precision you need in the majority of cases. Maybe there's a happy middle ground?
Like, you can't (reliably) check for equality with floats, but you could with rationals.
 
3:28 AM
Even then, floats have an upper bound and can give an "incorrect" answer
 
@RenderSettings I just looked into it. Thanks for the reference!
 
Could provide options for ever more precise floats, but that never really eliminates the equality checking issue.
 
there are SSE instructions for 128bit math on new cpus, iirc
and 2^128 is an awfully big number
 
hmmm, I'm not sure if I can use GMP
because it looks like its a c/c++ library, and I'm likely going to use LLVM
 
? what's the problem
you can use external functions with LLVM
it's a C lib so no C++ ABI issues either
 
3:36 AM
how? LLVM is in a "lower" language than C
so how would it call C?
 
are you making a compiler or interpreter?
 
compiler
but I've never used LLVM
 
Then you are generating llvm bitcode and it's linking it against libraries. You can add external symbols with the function signatures of the functions you want to import and it will link them correctly.
 
^
 
3:38 AM
man, i actually forget the funtion call to define those symbols though from the C api :/
 
@RenderSettings what language libraries can I link to?
 
@QPaysTaxes The article is dated today
 
@QPaysTaxes Nah, LLVM calls it bitcode for some reason. Not actually sure why.
@NathanMerrill Any langauge that provides an ABI that LLVM can use. There are a couple, but anything that can do C FFI is fine
 
@RenderSettings -1. Not enough acronyms
 
oooh, I've never heard of ABI. Good information :)
 
3:41 AM
@QPaysTaxes If they accepted it today it's still news
 
@HelkaHomba Uh, LLVM has several different calling conventions for functions. C-style convention is the most common and most languages can do it.
 
@QPaysTaxes Sure it is. Like that keep Trump out of UK poll. It would have been much more than a joke if it had been enacted.
 
@NathanMerrill It sounds like you want something like stackoverflow.com/questions/19803848/… , but it doesn't mention how to add the library you want to link to the final binary generation. Probably have to read the reference for that.
@QPaysTaxes Yeah, so I said it in easier terms in case he doesn't understand the acronyms :p
 
Because the winner was "Boaty McBoatFace?"
That's a pretty good reason.
 
3:47 AM
It's not a boat though. It should be Shippy McShipFace.
 
@QPaysTaxes I think I read a while back that LLVM ditched the acronym that original corresponded to the name because it was a misnomer. I could be making that up though.
@quartata Skippy McShitFace is better.
 
@AlexA. honestly it being called "low level virtual machine" makes no sense and is just confusing
it's not low level and it's not a virtual machine!
 
yeah, their homepage says that its not an acronym
 
[alex-is-right]
 
not gunna lie, i didn't know they abandoned it being an acronym. apparently since december 2011 too o.o
 
3:50 AM
should Cheddar allow expressions to have more than once part without parenthesis. i.e. should 2 + 2 + 2 be valid syntax?
 
no that's evil. only s-exprs are allowed. infix operators are the work of the devil.
 
@orlp I did something cool with lambdas: I made their node callables so their .__call__ = their eval so I can just copy paste issacg's code and it works
 
@Downgoat Yes because literally any language that's not an enormous pain in the ass to use can do that
 
@Downgoat That should be obvious...
 
;_; but my parser isn't working
 
3:52 AM
@Maltysen 'their nodes'?
could you rephrase that
 
It'd be great for convenience, but if you really wanted to make people think about what they're doing...
 
So? You're gonna make it so you can't chain operators together just because of a parser bug? :P
 
@Sp3000 ...then they'll use a different language in which they have to think less. :P
 
Sp subtly makes sure no new languages can rival Pyth and Cjam
 
s/Pyth and Cjam/Jelly/
 
3:53 AM
@orlp well in the AST, lambdas are represented by nodes that do the variable switching behavior. I have a Lambda class whose instances are children of map, etc.
 
@HelkaHomba Jelly already came out
 
Makes all those other languages Jelly
 
@Downgoat eww, of where?
 
oh no, my babel stopped working...
this is very bad...
 
> babel baby
ftfy
 
3:55 AM
@Maltysen ??
 
@Maltysen "My baby stopped working?" I thought there were child labor laws...
 
@Maltysen I'm still confused as to what this allows you to copy paste, but ok
 
@QPaysTaxes New Jersey?
 
@Downgoat cuz you treat babel like its your baby and that replacement sounded funny
 
._.
 
3:55 AM
@AlexA. yeah the garden state is a pretty wild place
all those suburbs
@orlp the macros.py stuff from the current Pyth
 
@Maltysen ._.
 
@orlp earlier I had to go around and switch all the calls of a() to a.eval(). now I don't
\o/
 
@Maltysen ah
 
@Maltysen def __call__(self, *args, **kwargs): self.eval(*args, **kwargs) :)
 
3:58 AM
@orlp easier: Lambda.__call__ = Lambda.eval
:P
 
@Maltysen not sure if that always works with the whole self thing
 
self is just another param that magically gets passed when you use dot notation
so its all ok
 
@Maltysen no, it doesn't quite work that way
 
hahahaha
 
@orlp mind explaining? (I'm genuinely curious)
 
4:00 AM
>>> class A:
...     pass
>>> A.p = print
>>> A.p()

>>> A().p()
>>> class B:
...     def p(*args, **kwargs): print(*args, **kwargs)
>>> B.p()

>>> B().p()
<__main__.B object at 0x7f936cfcd710>
 
@HelkaHomba vulpitung?
 
Lickipix
 
@orlp coool
TIL
 
@Maltysen I don't know the exact rules
 
4:03 AM
I guess it works for me cuz I'm not using self cuz I'm copy pasting
 
but it isn't just straightforward 'if you use a dot then it passes self'
 
is there some tool which automatically converts an entire directory worth of files from spaces to tabs?
 
@Downgoat heresy!
 
@orlp ??
 
@Downgoat \o/
if you find one, send me a link
 
4:07 AM
I am going to try out tabs for a bit
if I like them I'll stay, if I don't I'll go back to spaces
 
Why bother?
 
omg, these self-indulgent, useless, internet debates about trivial things actually managed to have an impact on someone's decision making.
 
@Downgoat Good for you for being open minded :)
 
brb starting flame wars on all the internet forums ever
 
I GET IT NOW
I couldn't figure out why blacks + watermelon was a stereotype.
 
4:09 AM
I don't :|
 
I guess you haven't internetted enough? :P
 
@El'endiaStarman Is it?
 
@HelkaHomba Yes
 
oh
The watermelon stereotype is a stereotype of African Americans that states that African Americans have an unusual appetite for watermelons. This stereotype has remained prevalent into the 21st century. == History == The origins of this stereotype have been traced to Europe, where the typical watermelon-eater was an Italian or Arab peasant. Described as “a poor Arab’s feast” and "a meager substitute for a proper meal" by a British officer stationed in Egypt in 1801, the locals were portrayed eating watermelons “ravenously ... as if afraid the passer-by was going to snatch them away.” The f...
I spent a whole day trying to get JS code that worked to work again and made no other progress ;_;
 
4:12 AM
Flame war style guide:
    - Indents must use spaces for top level code, tabs in functions
    - Sentence comments have one space after period or comma, two after ?! and other punctuation
    - Use double quotes for empty string, single quotes for everything else
    - If your language allows it, underscores must be used to separate long numbers into groups of 4 digits
    - Maximum line length is 91 characters
    - Must code in nano
@Maltysen ^
 
@Sp3000 twitch...twitch...
 
groups of four digits?
Also, that reminds me, should cheddar require number seperators to be sepearted correctly?
 
It makes me sad that "separate" is mispelled twice... :P
 
@Sp3000 I'm trying so hard not to scream in horror
 
As in 100_0000_0000_0000. Gotta be mindful of our Asian programmers :P
 
4:14 AM
What does that have to do with Asians? o_O
 
@Sp3000 I don't think even asian programmers do that?
should cheddar attempt to catch infinite recursion or just have the code infinitely recurse?
 
@Sp3000 Hey, that works in Julia! o_O
 
@Dennis also works in cheddar
 
@Dennis Yep, Julia added underscore separators to numbers not too long ago
IIRC it's in one of the more recent C++ standards as well
 
@AlexA. See #2. One 万 is 10000, so instead of a words for "million", "billion", etc. they have a words for 10^8, 10^12, etc.
 
4:17 AM
Oh interesting
 
> RangeError: Maximum call stack size exceeded
JavaScript y u do dis ;_;
 
@AlexA. Oh, I don't see plus.
Wait, wrong language.
 
@Dennis Yeah, a surprising number of languages allow it :P Even Python's considering
 
I can see how that would improve readability, but it's so ugly...
 
Wait Chinese?
 
4:20 AM
Number literals in Hoon have to have German-style seperators :p 1.000.000.000
 
@RenderSettings how are decimals done then?
1.000,001?
 
@Downgoat Nah, there's another syntax for floats but I can't remember it. I never use floats so I'd have to look it up
 
^^ That should be part of the style guide instead: decimals must use, to denote the decimal point
 
O_o how juic avocad is valid cheddar code
 
how juic avocad?
 
4:22 AM
It's also valid Foo, so...
 
Cheddar?
 
Cheddar:T_REPL> how juic avocad
━━ Execution Instruction ━━
[ CheddarPropertyToken { Index: 3, _Tokens: [ [Object] ], Type: Symbol(Property) } ]
 
What's Cheddar?
 
@DerpfacePython Cheddar is a real programming language
 
"real" >_>
 
4:22 AM
Is it an esolang?
Or is it just normal?
 
no, it's a real/normal programming language
 
Downgoat is making it
 
Kule
What's the interpreter in?
 
@DerpfacePython it is the new cool programming language.
@DerpfacePython Written in ASM
 
ASM?
Whoa what's that?
 
4:23 AM
Some JavaScript thing
 
An assembly (or assembler) language, often abbreviated asm, is a low-level programming language for a computer, or other programmable device, in which there is a very strong (generally one-to-one) correspondence between the language and the architecture's machine code instructions. Each assembly language is specific to a particular computer architecture, in contrast to most high-level programming languages, which are generally portable across multiple architectures, but require interpreting or compiling. Assembly language may also be called symbolic machine code. Assembly language is converted...
 
Ah
Got it
 
You're using asm.js, right?
 
Now I see most of my post thingos are questions
 
4:24 AM
@AlexA. yea
 
@Sp3000 No one that I know of that's Chinese uses a word for 10^12, though.
It's only 10^4 (万) and 10^8 (亿).
 
It doesn't come up very often, but I've seen it around. Also in Japanese too
 
@orlp why does Pyth make pyth.herokuapp.com/… compile into an empty string?
 
@Maltysen `` \ `` is escape
 
@Maltysen dno
 
4:27 AM
@Downgoat yeah but it shouldn't escape newlines
 
¯\_(ツ)_/¯
 
it seems to be one of the test cases also
weird
 
@Maltysen Use TeaScript, it is better than Pyth because JavaScript
 
@Downgoat Just do a lone \ in the future instead of trying to code-format it. :P
 
@Maltysen pyth5 handles this properly
 
4:28 AM
@Sp3000 Oh really? What's the Japanese?
 
\ \o/ \o/
 
@AlexA. Similar/same characters for most cases, different pronounciations
 
@orlp yeah I'll do that too, really weird though…
 
@Maltysen Pyth5 has a really complex tokenizer
 
@Sp3000 Huh. Okay. Well, you know what they say, 四百二十燃やせ。
 
translate: 四百二十燃やせ。
(from Japanese) 420 burn.
 
@AlexA. ...
 
@Maltysen in Pyth5 input is in binary
 
Eventually I'll just recognize those characters outright... :P
 
@orlp that's pretty smart
 
4:31 AM
@Maltysen so you can safely embed null characters, and non-UTF-8 strings
 
3 mins ago, by Downgoat
¯\_(ツ)_/¯
 
@El'endiaStarman What I'm wondering is what part is 420 and what part is burn....
translate: 四百
 
四百二十 are "four", "hundred", "two", "ten" respectively
 
(from Japanese) Four hundred
:/
@Sp3000 oh okay
> two ten
 
Yeah, no funky words like "twenty" or "eleven" - just stick them together
 
4:33 AM
s/twenty" or "eleven/two ten" or "ten one/
 
@El'endiaStarman Bing never gets this quite right. Google is much closer.
 
google translate: 四百二十燃やせ
(from Chinese) Four hundred and twenty burn ya se
 
You want (from Japanese) there
(燃やせ is Japanese)
 
google translate is telling me it's chinese
 
Hmm it detects JP for me o_O
Er... hit Detect Language?
 
4:36 AM
oh
google translate: 四百二十燃やせ
(from Japanese) Four hundred twenty blaze it
 
What are our rules about posting a challenge from my teacher (classwork for us), for example? Do I just need his permission to post his challenge?
 
I think that's pretty much it.
 
@GamrCorps yeah, pretty much
 
I'm not sure if the permission is strictly necessary, but much better to have it nonetheless.
 
Asking would be good, in case
 
4:38 AM
@GamrCorps Explicit permission would be good to have. Though I'd be surprised if he had his assignments under some kind of copyright.
 
Ok, thats what I thought, thanks.
 
@AlexA Pls no
Just no
 
5:01 AM
@DerpfacePython No what?
 
5:27 AM
@Sp3000 Note: 10000 is a myriad
 
I remember trying to express a googolplex in terms of myriads many years ago. Like, a googol is a myriad myriad ... {25 myriads total} ... myriad myriad. Or maybe I was trying to express a googol in terms of myriads. Either way, I distinctly remember being unable to figure out how to do so, and realized that the number was too big to express in myriads.
 
Ah, so that's what a myriad is...
 
5:53 AM
Hello
 
Anonymous
I thought a myriad was just "a bunch"
 
Nope, it was used by the Greeks. Hmm. I remember that I learned about this when reading/researching Archimedes for one of my classes, and I remember writing a computer program for it. I still have it, and it's dated to 2010. Only 6 years ago, but it feels like sooo long ago...
 
Anonymous
6:37 AM
Challenge idea: "Stack Exchange, Quora, or Yahoo! Answers?" (): given the title of a question on one of the three sites, determine which site it came from.
 
Stack Exchange: /avocad\s/.test(answer)
@Mego Yahoo! Answers: /who|what|when|where|why|how/i.test(answer)
 
anyone here did BOX-256 'checkboard' challenge?
 
@orlp Can't play BOX-256. WebGL requires a sane computer.
 
@zyabin101 if you're on windows you can download a local version
 
@orlp It dies immediately after I run it.
 
6:42 AM
@zyabin101 THEN WHY DID YOU RUN IT THEN?!
MURDERER
 
runs away
 
Anonymous
Woohoo my first CnR solution is safe!
 
Anonymous
1
A: Find the program that prints this integer sequence (Cops' thread)

MegoSeriously, 14 bytes (Safe) ,???D*≈@??D*≈- The ?s denote the hidden code. This sequence starts at a(0). Output: a(0) = 1 a(1) = 0 a(3) = 1 Solution: The sequence is: My solution:

 
7:07 AM
0
Q: Finding nth root modulo p

milesProblem Given a prime p, an integer x in Zp, and an integer n > 0, find all values of a in Zp such that an = x mod p where Zp = {0, 1, 2, ..., p - 1}. Input The input values are p, x, and n. These can be passed in any manner conducive to your language, including and not limited to standard inp...

 
@phil13131 did you just reccomend a prime factorization to identify unique flags? That's a delightful creative solution, but assigning them each a power of 2, and just using the standard but manipulation methods would certainly be more intuitive and idiomatic — Steve Cox 16 hours ago
 
Anonymous
I fail to see the problem
 
Anonymous
Brb doing something like that in Actually :P
 
haha :P
 
 
1 hour later…
8:27 AM
is there some way of interating over all numbers < n in some randomish order?
(and hi all)
 
Define "randomish"
 
@Lembik Without storing the entire list in memory?
 
@MarsUltor exactly
@Sp3000 well.. if I could afford to make a huge list I would randomly permute it.. But I can't so I want as close as possible :)
 
@Lembik Why all numbers in a randomish order?
 
@Lembik yes
what you effectively ask for is a en.wikipedia.org/wiki/Block_cipher
 
8:30 AM
@MarsUltor because I think that a random number is reasonably likely to work but if I iterate from 0 it will find a long time to find one that does
@orlp aha!
 
@Lembik wat
how is a random number supposed to be more likely?
 
I am looking for numbers that satisfy a particular property
@MarsUltor because it has roughly the same number of 1s and 0s for example
 
@Lembik Then why not generate random numbers with those specific properties?
 
@MarsUltor I don't want to generate the same number twice and I want it to be fast
 
8:33 AM
@Downgoat Me, most of my PPCG-Design commits are done via the online UI
 
@orlp looks very sophisticated. Thanks
 
@Lembik Then generate numbers in a certain order with those properties.
 
@Lembik what you want is a pseudorandom permutation (random bijective function) of arbitrary domain
 
@orlp yes!
@MarsUltor so random numbers have roughly the same number of 1s and 0s and the 1s are roughly evenly spread out. I don't know how to iterate over that subset
 
@Lembik how large of a domain are you shuffling?
 
8:37 AM
@orlp 2^32
 
exactly 2^32?
 
no :)
but like that
 
@Downgoat A computer with a lot of SD/microSD ports and a lot of these
 

« first day (1906 days earlier)      last day (2938 days later) »