« first day (2877 days earlier)      last day (1971 days later) » 
00:00 - 17:0017:00 - 00:00

12:05 AM
@ASCII-only Any idea why ≧⁻∕ΣθLθθI∕θX∕ΣEθXι²Lθ·⁵ is rounding its output? ≧⁻∕ΣθLθθ≧∕X∕ΣEθXι²Lθ·⁵θIθ works but is less golfy. If you need to fix something, please also consider vectorising Power, so I can write ≧⁻∕ΣθLθθI∕θX∕ΣXθ²Lθ·⁵
 
12:31 AM
@Neil ASTifier says you're using intdiv
Wait
What
Ast is wrong isn't it. Oops
@neil oh yeah btw 23
Turns out I forgot to document that. Oops
 
12:48 AM
eat
9
 
@Neil and... Found the bug. Will fix when I get back to a laptop
 
1:06 AM
@quartata excellent point
 
e
5
 
1:37 AM
Theory of Quartata: Number of stars quartata gets is proportional to the length of his message
 
*inversly proportional
 
false, "e" got 0 stars
5
if y'all star that because i said ^ humanity is a lost cause
5
 
ate a civilization
6
 
@Riker Humanity has been a lost cause since long before e got starred
 
y'all are abominations
 
1:41 AM
Quick, 19 stars
 
also ree star spam
 
log proportional
 
ok you have to star my first msg 1 more star so it's above the other msg
 
2:13 AM
Well, it's a good thing you didn't say "ate a civilization", Riker
 
2:35 AM
Wait ... why aall the stars?
 
56 mins ago, by Riker
if y'all star that because i said ^ humanity is a lost cause
 
quartata has become the starman
2
 
O_O HAHA
 
Ironic funposting
 
@ETHproductions WOT??
 
2:41 AM
He comes.
 
woah
El'endia
And geobits not too long ago
 
Now we just need Alex to appear out of nowhere
 
A lot of people seem to be reappearing (c.f. El'endia, Geobits, xnor(?), Lynn), but for how long.
 
 
2 hours later…
4:26 AM
i think xnor always lurked, same with lynn
 
q
 
 
1 hour later…
5:48 AM
Yo. So, there was a challenge a while back to write a program that still works even if you change it.
 
radiation hardening?
 
Specifically, you were supposed to write a program that would output 2016 (or whatever the year was); and where if you changed any single character, it would either be a build error, or still output 2016.
I didn't find the challenge when I searched for it.
 
@EriktheOutgolfer just use a decorator
 
Aha, there's a whole tag for it! Yeah, that's right. I think this one was the original. codegolf.stackexchange.com/questions/4486/…
 
6:27 AM
@xnor :P
https://tio.run/##5VdNj5swEL3zK0ZbrYRZukrSU1bqSj2sqkhb9dCqh16QWRywanA0Nhu1fz61MQmQsEmTkFw64mAzbz4eDw9i8VtnsviwWs1R5pBTnQHPFxI1CJlOgCoQqeclbA6C51yzJOKF9p9nX2bfyYMHxqo1fITmvrv99fMkWvtE2nHZZfRt9vPJuKrNfcx1JFiR6swnXgV6EVQpeHZFZya3yV9XtGY7iqKCLaPIfxEqhFcqShZCQDE1uyD4tbSrVoQ1PgcaK7/CEnh0xbsQa0i5YvDDop4QJfo3twnIUiueMPcc1A3cupKkE41Ml1iAKhcMfXK/22HNrqFAk8QAFBPzEKTOGG61jEyVQpsH1eR0IQ7cR8@FHMvvDnpJdlrrJ2sApqtKMNNXXX2bJ55AFK/LtKoTVnzOYarK@FiiLmRonu8vrOgJRPG6TAdSNC/FXqKmdzv9qjKdUWZeNetwMV3PY3sMSrQj0vJ3rZq4el@rZOGbgXpB@XcEc9SH1iu48Jv5HwuG11VsoBM2F1Jiwl8PzJO@jA31VpL1w9p@MQapg4cL5XLnYwdH1XAJ3qJxdn
 
7:14 AM
ಠ_ಠ i misread todays aoc thinking that the play order always was the startings one ans wasted around half an hour on that :|
 
7:30 AM
oh god thats not even an over-estimation. 37 minutes .____.
 
8:04 AM
@ASCII-only wow, thanks!
 
8:17 AM
@ASCII-only if you have time can you help test VSL
 
8:49 AM
@ASCII-only um... how is that going to help me?
also... ouch, you made some pretty large thing over there :P
 
9:36 AM
damn today's aoc is hard
 
ngn
why do aoc problem descriptions have to be so wordy...
 
think ill skip today :P
 
 
2 hours later…
11:34 AM
Quick poll: Are interpreted or compiled esolangs better? Why?
 
ngn
@wizzwizz4 define "better" :)
 
@ngn i wanted to say exactly that but that'd be asking pretty much the same question back :p
 
@ngn No, you define better!
Ninja'd.
 
compiled... :-P
(see: Sesos)
 
@EriktheOutgolfer Why?
 
11:38 AM
easier to implement: interpreted. more horrible for everyone except slow code: compiled, supposedly.
 
@dzaima Why's it more horrible?
@EriktheOutgolfer I don't know Sesos and there isn't an esolangs page on it.
 
> easier to implement: interpreted
except bf derivatives
 
@wizzwizz4 harder to create, debug, has compile time, more restrictive (probably)
 
@wizzwizz4 tio.run#sesos
Dennis himself made it
 
ngn
11:42 AM
@wizzwizz4 interpreted. better = gives you more control over the implementation
 
I'll throw my ring into the hat.
Compiled is better because it lets you pretend that you're using a real programming language.
4
 
(...ouch, wizz has back pains because he tried to pick a whole ring up)
2
 
Nah, actually I'm going to concede; interpreted languages have more scope for self-modification and non-standard execution fun stuff.
@EriktheOutgolfer I actually laughed at that one.
 
ngn
there's a third option - semi-compiled, semi-interpreted, i.e. compile to your own bytecode format and write a vm to interpret it
 
@ngn That's what Python does, isn't it?
 
11:44 AM
@ngn e.g. Sesos
 
like what emojicode did before 0.6
 
ngn
@wizzwizz4 python, java, js, etc though some of them also do jit
 
That annoys me. I'm currently writing a compiler for CPython bytecode to LLVM because bytecode is annoying.
 
ngn
@EriktheOutgolfer what is sesos? i duckduckwent it but got irrelevant results
 
click the link above
 
11:48 AM
@ngn I duckduckwent "Sesos programming language".
Unfortunately there's no bang for esolangs.org.
 
ngn
ah... i should have guessed
 
that's because it's not on esolangs.org
 
@EriktheOutgolfer Could've found that out quicker if there was a ddg bang!
 
ngn
am i the only one here who likes to implement languages but has never designed one of his own? :)
 
@ngn i'm quite the opposite :p
 
11:55 AM
@dzaima Same.
 
My most common situation is to get mad that the existing interpreters are all unsuitable for some reason and be forced to implement my own for some challenge.
 
@feersum that's.. currently my case for java, C, JS, APL & pretty much every language I've used, but I certainly don't have the patience to make my own versions of literally all the languages :p
 
ngn
@feersum by unusable you mean too verbose?
 
Canvas was made because SOGL didn't meet my requirements, and for a while i've been gathering ideas for a 3rd ascii-art language because it too is a bit bad
 
@ngn No, how would that work? If you have something less verbose, it must be an actually different language.
 
11:59 AM
@ngn all verbosity problems can be fixed with a good enough ide :p
(and yes, making my own ide(s) is on my infinite non-existing todo list too)
 
ngn
@feersum i see, so most commonly you reimplement existing languages. which ones have you done?
@dzaima "every feature of your ide is a defect of your language" - i always forget whose quote that was...
7
 
@ngn I personally though think that features being on the IDE not on the language is a good thing - sometimes the visual representation you want to see is just not the same as the stuff you write
auto-indenting code is one example - you want to be able to write code without worrying about it, but want to be able to visually tell the difference from different scopes.
longer/more logical variable names are (usually) easier for humans to remember, read & correlate, but having to write them out is very annoying, hence code completion.
by that logic, C's undefined behavior is completely horrible as the best way to avoid it is to have tools that tell you about it appearing (besides learning the language well)
 
12:17 PM
@ngn Brainfuck (probably more than once) and Stack Cats are ones I recall implementing. There must be more but I can't think of them.
 
@dzaima It is!
 
ngn
@dzaima what i usually do is name my variables something very short with a comment on initialisation. long names distract me. i must be developing chronic dyslexia from too much golfing :)
 
@dzaima but about that, I feel like that there should be a very very simple way (maybe even default) to change all UB to errors for debugging
heh i wonder how much slower would applications be if they checked for UB everywhere
 
ngn
@dzaima any slowdown due to that would be unacceptable for me :)
 
@wizzwizz4 ^
 
ngn
12:28 PM
in practice undefined behaviour is not much of a problem, if i feel insecure about some value, i just add an assert and run my tests in debug mode
 
@ngn I think you should have a go at FizzBuzzEnterprise.
 
ngn
if the tests don't catch an offense, i didn't care about it in the first place :)
 
@dzaima Didn't say it wasn't useful. It's just so incredibly horrible.
 
@wizzwizz4 as a general rule of advice, if C's UBs cons outweigh its pros for you, you shouldn't be using C.
 
@dzaima That's why I only use C when I want to stare into the abyss for a bit.
I've yet to finish a C project.
Heck, LLVM's easier!
 
ngn
12:41 PM
@wizzwizz4 i use clang for the language i'm working on (ngn/k). would there be any advantages (performance in particular) in writing llvm ir directly instead of c?
 
@ngn Not really.
It makes it less portable, since only clang can really compile it.
 
Yeah, I wrote a compiler outputting LLVM IR and afterward realized it was a stupid decision.
I didn't end up using any feature that's not available in C.
I suppose I could add an option to compile with 1000-bit ints :P
 
ngn
12:56 PM
@feersum what... how 1000-bit ints? avx2?
 
LLVM supports ints with any number of bits from 1 to 2^28-1, IIRC.
Language feature idea: When an integer op overflows, recompile the program with more bits in the integer type and then continue execution.
 
@feersum Outputting LLVM? That's not stupid.
Writing it in LLVM is a little.
But LLVM as part of a compiler toolchain is a brilliant idea.
 
ngn
@feersum 2^23-1
 
@wizzwizz4 It made things much more verbose and hard to debug than if I had outputted C.
 
@feersum Oh, ok. You didn't run it through the LLVM optimiser?
 
1:02 PM
@wizzwizz4 What does that have to do with the concerns I mentioned?
 
@feersum Less verbose.
 
No, an optimizer will make code longer if anything.
Loop unrolling, inlining, etc.
But yes, it was compiled with optimization enabled.
 
ngn
1:43 PM
i've just been bitten by clang's aggressive optimisation
#define _0W (~0UL>>1) //0x7f...f
void f(long long v){printf("%d\n",v+1<(long long)(2-_0W));} //falsey with -O1 or higher; truthy otherwise
int main(){f(_0W);}
 
@ngn That's UB, I think.
 
ngn
doesn't happen in v3.8, happens in v6.0.1
 
Yeah, that's UB; you need to write 2LL instead of just 2.
 
ngn
@dzaima you were right ;)
@wizzwizz4 that doesn't fix it
 
Ok, _0W is an unsigned long value that represents the largest available signed long...
 
ngn
1:50 PM
i wanted to test efficiently if a 64-bit value is one of 0x7f...ff, 0x10...00, 0x10...01
 
Ooh...
You're encountering signed overflow.
 
ngn
or as they are called in k: 0W ("infinity"), 0N ("null"), -0W
 
Do the arithmetic with signed integers and you should be fine
I think. I don't really know.
 
ngn
@wizzwizz4 i decided to just test for the 3 values explicitly and let clang do its thing :)
 
@ngn Probably for the best. With C, you want to write clear code and let the compiler do the tricks.
 
ngn
2:00 PM
it's not about signed vs unsigned arith. the overflow was deliberate and it worked previously
the problem was that clang relies on a+b < c <=> b < c-a or something like that
 
Yeah, I think that's standard C signed UB.
 
2:41 PM
@ngn what in your opinion would be better: 1) APL interpreter optimizing ¨es out if it can figure out how to; 2) ide telling you to; 3) you're on your own
 
Better for what, the language maker or the user?
 
@Zacharý user. noone cares about the implementer :p
 
ngn
@dzaima redundant each-es? like ? i would say option 3 - that mistake is unlikely to be made, so no need to bloat the interpreter
@dzaima if it's something like f⍨¨ ←→ f¨⍨, i'm not sure (iirc dyalog does this in the interpreter)
 
@ngn that's why I gave the option of the IDE - doesn't bloat the interpreter, but helps the user. Both simple things like that, but (⍳100)+¨⊂⍳100 vs (⍳100)+⊂⍳100 is a speedup
 
@ngn It is. v+1 is already undefined for f(_0W).
 
ngn
2:49 PM
@dzaima there is more than one ide, and some of us prefer vim, so that option is a burden too
 
-fwrapv seems to be supported by clang.
 
ngn
@Dennis so ((unsigned) 0xf...f)+1 is not undefined?
 
also (3/10)∘⊤¨vec instead of ↓⍉(3/10)⊤vec is a thing i certainly would have written a while ago
I could also see f←{10+14×⍵} ⋄ f¨arr sneaking in code after refactorings
 
@ngn Unsigned overflow is guaranteed to wrap around by the C standard.
 
ngn
@Dennis well, one learns something new every day :)
@dzaima maybe what you want is an apl linter
 
2:56 PM
@ngn the ide can also serve as a linter
 
Tests ran in  (7:38)
0 errors out of 58181 tests
\o/ Nothing more satisfying than that before going on vacation.
 
ngn
@dzaima i prefer to not have such a tight integration between language and ide, but i'm sure many apl-ers like it otherwise
@Dennis "illegal instruction. core dumped"??
 
Yes, -ftrapv detects signed integer overflow. Useful for debugging.
 
@ngn That's odd... oh, wait... -ftrapv does that.
 
3:02 PM
@ngn there are special asm instructions that exist for the purpose of not existing
 
ngn
got it.
"-ftrapv Generate code to catch integer overflow errors. Signed integer overflow is undefined in C. With this flag, extra code is generated to detect this and abort when it happens."
 
@mınxomaτ Is that 7.5 minutes or 7.5 hours?
 
Minutes, across 24 cores.
 
Wow, very impressive.
Though I guess it also depends on how heavy each test is. My workplace has a test suite with something like ~200 tests that take about 10 minutes to run all the way through.
 
ngn
@wizzwizz4 fyi, indeed it looks like clang optimised properly my new stupid version of the code (3 comparisons with ==):
	movabs	rax, -9223372036854775807
	add	rax, rdi
	cmp	rax, 2
	ja	.LBB1_2
^ essentially what i was doing by hand before
 
3:20 PM
@El'endiaStarman Each test suite (~500) sets up and tears down a copy of the app. Network access is mocked, and it all runs on a few NVMe RAIDs. It's an expensive setup, but it made a huge difference in test times.
 
@ngn Compilers are smart nowadays. Never forget it.
 
Well, some are.
 
@mınxomaτ Sounds like our setup dialed up to 11. We setup/teardown nearly everything for each test and everything external, especially network access, is mocked. Setting up and tearing down definitely contributes a lot to the time it takes, but it does also mean each test can assume a clean slate, which is convenient for the devs.
 
@Dennis Cough cough msvc cough.
 
Never used that one.
 
ngn
3:29 PM
@wizzwizz4 sometimes too smart
 
@ngn If you avoid tricks and UB, it's never too smart. If you don't avoid UB, you're going to get demons leaking from your nose and a velociraptor attack from the side.
 
ngn
@wizzwizz4 :D
 
Velociraptors are caused by gotos, not UB.
 
ngn
another example: clang tries to optimise my invocation of __builtin_sqrt() by calling... sqrt()
which doesn't exist as i'm not using libc and libm
 
@Dennis Oh yeah, good point.
I forgot that gotos were well-defined.
 
3:45 PM
goto is implementation-defined, not undefined. It's up to the compiler writers which sort of reptilian is summoned.
 
@feersum Ah, got it. Thanks!
 
4:02 PM
in javascript, is there nothing shorter than String.fromCharCode?
 
Nope. That's exactly the inspiration for at least 2 JS-based golfing langs
 
even bash is shorter than that >_<
String.fromCharCode(c)
"\\`printf %o $c`"
 
@primo I don't think so, unless you can find a way to generate for(var i,s=i="";i++<999;s+=String.fromCharCode(i)); in a shorter way.
 
eval(`"\\${c.toString(8)}"`)
also longer
 
If you need it more than once, you can save a bazillion bytes by doing C=String.fromCharCode
 
4:13 PM
true
 
@ETHproductions More than once, even!
 
For only one use, though, I'm 99% sure there's no shorter way to do it
@wizzwizz4 Ah yes, I thought that and then typed out "twice" anyway :)
 
as far as i can tell, romancortes has a decoder at least 10 bytes shorter than mine
no idea how he managed it
 
ohh you're working on code-golf?
 
@primo not shorter source?
Or some kind of insane compression ratio
 
4:17 PM
in some, he most certainly does have shorter source :p
 
I'm assuming he hasn't improved on decoder since then
 
wow, yeah, way more than 10 bytes shorter...
like 45
<_<;;
 
I was thinking unescape('%'+c.toString(16)) as another alternative, but it's as long as your idea
 
oh, he's doing a 2:1
hmm
 
Kudos to @Cowsquack for showing that post to me
@primo *3
 
4:24 PM
maybe i should read the whole article
 
Encoder: c=s=>s.charCodeAt(0)-31;f=s=>{s=';'+s.padEnd(3*Math.ceil((s.length+2)/3));r='';‌​for(i=0;i+3<s.length;i+=3)r+=String.fromCodePoint((c(s[i+2])*97+c(s[i+1]))*97+c(s‌​[i]));return r}
@primo yeah maybe >_>
 
I still have no idea what the 25-byte quine is
I suspect it has something to do with reading the source
 
his 3:1 is actually identical to mine
 
It cheats - read the file
 
i figured it out after reading the dockerfile
 
4:26 PM
Everyone did
 
i was actually the first to submit a 27
that's how bad i am at javascript golf
 
@ETHproductions 2:1?
 
@quartata you should try to do AoC day 15 in nethack
 
@ASCII-only no, for String.fromCharCode
 
4:28 PM
@Rier whats the challenge
 
@primo how can you tell
 
in summary: goblins and elves fight, each start with 200 hp and deal 3 dmg per hit
they move to attack each other on a map (which literally just looks like a generic cave level from nethack)
 
hmm yesss
 
it would require a bit of modification to the AI code and maybe some damage + hp things but that's all
 
4:29 PM
yes
 
@primo I don't understand what's going on in the dockerfile :/
 
@ASCII-only i've lost the context, tell what?
 
Ctrl+F -> .js
 
speaking of elves
 
4:30 PM
I must be looking at the wrong dockerfile then
 
it's a long problem too
 
like this post if you think SE should get me to design the secret hat triggers next year
5
 
@primo tell that they have a shorter decoder
 
ah, found it
 
ill give you a taste of what to expect with me as lead hat designer:
 
4:34 PM
@primo you're using xem's decoder for solutions <300 bytes (roughly) right
 
- a hat that is given every time you edit the description of the hat on the secret hats post
- a hat that is given whenever you reply to yourself in chat
- a hat that is given for opening/closing the devtools 100 times in a row
 
CMC: reply to your own message (the one you send at that time) without editing the message at all
 
@Riker This is impossible.
 
I believe it's just stupidly low chance to guess right
 
didn't work
 
4:36 PM
Yes
 
I (or someone else) tried and did get the number right once, but it didn't make a reply.
 
@Riker no...
 
and many nore await you in Winterbash 2019: Nightmare Mode
 
@Riker No, I tried it.
 
Believe me
 
4:37 PM
@El'endiaStarman oh really? rip
 
I've got lying around somewhere a message with the same reply and no self-reply.
 
I've tried as well
 
If you do a dummy edit afterwards it worked, but there's no no-pencil soluiton.
 
I've seen several people try. And fail.
 
dern
alrigth anyway @quartata i challenge you to make it in nethack
 
4:38 PM
Same with future pings ofc :P
 
I migth try myself but the only copy of nethack rn where I have teh source is slashem extended and I am NOT messing with that source again
 
- a hat every time you read the word "nethack" anywhere on the network
 
@Riker it's actually stupidly high. Chat is less active than you think
 
literally summoned a shoggoth irl last time i tried
 
@quartata every time O_o
 
4:39 PM
@ASCII-only literally every time
 
yes. each one will be procedurally generated
 
@Riker how did you deal with it
 
@quartata I like this one but there would be tons of dummy messages in all the main chatrooms
 
no two alike
 
@quartata tbh I'm 100% ok with that
 
4:39 PM
@quartata wow, sounds amazing. 10/10 fully support this idea
 
@quartata like I'd actually really like a randomly gen'd hat so they're (almost) always unique
 
@ETHproductions sandbox is a thing
 
@ASCII-only due to solutions that are "obviously optimal"
 
@ETHproductions what and the new year's hat doesn't make those?
 
@ASCII-only 27 >_>
 
4:40 PM
i hadn't considered a really short 2:1, though
 
could be gen'd off the hash of your main prof id (the overall acct not the site accts)
 
@Riker but double the dummy messages
 
Obviously optimal?
 
@ETHproductions /shrug if it becomes a problem (like there was with teh bluefoot hat a year or two ago) shog can step in
 
@Cowsquack hmm?
 
4:41 PM
(there was an issue with people mass testing comment things on somebody's post on sff)
 
nvm I'm dumb
for the js quine
 
- a hat that is guaranteed to be given, but it is at a random time for every user
 
- a hat that when worn will remove a random hat from your inventory
 
@ASCII-only penguins that are literally just grenades
 
@Cowsquack lol primo got 27 as well. And they don't even use JS asain language :P
 
4:42 PM
it tried to keep its penguin killstreak but the bait penguins sacrificed themself for the greater good™
 
it would actually go so that it would give it to you upon any action after that time
 
@quartata ok this and the proc gen hats are actually really good ideas
 
@Riker I think you're starting to sound like quartata's twitter
 
@quartata why not 69/420 times in a row? if you're memeing meme harder
@ASCII-only my steam names predated his twitter i believe
 
@quartata also clearly a hat hidden in 0.01% of all pages
 
4:44 PM
- a hat that is only given to you after you ask what triggers the hat in chat
 
@Riker solution: freehand red lines
 
back to back masterpieces. i am doing postmodern hat design here and none of you will be able to withstand my ultimate power
 
a hat that inverts the colors your avatar covered by the hat
 
4:46 PM
Nice
a hat that when clicked triggers a minigame
 
StackEgg 2.0!
 
oh jeez no
 
Yaaaay!
 
- a hat given to two users when they swap avatars
each hat will display the other's avatar
for easy identificatiin
 
0
Q: Nim Game - Modify List to get XOR result 0

Neon FlashI have a list of numbers as shown below: nums = [73, 59, 95, 27, 77, 57, 66, 24, 11, 36, 89, 57, 58, 19, 93] My task is to reduce a number in any one position in above list to get the resulting XOR of all the numbers in the list as 0. This is the Nim Game problem if you know about Game. The ...

 
4:50 PM
animated hat
Like Oliver Ni's avatar :P
 
- a hat given when you click where the flag button should be but youre actually logged out and then you log in
now that's Relatable
each hat should not attempt to encourage good behavior, but to mock and ridicule you for the mistakes you make every day
 
Clearly you should get a hat for getting your first hat
 
they already did that one
try this:
- a hat given when your first hat is obtained on the very last day of winterbash
dont even make this one a secret hat.
you want people to decide whether to sacrifice all of winterbash for one hat
 
You should get a hat for performing an even positive integer of actions on a page without refreshing.
@quartata That's just mean.
 
@wizzwizz4 define actions
 
4:55 PM
I would probably actually cry from that.
 
so I'm eager to edit 7 posts but no, I edit 6 and refresh to edit the 7th...
 
@ASCII-only Voting, commenting, flagging etc.
 
is it? or is it just life
that is for you to decide. every hat should make you question your actions
 
@primo Holy crap I managed to outgolf roman in JS
3
 
are you morally in the right alogging through review tasks for abhat. they say its good behavior, but is it truly
 
4:57 PM
@wizzwizz4 pressing a key
 
@ASCII-only I was thinking that, but then you could see the JavaScript.
I was also thinking "answer with a non-prime number of characters" but then people would know it was answer-related.
A secret hat that appears pretty much randomly, though?
 
@ETHproductions O_o
@ETHproductions is this compressed btw
 
no, I don't think it's possible to compress code that's less than 98 bytes
 
00:00 - 17:0017:00 - 00:00

« first day (2877 days earlier)      last day (1971 days later) »