←2014-11 2014-12 2015-01→ ↑2014 ↑all
2014-12-01
00:16:45 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
00:35:54 -!- Sprocklem has quit (Ping timeout: 244 seconds).
01:07:27 -!- nooga has joined.
01:12:04 -!- nooga has quit (Ping timeout: 250 seconds).
01:14:41 -!- Dulnes has quit (Quit: Connection closed for inactivity).
01:19:36 <Sgeo> Am I a bad person for recommending Node.JS to someone trying to build a chat? It makes the most sense to me...
01:20:35 <Bike> Yes.
01:26:01 <HackEgo> [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41267&oldid=41256 * SuperJedi224 * (+64)
01:26:23 <HackEgo> [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41268&oldid=41267 * SuperJedi224 * (+3) /* Command Summary */
01:31:29 -!- EisenHerz has changed nick to Sauvin.
01:46:14 <HackEgo> [wiki] [[Popular problem]] http://esolangs.org/w/index.php?diff=41269&oldid=30415 * 122.102.45.251 * (+266)
01:48:25 -!- oren has joined.
01:50:55 <HackEgo> [wiki] [[Popular problem]] http://esolangs.org/w/index.php?diff=41270&oldid=41269 * Orenwatson * (-266) Undo revision 41269 by [[Special:Contributions/122.102.45.251|122.102.45.251]] ([[User talk:122.102.45.251|talk]]) spam
01:53:04 <oren> seo melbourne? why melbourne
01:53:10 <elliott> fizzie: captcha got solved
01:53:22 <elliott> maybe it was just a human though
01:54:00 <oren> is seo even a real thing anymore
01:54:03 <oren> ?
01:54:58 <oren> or does it just refer to making the pages bot-readable?
01:58:35 <oren> HOLY SH%$$%@%$
01:58:55 <oren> I just got a email back from the maker of MNNBFSL
01:59:17 <oren> He wrote in English
01:59:23 <oren> "Thank you for writing an article of MNNBFSL."
01:59:24 <Taneb> MNNBFSL?
01:59:37 <oren> "I read http://esolangs.org/wiki/MNNBFSL ."
01:59:47 <oren> "In this artcile, "It appears to have been ... in late August 2014."
01:59:49 <oren> but it is invented in July.
02:00:05 <elliott> japanese people found to know english, world shocked :p
02:00:15 <lifthrasiir> "publicized in August 2014"?
02:00:28 <oren> "MNNBFSL is inspired by Brainfuck and Forth. Forth can manipulate return stack. Forth programmers can write puzzle like program by this feature."
02:01:06 <oren> "I think it is interesting, so I want to create esoteric language that can manipulate return stack."
02:01:14 <oren> "Thanks"
02:01:22 <lifthrasiir> elliott: they *do* surely know English, they just don't write in it normally :p
02:01:31 <oren> This is very good English for a Japanese person.
02:01:39 <oren> In my experience anyway
02:01:52 <elliott> they get taught english y'know
02:02:08 <lifthrasiir> so do some 2 billion people around the world
02:02:11 <oren> In high school, but that's like I'm supposed to knwo French
02:02:26 <oren> but i can't speak a word
02:02:36 <Bike> japanese people have more incentive to learn english than you do to learn french, if you're not canadian
02:02:39 <elliott> lifthrasiir: yeah, that's my point
02:02:47 <lifthrasiir> at least I can barely remember rendezvous is a correct spelling
02:02:54 <oren> i'm canadian but i'm from Ontario
02:03:25 <Bike> not that canada, the other one
02:03:32 <elliott> oren: well, foreign language classes in the english world are basically hobbies
02:03:57 <lifthrasiir> and foreign language classes in the non-english world are basically for survivals
02:04:00 <lifthrasiir> (seriously.)
02:04:02 <elliott> knowing english is more of a necessity...
02:04:15 <elliott> (as in, treated as one by education systems)
02:07:12 <FireFly> Even without school-taught english, plenty of non-english-speaking countries consume lots of english media and pick it up that way
02:07:19 <FireFly> At least for countries that don't dub everything they import
02:08:18 <elliott> oren: btw, you know anarchy golf (where the author of MNNBFSL, yshl, participates) is a japanese site with many japanese players, right? :)
02:08:22 * FireFly 's pronounciation was terrible initially from having picked up english from pokemon and online forums
02:09:02 <oren> japanese people put subtitles in Japanese on everything
02:10:17 * oren , when he was in japan, saw a lot of badly used English
02:11:13 <FireFly> We sub movies/TV series as well, though games remain untranslated
02:11:14 <elliott> it is relevant that avoiding english while being a programmer who knows a lot of languages etc. is incredibly difficult...
02:11:27 <HackEgo> [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41271&oldid=41229 * Orenwatson * (+37) updtaed with info from inventor
02:11:44 <elliott> (so you'd expect programmers to generally have a decent grasp of english even regardless of the general statistics)
02:12:21 <oren> yeah becuase programming languages and libraries are based on english keywords
02:12:38 <oren> (with very few exceptions)
02:12:43 <elliott> well, moreso documentation
02:12:48 <elliott> but yes
02:13:11 <elliott> ("def" and "int" aren't english words, so just treating keywords as opaque wouldn't be too much of an obstacle)
02:13:27 <oren> drawtriangle
02:13:43 <oren> things like that
02:14:40 <oren> but yeah a lot of documentation doesn't bother having any other languages.
02:14:43 <elliott> I like how the full japanese name of the language is light novel title length.
02:15:00 <oren> that's the Japanese way
02:15:11 <oren> poketto monsuta! pokemon!
02:16:47 <Taneb> elliott, it does?
02:16:55 <elliott> it does what?
02:17:24 <Taneb> The full japanese name of the language
02:17:24 <oren> まだ名前のないBF風スタック言語
02:17:33 <Taneb> Oh, MNNBFSL
02:17:40 <Taneb> I assumed you were talking about Japanese for some reason
02:19:34 <oren> nah in Japanese the language is just called 日本語 "nihongo"
02:19:50 <oren> not light novel title length
02:19:52 <elliott> it translates as "My Little Sister Forced Me To Create A Brainfuck Derivative, And Now The Whole School Is Laughing At Me!"
02:20:01 <oren> lolololol
02:20:04 <oren> WWWWWWW
02:20:11 <Taneb> Oh wow ahahaha
02:20:22 <elliott> (it doesn't but it should)
02:25:23 <oren> 俺の妹はBF元着く言語を無理矢理着かせた!
02:25:42 <oren> My little sister forced me to make a BF derivative
02:27:16 <oren> 今、学校のみんなが俺を笑う!
02:27:33 <oren> now, eveyone at school is laughing at me!
02:27:39 <oren> there you go
02:27:44 <elliott> please don't make this language
02:27:55 <oren> lololol
02:28:08 <oren> trolololol.gif
02:28:39 <elliott> you know IRC doesn't support images, right
02:28:48 <Bike> some web clients do
02:29:05 <oren> yeah but when you see the name of the image you know what image it is
02:29:35 <oren> like doge.jpeg
02:29:50 <lifthrasiir> orebrefa
02:29:53 <elliott> you can actually allude to things without adding file extensions
02:30:16 <lifthrasiir> oreimo indeed is a crazy anime.
02:30:35 <oren> but its funnier when it's ohmaigaa.webm
02:31:24 <oren> wilhelmscream.mp3
02:31:28 <elliott> my favourite meme is rotten_dog.tiff.shar.bz2
02:32:30 <dianne_> isn't that one a bit old by now
02:32:32 -!- dianne_ has changed nick to dianne.
02:32:35 <dianne> it's even decomposing
02:32:51 <Bike> swap.avi
02:33:09 <oren> hello.jpg
02:33:13 <shachaf> PKZIP.EXE
02:34:10 <shachaf> onestop.mid
02:34:43 <shachaf> remember C:\Windows\media?
02:35:11 <oren> dan dadan dan dan daaaaan
02:36:27 <oren> 2girls1cup.mp4
02:37:00 <oren> trolololol.mp3
02:37:41 <oren> yerawizardharry.avi
02:37:42 <lifthrasiir> C:\con\con
02:38:45 <elliott> I'm glad this channel is getting even worse :p
02:39:23 <oren> ofcourse.wav
02:39:43 <FireFly> I'm sad this channel is getting even worse :(
02:40:22 <oren> allthewhosdowninwhovillecryboohoo.webm
02:41:22 <elliott> okay this got old like five minutes ago
02:41:22 <Taneb> I'm mad this channel is getting even worse >:(
02:41:40 <oren> tomeitwastuesday.wmv
02:41:41 <dianne> I'm dianne
02:41:49 <oren> hi dianne
02:41:56 <dianne> hi
02:43:03 <Taneb> I'm Taneb
02:43:17 <Taneb> Sometimes I'm also Nathan
02:43:24 <Taneb> Although not on IRC
02:43:30 <FireFly> `? Nathan
02:43:32 <HackEgo> Nathan? ¯\(°​_o)/¯
02:56:21 -!- nooga has joined.
03:00:00 -!- CADD has quit (Read error: Connection reset by peer).
03:00:47 -!- nooga has quit (Ping timeout: 255 seconds).
03:34:36 -!- CrazyM4n has joined.
03:34:37 -!- AndoDaan has joined.
03:45:02 -!- Sprocklem has joined.
03:47:13 <zzo38> Can a Pokemon card puzzle possibly be made up that the goal is for the players to cooperate to end the game as quickly as possible (it doesn't matter who wins or if it would end in a draw)? There may be many other conditions to be possible too
03:48:24 <paul2520> interesting
03:48:31 <paul2520> I could see it
03:51:02 -!- shikhout has quit (Ping timeout: 258 seconds).
03:55:40 <J_Arcane> https://github.com/charcole/Z3
04:11:42 <coppro> zzo38: I concede
04:11:59 <zzo38> Conceding isn't allowed of course
04:16:09 <shachaf> zzo38: Yes, such a puzzle could possibly be made up.
04:21:46 -!- GeekDude has changed nick to GeekZzZzZ.
04:21:49 -!- GeekZzZzZ has changed nick to GeekZzZzZz.
04:24:28 <zzo38> Do you know how to make it good though?
04:31:37 -!- Dulnes has joined.
04:31:51 <Dulnes> Mmm not much discussed
04:40:34 -!- MoALTz_ has joined.
04:40:53 -!- GeekZzZzZz has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:43:43 -!- MoALTz has quit (Ping timeout: 265 seconds).
04:45:17 -!- nooga has joined.
04:46:37 -!- AndoDaan has quit (Quit: Quit).
04:48:21 -!- CrazyM4n has quit (Quit: Lost terminal).
04:49:37 -!- nooga has quit (Ping timeout: 240 seconds).
04:52:28 -!- dianne has left.
05:23:29 <Sgeo> `slist supdate
05:23:31 <HackEgo> slist supdate: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot
05:29:01 -!- ZombieAlive has quit (Remote host closed the connection).
05:37:45 -!- cluid has joined.
05:37:47 <cluid> hi
05:39:46 <newsham> whoa https://github.com/charcole/Z3
05:40:58 <shachaf> #haskell is such a disaster
05:42:55 <cluid> Interesting newsham
05:43:37 <cluid> @newsham I was reading alangsec article an dyou were mentioned
05:43:37 <lambdabot> Unknown command, try @list
05:44:18 <newsham> why?
05:44:23 <newsham> which article?
05:45:09 <cluid> I was thinking about making an esolang page on ROP, this is one thing i read http://langsec.org/papers/Bratus.pdf
05:45:16 <cluid> what do you think about such an article?
05:46:11 -!- ZombieAlive has joined.
05:47:17 <newsham> i think the topic is interesting, though i'm not sure if looking at them through the lense of "weird machiens" is all that enlightening...
05:47:26 <newsham> i guess if thats your passion, its a valid way of looking at it..
05:47:50 <cluid> The best article is geometry of flesh on the bone
05:47:51 <newsham> thats a pretty flattering mention of my name.. i like it..
05:48:33 <newsham> everyone seems to be trying to be really deep and philosophical and clever about it, but its just understanding the computer and making it do stuff...
05:49:06 <newsham> i dont think its that great of a leap of faith to say that if you control the stack frame of a program you basically control the control flow and the program
05:49:33 <newsham> running a program using page faults is a little more clever..
05:50:41 <shachaf> i,i nop-oriented programming
05:52:53 <cluid> newsham, yeah some of the langsec stuff I see is slightly askew, but seeing security people finally say that you shosuld be recognizing languages rather than regex blacklighting 'bad' stuff makes me really happy
05:53:14 <cluid> blacklisting*
05:54:04 <newsham> security professionals should be able to tell you that whitelisting is better than blacklisting anyway :)
05:54:10 <newsham> and regexps arent often the best tool
05:55:12 <cluid> but I think ROP is a cool esolang
05:55:16 <cluid> and deserves a place on the wiki, no?
05:55:43 <newsham> yah, rop is kinda a neat esolang
05:55:53 <newsham> well, family of esolangs really
05:56:11 <cluid> yeah :)
05:57:05 <newsham> ever see massalin's superoptimizer paper?
05:57:28 <cluid> no, ill have a look now
05:57:28 <newsham> even cooler, i think :)
05:57:33 <newsham> http://web.stanford.edu/class/cs343/resources/cs343-annot-superopt.pdf
05:57:38 <cluid> thanks
05:58:31 <cluid> he doesn't qualify "finds shorted program that computes a given function" with any caveats lol
05:58:47 <newsham> would be neat "growing" programs organically (ie. search/annealing/genetic prog) and then trying to analyze them
05:59:23 <newsham> i bet sooner or later you'd find much cooler things than rop going on
06:05:31 <cluid> http://web.stanford.edu/class/cs343/
06:05:56 <cluid> is that a 'trusting trust' compiler?
06:06:33 <newsham> dawson engler is godlike
06:06:52 <cluid> il have to look around his course notes, I've wanted to write a compiler but found it very difficult
06:07:11 <newsham> http://www.dwheeler.com/trusting-trust/dissertation/wheeler-trusting-trust-ddc.pdf
06:19:11 -!- oerjan has joined.
06:22:54 <int-e> morning...
06:23:23 <oerjan> g'day
06:23:24 <int-e> All Dominosa secrets have been revealed. Fizzie used trits.
06:23:49 <oerjan> i see you've adapted some of mine. now to look at actual code...
06:23:59 <int-e> And tails kindly taught me a dc trick (obvious in retrospect, why didn't I think of that...)
06:25:59 <int-e> I should've found the gcd thing
06:25:59 <int-e> the >, that's clever :)
06:25:59 * oerjan cackles evilly
06:26:04 <oerjan> ah you missed both of those? yeah i did feel clever about those
06:26:27 <int-e> but I got some value out of filter instead
06:28:15 <int-e> oerjan: I also liked this adjacency test: j-i==6^(div j 6-div i 6) but it's too long.
06:28:26 -!- Sprocklem has quit (Ping timeout: 256 seconds).
06:30:30 <oerjan> i got a bit annoyed about the defined precedence of `elem` vs. >, could have saved the parentheses if they were just a little different
06:31:13 -!- shikhin has joined.
06:31:41 -!- shikhin has quit (Read error: Connection reset by peer).
06:32:11 <int-e> now I'm hoping for fizzie to translate the binary encoding into burlesque
06:32:44 <oerjan> heh
06:33:17 <int-e> http://sprunge.us/GJcW?hs
06:33:41 <oerjan> ...why would he use trits anyway?
06:33:41 <int-e> easier loop
06:34:08 -!- nooga has joined.
06:34:38 <int-e> I really expected the decoding function to grow more when I changed the encoding to binary.
06:36:13 -!- shikhin has joined.
06:37:48 <int-e> (it actually shrunk by 2 characters)
06:38:10 <oerjan> oh i wondered how to shorten concat.lines / filter(>' ') but if you are using filter everywhere that's not a problem
06:38:17 -!- shikhin has quit (Read error: Connection reset by peer).
06:38:33 -!- nooga has quit (Ping timeout: 240 seconds).
06:38:41 <int-e> though that's a bit hard to measure; is the [0..29] part of the decoding function or not?
06:40:17 <oerjan> ooh the g(<'@') is also clever, i tried to somehow use show(i,j) or the like but kept fooling around with init and tail to remove the parens
06:40:37 <oerjan> _i_ should have found that, i guess :P
06:41:12 -!- shikhin has joined.
06:41:19 <int-e> it's actually nice to finally have independent tricks that could be combined :)
06:41:41 <oerjan> yeah
06:42:34 <oerjan> (btw henkma hasn't showed up for this one...)
06:43:06 <int-e> He didn't attempt Make 24 either.
06:43:32 <int-e> maybe he prefers the non-compression tasks, or perhaps he just didn't catch up to me.
06:44:03 <oerjan> mhm
06:44:41 -!- Dulnes has quit (Quit: Connection closed for inactivity).
06:45:18 <int-e> (henkma has a 9986 average, I'm pretty sure he never submits solutions that score fewer than 10k points upon submission.)
06:46:09 <oerjan> you found several of the other tricks i thought you might miss, though. i really felt so clever about this one overall.
06:46:24 <int-e> the zip[0..] one was hard.
06:46:39 <oerjan> well yeah that's like the basis for the algorithm
06:46:47 -!- shikhin has quit (Read error: Connection reset by peer).
06:48:10 -!- shikhin has joined.
06:48:16 <int-e> well, I was playing with this version at one point: http://sprunge.us/jEBB?hs
06:50:16 -!- shikhin has quit (Read error: Connection reset by peer).
06:52:35 <oerjan> ah reverse
06:53:10 -!- shikhin has joined.
06:53:28 <oerjan> i tried several ways of constructing a representation of an unordered pair before i realized it was shorter to just stick both versions in literally
06:53:32 -!- shikhin has quit (Read error: Connection reset by peer).
06:54:14 <int-e> anyway, I had trouble making the transition from "filter index j from list" to "filter index j *and* its associated character, which we happen to know already, from a list."
06:55:30 <int-e> with a *really* short fromEnum, I'd have liked to use fromEnum u*fromEnum v as an unordered pair.
06:56:03 <oerjan> i am pretty sure i had some versions that didn't but they were early and unsubmitted and i didn't save them
06:56:15 <oerjan> *didn't zip[0..]
06:56:31 <oerjan> actually the first submitted did zip[0..29] :P
06:56:49 <oerjan> pretty duh moment
06:57:04 <int-e> heh
06:57:16 <int-e> I wrote that, and then ... hmm ... oh...
06:57:41 <int-e> But I didn't submit before I reached 175.
06:57:46 <oerjan> yeah
06:58:10 -!- shikhin has joined.
06:58:21 <int-e> I still find it amazing how much the knowledge that things can still be improved helps (me, at least).
06:58:45 <oerjan> i've found it amazing how much that helps you too ;)
06:59:14 <int-e> I tend to try crazier ideas.
06:59:36 <int-e> Because, you know, one of them *has* to work.
07:00:38 <oerjan> btw would fromEnum u*fromEnum v have worked? it's not entirely correct
07:00:49 <int-e> yes, I checked.
07:00:55 <oerjan> or maybe it is, for the character ranges that show up
07:01:10 <int-e> for '0'..'4', right.
07:01:42 -!- shikhin has quit (Read error: Connection reset by peer).
07:02:01 <int-e> 7:49 5:50 17:51 13:52 <-- except for '0', each has a unique prime factor.
07:02:17 <oerjan> 48 49 50 51 ... hey i was about to deduce that :P
07:02:50 <oerjan> um i think you're off by 1
07:02:55 <int-e> > sort [fromEnum a*fromEnum b | a<-['0'..'4'], b<-[a..'4']] -- what I actually did.
07:02:56 <lambdabot> [2304,2352,2400,2401,2448,2450,2496,2499,2500,2548,2550,2600,2601,2652,2704]
07:03:10 -!- shikhin has joined.
07:04:15 <oerjan> hm it would work a bit longer than '0'..'4'
07:04:27 <oerjan> via your prime idea
07:05:14 <oerjan> does it work for all of '0'..'9'
07:05:20 <int-e> I think so.
07:05:47 <int-e> > nub $ map length $ group $ sort [fromEnum a*fromEnum b | a<-['0'..'9'], b<-[a..'9']]
07:05:48 <lambdabot> [1]
07:06:46 * oerjan should learn not to start typing when he's already told you the idea
07:06:48 <int-e> the argument gets a bit messy though; 49 and 56 rely on the former being a square.
07:07:10 <oerjan> not necessarily?
07:07:21 <oerjan> hm
07:08:14 <int-e> well, the prime factor argument works by not considering prime factors 2 and 3 at all. so 56*56 and 49*48 end up in the same category. (and 49 being a square does not help...)
07:08:31 <oerjan> next question: does this work for arbitrary multisets :P
07:08:51 <int-e> after adding some offset, yes.
07:08:57 <int-e> the offset may be large, though.
07:08:58 -!- shikhin has quit (Read error: Connection reset by peer).
07:09:14 <oerjan> i mean with 48..57
07:09:23 <int-e> oh.
07:09:37 <oerjan> (probably not, but what's a counterexample)
07:09:45 <oerjan> primes > 7 always work
07:09:56 <oerjan> because they are only in one of the numbers
07:10:15 <oerjan> and then maybe some others get excluded
07:10:38 -!- shikhin has joined.
07:11:04 <oerjan> 48,49,50,51,52,53,54,55,56,57 -> 51,52,53,54,55 are out
07:11:30 <oerjan> or wait
07:11:48 <oerjan> `factor 54
07:11:51 <HackEgo> 54: 2 3 3 3
07:11:57 <oerjan> SCRATCH THAT ONE
07:12:09 <lifthrasiir> what are you doing
07:12:40 <oerjan> lifthrasiir: at the moment, wondering if products of 48..57 (i.e. ASCII values of digits) can be uniquely factored back
07:13:06 <lifthrasiir> well, obviously no, but why?
07:13:24 <int-e> so 48, 49, 54 and 56 use only 3 primes total, so no.
07:13:25 <lifthrasiir> do you have to accept two digits (for the purpose of codegolf) and nothing else?
07:13:49 <oerjan> int-e: hm i guess.
07:14:38 <oerjan> lifthrasiir: it's about comparing unordered pair of digits, although this is actually a suboptimal solution to the golfing problem, but it's a bit mathematically interesting
07:14:43 <oerjan> *pairs
07:14:55 <oerjan> it works for pairs, btw.
07:15:23 <oerjan> so now it was about products of lists
07:15:53 <lifthrasiir> oerjan: so if the input is "13247" and "74312" it should say "YES" while "12345" vs. "123456" should say NO etc?
07:16:22 <oerjan> lifthrasiir: well yeah...
07:18:45 -!- shikhin has quit (Read error: Connection reset by peer).
07:19:31 -!- shikhin has joined.
07:19:52 <oerjan> 48 = 2^4*3, 49 = 7^2, 50 = 2*5^2, 54 = 2*3^3, 56 = 2^3*7
07:20:05 <lifthrasiir> oerjan: wouldn't the arithmetic progression work?
07:20:19 <oerjan> lifthrasiir: the what
07:20:20 <int-e> > 48^18 * 49^11 == 54^6 * 56^22
07:20:21 <lambdabot> True
07:20:27 <oerjan> int-e: OKAY
07:20:42 <lifthrasiir> products of 2520 * digit + 1?
07:20:55 <lifthrasiir> hmm, not sure
07:21:09 <oerjan> lifthrasiir: i'm not actually asking for variations of the problem btw
07:21:49 <oerjan> but yeah, there should be some offset that works, as int-e already mentioned
07:21:56 <int-e> oerjan: I think that's the smallest counterexample, but I may have missed something. integer lattices are hard.
07:22:27 <oerjan> probably NP-hard, i should imagine
07:23:43 <oerjan> (4,1,0,0),(0,0,0,2),(1,0,2,0),(1,3,0,0),(3,0,0,1)
07:23:56 <oerjan> basis coordinates
07:24:13 -!- shikhin has quit (Read error: Connection reset by peer).
07:24:31 <oerjan> oh right 5 is actually excluded at that point
07:25:12 <oerjan> *(4,1,0),(0,0,2),(1,3,0),(3,0,1)
07:25:19 -!- shikhin has joined.
07:26:15 <fizzie> Yes, I went with trits to have a simple "skip/+1/+6" ternary-choice for each digit. But it's very possible the thing you did in dc would be shorter.
07:26:47 -!- Patashu has joined.
07:27:36 <fizzie> For the curious, http://sprunge.us/hOjN is my log, though it's pretty much just about the non-cheating version.
07:28:41 <fizzie> Oh, the commented version is not up-to-date. Oh well.
07:29:04 <int-e> Yeah, I did some serious number crunching for the dc version (just a couple of hours of CPU time, but still).
07:30:38 -!- shikhin has quit (Read error: Connection reset by peer).
07:31:07 -!- MDude has changed nick to MDream.
07:31:37 -!- shikhin has joined.
07:31:59 -!- shikhin has quit (Read error: Connection reset by peer).
07:32:54 <int-e> all to get from FB88?1+3%d5408*3095-*- (manual polynomial interpolation) to ?B74+I22094|3908- and then ?988-2 72889|21+
07:35:32 <fizzie> I did wonder where you snatched ?988-2 72889|21+ from.
07:36:21 <int-e> I got extremely lucky there :)
07:36:42 -!- shikhin has joined.
07:36:54 <int-e> even so, I wouldn't be surprised if there were some shorter code for the initialisation. it's just hard to search for.
07:38:52 -!- shikhin has quit (Read error: Connection reset by peer).
07:40:44 <oerjan> int-e: i think your counterexample is correct (and unique up to a constant multiple in the powers)
07:42:00 <oerjan> s/correct/minimal/
07:47:06 <oerjan> that new brainfuck problem is _definitely_ a compression problem.
07:48:13 -!- MoALTz_ has quit (Quit: Leaving).
07:49:48 <int-e> not a nice one either.
07:50:20 <oerjan> looks a bit two-pronged
07:50:57 <int-e> why +++[>+++++<-]> and not >+[>-[-<]>>]>-
07:51:48 <int-e> (and how does that +[>-[-<]>>] loop work anyway?)
07:51:49 -!- shikhin has joined.
07:52:37 <int-e> ok, with some luck each is the lexicographically smallest program that works.
07:53:39 <int-e> (modulo the usualy problems when one solves the halting problem)
07:53:44 <int-e> -y
07:54:33 -!- shikhin has quit (Read error: Connection reset by peer).
07:54:39 <int-e> 6^16 is a bit too large though :)
07:55:21 <oerjan> i think that +[>-[-<]>>] loop goes to the left of the tape end, no
07:55:53 <int-e> [->+++++<] is lexicographically smaller than [>+++++<-], so there goes that theory.
07:56:26 <oerjan> they linked to the wiki article so probably just snatched them from there
07:57:04 <int-e> yeah, that skips over the left end.
07:57:39 <int-e> so let's assume there's a 0 there... then...
07:59:12 <oerjan> <int-e> why +++[>+++++<-]> and not >+[>-[-<]>>]>- <-- i think "because the wiki article misses the latter" is a pretty obvious answer, there
07:59:30 <oerjan> and the reason it misses it is because the first is older and the latter isn't shorter
08:00:35 <oerjan> (not that i trust the wiki article to be comprehensive in any way beyond the old "shortest 2-cell wrapping" entries)
08:00:59 <oerjan> which i heard were found by exhaustive search
08:01:14 <int-e> Oh, I copied it wrong. There's a > in front of the loop.
08:01:23 <b_jonas> What are the brainfuck derivatives that are so old they are expemt from the guideline against creating brainfuck derivatives just because of their age?
08:01:45 <oerjan> b_jonas: Ook! Ook? Ook.
08:01:53 <oerjan> and some say, that's all.
08:02:11 <b_jonas> Ook! definitely, and brainfuck definitely as well
08:02:29 <oerjan> brainfuck isn't a brainfuck derivative hth
08:02:47 <Bike> it's the trivial derivative!
08:03:02 <b_jonas> When was bitfuck invented?
08:03:04 <b_jonas> um
08:03:08 <b_jonas> I mean Boolfuck
08:03:10 <b_jonas> not bitfuck
08:04:13 <oerjan> well boolfuck is exempt because it has actual theoretical interest.
08:04:22 <oerjan> whether or not it is old.
08:04:48 <b_jonas> ok
08:05:38 <int-e> isn't the trivial derivative zero...
08:06:23 <Bike> aren't you zero
08:06:33 <oerjan> int-e: https://esolangs.org/wiki/Zero isn't among the most trivial :P
08:06:44 <oerjan> but it _is_ a brainfuck derivative
08:07:30 -!- shikhin has joined.
08:07:40 <int-e> fancy
08:08:05 <oerjan> it seems to have the Turing-complete category, although afair that's still unproved
08:08:17 <oerjan> (but very likely)
08:08:20 <oerjan> or actually
08:08:28 <Bike> a list of the first hundred thousand brainfuck programs. nifty
08:08:30 <oerjan> maybe it can be considered poved
08:08:42 <Bike> non-halting ones. w/e
08:09:07 <oerjan> yeah 100000 _should_ be plenty enough to write a bf interpreter in
08:10:55 <int-e> hmm
08:11:00 <oerjan> actually it fails to be turing-complete in the sense that it's not interpretable by a TM
08:11:20 <Bike> dbfi is like 1300 bits ish sooooo yes.
08:11:21 <oerjan> but people seem to disagree on whether that's a requirement
08:11:50 <int-e> oh so it's merely Turing-hard?
08:11:59 <int-e> makes sense.
08:12:15 <oerjan> (by the analogy with NP-complete / NP-hard it should be, but people seem to disagree on whether that analogy holds)
08:12:53 <int-e> it's a rather impractical notion
08:17:26 <Jafet> Zero⊕, where bit n of the sequence is the parity of the number of n-1-bit programs that halt
08:19:05 <int-e> oerjan: also, does "Turing-hardness" require that we can construct a universal machine, or merely that it exists, mathematically speaking?
08:19:25 <Bike> probably depends on your intuitionism
08:19:39 <int-e> It's very weak. I like classicaly logic.
08:19:52 <int-e> Oh, another stray "y", where do they come from?
08:19:52 -!- Dulnes has joined.
08:20:00 <oerjan> int-e: i'd think it requires constructability
08:20:07 <oerjan> int-e: or well
08:20:10 <oerjan> wait
08:20:11 <oerjan> no
08:21:00 <oerjan> it requires that we can translate any turing machine computation to it, constructively - but the constructive construction doesn't itself have to be known hth
08:21:58 <oerjan> (the unknown constructive construction needs to handle _all_ computations for a universal TM.)
08:21:59 <shachaf> oerjan: i don't think that's covered in 1984 hth
08:22:01 <int-e> well, we can translate the TM into a universal machine (which we know exists even if we can't write it down) and some suitable input.
08:22:18 <oerjan> right
08:22:46 <int-e> so even if we could not calculate a single bit of the "padding sequence" we'd still be in the Turing-hard domain.
08:23:00 -!- nooga has joined.
08:23:08 <Dulnes> What does it mean when lambdabot says mueval-core: time limit exceeded
08:23:24 <int-e> Dulnes: it means that mueval's time limit was exceeded.
08:23:32 <Dulnes> Pssht
08:23:43 <int-e> Your computation took too long!
08:23:53 <Dulnes> >_>
08:24:09 <int-e> This may happen due to circumstances unrelated to your code, like the server starting to swap heavily.
08:24:18 <int-e> > 1
08:24:20 <lambdabot> 1
08:24:45 <HackEgo> [wiki] [[Zero]] http://esolangs.org/w/index.php?diff=41272&oldid=41010 * Oerjan * (+420) /* Computational class */
08:25:00 <Jafet> So, there's this tacit assumption that if a computation model is at least Turing-complete, you can construct a machine that comes preloaded with the input to any other machine
08:25:02 <Dulnes> I need to make a language that is like the alphabet but uses ~=_<>{ charactors as letters and numberz
08:25:11 <Bike> do you really
08:25:24 <Dulnes> ~=_<>{}[]|$€£¥¢₩§^`°¿¡\«»®©
08:25:27 <Jafet> But if you have a language that explicitly requires its own halting sequence to work, that may not be possible
08:25:48 * Dulnes flys into space
08:26:16 <int-e> Jafet: stop diagonalizing, it makes brains explode.
08:26:56 <int-e> though things may be fine for languages that accept the empty program
08:27:26 <Dulnes> Mmm that would be hard if i had to use {} [] as letter\number sequence what would i use as a bracket?
08:27:26 -!- nooga has quit (Ping timeout: 256 seconds).
08:27:42 <Dulnes> Maybe regular letters
08:27:53 <Jafet> In other words, if your definition of Turing-completeness requires the translation itself to be computable
08:28:03 <Jafet> (by a Turing machine, I suppose)
08:28:08 <oerjan> Jafet: it's not that tacit, you can prove it i should think
08:28:35 <oerjan> Jafet: my definition does
08:28:45 <Dulnes> Well if i compare ~ to q its the same in my perspective
08:28:52 <Jafet> You might run into a bit in the Zero sequence that corresponds to an unprovable theorem
08:29:00 <Dulnes> = - w
08:29:05 <Dulnes> And so on
08:29:07 <oerjan> Jafet: however my definition includes the input in what needs to be translated
08:29:32 <oerjan> Jafet: and _also_ allows using the input of the target, which is essential for Zero.
08:30:18 <oerjan> (my definition also allows a final translation of output at the end)
08:30:32 <Dulnes> Ive got it!
08:30:45 * Dulnes flys back into space
08:31:25 <Bike> something like zero, but oriented so that you can program around unprovable bits, to some extent. an encoding of something more robust than brainfuck probably.
08:31:48 <Dulnes> L = Bracket, [ = letter
08:31:57 <Jafet> That definition makes sense (eg. for fractran) but I'm not sure if just using it to translate every TM to one universal interpreter in the target language is in the right spirit
08:32:03 <oerjan> Dulnes: btw you realize that any language which is _solely_ about using cryptic syntax is uninteresting to nearly every regular in this channel?
08:32:22 <Dulnes> Quiet you
08:32:39 <Bike> something where even though the sequence is computable the language is less ambiguously TC
08:32:52 <Dulnes> Im trying to occupy space
08:34:32 <Jafet> re. space, IRC is like being on a bus with three hundred people
08:34:33 <Dulnes> {]} £[<>{ |_<€]® = you dirty person
08:35:02 <Dulnes> I liked cramped quarters
08:35:15 <Dulnes> Like*
08:35:36 <Dulnes> Sooooooon ill just be typing in wingdings
08:35:58 <Dulnes> Or is that wingdings 2 - 3 idk
08:36:03 <oerjan> Jafet: we have invented the terminology "BF-complete" for languages that need to be able to deal with somewhat reasonable I/O
08:37:22 <Dulnes> §_°°] =]<°£
08:37:31 <Dulnes> I think im going insane
08:37:49 <oerjan> maybe you should go lie down a bit hth
08:37:56 <Dulnes> Maybe
08:38:16 <Dulnes> Ive been scrolling to long
08:38:42 <Dulnes> If i teach my stuff the stuff i can make the stuff
08:38:59 -!- shikhin has quit (Ping timeout: 244 seconds).
08:42:04 <Dulnes> I can just imagine what it will look like when im done :0
08:43:13 * Dulnes dies of cafine over dose
08:45:06 <HackEgo> [wiki] [[Pikalang]] N http://esolangs.org/w/index.php?oldid=41273 * Grotr * (+1743) Initial commit
08:46:00 <HackEgo> [wiki] [[Joke language list]] http://esolangs.org/w/index.php?diff=41274&oldid=41171 * Grotr * (+15) /* Brainfuck derivatives */ add Pikalang
08:56:24 <cluid> was Alan himself Turing complete?
08:56:59 <oerjan> completely turing
08:57:50 <oerjan> cluid: i've been wondering before whether there are rule 110 metacells of some kind
08:58:19 <cluid> I wrote a CA simulator to prepare to search for things that might help finding metacells
08:59:02 <int-e> oh, GG got published early today
08:59:14 <int-e> priorities, priorities, gotta have them straight.
08:59:23 <oerjan> there's complications, though, because the max speeds of transmission leftwards and rightwards are different in "ether" than in a zero background
08:59:38 <cluid> so rule 110 does not move to the right?
08:59:47 <oerjan> not through zeros, no
08:59:55 <oerjan> but through ether it does
09:00:04 <cluid> ether = 1?
09:00:10 <oerjan> leftwards, it moves faster through zeros
09:00:35 <oerjan> no, ether is that special pattern that tends to quickly show up from random starting conditions
09:00:45 <cluid> oh interesting
09:01:02 <cluid> http://upload.wikimedia.org/wikipedia/en/b/bd/CA_rule110.png would that be the majority of stuff here
09:01:13 <oerjan> it's probably a big part of what makes rule 110 so intricate
09:01:52 <oerjan> cluid: yes, the "background" so to speak
09:02:19 <cluid> that makes this metacell stuff seem a lot harder
09:02:34 <oerjan> yeah
09:02:53 <oerjan> but you might be able to make a metacell that moves at a different speed
09:03:21 <cluid> so the input pattern would have to be encoded at a slope?
09:03:27 <oerjan> or, as i've mentioned before, with "relativistic" speed - where you don't translate time to time
09:03:45 <oerjan> yes, and possibly even with time sloped
09:09:32 <cluid> ## ### # in rule 30 this repeats
09:09:41 <cluid> i got it from wiki
09:09:46 <oerjan> cluid: in fact that png shows the phenomenon where any disturbance moving leftward through zeros turns into a pattern of ether possibly with "gliders" in it
09:10:17 <cluid> and a spaceship too?
09:10:20 <cluid> that thing going down
09:10:21 <oerjan> rule 30 is that other complicated rule iirc, but much harder to do anything with because it's reversible
09:10:39 <oerjan> cluid: well for rule 110 "glider" is the term for spaceship
09:10:41 <cluid> rule30 would have to encode other reversible rules only
09:10:47 <oerjan> been used in papers and stuff
09:10:48 <cluid> limiting search that way might be helpful
09:10:53 <cluid> ah okay
09:11:10 <cluid> i havent look at any research on 1D CAs
09:11:18 <cluid> i wonder if its worth it to do that
09:11:24 <oerjan> @google rule 110 gliders
09:11:32 <oerjan> now what
09:11:39 <lambdabot> Plugin `search' failed with: <<timeout>>
09:11:43 <oerjan> @google rule 110 gliders
09:11:48 <oerjan> int-e: what now
09:11:58 <lambdabot> Plugin `search' failed with: <<timeout>>
09:12:07 <fizzie> Maybe Google is down.
09:12:09 <elliott> oklopol does research on 1D CAs I think
09:12:32 <oerjan> cluid: the top google hit for that gives a paper with lots of rule 110 glider and repeating patterns
09:12:40 <oerjan> (at least it's top for me)
09:12:53 <cluid> ok but im not especally interested in rule 110
09:12:58 <cluid> but i wil have a look at this
09:13:19 <oerjan> cluid: ok, rule 110 is like the simplest rule that has gliders though.
09:13:34 <oerjan> well useful ones, anyway
09:17:22 <cluid> Rule 110 - International Center of Unconventional Computing
09:18:43 <cluid> http://en.wikipedia.org/wiki/Andrew_Adamatzky
09:19:15 <cluid> He has used slime moulds to plan potential routes for roadway systems
09:19:42 <cluid> He has also shown that the billiard balls in billiard-ball computers may be replaced by soldier crabs
09:19:52 <cluid> http://en.wikipedia.org/wiki/Mictyris_guinotae#Crab_computing
09:21:14 <oerjan> a man after our heart
09:21:56 -!- dts has joined.
09:27:55 <fizzie> oerjan: We'd better wear some armor, then.
09:29:39 <oerjan> wat
09:31:43 * oerjan vaguely assumes he's missing a pun
09:32:13 <cluid> http://en.wikipedia.org/wiki/Q_code these codes look similar to an instruction set
09:34:06 <fizzie> oerjan: Well, I mean, you want to be a bit wary if someone's after your heart. You will need it to live, after all.
09:34:24 <oerjan> OKAY
09:42:11 <int-e> oerjan: I don't know.
09:44:29 <oerjan> @google what now
09:44:29 <lambdabot> http://www.youtube.com/watch?v=b-3BI9AspYc
09:44:37 <oerjan> seems to have fixed itself
09:49:25 <oerjan> <elliott> okay this got old like five minutes ago <-- it got old even while browsing it in the logs hth
10:04:14 <oerjan> fwiw http://oerjan.nvg.org/r110.txt is an old file i made. a bit down in it is a list of all the (6, iiuc my own notes) limiting ways for a disturbance to travel leftward into zeros.
10:05:51 <oerjan> some of them have the additional gliders moving at -1/2, the same as the maximal speed in ether, which means you can treat them as essentially growing a leftward infinite ether in a way that nothing can catch up with.
10:08:02 -!- nooga has joined.
10:08:49 <int-e> is rule 110 known to be TC against a zero background?
10:09:01 <oerjan> not that i know of.
10:09:14 <oerjan> which is part of what made me do this classification
10:09:20 <int-e> (I don't really like that ether business very much)
10:09:38 <oerjan> of course i don't think it's known to be TC against an ether background either
10:09:55 <oerjan> (you need infinite setup both ways.)
10:10:07 <oerjan> the ether is cool. embrace the ether.
10:11:22 <cluid> I feel like this stuff is awfully difficult
10:11:28 <oerjan> well yeah
10:12:13 <oerjan> you have to search through a large number of patterns.
10:12:28 <int-e> oh. the proof has periodic control structures to both sides... it's worse than I thought.
10:12:34 -!- nooga has quit (Ping timeout: 264 seconds).
10:12:41 <oerjan> int-e: yeah
10:13:02 <cluid> is there reason to believe the simple metacell approach metaPattern = concatMap encodeCell is not working? where encodeCell :: Bool -> Vector n Bool
10:13:22 <oerjan> to get it working in a zero background you'd need to invent some glider guns, i think
10:13:47 <cluid> we can use an ether background by having encodeCell False = ether?
10:14:02 <int-e> oerjan: ok, with the given state of affairs, having something work against a plain ether background would be a great improvement.
10:14:38 <oerjan> mind you, i don't know if there have been recent improvements.
10:15:02 <oerjan> i assume it's not a very hot research area :P
10:16:17 <int-e> right. no grant money in it
10:16:26 <int-e> too esoteric.
10:16:47 <oerjan> cluid: as long as you don't require metacells to move at full speed, i don't see a real reason why that couldn't possibly work.
10:17:25 <oerjan> but then, the life metacell doesn't move at full speed either.
10:19:22 <cluid> http://lpaste.net/115417 I've put a clearer explanation
10:19:24 <oerjan> because the main speed obstacles i see have to do with large fields of zeros - you cannot get anything to move rightwards into them, and you cannot _stop_ anything from moving leftwards into them.
10:19:55 <oerjan> and also i _suspect_ zeros are the only thing that allow maximal leftward speed in them
10:20:53 <cluid> maybe simulation would have to allow for drift
10:20:56 <oerjan> cluid: but i'd say what you're suggesting is the "obvious" thing to try first.
10:21:25 <cluid> simulations may be have to occur in a wrapping world
10:22:03 <oerjan> well if you want not to run out of memory...
10:23:34 <oerjan> cluid: you can probably do compression and hash-life like things to get simulation of metacells to have only a constant overhead.
10:24:13 <cluid> that's a good idea to speed up simulation and search
10:24:48 <oerjan> afk
10:25:27 <cluid> http://lpaste.net/115417
10:25:34 <cluid> I gues I got a lead for what to search for
10:25:48 <cluid> 1. find repeating patterns of the same length
10:25:58 <cluid> 2. try putting them together and search for pyramids
10:26:20 <cluid> im sure that if I try this I will fail and not find anything but if it worked that would be nice
10:37:44 -!- cluid has quit (Quit: Leaving).
10:38:55 <int-e> @tell cluid "im sure that if I try this I will fail and not find anything but if it worked that would be nice" <-- this is called "research", hth.
10:38:56 <lambdabot> Consider it noted.
10:42:15 -!- shikhin has joined.
10:44:41 -!- nooga has joined.
11:04:41 -!- Dulnes has quit (Quit: Connection closed for inactivity).
11:15:45 -!- boily has joined.
11:15:48 -!- nooga has quit (Ping timeout: 272 seconds).
11:17:18 <oerjan> fternoily
11:18:33 <boily> bon matørjan!
11:21:30 <shachaf> Good morning, boily.
11:22:38 <boily> Good morning, shachaf.
11:23:02 <boily> @localtime shachaf
11:23:02 <lambdabot> Local time for shachaf is Mon Dec 1 03:22:21 2014
11:23:11 <shachaf> @time boily
11:23:12 <lambdabot> Local time for boily is Mon, 01 Dec 2014 06:22:31 -0500
11:24:20 -!- AndoDaan has joined.
11:25:18 -!- oerjan has quit (Quit: Later).
11:55:34 -!- Patashu has quit (Ping timeout: 258 seconds).
12:23:16 -!- boily has quit (Quit: RESERVED CHICKEN).
12:56:20 -!- AndoDaan_ has joined.
12:58:24 -!- AndoDaan has quit (Ping timeout: 250 seconds).
13:12:19 -!- Phantom_Hoover has joined.
13:34:33 -!- _AndoDaan_ has joined.
13:34:43 -!- AndoDaan_ has quit (Ping timeout: 245 seconds).
13:44:57 <oren> good morning everyone
13:45:09 <oren> i have just finished breakfast
13:48:58 <J_Arcane> oren: I have just write one-half of a struct system.
13:50:12 <oren> for what platform?
13:51:05 <J_Arcane> In Heresy, my BASIC/Lisp thing.
13:51:37 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
13:53:30 <HackEgo> [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41275&oldid=41268 * SuperJedi224 * (+160)
13:56:24 <oren> basic mixed with lisp... yeah 'Heresy' is a great name for something like that!
13:56:45 <J_Arcane> :D
13:56:58 <oren> sounds like someything i'd like though. I started programming with Visual Basic
13:57:05 <J_Arcane> https://github.com/jarcane/heresy
13:57:39 <J_Arcane> Yeah. It started as a joke, but in the future I might like to actually use it as a sort of 'gateway LISP' for guys like me who started out in BASIC and wanna learn LISP and FP.
14:05:52 <oren> ah, it's implemented in racket!
14:06:08 <oren> good choice.
14:06:30 <oren> i used racket for a few of my courses
14:12:28 -!- _AndoDaan_ has quit (Quit: Quit).
14:21:33 <oren> oh god. pi pi pika ka chu
14:21:43 <oren> why...
14:26:44 <oren> well mightas well then
14:34:01 -!- `^_^v has joined.
14:39:04 <HackEgo> [wiki] [[User:Orenwatson]] http://esolangs.org/w/index.php?diff=41276&oldid=41257 * Orenwatson * (+258) i hope your happy elliot
14:40:02 -!- shikhin has quit (Ping timeout: 258 seconds).
14:42:52 <HackEgo> [wiki] [[User:Orenwatson]] M http://esolangs.org/w/index.php?diff=41277&oldid=41276 * Orenwatson * (+0)
14:46:34 <fizzie> You missed a "t".
14:47:19 <oren> i hope yor happy elliott
14:49:23 <HackEgo> [wiki] [[User:Orenwatson]] http://esolangs.org/w/index.php?diff=41278&oldid=41277 * Orenwatson * (+101) added translation hth
14:50:24 <oren> yor idia yor falt elliott
14:51:32 <oren> 「俺の妹はBF元着く言語を無理矢理作らせたから、学校のみんなが俺を笑う!」
14:53:30 <oren> afk
14:53:33 -!- oren has quit (Quit: Lost terminal).
15:12:55 <HackEgo> [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41279&oldid=41275 * SuperJedi224 * (+17) /* Command Summary */
15:14:57 -!- shikhin has joined.
15:22:35 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
15:22:41 -!- Phantom__Hoover has joined.
15:29:25 -!- drdanmaku has joined.
15:48:08 -!- oren has joined.
16:04:38 -!- oren has quit (Quit: Lost terminal).
16:05:14 -!- Sprocklem has joined.
16:07:54 -!- oren has joined.
16:20:26 -!- oren has quit (Read error: Connection reset by peer).
16:44:27 -!- mihow has joined.
16:56:32 -!- Sprocklem has quit (Ping timeout: 252 seconds).
16:58:17 -!- Sprocklem has joined.
16:59:35 -!- oren has joined.
16:59:41 <J_Arcane> ow. I think my brain just went into an infinite loop ...
17:00:06 <oren> why did firefox hang my whole computer just now?
17:00:33 <oren> I had to restart my whole system
17:00:49 -!- GeekDude has joined.
17:01:45 <oren> is there a command line tool that will run a program but limit it to 1GB of memory total?
17:02:46 <J_Arcane> There's sandboxie I think.
17:03:07 <J_Arcane> But it might be more extreme than what you want: http://www.sandboxie.com/
17:03:27 <oren> in C there is setrlimit.
17:03:30 <Melvar> You can run ulimit first,
17:03:38 <Melvar> *.
17:03:38 -!- Sprocklem has quit (Ping timeout: 240 seconds).
17:05:35 <oren> what the hell FF, why do you just segfault when you can't hog any more memory???
17:05:59 <oren> it really wants ALLLLL my memory
17:07:05 <Melvar> A segfault from a memory limit?
17:07:11 <oren> yeah
17:07:37 <oren> if you ulimit 1000000000 firefox just segfaults as soon as it starts
17:07:50 <oren> what a hog
17:08:08 <oren> it needs 1400000000 just to start up
17:08:30 <oren> I remember when XP needed 64 meg and we called it a hog
17:08:39 <oren> god damn
17:09:15 <Melvar> … 1.4 TB?
17:09:22 <oren> 1.4 G
17:09:36 <oren> i am using oftlimit
17:09:41 <oren> softlimit command
17:09:49 <oren> which is in bytes
17:11:38 <oren> if you do softlimit -a 1000000000 firefox it segfaults
17:11:55 -!- b_jonas has quit (Ping timeout: 250 seconds).
17:12:28 -!- b_jonas has joined.
17:14:52 <oren> ok so to prevent firfox form hanging and eating my whole system
17:15:12 <oren> i'm gonna compromise and use softlimit -a 1500000000
17:15:28 <oren> limit it to 1.5 GB.
17:15:52 <oren> that allows it to start up but stops it if JS starts to hog everything
17:16:11 -!- nortti has changed nick to lawspeaker.
17:17:33 <Melvar> Funny, I don’t even know that problem. Must be NoScript.
17:17:45 -!- lawspeaker has changed nick to nortti.
17:17:50 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:18:00 <Melvar> Or possibly it merely gets lost in the underflow.
17:18:12 <oren> I use noscript too but if you allow too many tabs to run
17:18:26 <oren> it can stillhappen asit did 5 minutes ago
17:18:36 <oren> i had to hold down power button
17:18:53 <newsham> eight megs and constantly swapping
17:19:01 <newsham> now emacs is a model of leanness
17:19:10 <oren> yeah
17:19:26 <oren> FF needs 1.5 GB! GB!
17:19:43 <oren> unbelievable to the me of 2000
17:20:01 <oren> (yes I knew what a GB was when I was 7)
17:20:11 <Melvar> Mine normally eats about 6GB …
17:20:40 <oren> wowww what?
17:20:42 <Melvar> That’s what I get for over 9000 tabs open.
17:20:46 <oren> ah
17:21:19 <oren> yeah i only have a few GB of memory total
17:21:43 <oren> 2 GB
17:22:13 * Melvar has a look on his netbook.
17:22:37 <oren> this laptop cost me 260 dollars
17:22:57 <oren> it is very very cheap
17:24:25 -!- nortti has changed nick to lawspeaker.
17:24:56 <newsham> my pet peeve is when things that used to work on an old laptop stop working...
17:25:08 <newsham> like recently my chromebook has been having cpu load issues with netflix and youtube
17:25:12 <newsham> which worked perfectly fine for years
17:25:32 <newsham> so either the software got more bloated on my chromebook or the codec choices on the server got more demanding
17:26:20 <oren> there should be a button on firefox that stops all JS on the page
17:26:28 <newsham> life in the cloud...
17:26:41 <oren> so i can hit it when the memory spikes
17:26:55 <oren> like ctrl-fuckjs
17:27:09 <oren> ctrl-j
17:27:15 <oren> perhaps
17:27:40 -!- cluid has joined.
17:27:42 <cluid> hi
17:27:42 -!- lawspeaker has changed nick to nortti.
17:27:45 <oren> hi
17:28:12 <oren> we were talking about how FF is a memory hog
17:29:13 <oren> X by itself used to hog memory, now FF uses 4 times as much
17:30:57 <oren> and everyone is for some reason fine with that
17:31:27 <oren> when moores law hits a fundamental limit, everyone will be in for
17:31:28 <cluid> I am interested in Gopher
17:31:31 <newsham> 1) browsers turn out to be really useful these days, 2) in dollar amounts, its not using that much memory
17:31:31 <oren> a giant shock
17:31:40 <cluid> Gopher is extremely light weight
17:31:47 <cluid> You can implement it with low memory in a page of cod
17:31:48 <cluid> code
17:31:55 <newsham> honestly i'm more concerned about browsers security issues than its memory consumption issues
17:32:14 <newsham> the http protocol itself is not elegant but is not that complicated
17:32:31 <cluid> web standards have grown ridiculously out of proportion
17:32:33 <newsham> TLS is a bit ... but its also very useful...
17:32:36 <oren> when a page of JS can hang my system it is a giant security issue
17:32:57 <newsham> maybe you should be using chrome and not ffox ;-)
17:33:01 <cluid> JS should be implemented ina resource bounded way, not using crazy JIT stuff to run it as fast as possibl
17:33:24 <oren> does chrome put a limit on the amount of memory one tab uses
17:33:41 <oren> firefox hung my system with 1 tab open. 1.
17:33:44 <cluid> I don't like chrome, it's annoying that i can't use proxies
17:34:04 <Melvar> oren: What was in the tab?
17:34:20 <oren> discourse forum on dailywtf
17:34:54 <newsham> you can use proxies with chrome. i use proxies all the time with chrome
17:35:05 <oren> i am now running FF with a resource limit of 1.5 G
17:35:09 <Melvar> Okay, the firefox on my netbook starts out at 180M, and it is by no means empty.
17:35:13 <cluid> it does not let me
17:35:19 <cluid> you're lucky
17:35:35 <newsham> maybe you dont have as much malware, melvar.
17:36:02 <oren> i am using a whole bunch of plugins
17:36:21 <oren> hold on lemme disable them and we will see if they are the problwm
17:37:00 -!- MDream has changed nick to MDude.
17:38:10 <Melvar> Oh yeah, I don’t think there’s flash on my netbook …
17:38:20 <cluid> javascript is a bad language
17:38:32 <oren> flash is in a separete process so it isn't being counter
17:38:35 <oren> counted
17:38:55 -!- S1 has joined.
17:39:06 <oren> 1.1 GB at startup, one tab, google with most of my addons disabled
17:39:08 <Melvar> Oright, but then the same counts for other plugins. Unless you actually meant addons.
17:39:36 <oren> i dont recognize that there is a difference
17:39:51 <oren> its the same thing anyway
17:40:13 <J_Arcane> Phew. Done: http://pasterack.org/pastes/73293
17:41:22 <oren> sisabled adblock plus and we are down to 0.9 gb
17:41:28 <cluid> cool J_Arcane
17:41:35 <oren> actually more like 1 gb
17:41:43 <oren> 9.7
17:42:07 <oren> 9.7*10^8
17:42:09 <oren> b
17:42:16 <Melvar> IIRC, Plugins are out-of-process programs using NPAPI, addons are JS+(HTML/XUL)+CSS packages inside the browser.
17:42:35 <oren> addons are in JS?!?!? FUUUUUUUUUU
17:42:38 <cluid> yes
17:42:51 <cluid> the architecture of browser seems to encourge plugins being js
17:43:00 <oren> thats why they eat memory like my uncle at a bbq
17:43:05 <Melvar> With regards to firefox, “plugin” and “addon” are technical terms.
17:43:06 <cluid> lol
17:43:29 <oren> actually he's lost weight these days
17:43:40 <oren> so nvm
17:43:48 <J_Arcane> Firefox exists to eat memory.
17:44:01 <cluid> Gopher clients dont generally eat memor
17:44:02 <cluid> y
17:44:03 <Melvar> Nah, it exists to keep my life-state in.
17:44:15 <J_Arcane> The other day I found a rant from 2006 complaining about it consuming 1GB of memory.
17:44:17 <cluid> you can interact with gopher using a simple command line client
17:44:33 <J_Arcane> I laughed and laughed ,because it's still as bad.
17:44:48 <oren> well as i said XP needed 64 megs and we called it an abomination
17:45:09 <cluid> what OS uses low memory?
17:45:11 <cluid> I guess BSD?
17:45:17 <oren> minix
17:45:24 <oren> also DOS
17:45:45 <HackEgo> [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41280&oldid=41279 * SuperJedi224 * (+45) /* Ackermann Function */
17:46:27 <oren> my aunt still runs DOS with WordPerfect to do her work
17:46:34 <oren> as a theologian
17:46:42 <J_Arcane> cluid: FreeBSD is pretty nice, yes.
17:47:15 <oren> floppy disks 4eva
17:47:22 <J_Arcane> FF literally eats more memory than my entire OS, Xorg, window manager, and emacs put together. By multiples.
17:47:35 <oren> exactly. WTF.
17:48:00 <Melvar> The only time my firefox eats more than expected is after I reconnect to the network when the router faceplanted. It seems proportional to how long it has been running, but I have yet to figure out what it actually tries to do then.
17:48:57 <J_Arcane> Melvar: Runtime affects it, yes. It leaks memory. It literally has since beta, and it's never been fixed. There are joke websites about 'how long until the FF memory leak will be fixed'. It's a well known issue.
17:49:23 <cluid> web browsers are the new OS
17:49:44 <J_Arcane> In the early days it was a running joke that the new patch notes would announce they finally fixed the memory hole. And then so would the next, and the next, and ...
17:49:51 <HackEgo> [wiki] [[POGAACK]] M http://esolangs.org/w/index.php?diff=41281&oldid=41261 * BCompton * (+2) Fixed dead link template
17:49:56 <Melvar> J_Arcane: I mean, this only happens when I reconnect to the internet after falling off, and why that is is what I can’t figure out.
17:50:28 <J_Arcane> Melvar: Yeah, that is an odd case. Maybe something in it starts duplicating processes attempting to reconnect?
17:50:37 <Melvar> Also, I expect they keep fixing memory holes, but new ones get introduced at about the same rate.
17:51:33 <oren> ugh. from now on i'mma use a site to download youtube videos instead of using the stupid youtube player
17:51:59 <cluid> youtube-dl command line program
17:52:10 <oren> YES someone make that
17:52:11 <Melvar> Well, no, it starts *after I reconnect*. And the growth is proportional to the running time, not the previous held memory.
17:53:01 <Melvar> oren: It’s there, I’ve been using it for ages for videos I want to sit back and enjoy, ’cause my pipe isn’t fat enough to stream even 720p reliably.
17:53:09 <oren> Melvar that sounds like a bug from terrible design... why would firefox even need to know how you are connected.
17:53:34 <Melvar> I actually select the video url and press super+y to start downloading the video.
17:54:08 <Melvar> oren: Outside of actually trying to load something, yeah.
17:54:09 <oren> awsome
17:54:56 <Melvar> This involves a WM keybind and a script that uses xclip and youtube-dl.
17:55:20 <oren> meh, i'll just CC CV into the command line
17:56:04 <cluid> it would b egood to use more technologes that are not web based
17:56:10 <cluid> e.g. Gopher
17:56:10 <oren> with this i have no more reason to use FF instead of lynx
17:56:20 <oren> goodbyefirefox
17:58:08 <oren> seriously this is the best
18:01:23 -!- FreeFull has quit (Ping timeout: 245 seconds).
18:02:08 -!- FreeFull has joined.
18:02:08 -!- FreeFull has quit (Changing host).
18:02:08 -!- FreeFull has joined.
18:05:11 -!- cluid has quit (Quit: Leaving).
18:14:38 <J_Arcane> Holy crap this is cool. Gambit Scheme inside Emacs running inside a browser tab: https://feeley.github.io/gambit-in-emacs-in-the-browser/
18:16:10 <oren> I use a lot of terminal stuff mostly because my first computer was Redhat Linux without X
18:16:25 <oren> my second computer was WinXP
18:16:57 <oren> I do not have a grudge against either and cannot understand why anyone would
18:18:03 <oren> but things inside browsers really make me annoyed
18:18:18 <oren> like soundcloud whyyyyy
18:18:38 <oren> what was wrong with downloading music before playing it
18:18:50 <oren> or while playing it
18:19:49 <oren> but yes browsers are recapitulating the history of operating systems
18:20:41 <J_Arcane> oren: It's basically the thin-client race all over again, only they're starting to win.
18:20:46 <J_Arcane> I blame Microsoft.
18:20:54 <oren> I blame google
18:21:27 <J_Arcane> If Windows apps weren't shit, people wouldn't have started this crap in the first place.
18:21:33 -!- nooga has joined.
18:22:33 <oren> firefox and chrome is like windows 95 vs unix in terms of multitasking
18:22:48 <J_Arcane> Yes.
18:23:07 <J_Arcane> Chrome has issues, but the sandboxing and process management is way better most of the time.
18:26:05 <oren> well for playing music i'm not about to switch from vlc -Incurses
18:26:49 <oren> to soundcloud inside chrome
18:27:56 <oren> hmmm i should make an ncurses module for scrip7
18:28:18 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
18:28:46 <oren> or maybe an ncurses module for befunge
18:29:04 <oren> (though i dunno if befunge is easily extensible)
18:32:04 <fizzie> There is already a ncurses fingerprint for Funge-98.
18:32:13 <fizzie> It's called NCRS.
18:33:23 <fizzie> Implemented at least by cfunge and Rc/Funge-98, IIRC.
18:33:43 <oren> aha
18:34:24 <fizzie> And CCBI too.
18:34:40 <J_Arcane> I do wish Racket had PDCurses support; or at least better libtcod bindings that actually work.
19:01:26 -!- S1 has changed nick to S0.
19:05:40 -!- GeekDude has joined.
19:23:56 -!- Sauvin has quit (Remote host closed the connection).
19:24:32 <J_Arcane> http://jarcane.github.io/blog/2014/12/01/inventing-a-thing.html
19:27:19 -!- S0 has changed nick to S1.
19:29:11 <oren> J_Arcane: cool! yeah, the racket structs are a pain
19:33:47 -!- G33kDude has joined.
19:34:59 -!- GeekDude has quit (Ping timeout: 256 seconds).
19:35:05 -!- G33kDude has changed nick to GeekDude.
19:36:17 -!- myndzi has left.
19:36:27 -!- myndzi has joined.
19:41:09 <Bike> old skool
19:41:38 <HackEgo> [wiki] [[Pikalang]] http://esolangs.org/w/index.php?diff=41282&oldid=41273 * Zzo38 * (-37)
19:44:34 <elliott> oren: that 1.5 GB may not be measuring what you think it is.
19:45:52 <elliott> oren: if you're using adblock plus don't blame firefox for memory usage :) it's a massive memory hog
19:47:04 <oren> i disbled it which reduced usage to 1.1 GB. that's still a hog
19:47:16 <elliott> meh, was the entire backlog today nerds complaining about boring stuff?
19:47:51 <oren> yah i think so... J-Arcane wrote a cool BASIC-Lisp hybrid
19:48:15 <elliott> oren: and are you sure that 1.5 GB is measuring what you think it is? http://virtualthreads.blogspot.co.uk/2006/02/understanding-memory-usage-on-linux.html https://stackoverflow.com/questions/7880784/what-is-rss-and-vsz-in-linux-memory-management
19:49:44 <oren> its the VIRT column on top?
19:49:56 <oren> which i think also includes swap usage
19:50:28 <elliott> you should probably at least read the SO answer. measuring memory usage is non-trivial and a column saying "1.5 GB" doesn't really correspond to 1.5 GB closer to running out of RAM.
19:51:37 <Bike> a lot of times processes on my netbook have more in the VIRT column than i have ram chips. weird, right
19:51:40 <elliott> anyway, firefox uses a lot of RAM but most of the absurd figures are down to bad measurement or addons
19:51:58 <Bike> actually doesn't firefox have an internal memory usage thingie
19:52:01 <Bike> about:memory or something
19:52:06 <elliott> chrome does, at least. maybe ff too
19:52:29 <oren> well firefox segfaults if i run it with a ulimit of 1 GB
19:52:31 <elliott> a lot of people like to say chrome uses tons of RAM because it uses multiple processes and it looks like every process is using tons of memory because it's sharing stuff with the others
19:52:46 <Bike> i googled a big before realizing that i was googling using firefox and could just check.
19:52:46 <elliott> oren: and what is that ulimit limiting? do you know what that ulimit means?
19:52:48 <Bike> a bit
19:52:59 <oren> whoops not ulimit the other one
19:53:45 <oren> softlimit -a 1000000000 firefox
19:53:53 <Bike> "19.73 MB (01.60%) ++ top(https://www.google.com/search?q=firefox+about+pages" how ironic
19:53:55 <oren> limits all memory
19:54:03 <Bike> "all memory" huh
19:54:19 <oren> like all the memory put together
19:54:27 <oren> apparently
19:54:49 <Bike> That doesn't mean much of anything.
19:54:51 <oren> the total of all segment sizes
19:55:28 <elliott> okay, I'll stop linking you helpful information to try and clear up any misconceptions you have, since it seems you're certain you don't have any.
19:55:46 <oren> well how come it segfaults?
19:55:54 <Bike> read the fucking links then ask
19:55:55 <coppro> elliott: htop reports that chrome causes about 1GB more memory to be used, or thereabouts
19:56:03 <coppro> a bit less when I first spin it up
19:56:19 <Bike> COOL FACT: the .bss segment is reserved for memory that starts off as all zeroes. WEIRDLY, programs do not just reserve the size of the bss on physical ram chips and zero it out. WHO KNOWS WHY THOUGH
19:56:26 <coppro> it also uses a lot of CPU
19:56:36 <oren> doesn't that mean they tried to allocate something with malloc, it returned null and they gnored that?
19:56:50 <Bike> no. what the fuck?
19:56:56 <oren> that's the only legitimate reason for a segfault
19:57:09 <oren> in a prperly made app anyway
19:57:30 <elliott> ah yes, properly made apps don't even bother checking malloc's return value
19:57:37 <Bike> You don't know how memory works, shut up about "properly made" if you're not only going to not know things but refuse to learn things.
19:57:49 <elliott> coppro: sure. I can believe that. I have my doubts about the measuring process being used for this firefox figure, though.
19:58:09 <oren> if malloc returns null what areyou going to do? keep in mind you might need memory to do it.
19:58:10 <elliott> I do think it's more or less irrelevant though, the far more relevant question is how the memory usage grows with additional tabs
19:58:25 <elliott> oren: you don't need any RAM to check for NULL and print out an error message and abort
19:58:42 <elliott> please stop assuming I'm more ignorant than you, it's really condescending.
19:59:11 <oren> if you're going to print an error then abort,that's ok for console. Firefox is a X program
19:59:15 <elliott> some programs even gracefully recover from malloc failure! though it's tricky to trigger one on linux by default
19:59:34 <elliott> oren: malloc failing doesn't take away any of your previous memory. you can reserve some at any point previously
19:59:35 <oren> setrlimit to some low value
19:59:59 <oren> will cause malloc to fail in many programs
20:00:11 <elliott> I can practically guarantee you firefox checks the return value of malloc, if only to abort()...
20:00:26 <oren> i don't understand how it can segfault then
20:00:26 <elliott> (well, okay; I suppose it probably mostly uses C++ new or such)
20:00:43 <oren> just from limiting its memory
20:00:52 <elliott> well, I'm not saying it doesn't have any bugs. anyway, do you know about overcommit and the OOM killer?
20:01:08 <elliott> if you want to be testing malloc failures the default linux configuration is a bad one, since it's unlikely to produce any.
20:01:25 -!- ais523 has joined.
20:02:42 <oren> like i said, if you setrlimit malloc will fail right?
20:02:45 -!- perrier has quit (Remote host closed the connection).
20:03:00 <elliott> I don't know how rlimits interact with overcommit/OOM killer behaviour.
20:05:43 <oren> brk and sbrk fail when the rlimit has been set. src:man setrlimit
20:06:38 <oren> btw i'm not assuming you don't know anything
20:06:47 <elliott> but memory isn't only allocated through brk and sbrk. firefox uses jemalloc; that uses mmap too
20:06:48 <oren> i just am describing my understanding
20:06:59 <ais523> elliott: the rlimit affects how much can be overcommitted
20:07:08 <ais523> as in, any memory malloc claims to have given you counts against the rlimit
20:07:13 <elliott> ais523: right
20:07:20 <ais523> once the limit is reached, malloc returns null
20:07:31 <elliott> ais523: firefox doesn't use libc malloc, though, for one
20:07:39 <elliott> the kernel doesn't know about malloc, really...
20:07:41 -!- Patashu has joined.
20:07:44 <Bike> i should write my own malloc.
20:07:47 <oren> RLIMIT_AS limits brk, mmap and mreamap
20:07:50 <ais523> elliott: to be precise, sbrk and mmap return null
20:07:54 <Bike> i guess doing it in terms of mmap is the thing.
20:07:59 <elliott> right.
20:09:11 <zzo38> TeX implements its own memory allocation. SQLite can use its own memory allocation too. Lemon and bzip2 both allow you to specify your own alternate memory allocation instead of using malloc/free.
20:09:33 -!- augur has quit (Remote host closed the connection).
20:13:09 <fizzie> And RLIMIT_AS also limits things that are not really "using" memory, like mmap'ing actual files. And will count things like shared memory blocks and libraries as if the process in question was their only user.
20:13:12 <fizzie> I vaguely recall we had that discussion about the address space use of a "hello, world" Java program on the Sun JVM being <some big number>, due to <some particular thing the JVM did>.
20:13:50 <elliott> "Related fun fact: the x86 architectures have a direction flag that can be set to cause the processor to run backwards. This is how the backwards copying overlapping memmove is implemented." meh, I was hoping this meant the ip actually moves backwards, but it's hyperbole
20:14:10 -!- augur has joined.
20:14:32 <fizzie> Just the *si/*di register postincrement/decrement, sadly.
20:14:53 <Bike> still waiting for x86 increment immediate
20:15:41 <olsner> istr JVM needing something like 2GB virtual memory to start at all (after running into a badly set ulimit), but that was virtual memory
20:16:06 <fizzie> fis 19104 2.0 0.1 6555876 28496 pts/1 Sl+ 22:14 0:00 java -cp . tmp
20:16:20 <fizzie> Six and a half gigs of address space, ~28 megs resident.
20:16:28 <oren> so is or is not RLIMIT_AS a good way of estimating how much memory firefox is actually using?
20:17:47 <oren> or which RLIMIT is the right one?
20:18:41 <elliott> Bike: like, it would self-modify the instruction?
20:18:52 <fizzie> http://sprunge.us/QMWR <- not unless you think that meant it takes more than 4 gigabytes to run a trivial Java program.
20:18:56 <Bike> yes. i've heard vax had it but that might be wrong.
20:19:06 <fizzie> There is no "right one".
20:19:13 -!- Phantom__Hoover has quit (Ping timeout: 272 seconds).
20:19:30 <Bike> firefox gives you a thing to analyze its memory usage. i think it is a good place to start.
20:20:01 <oren> i can't analyze it after my system hangs
20:20:48 <oren> from huge memory usage on certain websites by firefox
20:20:52 <Bike> for example, it has "heap-allocated" of about 772 MB here. top shows 2600 MBish VIRT. so, i mean.
20:21:53 <elliott> oren: you can easily measure memory usage at startup with it, though.
20:21:56 <Bike> https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Emscripten/Techniques/Out_of_memory_error_reports here's something
20:23:12 <Bike> hm i think that's for js though
20:23:50 <oren> this morning i went on dailywtf forums, and my whole system froze and i had to hold down power button
20:24:17 <oren> that is how i came to this problem
20:24:34 <elliott> that was your browser protecting you from that site
20:24:55 -!- ais523 has quit (Read error: Connection reset by peer).
20:25:02 <oren> it can also happen on games written in JS
20:25:02 -!- ais523 has joined.
20:25:38 -!- Patashu has quit (Ping timeout: 240 seconds).
20:25:52 <oren> i want firefox to die of a segfault instead of hanging
20:26:15 <oren> that is how i found out that setting the limit to 1GB or less causes immediate segfault
20:26:23 <Bike> How do you know it's memory usage?
20:26:35 <oren> it is RLIMIT_AS
20:26:44 <oren> oh the hang?
20:26:48 <Bike> No, I mean how do you know the hangs are caused by memory usage, yes.
20:27:42 <oren> i know because the hard disk light turns on and doesn't turn off, indicating swapping constantly
20:28:00 <oren> also because i once watched it happen on top
20:28:14 <oren> when i went to ctrlalt f1
20:28:21 <oren> and opened top
20:28:30 <oren> it had 100% memory used
20:29:04 <elliott> how much RAM do you have, by the way?
20:29:08 <oren> 2GB
20:29:19 <oren> that should be enough for anyon
20:29:25 <oren> anyone
20:29:29 <elliott> as your hours of complaining demonstrate, it clearly isn't. :p
20:29:39 <elliott> are you using a 64-bit OS?
20:29:43 <oren> yes
20:29:45 <elliott> then stop.
20:29:48 <Bike> that should be enough for anyone -- bill gates, never
20:29:49 <oren> what?
20:29:55 <oren> huh?
20:29:56 -!- bb010g has joined.
20:29:58 <elliott> you only have 2 gigabytes of RAM and 64-bit OSes use more memory!
20:30:02 <elliott> the pointers are bigger!
20:30:09 <Bike> the horror
20:30:10 <elliott> it's not insignificant.
20:30:24 <Bike> my 2 gb netbook uses 64 bit, the old model was 32 bit
20:30:25 <elliott> there's a reason that the x32 ABI (x86-64 + 32-bit pointers) is a thing.
20:30:26 <oren> bah, that means i effectivly have 1GB that is still a lot
20:30:34 * elliott sighs
20:30:36 <Bike> alas, i liked finding books on the obscure "x86" architecture"
20:30:40 <Bike> bugs, not books
20:30:43 <Bike> though i also found books.
20:30:44 <elliott> you're just looking for an argument, not help, right?
20:31:15 <oren> well what do i do if i want firefox to segfault instead of freezing the whole ubunut?
20:31:26 <oren> is or is not RLIMIT_AS the one i want?
20:31:39 <elliott> fizzie: you wanna take over?
20:31:40 <zzo38> I believe VAX has a "increment immediate" instruction; x86 doesn't have any such thing.
20:31:49 <Bike> do you want it to segfault if it mmaps a big file? no? well, there you go then
20:31:59 <oren> why would it do that?
20:32:25 <oren> its a web browser not a database
20:32:29 <fizzie> oren: If you can manage to set a RLIMIT_AS that's both large enough for Firefox to run and small enough so that you can fit the limit plus the rest of your system in your physical memory at the same time, maybe that could be a practical solution.
20:32:44 <fizzie> oren: It doesn't sound terribly likely, though.
20:32:48 <oren> crap
20:33:12 <fizzie> elliott: I doubt I'll have anything more constructive to offer than "things don't look good" + "look for lightweight browsers".
20:33:23 <fizzie> (They'll all suck, of course.)
20:33:34 <oren> well i guess i can use lynx for almost everything
20:34:06 <oren> except some of my school websites
20:34:37 <elliott> you could just install a 32-bit OS, which would have a measurable concrete benefit and not involve guessing what random rlimits mean.
20:34:44 -!- callforjudgement has joined.
20:35:06 <oren> ormaybe ill just buy a new laptop
20:35:08 <elliott> btw, I bought a really cheap laptop recently, and it still had 4 gigabytes of RAM (but a 1.5 ghz processor).
20:35:13 <elliott> you picked cheep laptop unwisely :p
20:35:15 <elliott> *cheap
20:35:33 <oren> this one is already 1.5 years old
20:35:57 <oren> i tend to replace them every 2 years anyway
20:36:09 <elliott> you could buy a more expensive laptop that would last 4 years
20:36:11 <Taneb> This one has 4GB and it's second hand and I believe the previous owner had it for years
20:36:28 <oren> this one cost 260 bucks
20:37:00 <fizzie> (Speaking of browsers and their memory use, Chrome's own task manager says the GPU process is using 800 megs of it.)
20:37:17 <Taneb> oren, this cost me £50
20:37:38 <oren> 50 punds = how many canadian dollars
20:37:53 <elliott> oh, canadian dollars? no wonder it was bad
20:38:04 -!- ais523 has quit (Ping timeout: 258 seconds).
20:38:04 -!- shikhout has joined.
20:38:10 -!- callforjudgement has changed nick to ais523.
20:38:17 <elliott> the one I bought cost more like 400 CAD, but everything is expensive in europe
20:38:24 -!- shikhin has quit (Disconnected by services).
20:38:32 -!- shikhout has changed nick to shikhin.
20:38:48 <oren> canadian dollars ar not worth much
20:38:52 <Taneb> oren, $89.20
20:38:58 <oren> thats why we got rid of our pennies
20:39:20 <fizzie> elliott: Speaking of which, your capital city seems stupidly expensive.
20:39:42 <elliott> fizzie: yes.
20:39:51 <fizzie> elliott: I don't understand why my unnamed future employer must be in there of all places. Except maybe it's "hip"?
20:39:51 <elliott> fizzie: you can probably make a trade-off with commutes, but...
20:40:10 <elliott> haven't you named that employer in here already?
20:40:17 -!- Sprocklem has joined.
20:40:37 <fizzie> elliott: Only over the speech recognition, so I have plausible deniability. (I don't know why I did that, it's not a secret.)
20:40:56 <elliott> everyone will know you're going to work for microsoft
20:41:01 <elliott> *lycos
20:41:05 <elliott> *altavista
20:41:15 <elliott> *astalavista
20:41:17 <oren> i worked for Bering MEdia
20:41:28 <oren> it was fun
20:41:38 <fizzie> I remember Astalavista, but not what it actually searched.
20:41:49 <fizzie> Oh, the crack place?
20:42:07 <elliott> yeah
20:42:10 <fizzie> Sorry, "computer security information" place.
20:42:22 <elliott> is this bering media company entirely dedicated to creepy ad targetting
20:42:35 <oren> yes
20:43:20 <oren> i, an intern had access to the names, phone numbers, mailing addresses of many many people in theUS
20:43:37 <oren> (my NDA is over so nyah nyah)
20:43:37 <elliott> so much for "doubleblind privacy(TM)"
20:43:57 <oren> well i didn't have their IP addresses
20:43:58 <elliott> Privacy is a popular topic today – the online advertising debate of privacy versus functionality is a big conversation in the media. Too often privacy is viewed at odds with the goals of industry, but we think that’s the easy way out.
20:44:06 <oren> thats what it actually means
20:44:14 <fizzie> What does "zip+4" mean?
20:44:23 <elliott> fizzie: those extended US zips, I think?
20:44:25 <oren> it is a mailing address
20:44:29 <elliott> like 123456-1942 or something
20:44:34 <elliott> I think they target a residence directly
20:44:48 <oren> i could send anyone a letter
20:44:52 <elliott> An extended ZIP+4 code, introduced in 1983, includes the five digits of the ZIP code, a hyphen, and four more digits that determine a more specific location within a given ZIP code.
20:45:09 <oren> it usually at least targets the specific building
20:45:19 <fizzie> I C.
20:45:40 <oren> anyway the idea was you could target an area by centre and radius
20:45:44 <oren> with web ads
20:46:22 <fizzie> Re Bering Media, I was at least amused by that blog post title on the front page: "The EU ‘cookie law’: what has it done for us?"
20:46:26 <fizzie> Sadly, it was not a link to a Monty Python parody.
20:46:55 <oren> when i was there they only had the USA
20:47:05 <oren> even though it is a canadian company
20:47:37 <oren> actually we only had names for some of the database
20:47:41 -!- dario has joined.
20:47:59 <oren> i think it was compiled from public information
20:48:15 <oren> but having all of it in one place is kind of...
20:49:36 <oren> yes now i remember, they got most of the info from the US postal service somehow
20:50:32 <oren> and then the ISPs cooperated to associate ip's with locations
20:50:54 <oren> they had deals with several medium size ISP's
20:51:34 <elliott> ew.
20:51:39 <oren> although all of that is public if you read the blogs of the company
20:52:15 <oren> to be fair however almost 100% of clicks on ads come from bots
20:52:27 <oren> that is another thing i learned there
20:52:49 <dario> hello
20:52:53 <oren> so the websites with highest click counts are websites almost no-one uses
20:53:48 <elliott> `relcome dario
20:53:51 <HackEgo> dario: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
20:54:13 <oren> and the people who click a lot on ads are people with virus-infected machines
20:54:31 <oren> that is, Russian-controlled botnets
20:54:59 <oren> hello dario
20:55:10 <dario> hello oren?
20:56:17 <oren> the other reason i can talk about bering media is because my boss at the time quit the company
20:57:52 <oren> becuase he did'nt like what they were doing
20:59:29 <oren> the problem is that no-one wants to pay for bot-clicks, but websites want bots to click
21:00:01 <oren> the web ad industry is under attack from both ends
21:03:28 <oren> so they write code to try to identify the user so they can 'ban' robots
21:04:06 <oren> but it doesn't really work becuase a large botnet can issue one click for each of its nodes
21:04:36 <oren> and that adds up to a fe dollars worth of clicks
21:05:23 <oren> which the ad network has to pay for and charge the client
21:05:37 <ais523> oren: almost 100% of ad clicks coming from bots doesn't surprise me at all
21:05:44 <ais523> most people don't follow ads at all
21:06:28 <ais523> actually, many advertisers are in favour of adblock because of this, it means they aren't charged for views that probably wouldn't lead to a follow anyway
21:06:52 -!- Bicyclidine has joined.
21:06:59 <oren> but the people who use advblock are least likely to be infected
21:07:18 <oren> by botnets
21:07:54 <oren> i dunno the whole thing seemed unsolvable to me
21:09:27 <oren> which is why i didn't think what they were doing was wrong, just pointless
21:09:58 <ais523> oren: I also concluded that internet adverts are probably pointless
21:10:18 <oren> distinguishing a bot from a human when neither is cooperating with you is probably impossible
21:11:00 <oren> over a network, i mean
21:11:07 <ais523> oren: right, that seems like an even harder problem than CAPTCHAs
21:11:32 <ais523> because for CAPTCHAs, at least the humans are cooperating
21:11:35 <oren> they had an idea involving checking how fast the mouse moved over the ads
21:11:49 <ais523> easily fakable once the botnets determine that that's what's happening
21:12:02 <ais523> which wouldn't take them long if your ad network was at all large
21:12:13 <fizzie> Don't be so discouraging, internet ads pay my (future) salary. :/
21:12:17 <oren> the bots move at human speeds already
21:12:48 <oren> hey the industry is thriving even if everyone in it knows it's kind of a sham
21:13:29 <oren> because people see the ads even if they don't click
21:13:40 <oren> and advertisers think that's enough
21:14:05 <ais523> oren: well, for TV ads
21:14:07 <ais523> you /can't/ click on them
21:14:12 <ais523> and yet they're still pretty popular
21:14:48 <oren> and the endless hordes of untechnical users make up for nerds using adblock
21:15:35 <ais523> adverts probably aren't the right way to contact the nerds anyway
21:16:29 <oren> interestingly there is a browser that comes with adblock: maxthon
21:16:49 <oren> but only even bigger nerdsthan me use that
21:16:51 <ais523> most email clients have adblock nowadays
21:16:58 <oren> well yeah
21:18:13 <ais523> actually, interesting that web ads are so much easier to block
21:18:24 <ais523> because all the ad companies use complex third-party hosting methods and the like
21:19:36 <zzo38> You can also use filters with whatever email client you are using; or define a filter that comes before the client is another way
21:19:58 <ais523> rather than just getting the sites displaying the ads to also serve the ads, which would be the sensible way (also, a rather less evil way because then the ad company doesn't get tracking data)
21:20:08 <ais523> actually that's probably why they don't do things sensibly
21:20:23 -!- Froox has joined.
21:22:38 <oren> tracking is important because you don't want 50 clicks from one computer
21:23:04 <oren> so yeah
21:25:03 -!- Phantom__Hoover has joined.
21:25:21 <ais523> oren: you see the clicks, just not views
21:25:32 <ais523> because you still control the destination of the link, just not the source any more
21:25:38 -!- nooga_ has joined.
21:26:08 -!- yorick_ has joined.
21:28:20 -!- puritania has joined.
21:28:54 -!- aloril_ has joined.
21:33:46 <oren> heyeverybody.avi
21:34:50 -!- S1 has quit (Disconnected by services).
21:34:52 -!- puritania has changed nick to S1.
21:35:49 -!- nooga has quit (*.net *.split).
21:35:51 -!- Frooxius has quit (*.net *.split).
21:35:55 -!- yorick has quit (*.net *.split).
21:35:55 -!- aloril has quit (*.net *.split).
21:40:54 <shachaf> `olist 969
21:40:57 <HackEgo> olist 969: shachaf oerjan Sgeo FireFly boily nortti
21:43:42 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
21:44:03 <oren> what does olist do
21:44:30 <shachaf> Notifies people.
21:44:45 <shachaf> `` ls bin/*list*
21:44:48 <HackEgo> bin/danddreclist \ bin/dontaskdonttelllist \ bin/don'taskdon'ttelllist \ bin/emptylist \ bin/erflist \ bin/list \ bin/listen \ bin/llist \ bin/makelist \ bin/mlist \ bin/olist \ bin/pbflist \ bin/pbflistdeluxe \ bin/slist \ bin/smlist \ bin/testlist
21:47:22 <FireFly> `rot13 test
21:47:24 <HackEgo> grfg
21:47:36 <FireFly> `echo test | rot13
21:47:38 <HackEgo> test | rot13
21:47:42 <FireFly> `! echo test | rot13
21:47:43 <HackEgo> ​/hackenv/bin/!: 4: exec: ibin/echo: not found
21:47:49 <FireFly> `` echo test | rot13
21:47:51 <HackEgo> grfg
21:47:53 <FireFly> good
21:48:01 <FireFly> `` rot13 <bin/testlist
21:48:03 <HackEgo> rpub sbb \ rpub one
21:48:18 <FireFly> `cat bin/testlist
21:48:20 <HackEgo> echo foo \ echo bar
21:48:22 <shachaf> FireFly: but i have /hilight on the rot13 of my name :'(
21:48:43 <FireFly> Good thing you weren't in the testlist, then
21:49:08 -!- callforjudgement has joined.
21:49:13 -!- ais523 has quit (Disconnected by services).
21:49:15 -!- callforjudgement has changed nick to ais523.
21:49:22 <FireFly> Also who doesn't enjoy fun puns
21:49:23 <ais523> I'm disappointed that `list stopped working :-(
21:50:16 <zzo38> The danddreclist is my own one and there are many others too
21:50:25 <FireFly> `cat bin/makelist
21:50:27 <HackEgo> cp bin/emptylist bin/"$1"
21:50:36 <FireFly> `cat bin/emptylist
21:50:41 <HackEgo> echo -n "$(basename "$0")${@:+ }$@: "; tail -n+2 "$0" | xargs; exit
21:50:45 <FireFly> Huh, fancy
21:51:29 <zzo38> You can be notified of these list in many ways: [1] Notify when your name is mentioned, if it is on the list. [2] Notify when the list command is entered (for example, if a message starts with "`danddreclist"). [3] Access the logs and find a message where the command is entered.
21:51:43 <zzo38> I don't know if these programs can access the internet; that would be another way though.
21:52:59 <shachaf> olist is for Order of the Stick updates
21:53:38 -!- J_Arcane has quit (Ping timeout: 240 seconds).
21:54:08 <ais523> zzo38: HackEgo is at least capable of downloading from the Internet, but I think possibly it can only do that on specific commands
21:54:10 <zzo38> See if the wisdom directory contains information about it? Perhaps that can help too
21:54:31 <shachaf> ais523: Is it still? I thought that stopped working.
21:54:42 <fizzie> zzo38: They used to have access via a proxy server that only allowed certain whitelisted pages.
21:54:49 <ais523> shachaf: not sure
21:54:59 <fizzie> But that at least may have stopped working.
21:55:18 <fizzie> I think `fetch still works? Not sure.
21:55:25 <ais523> fizzie: I was thinking of `fetch
21:55:34 <ais523> `fetch http://nethack4.org/pastebin/nonexistent-page
21:55:39 <HackEgo> http://nethack4.org/pastebin/nonexistent-page: \ 2014-12-01 21:54:55 ERROR 404: Not Found.
21:56:15 <ais523> oh, hmm
21:56:19 <ais523> not sure which of these are HackEgo
21:56:28 <ais523> someone here is running a link-looking script
21:56:51 <zzo38> Send the message privately to HackEgo then.
21:56:55 <shachaf> HackEgo is 162.248.166.242
21:57:00 <fizzie> Do you log user-agents?
21:57:39 <HackEgo> [wiki] [[Mmmm()]] N http://esolangs.org/w/index.php?oldid=41283 * SuperJedi224 * (+1464) Created page with "Mmmm() is an esoteric "microlanguage" by SuperJedi224, inspired in part by [[Brainf***]]. The only characters the interpreter actually pays any attention to are "M", "m", "("..."
21:58:40 <shachaf> Someone should make a language called Brainf***.
21:58:42 <ais523> fizzie: yes
21:59:07 <Taneb> Hmm, could I treat modulo arithmetic as the motivating example for quotient groups?
21:59:09 <ais523> shachaf: we have it mentioned as one of the bowlderlizations of brainfuck
21:59:15 <ais523> together with B****fuck
21:59:45 <zzo38> And then you should also need B****f*** and b******** and if you *really* want to be really confusing, even *********
22:00:19 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41284&oldid=41283 * SuperJedi224 * (+12)
22:00:26 <fizzie> And b7k.
22:00:26 <ais523> ***i**uc*
22:00:41 <shachaf> zzo38: What word is "*really*" supposed to be?
22:01:22 <Taneb> wheelies
22:01:36 <zzo38> The asterisks are supposed to be unmentionable characters so you cannot actually type the proper one
22:01:37 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41286&oldid=41284 * SuperJedi224 * (+11)
22:02:11 <fizzie> What's the lowest N in widespread aNb's? There's l10n with 10. Maybe 7 is too low.
22:02:28 <ais523> shachaf: there are no words that match that in my /usr/share/dict/words
22:02:44 <ais523> although if you treat the * as an actual *, not ?
22:02:57 <ais523> you have "ethereally" and "funereally" as well as the obvious "really"
22:03:18 <shachaf> There is also "preallying"
22:03:31 <shachaf> Which has letters on both sides.
22:03:36 <ais523> not in my dictionary
22:03:43 <fizzie> "cereally". In a cereal manner.
22:03:49 -!- dario has quit (Quit: Ex-Chat).
22:04:01 <shachaf> I use /usr/share/dict/words/american-english-insane
22:04:42 <ais523> presumably that contains more words than the regular dictionary?
22:04:55 <Taneb> No, it only contains insane words
22:05:19 <fizzie> Didn't realize it was an actual adjective.
22:05:22 <fizzie> The adj cereal has 1 sense (no senses from tagged texts)
22:05:23 <fizzie> 1. cereal -- (made of grain or relating to grain or the plants that produce it; "a cereal beverage"; "cereal grasses")
22:05:38 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41287&oldid=41210 * SuperJedi224 * (+13)
22:07:27 -!- Sprocklem has quit (Ping timeout: 264 seconds).
22:07:29 <ais523> fizzie: I don't consider that an adjective, it's a noun used as a modifier
22:07:44 <ais523> you can swap "cereal" out for pretty much any other concrete noun and the examples still make sense, that's how you can tell
22:08:32 -!- Bicyclidine has quit (Ping timeout: 258 seconds).
22:08:53 -!- Sprocklem has joined.
22:10:15 -!- Bicyclidine has joined.
22:11:43 <elliott> http://sourcereal.com/
22:12:08 <elliott> ais523: a cereal dog
22:12:35 <ais523> elliott: a dog that's good at sniffing out cereal, I guess
22:12:45 <ais523> it's a meaningful combination, just not one you'd be likely to use
22:13:10 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41288&oldid=41286 * SuperJedi224 * (+190)
22:13:50 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41289&oldid=41288 * SuperJedi224 * (-87)
22:15:51 -!- Bicyclidine has quit (Ping timeout: 264 seconds).
22:16:54 -!- Bicyclidine has joined.
22:18:37 <oren> hmm it appears I can in fact edit the wiki using lynx
22:18:59 <oren> yeah its official i'm ditching firefox
22:19:04 <oren> for lynx
22:19:21 <ais523> oren: be careful
22:19:28 <Bicyclidine> no, don't be carefu
22:19:43 <ais523> I ended up blanking Talk:Main Page on Wikipedia once by editing it through Mozilla 1 for SunOS
22:20:02 <elliott> you could at least use links2 or elinks or something.
22:20:07 <elliott> or w3m.
22:20:19 <oren> are those better?
22:20:43 <Bicyclidine> if the pope shat in the woods would he be catholic
22:20:56 <oren> i'm open to suggestions aslong as they don't support JS
22:20:59 <elliott> depends on your definition of better, but I would pick w3m or links2 over lynx any day.
22:21:07 <elliott> you know you can just turn off javascript, right
22:21:09 <oren> or CSS
22:21:17 <oren> and don't hog memory
22:21:35 -!- Sprocklem has quit (Ping timeout: 264 seconds).
22:21:36 <oren> CSS can hog memory too
22:22:07 <oren> once a page with complex CSS hogged my cpu and overheated it on my last computer
22:22:46 <oren> too many levels of CSS divs to figure out i guess
22:23:37 <oren> maybe i just won't install x next time
22:25:41 <oren> or maybe i won't buy another craptop
22:34:02 <oren> whup, gtg
22:34:05 -!- oren has quit (Quit: Lost terminal).
23:02:28 -!- Bicyclidine has quit (Ping timeout: 252 seconds).
23:02:38 -!- mihow has quit (Quit: mihow).
23:09:18 -!- Bicyclidine has joined.
23:13:26 -!- Bicyclid1ne has joined.
23:14:51 -!- Bicyclidine has quit (Ping timeout: 258 seconds).
23:28:24 -!- `^_^v has quit (Ping timeout: 255 seconds).
23:28:35 -!- pikhq_ has quit (Ping timeout: 272 seconds).
23:31:22 <Sgeo> Have you ever just wanted to facepalm someone? http://stackoverflow.com/questions/27222103/the-order-of-the-keys-in-jsonobject
23:32:16 <ais523> I didn't think "facepalm" was a transitive verb
23:33:01 * Sgeo transitives 'facepalm' and verbs 'transitive' and 'verb'
23:33:27 <Bicyclid1ne> isn't palming someone else's face just a "slap"
23:33:34 <Bicyclid1ne> in which case, yes. i have wanted to slap people
23:34:12 <Bicyclid1ne> this person i don't want to slap. i do want to groan obnoxiously at them, however.
23:34:18 -!- Bicyclid1ne has changed nick to Bicyclidine.
23:34:24 <Bicyclidine> Here's a simulation. "Uuuuuugh"
23:35:41 <Bicyclidine> Of course, the non-simulated version would use sound, rather than text, among other differences.
23:36:15 <Bicyclidine> Also. What does "verb" mean used as intransitive verb.
23:36:41 -!- pikhq has joined.
23:37:31 -!- Dulnes has joined.
23:37:32 <Sgeo> I never said I intransitived 'verb'
23:37:49 -!- bb010g has quit (Quit: Connection closed for inactivity).
23:38:13 <Bicyclidine> no, but you transitived 'facepalm', which was previously an intransitive verb, so by analogy, to transitive something means to make an intransitive verb transitive
23:38:16 <Bicyclidine> Duh
23:38:18 <Dulnes> Does lambdabot keep you from trying to do @tell lambdabot ( eg )
23:38:24 <Bicyclidine> yes
23:38:32 <Dulnes> Indeed
23:38:42 <Sgeo> Yes, but I didn't transitive transitive and verb
23:38:53 <Bicyclidine> oh
23:38:55 <Bicyclidine> yes, you're right
23:39:00 <Dulnes> What are you two up to
23:39:02 <Bicyclidine> Apologizinize
23:40:11 <Dulnes> l §[ l
23:41:08 -!- boily has joined.
23:42:45 <Dulnes> What was i doing yesterday?
23:43:00 <Bicyclidine> boigin'
23:43:57 <Sgeo> sup
23:45:40 <Dulnes> Bless your heart
23:46:37 <Sgeo> sup
23:47:03 <Bicyclidine> sup
23:47:18 <Dulnes> If you have a 60 GB compressed tar ball how do you uncompress it without lagging your computer
23:47:22 <Dulnes> Also hi
23:48:42 <Dulnes> Guys i have something to say
23:51:28 <boily> hi
23:51:37 <boily> what is the something that you have to say about?
23:52:09 <Dulnes> Nutella
23:52:47 -!- FreeFull has quit (Ping timeout: 264 seconds).
23:53:31 <boily> nutella is good. I approve of nutella.
23:54:17 -!- FreeFull has joined.
23:54:33 <Dulnes> Yay.
23:54:39 <Dulnes> How was your day
23:59:18 -!- nooga_ has quit (Ping timeout: 240 seconds).
2014-12-02
00:02:23 <boily> public static final long day;
00:03:27 <ais523> you can't mark it "final" then not initialize it, that doesn't make sense
00:03:30 <Dulnes> Hm?
00:03:32 <ais523> </former Java teacher>
00:03:42 <Dulnes> Oh mai
00:03:46 <Dulnes> Fancy
00:04:24 <Dulnes> Java as in the game java
00:04:48 <boily> ais523: yes you can. static {}.
00:05:00 <Dulnes> Or javascript as in OooooOo look at all these codes and bots
00:05:34 <Dulnes> ')'
00:05:40 -!- Bicyclidine has quit (Ping timeout: 264 seconds).
00:05:49 -!- dianne has joined.
00:06:00 <Dulnes> Have you ever stopped what you are doing and just
00:06:21 <Dulnes> Look at an English word and say " i feel like you are a fake word "
00:06:59 <boily> the only Real English comes from fungot.
00:06:59 <fungot> boily: if it is possible i was fnord a roleplaying scenario for 10 hours 2 days :)
00:10:57 -!- ais523 has quit (Read error: Connection reset by peer).
00:10:59 -!- callforjudgement has joined.
00:13:05 <Dulnes> what is fungot
00:13:06 <fungot> Dulnes: for learning scheme, or a procedure ( shift proc) where proc is the closure. environment structures may be shared, or should i just duplicate all self-referential hooks and make them links if an url is found.
00:13:32 <Dulnes> Where does it get all these random wordings
00:13:57 <elliott> ^source
00:13:57 <fungot> https://github.com/fis/fungot/blob/master/fungot.b98
00:14:46 <boily> Dulnes: for more details about Sir Fungellot, please peruse the PDF available in the /topic ↑
00:14:55 -!- Bicyclidine has joined.
00:15:10 <Dulnes> What language is this
00:15:28 <Dulnes> Sif
00:15:49 <Dulnes> not sif im just saying sif
00:16:05 <boily> it's befunge 98.
00:16:15 -!- applybot has quit.
00:16:16 <boily> Sift
00:17:04 <Dulnes> Welp
00:17:37 <Dulnes> For more http://sametwice.com/sif
00:17:37 <Dulnes> Sif*
00:19:58 <boily> ah bin.
00:20:15 <boily> (eeeeh... translated: interesting.)
00:26:11 <Dulnes> Gonna go sleep
00:26:18 <Dulnes> Gbif
00:26:24 <Dulnes> Gnight
00:28:59 -!- GeekDude has joined.
00:33:41 -!- boily has quit (Quit: LACONIC CHICKEN).
00:48:23 -!- supay has quit (Ping timeout: 272 seconds).
00:49:19 -!- nyuszika7h has quit (Read error: Connection reset by peer).
00:51:16 -!- supay has joined.
00:52:11 -!- conehead has quit (Ping timeout: 272 seconds).
00:52:18 -!- conehead has joined.
00:52:42 -!- nyuszika7h has joined.
00:56:53 -!- oren has joined.
00:56:57 -!- Phantom__Hoover has quit (Remote host closed the connection).
00:56:57 <oren> ok my exam is over phew
00:57:33 -!- S1 has quit (Quit: S1).
01:00:55 <oren> is it just me or is all the talk about clustered/unclustered indices worthless if the DB is on solid state?
01:01:44 <oren> actually the whole C language io is sequential access which is also wrong on solid state
01:06:52 -!- Bicyclidine has quit (Ping timeout: 244 seconds).
01:08:01 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
01:13:57 -!- Bicyclidine has joined.
01:15:13 <HackEgo> [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41290&oldid=41280 * BCompton * (+3) /* Command Summary */ Typos
01:26:03 <oren> designing a language based entirely on objects on a playfield, but their positions are not limited to integer grid.
01:26:22 <oren> instead to write a program you place them with your mouse
01:26:58 <MDude> neat
01:27:59 <oren> the basis of the data model is balls, like essentially marbles
01:28:48 <oren> and they roll across the playfield and can be caught, deflected, slowed or sped up by different objects
01:30:04 <oren> you have chutes that create marbles rolling in a given direction
01:30:12 <oren> with a given frequency
01:30:28 <oren> and you can tag marbles with a color
01:30:41 <oren> (in RRGGBB)
01:30:52 <oren> which you select with a color picker
01:31:19 <oren> the basic premise is that the language does not use any kind of text or numbers
01:31:32 <oren> (at least from the programmer's point of view)
01:31:47 -!- Bicyclidine has quit (Ping timeout: 264 seconds).
01:32:42 <oren> i am implementing it with allegro 5
01:33:24 -!- Bicyclidine has joined.
01:33:48 <oren> Bicyclidine your internet needs fixing
01:46:44 -!- callforjudgement has quit (Read error: Connection reset by peer).
01:46:49 -!- scarf has joined.
01:49:15 -!- scarf has quit (Client Quit).
01:49:28 -!- scarf has joined.
01:51:37 -!- scarf has quit (Read error: Connection reset by peer).
01:51:52 -!- scarf has joined.
01:52:20 -!- scarf has changed nick to ais523.
01:53:40 <oren> ais523 your internet also needs fixing
01:53:51 <ais523> I know :-(
01:57:14 <oren> did you unplug and plug back in your internet?
01:57:38 <oren> (yes, i know it's called a lan switch, but wvr)
01:58:54 <ais523> doesn't help
01:59:00 <ais523> also it's a router
01:59:25 <Jafet> On the off chance... did you switch your switch off and on?
02:00:44 <oren> maybe you need to buy a new internet
02:04:03 <oren> my old internet used to crash every few hours so we bought a new one and it works way better
02:07:51 -!- oren has quit (Quit: eating dinner).
02:10:43 * Sgeo wonders how Internet2 is going
02:11:46 <Sgeo> A Web2 would probably be better (not to be confused with Web 2.0)
02:12:43 <elliott> internet2 is a university network thing...
02:14:24 <MDude> So, by definition ,it's incapable of going?
02:15:11 <Sgeo> University notwork thing?
02:15:25 <elliott> https://en.wikipedia.org/wiki/Internet2 ?
02:15:36 <elliott> I don't know what you mean by Internet2. that thing is the only thing I've ever heard called Internet2
02:15:48 <MDude> Yeah, that's Internet2.
02:16:15 <MDude> I think it makes sense to ask how a research consortium is going.
02:16:44 <Sgeo> I think I'm secretly hoping some of the technology makes its way to the public Internet?
02:16:46 <elliott> well, I don't know what the Web2 comment means, in that case.
02:17:03 <Sgeo> The Web2 comment is a wish that the current web is destroyed and a new sane web is made
02:17:40 <MDude> Maybe he wants a consortuim for testing web stuff before it gets put out on the main web, analogous to how Internet2 works?
02:18:23 <elliott> I'm blanking on what you'd want. I guess there's that Shibboleth thing?
02:18:26 -!- callforjudgement has joined.
02:18:35 <elliott> I'm pretty sure people use that on the regular internet too
02:18:41 <Sgeo> If Internet2 is separate from and better than the Internet, Web2 is separate and better than the web
02:20:43 -!- ais523 has quit (Ping timeout: 256 seconds).
02:20:45 <MDude> The problem here is that stuff *is* tested on the regular web, usually by browser makers trying to maximise its userbase by having exclusive features vieled as contantly-improved standards.
02:21:02 <MDude> Sgeo, could you mean Project Xanadu?
02:21:10 <MDude> Or maybe Gopher.
02:21:15 <Sgeo> I mean the web is horrible and want anything to replace it
02:22:09 <MDude> Project Xanadu and Gopher are both things that could be used similarly to the web in some ways.
02:23:24 <shachaf> Project Scowadu
02:24:24 <Sgeo> I think professional webdev has done funny things to my brain
02:24:42 <MDude> A network of flat bottomed boats sounds reasonable.
02:28:03 <MDude> http://xanadu.com/ This has some kind of working demo.
02:28:33 <MDude> While gopher is an actually running thing that stuff can get published in.
02:29:55 <Sgeo> wat
02:30:15 <Sgeo> <[nick redacted]> gha, figured it out by diving into the libomv code... if the password looks like an md5 hash, it won't hash it before sending it to the server
02:30:15 <Sgeo> <[nick redacted]> guess what i use as a password...... RIGHT, an md5 hash :)
02:32:18 <MDude> So libomv was made to handle both pre-hashed and un-pre-hashed passwords, but whatever it was sending them to wasn't.
02:32:32 <Sgeo> https://github.com/openmetaversefoundation/libopenmetaverse/blob/master/OpenMetaverse/Login.cs#L1079
02:32:57 <Sgeo> MDude: the user of libomv doesn't make the distinction to it
02:33:18 <Sgeo> Also how do I do the thing on github to link to the specific version?
02:33:33 <MDude> I don't know what you mean by that.
02:33:46 <Bike> i think you get to it from the commit blob
02:33:59 <Sgeo> How do I get to the commit blob?
02:34:13 <Bike> right, hit the commit and hit "browse tree"
02:34:29 <Bike> https://github.com/openmetaversefoundation/libopenmetaverse/blob/3b06902a27e80a32742a1b10cecf0380cbc1f979/OpenMetaverse/Login.cs voila
02:34:31 <Sgeo> https://github.com/openmetaversefoundation/libopenmetaverse/blob/3b06902a27e80a32742a1b10cecf0380cbc1f979/OpenMetaverse/Login.cs#L1079
02:34:38 <Sgeo> ty
02:34:46 <Sgeo> Did it a bit differently
02:34:48 <Bike> you know that's the same though, right
02:34:53 <Sgeo> But there's a hotkey and I don't remember it
02:35:35 <Sgeo> Also you didn't link to the line. How are future logreaders supposed to put 2 and 2 together to figure out the line of the commit blob?
02:36:54 <Sgeo> Anyway, besides being a ridiculous thing to do, that should be an || probably. As-is, any 35 character password, and any password that starts with $1$, looks like MD5
02:36:58 <MDude> So is there any reason to check if it's already hashed?
02:38:03 <Sgeo> I hope they're not saying that hashing is supposed to be done client-side
02:38:08 <Sgeo> Is that what they're saying?
02:38:18 <Sgeo> That libomv isn't the only WTFy party here?
02:39:07 <MDude> Hashing at every step, until we have an internet made of hash browns.
02:39:17 <elliott> nothing wrong with doing hashing client-side if your connection to the server is encrypted
02:39:24 -!- shikhout has joined.
02:39:39 <elliott> (afaik)
02:40:13 -!- callforjudgement has quit (Read error: Connection reset by peer).
02:40:16 <MDude> Well sending password without encryption sounds like a bad idea anyway.
02:40:24 <elliott> yes, right.
02:40:25 -!- callforjudgement has joined.
02:40:27 <Sgeo> I thought the point of hashing was in case server database is stolen?
02:40:44 <elliott> yes
02:40:53 <elliott> they'll get... a bunch of hashes
02:40:57 <elliott> in either case
02:40:58 <HackEgo> [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41291&oldid=41290 * 71.184.241.244 * (-45) /* Ackermann Function */
02:41:12 <shachaf> If you do client-side hashing you'll presumably want to do server-side hashing too.
02:41:20 <shachaf> Otherwise someone who steals the hash can use it to log in.
02:41:32 <elliott> Sgeo: to be clear, if someone gets the database they can almost certainly impersonate anyone they want anyway
02:41:34 <Sgeo> Ahh, hmm. Was thinking in terms of people who get the server DB could use it to login ... but at least only to that server
02:42:00 <elliott> true, it's less secure if they manage to get a read-only SQL dump and no other access at all. so I guess if you have a very specific SQL injection attack.
02:42:17 <Sgeo> And not to random other services. Unless they rely on the same client-side hashing...
02:42:27 -!- shikhin has quit (Ping timeout: 244 seconds).
02:42:45 <shachaf> That isn't all that specific a situation.
02:43:12 <elliott> anyway, if you can do complex things on the client side then the right thing to do is probably something like "get an account-specific salt from the server, feed the user's password and the salt into a key derivation function, get a nonce from the server (which knows the public key), and send it back signed with that key"
02:43:29 <elliott> Sgeo: you'd salt in any case
02:43:35 <MDude> Client side hashing does seem to nagate the point of hashing the passwords.
02:46:18 -!- oren has joined.
02:47:58 -!- Bicyclidine has quit (Ping timeout: 252 seconds).
02:50:55 <quintopia> hi
02:53:16 <oren> hi
02:54:43 -!- Dulnes has quit (Quit: Connection closed for inactivity).
02:54:49 -!- Bicyclidine has joined.
03:12:54 <MDude> hi
03:13:41 <oren> hi
03:22:47 -!- Bicyclidine has quit (Ping timeout: 264 seconds).
03:23:17 <oren> what if there was a programming language where the keywords were not real words in /any/ language?
03:24:12 <oren> Oh wait i'm just describing J
03:24:15 <oren> nvm
03:26:12 -!- callforjudgement has quit (Read error: Connection reset by peer).
03:26:17 -!- scarf has joined.
03:26:38 -!- hjulle has quit (Ping timeout: 240 seconds).
03:33:37 <FreeFull> oren: brainfuck
03:33:44 <oren> yah?
03:33:52 <FreeFull> Befunge
03:33:56 <oren> yah?
03:33:58 <FreeFull> Malborge
03:34:18 <oren> *Malbolge
03:34:31 <FreeFull> I'm sure a lot of languages apply =P
03:34:43 <FreeFull> Also APL and K
03:36:57 <oren> hmmm... ok. what bout a language where the keywords are in the latin alphabet,
03:37:18 <oren> but are still not words in any language
03:37:28 -!- CADD has joined.
03:37:33 <oren> or at least are not all words in the same language
03:37:39 <oren> hi cadd
03:52:27 <Taneb> oren, what about Ook!
03:54:17 <oren> thats a real language its the language of monk-- AAAAAUGHH! I mean orangutans!
03:56:44 <shachaf> monk++
04:00:56 <FreeFull> Speak softly and carry a banana.
04:02:07 <FreeFull> oren: http://esolangs.org/wiki/AAAAAAAAAAAAAA!!!!
04:02:24 <FreeFull> Although I suppose "A" qualifies as a valid word
04:03:38 <quintopia> how about a language that uses all the standard keywords that all languages use
04:03:52 <quintopia> but which the meanings of those words are shuffled each time they're used
04:03:58 <Taneb> Isn't that the empty set?
04:04:05 <quintopia> in a predictable way that requires analysis
04:04:16 <quintopia> Taneb: s/all/most/
04:04:17 <Taneb> ANyway I ought to sleep
04:08:50 -!- J_Arcane has joined.
04:14:16 -!- Froox has changed nick to Frooxius.
04:21:43 -!- scarf has quit (Read error: Connection reset by peer).
04:21:52 -!- scarf has joined.
04:22:57 <HackEgo> [wiki] [[Wake]] http://esolangs.org/w/index.php?diff=41292&oldid=23033 * 75.92.173.83 * (+101) Distinguishing from the not esoteric lang Wake.
04:30:03 -!- mitchs_ has joined.
04:31:18 -!- mitchs has quit (Ping timeout: 240 seconds).
04:37:16 -!- adu has joined.
04:44:28 -!- Dulnes has joined.
04:45:32 -!- scarf has quit (Remote host closed the connection).
04:45:36 -!- ais523 has joined.
04:48:48 <Dulnes> Cross Valves
04:49:26 -!- callforjudgement has joined.
04:52:38 -!- ais523 has quit (Ping timeout: 252 seconds).
05:01:18 -!- shikhout has quit (Ping timeout: 240 seconds).
06:35:08 -!- callforjudgement has quit (Read error: Connection reset by peer).
06:35:12 -!- scarf has joined.
06:37:03 <oren> it is amazing how different the current aesthetic is from previous ideas of what a 'futuristic' aesthetic whould llok like
06:41:35 * Dulnes goes insane
06:43:12 -!- tromp has quit (Read error: Connection reset by peer).
06:43:45 -!- tromp has joined.
06:44:31 <oren> hwat? why yougo innsae?
06:48:34 <Dulnes> _|__|_ \o\
06:48:34 <myndzi> |
06:48:34 <myndzi> >\
06:48:43 <Dulnes> H?
06:48:54 <Dulnes> Did i do a funny
06:49:19 <Dulnes> And oren its this fucking tarball its been decompressing for 6 hours
06:49:24 <Dulnes> Im very much done
06:49:32 <oren> holy whit
06:49:38 <oren> how the hell?
06:49:54 <oren> also for me \ is a yen sign
06:49:58 <Dulnes> Its like 70GB and like im having rlly shit spees atm
06:50:05 <Dulnes> It is?
06:50:12 <Dulnes> \
06:50:21 <Dulnes> Thats a weird sign
06:50:28 <oren> yes because all japanese fonts display \ as a yen sign
06:50:43 <Dulnes> Thats nice
06:50:45 <lifthrasiir> and all korean fonts display \ as a won sign
06:50:56 <Dulnes> Then what did myndzi do
06:51:22 <lifthrasiir> he has three prosthetic limbs composed of monies
06:51:25 <oren> So for example I have "Hello, World¥n"
06:51:48 <Dulnes> ¥_¥
06:51:48 <oren> i put a unicode yen sign in to show you
06:52:06 <Dulnes> Sad face is achievable with yen signs
06:52:31 <oren> sad face is ;-;
06:52:34 <Dulnes> Isnt yen based on like idk 60000 yen is 60 US dollars?
06:52:48 <Dulnes> Not if you have eyelashes ¥_¥
06:52:55 <oren> 80 yen is one usd about last i checked
06:53:21 <Dulnes> How does the system work
06:53:39 <lifthrasiir> the history time: it is a remnant of ISO 646-KR and -JP
06:53:51 <oren> no waith i had that reversed
06:53:52 <lifthrasiir> ISO/IEC*
06:54:00 <oren> 100 yen is .83 usd
06:54:05 <Dulnes> Omfg
06:54:27 <Dulnes> Why is US currency so OP
06:54:28 <lifthrasiir> so a backslash can be assigned of other characters in ISO/IEC 646, and that (or a number sign?) was commonly used in place of currency sign
06:54:35 <lifthrasiir> s/number/dollar/
06:54:38 <oren> japanese programmers just learn to write their escapes with yen sign
06:54:52 <Dulnes> Well i made a table flip emoji
06:54:55 <oren> they don't use the stupid trigraphs
06:55:04 <Dulnes> Stupid
06:55:20 <lifthrasiir> and things stuck, we are now using Unicode and still GR renders *like* custom 646 assignments
06:55:25 <lifthrasiir> while in fact they aren't
06:55:36 <Dulnes> I just use ~ or ° for escapes
06:55:57 <lifthrasiir> Dulnes: FYI ~ is an overline in ISO/IEC 646-JP
06:56:04 <lifthrasiir> ah, that was JA
06:56:07 <lifthrasiir> anyway
06:56:18 <Dulnes> Although ° is more usefull because yeah ~ is what lifthrasiir said
06:56:30 <Dulnes> No one uses the °
06:56:33 <oren> it still displays up there in jp fonts, but also wavy
06:56:35 <zzo38> I just use ordinary ASCII
06:56:48 <lifthrasiir> and in most japanese IMEs a slash gives a middle dot instead
06:56:57 <Dulnes> end end end end end
06:57:04 <oren> ・yup
06:57:10 <Dulnes> Seeing people do that
06:57:17 <lifthrasiir> zzo38: a privilege only allowed to *some* westerners :S
06:58:15 <Dulnes> i shorten end to «e» idk i dislike seeing end in there
06:58:30 <Dulnes> My hands are falling asleeo
06:58:35 <Dulnes> Asleep*
06:58:51 <oren> untighten your wristwatch
06:58:58 <Dulnes> Pssht
06:59:21 <Dulnes> Actually thats a great idea? How did you know i had a wrist watch
06:59:27 <Dulnes> ¿¿¿
06:59:42 <oren> i wear one
06:59:47 <Dulnes> Qwerty or poiuy
06:59:59 <oren> qwertyuiopasdfghjklzxcvbnm
07:00:04 <Dulnes> Leaves
07:00:17 <Dulnes> Oh remember uh i forgot the keyboard
07:00:25 <zzo38> lifthrasiir: No, anyone could use ordinary ASCII, although it cannot type all things you might want to type (actually, neither does Unicode, although it does a lot more than ASCII)
07:00:30 <Dulnes> But it was like rounded in on itself
07:00:34 <shachaf> They're called leaves because they leave the trees in the fall. Which is why it's called fall.
07:00:38 <Dulnes> And you could just use one hand
07:00:58 <Dulnes> shachaf: brilliant
07:01:10 <Dulnes> 48% done
07:01:26 <oren> how big is the file????
07:01:34 <Dulnes> 70GB
07:02:01 <Dulnes> And if i wasnt running off of shiternet
07:02:12 <oren> faster to mail you an SD card
07:02:17 <Dulnes> Then it would be done by now
07:02:20 <oren> or two
07:02:26 <Dulnes> 5
07:02:57 <oren> i have three 64G micro sd cards
07:03:14 <oren> they are very handy
07:03:25 <Dulnes> Why my friend sent me an entire library compressed into a tarball through an email
07:03:29 <Dulnes> Is beyond me
07:03:40 <Dulnes> I should punch him later
07:03:42 <lifthrasiir> zzo38: only if everyone understands a Latin transliteration of their native tongues.
07:04:05 <oren> right with mandarin and japanese it is ambiguous anyway
07:04:50 <oren> 神紙髪 are all kami but mean god, paper and hair
07:04:58 <Dulnes> If i joined my bot here i would have to change # to a : or something or it would just act as if you were trying to say #room
07:05:17 <zzo38> lifthrasiir: No, I meant you can still program a computer with ASCII; it doesn't mean you have to use Latin transliteration of your own languages; for those things you can still use your own character set.
07:05:30 <Dulnes> Japanese letters a 2 cool 4 school
07:05:39 <Dulnes> How big is the alphabet btw
07:06:24 <oren> ~70 hiragana ~70 katakana ~2000 chinese character of which I know ~300 of the most use ones
07:06:29 <Dulnes> > 156277271826278183681837272881*5679
07:06:30 <lambdabot> 887498626701433805129153872691199
07:06:35 <Dulnes> Indeed
07:06:37 <lifthrasiir> zzo38: well, I think an inability to reliably input { and } in ISO 646 was painful to some people in the past?
07:06:37 <zzo38> But only hiragana and katakana are alphabets
07:06:57 <oren> they are technically syllabaries
07:07:08 <Dulnes> Why do you need so many
07:07:14 <oren> but yeah kanji encode meaning not sound
07:07:15 <Dulnes> '-'
07:07:32 <oren> they disambiguate things that sound the same
07:07:42 <zzo38> Well, in English we have both uppercase and lowercase; in Japanese it is hiragana and katakana, but isn't used like our uppercase/lowercase.
07:08:08 <zzo38> Kanji really does make it easier/faster to read if you are good at it though; however, to read out loud hiragana/katakana are working better.
07:08:22 <oren> 髪様、ありがとう sounds right but means "thank you, o lord Hair"
07:08:34 <Dulnes> } end { throw, catch error; } } } end } is all i need nowadays
07:08:39 <oren> which is not what you meant
07:08:52 <Dulnes> O lord hair
07:09:12 <Dulnes> Lordy lordy
07:09:22 <oren> pronounced kamisama as is 神様 which is "lord God"
07:09:44 * Dulnes claps hands
07:09:50 <Dulnes> Japanese lessons
07:10:01 <zzo38> Kanji makes the meaning more clearly; hiragana/katakana makes the pronunciation more clearly.
07:10:43 <oren> another example is 書く write vs 描く draw
07:10:50 <oren> thy are both kaku
07:11:19 <oren> write dog vs draw dog
07:11:32 <oren> on test this is important
07:11:49 <Dulnes> U guys havin fun
07:12:17 <zzo38> Sometimes though, it is used kanji with hiragana written on top in small writing (called furigana)
07:12:28 <Dulnes> UI malfunctions are great
07:12:38 <oren> in what app?
07:12:49 <Dulnes> Netflix
07:12:55 <oren> hopeflly not the one you are using to untar?
07:13:03 <Dulnes> No that
07:13:08 <Dulnes> Would kill me
07:13:35 <Dulnes> I should just send him the biggest file ever
07:13:37 <oren> netflix is a nice program but i prefer to buy physical media and rip it
07:13:40 <Dulnes> As a joke
07:14:10 <Dulnes> Whats the max file size you can send through gmail?
07:14:18 <zzo38> I prefer to buy physical media and put it in the television
07:15:07 <oren> i don't own a tv anymore (other than the b/w one in the basement)
07:15:22 <Dulnes> Then what do you use?
07:15:31 <Dulnes> A computron
07:15:34 <oren> computer. for everything
07:15:48 <HackEgo> [wiki] [[Return Oriented Programming]] N http://esolangs.org/w/index.php?oldid=41293 * Cluid Zhasulelm * (+1878) page creation
07:15:55 <oren> including as a phone
07:16:13 <oren> and as a radio
07:16:14 <Dulnes> Omg remember that 3d kinda like oculus rift device that you needed to use a stand for
07:16:40 <Dulnes> Cuz it was like 60 LBs amd would snap your neck with out the stand
07:16:42 <oren> the Virtual Boy?
07:17:06 <oren> there was an AVGN episode about it, it had only like 10 games
07:17:30 <Dulnes> Thats cuz it murdered every one who got it
07:17:44 <Dulnes> Also it had an atrocious red.filter on every game
07:18:01 <Dulnes> Those were the days
07:18:05 <oren> that isn't a filter it used nothing but red leds for the screen
07:18:13 <oren> like whyyyyy
07:18:24 <Dulnes> Really?
07:18:29 <oren> apparently
07:18:36 <Dulnes> I just kinda went blind
07:18:43 <Dulnes> All i see is red oren
07:19:10 <oren> better than uv leds
07:19:15 <Dulnes> Pls no
07:19:36 <oren> i have a whole bunch that i use for glowing keyboard
07:19:46 <oren> with fluorescent paint
07:19:52 <Dulnes> oh i have a glowing key board
07:19:57 <Dulnes> Pretty cool
07:20:27 <Dulnes> I had it colour coded
07:20:32 <oren> i had to make my own, so i painted all the keys and put a uv led on a "arm" above it
07:21:04 <Dulnes> lol
07:21:10 <oren> they all glow the same color, green
07:21:16 <Dulnes> Amaze
07:21:42 <oren> i dunno where i put that keyboard tho, its in my basement
07:21:48 <Dulnes> I love incomprehensibly bright colours
07:22:00 <Dulnes> Like neon Violet
07:22:02 <HackEgo> [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41294&oldid=41227 * Cluid Zhasulelm * (+45)
07:22:12 <Dulnes> With a neon hot pink bg
07:22:24 <Dulnes> Much eye burning
07:22:34 <oren> such doge.jpg
07:22:39 <Dulnes> Mixing lime and.lemon neon is awful
07:23:12 <Dulnes> 67%
07:23:25 -!- cluid has joined.
07:23:26 <cluid> hi
07:23:27 -!- MDude has changed nick to MDream.
07:23:32 <MDream> Hi
07:23:46 <Dulnes> Its getting faster its gotten into the usage/cmds core
07:23:52 <Dulnes> Which is pretty small
07:24:16 <Dulnes> Hi gurls
07:24:53 <MDream> I'm going to bed, but the chat as a whole will likely keep going.
07:25:11 <Dulnes> Night
07:25:21 <Dulnes> I should be heading to bed soon
07:26:01 <cluid> There's no page about langtons ant on the wiki!
07:26:07 <cluid> http://en.wikipedia.org/wiki/Langton%27s_ant
07:26:25 <Dulnes> Goodnesz
07:27:36 <cluid> In 2000, Gajardo et al. showed a construction that calculates any boolean circuit using the trajectory of a single instance of Langton's ant.[2] Thus, it would be possible to simulate a Turing machine using the ant's trajectory for computation
07:27:57 <cluid> I don't get that, isn't a boolean circuit just a function from Bool^n -> Bool^m? how does that imply TC
07:28:42 <cluid> "...implies, through the simulation of one-dimensional cellular automata and Turing machines, the universality of the ant"
07:28:53 <cluid> the paper says this, I guess they get TCness buy simulating 1D CA? That seems a bit sketchy...
07:30:19 <cluid> "Since a Turingmachine can be simulated by a linear CA with quiescent state, the ant is also universal"
07:33:36 <Dulnes> Oren how much were those 64gb micro sd's
07:34:59 <Dulnes> OH cluid ive seen that ant before
07:35:06 <Dulnes> Also wtf does it do
07:35:10 <cluid> its pretty cool I think
07:35:20 <cluid> but the results seema bit stretched
07:35:54 <Dulnes> It seems everytime the ant crosses over a shaded part it deletes it and moves in the opposite direction?
07:35:57 <oren> like 50 cad each
07:36:23 <Dulnes> Convert
07:36:33 <Dulnes> Also
07:36:43 <Dulnes> Nutella is gud on toast
07:37:24 <Dulnes> 99.8%
07:37:30 <Dulnes> Almoooost
07:38:11 <Dulnes> Fffffffffffffffffffffffuck no thats not nice
07:38:23 <Dulnes> Gah im done with this internet
07:38:27 -!- Patashu has joined.
07:38:30 <oren> itis! 44 USD or 35 euros
07:38:43 <Dulnes> 44 thats good nuf
07:39:23 -!- Patashu has quit (Client Quit).
07:39:30 <Dulnes> Also "}" unexpected File encountered terminating Decompression "}"
07:39:40 <Dulnes> Im going to shoot my computer
07:40:13 -!- Patashu has joined.
07:40:46 <oren> get your friend to send you physical media instead
07:40:49 <Dulnes> Im to tired for this crap
07:41:22 <Dulnes> Well i do see him this weekend so i guess
07:41:29 <Dulnes> Gnight anyways
07:41:31 <HackEgo> [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41295&oldid=41294 * Cluid Zhasulelm * (+13) added subleq
07:41:32 <oren> send him an email "hey dude your file isn't working, drive to my house"
07:42:09 <oren> good night
07:42:12 <Dulnes> I think it was like a bash file that got in thers
07:42:21 * Dulnes poofs
07:46:07 <zzo38> What is the algorithm to transpose a 8x8 matrix of bits with eight bits on each element of the array?
07:47:11 <oren> hmmm
07:48:52 <oren> you can swap two integers with three ^= operators so an optimized algorithm might involve that
07:49:40 <cluid> you have a matrix represented as 8 bytes?
07:51:12 <zzo38> Yes.
07:51:30 <cluid> I guess the most basic way would be b1 = (a1&1) | (a2&1<<1) | (a3&1<<2) | ...
07:51:36 <cluid> operations like that foreach row
07:52:52 <int-e> http://sprunge.us/OJOi would be a start
07:53:00 <Bike> cluid: if it can do any circuit it can be Bool^n -> Bool^m for any n,m.
07:53:08 <Bike> which covers pretty well everything.
07:53:12 <cluid> woah cool
07:54:08 <int-e> But in fact it's possible to improve things a bit by using xor.
07:54:38 <int-e> (the code is old, and I've read Knuth's volume 4a in the meantime)
07:55:28 <cluid> Bike, but those are finite
07:55:33 <cluid> that doesn't imply you can turing machine
07:56:07 <zzo38> Note I have the high bit of the first byte in the upper-left corner of the matrix so that one shouldn't be moved
07:56:58 <Bike> cluid: any particular turing machine represents a computable function Int -> Int, where the second Int can be Bottom i.e. non-halting i.e. indeterminate.
07:57:12 <cluid> but Int here is unboundedly large
07:57:45 <shachaf> Bike: you can just say "partial function" hth
07:57:57 <Bike> i could.
07:58:35 -!- adu has quit (Quit: adu).
08:00:30 <oren> i have an idea: lookup table of 0b01010101 -> 0x0080008000800080
08:00:59 <cluid> I think that's what int-e did
08:01:11 <oren> then you and them together as int64_t's
08:01:51 <oren> where and is a verb
08:02:50 <zzo38> It is an array and not a 64-bit integer; I suppose I could convert it although I don't know if there is a better way that can avoid it?
08:03:07 <cluid> do you want to do the transformation in place?
08:03:17 <oren> you simply do (int64_t*)c
08:03:17 <shachaf> if i could reärrange the alphabet, i'd definitely put you and them together
08:03:41 <oren> unportable but works
08:03:44 <zzo38> cluid: It doesn't matter I only need to output one byte at a time to stdout
08:07:20 <zzo38> And if it is unportable I don't want to do like that
08:07:20 <cluid> aright, why not do it the easy way?
08:07:20 <cluid> just mask off each bit one by one and shift it to the right place
08:07:20 <oren> or you can use the same lookup table but as char[8][256]
08:07:20 <Bike> ok, well, wikipedia says the boolean circuit = formal language equivalence is done with a /family/ of circuits, one for each input length. so for all n rather than for any n.
08:07:20 <zzo38> oren: OK maybe that is better
08:08:39 <cluid> i find that hard to believe
08:08:39 -!- shachaf has quit (Ping timeout: 245 seconds).
08:10:56 -!- shachaf has joined.
08:11:16 <int-e> there, my 2014 version. http://sprunge.us/fOKE
08:11:46 <cluid> yikes, so few operations! That's really cool
08:13:48 <Bike> now do conway life.
08:19:38 -!- oerjan has joined.
08:19:39 <oren> scrip7 to generate table:
08:19:42 <oren> MM256N>1M=0$(#M+0x80I=MI+0x7f7f7f7f7f7f7f7fI&0x8080808080808080M>1M=II~0)#
08:19:59 <cluid> oren???
08:20:14 <oren> that is code
08:20:19 <cluid> looks bad
08:20:30 <oren> to generate the table of int64s
08:23:19 <oren> hmm not working...
08:23:42 <cluid> what atble is it to generate?
08:23:45 <cluid> why not write the table out in full
08:23:53 <oren> because i am lazy
08:24:12 <oren> the program can be made to write out the table into a new program
08:24:25 <cluid> yes but that seems like a bad idea
08:24:31 -!- scarf has quit (Remote host closed the connection).
08:24:33 <oren> why?
08:24:41 -!- scarf has joined.
08:24:45 <cluid> since you have long repeating number in there
08:25:01 <cluid> 7f7f7f7f7f7f7f7f and 8080808080808080 makes me question the usefulness of scrip7
08:25:10 <oren> it is a 64bit integer
08:25:23 <oren> literal
08:25:35 <int-e> . o O ( git commit -a -m 'teachings of the master (TAoCP, Vol.4a)' )
08:25:38 <oren> 0x80808080808080
08:25:51 <cluid> why not generate it
08:26:32 <cluid> scarf, if you are not busy and would like to talk about it can I ask you a bit about rule 110 in #esoteric-chat
08:27:44 <scarf> why not here?
08:27:58 <cluid> you might not want to say it publically/logged etc?
08:28:26 <scarf> well, it depends on whether there's private information involved
08:28:31 <scarf> and if there is, we'd better use PM
08:28:33 -!- scarf has changed nick to ais523.
08:28:50 <cluid> ok its not private just wondered your opinion of it
08:29:04 <ais523> I like the rule 110 proof
08:29:45 <ais523> did you want more of an opinion than that?
08:30:07 <cluid> yeah I was wondering, do you think that rule 110 is turing complete?
08:31:18 <ais523> it's been proven turing complete
08:31:23 <ais523> by matthew cook
08:32:21 <cluid> oh im sorry, I though you were matthew cook
08:32:23 <cluid> that's why I asked you
08:32:27 <ais523> ah, no
08:32:29 <ais523> I'm Alex Smith
08:32:43 <ais523> I don't think Matthew Cook comes here
08:33:06 <oren> ok the problem was caused by bug in my scrip7 implementation
08:33:29 <cluid> I wonder what cook thinks about the proof
08:37:00 <cluid> http://esoteric.codes/ i found an interview
08:38:25 <oerjan> afaik cook and wolfram used the word "universal" rather than turing-complete?
08:38:45 <cluid> I just noticed Langtons Ant is said to be TC by reduction to CA
08:38:53 <cluid> and I find this kind of hard to believe
08:38:58 <oerjan> and perhaps _neither_ term has a completely consensus definition.
08:40:12 <oerjan> the problem with CAs is that they have no intrinsic notion of when computation halts.
08:40:36 <oerjan> and _might_ have infinite data even once you've decided that.
08:41:49 <oerjan> both of which make details of what it means to be TC ambiguous
08:42:04 <cluid> I don't really see halting a problem?
08:42:05 -!- ais523 has quit (Read error: Connection reset by peer).
08:42:13 <cluid> you could encode it in any number of ways
08:42:14 -!- ais523 has joined.
08:42:29 <cluid> e.g. the string starting from cell 23 becomes 1011101 or whatever
08:42:59 <oerjan> yeah. but you have to choose that encoding _before_ you can ask whether the whole system is TC, i think.
08:43:20 <cluid> the infinite setup aspect seems a serious problem to me, especially wrt. langtons ant
08:43:37 <oerjan> which is unlike what happens with systems with finite, intrinsically well-defined start and end points.
08:43:52 <cluid> I see what you mean
08:46:09 <cluid> I wonder if some 1D CAs are 'CA-complete' like NP-complete problems can be encoded in each other
08:46:21 <oerjan> and the additional problem is that for finite systems, you typically allow _any_ terminating computation for encoding/decoding, but if you do that for infinite systems like CAs you can get _obviously_ trivial system to be defined as TC.
08:46:49 <oerjan> e.g. imagine a CA where a cell is 1 if it, or any neighbor, was 1 in the previous step.
08:47:24 <shachaf> How were functions declared in K&R C?
08:47:41 <oerjan> and that make your decoding be "halts when this turing machine M halts in less steps than the number of live cells the CA has reached"
08:48:06 <oerjan> (that's a terminating check, for each generation, if you start with a single live cell in the first, say)
08:48:13 <oren> int foo(x,y,z) int x; char *y; float y; { ... }
08:48:23 <shachaf> That's not a declaration.
08:48:41 <oerjan> so then _everything_ about the TC-ness except the infiniteness is in the final termination check and decoding.
08:48:47 <oren> they were declared like int foo(x,y,z);
08:48:49 <shachaf> It looks like maybe the answer is "functions weren't declared, and argument types weren't checked".
08:48:52 <cluid> interesting oerjan
08:48:53 <oren> no type checking
08:49:07 <shachaf> Do you have a reference for that?
08:49:23 <oren> I have K&R as pdf
08:50:16 <oerjan> and of course no one seriously would consider that CA to be TC, so if we are going to talk about TC (or "universal" CAs) we need to agree on some limit for how complicated the setup/termination check/decoding can be.
08:50:31 <oren> hmmm looks like there weren't declarations at all
08:50:43 <oren> no wait
08:51:23 <oerjan> and that was iiuc the essential problem in the old internet discussion about ais523's 2,3 result, but it somewhat applies to the rule 110 one as well.
08:52:00 <cluid> anything computable should be ok
08:52:03 <oerjan> (the rule 110 setup is complicated, but periodical. the 2,3 setup is not periodical.)
08:52:05 <oren> aha!
08:52:15 <oren> you do it like this int foo()
08:52:24 <oerjan> cluid: no, that's precisely what you cannot do if you want to exclude that trivial CA.
08:52:32 <oren> and the function acts like a variadic
08:52:38 <cluid> chaining some computable/total function with X and getting a TC function implies X is TC
08:52:49 <oren> (in terms of argumant conversions)
08:53:01 <elliott> cluid: do you believe that the CA oerjan described is TC, then?
08:53:08 <oren> all ints smaller than int are converted to int
08:53:10 <elliott> ("imagine a CA where a cell is 1 if it, or any neighbor, was 1 in the previous step")
08:53:23 <oren> all floats are converted to double
08:53:39 <elliott> two sub-TC systems combined can be TC
08:53:40 <cluid> really?
08:53:57 <elliott> sure, see oerjan's proof :p
08:54:11 <elliott> that trivial CA + terminating decoding function gives TCness
08:54:18 <int-e> "combined" is not exactly a mathematical term
08:54:31 <elliott> yeah.
08:54:41 <oren> shachaf: http://cm.bell-labs.com/cm/cs/who/dmr/chist.html
08:57:24 <oren> if you scroll down 2/3 of the page it has an example of how things were declared pre C90
08:57:27 -!- ais523 has quit (Read error: Connection reset by peer).
08:57:44 -!- ais523 has joined.
08:57:56 -!- dts has quit (Read error: Connection reset by peer).
08:57:56 <cluid> I do not think that a program that runs for infinite time computing every step of a turing machine is sub turing
08:58:26 <cluid> I have said that infinite setup is a problem
08:58:45 <oerjan> cluid: the _setup_ isn't infinite here. you just start with a single live cell.
08:58:59 <oerjan> and at _each_ generation, neither is the check/decoding.
08:59:16 -!- dts has joined.
08:59:25 <cluid> ok
08:59:54 <oerjan> this isn't a clearcut thing, but a slippery slope one.
09:00:04 <dts> what isnt?
09:00:08 <cluid> yeah I agree this gets messy
09:00:39 <cluid> Has anyone sseen the langtons ant TC claim?
09:01:00 <cluid> I am worried that they overloook the infinite steup and just go "well we can encode CAs so we're TC"
09:01:41 <cluid> (it would have to also include the two sided infinite setup to match with cooks proof, right?)
09:02:15 <oerjan> there _are_ CAs that seem less dubious than rule 110 though.
09:02:46 -!- AndoDaan has joined.
09:02:52 <oerjan> those in which all but finite cells start 0, and the halting could even do a cleanup.
09:03:13 -!- ais523 has quit.
09:03:20 <oerjan> (any turing machine can be turned into a CA in a simple way, by encoding cells and tape head pretty directly.)
09:04:24 <oerjan> btw ais523's made his 2,3 construction have a _very_ simple _termination_ check, just whether the TM ever goes left of the starting point.
09:04:30 <oerjan> iirc
09:04:39 <cluid> what is the 2,3 construction?
09:04:41 <oerjan> *-'s
09:05:04 <oerjan> sheesh, he keeps losing connection.
09:05:18 <oerjan> confession: i've never read the whole of it.
09:06:16 <oerjan> but it's for a 2,3 turing machine, and it requires a setup that is infinite, and non-periodical, but still limited in complexity (quadratic i think)
09:06:34 <cluid> http://en.wikipedia.org/wiki/Wolfram%27s_2-state_3-symbol_Turing_machine oh this guy!
09:06:42 <oerjan> (2,3) refers to number of colors and number of internal states.
09:06:44 <oerjan> yep
09:06:54 <cluid> On 24 October 2007, it was announced by Wolfram Research (without the approval of the judging committee [4]) that Alex Smith, a student in electronics and computing at the University of Birmingham (UK), proved that the (2,3) Turing machine is universal
09:08:30 <AndoDaan> wow, didn't know that.
09:08:44 <int-e> Hmm, as far as I can see, the Langton's ant universality construction also relies on filling space with some regular pattern. I don't like.
09:10:05 <int-e> (they show that one can evaluate boolean circuits using an ant, then use that to simulate the evolution of some 1D cellular automaton, and conclude universality. "They" being Gajardo et al.)
09:10:45 <AndoDaan> isn't that enough?
09:11:15 <AndoDaan> depending on the 1d automaton they chose of course.
09:11:48 <oerjan> yeah but if that's what it sounds like to me, they'll have infinite setup issues even if the chosen automaton doesn't.
09:11:55 <int-e> I don't like those proof that require a starting state of infinite size. I don't like the rule 110 proof either.
09:14:04 <quintopia> oerjan: do you recall the TM encoding the 2,3 UTM used?
09:14:11 <oerjan> at least you can grow ether, so it _might_ not be entirely impossible to remove the infinite setup. apparently there's at least one rule 110 glider gun https://www.youtube.com/watch?v=EEcIx2ujtQQ
09:14:24 <oerjan> quintopia: no.
09:15:31 <quintopia> oerjan: in your opinion what is the simplest universal system of any form?
09:15:36 <oerjan> if you could find the right glider guns, some of which need to themselves be leftward moving, you _might_ be able to make it all work in a zeros environment.
09:15:49 <int-e> They do present a cute criterion for decision problems, namely they ask "does the ant ever pass through the point (x,y)?"
09:16:10 <oerjan> quintopia: huh. i like SK combinators, also the :()^ underload subset i found.
09:16:43 <oerjan> it's really hard to compare "simple" down at that level.
09:16:51 <AndoDaan> my vote is for tag systems.
09:17:02 <quintopia> which is why i asked for an opinion not a definite answer :)
09:17:32 <oerjan> AndoDaan: but _which_ tag system, they're a class...
09:17:45 <cluid> tag systems are very odd, I dont understan them well
09:17:59 <int-e> (Of course one source of trouble is that Langton's ant is aperiodic, which rules out a number of simple encoding ideas.)
09:18:11 <AndoDaan> me either, but i like 'em. oerjan: the bit cycle one.
09:18:22 <quintopia> i wonder whether human brains are extendable to universality
09:18:51 <cluid> I don't think the mathematical concepts like universailty make much sense when applies to real life objects
09:19:03 <quintopia> sure they do
09:19:10 <cluid> oh
09:19:22 <int-e> and of course there's the unsolved problem whether from a finite configuration, the ant will always escape to infinity on a diagonal highway, and even whether there is more than one kind of highway.
09:19:59 <AndoDaan> i tried to crack that one years ago int-e, didn't go well.
09:20:04 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41296&oldid=41255 * Orenwatson * (+358) added matrix transposer (and updated interpreter code fixing bug)
09:20:19 <quintopia> for instance, i'm perfectly willing to bestow the computer i'm writing this on the property of universality, as i know that the limitations that prevent it are straightforward, theoretically speaking, to overcome
09:20:19 <int-e> (at least I think those are both unsolved.)
09:20:52 <cluid> I disagree with you quintopia but that's ok
09:21:01 <AndoDaan> int-e, yeah, i looked into it a little back when /r/dailyprogramming had a challenge for it.
09:21:26 <quintopia> cluid: agreeing to disagree is a poor sort of argument. no one learns that way.
09:22:03 <elliott> you avoid having to argue with the kind of people who say obnoxious things like that though
09:22:34 <quintopia> true. but i'd rather they became less obnoxious, so i have to try at least a tiny bit
09:22:45 <elliott> I think you're misunderstanding who the obnoxious one is here :p
09:22:54 <cluid> I prefer to keep clear separation between mathematical abstractions and the physical systems they model
09:23:16 <oren> universality only appies to formal logical systems. A real computer makes errors due to bugs and hardware problems
09:23:49 <oren> specifically the finite size of the hardware
09:24:18 <quintopia> elliott: so you don't think my computer, if bestowed with the capacity to continuously add more memory, access to an infinite matter source, and an interface to make use of that memory would be universal?
09:24:29 <AndoDaan> and don't forget the heat death of the universe. Some things are computable, but not for real objects.
09:24:40 <oren> it has a finite address space
09:24:45 <oren> 64 bit
09:24:50 <quintopia> overcomable
09:25:00 <cluid> this is not a good discussion ^^
09:25:08 <int-e> oren: add a network device ... oh, already done!
09:25:32 <elliott> quintopia: I think I have the ability to opt out of this argument that you'd rather deny me :p
09:25:34 <oren> finite amount of matter in the universe
09:25:46 <oren> finite speed of light
09:26:15 <quintopia> elliott: ok. but then you're being obnoxious too.
09:26:22 -!- ChanServ has set channel mode: +o elliott.
09:26:25 -!- elliott has kicked quintopia you're annoying me.
09:26:27 -!- elliott has set channel mode: -o elliott.
09:26:35 -!- quintopia has joined.
09:26:38 <int-e> finite speed of light just means you get to wait longer ;-)
09:26:44 <cluid> well let's just agree to disagree and move on :)
09:26:51 <cluid> hopefully we can get along that way
09:27:02 <cluid> sorry about bringin upa controversial topic
09:27:21 <oren> argumentclinic.mp4
09:27:30 <quintopia> nah. it's okay. you're not as obnoxious as someone who calls someone obnoxious but doesn't say why
09:27:31 <int-e> Actually I usually find time to be the limiting factor before I start running out of address space these days.
09:27:57 <oren> lucky you
09:28:16 <int-e> Note, I'm not saying "running out of memory". That still happens a lot.
09:28:17 * oren with 2GB RAM
09:28:43 * oren with only a 200GB hdd
09:29:35 <cluid> I have an idea for a language
09:29:40 <cluid> would like comments on it if anyone will input:
09:29:41 <cluid> ?
09:29:45 <oren> sure
09:30:00 <cluid> so there are two parts to a program in this
09:30:08 <cluid> first you define some CFG rules, e.g.
09:30:21 <cluid> S --> 00 | 01 | 1 S S
09:30:28 <cluid> and then you define rewrite/transformation rules like
09:30:45 <cluid> 1 00 x:S y:S = x
09:30:57 <cluid> 1 01 x:S y:S z:S = 1 1 x z 1 y z
09:31:07 <cluid> and you run it on an input string, it performs the rewrites
09:31:19 <cluid> this program implemented binary combinator logicc
09:31:27 <cluid> http://en.wikipedia.org/wiki/Binary_combinatory_logic
09:32:06 <oren> is the alphabet limited to 0 and 2
09:32:10 <oren> *1
09:32:20 <cluid> no you can use any strings
09:33:33 <oren> sounds good. you'll need a way to distinguish variables from values in the rules
09:33:47 <oren> and the transformations
09:33:55 <cluid> oh yeah, that's true
09:36:26 <oren> but once that is done you'll have a way to define arbitrary functional turing tarpits and push-dwon automata
09:36:31 <cluid> I suppose this isn't an esolang
09:36:43 <oren> it is a meta-esolang
09:36:43 <cluid> yeah
09:36:46 <cluid> haha
09:36:49 <cluid> its quite neat
09:37:03 <cluid> i can't claim to invent it, it is used informally in lots of places
09:37:22 <oren> you can claim to have standardized it
09:38:27 <oren> and formalized it
09:39:37 <oren> maybe you can simply have an alphabet spec at the top
09:40:08 <oren> and then chars not in alphabet are vars
09:40:43 <cluid> S --> '00' | '01' | '1' S S coud work
09:41:00 <oren> that works too
09:41:04 <cluid> then you have to escape: \\ and \'
09:41:21 <oren> not if you use ''
09:42:01 <oren> for '
09:42:27 <oren> but \ allows \n or whatever
09:42:40 <cluid> the grammars can be ambiguous
09:42:50 <cluid> so some interpreters might run the programs differently
09:42:53 <cluid> that's ok
09:43:07 <oren> define a standard way to biguate them
09:43:15 <cluid> id rather leave it unspecified
09:43:23 <cluid> so any order is fine, e.g. one implementation might choose randomly
09:43:34 * oerjan blinks at "biguate"
09:44:04 <oren> biguate : to make something not ambiguous
09:45:13 <shachaf> and yet you use unidecode instead of icode
09:45:13 <oerjan> thing is, am- is not a negative prefix here hth
09:45:26 <oerjan> http://en.wiktionary.org/wiki/ambo#Latin
09:45:41 <shachaf> oh, wait, one of the nicks starting with an o here wasn't oerjan
09:46:01 <oerjan> shocking
09:46:14 <oerjan> shachaf: shall i biguate by kicking oren twh
09:46:24 -!- _AndoDaan has joined.
09:46:30 <shachaf> olsner is still here
09:46:34 <oerjan> oh
09:46:36 <shachaf> so you'd need to tribiguate hth
09:46:39 -!- oren has changed nick to Oren.
09:46:40 <shachaf> er
09:46:41 <shachaf> triguate
09:46:42 <oerjan> well you're used to him
09:46:46 <shachaf> sigh, i messed that one up
09:46:51 <Oren> here i'm capitalizes
09:47:06 <oerjan> Oren: i don't think that helps with tab completion
09:47:11 <Oren> see now it is biguated
09:47:16 <shachaf> it was a reading thing, not a tab completion thing hth
09:47:29 <shachaf> normally i'd notice because of the length difference, but you use /me
09:47:52 <Oren> my O is biguated and thus my name is biguated
09:47:56 * int-e fails to see how that hurts.
09:48:09 <cluid> Any ideas for a name for this language
09:48:14 <cluid> also is it worth implementing?
09:48:27 <cluid> I guesss it migth be better to try to implement things with it first
09:48:54 <Oren> cluidanian standard prefix specification language
09:48:56 <quintopia> call it Not Actually A Language (bonus points if you use that phrase to replace the word language anywhere you talk about it)
09:49:18 <Oren> lol yes do that
09:49:34 <cluid> haha
09:50:16 <int-e> Not Actually A NAAL?
09:50:35 <int-e> err, I guess that should be Not Actually A NAAN?
09:51:06 <int-e> Which elegantly avoids an unfortunate connotation.
09:51:23 <Oren> meh recursive acronyms are cliche
09:51:38 <Oren> is cliche pronounced cleetch?
09:51:43 <shachaf> "At 12,978,189 digits long, it would take the best part of two and a half months to write out by hand."
09:51:50 <shachaf> what is the best part of two and a half months?
09:52:04 <Oren> the sex
09:52:15 <_AndoDaan> 44 days
09:52:40 <Oren> actully no, the sleep
09:53:16 <Oren> i think they meant what _andodaan said
09:54:15 <_AndoDaan> I'm wrong though.
09:54:23 <Oren> why>
09:54:25 <Oren> ?
09:54:36 -!- Phantom_Hoover has joined.
09:55:36 <Oren> hi
09:56:12 <_AndoDaan> Because I read 1 and half month instead of 2 and a half
09:56:58 <Oren> oh yeah. whould be 72 days about
09:57:29 <cluid> What languages should I try implementing in this CFG based language?
09:58:28 <int-e> hmm. are they calculating with 2 digits per second, and no sleep at all?
09:58:38 <int-e> > 12978189/86400/2
09:58:40 <lambdabot> 75.10526041666667
09:59:30 <_AndoDaan> BrainFuck. Always BrainFuck.
10:00:12 <Oren> that isn't implable in this langugae
10:00:46 <Oren> new word: implable : easier way to say implementable
10:01:08 <cluid> ?
10:01:16 <shachaf> oerjan: how do you feel about "habited" twh
10:01:18 <cluid> _AndoDaan, oh i can't do brainfuck
10:01:25 <oerjan> <Oren> is cliche pronounced cleetch? <-- no hth
10:01:32 <cluid> I think
10:01:46 <quintopia> it isn't even spelled cliche
10:01:51 <Oren> oerjan: i guess it must be french then
10:02:02 <oerjan> (hint: it's also spelled cliché)
10:02:03 <cluid> although maybe it could be done by takingt he program code and tacking on an array like ++.[>-<++]+|0010101010`110
10:02:06 <Oren> cleeshay
10:02:08 <cluid> where the ` marks the cell we're on
10:02:49 <int-e> cluid: you need to mark the program position, too, I think
10:02:52 <Oren> and a symbol for the ip
10:03:20 <Oren> it could work
10:03:36 <oerjan> shachaf: at least that isn't splitting a morpheme.
10:03:58 <shachaf> mighty morpheme power rangers
10:04:44 -!- Dulnes has quit (Quit: Connection closed for inactivity).
10:04:57 <cluid> actually this seems to work
10:06:04 <Oren> might morphin power rangers = kyoryuu sentai zyurenjaa
10:11:03 -!- Lymia has quit (Read error: Connection reset by peer).
10:13:30 <Oren> juurenjaa, juurenjaa, densetsu no senshitachi yo juurenjaa juurenjaa toki wo kakeru kibou, kyouryuu sentai juurenjaa!!
10:13:41 <Oren> that is the theme song
10:14:33 <elliott> thank you
10:14:34 <Oren> the name means Dinosaur Squad Beast Rangers
10:14:34 -!- Lymia has joined.
10:15:23 <elliott> thank you
10:15:28 <Oren> i know a lot of completely useless trivia huh
10:16:14 <Oren> i should spend more time studying my actual courses
10:26:16 <HackEgo> [wiki] [[Return Oriented Programming]] M http://esolangs.org/w/index.php?diff=41297&oldid=41293 * Cluid Zhasulelm * (+84) clarified about W^X and corrected link
10:31:40 -!- nooga has joined.
10:32:21 -!- epicmonkey has joined.
10:32:41 -!- epicmonkey has quit (Client Quit).
10:42:06 -!- Jafet has quit (Quit: Quit).
10:44:19 <cluid> http://esolangs.org/wiki/Hello_world_program_in_esoteric_languages
10:47:44 <oerjan> hm?
10:47:55 <cluid> this is an excellent page
10:48:22 -!- nortti has quit (Remote host closed the connection).
10:48:28 <oerjan> check out the quine, deadfish and truth-machine pages too
10:48:40 <oerjan> (i may be forgetting some)
10:49:50 <HackEgo> [wiki] [[Return Oriented Programming]] http://esolangs.org/w/index.php?diff=41298&oldid=41297 * 213.162.68.150 * (+52) /* References */ (style)
11:07:54 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
11:09:04 -!- nooga has quit (Ping timeout: 255 seconds).
11:12:10 <oerjan> <ais523> most people don't follow ads at all <-- i think i followed an ad not by accident once. of course i didn't actually _buy_ anything.
11:12:36 <oerjan> oh i guess i sometimes follow webcomic ads, but i'm not sure that counts.
11:12:41 -!- boily has joined.
11:22:43 <cluid> http://esolangs.org/wiki/Burn weird
11:27:41 <fizzie> oerjan: do you buy anything after following them?
11:28:15 <oerjan> ...no.
11:28:28 <fizzie> and it probably doesn't count either
11:29:23 <cluid> http://xn13.com/ what does this program do
11:29:53 <cluid> oh
11:29:59 <cluid> i see what it does
11:32:48 <cluid> underload is cool
11:33:18 <HackEgo> [wiki] [[Talk:Burn]] http://esolangs.org/w/index.php?diff=41299&oldid=39776 * Oerjan * (+176) Doubt it
11:33:40 * oerjan thinks someone is wiki binging
11:34:30 <cluid> :()^ is turing complete?
11:34:37 <oerjan> yep
11:34:41 * oerjan proved that
11:35:01 <cluid> that is very surprising
11:35:25 <cluid> I was wondering what minimal 'stack' ops are TC
11:35:29 <oerjan> i was surprised too. you can see the progression of refinements, at almost every step my initial hunch was "this cannot be TC"
11:35:36 <cluid> haha
11:35:46 -!- nortti has joined.
11:39:43 <cluid> it reminds me of one combinator basis
11:39:51 <cluid> do you think it corresponds to any one combinator basis?
11:40:02 <cluid> i see you can encode SK into underload by a simple translation
11:41:27 <oerjan> well it seems you can only get combinators that act on a stack representation
11:41:41 <oerjan> in particular you don't have application, only composition i think
11:42:14 <oerjan> hm
11:42:58 <oerjan> you don't have any :()^ program corresponding to Kf because that would be replacing the whole stack with a known one
11:43:15 <oerjan> and you cannot do that in underload at all
11:43:48 <oerjan> so whatever it corresponds to as combinators, it's not a basis for _all_ combinators
11:44:32 <oerjan> this is thinking of underload programs as functions from stacks to stacks
11:44:33 <cluid> so I wonder if B (composition) and M (self application) are turing complete?
11:44:45 <cluid> and if that correponds to this underload subset at all
11:45:16 <oerjan> huh
11:47:42 <oerjan> i've been looking a bit at unlambda subsets recently, and self application came up (as `d`cc) but there's no primitive b function
11:48:11 <oerjan> (also the subset i looked at, avoiding s and k, wasn't TC alas)
11:48:48 <oerjan> MM becomes itself, of course...
11:48:57 <oerjan> (non-halting, essentially)
11:49:05 <oerjan> i assume you mean M x = x x
11:49:15 <oerjan> and B f g x = f (g x)
11:50:13 <cluid> maybe M isnt dup
11:50:20 <oerjan> cluid: note that the :()^ subset has the property that you can never create _new_ elements, only unpack and duplicate old ones
11:52:11 <oerjan> incidentally as part of that unlambda investigation, i found that `d`cc representation as an alternative to ``sii for M
11:52:33 <oerjan> of course that uses continuations so isn't an ordinary combinator
11:53:45 <oerjan> hm what _would_ M be in underload, assuming a stack is a nested list of churc pairs
11:53:54 <oerjan> *church
11:54:08 <oerjan> does it exist at all
11:54:23 <oerjan> hm seems tricky, for the same reason as `Kf
11:55:07 <oerjan> you cannot really duplicate all the stack before running any part of it, and that part might ruin the rest
11:55:48 <cluid> The way I know to show SK turing complete is by eliminating lambda
11:56:04 <oerjan> yeah that's easy
11:56:07 <cluid> I wonder how well this applies to other sets of combinators
11:57:23 <oerjan> it applies to some of them but not all? S and K (and I) are important because they're exactly the combinators you need for eliminating lambdas so if you do that you essentially are expressing S and K in other ones.
11:58:11 <oerjan> *with other ones
11:58:16 <cluid> oh okay, so its basicaly useless for anything except SK: In some cases you should just construct S and K - in other cases... well I wonder about those
11:58:20 <cluid> those seem like the interesting ones
11:59:03 <oerjan> i recall reading that there was a version that avoided having K
11:59:22 <oerjan> and just "approximated" it enough to work for church numerals
12:00:11 -!- Patashu has quit (Ping timeout: 252 seconds).
12:00:13 <int-e> there's the CL_I thing with S,B,C,I as basis: https://en.wikipedia.org/wiki/Combinatory_logic#CLK_versus_CLI_calculus
12:00:37 * oerjan was just about to link that
12:01:16 <int-e> I could make a point and change the topic to mention the twins oerjan and int-e ;-)
12:02:04 <int-e> But perhaps it's best to leave it at this bit of weak meta-meta-humor.
12:02:59 -!- AndoDaan_ has joined.
12:03:01 <oerjan> OKAY
12:03:17 -!- AndoDaan has quit (Ping timeout: 264 seconds).
12:04:15 <oerjan> hm in fact :()^ may be closer to that than to SK, because :()^ has no way to remove elements without running them - getting that to work was the final trick...
12:04:47 <oerjan> but B and M also belong to that subset.
12:04:51 <int-e> BM is awkward to reason about
12:05:03 <int-e> M has such a crude way of duplication.
12:09:31 <cluid> http://www.complex-systems.com/pdf/19-3-5.pdf
12:09:39 <cluid> this bitcopying OISC cites esolang wiki
12:10:01 <cluid> http://mazonka.com/bbj/
12:10:44 <oerjan> mazonka used to be active on the wiki
12:11:05 -!- AndoDaan_ has quit (Read error: Connection reset by peer).
12:11:12 -!- _AndoDaan has quit (Ping timeout: 256 seconds).
12:11:16 <int-e> oh duh. M B = B B.
12:11:18 -!- AndoDaan has joined.
12:11:32 -!- _AndoDaan has joined.
12:11:39 <oerjan> int-e: um are we working in parallel here
12:12:00 -!- _AndoDaan has quit (Client Quit).
12:12:48 <oerjan> gah beeping
12:12:58 <oerjan> afk
12:13:44 <cluid> http://mazonka.com/wiki/index.php his wiki is limes too!
12:17:04 <int-e> B M B B = B B B B B B
12:17:23 <boily> cluid: the limes are somehow a default.
12:17:36 <boily> fungot: what should we replace the Defaulimes with?
12:17:36 <fungot> boily: that's the point. there was no elaboration, no doubt
12:17:48 <boily> aah. clear, simple, standard and expectable.
12:19:30 <cluid> theseare different limes
12:19:42 <cluid> well they are the same limes, but its a differnet picture of them
12:21:27 <cluid> I had an idea to search for metacalls in 1D CA: try running the CA backwards
12:21:51 <cluid> this is probably slower than just running it forwards until you find a loop but oh well
12:23:37 -!- boily has quit (Quit: ASCETIC CHICKEN).
12:25:29 <cluid> http://www.complex-systems.com/pdf/15-1-1.pdf
12:25:36 <cluid> pg 13 shows the gliders
12:26:15 <cluid> I guess trying to collide gliders together and see what they do could be productive
12:33:34 <cluid> I've been looking through http://www.complex-systems.com/archives.html for interesting papers, but not many seem very interesting
12:51:13 <fizzie> AIUI, what we have is called a trilime.
12:52:21 <fizzie> we've tried to replace it with a synthetic version but it was no good
12:54:18 <J_Arcane> OMG, these are amazing. https://www.behance.net/Gallery/ALT1977-WE-ARE-NOT-TIME-TRAVELERS/545221
13:02:41 -!- GeekDude has joined.
13:02:50 -!- AndoDaan has quit (Quit: Quit).
13:09:41 <cluid> im having trouble finding loops in rule 30 1D CA
13:09:50 <cluid> in particular, two distinct loops
13:09:56 <cluid> what ca should i look at instead?
13:10:09 <cluid> (i can find single loops, but never two loops that dont meet)
13:11:18 <oerjan> these are not the limes you are looking for
13:26:03 <J_Arcane> ahahaha. they actually did it.
13:26:05 <J_Arcane> https://devuan.org/
13:27:17 <int-e> what's with the font sizes....
13:27:25 <cluid> devuan is bad :(
13:29:47 <int-e> (apparently they rely on javascript to select sensible font sizes but have not bothered to make sure that their CSS contains sensible defaults.)
13:30:41 <int-e> leading to ... http://int-e.eu/~bf3/tmp/devuan.png
13:40:04 -!- shikhin has joined.
13:59:05 <int-e> meh is there any systematic order in the polyominoes thing?
13:59:40 <int-e> I can see that the horizontal ones come last.
14:04:35 <mitchs_> int-e, the order is according to the search tree that i describe
14:05:51 <int-e> oh. didn't read the blurb, sorry.
14:06:02 -!- mroman has joined.
14:06:04 <mroman> I'm back.
14:06:31 -!- blsqbot has joined.
14:06:32 <mroman> @messages-lewd
14:06:32 <lambdabot> oerjan said 3d 8h 47m 52s ago: i used the word in the en:you = de:man sense
14:06:32 <lambdabot> oerjan asked 2d 13h 27m 13s ago: (1) is your mirror of The Esoteric File Archive still active? (2) has it been updated with the fact the archive itself has moved to github?
14:07:00 <mroman> @tell oerjan (1) it is still active. (2) no
14:07:00 <lambdabot> Consider it noted.
14:07:09 <mroman> !blsq ??
14:07:10 <blsqbot> | "Burlesque - 1.7.4.dev"
14:07:14 <mroman> aight
14:09:25 <mitchs_> int-e, i thought about ordering them according to the tuple of sorted points if we align the bottom left square with the origin, but i couldn't find a way to generate those in order with a recursive function, it would have required storing them all and sorting at the end
14:10:52 <mitchs_> but that version (or a different one) could be added if it's interesting for different ways of generating them
14:11:37 -!- helix__ has joined.
14:12:22 <oerjan> @clear-messages
14:12:22 <lambdabot> Messages cleared.
14:12:53 -!- adu has joined.
14:14:28 -!- helix__ has quit (Client Quit).
14:14:33 <oerjan> mroman: okay
14:15:09 <oerjan> it wasn't loading for me when i tried the other day, but working now
14:17:03 <int-e> mitchs_: one slightly irritating feature is that you only consider two neighbours of the initial square.
14:18:06 -!- Jafet has joined.
14:18:13 <int-e> (otherwise the first polyominoes would be the square, vertical domino, L tiromino, sidesways T tetromino, + pentomino, with a visible pattern.)
14:18:23 <int-e> *triomino
14:21:44 <mroman> oerjan: my vServer has been down for the last 3 days
14:23:50 <cluid> areioccc code out yet
14:24:41 <oerjan> arecibo code
14:25:32 <b_jonas> cluid: no, not yet
14:27:51 <mitchs_> int-e, that's because the first square is fixed as the bottom left square
14:29:10 <int-e> mitchs_: but it isn't once you turn left above the first square or down to the right of the first square.
14:30:33 <mitchs_> if we consider the first square as being on the origin, then any squares that have y<0 or (y=0 and x<0) are unreachable
14:33:01 <int-e> no. you'd never that the "##"\" #" triomino that way.
14:33:22 <int-e> hmm
14:34:02 -!- visy has left.
14:38:38 <int-e> how about this one, visiting square in their specified order without backtracking (n=18) http://sprunge.us/YYUR
14:39:56 <mitchs_> 8 should not have been put there because it's at y=-1
14:40:03 -!- shikhout has joined.
14:40:35 <int-e> it's put there as a neighbour of 3
14:41:18 -!- cluid has quit (Quit: Leaving).
14:41:57 <mitchs_> i didn't define reachable in my blurb, but because that square would invalidate the assumption that the first square is the bottom left one, it is unreachable
14:43:29 -!- shikhin has quit (Ping timeout: 264 seconds).
14:43:41 <mitchs_> there's a more detailed explanation here http://en.wikipedia.org/wiki/Polyomino#Algorithms_for_enumeration_of_fixed_polyominoes
14:44:02 <mitchs_> redelmeijer's paper is here http://www.sciencedirect.com/science/article/pii/S0012365X81800155 but i think it leaves the search order as an implementation detail
14:46:07 -!- perrier has joined.
14:46:21 <int-e> I see.
14:47:28 -!- oerjan has quit (Quit: Searching...).
14:52:29 -!- adu has quit (Quit: adu).
15:05:25 <Taneb> I've just had a bizarre idea for a programming language but I am not sure whether it is esoteric or not
15:05:46 <b_jonas> Taneb: go on
15:06:23 <Taneb> The idea behind it is the set of instructions form a group
15:07:05 <Taneb> So you can undo anything
15:07:11 <Taneb> Unfortunately, this makes it Useless
15:08:24 -!- shikhout has changed nick to shikhin.
15:09:10 <Taneb> But I kind of want to see how fancy it can get
15:10:32 <Jafet> Reversible computing isn't that esoteric
15:10:37 -!- `^_^v has joined.
15:11:03 <Taneb> This particular one may be
15:11:14 <Taneb> I'm not veeeery familiar with the area
15:14:55 -!- AndoDaan has joined.
15:24:57 -!- perrier has quit (Remote host closed the connection).
15:26:31 <Taneb> Also I just found out about QuickSpec which looks kind of cool
15:28:15 -!- perrier has joined.
15:29:43 -!- nyuszika7h has quit (Read error: Connection reset by peer).
15:30:23 -!- nyuszika7h has joined.
15:39:36 -!- perrier has quit (Remote host closed the connection).
15:40:48 -!- perrier has joined.
15:46:18 -!- Sprocklem has joined.
16:07:26 -!- trn has joined.
16:11:37 -!- `^_^v has quit (Read error: Connection reset by peer).
16:31:46 -!- cluid has joined.
16:31:49 <cluid> hello
16:34:28 <cluid> I had an idea for a website
16:34:36 <cluid> it could be on github if github pages allows javascript?
16:34:55 <cluid> The idea is to have a javascript implementation of every esolang, so people can easily try running programs in it
16:35:07 <cluid> and it would have a drop down menu with lots of example code to try
16:36:45 -!- yorick_ has changed nick to yorick.
16:38:07 <cluid> http://p-nand-q.com/index.html this guy has a lot of esolangs
16:45:09 <cluid> http://esolangs.org/wiki/A_programming_language_is_an_artificial_language_designed_to_communicate_instructions_to_a_machine,_particularly_a_computer.
16:47:40 -!- mihow has joined.
16:58:03 -!- Froox has joined.
16:58:49 -!- Froox has quit (Client Quit).
17:01:10 -!- Frooxius has quit (Ping timeout: 244 seconds).
17:10:51 -!- GeekDude has quit (Quit: AdiIRC is updating to v1.9.6 Beta Build (2014/12/02) 32 Bit).
17:11:09 -!- GeekDude has joined.
17:11:16 -!- GeekDude has quit (Client Quit).
17:14:45 <cluid> Taneb, im interested in reversible programming
17:14:46 -!- GeekDude has joined.
17:15:03 <Taneb> cluid, I'll write up this language tonight or tomorrow
17:21:06 <cluid> ok
17:34:20 -!- MoALTz has joined.
18:08:07 <int-e> there, let's see by how much henkma will beat me this time
18:09:55 -!- J_Arcane has quit (Ping timeout: 258 seconds).
18:10:18 -!- J_Arcane has joined.
18:11:22 -!- cluid has quit (Quit: Leaving).
18:16:01 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]).
18:16:26 -!- J_Arcane has joined.
18:24:24 -!- dts has changed nick to tcs.
18:24:28 -!- tcs has changed nick to dts.
18:25:52 -!- zzo38 has quit (Remote host closed the connection).
18:37:48 -!- Sprocklem has quit (Ping timeout: 264 seconds).
18:39:42 <int-e> mitchs_: So actually the search order looks quite sane to me, after having spent some time actually implementing it.
19:06:59 -!- nooga has joined.
19:12:24 -!- `^_^v has joined.
19:19:27 -!- zzo38 has joined.
19:49:12 -!- viznut_ has quit (Ping timeout: 250 seconds).
19:55:02 -!- Dulnes has joined.
19:56:50 <Dulnes> https://i.imgur.com/7PdwO5r.jpg
19:56:56 <Dulnes> Bye
19:57:18 -!- nooga has quit (Ping timeout: 264 seconds).
19:58:26 -!- nooga has joined.
19:59:39 -!- zzo38 has quit (Remote host closed the connection).
20:00:01 -!- Dulnes has quit (Quit: bees).
20:13:37 -!- augur has quit (Quit: Leaving...).
20:14:37 -!- Sprocklem has joined.
20:27:21 -!- Sprocklem has quit (Ping timeout: 250 seconds).
20:34:35 <HackEgo> [wiki] [[Talk:Pikalang]] N http://esolangs.org/w/index.php?oldid=41300 * Rdebath * (+809) /* Does this count as an implementation? */ new section
20:40:10 -!- shikhout has joined.
20:42:50 -!- shikhin has quit (Ping timeout: 244 seconds).
20:45:27 -!- G33kDude has joined.
20:46:28 -!- GeekDude has quit (Read error: Connection reset by peer).
20:46:29 -!- G33kDude has changed nick to GeekDude.
20:50:15 -!- AndoDaan has quit (Quit: Quit).
20:55:11 -!- perrier has quit (Remote host closed the connection).
20:55:26 -!- MoALTz has quit (Quit: Leaving).
20:57:55 -!- perrier has joined.
21:01:47 <Oren> what is programming?
21:06:57 <mitchs_> int-e, thanks
21:07:07 <fizzie> int-e: I did a straightforward Burlesque of your dc Dominosa, and it turned out to be 80B. It very likely could shorten to something less than my trit-based 78B, but I doubt at least I could get it anywhere near the dc size.
21:07:25 <mitchs_> i'm pleasantly surprised to see some interest in the problem already, i thought it would be a less popular one
21:13:12 -!- Vorpal has quit (Ping timeout: 264 seconds).
21:15:06 -!- Vorpal has joined.
21:17:22 -!- augur has joined.
21:23:14 -!- Sprocklem has joined.
21:36:58 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41301&oldid=41289 * BCompton * (+1166) example program
21:38:53 <HackEgo> [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41302&oldid=40713 * SuperJedi224 * (+123)
21:40:34 -!- mitchs_ has quit (Ping timeout: 250 seconds).
21:41:05 -!- mitchs has joined.
22:00:51 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41303&oldid=41301 * BCompton * (+19)
22:12:04 -!- dts has changed nick to dtsbot.
22:12:13 -!- dtsbot has changed nick to dts.
22:15:00 -!- MDream has quit (Ping timeout: 264 seconds).
22:15:18 -!- MDream has joined.
22:19:29 -!- Sprocklem has quit (Ping timeout: 252 seconds).
22:19:35 -!- S1 has joined.
22:25:27 -!- MDream has changed nick to MDude.
22:27:39 -!- Dulnes has joined.
22:27:48 <Dulnes> Heyo
22:34:41 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41304&oldid=41303 * SuperJedi224 * (+23)
22:35:55 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41305&oldid=41304 * SuperJedi224 * (-1)
22:44:09 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41306&oldid=41305 * SuperJedi224 * (+418) /* Example Program */
22:45:30 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41307&oldid=41306 * SuperJedi224 * (-52)
22:46:04 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41308&oldid=41307 * SuperJedi224 * (+90)
22:46:42 <HackEgo> [wiki] [[Mmmm()]] M http://esolangs.org/w/index.php?diff=41309&oldid=41308 * BCompton * (+2)
22:47:12 <Dulnes> Mmmm
22:57:17 <HackEgo> [wiki] [[Talk:Mmmm()]] N http://esolangs.org/w/index.php?oldid=41310 * SuperJedi224 * (+43) Created page with "Well done on the example program, BCompton."
22:57:28 <HackEgo> [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41311&oldid=41310 * SuperJedi224 * (+98)
23:02:14 -!- boily has joined.
23:02:38 <HackEgo> [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41312&oldid=41311 * BCompton * (+271)
23:03:53 <Sgeo> Racket documentation > Python documentation
23:04:14 <Sgeo> Racket documentation, as I understand it, is not particularly likely to link to identifiers of the same name in the wrong module
23:04:24 <Sgeo> Python docs actually do. In the standard library.
23:05:14 <Bike> personally i prefer behaviorism to most "cognitive" psychological methodologies
23:06:18 <boily> Sgeo: outrageous! do you have any examples?
23:06:54 <boily> Bike: all those sub-branches of psychological stuff confuses me. I know there's a difference, but sometimes I fail to grasp them.
23:07:13 <boily> s/there's a/there are/
23:07:27 <Bike> they're not subfields, just differnet approaches.
23:13:02 -!- AndoDaan has joined.
23:22:47 <HackEgo> [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41313&oldid=41312 * BCompton * (+288)
23:24:33 <Dulnes> The sound of human bones undergoing liquifaction is great
23:24:38 -!- `^_^v has quit (Ping timeout: 258 seconds).
23:27:09 <HackEgo> [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41314&oldid=41313 * BCompton * (+92)
23:32:12 -!- Phantom_Hoover has joined.
23:32:14 -!- Phantom_Hoover has quit (Changing host).
23:32:14 -!- Phantom_Hoover has joined.
23:40:14 -!- mihow has quit (Quit: mihow).
23:41:55 <Sgeo> boily: https://docs.python.org/2/library/cookielib.html#cookielib.Cookie
23:42:15 <Sgeo> Click that Cookie link. Note that it links to the Cookie module, not the cookielib.Cookie
23:42:30 <Sgeo> Also, that expectation was wrong
23:42:38 <Sgeo> But that's a separate issue
23:42:44 -!- Oren has quit (Ping timeout: 272 seconds).
23:45:14 <Dulnes> Cookie.lib :0
23:45:20 <Dulnes> Kinda like cake.lib
23:45:48 <boily> Sgeo: indeed.
23:46:02 <paul2520> the cake is a lib
23:46:25 <Dulnes> Yes!
23:46:41 <Dulnes> Pep pep good creb
23:46:47 <Sgeo> The Python 3 version points to the right place at least
23:47:03 <Sgeo> But this wouldn't have occured at all under Racket's Scribble
23:47:13 <Dulnes> Mmm racket
23:47:34 <Sgeo> And it wouldn't have caused me way too much annoyance in Haskell, with what would presumably be a clear type error
23:47:45 <Dulnes> Ur such a haskell
23:47:46 <Sgeo> Instead of complaining that Cookie doesn't have a domain attribute
23:52:52 -!- Frooxius has joined.
2014-12-03
00:06:40 <HackEgo> [wiki] [[Mmmm()]] M http://esolangs.org/w/index.php?diff=41315&oldid=41309 * BCompton * (+0)
00:07:54 -!- S1 has quit (Quit: S1).
00:09:52 -!- Oren has joined.
00:12:06 -!- dts has quit (Read error: Connection reset by peer).
00:13:30 -!- oerjan has joined.
00:15:52 <boily> Dulnes: Haskell is good for your health. it fills your daily quota of vitamonads.
00:19:32 <oerjan> good past midnoily
00:19:45 <boily> bon soerjan.
00:23:29 <Oren> AWS has an awful user interface
00:23:55 <oerjan> Oren: it's all in the acronym if you squint at it
00:24:32 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:24:46 -!- Phantom_Hoover has joined.
00:26:30 <Oren> well i'm getting it for free so maybe i can't rightfully comlain
00:26:35 <oerjan> also that could mean amazon web services or athena widget set, i'm sure it applies equally to both.
00:26:46 <Oren> amazonweb services
00:27:24 <boily> ooooh, athena. it sure doesn't bring any memories.
00:28:52 <oerjan> you're either ironic or too young hth
00:29:33 <boily> the latter htah
00:29:56 <oerjan> i also thought for a moment that it might apply to the original java widget set, but that has acronym AWT
00:31:12 <oerjan> hm an esolang in which every concept has an acronym that usually means something else.
00:31:21 <oerjan> Private Data Field
00:31:33 <Taneb> Really Esoteric Programming Language
00:32:08 <Oren> General Number Unit
00:33:17 <Oren> pdf gnu x;//private signed x
00:33:36 * boily twitches
00:35:34 <Taneb> Binary Style Decimal
00:36:07 <oerjan> Immediate Register Set
00:36:16 <Oren> public internal name
00:36:33 <boily> Function Behaviour Iterator
00:36:54 <Oren> serously make this language!
00:37:11 <boily> Taneb named it! it's his!
00:37:11 <Oren> s/rous/rious/
00:37:40 <Oren> serously means in a way resembling serum
00:37:42 <oerjan> /riotous/
00:37:44 <Taneb> Hopeful Timed Message Layer
00:38:35 <boily> Real Time Flatbed Monitor
00:39:41 <oerjan> why are the top google picture hits for "flatbed monitor" tanks?
00:40:04 <Bike> what the hell is a flatbed monitor?
00:40:16 <Oren> monitor used to mean a ship that bombards cities hth
00:40:25 <Bike> i would guess because you transport tanks on flatbed trucks
00:40:41 <oerjan> Oren: tmhhians
00:41:07 <boily> fungot: do you even flatbed?
00:41:08 <fungot> boily: using unload and load totally random and end up extending the test by 1.5 hours. so, it's under the public domain.
00:41:35 <boily> the 'got unloads and loads flatbeds. he's an expert.
00:41:36 <oerjan> Bike: that is what i was trying to find out.
00:41:49 <Bike> oh, boily said it
00:41:51 <Bike> what the hell boily
00:41:56 -!- augur_ has joined.
00:42:22 <boily> I... uhm... well... I was trying to think of an F-word that wasn't “function”, cause I already used it.
00:42:36 <boily> the first thing that popped through my mind was flatbed.
00:42:47 <Oren> factory
00:42:56 <boily> oh.
00:43:09 <boily> >_>'...
00:43:17 <Oren> final fitting fully fantasy
00:44:04 <oerjan> boily: Objective Kernel Application Y... wtf is a word on Y that fits
00:44:12 <Oren> foundry fortress funding finned fish filet
00:44:12 <boily> Y combinator?
00:44:38 -!- augur has quit (Ping timeout: 244 seconds).
00:44:53 <boily> I'm seriously lacking in the f-word department. I guess I could've even went with the fungot...
00:44:53 <fungot> boily: edw just gave you 4 points, thought that might be the lack of tape... in theory, but they're fairly obscure compared even to postgresql. not tha there's anything wrong with this
00:45:07 <boily> oh, points!
00:45:20 <oerjan> fungot is so helpful
00:45:20 <fungot> oerjan: in which scheme is sarahbot?
00:46:13 <Oren> what does f_ngot do anyway? search for a word and give you a sentnce in whichyou used it?
00:46:28 <Oren> fungot is
00:46:28 <fungot> Oren: the spider was moving around its web systematically, picking off individual bits of sawdust all over it
00:46:35 <oerjan> boily: btw i was imagining an actual horizontal monitor in some kind of frame hth
00:47:10 <Taneb> ^source
00:47:10 <fungot> https://github.com/fis/fungot/blob/master/fungot.b98
00:47:10 <Oren> or just a sentence in general...
00:47:21 <Taneb> Oren, it should be clear from the source code!
00:47:24 <oerjan> Oren: it has a set of styles for markov generation
00:47:26 <oerjan> ^style
00:47:26 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
00:47:47 <Oren> that is so cool
00:47:58 <oerjan> it doesn't actually base the sentence on anything you say - it doesn't have a way to convert words to internal tokens for that, even
00:48:23 <oerjan> (tokens being numbers, i presume)
00:49:37 <oerjan> `learn_append boily He is seriously lacking in the f-word department.
00:49:39 <HackEgo> Learned 'boily': boily is monetizing a broterhood scheme with the Guardian of Lachine. He's also a NaniDispenser, a Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department.
00:49:52 <Taneb> > 1^0
00:49:54 <lambdabot> 1
00:51:35 <oerjan> > undefined^0
00:51:37 <lambdabot> 1
00:51:47 <Oren> um what
00:52:03 <Oren> how is ^ defined for an undefined
00:52:07 <oerjan> it doesn't actually look at the first argument if the exponent is 0
00:52:20 <boily> oh fungot... and now I find myself back to my Old Torment, on a reformatted machine...
00:52:20 <fungot> boily: if i plan to extend it for ip travel to the past
00:52:25 <oerjan> that's how much haskell believes in that rule
00:52:55 <oerjan> (given how ^ is polymorphically defined and not a method, that's the only sensible way to do it, too)
00:53:34 <oerjan> well it could have errored out, i guess. but where's the fun in that.
00:53:42 <Oren> pawlymorfishim
00:55:13 <oerjan> boily: old torment?
00:55:28 <Oren> yeah so i am working on a thing that allows you to program without any text as code
00:55:56 <Oren> you just right click on objects and tell them to do things like age of empires
00:56:41 <Oren> a complex program would resemble an economy
00:56:49 <oerjan> fancy
00:57:11 <boily> oerjan: the PDF.
00:57:26 <oerjan> oh so it's not just a visual language with boxes, good.
00:57:48 <oerjan> boily: ah. i'd been wondering if you've kept that up-to-date lately.
00:58:00 <boily> not since September 30.
00:58:08 <boily> (shame on me.)
00:58:23 <oerjan> WHAT ARE WE PAYING YOU FOR
00:59:08 <boily> 申し訳ありません、ørjan先生
00:59:09 -!- colellis has joined.
00:59:46 <oerjan> to the GTmobile...
01:00:09 <Oren> trans: i am so sorry, mr. oerjan
01:00:40 <oerjan> google says it means "teacher", not "mr."?
01:01:08 <oerjan> oh it's actually the word sensei
01:01:19 <Oren> literally yes but that title is also used for politicians and doctors
01:02:01 <Oren> it means "he who has lived previously to me"
01:02:11 <Oren> or something along those lines
01:02:23 <oerjan> ah yes the japanese are weirdos who respect their politicians, aren't they
01:02:40 <oerjan> so "elder"?
01:03:06 <Oren> yes, possibly--
01:03:15 <boily> probably so, afaik hth
01:03:53 <Oren> the japanese are weird in many ways hth
01:04:03 -!- colellis_ has joined.
01:04:15 -!- colellis_ has quit (Client Quit).
01:04:17 <boily> Oren: そうですね…
01:04:50 <oerjan> NOOO i had just closed GT
01:04:59 <oerjan> thank god for ctrl-shift-T
01:05:05 -!- colellis has quit (Quit: Page closed).
01:05:42 <Oren> GT? what is that
01:05:51 <oerjan> google translate hth
01:06:17 <Oren> he said "indeed..."
01:08:01 <Oren> translation is very much an unsolved problem
01:09:09 <oerjan> yes but now everyone can fake it!
01:09:18 <oerjan> and badly too!
01:11:21 <boily> Watche Moe bin dårlig oversatt hva norsk.
01:13:03 <oerjan> wat did you go via japanese or something
01:13:39 <boily> no, just badly mangled québécois :D
01:13:40 <oerjan> the three first words aren't even norwegian unless Moe is a surname.
01:14:15 <oerjan> in fact Moi is a norwegian surname too, a somewhat famous cook
01:14:24 -!- nooga has quit (Ping timeout: 264 seconds).
01:14:34 <Oren> my dad speaks quebecois and he is unable to speak to parisians
01:14:43 <boily> «watche moé bin mal traduire de quoi en norvégien» → “just watch me badly translate something into Norwegian”
01:15:06 <oerjan> what does "bin" mean
01:15:13 <boily> Oren: do you speek French yourself?
01:15:34 <Sgeo> The Suffolk County Legislature Tuesday passed legislation to require all county buildings to post notices that wireless routers are in use.
01:15:34 <Sgeo> The resolution, sponsored by Legis. William Spencer (D-Centerport), warns that every wireless device emits radio frequency radiation or microwave radiation.
01:15:37 <boily> (yes, I do have some problems with parisians sometimes... I have a pretty strong accent with regional idioms...)
01:15:47 <Oren> not a lot. oo e le metro silver plate?
01:15:57 <boily> oo e?
01:16:01 <Oren> where is
01:16:19 <boily> oh. ha ha ha :D
01:16:33 <Oren> my french is much worse than my japanese
01:16:34 <boily> oerjan: it's a contraction of «bien», used as a verbal punctuation.
01:16:47 <oerjan> bien mal, okay
01:17:14 <Taneb> I wonder if Parisian are further away from eachother than, say, Yorkshire and Texan?
01:17:28 <boily> oerjan: rather “be sure to look at me good”
01:17:52 <boily> (if I had meant «bien mal», I'd have said «watche moé bin bin mal traduire...»)
01:18:09 <Oren> quebecois is like a dialect that split during the 1700's. it's like portuguese vs spanish
01:18:20 <Oren> or around that range anyway
01:18:40 -!- Sprocklem has joined.
01:19:27 <boily> well, it's still somewhat the same language underneath... we just have different anglicismes than they do.
01:19:46 <Oren> and a different accent with quite distinct vowels
01:20:29 <boily> yup! ^^
01:20:30 <oerjan> didn't technically english and american _also_ split during the 1700s, like
01:20:45 <oerjan> i hear there was some noise about that
01:20:51 <Oren> american kept better contact with english
01:20:53 <Sgeo> I'm still not totally sure how to architect stuff in OTP
01:20:56 <boily> indeed. that's mainly why you'll find the rhotic r anywhere except in the UK.
01:21:06 <Sgeo> And can't help but wonder if stuff in the Elixir standard lib goes against OTP principles
01:21:09 <boily> Taneb: are you rhotic?
01:21:21 <Taneb> boily, I believe not.
01:21:41 <Oren> funny thing is my dad puts an h in white and i don't
01:21:44 <oerjan> wait, i thought the uk was like the center of _not_ being rhotic
01:22:01 <oerjan> and the us was outside
01:22:06 <Oren> exactly
01:22:34 -!- doesthiswork has joined.
01:22:39 <oerjan> well boily seemed to say something vaguely opposite
01:22:44 <Oren> my dad is like "huwite" and i'm like 'wite'
01:22:58 <boily> huh? I said that rhoticism is quite absent from the UK.
01:23:49 <boily> Oren: about the same. /ʍ/
01:24:44 <Oren> i can't remeber how to type ipa i took intro linguistics in first year...
01:24:57 <Oren> and now its been 4 years
01:24:59 <oerjan> boily: oh hm ambiguous "anywhere" construction
01:25:20 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
01:25:40 <boily> Oren: linguistics student?
01:25:53 <Oren> I am a computer science major
01:26:01 <boily> ah :D
01:26:05 <Taneb> boily, it's actually in some accents, I believe it's in the Somerset accent?
01:26:34 <boily> Taneb: perhaps. I admit I'm nowhere an expert about English English accents.
01:26:44 <Oren> basically uk ppl are like 'caaa' and everyone else is like 'you mean car'
01:27:25 <Taneb> https://en.wikipedia.org/wiki/Rhoticity_in_English#England
01:27:49 <Taneb> Oren, if I say "caa" to me that sounds scouse
01:28:52 <boily> if people "caa"ed me I'd expect a «lisse» to follow soon after.
01:29:48 <Taneb> boily, I think I can be concsiously rhotic
01:31:01 <Taneb> But I'm not if I'm not thinking about it?
01:33:01 <boily> meanwhile, I still can't compile the wisdom on that texlive install... apparently I fell through an interim Greek package and now I'm stuck with http://tex.stackexchange.com/questions/191685/lgrxenc-def-not-nound .
01:33:18 <boily> also, pentadactyl's nightlies are incompatible with firefox 34.0...
01:33:25 <oerjan> boily: does that mean you complete tabs with ernacle?
01:33:56 <boily> if I ever get custom printed keycaps, that one is definitely going on my keyboards.
01:36:22 <oerjan> i seemed to have triggered the visual french keyboard in gt, and was confused because several attempts kept giving me tqbernqle
01:37:27 <oerjan> (it's not _just_ visual, it seems)
01:37:35 <boily> shun the AZERTY layout!
01:37:35 <Dulnes> :I
01:37:37 <Dulnes> Hi
01:37:52 <boily> Dulnes hello.
01:37:53 <oerjan> hilnes
01:38:13 <Dulnes> Heh
01:43:01 <Oren> terminal: white on black or black on white?
01:43:13 <Taneb> yellow on yellow
01:43:29 <Oren> lolwut
01:43:51 <Dulnes> Should i get ORAS or x/y
01:43:57 <Dulnes> Or link between worlds
01:44:11 <Taneb> Red Rescue Team
01:44:18 <Dulnes> Idk what do i only have a little money left on my paycheck
01:44:34 <Oren> link between worldd is a copy of link to the past. get lttp on gba
01:44:54 <Dulnes> Link between worlds i know that oerjan
01:45:04 <oerjan> <FreeFull> Malborge <-- AAAAAA it's spreading
01:45:13 <Dulnes> Gasp! i beat lttp in 5 minutes
01:45:21 <FreeFull> oerjan: I'm sorry ):
01:45:23 -!- Sgeo_ has joined.
01:45:27 <Dulnes> Soary
01:45:36 <oerjan> FreeFull: it's ok i really blame Lymia
01:45:40 <FreeFull> Dulnes: I'm not an eagle
01:45:57 <Dulnes> Arst thou sure?
01:46:11 <Dulnes> When was the last time yiu checked
01:46:15 <Dulnes> You*
01:47:21 <Oren> so white on black or black on white which is better for terminal
01:47:29 <boily> Oren: white on black.
01:47:53 <Dulnes> As in txt wise?
01:48:03 <Dulnes> Neon orange on neon blue
01:48:08 -!- Sgeo_ has quit (Read error: Connection reset by peer).
01:48:16 <Oren> or editor you know, for coding
01:48:17 <oerjan> FreeFull: i suppose it's ironic that Malbolge is misspelled to start with.
01:48:53 <FreeFull> Yeah, Malebolge
01:49:02 <Dulnes> Malebulge
01:49:04 <Oren> maelbolge
01:49:13 -!- Sgeo has quit (Ping timeout: 244 seconds).
01:49:16 <Oren>
01:49:20 <Dulnes> Anyways white text on black background?
01:49:23 <Dulnes> Seems gud
01:49:32 <Dulnes> Do that oerjan
01:49:37 <Dulnes> Œ
01:49:45 <Dulnes> Ͼ
01:50:02 <Oren> ø
01:50:12 <oerjan> Dulnes: i'm not Oren.
01:50:16 -!- Sgeo has joined.
01:50:41 <Dulnes> O
01:50:49 <Dulnes> Your names tho
01:51:01 <Dulnes> I loose a letter when staring to long
01:51:50 <oerjan> does your client have tab completion and is it smart enough to prefer whoever spoke last? that will help, although probably not always.
01:52:24 <oerjan> *irc client
01:52:31 <Dulnes> I have to put oe for your name
01:52:37 <Dulnes> And or for oren
01:52:41 <Oren> Doesn't look like irc supports unicode in username
01:52:51 <Dulnes> Yeh
01:52:57 <Dulnes> :I
01:52:57 -!- Oren has changed nick to |en.
01:53:02 <boily> Dulnes: beware. when oerjan and olsner are discussing, it can get quite confusing.
01:53:04 <|en> is that better?
01:53:15 <|en> i used C |
01:53:18 <Dulnes> |en: yeh
01:53:20 <|en> for or
01:53:34 <Dulnes> boily?
01:53:41 <oerjan> enket
01:53:43 <Dulnes> What do you mean
01:53:52 <Dulnes> Im oeren
01:54:00 <Dulnes> Gah
01:54:06 <Dulnes> Ignore im
01:54:11 <|en> he sees |en> like a quantum thingy
01:54:24 <Dulnes> I think i have dislexia
01:54:32 <Dulnes> Quantum physics
01:54:41 <boily> Dulnes: when blindly tabcompleting.
01:55:03 <Dulnes> Tebs
01:55:23 <Dulnes> Btw vf
01:55:28 <Dulnes> Very good
01:56:16 <FreeFull> There should be an esoteric language called malbranche
01:56:25 <Dulnes> Make it
01:56:33 <FreeFull> I'm too lazy
01:56:38 * Dulnes pets FreeFull's face
01:56:43 <Dulnes> Every one is lazy
01:56:49 <FreeFull> Yep
01:57:01 <FreeFull> If I wasn't, I'd make a sort of mix of Prolog and J
01:57:20 <FreeFull> And call it something unimaginative like Jlog
01:57:22 <Dulnes> J *-*
01:57:37 <|en> why would somebody make a table called match
01:57:49 <FreeFull> |en: regex implementation?
01:58:02 <|en> nope, pingpong
01:58:13 <|en> why not matches
01:58:20 <|en> match is a keyword
01:59:23 <Dulnes> pingpong
01:59:35 <Dulnes> Lovely
02:00:32 <|en> internet multiplayer games project... poop
02:00:51 <|en> l*php
02:02:19 <Dulnes> PhP looks like a dissapointed grandpa face
02:03:38 <oerjan> <oren> it is amazing how different the current aesthetic is from previous ideas of what a 'futuristic' aesthetic whould llok like <-- i think that's a sort of self-fulfilling thing, if the previous ideas hadn't been made then people wouldn't now be avoiding them.
02:03:49 * oerjan is way backlogged can you tell
02:04:34 <Dulnes> What are you up too?
02:04:36 <|en> i was halfway thru an episode of serial experiments lain when i wrote that
02:04:44 <oerjan> hm is retro-futuristic a thing? it has to be.
02:04:59 <oerjan> (see also: zeerust)
02:05:14 <|en> it is. lisp is a retro-futuristic language
02:05:32 <Dulnes> Yuh
02:05:33 <|en> modern variants of it are i mean
02:06:07 <oerjan> ok it is https://en.wikipedia.org/wiki/Retrofuturism
02:06:40 <Dulnes> Ivsee what you mean boily
02:08:09 <boily> retrofuturism is fun.
02:08:30 * Dulnes pats boily on the head
02:08:49 <|en> futoretrism
02:09:25 * boily mellows and tilts to the side
02:09:27 <|en> making your thing look like what you think future people will imagine your own era to look like
02:10:16 <boily> Dulnes: I like http://locomalito.com/maldita_castilla.php . it's hardcore and gives a really good arcade-ish vibe.
02:10:40 <MDude> Well, people always like to think about how everyone in the past had awful hygine.
02:10:54 <|en> except the romans
02:11:07 <MDude> BATHS BATHS BATHS
02:11:17 <Dulnes> Lol
02:11:22 <Dulnes> Also thank boily
02:14:15 <|en> gah why would somone spray this poor code with ^M everywhere?
02:14:40 <lifthrasiir> don't panic and :e ++ff=dos
02:14:51 <Dulnes> lol
02:15:14 <Dulnes> ^=^
02:15:41 <oerjan> |en: also the arabs.
02:16:11 <oerjan> i guess the jews too, for the same reason (ritual cleansing)
02:16:37 <oerjan> probably the europeans were the filth of the earth.
02:16:44 <oerjan> then they took over hth
02:17:57 <oerjan> oh and the vikings. when one of your weekday names _means_ bathing day, you know you're not filthy.
02:18:11 <|en> only once a week?
02:18:39 <Dulnes> Filfy Phuckers
02:18:54 <oerjan> |en: IT'S ALL RELATIVE OKAY
02:19:10 -!- yorick has quit (Remote host closed the connection).
02:19:16 -!- boily has quit (Quit: FLATBED CHICKEN).
02:20:01 <oerjan> anyway, i'm pretty sure r/askhistorians on reddit had a portion of their FAQ about this.
02:20:47 <|en> this code im reading has the hallmarks of being edited by at least 3 people who used different editors and tab styles
02:20:49 <Dulnes> 8Chan
02:21:46 <|en> forensic source code ology
02:24:25 <|en> anyway i am normalizing it to my standard of one tab per indent level.
02:26:09 <oerjan> hm general washing appears conspicuously absent from http://www.reddit.com/r/AskHistorians/wiki/health
02:26:29 * oerjan know goes to read about the hitler moustache
02:26:31 <oerjan> *now
02:32:10 <oerjan> "Perhaps the most memorable fact from the early years of human computing is that the very first team of French computers, assembled by Gaspard Clair Francois Marie Riche de Prony in the early 1790s, was composed entirely of wig-makers left unemployed by the French Revolution."
02:32:52 <Dulnes> The tooth brush stache was popular to about "1945"
02:32:56 <oerjan> (i went on to a post about other styles made unpopular by history)
02:33:09 <oerjan> Dulnes: i think that's pretty accurate hth
02:33:30 <Dulnes> May i pet ye
02:33:36 <oerjan> no hth
02:33:44 <Dulnes> Do any of you guys have pets
02:33:58 <Dulnes> oerjan: why do you say hth all the time
02:34:10 <oerjan> tradition hth
02:34:44 <Dulnes> ...
02:34:51 * Dulnes pets oerjan
02:34:55 <Dulnes> :I
02:35:00 * oerjan swats Dulnes -----###
02:35:12 <Dulnes> pep pep good creb
02:35:51 <Dulnes> Apparently ###
02:35:58 <Dulnes> Is a channel
02:36:18 <|en> the hashtag channel?
02:36:32 <Dulnes> Just says blah
02:36:42 <lifthrasiir> Dulnes: in many (if not most?) IRC networks # is also a valid channel
02:37:05 <Dulnes> I know
02:37:09 <|en> some people say hashtag in real life
02:37:26 <Dulnes> Yup and its disgusting
02:37:34 <|en> like my aunt (the youngest one)
02:37:49 <|en> she is very ditsy
02:38:07 <|en> but a fun person
02:38:11 <Dulnes> Oren you can change your name back
02:38:24 -!- |en has changed nick to Orin.
02:38:43 -!- Orin has changed nick to OREN.
02:38:47 <OREN> there
02:39:30 <OREN> its all caps hth
02:39:43 <Dulnes> Hhhh
02:40:14 <OREN> you have no chance to survive make your time
02:41:08 <Dulnes> What?
02:41:09 -!- shikhin has joined.
02:41:25 <OREN> all your base are belong to us
02:41:50 <Dulnes> Omg
02:41:56 <Dulnes> I know that
02:42:01 -!- OREN has changed nick to CATS.
02:42:21 <Dulnes> Idk if you can change names.on my client
02:42:32 <Dulnes> Whats the ./ thing u use
02:42:34 <CATS> Good Evening Gentlemen!
02:42:39 <CATS> it's /nick
02:42:52 -!- CATS has changed nick to Captain.
02:42:59 <Captain> It's You!!!!
02:43:00 -!- Dulnes has changed nick to Oren.
02:43:03 <Oren> Hue
02:43:11 -!- Captain has changed nick to Cats.
02:43:42 -!- Oren has changed nick to Windows.
02:44:07 <Windows> Also oren just go to that website and do the konami code
02:44:22 -!- shikhout has quit (Ping timeout: 258 seconds).
02:44:34 -!- Cats has changed nick to Oren.
02:44:44 <Oren> what website?
02:45:13 -!- Windows has changed nick to Arch.
02:46:41 <Oren> whoops afk battery
02:46:45 <Arch> Idk what it was
02:46:49 -!- Oren has quit (Quit: leaving).
02:47:33 <elliott> please stop
02:49:17 <Arch> k
03:03:21 -!- oren has joined.
03:05:16 <Arch> Hi oren
03:05:24 -!- Arch has changed nick to Dulnes.
03:17:26 -!- shikhin has quit (Ping timeout: 272 seconds).
03:17:38 <oren> hi
03:27:03 <Dulnes> Gnight
03:38:43 <oren> gnight
03:41:07 -!- GeekDude has quit (Ping timeout: 250 seconds).
03:42:32 -!- GeekDude has joined.
03:44:32 <oerjan> <Taneb> The idea behind it is the set of instructions form a group <-- cpressey has a couple languages like that.
03:47:56 <oerjan> @tell Taneb http://catseye.tc/node/Burro
03:47:56 <lambdabot> Consider it noted.
03:48:18 <oerjan> possibly it's just that one, Cabra is somewhat different.
04:12:28 -!- doesthiswork has quit (Quit: Page closed).
04:47:13 -!- Dulnes has changed nick to CakeMeat.
04:50:34 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:02:55 -!- trn has quit (Excess Flood).
05:02:55 -!- trn has joined.
05:04:40 -!- Sprocklem has quit (Ping timeout: 252 seconds).
05:05:23 -!- cluid has joined.
05:05:25 <cluid> hi
05:06:11 <oren> hi
05:06:21 <oerjan>
05:06:35 <oren> ハイ
05:06:38 <shachaf>
05:06:47 <oren> is that a vav?
05:07:07 <shachaf> `icode ı
05:07:17 <CakeMeat> ¥ë§
05:07:23 <HackEgo> ​[U+0131 LATIN SMALL LETTER DOTLESS I]
05:07:32 <oren> i seee...
05:07:54 <CakeMeat> `icode s
05:07:56 <HackEgo> ​[U+0073 LATIN SMALL LETTER S]
05:08:02 <CakeMeat> Mmm
05:08:14 <CakeMeat> Is dulnes btw
05:08:27 <oren> `icode Ⅶ
05:08:27 <CakeMeat> Gonna be more formal
05:08:29 <HackEgo> ​[U+2166 ROMAN NUMERAL SEVEN]
05:08:41 <CakeMeat> `icode ₩
05:08:43 <HackEgo> ​[U+FFE6 FULLWIDTH WON SIGN]
05:08:50 <CakeMeat> Oh mai
05:09:08 <CakeMeat> Atleast i know what its called now
05:09:17 <oren> why the hellis there a unicode symbol for each roman numeral?
05:09:26 <CakeMeat> Idk
05:09:35 * CakeMeat pats oren
05:09:41 <CakeMeat> `^`
05:09:43 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ^`: not found
05:10:00 <CakeMeat> `icode ®
05:10:02 <HackEgo> ​[U+00AE REGISTERED SIGN]
05:10:25 <oren> unicode has too many characters that were put in for backward compatibility
05:10:54 <CakeMeat> [°`°`°``°°°`°°°````°°`°°``°````°`°`°`°°`°°°°`°]°°`°`°`°```||°```°`````]°```°`°||°``°]
05:11:01 <CakeMeat> i lo
05:11:09 <CakeMeat> I like cats
05:11:53 <oren> ^
05:12:16 <CakeMeat> Im pretty sure if i didnt put brackets it come out as ilickcatsssz
05:12:25 <shachaf> sigh, another nick
05:12:31 <CakeMeat> Sigh
05:12:48 <CakeMeat> Its better than dulnes atleast¿
05:13:02 <oren> what does dulnes mean?
05:13:40 <CakeMeat> Its a name that means something to me
05:13:51 <CakeMeat> I dont use it often
05:14:30 <oren> i just use my name for most things
05:14:41 <CakeMeat> M
05:14:50 <CakeMeat> It used to be my name
05:15:06 <CakeMeat> ©_©
05:15:18 <CakeMeat> `cmds
05:15:19 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cmds: not found
05:15:20 <oren> i mean the name on my birth cerifite
05:15:35 <CakeMeat> Whats that¿
05:15:38 <oren> oren
05:15:45 <CakeMeat> Fancy
05:15:59 <oren> its not as if there are many orens?
05:15:59 <CakeMeat> No one knows my real name
05:16:41 <CakeMeat> ØwÕ
05:17:07 <lifthrasiir> I assume ØwÕ is your real name
05:17:09 <oren> OдO
05:17:29 <CakeMeat> Nah
05:17:31 <cluid> what's up
05:17:36 <CakeMeat> My realllll name iss
05:17:57 <CakeMeat> Finn Morghan O'Brien
05:18:05 <CakeMeat> Fancy
05:18:24 <cluid> `exec
05:18:25 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: exec: not found
05:18:35 <oren> `hello
05:18:36 <HackEgo> Hello
05:18:49 <CakeMeat> 5öüçHè
05:19:00 <oren> Souche?
05:19:08 <CakeMeat> Touchè
05:19:35 <CakeMeat> How old are you oren
05:19:48 <cluid> What programming languages are based on 'rewriting' in the sense that the operate entirely on source code - no external data structure
05:19:51 <oren> 21才
05:19:55 <CakeMeat> Fancy
05:20:06 <cluid> an example is SK combinators maybe, and non-example is brainfuck because the memory cells are not part of the program
05:20:08 <oren> /// thue and some others iirc
05:20:09 <cluid> source code
05:20:30 <CakeMeat> Stack underflow
05:20:55 <CakeMeat> Stack stack
05:22:11 -!- AndoDaan_ has joined.
05:22:16 <CakeMeat> > cake/meat
05:22:17 <lambdabot> Not in scope: ‘cake’
05:22:17 <lambdabot> Perhaps you meant one of these:
05:22:17 <lambdabot> ‘take’ (imported from Data.List),
05:22:17 <lambdabot> ‘Seq.take’ (imported from Data.Sequence),
05:22:17 <lambdabot> ‘BSLC.take’ (imported from Data.ByteString.Lazy.Char8)Not in scope: ‘meat’
05:22:26 <CakeMeat> Cannot divide by cake
05:22:27 <cluid> > take the cake
05:22:28 <lambdabot> Not in scope: ‘the’Not in scope: ‘cake’
05:22:28 <lambdabot> Perhaps you meant one of these:
05:22:28 <lambdabot> ‘take’ (imported from Data.List),
05:22:28 <lambdabot> ‘Seq.take’ (imported from Data.Sequence),
05:22:28 <lambdabot> ‘BSLC.take’ (imported from Data.ByteString.Lazy.Char8)
05:22:50 <CakeMeat> Why cant lambdabot divide by cake?!
05:22:56 <CakeMeat> This is an outrage
05:23:20 <CakeMeat> cake/meat= 56
05:23:24 <shachaf> > cake
05:23:26 <lambdabot> Not in scope: ‘cake’
05:23:26 <lambdabot> Perhaps you meant one of these:
05:23:26 <lambdabot> ‘take’ (imported from Data.List),
05:23:26 <lambdabot> ‘Seq.take’ (imported from Data.Sequence),
05:23:26 <lambdabot> ‘BSLC.take’ (imported from Data.ByteString.Lazy.Char8)
05:23:30 <shachaf> Hmm, that's gone?
05:23:42 <oren> hmmmm it would be easier to insert binary data into a program if C supported base64 literals
05:23:42 <CakeMeat> > take take
05:23:43 <lambdabot> Couldn't match expected type ‘GHC.Types.Int’
05:23:43 <lambdabot> with actual type ‘GHC.Types.Int -> [a0] -> [a0]’
05:23:56 -!- AndoDaan has quit (Ping timeout: 255 seconds).
05:24:14 <CakeMeat> Lets make lambdabot do stuff
05:24:18 <CakeMeat> Funny stuff
05:24:27 <oren> i need to convert base64 to C "" notation
05:24:35 <CakeMeat> «»
05:24:45 <CakeMeat> `icode »
05:24:47 <HackEgo> ​[U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK]
05:25:07 <CakeMeat> Oh so thats why it registers always as a quotation mark
05:25:24 <CakeMeat> [«] uses these from.now on
05:25:40 <oren> i have RFC1345 as a mode on my ime. &
05:25:59 <oren> so &>> is »
05:26:08 <CakeMeat> well
05:26:33 <CakeMeat> Its easier if » is & >> and ""
05:26:40 -!- AndoDaan_ has quit (Ping timeout: 240 seconds).
05:26:47 <CakeMeat> dont have to put down >>
05:27:03 <oren> ő &o"
05:27:33 <CakeMeat> well nvm i checked depending on what you are doing you have to &>> is » is »»
05:27:59 <CakeMeat> it seems you have an o i dont have
05:29:27 <oren> ο how about that one
05:30:45 <CakeMeat> ò_ó
05:31:50 <Bike> i forget, can you define multiple cpp macros with the same name if they have different argument counts
05:32:11 <oren> noooo whatever you are doing stop
05:32:23 <shachaf> Bike: no hth
05:32:25 <Bike> k
05:32:33 <oren> i don't care if you can dont
05:33:29 <CakeMeat> So if i run &>> is » through my stuff it poops out this trash &>> is » is »» ] [ « rr ].cap]&%>>569 [ 0 ] = 10
05:34:13 <shachaf> Is it that much worse than defining SYSCALL_DEFINE0, SYSCALL_DEFINE1, SYSCALL_DEFINE2, etc.?
05:34:30 <elliott> Bike: kinda, with hacks
05:34:36 <CakeMeat> Wait what happens if you do that?
05:35:18 <elliott> Bike: you can do #define foo(...) + a dispatch
05:35:23 <Bike> elliott: it's not that important.
05:35:56 <CakeMeat> \
05:36:27 <CakeMeat> does this \}\ work in anything
05:37:11 <CakeMeat> £_£
05:39:04 * CakeMeat pats elliott s face
05:39:13 <oren> `perl -e '$_=\'$_\';print"$_$";'
05:39:16 <HackEgo> No output.
05:39:22 <elliott> CakeMeat: please don't
05:39:28 <CakeMeat> Ok
05:39:33 <CakeMeat> Zzzz
05:39:52 <CakeMeat> What chu doin oren
05:40:01 <oren> ZZzz
05:40:22 <shachaf> Chu spaces are the best.
05:41:09 <CakeMeat> DNA is a very esolangy language imo
05:41:22 <Bike> It's not a language.
05:41:22 <CakeMeat> What am i talkinv about
05:41:24 <cluid> oren, i cna't get that to work
05:41:29 <CakeMeat> I know now
05:41:40 <oren> get what to work
05:41:41 <Bike> The worst thing about being a biologist around computer people is the DNA thing, probably.
05:41:43 <oren> the perl?
05:41:45 <Bike> Later it will be not being paid.
05:41:46 <cluid> yes
05:41:53 <CakeMeat> Im.litteraly having maass brain death
05:42:09 <cluid> Bike, how is DNA not a language
05:42:14 <cluid> are you a biologist?
05:42:21 <oren> i was just trying a perl program with lots of $_$ faces in it
05:42:25 <cluid> OK
05:42:25 <CakeMeat> DNA is code
05:42:27 <cluid> i thought it was aquine
05:42:28 <lifthrasiir> it's a binary code at best?
05:42:30 <Bike> Is binary a language? No. It's a numeral system, or an encoding.
05:42:35 <cluid> Bike, OK
05:42:53 <cluid> is there a language on top of DNA?
05:42:55 <CakeMeat> Bike is bein sensitiveee :I
05:42:55 <Bike> The worst part is protein translation actually is interestingly complicated, but nobody cares for some reason.
05:43:03 <cluid> I care about it
05:43:04 <Bike> Well, "nobody", it's a major research area.
05:43:05 <cluid> I have a book about that
05:43:12 <oren> DNA has a structure of triplets of base pairs
05:43:18 <CakeMeat> I care about the sciences
05:43:36 <oren> each triplet encodes either the start of a protien, an amino acid or the end
05:43:55 <oren> so a stringof dna can encode a bunch of proteins
05:43:57 <Bike> in coding sequences.
05:44:07 <cluid> how are the triplets delimited
05:44:13 <CakeMeat> Wait if i ride a bike
05:44:21 <CakeMeat> Then
05:44:52 <oren> they aren iirc it is self synchonizing
05:45:06 <Bike> cluid: They're not. There's a thing called a "frameshift mutation" where it goes out of alignment and translation goes wrong.
05:45:24 <oren> ah ok
05:45:35 <CakeMeat> What do you do as a biologist
05:45:44 <CakeMeat> Life things
05:45:54 <CakeMeat> Gasp are you playing god again bike
05:45:55 <oren> there ar many kinds of biology
05:45:59 <Bike> Actually I guess there are normal uses of different reading frames too. I ain't a geneticist.
05:45:59 <CakeMeat> Bike god
05:46:05 -!- dts has joined.
05:46:29 <CakeMeat> Jesus bike sounds better
05:46:34 <oerjan> `` perl -e '$_=\'$_\';print"$_$";'
05:46:36 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file
05:47:01 <oerjan> `perl -e$_='$_';print"$_$";
05:47:03 <HackEgo> Final $ should be \$ or $name at -e line 1, within string \ syntax error at -e line 1, near "print"$_$"" \ Execution of -e aborted due to compilation errors.
05:47:17 <oren> o if oerjan is here i should biguate my name
05:47:30 <cluid> I hve a LOT of wiki pages open about RNA now
05:47:32 <cluid> thanks
05:47:38 <oerjan> oren: that's going to get so old
05:48:26 <oerjan> `perl -e$_='$_';print"$_\$";
05:48:28 <HackEgo> ​$_$
05:48:29 -!- oren has changed nick to Ouran.
05:48:50 -!- Ouran has changed nick to OOOren.
05:48:56 <CakeMeat> U done it
05:48:58 <OOOren> there. biguated
05:49:03 <cluid> `perl -e$_="$_";print"$_\$"
05:49:06 <HackEgo> ​$
05:49:10 <shachaf> oerjan: i think it's already gotten old hth
05:49:20 <elliott> OOOren: CakeMeat: can you two be less noisy please
05:49:36 <CakeMeat> Because sound traverses text
05:49:53 <OOOren> はい、エリオット様!
05:49:54 <CakeMeat> Anyways can hackego do that infinite loop thing
05:50:10 <CakeMeat> Ong look at thay smiley face in there
05:50:52 <OOOren> that is a small tsu
05:51:04 <OOOren> it indicates a glottal stop
05:51:36 <CakeMeat> anyways infite loop in bash while :; do echo 'Hit CTRL+C'; sleep 1; done is there a bot here that can run that
05:51:52 <CakeMeat> Like dont actually do it
05:51:59 <oerjan> `` while :; do echo 'Hit CTRL+C';
05:52:01 <HackEgo> bash: -c: line 1: syntax error: unexpected end of file
05:52:01 <cluid> Where could I find programmers to help with implementing an esolang? (this one http://esolangs.org/wiki/Janus )
05:52:13 <oerjan> `run while :; do echo 'Hit CTRL+C';
05:52:15 <HackEgo> bash: -c: line 1: syntax error: unexpected end of file
05:52:22 <CakeMeat> while :; do echo 'Hit CTRL+C'; sleep 1; done
05:52:26 <shachaf> Glottal stop? Are you sure?
05:52:28 <oerjan> i think there's a syntax error
05:52:31 <OOOren> here when my exams are over dth?
05:52:35 <cluid> any help please
05:52:37 <oerjan> `run while :; do echo 'Hit CTRL+C'; done
05:52:39 <HackEgo> Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \ Hit CTRL+C \
05:52:44 <CakeMeat> Oh god
05:52:44 <oerjan> there you go hth
05:52:52 <OOOren> O god what did you do
05:53:04 <oerjan> (i just wanted to show it doesn't actually harm HackEgo)
05:53:09 <OOOren> aha
05:53:12 <CakeMeat> Good
05:53:19 <cluid> I will ask later
05:53:20 <CakeMeat> I was scared itd keep going
05:53:31 <CakeMeat> oerjan: answer cluid
05:53:36 <CakeMeat> U guys r fronds
05:53:54 <OOOren> anyway yes ッorっ indicates a glottal stop or a doubled consonant
05:54:02 <CakeMeat> Oh
05:54:56 <oerjan> janus looks more complicated than i have patience to implement
05:55:05 <cluid> I have most of it already in haskell
05:55:11 <cluid> but the self interpreter is not working
05:56:33 <CakeMeat> Have you tried unplugging your computer and plugging it back in?
05:57:12 <CakeMeat> > { 0 }
05:57:13 <lambdabot> <hint>:1:1: parse error on input ‘{’
05:57:28 <CakeMeat> Hintzzz
05:57:36 <CakeMeat> > <
05:57:37 <lambdabot> <hint>:1:1: parse error on input ‘<’
05:57:49 <CakeMeat> Wtf am i doing
05:58:16 <CakeMeat> ¡_¡
05:58:44 <oerjan> trying random things, hth
05:59:22 <CakeMeat> I assume me patting oren on the face is not disruptive to the perl he does
05:59:47 <cluid> I just want self interpreter running
06:00:04 <CakeMeat> Screen shot of the error or whayever
06:00:04 <cluid> and maybe implement the compiler later
06:00:35 <CakeMeat> Compile the piles of garbage into a working haskell inerpreter
06:01:16 <int-e> I think you may be expecting too much of Haskell's garbage collector.
06:01:33 <CakeMeat> Probably
06:01:57 <OOOren> php says unexpected $this ... why not say "this isn't ruby, dumass"
06:02:04 <oerjan> surely someone's proved it TC by now
06:02:18 <CakeMeat> Ruby on rails
06:02:18 <cluid> ???
06:02:24 <cluid> oerjan, which
06:02:29 <OOOren> i forgot the ; at end of line.
06:02:34 <oerjan> cluid: ghc's garbage collector
06:02:44 <oerjan> i mean how can it possibly not be
06:02:50 <cluid> it is often told that types do not exist at run time
06:02:53 <shachaf> What does it mean for a garbage collector to be TC?
06:03:01 <CakeMeat> To crap
06:03:05 <int-e> mitchs: re: interest in Polyominoes: it's nice to have an algorithmic challenge among all the data compression tasks lately.
06:03:07 <oerjan> ...i guess the fact it reduces memory might be a problem
06:03:09 <cluid> but for garbage collection you need specific code for recovering/collecting that type of object
06:03:19 <cluid> so its a lie
06:03:32 <OOOren> mark and sweep
06:03:35 <CakeMeat> The cluid is a lie
06:03:35 <oerjan> shachaf: hm that's a bit tree falls in the forest isn't it, since GC should never be observable
06:03:43 <elliott> CakeMeat: can you be less noisy please
06:03:53 <CakeMeat> :I
06:04:06 <OOOren> you can garbage collect without types if you sweep over all memory
06:04:17 <elliott> not precisely
06:04:20 <CakeMeat> Fine
06:04:22 <OOOren> for pointrs to allocated objects
06:04:26 <cluid> OOOren, I doubt that, how do you know which objects are pointers and which are immediate?
06:04:28 <elliott> you need to know where the pointers are
06:04:35 <elliott> that's not quite the same as knowing all type information though
06:04:41 <OOOren> you don't
06:04:48 <elliott> you do for precise collection
06:04:52 <elliott> what you are describing is conservative collection
06:05:00 <cluid> you can probably recover a fair bit of type information from inspecting the GC code pointer of an object
06:05:05 <elliott> you can make do with just having a tag bit for pointer vs. int; e.g. OCaml does this and has 31 bit ints
06:05:13 <cluid> as Bob Harper might say "haskell is dynamically typed"
06:05:24 <elliott> and it's not really possible to "recover types" in any meaningful way with that, the GC is basically agnostic
06:05:28 <OOOren> exactly. but conservative is still gc
06:05:33 <elliott> I think GHC does this too
06:05:38 <OOOren> i have used it in C
06:05:48 <elliott> it's unsound in C, but sure :p
06:05:50 <OOOren> conservativ ecollection that is
06:06:33 <cluid> anyway GC algorithms are probably not TC
06:06:38 <OOOren> the real issue is when someone does this: int*onebasedarray=malloc(4*sizeof(int))-1
06:07:00 <elliott> that's not really an issue because it's UB, I'm pretty sure
06:07:04 <elliott> the real issue is stuff like xor linked lists
06:07:05 <int-e> cluid: It's true that generally type erasure benefits the mutator more than the garbage collector (it's interesting to speculate about the reason. one *can* implement specific scavenging and evacuation code for each type, foregoing all explicit layout information; however I suspect that this would make performance *worse* nowadays, because the code will quickly outgrow the code cache size.)
06:08:08 <elliott> void oops(int *p) { intptr_t x = (intptr_t)p ^ 1234; p = NULL; gc(); p = (int *)(x ^ 1234); printf("%d\n", *p); }
06:08:20 <CakeMeat> Night
06:08:20 <elliott> conservative GC breaks this code but nobody cares because it's already horrible
06:08:32 <cluid> night
06:08:36 -!- _AndoDaan_ has joined.
06:08:44 <int-e> elliott: you know of the xor trick for cyclic lists, right?
06:09:29 <_AndoDaan_> I'd like to hear it, please.
06:09:32 -!- qwertyo has joined.
06:09:33 <elliott> int-e: I know XOR linked lists but nothing about relating them to cyclicity
06:09:50 <cluid> hi _AndoDaan_
06:10:06 <_AndoDaan_> Hey, cluid.
06:10:21 <int-e> _AndoDaan_: basically every node stores the xor of its next and its prev pointer; if you know the current node, and know where you came from, you can traverse the list. if not ... and that's the situation the GC will be in ... then you're screwed.
06:10:38 <cluid> http://en.wikipedia.org/wiki/Genetic_code http://en.wikipedia.org/wiki/Start_codon http://en.wikipedia.org/wiki/Five_prime_untranslated_region http://en.wikipedia.org/wiki/Frameshift_mutation thanks Bike
06:10:41 <elliott> int-e: yeah, that's what I meant by XOR linked lists.
06:10:52 <int-e> elliott: yes.
06:10:56 <Bike> i wonder if any GCs can actually deal with pointers that are anything but memory blocks.
06:11:01 <Bike> sounds impossibleish
06:11:14 <elliott> int-e: what does that have to do with being cyclic, though?
06:11:16 <shachaf> Bike: What do you mean?
06:11:17 <int-e> elliott: <_AndoDaan_> I'd like to hear it, please. <-- I was replying to this.
06:11:17 <elliott> it's a trick for double-linked lists
06:11:20 <elliott> ah, okay.
06:11:23 <elliott> sorry.
06:11:25 <Bike> i also wonder if boehm mentions things not workign with this intptr_t shit
06:11:33 <Bike> shachaf: a gc where elliott's code would work.
06:11:37 <int-e> elliott: nothing in particular. I wanted to say "doubly linked", and I normally make those cyclic. brain fart.
06:12:02 * elliott nods
06:12:19 <elliott> does boehm handle char *p = malloc(10) + 10;
06:12:19 <Bike> perhaps ironically i've heard of using xor'd pointers to make mark-and-sweep slightly cheaper
06:12:52 <int-e> elliott: I'm pretty sure it does.
06:12:53 <Bike> What's taht do again?
06:13:06 <Bike> the example use of boehm is for strings, though.
06:13:06 <elliott> Bike: p is a pointer you're not allowed to dereference
06:13:07 <OOOren> makes an array with negative indices
06:13:10 <elliott> but you are allowed to hold it
06:13:14 <Bike> ok right.
06:13:18 <elliott> malloc(10) + 11 isn't allowed, though
06:13:29 <Bike> so that for loops work. i heard this on ##c at some point.
06:13:33 <elliott> you only get one element of leeway
06:13:46 <elliott> btw C is horrible
06:13:53 <Bike> I know.
06:13:54 <int-e> the C standard is full of dark corners with ugly surprises.
06:13:58 <Bike> I should have written this project of mine in Rust.
06:14:01 <OOOren> if so then scrip7 is horribler
06:14:08 <lifthrasiir> elliott: a past-the-end pointer is wonderful
06:14:30 <Bike> actually, wait, how do you expect boehm to deal or not deal with that?
06:14:34 <int-e> and it has 701 pages, so there's a lot of room for them :)
06:14:48 <int-e> (approximately, I'm using the N1570 draft)
06:14:48 <OOOren> because you can access any memory as any type
06:14:49 <elliott> Bike: well, if it only checks the pointers are within the bounds of the object, rather than within the bounds of the object or one past it...
06:15:06 <Bike> oh, you mean holding p should keep the string alive.
06:15:10 <Bike> yeah i guess that makes snese.
06:15:15 -!- _AndoDaan_ has quit (Ping timeout: 256 seconds).
06:15:23 <cluid> One thing I dont undersatnd though, is how can you mutate DNA/RNA like split it in half and mix it nad itt still works?
06:15:32 <int-e> (which is probably fine because I'm not writing C compilers.)
06:15:37 <Bike> Because it's made of lots of sections.
06:15:50 <Bike> Each protein is encoded by some number of base pairs, not the whole strand.
06:15:52 <cluid> and each section makes random protiens?
06:15:53 <Bike> so you can cut up the strand ok.
06:16:05 <cluid> ok
06:16:09 <OOOren> and each protein is stored numerous times
06:16:13 <cluid> so how do you make a living thing out of dna e.g. a worm
06:16:15 -!- AndoDaan_ has joined.
06:16:16 <Bike> It's like taking a piece of text and cutting it up.
06:16:26 <Bike> cluid: Well, first, you need to get another worm...
06:16:26 <cluid> or a algae
06:16:26 <AndoDaan_> sorry 'bout that.
06:16:54 <AndoDaan_> I thought you were talking about cyclic tag systems.
06:17:04 <cluid> i mean all these protiens will go together in some way
06:17:09 <cluid> and build a creature?
06:17:17 <Bike> It's like bootstrapping. Barely.
06:17:26 <Bike> You need another creature that knows how to make more creatures, before you can make a creature.
06:17:33 <cluid> alright
06:17:49 <Bike> This is why Jurassic Park ahsn't happened yet.
06:18:08 <OOOren> but they have cloned dogs for a price
06:18:16 <Bike> right, because dogs already exist.
06:18:18 <int-e> we have dogs aplenty
06:18:18 <oerjan> i'm sure the fact they don't have much dinosaur dna also matters
06:18:23 <cluid> so the reproductive system will create an egg or something, which is the right setting for the DNA to form into protiens and create a new creatures
06:18:27 <cluid> is that right?
06:18:44 <Bike> Well. Sorta.
06:18:48 <OOOren> there is also sex involved
06:18:52 <oerjan> an egg is already a fully functional cell
06:18:57 <Bike> Right, that's the main thing.
06:19:09 <Bike> That functioning cell gives rise to the whole organism.
06:20:25 <cluid> It would be interesting to simulate a system basd on something like DNA, which folds into "protiens" and make creatures from it
06:20:29 <OOOren> i wonder when we will get IDE's for DNA
06:20:32 <cluid> probably very hard to set up
06:20:34 <Bike> been done a lot.
06:20:39 <oerjan> thing is, maybe the system _was_ bootstrapped from something that wasn't a fully functional cell at one point, but that probably hasn't happened for billions of years
06:20:42 <Bike> sgeo, oddly, knows some about it
06:20:57 -!- shikhin has joined.
06:21:05 <cluid> ive heard the abiogenesis story
06:21:16 <Bike> it's pretty easy to simulate something like mendelian genetics. modern genetics is more involved but doable.
06:21:23 <cluid> about the first cells forming out of hydrophobic films and stuff
06:21:36 -!- AndoDaan_ has quit (Ping timeout: 264 seconds).
06:21:42 <OOOren> my aunt says goddidit. my uncle says aliens did it
06:21:49 <int-e> oerjan: right and it happened to monocollular things, not highly evolved (read: precariously balanced) creatures like dinosaurs.
06:21:55 <int-e> *cellular
06:21:57 <Sgeo> Norn genes are kind of ... powerful?
06:22:03 <Sgeo> Not really lists of proteins at all
06:22:06 <OOOren> Norns?
06:22:14 <Bike> in Creatures, an artificial life simulator.
06:22:21 <OOOren> ic
06:22:27 <cluid> Sgeo, do you know about something to simualate building protiens out of 'genetic codes' on a computer?
06:22:37 <cluid> i mean some kind of idealized protiens not real life ones
06:22:38 <Sgeo> The genes define things such as the exact chemical reactions that occur
06:22:59 <Bike> Well how complicated do you want the process to be?
06:23:04 <Sgeo> That is, if ADP + Energy = ATP, it's because a gene says so
06:23:06 -!- AndChat-234416 has joined.
06:23:12 <cluid> I dont know much about this, just curious
06:23:13 <Bike> If you want the caricatural codon -> RNA -> protein process, that's trivial. like, a oneliner.
06:23:19 <int-e> Maybe I wanted to type "mꙩnꙩꙩcular".
06:23:45 <int-e> or is that "mꙩnꙩcular".
06:23:59 <Bike> something like lacI, that's more involved
06:24:11 <AndChat-234416> Lousy connection
06:24:37 -!- AndChat-234416 has changed nick to Andoodan.
06:24:39 <oerjan> `unidecode ꙩnꙩꙩ
06:24:41 <HackEgo> ​[U+A669 CYRILLIC SMALL LETTER MONOCULAR O] [U+006E LATIN SMALL LETTER N] [U+A669 CYRILLIC SMALL LETTER MONOCULAR O] [U+A669 CYRILLIC SMALL LETTER MONOCULAR O]
06:25:02 <OOOren> monocular?!?
06:25:16 <int-e> I know what it says there, but unicode also spells "lambda" "lamda" so I don't trust it ;-)
06:25:30 <int-e> (I really dislike "lamda" though I know that it's correct.)
06:25:40 <oerjan> i expect one o
06:25:53 <int-e> mnocular
06:26:00 <shachaf> i,i ꙩ ꙫ ꙭ ꙩꙩ
06:26:07 <OOOren> `unidecode λ
06:26:09 <oerjan> because greek prepositions tend to lose their -o in front of another vowel
06:26:09 <HackEgo> ​[U+03BB GREEK SMALL LETTER LAMDA]
06:26:13 <shachaf> keep going and you end up with ꙮ
06:26:15 <OOOren> WHYYYYY
06:26:27 <shachaf> `icode ƛ
06:26:30 <HackEgo> ​[U+019B LATIN SMALL LETTER LAMBDA WITH STROKE]
06:26:39 <int-e> nice!
06:26:39 <Bike> lambdaphage
06:26:55 <OOOren> Jesus X whyyyy
06:27:02 <int-e> gotta have things consIstent.
06:27:05 <elliott> int-e: it's noted as a typo in the notes, I think
06:27:12 <elliott> it's just you're not allowed to rename unicode codepoints ever
06:27:26 <cluid> unicode is awful
06:27:38 <Bike> hookworm is awful
06:27:47 <OOOren> Shift JIS is a way better encoding anyway
06:27:58 <OOOren> much easier to parse too
06:28:19 <cluid> > Because the vast majority of genes are encoded with exactly the same code (see the RNA codon table), this particular code is often referred to as the canonical or standard genetic code, or simply the genetic code, though in fact some variant codes have evolved
06:28:21 <lambdabot> <hint>:1:27: parse error on input ‘of’
06:28:22 <cluid> wow
06:28:28 <cluid> there's almost a universal language
06:28:32 <Bike> "vast majority" is important.
06:28:34 <cluid> 'universal' as in used widely
06:28:38 <OOOren> Actually most encodings that aren't utf 8 are way easier to parse
06:28:42 <Bike> like, it's not used in your mitochondria.
06:28:42 <oerjan> didn't someone say it's actually spelled without b in modern greek
06:29:20 <Bike> but yes, the mechanisms of heredity are really ancient.
06:29:24 <cluid> i could become a molecular biologist
06:29:29 <cluid> this would be interesting
06:29:39 <cluid> then i dont have to do stupid computer things
06:29:47 <Bike> it's pretty common to use mutations in one of the ribozymes to measure time, since there's nothing much to optimize there.
06:30:02 <elliott> I think that was Bike's reasoning too
06:30:07 <Bike> it was.
06:30:10 <cluid> Bike is smart
06:32:07 <Bike> the only people who argue whether some variant DNA encoding is better or worse have PhD's. unlike unicode. though they're still pretty stupid arguments, probably.
06:33:26 <Bike> anyway, now look up ribozymes.
06:33:44 <cluid> ok but ihave a lot to read already
06:34:48 <oerjan> "In Modern Greek the name of the letter, Λάμδα, is pronounced [lamða]"
06:34:49 -!- qwertyo has quit (Ping timeout: 264 seconds).
06:35:01 -!- qwertyo has joined.
06:36:07 <OOOren> so its lamtha
06:36:58 <OOOren> with th as in then
06:37:51 <fizzie> We've got a lot of bioinformaticists at the university. You can do biology and still keep doing stupid computer things.
06:38:22 <Bike> nobody likes bioinformaticians though.
06:38:34 <Bike> i mean they're cool, but they complain about nobody caring about them a lot.l
06:40:02 <fizzie> Given how much funding they must have to be so many, it sounds slightly disingenuous.
06:40:20 <Bike> Do you have, like, an actual department for them?
06:40:31 <shachaf> bioïnformatics
06:40:37 <shachaf> people would like them more with the extra dot
06:40:42 <Bike> Probably.
06:42:25 <fizzie> It might be technically part of something, but it's at least a clear clique.
06:43:17 <fizzie> All I know is, I never understand their posters when there's some sort of common event.
06:43:23 <Bike> «Had the "no money for bioinformatics but could you help us in your spare time" conversation this week. Depressing in so many ways.» e.g.
06:43:41 <Bike> i actually don't know where they are at this school. I saw a hiring notice in the EE building once and that's it.
06:44:00 <oerjan> shachaf: shouldn't that really be biöïnformatics
06:44:05 <Bike> oh, and i saw an undergrad presentation about finding SNPs causing antibiotic resistance
06:44:17 <Bike> a lot of it's, like, straight out of Knuth, though.
06:44:48 <fizzie> The studients have their own guild ("Inkubio") though.
06:45:55 <fizzie> http://www.inkubio.fi/
06:46:27 <Bike> oh, the bioinformatics here looks like 90% ag forestry. figures.
06:47:17 <int-e> computer science likes trees?
06:47:54 <Bike> i go to a semi farm school.
06:47:58 <Bike> in washington. it's all trees
06:50:08 -!- _AndoDaan has joined.
06:50:13 <OOOren> i specifically went to uoft because york had too much trees and grass and stuff around
06:50:34 <OOOren> and so did waterloo. i am a city person
06:52:02 <OOOren> is that a good way to choose a university?
06:52:08 -!- _AndoDaan_ has joined.
06:52:24 -!- _AndoDaan_ has quit (Client Quit).
06:52:40 -!- Andoodan has quit (Ping timeout: 245 seconds).
06:52:57 <OOOren> uhhhh dude what is this
06:53:14 -!- drdanmaku has quit (Quit: ,).
06:54:34 -!- _AndoDaan has quit (Ping timeout: 244 seconds).
06:55:29 <oerjan> OOOren: if you have pollen allergy, i'd say yes
07:02:17 <cluid> "frameshift mutations. These mutations usually result in a completely different translation from the original, and are also very likely to cause a stop codon to be read, which truncates the creation of the protein" <- that's so cool! some error correcting behavior
07:05:07 -!- qwertyo has quit (Ping timeout: 256 seconds).
07:05:27 -!- qwertyo has joined.
07:06:06 -!- J_Arcane_ has joined.
07:07:43 -!- J_Arcane has quit (Ping timeout: 258 seconds).
07:07:46 -!- J_Arcane_ has changed nick to J_Arcane.
07:19:01 <cluid> RNA, in essence, can be both the chicken and the egg
07:19:24 <cluid> http://en.wikipedia.org/wiki/Ribozyme
07:24:58 -!- dts has changed nick to dts|pokeball.
07:26:14 <int-e> One interesting fact I learned this year is that mammalian DNA is simpler than amphibian DNA, and can be because their embryos develop in a tightly controlled environment rather than having to hatch at any temperature between 5 and 25 degrees Celsius (or so)...
07:28:48 <int-e> (Obviously this idea extends to grown animals, too, where mammals can rely on a fairly constant internal temperature.)
07:30:59 <fizzie> I learned that from the Science of Discworld books, I think.
07:31:09 <fizzie> (Assuming it's true.)
07:34:12 <oerjan> hm GG: i'm going to reserve my judgement on whether that lady is truly dead.
07:35:02 <fizzie> That is not dead which can eternal lie.
07:35:13 -!- qwertyo has quit (Ping timeout: 272 seconds).
07:35:58 -!- qwertyo has joined.
07:38:46 -!- Patashu has joined.
07:41:49 -!- cluid has quit (Quit: Leaving).
07:44:35 <Bike> "simpler"?
07:47:38 <int-e> oerjan: yeah it's too easy, there must be a twist.
07:48:33 <int-e> perhaps she had a metal brain and is slowly taking control of the beast now
07:48:59 <oerjan> heh
07:49:00 <int-e> (I'm wondering about the covered face)
07:53:13 <int-e> oerjan: I'm slightly disappointed about the fact that my foreshadowing-inspired guess that the Lady Selyenikov was heading towards the Beast turned out to be correct.
07:54:00 <oerjan> hm right
07:54:19 <oerjan> the beast doesn't seem like the thing you'd plot to get hold of
07:54:50 <oerjan> unless it carries some other secret
07:54:52 <int-e> phew. it's a hell of a diversion though.
07:55:25 <oerjan> *the kind of thing
07:55:47 <int-e> but what for; I believe theat Tarvek was actually unaware of her actions.
07:55:56 <int-e> *that
07:56:05 <int-e> so there must be something else...
07:56:57 <oerjan> um tarvek has been in absentia for several years, as far as she would be concerned
07:57:15 <int-e> And btw, what happened to all the Lady Lucrecia puppets? There were two of them, one is with the Baron's son now ...
07:57:29 <int-e> oerjan: exactly. That's why I believe him :P
07:58:06 -!- _AndoDaan has joined.
07:58:21 <oerjan> which one is with gil?
07:59:06 <oerjan> and dimo said gil had found a way to disable their obedience to her
08:00:03 * oerjan is not entirely sure what you mean with "lady lucrecia puppet"
08:00:12 <OOOren> the geisterdamen
08:00:16 <oerjan> oh those
08:00:23 <OOOren> that is i think what he means
08:00:38 <oerjan> um in that case i don't remember _any_ that are with gil.
08:00:51 <OOOren> maybe he means the revenants?
08:01:10 <OOOren> OOOO
08:01:14 <oerjan> if he means the revenants, there were at least a city (sturmhalten) full of them
08:01:23 <OOOren> He means that robot girl
08:01:34 <OOOren> who lucretia uploaded herself into
08:01:47 <OOOren> and the fake heterodyne
08:02:14 <oerjan> well there was only one robot. and it seems sort of dubious that's she's still around gil if it's true that he's fighting her.
08:03:11 <OOOren> lucretia copied herself into the fake heterodyne so she has 3 bodies: the van rijn robot, the fake heterodyne and the copy inside Agatha
08:03:12 <oerjan> well there were 3 of those, the robot girl, zola, and agatha herself. but if the robot girl is at large she should have had time to make as many more as she wishes
08:03:27 <OOOren> good point
08:03:53 <oerjan> but zola may have messed things up for lucrezia
08:04:11 * oerjan will go check the spelling now
08:04:16 <OOOren> maybe that should be van rijn?
08:04:30 <oerjan> it's z
08:05:07 -!- qwertyo has quit (Ping timeout: 264 seconds).
08:05:10 <oerjan> i don't know that ligatures are obligatory in dutch spelling...
08:07:10 <oerjan> she should also have had time to make more spark wasps if she has the design...
08:08:14 <oerjan> hm what was the last time we saw the robot? the mechanicsburg hospital?
08:08:30 <OOOren> that too... hold on where was the robot girl when mechanicsburg blew up/temporally screwed
08:09:07 <oerjan> it seems _logical_ that she would have left when klaus did
08:09:28 <oerjan> and especially before agatha got in control
08:10:15 <oerjan> but then, klaus seems to have been able to plot to escape her control
08:10:46 <oerjan> unless it's even more fiendish and she actually wanted klaus to make it look that way
08:11:59 * oerjan checks the wikia
08:12:37 -!- _AndoDaan has quit (Ping timeout: 264 seconds).
08:13:53 <shachaf> fizzie: do you have a graph of oerjan "f.endish" frequency over time
08:16:11 -!- AndoDaan has joined.
08:18:46 <fizzie> shachaf: Not a graph, but http://sprunge.us/AgCb
08:23:39 -!- dts|pokeball has changed nick to dts.
08:24:28 <shachaf> looks like we're safe
08:24:56 <int-e> oerjan: hmm. there was this unresolved wasping incident, http://www.girlgeniusonline.com/comic.php?date=20061201 and I thought one of the puppets turned up in the Mechanicsburg hospital a while later, or perhaps on the Baron's ship. I can't find it right now; I forgot how slowly this comic moves.
08:25:38 <fizzie> shachaf: It looks a bit more alarming if you take it yearwise, http://sprunge.us/WNGT
08:25:59 <oerjan> int-e: duh.
08:26:03 <shachaf> uh oh
08:26:20 <fizzie> (Exercise for the reader: fit an exponential, see when it overtakes the rest of channel traffic combined.)
08:26:31 <oerjan> XD
08:26:41 <shachaf> that's the sort of thing i had in mind
08:27:13 <int-e> let's take 0.9^(t/1h)
08:27:37 <int-e> oerjan: I'm not certain either, all those muses look the same to me.
08:27:54 <int-e> (except Ophelia's new shell, of course.)
08:29:02 <elliott> fizzie: could you query "words said by X that have increased their usage the most over time"?
08:29:21 <elliott> (total uses > some threshold and then order by the derivative over the years, or something.)
08:29:52 <oerjan> searching for the oerjan singularity
08:31:52 <oerjan> int-e: i think we've only seen 3 muses and i didn't think anevka's clank body was one.
08:33:06 <int-e> oerjan: It was so long ago, I don't know anything for sure anymore. (Actually I reread the whole thing earlier this year, but there's just too much going on.)
08:33:24 <oerjan> indeed
08:33:50 <int-e> bbl
08:34:12 <fizzie> elliott: Perhaps, but now: lunch.
08:34:46 -!- CakeMeat has quit (Quit: Connection closed for inactivity).
08:34:50 <shachaf> fizzie: what about hth over time
08:35:08 <fizzie> I think I've done that.
08:35:36 <shachaf> Ah. I didn't see it.
08:37:05 <fizzie> http://sprunge.us/IUfH quickly monthly '% hth' so only suffix
08:37:55 <shachaf> For everybody or just oerjan?
08:38:33 -!- AnotherTest has joined.
08:41:08 -!- shikhout has joined.
08:41:37 <fizzie> Just the big O.
08:42:10 <shachaf> whoa, is *that* who the book is about?
08:42:26 <shachaf> I wrote "whom" at first but I couldn't take it.
08:43:04 -!- AnotherTest has quit (Ping timeout: 244 seconds).
08:43:15 <fizzie> http://sprunge.us/AVdN in general
08:44:01 -!- shikhin has quit (Ping timeout: 250 seconds).
08:48:30 <oerjan> you can see from the table when the script was made.
08:49:05 <mroman> !blsq_uptime
08:49:05 <blsqbot> 18h 42m 47s
08:58:12 <mroman> I should start training climbing again.
09:08:23 -!- dts has changed nick to dts|pokeball.
09:29:07 <HackEgo> [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41316&oldid=41314 * Rdebath * (+635)
09:30:05 -!- hjulle has joined.
09:41:39 -!- cluid has joined.
09:44:17 <cluid> hi
09:51:11 -!- shikhout has quit (Ping timeout: 250 seconds).
09:52:10 -!- shikhin has joined.
09:56:36 -!- Phantom_Hoover has joined.
10:21:57 -!- tam has joined.
10:22:30 -!- tam has quit (Client Quit).
10:22:32 <OOOren> good morning
10:22:37 <cluid> good morning
10:25:32 <OOOren> i have just finished this little project in only 8 hours work
10:25:55 <OOOren> should really have taken me less time though
10:26:09 <cluid> what project?
10:26:30 <HackEgo> [wiki] [[Pendulum Instruction Set Architecture]] M http://esolangs.org/w/index.php?diff=41317&oldid=41151 * Cluid Zhasulelm * (+349) Added more useful links
10:26:37 <OOOren> i made an online connect 4 game in php
10:26:42 <cluid> oh cool
10:28:37 <OOOren> http://54.174.150.35/connect4/
10:29:17 <mroman> `? Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch
10:29:19 <HackEgo> Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch? ¯\(°​_o)/¯
10:30:33 <OOOren> what is that llan thing?
10:30:54 <cluid> its a place
10:31:17 <cluid> http://upload.wikimedia.org/wikipedia/commons/b/bd/Cy-Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch_%28Welsh_pronunciation%2C_recorded_17-05-2012%29.ogg
10:31:22 <OOOren> in wales i assume
10:31:26 <mroman> yeah
10:32:23 -!- OOOren has changed nick to Or3n.
10:34:22 <cluid> im too lazy :(
10:34:50 <Or3n> to do what?
10:35:02 <cluid> implement this language i want
10:35:32 <Or3n> then why don't you implement the language you need
10:35:38 <Or3n> as the song goes
10:35:52 <cluid> lol
10:36:54 <Or3n> i implemented scrip7 to serve a legitimate need (if massively unsafe power is a need)
10:37:27 <cluid> scrip7 is cool but have you been able to generate constants like 0x0707070707070 in a short way yet
10:38:34 <Or3n> i am working on a preprocessor
10:39:27 <Or3n> it will look like 0x[07]*8
10:40:12 <Or3n> the problem is the interaction between s7pp grammar and s7 grammar. i am going to reserve [] for the s7pp
10:40:25 <cluid> neat!
10:40:38 <Or3n> so the new version will only allow () and {} for loops
10:40:54 <b_jonas> what?
10:40:57 <Or3n> or maybe it should be the opposite
10:41:46 <Or3n> s7 currently does not distinguish between {} [] or (). they are all basically C if(0)while(1){...}
10:42:16 <Or3n> and then you use jumps to get in or out
10:47:38 -!- oerjan has quit (Quit: leaving).
11:00:00 -!- Or3n has quit (Quit: going to eat brekfst).
11:15:41 -!- ais523 has joined.
11:20:57 -!- boily has joined.
11:22:53 -!- ais523 has quit (Read error: Connection reset by peer).
11:22:59 -!- callforjudgement has joined.
11:26:22 -!- dts|pokeball has quit (Ping timeout: 256 seconds).
11:28:24 <callforjudgement> hey, could someone check their DNS for nethack4.org and tell me what IP is given for the A and AAAA addresses?
11:28:39 <callforjudgement> the IP I'm getting is not the IP I should be getting
11:29:14 <cluid> $ host nethack4.org
11:29:14 <cluid> nethack4.org has address 92.243.3.23
11:29:19 <elliott> same as cluid
11:29:20 <cluid> what command is better to use?
11:29:24 <elliott> you can use dig
11:29:31 <callforjudgement> OK, you're both getting the correct IP
11:29:32 <elliott> and 2001:4b98:dc0:41:216:3eff:fedd:d4e3
11:29:35 <callforjudgement> the IP I'm getting belongs to my ISP
11:29:43 <callforjudgement> perhaps someone's trying some really bad filtering, or something
11:29:50 <cluid> callforjudgement, my terrible ISP talktalk does thiat with google sometimes
11:29:55 <callforjudgement> nethack4.org.0INA62.252.172.241
11:29:55 <cluid> it goes to their ip rather than google
11:30:03 <elliott> cluid: virgin media does something even worse
11:30:07 <callforjudgement> well, it was making it impossible to ssh in
11:30:07 <elliott> they don't spoof DNS, you get the right IPs back
11:30:11 <elliott> but they route those IPs to their server(!!!!)
11:30:13 <elliott> to display a block page
11:30:18 <cluid> :(
11:30:24 <elliott> so instead of breaking their DNS servers, which you can just change, they break IP :p
11:30:55 <elliott> it took me like 10 minutes of poking to realise that was happening. there was such a sinking feeling
11:31:09 <callforjudgement> elliott: they seem to be doing something entirely different dubious here
11:31:44 <elliott> fwiw I am on virgin media and using their DNS servers.
11:32:32 <callforjudgement> when I send a GET request to 62.252.172.241 manually
11:32:36 <callforjudgement> I get my own site back
11:32:47 <callforjudgement> so AFAICT Virgin have placed a transparent proxy in front of my site
11:32:53 <callforjudgement> in a way that breaks everything other than HTTP
11:33:14 <callforjudgement> via a DNS redirect
11:33:21 <callforjudgement> so the next question is, why?
11:33:27 <callforjudgement> are they planning to inject adverts or something?
11:33:48 <cluid> ISPs are so nasty :(
11:34:21 <callforjudgement> a side-effect of this is that I can't easily check my email
11:34:26 <callforjudgement> time to go use the hosts file for its intended purpose
11:36:31 <b_jonas> elliott: ouch
11:36:55 -!- callforjudgement has changed nick to ais523.
11:42:44 -!- cluid has quit (Quit: Leaving).
11:43:46 <fizzie> Internet == HTTP, as everyone knows.
11:44:08 <fizzie> Googling for 62.252.172.241 finds a couple of other examples associating that address with various names.
11:44:27 <fizzie> "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|62.252.172.241|:443" ... "Tracing route to coaa.co.uk. [62.252.172.241]" ... and so on.
11:44:54 <fizzie> The first one continues with "GnuTLS: A TLS packet with unexpected length was received" so I guess it also breaks HTTPS.
11:45:03 <fizzie> (Perhaps hoping for clients to downgrade to http?)
11:45:27 <fizzie> "At least it's not a MITM with a stolen certificate."
11:47:27 <fizzie> It's also a still-open github issue with many confused replies, so they've at least wasted the time of several people as collateral damage.
11:48:18 -!- oren has joined.
11:49:44 <ais523> I think it breaks everything other than unencrypted port 80 HTTP
11:50:42 <ais523> hmm, I'm going to try changing the DNS over entirely to level3
11:50:53 -!- ais523 has quit (Read error: Connection reset by peer).
11:51:06 -!- ais523 has joined.
11:51:28 <b_jonas> level what?
11:51:37 <ais523> b_jonas: level3 is one of the backbone companies
11:51:47 <b_jonas> ah
11:51:49 <ais523> they have their own publicly usable DNS at 4.2.2.1
11:52:25 <ais523> (one thing you have to bear in mind with DNS servers is that there's no point in them having actual domain names as you'd need a working DNS to connect to them; so they aim for memorable IPs instead)
11:52:37 <b_jonas> yeah, I know
11:53:34 <oren> i think googles is 4.4.4.4 right?
11:53:58 <b_jonas> oren: no, it's 8.8.4.4
11:54:02 <fizzie> And 8.8.8.8.
11:54:29 <oren> which is 4.4.4.4?
11:54:35 <fizzie> (Or 2001:4860:4860::8888 and 2001:4860:4860::8844 but that's slightly more difficult to remember.)
11:54:42 <ais523> oren: you can whois an address to see who owns it
11:54:53 <fizzie> The whole 4.4.0.0/16 is owned by Level3.
11:55:04 <oren> i see
11:55:13 <fizzie> There seems to be no DNS replies at least for me from 4.4.4.4 though.
11:55:30 <fizzie> (You'd think that'd be easier to remember than 4.2.2.1.)
11:56:20 <elliott> ais523: level3 don't like non-customers using their DNS, I think
11:56:21 <oren> looks like 4.4.4.4 doesn't respond to port 80 either
11:56:55 <ais523> elliott: hmm, I might have to check to see if I'm a level3 customer or not, over 10% of the entire Internet is
11:57:02 <ais523> but it's hard to tell due to the number of layers of indirection in between
11:57:04 <elliott> not quite :p
11:58:56 <oren> `whois 4.4.4.4
11:58:58 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: whois: not found
11:59:04 <fizzie> Level3's listed in all these public DNS lists, but don't seem to have their own page about their public DNS servers, the way e.g. Google have.
11:59:23 <fizzie> So you could possibly infer that they're at least slightly more ambivalent about it.
11:59:39 <ais523> fizzie: my guess is that they don't want to make any sort of guarantee or SLA about how long it'll be up
11:59:45 <elliott> I think there's some article about how they don't like it somewhere :p
12:01:56 <ais523> I'll probably put it back in a while
12:02:44 <ais523> suddenly come up with a really simple way to determine if I'm a level3 customer or not
12:02:53 <ais523> use traceroute, and see if it goes past any of the other backbone providers
12:02:56 <ais523> on the way
12:02:56 -!- yorick has joined.
12:03:41 <ais523> hmm, the tier 1 for virgin media seems to be GTT, who I've never heard of
12:03:53 <ais523> there is something quite worrying about the phrase "tier 1 I've never heard of"
12:04:52 <b_jonas> I don't think I've ever heared of any of the internet backbone stuff. It's all magic to me, and a miracle that it keeps holding up still. And I hope it won't all break down when nobody has enough incentive to make it work.
12:05:13 <ais523> "With over 140,000 routes, GTT connects your network directly to over one-third of the Internet prefixes with no traffic delays and guaranteed packet delivery."
12:05:20 <ais523> b_jonas: most of the backbone companies are rather well known
12:05:36 <fizzie> That's a rather wide definition of "well known".
12:05:41 <fizzie> If you made a survey on the street...
12:05:46 <b_jonas> known for being internet backbone, or known for something else?
12:05:59 <oren> guaranteed packet delivery isn't that the opposite of what IP is supposted to be?
12:06:08 <ais523> b_jonas: they're mostly large enough that they're known for something else
12:06:23 <b_jonas> can you list some of them?
12:06:32 <ais523> here: http://www.internethealthreport.com/
12:06:43 <ais523> that contains the ping time between pairs of tier 1s
12:06:47 <ais523> among other things
12:06:59 <ais523> apparently not all piers of tier 1s, though, because GTT aren't listed
12:07:20 <fizzie> I'd say AT&T, Sprint and Verizon are all well known.
12:07:29 -!- Patashu has quit (Ping timeout: 258 seconds).
12:07:31 <oren> guaranteed paket delivery... how is that even possible anyway
12:07:41 <ais523> but OK, I'll change the DNS over to Google's for now
12:08:03 <ais523> oren: I don't see how it can be, unless they define it as "we guarantee that the packets will be delivered to the server's tier 1" (which is what a tier 1 network's supposed to do)
12:08:12 <ais523> because if they /are/ the tier 1, then that's a vacuous operation
12:08:44 <oren> lol. yeah meybe that's it
12:09:07 <fizzie> It could just mean guaranteed delivery within their network.
12:09:13 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds).
12:09:21 <oren> i don't think that's possible either
12:09:32 <b_jonas> it's marketing text, don't take it seriously
12:10:04 <ais523> it looks to me like outright lies
12:10:12 <ais523> or possibly, very dubious definitions
12:10:16 <ais523> which are technically true but misleading
12:10:29 <ais523> "internet prefixes" is a pretty interesting term, too
12:10:38 <fizzie> oren: Why wouldn't it be possible?
12:11:08 <oren> becuase their network is subject to accidents
12:11:35 <fizzie> Yes, but a "guarantee" does not mean "will happen always", as far as I know.
12:11:42 <b_jonas> "guaranteed package delivery" -- are you looking at a UPS ad?
12:11:57 <oren> packet paket delivery
12:12:12 <b_jonas> same thing
12:12:26 <oren> i don't understand why the word has a useless c in it
12:12:42 <ais523> I know that in the UK, a lot of companies got in trouble for saying "unlimited" when there were limits, even very large ones
12:13:02 <b_jonas> ah yes
12:13:13 <ais523> (or ones they claimed were very large)
12:13:33 <oren> anyway they also saidtheir network isn't subject to traffic delays which is impossible
12:14:00 <oren> based on my intro to networking course, all routers have queues
12:14:07 <b_jonas> they have faster than light transmission technology
12:14:23 <oren> unless they drop packets in which case the other claim is false
12:14:35 <boily> the way to be faster than light is to already be faster than light.
12:14:44 <fizzie> Nobody's complaining about post offices with "guaranteed next-day delivery" that also would be "impossible" by your definition. I don't think there's any rule that implies "unconditional" in marketing material.
12:15:06 <fizzie> http://www.royalmail.com/personal/uk-delivery/special-delivery "Special Delivery Guaranteed™ -- On time or your money back!"
12:15:10 <oren> there is in some countries.
12:15:28 <ais523> hmm, this reminds me of the actual definition of "guarantee"
12:15:36 <ais523> which is "if this doesn't happen, we'll compensate you"
12:15:40 <ais523> that is physically possible, at least
12:15:44 <oren> that
12:16:13 <fizzie> Yes, that's what I was alluding to.
12:16:14 <oren> is very wierd, what are they going to do, give me a penny when they drop my packet?
12:16:16 <b_jonas> ais523: yeah, that's used often: "100% uptime guarantee" means they're up 95% of the time and pay back 5% of the fees you paied to them
12:17:09 <oren> although the penny would probably be taken by the tier 2 isp
12:17:32 <b_jonas> also, this reminds me to "http://www.giantitp.com/comics/oots0632.html" "Magical power beyond your wildest imaginings! (Based on typical wild imaginings of previous customers matching your demographic profile. Additiona lterms and restrictions may apply.)"
12:17:55 <fizzie> I'm sure their actual contracts sound more like that.
12:18:08 <b_jonas> oren: certainly not a penny when they drop a packet. that would be very expensive.
12:18:18 <oren> ok 0.001 penny
12:18:27 <oren> or 0.000001 penny
12:19:47 <fizzie> (Perhaps with less occurrences of the word "magic" in them.)
12:20:20 <oren> maybe they define magic as a term of art
12:20:53 <b_jonas> There are some paper ads here that claim the new trams have 99.9% uptime. That's completely impossible. I wouldn't believe even 99% uptime.
12:21:22 <oren> trams means streetcars right?
12:21:31 <b_jonas> yes
12:21:34 <b_jonas> electric ones
12:21:49 <oren> the ones in my city have about 30% uptime
12:22:20 <oren> because of construction and accidents and barfing on the seats
12:22:33 <ais523> there were some trams installed between Birmingham and Wolverhampton a while back
12:22:37 -!- boily has quit (Quit: PRECIPITATED CHICKEN).
12:23:00 <ais523> I think they work properly nowadays, but during early days of the service, the doors wouldn't shut unless everyone put their weight on a particular side of the tram
12:23:36 <b_jonas> it's not that bad here, but still, 99.9% is an insane promise that they could keep only if they redefine uptime the way they want.
12:23:40 <ais523> the tram service is pretty much treated identically to the train service by the public transport thing
12:24:54 <ais523> actually the way the train service works here is interesting
12:25:10 <ais523> they guarantee (in the same sense of "compensation if it doesn't happen") transport from one train station to another, at a certain speed
12:25:16 <ais523> however, they don't necessarily guarantee it's by train
12:25:48 <ais523> if something goes wrong with the train lines, they'll sometimes hire coaches or buses in order to keep the journeys possible
12:26:09 <b_jonas> of course
12:26:19 <b_jonas> replacement with buses is the norm everywhere
12:26:27 <b_jonas> for trains and for trams
12:26:32 <b_jonas> and for metro too
12:27:11 <ais523> now I wonder what they replace buses with when they go wrong
12:27:15 <ais523> my personal experience is "other buses"
12:27:56 <b_jonas> sure, other buses
12:28:05 <b_jonas> possibly buses on other routes
12:28:17 <b_jonas> it's that trams and metro are more difficult to re-route
12:28:39 <fizzie> ais523: Those look rather light-raily for trams. Though the terminology is hopelessly muddy, or so I understand.
12:28:58 <fizzie> They replace buses with just freight trucks filled with something soft.
12:29:05 -!- callforjudgement has joined.
12:29:24 <oren> in japan they don't have many buses
12:29:51 <fizzie> Kyoto certainly had a lot of buses.
12:29:55 * oren 's experience in japan is limited to urban tokyo
12:30:17 <fizzie> It's probably quite location-dependent.
12:31:02 <oren> tokyo has subways, streetcars and trains
12:31:20 <oren> all of which were very reliably
12:31:47 <oren> except that one time when some drunk barfed alcohol all over the floor
12:32:33 <fizzie> Kyoto had all of those (a bit less extensively, though) but buses too.
12:33:27 <fizzie> The JR West lines weren't very useful for actual in-the-city stuff, though, which was a shame. (We had a rail pass dealie.)
12:33:31 -!- ais523 has quit (Ping timeout: 272 seconds).
12:33:40 -!- callforjudgement has changed nick to ais523.
12:34:37 <oren> the best thing about the trains in Tokyo is thatyou pay based on how far you go. in Toronto it is a flat and vry high rate
12:36:09 <fizzie> London has those zones and the whole "touching in and out" thing.
12:38:10 <fizzie> There's been a lot of talk here about making the new (Helsinki metropolitan area) public transit system do exit fares and be based on travel distance.
12:38:39 <fizzie> Especially those living right next to a zone border complain about the prices a lot.
12:39:52 <oren> in Toronto you pay $2.50 whether you are going one stop or he entire length.that is 1.40 pounds or, or 262 yen.
12:40:05 <oren> rip offf
12:40:33 <ais523> fizzie: the way train fares are calculated in the UK is massively complex
12:40:47 <ais523> basically a ticket has a start destination and an end destination
12:41:19 <ais523> you can travel along any legal route between them, and in most cases, can get on and off multiple times during the journey and catch a later train for the remaining portion, also you can skip portions (including the start and end)
12:41:33 <ais523> and to prevent this being abusable, there's crazy complex rules for what a legal route is
12:41:59 <shachaf> I remember a discussion of that in #trains once.
12:43:58 <fizzie> You can make a 20 km ride within Espoo for the "intra-muncipality" price of 1.95€ (£1.54, $2.40), but going just, say, 200 metres between stops, if they cross the Helsinki/Espoo border, would cost the "inter-muncipality" rate of 3.65€ (£2.87, $4.50).
12:45:24 <oren> that is crazy expensive
12:45:33 <fizzie> ais523: I think Finnish railways used to have something similar, but now the "default" non-commuting tickets are pretty much sold for a particular train.
12:45:47 <ais523> the UK version is a cross between zones and travel distance, just to make things more confusing
12:45:59 <ais523> it's basically impossible to figure out the correct fare for a journey without a computer
12:46:50 <oren> that is also nuts. even someone who doesn't speak japanese could easily firgure out how to use the metro in tokyo.
12:46:53 <fizzie> oren: Cash peak-period prices for London subway rides go from £4.80 to £8.40 depending on how many zones you cross, so...
12:47:09 -!- S1 has joined.
12:47:28 <ais523> I'm talking about long-distance
12:47:36 <oren> holy crap... why so expensive?
12:47:40 <ais523> in London, I think there are only six different fares you're likely to come across?
12:47:54 <fizzie> All I know is that zone 6 is where Heathrow is.
12:47:54 <ais523> oren: the peak periods, there isn't enough capacity for everyone who /wants/ to use the service
12:48:05 <ais523> so they put the prices up as a method of reducing demand
12:48:15 <oren> that is why you hire people to push people into the train
12:48:28 <fizzie> Even the non-peak pay-with-the-smartcard prices are £2.30 to £4.00, which is quite expensive compared to many places.
12:48:33 <b_jonas> ais523: the train tickets in Hungary are sold for a route between a source and destination, but you can take any trains and stop any number of times on that route
12:48:47 <ais523> b_jonas: that's pretty much how most UK tickets work
12:48:52 <b_jonas> yes
12:49:08 <b_jonas> and the price is based on the distance, though there's some complications
12:50:52 <fizzie> ais523: If you chose the right options in the Finnish railways webshop, you could buy a ticket from city A to a city B in Northern Finland, and it would (due to lack of matching options) route it via Helsinki, and since the price was based on the A-B distance, the ticket would cost something like 1/3 of the regular price from A to Helsinki.
12:51:11 <fizzie> ais523: Then you could just get off from the train in Helsinki, because we don't check tickets at exit.
12:51:12 <b_jonas> fizzie: what...
12:51:29 <ais523> fizzie: there are probably a bunch of exploits like that in the UK system
12:51:29 <fizzie> I guess technically it was still against the terms.
12:51:44 <ais523> I say "probably", because someone wrote to the people in charge asking them if various exploits were legal
12:51:50 <b_jonas> I'm quite sure the price here is based on the distance on the route. the distances on each line are listed in the timetable book.
12:52:10 <ais523> and they came up with arbitrary reasons that weren't in the rules to disallow some of the more egregious ones, and then told the original questioner to stop asking hypothetical questions
12:52:19 <oren> in tokyo the prices are on the wall in every station
12:52:23 <fizzie> Also rumour has it the officials in the A-to-Helsinki trains sometimes refused to honour those tickets.
12:52:41 <fizzie> Even though technically they had no way of telling you intended to not continue.
12:52:45 <b_jonas> ais523: they didn't say "they're not allowed now"?
12:52:56 <b_jonas> as in, changing the rules?
12:52:58 <ais523> b_jonas: the rules are already something like 1000 pages long
12:53:07 <ais523> trying to figure out /how/ to change them to get a desired effect is quite difficult
12:53:08 <b_jonas> wow
12:53:36 <ais523> oh, another discovery we made was that it was theoretically possible to have two stations such that you just couldn't have a journey between them at all, because even the most direct route would be too indirect
12:53:40 <oren> why can't we have simple systems?
12:53:52 <ais523> and someone identified such a pair of tickets, and it turns out that the ticket machines in fact do not sell them
12:54:00 <ais523> so we think the machines are programmed to enforce the rules literally
12:54:21 -!- S1 has left.
12:54:28 <b_jonas> ais523: or maybe backwards, the rules document what's programmed in
12:54:36 <ais523> huh, possibly
12:54:51 <b_jonas> I don't think the direct route is documented here, but they needn't really be because you buy the tickets for a specific route
12:54:58 <fizzie> Also learned today: the TfL fare chart for London tube/DLR/overground rail on their website is a .xlsx file.
12:55:04 <oren> someone wrote an abomination to read the rules nd produce code?
12:55:07 <fizzie> I'm pretty sure I looked at it once, and it was a PDF.
12:55:08 <oren> amybe
12:55:09 <b_jonas> they can list intermediate statoins on the route when it's not obvious what the route is
12:55:55 <b_jonas> there's a particular case about routes I'll try to tell
12:56:30 <fizzie> These .xlsx ones are "effective from 2 January 2015", so perhaps they've gone from bad (.pdf) to worse (.xlsx).
12:57:39 <oren> so someone decided 'hey i have this php xlsx generator lets use that' probably
12:58:12 <oren> instead of even trying to make a human readable document
12:58:37 <fizzie> The xlsx file has a fixed header and a scrollable body (so it's easier to see the column headings), which I suppose is its main selling point.
12:58:51 <fizzie> Not that you couldn't accomplish that with HTML and styling.
12:58:56 -!- sebbu has quit (Ping timeout: 245 seconds).
13:00:17 <oren> i have done something similar at a job (export business logic from database into xlsx)
13:01:13 <oren> the main point is, accountants love Excel
13:06:29 <oren> so you have some sort of view used by web store to find prices -- behind it is screwed up business logic written in SQL stored procedures. all you do is SELECT * from that view, and then format it into excel. that is likely what they did
13:08:14 -!- sebbu has joined.
13:08:48 -!- sebbu has quit (Changing host).
13:08:48 -!- sebbu has joined.
13:08:59 <oren> hi
13:09:00 <fizzie> Well, I don't know. It looks more manually-constructed than that. But perhaps there was an initial Excel dump from some system.
13:11:45 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41318&oldid=41315 * 50.207.43.222 * (-103)
13:14:40 <HackEgo> [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41319&oldid=41316 * SuperJedi224 * (+239)
13:16:09 <HackEgo> [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41320&oldid=41319 * SuperJedi224 * (+144)
13:19:01 <J_Arcane> Heh. That one reminds me of lambda calculus.
13:20:19 <oren> you mean lamda calculus
13:22:30 <HackEgo> [wiki] [[Talk:Mmmm()]] http://esolangs.org/w/index.php?diff=41321&oldid=41320 * SuperJedi224 * (+18)
13:22:41 <J_Arcane> λfx.f (f (f x))
13:27:09 <int-e> @tell oerjan and then over 4 years later we have this little scene... http://www.girlgeniusonline.com/comic.php?date=20110221
13:27:09 <lambdabot> Consider it noted.
13:37:19 <int-e> @tell oerjan and this is the one I was looking for: http://www.girlgeniusonline.com/comic.php?date=20110516
13:37:19 <lambdabot> Consider it noted.
13:45:42 <FireFly> over 4 years later after what?
13:46:34 <int-e> FireFly: four years after http://www.girlgeniusonline.com/comic.php?date=20061201
13:48:26 <int-e> (Publishing time. In comic time I guess it's two to four weeks.)
13:59:53 -!- GeekDude has joined.
14:06:46 <oren> hello
14:07:22 <int-e> orello
14:10:12 <oren> today i made a connect 4 game in php
14:10:22 <oren> how was your day so far?
14:11:07 <ais523> I haven't been writing PHP so far today
14:11:14 <ais523> so I suspect my day went better than yours ;-)
14:11:20 <oren> yeah...
14:14:16 <oren> at leasti dont have to pay for aws
14:19:20 <oren> afk peanut butter toast
14:33:52 -!- augur_ has quit (Remote host closed the connection).
14:34:30 -!- augur has joined.
14:36:17 * J_Arcane has a mad function idea
14:39:02 -!- augur has quit (Ping timeout: 256 seconds).
14:41:51 -!- shikhout has joined.
14:41:56 <J_Arcane> Hah hah! I can now index nested lists to arbitrary dimensions.
14:42:37 -!- Phantom_Hoover has joined.
14:45:01 -!- shikhin has quit (Ping timeout: 264 seconds).
14:48:01 <b_jonas> oren: ah, I think I'm ahead of you then. I didn't code anything in php today.
14:53:38 <oren> everyone is ahead of me today... oh well atleast i have peanut butter
14:54:04 <fizzie> Oh, dailywtf, you never cease finding new lows to sink to.
14:54:06 <fizzie> "buf[strlen(buf)] = '\0'; -- But even on null terminated strings, this code is dangerous. Since arrays in C, like any sane language, are zero indexed, this code may attempt to access memory beyond the end of the array, overwriting whatever’s there with a null terminator."
14:54:14 <fizzie> That's just nonsense, and the code is perfectly safe (if completely useless) if there is a string in buf.
14:55:14 <oren> what i dont understand is why someone used '\0' instead of 0
14:55:17 <fizzie> (Okay, just having a string isn't quite enough, it needs to be one that can be modified. But still.)
14:55:25 <fizzie> Some think it's more self-descriptive.
14:55:34 <fizzie> Probably the same people who use NULL instead of 0.
14:55:35 <oren> they are both of type int
14:55:53 <oren> whereas NULL is of type void*
14:55:57 <fizzie> No, it's not.
14:56:05 <oren> huh?
14:56:11 <fizzie> It's an implementation-defined null pointer constant, or one cast to void *.
14:56:11 <ais523> fizzie: AFAICT, the code is exactly equivalent to strcat(buf, "")
14:56:16 <fizzie> It can be of type int, too.
14:56:40 <ais523> ever considered that tdwtf might be intentionally incorrect to try to trick people into using its forums?
14:56:55 <fizzie> ais523: No, but that's indeed plausible.
14:57:08 <oren> i will never look at those computer-killing forums again
14:57:34 <fizzie> (E.g. #define NULL 0 is a valid definition for NULL. As is #define NULL '\0' for that matter.)
14:58:26 <ais523> oren: the forums are awful even for computers that work better than yours
14:58:38 <oren> wow. but you don't need a cast to assign it to a pointer, unlike other integers?
14:59:22 <fizzie> Indeed.
14:59:22 <oren> so the forums content is bad too
14:59:23 <oren> ?
14:59:24 <fizzie> "-- NULL which expands to an implementation-defined null pointer constant --" (C11 7.19p3) + "An integer constant expression with the value 0, or such an expression cast to type void *, is called a null pointer constant." (C11 6.3.2.3p3)
14:59:52 <b_jonas> fizzie: be careful, those things have like three different definitions depending on the version of C and c++
15:00:04 <oren> screw c++
15:00:28 <oren> if im in c++ i rarely use pointers anyway
15:00:40 <fizzie> I don't think the version of C affects this.
15:00:43 <b_jonas> fizzie: in particular, the latest C++ standard closes the loophole that lets you detect wheteher an expression is a constant expression by testing if their zeroed version converts to a null pointer
15:00:49 <fizzie> At least the parts I quoted are identical in C89 and C11.
15:01:07 <b_jonas> fizzie: in plain words, (3-3) converts to a null pointer in C and in old C++, but not in future C++
15:01:15 <b_jonas> I don't know the exact version where it changes
15:01:33 <oren> screw c++ i don't use pointers in c++
15:02:01 <oren> because all the data structures come ready made anyway
15:02:45 <fizzie> b_jonas: Well. They've got the nullptr too. It's a whole 'nother language, sure.
15:02:51 <oren> c++ should have stopped pretending to be c a long time ago
15:03:11 <b_jonas> oren: sure, this change is something only #esoteric cares about. you people can still write 0 or NULL or nullptr
15:03:21 <b_jonas> oren: no, it should not stop that
15:04:00 <b_jonas> it is important for us people who use C++ for actual work to be easy to interoperate with C libraries, and be able to just include the C headers with almost no changes
15:04:09 -!- ais523 has quit.
15:04:11 <b_jonas> fizzie: doesn't C have nullptr too these days?
15:04:18 -!- ais523 has joined.
15:04:19 <b_jonas> or is that still C++ exclusive?
15:04:29 <fizzie> b_jonas: It's still C++.
15:04:35 <b_jonas> ok
15:04:46 <oren> virtually all languages have easy ways to work with C libraries.
15:04:50 <fizzie> b_jonas: You'd have to speak real fast to get the C committee to add a keyword that does not begin with a _ followed by an uppercase letter.
15:05:08 <b_jonas> fizzie: so what? they'd call it _Nullptr and put nullptr as a macro in some header
15:05:17 <b_jonas> that's what they did with alignas too
15:05:21 <oren> there is no reason that the method has to involve copypasting a file into your file
15:05:38 <oren> (that is what #include does)
15:06:01 <fizzie> b_jonas: Did alignas come from C++?
15:06:07 <b_jonas> fizzie: dunno
15:06:30 <b_jonas> fizzie: how about bool then
15:06:30 <fizzie> Apparently it's a keyword in C++11, at least.
15:06:32 <oren> some of this stuff was thought up by compilers
15:06:45 <b_jonas> fizzie: bool definitely comes from C++, and C took it as _Bool to which bool is a macro
15:06:46 <oren> (byt the writters of compilers that is)
15:06:57 <fizzie> There's also _Static_assert / static_assert, and _Thread_local / thread_local, but I don't know which way those went.
15:07:11 <b_jonas> ah yeah, static_assert almost certainly comes from C++
15:07:15 <oren> _Complex
15:07:16 <b_jonas> C people don't invent that kind of stuff
15:07:34 <b_jonas> oren: _Complex is different, C invented that and C++ SHOULD steal it, but they take it in pride and they don't
15:07:45 <b_jonas> they think their inferior std::complex template is better
15:08:04 <b_jonas> they're not even compatible, you can't just convert from one to another
15:08:26 <oren> the problem with c++ is that they did not make the standard template things builtins
15:08:40 <oren> std::vector should be a builtin
15:08:44 <b_jonas> um... no
15:08:48 <b_jonas> std::vector should not be builtin
15:08:54 <oren> why not
15:09:30 <b_jonas> why should it be? it can be implemented in C++ fine as a class, and this way it's easier to add methods to it later
15:09:46 -!- `^_^v has joined.
15:10:10 <oren> becuase then the compiler would not have to parse all that template garbage every time
15:10:51 <oren> and it would be faster becuase the algorithms can be tailored to the exact processor
15:11:09 <oren> and the type that it is instantiated over
15:13:03 <J_Arcane> https://www.pouet.net/topic.php?which=10164
15:14:00 <oren> link does not load
15:14:06 -!- augur has joined.
15:14:49 <oren> anyway there should be a builtin string, vector, and matrix type at least
15:15:29 <oren> oh now it loads
15:16:01 <oren> cool!
15:18:50 -!- augur has quit (Ping timeout: 244 seconds).
15:26:12 -!- shikhout has changed nick to shikhin.
15:27:46 -!- dts has joined.
15:29:10 -!- oren has quit (Ping timeout: 244 seconds).
15:31:21 -!- oren has joined.
15:37:55 -!- Sprocklem has joined.
15:40:59 -!- conehead has quit (Ping timeout: 272 seconds).
15:41:45 -!- drdanmaku has joined.
15:44:27 -!- conehead has joined.
15:48:06 -!- callforjudgement has joined.
15:48:10 -!- ais523 has quit (Remote host closed the connection).
15:50:23 -!- dts has quit (Ping timeout: 252 seconds).
16:19:42 -!- dts has joined.
16:19:52 -!- dts has changed nick to dts|pokeball.
16:21:00 <oren> re notation for long repeating integers
16:21:33 <oren> extend 0xffff notation by allowing other numbers before the x
16:21:56 <oren> so that 3xff is 0xffffff
16:23:54 <oren> up to 8 for an eight byte number
16:25:02 <oren> now the x means "times" as well as "hex" dth?
16:26:25 <Bike> it's not multiplication though.
16:26:57 <oren> it is string multiplication
16:27:05 <oren> like in perl x operator
16:31:43 -!- AndoDaan has quit (Read error: Connection reset by peer).
16:36:36 -!- mihow has joined.
16:38:42 <int-e> but then why does 0xff mean ff, rather than 0?
16:39:03 <callforjudgement> do it like Befunge-98
16:39:26 <callforjudgement> and have, in 1xff, the "1x" mean "1 repeat of ff", but then have the actual ff still there after it
16:39:31 <callforjudgement> so you end up with ffff
16:40:04 <int-e> anyway I don't think I'd be a fan of that notation
16:41:18 <HackEgo> [wiki] [[User:Orenwatson]] http://esolangs.org/w/index.php?diff=41322&oldid=41278 * Orenwatson * (+248) added mini-description for extended hex notation.
16:41:54 <oren> 3X7f7 is 0x77ff77
16:42:07 <oren> 3x7f7 us 0x7f77f7
16:42:24 <int-e> ...
16:42:35 <int-e> so now 3x is reapeating things twice?
16:42:52 -!- FreeFull has quit (Ping timeout: 250 seconds).
16:42:56 <oren> the number is the number of bytes
16:43:15 <oren> anything stating with 4 has 4 bytes
16:43:16 <Bike> well this went nuts quickly
16:43:42 -!- FreeFull has joined.
16:43:52 <oren> 3x7f is 7f7f7f
16:44:03 <oren> 3X7f is 777fff
16:44:22 <oren> nuts? hop hop i'm a squirrel!
16:45:54 <oren> 5x789 = 0x9789789789
16:48:06 <oren> or yknow, the thing from ice age the... Scrat, that thing
16:48:56 <oren> actually you may be right... repeating it the number of times may be easier to calculate
16:50:01 <tromp_> maybe some of you would be interested in the programming challenge at http://domino.research.ibm.com/Comm/wwwr_ponder.nsf/Challenges/December2014.html
16:50:22 <oren> ok new rule: 3x7f is 0x7f7f7f, 3X7f is 777fff but 2X7f7 is 0x77ff77
16:51:06 <oren> and 1 can be reserved for something... hmmm...
16:51:55 -!- Sprocklem has quit (Ping timeout: 272 seconds).
16:52:13 <Taneb> A few days ago there was mentioned in here a Magic deck designed to instantly lose
16:52:51 <HackEgo> [wiki] [[User:Orenwatson]] M http://esolangs.org/w/index.php?diff=41323&oldid=41322 * Orenwatson * (-22) revised the notation to be more sane.
16:54:04 <Taneb> Does anyone still have the link?
17:04:57 <int-e> Taneb: <shachaf> Sgeo: http://tappedout.net/mtg-decks/fastest-turn-1-kill-guaranteed/
17:05:49 <int-e> (I didn't. I searched the logs for "deck" from codu.org)
17:06:02 <int-e> Oh the word order scrambled got.
17:06:16 <Taneb> Thanks
17:07:25 <callforjudgement> that doesn't count, playing a pact makes you lose turn 2
17:07:47 <int-e> they say that you can take an extra turn.
17:07:59 <int-e> (if you can)
17:08:17 <int-e> so it still happens before your opponent ever takes a turn.
17:09:01 <callforjudgement> the extra turn cards make you lose at the end of that turn, so the pacts don't help there
17:12:12 <int-e> Right. Reading again, it actually says that the extra turn cards are the way to lose if you can; the pacts are more of a fallback (you have to fill the deck with something...).
17:15:30 <callforjudgement> this deck looks week to force of will
17:15:35 <callforjudgement> *weak to
17:15:38 <callforjudgement> like other turn 1 kill decks
17:15:49 <int-e> "These 2 routes will end the game without any decision-making on the part of your opponent." is false, of course. They can play pacts of their own, for example.
17:16:20 <oren> misere magic
17:17:17 <callforjudgement> actually
17:17:21 <callforjudgement> they can pact of negation your extra turn card
17:17:27 <callforjudgement> what are you going to do /now/?
17:17:59 <int-e> callforjudgement: I know!
17:19:01 <int-e> callforjudgement: that's when you use the extra turn cards, hoping that there isn't a second pact of negation waiting for them ;)
17:19:01 <coppro> callforjudgement: Pass the turn
17:19:03 <coppro> the goal is to end the game
17:19:04 <coppro> not to lose
17:19:10 <coppro> if you pass the turn after they pact, you win!
17:19:46 <coppro> if they force you, then you pact it
17:21:36 <callforjudgement> coppro: then you run the risk of them angel's gracing their own pact
17:21:43 <callforjudgement> or stifling it
17:23:27 <int-e> can you do that without mana?
17:23:48 <callforjudgement> gemstone caverns
17:23:58 <callforjudgement> was waiting for someone to ask how I paid for it :-)
17:24:53 <int-e> funny card
17:25:13 * int-e wonders if there's something you can discard for colored mana
17:25:35 <callforjudgement> you can exile simian spirit guide / elvish spirit guide for red and green respectively
17:25:38 <callforjudgement> both of which are the wrong colors
17:25:50 <callforjudgement> two of them let you play manamorphose and get the correct colors
17:26:03 <callforjudgement> but that's way more complex than just gemstone caverns, which is one card
17:28:41 <int-e> lovely. "If multiple Gemstone Caverns are put onto the battlefield under a single player's control before the game begins, the "legend rule" won't put the extras into that player's graveyard until just before the first player gets priority during his or her first upkeep step. There's no opportunity to tap the extras for mana."
17:29:06 <int-e> ... "You can do that, but it won't help you."
17:29:53 <int-e> unless you need cards in your graveyard, I guess
17:30:08 <int-e> but there must be easier ways to accomplish that :P
17:32:31 <callforjudgement> lion's eye diamond is the normal way
17:32:37 <callforjudgement> it's kind-of crazy
17:32:56 <callforjudgement> black lotus is considered one of the best magic cards ever, it generates 3 mana on sacrifice and costs 0
17:33:12 <callforjudgement> some time later, they made a black lotus variant where you have to discard your hand, everyone thought it sucked
17:33:26 <callforjudgement> then people developed storm decks that could work around the discard-your-hand drawback, and it became very expensive
17:33:44 <callforjudgement> and now there are decks like manaless dredge that play lion's eye diamond for the discard, and don't even have a use for the three mana
17:33:57 -!- GeekDude has quit (Quit: AdiIRC is updating to v1.9.6 Beta Build (2014/12/03-1) 32 Bit).
17:34:19 -!- GeekDude has joined.
17:34:41 <callforjudgement> turns out that the only problem with one with nothing is that it's one mana too expensive ;-)
17:34:58 <HackEgo> [wiki] [[User:Orenwatson]] http://esolangs.org/w/index.php?diff=41324&oldid=41323 * Orenwatson * (-226) i've just realized this leads to a syntactic ambiguity impossible to resolve with an LR(0) parser so back to the drawing board
17:35:45 <callforjudgement> oren: is being LR(0) parsable important to you?
17:36:16 <callforjudgement> INTERCAL would be LR(infinity), except that it has a specific exception banning programs that don't parse in LR(1)
17:36:29 <callforjudgement> i.e. the grammar itself isn't LR(1), but individual programs have to be
17:36:30 <oren> because scrip7 is interpreted yet is a 'systems' or 'game' language the parser has to be very very fast
17:37:22 <callforjudgement> I take it you can't just JIT the parsing?
17:37:39 <oren> and so i want it to read each character once only
17:37:53 <callforjudgement> you are possibly optimizing for the wrong thing
17:37:57 <oren> it can be self-modifying
17:38:19 <callforjudgement> ah, in that case you're definitely optimizing for the wrong thing, as you'll have to reread a character when it's modified anyway
17:38:41 <oren> but we don't want to backtrack ever
17:39:13 <oren> or build a parse tree. the grammar is also flat
17:39:31 <callforjudgement> oh, so this is lexing, rather than parsing
17:39:32 <oren> (except for nested parens)
17:39:42 <callforjudgement> what happens if someone overwrites one of a paren pair?
17:39:44 <oren> there effectively is no parse step
17:39:56 <callforjudgement> then you have to reparse everything anyway, because the parens no longer match the same way
17:40:40 <oren> the parens are jump vectors on a stack in the newest version (not uploaded yet)
17:41:24 <oren> but anyway not exactly. you can decide which paren matches based on the stack
17:41:33 <callforjudgement> well, say you modify a paren that's already on the stack
17:41:38 <callforjudgement> don't you have to remove it from the stack when that happens?
17:41:59 <callforjudgement> or are you using an intrusive linked list into the program?
17:43:53 <oren> uh... well it is a little complicated but the parens essentially represent the C if(0)while(1){...}
17:44:11 <oren> so when you jump in, it is stacked
17:44:24 <oren> and when you jump out it is unstacked
17:44:50 <oren> but when you hit them, it simply jumps to the vector at the top
17:45:24 <oren> in current version on wiki, it instead searches backward for match, but i am changing it
17:46:47 <oren> to get faster execution speed
17:47:02 -!- cluid has joined.
17:47:57 <oren> the semantics of self-modification are not yet well defined for this language
17:48:36 <cluid> hi oren
17:48:40 <oren> hi
17:49:13 <oren> i am explaining why i want scrip7 to be parsed LR(0)
17:50:47 <cluid> Who cares about LR whatever?
17:50:57 <cluid> isn't that just compiler textbook filler?
17:51:14 <oren> it defines how complex the parser code is and therefore
17:51:20 <oren> determines parsing speed
17:52:30 <oren> and then there is septh of parse tree which i want to be about 2 at most here
17:52:41 <oren> s/septh/depth
17:53:07 <Melvar> If your parser isn’t doing big transformations, isn’t parsing speed determined by how quickly you can feed it?
17:53:23 <cluid> What is the largest program you will ever write?
17:53:34 <cluid> you will probably be able to parse it in <1second
17:53:44 <cluid> therefore: Fuck parsing theory
17:53:45 <oren> how many times a second
17:53:52 <cluid> you have to parse multiple times a second?
17:53:55 <cluid> or
17:54:01 <cluid> you have to parse the same file multiple times?
17:54:25 <oren> yes it is an interpreted language, and i will be using it (maybe) to define entity behaviour in a game
17:54:56 <oren> entity means enemies, objects, bullets whatever
17:55:50 <oren> so in other words run 100 programs every frame
17:56:18 <oren> if i can get it to be fast enough, 1000 prgrams
17:56:27 <callforjudgement> in this case, you parse once and cache the parse
17:56:47 <cluid> I thoughht you compiled your code
17:56:51 <cluid> i thought it generated C code
17:57:07 <cluid> Ive totally misunderstood scrip7
17:57:14 <oren> no it is embedded inside a C program as a string, or fed from a file
17:57:22 <cluid> ok im sorry then
17:57:36 <cluid> everything i sadi about parsing wascoming from my false assumption
17:59:23 <oren> so essentially the idea is to designe language in such a way as to keep anything from needing a complex parse tree
17:59:58 <oren> ideally there will be no parse tree at all. the interpreter will execute code as it reads it, directly.
18:00:56 -!- S1 has joined.
18:01:01 <oren> so then, i am dealing with problem that 0xff notation is ambigious and requires lookahead or backtracking
18:01:14 <oren> because x could be a variable name
18:01:42 <callforjudgement> this notation seems like it's of very marginal use in this sort of language
18:02:17 <oren> i am considering a different sigil such as %ffff instead
18:02:22 <cluid> nah its good
18:02:41 <callforjudgement> something as simple as changing the 'x' to a digit means you have to completely reparse the constant
18:02:51 <callforjudgement> IMO, self-modification should be at the token level, not the byte level
18:03:28 <oren> as i jsut said the interpreter does not build any kind of parse tree, it reads bytes directly
18:04:42 <oren> and executes directly upon reading, for maximum speed short of a JIT
18:05:01 <cluid> cool
18:05:30 <callforjudgement> oren: I'm trying to tell you that if you want extreme speed
18:05:41 <callforjudgement> building a parse tree once is faster than executing bytes thousands of times
18:05:55 <callforjudgement> and it also makes your language's semantics cleaner
18:06:01 <oren> but the parse tree then is read many times?
18:06:12 <oren> why does that help?
18:06:21 <callforjudgement> you use an appropriate data structure for the parse tree so that you can navigate in it without needing to read the whole thing
18:06:43 <callforjudgement> for interpreting, you normally use something like a linked list, where the links represent possible flows of execution
18:06:50 <oren> already we navigate in string without reading the whole thing.
18:06:55 <callforjudgement> then you can move around in the parse tree just by following links
18:07:02 -!- oerjan has joined.
18:07:10 <callforjudgement> this means that it's always just the one memory access to load the next command
18:07:31 <callforjudgement> (actually one is too many, really, but rather better than trying to match brackets on every run)
18:07:56 <oerjan> @messages-
18:07:56 <lambdabot> int-e said 4h 40m 46s ago: and then over 4 years later we have this little scene... http://www.girlgeniusonline.com/comic.php?date=20110221
18:07:56 <lambdabot> int-e said 4h 30m 36s ago: and this is the one I was looking for: http://www.girlgeniusonline.com/comic.php?date=20110516
18:09:13 <oren> hmm... i will look at a better method for matching brackets, and simply undefine behviour of erasing brackts
18:09:48 <oren> it was never defined in first place so ok
18:11:18 <oren> this is a C-style language where things are undefined to make implementers job easier
18:12:34 <oerjan> int-e: the last scene is the last time i remember seeing her
18:19:25 <oerjan> @tell int-e the last scene is the last time i remember seeing her
18:19:25 <lambdabot> Consider it noted.
18:20:04 <int-e> yeah
18:22:28 <int-e> oerjan: The next time Klaus turns up he's testing Gil with one of the slaver ferret things (after, apparently, Gil poisoned Dupree with a recipe by Tarvek), and seems to be in control. I'm really interested in an explanation for that.
18:26:50 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
18:30:25 -!- MDude has quit (Quit: later chat).
18:33:13 <oren> i am back. was roped into chopping and stacking yuletide logs
18:34:29 <oerjan> int-e: i've always been assuming he faked the ferret
18:35:28 <oerjan> it's more likely than gil being wasped, at least
18:35:56 <myname> i always thought C is a C-style language where things are undefined to make implementers job easier
18:36:11 <oerjan> what i am not sure about is whether the copy of klaus inside gil obeys lucrezia or not
18:37:16 -!- perrier has quit (Read error: Connection reset by peer).
18:37:28 -!- S1 has changed nick to |S}.
18:38:27 <oerjan> also, i'm expecting dupree's thus induced immunity to wasps to become an issue.
18:38:28 -!- perrier has joined.
18:38:47 <oerjan> or well hm
18:39:01 <oerjan> it does seem moot now that gil is kind of in charge
18:40:53 -!- perrier has quit (Remote host closed the connection).
18:42:08 -!- perrier_ has joined.
18:53:08 -!- |S} has quit (Quit: |S}).
18:55:09 <coppro> callforjudgement: ok, new idea
18:55:12 <coppro> present a 59-card deck
18:55:13 <coppro> call a judge
18:55:15 <coppro> get DQed for cheating
18:55:20 <coppro> your opponent can't stop that!
18:55:39 <callforjudgement> coppro: that only works once per tournament, at most
18:55:42 <oerjan> is this in the right channel
18:56:01 <callforjudgement> oerjan: it's pretty eso
18:56:07 <callforjudgement> but only arguably programming
18:56:15 <callforjudgement> I'd say it's more ontopic than usual
18:56:31 <oerjan> it sounded more related to recent agora discussions :P
18:56:42 <callforjudgement> agora is also more ontopic here than this channel normally is
18:56:51 <callforjudgement> but less ontopic than the actual topic
19:03:17 <oren> so the idea is to waste everyone's time at a round-robin?
19:16:55 <oerjan> <ais523> b_jonas: the rules are already something like 1000 pages long <-- so basically mornington crescent is "based on a true story"?
19:17:25 <callforjudgement> oerjan: to be fair, it's almost entirely consists of tables
19:18:55 <coppro> callforjudgement: Regarding silly fare rules, airline tickets are quite similar
19:19:22 <coppro> I have a friend who managed, after some finessing an online interface to get it to accept entry of the route, to successfully book a $300 ticket with like 10 connections
19:20:21 <coppro> since under the rules for the fare, the price is based only on the endpoints, and there was a list of airports that he was allowed to connect through, and while it made no sense for getting there quickly, you could legally connect through all of them
19:20:30 <coppro> which let him rack up an insane amount of frequent flyer miles
19:21:21 -!- CakeMeat has joined.
19:34:39 -!- Frooxius has quit (Quit: *bubbles away*).
19:36:33 -!- Frooxius has joined.
19:36:57 -!- mihow has quit (Quit: mihow).
19:47:29 -!- Sprocklem has joined.
19:47:57 -!- Sprocklem has changed nick to Guest12721.
19:53:16 -!- password2 has joined.
19:53:49 -!- password2 has quit (Max SendQ exceeded).
19:55:27 -!- password2 has joined.
19:56:38 <callforjudgement> coppro: how long did the flight take? or did he intentionally miss some of the endpoints?
19:57:08 <coppro> like two days I think
19:57:08 <callforjudgement> or are there people who book flights then don't take them, simply for the frequent flier miles?
19:57:18 <coppro> you need to actually take them for the miles
20:03:37 -!- Guest12721 has quit (Ping timeout: 264 seconds).
20:05:10 <elliott> they fixed that loophole I think
20:05:11 <elliott> I forget how
20:05:18 <elliott> I saw an article about it
20:06:24 <fizzie> callforjudgement: There was that one guy who booked a first-class flight that (a) was freely transferrable/cancellable and (b) included a before-flight meal at the airline's lounge, went and ate there, moved the flight to the next day, and repeated this for a few months or something.
20:06:53 <callforjudgement> fizzie: oh, beautiful
20:07:16 <fizzie> Of course this is again one of those "a man in China" news stories, so the verity might be questionable.
20:07:36 <fizzie> http://nypost.com/2014/01/29/man-uses-first-class-plane-ticket-to-eat-free-for-a-year/ and there's probably several other copies of it.
20:08:11 <fizzie> (At least it mentions the airline, but that's about it.)
20:11:50 -!- Patashu has joined.
20:27:07 <HackEgo> [wiki] [[User talk:SuperJedi224]] http://esolangs.org/w/index.php?diff=41325&oldid=41266 * SuperJedi224 * (+946)
20:28:05 -!- oerjan has quit (Quit: Nite).
20:29:56 -!- Patashu has quit (Ping timeout: 250 seconds).
20:32:39 -!- password2 has quit (Read error: Connection reset by peer).
20:34:46 -!- callforjudgement has quit (Ping timeout: 245 seconds).
20:36:07 -!- callforjudgement has joined.
20:39:55 <b_jonas> hehehe, that before flight meal thing is funny
20:41:12 -!- shikhout has joined.
20:42:30 -!- cluid has quit (Remote host closed the connection).
20:44:44 -!- shikhin has quit (Ping timeout: 264 seconds).
20:46:56 <HackEgo> [wiki] [[Tag]] http://esolangs.org/w/index.php?diff=41326&oldid=8814 * BCompton * (+25) Output only
20:49:17 -!- S1 has joined.
20:54:20 -!- G33kDude has joined.
20:54:49 <myname> there was a man who bought a first class card for trains for a year, eating and sleeping in there, traveling from town to town to beg for money for the next card
20:55:51 -!- G33kDude has quit (Read error: Connection reset by peer).
20:56:06 -!- G33kDude has joined.
20:56:14 -!- GeekDude has quit (Ping timeout: 244 seconds).
20:56:15 -!- S1 has changed nick to S0.
20:56:20 -!- G33kDude has changed nick to GeekDude.
20:57:22 -!- GeekDude has quit (Read error: Connection reset by peer).
20:57:38 -!- GeekDude has joined.
20:57:53 -!- GeekDude has quit (Remote host closed the connection).
21:06:10 -!- shikhout has changed nick to shikhin.
21:20:28 -!- augur has joined.
21:20:44 -!- GeekDude has joined.
21:21:20 -!- S0 has changed nick to S1.
21:21:41 -!- augur has quit (Read error: Connection reset by peer).
21:21:45 -!- augur has joined.
21:22:57 -!- Bicyclidine has joined.
21:24:46 -!- CakeMeat has quit (Quit: Connection closed for inactivity).
21:40:30 -!- mihow has joined.
22:00:31 -!- dts|pokeball has quit (Ping timeout: 258 seconds).
22:04:10 -!- callforjudgement has quit (Read error: Connection reset by peer).
22:04:26 -!- callforjudgement has joined.
22:04:28 -!- AnotherTest has joined.
22:07:40 -!- scarf has joined.
22:08:11 -!- Bicyclidine has quit (Ping timeout: 258 seconds).
22:11:57 -!- callforjudgement has quit (Ping timeout: 255 seconds).
22:14:42 -!- Bicyclidine has joined.
22:17:36 -!- GeekDude has changed nick to GeekAfk.
22:28:28 <shachaf> Taneb, int-e: I don't know much about this deck, it was just vaguely similar to Sgeo's description and I heard of it once.
22:30:38 -!- GeekAfk has changed nick to GeekNomz.
22:31:28 -!- scarf has changed nick to ais523.
22:39:55 -!- GeekNomz has changed nick to GeekDude.
22:43:45 <elliott> 14:53:20 <fizzie> Oh, dailywtf, you never cease finding new lows to sink to.
22:43:45 <elliott> 14:53:22 <fizzie> "buf[strlen(buf)] = '\0'; -- But even on null terminated strings, this code is dangerous. Since arrays in C, like any sane language, are zero indexed, this code may attempt to access memory beyond the end of the array, overwriting whatever’s there with a null terminator."
22:43:50 <elliott> 14:53:30 <fizzie> That's just nonsense, and the code is perfectly safe (if completely useless) if there is a string in buf.
22:43:53 <elliott> TRWTF, etc.
22:44:16 <elliott> I suspect the "anonymisation" they do to TDWTF submissions often completely loses the nuance because the people running it are .NET guys or whatever.
22:44:43 <Bicyclidine> Transwritten Reformedly Winnelstrae Trist Film
22:45:06 <Bicyclidine> Topsman Dinghee Woodmanship Tensibility Florimanist
22:45:19 <ais523> elliott: sometimes the submitter posts the original WTF in the comments, and it's much better than the posted one
22:45:44 -!- AnotherTest has quit (Remote host closed the connection).
22:51:18 <elliott> Bicyclidine: I'm not sure all of those are words
22:52:08 <myname> well, isn't strlen(buf) > size of the buffer if there is no null?
22:52:19 <b_jonas> myname: no
22:52:25 <Bicyclidine> elliott: you're not a word
22:52:33 <myname> b_jonas: how so?
22:52:43 <elliott> if there's no nul, it's not a C string
22:52:50 <Bicyclidine> i'll transwrite your ass, you tensible fucker
22:52:53 <elliott> "But even on null terminated strings," is where the nonsense begins
22:53:04 <myname> i thought strlen is basically while(*str++!=0) len++;
22:53:15 <elliott> NULL terminated strings, where you terminate strings with the actual bitpattern of null pointers, downcasted to a char
22:53:26 <elliott> myname: strlen("abc\0") == 3
22:53:31 <elliott> "abc\0"[3] == '\0'
22:53:32 <myname> yeah
22:53:49 <elliott> you need strlen(s) + 1 chars to store a nul-terminated string
22:53:54 <myname> but if you have buf of len 3 you might screw you
22:54:00 <elliott> you don't have a buf of len 3
22:54:05 <elliott> because then it's not nul-terminated
22:54:12 <elliott> and calling strlen on it is UB
22:54:17 <myname> that line is a nop on null terminated strings
22:54:21 <elliott> yes
22:54:25 <elliott> 22:43:01 <elliott> 14:53:22 <fizzie> "buf[strlen(buf)] = '\0'; -- But even on null terminated strings, this code is dangerous. Since arrays in C, like any sane language, are zero indexed, this code may attempt to access memory beyond the end of the array, overwriting whatever’s there with a null terminator."
22:54:31 <elliott> the nonsense is the part that's actually written there.
22:54:42 <myname> okay
22:54:45 <myname> yeah
22:55:31 <elliott> if you call strlen on a non-nul terminated string, you're doomed even if you don't then use that result as an index
22:56:15 <myname> i wonder what will happen if you try to read from after the end of your memory
22:56:30 <myname> like, the physicsl memory
22:56:41 <Bicyclidine> a memory access violation?
22:56:44 -!- `^_^v has quit (Ping timeout: 264 seconds).
22:57:05 <elliott> well, virtual memory gets in the way of that
22:57:08 <elliott> in user mode
22:57:11 <Bicyclidine> or just accessing some other thing because ok you beat me.
22:57:43 <elliott> s/in user mode//, I guess.
22:58:16 <myname> for science?
22:58:37 <elliott> if you have an architecture without virtual memory then I would guess that either it wraps, or it's a fault.
23:08:14 -!- Bicyclid1ne has joined.
23:08:58 -!- Bicyclidine has quit (Ping timeout: 250 seconds).
23:32:35 <FreeFull> elliott: It's clearly wrong for nul-terminated strings too, though
23:32:50 <elliott> depends what you mean by wrong
23:32:52 <elliott> it's defensive programming!!
23:33:38 <FreeFull> elliott: Making sure that \0 really is a \0?
23:33:57 <elliott> what if buf is volatile
23:34:03 <FreeFull> true
23:34:18 <elliott> (then it's probably UB because you can't guarantee enough sync between the strlen and the write, or something)
23:34:49 <Bicyclid1ne> what if buf is actually a #define for an array access of an inline function call!!
23:34:52 <FreeFull> Anyway, for the string "a", strlen will give 1, which is the index of the \0
23:35:53 <FreeFull> I can see how fizzie made his error though
23:36:47 <FreeFull> ( you can tell I didn't read up first )
23:36:48 <idris-bot> (input):1:37: error: expected: "!!",
23:36:48 <idris-bot> "$", "$>", "&&", "&&&", "*",
23:36:48 <idris-bot> "***", "+", "++", "-", "->",
23:36:48 <idris-bot> ".", "/", "/=", ":+", ":-",
23:36:48 <idris-bot> "::", ":::", ":=", "<", "<#>",↵…
23:37:00 <FreeFull> Woops
23:37:04 <elliott> fizzie didn't make an error, he was quoting the daily wtf
23:37:10 <elliott> fizzie is an infallible language lawyer :p
23:37:19 <FreeFull> Ah, that's ok then
23:37:46 <Bicyclid1ne> you are under arrest for abrogation of language law
23:42:25 -!- AndoDaan has joined.
23:42:34 -!- dts|pokeball has joined.
23:46:25 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
23:51:28 -!- callforjudgement has joined.
23:54:29 -!- ais523 has quit (Ping timeout: 244 seconds).
2014-12-04
00:08:20 -!- Bicyclid1ne has quit (Ping timeout: 250 seconds).
00:16:59 -!- Bicyclidine has joined.
00:40:50 -!- Bicyclidine has quit (Ping timeout: 250 seconds).
00:45:40 -!- mihow has quit (Quit: mihow).
00:46:59 -!- mihow has joined.
00:53:02 <Taneb> Hmm, what is valid C but invalid/differently semanticated(?) C++?
00:53:25 <shachaf> char *p = malloc(n);
00:53:47 <Taneb> shachaf, elaborate?
00:54:33 <callforjudgement> Taneb: foo *x = allocateFoo(); if (!x) goto cleanup_foo; bar *y = allocateBar(); if (!y) goto cleanup_bar; /* ... */ deallocateBar(); cleanup_bar: deallocateFoo(); cleanup_foo: ;
00:54:43 <callforjudgement> I like that example because this is 100% idiomatic in C
00:55:07 <callforjudgement> in C++, you can't goto into the scope of a declaration
00:56:00 <callforjudgement> both my and shachaf's examples are pretty non-contrived, but shachaf's is easier to fix
00:56:08 <callforjudgement> Taneb: there are no implicit casts from void* in C++
00:56:17 <Taneb> Right
00:56:22 <Taneb> I can use this
00:56:28 <Taneb> I probably won't, but I can...
00:56:40 <callforjudgement> so you'd need to write "char *p = reinterpret_cast<char *>(malloc(n));"
00:56:42 -!- callforjudgement has quit.
00:56:51 -!- callforjudgement has joined.
00:56:54 <callforjudgement> [00:53] <callforjudgement> Taneb: foo *x = allocateFoo(); if (!x) goto cleanup_foo; bar *y = allocateBar(); if (!y) goto cleanup_bar; /* ... */ deallocateBar(); cleanup_bar: deallocateFoo(); cleanup_foo: ;
00:56:56 <callforjudgement> [00:53] <callforjudgement> I like that example because this is 100% idiomatic in C
00:56:57 <callforjudgement> [00:54] <callforjudgement> in C++, you can't goto into the scope of a declaration
00:56:59 <callforjudgement> [00:55] <callforjudgement> both my and shachaf's examples are pretty non-contrived, but shachaf's is easier to fix
00:57:00 <callforjudgement> [00:55] <callforjudgement> Taneb: there are no implicit casts from void* in C++
00:57:02 <callforjudgement> [00:55] <callforjudgement> so you'd need to write "char *p = reinterpret_cast<char *>(malloc(n));"
00:57:02 <Bike> got all of those
00:57:03 -!- callforjudgement has changed nick to ais523.
00:57:14 <Taneb> <Taneb> Right
00:57:15 <Taneb> <Taneb> I can use this
00:57:15 <Taneb> <Taneb> I probably won't, but I can...
00:57:17 <ais523> oh, well I didn't get any reply you may have made
00:57:38 <ais523> anyway, in both cases (mine and shachaf's), the C code is normally considered the correct way to write the program in C, by C experts
01:01:42 <elliott> isn't static_cast enough
01:02:35 -!- Bicyclidine has joined.
01:12:28 <oren> yeah but then what do you even do in c++ if you want to goto cleanup code?
01:12:55 <oren> i guess each declaration has to be in its own {} pair?
01:12:57 <elliott> raii
01:13:48 <Bike> more like raii bother, amirite folks
01:13:52 <oren> what if the object is a database transaction or something where the cleanup code may itself need to handle an error?
01:14:20 <oren> also raii doesn't mean what it stands for
01:15:55 <oren> it actually means allocate in constructor, deallocate in destructot
01:16:42 <oren> it has nothing to do with initializing members per se
01:16:55 <shachaf> good thing it's not called raimi
01:19:08 <elliott> it's not about allocation
01:19:11 <elliott> allocation is a special case.
01:20:12 <oren> allocation, acquireing locks, etc...
01:20:45 <elliott> "initialisation" doesn't mean initialisation of members.
01:20:48 <oren> point is, you take resources in constructor and release in dtor
01:20:51 <elliott> it means the initialisation that happens when a constructor is called.
01:21:15 <oren> initialization means copying a bunch of data into member vars.
01:21:29 <oren> that is not what raii is about...
01:21:46 <elliott> "In RAII, holding a resource is tied to object lifetime: resource allocation (acquisition) is done during object creation (specifically initialization), by the constructor"
01:21:57 <elliott> your interpretation is wrong
01:22:32 <elliott> should I copy paste every line I say correcting you multiple times? it seems like you just repeat your claim the first few times
01:22:41 <oren> constructor does more than initialization. constructor is arbitrary code, which may do whatever?
01:23:10 <elliott> "In RAII, holding a resource is tied to object lifetime: resource allocation (acquisition) is done during object creation (specifically initialization), by the constructor"
01:23:33 <oren> and your point. they are using word initialization loosely
01:23:42 <oren> to mean calling the constructor
01:24:12 <elliott> it's not "loosely".
01:24:15 <elliott> it's just "differently from you".
01:24:19 <oren> struct foo x= {221,345,635}; that is initialization
01:24:43 <oren> constructor can do whatever it wants, up to and including creaign files, etc
01:24:49 <elliott> I should really just put you on /ignore...
01:24:50 -!- Tesla43 has joined.
01:25:02 <Jafet> `` exec $(echo bin/*elcome* | shuf | head -n 1) elliott
01:25:06 <HackEgo> ova/erypbzr: Jrypbzr gb gur vagreangvbany uho sbe rfbgrevp cebtenzzvat ynathntr qrfvta naq qrcyblzrag! Sbe zber vasbezngvba, purpx bhg bhe jvxv: <uggc://rfbynatf.bet/>. (Sbe gur bgure xvaq bs rfbgrevpn, gel #rfbgrevp ba vep.qny.arg.)
01:25:15 <elliott> ty
01:25:16 <oren> well then is there a technical term for the initialization that i mean?
01:26:07 -!- Tesla43 has quit (Client Quit).
01:26:16 <oren> consider what is typically done in c++ initialiazation lists, for example.
01:26:37 <Bike> good news, there's a .bet tld
01:26:52 <oren> .bet? like gambling?
01:26:53 <elliott> I would say "initialisation of member fields" or "initialisation" when the context makes it obvious.
01:26:55 <Bike> Betting, when practiced responsibly, can be extremely enjoyable. It can also excite the passions, and command phenomenal attention and interest. Knowing this, we aim to unite these feelings under one electronic roof within this generic TLD (Top Level Domain) .Bet. Online betting has increasingly become part of everyday life for hundreds of millions of people, and nowadays online markets exist for betting on
01:27:00 <elliott> there's probably a technical term in the C++ standard
01:27:01 <Bike> just about anything.
01:27:16 <elliott> it may even be "initialisation" but that doesn't change the fact that RAII is just invoking the less specific meaning of initialisation
01:27:32 <Bike> An intuitive generic Top Level Domain (TLD) name makes .bet distinguishable from the broad bet-related content found across the Internet, and there are clear benefits to all those in the betting affinity group.
01:27:37 <elliott> "Other names for this idiom include Constructor Acquires, Destructor Releases (CADRe) [6]" my other car is a CADRe
01:28:00 <oren> Cadre is better.
01:28:06 <oren> I like that thanks
01:28:09 <Bike> my other car is a junta
01:29:20 <elliott> nobody knows what CADRe means. also it doesn't generalise as well to non-C++ languages
01:30:10 <oren> wll most every other language has automatic memory management so it isn't such a huge thing
01:30:24 <Taneb> elliott, Scheme has caddadr but I think that is different
01:30:25 <oren> (every other OO lanfgage i mean)
01:30:48 <elliott> RAII applies in non-OO contexts too
01:31:07 <elliott> depending on your definition of OO, anyway
01:32:08 <oren> i only have an informal one: a language in which setting a variable is not equivalent to a memcpy.
01:32:30 <oren> eg. it may do arbitrary things
01:33:33 -!- Bicyclidine has quit (Ping timeout: 255 seconds).
01:33:54 <Bike> register x equals zero
01:34:14 <elliott> that's your definition of OO??
01:34:22 <elliott> in Java every assignment is a memcpy.
01:35:13 <oren> there is no hidden behaviourof any non-function call construct?
01:35:14 <ais523> elliott: my understanding of the situation generally is that RAII is a good idea in general, but C++ makes it very difficult to use alternatives
01:35:35 <elliott> in java, x = y never does anything more complex than evaluating y and copying the result into x
01:35:40 <elliott> usually the result is a pointer
01:35:51 <elliott> (if Java has added = overloading recently I'm going to look so foolish)
01:36:11 <oren> good point.
01:36:13 <Bike> how will you ever live it down
01:36:14 <ais523> Java doesn't allow overloading of anything that doesn't look like a function call, AFAIK
01:36:19 <elliott> anyway, categorising high-level language attributes like object-orientation based on non-universal implementation details is pretty silly...
01:36:32 <ais523> function/method
01:36:39 <oren> but then why isn't C OO if I use FILE*?
01:37:03 <ais523> C is using encapsulation correctly if you use FILE*
01:37:11 <ais523> since C11, at least
01:37:17 <ais523> C89 and C99, FILE has to be a concrete struct
01:37:22 <ais523> or, well, concrete type generally
01:37:41 <oren> so with struct declarations, C is OO? that doesn't make sense.
01:38:12 <oren> e.g. declare struct foo; in header, define in .c file.
01:38:34 <elliott> you can use OO techniques in C.
01:38:34 <elliott> of course.
01:38:35 <ais523> oren: what is confusing you is that OO does not have a monopoly on good data hiding and encapsulation principles
01:38:37 <elliott> it's pretty popular.
01:38:46 <Bike> i was so excited to get to talk about reading frames last night. what a fool i was
01:38:55 <elliott> "OO language" is an ill-defined and vague term, anyway
01:39:00 <elliott> doesn't mean it's not useful
01:39:01 <ais523> just like dynamically typed languages do not have a monopoly on good testsuites
01:39:05 <elliott> but it does mean trying to lawyer your way around it is pointless
01:39:30 <oren> that is why I define it in terms of hidden behaviour of simple constructs?
01:39:42 <ais523> oren: would you consider :≠ object-oriented?
01:40:01 <elliott> god, I hate this channel so much
01:40:23 <Bike> this is like when someone was trying to talk about an equality operator in a very non C language as being "pointer equality", "like C", because C doesn't put things in registers ever
01:40:30 <Bike> i wonder if there's a ##biology
01:40:35 <elliott> I am a concentrated block of bitterness
01:40:38 <Bike> nope
01:40:41 <ais523> Bike: I define reference equality as "changing one of these things changes the other"
01:40:50 <Bike> oh, there is #biology
01:40:53 <Bike> ais523: much more sensible, yes
01:40:58 <oren> copy on write
01:41:01 <ais523> this is a pretty good definition of reference equality regardless of language, except when you have pointer arithmetic and pointers to subobjects
01:41:14 -!- Bike has left ("never").
01:41:18 <oren> what if copy on write?
01:41:24 <ais523> oren: in the case of reference equality, I'd say that a COW copy is not reference-equal
01:41:38 <ais523> COW is an optimization of copying the value
01:41:56 <oren> i guess that makes sense, but the pointers could be equal before you write
01:41:57 <ais523> which should be an implementation detail
01:42:16 <ais523> they still conceptually reference different objects
01:42:19 <oren> so reference equality isn't pointer equality
01:42:39 <ais523> pointer equality is hard to define
01:42:52 <ais523> there was a recent ongoing argument on comp.lang.c about that that lasted like a month
01:43:35 <ais523> basically, the argument was, if you have two arrays int x[2], int y[2], then is a compiler allowed to be inconsistent about whether x+2 == y?
01:43:37 <oren> pointer equality is easy to define on sane architectures
01:43:48 <oren> where a pointer is an integer
01:43:57 <ais523> gcc and clang can both return inconsistent results for this given suitable programs
01:44:06 <ais523> although this is probably technically a bug
01:44:37 <oren> it is allowed, but it breaks C's assemblerness to do so.
01:44:50 <elliott> C has very little "assemblerness" left.
01:44:57 <ais523> oren: what if a pointer is just an integer, but the compiler does optimizations?
01:45:12 <ais523> oren: anyway, I think you have quite a naive interpretation about what a computer is
01:45:21 <oren> like how?
01:45:31 <ais523> actually, the bigger misconception is that asm is somehow close to the hardware
01:45:48 <ais523> modern asms are basically just compression schemes for executables
01:45:50 <oren> asm isn't. microcode is.
01:45:52 <ais523> because memory bandwidth is so important
01:46:11 <oren> asm is calling subroutines in rom inside the CPU
01:46:13 <ais523> oren: well, what's the point of C being close to asm if asm isn't close to anything?
01:46:20 <ais523> and no, the CPU does optimization too
01:46:23 -!- S1 has quit (Quit: S1).
01:46:38 <ais523> when there's a bug in the CPU's optimizer, it can cause all sorts of pain
01:46:50 <ais523> normally the compilers are just taught to generate code that doesn't expose the bugs
01:47:02 <oren> asm is calling methods of the CPU object
01:47:12 <Taneb> I messed up 24-hour clocks again :(
01:47:18 <Taneb> Booked a train two hours early
01:47:30 <ais523> oren: CPUs are not very object-oriented
01:48:25 <elliott> oren: are you just trolling now
01:48:43 <oren> well no, but as a first approximation to how they work, they interpret their instruction set as a minimal esolang
01:48:59 <oren> using code written in a even more minimal esolang
01:49:11 <ais523> most asms aren't really that eso
01:49:15 <ais523> they typically all work in much the same way
01:49:21 <oren> but machine code it
01:49:23 <oren> is
01:49:39 -!- Phantom_Hoover has joined.
01:49:55 <oren> for example consider how inconsistent x86 is compared to 6502
01:50:07 <ais523> being inconsistent isn't normally enough by itself to make a language eso
01:50:10 <ais523> or PHP would be an esolang
01:50:22 -!- Bicyclidine has joined.
01:50:36 -!- Bicyclidine has quit (Client Quit).
01:50:40 <ais523> incidentally, my working definition of an esolang is "a language for which there's no point in writing an extensive standard library"
01:51:05 <ais523> pretty much all asms fail this test, unless they're for nonexistent processors
01:51:09 <ais523> e.g. redcode is probably an esolang
01:51:23 <elliott> imo all languages are esoteric, and words mean nothing, and ada isn't object-oriented because you run it on a VAX, and skateboarding is NOT a crime
01:51:35 <elliott> and I am president of the united states
01:51:49 <oren> I know nothingabout ada or vaxes
01:52:02 <oren> so for all i know you are right
01:52:20 <elliott> thank you. im glad this place is being reasoanble again
01:52:36 <oren> and how do i know that you are not Obama?
01:52:41 <ais523> it's easy to confuse the opinions of one person with the opinions of the whole channel
01:53:07 <oren> do VAXes have problems with OO?
01:53:25 <ais523> hmm, is it the VAX whose native function call mechanism can't do recursion?
01:53:28 <elliott> the US government outlawed object oriented programming when designing their `Vax' architecture
01:53:46 <ais523> that'd break encapsulation because you can't tell if a call is going to potentially recurse or not if you can't see its definition
01:53:46 <elliott> it's not secure enough.
01:55:16 <oren> hmm, compilers would have to make up their own call sequence
01:55:34 <oren> like saving stuff to a stack before recursing
01:55:40 <ais523> right
01:57:04 <elliott> ais523: isn't it varargs it can't do or something
01:57:08 <elliott> no wait
01:57:13 <elliott> VAX has an instruction to call a function with an argument list, right
01:57:18 <ais523> not sure
01:57:18 <elliott> that works for varargs
01:57:24 <elliott> CISC architectures are wild
01:57:28 <ais523> the convention I'm thinking of overwrites the first two bytes of the called function with the return address
01:57:31 <ais523> and doesn't have a stack at all
01:57:35 <elliott> by , right I mean I'm sure it's true, up to my memory functioning
01:57:37 <ais523> might not be vax though
01:57:56 <elliott> ais523: it should overwrite the target of an immediate jump instruction instead
01:57:57 <ais523> I'm pretty sure the convention exists; however, I'm not certain I've got the arch right
01:58:03 <elliott> at the end of the function
01:58:13 <ais523> elliott: then how would it know where the end of the function was?
01:58:30 -!- boily has joined.
01:58:42 <elliott> ais523: hmm
01:58:50 <elliott> there are several options, not sure which one is most amusing
01:59:19 <oren> this sounds like a terrible plan. i like it
01:59:37 <elliott> ais523: one is to have a pointer to the start of the function after that jmp
02:00:43 <oren> is there any reason why the assembler has to keep track of onlyone address for each function?
02:00:57 <ais523> memory bandwidth
02:01:07 <ais523> you want the encodings of your commands to be as short as possible
02:01:10 <oren> oh yeah that was low back then.
02:01:21 <ais523> actually, it's lower nowadays than it was back then, relative to CPU speeds
02:01:23 <elliott> ais523: OK, how about this: the jmp instruction is actually at the start of the function
02:01:30 <elliott> ais523: the CPU can run both forwards and backwards
02:01:32 <ais523> on old computers, the RAM could normally keep up with a CPU running at top speed
02:01:35 <elliott> jumping makes it run forwards
02:01:44 <ais523> on modern computers, there's no chance
02:01:50 <oren> now we use caches for that right?
02:01:53 <elliott> ais523: so to return, you do something like, when running forwards
02:02:01 <elliott> uhhh
02:02:07 <elliott> actually I had a good idea but now it seems not good
02:02:08 <elliott> never mind
02:02:11 <ais523> oren: caches are an attempt to work around the problem
02:02:17 <ais523> but they can only partially help
02:02:30 <ais523> because physical limits affect how much data you can store in them at a time
02:03:07 <oren> hey... question: can a cpu operate using only its cache as memory?
02:03:16 <oren> with no RAM external?
02:04:16 <oren> like we have cpus with MB of cache. way back when, 10MB was a lot.
02:04:31 <ais523> CPUs have multiple layers of cache
02:04:37 <elliott> oren: CPUs do operate that way when they boot up
02:04:39 <elliott> the RAM has to be initialised
02:04:42 <ais523> arguably the lowest level is the registers, and you can certainly do useful programs with just those
02:04:49 <ais523> but you're very limited in storage
02:05:32 <oren> so then i think it may be possible to run DOS entirely in cache.
02:05:52 <oren> look ma, no mmu or ram?
02:09:17 <ais523> oren: there are multiple caches
02:09:22 <ais523> you probably couldn't fit DOS into L1
02:09:33 <ais523> but L3 is very likely possible on the CPUs that have it, not sure about L2
02:10:09 -!- G33kDude has joined.
02:10:21 <oren> hmm... i'm gonna take all the ram out of my test box and try to boot it...
02:10:57 <oren> ehat even happens during startup if there is not ram?
02:13:40 <ais523> presumably, the RAM test fails
02:13:59 <ais523> most likely, you'll get a diagnostic produced the best way the computer's ROM knows how
02:13:59 -!- Froox has joined.
02:14:13 <ais523> if you're lucky, that'll be a message on the screen, but more likely it'll be a sequence of beeps
02:14:24 -!- Frooxius has quit (Read error: Connection reset by peer).
02:15:38 <oren> yup. despite having as mmuch memory inside CPU as the C64 even had, no graphics or text.
02:16:01 <Sgeo> I kind of want to try the Implicit Association Test at some point, but really scared to
02:19:27 <oren> what is that test in?
02:19:44 <oren> what field that is?
02:19:54 <ais523> oren: most likely, the problem is that the GPU uses memory mapping to know what it's supposed to say
02:19:58 <ais523> and with no RAM, there's no memory to map in
02:20:03 <ais523> not like the GPU can access the CPU cache
02:20:05 <oren> dang
02:20:20 <Sgeo> oren: tries to uncover subconscious biases
02:20:29 <Sgeo> iiuc
02:21:00 <oren> i guess we'll have to wait for system-on-a-chip
02:23:41 <oren> yeah i can see why that would be scary...
02:26:23 -!- ais523 has quit.
02:27:05 -!- G33kDude has changed nick to GeekDude.
02:42:03 -!- shikhout has joined.
02:45:21 -!- shikhin has quit (Ping timeout: 264 seconds).
02:54:23 <oren> so my dad dug up a msdos floppy... lo and behold it still works
02:54:40 <oren> A:\>
02:55:33 <oren> really nintendo has nothing on intel when it comes to backward compatibility
02:56:30 <boily> ah, the days of B:...
03:00:28 -!- boily has quit (Quit: OCCLUSAL CHICKEN).
03:12:04 <paul2520> oren: that's awesome. I have a floppy drive connected to my pi, and really enjoyed digging up some old floppies to see what was on them
03:12:21 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
03:50:01 -!- shikhout has quit (Ping timeout: 240 seconds).
03:51:19 -!- Frooxius has joined.
03:51:36 -!- Froox has quit (Read error: Connection reset by peer).
04:08:37 <oren> I am now learning QBASIC
04:28:48 -!- bb010g has joined.
04:29:19 <oren> About how much work would it be to get DOOM working?
04:31:17 <shachaf> whoa
04:31:25 <shachaf> archive.org has old versions of sourcereal.com
04:31:53 <shachaf> "Many spices are found in sour cereal. There is cumin, which has a cumin flavor, and adds a cumin flavor to the cereal. There is also fenugreek which actually lends a sour flavor to the cereal. Also, in sourcereal, can be found oregano seeds. Sourcereal has cilantro as well. Cilantro can be added to the sour cereal after it has finished cooking. Cilantro is almost always found in sour cereal."
04:31:59 <shachaf> and ads
04:32:01 <shachaf> all sorts of things
04:43:12 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:50:37 -!- Lymia has quit (Remote host closed the connection).
05:05:31 -!- yorick has quit (Ping timeout: 258 seconds).
05:05:34 -!- yorick_ has joined.
05:10:32 -!- oren_ has joined.
05:10:59 -!- oren has quit (Ping timeout: 258 seconds).
05:11:00 -!- paul2520 has quit (Ping timeout: 258 seconds).
05:11:07 -!- oren_ has changed nick to Oren.
05:11:51 -!- paul2520 has joined.
05:46:43 -!- AndoDaan_ has joined.
05:49:22 -!- AndoDaan has quit (Ping timeout: 245 seconds).
05:56:44 -!- AndoDaan_ has quit (Ping timeout: 250 seconds).
06:00:56 -!- AndoDaan has joined.
07:11:18 -!- CakeMeat has joined.
07:11:34 <CakeMeat> Replace every vowel in your name with oob
07:17:37 <fizzie> Why would we want to do that, CoobkoobMooboobt?
07:25:55 <CakeMeat> >_<
07:26:13 <CakeMeat> Why not foobzzooboob
07:27:14 -!- ZombieAlive has quit (Remote host closed the connection).
07:32:31 <fizzie> Because it would look: silly.
07:32:34 <Oren> oobroobn
07:32:53 -!- Oren has changed nick to oobroobn.
07:33:00 <oobroobn> there
07:34:15 <oobroobn> btw QBASIC is awesome. i am gaining a great respect for Microsoft.
07:37:52 -!- Patashu has joined.
07:39:19 * int-e wonders how close to 13 years old CakeMeat is.
07:40:51 <oobroobn> qbasic is a better ide than most modern ones - for example it dynamically formats your code to be readable, as you type it.
07:47:05 * CakeMeat slaps int-e
07:47:27 <CakeMeat> Dont be rude i was just trying to lighten the mood in here
07:47:36 -!- oobroobn has changed nick to arbrarbn.
07:48:41 <CakeMeat> QBASIC is probably the only thing i appreciate in terms of Microsoft
07:50:10 <arbrarbn> i still can't quite fathom that a disk my dad copied in 1994 works in a 2009 computer
07:51:01 <CakeMeat> ?? magic
07:51:01 <lambdabot> magic
07:51:29 <CakeMeat> Lambdabot agrees
07:51:43 <arbrarbn> the magic of intel making every processor an extention of previous processors i gusss
07:53:11 <int-e> > reverse "mood"
07:53:13 <lambdabot> "doom"
07:53:40 <arbrarbn> i want to get doom working now
07:54:09 <CakeMeat> Why would you change your name to arbarbn
07:54:21 <CakeMeat> Also im in the mood for doom
07:54:41 -!- arbrarbn has changed nick to yaaryaan.
07:55:40 <yaaryaan> if i can find the original game for DOS that would be epic
07:58:11 <elliott> int-e: didn't you hear? CakeMeat is 25, and married with three kids and one more on the way, with his broken CPU core :p
07:59:21 <int-e> elliott: I'll take your word for it. I'm too lazy to check the logs.
08:00:04 <CakeMeat> :I
08:00:32 <CakeMeat> I enjoy your company elliott
08:00:43 <CakeMeat> Its a treat
08:02:20 <elliott> same
08:15:13 -!- Phantom_Hoover has joined.
08:16:37 <int-e> aww, codu no longer does rsync?
08:17:29 <elliott> doesn't it?
08:17:31 <elliott> !logs
08:17:37 <elliott> 08:16:46 [freenode] -glogbot(dlopen@libdl.so)- Logs: http://codu.org/logs/_esoteric/ . Also available via rsync: rsync --size-only -avz rsync://codu.org/logs/_esoteric/ logs/
08:23:06 <int-e> Yes, that's what I have: rsync --size-only -avz rsync://codu.org/logs/_esoteric/ .
08:23:15 <int-e> rsync: failed to connect to codu.org (64.62.173.65): Connection refused (111)
08:23:18 <int-e> and that's what I get.
08:24:12 <elliott> ah, hm.
08:24:14 <elliott> it worked for me recently.
08:24:18 <int-e> Oh well, wget -c does the trick as well.
08:24:39 <elliott> I could give you a compressed copy of the #esoteric logs if you'd like.
08:25:02 <int-e> I'm good.
08:26:04 <int-e> rsync worked before, I'm just grabbing a coupe of recent logs.
08:28:29 <yaaryaan> why not a sedan of recent logs?
08:29:07 <int-e> argh.
08:34:37 <int-e> elliott: aww, I think you made up everything you just said about CakeMeat. I'm so dreadfully disappointed.
08:35:02 <elliott> int-e: no, CakeMeat made it up
08:35:07 <elliott> you may also know him as Dulnes
08:36:07 <int-e> oh
08:45:03 <int-e> Oh James Stirling seems to have had an interesting life... "Fearing assassination on account of having discovered a trade secret of the glassmakers of Venice, he returned with Newton's help to London about the year 1725."
09:05:15 -!- HackEgo has quit (Ping timeout: 250 seconds).
09:07:54 -!- HackEgo has joined.
09:30:42 -!- oerjan has joined.
09:41:22 -!- mroman has changed nick to mroobmoobn.
09:42:07 <mroobmoobn> !blsq "b~"{"oobs"}f~
09:42:08 <blsqbot> | "boobs"
09:42:43 <oerjan> `relcome mroobmoobn
09:42:45 <HackEgo> mroobmoobn: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
09:43:21 <oerjan> you look so nooby today so you get a `relcome
09:43:37 <shachaf> 23:10 <CakeMeat> Replace every vowel in your name with oob
09:43:50 <oerjan> fiendish
09:44:50 <mroobmoobn> ORLY?
09:45:47 <oerjan> YRLY
09:46:32 <shachaf> ørjanly? yaaryaanly
09:46:47 <mroobmoobn> oobrly
09:46:52 <mroobmoobn> yoobrly
09:46:53 <oerjan> shoochoof
09:50:41 <shachaf> It would sure be nice if English had a clear way to write long and short vowels of all varieties.
09:50:54 <shachaf> If you want a short "ee" you can try "i" but you're usually out of luck.
09:51:16 <shachaf> And s/"ee"/"oo"/ s/"i"/"u"/
09:56:19 <oerjan> english spelling is so ghotie
09:57:40 <shachaf> that's such a terrible example :'(
10:00:21 <oerjan> it was meant to be terrible hth
10:04:29 <shachaf> those things come up in contexts not on their own
10:04:49 <shachaf> of all the ways you could make fun of english spelling why would you choose a terrible one
10:05:36 <oerjan> phyandish
10:08:05 -!- AndoDaan has quit (Ping timeout: 256 seconds).
10:26:52 -!- mitchs_ has joined.
10:30:21 -!- mitchs has quit (Ping timeout: 264 seconds).
10:41:42 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
11:03:53 -!- S1 has joined.
11:05:30 -!- Phantom_Hoover has quit (Remote host closed the connection).
11:05:47 -!- Phantom_Hoover has joined.
11:08:34 -!- mihow has quit (Read error: Connection reset by peer).
11:09:52 -!- mihow has joined.
11:13:45 -!- boily has joined.
11:14:47 -!- CakeMeat has quit (Quit: Connection closed for inactivity).
11:17:31 -!- sebbu2 has joined.
11:18:10 -!- sebbu2 has quit (Changing host).
11:18:10 -!- sebbu2 has joined.
11:18:42 -!- sebbu has quit (Ping timeout: 240 seconds).
11:34:22 -!- FreeFull has quit (Ping timeout: 245 seconds).
11:35:07 -!- FreeFull has joined.
11:40:27 -!- S1 has changed nick to S0.
11:51:55 <quintopia> pretty impressed with this brainfuck-in-rust's-type-system thing
11:55:07 -!- Patashu has quit (Ping timeout: 250 seconds).
12:03:17 -!- S0 has changed nick to |S}.
12:05:32 -!- |S} has changed nick to S0.
12:06:38 -!- S0 has changed nick to |S}.
12:26:33 -!- boily has quit (Quit: INFIX CHICKEN).
12:31:11 <Jafet> The poem "The Chaos" has ample examples, though "Foeffer" is doubtful.
12:32:21 -!- |S} has changed nick to S1.
12:34:07 <J_Arcane> I love reading the Haskell sources.
12:52:08 -!- S1 has changed nick to S0.
12:56:39 -!- S0 has changed nick to S1.
13:07:07 -!- FreeFull has quit (Ping timeout: 258 seconds).
13:08:24 -!- FreeFull has joined.
13:08:31 -!- ZombieAlive has joined.
13:23:26 -!- yorick_ has changed nick to yorick.
13:24:28 -!- S1 has changed nick to S0.
13:48:06 <HackEgo> [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41327&oldid=41260 * TomPN * (-3) /* Hello World! */
14:01:33 <HackEgo> [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41328&oldid=41327 * TomPN * (+3) /* Hello World! */
14:04:04 -!- GeekDude has joined.
14:06:25 -!- cluid has joined.
14:10:27 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]).
14:13:17 -!- S0 has changed nick to S1.
14:20:59 -!- J_Arcane has joined.
14:27:50 -!- drdanmaku has joined.
14:54:47 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
15:01:39 -!- `^_^v has joined.
15:05:48 -!- oerjan has quit (Quit: Later).
15:07:56 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41329&oldid=41318 * SuperJedi224 * (+1785)
15:10:07 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41330&oldid=41329 * SuperJedi224 * (-38)
15:14:11 -!- GeekDude has joined.
15:31:56 -!- ZombieAlive has quit (Remote host closed the connection).
15:32:55 -!- ZombieAlive has joined.
15:40:50 -!- Sprocklem has joined.
15:47:58 -!- sebbu2 has changed nick to sebbu.
15:54:46 -!- adu has joined.
16:04:02 -!- olsner has quit (Ping timeout: 240 seconds).
16:04:32 -!- olsner has joined.
16:06:06 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41331&oldid=41089 * TomPN * (+109) /* Example programs */
16:06:24 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41332&oldid=41331 * TomPN * (+0) /* Hello World! */
16:06:40 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41333&oldid=41332 * TomPN * (-109) /* Example programs */
16:07:37 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41334&oldid=41333 * TomPN * (+95) /* Example programs */
16:07:54 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41335&oldid=41334 * TomPN * (-3) /* Example programs */
16:08:04 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41336&oldid=41335 * TomPN * (-187) /* Example programs */
16:08:16 <int-e> @metar LOWI
16:08:17 <lambdabot> LOWI 041550Z VRB02KT 9999 FEW060 SCT090 BKN300 06/04 Q1012 NOSIG
16:13:05 <S1> what was the prefix for HackEgo again?
16:18:41 -!- nyuszika7h_ has joined.
16:18:57 -!- nortti_ has joined.
16:18:58 <int-e> `help
16:18:58 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
16:19:14 <S1> meh I thought it was '
16:19:28 <int-e> 'help
16:19:37 <S1> I tried it already (duh)
16:19:42 -!- KingOfKarlsruhe has quit (Ping timeout: 265 seconds).
16:19:45 -!- nyuszika7h has quit (Ping timeout: 265 seconds).
16:19:45 -!- fizzie has quit (Ping timeout: 265 seconds).
16:19:45 -!- nortti has quit (Ping timeout: 265 seconds).
16:19:56 * int-e says: help
16:20:00 -!- KingOfKarlsruhe has joined.
16:20:27 -!- nortti_ has changed nick to nortti.
16:21:06 <int-e> `unidecode ;;
16:21:09 <HackEgo> ​[U+037E GREEK QUESTION MARK] [U+003B SEMICOLON]
16:26:47 -!- fizzie has joined.
16:30:30 -!- adu has quit (Quit: adu).
16:33:59 -!- ZombieAlive has quit (Remote host closed the connection).
16:35:04 <int-e> > 1
16:35:05 <lambdabot> 1
16:35:26 -!- lambdabot has quit (Remote host closed the connection).
16:36:44 <int-e> (The provider just announced a reboot, so that's happening right now... they really need to improve their stability or I'll have to look for another one...)
16:39:41 -!- adu has joined.
16:48:21 -!- S1 has quit (Quit: S1).
16:51:38 <int-e> okay, it's coming back.
16:52:44 -!- GeekDude has quit (Read error: Connection reset by peer).
16:52:58 -!- GeekDude has joined.
16:55:02 -!- lambdabot has joined.
16:55:25 <int-e> @bot
16:55:33 <lambdabot> :)
17:02:47 -!- Sprocklem has quit (Ping timeout: 250 seconds).
17:03:54 <int-e> hehe, 26303 elo rating, quite impressive. http://2700chess.com/
17:05:22 <int-e> aww, it's fixed.
17:06:26 -!- zzo38 has joined.
17:16:28 -!- yaaryaan has quit (Quit: Lost terminal).
17:20:05 <FireFly> int-e: that's a good bot prefix ("^AACTION is", that is)
17:20:21 <FireFly> er, s/is/says: /2
17:20:25 <b_jonas> FireFly: I propsed color codes as a bot prefix
17:20:39 <FireFly> Also a good idea
17:20:53 <J_Arcane> µ
17:20:54 <FireFly> ^O would be discrete
17:21:06 <FireFly> er, discreet maybe
17:21:15 <FireFly> subtle is probably a better word choice
17:22:14 -!- adu has quit (Quit: adu).
17:25:14 -!- nyuszika7h_ has changed nick to nyuszika7h.
17:27:57 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:33:53 -!- Sprocklem has joined.
17:36:16 -!- adu has joined.
17:36:56 <cluid> does anyone use zarfs IF viewer
17:37:43 <cluid> http://www.eblong.com/zarf/xzip.html
17:37:48 <cluid> i wanted to run it, but it wont work/
17:40:45 <zzo38> I have written a Z-machine implementation, too, called ZORKMID
17:41:04 <zzo38> Which uses plain C so shouldn't need X or anything like that
17:41:16 -!- ZombieAlive has joined.
17:41:36 <cluid> I was mostly interested in how he made a GUI in X, i want to make a GUI
17:41:57 <zzo38> Well, I don't know much about making anything in X
17:42:09 <cluid> I also wondered how to compile inform to zcode, but it looks quite a lot of work so I probably wont look into that
17:42:48 <cluid> zzo38, what about making an IRC channel through which people can play zork? (as a group)
17:44:13 <zzo38> I think ifMUD has something like that?
17:45:59 <zzo38> Note "ZORKMID" is short for "Zork Machine Interpreter and Debugger"
17:47:55 <zzo38> You can also learn how a Z-machine implementation is working by looking at its source-codes and you can do other thing if you want with it since it is in the public domain.
17:48:46 <b_jonas> oh, so that's what zorkmid stands for! I knew it had to do with zork.
17:49:24 <zzo38> Well, this is only what my own program called "ZORKMID" stands for anyways.
17:49:33 <b_jonas> oh...
17:49:34 <b_jonas> um
17:49:49 <cluid> zorkmid also means zork currency??
17:49:56 <zzo38> Currently it is only an implementation of ZIP. Later I can make implementation of EZIP and called it EZORKMID.
17:50:36 <zzo38> cluid: Yes it is also that
17:51:43 <cluid> do you have any tips if i find IF games very hard?
17:53:04 <zzo38> No, I don't have any myself, although you could look it up
18:15:58 -!- adu has quit (Quit: adu).
18:36:11 <FreeFull> You should have named it GRUE
18:36:37 <FreeFull> Well, ZORKMID is a good name too
18:37:02 -!- Sprocklem has quit (Ping timeout: 240 seconds).
18:39:42 <zzo38> Why do you want to call it GRUE?
18:41:47 <zzo38> Does it stand for anything?
18:41:56 <int-e> it's just a creature
18:42:11 -!- oren has joined.
18:42:43 <zzo38> Yes I know
18:43:06 <zzo38> But I wanted to make the name short for "Zork Machine Interpreter and Debugger", that's why I didn't call it GRUE
18:43:55 <int-e> a weak attempt: Game RUntime Environment
18:44:59 -!- MoALTz has joined.
18:45:03 <cluid> my code isnt working :(
18:45:12 <oren> what code is it?
18:45:23 <int-e> missile launch code?
18:46:04 <cluid> its emitting c code, but it got interpreted wrong so the output is wrong
18:46:23 <oren> if(attack=TRUE)sub.launch("ICBM");
18:47:13 <int-e> Wrong, hmm. Did you rely on unspecified or undefined behaviour?
18:47:29 <zzo38> cluid: What code is that?
18:47:45 <cluid> its my lisp code
18:47:54 <cluid> i have been writing it a long time and its bad
18:48:03 <oren> lisp emitting C? cool!
18:48:40 <int-e> (I wonder how C code can be interepreted wrong rather than being wrong in the first place. Okay, it could be a compiler bug...)
18:49:08 <oren> probaby he means the code the lisp is reading is being interpreted wrong.
18:49:23 <int-e> Oh, the many meanings of "it". You could be right.
18:49:51 <oren> are you also probaby?
18:50:10 <int-e> I read that as "probably"
18:50:26 <oren> i know, its what i meant originally
18:50:38 <int-e> I mean, I didn't even see the typo.
18:51:01 <int-e> Anyway, I'm neutral about babies.
18:55:13 <oren> well anyway i think languages should be designed so they are easy to parse. Lisp is a very good example.
18:55:59 <oren> so if you can't get a parser working, it's probably the language designer's fault
18:56:27 <oren> (assuming you are a competent programmer for most things)
18:56:42 <int-e> I don't like Lisp's (lack of) syntax at all.
18:56:59 <oren> How about J? (also easy to parse)
18:57:50 <oren> what languages are your favorites?
18:58:53 <Melvar> oren: I disagree, a language should be easy for a human to parse. That generally means whitespace-sensitive.
18:59:07 <Melvar> Indentation-sensitive specifically.
18:59:33 <oren> if a language is indentation sensitive it should disallow the tab character
19:00:08 <oren> that would make it much easier to parse
19:00:12 <Melvar> That would actually be fine with me.
19:01:14 <oren> because if the only indent char is space, then it reduces to a simple count.
19:01:29 <Melvar> > filter isSpace [minBound .. maxBound]
19:01:30 <lambdabot> "\t\n\v\f\r \160\5760\6158\8192\8193\8194\8195\8196\8197\8198\8199\8200\8201...
19:02:13 <oren> ok just disallow any whitespace other than \n and space
19:02:54 <oren> that would also allow code editor to use tab-completion
19:03:42 <oren> how do you even type a vertical tab or a form feed?
19:03:44 <myname> just make it like makefiles, only allow tabs
19:04:20 <oren> noo. tabs only in non-whitespace-sensitive languages!
19:04:47 <oren> when i see python first thing i do is change the tabs to spaces.
19:05:39 <Melvar> > isSpace ' '
19:05:40 <oren> in C i change spaces to tabs
19:05:41 <lambdabot> True
19:06:02 <oren> is that weird?
19:06:12 <fizzie> > length $ filter isSpace [minBound .. maxBound]
19:06:14 <lambdabot> 23
19:08:16 <Melvar> Hm, I wonder how GHC reacts to double-wide characters in places they would influence indentation …
19:08:39 -!- Frooxius has quit (Quit: *bubbles away*).
19:09:50 <oren> what like an ideographic space?
19:10:31 <oren> should disallow them but what do i know?
19:10:38 <Melvar> No, an ideographic identifier before a case or where or something.
19:10:44 <oren> oh....
19:11:21 <oren> should be treated as 2 chars wide, that is standard in those languages.
19:12:05 <int-e> oren: I happen to be quite attached to parsing numerical expressions with their usual precedences and evaluation order.
19:13:25 <int-e> But at least it looks like J wouldn't make me (or my editor) count parentheses all the time.
19:14:42 <oren> i think if you need proper algebra it should be a sub-language in the same way as regexes
19:16:11 <oren> that way it does not overcomplicate the parser for the rest of the language. algebraic expressions can be treated as black boxes be the parser.
19:16:53 <oren> becuase most code is not overly mathematical
19:17:06 <Melvar> It appears GHC treats double-wide chars the same as single-wide chars. Meaning the indentation looks weird in the case I contrived.
19:21:18 <int-e> oren: So I have two objections, I think. One is, now I have to rely on some third part (not the compiler, and not me) to give me useful syntax errors. That's the smaller concern. The bigger concern is that there will be a proliferation of slightly incompatible algebraic notations in the wild. How do you avoid that?
19:21:29 <int-e> In any case you've merely shifted complexity.
19:24:31 <oren> programming languages already have a proliferation of incompatible algebraic notations.
19:24:45 <oren> that is what the algolsphere is
19:25:00 <int-e> (I happen to be a fan of Haskell, a language that is quite difficult to parse. For the most part I actually like all the syntactic sugar.)
19:25:31 <int-e> Melvar: I'm only using ASCII though ;-)
19:27:52 <cluid> oren, i LIke simple syntax language like lisp and forth, infix operators are good to save on brackets though
19:28:01 <oren> consider 3^5. it is 6 under C derivatives, and 243 in other languages
19:28:33 <int-e> oren: I know. I was talking about this kind of thing happening inside a single programming language.
19:28:48 <zzo38> I also am only using ASCII and as far as I am concerned non-ASCII characters should only be allowed inside of string literals and comments.
19:29:08 <oren> oh. yeah what you do is standardize it for each language, like PERL has its standard regexes
19:29:48 <oren> but the point is there would be a delimiter enclodsing "algebraic mode" from the rest of the language.
19:30:15 <cluid> oren, Yes
19:30:19 <Melvar> I have a bunch of times used greek letters when the most fitting latin letters were already taken.
19:32:20 <oren> i think all letters that look different from others should be allowed. so τ would be allowed but not Ε.
19:33:22 <oren> or the program could be reduced to a "lookalike normal form" before being parsed
19:33:28 <Melvar> That’s probably harder to do than parse indentation-sensitive language.
19:33:46 <HackEgo> [wiki] [[GridScript]] http://esolangs.org/w/index.php?diff=41337&oldid=41291 * SuperJedi224 * (+0) /* Command Summary */
19:33:54 <oren> yeah best to just select which chars look different enough
19:33:55 <cluid> I finally got my code to work
19:34:02 <cluid> it was a really horrible experience
19:34:28 <Melvar> I meant, selecting and enumerating which letters are allowed or not is harder than etc.
19:36:15 <oren> why? you only do it once, and then just keep a list and use the unicode equivalent of strpbrk
19:36:52 <Melvar> wcspbrk?
19:37:02 <oren> and that would happen in the lexer not the parser anyway
19:37:16 <cluid> oren, how is scrip7 going
19:37:39 <oren> i am still creating a better notation for hexes.
19:37:43 <cluid> cool
19:37:48 <Melvar> oren: Also, the doing it once was the thing I meant.
19:39:11 <oren> oh, i think it is that hard, so long as you are limiting to chars used in math
19:40:17 <oren> just the latin greek and hebrew alphabets
19:40:31 -!- Sprocklem has joined.
19:41:27 <oren> i also have to work on school stuff still so i don't expect to be done for a while
19:43:12 <Melvar> Obfuscation exercise: use unicode bidi to write a program that looks like it does something different.
19:44:48 <oren> i guess if you can reverse division...
19:45:13 <Melvar> > let foo = א"ב" where א = id; ב = id in foo
19:45:15 <lambdabot> "\1489"
19:45:29 <Melvar> > var $ let foo = א"ב" where א = id; ב = id in foo
19:45:30 <lambdabot> ב
19:45:40 <olsner> spec obfuscation exercise: extend the bidi algorithm to be turing complete without anyone noticing
19:46:44 <Melvar> If bidi is working, the the א"ב will be shown RTL, so it looks like the א is inside the quotes.
19:47:21 <oren> my font shows hebrew in data order
19:47:59 <oren> or maybe it's the terminal's fault
19:48:03 <Melvar> It’s independent of your font, only dependent on the program doing the text rendering.
19:48:20 <oren> i am using irssi in xfce4-terminal
19:48:31 <Melvar> Not many terminals do this, the only one I’ve heard of is iTerm I think.
19:48:58 <Melvar> Certainly my terminals show them in data order.
19:50:01 <oren> php has a function for converting hebrew
19:50:25 <oren> because it was invented in israel
19:51:12 <Melvar> “converting”?
19:51:39 <oren> hebrev : converts logical heberw text to visual
19:51:57 <Melvar> … that’s horrible.
19:52:23 <cluid> is there a way to tel the c compiler to figure out function prototypes instead of assuming everything is returning int?
19:52:31 <oren> no.
19:52:46 <oren> you need to declare everything
19:53:04 <oren> at the top of the page
19:53:11 <oren> like a book report
19:53:34 <cluid> the problem is i cant be bothered adding code to do it
19:54:52 <oren> if you use my style you can simply copy the first line of the definition, with { changed to ;
19:55:10 <oren> to the top of the file
19:55:59 <cluid> i have code that does this
19:56:15 <cluid> i just hoped i could get it without having to add a flag to run with that option
19:56:41 <oren> huh???
19:58:28 <cluid> im lazy
19:58:50 <oren> why would you need a flag? it should always declare all functions
19:59:56 <cluid> good idea
20:00:27 <oren> declare allthethings.jpg
20:02:09 -!- Phantom_Hoover has quit (Ping timeout: 272 seconds).
20:05:12 -!- Patashu has joined.
20:10:17 <FreeFull> Intercal suggests comefrom could be used for concurrency, but that's true for goto as well
20:10:24 <FreeFull> There is a 1 to 1 mapping between comefrom and goto
20:11:04 <zzo38> Yes, although with computed comefrom it becomes a bit different
20:11:09 <oren> i have used gcc's computed gotos for coroutines before
20:11:33 <FreeFull> Computed comefrom would be interesting
20:16:12 <zzo38> Some implementations of INTERCAL have it.
20:16:30 <oren> hmm you could generalize to a TOFROM statement that links two arbitrary lines
20:16:53 <oren> 50 TOFROM 170 456
20:17:14 <oren> makes program code go from 170 to line 456
20:17:47 <cluid> 51 TOFROM 170 123
20:17:56 <cluid> should it choose randomly?
20:18:06 <oren> or maybe hey overwrite
20:18:23 <Melvar> Fork.
20:18:31 <oren> YES
20:18:59 -!- MoALTz has quit (Quit: Leaving).
20:19:15 -!- Sprocklem has quit (Ping timeout: 272 seconds).
20:20:44 -!- cluid has quit (Quit: Leaving).
20:20:59 <oren> computed TOFROM
20:22:55 <b_jonas> oh, nice
20:23:13 <b_jonas> cluid: it should fork, like that intercal extension
20:24:59 <oren> for thorough unreadability combine with COBOL copybook like things
20:25:18 <myname> omg why didn't i know the flip-flop operator in ruby?
20:27:35 <oren> because it isn't in any other languge afaik
20:27:52 -!- Patashu has quit (Ping timeout: 252 seconds).
20:28:14 <fizzie> Perl's got a flip-flop operator.
20:28:21 <fizzie> I don't know/remember how similar it is with Ruby's.
20:28:22 <myname> http://juliansimioni.com/blog/2014/12/03/deconstructing-fizz-buzz-with-flip-flops-in-ruby/
20:28:31 <myname> not sure if genius or crazy
20:29:40 <oren> oh it is in PERL. i hve never used it though
20:31:05 <oren> I like putting langugae names in all caps. i am writing a thing for school in MATLAB and PYTHON
20:31:18 <myname> i like J
20:31:28 <oren> like i'm shouting the name of the language
20:31:31 <myname> or APL or INTERCAL
20:32:32 <oren> or RUBY or PHP or OBJECTIVE C
20:32:43 <oren> C PLUS PLUS!!!!!
20:35:21 <Taneb> Is there any esolang that actually has procedure calls?
20:36:20 <FireFly> What defines a procedure call?
20:37:31 <oren> s7 can have them if you code it directly. you can jump anywhere
20:38:04 <zzo38> INTERCAL has NEXT which can be used for procedure calls; some implementations also have lectures which is another kind of procedure calls
20:38:08 <oren> by assigning to the program counter
20:38:51 <fizzie> Rail is very procedural, at least for some definitions of.
20:39:09 <Taneb> Like, with parameters and stuff
20:39:45 <zzo38> INTERCAL can also use stashed variables so that you can do something like local variables, and also enslaving variables.
20:40:28 <oren> procedures are a very traditional, un esoteric thing.
20:41:05 <Taneb> I think abstractions in general are a very traditional, un-esoteric thing
20:41:05 <fizzie> Well, Rail doesn't do "parameters and stuff" very explicitly, since it's stack-based, but still.
20:41:12 <oren> exaclty
20:41:21 <fizzie> Glass has methods and all.
20:41:37 <Taneb> (I have to write an essay on the difference between call-by-value and call-by-reference and one of my friends dared me to work an esolang in)
20:41:54 <FireFly> Taneb: maybe object disoriented
20:42:41 <oren> maybe MUMPS?
20:44:23 -!- dario_ has joined.
20:44:33 -!- dario_ has left.
20:46:03 -!- S1 has joined.
20:46:12 <FireFly> I'm not sure if that counts as an esolang
20:47:49 -!- nys has joined.
20:51:56 <fizzie> Funciton has functions that are... hm. I think they're maybe call-by-value, more or less. Maybe it's not the clearest example. I'm not so clear on the evaluation rules of it.
20:53:35 <fizzie> It's not like you could "assign" anything, you just connect the wires.
21:03:27 <fizzie> LOLCODE is call-by-value, and often considered an esolang, but it's quite boring, and you probably shouldn't promote it.
21:03:40 <myname> indeed
21:03:49 <myname> it's fun to read a feature or two
21:04:00 <myname> after that it becomes quite boring
21:05:32 <oren> ruby vs C
21:05:39 <oren> which is more confusing
21:05:49 <myname> C
21:06:05 <oren> using ^ for xor or using .. as a conditional
21:06:25 <myname> what's the deal of using ^ for xor?
21:07:21 <oren> yeah that is one part where scrip7 differs from C. i hate that operator... i used \ but i may change it to something else
21:08:34 <myname> \ doesn't sound anything more logical than ^ to me
21:09:13 <oren> well \ was only in ascii so you could make logical operators by doing /\ and \/
21:09:17 -!- adu has joined.
21:10:02 <oren> hmm maybe xor should be x
21:11:33 -!- adu has quit (Client Quit).
21:11:52 <oren> what is the best notation for xor?
21:13:48 <oren> oh what about (+)?
21:14:14 <shachaf> juxtaposition
21:14:17 <oren> like I(+)0xf0f0
21:14:37 <myname> horrible idea if you use () somewhere else
21:14:49 <myname> (a + b)(+)(c + d)
21:14:53 <shachaf> If you mean ⊕ you should say ⊕.
21:15:00 <shachaf> (+) looks like non-infix +
21:15:07 <FireFly> J just has -: inequality act as xor
21:15:15 <FireFly> er
21:15:17 <FireFly> ~: I mean
21:15:37 <oren> there is no parse tree in this language. all statements are of the form var operator (var or literal)
21:15:49 <oren> and there are exactly 8 vars
21:16:03 <fizzie> If you actually do have \/ and /\ as operators, clearly the only choice is to use _\/_ then.
21:16:42 <oren> I don't and anyway \ is a yen sign in my font.
21:17:19 <oren> i am using c operators except ^ which is pow
21:18:02 <oren> so i need a different symbol for xor
21:19:13 <oren> hmm " ' \ ? @ ` and many letters are not taken
21:19:31 <FireFly> 'x'?
21:19:46 <oren> yeah that sounds good, i'll use x
21:19:59 <oren> so, ixi zeroes i
21:20:31 <FireFly> What are those eight variables called?
21:20:49 <oren> their notation differs according to type.
21:22:15 <oren> there is a table in the article. essentially, when variable 0 points to a char it is a, short A, int i, int64 I, pointer p, float u, double U and the variable's address is P
21:23:22 <oren> and this continues for six letters, and then the instuction pointer is g/G and the return pointer is h/H
21:25:14 <oren> so if P points to a struct{double x,y;int type;} then you can write its members like this: U:4.5 U:3.5 i:3
21:25:59 <oren> the : operator writes the current object and moves to the next
21:27:49 <myname> oren: variables can't be named ixi then?
21:28:18 <oren> there are 8 variables each with 8 or 2 names, each name 1 char
21:28:28 <myname> okay
21:29:22 <oren> ixi unabigiously means *(int32_t*)(var[0])^=*(int32_t*)(var[0]);
21:31:27 -!- AnotherTest has joined.
21:31:37 <oren> when i am finished the new version, all shall be made clear
22:01:34 -!- AnotherTest has quit (Remote host closed the connection).
22:20:30 <oren> yes... i will make everyhting biguous.
22:22:08 <oren> are base 64 literals a good idea
22:22:10 <oren> ?
22:23:39 <oren> for binary data strings that is
22:27:18 -!- oren has quit (Quit: leaving).
22:44:35 -!- dianne has quit (Quit: byeannes).
22:45:33 -!- dianne has joined.
23:06:15 <Sgeo> My screen sometimes gets this bad: http://i.imgur.com/Pumu3c2.png
23:06:21 <Sgeo> Depends on how it's tilted
23:06:21 -!- augur has quit (Quit: Leaving...).
23:10:08 <HackEgo> [wiki] [[Tag]] http://esolangs.org/w/index.php?diff=41338&oldid=41326 * BCompton * (+428) /* Sample programs */
23:10:32 -!- FreeFull has quit (Ping timeout: 244 seconds).
23:16:00 -!- Phantom_Hoover has joined.
23:17:07 -!- oren has joined.
23:18:44 <oren> how does a screen get that bad?
23:18:55 -!- dts|pokeball has quit (Ping timeout: 258 seconds).
23:27:42 <oren> what the heck is up with MATLAB's keyborad shortcuts?
23:27:47 -!- FreeFull has joined.
23:28:35 <oren> why does MATLAB use all these crazy letters instead of CTRL-C and CTRL-V?
23:52:42 -!- `^_^v has quit (Ping timeout: 244 seconds).
23:57:44 -!- adu has joined.
23:59:50 <Sgeo> oren: I don't know
2014-12-05
00:00:00 <Sgeo> I'm assuming something's becoming unplugged
00:00:18 <Sgeo> So going to open up computer
00:01:12 <adu> Sgeo: how are you talking then?
00:01:40 <Sgeo> Becoming. Not completely. And screen isn't always that bad depending on how it's tilted
00:01:49 <Sgeo> Although it's been getting worse
00:02:18 <adu> lol
00:02:30 -!- FreeFull has quit.
00:04:59 -!- FreeFull has joined.
00:05:52 -!- FreeFull has quit (Client Quit).
00:06:08 -!- mihow has quit (Quit: mihow).
00:06:17 -!- FreeFull has joined.
00:11:31 -!- Sprocklem has joined.
00:15:25 -!- S1 has quit (Quit: S1).
00:52:16 -!- puppy has joined.
00:53:29 -!- nys has quit (Ping timeout: 272 seconds).
00:53:52 -!- puppy has changed nick to nys.
00:54:51 -!- idris-bot has quit (Quit: Terminated).
00:55:46 -!- idris-bot has joined.
01:02:02 -!- CrazyM4n has joined.
01:46:58 <oren> are base64 literals a good idea?
01:48:37 <lifthrasiir> base64 literals in *what*?
01:49:29 <Phantom_Hoover> oren, no. base63 is better
02:01:18 <oren> base64 literal integers
02:02:11 <oren> hmm i'm gonna put them in anyway
02:05:26 <shachaf> Easy to implement in C++!
02:10:02 -!- Bicyclidine has joined.
02:33:06 <CrazyM4n> I personally enjoy base 62
02:33:45 <oren> base62 does have advantage of not requiring 2 extra characters
02:35:22 <oren> but with the version of base64 i'm using, 63 is =_=
02:36:12 <CrazyM4n> Why not be original? Why not base 79?
02:36:20 <oren> not a power of 2
02:36:34 <CrazyM4n> You're going to let society tell you that you shouldn't use base 79?
02:36:38 <oren> i will support also base 60
02:36:39 <CrazyM4n> And that 64 is better?
02:36:58 <CrazyM4n> Society doesn't know what they are talking about. Spit in the face of society and use base 79
02:36:59 <oren> in form :12:30:
02:37:37 <oren> bases for integers: 10, 16, 60, 64, 256
02:38:18 <CrazyM4n> That's what they try to tell you
02:39:12 <oren> hmm... actually maybe i should just do BNN,NNNNNN
02:39:21 <oren> where the first NN is the base
02:40:59 -!- Bicyclidine has left.
02:42:43 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
02:53:29 -!- oren has quit (Quit: Lost terminal).
03:26:34 -!- oren has joined.
03:37:36 <oren> they said dlls were hell. whoever they were, they never had to deal with these stupid .mex files.
03:44:47 -!- heroux has quit (Ping timeout: 264 seconds).
03:45:00 -!- heroux has joined.
03:45:58 <newsham> no base32? base8? base2?
03:48:12 <zzo38> What are these stupid .mex files?
03:48:43 <CrazyM4n> Mexican files, of course
03:54:22 <oren> .mex files are executables written in c++ that hook into matlab
03:54:34 <HackEgo> [wiki] [[K-on Fuck]] N http://esolangs.org/w/index.php?oldid=41339 * 50.53.30.212 * (+470) Created page with "K-on Fuck (けいおんfuck) is an esoteric programming language believed to be created by Yuichi Nishiwaki. It is a programming language where all input is done via the japa..."
03:55:20 <CrazyM4n> ew
03:55:31 <HackEgo> [wiki] [[K-on Fuck]] http://esolangs.org/w/index.php?diff=41340&oldid=41339 * 50.53.30.212 * (+4)
03:55:42 <oren> K-on! iei!
03:55:56 <oren> i like that show
03:56:03 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41341&oldid=41287 * 50.53.30.212 * (+16)
03:57:34 <oren> and someone from oregon added it to the wiki
03:59:17 <oren> the name of that esolang is extremely ungooglable
03:59:36 <CrazyM4n> that's the point
04:00:36 <elliott> looks like we have our new featured language
04:01:44 <CrazyM4n> Gotta rename it to K-On! Fuck!
04:02:49 <oren> the problem is there are many things on the internet with that name, most of which are illegal in my country
04:04:24 <CrazyM4n> Heh
04:05:20 -!- nys has quit (Quit: sleep).
04:13:23 <oren> japanese people all know what the word 'fuck' means... this guy is definitely trolling everyone.
04:14:43 <CrazyM4n> Japan is a country composed of trolls and Samsung
04:15:38 -!- Frooxius has joined.
04:17:55 <elliott> you realise brainfuck also means, like, fucking brains, right
04:19:04 <pikhq> CrazyM4n: Somehow I don't think Japan has anyone from Samsung.
04:19:08 <oren> Samsung is Korea, dude.
04:19:21 <oren> like 20% of korea's economy anyway
04:19:39 <CrazyM4n> uh
04:19:41 <CrazyM4n> yeah
04:19:45 <pikhq> And yes, pretty much anyone from Japan and in particular anyone in Japan who watches anime would know what "fuck" means.
04:19:50 <elliott> the samsung playstation 4 is made in taiwan
04:20:30 <pikhq> If nothing else they know it from South Park.
04:20:41 <oren> ankuru fakka
04:22:58 <pikhq> (for god knows what reason, South Park is moderately successful in Japan)
04:24:49 <CrazyM4n> in Japanese?
04:25:20 <pikhq> Yes.
04:25:36 -!- CakeMeat has joined.
04:25:52 <CakeMeat> Were you talking about how weird English is
04:26:02 <pikhq> No.
04:26:19 <oren> nah we were talking about how japan is full of toolls
04:26:23 <oren> *trolls
04:26:36 <CakeMeat> As is all of the world?
04:26:39 <CrazyM4n> Oh, Japan
04:26:44 <CrazyM4n> I'd love to go there though
04:26:51 -!- ZombieAlive has quit (Remote host closed the connection).
04:26:54 <oren> and in particular one troll wrote an esolang called 'K-on fuck'
04:27:04 <oren> which is of course ungooglable
04:27:14 <CakeMeat> Explain?
04:27:18 <CakeMeat> Whats it do
04:27:36 <oren> well if you google it you get lots of japanese child porn
04:27:55 <CakeMeat> ...
04:27:59 <CakeMeat> Well then
04:28:02 <CrazyM4n> Understandable
04:28:07 <oren> because K-on is the name of a manga featuing little girls
04:28:12 <CakeMeat> Use deep web
04:28:15 -!- ZombieAlive has joined.
04:28:26 <CakeMeat> Marketable assasination league
04:28:29 <oren> that will make the problem worse undoubtably
04:28:33 <elliott> I think we're changing the topic now
04:28:38 <oren> ok
04:28:40 <CakeMeat> Ok
04:28:45 <CakeMeat> hehheheh
04:28:52 <CakeMeat> Assasination
04:29:03 <oren> buttbuttination
04:29:15 <CakeMeat> Thats not what i was refering to
04:29:33 <CakeMeat> I was refering to i can hire assasins
04:29:53 <CrazyM4n> Just search it on paheal or something
04:29:59 <oren> assassin comes from the same root as hashish
04:30:02 <CrazyM4n> That should get you the esoteric language
04:30:13 <oren> oh god no
04:30:18 <oren> don't
04:30:46 <oren> despite knowing japanese and having been to japan i have a low tolerance for their shit
04:30:48 <CakeMeat> use x0r
04:31:09 <CrazyM4n> "Japan, I've had enough. This is too far. I've had too much of this shit."
04:31:38 <elliott> speaking of low tolerance
04:31:39 <CakeMeat> Japan pumps out alot of scandolous manga
04:31:41 <pikhq> It is fair. Some aspects of their society are pretty fucked up.
04:31:53 <pikhq> CakeMeat: Well no shit, Japan has a lot of manga of every sort.
04:31:53 <CakeMeat> Sorry elliott
04:32:00 <elliott> it's okay I'm blaming everyone else too
04:32:04 <CakeMeat> Lets stop guys
04:32:45 <CrazyM4n> On an unrelated note, I'm in like 5 channels and only one of them has had nobody talking in it.
04:33:02 <oren> ok. new topic: why does matlab use such screwed up keyborad shortcuts?
04:33:07 <CrazyM4n> The only thing there is: http://i.imgur.com/tzZep0I.png
04:33:20 <oren> i am not clicking on that
04:33:23 <oren> ever
04:33:29 <CakeMeat> That screen shot tho
04:33:43 <CrazyM4n> It's a screenshot of the only activity in #perl over the course of about 6 hours
04:33:57 <CrazyM4n> it's "ok... on"
04:34:18 <CakeMeat> Because oren they are just saying Fuck you silently
04:34:46 <oren> fine i wgot it and it is safe
04:35:33 <oren> wget is a germanic strong verb wget, wgot, wgotten
04:35:42 <CakeMeat> Off topic
04:35:49 <CakeMeat> BEEP BEEP
04:36:20 <CakeMeat> Anyways¿ why are there so many alters of bf
04:36:23 <oren> perl has latin. does any language use ablaut?
04:36:31 <CrazyM4n> "¿"
04:36:39 <CrazyM4n> How do you accidentally hit that key
04:36:49 <CakeMeat> im on that page
04:36:52 <CrazyM4n> Did you put that key on your keyboard layout for the sole purpose of accidentally hitting it
04:36:52 <CakeMeat> ¿¡
04:37:10 <oren> I think his keyborad is spanish
04:37:25 <CakeMeat> Re assigning keyboards to show alt symbols along the num pad
04:37:45 <CrazyM4n> mine is, too
04:37:55 <CakeMeat> ¿¡ ®© ° §
04:38:00 <CrazyM4n> TBH I don't even know how to get to ¿
04:38:06 <CrazyM4n> but I can do this áéíóú
04:38:10 <CakeMeat> Alt+21
04:38:19 <CakeMeat> Wait
04:38:25 <CakeMeat> Alt+2216
04:38:42 <CrazyM4n> If only alt codes worked in ubuntu
04:38:50 <CakeMeat> Pfft
04:38:53 <CakeMeat> Ubuntu
04:39:02 <oren> I have RFC1345 on my layout
04:39:06 <oren> hold on
04:39:16 <CakeMeat> Painted green keys
04:39:57 <CrazyM4n> I got everything I need
04:40:21 <CrazyM4n> I got haskell, python, ruby, simplefunge, and league of legends,
04:40:30 <CrazyM4n> All on ubuntu
04:40:42 <CakeMeat> What do you use ruby
04:40:51 <CakeMeat> For?
04:40:59 <oren> ¿
04:41:03 <CrazyM4n> ¿?
04:41:11 <CakeMeat> §_§
04:41:16 <CrazyM4n> I use it for things
04:41:17 <oren> I type &
04:41:24 <CakeMeat> Like?¡
04:41:26 <CrazyM4n> Where I want to make the code look good
04:41:48 <CakeMeat> So a code to make your slop look spiffy
04:42:22 <CrazyM4n> https://gist.github.com/CrazyM4n All of my actually ok code is here
04:42:23 <CrazyM4n> Note: no ruby
04:42:34 <oren> ruby is annoying... we did not need a python with {}
04:42:41 <CrazyM4n> JK there's 1 ruby script
04:42:54 <CrazyM4n> Maybe we just didn't need ruby with " "
04:42:57 -!- Frooxius has quit (Quit: *bubbles away*).
04:43:16 <CakeMeat> Haskell, Python , javascript++ , C , Simplefunge. Are all i need
04:43:30 <elliott> ruby barely uses {}....
04:43:41 <elliott> s/\.$//
04:43:44 <elliott> also it predates Python, IIRC
04:43:56 <CakeMeat> Yes but
04:44:03 <CakeMeat> Its very easy
04:44:06 <CrazyM4n> CakeMeat: Are you being seirous about Simplefunge because if it's caught on in the time that I've been away from esoteric languages
04:44:12 <CrazyM4n> I'd be pretty hyped
04:44:14 <elliott> okay, no, Python is older. but still
04:44:19 <elliott> Ruby is as old as me.
04:44:27 <CakeMeat> Youngin'
04:44:44 -!- Frooxius has joined.
04:45:38 <elliott> also Ruby was popular in Japan way before it caught on elsewhere, IIRC
04:45:54 <CakeMeat> Ruby on rails
04:46:13 <CakeMeat> Also no ones made a ruby alter called emerald yet and im sad
04:46:27 <oren> maybe Ishould make sapphire
04:46:30 <CrazyM4n> There's gem
04:46:32 <elliott> nintendo did
04:47:08 <oren> it would be different from ruby in only 4 ways
04:47:33 <CakeMeat> What if it had all the syntax
04:47:37 <oren> but enough to make almost all programs in either one incompatible
04:48:20 <CakeMeat> Makes most useful program.. Its incompatible with everything
04:48:27 <oren> actually that is an interesting category: a language minimally different from a mainstream one, but enough to make porting a huge hardship
04:48:43 <CakeMeat> the struggle is real
04:49:28 <CakeMeat> ? ¿
04:49:48 <CakeMeat> `icode ¿
04:50:02 <CrazyM4n> So
04:50:10 <CrazyM4n> Python 2 and Python 3
04:50:10 <HackEgo> ​[U+00BF INVERTED QUESTION MARK] [U+0020 SPACE]
04:50:18 <oren> exactly.
04:50:20 <CakeMeat> So laggy?
04:50:54 <J_Arcane> Man, the Python community was so much more fun when I was younger. XD
04:50:58 <oren> is it my fault? my conn is also running matlab through ssh -X
04:50:59 <CakeMeat> Python 2 will be in my heard forever
04:51:18 <CakeMeat> Every one i know hates python
04:51:45 <oren> I love python and hate the developers
04:52:04 <J_Arcane> Python was my escape from BASIC. In the end though, it just wound up being my gateway drug to Lisp.
04:52:16 <CrazyM4n> The only thing I don't like about python is everything
04:52:17 <CakeMeat> Fancy
04:52:18 <CrazyM4n> Except using it
04:52:28 <CakeMeat> Python to many rules
04:52:38 <CakeMeat> Imo
04:52:40 <oren> also whytf did they make perl 6?
04:52:47 <oren> noone uses it
04:53:17 <CrazyM4n> Tried to necro perl
04:53:21 <oren> whereas perl 5 is still huge
04:53:22 <CrazyM4n> They didn't realize ruby replaced it
04:53:39 <oren> no it didn't, PHP replaced it
04:54:08 <oren> CGI sh -> perl -> PHP -> ???
04:54:26 <CrazyM4n> Node.js
04:54:32 <CrazyM4n> Or, any similar thing
04:54:37 <CrazyM4n> Python, probably
04:54:38 <oren> Nooo! js
04:54:43 <CrazyM4n> heh
04:54:55 <CrazyM4n> Ruby was meant as perl's successor of sorts
04:55:17 <CakeMeat> Node.js is popular with chat bots that arent on irc
04:55:22 <oren> but perl had to be replaced with somthing just as fucked up and inconsistent
04:55:35 <oren> not something clean
04:55:59 <CrazyM4n> So ruby
04:56:10 <CrazyM4n> I give it crap because I love it
04:56:26 <oren> I think ruby is much cleaner than PHP
04:56:44 <CrazyM4n> But perl and PHP weren't really meant for the same thing
04:57:09 <J_Arcane> Never learned Ruby. If I was still considering an RPG Maker project I'd consider it, but Lua is more widely used for game scripting.
04:57:29 <CrazyM4n> Lua
04:57:31 <CrazyM4n> Roblox
04:57:34 <CrazyM4n> Please
04:58:06 <CakeMeat> Lua is good for powder particle based games
04:58:07 <CrazyM4n> Oh the days of being 12 and playing Roblox every day
04:58:31 <J_Arcane> I like the looks of Lua; it's like 90% just another Python but with a hint more Lisp.
04:58:38 <CrazyM4n> Heh, I hate it
04:58:52 <CrazyM4n> I tried making things in a certain powdery simulation with it
04:58:56 <CrazyM4n> But I couldn't deal with it
04:59:12 <CakeMeat> Powder toy?
04:59:23 <CakeMeat> Also java is more game maker material
04:59:23 <CrazyM4n> Yeah
04:59:43 <elliott> J_Arcane: and one-based indexing @_@
04:59:45 <oren> bah... for real games just use BASIC
04:59:46 <CrazyM4n> That was what you were referring to also?
04:59:48 <J_Arcane> Really though, I just didn't see the point learning another slowass scripting language when even the slowest Lisp was faster.
05:00:29 <J_Arcane> (of course, Lisp skills also won't get me a job ...)
05:00:55 <oren> bah... i got a job by promising to read up on PHP
05:01:08 <oren> for a week
05:01:13 <J_Arcane> Hah hah.
05:01:14 <CakeMeat> Just turned Friday
05:01:43 <J_Arcane> oren: Yeah. I am not surprised.
05:02:04 <oren> the job market for programmers is still obscene
05:02:27 <oren> (at least by other professions' standards)
05:02:33 <CakeMeat> Governments love programmers though
05:02:41 <CrazyM4n> It just turned friday?
05:02:47 <CakeMeat> For me
05:02:47 <CrazyM4n> More like it just turned 10
05:02:50 <oren> in my time zon
05:02:51 <J_Arcane> Part of me gets super psyched out of actually applying for programming work because I feel like I don't have much skills yet, but then people tell me stories about whole workplaces that have to be reminded to only push executables that actually, like, execute, and I don't feel as self-concious.
05:03:14 <J_Arcane> Then I go read about continuations or something and start considering a CS degree again ...
05:03:29 <CakeMeat> Why not do it?
05:03:39 <J_Arcane> money.
05:03:45 <CakeMeat> Its your dream carrie it out
05:04:00 <J_Arcane> school's free here in Finland, but the student benefit is crap, and I have a wife.
05:04:09 <CrazyM4n> Finland is cool.
05:04:11 <oren> I am at the final stretch of my CS degree... I have learned a lot, but there is still lots that I need to learn
05:04:11 <CakeMeat> Finland?!
05:04:14 <CakeMeat> Lucky
05:04:30 <J_Arcane> Yup.
05:04:33 * J_Arcane is expat
05:04:35 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:05:34 <oren> really the more i know the more i realize that there is so much we don't know
05:05:36 <shachaf> whoa, http://golf.shinh.org/reveal.rb?different+letters+parity/kaki_1416990781&rb
05:06:06 <CrazyM4n> What is that
05:06:10 <CrazyM4n> What is it supposed to be?
05:06:19 <shachaf> I didn't know about Fixnum#[]
05:06:26 <CrazyM4n> Nor did I
05:06:50 <CrazyM4n> Huh...
05:06:54 <CrazyM4n> Wow, that's awesome
05:06:55 <oren> one of my lecturers began a lecture with "this is what is true about image processing as of last week"
05:07:13 <oren> we are in such a new field
05:08:00 <CrazyM4n> Did you see how google just managed to make an accurate, plain english image recognition engine?
05:08:12 <CrazyM4n> That crap is so futuristic
05:08:26 <J_Arcane> oren: I just really hope the sudden popularity of FP doesn't prove to be a bubble by the time I get out into the work place. XD
05:08:58 <J_Arcane> But then I remember that like 75% of the US financial sector is still writing COBOL and I get depressed ...
05:09:19 <oren> COBOL is better than PHP IMO
05:09:31 <J_Arcane> :D
05:09:57 <J_Arcane> I was reading an article about inhouse programming languages last night and learned about Hack.
05:10:05 <J_Arcane> Facebook made a typed PHP ... wot.
05:10:29 <oren> that is excellent, solves one of the problems with php
05:10:34 <oren> next compile it
05:10:39 <CrazyM4n> I can't deal with PHP
05:10:42 <CakeMeat> What?
05:10:58 <elliott> facebook *do* compile it.
05:11:04 <oren> why the hell do they want to parse and interpret each php file on each request
05:11:05 <CrazyM4n> http://php.net/mysql_real_escape_string
05:11:12 <elliott> http://hhvm.com/
05:11:18 <elliott> they have for years
05:11:33 <oren> excellent
05:11:37 <CakeMeat> Such amaze
05:11:40 <pikhq> It's kinda amazing the amount of effort they've put into a frankly terrible platform.
05:12:10 <oren> they probably have 10M+SLOC
05:12:16 <oren> so locked in
05:14:03 <oren> SLOC = source lines of code, as opposed to what, preprocessed?
05:15:51 <CrazyM4n> As opposed to the 5 or so lines of bytecode
05:16:08 <J_Arcane> Apparently house-developed programming languages and even just what programming language you use is becoming a big "thing" in competitive terms.
05:16:31 <J_Arcane> Like, it's not uncommon anymore for companies to literally not talk about or even NDA what languages they even use.
05:16:58 <CakeMeat> Kinda easy to figure out what fb uses
05:16:59 <pikhq> How absurd.
05:17:00 <J_Arcane> There's a bunch of companies that use Racket, but almost none of them talk about it publicly at all. They treat it like some kind of secret weapon.
05:17:30 <CakeMeat> Amaze secret racket
05:18:05 <oren> that is ridicueux.
05:18:35 <J_Arcane> I have a friend who works at a shop with their own hideous in-house XML scripting language, and he is literally not even supposed to talk about it, they act like it's some massive trade secret that they hacked ugly control loops into x-expressions.
05:19:08 <CakeMeat> Is it that bad?
05:19:09 <oren> gah. they keep it a secret so that programmers don't run from them like the plague
05:19:36 <oren> who the hell wants to write x-expressions?
05:19:50 <J_Arcane> oren: He's been there like three months, and they're paying him over €3k a month, and he's still looking for another job. So maybe you're right. ;)
05:20:02 <CrazyM4n> They're going to have to kill him
05:20:11 <CrazyM4n> To keep the trade secret
05:21:40 <oren> i am liking these transparent terminal windows btw
05:21:52 <oren> i just found otu about them today
05:22:02 <CakeMeat> Can you show?
05:22:08 <oren> sure
05:22:52 <CrazyM4n> are we showing off terminals? http://i.imgur.com/rdDZJap.png
05:23:13 <Sgeo> `slist
05:23:15 <HackEgo> slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot
05:23:44 <CakeMeat> Is that a tree?
05:24:59 <CakeMeat> Ç-Ç
05:25:01 <oren> http://ctrlv.in/469610
05:25:53 <CrazyM4n> What WM is that?
05:26:01 <CrazyM4n> XFCE?
05:26:34 <CakeMeat> Sees oren doing stufg in background.
05:26:47 <oren> XFCɛ4
05:26:47 <CakeMeat> Also nice.
05:27:11 <elliott> ...how did you correctly guess xfce4.
05:27:22 <elliott> there's no window decorations or anything.
05:28:22 <CakeMeat> Magic
05:29:01 <oren> the tiny mouse on the menu button in the top left
05:29:46 <elliott> oh, wtf?
05:29:46 <oren> or maybe the window decorations on the remote X matlab window
05:29:51 <elliott> that crappy site cut off the top of the image
05:31:08 <CrazyM4n> The tiny mouse at the top
05:31:17 <oren> i like the way the title on each ncurses app works like a title for the terminal window
05:32:26 <CrazyM4n> Cool
05:32:54 -!- diginet has quit (Ping timeout: 250 seconds).
05:33:56 <newsham> "\x1b]2;" + title + "\x9c"
05:34:32 <oren> i don't have window decorations on my terminals
05:34:44 <oren> there is no need for them
05:35:49 -!- diginet has joined.
05:40:08 <oren> btw CrazyM4n i like the tree. is that a 3d model of some sort
05:41:34 <oren> i have another 300 images to run the face detector over
05:41:55 <oren> another all nighter
05:42:00 -!- adu has quit (Quit: adu).
05:42:58 -!- adu has joined.
05:43:24 <CrazyM4n> Yeah
05:43:32 <CrazyM4n> I posted it on /r/low_poly a long time ago
05:43:34 <CrazyM4n> Want it?
05:43:52 <CrazyM4n> Thanks btw
05:44:47 <oren> i dunno how to use polygons. i am taking the graphics course next semester. i am only taking the image processing course this term
05:45:28 <oren> fuck why does my arm hurt when i get the flu shot
05:46:37 <CrazyM4n> That sucks
05:46:41 <CrazyM4n> I just meant do you want the image
05:46:51 <oren> oh. sure why not
05:47:17 <CrazyM4n> http://i.imgur.com/53qGNGe.jpg
05:48:04 <oren> wgot it
05:48:57 <oren> ~250 images left... god why is this thing so slow
05:50:15 <oren> after this i have to train a thing to recognize male and female faces
05:50:31 <oren> and classify them
05:51:08 <oren> (that is the faces in the images i just located faces in)
05:51:32 <CrazyM4n> Heh
05:51:37 <CrazyM4n> OpenCL to the rescue?
05:53:02 <oren> i am already using a multithreaded library with SSE and stuff... this thing is slow despite it
05:53:34 <oren> stupid MEX file was hard to compile too
05:54:40 <oren> i wonder if resizing the jpegs would help.
05:59:21 -!- oren has quit (Quit: midnight snack).
06:03:09 -!- augur has joined.
06:08:12 <CrazyM4n> if oren comes back tell him I left
06:08:38 -!- CrazyM4n has quit (Quit: {}+[]).
06:16:38 -!- adu has quit (Quit: adu).
06:22:00 -!- oren has joined.
06:22:59 -!- cluid has joined.
06:23:15 <oren> hi cluid
06:23:18 <cluid> hello
06:23:52 * oren is eating delicious beef jerky
06:25:10 <oren> so did you get your compiler to work?
06:30:55 <cluid> no
06:31:26 <cluid> i have to do some debugging
06:31:31 <cluid> but it dont want to
06:31:38 <cluid> I added that thing you recommended about the prototypes though
06:38:02 -!- drdanmaku has quit (Quit: ,).
06:41:23 <oren> debugging is like the flu shot. it hurts, but you'll be glad later
06:42:12 <oren> so is refactoring. these are the boring bits between the 'battles'
06:46:14 <Sgeo> I'd say flu shots are closer to refactoring than debugging. With both, you only notice how bad it is when you don't do it, not how good it is when you do it
06:47:50 <oren> mhm and i just wasted an hour on one stpid little bug
06:48:29 <Sgeo> I wish I could link the chart I just saw. I'm proud of it
06:51:24 <oren> what was it a chart of?
07:02:27 <cluid> whats up
07:03:57 <cluid> https://gist.github.com/wasabili/737881
07:04:30 <cluid> echo "++++[>++<-].." | driver/brainfuck
07:06:33 <cluid> https://gist.github.com/wasabili/562178 translation from kon fuck to branfuck
07:35:32 <fizzie> Aw, /proc/<pid>/cmdline shows "only" the first 4096 bytes of the command line.
07:37:12 <int-e> interesting
07:44:11 -!- shikhin has joined.
07:44:19 -!- Patashu has joined.
08:04:49 -!- CakeMeat has quit (Quit: Connection closed for inactivity).
08:05:18 <fizzie> I was thinking it was some ps limitation that even with 'ww' it's not quite unlimited, but apparently not.
08:05:56 <cluid> its probably the linux kernel?
08:06:00 <cluid> that woudl be my guess where to look first
08:07:47 <b_jonas> fizzie: you're reading it wrong. this is not a limitation, it's the exact opposite. the kernel lets you exec processes with very long command lines, but it won't try to store a pristine copy of that long command line for debug purposes, for that would be a pointless memory leak.
08:08:16 <b_jonas> the kernel could be evil enough like old unixen to restrict your command line length to 4k too, but it's kind enough not to do that.
08:09:38 <b_jonas> the process you start can overwrite the passed command line, and if it's really huge, it could even munmap it in theory (it can't do that for short command lines in normal programs because it's on the same page as the starting stack and the very important elf stack header containing the sysconf data.
08:09:47 <fizzie> b_jonas: But it's not a copy.
08:10:03 <b_jonas> um, not sysconf. whatever that magical data is that's stored there.
08:10:05 <fizzie> At least I don't think it is.
08:10:26 <b_jonas> fizzie: how could it be not a copy? the process you start is free to overwrite that data.
08:10:43 <fizzie> Yes, and I think that will be reflected in proc.
08:10:57 <b_jonas> no, I think there's some system call that lets the process overwrite what's displayed in proc
08:10:58 <fizzie> proc_pid_cmdline: struct mm_struct *mm = get_task_mm(task); len = mm->arg_end - mm->arg_start; if (len > PAGE_SIZE) len = PAGE_SIZE; res = access_process_vm(task, mm->arg_start, buffer, len, 0);
08:11:20 <fizzie> Okay, possibly it's a separate thing.
08:11:27 <b_jonas> what?
08:11:35 <fizzie> Because there's a comment that makes reference to setproctitle.
08:11:40 <b_jonas> don't forget that ps can display two or three different commandline-like things
08:11:52 <b_jonas> also that all this depends a lot on your flavor of unix
08:11:55 <fizzie> But still, that if (len > PAGE_SIZE) len = PAGE_SIZE; makes it look like an arbitrary limit.
08:12:59 <oren> page_size's arent arbitrary, assuming that that means a memory page like in my OS course. it's a property of the mmu.
08:13:28 <fizzie> "arbitrary" in the sense that it could read the whole thing from mm->arg_start to mm->arg_end.
08:13:41 <fizzie> http://sprunge.us/PCPR is the entire thing, for the record.
08:17:08 <oren> wow that is arbitrary. but maybe some limitation is necessary to stop some exploit?
08:20:07 <cluid> why does the linux kernel use goto?
08:20:24 <oren> because gotos are good.
08:20:37 <oren> gotos are very clear when used well
08:21:21 <oren> especially if the labels are named descriptively
08:22:13 <int-e> Gotos are good for matching resource allocation with cleanup.
08:22:45 <cluid> http://lpaste.net/115710
08:22:50 -!- adu has joined.
08:23:14 <oren> and they are not confusing. go to here, go to there, it could not be clearer
08:23:39 <oren> with your code you have to count }s
08:23:49 <elliott> pro-goto reactionaries are so last century :p
08:23:55 <elliott> (you need goto in C though because it sucks too much)
08:23:58 <fizzie> oren: "The answer to that is that if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program." -- kernel style guide.
08:24:04 <fizzie> Er, that was to cluid.
08:24:28 <oren> right, i'm arguing in favor of goto (but only in C)
08:24:35 <cluid> idea; amend c with some kind of exception handling mechanism
08:24:51 <oren> setjmp longjmp
08:24:54 <cluid> lol
08:24:57 <cluid> not like that!
08:24:57 <oren> it already has one
08:24:59 <cluid> i mean something really simple
08:25:03 <cluid> that desugars into goto
08:25:13 * Sgeo alters oren
08:25:18 <cluid> something that is block structured
08:25:31 <oren> block structure is confusing
08:25:55 <Sgeo> ALTER OREN TO PROCEED TO COBOL
08:26:28 <oren> wait is that a TOFROM statement like i suggested earlier today?
08:26:36 <oren> COBOL has one?
08:26:36 <int-e> cluid: compare that to the current version, https://github.com/torvalds/linux/blob/master/fs/proc/base.c#L199-L209
08:27:20 <Sgeo> oren: I didn't see your TOFROM statement
08:27:27 <fizzie> int-e: I was looking at an old copy since that's what I had around.
08:27:39 <cluid> https://github.com/torvalds/linux/blob/0cf744bc7ae8e0072159a901f6e1a159bbc30ffa/mm/util.c#L364
08:27:41 <cluid> so they moved the code here
08:29:16 <Sgeo> http://home.ccil.org/~cowan/cobol-horrors.html
08:29:57 <oren> earlier today (well, yesterday) i suggested you could have a statement that connects any two lines so control would flow from one to the other
08:30:33 <cluid> @oren,
08:30:33 <lambdabot> Unknown command, try @list
08:30:38 <cluid> nondeterministic finite automata
08:30:40 -!- FreeFull has quit.
08:30:57 <cluid> http://en.wikipedia.org/wiki/Nondeterministic_finite_automaton#mediaviewer/File:NFASimpleExample.svg
08:31:38 <Sgeo> oren: there needs to be a GOTO statement to alter
08:31:55 <oren> oh, so it is a limited TOFROM
08:32:04 <int-e> aaaah beautiful switch statement... https://github.com/torvalds/linux/blob/master/fs/afs/fsclient.c#L1488
08:32:50 <Sgeo> Also not sure if you can actually compute
08:33:16 <Sgeo> http://computer-programming-forum.com/48-cobol/b7aab4801e867645.htm
08:33:16 <cluid> int-e, that line 1557 looks very confusing
08:33:33 <cluid> oh actually its ok
08:33:39 <cluid> I didn't realiez they incremented twice
08:34:21 <oren> C needs a goto case [n] statment. would make that line clearer
08:34:39 <zzo38> Well, or with Cobol's ALTER to cause it to alter the program to connect two lines of control.
08:34:49 <cluid> what about continue; ?
08:34:52 <zzo38> oren: Yes, that is also something I have wanted to look at too
08:35:24 <zzo38> Also, C doesn't have \& like Haskell but I can just use "" instead it works OK
08:36:56 <oren> what does \& do in haskell?
08:38:42 <shachaf> It's an escape sequence that turns into nothing.
08:39:57 <oren> ummm why would you need such thing?
08:40:25 <shachaf> > ("\1234","\12\&34")
08:40:26 <lambdabot> ("\1234","\f34")
08:40:50 <shachaf> Well, that wasn't so effective. But anyway \ followed by any number of digits is a single character.
08:41:21 <b_jonas> > let { x = "abc\ &def" } in (x, length x)
08:41:22 <lambdabot> <hint>:1:49:
08:41:22 <lambdabot> lexical error in string/character literal at character '&'
08:41:44 <cluid> > let { x = "abc\ \def" } in (x, length x)
08:41:45 <lambdabot> ("abcdef",6)
08:41:53 <b_jonas> uh
08:42:04 <b_jonas> strange syntax
08:42:19 <oren> no stranger than perl tho
08:42:27 <int-e> b_jonas: imagine a line break in the middle and line up the second \ with the first "
08:42:34 <cluid> i want to make a language with regex syntax builtin
08:42:37 <int-e> then it'll look quite nice.
08:42:51 <cluid> int-e, I tend to use unlines for that
08:42:58 <cluid> and I found it strange that people used \ \ for it
08:43:05 <b_jonas> int-e: sure, but
08:43:19 <b_jonas> > "backslash: \\; nothing: \&"
08:43:21 <lambdabot> "backslash: \\; nothing: "
08:43:25 <b_jonas> but once you put spaces in them,
08:43:31 <oren> i think most things in a language besides control flow should be sublanguages
08:43:31 <b_jonas> > "nothing: \ \"
08:43:32 <lambdabot> "nothing: "
08:43:34 <cluid> > "\\\"
08:43:36 <lambdabot> <hint>:1:6:
08:43:36 <b_jonas> > "error: \ &"
08:43:36 <lambdabot> lexical error in string/character literal at end of input
08:43:38 <lambdabot> <hint>:1:13:
08:43:38 <lambdabot> lexical error in string/character literal at character '&'
08:43:38 <cluid> > "\\\\"
08:43:40 <lambdabot> "\\\\"
08:43:53 <cluid> > "\/\"
08:43:55 <lambdabot> <hint>:1:3:
08:43:55 <lambdabot> lexical error in string/character literal at character '/'
08:44:35 <oren> `! c printf("lolwut?\flolwut\n");
08:44:51 <HackEgo> Does not compile.
08:45:06 <oren> `! c int main(){printf("lolwut?\flolwut\n");}
08:45:08 <HackEgo> Does not compile.
08:45:32 <cluid> i guess \f isnt a thing
08:45:33 <oren> `! c int main(){printf("lolwut?\\flolwut\\n");}
08:45:50 <cluid> https://www.haskell.org/onlinereport/syntax-iso.html
08:45:54 <oren> actually \f should be form feed
08:45:58 <cluid> I like the L function part of haskell syntax
08:45:58 <b_jonas> on a different note, I think this one is approperiate for this channel: schmorp reports that he's made http://cvs.schmorp.de/vt102/vt102 , a vt100/102/131 hardware simulator, i.e. it runs the original dec vt roms for 100% perfetc temreinal "emulation"
08:46:04 <HackEgo> lolwut?lolwut
08:46:16 <elliott> b_jonas: can I use it as my terminal
08:46:44 <oren> form feed used to eject the current page and start a new one
08:47:05 <b_jonas> elliott: sort of. it puts the output to another terminal, so you can't use it alone, but yes
08:47:33 <cluid> https://www.haskell.org/onlinereport/lexemes.html#lexemes-char
08:47:33 <elliott> does it nest :p
08:47:56 <b_jonas> elliott: no idea
08:48:35 <int-e> cluid: If you're going to use the string as a Bytestring, having a single string literal is *highly* beneficial. That's because string literals are normally translated into something like unpackCString# "foobar"# and Bytestring has a rule to directly use the constant character string "foobar"#
08:48:40 <int-e> @type ""#
08:48:41 <lambdabot> GHC.Prim.Addr#
08:49:09 <cluid> ah!
08:49:10 <int-e> So that's one reason for using that syntax.
08:49:55 <int-e> The story is less nice for Text, because it has to convert from UTF-8 to UTF-16.
08:50:03 <zzo38> b_jonas: I did not hear of that before, now I do!
08:50:12 <b_jonas> zzo38: it's brand new
08:50:19 <shachaf> I like how string literals with \0s in them are encoded.
08:50:40 <b_jonas> zzo38: "< schmorp> this is what i hacked on in the last few days:" half a day ago
08:51:27 <b_jonas> zzo38: also "< schmorp> 4 out of the 6 days needed were lost on debugging that single cpu instruction that was broken" [in his emulator]
08:52:09 <zzo38> I like this kind of ideas
08:52:41 <b_jonas> zzo38: it's crazy, but yeah
08:55:40 <oren> i figured out something. instead of trying to make escape chars work in scrip7, i am simply putting in Hollerith strings as anoption
08:56:10 <oren> no lore \ rubbish escapes except the most common ones
08:56:14 <oren> *more
08:56:44 <oren> just do 13|anything here
08:57:10 <b_jonas> j-bot: #'anything here'
08:57:10 <j-bot> b_jonas: 13
08:57:12 <cluid> wow this terminal code is cool
08:57:28 <cluid> he does JIT
08:57:41 <b_jonas> cluid: to perl, yes
08:57:42 <zzo38> Actually, I like Hollerith strings as an option too
08:58:02 <oren> the point of hollerith notation is that literally any bytes can be placed after the |
08:58:52 <oren> because there is no ending delimiter
08:59:01 <cluid> howdoes that let you write 0x3030303030
08:59:26 <zzo38> Yes I like that
08:59:30 <oren> it doesn't but 5%30
08:59:32 <oren> does
08:59:47 <cluid> ok
09:00:05 <oren> the entire literal syntax is being revamped it will break some of my example programs
09:00:35 <b_jonas> does anyone have a pastebin mover bot here?
09:00:50 <cluid> how about 5R2H30
09:00:54 <b_jonas> or does HackEgo have such a command?
09:00:58 <cluid> 'R' means repeat
09:01:08 <cluid> or 2H30R5
09:01:16 <cluid> 5% is fine forget this
09:02:28 <oren> a literal is: N S D where N is a number in decimal, S is a symbol and D depends on what kind of literal it is
09:02:46 <oren> when there is no symbol it is simply a decimal number
09:03:19 <oren> when there is only a symbol default parameters are assumed
09:03:54 <oren> so %30 is 0x30.
09:04:53 <zzo38> Do you like: callCC x = lemCC >>= either return x;
09:05:01 <cluid> :t lemCC
09:05:02 <lambdabot> Not in scope: ‘lemCC’
09:05:06 <elliott> oren: you should be able to use other bases than decimal for N imo
09:05:13 <elliott> also you should be able to use this recursively
09:05:27 <elliott> for example (5%30)%30
09:05:42 <oren> what use would that be?
09:05:44 <cluid> lemCC :: Either a (a -> Cont r b)
09:05:52 <elliott> isn't it obvious
09:05:53 <elliott> writing literals
09:06:01 <oren> integersonly go up to 8 bytes
09:06:19 <cluid> zzo38, this looks Interesting
09:06:40 <zzo38> cluid: No that isn't quite the type. Although a definition of lemCC in terms of callCC: lemCC = callCC (return . Right . (<=< return . Left));
09:06:48 <cluid> what is the type?
09:06:54 <zzo38> lemCC :: ContT r m (Either a (a -> ContT r m b));
09:07:00 <oren> so the maximum thing before % is 8.
09:07:02 <cluid> A though about this
09:07:14 <zzo38> You need a Cont around your type; other than that it works
09:07:14 <cluid> Various 'characterization' of classic logic are intuitionistically equivalent
09:07:27 <cluid> piece law ((a -> b) -> a) -> a is the normal callcc, I think
09:07:33 <FireFly> <oren> one of my lecturers began a lecture with "this is what is true about image processing as of last week" ← what was it about?
09:07:38 <zzo38> Yes, it is
09:07:45 <cluid> so then excluded middle Either a (a -> b) could be define interms of it, and vice versa
09:08:02 <oren> it was about google's ability to classify images
09:08:04 <elliott> cluid: have you seen oleg's haskell "lem"
09:08:04 <zzo38> Although at least to me, using law of excluded middle to define continuations is easier to understand
09:08:07 <cluid> no
09:08:15 <elliott> cluid: http://okmij.org/ftp/Computation/lem.html
09:08:17 <elliott> it doesn't use continuations
09:08:21 <elliott> it's a cute trick
09:09:14 <b_jonas> what
09:09:26 <FireFly> oren: ah
09:09:31 <oren> Firefly: and in particular the performance of their awesome superclusters
09:09:38 <cluid> http://www.lix.polytechnique.fr/~lengrand/Work/Teaching/MPRI/lecture1.pdf slide 30
09:09:43 <cluid> the evil of excluded middle
09:10:06 <FireFly> oren: reminds me of http://code.flickr.net/2014/10/20/introducing-flickr-park-or-bird/
09:10:12 <FireFly> Which is also pretty recent I suppose
09:11:26 <oren> there is an issue with teaching a course where the answers are changing so fast
09:11:46 <oren> that is why this course has a project not a final exam
09:12:59 <cluid> zzo38, In a book I read, instead of doing it as a monad they add a new binder to lambda calculus
09:13:53 <cluid> if you can prove _|_ given x : phi -> _|_, then /\x. M : phi
09:15:17 <oren> what the heck is ⊥
09:15:27 <cluid> oren, its a data type with no constructor
09:15:29 <oren> i didn't take the logic course
09:16:19 <oren> where do data types interact with given and proving things?
09:16:45 <cluid> they're just different terms for the same thing
09:18:16 <oren> huh? a data type is an interpretation for some digital data... how does that interact with logical proofs?
09:18:56 <zzo38> Specifying a value of the type proves it
09:20:08 <oren> proves what?
09:21:03 <FireFly> oren: heh, the image processing class I'm taking has a final exam.
09:21:13 <cluid> oren, you can think of typed lambda calculus as a programming language and/or a logic
09:21:35 <cluid> it serves as a foundation for both
09:22:21 <oren> is it possible to design a cpu that runs lambda calculus?
09:22:29 <cluid> I dont think so
09:22:53 <oren> why not?
09:22:55 <cluid> you have to compile it to something more easy to make an instruction set for
09:23:10 <cluid> i dont know much about these things, but that's what I think
09:23:47 <FireFly> I don't see why you couldn't, if you use some encoding like BLC or so
09:24:21 <cluid> FireFly, for one thing the "instructions" can be arbitrarily wrong - normally instruction sets are encoded in a handful of bytes
09:24:35 <cluid> s/wrong/long/
09:25:06 <cluid> second there is a lot of things like free variables.. envronments.. which an interpreter would normally handle - it's not clear how a CPU could run it directly
09:25:15 <zzo38> oren: It proves the type!
09:25:24 <cluid> maybe you have registers for environment, continuation etc..
09:25:32 <zzo38> You can try to learn about Curry-Howard.
09:25:42 <cluid> i guess the CPU they mention in the last chapter of SICP does that
09:27:04 <cluid> A better approach is to mak ea good CPU and then compile languaegs to it
09:28:12 <oren> but lambda calculus and all this is incredibly far from what our standard cpus do...
09:28:25 <zzo38> If you know anything about sequent calculus you can also look at: http://esolangs.org/wiki/Gentzen You can see it is using the logical rules of sequent calculus to execute a computer program.
09:28:39 <elliott> cluid: have you seen reduceron
09:28:44 <cluid> yeah
09:28:48 <oren> what our normal cpus do is manipulate sets of bits
09:29:07 <oren> according to other sets of bits
09:29:44 <oren> (usually of a fixed size called the word size of the cpu)
09:30:22 <cluid> and garbage collection
09:30:51 <oren> so languages designed on such principles are easy to make fast on our normal cpus
09:31:52 <oren> i think we need to put functional programming into the cpu itself to really make it fast
09:32:18 <cluid> i dont think so
09:32:25 <oren> why not
09:32:31 <cluid> ive just explained in detail
09:32:56 <oren> you said you would make a "good cpu" what does that mean?
09:33:14 <cluid> just something like x86 64
09:33:20 <oren> and why are cpus based on manipulating fixed size bit strings "good"
09:34:13 <oren> does this imply that languages based on such will always be faster?
09:34:35 <cluid> well a CPU is put on a circuit board
09:34:55 <cluid> so it has to have address buses like 64 wires in parallel for a word
09:35:06 <cluid> so the instruction sets are in accordance with that
09:35:22 <cluid> if you tried to handle a language with arbitrary length bit strings you would not be able do it in a good way
09:35:28 <cluid> s/language/instruction set/
09:36:00 <cluid> so if a CPU is good general purpose computation, then you can compile all different languages onto it
09:36:14 <cluid> Thats why I think the way to make functional languages fast is better compilers
09:36:41 <oren> isn't BLC "general computation" (Church turing thingy)
09:36:49 <cluid> although the thing elliott mentioned runs haskell 40x faster than on a normal CPU
09:37:14 <oren> reduceron?
09:38:01 <oren> ah i see, so i'm right. building functional programming into the cpu will increase performance of functional languages
09:38:42 <oren> (and presumably this thing can't run C very well)
09:41:30 <HackEgo> [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41342&oldid=40497 * Zzo38 * (+491) +[[Gentzen]]
09:41:41 <oren> perhaps this sort of thing can help with JS performance too!
09:44:49 <oren> actually, fpga's have so many uses, why don't all computerscome with fpga's built in?
09:46:14 <zzo38> One reason is that nobody builds generic-open-source-FPGA; due to this you require specific operating systems and CPU to be able to use them
09:46:53 <oren> i see. then there is a market opportunity for plug and play fpga
09:47:17 <oren> would take a lot of venture capital obviously
09:47:30 <cluid> it would be cool to try programming an FPGA
09:47:37 <zzo38> Wihle there are some open-source FPGA designs none of them have ever been manufactured.
09:47:38 <cluid> but it might be very difficult,
09:47:57 <oren> i've done it in one course, we used verilog which is very similar to C
09:48:34 <cluid> cool!!
09:48:34 <oren> what university do you go to cluid?
09:48:38 <cluid> i dont
09:48:59 <oren> why not?
09:49:26 <cluid> i dont know
09:51:41 <oren> uhh... i guess this is because i was always expected to get a degree in my family, so i can't even fathom not going
09:52:01 <elliott> not everyone lives the life their parents expect of them
09:52:43 <oren> i know. my dad is annoyed i'm not going for a phd
09:52:58 <cluid> why dont you do a PhD
09:53:04 <b_jonas> heh
09:53:07 <oren> because i like money
09:53:20 <cluid> byou could design a new CPU
09:53:39 <oren> i'll do that and make money by starting a company
09:53:49 <oren> if i was going to do that
09:54:46 <oren> anyway there are 3phds and a dd in my family so they are annoyed
09:55:16 <cluid> ok
09:55:18 <FireFly> Doesn't seem like reason enough to be annoyed
09:55:22 <FireFly> but shrug
09:55:24 <oren> i like to pronounce phd phud
09:55:32 <oren> 'fudd'
09:55:33 <cluid> pht magic dogz
09:57:12 -!- oerjan has joined.
09:58:13 <fizzie> FireFly: Perhaps they were hoping to break some sort of family doctoral density record.
09:58:42 <FireFly> fair
09:58:56 <oren> would not workwith my dad's side having no-one but him and my youngest aunt
09:59:36 <oren> actually no wait my other aunt has a doctor of divinity
09:59:51 <oren> the other d.d.
10:00:11 <cluid> it would be fun to design own CPUs on an FPGA
10:00:16 <cluid> and try running your own code on them
10:00:39 <oren> FPGA's cost about 100 dollars i think
10:00:51 <oren> plus the software cost
10:01:02 <myname> cluid: i had that exact same thought
10:01:21 <myname> cluid: but then i remembered that i hate VHDL and would never use that CPU for anything
10:01:25 <myname> so i dropped that idea
10:01:27 <cluid> haha
10:01:37 <oren> use verilog instead
10:03:20 <oren> is it better?
10:04:25 -!- shikhout has joined.
10:05:47 <oren> i guess i oughta go home and eat breakfast
10:06:12 -!- oren has quit (Quit: going home to eat brekfast).
10:07:23 -!- shikhin has quit (Ping timeout: 252 seconds).
10:10:59 -!- cluid has quit (Quit: Leaving).
10:23:41 -!- adu has quit (Quit: adu).
10:31:54 -!- idris-bot has quit (Ping timeout: 250 seconds).
10:32:28 -!- Melvar has quit (Ping timeout: 264 seconds).
10:35:19 <HackEgo> [wiki] [[REGXY]] http://esolangs.org/w/index.php?diff=41343&oldid=41226 * Oerjan * (-38) /* External resources */ Use template
10:35:26 -!- Melvar has joined.
10:37:31 <HackEgo> [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41344&oldid=41271 * Oerjan * (+18) /* External resources */ yearcat
10:42:02 <HackEgo> [wiki] [[Brainfuck implementations]] M http://esolangs.org/w/index.php?diff=41345&oldid=41244 * Oerjan * (+1) /* Normal implementations */ sp
10:43:18 -!- Phantom_Hoover has joined.
10:56:54 <HackEgo> [wiki] [[Language list]] M http://esolangs.org/w/index.php?diff=41346&oldid=41341 * Oerjan * (+0) /* K */ order
11:15:12 -!- boily has joined.
11:39:54 <mroobmoobn> There are people buying FPGAs to install Softcpus on them
11:43:49 -!- FreeFull has joined.
11:56:03 <elliott> :r
11:56:05 <elliott> oops
11:56:30 <int-e> Failed, modules loaded: none.
11:59:03 -!- Patashu has quit (Ping timeout: 240 seconds).
12:04:01 -!- boily has quit (Quit: TRANSALPINE CHICKEN).
12:08:32 -!- FreeFull has quit (Ping timeout: 250 seconds).
12:14:11 <HackEgo> [wiki] [[Return Oriented Programming]] http://esolangs.org/w/index.php?diff=41347&oldid=41298 * Oerjan * (+45) some proofreading
12:15:19 <HackEgo> [wiki] [[Special:Log/move]] move * Oerjan * moved [[Return Oriented Programming]] to [[Return-oriented Programming]]: I see no reason to use a different title than Wikipedia
12:15:51 -!- FreeFull has joined.
12:16:08 <oerjan> oops, 1/10 second later i realize the p isn't capitalized
12:16:34 <HackEgo> [wiki] [[Special:Log/move]] move * Oerjan * moved [[Return-oriented Programming]] to [[Return-oriented programming]]: Whoops
12:17:03 <HackEgo> [wiki] [[Return Oriented Programming]] M http://esolangs.org/w/index.php?diff=41351&oldid=41349 * Oerjan * (+0) fix link
12:19:01 <oerjan> and there the wiki goes down
12:19:50 <oerjan> and the neigbors start making noise
12:21:34 -!- HackEgo has quit (Ping timeout: 244 seconds).
12:21:48 <oerjan> oops maybe the whole server did
12:21:58 <oerjan> fizzie: ?
12:23:51 -!- HackEgo has joined.
12:24:25 <fizzie> Hmm.
12:24:32 <fizzie> That wasn't me.
12:24:53 <oerjan> perhaps it rebooted
12:25:10 <fizzie> `run uptime # oh wait
12:25:27 <HackEgo> ​ 12:24:33 up 0 min, 0 users, load average: 0.00, 0.00, 0.00
12:25:39 <oerjan> OH NO IT IS REBOOTING ALL THE TIME
12:26:18 <fizzie> 07:25:07 up 98 days, 10:55, 1 user, load average: 0.19, 0.14, 0.31
12:26:25 <fizzie> I guess something transient, then.
12:26:38 <oerjan> those evil transients
12:27:54 <shachaf> fizzie runs HackEgo?
12:28:42 <fizzie> I "run" the wiki, for some values of run.
12:28:42 <HackEgo> [wiki] [[Talk:Pikalang]] M http://esolangs.org/w/index.php?diff=41352&oldid=41300 * Oerjan * (+48) Not signing: the sign of the times
12:28:55 <fizzie> And it's the same server, so I've been doing hackego-related things occasionally.
12:29:27 <fizzie> oerjan: What's next, top-posting in the talk pages?
12:29:49 <oerjan> that's always been.
12:35:43 <HackEgo> [wiki] [[Hello world program in esoteric languages]] M http://esolangs.org/w/index.php?diff=41353&oldid=41302 * Oerjan * (+1) Not knowing the alphabet: also a sign.
12:38:03 <HackEgo> [wiki] [[Pendulum Instruction Set Architecture]] http://esolangs.org/w/index.php?diff=41354&oldid=41317 * Oerjan * (+4) /* External Links */ standard section name + fmt
12:42:22 -!- Sgeo_ has joined.
12:43:12 <mroobmoobn> This isn't #ghci.
12:43:15 <mroobmoobn> Or is it.
12:43:50 <fizzie> Sometimes it feels that way, with all the Haskellists.
12:45:04 -!- Sgeo has quit (Ping timeout: 264 seconds).
12:48:43 <mroobmoobn> > True||(1/0)==0
12:48:44 <lambdabot> True
12:48:46 <mroobmoobn> > 1/0
12:48:47 <lambdabot> Infinity
12:48:53 <mroobmoobn> > True||(1`div`0)==0
12:48:55 <lambdabot> True
12:49:00 <mroobmoobn> > 1`div`0
12:49:01 <lambdabot> *Exception: divide by zero
12:58:27 -!- shikhout has changed nick to shikhin.
13:06:36 <mroobmoobn> > let f xs = (head xs == last xs)||(f (tail xs)) in f [1,2,3]
13:06:38 <lambdabot> True
13:06:49 <mroobmoobn> > let f xs = (head xs == last xs)||(f (tail xs)) in f [1,1,1]
13:06:50 <lambdabot> True
13:07:20 <mroobmoobn> > let f xs = (head xs == last xs)||(f (tail (tail xs))) in f [1,2,3]
13:07:21 <lambdabot> True
13:07:25 <mroobmoobn> yup
13:07:29 -!- shikhin has quit (Ping timeout: 255 seconds).
13:08:31 <oerjan> > let f xs = (head xs == last xs)||(f (tail (tail xs))) in f [1,2,3,4]
13:08:33 <lambdabot> *Exception: Prelude.head: empty list
13:09:23 -!- shikhin has joined.
13:09:38 <fizzie> That was a confusing function, in the "what's it good for" sense.
13:09:48 <oerjan> you think
13:09:59 <oerjan> (it can never return False)
13:12:18 <fizzie> > last $ cycle [0] -- a metaphor for life
13:12:24 <lambdabot> mueval: ExitFailure 1
13:16:33 <oerjan> > fix id
13:16:37 <lambdabot> mueval-core: Time limit exceeded
13:16:55 <int-e> Don't fix what ain't broken.
13:17:20 <oerjan> how do you know my id isn't broken
13:17:29 <int-e> > id 42
13:17:31 <lambdabot> 42
13:17:35 <int-e> lambdabot's id seems fine to me
13:17:45 <int-e> I don't know about yours
13:22:02 <int-e> > (84-) 42 -- of course my test wasn't very thorough.
13:22:04 <lambdabot> 42
13:22:16 <mroobmoobn> oerjan: Write a prop_id x = x == id x
13:22:18 <mroobmoobn> then run it
13:22:33 <int-e> @check x == id (x :: Int)
13:22:35 <lambdabot> Couldn't match expected type ‘GHC.Types.Int’
13:22:35 <lambdabot> with actual type ‘Debug.SimpleReflect.Expr.Expr’Couldn't match expected type...
13:22:42 <mroobmoobn> funny thing is that prop_Foo x y = x == y always succeeds anyway ;)
13:22:44 <int-e> @check \x -> x == id (x :: Int)
13:22:46 <lambdabot> +++ OK, passed 100 tests.
13:22:54 <mroobmoobn> @check \x y -> x == y
13:22:55 <lambdabot> +++ OK, passed 100 tests.
13:23:07 <int-e> obviously
13:23:12 <mroobmoobn> Yeah
13:23:32 <int-e> @check \x y -> x == [y]
13:23:34 <lambdabot> *** Failed! Falsifiable (after 1 test):
13:23:34 <lambdabot> [] ()
13:23:48 <mroobmoobn> @check \x y -> x == reverse y
13:23:50 <lambdabot> *** Failed! Falsifiable (after 5 tests and 1 shrink):
13:23:50 <lambdabot> [] [()]
13:23:58 <int-e> @check \x y -> (x) == [y] -- prettier
13:23:59 <lambdabot> <hint>:1:59:
13:23:59 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
13:24:04 <int-e> @check \x y -> (x) == [y]
13:24:04 <mroobmoobn> @check \x -> x == reverse x
13:24:06 <lambdabot> *** Failed! Falsifiable (after 1 test):
13:24:06 <lambdabot> [] ()
13:24:07 <lambdabot> +++ OK, passed 100 tests.
13:24:12 <mroobmoobn> hm
13:24:18 <mroobmoobn> ah
13:24:30 <mroobmoobn> @check \x -> last x == head x
13:24:31 <lambdabot> *** Failed! Exception: 'Prelude.last: empty list' (after 1 test):
13:24:32 <lambdabot> []
13:25:10 <mroobmoobn> @check \x -> x == ()
13:25:12 <lambdabot> +++ OK, passed 100 tests.
13:26:42 <oerjan> @check \f x -> x == map f x
13:26:44 <lambdabot> +++ OK, passed 100 tests.
13:26:53 -!- shikhin has quit (Read error: Connection reset by peer).
13:33:43 <HackEgo> [wiki] [[K-on Fuck]] M http://esolangs.org/w/index.php?diff=41355&oldid=41340 * Oerjan * (+20) bold, stub, link
13:36:51 -!- shikhin has joined.
14:02:38 -!- scounder has quit (Ping timeout: 272 seconds).
14:06:04 -!- GeekDude has joined.
14:11:53 <fizzie> @check \a b c n -> not ((a :: Int) > 0 && (b :: Int) > 0 && (c :: Int) > 0 && (n :: Int) > 2 && a^n + b^n == c^n)
14:11:55 <lambdabot> *** Failed! Falsifiable (after 95 tests and 10 shrinks):
14:11:55 <lambdabot> 2 14 62 64
14:12:47 <fizzie> Shows what you know, Wiles.
14:13:45 <fizzie> (I was originally planning a different joke, about how he overcomplicated things, since in query-testing it passed.)
14:18:46 <Jafet> @let a --> b = not a || b
14:18:49 <lambdabot> Defined.
14:19:14 <Jafet> @check \a b c n -> not (((a :: Int) > 0 && (b :: Int) > 0 && (c :: Int) > 0 && (n :: Int) > 2) --> (a^n + b^n == c^n))
14:19:15 <lambdabot> *** Failed! Falsifiable (after 1 test):
14:19:16 <lambdabot> 0 0 0 0
14:19:27 <Jafet> Apparently logic is hard
14:19:38 <int-e> maybe.
14:20:24 <Jafet> @check \a b -> (a --> b) == (if a then b else True)
14:20:26 <lambdabot> +++ OK, passed 100 tests.
14:20:49 <Jafet> @check \a b c n -> ((a :: Int) > 0 && (b :: Int) > 0 && (c :: Int) > 0 && (n :: Int) > 2) --> not (a^n + b^n == c^n)
14:20:51 <lambdabot> +++ OK, passed 100 tests.
14:23:30 -!- oerjan has quit (Quit: leaving).
14:26:52 <fizzie> @check \a b c n -> ((a :: Int) > 0 && (b :: Int) > 0 && (c :: Int) > 0 && (n :: Int) > 2) --> a^n + b^n /= c^n
14:26:53 <lambdabot> Couldn't match expected type ‘GHC.Types.Bool’
14:26:54 <lambdabot> with actual type ‘GHC.Types.Int’Couldn't match expected type ‘GHC.Types.Bool...
14:27:06 <fizzie> Aw, I guess I got bitten by some precedence.
14:28:45 -!- scounder has joined.
14:46:31 <Jafet> @let infixr 3 -->
14:46:33 <lambdabot> Defined.
14:47:22 <fizzie> @check \a b c n -> ((a :: Int) > 0 && (b :: Int) > 0 && (c :: Int) > 0 && (n :: Int) > 2) --> a^n + b^n /= c^n
14:47:24 <lambdabot> +++ OK, passed 100 tests.
14:47:26 <fizzie> Yay.
15:03:24 -!- `^_^v has joined.
15:27:42 <HackEgo> [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41356&oldid=41353 * SuperJedi224 * (+1724) /* Mineso */
15:28:20 <HackEgo> [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41357&oldid=41356 * SuperJedi224 * (-1) /* Mineso */
15:28:32 <HackEgo> [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41358&oldid=41357 * SuperJedi224 * (+2) /* [Mmmm()] */
15:37:44 <HackEgo> [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41359&oldid=41342 * SuperJedi224 * (+186) /* GolfScript */
15:45:27 -!- S1 has joined.
15:46:47 -!- zzo38 has quit (Remote host closed the connection).
15:55:23 -!- idris-bot has joined.
15:55:41 -!- dts|pokeball has joined.
16:45:05 -!- Y4kuzi has joined.
16:47:10 -!- FreeFull has quit (Quit: Going... Going.. Gone!).
16:51:18 -!- Y4kuzi has quit (Quit: Quick on the net.).
16:52:07 -!- shikhin has changed nick to pan.
16:52:23 -!- pan has changed nick to shikhin.
17:14:23 -!- dts|pokeball has quit (Ping timeout: 240 seconds).
17:25:33 <HackEgo> [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41360&oldid=41359 * BCompton * (+60) /* SyL */
17:36:56 <HackEgo> [wiki] [[Truth-machine]] M http://esolangs.org/w/index.php?diff=41361&oldid=41360 * BCompton * (-1) /* Tag */
17:49:21 <HackEgo> [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41362&oldid=41358 * Tromp * (+46)
17:51:18 <HackEgo> [wiki] [[Hello world program in esoteric languages]] M http://esolangs.org/w/index.php?diff=41363&oldid=41362 * Tromp * (+0)
17:57:11 -!- S1 has quit (Quit: S1).
18:25:38 <b_jonas> does "/MSG CHANSERV PLEASE #somechannel ABSTAIN FROM JOINING" set the moderated flag?
18:27:47 <HackEgo> [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41364&oldid=41361 * Tromp * (+105)
18:28:56 <HackEgo> [wiki] [[Hello world program in esoteric languages]] http://esolangs.org/w/index.php?diff=41365&oldid=41363 * Tromp * (+17) /* Binary lambda calculus */
18:37:46 <int-e> b_jonas: shouldn't that be +i, invitation only...
18:37:57 <b_jonas> int-e: oh right, the invitation only flag
18:38:16 <int-e> but I like the idea :)
18:38:49 <b_jonas> I wonder if there's a channel mode like "PLEASE #somechannel ABSTAIN FROM 60% JOINING" which lets people join successfully only 40% of the time
18:38:56 <b_jonas> but I don't think intercal has that
18:40:08 <b_jonas> I guess you could simulate it by something like "DO COMESUB FROM JOINING DO REINSTATE JOINING PLEASE 60% ABSTAIN FROM JOINING DO RESUME"
18:40:37 <b_jonas> that would reset the flag each time somebody joins
18:40:52 <b_jonas> though you'd better put a label in front of that COMESUB so you can later ABSTAIN from it
18:44:03 <tromp_> int-e: feel free to shorten my blc program for truth :)
18:48:48 -!- ZombieAlive has quit (Remote host closed the connection).
18:55:20 <HackEgo> [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41366&oldid=41364 * BCompton * (+108) /* Tag */
18:57:13 <tromp_> is there a list of problems like hello world and truth machine?
18:58:44 <nyuszika7h> I made a little dc program to simpliy fractions \o/
18:58:44 <myndzi> |
18:58:44 <myndzi> /^\
18:58:45 <nyuszika7h> nyuszika7h@cadoth ~ $ dc -e '[s0q]sa[dst%ltrlgx]sb[d0=ad0!=b]sg[? ]n?dstrdltrlgxdsd/rld/rn[ ]np'
18:58:46 <nyuszika7h> ? 48 18
18:58:47 <nyuszika7h> 8 3
18:59:29 <nyuszika7h> simplify, even
19:02:31 -!- oren has joined.
19:06:16 -!- shikhout has joined.
19:09:07 <b_jonas> tromp_: http://rosettacode.org/wiki/Rosetta_Code
19:09:25 -!- shikhin has quit (Ping timeout: 264 seconds).
19:09:40 <b_jonas> tromp_: specficailly http://rosettacode.org/wiki/Category:Programming_Tasks
19:11:28 <int-e> tromp_: I have a different 69 bits one... but nothing smaller
19:12:13 <tromp_> thx, b_jonas. and thx int-e for searching fot the truth:)
19:13:39 <int-e> tromp_: see repo
19:15:58 <int-e> (it's pity that the meanings of 0 and 1 aren't reversed, \z.z x x would be 2 bits shorter ;-) )
19:16:08 <tromp_> yes, i had the same realization!
19:18:24 <int-e> I'm also tempted to replace (\z.z x nil) by xs, but I guess it's against the rules.
19:19:54 <tromp_> yeah, the problem statement is ambiguous there
19:20:25 -!- shikhout has changed nick to shikhin.
19:23:22 <nyuszika7h> xs? why not just a one-letter variable then? :P
19:23:45 <int-e> nyuszika7h: because the code is compiled to binary lambda calculus
19:23:46 <tromp_> same size
19:24:04 <nyuszika7h> oh, I have no idea what that is :P
19:24:26 <oren> it is a functional machine code
19:24:29 <nyuszika7h> b_jonas: well, you can do +j 40:100 which only lets 40 people join within a 100-second time window
19:24:36 <nyuszika7h> then it resets
19:24:41 <nyuszika7h> and starts over again
19:25:09 <int-e> nyuszika7h: https://github.com/tromp/AIT/blob/master/truth.lam is what we write, which becomes 010001101000000110000000010110111001011110000010010111111011111011110 (using truth) or 000110000001011100001011011100000100100011010000001011000001001110110 (using truth2) when compiled.
19:26:58 <oren> yay, functional machine code!
19:34:50 <nyuszika7h> http://rosettacode.org/wiki/99_Bottles_of_Beer that lyrics is wrong :/
19:39:03 -!- dts|pokeball has joined.
19:57:47 <oren> I once heard someone sing it as α₀ bottles of beer
20:06:55 <fizzie> Did they finish?
20:13:11 -!- FreeFull has joined.
20:17:36 <oren> i dunno maybe they're still singing it for alli know
20:39:36 <elliott> are you sure you don't mean aleph
20:41:51 <fizzie> I completely didn't even notice. Some sort of a "sounds alike == looks alike" brain-wiring thing.
21:04:25 <b_jonas> nyuszika7h: isn't that like "first day of Christmas" which has multiple different lyrics, many of them ocurring in example programs and obfuscations?
21:05:18 <b_jonas> maybe there's a need for an international standard that specifies the default text for hello world, first day of Christmas, 99 bottles of beer, and all the similar stuff
21:05:38 -!- GeekDude has changed nick to GeekAfk.
21:05:42 -!- Frooxius has quit (Quit: *bubbles away*).
21:06:19 -!- Bicyclidine has joined.
21:06:25 -!- Bicyclidine has left.
21:07:42 -!- GeekAfk has changed nick to GeekDude.
21:13:19 <b_jonas> hmm, I found this from 1995: http://www.faqs.org/rfcs/rfc1882.html
21:15:18 <fizzie> Knuth, D. "The Complexity of Songs", Communications of the ACM, 1984, 24(4) pp. 344-346 also gives one definition for 99bob.
21:16:13 <b_jonas> fizzie: true
21:16:27 <b_jonas> and as for hello, world, the authoritive standard is of course the K&R book
21:17:10 <fizzie> It refers to "J. W. Blatz of Mulwaukee, Wisconsin who first discovered a class of songs known as "m Bottles of Beer on the Wall".
21:17:56 -!- Patashu has joined.
21:18:14 <fizzie> With a footnote: "Again Kennedy ([8], p. 631) claims priority for the English, in this case because of the song "I'll drink m if you'll drink m + 1." However, the English start at m = 1 and get no higher than m = 9, possibly because they actually drink the beer instead of allowing the bottles to fall."
21:22:08 <int-e> tromp_: there, 68
21:22:33 <int-e> tromp_: I can't believe I didn't try that variant sooner.
21:23:50 <nyuszika7h> b_jonas: well, http://www.99-bottles-of-beer.net/ pretty much defines a de facto standard
21:24:11 <nyuszika7h> http://www.99-bottles-of-beer.net/lyrics.html
21:24:22 <tromp_> gratz, int-e!
21:26:26 <int-e> and then there's the local let trick
21:27:15 <int-e> tromp_: 65.
21:28:08 <tromp_> 58 coming up
21:29:38 <tromp_> loop shld no longer be applied to x
21:30:10 <tromp_> i'll let you fix it:)
21:30:17 -!- GeekDude has quit (Ping timeout: 256 seconds).
21:30:22 <int-e> oops.
21:31:03 <tromp_> you can also remove the suboptimal defs
21:31:11 <int-e> I like the history
21:31:23 -!- GeekDude has joined.
21:34:29 <tromp_> i actually started out with a version of your truth2
21:34:37 <tromp_> but for some reason mine was 70 bits
21:34:52 <tromp_> which led me to my 69 bit truth
21:35:10 <FireFly> tromp_, int-e: what problem is 'truth machine'?
21:35:24 <tromp_> it's a totally dumb problem:(*
21:35:27 <int-e> FireFly: http://esolangs.org/wiki/Truth-machine
21:36:01 -!- Patashu has quit (Disconnected by services).
21:36:01 -!- Patashu_ has joined.
21:38:35 <FireFly> Danke
21:41:39 <int-e> tromp_: one nice thing about truth = \xs.xs(\x\d\z.z x (x nil (truth xs))) is that one can write it out as halftruth = \ht\xs.xs(\x\d\z.z x (x nil (ht ht xs))); and then make truth = halftruth halftruth.
21:45:33 <fizzie> b_jonas: Time has sort of passed by the indignation inherent in the "It's a 10GB database!" interjection.
21:45:39 <fizzie> b_jonas: (In the RFC you quoted.)
21:47:46 <b_jonas> fizzie: yeah, and that's not even the most dated part
21:48:02 <fizzie> I'm still reading.
21:48:45 <fizzie> The SCSI parts are perhaps somewhat passé too.
21:49:19 <fizzie> (Although I did find a SCSI terminator when rummaging through stuff just last week.)
21:50:47 <tromp_> int-e: isn't that what the recursion eliminator already does?
21:51:01 <tromp_> expect it doesn't call it halftruth:)
21:51:54 -!- shikhin has quit (Ping timeout: 245 seconds).
21:52:21 <int-e> tromp_: I was after the name
21:52:34 <tromp_> yeah, that's cute:)
21:54:11 <int-e> tromp_: I was also looking into some more clever argument order abuse (if you invoke things as \io. io halftruth halftruth, then halftruth can be written as \x\d\ht\z. ... with the halftruth argument somewhere in the middle. It didn't help, but it's something that the automatic blc translation won't accomplish.
21:54:31 <int-e> )
21:55:59 <tromp_> rosettacode is nice, but i wondered if there was a task list on the esolangs. wiki itself
21:57:41 <int-e> http://esolangs.org/wiki/Popular_problem ?
21:58:31 <int-e> (just following a link from the "Truth machine" page)
22:01:13 <tromp_> ah, thx
22:06:59 <b_jonas> tromp_: you can just use the same tasks
22:07:08 <b_jonas> why would you need a separate list?
22:10:38 <tromp_> because competing with other esolangs feels more manageable
22:11:16 <tromp_> i like the idea of a set of tasks that would appeal more to esolangs
22:27:43 <fizzie> Hrm. The youtube-dl in Debian has stopped working.
22:27:58 <fizzie> (The one in testing, anyway.)
22:28:59 -!- atslash has joined.
22:29:11 -!- `^_^v has quit (Ping timeout: 244 seconds).
22:29:43 <fizzie> I guess there's been a couple of newer ones in unstable, but they haven't migrated.
22:30:42 <fizzie> Oh, of course, jessie's freeze. Hmp.
22:32:30 <FireFly> http://en.wikipedia.org/wiki/Binary_lambda_calculus#Delimited_versus_undelimited "the only caveat being that N will be passed to M as its third argument" in the final sentence--shouldn't N and M be swapped here?
22:32:49 <FireFly> er, oops, I didn't notice the "to". Never mind
22:49:20 -!- Patashu_ has quit (Ping timeout: 252 seconds).
22:49:44 -!- oerjan has joined.
22:56:52 <HackEgo> [wiki] [[Mmmm()]] http://esolangs.org/w/index.php?diff=41367&oldid=41330 * 71.184.241.244 * (+25)
22:58:09 -!- KingOfKarlsruhe has quit (Quit: ZNC - http://znc.in).
23:09:44 -!- CrazyM4n has joined.
23:13:04 -!- KingOfKarlsruhe has joined.
23:31:04 -!- ZombieAlive has joined.
23:48:11 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41368&oldid=41346 * 70.162.52.61 * (+18) Added simplefunge, should have been added long ago
2014-12-06
00:06:12 <fizzie> My cost function based on Euclidean distance just went negative. :/
00:08:05 <fizzie> And not just by a little bit, either -- http://sprunge.us/cehd
00:08:13 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
00:11:09 <fizzie> Oh, complex numbers. Well, that's not a surprise.
00:18:16 <oren> in what crazy language are variables complex by default?
00:19:00 <CrazyM4n> How is that crazy?
00:19:16 <CrazyM4n> I, for one, prefer the complex number plane
00:20:38 <oren> its crazy because it is not conventional
00:24:48 <oren> it isn't necessarily a bad thing to be unconventional
00:25:32 <CrazyM4n> Like base 79
00:25:44 <CrazyM4n> See, you get it
00:30:53 -!- oerjan has quit (Quit: you're completely off base).
00:31:19 <fizzie> Octave/MATLAB.
00:32:11 <fizzie> (Did a sqrt on the wrong thing, one that was a bit negative.)
00:33:15 <oren> aha...
00:33:28 <CrazyM4n> Just a bit negative
00:33:56 <CrazyM4n> Not much more
01:13:20 -!- GeekDude has quit (Ping timeout: 272 seconds).
01:27:33 -!- GeekDude has joined.
01:43:24 <elliott> fizzie: what are you costing?
01:45:22 <FreeFull> J does the same thing
01:45:35 <FreeFull> %: _3 gives 0j1.73205
01:46:47 <CrazyM4n> Oh, J
01:54:04 <HackEgo> [wiki] [[Special:Log/newusers]] create * XorSwap * New user account
02:08:39 <HackEgo> [wiki] [[Eve]] N http://esolangs.org/w/index.php?oldid=41369 * XorSwap * (+484) An event and stack oriented language
02:12:07 <HackEgo> [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41370&oldid=41369 * XorSwap * (+88)
02:33:14 <HackEgo> [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41371&oldid=41370 * XorSwap * (+1623)
02:37:23 <HackEgo> [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41372&oldid=41371 * XorSwap * (+98)
02:48:09 -!- CrazyM4n has quit (Remote host closed the connection).
02:56:28 -!- atslash has quit (Quit: This computer has gone to sleep).
02:58:14 <HackEgo> [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41373&oldid=41372 * XorSwap * (+768)
02:58:38 <HackEgo> [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41374&oldid=41373 * XorSwap * (+1) /* = Explanation */
03:02:27 <HackEgo> [wiki] [[User:XorSwap]] N http://esolangs.org/w/index.php?oldid=41375 * XorSwap * (+222) Created page with "I like to think up esolangs. I'm still working on the whole 'implement' bit. The only one I've written the spec for so far is [[Eve]]. My website can be found at the rather..."
04:07:52 -!- qwertyo has joined.
04:58:00 -!- qwertyo has quit (Ping timeout: 258 seconds).
04:58:07 -!- qwertyo has joined.
05:06:15 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:12:02 <oren> it is saturday nao!
05:15:53 <newsham> still friday sir
05:25:36 <paul2520> ^
05:25:57 <oren> it is 00
05:26:11 <oren> that is the time where i am
05:26:26 <oren> 00:25
05:28:06 -!- qwertyo has quit (Ping timeout: 245 seconds).
05:28:40 -!- qwertyo has joined.
05:36:07 -!- CrazyM4n has joined.
05:36:08 -!- CrazyM4n has quit (Client Quit).
05:36:12 -!- CrazyM4n_ has joined.
05:36:25 -!- CrazyM4n_ has changed nick to CrazyM4n.
05:38:53 <CrazyM4n> So I'm making a generic 2d language IDE
05:39:13 <oren> in Ncurses or what?
05:39:29 <CrazyM4n> Yeah
05:39:34 <CrazyM4n> It already exists doesn't it
05:39:58 <CrazyM4n> This is gonna have to be some Emacs vs Vim style buisness
05:40:01 <oren> i'm no expert
05:40:20 <oren> screw both of those they both suck
05:40:31 <CrazyM4n> Nano for lyfe?
05:40:54 <oren> i used to use nano but now i use midnight commander
05:41:10 <CrazyM4n> I'm talking about text editors, not DoTA heroes
05:41:18 <oren> lol...
05:41:26 <CrazyM4n> :P
05:41:37 <CrazyM4n> Does midnight commander even have a text editor?
05:41:41 <oren> mcedit has some nice features
05:41:57 <CrazyM4n> MCEdit.... as in minecraft?
05:42:18 <oren> if you go to the options in mc, it has a "use internal editor" option
05:42:26 <CrazyM4n> ohhh I see
05:42:38 <CrazyM4n> hah
05:43:14 <oren> the internal editor has some cool features like a "cursor beyond end of line" option
05:43:35 <oren> which is very useful for fungeoids
05:44:14 <CrazyM4n> MSWord can do that
05:44:19 <CrazyM4n> Therefore I will use MSWord
05:44:26 <CrazyM4n> :-P
05:45:14 <oren> lol. for me editors just have to get out of my way and let me code.
05:45:29 <CrazyM4n> Sublime text represent!
05:45:51 <oren> that is what i use for python
05:46:49 <oren> using a different editor for different languages helps me because i want only spaces for python and only tabs for C
05:47:05 <CrazyM4n> Huh
05:47:18 <CrazyM4n> I use tabs for everything except haskell (because I literally can't)
05:47:55 <oren> basically tabs confuse me in languages with significant whitespace
05:48:01 <CrazyM4n> Ah
05:48:10 <CrazyM4n> Quick, give me a good symbol to represent a space
05:48:16 <CrazyM4n> That isn't in the funge standards
05:48:31 <oren>
05:48:35 <CrazyM4n> I'm thinking of using a bullet point
05:48:39 <oren>
05:50:19 <oren> those are ideographic tho. what about a ‎∴ or something
05:50:21 <CrazyM4n> How about ߦ
05:50:27 <CrazyM4n> ߦߦߦߦߦߦߦߦߦ
05:50:32 <CrazyM4n> Holy shit they connect
05:50:35 <CrazyM4n> ߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦ
05:50:45 <CrazyM4n> Unicode characters can do that?
05:50:55 -!- cluid has joined.
05:50:55 <oren> yes.
05:50:57 <cluid> hi
05:51:01 <oren> hi
05:51:18 <oren> what symbol for space in a fungeoid editor?
05:51:18 <CrazyM4n> Sorry, I'm having a moment of realization here
05:51:18 <CrazyM4n> ߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦߦv
05:53:12 <CrazyM4n> I'll just use ☢ for now, it's not worth it to spend too much time on this
05:54:31 <oren> I cannot see that symbol without posting this song https://www.youtube.com/watch?v=uv_srA3WY6s
05:56:14 -!- qwertyo has quit (Ping timeout: 264 seconds).
05:56:29 <CrazyM4n> Heh
05:56:34 -!- qwertyo has joined.
05:56:40 <cluid> a family of languagse based on CHIQRSX9+
05:56:58 -!- SopaXorzTaker has joined.
05:57:03 <cluid> a program in CHIQRSX9+$language is executed as CHIQRSX9+ if its one character, else as $language
05:57:19 <SopaXorzTaker> hi there
05:57:21 <cluid> maybe remove X since its covered
05:57:23 <cluid> hi
05:58:03 <SopaXorzTaker> Idea! what about a weird language, where you can redefine keywords and literals? 'assume 123=456; print 123;'
05:59:00 <SopaXorzTaker> this will output 456
05:59:36 <SopaXorzTaker> and 'assume +=-; print 2+2'
06:00:06 <oren> well redefining operators is easy in lisp or forth
06:00:22 <Jafet> > let 2 + 2 = 5 in 2 + 2
06:00:24 <lambdabot> 5
06:00:31 <elliott> SopaXorzTaker:
06:00:34 <elliott> @google esolang forte
06:00:35 <lambdabot> http://esolangs.org/wiki/Forte
06:00:36 <lambdabot> Title: Forte - Esolang
06:00:40 <elliott> (like that except even weirder)
06:00:41 <SopaXorzTaker> :/
06:01:25 <SopaXorzTaker> I was thinking of that...
06:01:33 <SopaXorzTaker> for 2 years
06:01:53 <oren> sorry... the space of high-concept languages is very crowded
06:01:55 <SopaXorzTaker> and now somebody did it! noo!
06:02:00 <Jafet> https://esolangs.org/wiki/Slashes
06:02:06 -!- CrazyM4n has quit (Quit: "I'll be back, internet dieing").
06:02:23 <oren> he needs to reboot his internet
06:03:19 <SopaXorzTaker> :(
06:03:28 <SopaXorzTaker> everything is alreadly done, argh!
06:03:46 <oren> not true.
06:04:09 <SopaXorzTaker> am I new with stacked bf then?
06:04:18 <oren> literally last week
06:04:24 <SopaXorzTaker> or don't tell me that is alreadly made
06:04:30 <oren> MNNBFSL
06:04:37 <oren> made my a dude in japan
06:05:03 <cluid> another idea: The interprter does a bayesian classifier on the source code and then calls the corrct interpreter (so you can write perl, ruby, haskell, lisp... it will just figure itout and run it)
06:05:07 <oren> http://esolangs.org/wiki/MNNBFSL
06:05:24 <cluid> SopaXorzTaker, in scheme you can redefine keywords but not literals
06:06:02 <SopaXorzTaker> see
06:06:06 <oren> cluid that sounds like a great idea
06:06:07 <cluid> .g. (let ((lambda +)) (lambda (foo) x)) will add
06:06:24 <cluid> MNNBFSL is really cool
06:07:14 <Jafet> The interpreter runs all installed interpreters in parallel and picks one that works
06:08:49 <elliott> SopaXorzTaker: $adjective BF exists for all $adjective
06:09:00 <SopaXorzTaker> ah
06:09:11 <oren> including K-on BF
06:09:18 <oren> as in the show K-on
06:10:00 <cluid> so can anyone help me understand K-on fuck
06:10:09 <cluid> I thought that its just a text subittution for brainfuck
06:10:15 <oren> it is.
06:10:23 <SopaXorzTaker> object oriented bf? maybe
06:10:34 <oren> it just has an ungooglable name
06:10:41 <cluid> https://gist.github.com/wasabili/640572
06:10:51 <cluid> but I found this, which is a formatter version of the azunyan interpreter
06:10:59 <cluid> (ac > 1 && av[1][0] == 97)? a537():kofi();
06:11:02 <cluid> im not sure what this is
06:11:07 <cluid> or what a537 does
06:11:21 <cluid> here is hello world example https://gist.github.com/wasabili/640467
06:11:27 <elliott> cluid: ac is argc, av is argv
06:11:28 <cluid> I can ad this to the wiki after we figure it out
06:11:34 <oren> it is probably some shift jis hackery
06:11:37 <elliott> so if there are arguments passed and the first letter of the first argument is 97 which is uh
06:11:40 <elliott> > chr 97
06:11:42 <lambdabot> 'a'
06:11:45 <cluid> https://gist.github.com/wasabili/640461 less obfuscated version
06:11:54 <elliott> so $ ./a.out astuff calls a537() instead of running the interpreter
06:12:00 <elliott> I suspect it's just an easter egg
06:12:12 <cluid> https://gist.github.com/wasabili/562178 this is what made me think that it is a bf substitution originally
06:12:47 <elliott> that code doesn't even compile though :p
06:12:57 -!- CakeMeat has joined.
06:13:01 -!- CrazyM4n has joined.
06:13:11 <oren> did you try running the interpreter and writing stuff into it
06:14:08 <CakeMeat> Hi
06:14:14 <elliott> % ./a.out
06:14:15 <elliott> **Welcome to K-on Fxxk!**
06:14:15 <elliott> warning: this program uses gets(), which is unsafe.
06:14:15 <elliott> >
06:14:16 <CrazyM4n> Hey
06:14:16 <lambdabot> not an expression: ‘’
06:14:19 <elliott> nice
06:14:33 <elliott> ./a.out a does weird things too
06:14:39 <elliott> like uh
06:14:42 <elliott> print 0 no matter what
06:14:52 <cluid> http://esolangs.org/wiki/K-on_Fuck
06:14:54 <CrazyM4n> You writing an IRC bot?
06:15:02 <elliott> except if it's afoo then it prints 0D
06:15:15 <elliott> wait no
06:15:16 <CakeMeat> gets() who would do such a thing
06:15:19 <elliott> that was just my ^D :p
06:15:41 <CakeMeat> I should make a bot again. Oh the memories
06:16:39 <CrazyM4n> Oh, I didn't show any of you, I made a generic code-running bot
06:16:51 <CrazyM4n> Already been done before
06:16:54 <CrazyM4n> But this one, this one is *extendable* :O
06:18:25 -!- qwertyo has quit (Ping timeout: 256 seconds).
06:19:09 -!- qwertyo has joined.
06:19:48 <cluid> http://esolangs.org/wiki/Fractran wow
06:19:57 <cluid> the SE link is dead but https://github.com/graue/esofiles/blob/master/fractran/impl/fractran-in-fractran.txt
06:20:33 <CrazyM4n> My internet isn't working because Skype is eating all the bandwidth
06:20:36 <CrazyM4n> Explain it?
06:20:44 <cluid> delete skype
06:20:45 <CrazyM4n> Just kidding, it just loaded
06:21:03 <oren> pkill -9 skype
06:21:39 <CrazyM4n> It's installing
06:21:42 <CrazyM4n> I got tired of the crappy linux version (which runs on Wine
06:21:43 <CrazyM4n> _
06:21:44 <CrazyM4n> )
06:21:47 <oren> i have an alias in my bashrc of pulseaudiodieinafire
06:22:23 <oren> to pkill -9 pulseaudio
06:22:33 <CrazyM4n> I call that command "fix"
06:22:43 <CrazyM4n> Because it usually solves whatever problem I'm having...
06:22:55 <cluid> does anyone know about this higher levle fractran language he invented?
06:23:02 <coppro> at one point I'm pretty sure I fixed a sound problem with "apt-get remove pulseaudio" and it wasn't even installed
06:23:06 <CrazyM4n> One time, my keyboard was disconnecting and generally being weird and doubling keys,
06:23:10 <CrazyM4n> But killing pulseaudio fixed it
06:23:13 <oren> who did
06:23:36 <CrazyM4n> I've actually heard of it before
06:24:35 <cluid> it would be cool to have a compiler from that to fractran, and also a direct implementation
06:26:12 <cluid> its impressive to program in fractran directly
06:26:21 <cluid> I like this approach, of making up a language with subroutines
06:27:13 <CrazyM4n> I hate this https://docs.python.org/3/library/curses.html#curses.window.refresh
06:27:27 <oren> why
06:27:28 <CrazyM4n> I hate this specific function
06:27:28 <cluid> please discuss fractran
06:27:29 <CrazyM4n> With every shred of my existence right now
06:27:56 <oren> it is like buffering in a graphics library
06:29:31 <oren> you call that at the end of your draw step
06:30:22 <CrazyM4n> I know that
06:31:08 <CrazyM4n> Look at the syntax of it
06:31:08 <CrazyM4n> First two arguments are the top left of it, the second two are the top right, the last two are the bottom left
06:31:09 <CrazyM4n> Why
06:31:09 <CrazyM4n> Why world
06:31:30 <oren> the C version isn't like that
06:32:06 <CrazyM4n> OH
06:32:11 <CrazyM4n> I read it wrong....
06:32:14 <oren> the C version takes no arguments
06:32:17 <CrazyM4n> I'm really good at reading docs you know
06:32:50 <CrazyM4n> This actually makes sense, the first two args are the coords on the pad
06:33:01 <CrazyM4n> and the last 4 are just the coords of where to render to
06:33:12 -!- qwertyo has quit (Ping timeout: 260 seconds).
06:33:33 -!- qwertyo has joined.
06:43:08 <CrazyM4n> Classic python community.... I ask for how to do something in curses, they tell me to go use their python-only solution and don't answer my original question
06:43:49 <oren> what were you trying to do
06:43:59 <CrazyM4n> Get the cursor position in curses
06:45:12 <oren> http://www.delorie.com/gnu/docs/ncurses/man/ look here
06:45:53 <CrazyM4n> It's just getyx()
06:45:54 <oren> should be getyx
06:45:57 <CrazyM4n> Yeah
06:46:08 <CrazyM4n> So hyped for this IDE
06:53:10 -!- qwertyo has quit (Ping timeout: 265 seconds).
06:53:36 -!- qwertyo has joined.
07:13:00 -!- qwertyo has quit (Ping timeout: 250 seconds).
07:14:30 -!- CrazyM4n has quit (Quit: Leaving).
07:49:01 -!- cluid has quit (Remote host closed the connection).
07:56:36 -!- Frooxius has joined.
07:58:18 -!- shikhin has joined.
08:13:32 -!- dianne has quit (Ping timeout: 244 seconds).
08:15:20 -!- dianne has joined.
08:21:26 <oren> hmmm i think a vernier scale could be a cool design for a videogame exp display
08:23:28 <oren> which languages provide fraction literals?
08:27:53 <Jafet> ¾
08:29:29 <Taneb> `quote FinnAir
08:29:44 <HackEgo> 714) <Taneb> I saw a Finnair plane today <ion> In a smoking rubble? <Taneb> Close. <Taneb> Heathrow Airport
08:29:53 <Taneb> I've seen another FinnAir plane!
08:30:39 <int-e> In another desolate environment?
08:30:57 <int-e> (Ok, that's a fair description of 90% of airports anyway.)
08:31:34 <mitchs_> ruby has fraction (Rational) literals as of 2.1.0
08:31:43 <Taneb> int-e, Hong Kong Airport
08:32:01 <Taneb> Possibly Heathrow too, it's been a long day
08:32:12 <mitchs_> CAS languages like pari/gp should generally have them
08:32:16 <elliott> Taneb: where are you now?
08:32:26 <Taneb> elliott, Hong Kong Airport, waiting for a connection
08:32:39 <int-e> https://en.wikipedia.org/wiki/File:A_bird%27s_eye_view_of_Hong_Kong_International_Airport.JPG ... yeah
08:33:01 <mitchs_> or, i'm not sure if it's a fraction literal, so much as that exact representations are preferred over rounding options
08:34:02 <oren> i have a program fragment written on a piece of paper
08:34:05 <int-e> > 2%4 -- not a literal
08:34:07 <lambdabot> 1 % 2
08:34:19 <oren> and i'm trying to figure out what language it is
08:35:43 <oren> i think it is ruby
08:36:16 <oren> while(z < 45/22)z++
08:36:30 <Taneb> That seems like C
08:36:34 <oren> with no semicolon.
08:36:46 <mitchs_> not ruby
08:37:23 <oren> it could be rubbish i found it abandoned on a desk
08:37:52 <mitchs_> it would be valid awk inside braces
08:37:58 <mitchs_> where 45/22 would be computed as double
08:37:59 <int-e> is it printed or written by hand?
08:38:14 <oren> written by hand in purple pen
08:38:28 <int-e> so missing a semicolon could just be a mistake
08:38:30 <Taneb> Purple pen...
08:38:33 <Taneb> probably significant
08:38:51 <int-e> (it could be for printed code, too, but then it would be less likely)
08:38:52 <mitchs_> light purple or dark purple?
08:39:06 <oren> like gel pen it is sparkly
08:40:10 <mitchs_> for hand written things people often write mixture of correct code and short hands for whatever they mean mathematically
08:40:21 <mitchs_> s/short hands/shorthand/
08:40:42 <oren> whe problem is it doesn't make sense, why would you increment z while comparing it to a fraction
08:41:11 <mitchs_> z could be floating point ?
08:41:11 <oren> it could be ++ doesn't mean increment in this case
08:42:06 <oren> 45 / 22 is a tiny bit below 2
08:42:18 <oren> *above
08:42:35 <oren> so maybe they are a beginner and want <= 2
08:43:05 <Taneb> Maybe it is concievable for the value to be 1/22 and they want that to behave differently?
08:43:19 <oren> ohhh that makes sense
08:43:26 <mitchs_> btw i checked that in pari/gp, "type(1/2)" returns "t_FRAC"
08:45:02 <mitchs_> but it's still just the result of dividing 1 by 2, so it doesn't really seem to be a literal. (i might not know what i'm talking about)
08:45:17 <int-e> If I wanted any value slightly above 2 I probably would not write 45/22. 21/10 or 201/100 would be more likely.
08:45:26 <oren> mhm...
08:46:04 <int-e> but maybe I'm supposed to think that ;-)
08:46:08 <oren> it is possible that this is an empirically found value
08:46:39 <oren> like a value that happens to work for some task
08:48:23 <oren> welp maybe next time i'm there i'll scribble down some mysterious code and leave it
08:50:42 <oren> as it happens i have a sparkly gold pen
08:55:09 <mitchs_> in whole foods (expensive supermarkets with organic food and such), i've noticed the bathroom stalls have inspirational quotes instead of the usual vulgar messages and drawings
08:55:16 <mitchs_> if i had a decent phone i would have taken a picture
08:55:36 <mitchs_> sorry, i meant inspirational quote grafitti written by customers
08:55:42 <mitchs_> important info
08:56:23 <mitchs_> things like "be the change you want to see in the world" -- ghandi
08:57:55 <oren> dim x as real: x=1; x-=x^2-2/2*x while i*i /= 2;
08:57:59 <CakeMeat> Taneb why are you traveling so much?
08:58:11 <oren> i will write that and leave in the same desk
08:58:15 <Taneb> Going on holiday, CakeMeat
08:58:20 <CakeMeat> Amaze
08:58:24 <CakeMeat> Dont die
08:58:34 <Taneb> The first quote must have been in 2009 at the latest...
08:58:58 <Taneb> No, I went to Heathrow a couple of years ago?
08:58:58 <CakeMeat> Good advice for anyone who goes 'round the world
09:00:05 <mitchs_> oh i spelled gandhi wrong
09:00:30 <oren> ghandhy
09:00:41 <oren> gh and hy
09:00:56 <Taneb> I vaguely know someone called Gandy
09:01:27 <oren> he was the leader of the indian rebellion against the british
09:01:55 <oren> and then he was all pissed when the muslims and hindus could'nt get along afterwards
09:02:26 <Taneb> I know who Gandhi was
09:02:34 <Taneb> I also vaguely know someone called Gandy
09:02:40 <oren> what????
09:02:41 <Taneb> Friend of a friend or something
09:03:39 <oren> i see... i have a friend named Teddy but gandy?
09:04:12 <Taneb> I don't really know the guy that well...
09:04:22 <oren> but then again obama is the president and mitt was almost president
09:04:32 <oren> so maybe i dunno what a weird name is
09:04:52 <int-e> All names are weird. Then you get used to them.
09:05:03 <int-e> In fact, Everything is weird.
09:06:48 <int-e> Oh the Winslow!
09:07:40 <oren> right i mean my name is oren with an e and that is weird, but shachaf tells me that's a normal name in Israel
09:08:11 <mitchs_> damn, i spelled graffiti wrong too
09:08:57 <shachaf> https://en.wikipedia.org/wiki/Oren
09:13:42 <oren> winslow?
09:14:38 <shachaf> I don't think https://en.wikipedia.org/wiki/Ören is related.
09:20:00 <elliott> oren kaenbyou
09:22:20 <oren> well yeah it's also a japanese name like oren ishii from kill bill
09:23:36 <elliott> your name just reminds me of rin.
09:27:17 -!- SopaXorzTaker has quit (Read error: Connection reset by peer).
09:41:05 <int-e> oren: http://www.airshipentertainment.com/buckcomic.php?date=20080313
09:42:18 <int-e> oren: a stuffed animal of the Foglio's kids, appears as a major plot element in Buck Godot (people worship it), and has numerous cameo appearances in their other comic(s), like yesterday: http://www.girlgeniusonline.com/comic.php?date=20141205
09:42:32 <int-e> s/'s/s'/
09:46:00 <int-e> Is there a comprehensive list of webcomics that are popular here? Order of the Stick, Homestuck, Girl Genius...
09:46:38 <elliott> super mega comics was, once upon a time
09:46:39 <elliott> FSVO popular
09:47:11 <int-e> GG may be just oerjan and I.
09:47:29 <elliott> `pbflist
09:47:32 <elliott> hmm
09:47:35 <elliott> I thought that existed
09:47:42 <elliott> well, for the best that it doesn't or I'd have pinged people
09:47:45 <HackEgo> pbflist: shachaf Sgeo quintopia ion
09:47:45 <int-e> `` echo 1
09:47:46 <HackEgo> 1
09:48:09 <elliott> oops.
09:48:19 <int-e> HackEgo: taking a nap?
09:48:29 <elliott> well, there was probably a pbf since the last time anyone ran that.
09:48:41 <shachaf> Nope.
10:02:47 <oren> int-e : I also like girl genius.
10:09:34 -!- J_Arcane_ has joined.
10:09:47 -!- J_Arcane has quit (Ping timeout: 244 seconds).
10:09:59 -!- J_Arcane_ has changed nick to J_Arcane.
10:12:30 -!- MoALTz has joined.
10:13:52 -!- J_Arcane_ has joined.
10:15:00 -!- J_Arcane has quit (Ping timeout: 252 seconds).
10:15:03 -!- J_Arcane_ has changed nick to J_Arcane.
10:28:37 -!- Phantom_Hoover has joined.
10:54:51 -!- oerjan has joined.
10:55:58 <shachaf> well well well
10:56:03 <shachaf> if it isn't the big Ø
10:56:30 <oerjan> HELLO
10:58:54 <fizzie> The "big Ø" notation is very useful when talking about asymptotic complexity.
10:59:32 <oerjan> it means "you don't have a chance to understand how big this is" hth
11:00:31 -!- J_Arcane_ has joined.
11:00:56 -!- J_Arcane has quit (Ping timeout: 244 seconds).
11:01:11 -!- J_Arcane_ has changed nick to J_Arcane.
11:04:30 -!- J_Arcane_ has joined.
11:05:44 -!- J_Arcane has quit (Ping timeout: 240 seconds).
11:05:56 -!- J_Arcane_ has changed nick to J_Arcane.
11:15:14 <int-e> oerjan: So apparently I was wrong after all and Lady Selnikov has merely released the Beast by accident.
11:15:37 <int-e> Then again, appearances can be deceiving.
11:16:15 <oerjan> i am still not convinced she's not orchestrating this.
11:16:36 <int-e> Now if this was the Baron finding her, she'd be revived in some vat in no time.
11:16:39 <oerjan> for one thing, if the monk was shot in the foot, how did he _witness_ these things?
11:16:40 <int-e> But this is Agatha ...
11:17:44 <int-e> Was he shot in the foot? mmm.
11:18:32 <int-e> Ah, I suck at reading as usual.
11:18:37 <oerjan> although the alternative seems to be that he's _lying_ which also seems unlikely. unless there's mind control involved.
11:19:10 <int-e> (I was distracted by the signs in the second panel. "It cannot die but is too stupid to..."
11:19:13 <int-e> )
11:19:49 <oerjan> worst case: lady selnikov is the Other and the monk is a revenant.
11:20:02 <oerjan> (possibly newly instated.)
11:20:12 <int-e> In any case, he clearly did not see her *die*.
11:20:20 <oerjan> indeed.
11:20:32 <int-e> Smoke and wreckage and the a corpse. Now where's the mirror...
11:20:39 <int-e> *then
11:21:06 <oerjan> hm that _does_ make more sense.
11:21:58 <oerjan> he would presumably have had time to find her, and may have jumped to conclusions on the rest.
11:22:22 <int-e> Is she a Smoke knight? If she's half as good as Violetta, all sorts of things could have happened.
11:22:57 <oerjan> int-e: the winslow can surely be distracting yeah :P
11:24:24 <oerjan> now i'm wondering if the train assassins were working for her and just pretending to try to kill her.
11:24:38 <elliott> you make girl genius sound so exciting
11:24:47 <oerjan> yep hth
11:24:51 -!- CakeMeat has quit (Quit: Connection closed for inactivity).
11:25:08 <elliott> let me know when the faces aren't horrifying
11:25:44 <oerjan> they're not hth :P
11:33:12 <oerjan> oh hum
11:33:28 * oerjan suddenly remember someone with the initials on that book.
11:33:57 <oerjan> *+s
11:35:20 <oerjan> well the first letter has never been revealed in story, but it's what you'd expect.
11:37:08 <int-e> wait. http://girlgenius.wikia.com/wiki/Van_Rijn ... it's *that* book!
11:37:58 <int-e> But then Agatha should recognize it immediately.
11:38:08 <oerjan> oh, the one from the circus!
11:39:05 <oerjan> i even remember rereading that strip a few days ago
11:39:36 <oerjan> agatha wondered how the muse had found it since it was in her [cut off]
11:40:37 <int-e> damn. 9 years. http://www.girlgeniusonline.com/comic.php?date=20051003
11:41:18 <oerjan> oh that's not the strip i was remembering
11:43:30 <int-e> and you were right about Anevka, she's merely a clone of van Rijn's designs. http://www.girlgeniusonline.com/comic.php?date=20051104
11:44:38 <oerjan> ah here it is http://www.girlgeniusonline.com/comic.php?date=20060106#.VILrwZUtBjo
11:45:04 <oerjan> (what _is_ with the #.* anchors on that site?)
11:47:47 <int-e> Odd, I don't see those.
11:48:12 <oerjan> well it may have something to do with how i'm visiting it
11:48:17 -!- J_Arcane_ has joined.
11:49:44 -!- J_Arcane has quit (Ping timeout: 240 seconds).
11:49:57 -!- J_Arcane_ has changed nick to J_Arcane.
11:50:23 <oerjan> i see it even after following the one you linked. only the rwz part varies.
11:50:58 <oerjan> but it seems to change on each click.
11:54:46 <int-e> strange. must be some sort of malware
11:55:01 <int-e> (that *is* the easiest explanation ;-) )
11:57:00 <int-e> could some "transparent" proxy be adding those extra bits?
11:58:23 -!- J_Arcane_ has joined.
11:59:25 <oerjan> well i assume it's on the site.
11:59:35 <oerjan> perhaps some javascript.
12:00:01 -!- J_Arcane has quit (Ping timeout: 255 seconds).
12:00:02 -!- J_Arcane_ has changed nick to J_Arcane.
12:00:14 <oerjan> i think it started after that recent major redesign.
12:01:54 <int-e> well I tried a fresh profile, and I still don't see anything like this.
12:02:06 <int-e> you are using the < and > buttons, right?
12:02:56 -!- J_Arcane_ has joined.
12:04:14 <int-e> oh, there we have something.
12:04:58 -!- J_Arcane has quit (Ping timeout: 255 seconds).
12:05:06 -!- J_Arcane_ has changed nick to J_Arcane.
12:05:57 <oerjan> mostly < and >, but also the story navigation menu
12:06:15 <oerjan> and it happens even when i go directly there from the address bar
12:06:59 <int-e> yeah, I see it happening, I just wasn't patient enough...
12:09:18 <int-e> some script from addthis.com does it.
12:10:58 <FireFly> I feel like I read GG too fast to get up-to-speed, because I can't say I remember all the characters and their names :\
12:11:11 <FireFly> There's just so many characters
12:23:22 -!- AnotherTest has joined.
12:23:45 <oerjan> ah there it's gone.
12:24:54 <int-e> FireFly: it's hard to keep up.
12:29:07 <FireFly> "<int-e> Is there a comprehensive list of webcomics that are popular here?" ← `` ls bin/*list
12:29:14 <FireFly> (well, to some degree)
12:29:28 <oerjan> i'm pretty sure gg isn't there
12:30:11 <FireFly> fair
12:30:25 <oerjan> the *lists don't include comics that update semi-predictably.
12:30:42 <fizzie> I keep interpreting "GG" as "Gunnerkrigg ...Gourt".
12:30:51 <int-e> And they're hard to decipher. It took me months to figure out the meaning of olist.
12:30:51 <oerjan> OGAY
12:31:51 <int-e> (I would likely have done better if I were actually following OOTS)
12:32:36 <oerjan> now that's crazy talk
12:33:16 <int-e> oerjan: well, imagine my impression of `olist ;-)
12:33:46 <int-e> "okay, people notifying each other of random numbers ... well, maybe I'll figure it out some day."
12:34:29 <oerjan> 0147
12:35:44 <int-e> FireFly: GK is a good comic, too, but there's a lot less of plot to discuss.
12:36:27 <oerjan> good, good
12:36:53 <FireFly> Good to know
12:37:04 <elliott> gunnerkrigg kourt?
12:37:07 <elliott> I blame fizzie
12:37:22 <int-e> Just continuing oerjan's "OGAY".
12:37:36 <int-e> At least that's the excuse I'll stick to now.
12:42:30 <FireFly> http://bellard.org/bpg/ neat
12:44:05 <oerjan> that's a pretty sticky excuse. do you need help getting off?
12:44:49 * oerjan realizes what he just says
12:44:53 <oerjan> *said
12:45:01 <oerjan> WHAT IS HAPPENING TO MY TENSES
12:45:31 -!- J_Arcane_ has joined.
12:45:55 -!- J_Arcane has quit (Ping timeout: 255 seconds).
12:45:56 -!- J_Arcane_ has changed nick to J_Arcane.
12:47:07 <shachaf> imo order of the scow
12:49:00 <oerjan> FireFly: i find a completely unstyled web page with no date on it slightly disturbing. how do i know whether this is the newest thing or from 1995?
12:49:39 <oerjan> ...well i suppose javascript couldn't usefully do this back then.
12:49:42 -!- J_Arcane_ has joined.
12:49:44 <oerjan> but still.
12:49:55 <FireFly> I agree about that
12:50:10 <FireFly> The spec linked under "Technical information" at least contains a year
12:50:11 <shachaf> oerjan: check the last-modified header hth
12:50:40 <oerjan> *sigh* is it possible to find that in IE...
12:50:50 -!- J_Arcane has quit (Ping timeout: 252 seconds).
12:50:52 -!- J_Arcane_ has changed nick to J_Arcane.
12:50:57 <FireFly> And following the link to the wikipedia article on HEVC informs me it's from 2013
12:51:00 <oerjan> ag tgere
12:51:00 <shachaf> hmm, that was almost too helpful to follow with "hth"
12:51:03 <oerjan> *ah there
12:51:13 <oerjan> shachaf: you've got a point
12:51:22 <shachaf> whoa, your browser shows you the last-modified header? how?
12:51:33 <oerjan> 12.06.2014
12:52:06 <oerjan> shachaf: under "properties"?
12:52:33 <shachaf> whoa
12:52:38 <oerjan> (actually "Egenskaper", but i am guessing that's what it's in english)
12:52:40 <shachaf> maybe i should switch to ie
12:53:22 * oerjan is not exactly sure when shachaf started being sarcastic there
12:53:50 <int-e> . o O ( one of those doesn't fit... http://int-e.eu/~bf3/tmp/comics.png )
12:54:12 <shachaf> It's a good feature and I think it would be nice if my browser had it.
12:54:17 <FireFly> the no date point applies to papers too, IME.
12:54:25 <shachaf> I don't use Windows so switching to IE would be way too much work to be worth it.
12:54:35 <shachaf> Yes. I like papers with dates on them.
12:54:38 <FireFly> Arguably even more, since they tend to always follow the same style conventions
12:55:05 <FireFly> I guess if it seems they're using something pre-LaTeX for rendering mathematical expressions, that's an indication that this might be a tad too old
12:56:33 <FireFly> shachaf: Firefox seems to show it under 'view page info'
12:57:08 <shachaf> Chromium doesn't.
12:59:03 <oerjan> int-e: is it the "On the cleverness of compilers"?
12:59:10 <oerjan> *CC
12:59:12 <int-e> oerjan: yes.
12:59:21 <oerjan> yay
12:59:21 -!- J_Arcane_ has joined.
12:59:35 <int-e> the "Untitled Document" is http://faith.rydia.net/episode1/page20.html
13:00:21 <shachaf> whoa, i have a different page with the same title
13:00:51 <oerjan> shocking
13:01:04 <shachaf> whoa, Word 97 was so good
13:01:10 <shachaf> such a good program
13:01:13 -!- J_Arcane has quit (Ping timeout: 255 seconds).
13:01:16 -!- J_Arcane_ has changed nick to J_Arcane.
13:01:49 <oerjan> much edit
13:02:46 <shachaf> My bookmarks are write-only.
13:04:09 <shachaf> My bookmarking strategy is this: I open tabs with things I want to get to. I never get to them. Eventually I have so many tabs that my browser gets slow, or they don't fit (or my browser crashes and loses them all). I put them all in a bookmark folder and never look at it again.
13:04:19 <int-e> That sounds like a huge time-saver.
13:04:43 <oerjan> i recall bookmarking in that way back in the early 2000s
13:04:53 <oerjan> (except there were no tabs)
13:05:10 <int-e> shachaf: you can skip the step where you save the bookmarks
13:05:30 <ion> Excel 2000 was the shit. http://youtu.be/UO4DvM9KUyM
13:05:35 <shachaf> int-e: Hence "write-only".
13:05:41 <oerjan> when i quit university i got it all saved to a cd but i doubts it's still readable
13:05:47 <int-e> (I do. Very rarely that leads to a session of finding something interesting in the browser history.)
13:05:47 * oerjan has never tried.
13:06:07 <oerjan> *doubt
13:06:13 <oerjan> TENSES, I SAID
13:06:18 <oerjan> or persons, technically
13:06:25 <int-e> oerjan: even if the CD works, many of the links won't :)
13:06:25 <shachaf> int-e: Oh, I also do all browsing in "incognito mode".
13:06:31 <int-e> shachaf: Ah.
13:06:32 -!- Patashu has joined.
13:06:38 <shachaf> Except for things that I want to save for later. Those become tabs in the regular browser window.
13:06:58 <int-e> I need to work on my paranoia :P
13:07:06 <shachaf> ion: whiona
13:07:19 -!- shikhout has joined.
13:07:23 <shachaf> There's no paranoia benefit here. My traffic still gets logged.
13:07:36 <shachaf> I just don't like purple links, or something.
13:09:11 * oerjan hates sites that _thwart_ his ability to see whether links are visited.
13:09:20 -!- J_Arcane_ has joined.
13:09:28 <oerjan> either by styling, or by having stupid redirection.
13:09:49 <oerjan> i'm looking at you, blogspot
13:10:45 -!- J_Arcane has quit (Ping timeout: 240 seconds).
13:10:53 -!- shikhin has quit (Ping timeout: 264 seconds).
13:10:59 <oerjan> although i guess it's stupid of IE not to log both the pre- and post-redirection url
13:10:59 -!- J_Arcane_ has changed nick to J_Arcane.
13:11:08 -!- Patashu has quit (Ping timeout: 265 seconds).
13:11:12 <oerjan> i dunno what other browsers do, of course
13:12:18 <oerjan> but an ideal browser should (1) log both post- and pre-redirection (2) have some kind of these-urls-are-equivalent database (3) refuse to use the same styling for visited and unvisited links
13:14:06 -!- J_Arcane_ has joined.
13:15:19 <int-e> a:visited { text-decoration: blink }
13:15:24 <oerjan> and i also wish reddit had a view setting that was simply "reverse posting order"
13:15:35 -!- J_Arcane has quit (Ping timeout: 258 seconds).
13:15:45 -!- J_Arcane_ has changed nick to J_Arcane.
13:16:14 <oerjan> (iirc "new" browsing only shows the very last new posts)
13:16:25 <ion> The best web sites make links look identical to paragraph text.
13:16:50 <oerjan> the best web sites for hunting down and killing, i take
13:16:53 <int-e> oerjan: but then it would start out as "dinnareadit, dinnareadit, ..." instead of "reddit, reddit, reddit..."
13:17:07 <oerjan> int-e: O KAY
13:18:22 <oerjan> oh and for reddit _comments_, i occasionally have wished that the slightly better new order there looked at the newest undeleted post in the subthread rather than its top ancestor
13:19:03 <oerjan> because my entire use case for "new" in reddit comments is to find new comments in old threads
13:20:58 <oerjan> mind you these days i somehow barely manage to keep up with r/haskell, much less the larger subreddits i used to follow.
13:26:27 <oerjan> argh anarchy golf won't load
13:27:13 <oerjan> which leads me to another feature i'd want: if the site doesn't reload, i'd like it to keep showing me the old version of the page
13:27:52 <oerjan> because like, the last thing i do before reloading that page was take note of the last thing i'd seen
13:27:58 <oerjan> *did
13:28:24 <oerjan> well it worked second time
13:30:20 -!- copumpkin has joined.
13:32:53 <int-e> I never got into slashdot, and I didn't get into reddit. Instead I'm annoyed when people link to reddit instead of the original articles.
13:34:02 * oerjan glares at int-e
13:34:35 <oerjan> but without the reddit link, how will you know why the original article is bullshit!
13:34:49 <int-e> I'll use my own judgement?
13:35:03 <oerjan> sounds brittle to me
13:35:13 <int-e> I know that's a dying concept.
13:35:57 <oerjan> (also sometimes the reddit link tells you relevant information without which you cannot make a sensible judgement.)
13:36:32 <oerjan> i guess, sometimes the reddit discussion is more interesting than the original link. i certainly don't always click on the latter.
13:37:12 -!- cluid has joined.
13:38:57 <int-e> https://xkcd.com/386/ I guess that's the reason why I avoid reddit.
13:39:17 <int-e> Or one reason, at least.
13:46:01 <oerjan> <oren> i have an alias in my bashrc of pulseaudiodieinafire <-- i note it's longer than what it expands to. might still be faster to type i guess
13:48:20 <oerjan> `addquote <coppro> at one point I'm pretty sure I fixed a sound problem with "apt-get remove pulseaudio" and it wasn't even installed
13:49:11 <HackEgo> 1224) <coppro> at one point I'm pretty sure I fixed a sound problem with "apt-get remove pulseaudio" and it wasn't even installed
13:49:29 <oerjan> `echo hi
13:49:32 <HackEgo> hi
13:49:38 -!- GeekDude has joined.
14:01:30 -!- boily has joined.
14:03:36 <oerjan> bod ettermilygdag
14:07:15 * boily does inarticulate chewbacca cries
14:07:32 <boily> (bon matœrjan)
14:08:23 <oren> oerjan : pulseaudiodieinafire is easy to type hth
14:08:50 <oerjan> especially when you're angry i assume
14:10:22 -!- MoALTz_ has joined.
14:11:44 <oren> indeed it is hard to remeber space when youre angry
14:11:59 <boily> good morening.
14:12:21 <oren> ohayou gozaimasu
14:13:49 -!- MoALTz has quit (Ping timeout: 260 seconds).
14:14:41 <oerjan> o hai yourself
14:14:47 <cluid> hi
14:15:00 <boily> chellouid.
14:15:11 <oerjan> now i'm wondering if that inspired the lolcat thing
14:16:00 <oerjan> boily: what an egregious smipeeling of celluloid tdnh
14:16:03 -!- hjulle has quit (Ping timeout: 264 seconds).
14:16:30 <oerjan> or possibly cthulhuoid
14:16:59 <boily> cluid is difficult to hello. let's check the official version...
14:17:06 <boily> `ello cluid
14:17:08 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ello: not found
14:17:11 <boily> ...
14:17:13 <int-e> what is the problem that pulseaudio is supposed to solve anyway...
14:17:15 <oerjan> wat
14:17:40 <oren> it multiplexes audio between several apps
14:17:50 <boily> int-e: it's kinda like jack, but not?
14:18:12 <oren> and it is supported by ubuntu for whatever reason
14:18:35 <int-e> oerjan: mmm. http://codu.org/projects/hackbot/fshg/index.cgi/rev/cd658f881a6a
14:18:35 <elliott> int-e: e.g., application-level volume contro
14:18:38 <elliott> *control
14:18:49 <elliott> and network audio
14:19:12 <int-e> ah, network audio is important. not.
14:19:16 <oerjan> boily: stealth sabotage by elliotts, i see
14:19:30 <elliott> not to you
14:19:51 <elliott> also EQing
14:20:07 <elliott> changing output device on the fly
14:20:30 <oerjan> int-e: I WAS LOOKING UP THAT
14:20:41 -!- Phantom_Hoover has quit (Remote host closed the connection).
14:20:47 <elliott> anyway I can't remember the last time I heard someone actually having problems with pulseaudio as opposed to just remembering having a bunch of problems with it, to be honest
14:21:14 -!- oerjan has set topic: Beware of int-e's evil twin oerjan | Beware of ricocheting jokes | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
14:21:32 <oerjan> `? ørjan
14:21:37 <int-e> elliott: Well, I uninstalled the thing, so all my pulseaudio troubles are in the past, for now.
14:21:40 <HackEgo> ​Ørjan is oerjan's good twin. He's banned in the IRC RFC for being an invalid character. Sometimes he publishes papers.
14:21:43 <cluid> did anyone fix the k-on fuck page
14:21:49 <oerjan> cluid: fix how
14:21:59 <cluid> i explained earlier
14:22:26 <int-e> elliott: But I do remember what the problem was: about a second of delay between stopping a movie and the audio stopping, in xine, and a matching delay on restarting the movie.
14:22:35 <oerjan> cluid: in that case, i missed it
14:22:47 <elliott> xine @_@
14:23:25 <int-e> I use it for playing DVDs *shrugs8
14:23:46 <boily> mplayer masterrace!
14:23:48 <oerjan> nope, not finding your explanation
14:23:51 <int-e> otherwise it's usually mplayer these days.
14:25:06 -!- S1 has joined.
14:25:20 -!- AnotherTest has quit (Ping timeout: 244 seconds).
14:26:53 -!- mitchs has joined.
14:28:58 -!- mitchs_ has quit (Ping timeout: 255 seconds).
14:35:42 <oren> i have problems with pulseaudio still. mostly to do with too many volume controls.
14:37:35 <oren> why do you need an application volume control when the applications already provide one?
14:38:13 <elliott> they don't, necessarily.
14:38:27 <elliott> and they shouldn't have to (why should every program implement its own redundant audio functionality?)
14:39:05 <fizzie> And sometimes the application volume control == the pulseaudio one, if it's a pulse-native thing.
14:39:25 -!- S1 has quit (Quit: S1).
14:39:37 <fizzie> Though I can't think of an example offhand.
14:42:21 <oren> well I use vlc to play everything, and when pulseaudio is installed there are then three volume controls
14:42:25 -!- atslash has joined.
14:44:15 <oren> and besides i have a physical volume conrol on my headphones
14:44:50 <elliott> this sounds like the worst reason to killall pulseaudio
14:45:09 <elliott> why do nerds love complaining so much
14:45:13 <oren> it is a usability problem
14:45:40 <oren> there should be only one volume control or failing in that two
14:45:53 <oren> not four
14:45:55 <fizzie> You can remove the (useless) VLC volume control with "Tools/Customize interface", and you don't have to ever touch or even see the PA per-application volume control for VLC (if that's all you ever use).
14:46:11 <elliott> you were just advocating for application-specific volume control, i.e. volume control proliferation
14:46:46 <elliott> I mean I just don't think this state of affairs actually causes you any hardship but whatever. now I'm "enjoying" complaining about complaining
14:47:48 <oren> it is an annoyance... so i pkill -9 pulseaudio to reset its volume
14:48:14 <fizzie> Do you also rip off the power cable to shut down your computer?
14:49:19 <oren> i wish i could
14:49:31 <oren> on msdos you can
14:50:02 <oren> or just hit the power switch
14:50:32 <oren> there is no reason why these interfaces have to be so complicated
14:51:02 <fizzie> elliott: Re the cost function, it was too silly to explain, sorry.
14:52:20 <oren> anyway it is easier to kill pulseaudio than figure out which volume control is turned down or up.
14:53:29 <oren> kill first, ask questions later-- a good policy in life
14:53:33 -!- J_Arcane_ has joined.
14:54:23 <oerjan> fizzie: i assume it was a quantum cost
14:54:37 <oerjan> or as they say in italian, quanta costa
14:55:00 -!- J_Arcane has quit (Ping timeout: 244 seconds).
14:55:13 -!- J_Arcane_ has changed nick to J_Arcane.
14:55:17 <oerjan> *quanto
14:56:18 <fizzie> I feel like I'm missing a joke here.
14:56:45 <oerjan> at least.
14:57:29 <oerjan> (quanto costa is like one of the obvious tourist italian expressions)
14:57:38 <oren> cuanta costa means how much does this cost in spanish
14:58:45 <oerjan> cuánto cuesta says wiktionary
14:59:12 <int-e> oerjan: btw I hope you're not trying to imply that you're the good twin. you're evil, too :)
14:59:16 -!- nys has joined.
14:59:19 * int-e thinks
14:59:35 <int-e> I know I cannot read but why do I have to keep demonstrating it...
14:59:41 <oerjan> I DUNNO
15:47:57 -!- J_Arcane_ has joined.
15:49:45 -!- J_Arcane has quit (Ping timeout: 240 seconds).
15:49:52 -!- J_Arcane_ has changed nick to J_Arcane.
15:53:36 -!- J_Arcane_ has joined.
15:54:55 -!- J_Arcane has quit (Ping timeout: 255 seconds).
15:55:01 -!- J_Arcane_ has changed nick to J_Arcane.
15:57:37 -!- J_Arcane_ has joined.
15:58:09 -!- drdanmaku has joined.
16:00:02 -!- J_Arcane has quit (Ping timeout: 258 seconds).
16:00:02 -!- J_Arcane_ has changed nick to J_Arcane.
16:00:56 -!- boily has quit (Quit: INTERPUNCT CHICKEN).
16:03:24 <cluid> Fractran is so cool
16:03:39 <cluid> did you see the self interpreter that someone wrote?
16:03:43 <cluid> they made up a whole new notation for it
16:05:02 <oerjan> pretty sure i have once
16:07:18 -!- J_Arcane_ has joined.
16:07:31 <cluid> a kind of highr level fractran
16:09:39 -!- oren has quit (Quit: going to school).
16:09:57 -!- J_Arcane has quit (Ping timeout: 252 seconds).
16:09:58 -!- J_Arcane_ has changed nick to J_Arcane.
16:27:25 -!- oerjan has quit (Quit: leaving).
16:33:57 <cluid> im impressed that someone managed to program that
16:34:06 <cluid> what other fractran programs are there people have written?
16:34:12 <cluid> I saw the prime sieve but i dont know how even that work
16:43:00 -!- nys has quit (Quit: quit).
16:49:25 -!- cluid has quit (Quit: Leaving).
17:30:47 -!- password2 has joined.
17:31:06 -!- oren has joined.
17:31:13 -!- Sprocklem has quit (Ping timeout: 272 seconds).
17:36:19 -!- shikhout has changed nick to shikhin.
17:38:51 -!- password2 has quit (Ping timeout: 264 seconds).
17:39:29 <oren> what character for right shift and left shift?
17:39:59 <oren> maybe unicode » and «
17:41:52 <oren> or maybe just one character, using negative numbers for the other shift
17:46:23 <oren> i'd prefer to keep everything ascii
17:46:30 <fizzie> I don't think « and » are very good, semantically. There's always ≪ and ≫ but possibly they aren't very good either.
17:46:34 <b_jonas> oren: no, ≪ and ≫ I believe
17:46:40 <fizzie> And they're more obscure as far as characters go.
17:46:53 <b_jonas> fizzie: doesn't Knuth use ≪ in volume 4?
17:47:45 <fizzie> For shift, you mean? I wouldn't know, I haven't read any of the Volume 4 stuff.
17:47:48 <coppro> I kind of like those characters
17:47:51 <b_jonas> yes, for shift
17:48:06 <coppro> `unicode ≪
17:48:09 <fizzie> But they do already have a mathematical meaning. Still.
17:48:12 <HackEgo> U+226A MUCH LESS-THAN \ UTF-8: e2 89 aa UTF-16BE: 226a Decimal: &#8810; \ ≪ \ Category: Sm (Symbol, Math) \ Bidi: ON (Other Neutrals) \ Character is mirrored
17:48:20 <coppro> `unicode ≫
17:48:22 <HackEgo> U+226B MUCH GREATER-THAN \ UTF-8: e2 89 ab UTF-16BE: 226b Decimal: &#8811; \ ≫ \ Category: Sm (Symbol, Math) \ Bidi: ON (Other Neutrals) \ Character is mirrored
17:48:24 <oren> hmm i think better to use one chracter for both shifts
17:48:36 <coppro> oh wait
17:48:38 <coppro> nvm
17:48:43 <coppro> those are doublewidth, aren't they?
17:48:48 <coppro> and just not rendering right in my terminal
17:49:34 <coppro> or at any rate, I'm supposed to see two arrows, right?
17:49:34 <oren> how about capital K
17:49:39 <fizzie> I don't think they're in any official sense doublewidth.
17:49:52 <coppro> ok, yeah, it's just awful font
17:50:00 <coppro> `unicode «
17:50:02 <HackEgo> U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK \ UTF-8: c2 ab UTF-16BE: 00ab Decimal: &#171; \ « \ Category: Pi (Punctuation, Initial quote) \ Bidi: ON (Other Neutrals) \ Character is mirrored
17:50:45 <coppro> alternative suggestion: 《 and 》
17:50:53 <coppro> (these suggestions are even worse. don't use them)
17:51:02 <fizzie> a ⋘ b → a ≪ b.
17:51:11 <coppro> `unicode ⋘
17:51:13 <HackEgo> U+22D8 VERY MUCH LESS-THAN \ UTF-8: e2 8b 98 UTF-16BE: 22d8 Decimal: &#8920; \ ⋘ \ Category: Sm (Symbol, Math) \ Bidi: ON (Other Neutrals) \ Character is mirrored
17:51:13 <coppro> hrm
17:51:20 <coppro> `unicode 《
17:51:23 <HackEgo> U+300A LEFT DOUBLE ANGLE BRACKET \ UTF-8: e3 80 8a UTF-16BE: 300a Decimal: &#12298; \ 《 \ Category: Ps (Punctuation, Open) \ Bidi: ON (Other Neutrals) \ Character is mirrored
17:51:27 <coppro> interesting that *that* renders as doublewidth on my terminal
17:51:51 <coppro> I feel like ⋖ and ⋗ would be good bit-shift characters
17:51:51 <oren> it is used in chinese for some quotes i think
17:52:04 -!- password2 has joined.
17:52:46 <fizzie> a ⋚ b.
17:53:23 <fizzie> ("LESS-THAN EQUAL TO OR GREATER-THAN")
17:54:11 <oren> I think i will just use K for now, and add super special unicode chars in another version (scrip8?)
17:54:29 <oren> the 8 stands for utf-8
17:54:41 <fizzie> Also, a = b → a ≸ b.
17:55:05 <oren> whereas scrip7 will be limited to 7-bit ascii
17:56:35 <oren> `unicode ≸
17:56:38 <HackEgo> U+2278 NEITHER LESS-THAN NOR GREATER-THAN \ UTF-8: e2 89 b8 UTF-16BE: 2278 Decimal: &#8824; \ ≸ \ Category: Sm (Symbol, Math) \ Bidi: ON (Other Neutrals) \ Character is mirrored \ Decomposition: 2276 0338
17:57:07 <coppro> oren: I'm waiting for scripEBDIC
17:58:01 <oren> i have another idea for a language with its own code page but i will wait for chrismas break to make it
17:58:19 <oren> it willuse all 256 bytes for printing chars
18:04:48 <oren> also-- an esoteric markup language
18:16:53 -!- nys has joined.
18:25:11 -!- Sgeo_ has quit (Read error: Connection reset by peer).
18:28:01 -!- CrazyM4n has joined.
18:36:17 -!- atslash has quit (Read error: Connection reset by peer).
18:39:10 -!- password2 has quit (Read error: Connection reset by peer).
18:40:24 <FireFly> fizzie: I've never gotten why those characters exist...
18:42:09 -!- atslash has joined.
18:42:17 <FireFly> 'those characters' being ⋚ and such
18:42:20 <FireFly> Perhaps just for consistency
18:42:41 <fizzie> Someone gave me a plausible explanation, but I've forgotten it already.
18:42:42 <shachaf> FireFly: "comparable", in a partial ordering?
18:43:15 <fizzie> I was thinking about that, but I think the plausible thing I heard of had something to do with why both ⋚ and ⋛ are needed.
18:44:24 <shachaf> If putting one thing above another is read as "or", I'd expect them to mean the same thing.
18:44:56 <shachaf> Then again, there's both ± and ∓
18:44:57 <fizzie> There's also things like ≨ which I guess is just < except it's more explicit about the ≠ part.
18:45:38 <fizzie> I've seen ± and ∓ used in some sort of a case where "a ± b ∓ c" means "a + b - c or a - b + c".
18:48:07 <fizzie> I guess you could extend that interpretation to make "a ⋚ b → b ⋛ a" say "a < b → b > a; a = b → b = a; a > b → b < a" on one line, but it doesn't seem very useful in general.
18:48:38 <shachaf> Right.
18:55:16 -!- MDream has joined.
18:55:36 <MDream> Guess I'll make the dolphin thread after lunch if someone else hasn't.
18:55:42 <MDream> https://lainchan.org/r/res/5364.html Also, this spam.
18:55:45 -!- MDream has changed nick to MDude.
18:56:01 <MDude> I was kind fo hoping it'd be a crudly edited mod of Toontown.
18:56:45 <HackEgo> [wiki] [[Ttml]] N http://esolangs.org/w/index.php?oldid=41376 * Orenwatson * (+2222) created page and chart of controls.
18:58:07 <oren> hay luk guise i made an awful thing!
19:00:05 <paul2520> that's fantastic
19:01:31 <oren> you can use this instead of boring old TeX
19:01:50 <oren> and make your paper look likeit was made in 1948
19:01:55 <paul2520> haha
19:02:02 <paul2520> is there an interpreter for it already?
19:02:11 <paul2520> /compiler
19:02:11 <oren> no but i am working on it
19:02:13 <paul2520> cool
19:02:22 <oren> it will make jpega
19:02:27 <oren> *jpegs
19:02:37 <oren> one for each page
19:03:23 <oren> you can make subscripts/superscripts by moving down a half-line like in the old days
19:03:35 <paul2520> do you have an example 1948 paper?
19:04:03 <oren> no but my father has some from 1957 in the soviet union
19:04:12 <paul2520> cool
19:04:21 <oren> they have aleph written in by hand with a pen
19:04:37 <paul2520> that would be cool to see
19:05:06 <oren> anyway so i thought, what if i were to hand in an assignment wirtten like that?
19:05:29 -!- Sgeo has joined.
19:05:32 <oren> they would be freaked, out
19:06:02 <shachaf> I would find ⋚ with a big slash through it useful.
19:06:12 <shachaf> How do you indicate that things aren't comparable?
19:06:38 <oren> not with a giant scribble
19:07:26 -!- shikhout has joined.
19:08:15 <oren> it appeard from wiki that you use //
19:09:37 <oren> but maybe that's because they got tired of scribbling
19:10:45 -!- shikhin has quit (Ping timeout: 265 seconds).
19:11:03 <oren>
19:12:44 <oren> `unicode ⋚̸
19:12:57 <HackEgo> U+22DA LESS-THAN EQUAL TO OR GREATER-THAN \ UTF-8: e2 8b 9a UTF-16BE: 22da Decimal: &#8922; \ ⋚ \ Category: Sm (Symbol, Math) \ Bidi: ON (Other Neutrals) \ Character is mirrored \ \ U+0338 COMBINING LONG SOLIDUS OVERLAY \ UTF-8: cc b8 UTF-16BE: 0338 Decimal: &#824; \ ̸ \ Category: Mn (Mark, Non-Spacing) \ Bidi: NSM (Non-Spacing Mark) \ Com
19:13:42 <oren> ⋚̷
19:14:10 <CrazyM4n> You've broken XChat by posting that
19:14:22 <CrazyM4n> I can now make multiple text selections somehow
19:14:34 <oren> lolololol
19:15:03 <oren> so yeah there is the scribble character
19:17:07 <oren> Anyway i will eventually post an implementation of TTML
19:17:52 <CrazyM4n> Remember that fungeiod IDE I was making
19:17:59 <oren> yeah?
19:18:01 <CrazyM4n> You can now scroll (wow)
19:18:12 <oren> awsome. scrolling is important
19:18:17 <CrazyM4n> Mhm
19:18:45 <CrazyM4n> Well, you can go up and down
19:19:12 <oren> next you should make the cursor able to move in any direction. e.g. so that you can write 'a' and then the cursor will be below it
19:19:27 <oren> or behind it or above it
19:19:42 <CrazyM4n> What I'm doing
19:19:51 <CrazyM4n> is if you write, < for example
19:20:31 <CrazyM4n> The cursor will go to the left
19:20:49 <CrazyM4n> ^ will make it go up
19:20:57 <CrazyM4n> v will make it go down
19:21:27 <CrazyM4n> For now I'm coding it with respect to my own fungeoid
19:21:32 <CrazyM4n> But I will add profiles
19:22:18 <CrazyM4n> I could possibly make this my first legit program
19:22:31 <CrazyM4n> I just have to set up github
19:22:35 <CrazyM4n> er, git
19:22:41 <oren> awsome, legit.
19:22:47 <CrazyM4n> Which I don't know how to do
19:22:58 <oren> i usually use svn can't help you there
19:23:05 <oren> git is confusing as hell
19:23:14 <CrazyM4n> I usually use the GUI application on windows :/
19:23:44 <CrazyM4n> I know how to use gists.... I guess I'll just do that, hah
19:24:20 <CrazyM4n> https://gist.github.com/CrazyM4n/d02380667be743be1310
19:24:36 <CrazyM4n> It's not much yet, but it's getting there
19:26:42 <oren> hmm. if it helps i can post my ncurses spreadsheet program
19:27:00 <oren> it is very bad still becuase i stopped working on it
19:27:16 <CrazyM4n> No, I've wanted to learn ncurses for a long time
19:27:24 <CrazyM4n> This is a good learning experience
19:27:37 <CrazyM4n> Well, I would look at it if you posted it though
19:28:36 <paul2520> │ | 1310 │ mitchs
19:28:42 <paul2520> sorry, my bad
19:28:48 <CrazyM4n> lol
19:30:11 <oren> http://pastebin.com/cN3e35J9 this is (iirc) the only file in it that uses ncurses
19:30:44 <oren> it shows how to get control and alt characters
19:31:12 <CrazyM4n> That'll be useful
19:31:21 <oren> basically control characters are c-'@' and alt is char 27 followed by the character
19:31:24 <CrazyM4n> So, uh, I broke something on a giant scale
19:31:40 <oren> hmm?
19:32:00 <CrazyM4n> I don't even know, try running the script
19:32:03 <CrazyM4n> brb
19:33:23 <oren> duuude no tabs in python... bad!
19:34:13 <oren> change your tabs into spaces
19:35:33 <oren> actually the tabs aren't even being pasted when i copy it
19:35:55 <CrazyM4n> Huh
19:36:09 <CrazyM4n> I'll change them to spaces, but I personally have no opinion on the matter
19:36:20 <CrazyM4n> https://gist.githubusercontent.com/CrazyM4n/d02380667be743be1310/raw/5f0759d39f34749afcd77ffdfe6d986d11ae80bf/ide.py
19:36:31 <CrazyM4n> Copy from there
19:37:03 <CrazyM4n> What have I done http://i.imgur.com/U9q1zA6.png
19:38:34 <oren> the cursor doesn't move when i type but other than that seems ok
19:38:57 <oren> except when i move cursor off scrren it does not scroll
19:39:39 <oren> it instead throws an exception
19:39:41 <MDude> Wait why did I say all that in the wrong channel.
19:39:46 <CrazyM4n> Really? For me it does a TON of other stuff
19:40:59 <CrazyM4n> I get it now...
19:41:06 <CrazyM4n> For whatever reason
19:41:41 <CrazyM4n> The cursor goes in the correct direction, but when I type, it goes to a spot as if all of my cursor movements were rotated
19:44:58 <oren> it doesn't do taht for me
19:45:07 <CrazyM4n> If I swap the coordinates in the addch call, it works, but if it doesn't do that for you...
19:45:11 <CrazyM4n> What OS are you on?
19:45:17 <oren> linux
19:45:20 <oren> xubuntu
19:45:20 <CrazyM4n> terminal?
19:45:29 <oren> xfce4-terminal
19:46:15 <oren> i dunno, all the coords in ncurses are y,x.
19:46:26 <CrazyM4n> I'm on lubuntu and it happens to me under both terminator and lxterm
19:46:44 <CrazyM4n> Yeah, but the coords come straight out of getyx
19:47:06 <oren> that is the coords are y,x in getyx too
19:47:12 <CrazyM4n> Yes
19:48:34 <CrazyM4n> Bug report time?
19:49:13 <paul2520> Xubuntu++
19:49:21 <oren> plus plus?
19:49:31 <paul2520> I like Xubuntu
19:49:46 <paul2520> I would probably be using it right now, if I weren't using Windows
19:50:10 <paul2520> "++" from my experience is slang for "is awesome"
19:50:17 <paul2520> kinda based on things like C++
19:50:18 <CrazyM4n> C++ = awesome C?
19:50:31 <oren> C++ = pathetic, bloated C.
19:50:49 <paul2520> CrazyM4n: not in particular
19:50:49 <CrazyM4n> Notepad++ = pathetic, bloated notepad?
19:50:57 <paul2520> Notepad++ is pretty awesome
19:51:03 <oren> but C++ should not be used in the same purpose as C
19:51:08 <paul2520> no way
19:52:00 <myname> all c++ programmers should just write rust
19:53:00 <oren> note that earlier versions of C++ were decent. it only got bad recently
19:53:11 <myname> :D
19:53:58 <CrazyM4n> Can I make the cursor not move when I call addstr?
19:54:13 <oren> yes. use noecho
19:54:21 <CrazyM4n> Already did
19:54:26 <myname> CrazyM4n: do you know termbox?
19:54:26 <CrazyM4n> That's what wrapper() does
19:54:46 <CrazyM4n> No, but now I do
19:54:54 <myname> okay
19:55:41 <oren> uh, use mvprint?
19:55:46 <myname> one thing i find interesting about it is the easyness of porting
19:55:46 <oren> or mvaddstr
19:56:00 <Sgeo> It's... weird seeing a commercial for lego minecraft
19:56:02 <oren> yeah, mvaddstr should work
19:56:07 <Sgeo> A game I saw in development
19:56:24 <oren> and get chars with mvgetch
19:56:35 <Sgeo> (Well, I saw it before The End was added, and the commercial referenced The End)
19:57:06 <myname> minecraft people should grow some guts and go play dwarf fortress
19:57:19 <oren> +1 dorfortress
19:57:26 <CrazyM4n> Well, I found the problem
19:57:37 <CrazyM4n> addch uses x, y coordinates instead of y, x
19:57:44 <myname> :D
19:58:10 <oren> wtf??? why python has to mess that up?
19:58:18 <oren> it isn't like that in C
19:58:24 <myname> i really love terminal applications, but ncurses is a pain in the ass to write imo
19:58:33 <oren> not in C it isnt
19:58:42 <CrazyM4n> I just got rid of the coord arguments
19:58:47 <CrazyM4n> It's listed as y, x in the docs
19:58:51 <CrazyM4n> But it doesn't work like that
19:59:06 <CrazyM4n> So I just am letting it put the char at the cursor (which is what I want, anyway)
19:59:33 <myname> CrazyM4n: what are you going to write?
19:59:44 <CrazyM4n> Writing a fungeoid IDE
19:59:49 <myname> ah
20:00:20 <oren> honestly i love python but some of its libraries are messed up
20:00:33 <CrazyM4n> Just kidding, it doesn't work now
20:00:41 <CrazyM4n> Now, it literally just doesn't do anything
20:02:02 <FireFly> myname: there are alternatives to ncurses though
20:02:12 <myname> termbox is the one i know
20:02:16 <myname> what else is there?
20:02:21 <FireFly> libtickit is the one I know of
20:03:00 <oren> i have done stuff by outputting ansi sequences
20:03:09 <oren> that is a viable alternative
20:03:22 <FireFly> That is essentially what libtickit abstracts
20:03:40 <oren> and all these libraries
20:03:50 <myname> okay, termbox cannot handle mouse
20:03:53 <FireFly> Well, most of them seem to not pare ansi sequences sanely
20:03:56 <FireFly> parse*
20:04:01 <myname> it's not that much of a drawback imho
20:04:31 <oren> most terminals you mean?
20:04:43 <FireFly> e.g. vim doesn't--it barfs if you feed it valid escape sequences that it just happens to not be familiar with (yet follows the grammar of escape sequences defined by ECMA-35
20:04:45 <FireFly> )
20:05:21 <FireFly> oren: no, I mostly mean the application side of things, though I guess both are problematic
20:05:24 <oren> why would an editor need to parse them?
20:06:04 <oren> i am talking about stuff like printf("\33[45m");
20:06:09 <FireFly> Because special keystrokes such as ctrl+enter, delete, F1 and stuff are encoded an escape sequecnes?
20:06:10 <myname> tickit doesn't look any smaller than ncurses
20:06:10 <FireFly> sequences*
20:06:13 <Sgeo> Is Rust a good language for implementing esolangs?
20:06:24 <Sgeo> s/is/will it be/
20:06:42 <myname> Sgeo: i don't see why it wouldn't
20:06:58 <myname> you will have pattern matching
20:07:02 <myname> what else do you ened
20:07:18 <oren> oh i see. yeah i have also done that. you can parse them yourself with some ad-hoc code
20:07:28 <oren> whichever ones you need
20:08:09 <CrazyM4n> Well, I found the python ncurses source
20:08:10 <CrazyM4n> Wish me luck
20:08:39 <FireFly> I'd prefer if vim said something like "unsupported escape sequence" or just silently ignored it, rather than treating it as "Esc" "[" "35" "u" or whatever, causing all sorts of annoyingness
20:08:43 <oren> good luck1
20:09:22 <oren> hmm my editor appears to ignore anything weird
20:09:28 <oren> mcedit
20:11:26 <oren> maybe TTML should support the upper control characters (C1)?
20:12:00 <CrazyM4n> Of the python module is just interfacing with _curses, which is a .so file
20:12:31 <oren> so the bugs are probably easily fixable
20:12:51 <CrazyM4n> addch() is in that .so file
20:13:08 <oren> e.g. someone borked the argument order in the interface
20:13:46 <CrazyM4n> the curses module doesn't even have the interface
20:14:08 <oren> huh?
20:14:14 <CrazyM4n> The whole interface is a couple of initialized variables and an import _curses
20:14:38 <oren> uh... ok i have no idea how that works
20:15:01 <oren> i use C or pyhton i've never used both in one program
20:15:42 <oren> where did the .so come from?
20:16:23 <CrazyM4n> It's most likely a compiled C thingy
20:16:37 <CrazyM4n> It's probably just curses
20:16:56 <CrazyM4n> As in, the C library
20:17:34 <CrazyM4n> It can't be, it's only 93 kb
20:18:23 <CrazyM4n> Welp, I guess it's safe to say that it's probably time to reinstall python unless someone wants to give me their _curses.cpython-34m-x86_64-linux-gnu.so file
20:19:24 <CrazyM4n> http://svn.python.org/projects/python/trunk/Modules/_cursesmodule.c btw
20:22:39 -!- GeekDude has quit (Ping timeout: 250 seconds).
20:24:57 -!- CakeMeat has joined.
20:27:41 -!- GeekDude has joined.
20:27:52 -!- GeekDude has quit (Changing host).
20:27:52 -!- GeekDude has joined.
20:28:08 <CrazyM4n> Huh, apparently the C code in _cursesmodule.c is all correct
20:28:12 <CrazyM4n> Where could the error be then?
20:28:46 <HackEgo> [wiki] [[Ttml]] M http://esolangs.org/w/index.php?diff=41377&oldid=41376 * Orenwatson * (+140)
20:36:14 -!- b_jonas has quit (Ping timeout: 250 seconds).
20:38:22 <CakeMeat> Still doing curses CrazyM4n
20:38:44 <CrazyM4n> Yes
20:38:56 <CrazyM4n> I found out that my python install was probably broken
20:39:23 <CakeMeat> Reinstall
20:39:33 <CakeMeat> Also ive had the same problem before
20:39:58 <CakeMeat> One of the files was corrupted so idk if thats fixed or not
20:40:16 <CakeMeat> Must go charge
20:42:59 -!- b_jonas has joined.
20:54:30 <CrazyM4n> Okay, I'm so confused
20:54:45 <CrazyM4n> All I need is someone to run https://gist.githubusercontent.com/CrazyM4n/d02380667be743be1310/raw/cb4de1cb60ddd68493a8f2354c5e1a33ccd6528c/ide.py and tell me what it does for them
20:54:49 <CrazyM4n> But nobody will D:
20:57:42 <oren> i'll do it hold on 1 sec
20:58:06 <CrazyM4n> Thanks
20:58:11 <paul2520> yeah, I can do it, oo. once I install python on this computer...
20:58:16 <paul2520> s/oo/too/
20:58:28 <CrazyM4n> You have to push an arrow key to get output
20:59:48 <oren> it goes to the space i want, then when i write a char it goes back to the position 4,3.
21:00:02 <oren> then when i move again it goes back where i was
21:00:23 <CrazyM4n> Where does it put the F?
21:00:26 <CrazyM4n> *f
21:01:00 <oren> line 4, column 2
21:01:09 <oren> (1 based index)
21:01:21 <CrazyM4n> Just like that, I give up
21:01:41 <oren> write in C
21:01:56 <CrazyM4n> I want to use python
21:02:01 <CrazyM4n> But I might be forced to use C
21:02:17 <myname> write i c, write in c, write in c, oh write in c, don't even mention cobol, write in c
21:02:35 <oren> oh come on, C is classic. C is an ever-faithful servant
21:02:51 <oren> who does exactly as she's told
21:02:52 <CrazyM4n> I just need to test my ncurses
21:02:54 <paul2520> myname: YES. https://www.youtube.com/watch?v=H4YRPdRXKFs
21:04:35 -!- S1 has joined.
21:04:47 <oren> whereas C++ is a fat man in meido-fuku.
21:04:58 <oren> it just isn't the same
21:05:22 <CrazyM4n> OK, the C implementation works
21:05:36 <CrazyM4n> so... I guess python curses is absolutely broken
21:10:43 <CrazyM4n> http://bugs.python.org/issue21088 praise the lords it's fixed
21:11:06 <CrazyM4n> oren: what is the output of python -v
21:11:52 <oren> 2.7.6
21:12:32 <CrazyM4n> That makes sense, this bug only affects 3.4.0
21:12:38 <CrazyM4n> Which is what I'm running
21:12:43 <myname> ah, python
21:12:50 <oren> python 3 sucks
21:12:59 <myname> that language where you can choose between buggy and deprecated
21:13:07 <oren> python 2 forever
21:13:29 <myname> nah
21:13:33 <oren> i and b tags are deprecated too, so what?
21:13:48 <CrazyM4n> heh
21:14:02 <CrazyM4n> I just chose python because it's easier to install on windows than ruby
21:14:15 <myname> i like ruby as a language way more than python
21:14:25 <myname> but the libraries around it are horrible
21:14:29 <CrazyM4n> Me too, shame it's so much slower
21:14:39 <oren> ruby is cool but can't handle unicode worth a damn and its slow
21:14:42 <CrazyM4n> The libraries are rather good imho, they just don't work on windows
21:15:47 <myname> they just don't work on 1.9+
21:15:57 <myname> at least not after the next update
21:16:05 <oren> C90 will be good to us forever
21:16:08 <myname> because hey, fuck api stability
21:17:12 <oren> yeah. like i'mma change scrip7 so all the literals are different. fuck stability, safety and shit.
21:17:31 <oren> that is ok for an esolang but srsly Ruby?
21:17:56 <CrazyM4n> Ruby is just the crappy sequel to Perl
21:18:01 <CrazyM4n> But I love both of those languages
21:18:04 <CrazyM4n> So it's k
21:18:05 <myname> nah
21:18:15 <myname> ruby is 110% syntax sugar
21:18:15 <oren> Perl 6 is the crappy sequel to Perl
21:18:17 <myname> i like that part
21:18:27 <CrazyM4n> We don't talk about Perl 6
21:18:42 <oren> because it literally will never take off
21:18:48 <oren> it is DOA
21:19:05 <CrazyM4n> We don't need new perl imho
21:19:20 <CrazyM4n> We already have old perl and it's good enough :P
21:19:48 <oren> exactly. my dad has cgi scripts that he wrote in 1995 and still work
21:19:58 <paul2520> that's awesome
21:20:05 <oren> why do we need any of this new crap?
21:20:08 <myname> fun fact, perl will turn 27 in 12 days
21:20:25 <myname> (so will i)
21:20:48 <myname> that's the only thing i like about it
21:20:55 <paul2520> whoa. you have the same birthday as Perl?
21:21:00 <CrazyM4n> You were born on the day Perl was born?
21:21:04 <myname> i do
21:21:08 <paul2520> that's epic
21:21:13 <oren> brofist
21:21:18 <CrazyM4n> Are you by any chance a dollar sign and a bunch of random garbage characters?
21:21:18 <myname> :D
21:21:25 <CrazyM4n> :P
21:21:29 <int-e> heavy karma
21:21:42 <myname> only in #esoteric :D
21:22:10 <CrazyM4n> I have to learn perl. I love it for what it does and how well it works and it's codegolfability, but I don't actually know it
21:22:27 <myname> you could also learn golfscript
21:22:35 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
21:22:50 <CrazyM4n> But golfscript is written in ruby *shudder*
21:22:50 <oren> useing a language designed for golfing is cheating imo
21:22:59 <CrazyM4n> ^
21:23:28 <myname> oren: what about J?
21:23:40 <oren> perl was designed to put sed awk and tcl in one language
21:23:56 <paul2520> CrazyM4n: if you're still looking for someone to run that script, I may be able to help now. Though it looks like oren was able to help you
21:24:09 <oren> J was designed to be APL in ascii
21:24:15 <CrazyM4n> Yeah, I found the bug also
21:24:22 <paul2520> glad to hear it
21:24:36 <myname> oren: it is perfect for golfing, though
21:24:59 <CrazyM4n> paul2520: http://bugs.python.org/issue21088
21:25:37 <paul2520> CrazyM4n: ah. I see.
21:26:53 <oren> yeah but it wasn't designed explicitly for brevity it just so happens that metafunctions make things short
21:29:16 -!- CrazyM4n has quit (Remote host closed the connection).
21:31:21 -!- CrazyM4n has joined.
21:31:30 <CrazyM4n> HALLELUJAH
21:31:32 <CrazyM4n> IT WORKS
21:31:41 <oren> howd you manage it
21:31:55 <CrazyM4n> had to install pyenv and install python 3.4.2
21:32:08 <CrazyM4n> it took all day to fix something python broke
21:32:11 <CrazyM4n> screw that
21:38:51 -!- HackEgo has quit (Ping timeout: 264 seconds).
21:41:00 -!- HackEgo has joined.
21:52:36 <CrazyM4n> Okay, scrolling actually works now
21:54:01 -!- atslash has quit (Ping timeout: 244 seconds).
21:58:04 -!- Patashu has joined.
21:58:42 <oren> howd you manage it
22:00:34 <CrazyM4n> Eh, lots of testing
22:05:29 <oren> i gave up trying to implement ttml in C for now, and i'm writing a translator into html.
22:05:55 <oren> using lots of absolutely positioned divs.
22:07:55 -!- AnotherTest has joined.
22:12:51 <CrazyM4n> I'm recording a gif of it
22:15:33 <CrazyM4n> It's glitchy still
22:22:11 <CrazyM4n> http://i.imgur.com/TnfNcXj.gifv
22:22:41 <CrazyM4n> The only glitch I found was writing off screen doesn't actually add the characters, just moves your cursor
22:27:06 -!- MoALTz_ has quit (Quit: Leaving).
22:31:23 -!- atslash has joined.
22:31:45 -!- nys has quit (Quit: quit).
22:33:05 <CrazyM4n> Fixed it
22:34:26 <FreeFull> Was it someone in here who linked to http://retroforth.org/docs/The_Ngaro_Virtual_Machine.html ?
22:34:52 <FreeFull> I don't remember who I interacted with to find it >_<
22:35:01 <FreeFull> There was a JS implementation
22:35:16 <FreeFull> And, minesweeper
22:35:39 <CrazyM4n> Not me, but that's cool
22:37:14 <FreeFull> Might have been a different network
22:51:30 <CakeMeat> CrazyM4n: what is that gif
22:51:51 <HackEgo> [wiki] [[Ttml]] http://esolangs.org/w/index.php?diff=41378&oldid=41377 * Orenwatson * (-54) too hard to implement. will think of something else.
22:51:51 <CrazyM4n> CakeMeat: my IDE so far
22:52:02 <CakeMeat> Oh
22:52:09 <CrazyM4n> I've done more since that gif
22:52:22 <CrazyM4n> Saving/loading files is almost done
22:52:34 <CakeMeat> Why does it look like random garbage >
22:52:41 <CrazyM4n> Because I was hitting random keys :P
22:52:45 <CakeMeat> Oh
22:52:57 <CakeMeat> Funny
22:53:28 <CakeMeat> And Did you fix your python 3 troubles?
22:53:38 <CrazyM4n> Yeah, I had to install python 3.4.2 but it works well now
22:53:57 <CakeMeat> Great
22:54:24 <CakeMeat> Why didnt the python support channel help you?
22:54:30 <CrazyM4n> Doing other things
22:54:34 <CrazyM4n> I presume
22:54:43 <CakeMeat> Helpful
22:54:52 <CrazyM4n> Someone told me to switch to a different framework
22:54:55 <CrazyM4n> lol
22:55:03 <CakeMeat> lol
22:55:18 <CakeMeat> Why not use C ?
22:55:36 <CrazyM4n> Because python is easier
22:55:45 <CrazyM4n> And I haven't used C in so long, I'd have to relearn it
22:55:49 <CrazyM4n> Someday, but not today
22:56:02 <CakeMeat> Oh, well python is easy
22:56:12 <CrazyM4n> Yes
22:56:31 <CrazyM4n> Doesn't make it less powerful, and with PyPy if I bother to install it I can get speed comparable to C
22:57:14 <CakeMeat> Do you use a library
22:57:19 <CrazyM4n> For?
22:57:23 <CakeMeat> Stuff
22:57:34 <CrazyM4n> Well, I am using ncurses to draw the screen
22:57:44 <CrazyM4n> Which comes with python on linux
22:57:51 <CakeMeat> Welp
22:57:53 <CrazyM4n> (It won't work on windows, I just realized)
22:57:54 <CrazyM4n> :c
22:58:10 <CrazyM4n> https://gist.github.com/CrazyM4n/d02380667be743be1310
22:58:20 <CrazyM4n> There are replacements for curses on windows
22:58:30 <CrazyM4n> I'd just have to go through and change a little bit of stuff
22:59:04 <CakeMeat> Oh my
22:59:14 <CrazyM4n> Hm?
22:59:30 -!- AnotherTest has quit (Remote host closed the connection).
22:59:31 <CakeMeat> What version of windows do you use
23:00:00 <CrazyM4n> Lubuntu 14.04 :P
23:01:12 <CakeMeat> Ive had bugs with lubuntu. did they fix any?
23:01:27 <CrazyM4n> I haven't run into too many troubles
23:01:31 <CrazyM4n> What bugs have you had?
23:04:13 <myname> use less windows
23:04:18 <CakeMeat> Installed half way and terminated Process
23:04:50 <CakeMeat> Like if something wont install properly i wont really use it.
23:05:03 <CrazyM4n> Huh
23:05:37 <CrazyM4n> Well, I installed ubuntu
23:05:48 <CrazyM4n> Decided I hated unity, installed xubuntu-desktop
23:05:58 <CrazyM4n> Decided I hated xubuntu-desktop, installed lubuntu-desktop
23:06:04 <CrazyM4n> Haven't changed since
23:06:14 <myname> straight to tiling wms :p
23:06:34 <CrazyM4n> I tried to use i3 for a while
23:06:37 <CrazyM4n> Keyword: tried
23:06:39 <CakeMeat> Ive never liked ubuntu like products/ubuntu itself
23:07:46 <myname> i am using herbstluft wm
23:08:23 <CrazyM4n> I don't like ubuntu much but I'm most used to it
23:08:30 <CrazyM4n> I wanted to switch to arch but I haven't bothered
23:08:36 <myname> go for it
23:11:05 <CakeMeat> Arch linux with Antergos alt. But i should probably switch
23:14:52 -!- Patashu has quit (Disconnected by services).
23:14:52 -!- Patashu_ has joined.
23:17:35 -!- S1 has quit (Quit: S1).
23:20:15 -!- zzo38 has joined.
23:22:15 -!- Phantom_Hoover has joined.
23:27:41 <oren> finished: http://pastebin.com/0kifNgpd
23:28:07 <oren> well kind of. i'll make the greek and cyrillic escapes later
23:29:23 <b_jonas> oren: what's that about?
23:29:39 <HackEgo> [wiki] [[Ttml]] http://esolangs.org/w/index.php?diff=41379&oldid=41378 * Orenwatson * (+64) add link to partial implementation
23:30:10 <oren> it is an implementation of my teletype markup language
23:30:32 <oren> you can use actual ascii escapes or ^ codes
23:30:55 <oren> it will translate to an html page
23:31:44 -!- ais523 has joined.
23:32:25 <b_jonas> I see
23:32:53 <oren> it uses one div for every character i will fix that later
23:33:03 <CakeMeat> Amaze
23:33:25 <oren> [-|] there, a maze
23:33:44 <CakeMeat> :I
23:34:10 <CakeMeat> You took it to far oren /o/
23:34:10 <myndzi> |
23:34:10 <myndzi> /<
23:34:13 <oren> the idea is that the result will look like a math paper from the 1950's
23:34:21 <CakeMeat> Once again myndzi
23:35:01 <CakeMeat> A math paper from the 1950's how do you know what that looks like
23:35:26 <oren> my father has a bunch from his friends who escaped from the USSR
23:36:40 <oren> also my father's thesis looks similar; he wrote it on a selectric.
23:36:52 <oren> but that was later obviously
23:37:42 <oren> anyway it mimics the effect of a paper teletype
23:38:09 <oren> with some additions such as limited color
23:38:24 <elliott> you can download papers online y'know :p
23:39:03 <CrazyM4n> You wouldn't download a car
23:39:46 <paul2520> ...but what about downloading models for 3D printing a car?
23:40:02 <zzo38> Next time you can make one to translate into ANSI instead of HTML, too
23:40:17 <oren> anyway i have seen the original of my father's thesis "pseudocompact metacompact spaces are compact" and that inspired this
23:41:07 <oren> i do not understand the paper at all obviously
23:42:37 <oren> zzo38: yeah i will figure that out. most terminal programs don't let you go down half a line so i don't think everyhting can be made to work
23:43:40 <oren> going down half a line was common method to make sub/superscripts
23:44:04 <CakeMeat> Pretty cool
23:44:09 <elliott> that's a great thesis title
23:44:51 <oren> it is hilarious because i asked him what metacompact is and he couldn't remember.
23:44:59 <oren> i know what compact is
23:45:01 <fizzie> These days it'd have a pithy saying in front, separated by dash.
23:45:33 <oren> ya it would
23:45:49 <fizzie> Wikipedia's [[Metacompact space]] cites "Pseudocompact metacompact spaces are compact".
23:46:25 <elliott> Bananas in Space(s) (That Are Compact): Pseudocompact metacompact spaces are compact
23:46:27 <fizzie> One wonders if whoever added the citation read more than the title, since it's all there.
23:46:59 <oren> i know... you don't even really need an abstract
23:47:27 <zzo38> I have played Dungeons&Dragons game now I am writing recording and then you can read it please
23:48:02 <zzo38> I found the six "orden" books.
23:52:30 <fizzie> "In 1950, Arens and Dugundji [1] defined metacompact spaces and showed (A) countably compact metacompact spaces are compact. It was known by then that paracompact spaces are normal and that normal pseudocompact spaces are countably compact. Since paracompact spaces are metacompact, (A) also showed (B) pseudocompact paracompact spaces are compact."
23:52:35 <fizzie> I didn't understand any of it, but reading it made the word "compact" itself sound meaningless too.
23:53:09 <oren> it makes it sound like compact is not even an english word...
23:53:16 <oren> like some sort of mantra
23:53:30 <CrazyM4n> http://en.wikipedia.org/wiki/Semantic_satiation
23:58:11 <oren> but yeah it turns out you can stick any latin/greek prefix onto compact and make a new class of topological space
23:59:29 -!- oren has quit (Quit: dinnertime).
2014-12-07
00:00:44 <CrazyM4n> bisymcompact space
00:01:20 <CrazyM4n> of course http://i.imgur.com/9xt3PxP.png
00:01:32 <Phantom_Hoover> did you know that originally 'metaphysics' basically just meant 'physics: volume two'
00:05:36 <zzo38> Well, now I can know!
00:10:41 -!- Frooxius has quit (Quit: *bubbles away*).
00:16:04 -!- Phantom_Hoover has quit (Remote host closed the connection).
00:19:01 <zzo38> `danddreclist 60
00:19:14 <HackEgo> danddreclist 60: shachaf nooodl boily \ http://zzo38computer.org/dnd/recording/level20.tex
00:19:25 <zzo38> Do you like this?
00:19:53 <shachaf> I haven't been reading these.
00:22:09 <zzo38> Why is that?
00:22:21 <zzo38> I thought you put your name because you want to read it?
00:25:11 <CakeMeat> zzo38: hows your pokemon games
00:25:28 <zzo38> CakeMeat: Do you mean a pokemon card game?
00:25:35 <CakeMeat> Yeh
00:25:57 <CakeMeat> Are people using it yet?
00:26:03 <pikhq> Good god that was a bad idea.
00:26:12 <zzo38> Using what exactly?
00:26:19 <pikhq> In the future I should use a thermometer when I deep fry things.
00:27:17 <CakeMeat> lol? what were you deep frying
00:27:30 <pikhq> Catfish.
00:27:48 <pikhq> The problem isn't that I burnt the food, the problem is that the oil got to its smoke point while I was breading the catfish.
00:28:01 -!- oren has joined.
00:28:12 <pikhq> And now the apartment is filled with smoke.
00:28:13 <CrazyM4n> So my fungeoid IDE can open files now
00:28:14 <CrazyM4n> woot
00:28:16 <CrazyM4n> https://gist.github.com/CrazyM4n/d02380667be743be1310
00:28:25 <oren> awsom d00d
00:29:57 <CakeMeat> Did you roll the catfish is flour?
00:30:07 <pikhq> Equal parts flour and cornmeal.
00:30:17 <pikhq> After a bit of seasoning.
00:30:23 <pikhq> Also, used buttermilk.
00:30:27 <CakeMeat> Season after btw
00:30:38 <CakeMeat> Skim?
00:30:50 <pikhq> Hmm?
00:31:07 <zzo38> CakeMeat: What exactly are you asking about? I didn't write a program or anything for people to use; just some new cards, and some puzzles, and I do not know whether or not anyone is using those in any way.
00:31:38 <oren> use a different oil
00:31:51 <pikhq> oren: Why? Peanut oil has a very high smoke point.
00:31:59 <pikhq> The problem was too high temperature and inattention.
00:32:05 <CakeMeat> Thats what i meant the puzzles
00:32:11 <oren> what the hell how did you get the oil to 400 degrees?
00:32:15 -!- mitchs has quit (Quit: mitchs).
00:32:15 <CakeMeat> Pay attention to your food!
00:32:29 -!- ion has quit (Quit: later).
00:32:33 <pikhq> Using a gas stove?
00:32:40 <CakeMeat> Whyyy
00:32:42 <zzo38> CakeMeat: I don't know if anyone is *using* them...
00:33:18 <pikhq> Cause there's no point in having a deep fryer if you're not dumb like I just was?
00:33:37 <oren> pikhq: i have a gas stove and i fry things in bacon fat and it never caught fire
00:33:45 <pikhq> It didn't catch fire.
00:33:50 <oren> or smoke
00:34:00 <CakeMeat> Thats not what i put thougj
00:34:26 <CakeMeat> Why cook inside though?
00:34:48 <oren> dude don't leave the gas on so high
00:34:56 <pikhq> See, that was my problem.
00:35:06 <zzo38> But I also made u several new cards for the game of Pokemon Card. Some don't have any names yet but you can make such a suggestion; you can also add your own cards if you have some to add.
00:35:39 <pikhq> But hey, guess my stove can get pretty high in heat, so there is at least that.
00:36:03 <oren> yeah you've proven you can probably make candy on that stove
00:36:13 <quintopia> wat
00:36:32 <pikhq> Yep.
00:37:00 <oren> quintopia: you've never made candy?
00:37:54 -!- CrazyM4n has quit (Quit: Leaving).
00:38:30 <quintopia> screw u elliott :(
00:38:50 <quintopia> gettin my hopes up and dashing them upon the pavement
00:39:01 <oren> huh?
00:39:30 <quintopia> he triggered pbflist even though there's no new pbf
00:39:41 * pikhq has no intention of repeating the above mistake
00:40:21 -!- CrazyM4n has joined.
00:41:06 <quintopia> zzo38: what's your favorite famicom game/software
00:41:31 <zzo38> quintopia: I don't know.
00:41:55 <oren> bubble b^H^H^H^H^H^H^H^H
00:43:11 <oren> Thunder Emperor : The Legend of Pikachu
00:43:48 <oren> it is a real game, made by a fly-by-night operation from china
00:45:05 <oren> Lei Dian Huang : Bi Ka Qiu Chuan Shuo
00:45:08 <CakeMeat> So enjoy your catfish pikhq
00:45:19 <pikhq> I did.
00:45:29 <pikhq> I'm not sure it was worth the smoke though.
00:45:32 <oren> you ate it already?
00:46:06 <pikhq> Yes. I was a bit busy eating before I came here. :P
00:46:12 <CakeMeat> Wouldnt it be hot?
00:46:26 <CakeMeat> I bet your mouth hurts
00:46:30 <pikhq> Nah.
00:46:40 <pikhq> You think I fried it in still-smoking oil?
00:46:42 <pikhq> :)
00:46:56 <CakeMeat> Cooking with pikhq
00:47:17 <pikhq> "OH GOD THAT WAS A TERRIBLE IDEA I AM NEVER DOING IT AGAIN"
00:47:20 <pikhq> An actual quote.
00:47:21 <pikhq> :P
00:47:32 <CakeMeat> Give it to hack
00:49:01 <oren> so i need ideas as to what the characters FS and EOT should do
00:49:17 <oren> that is ^\ and ^D
00:53:26 <zzo38> I want to make up some card that can cause damage according to cards in opponent's trash.
00:53:46 <zzo38> Also another card could be damage according to the cards in your own trash.
00:54:30 <oren> is that the formal term in pokemon cards? "hah i put your pikachu in the trash"
00:55:36 <zzo38> Yes, although when a card is discarded (which puts it into the trash which is also called discard) due to having too much damage equal or exceeding their hit points, then the card is knocked out.
00:56:47 <zzo38> I mean, then it is called knocked out.
00:56:52 <oren> ah
01:02:10 <zzo38> Do you know about Pokemon Card much?
01:02:45 -!- GeekDude has joined.
01:07:01 -!- shikhin has joined.
01:10:05 -!- shikhout has quit (Ping timeout: 256 seconds).
01:10:25 <CakeMeat> What are your moods like atm guys
01:10:44 <oren> super happy
01:11:10 <CakeMeat> Is this an accurate mood
01:11:37 <oren> yup. my TTML translator is working very well and i am writing the TTML manual in TTML.
01:12:34 <Sgeo> TTML?
01:13:18 <oren> http://ctrlv.in/470419 there is a wiki article which describes it
01:13:39 <oren> it is Teletype Markup Language
01:15:07 <oren> an esoteric markup language
01:18:05 <CakeMeat> Ttml
01:18:20 <CakeMeat> Sounds like XTML
01:18:56 <oren> but luckily it isn't tag based
01:19:08 <CakeMeat> Amaze
01:19:45 <oren> instead you do ^Abold^B ^Eitalic^B ^Funderline^B
01:20:09 <oren> where ^B simply returns text to normal
01:20:34 <FireFly> zzo38: I think 'discard pile' is the official name
01:21:23 <FireFly> oren: ...couldn't you at least use the same control characters as IRC does?
01:21:36 <oren> like what?
01:21:42 <FireFly> ^Bbold^O ^Iitalic^O ^Uunderline^O
01:21:47 <FireFly> hi oren
01:22:18 <FireFly> (though, ^I is also tab, of course, which might cause issues for you)
01:22:22 <oren> but ^I is tab and ^B is start of text
01:22:46 <oren> in TTML ^I is used to move one half-char right
01:23:08 <FireFly> Can you use ^H to overstrike characters?
01:23:10 <oren> so you can center the bottom of a fraction
01:23:15 <oren> yes you can
01:23:20 <FireFly> Good.
01:23:41 <oren> and vertical tab goes one half-char down
01:23:53 <oren> so you can make subscripts
01:24:17 <oren> i am writing a more in-depth manual with examples
01:24:29 <oren> in TTML itself
01:30:03 -!- InvalidCo has quit (Ping timeout: 258 seconds).
01:31:35 <CrazyM4n> http://i.imgur.com/lwB2E4S.png
01:31:37 <CrazyM4n> :D
01:33:45 <CrazyM4n> It's almost to a state where it is usable
01:34:13 <CrazyM4n> And it's glitches aren't too life-destroying
01:34:16 <CrazyM4n> its
01:41:51 -!- InvalidCo has joined.
01:55:50 -!- CrazyM4n has quit (Quit: Leaving).
02:03:21 -!- CrazyM4n has joined.
02:08:41 -!- ais523 has quit.
02:11:10 <oren> http://ctrlv.in/470448
02:33:38 <HackEgo> [wiki] [[Ttml]] M http://esolangs.org/w/index.php?diff=41380&oldid=41379 * Orenwatson * (+17)
02:47:00 -!- CrazyM4n has quit (Quit: Leaving).
02:56:15 <FreeFull> My implementation of http://retroforth.org/docs/The_Ngaro_Virtual_Machine.html now manages to display the retro forth's prompt
02:56:27 <FreeFull> And then proceeds to crash after taking keyboard input
02:57:01 <zzo38> Oops now you have to fix it please
02:57:07 <zzo38> At least it partially can work
02:57:08 -!- ais523 has joined.
02:59:04 -!- ais523 has quit (Read error: Connection reset by peer).
02:59:15 -!- ais523 has joined.
02:59:16 -!- nys has joined.
03:05:53 <zzo38> Why does the program need to know the endianness of the host system?
03:24:58 -!- Patashu_ has quit (Ping timeout: 250 seconds).
03:28:24 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
03:30:40 -!- Patashu has joined.
03:31:11 -!- nys has quit (Quit: quit).
03:33:58 -!- Patashu has quit (Remote host closed the connection).
03:34:10 -!- Patashu has joined.
03:40:59 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
03:45:38 -!- oren has quit (Quit: Lost terminal).
03:48:43 -!- oren has joined.
03:51:26 -!- oren has quit (Client Quit).
04:07:45 -!- shikhin has quit (Ping timeout: 240 seconds).
04:12:31 -!- oren has joined.
04:12:54 <oren> yeahlo.
04:13:56 <oren> so i finally figured out the css sorcery necessary to make a better conversion from ttml to html
04:14:45 <oren> that is, one that doesn't use a separate div for every character in the file
04:14:55 <CakeMeat> Yay
04:17:10 <oren> so i've now updated the translator. still doesn't support greek and cyrillic but i'll get to that maybe tomorrow
04:17:46 -!- dts|pokeball has quit (Ping timeout: 245 seconds).
04:19:01 <CakeMeat> Who is dts
04:19:50 <ais523> oren: div, not span? seriously?
04:20:15 <CakeMeat> ./div
04:20:26 <ais523> by the way, the LCRNG problem I was talking about a while ago
04:20:38 <ais523> I fear it may be NP-complete; the obvious generalization of it is, at least
04:20:42 <CakeMeat> Div for what oren?
04:20:45 <ais523> so I'm seeing if I can redefine the problem
04:21:48 <oren> ais523 teh new version uses span. but each span is still position absolute.
04:22:12 <ais523> oren: this is close to the least semantic markup possible
04:22:56 <oren> originally in order to apply the right stuff to each char i made a div for each one. now it uses a span every time the formatting changes
04:23:17 <CakeMeat> Out of context, Span tags are annoying
04:23:37 <oren> each span has a whole bunch of classes attached to it
04:23:49 <oren> which put in the formatting
04:24:02 <CakeMeat> spin; div
04:24:27 <CakeMeat> is probably the worst thing i could have put in my terminal
04:25:21 <CakeMeat> It forcably flipped everything upside down and now i have to start over
04:25:31 <oren> huh?
04:26:15 <CakeMeat> Nothing i wanted to see what happened if i spun div tags over some stuff
04:26:26 <CakeMeat> Nothing good apparently
04:26:34 <oren> ais523 what do you mean semantic markup?
04:27:05 <ais523> oren: markup which lets special-purpose web browsers automatically reformat it
04:27:09 <ais523> e.g. for mobile, or for screen readers
04:27:17 <ais523> or for previews of search results on search engines
04:27:40 <ais523> CakeMeat: terminals don't work like that
04:27:53 <oren> i'd prefer that those thingies read the original TTML.
04:28:32 <oren> anyway this is designed for typesetting those old thingies,,, wahtymcallem, books
04:28:55 <oren> but in a teletype-like style
04:29:55 <oren> it is an esoteric markup language
04:31:34 <CakeMeat> Not terminal i used the wrong word sorry
04:31:46 -!- juned has joined.
04:32:58 <HackEgo> [wiki] [[Ttml]] http://esolangs.org/w/index.php?diff=41381&oldid=41380 * Orenwatson * (+2612) added exapmle
04:33:30 <oren> here is an eaxamlpe
04:33:39 <oren> *example
04:34:23 * oren notes to press the right buttons IN THE RIGHT ORDER
04:40:21 <oren> CakeMeat did you mean the firefox command line or something like that?
04:43:35 -!- juned has quit (Quit: Leaving).
04:43:57 <CakeMeat> Yuh
04:44:17 * CakeMeat goes back to the podcast i was listening to
04:46:40 -!- mitchs has joined.
04:47:41 -!- atslash has quit (Quit: This computer has gone to sleep).
04:50:53 <oren> C H O + 3O -> 2CO + 3H O^M^K^\ 2 6 2 2 2^M
04:51:16 <oren> damn
04:51:22 <oren> wrong terminal
04:55:10 <oren> why does damn have an n in it
05:00:32 <CakeMeat> So you dont mix it with dam
05:02:11 -!- MDude has changed nick to MDream.
05:02:43 <oren> it is now sunday
05:07:35 <CakeMeat> Indeed
05:07:48 <CakeMeat> 12:06 pm for me
05:14:28 -!- J_Arcane_ has joined.
05:15:00 -!- J_Arcane has quit (Ping timeout: 252 seconds).
05:15:09 -!- J_Arcane_ has changed nick to J_Arcane.
05:15:38 <oren> http://snag.gy/l4WzZ.jpg
05:18:58 -!- J_Arcane_ has joined.
05:19:23 <CakeMeat> Font?
05:19:55 -!- J_Arcane has quit (Ping timeout: 244 seconds).
05:20:08 -!- J_Arcane_ has changed nick to J_Arcane.
05:20:57 <oren> i dunno what font it's just whatever monospace font firefox has
05:21:46 <oren> i am testing all possible combos of directives to make sure none of them glitch up
05:21:50 <zzo38> I think the font Firefox will use depends on what is installed on the system which depends on the operating system you are using as well as what fonts you have installed
05:22:06 <oren> i couldn
05:22:28 <CakeMeat> Use palemoon
05:22:37 <CakeMeat> Or water fox
05:22:42 <CakeMeat> Idk its better than firefox
05:22:42 <oren> n't remember lorem ipsum so i wrote the most memorable latin sentence from my latinclass
05:23:08 <CakeMeat> Writes an entire paper in wingdings
05:23:47 <oren> ancilla grumionem delectat -- the slave girl delights grumio
05:26:31 <ais523> lorem ipsum is basically latin but with the frequencies of letters, digraphs, etc. changed slightly so that they match English
05:26:35 <ais523> possibly word lengths too
05:26:40 <ais523> the result is very hard to understand as Latin as a result
05:29:28 -!- J_Arcane_ has joined.
05:30:01 -!- J_Arcane has quit (Ping timeout: 258 seconds).
05:30:09 -!- J_Arcane_ has changed nick to J_Arcane.
05:32:56 -!- atslash has joined.
05:33:36 -!- J_Arcane_ has joined.
05:34:47 -!- J_Arcane has quit (Ping timeout: 252 seconds).
05:35:01 -!- J_Arcane_ has changed nick to J_Arcane.
05:43:16 -!- J_Arcane_ has joined.
05:44:49 -!- Sprocklem has joined.
05:44:58 -!- J_Arcane has quit (Ping timeout: 258 seconds).
05:45:11 -!- J_Arcane_ has changed nick to J_Arcane.
05:48:12 <oren> http://snag.gy/KjwPO.jpg
05:48:26 <oren> testing math
05:58:53 <oren> http://snag.gy/Oatlf.jpg
05:59:06 <oren> dark colors
06:03:14 <elliott> CakeMeat: "optimised" firefox builds are snake oil and usually slower than the official binaries
06:04:26 <elliott> they usually also come with a lot of dubious patches by developers of questionable competence
06:05:24 <elliott> (same applies to chrome/ium)
06:13:46 <oren> when in doubt, pkill -9 plugin-container
06:15:44 <elliott> you sure like kill -9
06:16:12 <oren> kill processes first, ask questions not at all
06:18:17 <ais523> "<CakeMeat> It forcably flipped everything upside down and now i have to start over" ← I don't believe this actually happened
06:18:29 <ais523> unless your computer runs entirely on your own thought process
06:18:44 <ais523> like, your computer experience appears to be how computers would act in a dream, or the like
06:19:25 <oren> and when your keyboard acts up, pkill -9 ibus-daemon
06:19:41 <ais523> that said, I do "sudo killall pulseaudio" when logging on
06:19:56 <ais523> but that's because audio doesn't work until I do, and the standard kill (not -9) seems to be very consistent in fixing it
06:20:40 <HackEgo> [wiki] [[Ttml]] M http://esolangs.org/w/index.php?diff=41382&oldid=41381 * BCompton * (-1) /* Example */ Typo
06:21:00 <oren> oh... that was my bad
06:21:09 <ais523> ;
06:22:46 <oren> i don't even really know what the other signals do, othert than that -9 is the one the application can't ignore
06:23:37 <oren> hold on man kill
06:23:40 <ais523> there are two that can't be ignored: 9 and 19
06:24:56 <oren> ah i see.
06:27:56 <CakeMeat> ais523: ofc it didnt actually boom flip it upside down//real time... Why would you think that [ it re listed everything and alot of things were missing, it took about 20 minutes for all of it to load back ] :I
06:28:15 <ais523> :?
06:28:27 <CakeMeat> Like, Screen white pages and then it re lists the output
06:28:55 <CakeMeat> Not WhoooOOooOoo throwing numbers around as if it was water through the air
06:30:05 <CakeMeat> Idk what you thought i meant
06:30:33 * CakeMeat pats your face
06:30:36 <CakeMeat> Silly
06:31:01 <ais523> I normally interpret "flipped everything upside down" as flipping everything upside down
06:31:14 <CakeMeat> Its a saying as in
06:31:20 <CakeMeat> Everything went to shit
06:32:08 <CakeMeat> Also should be interpreted as ( What if your entire room reversed its gravitational pull.)
06:33:19 <CakeMeat> Õ-Õ
06:36:44 <oren> on any site with jquery
06:36:46 <oren> jQuery('div').css('transform','rotate(180deg)')
06:36:52 <oren> into console
06:37:15 <oren> it will flip everything
06:37:31 <ais523> only every div
06:38:01 <oren> jQuery('*').css('transform','rotate(180deg)')
06:38:07 <oren> there
06:38:17 <elliott> CakeMeat: coherent as ever
06:39:28 <oren> jQuery('*').css('transform','rotate(40deg)')
06:39:32 <oren> even better
06:40:26 <oren> it will mess up the entire page into insany
06:42:07 <oren> actually it does that whenever the number of degrees is not a right angle
06:44:04 <oren> and if i put it with say 0.5degrees into a greasemonkey it will be awsome
06:44:31 <oren> everything on the page will be slightly crooked
06:50:45 <oren> http://snag.gy/rOgVL.jpg
06:50:58 <CakeMeat> elliott :I nice to see you too
06:51:36 <oren> so now alljquery sites are crooked
07:03:02 -!- Patashu has quit (Ping timeout: 255 seconds).
07:05:36 -!- Patashu has joined.
07:23:58 -!- Patashu has quit (Ping timeout: 265 seconds).
08:03:15 -!- coppro has quit (Ping timeout: 250 seconds).
08:07:01 -!- Sprocklem has quit (Quit: [).
08:07:54 -!- HackEgo has quit (Ping timeout: 264 seconds).
08:14:30 <oren> holy shit i think i'm the only person in this whole building
08:14:54 <oren> except the caretakers perhaps
08:15:28 <elliott> what building
08:15:46 <oren> the entire comp sci building at university of toronto
08:16:00 <oren> (yes i am at school at 3 am)
08:17:12 <oren> the entire building is quiet as a graveyard
08:17:48 <oren> usually there's at least a few other people here studying
08:20:27 -!- J_Arcane_ has joined.
08:20:45 -!- J_Arcane has quit (Ping timeout: 244 seconds).
08:20:51 -!- J_Arcane_ has changed nick to J_Arcane.
08:21:32 <oren> jarcane how come you rejoin the channel every 3 hours?
08:22:36 <ais523> oren: "ping timeout", so it's due to becoming disconnected from the server
08:22:46 <ais523> normally that happens due to a bad connection and isn't intentional
08:24:23 <oren> but he joined under j_arcane_ and then timed out under j_arcane, then named j_arcane_ to j_arcane
08:24:37 -!- J_Arcane_ has joined.
08:25:43 <ais523> oren: when a connection times out, it times out at a different time at the two ends
08:25:46 <oren> so somehow he knew that as j_arcane he was going to timeout, and he established another connection preemptively
08:25:51 <ais523> it clearly timed out at J_Arcane's end first
08:25:59 -!- J_Arcane has quit (Ping timeout: 258 seconds).
08:26:02 -!- J_Arcane_ has changed nick to J_Arcane.
08:26:09 <oren> see it happened again
08:26:37 <oren> his computer is psychic
08:27:30 <ais523> well, the computer knows it hasn't had any connection for what, 180 seconds?
08:27:35 <ais523> reasonable to guess it's timing out based no that
08:27:45 <ais523> also, the computer does figure things out first
08:28:13 <ais523> because Freenode is the pinging end of the connection, J_Arcane is the ponging end
08:28:25 <ais523> so J_Arcane's server can see "I haven't had a ping for X amount of time, Freenode normally sends them faster than that"
08:28:44 <ais523> whereas Freenode is still waiting for the ping reply, and waits (by the look of things) 4 minutes for it
08:28:48 <oren> oh i see
08:29:22 <oren> so j_arcane's computer gives up before freenode does
08:30:12 <ais523> right, and it also learns that something has gone wrong before freenode does
08:30:24 <ais523> that said, from time to time I've had such lag that I can say something
08:30:27 <ais523> disconnect, reconnect
08:30:31 <ais523> then see myself saying that thing
08:30:40 <ais523> because it finally got out of the lag
08:31:17 <oren> wow. i'm at university in an empty comp sci building so my connection is great right now
08:32:13 <oren> so i guess the lag isn't something i've experiencd yet
08:33:10 <oren> but perhaps when i go up north for christmas i'll see it
08:34:14 -!- J_Arcane_ has joined.
08:34:37 <oren> my ping to freenode.net is 2 ms
08:35:46 -!- J_Arcane has quit (Ping timeout: 240 seconds).
08:35:54 -!- J_Arcane_ has changed nick to J_Arcane.
08:36:11 -!- nisstyre has quit (Ping timeout: 255 seconds).
08:36:24 <oren> hey are you even awake J_arcane?
08:39:56 -!- dts|pokeball has joined.
08:44:18 -!- J_Arcane_ has joined.
08:45:50 -!- J_Arcane has quit (Ping timeout: 252 seconds).
08:45:57 -!- J_Arcane_ has changed nick to J_Arcane.
08:46:20 -!- coppro has joined.
08:48:56 -!- J_Arcane_ has joined.
08:50:06 -!- J_Arcane has quit (Ping timeout: 240 seconds).
08:50:06 -!- J_Arcane_ has changed nick to J_Arcane.
08:51:21 <zzo38> When thinking about the level20.tex game one thing I imagine that the more major temples of Gxxyuxihuvxi are going to be more confusing (whether in service, geometry, or otherwise) than the minor ones; the more major they are, the more confusing it would be.
08:52:08 <zzo38> Such god of confusing monsters it would be; minor temples are being more mundane...
08:59:26 -!- J_Arcane_ has joined.
08:59:46 -!- J_Arcane has quit (Ping timeout: 252 seconds).
08:59:51 -!- J_Arcane_ has changed nick to J_Arcane.
09:00:59 -!- Frooxius has joined.
09:04:46 -!- nisstyre has joined.
09:05:00 <int-e> shachaf: https://github.com/mokus0/lambdabot/pull/95 ... I wonder which discussion about this I missed.
09:06:10 <shachaf> int-e: Might've been in #haskell-blah
09:06:19 <shachaf> I complain all the time, though.
09:06:23 <shachaf> lambdabot is way too verbose.
09:06:31 <shachaf> Or rather certain people abuse it way too much.
09:08:20 <int-e> I can reduce the channel output to 3 lines (at some point I changed this from 80 characters total to 5 lines of 80 characters each, feeling generous)
09:08:31 -!- J_Arcane_ has joined.
09:09:50 -!- J_Arcane has quit (Ping timeout: 244 seconds).
09:09:55 -!- J_Arcane_ has changed nick to J_Arcane.
09:10:07 <shachaf> Is there a reason to allow more than one line in channels?
09:13:23 <int-e> > id
09:13:25 <lambdabot> No instance for (Data.Typeable.Internal.Typeable a0)
09:13:25 <lambdabot> arising from a use of ‘M165613034931687406129741.show_M1656130349316874061...
09:13:25 <lambdabot> The type variable ‘a0’ is ambiguous
09:13:25 <lambdabot> Note: there are several potential instances:
09:13:25 <lambdabot> instance Data.Typeable.Internal.Typeable Data.Dynamic.Dynamic
09:14:45 <shachaf> You could fit a lot of that message on one long line.
09:16:19 <int-e> Well. If people would a) try to make their code correct, and b) actually try to read the error message before resubmitting broken code, then the extra lines would help. The M165613034931687406129741 module name is stupid but that's mueval/hint territory.
09:17:36 <int-e> @check \xs ys -> [xs] == ys
09:17:38 <lambdabot> *** Failed! Falsifiable (after 1 test):
09:17:38 <lambdabot> () []
09:17:55 <int-e> this also goes through that lim80 function
09:18:19 -!- J_Arcane_ has joined.
09:18:23 <shachaf> djinn is a big offender
09:18:38 <shachaf> I guess people don't use it that much, though.
09:18:51 <shachaf> It would be nice if people used /msg much more.
09:19:13 -!- oren has quit (Quit: Lost terminal).
09:19:22 <int-e> @djinn \a b c d e f g -> g c d e c d a b
09:19:23 <lambdabot> Cannot parse command
09:19:36 <int-e> @djinn f a b c d e f g = g c d e c d a b
09:19:37 <lambdabot> Cannot parse command
09:19:39 -!- J_Arcane has quit (Ping timeout: 244 seconds).
09:19:39 <int-e> err
09:19:43 <int-e> what am I doing
09:19:45 -!- J_Arcane_ has changed nick to J_Arcane.
09:19:51 <shachaf> reverse djinn
09:20:35 <int-e> @djinn (a -> b -> a) -> (a -> a) -> ((a -> a) -> b) -> a
09:20:36 <lambdabot> -- f cannot be realized.
09:21:27 <int-e> @djinn (a -> r -> r) -> (a -> r) -> (b -> r -> r)
09:21:27 <lambdabot> f _ _ _ a = a
09:21:32 <int-e> ...
09:21:56 <int-e> ah, I need to get it to produce cases?
09:22:59 <shachaf> Yes, pattern-matching is what takes vertical space.
09:23:32 <int-e> @djinn Either (a -> b) (c -> d) -> Either a c -> Either b d
09:23:32 <lambdabot> -- f cannot be realized.
09:23:56 <int-e> @djinn Either (a -> b) (c -> d) -> a -> c -> Either b d
09:23:57 <lambdabot> f a b c =
09:23:57 <lambdabot> case a of
09:23:57 <lambdabot> Left d -> Left (d b)
09:23:57 <lambdabot> Right e -> Right (e c)
09:24:49 <int-e> @djinn Either (Either a b) (Either c d) -> Either (Either a c) (Either b d)
09:24:49 <lambdabot> f a =
09:24:49 <lambdabot> case a of
09:24:49 <lambdabot> Left b -> case b of
09:24:49 <lambdabot> Left c -> Left (Left c)
09:24:49 <lambdabot> Right d -> Right (Left d)
09:24:51 <lambdabot> Right e -> case e of
09:24:53 <lambdabot> Left f -> Left (Right f)
09:24:55 <lambdabot> Right g -> Right (Right g)
09:24:59 <int-e> beautiful.
09:25:34 -!- scounder has quit (Ping timeout: 260 seconds).
09:26:14 <int-e> (clearly that's way more than 5 lines; the plugin doesn't seem to attempt to limit its output at all.)
09:26:57 <int-e> something I was blissfully unaware of...
09:27:10 <shachaf> I think there are a few that output their own way.
09:27:16 <shachaf> Maybe @src too?
09:29:22 <int-e> @pl \a b c d e f g -> b a c g e d f
09:29:23 <lambdabot> (((((flip .) .) . flip . (flip .) . flip) .) .) . flip id
09:29:35 <int-e> @pl \a b c d e f g -> b e a e c e g e d e f
09:29:38 <lambdabot> ((((flip .) .) .) .) . flip flip id . ((flip . ((flip . (liftM2 flip .) . flip . (flip .)) .)) .) . flip flip id . ((flip . (liftM2 flip .)) .) . flip flip id . ((flip . (ap .) . flip) .) . flip flip id . (ap .) . flip flip
09:30:08 <int-e> I suspect this is the bigger offender in practice.
09:30:38 <int-e> (bigger than @djinn, because it doesn't require thinking about types)
09:31:38 <int-e> for @src, it's a matter of its database...
09:31:41 <int-e> @src sequence
09:31:41 <lambdabot> sequence [] = return []
09:31:41 <lambdabot> sequence (x:xs) = do v <- x; vs <- sequence xs; return (v:vs)
09:31:42 <lambdabot> --OR
09:31:42 <lambdabot> sequence xs = foldr (liftM2 (:)) (return []) xs
09:31:57 <int-e> @src compare
09:31:57 <lambdabot> compare x y | x == y = EQ
09:31:58 <lambdabot> | x <= y = LT
09:31:58 <lambdabot> | otherwise = GT
09:32:33 <int-e> @src (!!)
09:32:34 <lambdabot> xs !! n | n < 0 = undefined
09:32:34 <lambdabot> [] !! _ = undefined
09:32:34 <lambdabot> (x:_) !! 0 = x
09:32:34 <lambdabot> (_:xs) !! n = xs !! (n-1)
09:32:54 <int-e> (ouch)
09:33:21 <int-e> @src withMVar
09:33:22 <lambdabot> Source not found.
09:33:24 <int-e> @src withMVar_
09:33:25 <lambdabot> Source not found. Are you typing with your feet?
09:33:33 <int-e> @src modifyMVar_
09:33:34 <lambdabot> modifyMVar_ m io = block $ do
09:33:34 <lambdabot> a <- takeMVar m
09:33:34 <lambdabot> a' <- Exception.catch (unblock (io a)) (\e -> do putMVar m a; throw e)
09:33:34 <lambdabot> putMVar m a'
09:34:52 -!- CakeMeat has quit (Quit: Connection closed for inactivity).
09:35:03 <int-e> aaah, it has full typeclasses in there.
09:35:31 <int-e> (@src Arrow will produce 7 lines)
09:39:05 <myname> what does sequence do? it looks like [M a] -> M [a]
09:39:27 <int-e> myname: exactly.
09:40:00 <myname> okay
09:40:26 <int-e> > sequence ["1","23","456"] -- of course, demonstrating this in the list monad usually causes more confusion than enlightenment
09:40:27 -!- oren has joined.
09:40:28 <lambdabot> ["124","125","126","134","135","136"]
09:41:37 <myname> wtf
09:41:51 <myname> wait
09:42:07 <myname> it does make sense
09:42:07 <int-e> (in the list monad, the type is [[a]] -> [[a]], and the effect is to compute the cartesian product of the input lists. which makes sense if you think of [a] as a list of choices between several values of type a.)
09:44:34 <myname> so i should be able to do [[a]] >>= something
09:47:58 <b_jonas> @type let { x = >>; y = x []; } in x
09:48:00 <lambdabot> parse error on input ‘>>’
09:48:09 <b_jonas> @type let { x = (>>); y = x []; } in x
09:48:10 <lambdabot> Monad m => m a -> m b -> m b
09:48:23 <b_jonas> um, no, I want it monomorphism restricted
09:50:20 <shachaf> :t (>>) `asAppliedTo` []
09:50:22 <lambdabot> [a] -> [b] -> [b]
09:54:35 -!- CakeMeat has joined.
09:55:20 <b_jonas> ah, thanks
09:58:20 -!- CakeMeat has quit (Client Quit).
09:58:30 -!- CakeMeat has joined.
09:59:35 <CakeMeat> ... Why am i getting a date in the freenode server logs when it logs me in saying December 31 1969
09:59:46 <CakeMeat> Has it been that long
10:00:02 <ais523> CakeMeat: that's time 0, adjusted for a US timezone
10:00:07 <ais523> so it's probably a bug
10:00:18 <b_jonas> CakeMeat: a date from what?
10:00:39 <CakeMeat> When i log it freenode does a bunch of checks like
10:01:00 <b_jonas> CakeMeat: do you mean a "server was created" time, or a "current time is" time, or a "channel was created" time, or something else?
10:01:35 <CakeMeat> Current time is 12:00 PM December 31 1969
10:02:30 <int-e> that is kind of cool
10:02:48 <CakeMeat> Its at the top of the page that checks stuff like ( looking up your host name... Checking indent )
10:02:54 <CakeMeat> Go check
10:03:52 <CakeMeat> Guys im officially in the past communicating through my microwave prototype
10:04:24 <CakeMeat> Seems to only be freenode though
10:07:13 <CakeMeat> Ill just repeat in #freenode for halp
10:18:52 -!- Patashu has joined.
10:23:56 -!- Patashu has quit (Ping timeout: 272 seconds).
10:25:56 -!- Patashu has joined.
10:26:40 <b_jonas> CakeMeat: I can't reproduce that. When I connect to freenode, I don't get a 391 (current time) reply, and if I send TIME explicitly, I get “:barjavel.freenode.net 391 nc_jonas barjavel.freenode.net :Sunday December 7 2014 -- 10:25:04 +00:00” which seems about right
10:29:05 -!- Patashu has quit (Remote host closed the connection).
10:29:16 -!- Patashu has joined.
10:35:26 -!- heroux has quit (Ping timeout: 255 seconds).
10:38:23 <oren> CakeMeat "microwave prototype" omg that is a steins:gate reference now i get it
10:41:47 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
10:44:13 -!- MoALTz has joined.
10:48:01 -!- heroux has joined.
10:50:35 -!- scounder has joined.
11:12:42 -!- cluid has joined.
11:14:01 <cluid> hi
11:20:24 -!- oerjan has joined.
11:21:28 <cluid> hi
11:21:34 <oerjan> hi
11:21:53 <cluid> what's cooking
11:22:05 <shachaf> whoa, that hi was just for oerjan
11:22:07 <shachaf> v. clever
11:22:24 <oerjan> fiendish
11:22:48 <myname> sounds liie i should start readig steins:gate
11:22:52 <oerjan> why do you talk so much while i'm not here it takes me ages to check the logs tdnh
11:22:59 <myname> *moves it in to read*
11:23:33 <myname> oerjan: don't check them
11:23:37 <cluid> why do you read the logs
11:24:01 <cluid> why not enslave/encourage the regulars to make a #esoteric digest, which has only the useful information of that day collected
11:24:02 <oerjan> to see if (1) i've been mentioned (2) anything interesting has been discussed
11:24:35 <myname> 1 should be told to you by your irc client
11:24:47 <oerjan> cluid: btw programming fractran is not that hard if you know how to program a minsky machine, it's like "just choose primes for your registers and a few control flags, then translate"
11:24:52 <shachaf> irc clients don't work that way hth
11:25:01 <cluid> alright I better check out the minsky machine then
11:25:05 <cluid> its not a model im familiar with
11:25:13 <myname> shachaf: yes they do
11:25:17 <oerjan> cluid: because inevitably elliott would make that digest and it would be always empty hth
11:25:30 <cluid> hehe
11:25:37 <elliott> I was just about to say it'd usually be empty
11:25:56 <elliott> I sort of read the logs in that I usually check scrollback unless it's really long :/
11:26:21 <elliott> it's never worthwhile though
11:26:40 <cluid> Minsky machine has only two opcodes?
11:26:44 <cluid> { INC ( r, z ), JZDEC ( r, ztrue, zfalse) }
11:26:55 <oerjan> cluid: in one formulation yes
11:28:02 <oerjan> oh you also need the state. i guess that needs just one more prime.
11:30:15 <oerjan> <myname> 1 should be told to you by your irc client <-- i don't idle hth
11:30:27 <myname> oerjan: huh?
11:30:43 <myname> where do you have logs from, then?
11:32:01 <elliott> points at topic
11:32:25 <myname> ah
11:32:36 <myname> start idling more
11:33:35 <oerjan> myname: but it's more convenient to read long backscroll via the codu logs
11:33:44 <cluid> i feel like there shuld be implementations of various computational models
11:33:52 <cluid> like minsky machine, mu-recursion functions, etc...
11:34:38 <oerjan> cluid: i'm sure there are a lot floating around.
11:35:05 <oerjan> i haven't searched for any big collections though
11:35:09 <cluid> well I had an idea to make a github page maybe (not sure if they allowed javascript?) which has implementations of various languages collected up
11:35:20 <cluid> and it should have some code examples etc.
11:35:46 <cluid> it would be nice and useful
11:36:17 <myname> not sure about the useful part
11:36:51 <oerjan> i recall there have been several multi-esolang implementations through the years i've been here
11:37:09 <elliott> esco!!
11:37:12 <elliott> cpressey has his yoob.js thing
11:37:15 <elliott> @google yoob.js
11:37:16 <lambdabot> http://catseye.tc/node/yoob.js_API
11:37:16 <lambdabot> Title: yoob.js API | Cat's Eye Technologies
11:37:26 <elliott> as well as his yoob thing. but that's a freaking java applet
11:38:16 <cluid> myname, obviously i only mean its useful for people who actually want to program or test things in various esolangs/minimal computational models
11:41:25 <cluid> ok noone like my idea
11:43:09 <oerjan> hey i don't hate it, i'm just being "been there, it'll fizzle out like all the rest" cynical hth
11:43:28 <cluid> that doesn't help
11:43:46 <myname> you meant: tdnh hth
11:44:25 <shachaf> i,i That Doesn't Work
11:46:23 <oerjan> OKAY
11:47:07 <shachaf> Discworld was such a good computer game
11:47:51 <oerjan> i hear the made a book based on it
11:47:53 <oerjan> *they
11:48:11 * oerjan needs a new keyboard that doesn't drop letters twh hth
11:48:27 <oerjan> ...what happened now
11:48:37 <oerjan> test
11:48:45 * oerjan test hth
11:49:09 <oerjan> elliott: wow i've never noticed before that the script doesn't handle /me
11:49:34 <elliott> I wrote it without testing, what do you expect :p
11:49:47 <elliott> cluid: I was suggesting you could use yoob.js as a base for some things maybe
11:49:56 <cluid> thanks but idont think i would use it
11:49:57 <elliott> since cpressey's yoob / yoob.js are intended as web-accessible collections of tons of esolangs
11:50:17 <cluid> i had a look at it
11:50:38 <myname> wha script are you talking about
11:51:03 <oerjan> i think we are inching into http://xkcd.com/927/ territory
11:51:21 <oerjan> myname: the script that sensors hth etc. at the end of my lines hth
11:51:32 <elliott> not just the end
11:51:41 <myname> okay
11:51:41 <oerjan> mostly the end
11:51:53 <oerjan> it strips punctuation
11:52:06 <shachaf> https://www.youtube.com/watch?v=LBfsJ3Z0ei8#t=9m39s hth
12:01:28 -!- Patashu has quit (Ping timeout: 272 seconds).
12:02:20 <oerjan> @karma also
12:02:20 <lambdabot> also has a karma of -1
12:02:24 <oerjan> also++
12:06:20 <shachaf> I was there when that happened and resisted the temptation to do that.
12:11:34 <oren> i am finished my breakfast. my number theory course for some reason had an exam question that was a fractran program
12:12:36 <myname> nice
12:12:42 <myname> what was it
12:12:51 <oerjan> shachaf: i was surprised that you resisted hth
12:13:52 <oren> i can't remeber but it ended up with 7^4*5^3*3^3
12:14:12 <oren> it was last year
12:14:49 <oren> this year all my courses are computer but none involve esoteric languages
12:15:03 <myname> :(
12:15:37 <oren> maybe i can sneak one into my game design course next semester
12:18:07 <oren> actually i probably can. you always end up building an inner platform for level scripts
12:18:21 <cluid> wow
12:18:27 <cluid> that's a cool number theory course!
12:18:29 <myname> there should be courses on how to design an esolang
12:19:15 <oren> there is a programming languages course, it covered scheme, prolog, and various aspects of grammar and semantics
12:20:15 <oren> but then this university has a big cs department (one of the largest in Canada). other universities might not have as many courses
12:21:29 <oren> but seriously it seems like every game makes up its own language for mods and scripts and user-generated content
12:22:31 <myname> it's called lua
12:23:27 <oren> for some games maybe. other games use messed up xml, some games use ini file like thingies...
12:24:52 <elliott> oerjan: was it intended as a fractran program?
12:25:13 <oerjan> wat
12:25:33 * oerjan suspects tab miscompletion
12:25:38 <oren> you mean me?
12:26:20 <oren> the question didn't say 'fractran' but it was an iterative process equivalent to a fractran program
12:26:23 <elliott> oren yeah
12:27:45 <oren> the course is a math course so they porbably did not want to alienate the non-cs people by calling it a program
12:29:02 <oren> the question was stated as "if x | n multiply by m/n" for a bunch of different fractions
12:29:27 <oren> whoops i think i reversed that notation
12:32:46 <oren> yeah it is n | x for n divides x
12:34:52 -!- CakeMeat has quit (Quit: Connection closed for inactivity).
13:19:32 -!- MDude has joined.
13:23:49 -!- MDream has quit (Ping timeout: 272 seconds).
13:28:34 -!- boily has joined.
13:29:41 <oerjan> <MDude> Wait why did I say all that in the wrong channel. <-- aww i was so looking forward to the dolphin thread
13:46:48 -!- SopaXorzTaker has joined.
13:48:21 <oerjan> `? myname
13:48:32 <oerjan> argh
13:48:40 <myname> what
13:48:48 <oerjan> no HackEgo
13:49:18 <oerjan> i was checking what information we have distilled about you hth
13:49:30 * oerjan shouts for fizzie
13:49:44 <SopaXorzTaker> does ObjectFuck or somewhat like exist
13:50:08 <oerjan> everythingfuck exists, that's well established
13:51:58 <oerjan> elliott: maybe we should just feature Category:Brainfuck derivatives and get it over with
13:52:04 <oerjan> all at once
13:52:23 <elliott> lets just feature special:random
13:52:59 <oerjan> what's the difference
13:54:08 <myname> not that much obviously
13:56:29 <boily> oerjan: hellørjan. from the Wisdom, I have “myname is not your name. You don't know what they are doing. Or you are doing. Or am I?” about myname.
13:56:50 <oerjan> thoilyx
13:57:18 <cluid> feature MMBFSL please
13:57:36 <oerjan> TOO NEW I SAID
13:57:40 <cluid> fractran
13:57:50 <oerjan> hm plausible
14:03:06 <myname> why not collatz functions?
14:06:59 <oerjan> hm the wiki isn't down
14:07:36 <oerjan> fizzie: HackEgo is somehow online but not in the channel
14:07:56 <oerjan> fizzie on the other hand is totally absent
14:26:40 -!- G33kDude has joined.
14:27:44 -!- G33kDude has changed nick to GeekDude.
14:41:30 -!- cluid has quit (Remote host closed the connection).
14:41:54 -!- J_Phone has joined.
14:46:12 <J_Phone> So provided I can figure out the macro for an alternate let, I think I can add object function support to my weird Lisp BASIC thing when I get home.
14:47:01 -!- shikhin has joined.
14:47:25 -!- J_Phone has quit (Read error: Connection reset by peer).
14:47:59 -!- J_Phone has joined.
14:48:36 <J_Phone> Closures are magical things.
14:49:38 -!- J_Phone has quit (Read error: Connection reset by peer).
14:50:17 <SopaXorzTaker> can anyone help me with a bf interpreter
14:50:23 <SopaXorzTaker> who do I process loops
14:51:03 <SopaXorzTaker> who do I
14:51:07 <SopaXorzTaker> HOW*
14:51:07 <oerjan> there are basically two main ways
14:51:18 <SopaXorzTaker> I know, stack and counter
14:51:25 <SopaXorzTaker> I want to use the stack way
14:51:29 <oerjan> um no
14:51:42 <oerjan> those are both the same way afaiac
14:51:53 <oerjan> the other way is actually preparsing
14:52:30 <oerjan> which is much more efficient for jumping forward
14:52:41 <SopaXorzTaker> I wanna use stacks
14:52:54 <SopaXorzTaker> what to do when I reach the start of loop?
14:53:00 <MDude> What would you like to put on the stack?
14:53:16 <oerjan> then you check whether the cell is 0, and if so, you search to the end of the loop.
14:53:38 <oerjan> otherwise, you can push on the stack and enter the loop
14:53:58 <oerjan> (preparsing makes the search to the end part actually efficient)
14:54:40 <Jafet> Implement it by compiling to scala to run as JVM bytecode on J3 via LLVM on top of a Xen system
14:54:49 <Jafet> Oh, you mean the stack datastructure
14:55:12 <oerjan> you need either a counter or some special mark on the stack for the forward search.
14:55:19 <MDude> Oh, loop stuff.
14:55:55 <MDude> I'm guessing the preparsing way is just to remember where each brace's mathc is so you can just jump.
14:56:23 <oerjan> MDude: that's one way. or you could use an actual data structure, if you're interpreting in something like haskell.
14:57:18 <oerjan> basically there are heaps of ways to do it
15:00:42 <MDude> Guess I'll link the dolphin language thread if you're interested in that: https://www.lainchan.org/r/res/5366.html
15:01:22 <MDude> Also, maybe it'll get a dolphin based programming language or something.
15:01:43 <MDude> Cymatic representations of code
15:03:37 <oerjan> MDude: i'm was being a tiny bit ironic, although i _would_ be interested if there were any actual _news_ about dolphin language.
15:03:42 <oerjan> *-'m
15:03:55 <oerjan> WHAT IS HAPPENING TO MINE TENSE AND GRAMMARS
15:04:34 <MDude> Well there are some articles I linked that are recent.
15:04:54 -!- drdanmaku has joined.
15:05:04 <MDude> http://phys.org/news/2014-11-bottlenose-dolphins-specific.html Or at least this one, of dolphins getting recorded without being captive.
15:06:53 <MDude> Rest on language is from at least a year ago, although there's this one I found of river dolphins http://news.mongabay.com/2014/1203-sanders-ucsc-indus-river-dolphin.html
15:16:40 -!- oerjan has quit (Quit: Later).
15:16:52 <SopaXorzTaker> фтв иец
15:16:55 <SopaXorzTaker> and btw
15:17:13 <SopaXorzTaker> does ***fuck exist, where program and data are in the same maeory?
15:17:20 <SopaXorzTaker> *memory
15:17:38 <SopaXorzTaker> *this gives ability to write self-modifying code
15:17:48 <myname> yes
15:18:19 <Jafet> https://esolangs.org/wiki/Aura
15:20:25 <ais523> also http://esolangs.org/wiki/Braintwist sort-of counts
15:22:00 <MDude> Hmmm.
15:22:27 <MDude> Braintwist seems to have the last bit a needed for Brainfuck-without-Brainfuck.
15:22:42 <MDude> A way to loop without using [].
15:23:25 <myname> i doubt that
15:23:43 <myname> you need way longer to write an instruction than to execute
15:24:17 <myname> there is some bf derivate with instructions of only 3 bit
15:24:25 <ais523> Aura's believed sub-TC, btw
15:24:28 <myname> and selfmodifying
15:25:10 <MDude> I don't quite know what you mean by that, myname.
15:25:31 <myname> [ is not whatever ord('[') is but e.g. 3
15:25:31 <j-bot> myname: |spelling error
15:25:31 <j-bot> myname: | is not whatever ord('[') is but e.g. 3
15:25:31 <j-bot> myname: | ^
15:25:56 -!- nys has joined.
15:25:58 <MDude> Bigger obstacle that I just remember is that I was going to see if I could have the data space by a 3x3 grid of bits.
15:26:09 <myname> ah
15:26:11 <myname> http://esolangs.org/wiki/Agony
15:26:13 <myname> that one
15:27:10 <MDude> Oh, you were talking about Braintwist.
15:27:36 -!- boily has quit (Quit: RAPSCALLY CHICKEN).
15:27:39 -!- skarn has quit (Ping timeout: 258 seconds).
15:28:41 <ais523> what about braintwist with BF Joust-style RLE ?
15:37:25 <MDude> Is there a language made to have code represented as zzstructures?
15:42:11 <MDude> Aw, BeQunge's site seems to be down.
15:42:41 -!- Frooxius has quit (Read error: Connection reset by peer).
15:43:18 <MDude> Or at least has turned into some weird thing where it expects me to download an application/x-httpd-php (563 bytes) named dmaupKve.
15:44:18 <ais523> "x-httpd-php"?
15:44:32 <ais523> presumably that's "page generated by a PHP script which won't say what format it's in"
15:44:47 <MDude> Yeah I'm not sure either.
15:47:28 <MDude> To me it sounds a bit like a televized clown jumping into the camera's feild of veiw and saying "Hey guys, it's time for virus city!"
15:47:44 <MDude> Though it could just be misconfigured stuff, yeah.
15:47:59 <ais523> a sensible virus wouldn't claim to be in a format that no browser knows how to open
15:48:14 <MDude> A well made one, no.
15:48:42 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
15:49:38 <MDude> What I'm wondering now though why when I right click it my options are "Open" and "Mount ImDisk as Virtual Disk".
15:49:52 <ais523> does the second option appear for absolutely every file on your computer?
15:50:15 <ais523> if so, it's probably an overly optimistic shell extension (or less charitably, one that's trying to advertise its existence by appearing on all your context menus)
15:50:38 <MDude> Ah, I see it is.
15:51:34 <ais523> the number of ways that Windows program developers come up with to advertise their programs is shocking
15:52:02 <MDude> I was wondering why the menu wasn't showing open as/with.
15:52:46 <MDude> But I guess it thinks it doens't need to, if it'll open the same menu when I try to open it anyway.
15:56:29 <MDude> Yep, it's php.
15:56:37 <MDude> Starts with <?php
15:56:38 <MDude> $activelink = 0;
15:56:38 <MDude> include("header.php");
15:56:38 <MDude> ?>
15:56:38 <lambdabot> Maybe you meant: v @ ? .
15:57:10 <MDude> And ends with <?php
15:57:10 <MDude> $activelink = 0;
15:57:10 <MDude> include("header.php");
15:57:10 <MDude> ?>
15:57:10 <lambdabot> Maybe you meant: v @ ? .
15:57:29 <MDude> ?
15:57:53 <MDude> I meant <?php
15:57:53 <MDude> include("footer.php");
15:57:53 <MDude> ?>
15:57:53 <lambdabot> Maybe you meant: v @ ? .
16:00:29 -!- dts|pokeball has quit (Ping timeout: 264 seconds).
16:04:55 -!- irctc984 has joined.
16:05:06 <irctc984> ау маги)
16:05:42 <irctc984> i search girl for tantric))
16:06:00 -!- hjulle has joined.
16:06:03 <ais523> irctc984: do you know what this channel is about? or are you a spambot?
16:06:35 <irctc984> i yogi
16:06:43 <ais523> `welcome irctc984
16:06:46 <irctc984> who are you?
16:06:54 <ais523> esoteric programmer, like everyone else here
16:07:11 <ais523> Gregor: hackego's down
16:07:19 <irctc984> dou speak russian?)
16:07:23 <ais523> but this channel is about programming languages that aren't widely used
16:07:33 <ais523> and is mostly in english, and occasionally finnish or norwegian or swedish
16:07:50 <irctc984> i know php java c++ c# ruby python
16:08:21 <irctc984> ^^
16:08:31 <irctc984> hail Odin!
16:08:48 <ais523> here's our website: http://esolangs.org/
16:09:03 <ais523> if you don't find it relevant/interesting, you're probably in the wrong place
16:09:04 <ais523> if you do, then welcome
16:09:07 <ais523> (sadly the welcome bot is down)
16:09:38 <irctc984> new progrmm lang?
16:10:03 <ais523> yes, basically experimental programming languages
16:10:08 <irctc984> sorry me need magic)
16:10:10 <ais523> that don't have to be useful
16:10:11 <ais523> right
16:10:20 <ais523> there is a channel for that sort of thing, but it's not on freenode
16:10:23 <ais523> I forget where offhand
16:10:28 <ais523> (also it's normally empty)
16:10:33 <irctc984> )
16:10:37 <ais523> let me search logs, a moment
16:11:31 <ais523> irctc984: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
16:11:34 <ais523> there we go
16:11:50 <ais523> that other channel is sadly normally empty, but perhaps if you idle there long enough, someone else will turn up
16:15:00 -!- irctc984 has quit (Ping timeout: 246 seconds).
16:22:10 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]).
16:22:36 -!- J_Arcane has joined.
16:24:06 <fizzie> Ooh, long time no "other esoteric" visitor.
16:24:24 <ais523> some day two of them are going to meet each other
16:24:43 <ais523> and discover that they both care about entirely disjoint subsets of other-esoterica
16:37:25 -!- Frooxius has joined.
16:37:27 -!- S1 has joined.
16:51:27 -!- shikhin has quit (Quit: study crap).
17:00:00 -!- GeekDude has joined.
17:28:18 -!- dts|pokeball has joined.
17:49:49 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
18:40:10 -!- GeekDude has joined.
18:45:20 -!- SopaXorzTaker has quit (Disconnected by services).
18:45:28 -!- SopaXorzTaker has joined.
18:46:15 <int-e> Ah, another anagol record unreachable due to abolishing NPlusKPatterns
18:47:47 <b_jonas> which one?
18:48:11 <int-e> http://golf.shinh.org/p.rb?Smileys+Triangle
18:49:42 -!- ZombieAlive has quit (Read error: Connection reset by peer).
18:54:07 -!- CrazyM4n has joined.
18:58:06 <int-e> The parsing of n+k patterns is a bit odd. One may write let n+1?m = n, but not let n?m+1 = m, regardless of the operator's fixity.
19:05:16 -!- evalj has joined.
19:09:57 <int-e> Ghc is a bit too generous there, accepting programs that are invalid by the Haskell 98 report. I don't think this will be fixed :)
19:16:59 <int-e> b_jonas: obviously I have no proof, the evidence consists of a) a working solution of the right size, using n+k patterns and b) failure to produce a non-n+k-patterns solution despite trying fairly hard.
19:17:18 <b_jonas> int-e: sure
19:17:27 <b_jonas> it's hard to be sure with these kinds of problems
19:21:30 <int-e> earlier I improved the Haskell record for http://golf.shinh.org/p.rb?Timeout after 7 years, hard to believe all those people missed that idea.
19:24:54 <int-e> but! that was the second time I attempted this problem and the first time I ended up with main=print[0..] like everybody else, and was satisfied at the time.
19:33:21 -!- shikhin has joined.
19:35:50 -!- Tod-Autojoined has joined.
19:36:16 -!- TodPunk has quit (Read error: Connection reset by peer).
19:36:55 -!- Tod-Autojoined has changed nick to TodPunk.
19:38:40 <shachaf> int-e: I'm also surprised no one tried main=getChar
19:38:54 <shachaf> Or, hmm.
19:39:00 <shachaf> Maybe it doesn't work, oops.
19:40:21 <pikhq> main=unsafeCast $ main -- thar you go
19:41:03 <shachaf> ?
19:41:08 <pikhq> I... dunno.
19:47:06 -!- lowdown has joined.
19:50:05 <CrazyM4n> does main=main work?
19:51:08 <CrazyM4n> It should, since "let f=f in f" works
19:51:21 <shachaf> Neither one works.
19:51:38 <CrazyM4n> Really? "let f=f in f" stopped my ghci
19:51:54 <CrazyM4n> Maybe ghci has such radically different rules that that works for some reason
19:52:06 <shachaf> radical, man
19:52:52 -!- CakeMeat has joined.
19:54:08 <CrazyM4n> ³√4
19:54:11 <CrazyM4n> So radical
19:59:14 <CakeMeat> Howd you create that symbol
19:59:31 <CrazyM4n> Looked it up
19:59:31 <CrazyM4n> √√√
19:59:32 <int-e> CrazyM4n: I'm actually not quite sure why the RTS's loop detection doesn't trigger for that code in ghci. With main=main and compiled code the program terminates and prints <<loop>>
20:00:32 <CakeMeat> Fancy
20:02:20 <CrazyM4n> Huh
20:03:22 -!- lowdown has left ("Leaving").
20:03:35 <CakeMeat> Hm?
20:05:53 -!- Patashu has joined.
20:06:10 <CrazyM4n> ;~; it's so hard to debug a curses app
20:08:41 <CrazyM4n> Okay, why in the world
20:08:59 <CrazyM4n> A 1,000 size pad crashes when I try to draw to the char at [999, 999]
20:14:03 <CakeMeat> Idk
20:24:07 -!- evalj has quit (Remote host closed the connection).
20:26:18 -!- Patashu has quit (Ping timeout: 264 seconds).
20:53:42 -!- MoALTz has quit (Ping timeout: 252 seconds).
21:13:19 -!- AndoDaan has joined.
21:14:04 <AndoDaan> hola
21:14:59 <AndoDaan> Would anyone have advice on where (with who) I should host my own webpages?
21:17:44 <ais523> depends on whether it's static hosting, or something more complex (CGI, etc.)
21:17:49 <ais523> and how much money you have
21:18:12 <ais523> static hosting is basically trivial nowadays, so there are probably a ton of companies willing to do it for cheap/free, some of which are more reputable than others
21:18:41 <AndoDaan> little money, that for sure. And it would be first for like running javascript interpreters, not sure if that static or not.
21:19:15 <ais523> you can do that static
21:19:23 <ais523> actually you can do that without hosting, just it's hard to send the results to other people
21:20:17 <AndoDaan> if people click on raw under a github html page, would they see the html page as if it were hosted?
21:20:33 <AndoDaan> html code page, I mean.
21:21:52 <ais523> AndoDaan: not on github itself
21:21:58 <ais523> however, github.io (not .com) does something very like that
21:22:04 <ais523> but I don't know the details
21:22:10 <ais523> …let me visit their home page and see if it explains
21:22:33 <AndoDaan> I'll have a look too. Thanks.
21:22:44 <ais523> oh wow is this saddeningly github
21:23:01 <ais523> that page reminds me of how much I hate github
21:23:05 <ais523> seriously seriously hate
21:23:11 <ais523> but I think it does the job you need it to
21:23:40 <ais523> github's already the hosting site with the least understanding of git, and they seem to actively promote their users not understanding git either
21:23:44 <ais523> so things go wrong all the time
21:23:51 <ais523> or, well, there's probably some site even worse than github
21:23:52 <AndoDaan> Really? Why do you dislike github? I mean, I'm not too familiar with it, but it seems to be the most recommended.
21:24:04 <ais523> no, it's the most /popular/, people use it due to network effects
21:24:24 <ais523> but basically they're trying to be a social network, and are using repositories as the hook to draw people in
21:24:45 <AndoDaan> all the starring...
21:25:35 <ais523> that, and the utter desperation for users (signup process doesn't even have a confirm password, so there's no way to know you typed it correctly, and is directly on the home page while logged out)
21:25:53 <ais523> and the way they create and recommend a "github client for windows" that doesn't understand git (seriously, I've seen people try to use it)
21:26:53 <AndoDaan> I've used it... once. Now I just manually upload, or copy/paste, the few things I put on there.
21:27:05 <AndoDaan> I'm small fries though.
21:27:29 <ais523> that is also not how git works
21:28:05 <AndoDaan> Hmm, you mean it's for collaboration?
21:30:21 <ais523> collaboration; version history; syncing a repo between multiple machines
21:30:27 <ais523> these are some of the most basic things a VCS does
21:30:57 <ais523> not "copy-paste your work into a website" or "download this client that doesn't actually have any way to access most of git's functionality, and the subset it does apparently provide access to is really misleading"
21:31:14 <AndoDaan> What did you use for INTERCALC(?)
21:32:02 <ais523> I didn't write INTERCALC
21:32:12 <ais523> if someone is confusing me with claudio calvelli again, I will get mildly frustrated
21:34:07 <AndoDaan> You didn't, but I thought you, together with an Eric person, collected everything that was known on the language into one central location.
21:34:36 <AndoDaan> i think i read an article.
21:35:14 <ais523> AndoDaan: oh, that article
21:35:31 <ais523> you should probably not consider everything written in it to be true, or at least, non-misleading
21:35:43 <ais523> I'm not sure if there are any actual false statements in it, but I wouldn't have told the story like taht
21:36:02 <ais523> also, the "eric person" is pretty famous, one of the few people who's referenceable by initials
21:38:32 <AndoDaan> Wait, is he the same person that wrote the hacker's lingo dictionary and hacker's guide (or something like that)?
21:38:54 <fizzie> He didn't write the jargon file either.
21:39:03 <ais523> he's the same person who maintains the jargon file, yes, but didn't originally write it
21:39:28 <ais523> AndoDaan: here's the Wikipedia page: https://en.wikipedia.org/wiki/Eric_S._Raymond
21:39:29 <fizzie> I guess he "wrote" (edited) the one print version.
21:39:54 <coppro> it's been so long that I've been working on killing d_level, but now I've forgotten what I want to do next
21:40:14 <coppro> I know I was working on some migration stuff, but I can't remember why :/
21:41:00 <ais523> coppro: possible mischan?
21:41:41 <coppro> ah, yes
21:41:43 <AndoDaan> Nethack as well, you've must have known him for a while. I keep meaning to try nethack, but it seems so big to get started on.
21:42:02 <coppro> ais523: I sort of assume that NH is ontopic in any channel you're talking in
21:42:09 <coppro> same with agora
21:42:18 <ais523> I, hmm
21:42:26 <ais523> on Freenode that rule does seem to almost apply
21:42:32 <ais523> I can think of one exception (agora in #tasvideos)
21:42:57 <nys> okay okay so
21:43:01 <ais523> I'm currently in two channels in synirc which have lax topicality rules, but trying to bring up either nethack or agora would likely be ignored at best and shunned at worst
21:43:23 <nys> brainfuck is a language that can be executed as a string
21:43:30 <nys> it doesn't really require "parsing"
21:43:31 <ais523> most languages are like that
21:43:43 <ais523> but some are better executable as strings than others
21:43:45 <nys> beyond a case statement
21:43:50 <ais523> technically you could do it with C, but it'd be a nightmare
21:43:59 <nys> some massive state machine
21:44:38 <nys> okay but so is it possible to encapsulate some method of abstraction in such a language
21:45:15 <ais523> I'm not sure it's possible to create a TC language with no abstraction
21:45:28 <ais523> worst case you write an interpreter for a language with abstraction, plus a program for it to run
21:45:51 <coppro> I'm only in one channel in synirc
21:46:00 <nys> well i mean a kind of abstraction meaningful to humans
21:46:01 <coppro> synirc has really unreliable infrastructure, though; comparable to freenode
21:46:08 <nys> or accessible to humans perhaps
21:49:40 <ais523> pretty much all the really inaccessible languages
21:49:48 <ais523> like that 2,3 machine that wolfram set his prize for
21:50:05 <ais523> are only programmable in by defining many layers of abstraction on top of them until you find something that humans can mentally grasp
21:50:39 <AndoDaan> (that you won)
21:51:05 <nys> blurp
21:52:42 -!- dts|pokeball has quit (Ping timeout: 260 seconds).
21:54:21 <nys> reverse polish s k combinators
21:57:40 * Sgeo remembers a Berenstain Bears book explaining a beautiful sunset as being caused by pollution
21:59:37 <fizzie> ais523: What's "synirc"? (I mean, any special topic, or just generic IRCery?)
22:00:13 <ais523> no idea if it has any particular topic
22:00:50 <fizzie> I'm not sure what I'll use as an IRCnet server in UK. Here in Finland, all the ISPs have their own.
22:02:02 <ais523> huh, you are moving to the UK, then?
22:02:04 <ais523> or just planning?
22:02:14 <fizzie> Moving on Jan 2, 2015.
22:02:52 <fizzie> (I only remember irc.stealth.net as an open server, and it was rather unstable. Ten years ago or so. I did find out open.ircnet.net is a DNS alias for five open servers, but I have no idea whether those are any better.)
22:03:28 <ais523> now I wonder why anyone would want to come here
22:03:45 <ais523> I guess I can construe it as an attempt to restore the finland/hexham balance
22:03:56 <ais523> …you're not moving to Hexham, are you?
22:04:13 <fizzie> No; London. (I got job offers from there and from Aachen, Germany.)
22:04:48 -!- AnotherTest has joined.
22:05:07 <fizzie> As far as cities go, Aachen might have been more to my liking. I'm just hoping nobody has managed to make a city as big as London completely uninhabitable.
22:05:28 <ais523> london is possibly unlike any other city
22:05:52 <ais523> first time I went there, it struck me as a bit odd that my parents gave me specific london-handling advice in advance
22:06:09 <ais523> in retrospect, it wasn't 100% necessary, but I could see why people could think it would be
22:06:33 <fizzie> I've been there doing the tourist thing a couple of times (3?), but that's pretty much the extent of my knowledge. Except I did see that one documentary.
22:06:55 <ais523> also, I think london has reached some sort of reverse-singularity where the number of jobs required to support the population of london is now sufficiently high that it's impossible to fit enough people into london to do those jobs
22:07:19 <ais523> thus, some large proportion of people have to commute, and commuting into london is both very crowded and very expensive
22:07:53 <fizzie> We'll be looking for a place that's (a) quiet and peaceful, (b) within a reasonable commute from the job, and (c) cheap, which I'm sure will be entirely trivial to find.
22:07:56 <coppro> ais523: this is not uncommon of large cities
22:08:01 <coppro> fizzie: ahahahahahahah
22:08:18 <fizzie> (We've got a company-provided place for January and February to do some looking.)
22:08:32 <ais523> fizzie: oh wow
22:08:45 <ais523> "cheap" by those definitions is on the order of a million pounds, last I looked
22:09:11 <fizzie> It's not "that bad". I mean, you don't have to go *that* far to be easily under, say, £1500/month.
22:09:46 <ais523> how central is the workplace?
22:09:56 <ais523> if it's outskirts it hopefully shouldn't be too bad
22:10:05 <fizzie> It's about next door to Buckingham Palace, so... quite?
22:10:32 <fizzie> My wife's parents suggested asking the Queen for spare rooms.
22:10:35 <coppro> haha
22:10:35 <fizzie> I hear it's a big palace.
22:10:52 <AndoDaan> Share with the corgies.
22:11:00 <coppro> I expect you're going to get very familiar with the Tube
22:11:22 <ais523> actually I'm beginning to wonder if the tube is even worthwhile for zone 1 journeys
22:11:35 <ais523> I'm not convinced that going down to tube level, then back up to street level, is faster than just walking in many cases
22:11:40 <fizzie> Well, it's also next to Victoria station. Some of the places we've been preliminarily looking at seemed to have somewhat reasonable overground commuting railroad connections.
22:11:45 <ais523> partly depends on which line you're on
22:12:33 <fizzie> The relocation package includes two days of time with a local "homesearch consultant" who's supposed to be knowledgeable about these things, I'm hoping that'll help.
22:13:44 <ais523> companies in london have to get good at this sort of thing
22:13:53 <ais523> if they want their employees to be able to afford to stay working for them
22:13:57 <ais523> so yes, I imagine it will help
22:14:14 <ais523> government-funded jobs (like teaching) have much higher salaries in london, partly because of this sort of thing
22:15:10 <ais523> my advice is, enter the same character name
22:15:22 <ais523> if you get a "shall I pick for you?" prompt, quit out and then run recover
22:15:51 <ais523> mischan, sorry
22:16:13 <fizzie> ...that confused me quite a bit, actually.
22:16:30 <fizzie> At least the first line seemed like it could just possibly be relevant.
22:16:33 <ais523> it's the fact that nobody talked in between
22:16:41 <ais523> that makes it hard to follow
22:17:15 -!- AnotherTest has quit (Ping timeout: 244 seconds).
22:25:16 -!- ais523 has quit.
22:39:44 -!- oerjan has joined.
22:43:19 <oerjan> fizzie: HackEgo is strangely missing hth
22:47:56 <nys> http://pastie.org/private/b6c8kaawz19ilhxixwva mmmmmmmmmmm
22:48:32 <nys> the class of evaluators you can only stare dreamily at
22:48:32 <CakeMeat> WhatS this
22:48:41 <CakeMeat> Oh my
22:49:49 <oerjan> nys: it's tricky to do anything useful with an ExpVal. i guess you could throw exceptions.
22:50:02 -!- nisstyre has quit (Changing host).
22:50:02 -!- nisstyre has joined.
22:50:07 <nys> yeah
22:50:28 <nys> it'd be nice to just return regular functions but the type system doesn't like that so much
22:50:34 <CakeMeat> Mmm green olives and a yogurt cup is best lunch
22:50:56 <elliott> it's relatively easy to extend expval with stuck terms though
22:50:59 <oerjan> adding a monad is easy, though.
22:51:34 <nys> is it??
22:51:41 <nys> that's what i wanted to do next!!
22:52:03 <nys> well i mean, adding IO capabilities
22:52:16 <oerjan> or what i did in the Real Fast Nora's Hair Salon 3: Shear Disaster Download implementation.
22:52:52 <elliott> data Sem = Stuck String [Sem] | Fun (Sem -> Sem)
22:53:09 <oerjan> data WHNF a = WHNF { ann :: Maybe a, fun :: (WHNF a -> WHNF a) }
22:53:09 <oerjan> type EXPR a = [WHNF a] -> WHNF a
22:53:20 <elliott> ($$) :: Sem -> Sem -> Sem; Stuck n xs $$ x = Stuck n (xs ++ [x]); Fun f $$ x = f x
22:53:43 <oerjan> i guess my a is like your Stuck, except that everything _also_ has a function interpretation.
22:53:51 <elliott> add ... | Var String to the source language that evalutes to Stuck n [] and voila
22:54:34 <oerjan> that WHNF is probably really misnamed as a result of later rewriting of the code
22:54:47 * nys blinks
22:56:56 <int-e> nys: just renaming: http://lpaste.net/7364802953296740352 (my motivation was that there's a natural name for a record selector, namely 'apply')
22:58:16 <nys> makes sense
22:59:26 -!- dts|pokeball has joined.
23:00:22 <fizzie> oerjan: I managed to log in but then it hung up on me and now it no longer answers.
23:00:29 <oerjan> fizzie: eek
23:00:48 <oerjan> the wiki was working a moment ago...
23:01:16 <fizzie> Yes, and at least from my point of view it stopped too.
23:01:41 <nys> elliott, what exactly is what you just described?
23:02:06 <elliott> nys: I'll write a demonstration
23:05:40 <oerjan> <ais523> and discover that they both care about entirely disjoint subsets of other-esoterica <-- aww
23:08:22 <elliott> nys: http://sprunge.us/dcOA
23:12:02 <oerjan> <int-e> earlier I improved the Haskell record for http://golf.shinh.org/p.rb?Timeout after 7 years, hard to believe all those people missed that idea. <-- maybe it didn't work before, due to different blackholing or whatever...
23:12:20 <oerjan> like, main=main _could_ work that way (although you say it doesn't)
23:12:46 <shachaf> I don't expect main = main >> main to <<loop>>
23:12:47 <nys> hm cool cool
23:13:04 <shachaf> Any more than I'd expect main = print 5 >> main to loop
23:13:24 <oerjan> shachaf: hm i guess.
23:13:25 -!- HackEgo has joined.
23:13:28 <fizzie> oerjan: DONE.
23:13:30 <oerjan> yay!
23:14:08 <fizzie> I'm sure it'll suffer from another hiccup soon and go down again.
23:14:09 <oerjan> `learn_append myname His evil twin brother is Perl.
23:14:21 <oerjan> perhaps immediately.
23:14:25 <HackEgo> Learned 'myname': myname is not your name. You don't know what they are doing. Or you are doing. Or am I? His evil twin brother is Perl.
23:14:42 <oerjan> hm that doesn't fit in so well.
23:14:49 <oerjan> but then, when did Perl ever.
23:15:15 <myname> :D
23:15:33 <myname> wtf @ php sollutions for timeout
23:16:31 <myname> oerjan: also, you are quite serious about that log reading thing
23:17:51 <shachaf> oerjan: would using // for slashlearn satisfy your pedantry twh
23:19:17 <oerjan> what pedantry, i've never used that command anyway...
23:19:26 <oerjan> (or have i?)
23:21:23 <shachaf> 2014-10-02.txt:04:22:14: <oerjan> technically you can have slash too, but you need to create the directories first >:)
23:22:02 <shachaf> 2014-10-03.txt:11:31:02: <oerjan> `slashlearn fnord/? ¯\(°<U+200B>_o)/¯
23:22:31 <oerjan> ah
23:22:42 <shachaf> `? fnord
23:22:44 <HackEgo> ​? ¯\(°​_o)/¯
23:25:14 <oerjan> i'm not sure we want to encourage directories. for one thing, if there is a directory it cannot also be a file...
23:31:09 <shachaf> whoa, "Heikki is a Finnish form of the man's name Henry."
23:31:40 <myname> http://golf.shinh.org/reveal.rb?Timeout/leonid_1205162298&rb that's a cheat
23:31:58 <shachaf> cheating is allowed hth
23:32:24 <myname> "exec is forbidden"
23:34:47 <oerjan> @tell <ais523> I can think of one exception (agora in #tasvideos) <-- you need to make that tasvideo now hth
23:34:48 <lambdabot> Consider it noted.
23:34:58 -!- boily has joined.
23:35:38 <shachaf> oerjan: does @tell support <> now twh
23:35:46 <oerjan> AAAAAAAAAAAA
23:35:57 <oerjan> @tell ais523 <ais523> I can think of one exception (agora in #tasvideos) <-- you need to make that tasvideo now hth
23:35:58 <lambdabot> Consider it noted.
23:36:07 <oerjan> @tell ais523 getting rules passed to make agora tas'able is left as an exercise
23:36:08 <lambdabot> Consider it noted.
23:36:24 <fizzie> shachaf: Probably via "Henrik". And these days we have "Henri" as a Finnish name, too.
23:37:18 <fizzie> Perhaps "these days" is not quite right, but it's popularity peak is clearly later according to http://verkkopalvelu.vrk.fi/nimipalvelu/nimipalvelu_etunimihaku.asp?L=3
23:37:34 <oerjan> @ask <oerjan> does @tell support <> now twh
23:37:34 <lambdabot> Consider it noted.
23:37:39 <oerjan> hi there
23:37:43 <oerjan> NOPE
23:38:08 <boily> <oerjan> AAAAAAAAAAAA ← ?
23:38:32 <boily> (also, bon soirjan.)
23:39:04 <oerjan> boily: see previous comment by shachaf
23:40:00 <oerjan> @tell int-e it would be nice if @tell could like warn about illegal chars in nicks
23:40:01 <lambdabot> Consider it noted.
23:40:48 <boily> oerjan: oh.
23:40:59 <shachaf> oerjan: it already handles "@tell foo:" and "@tell foo," hth
23:41:03 <boily> shachaf: @tell is not a monoid hth
23:41:18 <shachaf> tdnh
23:41:33 <shachaf> oh, i see, you're saying it's hard
23:41:38 <oerjan> shachaf: it wouldn't be right anyway, since i actually _want_ the <...> as part of the quoted message
23:42:00 <shachaf> oerjan: I know.
23:42:06 <shachaf> the point is that it's a mess hth
23:42:12 <shachaf> why not just lose hope
23:42:24 <oerjan> oh i did that long ago.
23:43:00 <oerjan> but what does that have to do with bug fixing
23:43:49 <boily> “when your program fails for parts of the domain, change the domain.”
23:44:15 <oerjan> boily: that's pretty much the rule here, yeah
23:52:17 -!- ZombieAlive has joined.
2014-12-08
00:09:47 -!- CakeMeat has changed nick to Lilin.
00:15:20 -!- Frooxius has quit (Quit: *bubbles away*).
00:16:58 -!- tromp has quit (Ping timeout: 250 seconds).
00:25:02 <Lilin> int-e: what was that solar flare site again?
00:25:48 <oerjan> the daystar is out there
00:28:42 <int-e> This one? http://www.tesis.lebedev.ru/en/sun_flares.html I don't recall for sure, I just googled for solar flares.
00:29:15 <FireFly> Hmm, perhaps BLC ought to be added to anagol
00:30:50 <int-e> may hard to sell with the "universal lambda" variant already there.
00:31:49 <boily> “Copyright 1953-2014”. nice.
00:32:02 <FireFly> Good point
00:37:58 <Lilin> Thanks int-e
00:48:56 -!- tromp has joined.
00:53:46 -!- S1 has quit (Quit: S1).
01:07:50 -!- shikhout has joined.
01:11:08 -!- shikhin has quit (Ping timeout: 256 seconds).
01:16:15 <CrazyM4n> So I've been reading up on turing tarpits
01:16:23 <CrazyM4n> So fascinating
01:17:25 <Lilin> Dost thou needith a hug?
01:18:19 * oerjan swatteth Lilin for bad grammar -----###
01:18:44 <Lilin> How could you #-#
01:18:52 <shachaf> oerjan: that's all it takest?
01:19:00 <oerjan> IT'S BECAUSE I'M A GRAMMAR NAZI
01:19:18 <Lilin> oerjan: is very dirty shachaf
01:19:43 <Lilin> He likes to hit people
01:22:57 * oerjan lives for the hit parades
01:23:23 <shachaf> And I like to be hit. And yet it doesn't work out.
01:33:22 <Lilin> Oh mai shachaf thats dirty
01:33:42 <shachaf> It would be nice if you stopped changing your nick every few days.
01:34:11 <Lilin> Well
01:34:27 <Lilin> Its easier for me to lose myself
01:34:37 <Lilin> Sorry
01:40:25 <oren> if P != NP why the heck can't we prove it?
01:41:29 <oren> i mean all you have to do is find ONE problem in NP and prove it's not in P, right?
01:42:44 <lifthrasiir> yes, and it's damn hard
01:43:38 <oren> but theres a million problems in NP. how many are not in P?
01:45:11 <oren> (how many are suspected to no tbe in P)
01:46:55 <oerjan> oren: one of the basic problems is that we don't have a real grip on how much power P itself has
01:47:49 <oerjan> so, it is very hard to prove that something _cannot_ be done in P, if none of the simple diagonalization tricks work.
01:47:49 -!- dianne has quit (Read error: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac).
01:48:30 <oerjan> and it has been proved, essentially, that diagonalization _cannot_ work to prove P != NP
01:49:54 <oren> so it is essentially extremely hard to prove something is not in P
01:50:34 <oerjan> yeah. because of NP-completeness, we already _know_ which problems have to not be in P for it to be different.
01:50:42 -!- dianne has joined.
01:52:02 <oren> can we prove a subset of P? what about 'polynomial, degree below 4'
01:52:23 <oerjan> well there is a proof that SAT cannot be linear time iirc
01:52:30 <CrazyM4n> I figured out how to solve it, actually
01:52:45 <CrazyM4n> 3x³ - 2x² != 2x
01:53:07 <CrazyM4n> You can tell that the polynomial doesn't equal the thing that isn't a polynomial
01:53:12 <oren> because degrees above N^5 with a reasonable constant are almost useless anyway.
01:53:14 <CrazyM4n> Therefore, P != NP
01:53:27 * oerjan swats CrazyM4n -----###
01:53:32 <CrazyM4n> :P
01:54:39 <shachaf> whøarjan
01:54:44 <shachaf> two swats on the same screen
01:54:51 <oerjan> shocking
01:55:07 <oren> so in other words, proving that an NP-complete problem can't be solved with degree N^4 or below would have most of the same practical consequences
01:55:09 <oerjan> shachaf: you have a big screen
01:55:31 <shachaf> oerjan: or small text hth
01:55:53 <shachaf> my screen's resolution is so high that things break all the time :'(
01:56:05 <oerjan> oren: there's this thing i've seen mentioned - let me try to find it
01:58:06 <oerjan> hm http://blog.computationalcomplexity.org/2004/06/impagliazzos-five-worlds.html it's not as relevant to what you said
01:58:40 <oerjan> i'm sure the possibility of "P = NP but with high exponent" has been discussed here and there, though
02:01:18 -!- oerjan has quit (Quit: Good night).
02:01:59 <oren> like for example we have prime number tests in (logn)&6
02:02:13 <oren> (log n)^6
02:04:30 <oren> with a large constant too
02:09:11 <Lilin> Mmm eggnog
02:12:42 -!- AndoDaan has quit (Quit: bbl).
02:15:05 -!- qwertyo has joined.
02:18:20 <Jafet> @ask oerjan It hasn't been proven that SAT cannot be linear time (unless you forbid linear space)
02:18:20 <lambdabot> Consider it noted.
02:25:12 <Sgeo> Aww I can't just go out and buy some Vantablack
02:25:19 * Sgeo is extremely dissappointed
02:27:09 <paul2520> wow, that stuff sounds cool
02:27:27 <Lilin> Whenever you eat a chicken egg
02:27:34 <Lilin> You are eating its period
02:27:37 <Lilin> :)
02:27:43 <paul2520> lol
02:28:16 <Lilin> People always say im eating a chicken fetus
02:28:28 <Lilin> But you are eating something worse
02:49:07 <CrazyM4n> I wonder what Vantablack feels like
02:52:37 <boily> it's... it's disturbingly dark. I need to buy some.
03:08:26 -!- boily has quit (Quit: ULTRAVIOLET CHICKEN).
03:12:30 <oren> goths are gonna wear vantablack dresses
03:16:43 <elliott> oh man, it looks like a hole in the photos
03:17:39 <coppro> yeah, pretty awesome
03:19:17 -!- oren has quit (Ping timeout: 265 seconds).
03:24:09 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
03:51:23 -!- shikhout has quit (Ping timeout: 250 seconds).
04:16:29 -!- tswett has joined.
04:17:48 <tswett> So I'm trying to devise a type theory where, if a function is definable in the type theory, then the function's output length grows at most polynomially in its input length.
04:17:55 <tswett> Which raises a question.
04:18:19 <tswett> The type theory should allow higher-order functions, whose inputs are other functions. But what's the length of a function?
04:19:21 <Taneb> 17
04:19:34 -!- AndoDaan has joined.
04:19:37 <tswett> Ah... I think you're right.
04:19:47 <nys> you're welcome
04:19:51 <Taneb> Obvious when you think about it
04:19:57 <tswett> Right, right.
04:20:29 <tswett> Since the string "a function" contains ten letters, but the largest prime number no larger than ten is seven, so you have to add seven.
04:22:20 <Taneb> Precisely
04:22:30 <Taneb> Conveniently, we don't have to add any more because 17 itself is a prime
04:22:43 <tswett> Right.
04:24:10 <Taneb> More seriously, I think functions ought to be constant, because for something like concatMap the sizes you care about are the lists
04:25:56 <Taneb> Does that make sense?
04:26:05 <tswett> Well, I'm not sure what you mean by "ought to be constant".
04:27:15 <Taneb> Like, (a -> b) has the same size as ()
04:29:12 <Taneb> (I'm not experienced in type theory)
04:30:08 <Taneb> If you're dealing with polynomials, it doesn't matter which constant it is unless that is 0
04:30:27 <elliott> (forall a b. a -> b) is uninhabited
04:31:08 <Taneb> elliott, I meant for arbitrary a and b
04:31:31 <elliott> so (Int -> Void) should have one inhabitant? :p
04:31:46 <tswett> Well, a (() -> [()]) seems like it should have the same length as the corresponding [()].
04:32:46 <Taneb> elliott, I don't think size is the same thing as number of inhabitants in this context
04:32:59 <Taneb> tswett, that is a good point
04:33:06 <elliott> I didn't really look too much at the context, true.
04:33:50 <Taneb> Maybe something like RHS/LHS?
04:34:11 <Taneb> No, that's stupid...
04:34:29 <Taneb> And not constant for a particular function
04:35:39 <tswett> Let's consider concatMap. Its type is (a -> [b]) -> [a] -> [b].
04:36:14 <tswett> Certainly if f :: a -> [b] grows polynomially, then concatMap f :: [a] -> [b] grows polynomially, too.
04:36:29 <shachaf> I should understand the thing about groupoids having non-integer cardinality.
04:38:24 <tswett> Seems boring enough.
04:38:42 <tswett> How about the church numeral c2 :: (a -> a) -> a -> a; c2 f x = f (f x)?
04:39:29 <tswett> f could be the unary natural number squaring operator unat -> unat, where unat is [()].
04:39:52 <tswett> Then c2 f takes the fourth power.
04:40:00 <tswett> If f takes the 10th power, then c2 f takes the 100th power.
04:40:21 <tswett> There doesn't seem to be anything illegal going on here.
04:41:10 <tswett> I suppose we might be able to define "grows at most polynomially" without actually defining what length is.
04:41:44 <tswett> If you have an expression involving c2, then it doesn't seem to be possible to make the expression grow faster than polynomially.
04:42:16 <tswett> How about ap :: (a -> b -> c) -> (a -> b) -> a -> c; ap x y z = x z (y z)? Does that "grow at most polynomially"?
04:43:23 <tswett> Probably, I guess. It's not obvious to me how to define a function in STLC that doesn't "grow at most polynomially".
04:43:32 <tswett> Is that, in fact, possible?
04:44:35 <Taneb> \_ -> repeat 1
04:44:46 <Taneb> In fact, "repeat" in Haskell
04:44:58 <Taneb> Oh, STLC
04:45:00 <Taneb> I don't think so?
04:45:28 <tswett> I note that the number c2 c2 c2 c2 c2 is large. But c2 has a different type each time.
04:48:03 <tswett> So problems only seem to come in when you allow polymorphism or dependent typing.
04:48:22 <tswett> I'm not sure I want to know what the length of Type is.
04:50:32 <tswett> Lessee. A list of "a"s can be thought of as a "forall b, (a -> b -> b) -> b -> b". Presumably the length of a "forall b, (a -> b -> b) -> b -> b" should be (at most a polynomial in) the sum of the lengths of the elements.
04:52:10 -!- singingboyo has joined.
04:52:21 <tswett> But I think that's inconsistent. Since c2 :: (a -> a) -> a -> a is a list, it must have constant length, like 2 or something.
04:53:04 <tswett> But then the function \f g -> f g, taking two Church numerals and returning their exponentiation, is illegal, isn't it? We want \f g -> f g to be a legal function.
04:54:28 <tswett> Dunno.
04:58:01 <Jafet> Forbid church numerals, or forbid applying them
04:58:38 -!- oren has joined.
05:02:02 -!- tswett_ has joined.
05:02:31 <tswett_> Well, what you can't do is apply two Church numerals of the same type together. That's exponential.
05:03:45 <tswett_> So every STLC function seems to be allowable. No STLC function takes two Church numerals of the same type and applies them together.
05:04:43 <tswett_> But there are STLC functions which add or multiply Church numerals of the same type.
05:05:35 -!- tswett has quit (Ping timeout: 272 seconds).
05:05:37 -!- tswett_ has changed nick to tswett.
05:11:54 -!- nys has quit (Quit: quit).
05:13:49 -!- supay has quit (Ping timeout: 272 seconds).
05:15:36 -!- supay has joined.
05:16:49 <tswett> Then I think we get a problem if we permit the dependently typed Church numerals. If c and d are dependently typed Church numerals, then \S -> c (S -> S) (d S) is their exponentiation.
05:17:38 <tswett> Simply typed Church numerals, good. Dependently typed Church numerals, bad.
05:19:45 <zzo38> What are dependently typed Church numerals supposed to mean?
05:21:30 -!- tswett has quit (Quit: Colloquy for iPhone - http://colloquy.mobi).
05:24:53 -!- Lilin has quit (Quit: Connection closed for inactivity).
05:26:32 -!- tswett has joined.
05:27:32 <tswett> A dependently typed Church numeral is a function of type (a : Type) -> (a -> a) -> a -> a.
05:29:28 -!- qwertyo has quit (Ping timeout: 258 seconds).
05:31:20 -!- qwertyo has joined.
05:31:58 -!- qwertyo has quit (Max SendQ exceeded).
05:32:36 -!- qwertyo has joined.
05:33:58 <oren> it is a function, mapping somthing of type a to a function, which maps functions from a to a to functions from a to a?
05:34:21 -!- atslash has quit (Read error: Connection reset by peer).
05:35:01 -!- atslash has joined.
05:35:58 <oren> a (*(*f(a))(a(*)(a)))(a)
05:36:25 <shachaf> No, its first argument is a type.
05:36:41 -!- tswett has quit (Ping timeout: 250 seconds).
05:37:09 <oren> so it maps a type a to a function mapping functions from a to a to functions from a to a?
05:37:27 <shachaf> Yes.
05:37:42 <oren> that is seriously demented
05:38:32 -!- MDude has changed nick to MDream.
05:40:49 <oren> like i've heard of power sets, but this is like, a meta-powerset
05:41:35 <shachaf> It's a reasonable way to do polymorphism.
05:41:48 <shachaf> You don't even need dependent types for that sort of thing, just something like System F.
05:42:54 <oren> gyaaa... maybe if 'reasonable' is defined as 'probably will confuse more people than pointers do'
05:45:57 <zzo38> You can take a type like that even in Haskell by using Typeable and a few other stuff, I think?
05:46:02 <elliott> how weird and confusing and unreasonable to model something parameterised over types as having a type as a parameter
05:46:15 <elliott> what were type theorists thinking
05:47:24 <oren> having a type as a parameter isn't confusing, returning a member of the powerpowerset of the typeis
05:48:01 <shachaf> (a -> a) isn't the power set of a, if that's what you're getting at?
05:48:03 <elliott> what powerset?
05:48:18 <elliott> the powerset of A is A -> Bool.
05:48:45 <oren> the space of functions from a to a is the powerset
05:48:51 <elliott> you're wrong.
05:49:00 <oren> then what is it called?
05:49:05 <elliott> powerset is 2^A i.e. A -> 2 i.e. A -> Bool
05:49:15 <elliott> endomorphism of the type A, I guess?
05:49:22 <oren> whatever you're returning some thing of the C type
05:49:29 <elliott> church numerals represent the natural n as functions taking a function f to f^n.
05:49:37 <elliott> so f has to be of type A -> A for some a.
05:49:46 <elliott> so it's (A -> A) -> (A -> A) and it works generically no matter what A is.
05:49:50 <oren> A (A (*)(A))(*)(A(*)(A))
05:49:50 <elliott> so it's (A : Type) -> (A -> A) -> (A -> A).
05:50:05 <elliott> yes, C has bad function pointer syntax, what's your point?
05:50:20 <elliott> people don't do functional programming in C. and anyway church numerals are a theoretical construct, nobody actually programs with them.
05:50:36 <oren> but how is that a "reasonable way to do polymorphism"?
05:50:51 <oren> i don't think it is
05:51:32 <elliott> that was referring to passing types as parameters.
05:51:45 <shachaf> Constructively (A -> Bool) and the power set are different. :-)
05:51:53 <elliott> fine, A -> Prop
05:52:06 <elliott> oren: (church numerals *are* a perfectly reasonable way to represent the naturals in the lambda calculus, though)
05:52:18 <elliott> though they kind of suck type theoretically because you need parametricity to prove anything about them
05:52:47 <oren> well yeah...
05:53:05 <shachaf> Hmm, does Prop behave like the Sierpinski space?
05:53:38 <Jafet> The polynomial-time type system should probably be designed over terms, instead of unnatural things like numbers and lists
05:54:24 <oren> how are terms more natural than numbers?
05:54:37 <shachaf> Sierpiński, apparently.
05:54:43 <elliott> because one is a primitive notion in type theory and the other is something you build up
05:54:50 <Jafet> So the size of a term in STLC has a natural definition (after full normalization)
05:54:55 -!- qwertyo has quit (Ping timeout: 265 seconds).
05:55:06 <oren> well there's the limitation in your abstraction thn
05:55:11 -!- copumpkin has joined.
05:55:14 <elliott> what
05:55:15 -!- qwertyo has joined.
05:56:01 <oren> you're taking the natural parts of your model as primitive instead of the primitive which real computers actually operate in O(1) on.
05:56:06 <Jafet> Existing polynomial-time languages need fiddly non-local restrictions though, I don't know if you can have a compositional type theory for lambda calculus
05:56:59 <elliott> oren: that's because we're talking about computer science, not computers
05:57:01 <oren> if you want to model real computers you need to insert parameters into your model which are dependent on how real computers operate
05:57:13 <elliott> oh my god shut up
05:57:30 <elliott> you're making even more negative contributions to this discussion than I am with my whining
05:57:34 <Jafet> The only O(1) in real computers is circuit delay
05:58:38 <oren> real computers can add binary numbers of fixed size in O(1) time.
05:59:07 <oren> these numbers of fixed size come up often in real problems
05:59:15 <elliott> you only care about finite stuff? great, let's just say everything is O(1)
05:59:19 <elliott> we have our type system
05:59:21 <Jafet> There was a paper on a language complete for P, but it's complicated to determine statically and I think the language was imperative
06:01:02 <oren> the size of the numeric type is fixed. the size of array types is not. you can use pragmatic principles to determine which parameters of your problem are fixed size in actual exapmles
06:01:37 <elliott> you're talking about irrelevant crap to criticise something you clearly don't understand at all. it's disruptive. please stop.
06:03:52 <Jafet> `welcome
06:03:54 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
06:05:07 <oren> it's not irrelevant to the time complexity of operations of church numbers to consider whether the church numbers are a good way of modeling your system in the first place?
06:05:22 -!- AndoDaan has quit (Ping timeout: 250 seconds).
06:05:33 -!- tswett has joined.
06:05:59 <elliott> did you even read the context? I mean I didn't at first but at least I didn't try and argue for half an hour about it
06:07:00 <elliott> actually I did, with you, but that was after I read the context
06:08:16 -!- tswett has quit (Client Quit).
06:08:24 <Jafet> Beta reductions can be implemented in polynomial time, so they can be considered as units
06:08:48 <oren> well the context involves input lengths, but church numbers have a different length than the corresponding binary numbers.
06:08:48 <Jafet> (As long as the intermediate terms grow polynomially)
06:09:02 -!- ChanServ has set channel mode: +o elliott.
06:09:05 -!- elliott has kicked oren oren.
06:09:07 -!- elliott has set channel mode: -o elliott.
06:09:28 <Jafet> `emoclew
06:09:30 <HackEgo> ​(.ten.lad.cri no ciretose# yrt ,aciretose fo dnik rehto eht roF) .>/gro.sgnalose//:ptth< :ikiw ruo tuo kcehc ,noitamrofni erom roF !tnemyolped dna ngised egaugnal gnimmargorp ciretose rof buh lanoitanretni eht ot emocleW
06:12:06 -!- drdanmaku has quit (Ping timeout: 272 seconds).
06:12:24 -!- oren has joined.
06:13:21 <oren> can you define length of a function as the number of instructions in it?
06:14:12 <oren> ellio why are you so angry?
06:15:11 <Jafet> You can use binary encoding for church numerals.
06:15:21 -!- drdanmaku has joined.
06:15:32 -!- adu has joined.
06:16:15 <oren> i guess but isn't that not the 'natural' encoding? I mean if a church number is a "function" should it not be encoded as code?
06:16:54 <oren> unless you never intend to apply it as a function?
06:17:03 -!- CrazyM4n has quit (Quit: sleep to do).
06:17:06 -!- dts|pokeball has quit (Read error: Connection reset by peer).
06:17:12 <Jafet> A polynomial-time language would probably need to distinguish between counting numbers and arithmetical numbers
06:17:41 <lifthrasiir> cardinals and ordinals?
06:17:46 <Jafet> If you use a number to determine the number of steps in the program, it would need to be in unary
06:18:00 -!- dts|pokeball has joined.
06:18:32 <oren> ah i get it now! but you do math with binary numbers of fixed size but these can't be used in loop conditons?
06:20:08 <oren> but how do you determine whether a number will end up being a loop condition or not?
06:21:25 <oren> oh i see church numbers are your loops?
06:22:44 <Jafet> Presumably tswett wants a compositional type theory that allows exactly the programs requiring a polynomial number of reductions on polynomial-sized terms, which is harder
06:24:00 -!- Lilin has joined.
06:24:26 -!- qwertyo has quit (Ping timeout: 250 seconds).
06:24:33 <oren> binary numbers are log sized while church numbers (in a natural encoding as code) would be O(N) sized
06:24:43 -!- qwertyo has joined.
06:27:49 <oren> am i wrong elliot?
06:30:22 <oren> hmm... elliot hates me now, just for saying that church numbers are unary.
06:31:10 <elliott> you're making a fool of yourself
06:31:18 <zzo38> Church numbers do not seem to be any base I think?
06:32:37 <oren> well the church number n is a function. the code for that function would apply that function n times. unless the code contains a loop, the code would be O(N) in te size of the code to appl the srgument once.
06:33:19 <zzo38> Such a function ca be made up from other function (other Church numbers) too though
06:33:31 <zzo38> Such as applying one to the other, to make exponentiation
06:34:19 <oren> oh crap. yeah it really depends on how the 'apply' operation is perforemed
06:34:58 -!- MoALTz has joined.
06:35:08 <oren> i assumed that constructing f(g()) is done by appending the code for f to the code for g
06:36:05 <oren> if the code for apply instead involves reparsing the function's code, then it is no longer O(1)
06:36:19 -!- qwertyo has quit (Ping timeout: 260 seconds).
06:36:30 -!- qwertyo has joined.
06:37:17 <oren> but then of course the church number n could simply be code for a loop that loops n times
06:38:07 <zzo38> Well, that is one way but it is not the only way; regardless of how it is defined it can be mathematically the same function though
06:38:29 <oren> yes but in terms of space and time complexity it matters
06:38:31 -!- qwertyo has quit (Client Quit).
06:38:57 <zzo38> Yes, the implementation does affect how efficiently it can be executed on a computer, of course.
06:42:24 <oren> but if we want to create a type system that only allows polynomial space and time,then the fact that binary numbers are log(n) space allows different things
06:42:52 <zzo38> How would a type system to only allow polynomial space and time?
06:43:14 <oren> i dunno but that is apparently what they were talking about earlier
06:44:26 <oren> a type system could certainly forbid exponential strcutures like trees to be built
06:45:26 <oren> you essentially forbid operations on your types, strategically...
06:46:58 <oren> if it were up to elliot i think all numbers would be bignums
06:48:04 <elliott> it's considerate that you misspell my name when saying crap so that it doesn't ping me but unfortunately I'm reading all of this anyway
06:48:38 <oren> so why do you hate me so much
06:49:11 <elliott> b/c I have a crush on you (I don't hate you)
06:49:30 <oren> you dislike trying to model real sytems soyou can predict real performance?
06:50:18 <elliott> 04:16:57 <tswett> So I'm trying to devise a type theory where, if a function is definable in the type theory, then the function's output length grows at most polynomially in its input length.
06:50:19 <oren> i would love a compiler that tells me how long the program will take to run...
06:50:28 <elliott> nothing you have said is relevant to what the discussion is actually about
06:50:41 <oren> input length defined in what symbols?
06:50:57 <oren> binary numbers? instructions?
06:50:59 <elliott> and saying that people should be "using" fixed-size binary integers instead of church numerals doesn't even make any sense given that the reason church numerals come up was to figure out what restrictions they'd end up having
06:51:28 <elliott> since you can define church numerals in the lambda calculus, but they allow doing too much unrestricted. it was an attempt to explore how the system would differ from more conventional type theories. I don't know why I'm explainign this to you.
06:51:32 <elliott> *explaining
06:52:26 <oren> but if you allow higher order functions you automatically allow church numbers?
06:52:50 <elliott> 04:17:05 <tswett> Which raises a question.
06:52:50 <elliott> 04:17:29 <tswett> The type theory should allow higher-order functions, whose inputs are other functions. But what's the length of a function?
06:53:24 <oren> yes i read that. the question still doe not have a real answer
06:53:28 <elliott> 05:01:40 <tswett_> Well, what you can't do is apply two Church numerals of the same type together. That's exponential.
06:53:31 <elliott> 05:02:55 <tswett_> So every STLC function seems to be allowable. No STLC function takes two Church numerals of the same type and applies them together.
06:53:34 <elliott> 05:03:53 <tswett_> But there are STLC functions which add or multiply Church numerals of the same type.
06:53:37 <elliott> 05:15:59 <tswett> Then I think we get a problem if we permit the dependently typed Church numerals. If c and d are dependently typed Church numerals, then \S -> c (S -> S) (d S) is their exponentiation.
06:53:41 <elliott> 05:16:48 <tswett> Simply typed Church numerals, good. Dependently typed Church numerals, bad.
06:53:44 <elliott> I'm just gonna paste everything said that answers the questions you're raising
06:54:32 <elliott> I propose a truce: both of us stop talking
06:54:41 <oren> so does the length of a functions have a legitimate answer?
06:55:29 <zzo38> I propose a different kind of truce which means, you can both ignore each other temporarily if you do not want to answer each other's questions.
06:55:34 <elliott> 04:40:19 <tswett> I suppose we might be able to define "grows at most polynomially" without actually defining what length is.
06:58:31 <oren> are the inputs allowed to be pointers?
06:59:24 <elliott> pointers? in type theory?
07:00:17 <oren> e.g. so a data structure containing duplicates doesn't include the duplicates in its length
07:00:53 <oren> call them references. whatever
07:01:52 <oren> a type system allowing indirection is very different from one where everything is hieracrchical
07:02:55 <oren> e.g. consider the lisp lists cons(cons(a,a),cons(a,a)) vs. cons(a,a).
07:03:23 <oren> depending on encoding, the ratio of size is different between those two structures
07:06:31 <oren> python for instance uses immutable strings, so every string is basically stored only once.
07:07:01 <oren> while C++ copies everything every time
07:09:10 <oren> i guess elliott thinks this is irrelavnt because it is not math
07:09:54 <elliott> lol
07:11:16 <oren> nah i'll stop injecting any kind of reality.
07:12:10 <zzo38> A mathematical model of such thing could still be defined though, but such a model won't be useful if you do not define it at first.
07:12:30 <elliott> thank you
07:13:05 <elliott> you'd think #esoteric would be the last place to get "um, but REAL COMPUTERS use BINARY NUMBERS" jokers re: a discussion of type theory, but no...
07:13:33 <b_jonas> heh heh
07:14:15 <oren> a language can be esoteric by being too real. consider subleq
07:14:46 <elliott> too... real...
07:14:47 <oren> or for that matter boolfuck
07:15:22 <oren> maybe real isn't the right word
07:15:26 <oren> "low-level"
07:15:50 -!- ZombieAlive has quit (Remote host closed the connection).
07:17:03 <oren> subleq has no abstractions is my point. you have to build any abstractions up from scratch
07:27:10 -!- Patashu has joined.
07:53:40 -!- AndoDaan has joined.
07:54:56 -!- cluid has joined.
07:55:02 <cluid> hi
07:55:15 <AndoDaan> Hey, cluid.
07:55:22 <cluid> good morning
08:00:23 -!- MoALTz has quit (Quit: Leaving).
08:05:45 -!- dts|pokeball has changed nick to pokeball|dts.
08:06:22 -!- pokeball|dts has changed nick to dts|pokeball.
08:43:56 <Taneb> Woo
08:47:35 -!- dts|pokeball has changed nick to dts|supersaiyan.
08:54:02 -!- adu has quit (Quit: adu).
08:54:56 -!- Lilin has quit (Quit: Connection closed for inactivity).
09:08:49 -!- Frooxius has joined.
09:21:51 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
09:37:41 -!- AndoDaan has quit (Quit: bbl).
10:09:26 -!- oren has quit (Quit: leaving).
10:28:13 <cluid> OMG
10:28:15 <cluid> BRAINFUCK
10:29:27 <elliott> agreed
10:29:37 <elliott> we should, like, feature that language or something
10:29:38 <elliott> oh wait
10:30:00 <elliott> brainfuck has been featured for over a year because it's just that good
10:30:05 <elliott> unlike all the previous featured languages which only lasted months.
10:32:45 <int-e> elliott: we can make a poll, which was your first esoteric programming language? (Brainfuck here)
10:33:01 -!- oren has joined.
10:33:48 <fizzie> <- Befunge.
10:34:39 <fizzie> (Also I completely forgot about featuring something else for a chance.)
10:35:34 <oren> am i right in thinking that swapping two values in place is impossible in barinfuck?
10:35:53 <oren> *brainfuck
10:37:53 <cluid> oren, yes you need a third cell
10:39:31 -!- ZombieAlive has joined.
10:42:56 -!- Vuk has joined.
10:43:36 <J_Arcane> A movement of Mahler's 1st symphony played by 12 networked ZX Spectrums (FF to around 7m for the music) https://www.youtube.com/watch?v=WiFEicJ6grM
10:43:40 <int-e> Though if you stretch the problem statement enough it may be possible: In Boolfuck, executing [>[<x]+<+x]>[+<+x]x will end up with two neighbouring cells swapped the first time any of the 'x' is reached.
10:46:04 <oren> the ZX spectrum had networking?
10:46:42 <int-e> serial ports?
10:47:04 <fizzie> It had a rather custom "network" of sorts, too.
10:47:09 <oren> apparently there was somehting called "zx net" but wikipedia has no details
10:47:10 <fizzie> The http://en.wikipedia.org/wiki/ZX_Interface_1
10:47:12 <int-e> oh wow https://en.wikipedia.org/wiki/ZX_Interface_1
10:47:22 <fizzie> int-e: Fancy, isn't it?
10:47:28 <int-e> yes!
10:48:40 <oren> like the old ethernet networks
10:49:58 <int-e> I see my "serial ports" guess wasn't far off the mark though :)
10:49:59 <fizzie> There's also a modern Ethernet interface for it, the "Spectranet": http://spectrum.alioth.net/doc/index.php/Main_Page
10:52:37 <cluid> it sounds really bad
10:52:46 <cluid> this attempt at "music" sucks
10:54:40 <oren> sounds like a kid with a brand new trumpet
10:55:27 <int-e> cluid: surely it can't be worse than the floppy disk drive music (eg https://www.youtube.com/watch?v=jEzXjJN1RH0 )
10:55:33 <oren> sounds better at 8:30 tho
10:56:24 <cluid> haha
10:56:26 <cluid> thats cool!
10:56:44 <oren> holy crap how did he do taht?
10:57:05 <oren> are the floppy drives tuned?
10:57:10 <cluid> https://www.youtube.com/watch?v=bBpdvYkGtzs This guy makes the 1 bit speaker of the spectrum do great things
10:57:36 <int-e> oren: step motors
10:57:39 <fizzie> There's a lot of {floppy disk,printer,3D printer,...} music around.
10:58:30 <int-e> 3d printer ... of course there would be. step motors again...
10:59:36 <oren> because step motors can be run at any speed?
10:59:46 <int-e> within limits, yes.
11:00:23 -!- Vuk has quit (Ping timeout: 265 seconds).
11:00:42 <oren> do floppy drives have an interface providing such fine-grained control?
11:01:08 <oren> or is he bypasing the normal interface
11:02:01 <cluid> he hacked it
11:04:36 <int-e> I don't know, but you can issue commands to the FDC to switch tracks, and you can do that at any frequency you desire as long as FDC + Floppy drive can keep up.
11:05:03 -!- J_Arcane_ has joined.
11:06:27 -!- J_Arcane has quit (Ping timeout: 240 seconds).
11:06:28 -!- J_Arcane_ has changed nick to J_Arcane.
11:07:43 <oren> these floppy drives have great bass
11:19:15 -!- boily has joined.
11:22:01 -!- oerjan has joined.
11:22:41 <oerjan> @messages-
11:22:41 <lambdabot> Jafet asked 9h 4m 20s ago: It hasn't been proven that SAT cannot be linear time (unless you forbid linear space)
11:22:58 <oerjan> @tell Jafet Ah.
11:22:59 <lambdabot> Consider it noted.
11:26:22 <fizzie> That seemed more like a statement than a question.
11:28:58 <oerjan> hm indeed.
11:29:19 <oerjan> and also i remembered it when seeing it.
11:32:37 <shachaf> fizzie: what a rebel hth
11:34:56 <shachaf> this is p. much Jafet: http://i.imgur.com/1NRLSoP.jpg
11:36:56 <int-e> no smoke
11:39:10 <oerjan> also it's not obvious from the picture that he's actually inside the library
11:41:40 <shachaf> http://www.reddit.com/r/firstworldanarchists/top/?sort=top&t=all is great
11:51:25 <oerjan> stupid slow web
11:53:07 <int-e> Sticky web? (Sticky webs slow you down, with the potential of trapping you.)
11:54:39 <oerjan> eek
11:56:44 <boily> I think the /topic may be a little bit misleading, and int-e is the eviler twin.
11:57:04 <shachaf> no claim was made regarding int-e's evilness
11:57:19 <shachaf> wouldn't you expect a correlation among twins, if anything?
11:57:48 <shachaf> int-e: that's from that game, isn't it
11:57:51 <shachaf> what's it called
11:58:36 <oerjan> boily: the wisdom/ has clearly established that ørjan is the good twin. int-e is the redundant one.
11:59:01 <oerjan> he's so redundant we're not even triplets.
11:59:09 <shachaf> `? oerjan
11:59:11 <HackEgo> Your evil overlord oerjan is a lazy expert in future computation. Also an antediluvian Norwegian who hates Roald Dahl. He can never remember the word "amortized" so he put it here for convenience.
11:59:14 <shachaf> `? ørjan
11:59:15 <HackEgo> ​Ørjan is oerjan's good twin. He's banned in the IRC RFC for being an invalid character. Sometimes he publishes papers.
11:59:20 <shachaf> `? int-e
11:59:22 <HackEgo> int-e? ¯\(°​_o)/¯
11:59:32 <oerjan> `learn int-e vet jag...
11:59:35 <HackEgo> Learned 'int-e': int-e vet jag...
12:01:16 <boily> is it a subtle horrible Norwegian pun?
12:01:35 <int-e> hint: I don't know anything about nordic languages. (this seems to be swedish?)
12:01:52 <int-e> (at least google found https://en.wiktionary.org/wiki/jag_vet_inte )
12:01:56 <shachaf> `? shachaf
12:01:58 <HackEgo> shachaf sprø som selleri and cosplays Nepeta Leijon on weekends.
12:02:04 <shachaf> it seems that int-e is my twin
12:02:58 <oerjan> int-e: basically "i dunno" in swedish...
12:03:04 <int-e> /topic Baware of the evil triplets oerjan, shachaf and int-e | Beware of ricocheting jokes | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/
12:03:13 <int-e> ;)
12:04:10 <shachaf> baware is a license for software released by sheep
12:04:20 <int-e> Though I have been made aware of that meaning of "inte" (on a non-IRC server that didn't like the dash)
12:05:41 <int-e> Did you know that "sheep" means "Schaf" in german?
12:05:57 <shachaf> curses
12:06:03 <shachaf> my /hilight is vulnerable
12:06:07 <oerjan> you don't sau so
12:06:55 <int-e> shachaf: Obviously I can't always avoid reading your nick that way.
12:07:27 <int-e> oerjan: Sorry, those Säue won't fly. The pronunciation is all wrong.
12:07:51 <fizzie> "ikk-e" would be a good nick.
12:08:45 <oerjan> int-e: i was going for slight misspelling, also that's norwegian not german
12:09:46 <shachaf> it's not germane either hth
12:10:20 -!- Patashu has quit (Ping timeout: 264 seconds).
12:10:44 <boily> y'où dont te sais.
12:11:12 <shachaf> boily: i am looking forward to poutine hth
12:11:17 <int-e> oerjan: Oh a false friend, funny it should be another kind of animal.
12:11:55 <shachaf> Beware of int-e's false friend oerjan
12:12:41 <int-e> oerjan: I hope you can appreciate the flying pigs reference anyway.
12:13:22 <oerjan> int-e: there's also the word "su" which means the same as the german but only farmers and crossworders know that one...
12:13:51 <shachaf> oerjan: also unix users hth
12:13:54 <oerjan> int-e: oh i missed that
12:14:09 <oerjan> shachaf: they don't know that word, only another one that is spelled the same way hth
12:14:28 <oren> am i the only one who uses su instead of sudo?
12:14:44 <int-e> oren: same here
12:16:35 <int-e> (I can't explain why, except I'd rather have a root shell than a shell which might-or-might-not rememb that I just used my sudo password.)
12:16:48 <int-e> *remember
12:19:47 <cluid> http://esoteric.codes/
12:20:17 <boily> shachaf: I'm waiting for your report.
12:20:36 -!- boily has quit (Quit: CONDENSED CHICKEN).
12:22:58 <oerjan> ...someone got a grant for writing an esolang blog?
12:26:44 <oerjan> (someone aka User:Rottytooth from the wiki)
12:26:59 <cluid> that guy is Rottytooth ?
12:27:09 <cluid> i see
12:27:25 <cluid> il msg you oerjan
12:27:31 <cluid> if you like
12:27:32 <oerjan> NOOOO
12:27:41 <cluid> haha
12:28:51 <oerjan> i just looked up Light Pattern on the wiki
12:29:27 <oerjan> could also have looked up his real name, it's there on his user page
12:34:01 <cluid> :/
12:35:09 * oerjan prefers public chatting unless it's something actually secret.
12:35:28 <int-e> This is kind of neat. http://lightpattern.info/Basics/Machine/
12:37:59 <int-e> But I'm a bit disappointed by its use of shutter speed and aperture rather than actualy image features (beyond dominant channel in average color).
12:40:24 <int-e> Aww, really ... the corpse is actually dead and identified as Lady Selnikov?
12:40:36 -!- J_Arcane has quit (Ping timeout: 244 seconds).
12:41:12 <oren> yeah it should have 'dog' and
12:41:13 <int-e> Maybe it'll explode. There must be *some* twist!!!1
12:41:20 -!- J_Arcane has joined.
12:41:31 <oren> 'bike' as instructions
12:42:06 <int-e> RIGHT. https://xkcd.com/1425/
12:42:07 <oren> and it should perform image recognition to decide the outcome
12:43:05 <oren> hey it might be implable in 10 years, google have make progress
12:43:37 <oerjan> it's implable, but you need actual imps
12:44:58 <oren> lol yeah, to paint the pictures. don't run out of pink!
12:45:02 -!- shikhin has joined.
12:46:15 <int-e> oerjan: "implorable" has a shorter editing distance to "imblable" than "implementable", hth
12:47:06 <int-e> ("imps" needs no comment, I believe.)
12:47:21 <oren> well i thot it would be biguated by context
12:48:56 <int-e> I suck at context. As you can see I can't even distinguish between "oren" and "oerjan".
12:49:09 <oerjan> OKAY
12:49:27 <cluid> how cant you? it's like apples and oerjans
12:49:48 <oerjan> orly?
12:51:05 -!- J_Arcane_ has joined.
12:52:29 -!- J_Arcane has quit (Ping timeout: 244 seconds).
12:52:31 -!- J_Arcane_ has changed nick to J_Arcane.
12:52:37 <b_jonas> heh
12:54:51 <int-e> oerjan: I *can* distinguish between oerjan and oerjan, but I tend to mix up the nicknames. :->
12:56:08 * oerjan looks sternly at int-e
12:56:55 -!- J_Arcane has quit (Ping timeout: 252 seconds).
13:01:30 -!- cluid has quit (Remote host closed the connection).
13:01:56 <oren> i'm the one from Canada hth
13:02:59 <oerjan> i've been in canada once hth
13:03:04 <oerjan> (toronto, even)
13:03:37 <oerjan> although mostly in waterloo
13:05:13 <fizzie> I've been over Canada, in a plane, if that counts.
13:05:36 <fizzie> Assuming the in-flight route map was telling the truth, anyway.
13:07:47 <oerjan> they all lie because in reality the earth is flat hth
13:08:24 -!- shikhout has joined.
13:09:55 <fizzie> I can't convince Google Maps to draw a line that wouldn't be curved with the "measure distance" option.
13:10:12 <fizzie> Since they're perpetuating the lie.
13:10:24 -!- oren has quit (Ping timeout: 265 seconds).
13:10:38 <int-e> time zones are the most elaborate part of the joke
13:10:50 <int-e> they actually had to invent time travel to make that work
13:11:07 <fizzie> Based on some eyeballing, depending on how it's flat, the direct line between Portland and Amsterdam might still cross Canada.
13:11:51 -!- shikhin has quit (Ping timeout: 265 seconds).
13:14:32 -!- oren has joined.
13:14:49 -!- tswett has joined.
13:16:52 -!- oren_ has joined.
13:17:48 -!- tswett has quit (Client Quit).
13:19:42 -!- J_Arcane has joined.
13:21:38 -!- J_Arcane_ has joined.
13:21:55 -!- J_Arcane_ has quit (Client Quit).
13:24:25 -!- J_Arcane has quit (Ping timeout: 252 seconds).
13:25:24 -!- augur_ has joined.
13:25:25 -!- augur has quit (Read error: Connection reset by peer).
13:37:25 -!- AndoDaan has joined.
13:43:17 -!- J_Arcane has joined.
13:48:34 -!- J_Arcane has quit (Ping timeout: 258 seconds).
13:51:08 -!- sebbu has quit (Ping timeout: 245 seconds).
13:59:26 -!- shikhout has changed nick to shikhin.
14:05:10 -!- Lilin has joined.
14:20:00 -!- AndoDaan has quit (Ping timeout: 258 seconds).
14:21:38 -!- sebbu has joined.
14:22:16 -!- sebbu has quit (Changing host).
14:22:16 -!- sebbu has joined.
14:25:39 <oerjan> @tell tswett I think a fundamental problem here is that there _is_ no measure on polynomial functions that fill allow the length of f(x) to be polynomial in the measure of f and the length of x. Because f includes the exponent which you need to apply to the length of x.
14:25:40 <lambdabot> Consider it noted.
14:27:13 <oerjan> @tell tswett And |x|^|f| just isn't going to be polynomial in |x|.
14:27:13 <lambdabot> Consider it noted.
14:30:21 <oerjan> @tell tswett Or at the very least, it seems impossible for f's with different exponent to have all the same type.
14:30:21 <lambdabot> Consider it noted.
14:37:08 -!- MDream has changed nick to MDude.
14:43:30 -!- S1 has joined.
14:50:02 -!- atslash has quit (Quit: This computer has gone to sleep).
14:58:45 <HackEgo> [wiki] [[Truth-machine]] M http://esolangs.org/w/index.php?diff=41383&oldid=41366 * Oerjan * (+0) Ahem
14:58:48 -!- J_Arcane has joined.
15:02:28 -!- `^_^v has joined.
15:09:04 -!- dianne has quit (Ping timeout: 258 seconds).
15:35:26 <oren> wow the admins responded to my error report and got the patch in before breakfast! you never hear about the admins who do their jobs well...
15:35:30 <FireFly> Do bitwise operations have any interesting algebraic properties/identities in combination with usual operations? For instance, could I reason about (x + y) xor z algebraically anyhow?
15:35:45 <FireFly> (Seems on-topic enough for this channel)
15:36:15 <oren> umm... there is that weird sqrt trick i heard about
15:36:55 <FireFly> You mean http://h14s.p5r.org/2012/09/0x5f3759df.html ?
15:37:00 <oren> yeah that
15:37:32 <oren> although there could be similar tricks involving integers
15:38:11 <FireFly> I was thinking more in terms of if I could solve equations involving bitwise operations by hand algebraically
15:38:20 <Jafet> Given that arx is a cryptographic primitive, probably not
15:38:29 * FireFly looks up arx
15:38:37 <FireFly> Oh
15:38:47 -!- GeekDude has joined.
15:38:49 <FireFly> Well darn
15:39:13 <Jafet> @messages-lewd
15:39:13 <lambdabot> oerjan said 4h 16m 14s ago: Ah.
15:39:31 <FireFly> Very lewd
15:39:38 <oren> yeah the problem is that normal operations mix the bits while bitwise ones keep them separate
15:39:57 <oren> so reasoning is very hard
15:41:26 <Jafet> Well, if you omit rotations, you can propagate from the lowest bit
15:41:55 <oren> yes
15:42:30 <FireFly> In this case I have a,b,r and want to find k such that (a - k) bxor (b - k) = r
15:43:11 <FireFly> I know that k is smallish, so it's easy enough to bruteforce, but.. it'd be neat if there's a way to reason about the solution
15:44:17 <oren> a + b = ((a & b)<<1) + (a ^ b)
15:44:43 <oren> there's one identity i know
15:45:32 <oren> unfortunately + appears on both sides
15:47:43 <Lilin> Hi o/
15:48:06 <oren> hello
15:48:48 <oren> if you apply the above a number of times equal to the maximum bits in k, then it may reduce
15:50:30 <FireFly> Hm
15:51:14 -!- GeekDude has quit (Ping timeout: 258 seconds).
15:59:18 <oerjan> FireFly: well you can still propagate from the lowest bit
16:00:15 <oerjan> first, subtracting something common from the lowest bit doesn't change the xor, so you need a xor b = r (mod 2)
16:00:37 -!- mihow has joined.
16:01:33 <oerjan> *the lowest bit of the xor
16:02:08 <FireFly> Makes sense
16:02:15 <FireFly> That makes it "a bit" easier
16:02:22 <oerjan> just one :P
16:02:29 <FireFly> Indeed
16:02:52 <oerjan> and also the higher bits of k don't change whether the lower ones work
16:04:14 <oren> yeah, addition only propagates information up the bits
16:04:42 <oerjan> hm, in fact you need to choose the lowest bit of k such that it makes ((a-k0)>>1) xor ((b-k0)>>1) == (r>>1) (mod 2)
16:05:13 -!- skarn has joined.
16:05:44 <oerjan> it seems like at each step you can either reduce, keep or increase the number of possibilities alas
16:06:44 <oerjan> perhaps looking at the highest instead...
16:06:45 <oren> but we only need one k that works right? not every k?
16:07:28 <oerjan> sure but we cannot throw any away until we know they're not the only ones that work for the next bits...
16:09:08 <oerjan> the highest bit of k can never matter, i think
16:11:21 <oerjan> what matters is the carries/borrowings of the a-k and b-k subtractions
16:11:54 <oerjan> at each bit, it is determined whether those must be equal or different
16:12:18 <oren> which are equal to (a&(-k))<<1
16:12:33 <oerjan> wat
16:12:45 <oren> the carries
16:13:22 <oren> they happen only when the bits of a and -k are both 1
16:13:31 <oerjan> um no
16:13:54 <oren> oh right there are multiple carry rounds
16:15:34 <oerjan> i think it's easier to replace k with -k overall here...
16:15:51 <oerjan> addition is easier to think about than subtraction
16:16:18 <oren> well -k = ~k+1
16:16:25 <oerjan> that's not what i mean
16:16:43 <oren> oh you mean do that afterward
16:17:01 <oerjan> or wait hm
16:18:20 <oren> on the second bit, (a+b)>>1 = (a&b)+((a^b)>>1)
16:18:39 -!- SopaXorzTaker has quit (Changing host).
16:18:39 -!- SopaXorzTaker has joined.
16:18:42 <FireFly> Yeah, thinking in terms of additions is probably easier
16:19:01 <oerjan> FireFly: i have possibly changed my mind
16:19:10 <FireFly> Why?
16:19:44 <oren> when k is small, the high bits of -k are all 1
16:19:45 <oerjan> because to know whether a-k gives a borrowing, you need to know the ordering of a and k
16:20:18 <FireFly> There's no need to worry about borrows in my case
16:20:38 <oerjan> FireFly: with addition it's carries instead, of course
16:20:48 <oerjan> but that means you need the ordering of a and -k
16:20:54 <oren> does k have only one bit nonzero or something?
16:21:04 <FireFly> Sadly, no
16:21:30 <oerjan> FireFly: the borrowings tell everything about which k work
16:21:39 <FireFly> Hm
16:21:44 <oerjan> that, and a xor b xor r
16:22:44 <oerjan> basically, if a bit of a xor b xor r is 0, you want the borrowings from that bit to be identical for a-k and b-k
16:22:52 -!- drdanmaku has joined.
16:23:08 <oerjan> while if it's 1, you want it to be different
16:23:48 <oren> so could you process it by shifting everything right
16:23:50 <oerjan> oh this is of course because if x is the borrowing bits for a-k, then a-k = x xor x xor k
16:24:02 <oerjan> er
16:24:09 <oerjan> *x xor a xor k
16:24:46 <FireFly> Interesting
16:25:04 <oerjan> so if y are the borrowing bits for b-k, then (a-k) xor (b-k) == x xor y xor a xor b
16:25:44 <oerjan> so you want to have x xor y == a xor b xor r
16:28:02 <oerjan> and say the 5th borrowing bit of a-k is determined by how a & 31 compares to k & 31, i think
16:29:22 <oerjan> so you want the order of a & 31, b & 31 and k & 31 to be one that gives the right bit
16:29:45 <oerjan> *the right xor of the borrowing bits
16:30:27 <oerjan> this gives you a set of ranges that the bits of k need to be within
16:30:47 <Jafet> More generally, since you can write addition as a big linear combination in GF(2) you can solve any problem involving addition and and and xor using linear algebra
16:31:03 <oren> that is integer programming isn;t it?
16:31:14 <oren> maybe not
16:32:30 <oerjan> although it is possible that when you start intersecting those ranges, they split into several
16:34:01 <oerjan> also, it could be contradictory altogether, but i assume that's not your usecase since you say there will be a small solution
16:35:08 <oerjan> gah brain
16:35:26 <oerjan> (also noise)
16:35:31 <FireFly> Well, I suppose rather that I want to know whether there's a "reasonably small" solution
16:35:38 <oerjan> oh.
16:35:42 <Jafet> Hmm, finding the numerically smallest solution could be a shortest vector problem
16:35:52 <Jafet> (the kth bit is weighted by 2^k)
16:36:27 -!- GeekDude has joined.
16:36:48 <oren> would it not be faster to iterate over the integers? (given that for "reasonably small" k we operate in O(1))
16:36:53 <oerjan> i am not sure whether Jafet is making sense or not, i'm dubious that this is really linear algebra.
16:37:07 <oerjan> oren: sadly, probably :P
16:37:11 <FireFly> oren: sure is. I mostly thought it was an interesting problem to ponder
16:37:16 <Jafet> It's linear algebra over GF(2)
16:37:22 <FireFly> In this case "reasonably small" means, say, <50 :P
16:37:43 <oren> oh i thought it meant less than 2^32
16:37:45 <oerjan> Jafet: i am not convinced addition of binary digits is a linear operation over GF(2).
16:37:55 <oerjan> *of binary numbers
16:38:12 <oerjan> you need multiplication to get the carries
16:38:18 <oren> or xor?
16:38:23 <oren> and and.
16:38:40 <oerjan> xor you have, that's the addition in GF(2)
16:38:42 <Jafet> Oh, you end up with nested multiplications
16:39:13 <FireFly> The idea is that I have two messages encrypted with a stream cipher using the same key, and taking the xor of those messages reveals a 32-bit field that looks suspiciously like it'd hold the message length
16:39:17 <oerjan> but and you only have with constants, as long as you don't use the entire _ring_ GF(2)
16:39:34 <FireFly> (offset by some constant k)
16:39:36 <oerjan> (Which means you're beyond linear)
16:39:55 <oren> oh i see... back to linear algebra II.
16:42:57 <oerjan> FireFly: there would always be a chance of ambiguity here, because not all bits of k always matter
16:44:06 <oerjan> although i guess all information is good...
16:45:00 -!- FreeFull has quit (Quit: Dance).
16:46:06 -!- oerjan has quit (Quit: Dine).
16:47:11 <oren> the statement that A==B is the same as A^B == -1
16:47:29 <oren> no wait zero
16:47:54 <oren> yah. A==B => A^B == 0
17:02:56 <FireFly> Yes
17:04:24 <Jafet> Hmm, you can write addition as a polynomial in GF(2) but its size seems to be exponential
17:12:52 -!- skarn has quit (Remote host closed the connection).
17:19:25 <SopaXorzTaker> I propose an extension to Brainfuck!
17:19:38 <SopaXorzTaker> (if this hasn't been done alreadly)
17:20:01 <SopaXorzTaker> Adding direct program tape manipulation
17:20:47 <SopaXorzTaker> one operator for exchanging current memory cell and program at the current pointer
17:26:06 <fizzie> I don't remember its name, but something very much like that has surely been done.
17:26:28 -!- AndoDaan has joined.
17:27:00 <fizzie> There's so many brainfuck derivatives, it's hard to find any single one.
17:28:11 <fizzie> http://esolangs.org/wiki/Braintwist is not exactly that, but similar.
17:28:45 <fizzie> (The instruction it adds swaps the entire program and data tapes.)
17:30:10 <fizzie> If MediaWiki could take unions of categories, you could take the union of Category:Brainfuck_derivatives and Category:Self-modifying. I think I did that at least once manually.
17:35:45 <fizzie> (There are also at least four things that put the program in the data tape.)
17:35:49 <tromp_> you cant really change individual tokens of a program. as soon as you change one of [ ] you're left with nonsense
17:38:03 <fizzie> That doesn't really seem to be much of a problem, except slightly complicating the implementation (either rescan every time, or keep track of whether the region inside has been modified). You can just make it undefined to end up actually executing a [ or a ] that doesn't have a match.
17:43:59 -!- dts|supersaiyan has changed nick to dts|pokeball.
17:44:54 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
17:46:28 -!- skarn has joined.
17:46:44 -!- adu has joined.
17:50:56 <SopaXorzTaker> made a BF-like language with not--so-far nested loops and functions
17:58:50 <SopaXorzTaker> and btw
17:59:00 <SopaXorzTaker> finished my BF interpreter :DD
18:06:09 -!- mihow has quit (Quit: mihow).
18:24:03 -!- S1 has quit (Quit: S1).
18:24:57 -!- Lilin has quit (Quit: Connection closed for inactivity).
18:42:47 <zzo38> I read that at some time they will make a computer program to solve FIDE chess, because "there aren't so many moves which are at all sound", but I expect you will need a mathematical proof of this in order to take advantage of it.
18:48:58 <b_jonas> zo38: http://www.inwap.com/pdp10/hbaker/hakmem/proposed.html#item95 expects about 10**40 positions
18:49:59 <zzo38> I saw that HAKMEM
18:50:35 -!- mihow has joined.
18:51:21 <zzo38> It says "in most of them, one side is hopelessly lost", but that means you should determine how many of these it is as well as a mathematical proof that you really are hopelessly lost and doesn't just looks like it, as well as for a computer program intending to solve chess to identify such positions.
18:52:00 <zzo38> Still, it might be possible.
18:52:19 <b_jonas> zzo38: yes, it's just that 10**40 might not be that far off in the future
18:53:40 <b_jonas> zzo38: http://www.cube20.org/ is a computation with about 2**32 or 2**33 states, aggressively optimized, and before it appeared I expected it would take like ten or twenty more years of technology before it became possible
18:53:44 <b_jonas> hmm wait
18:53:48 <b_jonas> 10**40, not 2**40
18:53:50 <b_jonas> then it's impossible
18:53:52 <b_jonas> sorry
18:54:01 <b_jonas> that makes more sense
19:00:04 <zzo38> The source-codes says "They are written in a literate programming style using the CWeb system. You will need cweave to compile the programs." That isn't quite right; ctangle is needed to convert the .w into a .c to pass them to a C compiler, while cweave converts it into a .tex which can be typeset.
19:00:38 <b_jonas> zzo38: source codes where?
19:01:06 <zzo38> In http://www.cube20.org/src/
19:01:25 <b_jonas> ah
19:02:47 <zzo38> (Well, in this case they are C++ so you will need a C++ compiler; still ctangle is used to convert the .w into the .cpp file to pass to a C++ compiler then.)
19:03:38 <zzo38> However, the makefile will do the correct things, so that's OK.
19:07:09 -!- MoALTz has joined.
19:08:24 -!- shikhout has joined.
19:10:19 -!- MoALTz has quit (Read error: Connection reset by peer).
19:11:31 -!- shikhin has quit (Ping timeout: 244 seconds).
19:11:40 -!- adu has quit (Quit: adu).
19:12:25 -!- MoALTz has joined.
19:14:24 <zzo38> Someone ask a question about "At what point will humans alone be unable to devise a chess variant too complicated for computers to solve?" I expect never (until there is no human anymore, of course) because a game can be designed it isn't even possible to play this game by anyone in this universe even computer programs. That doesn't necessarily mean it cannot be solved, but suggests that it may be possible that some such games are too complicated t
19:15:52 <b_jonas> too long
19:16:41 -!- FreeFull has joined.
19:28:30 -!- atslash has joined.
19:40:49 -!- GeekDude has joined.
19:42:04 <int-e> zzo38: I think it's prudent to ask what the intended meaning of "solve" is.
19:42:48 <int-e> If solving a game means to play it better than humans then it's the standard AI question, with unclear answer.
19:43:30 <int-e> If solving means mathematically solving the game, then chess is a good candidate for a game that won't be solved.
19:44:05 <zzo38> To me, solving a game means mathematically solving the game. To play it better than humans isn't quite good enough.
19:44:34 <int-e> Yeah but it wasn't your question.
19:44:56 <zzo38> Yes, that is a good point though.
19:46:00 <zzo38> However, a lot of good AI for playing chess already exists. However, time odds can be used to allow grandmasters to play against a computer program at a reasonable level of play.
19:48:51 <int-e> Go has seen impressive advances in the last decade.
19:52:54 <int-e> (but it's still completely unclear how to beat professional go players; it's not going to be solved by increased computational resources.)
19:55:01 -!- shikhout has changed nick to shikhin.
20:06:13 -!- Patashu has joined.
20:08:23 -!- atslash has quit (Quit: This computer has gone to sleep).
20:26:52 -!- Patashu has quit (Ping timeout: 258 seconds).
20:55:56 -!- b_jonas has quit (Ping timeout: 260 seconds).
21:08:19 -!- b_jonas has joined.
21:19:13 <oren> it's easy to devise a game that can't be solved -- what is interesting is whether a game can be devised so that the best way of "solving" it is for the computer to simulate a human.
21:19:49 -!- cluid has joined.
21:19:50 <cluid> hello
21:19:55 <oren> hello
21:20:27 -!- atslash has joined.
21:20:53 <cluid> wha'ats up?
21:21:20 <oren> nothing much
21:26:07 <cluid> i am bored, any ideas
21:26:52 <GeekDude> You could do what I'm doing
21:27:00 <GeekDude> build a wiimote-controlled robot
21:27:11 <oren> i have been attempting to devise a language where all possible programs are polynomial time
21:27:55 <oren> based on C. essentially it will be a C header
21:27:58 <b_jonas> oren: like HQ9+
21:28:57 <oren> one idea is that instead of allowing arbitrary loop conditions, you have only the repeat(n){} loop
21:31:15 <int-e> Sounds like LOOP programs, which give you primitive recursive functions.
21:31:48 <int-e> (The question here is, what is n?)
21:32:18 <oren> n is an integer, evaluated only once at the start of the loop
21:32:29 <int-e> If you can write things like m = 1; repeat(n) { m=2*m; }; repeat (m) { ... } you're way beyond polynomial time.
21:33:07 <oren> that's true. we need to nerf integers too i guess
21:34:39 <int-e> The usual approach for this that I know is to have different kinds of variables, those you may use as loop counts, and those that you can't use that way but can do computations with.
21:35:16 <oren> aha. the repeat statement needs to take a special type as input
21:35:38 <b_jonas> just limit the data space to 2**32 bytes, and ban all IO, then it can't run for more than 2**(2**32) time.
21:36:42 <oren> that is true but not useful because that is longer then the age of the computer.
21:37:02 <int-e> oren: https://www.cs.toronto.edu/~sacook/homepage/ptime.pdf is a restriction of primitive recursion but it's based on that principle; the recusion argument of a primitve recursive function acts as a loop count (that's how translations from primitive recursive functions to loop programs work)
21:37:41 <oren> ideally i would like to be able to pass a flag, which sets the maximum time complexity
21:37:58 <oren> and programs above it would not compile
21:39:36 <oren> hmm... you start with a loop count variable representing the data length...
21:39:40 <tromp_> go will not be solved, but at least it will be counted. i'm doing 18x18 right now
21:40:09 <tromp_> no hope of counting number of chess positions
21:44:11 -!- nycs has joined.
21:45:31 -!- `^_^v has quit (Ping timeout: 255 seconds).
21:50:40 -!- S1 has joined.
22:11:26 <int-e> tromp_: By "chess positions" do you mean those reachable from the starting position by a legal sequence of moves?
22:12:07 <int-e> (Go makes the reachability part easy...)
22:13:51 <tromp_> yes, i mean reachable positions
22:14:16 <tromp_> like, is White Kc3 Ba4 Black Kd1 Rb5 Bd5 reachable?
22:17:48 -!- AndoDaan has quit (Ping timeout: 245 seconds).
22:18:29 <int-e> nice one.
22:24:19 -!- oren_ has quit (Ping timeout: 265 seconds).
22:24:19 -!- oren has quit (Ping timeout: 265 seconds).
22:27:38 <int-e> Oh even better, since the answer is yes.
22:30:18 <int-e> ...
22:41:31 <tromp_> But with white ka3 the asnwer is no:)
22:46:29 <int-e> right.
22:46:57 -!- oerjan has joined.
22:50:06 <oerjan> <fizzie> If MediaWiki could take unions of categories, [...] <-- itym "intersection" hth
22:50:19 <oerjan> *+s
22:51:20 <int-e> tromp_: I wonder whether being a chess player helps or hurts in this problem
22:51:57 <int-e> (I'm not, but I do know enough of the rules)
22:56:50 -!- boily has joined.
23:01:16 <tromp_> you have to know some subtle rules
23:01:17 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
23:04:22 <cluid> https://github.com/nasser/---
23:04:31 <cluid> can I add this to the wiki? Maybe it is offensive to call it esoteric
23:04:53 <cluid> it feels like a cool language which should be on the wiki, but i am not if its appropriate
23:05:00 -!- Frooxius has quit (Quit: *bubbles away*).
23:05:26 <boily> cluid: is it a brainfuck clone?
23:05:35 <cluid> haha
23:06:17 <cluid> oh it is implemented in javascript rather than itself :/
23:06:19 <oerjan> i think it's at least honorary esoteric
23:06:41 <boily> the language it's implemented in usually doesn't matter.
23:07:00 <boily> (to wit, reference implementations of mine are in ruby or python...)
23:07:13 <cluid> http://nas.sr/%D9%82%D9%84%D8%A8/
23:07:55 <cluid> http://animalnewyork.com/2014/artists-notebook-ramsey-nasser/
23:08:14 <cluid> > The current name قلب means Heart, but is actually a recursive acronym for قلب: لغة برمجة pronounced ‘alb: lughat barmajeh meaning Heart: A Programming Language. Acronyms in Arabic are generally difficult to pull off, and قلب is the first recursive one I have seen
23:08:16 <lambdabot> <hint>:1:33: parse error on input ‘,’
23:08:51 <boily> ...LISP ekil skool siht
23:09:15 -!- CrazyM4n has joined.
23:12:15 -!- MoALTz_ has joined.
23:12:37 <cluid> ill create it
23:14:07 -!- skarn has quit (Killed (sinisalo.freenode.net (Nickname regained by services))).
23:15:15 -!- MoALTz has quit (Ping timeout: 245 seconds).
23:17:41 -!- nycs has quit (Quit: This computer has gone to sleep).
23:22:45 -!- adu has joined.
23:24:36 -!- oren has joined.
23:24:51 <CrazyM4n> So the fungeoid IDE Is usable
23:24:54 <HackEgo> [wiki] [[قلب]] N http://esolangs.org/w/index.php?oldid=41384 * Cluid Zhasulelm * (+968) created page
23:24:57 <HackEgo> [wiki] [[Eve]] http://esolangs.org/w/index.php?diff=41385&oldid=41374 * Oerjan * (-90) some proofreading
23:25:08 <oren> awsome
23:25:46 <CrazyM4n> https://gist.github.com/CrazyM4n/d02380667be743be1310
23:25:49 <CrazyM4n> It's glitchy
23:25:59 <CrazyM4n> And backspace occasionally doesn't work
23:26:03 <CrazyM4n> And it autosaves
23:26:13 <CrazyM4n> But it works
23:26:57 <oren> works for me
23:27:33 <CrazyM4n> I also somehow got simplefunge to compile
23:27:36 <CrazyM4n> And that works too
23:27:40 <CrazyM4n> So everything is working out for me today
23:28:43 <cluid> Thhere is also http://nas.sr/godjs/
23:29:12 <cluid> im not sure if it counts
23:31:18 <CrazyM4n> I'm going to go reimplement simplefunge in python
23:31:20 <CrazyM4n> WIsh me luck
23:31:22 <CrazyM4n> No
23:31:23 <CrazyM4n> JS
23:31:26 <CrazyM4n> yisss
23:34:29 -!- augur_ has quit (Remote host closed the connection).
23:35:05 -!- augur has joined.
23:39:41 -!- augur has quit (Ping timeout: 258 seconds).
23:41:42 -!- GeekDude has joined.
23:41:53 <CrazyM4n> hey GeekDude
23:43:59 -!- skarn has joined.
23:44:56 -!- cluid has quit (Quit: Leaving).
23:47:18 <GeekDude> hi CrazyM4n
23:53:26 <CrazyM4n> have I shown you the latest thing I've been working on?
23:53:32 <CrazyM4n> http://i.imgur.com/0V13wX1.png it's a funge editor
23:56:47 -!- qwertyo has joined.
23:57:37 <boily> fungot: do you like being edited?
23:57:37 <fungot> boily: he's absolutely hilarious though. the php compiler, from the bible the fact that its totally non-idiomatic examples from me? ;p
23:57:50 <boily> a biblical php compiler? AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH!
23:59:07 <oerjan> because http://xkcd.com/224/ was not dark enough
2014-12-09
00:09:29 -!- S1 has quit (Quit: S1).
00:10:48 -!- qwertyo has quit (Ping timeout: 240 seconds).
00:11:23 -!- boily has quit (Quit: EXQUISITE CHICKEN).
00:24:11 <int-e> oerjan: Hint, he's saying Perl because nobody would admit to writing mission critical software in PHP.
00:24:32 <CrazyM4n> As if the universe is mission critical
00:25:23 <int-e> Good point, we're in no position to tell.
00:26:10 <CrazyM4n> Hell, it's probably slapped together in BF or something as an example of cellular automata
00:40:15 <oerjan> if the gods are so alien they think BF is a good language for slapping things together we're all doomed anyway
00:42:37 <CrazyM4n> "It's just a demonstration!"
00:43:02 -!- AndoDaan has joined.
00:43:09 <MDude> Universes as a target for code golfing.
00:43:55 <CrazyM4n> I got this life sustaining universe down to 1,300,000 chars!
00:44:22 <oerjan> i think that's a bit bloated
00:45:52 <oerjan> see, if you use complex numbers instead of probabilities you can cut it down to just 14,000 and the inhabitants will never notice unless they start probing ridiculously small distances
00:46:04 <int-e> the trick is to keep your code simple and plant all future behaviour in the ether.
00:46:20 -!- mihow has quit (Quit: mihow).
00:48:09 <int-e> oerjan: did you see the third Haskell entry to Euclidean Norm? It should make you feel better ;-)
00:48:27 <olsner> fungot: how many characters are you?
00:48:27 <fungot> olsner: finns are generally very suspicious about all new ideas, have to admit that i didn't need to see them
00:48:32 <CrazyM4n> You really have to exploit the emergent behavior of some simple quantum rules, let it run long enough and you can get a good seed
00:52:47 <oerjan> int-e: OKAY
00:53:31 <oren> hey, did you know that matlab doesn't have a good way to programmatically save a diagram as an image? I sure love matlab!
00:54:01 <oerjan> today's NSFL: wikipedia main page
00:54:26 <oren> oh god why
00:54:37 <oren> do not want
00:54:49 <olsner> "Gross pathology ..." indeed
00:58:47 <oren> so in other words i have to draw rectangles pixel by pixel.
00:59:11 <oren> might as well write a brainfuck program to do it
00:59:34 <oerjan> itym "paintfuck" hth
01:07:24 <int-e> oerjan: is that L = life?
01:07:45 <oerjan> indeed
01:07:53 <oerjan> it's not like i invented the acronym...
01:08:25 <int-e> I'm extrapolating from NSFW, and you're quicker than google.
01:08:25 -!- shikhout has joined.
01:08:37 <oerjan> fancy
01:11:40 -!- shikhin has quit (Ping timeout: 260 seconds).
01:16:41 -!- dts|pokeball has quit (Read error: Connection reset by peer).
01:29:40 -!- Lilin has joined.
01:30:04 <Lilin> 'Sup
01:30:15 <oren> soup.
01:30:25 <oerjan> not reddit, that's for sure
01:30:39 <int-e> Lots of stars weighing heavy on our souls, whose only saving grace is the inverse square law.
01:31:03 <oren> wow you're a poet!
01:31:30 <CrazyM4n> The sky has gravity.
01:32:11 <oren> Engelina - Walking in the Sky
01:35:38 <Lilin> Makin' my way down town
01:36:55 -!- oerjan has quit (Quit: zzleepy).
01:37:06 <int-e> oren: If I were I'd probably not mistreat the language so much. In this case, I used an adjective instead of an adverb.
01:39:57 -!- TodPunk has quit (Read error: Connection reset by peer).
01:47:00 -!- TodPunk has joined.
01:49:52 <CrazyM4n> So I'm going to try to golf down a befunge interpreter
01:49:56 <CrazyM4n> Perl or ruby?
01:50:23 <lifthrasiir> javascript.
01:50:41 <CrazyM4n> Ah screw you I already wrote like half of that
01:50:55 <CrazyM4n> Actually, I'll finish it
01:50:59 <CrazyM4n> and golf it
01:51:06 <CrazyM4n> Gotta stay on top of the things I start
01:51:30 <oren> sounds good. yeah i have that problem too, i mash out a prototype and never finalize it
01:51:49 <Lilin> Perl
01:51:52 <Lilin> Ruby is eh
01:54:21 <CrazyM4n> http://i.imgur.com/PQZEVYa.png Perl and your weird function names
01:55:24 <oren> yeah... the keywords are unClike too: last? next?
01:55:43 <Lilin> open without death
01:55:59 <oren> i have a cheat sheet somewhere with the differences.
01:56:56 <oren> yeah open or die; appears in a lot of my scripts
01:57:34 <Lilin> Sadism = perl
01:58:07 <oren> but in C i prefer if(!F=fopen())goto hell;
01:58:15 <CrazyM4n> It's actually a death threat against the file
01:58:36 <Lilin> Well then
01:58:55 <Lilin> I find languages to be more evil nowadays
02:01:17 <oren> i also sometimes do things like for(){if()goto heaven;}
02:02:06 <CrazyM4n> good old while 1 == 1
02:02:23 <oren> actually imperative languages rarely make it easy to specify a loop with two separate ending conditions leading to different results
02:02:48 <oren> with tail recursion it is easy
02:04:52 <CrazyM4n> It's all easy in functional languages until you realize you're neck deep in code that's neck deep in recursions and category theory that you don't understand why the code uses it
02:06:40 <oren> that is why instead of using functional languages, we steal features and smuggle them into our imperative kingdom in the dead of night.
02:07:01 <zzo38> oren: Well, usually in such cases I don't need to use goto anyways, although sometimes it can help a bit
02:07:06 <CrazyM4n> It's like a slave trade
02:07:15 <zzo38> Especially in C; in BASIC programs I will write GOTO a bit more often than in a C program.
02:08:01 <oren> in C i often use return instead of goto, but it comes to the same thing
02:08:29 <oren> you have control flow that forks in the middle of a loop
02:09:15 -!- CrazyM4n has quit (Quit: brb).
02:12:38 -!- oren has quit (Quit: batteries out bleh!).
02:12:48 -!- olsner has quit (Ping timeout: 240 seconds).
02:53:23 -!- MoALTz__ has joined.
02:57:15 -!- MoALTz_ has quit (Ping timeout: 272 seconds).
03:31:52 -!- dts|pokeball has joined.
03:48:45 -!- mitchs_ has joined.
03:51:55 -!- mitchs has quit (Ping timeout: 258 seconds).
03:59:05 -!- CrazyM4n has joined.
04:06:40 -!- shikhout has quit (Ping timeout: 260 seconds).
04:09:00 -!- adu has quit (Quit: adu).
04:12:14 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:14:57 -!- tswett has joined.
04:24:26 -!- MDude has changed nick to MDream.
04:27:13 -!- augur has joined.
04:30:57 -!- olsner has joined.
04:31:51 -!- augur has quit (Remote host closed the connection).
04:32:45 -!- augur has joined.
05:05:07 -!- tswett has quit (Ping timeout: 250 seconds).
05:11:23 -!- Lilin has changed nick to Decensum.
05:13:14 <shachaf> Decensum: Why do you keep changing your nick?
05:13:18 <shachaf> I thought you were going to stop.
05:13:33 <Decensum> Wtf do you want?
05:13:38 <Decensum> oh sorry
05:13:50 <Decensum> >_>
05:14:07 <Decensum> Its not my fault
05:18:33 -!- qwertyo has joined.
05:20:56 -!- CrazyM4n has quit (Remote host closed the connection).
05:26:10 -!- oren has joined.
05:37:44 -!- qwertyo has quit (Ping timeout: 244 seconds).
05:38:46 -!- nisstyre has quit (Ping timeout: 244 seconds).
05:47:36 -!- b_jonas has quit (Ping timeout: 256 seconds).
05:54:53 -!- b_jonas has joined.
06:08:13 -!- nisstyre has joined.
06:16:10 -!- MoALTz__ has quit (Quit: Leaving).
06:18:56 * Decensum throws shachaf off a cliff
06:23:24 -!- dts|pokeball has changed nick to illuminaughty.
06:23:38 -!- illuminaughty has changed nick to dts|pokeball.
06:26:04 -!- dts|pokeball has changed nick to marketbot.
06:26:31 -!- marketbot has changed nick to dts|pokeball.
06:28:28 -!- Dr_pattabhi has joined.
06:29:36 -!- ZombieAlive has quit (Remote host closed the connection).
06:29:42 -!- Dr_pattabhi has left.
06:32:24 * oren casts a curse of cursed cursing on matlab and whatever scientist decided that everything had to eb wirtten in it
06:32:47 -!- shikhin has joined.
06:34:23 <Decensum> Lol
06:35:11 -!- AndoDaan has quit (Ping timeout: 250 seconds).
06:57:39 <shachaf> Decensum: Please don't do that.
06:57:50 <Decensum> Sorry
06:57:57 <Decensum> Its very tempting
07:05:30 -!- augur_ has joined.
07:06:32 -!- augur has quit (Read error: Connection reset by peer).
07:08:09 -!- shikhin has quit (Write error: Connection reset by peer).
07:09:16 -!- shikhin has joined.
07:23:29 <fizzie> `words --finnish 10
07:23:32 <HackEgo> käämmiksenne kourisimmillasi lämmetsompaamilta reltäni neuvomissani karistäviänne nielillamme kehomollasi näkyvälistä mummanne
07:24:49 <fizzie> Just realized there's a Finnish word that's not *too* colloquial, yet breaks vowel harmony: "tällainen".
07:24:58 <fizzie> (It's a contraction from the compound "tämänlainen".)
07:26:10 -!- Patashu has joined.
07:26:25 <fizzie> http://en.wiktionary.org/wiki/-lainen#Etymology_2 "From compounds with laji (“kind, sort”) +‎ -inen. The origin as a separate word can still be seen in the imperfect accommodation to vowel harmony."
07:57:02 -!- Decensum has quit.
08:05:28 -!- AndoDaan has joined.
08:09:02 -!- atehwa has quit (Remote host closed the connection).
08:10:46 -!- Frooxius has joined.
08:28:59 -!- weissschloss has quit (Max SendQ exceeded).
08:31:17 -!- weissschloss has joined.
08:31:50 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
08:44:45 -!- idris-bot has quit (Ping timeout: 250 seconds).
08:44:57 -!- Melvar has quit (Ping timeout: 264 seconds).
09:51:12 <mroobmoobn> !blsq_uptime
09:51:12 <blsqbot> 6d 19h 44m 45s
10:04:25 -!- nisstyre has quit (Changing host).
10:04:25 -!- nisstyre has joined.
10:13:53 -!- cluid has joined.
10:30:17 -!- AndoDaan has quit (Ping timeout: 265 seconds).
11:00:45 <HackEgo> [wiki] [[Special:Log/newusers]] create * Domi382 * New user account
11:15:02 -!- boily has joined.
11:15:12 -!- Melvar has joined.
11:20:01 <HackEgo> [wiki] [[GERMAN]] N http://esolangs.org/w/index.php?oldid=41386 * Domi382 * (+289) GERMAN
11:22:34 <int-e> how ORIGINAL.
11:22:52 <int-e> Or should I say ORIGINELL.
11:23:22 <fizzie> How SNARKY.
11:23:27 <fizzie> (But true.)
11:24:39 <fizzie> Who's going to slap a [[Category:Brainfuck equivalents]] on it, though?
11:25:54 -!- oerjan has joined.
11:26:48 <HackEgo> [wiki] [[GERMAN]] http://esolangs.org/w/index.php?diff=41387&oldid=41386 * 213.162.68.138 * (+36) "Who's going to slap a [[Category:Brainfuck equivalents]] on it, though?" -- Well, who?
11:28:44 <boily> sometimes, there are cues that we are being watched by otherwordly powers who listen to everything we say...
11:30:00 <HackEgo> [wiki] [[قلب]] M http://esolangs.org/w/index.php?diff=41388&oldid=41384 * Ehird * (+10) clarify
11:30:29 <oerjan> boily: why are you mispasting from the other esoteric and why haven't you told us where it is tdnh
11:31:38 <boily> eh?
11:31:51 <oerjan> boily: also, have you heard about the codu log stealth mode
11:32:01 * boily facepalms
11:32:15 <boily> the stealth mode. I forgot about it.
11:32:29 <int-e> . o O ( Sorry, Randall, but university homepages are more about securing budgets than about helping prospective students, and even less about helping current students, invited speakers and the like. )
11:32:31 <oerjan> admittedly there is no proof that ip isn't someone on channel.
11:32:55 <oerjan> int-e: wait, there's a new xkcd today?
11:33:16 <fizzie> Stalker mode, I think.
11:33:19 <int-e> No. It's yesterday's.
11:33:47 <int-e> err.
11:33:53 <oerjan> int-e: i don't think yesterday's xkcd is relevant to that statement...
11:33:58 <int-e> Even worse, I hit the "random" button and didn't realize.
11:34:05 <oerjan> fancy :D
11:34:19 <fizzie> What's up with what-if, anyway?
11:34:20 <int-e> https://xkcd.com/773/ -- sorry.
11:34:54 <oerjan> fizzie: is there a new one now? it's been hiated for a couple weeks afaihn
11:35:45 * int-e is using an advanced stealth mode where IRC host != web browsing host. (Also known as "irssi inside screen on VPS")
11:37:26 <oerjan> wait, someone made GERMAN when there's already German?
11:37:51 <boily> mayber GERMAN is germanier?
11:38:24 <boily> (does German have comparative and superlative like in English?)
11:38:28 <oerjan> huh interesting
11:38:32 <int-e> I don't like the German esolang, but it is more original than simply stating the names of the actions.
11:39:02 <oerjan> did you know that if you visit a page in IE that is just a different capitalization of the one you were coming from, it doesn't add it to history tdnh
11:40:09 <int-e> boily: yes, sure. Unnötig, unnötiger, am unnötigsten.
11:40:44 <boily> oerjan: that's terrifying tdnhaa
11:41:35 <oerjan> boily: in fact german does them in essentially the same way as english, except that it isn't afraid of long words so it rarely does the equivalent of "more/most"
11:41:36 <int-e> (unnecessary, more unnecessary, most unnecessary.)
11:42:26 <oerjan> i think norwegian is somewhere in between
11:42:57 <int-e> `? int-e
11:42:59 <HackEgo> int-e? ¯\(°​_o)/¯
11:43:02 <oerjan> wat
11:43:09 <int-e> `learn int-e is not Swedish.
11:43:11 <HackEgo> Learned 'int-e': int-e is not Swedish.
11:43:26 <int-e> There, that'll help.
11:43:47 <cluid> I had an idea for branfuck
11:44:11 <oerjan> int-e: what have you done neither that nor my previous pun is showing up in the repository
11:44:23 <cluid> we could maybe figure out in a lot of programs which registers are used
11:44:37 <cluid> I imagine most brainfuck programs used registers in a linear repeating pattern
11:44:53 <int-e> `? int-e
11:44:54 <HackEgo> int-e? ¯\(°​_o)/¯
11:45:09 <int-e> oerjan: Nothing. Hackego is not committing anything, apparently.
11:45:15 <cluid> I know that my most complex programs only use that format, some constant initial segment & nx+b & nx+c & nx+d
11:45:15 <oerjan> AAAAAAA
11:45:20 <int-e> fizzie: I'm sure this is your fault ;-)
11:45:39 <oerjan> hm maybe it didn't yesterday either
11:45:58 <int-e> maybe a full partition?
11:46:00 <int-e> `df
11:46:06 <oerjan> `run echo hi >test
11:46:07 <HackEgo> df: cannot read table of mounted file systems: No such file or directory
11:46:08 <HackEgo> No output.
11:46:19 <oerjan> nope
11:46:48 <int-e> right. even `learn would've complained. but is the repo on the same partition?
11:47:30 <oerjan> `run echo hi >test; cat test
11:47:33 <HackEgo> hi
11:47:48 <boily> fizzie: /^[AÄEËIÏOÖUÜYŸ]{5,}$/
11:52:51 <oerjan> cluid: all programs with <> balanced loops, in particular; that's a known optimization.
11:53:32 -!- lambdabot has quit (Quit: tweak).
11:54:51 * oerjan hates when his touchpad accidentally starts dragging a window
11:55:50 <cluid> oh okay
11:56:04 <cluid> I only really have one program that doesn't have balanced loops
11:56:49 <oerjan> it's easier to program that way when you really _do_ have a fixed number of cells.
11:56:59 -!- Patashu has quit (Ping timeout: 245 seconds).
11:57:03 <oerjan> but it won't do for doing things like arrays.
11:58:00 -!- lambdabot has joined.
11:58:08 <fizzie> oerjan: There is none, but it still says "What If will return next week. Happy Thanksgiving!" on top.
11:58:30 <oerjan> fizzie: OOOKAY
11:59:17 <oerjan> cluid: i vaguely recall people talking about trying to deduce what cell you are on even when not all loops are balanced, but it's far harder because then the compiler has to actually guess what memory layout the program uses and check that it's consistent.
11:59:25 <fizzie> Re HackEgo, I'll have a look, but I should be doing useful things at the moment.
12:00:08 <fizzie> Okay, "useful" is rather arguable.
12:00:55 <fizzie> It's not just a full disk, at least.
12:01:30 <oerjan> there's nothing about my last commit that looks weird, at least.
12:01:45 <oerjan> (last successful)
12:01:56 <int-e> that's what you think!
12:02:08 <fizzie> `run echo "let's see if the log gets any messages" > useless_file.txt
12:02:10 <HackEgo> No output.
12:02:17 * oerjan is mentioning that because we _have_ manage to lock up HackEgo's repository mechanism with commits in the past
12:02:22 <oerjan> *+d
12:02:36 <fizzie> Nothing in the stdout log, at least.
12:02:53 <cluid> oerjan, I was thinking generalize the assumption to linear equations and you should be able to handle some unbalanced loops?
12:02:54 <int-e> run hg verify on the repo?
12:03:59 <fizzie> If I can remember where it is.
12:04:34 <fizzie> Oh, right, it's the unassuming "env" directory.
12:05:04 <oerjan> this is when we discover the repository has been broken since 2011
12:05:19 <int-e> Also we didn't notice this for more than a day, you can investigate later :P (this is what I always tell myself when lambdabot is acting up.)
12:06:23 <oerjan> int-e: THAT EXPLAINS SO MUCH
12:08:01 <int-e> > id
12:08:03 <lambdabot> No instance for (Data.Typeable.Internal.Typeable a0)
12:08:03 <lambdabot> arising from a use of ‘M339982716941561429716085.show_M3399827169415614297...
12:08:03 <lambdabot> The type variable ‘a0’ is ambiguous
12:08:52 <oerjan> did it do that before
12:09:03 <int-e> which?
12:09:18 <oerjan> or wait
12:09:25 <int-e> At some point there was a Show instance for functions ... not sure what happened to it.
12:09:31 <boily> > id :: Char -> Char
12:09:33 <lambdabot> <Char -> Char>
12:09:35 <int-e> ah
12:09:41 <int-e> thanks, right, that was stupid
12:09:43 <oerjan> int-e: i think at some point there were _two_
12:09:57 <int-e> actually no
12:10:11 <int-e> there *used* to be an instance for a -> b that just printed <function>
12:10:16 <int-e> and > id worked just fine with that.
12:11:18 <fizzie> "abort: no username supplied (see "hg help config")"
12:11:20 <fizzie> Hmm.
12:11:36 <oerjan> it's because ExtendedDefaultRules still requires one of the classes to be in a limited list, iirc
12:12:05 <int-e> Hmm, so I could try to adding Typeable to that list.
12:12:18 <oerjan> i'm not sure it is customizable
12:12:54 <oerjan> it includes the numeric standard classes and Show, at least
12:13:38 <fizzie> `run ls useless_file.txt
12:13:39 <HackEgo> useless_file.txt
12:13:45 <fizzie> `rm useless_file.txt
12:13:47 <HackEgo> No output.
12:13:53 <fizzie> `ls useless_file.txt
12:13:54 <HackEgo> ls: cannot access useless_file.txt: No such file or directory
12:13:57 <fizzie> Well, I don't know.
12:14:40 <fizzie> It works now, but I'm not sure what I did. I mean, there was that uncommitted file "hmm\n? hello" in the directory that I cleaned up, but that's been there for a while.
12:15:33 <int-e> oerjan: right. there's a feature request about this here: https://ghc.haskell.org/trac/ghc/ticket/8171
12:15:45 <int-e> I *can* patch GHC the next time I upgrade though ;-)
12:16:15 <oerjan> `learn int-e är inte svensk
12:16:17 <HackEgo> Learned 'int-e': int-e är inte svensk
12:16:26 <int-e> (Without looking, shouldn't be *too* hard because at least the compiler already knows about the type class.)
12:16:43 <boily> `? int-e
12:16:44 <HackEgo> int-e är inte svensk
12:16:47 <boily> oooooh!
12:16:58 <int-e> fizzie: cheers!
12:17:21 <int-e> (who cares why it works if it works)
12:17:31 <int-e> (who, except hackers... err, never mind.)
12:18:45 <int-e> And I mean that term in the traditional sense.
12:20:00 <oerjan> `learn int-e är inte svensk.
12:20:02 <HackEgo> Learned 'int-e': int-e är inte svensk.
12:20:27 <oerjan> with `learn_append around, not ending wisdoms with punctuation gets awkward.
12:24:34 <int-e> oerjan: would `learn-append int-e . have done the trick?
12:24:41 <int-e> I guess not...
12:24:54 <int-e> `cat bin/learn-append
12:24:54 <oerjan> nope, extra space
12:24:54 <HackEgo> cat: bin/learn-append: No such file or directory
12:25:19 <int-e> `cat bin/learn_append
12:25:20 <HackEgo> ​#!/bin/bash \ topic=$(echo "$1" | lowercase | sed 's/^\(an\?\|the\) //;s/s\? .*//') \ stuff=$(echo "$1" | cut -d' ' -f2-) \ perl -i -p -e 's/\n/ /' "wisdom/$topic" \ echo "$stuff" >>"wisdom/$topic" \ echo -n "Learned '$topic': " \ cat "wisdom/$topic"
12:26:28 <int-e> oh. perl -i -p -e 's/\n/ /'
12:26:48 <int-e> (perl -pie anyone?)
12:27:18 <oerjan> i dunno, i cannot read proto-indoeuropean very well
12:27:39 -!- boily has quit (Quit: TEMPEST CHICKEN).
12:28:39 <int-e> oerjan: http://www.vexxarr.com/archive.php?seldate=112714 hth
12:29:50 <oerjan> i think that film's a turkey
12:31:24 <oerjan> does this mean there are Gobbeldammerung 1-5
12:32:37 <oerjan> looks like it http://www.vexxarr.com/archive.php?seldate=112813
12:34:10 <b_jonas> Gobbelwhat?
12:35:30 <oerjan> http://www.vexxarr.com/archive.php?seldate=112212
12:36:10 <int-e> oerjan: http://sprunge.us/JHeL hth
12:36:15 <oerjan> http://www.vexxarr.com/archive.php?seldate=112411
12:37:00 <int-e> oerjan: sorry, I was faster this time.
12:37:03 -!- GeekDude has joined.
12:37:08 <oerjan> AAAAAAAAAAAAAAAAAA
12:37:21 <oerjan> int-e: you have committed a gravy mistake
12:42:05 <HackEgo> [wiki] [[RingCode]] N http://esolangs.org/w/index.php?oldid=41389 * TomPN * (+1711) Created page with "'''RingCode''' is an esoteric programming language invented by Tom Price-Nicholson in 2014. RingCode is based on the Tengwar alphabet from Lord of the Rings. The Tengwar are d..."
12:43:01 <int-e> oerjan: That's not punny, it needs another helping to meat minimum requirements.
12:44:28 <oerjan> this is getting out of hand, i cranberry anymore
12:45:37 <oerjan> (this about exhausts my knowledge of thanksgiving)
12:49:32 <b_jonas> berry!
12:53:38 <int-e> Right. Let's berry the subject.
12:54:20 <HackEgo> [wiki] [[قلب]] M http://esolangs.org/w/index.php?diff=41390&oldid=41388 * Ehird * (+12) /* Examples */ rtl
12:54:47 <fizzie> I forgot to apply an abs to this vector before plotting, but on the other hand I think it looks better this way: https://dl.dropboxusercontent.com/u/113389132/Misc/20141209-plot.png
12:54:51 <fizzie> Very sciencey.
12:58:09 <elliott> what's it supposed to look like?
12:58:37 <oerjan> it's supposed to gave abs hth
13:02:55 <fizzie> It's supposed to look like https://dl.dropboxusercontent.com/u/113389132/Misc/20141209-plot-1.png which is, like, so square.
13:03:29 <fizzie> Maybe I could use the non-absified version in the cover or something.
13:04:21 <oerjan> a thesis with a blooper appendix, now that's something
13:04:40 <int-e> oerjan: btw, I'm curious. have you tried the Polyominoes golf problem?
13:04:58 <oerjan> oh, no i haven't
13:06:13 <fizzie> I think what the original reminded me of was one of these http://cdn.arstechnica.net/Science/August10/lhc.jpg things.
13:07:00 <fizzie> Except maybe the 90-degree turn there at around (0.5, 0) is not so likely in a particle accelerator.
13:08:58 <int-e> must be a collision :)
13:09:07 -!- shikhout has joined.
13:09:25 <int-e> that's a fancy magnetic field you have there though, does it vary over time?
13:10:05 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41391&oldid=41389 * TomPN * (+513)
13:10:50 -!- ais523 has joined.
13:12:26 -!- shikhin has quit (Ping timeout: 256 seconds).
13:13:26 -!- ais523 has quit (Client Quit).
13:13:34 -!- ais523 has joined.
13:14:45 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41392&oldid=41391 * TomPN * (+189)
13:18:59 <int-e> ah, I wish the article would focus on semantics instead of syntax.
13:19:49 <int-e> The way it looks now, it could still be a Brainfuck clone.
13:20:21 <oerjan> hm a brainfuck equivalent that is so obfuscated we never notice
13:29:37 <ais523> OK, what about a esolanguage that is normally interesting in an eso sort of way
13:29:47 <ais523> however, it has a 0.1% chance of interpreting any input program as brainfuck instead
13:30:11 <int-e> oerjan: "This is my new universal language which I developed specificially for writing a Brainfuck interpreter in!"
13:30:54 <int-e> oerjan: Would omitting that sentence count as obfuscation?
13:31:31 <ais523> why would you develop a language for writing a BF interpreter in? BF's too simple
13:31:50 <int-e> ais523: I'm speculating about the meaning of "obfuscation".
13:31:54 <ais523> I mean, I developed a language for writing INTERCAL optimizers in, but that's complex enough that it could do with a language of its own
13:32:14 <ais523> how do we define brainfuck equivalency, btw? at the command level?
13:32:30 <int-e> I was thinking "Turing completeness."
13:32:40 <oerjan> wat
13:32:44 <ais523> well, yes, I'm trying to find the definition we /actually/ mean
13:32:46 <ais523> and it's hard
13:33:02 <int-e> Ok, so we've identified the same problem :)
13:33:03 <ais523> something like "programs in this language can be translated to BF in linear time" are defeated by the bundle-an-interpreter trick
13:34:08 -!- _AndoDaan has joined.
13:34:27 <oerjan> something that's to brainfuck like zzo38's 1d chess is to chess
13:36:35 <b_jonas> fizzie: here's what that graph reminds me to http://www.math.bme.hu/~ambrus/pu/missing-abs
13:36:41 <ais523> I don't know of zzo38's 1D chess
13:36:45 <ais523> is it anything like my 1D sokoban?
13:37:32 <int-e> 1D sokoban...
13:37:50 <oerjan> a most intriguing game
13:38:24 <int-e> I'm tring to figure out whether it could be made interesting. Say, by adding the ability to jump over a box.
13:38:51 <ais523> each square allowed you to teleport to a specific other square
13:39:08 <int-e> Ah.
13:39:11 <ais523> other than that, it was identical to regular sokoban
13:39:26 <oerjan> did the blocks teleport too?
13:39:27 <b_jonas> ais523: does it teleport boxes too?
13:39:36 <ais523> no, the boxes just move normally
13:39:54 <b_jonas> ais523: can you teleport on a box?
13:40:05 <b_jonas> or inside a wall?
13:40:42 <b_jonas> do you get teleported at most once after each move?
13:41:04 <ais523> you can choose when to teleport, and can teleport multiple times in a row if you like
13:41:08 <ais523> you can't teleport under a box
13:41:14 <ais523> and there are no walls except one at each end
13:41:29 <ais523> (and the teleport destinations are all on the map, obviously)
13:41:34 -!- shikhout has changed nick to shikhin.
13:41:48 * int-e is reminded of the cyberbox level subset in xsok
13:42:24 <int-e> though teleportation there just picks the nearest free teleporter, so it's not the same.
13:43:33 <b_jonas> ah
13:43:39 <b_jonas> so there's no mandatory teleport
13:43:39 <b_jonas> ok
13:43:55 <b_jonas> I guess walls aren't really necessary, you can emulate them with boxes anyway
13:48:01 <oerjan> i can find logs where zzo38 talks about it but no actual link
13:48:42 <oerjan> point was, it was 1d yet entirely equivalent to chess
13:50:25 <ais523> presumably the board was 64 by 1, and each piece had a set of distances it could move forwards or backwards
13:50:33 <ais523> main problem there is preventing the sides of the board wrapping
13:51:29 <shachaf> <zzo38> Vorpal: Yes. It is not quite like category theory, though. I do not understand category theory completely, so it is not category theory.
13:51:32 <shachaf> whoa
13:51:52 <oerjan> Q.E.D.
13:52:24 <shachaf> oerjan: http://www.chessvariants.org/index/msdisplay.php?itemid=MSeeeeeeeeeeeeee hth
13:52:37 <fizzie> b_jonas: Oh, it's a common theme?
13:53:01 <ais523> I'd be very surprised if 1D Sokoban were equivalent to Sokoban
13:53:20 <ais523> if it is, maybe there's a rule that "everything is PSPACE-complete unless it obviously isn't"
13:53:36 <oerjan> ais523: sounds like a corollary to that wolfram thing
13:53:44 <oerjan> or the similar TC thing
13:54:02 <oerjan> and of course there has be one for NP
13:54:04 <b_jonas> fizzie: what?
13:54:35 <oerjan> shachaf: thx
13:54:40 <ais523> oerjan: I don't see any reason why turing-completeness being common would cause pspace-completeness to be common
13:54:56 <ais523> (especially as np-completeness seems more common in practice, and I don't think anyone really believes that pspace=np)
13:55:29 <oerjan> ais523: i think it's basically about the kind of resources you have available
13:55:55 <oerjan> if your game is about finding a fixed solution setup, it's NP-complete
13:56:14 <ais523> right; the paper about computational complexity of computer games mentioned, for most of those games, that they weren't above NP because all moves were irreversible
13:56:21 <oerjan> if it's about finding a solution that moves around inside a setup, it's PSPACE-complete
13:56:35 <oerjan> and if it actually has unbounded state, it's TC
13:57:09 <ais523> now I want to think up a counterexample to that
13:57:19 <oerjan> of course there will be some in theory
13:57:20 <ais523> although, by that heuristic, 1D sokoban is PSPACE-complete
13:58:05 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41393&oldid=41392 * TomPN * (+2108)
13:58:15 <oerjan> there are hierarchies of complexity classes, after all
13:59:02 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41394&oldid=41336 * TomPN * (+70) /* See also */
13:59:02 <shachaf> and below them there are loerarchies
13:59:27 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41395&oldid=41393 * TomPN * (-3) /* See also */
13:59:40 <HackEgo> [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41396&oldid=41328 * TomPN * (+70) /* See also */
13:59:50 <oerjan> ais523: of course _all_ of them, in addition to resources, require your game or the like to have enough local logical primitives
13:59:53 <oerjan> in a sense
13:59:56 <HackEgo> [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41397&oldid=41099 * TomPN * (+70) /* See also */
14:00:45 <ais523> oerjan: right, but a good esoprogrammer can craft logical primitives out of almost anything
14:00:49 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41398&oldid=41368 * TomPN * (+15) /* R */
14:01:06 <ais523> that said, it still frustrates me that some of the constructions in the computer games complexity paper are wrong
14:01:26 <ais523> e.g. they claim the Metroid construction also works for Super Metroid but it doesn't due to the existence of the mid-air morph
14:02:43 <HackEgo> [wiki] [[User talk:TomPN]] http://esolangs.org/w/index.php?diff=41399&oldid=40923 * TomPN * (+14) /* Other esolangs */
14:02:59 <b_jonas> ais523: I hope you wrote to the authors to note these mistakes
14:03:06 <b_jonas> maybe they just don't play those games enough
14:03:35 <ais523> b_jonas: I haven't
14:03:40 <ais523> interesting idea, though
14:04:27 <oerjan> ais523: that's almost the _definition_ of a good esoprogrammer there
14:04:43 <oerjan> it's certainly the way i work, at any rate
14:04:43 <ais523> oerjan: eys
14:04:45 <ais523> *yes
14:04:58 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41400&oldid=41395 * TomPN * (+0) /* Adding tehtar to form instructions */
14:05:02 <b_jonas> ais523: tell them. try to do a quick search first for later articles of theirs correcting the mistakes of course.
14:05:05 <elliott> oerjan: btw you should work on clue (keymaker)'s tcness
14:05:27 -!- nortti has changed nick to lawspeaker.
14:06:05 -!- lawspeaker has changed nick to nortti.
14:06:14 <ais523> elliott: is clue (oklopol)'s obviously TC, or obviously sub-TC? I have a feeling it's one or the other
14:06:24 <elliott> obviously TC, there's an ski implementation
14:09:01 <oerjan> ais523: although my best work also involves being able not to be overwhelmed by the complexity of putting it all together.
14:09:51 <ais523> that can be a hard part
14:24:05 -!- ZombieAlive has joined.
14:25:13 -!- drdanmaku has joined.
14:30:24 -!- ais523 has quit (Read error: No route to host).
14:30:34 -!- ais523 has joined.
14:57:41 -!- _AndoDaan has quit (Remote host closed the connection).
15:07:05 -!- spiette has joined.
15:15:02 -!- `^_^v has joined.
15:29:08 <oerjan> elliott: clue seems to fall into the same class as self-bct and dupdog: too complicated to prove non-tc, too unruly to see any obvious way of controlling the complexity
15:30:16 <ais523> and xigxag?
15:31:20 <oerjan> hm probably
15:35:57 <b_jonas> oerjan: does deciding whether an input to McCulloch's second machine is immortal fall into the same class? or is that obviously controllable?
15:36:18 -!- Sprocklem has joined.
15:36:33 <oerjan> what is that
15:36:43 <ais523> mcculloch has far too many machines
15:36:49 <ais523> you'll have to list the rules, rather than just name it
15:37:00 <b_jonas> ais523: I have them listed on the esolang wiki
15:37:12 <oerjan> fiendish
15:37:14 <b_jonas> ais523: http://esolangs.org/wiki/McCulloch%27s_second_machine
15:39:28 -!- Decensum has joined.
15:39:38 <oerjan> hm the digits 6-9 are redundant with each other, it seems
15:39:56 <Decensum> Go to bed
15:40:07 <ais523> ?
15:40:09 -!- ChanServ has set channel mode: +o oerjan.
15:40:16 <Decensum> :0
15:40:20 -!- oerjan has kicked Decensum You are getting annoying.
15:40:30 <ais523> oerjan: oh, it's dulnes?
15:40:30 <Decensum> Oh
15:40:35 <b_jonas> oerjan: that's irrelevant if you ask only about immortal numbers, becaues in this machine any number containing a digit 1 or 6 or 7 or 8 or 9 is mortal
15:40:48 <ais523> also, first -n message!
15:40:53 <oerjan> yay!
15:40:59 -!- oerjan has set channel mode: -o oerjan.
15:41:09 <ais523> has dulnes been kicked before?
15:41:16 <oerjan> i don't remember
15:41:21 <ais523> and if so, what was the offence?
15:41:25 -!- Decensum has joined.
15:42:20 <oren> what does -n mean
15:42:54 <b_jonas> ais523: as in channel mode -n , right?
15:42:57 <oren> oh i guess i know nothing about irc
15:43:06 <ais523> b_jonas: yes
15:43:29 <oren> add it to the list of things i know nothing about
15:43:48 <oerjan> b_jonas: oh so you cannot avoid a digit getting to the start
15:43:57 <ais523> hmm, now the list of things that oren knows nothing about has been removed from the list of things that I know nothing about
15:44:11 -!- Decensum has changed nick to Decensum|Away.
15:44:17 <b_jonas> oerjan: yes. I can tell you the proof but it might be more interesting if you try to figure it out yourself
15:44:47 <ais523> oh yes, obviously
15:45:32 <shachaf> Any ideas for clever ways to take the tail of an FMList? http://stackoverflow.com/a/27382987
15:47:13 * oerjan decides his brain doesn't have room for both FMLists and machines at the moment
15:47:31 <shachaf> whoa, you're doing things with -- oh, not that machines
15:48:20 <oerjan> nah
15:48:34 <b_jonas> oerjan: isn't it the same thing? they both want to access a list from both ends quickly
15:48:44 <b_jonas> (don't take that seriously(
15:48:45 <b_jonas> ))
15:48:47 <oerjan> b_jonas: O KAY
15:49:17 <elliott> I've kicked dulnes I think
15:49:20 <elliott> I've also kicked oren
15:49:33 <elliott> it's therapeutic
15:49:57 <oerjan> elliott: are you sure you've not been replaced with facekicker
15:50:05 <cluid> [345]*2[1-9][1-9]
15:50:07 <cluid> what is this
15:50:09 <elliott> I kick people, not faces!
15:50:17 <elliott> anyway I'm going to take his advice and go to bed.
15:50:17 <oren> is that a regex
15:50:18 <oerjan> cluid: a regular expression hth
15:50:19 <ais523> cluid: a regex, by the look of it
15:50:23 <J_Arcane> Heh heh. http://en.wikipedia.org/wiki/Heisenbug
15:50:56 <ais523> aha, a spam I just got: "You have been selected as a winner for using Google services"
15:51:03 <b_jonas> j-bot: +/i.1e9
15:51:04 <j-bot> b_jonas: |limit error
15:51:04 <j-bot> b_jonas: | +/ i.1000000000
15:51:07 <b_jonas> j-bot: +/i.1e6
15:51:07 <j-bot> b_jonas: 499999500000
15:51:11 <b_jonas> j-bot: +/i.1e8
15:51:11 <j-bot> b_jonas: |limit error
15:51:12 <j-bot> b_jonas: | +/ i.100000000
15:51:14 <b_jonas> j-bot: +/i.1e7
15:51:14 <j-bot> b_jonas: |limit error
15:51:14 <j-bot> b_jonas: | +/ i.10000000
15:51:19 <ais523> when I'm in the minority of the Internet-using population that doesn't (at least, not those that require login, and I normally use a separate browser even for the ones that don't)
15:51:35 <shachaf> ais523: Is it signed by the "CEO of Google UK"?
15:51:37 <b_jonas> j-bot: 3 :'+/i.1e6'"0]i.1e5
15:51:40 <shachaf> I got spam like that recently.
15:51:52 <cluid> what is difficult about the mcculloch machine thing
15:51:54 <j-bot> b_jonas: |timeout
15:52:07 <cluid> have you tried checking each rule against the "regex"
15:52:08 <ais523> shachaf: yes
15:52:14 <ais523> ©2014 Google Terms & Privacy
15:52:17 <b_jonas> j-bot: 3 :'+/i.1e6'"0]i.1e4
15:52:20 <shachaf> That spam was so good.
15:52:32 <shachaf> I pasted the whole thing into an IRC channel.
15:52:32 <ais523> that's quite some bizarre copyright notice
15:52:33 <j-bot> b_jonas: |timeout
15:52:36 <b_jonas> j-bot: +/3 :'+/i.1e6'"0]i.1e3
15:52:39 <j-bot> b_jonas: 499999500000000
15:52:49 <ais523> is Matt Brittin the actual CEO of Google, I wonder?
15:52:54 <cluid> guys?
15:53:06 <b_jonas> cluid: sorry, I'm here
15:53:25 <b_jonas> cluid: I don't claim it's difficult, but I couldn't solve the problem I gave
15:53:34 <ais523> oh, it says "find attached email with more details" and has an attached jpeg
15:53:36 <shachaf> Larry Page is the CEO of Google.1
15:53:40 <ais523> which I'm not going to lok at
15:53:43 <ais523> err, Google UK
15:53:53 <shachaf> According to Wikipedia Matt Brittin is a VP.
15:54:17 <oren> ais523: are you paranoid?
15:54:25 <cluid> The machine is defined for exactly the digit strings matching the following regular expression: /^[345]*2[1-9][1-9]*$/
15:54:30 <cluid> is this derived from the rules?
15:54:34 <ais523> oren: to some extent, yes
15:54:34 <cluid> or is this a definition
15:54:35 <b_jonas> cluid: yes
15:54:39 <b_jonas> it's derived from the rules
15:54:50 <cluid> so this needs proof
15:54:57 <b_jonas> the proof is trivial
15:54:59 <cluid> it would be a shame if there was a mistake in that
15:55:03 <cluid> oh excellent
15:55:47 <ais523> cluid: any string with no 2 is mortal
15:55:54 <ais523> because that's the base case of the induction
15:57:02 <b_jonas> shachaf: not since http://dilbert.com/fast/2014-11-15/ I think
15:57:40 <cluid> R = /^[345]*2[1-9][1-9]*$/
15:57:40 <cluid> dR/d2 = /^[1-9][1-9]*$/
15:57:46 <cluid> dR/d3,4,5 = R
15:59:21 <cluid> this is extremely difficult
16:01:12 -!- MDream has changed nick to MDude.
16:02:34 -!- tswett has joined.
16:02:40 <oerjan> b_jonas: that loads so fast i cannot see it
16:02:50 <oerjan> ah there
16:02:51 <cluid> b_jonas, why not [345]*2[1-9]* ?
16:03:19 <cluid> I tried to derive that regex myself
16:03:24 <cluid> but I got a different answer
16:03:28 <b_jonas> cluid: because the rules specifically forbid giving an empty string
16:03:39 <cluid> this string always has 2 in it though
16:03:50 <cluid> oh
16:04:05 <cluid> so [345]*2[1-9]+ ,which is what you have
16:04:27 -!- Sprocklem has quit (Quit: [).
16:04:32 -!- Sprocklem_ has joined.
16:04:52 -!- Sprocklem_ has changed nick to Sprocklem.
16:07:00 <cluid> http://lpaste.net/116084
16:07:21 <cluid> I think this characterizes the strings which are mortal, so this might be a step in the right direction?
16:08:09 <cluid> oh it would be !R union those (whic lets us delete the last one)
16:09:51 <oerjan> what's !R
16:09:57 <cluid> the negation of the regex R
16:10:15 <oerjan> that's not what mortal means
16:10:21 <cluid> I don't think regex is powerful enough for this problem though, since you have m x ++ 2 ++ m x
16:10:29 <cluid> the same string occurs twice
16:10:38 <oerjan> it can take any number of iterations to die
16:10:46 <cluid> oh I see what you mean, thanks
16:12:06 <cluid> maybe you could express mortal strings as a CFG?
16:12:08 <oerjan> b_jonas: this does resemble dupdog...
16:12:27 <oerjan> cluid: i doubt it
16:13:17 <cluid> yeah i gues thats hard
16:13:38 <cluid> well another approach might be: If you can decide if a string diverges then you wi
16:13:39 <cluid> n
16:13:57 <cluid> that also looks very hard to find though
16:15:24 <oerjan> well you can rephrase the question but you have to have some reason if that rephrasing is going to be easier to solve...
16:15:49 <cluid> I think this problem is too hard to solve, but it would be nice to solve it
16:15:50 -!- ais523 has quit.
16:15:55 * oerjan realizes he just rephrased the problem of finding a solution
16:16:57 <int-e> It has worked before...
16:17:18 <cluid> M xs when not (P xs) or (P xs and M (m xs))
16:17:25 <cluid> this is theform of the mortal predicate
16:17:29 <oerjan> int-e: now that's crazy talk
16:17:32 <cluid> where P tells you if a string is in the machine
16:20:08 <cluid> are there strings which grow large then get smaller?
16:20:13 <cluid> if not its probably decidable
16:20:25 <b_jonas> oerjan: dupdog... hmm
16:20:31 <cluid> well ther are strings like 5:5:5:5:something
16:20:38 <cluid> which gets really big them the 'somethings' might get smaller
16:20:45 <cluid> 555555555444 for example
16:21:04 <cluid> that would need pathced I guess
16:21:05 <int-e> wait, can some op add +n to the channel modes, please?
16:21:19 <int-e> seeing messages from kicked people is ... strange.
16:21:32 <b_jonas> int-e: ais deliberately has it at -n until it becomes a problem
16:21:34 <b_jonas> as a test
16:21:38 <b_jonas> so don't set it to +n yet
16:22:16 <cluid> this problem is very hard :(
16:22:18 <int-e> well, consider this as one vote for it being a nuisance then.
16:22:43 <cluid> i dont think its -n that is a nuisance
16:23:16 <cluid> anyway, can you give ma hint for solving the McCulloch's second machine
16:23:29 <int-e> it is to me. it breaks my mental model of IRC. ;-)
16:23:31 <oerjan> int-e: note that iirc an actual ban still prevents talking
16:23:34 -!- hjulle has quit (Ping timeout: 264 seconds).
16:23:43 <cluid> int-e, I was joking that the real problem is Dulnes
16:23:58 <int-e> cluid: I know.
16:24:09 <int-e> oerjan: hmm.
16:24:09 <b_jonas> oerjan: no, not with -n
16:24:12 * oerjan swats cluid for explaining jokes -----###
16:24:19 <b_jonas> oerjan: the ban doesn't apply for people who aren't joined,
16:24:21 <b_jonas> for implementation reasons
16:24:25 <oerjan> b_jonas: oh.
16:24:37 <cluid> oerjan, any insights into this
16:24:38 <int-e> cluid: the -----### depicts a paddle, btw.
16:24:42 <cluid> lol
16:24:49 <cluid> i thought it was a swatter
16:24:55 <oerjan> int-e: no, it's a flyswatter hth
16:24:56 <int-e> oh
16:25:21 <int-e> oerjan: oh. how did you depict mapoles?
16:25:37 <b_jonas> oerjan: basically the server caches which joined users can talk on a channel, so it doesn't have to recompute it from the channel modes at each message, but it doesn't want to cache anything for non-joined users, so it just allows everyone
16:25:47 <cluid> so help me with math please :)
16:25:49 <oerjan> <cluid> anyway, can you give ma hint for solving the McCulloch's second machine <-- this is a problem that _we_ don't know how to solve yet, so unlikely.
16:26:16 <b_jonas> oerjan: besides, you can see messages from recently kicked users because of multiple server stuff
16:26:20 <cluid> I thought of something
16:26:22 <int-e> Anyway, my impression of the McCulloch machine was that it's a hard problem, and that there may just be enough rope to hang it on the TC nail.
16:26:45 <cluid> all infinite loops occur in the following way: x is in R, and m x is in R
16:26:59 <b_jonas> int-e: if it matters, my guess is that there is a relatively short algorithm to decide mortality, and has a human-understandible length of proof.
16:27:22 -!- ZombieAlive has quit (Remote host closed the connection).
16:27:24 <cluid> oh wait that's wrong
16:27:38 <oerjan> int-e: the mapoles aren't mine so i don't generally depict them
16:27:40 -!- ZombieAlive has joined.
16:27:43 <cluid> you need a language R' such that: forall x in R', m x is in R'
16:28:07 <cluid> the loops live in R'
16:28:48 <cluid> maybe you could define R as a CFG?
16:28:50 <cluid> sorry R'
16:29:39 <int-e> 1
16:29:46 <int-e> /#####|
16:29:46 <int-e> =========<######|
16:29:46 <int-e> \#####|
16:29:54 <int-e> there, for future reference.
16:30:30 <cluid> http://lpaste.net/116088
16:31:17 <cluid> R' -> 2 R' | 3 R' 2 R' | 4 Z | 5 R' R'
16:31:17 <cluid> Z -> Z 2 | Z 2 Z 3 | R' 4 | Z Z 5
16:31:19 <cluid> like that?
16:31:47 <shachaf> int-e: whoa
16:31:50 <cluid> this language is empty :/
16:31:58 <cluid> this approach doesn't work
16:33:06 <oren> perhaps you could write a prover in prolog?
16:33:18 <oerjan> cluid: note that you are going to have a _very_ hard time finding a "general" method to solve it, because only takes a bit different rules to get a "tag system" for which the problem _is_ unsolvable.
16:33:43 <oerjan> so if it is solvable it needs looking at specific properties of the rules used
16:34:12 <oerjan> *it only
16:35:35 <cluid> I don't really have any other ways I could approach the problem though
16:36:32 <int-e> In fact, I'd say that tag systems look simpler!
16:36:42 <oerjan> indeed!
16:36:43 <cluid> if S is the language of looping machines, S -> 2 S | 3 K | ...
16:36:58 <cluid> then K is the language of machines such that m x ++ 2 ++ m x is a looping machine
16:38:21 <cluid> http://lpaste.net/116090 it seems unlikey to transform this program into something which can be computed
16:38:31 <oerjan> int-e: the only thing that might make this simpler is that you don't have many constant strings.
16:38:44 <cluid> it needs "base cases"
16:39:34 <SopaXorzTaker> guys
16:39:45 <SopaXorzTaker> I made another Functional Brainfuck!
16:40:11 <cluid> SopaXorzTaker, what is it?
16:40:47 <b_jonas> [ ];._1' can I talk after parted?'[+/([:+/@i.1e6"_)"0 i.6e3
16:40:51 -!- j-bot has left.
16:41:01 <j-bot> b_jonas: can
16:41:02 <j-bot> b_jonas: I
16:41:02 <j-bot> b_jonas: talk
16:41:02 <j-bot> b_jonas: after
16:41:02 <j-bot> b_jonas: parted?
16:41:04 <int-e> oerjan: And of course it may be possible that mortal strings are easy to characterize and you can *still* embed a TC language in the immortal one (say, some CA).
16:41:10 <oren> do you mean actually functional, or just procedural?
16:41:23 <int-e> oerjan: But that's just crazy talk at this point.
16:41:30 <int-e> (on my part)
16:42:09 <oerjan> int-e: your attempt to solve identity matrix just triggered a henkma incident hth
16:42:21 <int-e> Ah?
16:42:49 <int-e> ah.
16:42:52 <b_jonas> is that like a collapsing hrung disaster?
16:43:07 <oerjan> b_jonas: much worse hth
16:43:12 * oerjan goes to look up hrung
16:44:12 <shachaf> what would you say is the state of matter of the identity matrix twh
16:44:22 <int-e> 5 characters shorter and completely different statistics. Sigh.
16:44:26 <b_jonas> shachaf: non-exotic
16:44:39 <SopaXorzTaker> cluid, it has function definitions
16:44:42 <shachaf> perhaps i got that backwards
16:44:48 <SopaXorzTaker> by numbers
16:45:03 <int-e> oerjan: but at least it's an endless problem, plenty of time to catch up ;-)
16:45:27 <SopaXorzTaker> like that {[>,]}
16:45:34 <b_jonas> oh, that identity matrix!
16:45:35 <SopaXorzTaker> and calling like that ++|
16:45:56 <SopaXorzTaker> where {} are function operators
16:46:03 <SopaXorzTaker> and | is a call
16:46:04 <cluid> cool!
16:46:15 <b_jonas> SopaXorzTaker: you know it's generally not allowed to create brainfuck variants these days, unless you have a very good excuse, right?
16:46:17 <SopaXorzTaker> callse function number (mem[ptr])
16:46:29 <SopaXorzTaker> b_jonas, I am not gonna make it publicv
16:46:36 <SopaXorzTaker> it's my entertainment
16:47:30 <int-e> oerjan: I have a post-mortem toy problem, http://golf.shinh.org/p.rb?postfix+to+infix
16:47:41 <cluid> could you encode collatz type problems into this machine?
16:47:59 <int-e> cluid: maybe?
16:48:10 <b_jonas> my guess is no
16:48:39 <b_jonas> why are there no active problems?
16:49:36 <oerjan> because no one made any
16:51:43 -!- nortti has changed nick to lawspeaker.
16:52:25 -!- lawspeaker has changed nick to nortti.
16:54:04 <shachaf> you know the thing where you're writing a recursive function and you accidentally unfold it one step for no good reason?
16:54:07 <shachaf> what a scow
16:54:58 <oerjan> *what a what a scow
16:55:50 <shachaf> now that you're not thinking about machines you should tell me whether this fmlist business is possible twh
16:56:11 <shachaf> i'm actually not completely sure whether it's possible even though i have a working implementation
16:56:36 <oerjan> Nope hth
16:56:48 -!- oerjan has quit (Quit: leaving).
16:58:04 <shachaf> tdnhbwaprr hth
17:05:03 -!- Sprocklem has quit (Ping timeout: 258 seconds).
17:12:35 -!- MDream has joined.
17:14:35 <HackEgo> [wiki] [[KittyKittyMewMew]] http://esolangs.org/w/index.php?diff=41401&oldid=38827 * 67.78.57.11 * (+141) /* Interpreters for KittyKittyMewMew */
17:14:38 -!- MDude has quit (Ping timeout: 258 seconds).
17:16:13 -!- SopaXorzTaker has changed nick to ummjackson.
17:16:20 -!- ummjackson has changed nick to SopaXorzTaker.
17:17:33 -!- scounder has quit (Read error: Connection reset by peer).
17:30:52 -!- scounder has joined.
17:37:06 -!- AndoDaan has joined.
17:53:41 -!- mihow has joined.
18:03:45 <int-e> shachaf: sorry, what fmlist business, didn't the stackoverflow thread already answer all questions?
18:04:10 <shachaf> int-e: I linked to my answer in the thread. I want a non-cheating way to do what I did there.
18:04:24 <int-e> "noncheating"?
18:04:56 -!- Decensum|Away has quit (Quit: Connection closed for inactivity).
18:05:16 <shachaf> Yes. Without using any types that break the monoid laws.
18:07:22 <int-e> Ah.
18:08:07 <FireFly> shachaf: that did not help but was a pretty what? rude reply?
18:08:46 <shachaf> perfectly reasonable response
18:10:13 <FireFly> Oh.
18:20:20 <int-e> shachaf: http://sprunge.us/WJWB?hs doesn't break any rules, I think.
18:21:36 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41402&oldid=41400 * BCompton * (+94)
18:22:54 <shachaf> int-e: See also http://lpaste.net/116099 from glguy in #haskell-lens
18:23:02 <int-e> shachaf: using the basic property that uncons ((a:b) ++ c) = Just (a, b++c), so UAux stors the head, the tail, and a reconstruction of the original list.
18:23:30 <int-e> right, that's the same idea.
18:24:23 <oren> i find Haskell a lot harder to understand than lisp; is that normal
18:25:26 <cluid> yes
18:25:37 -!- MDream has changed nick to MDude.
18:28:26 <int-e> oren: only if you know Lisp.
18:29:52 <oren> what if you don't relly know either?
18:32:43 -!- spiette has quit (Remote host closed the connection).
18:32:57 <cluid> lisp has a lower barrier for entry
18:33:07 <cluid> haskell is more complex and unusual
18:34:23 <oren> i think it's that haskell is somewhat an ALGOL dialect
18:34:39 <cluid> I dont thik so,
18:34:55 <cluid> in my picture of things scheme (a lisp) descends from ALGOL
18:35:06 <cluid> haskell comes from miranda and gopher and lazy ml
18:35:33 <oren> well you probably know more than me so ok
18:36:08 <shachaf> int-e: I think your solution comes up with the same result as glguy's.
18:36:13 <int-e> shachaf: Now I'm wondering whether the (a,b) <> (_,d) = (a <> d, b <> d) semigroup has a name.
18:36:16 <shachaf> (And mine, after I changed it not to unfold the recursion.)
18:39:10 <shachaf> I encourage y'all to submit answers with your solutions.
18:39:33 * int-e is confused.
18:39:48 <shachaf> ?
18:39:56 <int-e> What is a solution, if it's not an answer?
18:40:28 <shachaf> To submit answers to the stackoverflow question that contain the solutions.
18:40:42 <int-e> Ah. Not going to happen.
18:41:05 <shachaf> OKAY
18:41:14 <shachaf> No, I can't pull it off.
18:41:59 <int-e> shachaf: I actually parsed the sentence wrong: (I encourage y'all (to submit answers) with your solutions.)
18:42:14 <int-e> rather than (answers with your solutions)
18:42:25 <shachaf> I don't follow your parentheses.
18:42:31 <shachaf> Oh.
18:42:43 <shachaf> Use your solutions to encourage you to submit answers?
18:43:01 <int-e> Well, it didn't make sense to me either.
18:43:35 <int-e> It sounded almost like something a teacher would tell her students, but not quite.
18:49:23 <shachaf> I still like this free magma thing.
18:49:33 <shachaf> lambdabot should have it so we can inspect monoid trees.
18:50:47 <shachaf> I have a 9-line @let definition suitable for pasting, but only I can use that easily.
18:54:41 <shachaf> > foldMap N (S.fromList [1..6])
18:54:42 <lambdabot> (N 1 ◇ (N 2 ◇ N 3)) ◇ (N 4 ◇ (ε ◇ (N 5 ◇ N 6)))
19:09:04 -!- shikhout has joined.
19:12:09 -!- shikhin has quit (Disconnected by services).
19:12:12 -!- shikhout has changed nick to shikhin.
19:22:10 <shachaf> 11:20 <glguy> shachaf: int-e's solution is a little too strict
19:22:10 <shachaf> 11:20 <glguy> minefield = (singleton 0 <> singleton 1 <> undefined) <> (singleton 2)
19:22:48 <shachaf> int-e: You should be in #-lens or something, it's the future.
19:24:11 <int-e> too scary.
19:25:07 -!- MoALTz has joined.
19:28:59 <int-e> Ah yes, nasty strictness. So using tuples for separating out the full part is essential.
19:34:45 -!- S1 has joined.
19:38:56 <int-e> actually no, the type is fine... but I need the selectors.
19:41:59 <int-e> so that leads to http://sprunge.us/acbH?hs
19:42:59 <shachaf> I'm going to stop conveying messages between you two now, because it's silly.
19:43:12 <int-e> aww
19:43:30 <shachaf> Either you join #-lens or glguy joins this channel. Or something.
19:43:42 -!- glguy has joined.
19:43:53 <shachaf> Well then.
19:43:55 <int-e> heh
19:44:24 <glguy> shachaf: I'm still OK with you relaying messages for me
19:44:30 <glguy> this way I can make sure they are relayed correctly
19:45:21 <int-e> `welcome glguy
19:45:22 <HackEgo> glguy: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:45:40 <int-e> (just following standard operating procedure)
19:46:15 <int-e> so did shachaf relay the http://sprunge.us/acbH?hs link?
19:46:57 <int-e> glguy: in any case, thanks for pointing out the strictness bug in my code.
19:47:05 <glguy> Yeah, he pasted that in another channel
19:47:28 <glguy> I didn't know where the discussion had originated but we were discussing it there, too
19:48:27 <int-e> shachaf: no. I'm aiming for maximum confusion. :P
19:48:58 <glguy> this is what I had come up with : http://lpaste.net/116099 (I don't know if shachaf managed to share that over here)
19:49:08 <shachaf> enough about shachaf
19:49:31 <int-e> Yes, I saw that.
19:50:57 -!- relrod has joined.
19:51:26 <shachaf> `relcome relrod
19:51:28 <HackEgo> relrod: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:51:53 -!- Sprocklem has joined.
19:52:09 <relrod> :D
19:55:12 <shachaf> `` grep -l welcome bin/*
19:55:13 <HackEgo> bin/bienvenido \ bin/emoclew \ bin/ozcome \ bin/relcome \ bin/rwelcome \ bin/tervetuloa \ bin/wehlcohme \ bin/welcome \ bin/welcome \ bin/WeLcOmE \ bin/WELCOME \ bin/welcome13 \ bin/wlcm \ bin/wow \ bin/zalgreet
19:55:44 <shachaf> whoa, I didn't know about all these.
19:55:53 <int-e> `wlcm shachaf
19:55:54 <HackEgo> shachaf: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:56:02 <int-e> hmm.
19:56:23 <shachaf> `` cat bin/wlcm
19:56:24 <HackEgo> welcome "$@" | sed 's/aeiou//'
19:56:36 <int-e> oh.
19:56:41 <shachaf> That program has a high bug density.
19:57:17 <FireFly> `` sed -ir 's/.$/g&/' bin/wlcm; cat bin/wlcm
19:57:20 <HackEgo> welcome "$@" | sed 's/aeiou//g'
19:57:28 <FireFly> `wlcm FireFly
19:57:28 <HackEgo> FireFly: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:57:33 <FireFly> oh.
19:57:34 <shachaf> That's one bug, but there's a more important one.
19:57:39 <FireFly> I didn't spot the other obvious bug
19:57:46 <FireFly> (but I did now, of course)
19:57:47 <shachaf> how about tr -d aeoiu?
19:57:56 <FireFly> That's neater
19:58:08 <shachaf> `zalgreet FireFly
19:58:09 <HackEgo> F͓̈́i̻͓r͈ͨe̵ͫF̲͂ĺ͚y̖̕:͓ͮ ͨͤW͇̐e͎̣lͯ̓c̳̊o̯̰m̶͏ĕ̟ ̣̀t̻͕o̢͆ ͖̓t̗̝h͍͑eͪ̉ ̨ͫi͇͒n̢̼t̥̘eͬ͟ṛ̀n̾̈́a̫͏t̸͒i͉ͬŏͦn̳͗a̫ͮl̿ͤ ̓ͭh͗͊ų͎b̢ͪ ͯ̒f̹̀ơ͉r̨͗ ̋ͬeͮͭs͝ͅo̝͛t̹ͮe̎͋r̵̪i͎ͥc̿͞ ̱͗pͥ͏r̓͞o̅ͥg̡͑rͭͫa͉͡m̜̑mͭ็iͩ̓n̨̕g̈́͒ ͣ͜l̺͖ã̲n͠
19:58:30 <FireFly> `` sed -ir 's/sed.*/tr -d aeoiu/' bin/wlcm; cat bin/wlcm
19:58:48 <b_jonas> `wlcm yourself
19:58:50 <FireFly> HackEgo?
19:59:07 <shachaf> Shouldn't've zalgreeted.
19:59:07 <FireFly> zalgreet might've been too much for HackEgo
19:59:19 <FireFly> `` thanks shachaf | zalgo
19:59:26 <HackEgo> yourself: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
19:59:27 <HackEgo> T͈͑hͩͭaͫ̉n̍̾k̪ͬs͈̐,̘̌ ̯́s̾͊ḧ̜a̛̚c̙ͦh̸̃a͔̽f͎̰.̙̅ ͗̄T̷͇h́͊ä̇c̘ͨh̛̻å̎f̂ͨ.̱̊
19:59:28 <HackEgo> welcome "$@" | tr -d aeoiu
19:59:51 <relrod> `` ls
19:59:52 <HackEgo> ​:-( \ 113500 \ bdsmreclist \ bin \ canary \ cat \ complaints \ :-D \ dc \ dir \ dog \ etc \ factor \ faith \ head \ hello \ hello.c \ ibin \ index.html?dl=1812 \ interps \ lib \ paste \ pref \ prefs \ py.py \ quines \ quotes \ script.py \ share \ src \ test.c \ Wierd \ wisdom \ wisdom.pdf
20:00:10 <shachaf> `help
20:00:10 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
20:00:32 <shachaf> `? HackEgo
20:00:33 <HackEgo> HackEgo, also known as HackBot, is a bot that runs arbitrary commands on Unix. See `help for info on using it. You should totally try to hax0r it! Make sure you imagine it's running as root with no sandboxing.
20:01:10 <relrod> Interesting
20:02:15 <FireFly> `wlcm hi
20:02:16 <HackEgo> h: Wlcm t th ntrntnl hb fr strc prgrmmng lngg dsgn nd dplymnt! Fr mr nfrmtn, chck t r wk: <http://slngs.rg/>. (Fr th thr knd f strc, try #strc n rc.dl.nt.)
20:02:20 <int-e> `cat cat dog canary
20:02:21 <HackEgo> cat: cat dog canary: No such file or directory
20:02:24 <FireFly> Better
20:02:25 <int-e> `` cat cat dog canary
20:02:27 <HackEgo> Meow~~ \ ヽ༼ຈل͜ຈ༽ノ \ chirp
20:03:12 -!- Patashu has joined.
20:24:02 -!- Sprocklem has quit (Ping timeout: 245 seconds).
20:25:42 -!- Patashu has quit (Ping timeout: 245 seconds).
20:59:04 -!- Sprocklem has joined.
21:07:21 <oren> how come so many languages have REPLs but don't porvide the ability to save functions/variables you have defined on the REPL?
21:10:00 <int-e> because they are read-eval-print-loops, not editors.
21:10:38 <oren> but BASIC had that ability in the 1980s
21:11:08 <oren> and matlab has it
21:11:23 <oren> why can't GOOD languages do it?
21:11:48 <cluid> yeah it sucks
21:11:50 <cluid> i dont get it either
21:11:51 <int-e> Not trying to be cocky. It's a mindset that comes from editing code in editors, then loading it to run it. Once you reach that point it's easier to modify the code in the editor and reload it.
21:12:23 <int-e> The strange thing is that nevertheless, simple REPL loops often grow and acquire the ability to define new functions.
21:13:40 <oren> i just had to scroll up in my terminal, and copypaste it and edit the prompts out
21:13:50 <oren> that should not be necessary
21:16:21 <int-e> (The REPLs I can think of don't even keep the entered source code around.)
21:17:12 -!- Vorpal has quit (Ping timeout: 255 seconds).
21:17:31 <int-e> It's noteworthy BASIC comes from a completely different era when running two programs simultaneously was generally not done. So of course you needed an IDE, rather than just a REPL, and an IDE that can't save code is worthless.
21:18:05 <glguy> With a repl you can define definitions in terms of previous effects: x = sizeOfFile "somefile"; f y = y + x, so it might not be enough to just save a function definition. You'd probably need to save the whole transcript
21:18:11 -!- Vorpal has joined.
21:18:14 -!- Vorpal has quit (Changing host).
21:18:14 -!- Vorpal has joined.
21:30:10 <Jafet> You can save the current state of the REPL
21:31:26 <oren> yeah that's what I mean: you should be able to turn the state where there is a variable x and it contains 19, into a file containing "x = 19"
21:31:36 -!- ocharles_ has joined.
21:32:05 <Jafet> Some REPLs store the transcript in a list which you can write out or replay manually (ipython, mathematica)
21:32:37 <glguy> Others let you save a snapshot of the heap to reload later
21:33:18 <Jafet> oren: what about the state where x is a file descriptor?
21:33:50 -!- tswett has quit (Ping timeout: 272 seconds).
21:34:03 <oren> in that case it should either fail to save x or turn it into fopen...fseek...
21:34:27 <oren> not that the language would necessarily use C's functions
21:35:20 -!- Melvar has quit (Ping timeout: 245 seconds).
21:35:31 <Jafet> What if the file is an open TCP socket
21:35:59 <glguy> obviously you'd just also save a version of the remote program alongside your REPL state
21:36:12 <oren> then it should definitely fail (with an error like "cannot save this type of value: TCP-socket")
21:36:13 <glguy> and bring both back up when you were ready
21:36:27 <int-e> I would think that saving transcripts would be useful. Going beyond that in languages that don't have native code inspection is probably not going to pay off.
21:37:13 <glguy> Isn't this basically how smaltalk environments work?
21:37:19 <int-e> So ... not Lisp, Scheme or TCL, did I miss any? ;-)
21:37:37 <int-e> The smalltalk environments that I've seen (very few) use Heap images.
21:38:13 <glguy> which presumably do something to abstract out these rough edges when resuming from a saved heap
21:38:18 <glguy> (where they can be smoothed)
21:38:26 <int-e> probably
21:38:36 -!- Melvar has joined.
21:38:37 <oren> why can't it save as source code?
21:38:48 <oren> like BASIC did?
21:39:27 <cluid> you should be able to
21:39:30 <oren> that way i can develop a function in the repl and then compile it
21:39:46 <cluid> you could make a better REPL with this feature
21:40:37 <oren> i am working on one for scrip7...
21:40:55 <int-e> But the approach to IDEs has been turned upside down. Rather than extending a REPL with editing functionality, we have editors that integrate the REPL.
21:41:19 <cluid> good oren
21:41:20 <int-e> If you want code editing, the state of the art is to use an editor, not a REPL.
21:41:26 <cluid> scrip7 is really cool
21:41:54 <oren> it will be cooler... current version kinda sucks
21:42:24 <oren> it needs better repl, which i am making in ncurses
21:46:04 <oren> the registers will have context-relevant display above the normal scrip7 command line
21:47:51 <oren> and of course the new version of langugae will have better IO commands providing functionality as described above
21:48:28 <oren> and the context-relevant display is fully editable of course
21:49:04 <oren> e.g. point register 0 to a 64-bit value, then edit the displayed value directly
21:50:21 <oren> a drop-in debug/programming console for any C program is what it ends up being
21:52:21 -!- nys has joined.
21:54:25 -!- idris-bot has joined.
21:59:14 -!- Frooxius has quit (Quit: *bubbles away*).
22:00:17 -!- cluid has quit (Remote host closed the connection).
22:04:27 -!- Frooxius has joined.
22:21:35 -!- Sprocklem has quit (Ping timeout: 245 seconds).
22:33:31 <Taneb> Heh, Agda's source has its own definition of lenses
22:33:55 <Taneb> It's essentially a veeery stripped down version of lens
22:49:32 -!- Froox has joined.
22:49:33 -!- Frooxius has quit (Read error: Connection reset by peer).
22:56:50 -!- oerjan has joined.
22:58:03 -!- Decensum|Away has joined.
22:58:15 <oerjan> goddammit, the asus smarttouch (or something like that) driver has died again
22:58:52 <oerjan> the only way i know to fix it is rebooting windows
23:02:42 <oerjan> *smart gesture
23:04:22 <Decensum|Away> C or C++ ?
23:04:24 <oerjan> of course it has to happen when i have 24 tabs open
23:05:02 <oerjan> Decensum|Away: what are you comenting on?
23:05:06 <oerjan> *commenting
23:05:22 <Decensum|Away> Im asking if i should use C or C++
23:05:45 <myname> rust
23:06:21 <Decensum|Away> No
23:06:32 -!- CrazyM4n has joined.
23:06:46 <oren> use C
23:06:59 -!- AndoDaan has quit (Read error: Connection reset by peer).
23:07:04 <Decensum|Away> Thanks
23:07:08 <oren> or C++ without boost
23:07:15 <myname> yes, rust
23:07:24 -!- Decensum|Away has changed nick to Decensum|Zzz.
23:07:55 -!- AndoDaan has joined.
23:07:56 <zzo38> I like to use C
23:08:00 <zzo38> But what program is it anyways?
23:08:04 <Decensum|Zzz> Client stays on for about 5 hours so im gonna go sleep
23:08:13 <Decensum|Zzz> o/
23:08:30 -!- Vorpal has quit (Ping timeout: 240 seconds).
23:08:47 <oren> if he's asking "C or C++" he must have a need for speed
23:09:04 <oren> and possibly a need for low-level hardware access
23:09:18 <myname> soy rust
23:09:22 <myname> *,
23:10:14 -!- Vorpal has joined.
23:10:25 <oren> rust doesn't look stable enough...
23:10:44 <oren> look at what happened to the python community
23:11:26 -!- `^_^v has quit (Ping timeout: 250 seconds).
23:13:02 <myname> 1.0 beta should be out at the beginning of next year
23:13:28 <oren> The foolish man builds his house upon sand.
23:13:38 -!- boily has joined.
23:13:58 <myname> i don't build a house
23:14:15 <oren> The wise man builds his house upon rock: C90, no gnu extensions.
23:14:56 <oren> Or Perl 5
23:15:44 <CrazyM4n> Just slapped together in perl
23:16:26 <oren> myname: it's a biblical reference. the point is you should build important things upon a grounding of things that won't fail.
23:16:33 <oren> or change
23:17:08 <myname> oren: i don't build anything
23:17:43 <myname> at this way i am actually totally okay with unstable languages
23:19:05 <oren> well, ok. but until told otherwise i'mma assume that whatever Decensum is building is something he'd rather not have to constantly revise.
23:27:58 -!- dts|pokeball has quit (Ping timeout: 244 seconds).
23:34:03 -!- dts|pokeball has joined.
23:43:13 -!- dts|pokeball has quit (Read error: Connection reset by peer).
23:47:19 -!- Frooxius has joined.
23:50:42 -!- Froox has quit (Ping timeout: 244 seconds).
23:50:43 -!- Froo has joined.
23:54:18 -!- Frooxius has quit (Ping timeout: 252 seconds).
2014-12-10
00:02:33 -!- Froox has joined.
00:02:33 -!- Froo has quit (Read error: Connection reset by peer).
00:06:21 -!- S1 has quit (Quit: S1).
00:07:34 -!- Froo has joined.
00:07:35 -!- Froox has quit (Read error: Connection reset by peer).
00:14:02 -!- Froox has joined.
00:14:03 -!- Froo has quit (Read error: Connection reset by peer).
00:14:53 -!- Sprocklem has joined.
00:18:36 -!- Froo has joined.
00:21:42 -!- Froox has quit (Ping timeout: 244 seconds).
00:27:01 -!- scounder has quit (Ping timeout: 260 seconds).
00:28:13 <CrazyM4n> I'm trying to refine my documentation
00:28:20 <CrazyM4n> In BF
00:28:38 <CrazyM4n> When you input a char, does it take from the STDIN of the whole runtime?
00:28:40 -!- Decensum|Zzz has changed nick to Decensum.
00:28:44 <CrazyM4n> Or does it just specifically take one char
00:28:57 -!- Frooxius has joined.
00:29:14 <Decensum> Question?
00:29:37 <CrazyM4n> As in, if you were to do ",,", and the first time type ab, and the second time type c
00:29:37 <Decensum> What is the document you are trying to refine
00:29:45 <CrazyM4n> Would you get "ab" or "ac"
00:30:02 <CrazyM4n> (it's my esolang's doc I'm trying to refine)
00:30:08 <Decensum> Oh
00:30:16 <Decensum> Isnt skilled at bf
00:30:54 -!- dts|pokeball has joined.
00:31:17 <AndoDaan> "ab"
00:32:20 <CrazyM4n> Does it take in newlines?
00:32:26 <Decensum> Ok so Void linux is pretty good
00:32:34 -!- Froo has quit (Ping timeout: 264 seconds).
00:33:21 -!- mihow has quit (Quit: mihow).
00:34:04 <oren> depends on version but i assume it does take newlines.
00:34:12 <AndoDaan> Yeah, but I think you have to pick specifically 10 or...
00:34:19 <AndoDaan> what oren said.
00:34:41 -!- mihow has joined.
00:34:46 <CrazyM4n> Er, I mean as in if you did ",," and just typed "a" and pressed return
00:35:06 <CrazyM4n> Would the second comma give back an \n or would it ask for more input
00:35:10 <Taneb> That'd be a\n
00:35:28 <CrazyM4n> How convenient
00:37:58 <oren> except on windows it might give instead \r\n...
00:38:07 <oren> depending on implementation
00:38:38 <oren> text files are still not standard.... stupid unix
00:39:04 <CrazyM4n> *stupid windows
00:39:19 <oren> when ascii came out it was supposed to be \r\n but unix wanted to save one char
00:39:32 <CrazyM4n> A char saved is a char earned :P
00:39:37 <oren> for web data it is also \r\n by standard
00:39:40 <CrazyM4n> Really?
00:39:43 <CrazyM4n> TIL
00:39:52 <oren> yes
00:40:00 <Melvar> Part of HTTP I think …
00:40:15 <oren> http://en.wikipedia.org/wiki/Newline
00:40:26 <CrazyM4n> (that sounded really sarcastic. that wasn't supposed to be sarcastic)
00:40:47 -!- AndoDaan has quit (Read error: Connection reset by peer).
00:40:57 <elliott> Melvar: it's standard for network protocols in general
00:41:00 <elliott> as is big endian
00:41:11 <elliott> they managed to standardise on the exact things nobody uses
00:41:17 <oren> because on line printers, \r moves to the beginning of line, and \n moves down one line
00:41:36 <elliott> (ok, windows uses \r\n, but not big endian. I doubt there are many big endian \r\n environments in production right now.)
00:41:44 <CrazyM4n> So *that's* why it's called carriage return
00:42:00 <oren> yup it comes from carriages on a typewriter
00:42:25 <oren> and in TTML i'm using the same convention
00:42:33 -!- AndoDaan has joined.
00:44:06 <oren> btw, \f is "form feed" and it means "next page"
00:46:57 -!- AndoDaan has quit (Ping timeout: 245 seconds).
00:47:59 -!- scounder has joined.
00:54:38 -!- mihow has quit (Quit: mihow).
01:05:15 -!- hjulle has joined.
01:09:12 -!- shikhout has joined.
01:12:08 -!- shikhin has quit (Ping timeout: 244 seconds).
01:19:25 <fizzie> \v is a vertical tab, and good luck having it do anything useful anywhere.
01:19:51 <oren> it goes down half a line in TTML: good for writing sub/superscripts
01:20:19 <lifthrasiir> do we have any <third axis here> tab?
01:21:00 <oren> not in ttml but you could extend it when we get 3d wed environments like is ghost in the shell
01:21:00 <elliott> you could consider pages the third axis, since you stack them
01:21:05 <elliott> trefunge-98 does
01:21:20 <oren> so then \f is the third axis
01:22:33 -!- idris-bot has quit (Quit: Terminated).
01:23:24 -!- idris-bot has joined.
01:26:58 -!- ^v has joined.
01:27:05 -!- ^v has quit (Read error: Connection reset by peer).
01:39:04 -!- boily has quit (Quit: BIPEDAL CHICKEN).
01:42:07 <oren> the expression ((c%32+15)%23+8)%16 converts an ascii hex character c to its hex value
01:43:14 <oren> might be doable in only one mod, add cycle but not sure how
01:43:39 <lifthrasiir> oren: I think it's 10 instead of 8
01:43:55 <oren> try it?
01:44:15 <lifthrasiir> ((65%32+15)%23+8)%16 == 8, expected 10
01:44:52 -!- Sprocklem has quit (Ping timeout: 245 seconds).
01:45:57 <oren> hmmm....
01:46:27 <lifthrasiir> oren: (c|32)%39-9 would work
01:47:51 <oren> right! i knew it must be doable in one mod add cycle (not quite but i'll take it)
01:49:46 <oren> in fact if you only want lowercase then you don't need the |32
02:01:49 -!- _AndoDaan has joined.
02:13:44 <HackEgo> [wiki] [[Ttml]] http://esolangs.org/w/index.php?diff=41403&oldid=41382 * Orenwatson * (-46) we don't need hyphens when the format doesn't support autowrapping anyway.
02:15:22 <lifthrasiir> oren: why only green, red and blue (and possibly purple or gold/amber)?
02:15:58 <oren> because in old days having colors meant printing the page once for each color
02:16:13 <lifthrasiir> ah, backstriking?
02:16:27 <lifthrasiir> move back and overstriking*
02:16:35 <lifthrasiir> hmm
02:16:49 <lifthrasiir> shouldn't that be cyan, magenta and yellow then?
02:17:54 -!- oerjan has quit (Quit: nite).
02:18:22 <oren> not exactly. each time youprint a page, the page would be printed in a slightly different place. if you printed the page in both red and blue, you'd get two slightly-off letters, with the overlap in purple
02:19:01 <elliott> you don't use green, red and blue ink though
02:19:05 <elliott> you use CMYK
02:19:58 <oren> depends on the printer, as i said old printers you had to physically change the ink cartridge manually for each new color (and change the typeball for each alphabet)
02:20:46 <oren> if you used color mixing you'd hae registration problems due to the teletype's mechanicla tolerances
02:20:49 <elliott> ...but it's still subtractive colour, right?
02:21:51 <oren> not exactly. each color has its own ink. you don't mix colors at all due the problems of getting the teletype to strike the exact same place twice
02:22:08 <oren> (on two different print runs no less)
02:23:23 -!- MoALTz_ has joined.
02:26:05 -!- MoALTz has quit (Ping timeout: 250 seconds).
02:27:42 <oren> thus it makes sense to only stock inks of the most used colors, especially red and green
02:28:14 <oren> (for financial data, y'know)
02:29:25 -!- Sprocklem has joined.
02:30:25 <elliott> fair enough
02:31:06 <oren> this is designed to be retro -- not to the 1980's, the 1960's!
02:32:02 <oren> so it has arbitrary limitations
02:59:19 -!- ZombieAlive has quit (Remote host closed the connection).
03:25:22 <CrazyM4n> So I realized my implementation for something i wrote a long time ago was wrong
03:25:34 <CrazyM4n> I looked back at the incorrect code
03:25:41 <CrazyM4n> http://i.imgur.com/SxFaEhw.png
03:25:51 <CrazyM4n> mfw http://i.imgur.com/CcKQTXg.png
03:27:02 <oren> it isn't one indexed?
03:27:49 <CrazyM4n> drop is 0 indexed, dropFromIndex was some hacky function I made that is one indexed for whatever reason
03:28:17 <oren> so you are TRWTF?
03:28:51 <CrazyM4n> yes
03:29:01 <CrazyM4n> the sad part is that that ended up breaking everything
03:33:07 <CrazyM4n> ... I just can't stop breaking things today
03:33:47 <oren> sometime you have to break the bone before you can set it
03:34:22 <CrazyM4n> I just re-factored some other code a ton just to realize my other implementation worked correctly and this doesn't work because the stack is being popped when I don't want it to be popped
03:34:33 <CrazyM4n> You're right
03:36:08 <CrazyM4n> There we go, heh
03:36:48 -!- Sprocklem has quit (Ping timeout: 244 seconds).
03:44:31 -!- dts|pokeball has changed nick to dts.
03:44:55 -!- dts has changed nick to dts|pokeball.
03:52:00 -!- bb010g has joined.
04:03:18 <oren> http://snag.gy/wFFiC.jpg
04:03:48 <oren> is this worse or better than using comic sans?
04:07:41 <oren> this is the densest font i was able to find that supports japanese
04:08:08 <paul2520> so do you have a preference for dense fonts?
04:08:11 <shachaf> http://slbkbs.org/ser.html -- Ctrl-F and type something in Chrome
04:09:37 -!- lambdabot has quit (Remote host closed the connection).
04:09:56 -!- nys has quit (Quit: /quit quit).
04:10:41 <oren> paul2520: yes i want more code on my screen (contrary to the picture i usually have like 5 terminals open)
04:11:04 <oren> shachaf: how the heck is it doing that?
04:12:44 <paul2520> makes sense
04:15:25 -!- esowiki has joined.
04:15:28 -!- glogbot has joined.
04:15:29 -!- esowiki has joined.
04:15:30 -!- esowiki has joined.
04:16:44 <shachaf> If only web browsers had a feature where you could look at how web pages do what they do.
04:17:36 <_AndoDaan> ...
04:17:40 <oren> just because i can see the code doesn't mean i can understand it, shachaf
04:20:20 <oren> there should be a comedy sketch where neo can see the code, but he doesn't know the matrix's programming language
04:20:40 <CrazyM4n> Looks like chrome leaks data somewhere
04:20:41 -!- _AndoDaan_ has joined.
04:20:47 <CrazyM4n> Try scrolling with the scroll bar
04:20:56 <oren> it somehow also works in firefox though
04:21:06 <CrazyM4n> Webkit?
04:21:08 <_AndoDaan_> The actual find text input tabby thingie gets hidden too?
04:21:17 -!- shachaf has quit (Quit: Reconnecting).
04:21:21 <oren> in firefox it doesn't
04:21:30 -!- shachaf has joined.
04:21:32 <CrazyM4n> Nor on chrome, for me
04:21:40 <oren> but the text you look for still appears
04:21:59 <shachaf> http://slbkbs.org/sel.html is a version that works only with Firefox.
04:22:00 -!- _AndoDaan has quit (Ping timeout: 255 seconds).
04:22:37 <CrazyM4n> http://i.imgur.com/OGpgqvZ.png in some weird generic Ubuntu Web Browser
04:22:52 <CrazyM4n> (doesn't have a find menu, happens when scrolling)
04:23:33 <oren> what the hell that is a serious security hazard
04:24:13 <oren> could it target your history/other tabs and send it back?
04:24:23 <CrazyM4n> No, gets the current selection
04:24:29 <CrazyM4n> Press ctrl-a to freeze firefox
04:24:43 <CrazyM4n> Not sure about the chrome one
04:25:12 -!- trn has quit (Quit: quit).
04:25:59 -!- trn has joined.
04:30:46 -!- _AndoDaan_ has quit (Ping timeout: 264 seconds).
04:38:59 -!- password2 has joined.
04:40:37 -!- MDude has changed nick to MDream.
04:49:49 -!- _AndoDaan has joined.
04:54:57 -!- Decensum has quit (Quit: Connection closed for inactivity).
05:00:41 -!- password2 has quit (Read error: Connection reset by peer).
05:03:09 -!- indiagreen has joined.
05:10:09 <elliott> `relcome indiagreen
05:10:10 <HackEgo> indiagreen: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
05:11:45 <shachaf> I'm not sure relcome is valid for anyone except relrod.
05:12:13 -!- CrazyM4n has quit (Quit: "sleep").
05:14:54 -!- shikhout has quit (Ping timeout: 272 seconds).
05:16:10 <oren> GAAAAA burned once again by C's precedence rules!!!!
05:16:30 <oren> and people wonder why i don't like ALGOL dialects
05:17:47 -!- password2 has joined.
05:18:08 -!- password2 has quit (Read error: Connection reset by peer).
05:20:33 <lifthrasiir> oh, but it's great that you can write x=a*b+c>>d&~e|f,y=x; in place of x=(((a*b+c)>>d)&~e)|f); y=x;
05:21:05 <lifthrasiir> very useful in golfing
05:21:21 <oren> that is the opposite of great. bitwise ops should be below math
05:21:54 <oren> (asuming you view the parse tree as reaching down)
05:22:43 <lifthrasiir> (I have to say that, when it is useful in golfing, it is normally useless for other jobs.)
05:23:31 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:24:05 <oren> that is why scrip7 does not even have a parse tree
05:24:36 <oren> so there is less to memorize
05:27:04 -!- b_jonas has quit (Ping timeout: 244 seconds).
05:27:11 <oren> well also because it is easier for me to write an implementation ifi don't need to build a parse tree
05:29:01 -!- b_jonas has joined.
05:30:17 <Sgeo> `slist
05:30:18 <HackEgo> slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot
05:35:55 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41404&oldid=41296 * Orenwatson * (+67) uploaded super unstable release
05:37:30 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41405&oldid=41404 * Orenwatson * (-26) updated example for super unstable version
05:41:46 <HackEgo> [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41406&oldid=41405 * Orenwatson * (+0) updated literals
06:02:27 <Sgeo> My prescription glasses are a gimmick
06:02:35 <Sgeo> They're effectively 3D glasses for the real world
06:08:49 -!- drdanmaku has quit (Quit: ,).
06:26:33 -!- MoALTz_ has quit (Quit: Leaving).
06:27:00 -!- scounder has quit (Ping timeout: 258 seconds).
07:03:50 -!- hjulle has quit (Ping timeout: 240 seconds).
07:08:46 -!- scounder has joined.
07:26:24 -!- Patashu has joined.
07:40:19 <Taneb> oooh slist is a thing that is happening
07:40:23 <Taneb> Although looking at the list you mayswell just ping me
07:41:36 <b_jonas> no, it's the past
07:47:57 -!- Frooxius has quit (Quit: *bubbles away*).
08:22:29 <relrod> shachaf: ;)
08:31:47 <Sgeo> http://www.introducingcarrot.com/
08:32:37 <oren> lololol!
08:32:55 <oren> generic marketing words
08:34:49 <Sgeo> https://twitter.com/jaden_coding
08:39:11 <Sgeo> I want carrots now.
08:40:06 <oren> ha! i don't eat any real vegetables, only fried potatoes and onions
08:41:09 <oren> "want C's safety and BF's readablity? then look no further than scrip7!"
08:44:14 <lifthrasiir> actually, scrip7 seems quite readable compared to BF
08:44:19 <lifthrasiir> so it's a middle ground
08:58:47 <oren> hollerith notation is now implemented
08:58:59 <oren> cause quotes suck
08:59:26 <oren> 13"Hello, World!
09:00:07 <elliott> that doesn't look LR(0), oren
09:00:27 <oren> how is it not? it reads once from left to right?
09:00:51 <oren> there is no backtracking
09:01:15 <elliott> well, ok.
09:01:18 <elliott> what are your number literals like?
09:02:28 <oren> for integers 1234, for floats 1343.2231, for hex 4%ff = ffffffff. the space at the end of a hex literal is mandatory
09:03:51 <zzo38> Parsing such Hollerith notations would require to know what is previously parsed in order to decide what to do next (actually, I suppose it could be done without but then the parsing table would need to be infinite).
09:04:32 <oren> no it just allocates n bytes and then memcpys the next n bytes into the string
09:04:50 <oren> it does not detect end of code or anything.
09:05:25 <oren> it will copy the next n bytes of memory after the " into the string
09:05:52 <zzo38> Yes I know that
09:06:09 <oren> it is effectively one token
09:06:37 <zzo38> It means the parser needs to read the entire number first to know how to do and cannot use an ordinary parsing table or regular expression or anything like that
09:07:35 <zzo38> Actually, I am not entirely sure. Let's see if a LR parsing table can actually do it by itself.
09:08:44 <oren> (note that the interpreter i wrote does not have a lexer or a parser or anything, it is just a ream of ad-hoc code, and therefore things like LR(0) don't really even apply)
09:08:59 <zzo38> Despite this, a manual parser/lexer shoudn't be too difficult to parse this.
09:09:54 <elliott> oren: what I mean is that in 123456789"q you don't know whether the 1 starts a string or number literal until you see the H.
09:09:57 <elliott> er, the ".
09:10:47 <zzo38> oren: Perhaps it doesn't apply to your implementation (and as you say, it shouldn't!), but still it is meaningful to say whether or not it is LR(0) or whatever, as well as to say token or the byte stream
09:11:59 <oren> hmm can you not define-- string_lit ::= integer_lit '"' binary_data
09:12:39 <oren> no, the lexer needs to be too complex
09:13:05 <oren> and that isn't LR(0).
09:13:10 <zzo38> You are correct that implementation won't work of course.
09:14:38 <oren> hmmmm i don't think hollerith strings are LR(0) which essentially means that the "conceptual complexity" is higher than the "real complexity" because real computers are arbitrarily focused on integers...
09:15:37 <oren> and have primitives for integers that don't appear in regular expressions or general parsers.
09:20:13 <oren> the "real complexity" of parsing a hollerith string involves pointer arithmetic and the expression i=i*10+c-'0' neither of which are primitive to a symbol-based computing environment like a regex
09:26:13 <zzo38> In a combinator parser it might look like: hollerith = (integerLiteral <* quotationMark) >>= thisManyCharacters; See the ">>=" is involved which means it involves "impure action symbols".
09:26:36 <elliott> oren: what
09:26:58 <elliott> nothing you said made much sense
09:27:18 <elliott> you're way too focused on details of machine representation when talking about something in the realm of theory...
09:28:28 <oren> ummm... is it wrong to say that regexes work on symbols while real computers in general work on numbers?
09:28:43 <elliott> never mind
09:29:38 <zzo38> Real computers in general work on bits, isn't it? So, you cannot actually use numbers too large to fit in the memory.
09:31:38 <oren> that is a major difference but the difference salient to the problem at hand is that a real computer can compute the value of "43" as an integer and use that to tell how long the string is, while a regex can't (at least not easily).
09:32:09 <oren> so a lexer implemented as general code can do this easily while a lex lexer can't
09:33:06 <oren> that is all i'm saying: regex engines do not have arithmetic
09:33:17 <zzo38> O, that's all, then OK
09:34:40 <zzo38> I still wonder if such a thing would be actually possible though in the unbounded way using such mathematical models as regex or LR or whatever else; another model is Ligature Machine and I wonder if any variants of the Ligature Machine are capable of such thing.
09:46:08 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41407&oldid=41402 * TomPN * (-35) /* Syntax */
09:47:29 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41408&oldid=41407 * TomPN * (+52)
09:48:40 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41409&oldid=41408 * TomPN * (+107)
09:56:08 <oren> in terms of ligature machine, i think key question is given a number in decimal N, can we produce the string of N symbols?
09:56:39 <oren> converting decimal to unary would help considerably
09:57:38 <HackEgo> [wiki] [[IDTM]] N http://esolangs.org/w/index.php?oldid=41410 * TomPN * (+629) Created page with "'''IDTM''', or Infinite Dimensional Tengwar Meltdown, is an esoteric programming language written by Tom Price-Nicholson in 2014. IDTM draws together ideas from his earlier pr..."
09:59:05 <oren> tengwar are awesome but they are not easily distinguishable...
10:01:21 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41411&oldid=41410 * TomPN * (+294)
10:02:13 <oren> "the tengwar language from Lord of the Rings" -- youv'e got to be trolling me, aaaaaaa
10:06:00 <HackEgo> [wiki] [[Talk:IDTM]] N http://esolangs.org/w/index.php?oldid=41412 * Orenwatson * (+125) blahg
10:09:37 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41413&oldid=41411 * TomPN * (+912)
10:17:55 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41414&oldid=41413 * TomPN * (+484)
10:38:21 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41415&oldid=41414 * TomPN * (+1979)
10:39:11 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41416&oldid=41409 * TomPN * (+65) /* See also */
10:39:53 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41417&oldid=41415 * TomPN * (+100)
10:40:13 <HackEgo> [wiki] [[Dimensions]] http://esolangs.org/w/index.php?diff=41418&oldid=41396 * TomPN * (+67) /* See also */
10:40:30 <HackEgo> [wiki] [[Quantum Dimensions]] http://esolangs.org/w/index.php?diff=41419&oldid=41397 * TomPN * (+42) /* See also */
10:40:44 <HackEgo> [wiki] [[Musical notes]] http://esolangs.org/w/index.php?diff=41420&oldid=41394 * TomPN * (+42) /* See also */
10:41:28 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41421&oldid=41398 * TomPN * (+11) /* I */
10:42:13 <HackEgo> [wiki] [[User talk:TomPN]] http://esolangs.org/w/index.php?diff=41422&oldid=41399 * TomPN * (+10) /* Other esolangs */
10:44:10 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41423&oldid=41417 * TomPN * (+0) /* The Tehtar */
10:44:19 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41424&oldid=41423 * TomPN * (+0) /* Instructions */
10:49:53 <HackEgo> [wiki] [[User:TomPN]] N http://esolangs.org/w/index.php?oldid=41425 * TomPN * (+354) Created page with "Also know as Tom Price-Nicholson. I have created a bunch of esolangs. Here is a list in chronological order: * [[Musical notes]], 2014 * [[Dimensions]], 2014 * Quantum Dim..."
11:08:55 <_AndoDaan> ...And here I am endlessly agonizing over what my first esolang should be.
11:09:23 -!- cluid has joined.
11:10:33 <Taneb> zemhill, help
11:11:01 <_AndoDaan> cluid, what was your first esolang?
11:12:51 <cluid> I don't know
11:13:27 <cluid> i wish i knew, it's probably just boring old brainfuck though
11:14:01 <_AndoDaan> I mean, language that you authored.
11:14:51 <cluid> I haven't created any esolangs
11:15:46 <cluid> have y0ou?
11:15:55 <cluid> I've tried, but I didnt come up with something original yet
11:16:18 <_AndoDaan> Ah, sorry. I would have guessed that you had.
11:16:33 <cluid> this shame consumes me
11:16:47 <_AndoDaan> I'm in the same boat.
11:17:03 <cluid> we could coauthor one
11:17:35 -!- AndoDaan has joined.
11:17:51 -!- _AndoDaan has quit (Quit: Bye).
11:18:35 <AndoDaan> hmm, that could be interesting. At the very least it would help knock some ideas around.
11:26:09 <cluid> http://esolangs.org/wiki/McCulloch%27s_second_machine
11:26:11 <cluid> I want to solve this too
11:27:33 <AndoDaan> Yeah, I saw that earlier. By solve, you mean " User:b_jonas would like to see a proof..."
11:27:37 <AndoDaan> ?
11:27:39 <cluid> yes
11:27:43 <cluid> it looks far too difficult though
11:31:22 <AndoDaan> So if the machine is TC equivalent, that would mean it is not possible.
11:31:44 <cluid> yeah
11:35:17 <AndoDaan> hmm, it feels like a 3x+1 function.
11:35:38 <AndoDaan> Collatz, I mean.
11:36:46 <cluid> yeah
11:36:58 <cluid> If you could code a 3x+1 style iteration into it that would be very interesting
11:38:33 <mroobmoobn> I don't remember what my first esolang was
11:38:38 <mroobmoobn> it's not on the esowiki
11:38:40 -!- mroobmoobn has changed nick to mroman.
11:38:51 <AndoDaan> not burlesque?
11:41:25 <Taneb> I know what my first esolang was, and I believe the spec has been lost
11:45:57 -!- Patashu has quit (Ping timeout: 250 seconds).
11:51:11 -!- oerjan has joined.
11:51:58 <oerjan> argh the driver died _again_... no wait it suddenly showed up.
11:52:02 <oerjan> whew
11:53:00 <oerjan> except it had an exclamation mark for a moment... and now i'm having trouble with its menu.
11:53:48 <mroman> AndoDaan: http://codepad.org/Xd33Oy5f
11:53:49 <oerjan> ok seems to be working.
11:53:50 <Taneb> oerjan, what
11:53:55 <mroman> it was more like something like that
11:54:15 <mroman> No, Burlesque wasn't my first esolang by far :D
11:54:55 <oerjan> Taneb: i have a driver for my touchpad that sometimes dies after hibernating the computer and then my touchpad gets very annoying to use (no scrolling), and the only way i've found to fix it is to reboot windows entirely.
11:55:08 <Taneb> Oooh, I thought you meant like a bus driver
11:55:24 <oerjan> Taneb: no. in fact i rarely take the bus.
11:55:29 <cluid> I just invented an esolang: tree-Brainfuck
11:55:46 <cluid> it has two new operators, PUSH and POP which let you manage a tree of tapes
11:55:55 <cluid> it is much easier to program in than brainfuck
11:56:56 <cluid> if the tape head is here: 0101010101[1]010111 then when you push do stuff and pop, anything left of [] will be retained, but anythig right of [] will be deleted
11:57:00 <cluid> I mean reverted
11:58:35 <elliott> cluid: is this your rite of passage
11:59:15 <cluid> it could be called brainstacks
12:00:26 <fizzie> oerjan: I parsed it as if it was about a person, too.
12:00:52 <oerjan> fizzie: ARE YOU SAYING PERSONS ARE DYING INSIDE MY COMPUTER TDNH
12:01:05 <cluid> hey oerjan have you thouht about mchullochs second machine?
12:01:16 <oerjan> yep, in fact i think i've nearly solved the problem
12:01:38 <fizzie> oerjan: That's what makes it run.
12:02:03 <oerjan> fizzie: always knew computers were fiendish, but...
12:02:33 <oerjan> i think my only remaining case is when there are no 3's and exactly 2 5's
12:02:52 <oerjan> (and whatever 2's and 4's)
12:03:25 <oerjan> b_jonas: ^
12:04:06 <cluid> damn!!
12:04:08 <cluid> nice workk
12:05:24 <oerjan> the remaining case is somewhat complicated though, e.g. 5252 is immortal but 2525 is not
12:08:14 <oerjan> hm i think 2442 as a substring is equivalent to 2
12:08:42 <oerjan> oh wait
12:09:00 <oerjan> no, not necessarily
12:09:26 <oerjan> the first 2 could be prefixed by a 5 say
12:10:02 <oerjan> 5244252 -> 4425244252 -> 5244252 oh hm that case works
12:12:54 <oerjan> 425245 -> 5425 -> 55 hm
12:15:03 <oerjan> 42252245 -> 542252 -> 252252 --> 252252 so it can be immortal even if the second 5 is last
12:16:15 <oerjan> at this point, it's the 4's that seem to complicate matters
12:17:03 <oerjan> anyway, any string iterates either to this stage or to one which is obviously mortal or obviously immortal
12:17:20 <b_jonas> oerjan: ok
12:17:26 <cluid> awesome!
12:17:37 <cluid> i wonder how you found that out
12:17:55 <b_jonas> and yes, the 4 definitely complicate the matters, it's the twist.
12:19:37 <oerjan> cluid: the first thing to notice is that if you have a string of the form x ++ y ++ z, then in less than length(x)+length(z) iterations it will either die or get to a string that starts with y or reverse(y)
12:20:16 <oerjan> that's how you prove that strings with digits other than 2,3,4,5 cannot be immortal, for one thing
12:20:21 <b_jonas> oerjan: um, no, you need some more restrictions to make that precise
12:20:36 <oerjan> b_jonas: are you sure?
12:21:02 <b_jonas> oerjan: x=3, y=2, z=3 is a counterexample, it is immortal but never iterates to a string that starts with y or reverse(y)
12:21:18 <oerjan> oops
12:21:43 -!- prontotest has joined.
12:21:44 -!- prontotest has left.
12:21:52 <oerjan> oh
12:22:07 <oerjan> right it's imprecise.
12:23:06 <oerjan> it's that m() will be applied to something of that form
12:23:28 -!- dianne has joined.
12:24:12 -!- drdanmaku has joined.
12:24:39 <oerjan> but it can possibly happen as part of the rule calculating a prefix
12:25:36 <oerjan> so it will start with something of the form [345]* ++ y or [345]* ++ reverse(y)
12:26:05 <oerjan> hopefully that is correct.
12:28:05 <oerjan> anyway, after getting digits outside [2345] out of the way, you can note that if there are 3's in the string, it will get to [345]*3 ++ s. if m(s) doesn't contain 3, then all 3's die; if m(s) _does_ contain 3, then this case is immortal. (because anything of the form ...3...2...3... is immortal)
12:29:05 <oerjan> *all 3's disappear
12:29:54 <oerjan> now the remaining case has only [245]
12:31:16 <oerjan> we count the number of [45]+ blocks in it. if there is just one, it is mortal. if there are three or more, it's immortal. (there's a ...5...2...5...2...5... rule similar to the ...3...2...3... one)
12:32:44 <oerjan> oh hm
12:32:51 -!- S1 has joined.
12:32:58 <oerjan> * 5[45]+ blocks
12:33:04 <oerjan> needs to have at least one 5
12:33:04 -!- S1 has left.
12:36:02 <oerjan> after a few steps of executing these blocks, you either will have merged the result blocks to one (thus mortal), expanded to more than two (thus immortal), or the two remaining blocks can only have one 5 each.
12:37:29 <oerjan> and now it depends a lot on the surrounding pattern of 2's and 4's what happens, it seems.
12:37:53 <oerjan> which i haven't solved yet.
12:51:37 <oerjan> hm i guess this case is hardest precisely because it _doesn't_ blow up trivially.
13:12:17 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41426&oldid=41421 * TomPN * (+25) /* Q */
13:14:37 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41427&oldid=41416 * TomPN * (+2) /* Adding tehtar to form instructions */
13:18:32 -!- GeekDude has joined.
13:18:36 -!- GeekDude has quit (Changing host).
13:18:36 -!- GeekDude has joined.
13:19:07 <HackEgo> [wiki] [[RingCode]] http://esolangs.org/w/index.php?diff=41428&oldid=41427 * TomPN * (+10) /* Syntax */
13:27:25 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41429&oldid=41424 * TomPN * (+33) /* Instructions */
13:28:07 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41430&oldid=41429 * TomPN * (+0) /* Entropy */
13:40:49 <Sgeo> unsafe { sgeo.attemt_to_get_through_day_without_phone(); ]
13:40:52 <Sgeo> }
13:41:06 <Sgeo> :(
13:41:52 <int-e> hmm.
13:42:27 <int-e> is that a phone-to-be-called-and-call-people-with, or a phone-with-gps-to-know-where-you-are?
13:42:42 <Sgeo> Both
13:43:07 <int-e> which of those is causing you to suffer?
13:43:16 <Sgeo> Although the former is more signficant day to day, latter is going to be significant Friday
13:43:28 <Sgeo> Just in a feeling of safety way
13:43:44 <Sgeo> I don't necessarily use it all the time to keep safe, but like knowing it's there
13:44:16 <cluid> is it an ipod?
13:44:19 <cluid> apple phone
13:44:41 <Sgeo> no
13:45:01 <Sgeo> It is a phone with what I am guessing is a damaged USB port
13:45:09 <b_jonas> use a spare phone
13:45:45 <Sgeo> Looked for my old phone, couldn't find it
13:46:31 <Sgeo> AFK
13:58:26 -!- MDream has changed nick to MDude.
14:16:37 <cluid> How did Gosper discover the glider gun?
14:16:53 <cluid> I know that he used an oscilloscope to display/animate GOL
14:20:21 -!- indiagreen has left.
14:22:04 <elliott> wow, he did?
14:22:07 <elliott> that's so cool
14:25:01 <b_jonas> I don't think so
14:25:08 <b_jonas> I think that's earlire
14:25:25 <b_jonas> oscilloscope was used to animate GoL, but only for simple constructs like the glider
14:25:28 <b_jonas> the gun is later
14:28:27 -!- augur_ has quit (Remote host closed the connection).
14:29:01 -!- augur has joined.
14:33:10 -!- augur has quit (Ping timeout: 240 seconds).
14:38:20 -!- GeekDude has quit (Ping timeout: 250 seconds).
14:39:17 -!- GeekDude has joined.
14:40:00 -!- GeekDude has changed nick to GeoDude.
14:44:30 -!- scounder has quit (Changing host).
14:44:31 -!- scounder has joined.
14:50:41 -!- GeoDude has changed nick to GeekDude.
14:53:50 -!- FreeFull has quit (Ping timeout: 240 seconds).
14:59:28 -!- AndoDaan_ has joined.
15:02:32 -!- AndoDaan has quit (Ping timeout: 252 seconds).
15:02:42 -!- `^_^v has joined.
15:02:57 <cluid> https://www.youtube.com/watch?v=BpgA2oCQj9o
15:03:14 <cluid> computing pi in game of life
15:25:52 -!- ZombieAlive has joined.
15:30:30 -!- Sprocklem has joined.
15:40:47 -!- hjulle has joined.
15:45:50 -!- FreeFull has joined.
15:54:15 -!- Decensum has joined.
15:55:45 -!- augur has joined.
16:00:52 <Decensum> If the Finnish border isnt called the Finnish line im done with life
16:01:09 <Decensum> Also C worked thanks for telling me to use that
16:03:03 <cluid> The joke is that finnish line sounds like finish line
16:03:11 <cluid> prety good
16:04:41 <Decensum> Yeh
16:19:38 <cluid> I can't find a download for Martin Gardner scientific american :(
16:21:43 <Decensum> Torrent it
16:21:49 <Decensum> Or use deepweb
16:22:19 <cluid> how do I do that?
16:23:24 <Decensum> VPN+t0r i think
16:23:32 <Decensum> Or go torrent it
16:23:52 <Decensum> Idk what Martin garder is so ask someone here
16:24:56 <cluid> OK
16:25:08 <cluid> Decensum, where do i get martin gardner scientific american?
16:25:41 <cluid> The joke is that technically you are someone here, even though its already clear you dont know the answer
16:26:46 <Decensum> Then why ask me?
16:27:42 <AndoDaan_> the joke.
16:28:16 <Decensum> I see now
16:28:40 <Decensum> :I
16:41:35 <elliott> Decensum: you're allowed to type "tor"
16:41:57 <AndoDaan_> I hear sirens.
16:43:50 <elliott> it was crated by the US naval research laboratory and the department of state is a major source of funding, talking about it is unlikely to produce any sirens in the US at least :p
16:44:00 <elliott> *created. *developed, even, whatever
16:44:23 <oerjan> elliott: stop correcting yourself so fast i was going to make an indiana jones joke
16:45:11 <elliott> oerjan: sorry, OCD refuses to cooperate with that request :p
16:45:15 <oerjan> darn
16:47:14 -!- ocharles_ has quit (Ping timeout: 258 seconds).
16:47:14 -!- supay has quit (Ping timeout: 258 seconds).
16:47:15 -!- mihow has joined.
16:48:21 -!- bb010g has quit (Ping timeout: 244 seconds).
16:48:25 -!- Decensum has quit (Ping timeout: 272 seconds).
16:48:46 -!- drdanmaku has quit (Ping timeout: 258 seconds).
17:08:03 -!- Sprocklem has quit (Ping timeout: 272 seconds).
17:08:34 -!- MDude has quit (Read error: Connection reset by peer).
17:11:57 -!- Sprocklem has joined.
17:17:32 -!- axelcsep has joined.
17:23:54 -!- shikhin has joined.
17:35:30 -!- axelcsep has quit (Ping timeout: 265 seconds).
17:43:24 -!- drdanmaku has joined.
17:45:12 -!- Vorpal has quit (Ping timeout: 250 seconds).
17:46:15 -!- Vorpal has joined.
17:46:15 -!- Vorpal has quit (Changing host).
17:46:15 -!- Vorpal has joined.
17:48:16 -!- oerjan has quit (Quit: leaving).
17:59:07 -!- bb010g has joined.
18:04:17 -!- ocharles_ has joined.
18:05:59 -!- oren has quit (Quit: conexion taimd aut).
18:09:19 -!- augur has quit (Remote host closed the connection).
18:21:23 -!- supay has joined.
18:23:04 -!- augur has joined.
18:25:31 -!- Decensum has joined.
18:34:28 -!- oren has joined.
18:37:40 <oren> any tips on what i'll forget during an algorithm design exam?
18:39:20 -!- dario has joined.
18:42:00 <dario> hi
18:42:34 -!- GeekDude has quit (Read error: Connection reset by peer).
18:43:13 <oren> hi
18:44:10 <dario> how are you?
18:44:37 <oren> great!
18:45:35 -!- GeekDude has joined.
18:49:33 <cluid> brainntree: BF on infinite tree of cells ratger than a tape
18:49:54 <elliott> braingraph
18:50:08 <elliott> that actually sounds kind of interesting :/
18:50:25 <elliott> maybe add some way to tie the graph up circularly and then restrict loops somehow
18:50:34 <oren> would need a way to specify the topology of graph
18:50:56 <oren> (in informal sense of "topology")
18:51:42 <oren> like how many edges each vertex has, how many vertices it loops at, ets
18:51:48 -!- augur has quit (Remote host closed the connection).
18:52:21 <elliott> I was assuming you'd change the graph structure dynamically as it executes
18:52:34 <elliott> reify control into it
18:53:15 <oren> oh! then the [ statement would be a fork in the graph
18:53:27 <oren> with a zero and nonzer edge
18:53:52 <elliott> well, I was rather thinking that you'd only get a simple restricted (not TC on a tape) control structure
18:53:59 <elliott> and you'd have to make it TC by tying the graph up appropriately
18:54:32 <elliott> like, only "balanced" loops, but you can change the edges dynamically during the loop
18:55:43 -!- Sprocklem has quit (Ping timeout: 272 seconds).
19:00:35 -!- augur has joined.
19:09:44 -!- shikhout has joined.
19:10:04 -!- shikhin has quit (Disconnected by services).
19:10:09 -!- shikhout has changed nick to shikhin.
19:10:23 -!- S1 has joined.
19:11:14 <oren> which NPC problems are good for reducing problems to?
19:12:56 <oren> *reducing problems from...
19:20:36 <fizzie> Throw a 21-sided die, pick result from http://en.wikipedia.org/wiki/Karp%27s_21_NP-complete_problems
19:22:40 <oren> cool. i'll write those down and that will be my aid sheet for algorithms/computability
19:23:18 -!- Sprocklem has joined.
19:23:49 <oren> everything else in the course is simple, i just need to know which famous problems are actually known to be NPC
19:23:54 <shachaf> i reduce this problem to deckard cain being trapped in tristram hth
19:24:18 <shachaf> @google which famous problems are actually known to be NPC
19:24:19 <lambdabot> http://en.wikipedia.org/wiki/List_of_NP-complete_problems
19:24:19 <lambdabot> Title: List of NP-complete problems - Wikipedia, the free encyclopedia
19:25:14 <oren> so i can write their names and descriptions down on my aid sheet for the exam. it's lucky that i get to make an aid sheet...
19:26:54 <oren> ooh, subset sum! i forgot that one!
19:27:37 <cluid> sokoban
19:28:30 <int-e> sokoban is pspace-complete, so too hard.
19:29:30 <cluid> :O
19:29:42 <oren> :B
19:30:05 <J_Arcane> what about the binary puzzle.
19:30:34 <J_Arcane> I noticed there don't seem to be many solvers for those, but perhaps it's just a case of no one knowing about them or bothering.
19:32:01 <J_Arcane> (like Pousse)
19:35:54 -!- oren has quit (Quit: lunchtaim).
19:50:28 -!- dts|pokeball has quit (Quit: Leaving).
19:50:51 -!- dts|pokeball has joined.
19:51:21 -!- axelcsep has joined.
20:02:34 -!- dts|pokeball has quit (Quit: Leaving).
20:02:59 -!- dts|pokeball has joined.
20:04:47 -!- dario has quit (Read error: Connection reset by peer).
20:05:47 -!- nycs has joined.
20:07:17 -!- `^_^v has quit (Ping timeout: 272 seconds).
20:18:54 -!- Patashu has joined.
20:24:50 -!- jose__ has joined.
20:26:01 <jose__> it's really big the portal, is there some esoteric social network in existence?
20:26:58 <zzo38> Just IRC, I think
20:27:08 <cluid> is anyone good at derivatives of data types?
20:27:34 <zzo38> cluid: What question do you have about it other than that?
20:27:35 <shachaf> i got an AAAA+++++ on my derivatives of data types course
20:27:45 <shachaf> (it was on ebay)
20:28:36 <cluid> zzo38, I'm not sure how to write movement functions for data T a = Branch (T a) a (T a), I have already got data Z a = ZL (Z a) a (T a) | M T T | ZR (T a) a (Z a)
20:29:59 <zzo38> I am not quite sure either
20:30:42 <zzo38> Although the term "M T T" in your definition look like wrong to me, it is the wrong kind, isn't it?
20:31:01 -!- Decensum has quit (Quit: Connection closed for inactivity).
20:31:22 <cluid> thank for the correction, I've changed it to M (T a) (T a) now
20:32:25 <cluid> ah I thinkn that I have it now
20:34:59 -!- Patashu has quit (Ping timeout: 264 seconds).
20:35:42 <zzo38> Now it does look correct to me
20:58:07 -!- Sprocklem has quit (Ping timeout: 244 seconds).
20:59:53 -!- nycs has quit (Ping timeout: 245 seconds).
21:00:22 -!- nycs has joined.
21:00:47 -!- drdanmaku has quit.
21:02:47 -!- Sprocklem has joined.
21:08:40 -!- jose__ has quit (Quit: Page closed).
21:15:51 <cluid> my brainfuck interpreter doesnt work :(
21:17:51 <cluid> nvm it does
21:22:00 <Taneb> I need to find a silly D&D game so I can get this character :(
21:23:22 <cluid> how do I read all the input in haskell?
21:23:27 <zzo38> What character is it exactly?
21:23:43 <zzo38> cluid: You can use "getContents" although that is using lazy I/O
21:23:59 <cluid> thanks
21:24:56 <zzo38> (Lazy I/O makes the IO monad to be impure, I think.)
21:25:31 <zzo38> (The way some kinds of errors are trapped also makes the IO monad to be impure.)
21:26:56 -!- S1 has quit (Quit: S1).
21:27:45 <cluid> I have implemented a new brainfuck derivative
21:27:59 <cluid> i have to try to write some programs with it that couldn't be done in brainfuck
21:32:44 <zzo38> What are the new features though?
21:33:19 <zzo38> Brainfuck is Turing complete, so it can do any function computable in a Turing machine when using the standard I/O model and not others.
21:33:45 <cluid> zzo38, instead of being based on a right infinite array of cells, it is based on a infinite binary tree
21:34:04 <cluid> so instead of < and > , we have ^ (back) and < > to traverse down left or right branches
21:36:33 <myname> any idea for an esolang that would help children to toy around without a computer?
21:36:50 <Taneb> bitwise cyclic tag>
21:37:35 <myname> hmm
21:38:25 <cluid> http://lpaste.net/116196
21:38:29 <cluid> Here's an example of this
21:38:37 -!- augur has quit (Remote host closed the connection).
21:38:51 <cluid> I can swap two cells by using a third 'outside' one
21:38:59 <cluid> this is not possible in brainfuck
21:40:17 <fizzie> "Not possible" is an awfully heavy statement. You can alternate the tape between "data" cells and spare cells, and do the same.
21:40:49 <cluid> I don't think what im saying is contraversial
21:42:39 <fizzie> It depends on what you mean when you say it, of course. But "not possible" kind of makes it sound like you'd be saying you couldn't e.g. write an interpreter for your thing in brainfuck.
21:42:42 <zzo38> Using such a binary tree may make it far more suitable for some things, although its computation class isn't affected by such.
21:43:02 <cluid> you can write an interpreter for this in brainfuck
21:43:22 -!- FreeFull has quit (Ping timeout: 244 seconds).
21:43:25 <cluid> Proof: I've implemented it in haskell
21:46:06 -!- FreeFull has joined.
21:58:28 -!- dts|pokeball has quit (Read error: Connection reset by peer).
21:58:44 -!- augur has joined.
21:58:52 -!- dts|pokeball has joined.
21:59:32 -!- dts|pokeball has quit (Read error: Connection reset by peer).
22:00:19 -!- dts|pokeball has joined.
22:00:54 <cluid> I will try to find some things that you can progarm in it shorter than you can do in brainfuck, or other interesting ways it beats brainfuck
22:01:47 -!- dts_ has joined.
22:02:08 -!- dts_ has left.
22:03:46 -!- axelcsep has quit (Ping timeout: 265 seconds).
22:05:15 <HackEgo> [wiki] [[ABC]] http://esolangs.org/w/index.php?diff=41431&oldid=33852 * BCompton * (+48) /* Interpreters */ dead links
22:08:04 <cluid> http://esolangs.org/wiki/ABC
22:08:10 <cluid> could it be marked as sub-turing?
22:13:04 <fizzie> That sounds relatively safe. If we had a category for that in general, and not just more specific things?
22:13:29 -!- augur has quit (Remote host closed the connection).
22:14:22 <fizzie> (If you even meant a category by "marked", as I assumed.)
22:16:10 -!- augur has joined.
22:20:46 <AndoDaan_> What would "invert the accumulator" meam exactly?
22:22:23 -!- Sprocklem has quit (Ping timeout: 245 seconds).
22:31:01 -!- nys has joined.
22:34:38 -!- AnotherTest has joined.
22:49:19 -!- AnotherTest has quit (Remote host closed the connection).
22:51:18 -!- AndoDaan_ has changed nick to AndoDaan.
22:59:33 -!- CrazyM4n has joined.
23:04:34 <HackEgo> [wiki] [[User:CrazyM4n]] N http://esolangs.org/w/index.php?oldid=41432 * CrazyM4n * (+89) created page
23:05:40 -!- augur has quit (Read error: Connection reset by peer).
23:06:17 -!- augur has joined.
23:06:26 <olsner> the other day being a slow day at work, I got going making a fungot style for our commit messages
23:06:27 <fungot> olsner: he wrote the scheme plugin for irssi? without indentation support and such? compared to windows
23:06:39 <olsner> fungot: nah
23:06:39 <fungot> olsner: there can be no side effects; they _must_ have happened earlier, and maybe scheme48, though i'm not personally aware of them, i'm afraid.
23:11:47 <cluid> The main thing that my brainfuck lets you do is encode temp varibales in bianry (>><><>) rather than unary (>>>>>>>>>>>>)
23:12:00 <cluid> but it has potentially more power, just very hard to use..
23:13:53 <olsner> haven't gotten to try running a fungot instance (lacking an IRC server etc), but oddly enough the instructions in the repo seem to work
23:13:53 <fungot> olsner: 14:25:48 rj: no such file or directory." just like that.) thanks for the tip jonnay
23:16:06 <cluid> its not just temp variablesthough.. you can get a new infinite tree at any point, i dont know how to use that though
23:16:34 <Taneb> olsner, heh, dthey didn't work for fungot
23:16:34 <fungot> Taneb: what about it?) in bingen that are even cheaper... so i might as well
23:18:14 <cluid> what are some programs very hard to write in brainfuck? maybe I can find simple implementations in this
23:18:23 <cluid> that would justify it
23:18:37 <olsner> Taneb: fungot probably can't follow simple instructions
23:18:37 <fungot> olsner: that's where i learned to trigger a page load. ( filename.ss),
23:20:31 <cluid> https://archive.org/ is doing a wikipedia style fundraiser
23:21:08 <cluid> does anyone have an archive of "Keymaker's many brainfuck programs"? http://www.73b.org/
23:23:49 -!- cluid has quit (Remote host closed the connection).
23:29:05 <fizzie> olsner: I was sure I had still in the instructions the "I have to eat now, I'll document this later" comment, but seems that I only had that online for maybe four years before fixing it.
23:29:26 -!- oerjan has joined.
23:29:55 <fizzie> (I see it's still missing Appendix A.)
23:30:34 <olsner> I noticed that, but I didn't see any references to Appendix A
23:30:42 <paul2520> If cluid comes back, I found https://github.com/johanvanl/Brainfuck-Interpreter/tree/master/examples/73b
23:30:54 <olsner> what was it meant to contain?
23:30:56 <fizzie> olsner: Step 5, "For format specification, see Appendix A of this document."
23:31:02 <fizzie> olsner: Not terribly crucial, perhaps.
23:31:05 <olsner> ah, that
23:31:45 <fizzie> (Also VariKN's new home is https://github.com/vsiivola/variKN and it's up to a 1.1 release.)
23:32:41 <olsner> iirc, the instructions explicitly mentioned 1.0.2 though
23:32:51 <fizzie> They do, but not for any particular reason.
23:33:03 <olsner> and it seems to need an old version of gcc to compile
23:33:03 <fizzie> It was the newest version when the instructions were written, is all.
23:33:43 <fizzie> The ARPA n-gram model format is quite standard, chances are a modern VariKN version would work as well.
23:34:38 <fizzie> Also there's some theoretical reason I can't possibly remember why, if the -E option is x, the -D option should be... er, maybe x/2. Or possibly vice versa. Or maybe it was some other factor than 2. But there's a relationship there.
23:38:01 <olsner> one thing I had a problem with was running into the 2 million token(?) limit in the fungot format
23:38:02 <fungot> olsner: as if thats going to be
23:38:11 <HackEgo> [wiki] [[Simplefunge]] http://esolangs.org/w/index.php?diff=41433&oldid=40413 * CrazyM4n * (+228)
23:38:47 * oerjan finally remembered to find the file for the flaky driver while it was still running
23:38:52 <fizzie> olsner: Yes, you may need to prune rare words.
23:38:56 <olsner> I guess the fnording happens at the last step and the model includes all the singleton tokens?
23:40:26 <fizzie> olsner: Actually, there's no fnording in the model construction if you follow the instructions literally.
23:41:31 <fizzie> olsner: VariKN has vocabulary prune options ("-f N" keeps only the N most common words, and "-d N" drops all words that occur less than N times) that you can use.
23:41:36 <oerjan> to fnord, or not to fnord, that is the question
23:42:09 <fizzie> olsner: From what I recall, though, it actually drops all ngrams where OOV words occur, rather than mapping them to a single OOV token. You'd have to do some manual processing to fnord.
23:42:33 <fizzie> Oh, that's probably not true.
23:42:40 <olsner> is that strictly less than? i.e. -d 1 does nothing and -d 2 removes tokens that only happen once?
23:42:55 <fizzie> Because there's also a -N option that will "remove n-grams containing OOV words".
23:42:58 <fizzie> So I believe.
23:43:11 <fizzie> Maybe I should just try.
23:45:15 <olsner> I think the token count got below the limit after unifying integers, splitting on dashes and underscores and some other mangling
23:45:18 <olsner> (there were something like 100k unique bug numbers referenced)
23:45:37 <fizzie> It seems to be <= instead of <, unlike what the documentation implied.
23:45:49 <fizzie> So "-d 0" will do nothing, and "-d 1" will drop singleton words.
23:47:11 <fizzie> Given the Zipfian distribution you usually get, probably "-d 1" is often enough.
23:48:36 <olsner> Zipf is a pretty good name to have when having things named after yourself
23:50:15 -!- augur has quit (Remote host closed the connection).
23:51:25 <fizzie> After some empirical testing, I'd say both the -f and -d options actually do fnord the model.
23:51:35 <olsner> (hmm, wonder what the worst name for that is... like, the name that has the most different things named after it)
23:52:11 <fizzie> Gauss is pretty bad, though often someone else's name gets included to disambiguate.
23:52:15 <fizzie> Still, http://en.wikipedia.org/wiki/List_of_things_named_after_Carl_Friedrich_Gauss
23:53:22 -!- oren has joined.
23:56:01 <fizzie> Alternatively, Euler. There's a [[List of things named after Leonhard Euler]], and the general [[Category:Lists of things named after mathematicians]], and its higher-level generalizations (apparently mathematicians are scientists are people).
23:57:54 -!- boily has joined.
23:57:57 <nys> due to a theorem of euler, ...
23:59:57 -!- axelcsep has joined.
2014-12-11
00:08:08 <boily> quintopia: QUINTHELLOPIA!!!!!!!!!!
00:10:11 -!- axelcsep has quit (Ping timeout: 240 seconds).
00:11:22 <oerjan> so, we meet again
00:11:59 * boily motions a time out, pause, PAUSE!
00:12:07 <boily> (hot pepper. ow. oooow.)
00:12:22 <olsner> boily: pause? no.
00:12:38 -!- augur has joined.
00:12:45 <oerjan> (strawberry jam. mm. mmmmm.)
00:13:18 <oerjan> olsner: more of a chilli-ng out
00:14:03 <oren> i just ate a pizza with tabasco and chili flakes. unlike some people, i can handle the heat
00:14:59 <boily> http://en.wikipedia.org/wiki/Bird%27s_eye_chili
00:17:15 <olsner> I grew some piri piri as potted plants this year, looks much the same (but seems to be a different species?)
00:18:18 <boily> it's similar, but not the same.
00:37:13 -!- nycs has quit (Ping timeout: 258 seconds).
00:38:59 -!- mihow has quit (Quit: mihow).
00:52:40 -!- augur has quit (Remote host closed the connection).
01:05:27 <Sgeo> Rust would make me happier if there weren't so many little details that seem to be undocumented
01:05:45 <Sgeo> e.g. the concept of partially moving a value
01:06:37 <oerjan> the concept of partially documenting
01:09:07 <lifthrasiir> deserves a formal semantics
01:10:07 -!- shikhout has joined.
01:13:24 -!- shikhin has quit (Ping timeout: 264 seconds).
01:13:59 -!- oerjan has quit (Quit: Nite).
01:24:03 -!- AndoDaan has quit (Ping timeout: 245 seconds).
01:31:08 -!- AndoDaan has joined.
01:43:21 -!- adu has joined.
01:59:08 -!- glguy has quit (Quit: Part).
02:07:05 -!- axelcsep has joined.
02:07:48 -!- FreeFull has quit (Ping timeout: 245 seconds).
02:11:31 -!- axelcsep has quit (Ping timeout: 258 seconds).
02:25:01 -!- b_jonas has quit (Ping timeout: 255 seconds).
02:25:33 -!- b_jonas has joined.
02:59:49 -!- FreeFull has joined.
03:01:13 -!- axelcsep has joined.
03:06:21 -!- boily has quit (Quit: PROPANOLOL CHICKEN).
03:06:21 <zzo38> How can I wire a TV cable so that channel 95 comes from one cable and I can get lower numbered channels from another cable?
03:07:08 <zzo38> (I have no need to access higher numbered channels at all.)
03:08:14 <Taneb> I don't know
03:10:31 <AndoDaan> Are the channels 1-95 all in the same frequence band?
03:11:13 <zzo38> Actually I only need 3-90 from one cable, not all of them up to 94. I do not know much about exactly what frequency bands and stuff TV cables use
03:11:44 <zzo38> (I don't need channel 2 either because that channel has gone out of business.)
03:12:42 <AndoDaan> 3 - 90 havent made the transition to digital yet?
03:13:18 <zzo38> They probably are available in digital too, but I am not using digital service; digital is too slow and cannot be used with VHS.
03:15:33 <AndoDaan> I'm no expert, I just played with my vcr and tv setting years ago, but I vague remember being able to tune my vcr to a certain bandwith height, and also use it as a splitter.
03:17:25 <AndoDaan> Is your aim to just have your tv ignore any channel above 90?
03:17:47 <zzo38> No, it is to connect a different device to channel 95 specifically.
03:18:03 <zzo38> Other than that I have no use for the other channels above 90.
03:19:25 <zzo38> Channels 3-90 come from the television service provider, and I have another device that broadcasts on channel 95, and I don't want to have to switch the cable manually every time.
03:21:00 <AndoDaan> okay, again, not an expert, but plug from the wall to your tv, tv to the vcr, set your vcr to channel 95, and then output from your vcr to chosen device.
03:22:01 <AndoDaan> In the slim chance that works, you'd have to keep your vcr on channel 95 though.
03:22:33 <zzo38> Yes but I cannot connect two cable inputs to the VCR. It is actually a VCR/DVD combo, and it isn't actually a TV either but a computer monitor, so only the VCR is used as the tuner. Also, I want to be able to change the channel to other channels in order to watch and record other TV shows.
03:24:48 <AndoDaan> That's me spent.
03:31:59 -!- augur has joined.
03:33:26 -!- augur has quit (Remote host closed the connection).
03:34:24 <Taneb> fizzie, ping
03:35:23 -!- augur has joined.
03:36:06 -!- augur has quit (Remote host closed the connection).
03:39:16 -!- adu has quit (Quit: adu).
03:39:30 -!- augur has joined.
03:58:22 -!- augur has quit (Quit: Leaving...).
04:13:28 -!- nys has quit (Quit: quit).
04:22:21 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:23:23 -!- AndoDaan_ has joined.
04:23:42 -!- AndoDaan has quit (Read error: Connection reset by peer).
04:27:01 -!- shikhout has quit (Ping timeout: 264 seconds).
04:45:52 -!- CrazyM4n has quit (Quit: Leaving).
04:46:44 -!- AndoDaan_ has quit (Quit: bbl).
04:53:49 -!- Decensum has joined.
04:54:51 -!- Decensum has changed nick to Decensum|Zzz.
04:58:17 <Sgeo> How much danger am I putting myself in if I buy a USB port from eBay?
04:58:33 <Sgeo> I'm kind of desparate
04:59:40 <Taneb> Odds are, I'd guess, not much
05:00:02 <Taneb> Any reason you can't buy one from a store or other reputable retailer
05:00:08 <Taneb> ?
05:00:21 <Sgeo> Tried going on Amazon, would take around a month to come in
05:00:31 <Sgeo> This one on eBay will arrive in days
05:00:58 <Taneb> Are you near a physical store that might sell them?
05:01:27 <Taneb> and able to get to the store
05:01:32 <Sgeo> Would AT&T store be likely to sell such a part?
05:01:47 <Sgeo> They might offer to do the repair, but I don't necessarily want to give my phone out
05:03:33 <Taneb> I don't know, could you ring them and ask?
05:03:45 -!- Sprocklem has joined.
05:04:26 <Sgeo> I could walk over there and ask I guess
05:04:28 <Sgeo> Tomorrow
05:05:08 -!- Farra_000_ has joined.
05:06:44 <Sgeo> THe listing says 3 available (from this seller which seems to be the best not lucrudiously expensive nearby). What if I wait that day and it runs out
05:06:58 <Farra_000_> dude just meditate
05:07:10 <Farra_000_> thats all you need to do
05:07:24 <elliott> `relcome Farra_000_
05:07:32 <Farra_000_> lol thank you
05:07:38 <HackEgo> Farra_000_: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
05:07:58 <Farra_000_> oh, this is a promgramming channel
05:09:10 <zzo38> Meditation is certainly not the only thing that is necessary or possible!!!
05:09:16 <zzo38> Learning computer programming is also good.
05:09:22 <Farra_000_> I know java and c++
05:09:41 <Farra_000_> not no damn esoteric
05:09:45 <Farra_000_> lol
05:09:49 <zzo38> That's good, but do you know any esoteric programming (such as INTERCAL)?
05:10:16 <Farra_000_> INTERCAL was designed in 1972 by Donald R Woods
05:10:21 <Farra_000_> and James M Lyon
05:10:28 <Farra_000_> - Wikipedia :)
05:10:45 <Farra_000_> Do I win a prize?
05:11:03 <zzo38> Yes, of course Wikipedia says so; our esolang wiki <http://esolangs.org/> also mentions it.
05:11:23 <zzo38> I am not the one to decide who win the prize or not, but I expect there isn't a prize.
05:11:32 <Farra_000_> :(
05:11:55 <Farra_000_> In that case, i am off in search of other channels where prizes may be awarded.
05:11:57 <Farra_000_> Godspeed
05:12:00 <zzo38> OK
05:12:11 <Farra_000_> I wish you all the best in life
05:12:17 <zzo38> OK
05:12:21 -!- Farra_000_ has left ("Leaving").
05:14:20 <Sgeo> Do stores even -sell- replacement electronic parts?
05:14:26 <Sgeo> I'm trying to replace the USB port...
05:15:20 <zzo38> I have never tried to buy a replacement USB port so I don't know.
05:16:37 <Taneb> I have never lived in the country you are in, so I also don't know
05:18:40 <elliott> i've never peed
05:19:10 <Taneb> elliott, you may want to fix that
05:19:41 <elliott> it's too dangerous
05:20:23 <Taneb> Well, I'm writing a plugin for an IRC bot written in Haskell so it has a BF Joust hill
05:21:04 <elliott> lambdabot?
05:21:07 <Taneb> No
05:21:25 <Taneb> I think BF Joust is somewhat out-of-scope for lambdabot
05:22:02 <Taneb> It's for yukibot, an IRC bot one of my friends is writing
05:22:04 <oren> for a desktop you may be able to buy a usb pci card
05:22:34 <elliott> are you implementing the fancy scoring algorithm
05:22:38 <elliott> did fizzie ever fix that
05:22:51 <Taneb> Right now I'm basically translating fizzie's code
05:22:55 <Taneb> Haven't done much yet
05:24:39 <oren> i buy most ofmy electronics at a store in chinatown where everything is cheap and the cashiers don't speak english.
05:27:35 <oren> so i know you can get a desktop computer with a usb pci pard in it for less than 120 dollars (canadian)
05:29:06 <Sgeo> oren: I'm trying to be able to charge my phone
05:29:42 <oren> you can get a plug-to-usb adaptor for 3 dollars
05:30:41 <oren> unless the problem is with the phone....
05:30:54 <Sgeo> The problem is with the phone.
05:31:17 <oren> then buy a new phone. 20 dollars.
05:33:35 <oren> the problem is these phones have the usb ports and everything soldered to one plastic board.
05:34:36 <Decensum|Zzz> Did python update?
05:34:54 <Sgeo> Which is why I've found exactly 0 replacement parts such as the one I'm considering buying on eBay?
05:35:22 <Decensum|Zzz> Is it your battery
05:35:27 <oren> i was saying the 20 dollar phones are one piece
05:35:29 <Decensum|Zzz> Or did you crack it
05:35:43 <Sgeo> I think the pins in the port are bent
05:36:01 <oren> try using needlenose pliers
05:36:21 <Decensum|Zzz> Oh
05:36:32 <Decensum|Zzz> Micro usb?
05:36:47 <oren> or tweezers
05:36:59 <Decensum|Zzz> Not for a micro oren
05:37:04 <Decensum|Zzz> If thats what it is
05:38:24 <Sgeo> Not sure what the difference between micro and mini is, but probably
05:39:13 <oren> on the off chance: did you try cleaning the port with vodka?
05:40:03 <Sgeo> No
05:41:26 <oren> you should def try cleaning it. use a thin watercolor paintbrush and some strong alcohol such as cheap vodkaor everclear
05:42:35 <Sgeo> The pins look bent I think
05:42:50 * Sgeo just bought the part from eBay. Spent more in shipping than the part itself, to save a few days
05:43:34 <Decensum|Zzz> Have you tried
05:43:50 -!- adu has joined.
05:44:01 <Decensum|Zzz> Putting the chsrger back in and trying to slowly bend them back
06:18:41 <HackEgo> [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41434&oldid=41406 * Orenwatson * (+37) hollerith encoding
06:27:05 -!- shikhin has joined.
06:28:39 <oren> is there any fast way to convert floating point to a fraction
06:29:52 <zzo38> To what approximation do you want?
06:30:36 <oren> so that if the user entered a simple fraction it would be converted losslessly back
06:31:36 <oren> e.g. if i were to enter 30.0/7 the algorithm would output 30/7
06:34:04 <oren> i realize this requirement isn't defined mathematically...
06:34:06 <Sgeo> My suggestion would be to use a rational type
06:34:13 <Sgeo> Instead of floating point
06:34:29 <oren> the floats are being read out of the memory of a running C program
06:35:08 <Sgeo> Floats are scientific notations. Is there any fast way to simplify fractions?
06:35:12 <Sgeo> *notation
06:35:20 <Sgeo> But it probably won't show original input so closely
06:35:39 <oren> hopefully close enough
06:37:11 <oren> suppose that the integers of the original fraction are under 16 bits...
06:37:21 <oren> and the result of the division is given as a double
06:37:33 <oren> is it possible to reverse the division?
06:41:04 <oren> i am going to try some ieee hackery
07:07:00 <oren> making some progress: 3/4->0.75->1572864/2097152
07:07:37 <Taneb> But 3/4 is represented exactly in floats, isn't it?
07:07:52 <oren> it is... so i am trying to extract it better...
07:07:55 <Taneb> mantissa of 3 and exponent of -2
07:08:00 <oren> exactly
07:08:45 <oren> the mantissa is extracted by: ((*(int64_t*)&f)&0x000fffffffffffffLL|0x0010000000000000LL)
07:09:23 <oren> and then i reduced it to a small nubmer of bits
07:09:58 <elliott> why are you doing this...
07:10:08 <oren> to undivide
07:10:18 <elliott> also, I think that cast violates strict aliasing. not sure though
07:10:35 <oren> whatver the cast works
07:10:46 <elliott> no, it doesn't. not necessarily/
07:10:52 <elliott> it depends on compiler optimisations
07:10:55 <elliott> *neccessarily.
07:11:04 <elliott> (if I'm right)
07:11:39 <oren> it works on gcc -O3.
07:11:56 <elliott> I hate programmers like you.
07:12:19 <oren> because we think in bits and bytes?
07:12:27 <elliott> (and no. not necessarily. undefined behaviour can break depending on billions of other things, like surrounding code, CPU architecture...)
07:12:51 <elliott> no, because you don't care when if write code that explicitly violates the standards and can and will break. compilers have only gotten *more* aggressive at exploiting UB
07:13:30 <elliott> for instance signed overflow always does the obvious thing even though it's UB, right?
07:13:36 <oren> but some unefined behaviour is defined by programmer's conventianl usage
07:13:37 <elliott> except, oops, no, gcc and clang will do optimisations that assume it never happens
07:13:59 <elliott> for instance you can do a signed addition and check if it overflows and raise an error if it does, and return the result if not
07:14:08 <elliott> gcc and clang will happily optimise out the check but then let it wrap at runtime anyway
07:14:11 <elliott> because /it is undefined behaviour/
07:14:29 <elliott> if you don't write code that obeys the rules of the language you will get burnt, whether "it works right now" or not
07:14:32 <oren> because wrapping is the conventional behaviour
07:14:41 <elliott> oren: ...but optimising out the check is not.
07:15:03 <oren> and easiest to implement in a cpu. it is harder to have a check
07:15:11 <elliott> oh my god, would you listen to what I say?
07:15:34 <Sgeo> Maybe UB just should be banished
07:15:57 <b_jonas> he can't
07:16:02 <elliott> oren: { int c = a + b; if ((a >= 0 && c < a) || (a < 0 || c > b)) { puts("overflow!"); abort(); } do_something_with(c); }
07:16:08 <Taneb> One thing that I want to do at some point is to write a C implementation which does the worst thing with undefined behaviour
07:16:14 <elliott> oren: gcc and clang *can and do* optimise code like this to be the same as { do_something_with(a + b) }
07:16:20 <elliott> *even if (a + b) overflows in practice*
07:16:28 <fizzie> Taneb: Boing?
07:16:40 <elliott> relying on undefined behaviour can and will get you burnt, in practice, on programs that have an "obvious conventional meaning" to you.
07:17:04 <Sgeo> What happens when there's no standard, or the standard is ignored half the time?
07:17:08 <Sgeo> Fuck the web
07:17:30 <Taneb> fizzie, I'm trying to use gearlanced for an IRC bot...
07:17:43 <Taneb> Actually, could I talk to you later
07:19:00 <fizzie> Taneb: Oh, poor you. But sure.
07:20:07 <oren> gcc on overflow does not do the opimization you said elliot
07:20:16 <oren> even on -O3
07:20:57 <shachaf> checkmate
07:21:23 <oren> it is defined by convention that 2s complement integers will wrap
07:21:49 <oren> because that is obvious and easy to implement
07:21:53 <elliott> oren: fine, I'll bring up a fucking bug report where it optimises out overflow checks and got closed as WONTFIX
07:22:05 <elliott> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=30475
07:22:24 <elliott> if you say something false that could have been proven wrong by reading that page I'm probably going to be annoyed enough to kick you again
07:23:14 <elliott> (I take no position on whether C *should* be like this but the gcc developers in that bug report are completely correct that this is legal behaviour by the C standard, and this of course suffices as proof that compilers can and do optimisations like this in practice.)
07:23:53 <elliott> here's some more reading material http://blog.regehr.org/archives/213 http://blog.regehr.org/archives/226 http://blog.regehr.org/archives/232 http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_14.html http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_21.html
07:25:08 <elliott> (those do cover strict aliasing)
07:27:06 <Sgeo> It is a bug. C is a bug.
07:27:22 <Sgeo> Rust has UB too I think :(
07:30:07 <fizzie> I had http://sprunge.us/iRcT as an example of GCC optimizing something by assuming no signed integer wraparound recently.
07:30:52 <Sgeo> Rust arithmetic overflow is defined, I think
07:31:04 <Sgeo> Defined as wrapping iirc, but defined
07:31:19 -!- dts|pokeball has quit (Read error: Connection reset by peer).
07:32:00 -!- dts|pokeball has joined.
07:32:33 <Sgeo> "I'm still amazed that for the gcc maintainers, performance seems to be more important than security of the existing code base. "
07:32:46 <Sgeo> It's C! Stop using C for security. Stop using C for security. Stop using C for security.
07:33:37 <oren> people used COBOL, Fortran, and indeed C in the defense industry
07:33:56 <zzo38> I think only the parts that are needed to be secure, need to be made secure; most of it needn't need be secure since that is the job of the individual program being written.
07:34:00 <oren> however they probably have their own compilers
07:34:12 -!- AndoDaan has joined.
07:34:40 <Sgeo> "My issue with gcc is that it removes statement THREE. Your argument about undefinedness is about statement TWO. "
07:34:41 <Sgeo> ahahaha
07:34:56 <oren> i guess many makefiles will include -fwrap soon
07:35:32 <zzo38> You certainly can write secure programs in C if you are careful; that isn't a problem. Making careful isn't too difficult; you can avoid buffer overflows and stack overflows if you don't have a buffer or recursive subroutine calls, for example.
07:35:47 <Sgeo> This was 2007
07:36:08 <fizzie> oren: It's "-fwrapv", and I highly doubt that.
07:36:08 <zzo38> I know in LLVM it is possible for each instruction to specify whether or not signed wrapping, and whether or not unsigned wrapping, is possible.
07:37:12 <elliott> oren: "soon"? gcc has worked this way for an extremely long time. as has clang.
07:37:43 <elliott> I'm pretty sure C compilers have been making assumptions like this since the 90s at the latest, and they've only gotten more aggressive. that bug report is from 2007 and was certainly nothing new at the time.
07:37:45 <oren> fizzie: why? it was the 'standard' behaviour for so long no doubt people relied on it... take the guys complaining for example. are they going to change their code or add the flag that gets the behavious they want?
07:37:52 <elliott> no, you just assumed it was.
07:38:01 <elliott> things don't start existing when you become aware of them.
07:38:23 <elliott> object permanence trumps arrogance
07:38:57 <oren> http://pastebin.com/gnHcc4EX this works. gcc only optimizes when it is obvious
07:39:42 <oren> and most of the time i don't bother checking for overflow at all
07:40:25 <oren> so i just see it wrap and don't care
07:41:17 <fizzie> oren: For the record, that definition for main is also undefined behavior.
07:41:19 <elliott> you're trying to make talking to you as frustrating as possible by ignoring everything said to you until the evidence is overwhelming enough that you have to accept 1% of the truth and continue vociferously denying the remaining 99%, right?
07:42:00 <elliott> it must be nice for everything you know to be the obvious, self-evident truth that you can argue it when someone tries to correct you and not even have your belief shaken next time when you turn out to be wrong
07:42:09 <Sgeo> Just... use a better language already
07:42:46 <elliott> I have no problem with people not knowing things but nothing is more irritating than confidence exceeding that knowledge.
07:43:07 <elliott> (a sin which I've been plenty guilty of over the years, true.)
07:43:10 <oren> anyway elliot, if gcc does not do what i want then i will change my makefiles or use a different compiler. why are you so mad?
07:43:20 -!- Patashu has joined.
07:43:38 <elliott> Sgeo: if you don't care about how the language you're programming in and the compilers you're using work, no language will save you
07:43:50 <elliott> it is true C makes writing correct programs significantly harder.
07:44:05 <elliott> but you have to actually care about things to go from that to deciding you'd be better off using something else.
07:44:09 <Taneb> fizzie, you still about?
07:44:34 <elliott> oren: because you're the second most annoying person in here and I don't like people enroaching on my title
07:44:57 <elliott> (also, I only talk in here when I feel like venting these days, because it's usually boring)
07:45:37 <oren> souns good! i actually like reading your tirades
07:45:37 <Taneb> fizzie, is it possible to use gearlanced as a library?
07:46:10 <elliott> great. it would be nice if you actually listened to them
07:46:36 <elliott> fizzie: I like how argv is mega-super-duper-const but argc isn't.
07:47:34 <oren> perhaps legacy code contains code looping backward thru arguments by --argc?
07:48:09 <fizzie> Legacy could could equally well contain code looping forward via ++argv.
07:48:41 <Sgeo> I suspect that most programmers in the world are more like oren than like elliott :(
07:48:42 <fizzie> Taneb: I'm not sure what you mean by that, but assuming an abritrary interpretation, you'd probably need to change the code a little bit, since it's designed to be used as an external process.
07:49:07 <Taneb> Right. I'm not sure if I'm up to that task.
07:49:16 <Taneb> For now I'll just use it as an external process.
07:49:42 <oren> Sgeo : most programmers are trying to get things done, not achieve mathematical provability and perfect precision
07:50:00 <b_jonas> blasphemy!
07:50:08 <mitchs_> :(
07:50:11 <oren> if it works 99 percent of the time you can do it manuallt he other 1%
07:50:52 <oren> welcome to the real world where COBOL is *still* a thing
07:50:54 <Taneb> fizzie, how well-documented is gearlanced's interface?
07:51:11 <Taneb> Oh I see, in the comments at the top of the file
07:51:26 <fizzie> oren: Yeah, I somehow expect that excuse not to work so well when the resulting bugs ends up costing someone money.
07:51:36 <Sgeo> When a Java method returns null instead of an empty array when there are no items, and the programmer doesn't realize this, is it the programmer's fault for not reading the docs carefully enough, or Java's fault for providing such a backass stupid method?
07:51:52 <elliott> fizzie: can I just kick him again? it's therapeutic.
07:52:02 <oren> go ahead
07:52:35 <fizzie> Taneb: Librarification would probably just entail splitting the three cases of main into separate functions, and fiddling the persistent state into some struct.
07:52:54 <elliott> Sgeo: the latter, but if the programmer argues not that java is badly designed (which is fair), but that actually the code is okay and they'll keep using it because everyone assumes by convention that the method will return an empty list...
07:52:54 <Taneb> I may do that at some point, but not just now
07:53:30 <oren> fizzie:true. but will it cost more money to fix the bugs or to simply learn to deal?
07:53:58 <elliott> "the code works, it's fine" -> "the code is broken, but it's fine"
07:54:28 <oren> it is fine if the cost is less than your salary for the time it will take to fix it
07:54:31 <elliott> I'm going to smirk way more than is reasonable if a type-based alias analysis optimisation breaks your code in this case.
07:54:50 <elliott> I'd pay you to not contribute to any open-source software I might use x_x
07:56:14 <oren> well in the case of OSS the cost can't be less than your salary since the salary is often zero
07:56:44 <Sgeo> elliott: I think e'd fit in with the OpenSSL team
07:56:57 <Sgeo> (Ok, that's mean to the OpenSSL team, I'm sure... they're not that bad?)
07:57:32 <elliott> save me from programmers
07:57:35 <elliott> I wish I was any good at anything else
07:58:33 <Sgeo> Depressing cynicism can be funny!
07:58:40 <oren> the companies that rely on OSS whould pay programmers to work on OSS... or is that already happening?
07:58:45 <Sgeo> That's how I cope. I find humor in how horrible everything is.
07:59:12 <Sgeo> I kind of think of it as a job perk
07:59:17 <zzo38> oren: I don't know how common it is, although it does seem like reasonable.
07:59:21 <elliott> sadly, there's a certain level of horribleness in your life where that doesn't stop you drowning
08:00:09 <fizzie> I think it's relatively common for companies to let their progammers commit code they've made back to the project.
08:00:38 <oren> elliot: i am willing to write standard-conforming code if i am paid to do so.
08:01:52 <elliott> you know, people missing the t from my name hasn't actually annoyed me for years
08:01:54 <oren> however if the requirements are simply that it works, then my boss will not be happy if i expend extra effort to avoid undefined behaviour.
08:02:00 <elliott> lol
08:02:13 <elliott> save me from programmers.
08:02:35 <oren> you mean 'save me from economics' it's the dismal science for a reason
08:02:48 <oren> or is that comp-sci
08:03:07 <elliott> oh my god
08:03:16 <elliott> you keep getting more and more absurd
08:03:26 -!- adu has quit (Quit: adu).
08:03:50 <Sgeo> I would probably fight back against my boss in that situation
08:04:05 <Sgeo> Product never cares about security, but they should
08:04:56 <Sgeo> Actually, that's not really true
08:05:43 <elliott> thankfully, everything sucks and one day each and every nerd will be condemned to the eternal blazing fires of hell, wherein they will maintain a sustained argument that said fires manifestly don't exist and they can't possibly be burning in them
08:06:01 <elliott> I can't wait for them to come for me.
08:07:17 <oren> what is absurd? you have requirements and you are paid to write a program satisfying business objectives. if business objectives do not include "works every single time and is super-secure" then you do not do that it is a waste of time. instead the solution is "when it doesn't work, call Bob to type it into the DB manually" or something
08:08:17 <Sgeo> I actually kind of agree with oren. Security is a trade off.
08:08:47 <elliott> listen. listen. jesus has saved me from talking about undefined behaviour in C with you any more, and He could save you too.
08:08:47 <fizzie> oren: By the way, getting back to your "compilers only optimize when it's obvious" example: http://sprunge.us/TJcW -- "Hey, your code stopped working when we switched compiler vendors!" "Oh? Well, learn to deal."
08:09:10 <oren> Sgeo: and there is a tradeoff between my salary and Bob's.
08:09:13 <fizzie> (I don't think the overflow check was quite right, earlier.)
08:09:18 <elliott> fizzie have you not heard His word
08:09:57 <elliott> I use only the Lord's C Compiler and it never lets me down
08:10:16 <oren> you mean tcc ?
08:10:28 <elliott> I mean the Gospel.
08:10:42 <oren> (because t is the cross on which He was crucified)
08:11:34 <fizzie> If you write "gcc" on an OS X system, it's actually clang.
08:11:39 <Sgeo> Of course, is Product really trustworthy to even comprehend the tradeoff?
08:11:41 <fizzie> (Assuming Apple's Xcode.)
08:12:02 <elliott> fizzie: I wonder what llvm-gcc does. or that dragonegg thing.
08:12:23 <elliott> hey, I wasn't paid to do anything but compile a binary on this exact linux box at 2 pm on a tuesday. if that's the only time it works so be it
08:12:51 <Sgeo> Didn't OpenOffice have a bug that printing wouldn't work on Tuesdays?
08:13:04 <oren> elliot in all seriousness it is possible for that to be the business requirments
08:13:05 <Sgeo> http://mdzlog.alcor.net/2009/08/15/bohrbugs-openoffice-org-wont-print-on-tuesdays/
08:13:08 <elliott> now watch for my next trick as I show you my perfectly acceptable C program that exploits a buffer overflow in one version of gcc on one platform to do a bunch of manual printfs to the outputted assembly file
08:13:45 <elliott> Sgeo: that's great
08:13:56 <fizzie> Also I think these days if you write "as" what you get is 'clang -cc1as' instead.
08:15:21 <elliott> fizzie: I don't think so, they have their own assembler
08:15:27 <elliott> % as --version
08:15:27 <elliott> FATAL:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../libexec/as/x86_64/as: I don't understand '-' flag!
08:15:35 <elliott> % clang -cc1as --version
08:15:36 <elliott> LLVM (http://llvm.org/): LLVM version 3.5svn from Apple Clang 6.0 (build 600.0.54) Optimized build. Default target: x86_64-apple-darwin14.0.0 Host CPU: core-avx2
08:16:01 <elliott> it could be a wrapper, but /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../libexec/as/x86_64/as is a binary, at least
08:16:29 <elliott> as(1) says as - Mac OS X Mach-O GNU-based assemblers
08:17:05 <elliott> maybe it uses LLVM under the hood nowadays, though.
08:17:12 <elliott> it certainly knows about options clang -cc1as doesn't
08:19:01 <fizzie> Possibly not. I don't have any real OS X systems to test on.
08:19:25 <oren> elliott: do you also hate people who use compiler-specific extensions?
08:19:28 <fizzie> I just came across something that said they "will switch /usr/bin/as to call the clang internal assembler soon". Perhaps it never happened.
08:20:23 <oren> because that is also undefined behaviour which may change at any time.
08:20:46 <elliott> oren: The storm had now definitely abated, and what thunder there was now grumbled over more distant hills, like a man saying "And another thing..." twenty minutes after admitting he's lost the argument.
08:21:54 <oren> when did i admit id lost argument? i just accepted you have different objectives from me.
08:22:24 <elliott> yes, nobody's perfect
08:22:32 <elliott> I was being charitable
08:23:41 <oren> but if you like gcc for using undef-behaviour for speed,do you dislike them for creating new constructs that are undefined or even illegal standard c?
08:24:22 <oren> e.g. {label: void q =&&label; ...}
08:24:31 <oren> e.g. {label: void *q =&&label; ...}
08:24:33 <fizzie> oren: I'm not sure how you derived "like" from "I take no position on whether C *should* be like this".
08:24:45 <elliott> you know you can't force me to argue with you even if you keep doing your side of it, right?
08:25:15 <oren> sorry, i thought you hated programmers who do stuff that is undefined?
08:26:20 <zzo38> I use some of the GNU extensions; I like ?: with nothing in between, and I like the ability to create zero-length arrays. I also sometimes use function to count how many bits are set.
08:26:32 <oren> <elliott> I hate programmers like you.
08:26:43 <elliott> fizzie: should I be compensating you for your efforts here
08:27:26 <oren> so do you hate programmers who use gcc extensions too?
08:27:34 <elliott> zzo38: I'm curious, how does (x ?: y) differ from (x || y)?
08:28:29 <Taneb> What does that mean?
08:28:48 <mitchs_> x?:y seems to turn into x?x:y but i would have assumed it was undefined, just happened to see teebee using it once
08:28:48 <shachaf> (x || y) is always 0 or 1.
08:28:56 <elliott> Taneb: it's (x ? x : y) but x is only computed once
08:28:58 <elliott> oh
08:29:09 <elliott> right, C logical operators are pedantic like that
08:29:19 <zzo38> elliott: The (x ?: y) acts similar to how (x || y) functions in JavaScript.
08:29:52 <oren> i don't use ?: very much actually, i prefer full if statements
08:32:32 <oren> fun fact, in php 1?1:0?2:3 gives 2, in C it gives 1.
08:32:34 <shachaf> I wonder when Bike left.
08:43:28 -!- glguy_ has joined.
08:49:03 -!- FreeFull has quit (Ping timeout: 244 seconds).
08:51:01 -!- Decensum|Zzz has quit (Quit: Connection closed for inactivity).
08:54:32 -!- dts|pokeball has quit (Ping timeout: 244 seconds).
09:09:26 <zzo38> Did you know that? In ZZT, picking up a gem while your health is at 32767 (regardless of how many gems you have), will kill you instantly. However, a program that gives you additional gems or health will not do this.
09:14:17 <shachaf> What will it do?
09:18:22 <zzo38> What will what do?
09:18:46 -!- AnotherTest has joined.
09:20:34 <shachaf> A program that gives you additional gems or health.
09:24:40 -!- glguy_ has quit (Quit: Computer has gone to sleep.).
09:25:19 -!- AnotherTest has quit (Ping timeout: 245 seconds).
09:25:36 <zzo38> It simply doesn't adjust the amount of gems/health you have in such a case.
09:41:00 -!- FreeFull has joined.
10:38:58 -!- ais523 has joined.
10:59:52 -!- GeekDude has joined.
11:04:26 -!- cluid has joined.
11:04:31 <cluid> hello
11:04:40 <oren> hell0
11:04:54 <cluid> I've been thinking about this new brainfuck derivative but I can't find anything it's really good for
11:06:00 <oren> any brainfuck derivative is good for annoying people (even though they don't complain about yet another algol derivative...)
11:06:32 <cluid> well it gives you more room to use than brainfuck, so it shoudl be able to write some programs more efficiently or much shorter or something
11:11:52 <cluid> http://lpaste.net/116231
11:11:59 <cluid> This is the language
11:12:30 <cluid> you can embed any brainfuck program into this language by s/\^/</
11:12:35 <elliott> cluid: it's kind of cute how that lets you contain infinite data structures in one cell
11:12:46 <elliott> you mean s/</^/ right?
11:12:51 <cluid> yes thanks!
11:13:06 <cluid> yeah you can have infinite structures next to any cell,
11:13:17 <cluid> so you might represented tree structured data quite easily
11:13:31 <cluid> (without having to flatten it as you would in brainfuck)
11:14:02 <oren> is the tree infinite in all directions?
11:14:06 <cluid> yes
11:14:22 <cluid> http://lpaste.net/116233
11:14:26 <cluid> here's an example program I wrote
11:14:39 <cluid> to swap two numbers using a third cell
11:15:19 <cluid> so but you can binary encode your tmp varibales (<><>>><><>) rather than unary in brainfuck (>>>>>>>>>>>>>>>>>>)
11:15:29 <cluid> this isn't too amazing though
11:15:55 <elliott> cluid: you could run the same language on an arbitrary graph with the condition that every vertex has three edges
11:15:57 <cluid> the next thing I learned about this language is what elliott said
11:16:15 <elliott> sort of like doing bf with a wrapping tape
11:16:29 <b_jonas> cluid: what's the tape like? is it an infinite unrooted 3-regular tree?
11:16:34 <cluid> yes b_
11:16:35 <cluid> yes b_jonas
11:17:30 <b_jonas> have you tried to search the existing bf variants for whether this already exists?
11:17:42 <cluid> no, but I dont think it exists
11:17:49 <cluid> do you think that it might exist? how would I check...
11:17:56 <elliott> most bf derivatives aren't so fancy to mess with the tape
11:17:59 <b_jonas> well, there are already tons of bf variants
11:18:01 <elliott> the closest thing I can think of is dimensifuck
11:18:23 <elliott> sadly https://esolangs.org/wiki/Category:Brainfuck_derivatives is pretty incomplete I think but it probably has most of the more interesting ones
11:18:34 <b_jonas> elliott: what? I think there's a two-tape brainfuck somewhere. or maybe a two-headed brainfuck. I mean, that's sort of an obvious idea.
11:18:36 <elliott> (people often don't bother to categorise crappy text substitution bf derivatives that pop up I think)
11:18:48 <elliott> b_jonas: by closest thing I meant closest to cluid's language
11:18:49 -!- sebbu2 has joined.
11:18:56 <elliott> and yeah (doublefuck)
11:19:26 -!- sebbu2 has quit (Changing host).
11:19:26 -!- sebbu2 has joined.
11:19:29 <elliott> the ultimate will be when someone makes a dual deadfish + brainfuck derivative
11:19:37 <cluid> http://esolangs.org/wiki/Arborealis (similar but not same), http://esolangs.org/wiki/V (close? danger..)
11:19:39 <elliott> then we can permanently feature it and implement it in every language that has ever existed
11:19:41 <b_jonas> I don't have a problem with working on a 3-regular tree tape, but why make it a brainfuck variant? can't you do something else on a tape?
11:19:44 <oren> i am just glad cluid's language is not called ?fuck for any ?
11:20:12 <elliott> whoa, V is cool for a bf derivative
11:20:25 <b_jonas> try to figure out more than one cool ideas, and put them together, rather than just changing one thing in brainfuck.
11:20:36 -!- sebbu has quit (Ping timeout: 264 seconds).
11:21:07 <cluid> Fun fact: I implemented this brainfuck derivative using derivatives
11:22:27 <elliott> cluid: parsing derivatives?
11:22:32 <cluid> data T a = B (T a) a (T a)
11:22:35 <elliott> oh
11:22:36 <b_jonas> cluid: hehe. have you also written any programs in that language that can't be just as easily written in brainfuck?
11:22:39 <elliott> a zipper, of course
11:22:42 <cluid> data Z a = ZL (Z a) a (T a) | M (T a) (T a) | ZR (T a) a (Z a)
11:22:54 <cluid> b_jonas, that's the hard bit, I've been thinking about it all night
11:23:26 <cluid> All I got so far was tmp variables are much shorter and the point elliott raised, about infinte structures held next to one cell
11:23:38 <cluid> I was thinking maybe iyou could implement something like game of life much shorter, but then im not sure if you really could
11:24:17 <cluid> i feel like this language can improve on brainfuck a lot but only in more complex programs?
11:25:18 <ais523> actually, interesting question: out of all the TC esolangs, which are only polynomially slower than, say, C? which are no more than O(n) slower?
11:25:24 <ais523> just being TC doesn't mean you have the same complexity
11:25:39 <cluid> yes ais523 good point
11:25:52 <cluid> I like that you say this becaues when ever I say things like this people try to teach me about the turing machines and it's really frustrating
11:26:26 <ais523> well, almost all languages are TC, but nonetheless, some are better than others
11:26:33 <elliott> ais523 learned about arguing subtleties about tcness the hard way :p
11:27:01 <ais523> even defining "TC" is hard when you reach the edge cases
11:27:49 <shachaf> I'd like to understand the connections between derivatives (of types) and linear types better.
11:29:35 <b_jonas> ais523: as you know, many languages are quadratically slower, specifically all tape-based (even multi-tape or multi-head) languages have a quadratic slowdown.
11:29:53 <ais523> b_jonas: I first noticed with Thutu, which seems O(n) slower than anything else
11:29:59 <ais523> I'm not convinced that BF has to be quadratically slower, though
11:30:02 <cluid> A fun game could be like a 'boy scouts' thing for esoprogramming. You get a badge for writing a quine, for self interpreter, implement certain algorithm in strange language etc..
11:30:14 <ais523> I think that if you use tape elements only as single bits, it can be linearly slower instead
11:30:27 <ais523> cluid: #esoteric achievements?
11:30:59 <shachaf> http://www.cs.nott.ac.uk/~txa/publ/tlca03.pdf talks about it a bit.
11:31:02 * shachaf goes to sleep.
11:31:04 <b_jonas> ais523: by quadratically, I mean that there are programs that take O(n) time in, say, C, but require Omega(n^(2-epsilon)) time on brainfuck or even on a multi-head turing machine
11:31:34 <ais523> b_jonas: right, that's what I took you to mean
11:31:48 <b_jonas> Also, as you know, counter machines (turing machines that can't write the tape) are exponentially slower; counter machines with only two counters are probably doubly exponentially slow.
11:32:05 <ais523> I'm not 100% sure you're wrong, but I think it's quite likely that all programs that are O(n) in C can be done in O(n^2) in BF, unless there's something obvious I'm missing
11:32:23 <ais523> also, C is a bad example
11:32:30 <ais523> maybe we should pick Scheme or something
11:32:43 <ais523> C's only TC due to technicalities involving writing to a file and reading it back, due to the existence of sizeof
11:33:18 <elliott> just pick the obvious subset of Python
11:33:21 <elliott> or whatever
11:33:37 <oren> nah... Fortran
11:33:51 <cluid> how about just measure the complexity of the best algorithm for a given problem
11:34:16 <b_jonas> My favourite reference machine is a pointer machine with only immutable cells. This has any number of registers (given by the program) and any number of algebraic data types.
11:34:41 <cluid> that sounds pretty cool
11:34:52 <cluid> without mutation there is a logarithmetic slowdown though, so that might not be the perfect benchmark
11:36:13 <b_jonas> The program has a number of states and four kinds of instructions: (1) halt; (2) allocate a new cell on the heap of the given constructor, filling its cells from registers, then jump to a state; (3) test whether a register contains a value with particular constructor, if it does, unpack it to registers and jump, else jump to somewhere else.
11:36:57 <cluid> Where can I upload a implementation of my esolang?
11:36:57 <b_jonas> You get the input as a linked list in a register, and put the output as a linked list in another register. You could add a register copy instruction for convenience but it's redundant because it can be simulated in two instructions.
11:37:04 <cluid> i want to link to it from the wiki
11:37:16 <oren> i have been using pastebin
11:37:17 <cluid> or have it as a 'behind' page would be nice.. if that's ok
11:37:25 <cluid> oren, that is likely to 404 after some time, I linke
11:37:26 <cluid> think
11:37:26 <b_jonas> cluid: Does it have a short text source code? If it does, you could just put it to a wiki page.
11:37:28 <cluid> you shuldnt' trust it
11:37:43 -!- oerjan has joined.
11:37:44 <cluid> its 90 lines
11:37:54 <ais523> oh, huh, the esoteric files archive is on github now
11:37:55 <ais523> https://github.com/graue/esofiles
11:38:03 <cluid> yes its just i dont want to use github
11:38:11 <ais523> I don't like github eitehr
11:38:14 <b_jonas> cluid: I say put it on the wiki.
11:38:16 <cluid> if someone else puts it on github that would be fine/kind
11:38:18 <cluid> ok thank you
11:38:28 <ais523> I'm fine with other repo hosting sites, I just dislike github in particular
11:38:32 <b_jonas> (Provided it's 90 not very long lines.)
11:38:55 <b_jonas> ais523: do you like gitorious
11:38:57 <b_jonas> ?
11:39:03 <ais523> b_jonas: it's my favourite git hoster, right now
11:39:31 <oren> bah git is unnecessarily complex to my mind...
11:39:35 <elliott> cluid: you could put it on a subpage of your user page and link to that or such
11:39:38 <elliott> that's quite common
11:39:39 <b_jonas> (is github better than sourceforge?)
11:40:02 <elliott> ais523 got crawl to use gitorious and everyone involved has suffered for years because of it :p
11:41:05 -!- callforjudgement has joined.
11:43:39 -!- ais523 has quit (Ping timeout: 245 seconds).
11:43:43 <oren> im giving up on the undivider for now, can't figure out a good heuristic
11:43:48 -!- callforjudgement has changed nick to ais523.
11:45:34 <cluid> undivider?
11:46:51 -!- ais523 has quit (Read error: Connection reset by peer).
11:46:53 <oren> suppose i have a double f which i know came from dividing two small numbers. reproduce the small numbers again.
11:47:00 -!- ais523 has joined.
11:47:40 <oren> of course it is not necessary to distinguish 3/9 from 1/3...
11:47:45 <b_jonas> oren: use continuous fractions for that
11:48:03 -!- ais523 has quit (Read error: Connection reset by peer).
11:48:17 -!- ais523 has joined.
11:48:19 <oren> nah let's assume the double came from say a core dump...
11:48:23 <b_jonas> wait, I might have code for that
11:48:53 <b_jonas> um
11:48:56 <b_jonas> continued fractions
11:49:05 <b_jonas> I think that's what they're called, not "continuous fractions"
11:49:34 <b_jonas> here: http://www.perlmonks.com/?node_id=424519
11:49:36 <b_jonas> there's the code
11:49:51 <b_jonas> oren: see there
11:49:54 <oren> looks good.
11:50:49 <b_jonas> for reference on the theory of how it works, I recommend the ''Concrete Mathematics'' book
11:51:03 <cluid> How do I upload an image to wiki?
11:51:06 <cluid> http://i.imgur.com/axDhZce.png
11:51:08 <cluid> I want to use this one
11:51:32 <oren> under tools, upload file
11:51:52 <b_jonas> cluid: http://esolangs.org/wiki/Special:Upload (you may have to log in first)
11:52:20 <b_jonas> wait, is the source code 90 lines PLUS and image?
11:52:26 <HackEgo> [wiki] [[Special:Log/upload]] upload * Cluid Zhasulelm * uploaded "[[File:Fulbt.png]]": A picture of a full binary tree
11:53:08 <oren> source code doesn't include an image i don't think, it is not that kind of language
11:54:24 <cluid> A continued fraction would be good
11:54:31 <cluid> you can take the first fwe terms before you see a very large convergent
11:54:45 <b_jonas> zzo38: you might or might not be interested in http://www.madore.org/~david/weblog/d.2014-12-10.2254.html#d.2014-12-10.2254
11:54:57 <cluid> it's very easy to compute a CF
11:55:15 <cluid> take off the integer part and then 1/ in a loop
11:55:30 <b_jonas> cluid: sure, but what I wrote is more numerically stable
11:55:42 <cluid> oh interesting
11:55:43 <b_jonas> it won't give as much nonsense when you run out of precision
11:55:48 <b_jonas> and it's not too complicated either
11:55:51 <cluid> il have to look at this
11:55:53 -!- Patashu has quit (Ping timeout: 244 seconds).
11:57:36 <HackEgo> [wiki] [[Treehugger]] N http://esolangs.org/w/index.php?oldid=41436 * Cluid Zhasulelm * (+1495) created page
11:58:58 <elliott> cluid: btw one disadvantage of putting implementations on the wiki is that they have to be public domain
11:59:26 <cluid> what's bad about that?
11:59:59 <elliott> nothing unless you like the gpl or whatever
12:00:05 <elliott> just letting you know
12:00:06 <cluid> I like GPL a lot but this is fine
12:00:07 <cluid> thank you!
12:00:16 <HackEgo> [wiki] [[Treehugger/Implementation]] N http://esolangs.org/w/index.php?oldid=41437 * Cluid Zhasulelm * (+2989) Implementation
12:00:26 <elliott> I like the GPL in spirit but the implementation isn't great :/
12:00:34 <cluid> If anyone will try writing programs in this I would be interested in what you find
12:00:44 <cluid> also the code is excellent
12:01:47 <b_jonas> elliott: sure. but for an esolang, it can be useful to have a readable (non-obfuscated) reference interpreter which is clearer than your description
12:02:17 <elliott> cluid: I wonder how hard a self-interpreter would be
12:02:23 <elliott> it would be cool to write the tree structure
12:02:31 <elliott> doing fiddly things like parsing makes it unfun though :/
12:03:14 <HackEgo> [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41438&oldid=41295 * Cluid Zhasulelm * (+124)
12:04:49 <ais523> elliott: GPL3 has a much better impl than GPL2; it annoys me a lot when people use GPL2 specifically because they like the bugs, because BSD or Expat or something would probably be a better choice for those people
12:04:57 <ais523> but yes, it could be better still
12:05:08 <elliott> ais523: I just don't like how you get fuzzy definitions of "linking"
12:05:09 <ais523> I guess the GPL looks good once you're working with the NetHack General Public License
12:05:21 <ais523> which is one of the buggiest licenses ever
12:05:23 <elliott> where things like static linking can be relevant and stuff
12:05:27 <elliott> LGPL is much worse in that respect though
12:05:36 <elliott> like when using GHC, LGPL is equivalent to GPL basically
12:05:42 <ais523> I had to invent a comment syntax for NetHack level files purely to comply with the license
12:05:57 <cluid> If anyone looks at my page http://esolangs.org/wiki/Treehugger and http://esolangs.org/wiki/Treehugger/Implementation - would you comment? thanks you
12:06:02 <ais523> also there's hugely widespread disagreement on lawyers about linking wrt the GPL
12:06:11 <cluid> -ss
12:06:13 <ais523> and people just prefer to avoid the issue if they can
12:06:17 <ais523> the whole libedit controversy, for instance
12:06:47 <ais523> (actually, I wonder if the FSF position on that is actually correct, in the wake of Oracle v. Google; I hope it isn't, because it's ridiculous)
12:06:49 <elliott> cluid: I think a "reified" binary tree in this language would look like a 0 or 1 to denote whether it has children
12:07:06 <elliott> cluid: followed below by either two leaf value slots if not, or a left and right pointer if so
12:07:06 <cluid> I dont understand
12:07:06 <oren> lawyers are more expensive than programmers
12:07:14 <elliott> cluid: if you wanted to represent finite binary trees in this language
12:07:19 <elliott> using the binary trees it has
12:07:20 <cluid> oh you mean like implementing it in a non lazy language
12:07:23 <cluid> that's a good idea!
12:07:23 <elliott> no I mean
12:07:28 <elliott> implementing binary trees inside the language
12:07:30 <cluid> ohh
12:07:31 <cluid> I see
12:07:35 <cluid> I agree
12:07:38 <elliott> (since I was thinking about a self-interpreter)
12:08:20 <cluid> a self interpreter would be really stunning
12:08:44 <oren> a structure like ((*,*),(*,t)) could be used to implement each node of the empulated tree
12:08:48 <elliott> so if you have that tree structure you should be able to write something that descends to an index in it coded as binary
12:08:49 <cluid> I was shocked how small the best BF interpreter is
12:08:53 <cluid> self-interpreter
12:09:01 <cluid> I looked up some stuff to get ideas to try out in treehugger
12:09:02 <ais523> the smallest, you mean?
12:09:05 <elliott> by moving it into the 0/1 meta slots, chopping off a bit, and then copying the new index down to the appropriate child
12:09:06 <cluid> yes
12:09:14 <cluid> the best at smallness :P
12:09:19 <ais523> self-interpreting BF is interesting because of the limited access to data that you have
12:09:23 <elliott> [^] will ascend all the way up a tree
12:09:40 <ais523> hmm, BF self-interpretation is obviously eigenratio infinity, right?
12:09:41 <oren> what if there is no top
12:09:47 <elliott> there isn't, but you run into a 0
12:09:53 <oren> ah
12:09:54 <ais523> because you can't keep your place in both the program and data at the same time
12:09:59 <ais523> actually, no, it's O(length of program)
12:10:05 <elliott> cluid: one thing that's a bit weird is that moving around gets you a penalty
12:10:08 <ais523> as you can move the program around as you move the tape pointer around
12:10:14 <ais523> massively slow, but not so bad asymptotically as leaving it in place
12:10:28 <elliott> cluid: like if you're a thousand nodes deep in the reified tape you have to like [^]< down to the program and back again
12:10:51 <b_jonas> ais523: as for me, I prefer non-copyleft licenses these days, like the X11 license. I haven't really thought about gpl2 versus gpl3 yet.
12:11:09 <elliott> ais523: why use GPLv3 when AGPLv3 exists?
12:11:19 <elliott> agpl is also bug-fixing in the same way
12:11:39 <elliott> okay no I don't even want to talk about licenses on IRC ever again
12:11:47 <ais523> OK, let's change the topic then
12:11:58 <b_jonas> ok
12:12:01 -!- ais523 has set topic: arbitrarily changed topic | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
12:13:32 -!- nyuszika7h has quit (Remote host closed the connection).
12:15:01 <Jafet> In some sense, the eigenratio of brainfuck is constant
12:15:02 -!- nyuszika7h_ has joined.
12:15:36 <Jafet> As you interpret the input program, also take some time to search for a proof that the program state is a brainfuck interpreter applied to a program
12:15:50 <Jafet> When you find such a proof, start interpreting the nested program instead
12:16:47 <oerjan> <ais523> hmm, BF self-interpretation is obviously eigenratio infinity, right? <-- i discussed it with that eigenratio guy previously, the _usual_ implementations have something like a^(n^2) growth but i also thought of that moving the program thing which gives an actual eigenratio.
12:17:47 <ais523> Jafet: doesn't that fail in cases where you have a program that's a BF interp, but not provably so?
12:18:03 <ais523> if you're talking about the alternative case where you just have an interpreter that recognises and optimizes out itself
12:18:09 <ais523> something like that would be pretty handy for Feather
12:18:26 <Jafet> Well, if you write a bf interpreter presumably you know why it is one
12:18:41 <oren> what if some bf instructions take longer than others?
12:18:56 <b_jonas> ais523: that's pretty unlikely. but I wonder if the program would start nested bf interpreters faster than you can prove it's a bf interpreter
12:19:24 <Jafet> The self-recognition case is degenerate, but any attempt to generalize it would require proof search probably
12:19:25 <oren> in particular, a naive interpreter might take O(n) time to do a [ or ]
12:19:32 <ais523> oren: doesn't matter for computational complexity unless some of them are asymptotically slower
12:19:40 <b_jonas> also, a program could start a bf interpreter parallel to some other task, so you may have to recognize that too.
12:19:48 <ais523> not sure if [] matching is asymptotically slower on the right variable
12:20:02 <Jafet> Yes, but the definition of eigenratio presupposes a tower of (arbitrary) interpreters
12:20:03 <b_jonas> like, a bf interpreter and some fancy performance counters.
12:20:06 <oren> program size?
12:22:19 <oren> yes i think a naive interpreter would be O(1) on program size for most instructions but O(n) on program size for [ and ]
12:22:59 <oerjan> oren: as i said, i concluded a naive interpreter's "eigentower" grows as O(a^(n^2+...))
12:23:34 <oerjan> where n is number of generations and ... is something <=linear
12:23:54 <oerjan> ...i guess that's redundant with O()
12:24:07 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
12:24:46 <oerjan> oren: note that you're not going to escape using [ and ] for implementing the others, so things definitely go O(n) from second generation
12:25:55 <oerjan> or well, you can try tricks that delay it for a finite number of generations, clive gifford tried some
12:26:22 <oerjan> iirc
12:26:52 -!- shikhout has joined.
12:30:16 <oerjan> designing an actual moving-program bf self-interpreter that has an eigenratio you can calculate is one of my many vaporware projects.
12:30:24 -!- shikhin has quit (Ping timeout: 265 seconds).
12:30:37 <oerjan> i think its eigenratio would be several thousand, at least
12:33:15 -!- sebbu2 has changed nick to sebbu.
12:33:42 <b_jonas> oerjan: moving program? wouldn't it be rather repeated program?
12:35:08 <oerjan> b_jonas: no, you put the representation of your program between your left and right tape representations, and > and < are implemented by moving the whole program representation
12:35:25 <oerjan> repeating the program would seem overkill in comparison...
12:35:44 <b_jonas> oerjan: ah!
12:36:00 <b_jonas> that could work, yes
12:40:35 <oerjan> another thing that i believe will simplify the actual matrix (by avoiding having a row/column for every possible cell _value_ you operate on) is to let the current cell be either to the left or to the right of the program representation, and not moving across it unnecessarily.
12:40:57 -!- shikhout has quit (Ping timeout: 258 seconds).
12:41:59 -!- shikhin has joined.
12:42:37 <oerjan> but that's just an additional trick, and not necessary to have an eigenratio bound.
12:45:40 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41439&oldid=41430 * TomPN * (+42)
12:45:50 <elliott> the thing about phi eigenratio got disproved right
12:46:20 -!- nyuszika7h_ has changed nick to nyuszika7h.
12:46:21 <oerjan> as far as i am concerned my unlambda self-interpreter did that
12:47:28 <elliott> howso? I've forgotten
12:47:35 <oerjan> it has eigenratio 1
12:47:48 <oerjan> because it is nearly entirely metacircular
12:48:57 <elliott> well, I mean, so does eval
12:49:07 <elliott> what I mean is "no eigenratios > 1 < phi"
12:49:15 <oerjan> oh well
12:49:16 <elliott> (and then arbitrarily branding eigenratio 1 as cheating)
12:49:25 <cluid> is phi one?
12:49:40 <oerjan> > (sqrt 5 + 1)/2
12:49:41 <lambdabot> 1.618033988749895
12:49:45 <oerjan> it's that
12:49:53 <cluid> has that been attained?
12:50:18 <elliott> no but there's some anecdotal evidence/handwavy argument that it might be a lower bound of some sort
12:50:35 <elliott> http://eigenratios.blogspot.co.uk/2007/11/search-for-phi-holy-golden-ratio.html
12:50:50 <cluid> i thought he just picked it beacuse its a nice looking number
12:51:31 <elliott> there's a bit more argumentation in that post :p
12:51:42 <oerjan> i don't think it really is a lower bound even in that sense because you can lower the number by having a longer chain of operations that are implemented as a single other.
12:51:45 <elliott> (it's more about it "feeling" right than just being pretty, though, I think)
12:52:25 <elliott> oerjan: I guess
12:52:28 <elliott> I want it to be true though :(
12:52:42 <oerjan> OKAY
12:54:08 <oren> it really annoys me that letter size paper isn't a golden ratio
12:54:48 <oerjan> you know A(n) paper is sqrt(2) ratio for rather elegant reasons, right?
12:54:58 <cluid> oren, golden ratio is a myth hth
12:55:30 -!- mr45_ has joined.
12:55:44 <oren> the point is that when you fold the paper in half it has the same proportions
12:56:16 <oren> so you can print 2^n pages on one page without distortion
12:56:19 <oerjan> oren: yes. assuming you're referring to sqrt(2) _not_ golden ratio
12:56:52 <oren> yes.
12:57:02 <oerjan> oren: psst, you can still print 4^n pages
12:57:06 <oren> golden ratio on the other hand just looks good
12:57:18 <oerjan> or n^2 pages
12:57:26 <cluid> can you print phi^n pages?
12:57:38 -!- ais523 has quit (Read error: Connection reset by peer).
12:57:43 <elliott> the golden ratio is literally a myth
12:57:43 <oerjan> cluid: no because that's never an integer hth
12:57:45 <elliott> like the number doesn't exist
12:57:46 -!- callforjudgement has joined.
12:57:48 <elliott> complete hoax
12:57:55 <elliott> (sqrt(5)+1)/2 has no value
12:58:14 <callforjudgement> with golden ratio, you could cut out a square and be left with a piece of paper of the same proportions
12:58:17 <oren> well it has no value in the rationals hth
12:58:17 <callforjudgement> I'm not sure if that's useful or not
12:58:19 <oerjan> elliott: it's used to hide the mathematical errors of the "round globe" fraud hth
12:58:20 <fizzie> oerjan: Origamists would probably like golden ratio paper, because you could cut off a square (and use it for folding), and still be left with...
12:58:27 <cluid> lol
12:58:33 <oerjan> fizzie: true
12:58:36 <elliott> oren: yeah, believing in the golden ratio can only be irrational
12:58:44 <cluid> Origamists prefers squares
12:59:00 <fizzie> callforjudgement: I had painstakingly typed all that with a touchscreen and then you scooped it.
12:59:07 <cluid> the golden ratio: 1 : 1
12:59:20 <oerjan> callforjudgement: fizzie: are you competing with me and int-e for redundancy?
12:59:33 <oren> i have a notebook from mexice which for some reason has square pages
12:59:38 <oren> *mexico
13:00:27 <callforjudgement> oren: not fair, I didn't see your line due to disconnect
13:00:40 <callforjudgement> *oerjan:
13:00:47 <callforjudgement> you two have names that are very easy to mistabcomplete into each others'
13:00:51 <oerjan> callforjudgement: _my_ line?
13:00:56 <oerjan> callforjudgement: *fizzie
13:01:09 <fizzie> I was later.
13:01:22 <callforjudgement> mine came before fizzie's
13:01:34 <callforjudgement> and because I wasn't here for the original, I didn't see who said it
13:01:45 <oerjan> callforjudgement: i ... don't think there was one?
13:01:59 <callforjudgement> oh
13:02:14 <callforjudgement> why are you accusing me of competing with people for redundancy when I was first, then?
13:02:15 -!- callforjudgement has changed nick to ais523.
13:02:26 <oren> all i said was that it annoys me that letter size paper isn't a golden ratio
13:02:45 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41440&oldid=41439 * TomPN * (-2) /* Syntax */
13:02:47 <oren> it isnt root 2 either... so it is entirely useless
13:03:02 <oerjan> ais523: you and fizzie are stealing our redundancy trademark hth
13:03:26 <cluid> why should it be golden ratio?
13:03:38 <oren> because it look better
13:03:41 <oerjan> it's a myth. a myth!
13:03:41 <cluid> no it wouldn't
13:04:09 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41441&oldid=41440 * TomPN * (+131)
13:04:29 <int-e> oerjan: the more the merrier, you just have to learn to share.
13:04:40 <oerjan> int-e: NOOOOOOOOOOO sharing
13:04:41 <fizzie> Let's compromise on 1.5, then you can fold one big crane and twi small ones.
13:06:13 <oerjan> fizzie: how rational of you.
13:06:47 <oren> 8.5/11 is just... stupid.
13:07:00 <oren> it is a stupid number
13:09:14 <elliott> the golden ratio is 1/79
13:09:15 * elliott hides
13:09:30 <cluid> Recent reviews of the empirical literature bearing on the claim of special aesthetic significance for this ratio in the context of the perception of simple figures include Green (1995), Hoge (1995), and contributors to a dedicated edition of Empirical Studies of the Arts (Hoge 1997). Some investigators doubt that the golden section has any aesthetic significance, even suggesting that research on it be abandoned
13:09:42 <cluid> Russel (2000) explored the height to width ratio of a large database of famous paintings and did not find any particular support for a preference for the golden-section
13:10:05 <cluid> McManus (1980) felt that existing empirical research was unable to adequately differentiate preference for the golden-section versus other similar ratios such as 1.5, 1.6 or 1.75.
13:10:12 <cluid> Boselie F, 1992. "The golden section has no special aesthetic attractivity!" Empirical Studies of the Arts 10 1-18.
13:10:31 <oren> well 8.5/11 is not even close and i hate it
13:10:38 <ais523> one use I like for the golden ratio is using rotations of (tau/golden ratio) radians around a color wheel to create distinct colors
13:11:04 <ais523> because it's irrational, the colours never exactly repeat; and the golden ratio is also quite good at avoiding approximate clashes
13:11:23 <cluid> ais523, there is rigorous mathematics explaining why that works
13:11:36 <ais523> well, yes, obviously
13:11:47 <oren> damn ais523 that is what i should have done instead of using rand
13:11:49 <int-e> sqrt(2) is so much better
13:12:06 <oren> i will remeber that trick
13:12:12 <ais523> oren: for what, colours?
13:12:15 <oren> yeah
13:12:23 <elliott> ais523: tau, really :p
13:12:25 <ais523> also, the word "damn" looks a little out of place there
13:12:38 <cluid> phi has importance in number theory, not `aesthetics`
13:12:43 <ais523> normally I go into a rant when people use it, but this time I'm just confused because I can't parse the sentence
13:12:49 <ais523> elliott: I wanted "complete circles"
13:12:57 <ais523> what did you want me to say? 400 gradians?
13:13:03 <cluid> use 2 pi
13:13:16 <oren> ais523: it is an exclamation of dismay hth
13:13:27 <elliott> I guess complaining about tau is even more a waste of time than using tau in the first place
13:13:29 <ais523> stop hthing, that's oerjan's gimmick
13:13:43 <ais523> really we just need a "complete cycles" unit of measurement
13:13:44 <oren> it helps to increase confusion dth?
13:13:53 <ais523> hertz-seconds, perhaps
13:14:07 <int-e> "rotations"
13:14:15 <oren> 'cycles'
13:14:37 <ais523> well, hertz = cycles per second, thus hertz-seconds = cycles
13:14:39 <int-e> but "rotations" has precedent in rpm.
13:14:52 <cluid> http://www.shallowsky.com/blog/science/fibonautilus.html
13:15:29 <int-e> (Not a strong argument. But I rarely associate associate Hertz with rotations.)
13:16:11 <ais523> elliott: anyway, tau makes more sense in that context than in most others, because of the actual connotation of "complete rotation" which is its only advantage over pi in the first place
13:17:06 <cluid> tau is bad because of the assholes spamming wikipedia with it
13:17:16 <Jafet> Hertz-seconds, the SI definition of numbers
13:18:56 <oerjan> naughtilus
13:20:21 -!- mr45_ has left.
13:20:38 <oerjan> hm are there any other SI units that can be multiplied to be dimensionless
13:20:58 <int-e> oh. "The cycle per second was a once-common English name for the unit of frequency now known as the hertz."
13:21:57 <fizzie> oerjan: Can't all of them? metres per meter, ...
13:21:58 <ais523> oerjan: or more interestingly, multiplied to be dimensionless and not equal to 1
13:21:58 <oerjan> they should have made more of the units be vaguely relevant german organ names
13:22:37 <oerjan> ais523: well you have to find the first before you can get the latter
13:22:43 <fizzie> The bequerel is the same as the hertz.
13:23:02 <oerjan> wat
13:23:06 <fizzie> It's s^-1, as decays/time.
13:23:23 <ais523> fizzie: in that case bequerel-seconds also work
13:24:04 <fizzie> "A special name was introduced for the reciprocal second (s−1) to represent radioactivity to avoid potentially dangerous mistakes with prefixes. For example, 1 µs−1 could be taken to mean 106 disintegrations per second: 1·(10−6 s)−1 = 106 s−1.[3] Other names considered were hertz (Hz), a special name already in use for the reciprocal second, and fourier (Fr).[3] The hertz is now ...
13:24:06 <oerjan> i suppose radians and steradians...
13:24:10 <fizzie> ... only used for periodic phenomena.[2] Whereas 1 Hz is 1 cycle per second, 1 Bq is 1 aperiodic event per second."
13:24:11 -!- oren has quit (Ping timeout: 256 seconds).
13:24:38 <int-e> oerjan: well there are plenty of secondary units. N = kg m/s^2
13:24:55 <oerjan> fizzie: i mean without using division, obviously
13:25:18 <int-e> oerjan: so you probably need some more rules in the game.
13:26:21 <oerjan> int-e: the rule is to take a list of named units and multiply them, hth
13:26:27 <fizzie> oerjan: Well, arguably second-hertz makes seconds dimensionless just as much as hertz-seconds make hertz.
13:29:26 <oerjan> the list at https://en.wikipedia.org/wiki/International_System_of_Units#Derived_units contains no negative exponents for mol, K or cd
13:30:14 <mroman> !blsq_uptime
13:30:14 <blsqbot> 8d 23h 23m 44s
13:30:28 <fizzie> The farad-ohm-becquerel is dimensionless, but it's just making use of the same 1/s as before.
13:30:55 <fizzie> On the other hand, the farad-ohm makes for a nice name for a second.
13:31:13 -!- callforjudgement has joined.
13:31:33 <callforjudgement> <oerjan> int-e: the rule is to take a list of named units and multiply them, hth ← N = kg m Hz Hz
13:31:35 <fizzie> Oh, the ohm-siemens, of course.
13:31:56 <fizzie> They're exactly complementary.
13:31:57 <callforjudgement> I am annoyed at conductance having units
13:32:00 <oerjan> callforjudgement: um the result is supposed to be dimensionless hth
13:32:26 <oerjan> fizzie: oh right
13:32:38 -!- ais523 has quit (Ping timeout: 252 seconds).
13:32:45 <fizzie> (One is V/A and the other is A/V.)
13:32:55 <oerjan> hertz-farad-ohm would be a good spell invocation
13:33:00 -!- callforjudgement has changed nick to ais523.
13:33:27 <oerjan> and probably very painful for the recipient
13:33:55 <ais523> well, farad+ohm gives you an RC circuit, which is one of the simplest ways to make time-sensitive electronics
13:34:15 <ais523> put appropriate circuitry around that (an amplifier or inverter or similar), you can probably measure the resulting circuit in hertz or in seconds
13:36:54 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]).
13:37:00 <int-e> beautiful. https://en.wikipedia.org/wiki/File:Original_Abraham-Bloch_multivibrator_circuit.png
13:38:01 <b_jonas> oerjan: hehe
13:39:14 <int-e> oerjan: are you trying to generate sparks?
13:39:16 <b_jonas> and there's a higher level version, the hertz-farad-henry-ohm
13:40:29 <oerjan> int-e: or obliterating them, only science will tell!
13:41:06 <oerjan> b_jonas: not dimensionless hth
13:41:08 <int-e> oerjan: so do you think the monks have another of those muses around?
13:41:11 <ais523> int-e: there are a ton of ways to make time-dependent circuits
13:41:17 <oerjan> int-e: hm good question
13:41:26 <ais523> hook an RC circuit up to anything vaguely amplifier-like, and you'll most commonly get oscillating behaviour
13:41:39 <ais523> I guess the interesting thing about that circuit is that it was the first to be discovered
13:41:52 <ais523> also there is something somewhat hilarious about the 80 volt battery
13:42:08 <int-e> ais523: also the voltages are way more impressive than what electronics generally deal with today
13:42:14 <int-e> exactly
13:43:39 -!- atslash has quit (Quit: This computer has gone to sleep).
13:43:42 <ais523> the voltages used in modern circuits have gone down and down over time
13:43:57 <ais523> modern electronics is about making it still work at lower voltage, because then you get less energy wasted when you make it go faster
13:44:43 <b_jonas> yeah
13:44:50 <int-e> I knew that.
13:45:06 <int-e> `? smart
13:45:07 <HackEgo> smart? ¯\(°​_o)/¯
13:46:47 <cluid> How about reversible CPUs?
13:46:57 <cluid> since information isnt destroryed, it can work with less energy
13:47:08 <cluid> this might be a big improvement in computing
13:48:11 <ais523> all quantum computations have to be reversible up to the point you measure the
13:48:12 <ais523> *them
13:48:32 <ais523> otherwise they'd require too much energy
13:48:56 <oerjan> cluid: that was the idea of the pendulum architecture. unfortunately the main cpu lines are just too good for reversible ones to compete (yet!)
13:49:08 <cluid> i thought reversible was just a property of quantum computing
13:49:16 <cluid> can you elaborate on that "otherwise"?
13:50:17 <oerjan> i'd imagine if reversibility gets used it would be in a hybrid way.
13:50:41 <ais523> cluid: well the theory is, destroying information needs energy
13:50:49 <oerjan> making as much of the cpu reversible as possible, but preserving overall backwards compatibility
13:50:51 <cluid> oh yeah
13:50:53 <ais523> and you'd need to destroy the information in multiple multiverses at once
13:50:55 <cluid> so this is the same principle as i said
13:51:08 <ais523> and as yet, we don't know how to steal information from other potential universes
13:51:20 <cluid> I have a question about multiple universes?
13:51:32 <oerjan> https://en.wikipedia.org/wiki/Landauer's_principle for anyone following along
13:51:39 <ais523> cluid: I'm not an expert in this stuff
13:51:49 <ais523> I did it as my A-level coursework, but that's about it
13:52:03 <ais523> one nice thing about doing coursework on an obscure subject is that it reduces the chance that the person marking it will know the subject
13:52:11 <ais523> so they'll find it harder to find errors in it
13:52:22 <int-e> https://www.cise.ufl.edu/research/revcomp/ has a funny slide that implies that reversible computing should begin to matter this decade.
13:52:33 <oerjan> ais523: we don't even know if other universes exist, they might just be a mathematical convention and we'll find some other explanation.
13:52:39 <int-e> of course that's there area of research so I take it with a spoonful of salt
13:52:43 <ais523> oerjan: indeed, definitely
13:52:44 <int-e> (yuck!)
13:52:58 <elliott> salt is tasty
13:53:02 <elliott> I'd eat a spoonful of salt
13:53:03 <ais523> however, even if they don't, it seems reasonable that the laws you'd predict from involving multiple universes still work, but for a different reason
13:53:10 <ais523> elliott: I hope it's a very small spoon
13:53:17 <cluid> oerjan, I hope we have a differetn interpretation, the multiple universes thing is really scary to me
13:53:20 <elliott> depends how much you're paying me
13:53:25 <int-e> elliott: nothing!
13:53:33 <int-e> elliott: the salt was expensive enough
13:53:40 <ais523> from my point of view, the issue with salt is a) it's added too soon in the cooking process by most people, b) although it tastes nice in small amounts, almost anywhere which salts things will use too much
13:53:56 <oerjan> int-e: ooh
13:54:04 <ais523> for instance, last I looked, unless I completely messed up the calculations, there's more salt in one slice of bread than there is in a packet of ready salted crisps
13:54:13 <ais523> and yet the salt tastes much nicer in the crisps
13:54:22 <elliott> arguments about cooking in #esoteric > arguments about programming in #esoteric
13:54:40 -!- J_Arcane has joined.
13:54:49 <int-e> oerjan: sorry for the typo, this one was unintentional for once.
13:54:54 <cluid> hwy is there so much salt in bread
13:57:14 <int-e> Hmm the bread I'm currently eating has 1.1g/100g, the chips 2.0g/100g (they're cheese flavoured, not primarily salty.)
13:57:16 <oerjan> int-e: wait what typo
13:57:23 <int-e> oerjan: their.
13:57:26 <oerjan> oh.
13:57:37 <oerjan> 's ok just say 50 hail marys
13:58:00 * oerjan isn't even catholic.
13:58:40 <ais523> int-e: I have a feeling that the salt-as-only-flavouring crisps actually have lower salt content than the other flavours
13:58:58 <int-e> could be. I don't like them very much.
13:59:07 <int-e> So I'll have to go to a shop to check the theory.
13:59:44 <oerjan> int-e: i can't swat you for saying "there" when other people are going around saying "hwy"
14:00:41 <int-e> I hvae more sympathy for "hwy" though ;-)
14:00:43 <oerjan> ais523: so basically they are using more salt when they're not paying attention to it?
14:02:06 <ais523> <spambot> RE: YOU’RE PAYMENT NOTIFICATION
14:02:43 <oerjan> int-e: that slide seems to be more than a decade old though
14:03:28 <oerjan> ais523: you're aware of the "make obvious errors so people to smart to fall for our scame drop out early" theory, i assume
14:03:34 <oerjan> *too
14:03:38 <oerjan> *scam
14:03:41 <ais523> oerjan: yes
14:03:48 <ais523> I might have been the person who introduced #esoteric to it
14:03:52 <oerjan> you prob... right
14:04:00 <cluid> what scam
14:04:06 <ais523> that said, I received an email that looked a huge amount like a Facebook friend request reminder, but I'm not on Facebook and have never heard of the person who sent it
14:04:16 <cluid> oh
14:04:31 <oerjan> cluid: basically nearly all spam scams look hilariously bad to intelligent people
14:04:50 <b_jonas> ais523: I believe sites loke facebook still send email like that asking you to join and friend or whatever, even if you're not joined yet.
14:04:53 <oerjan> and the theory is that this is intentional because they _don't_ want intelligent people
14:05:07 <oerjan> they want really, really gullible ones
14:07:19 <int-e> and desparate, I suppose
14:07:58 <oerjan> *desperate
14:14:10 <oerjan> "Though even the Landauer limit is millions of times below the energy consumption of modern computers."
14:14:25 <oerjan> i'm guessing it might not be this decade, then.
14:15:03 <cluid> we have high level reversible programming languages and efficient compilers to reversible instruction sets
14:15:14 <cluid> hardware has been fabricated too
14:15:43 <oerjan> i mean that they won't see the need for it this decade
14:16:24 <oerjan> because it's still 3 decades of moore's law before we hit that limit
14:16:48 <b_jonas> only millions? are we that close already?
14:17:00 <b_jonas> or is that just one of those riddiculous understatements/
14:17:37 <oerjan> "Theoretically, room‑temperature computer memory operating at the Landauer limit could be changed at a rate of one billion bits per second with only 2.85 trillionths of a watt of power being expended in the memory media. Modern computers use millions of times as much energy."
14:18:59 <oerjan> you do the math (because i'm too lazy)
14:19:42 <cluid> doesnt that just mean we could improve things by a lot?
14:20:20 <cluid> is the implication that the reversible stuff would only improve by such a tiny fraction of whats already wasyed?
14:20:55 <oerjan> cluid: well my implication is that they won't change to an entirely new method of doing things while the methods they are good at still work
14:21:23 <oerjan> because incremental improvement is much cheaper than complete revamping
14:21:27 <cluid> i gues we wont see reversible computers :(
14:21:37 <cluid> but its very interesting technolofy
14:22:38 <int-e> hmm. desperate typography channel.
14:23:17 <oerjan> we should ask fizzie to do some typo graphing
14:26:58 -!- callforjudgement has joined.
14:27:05 -!- ais523 has quit (Disconnected by services).
14:27:08 -!- callforjudgement has changed nick to ais523.
14:32:09 <int-e> I have no clue at all what the trade-offs are for reversible computing implementations. I imagine they have higher circuit complexity, larger circuit area, probably longer critical paths, thus lower possible clock frequencies. This has to be weighed against just taking an irreversible circuit and underclocking it, which often allows one to decrease voltages, which also reduces consumed power? Tricky.
14:32:57 <ais523> int-e: also you have to store all the unused bits somewhere
14:33:10 <ais523> most "TC in reversible computing" constructions use a bitbucket
14:33:31 <int-e> oerjan: I imagine that we don't need new production processes though, "only" different software for the process above up to mask preparation.
14:35:17 <cluid> what do you mean "TC in reversible computing"
14:36:09 <ais523> cluid: you have a reversible language, and want to compile to it from a TC language
14:36:15 <cluid> oh yes
14:36:20 <cluid> I think tromp knows about this,
14:36:28 <cluid> it requires some garbage
14:36:58 <cluid> but there is also a notion of 'reversibly turing complete' which involves simulating reversible turing machines no garbage
14:37:22 <int-e> ais523: The architecture doesn't have to be completely reversible anyway. Reducing the number of destroyed bits from 1/2 per transistor and cycle to a couple of thousands or even millions per cycle should help a lot.
14:38:18 <int-e> Anyway, that's pure speculation on my part.
14:39:31 -!- ais523 has changed nick to scarf.
14:39:52 -!- scarf has changed nick to ais523.
14:42:17 <int-e> oh, nice PCP https://en.wikipedia.org/wiki/File:Dec_SYSTEM_BUILDING_BLOCKS_1103.jpg
14:43:39 -!- Sprocklem has quit (Ping timeout: 245 seconds).
14:43:54 <int-e> aaaah
14:43:55 <int-e> PCB
14:44:29 <elliott> I was wondering.
14:45:00 <int-e> (It's a PCB for the PDP 1)
14:45:33 <paul2520> very cool
14:45:59 <paul2520> I'm glad there are pictures. I like preserving our history.
14:46:29 <ais523> I love the fact that someone decapped a 6502 and scanned it with an electron microscope
14:46:43 <paul2520> source?
14:46:44 <ais523> so we now know for a fact exactly how it works
14:46:52 <ais523> oh bleh, it was a news aggregator and years ago
14:46:56 <ais523> so my chance of finding it now is quite low
14:46:56 <paul2520> okay
14:47:06 <b_jonas> ais523: http://visual6502.org/wiki/ , http://visual6502.org/
14:47:08 <b_jonas> um
14:47:10 <b_jonas> paul2520: ^
14:47:18 <b_jonas> and yes, it's amazing
14:47:20 <ais523> asking in #esoteric can be a decent way, though
14:47:24 <paul2520> well done. I was about to search
14:47:46 <b_jonas> they're also trying other chips. they've done one simliar size chip completely, and have some progress in larger chips
14:48:10 <b_jonas> oh wait, there's further progress
14:48:19 <b_jonas> apparently they've finished with the motorola 6800
14:48:20 <b_jonas> nice
14:48:52 <paul2520> oh this is beautiful. I now have desktop backgrounds for life
14:50:03 <b_jonas> hehe
14:50:35 <b_jonas> I use a photo from my brother's wedding as desktop background, but that's not a sustainable plan for life because he won't have more weddings
14:52:09 <oerjan> i'm sure it could be arranged.
14:53:44 <int-e> also you could just stick to that background image forever
14:54:00 <b_jonas> oerjan: like what? polymorph him to a pudding, split him with an iron weapon, polymorph both of them back, hope the clone gets married?
14:54:17 <b_jonas> that's dangerous because he could polymorph to an exploding monster
14:54:26 <int-e> b_jonas: that would be an option. normal people just get a divorce.
14:54:27 <b_jonas> also very expensive
14:54:32 <oerjan> b_jonas: i think you're suffering from evil imagination deficiency hth
14:54:47 <oerjan> (i guess it might not actually be suffering.)
14:55:09 <Jafet> The legality of splitting one's brother in two with an iron weapon seems dubious
14:55:15 <int-e> (I'm omitting another obvious possibility for obvious reasons.)
14:56:02 <oerjan> int-e: actually it's possible b_jonas's problem is he's living inside Nethack
14:56:08 <b_jonas> Jafet: he's not human while polymorphed so it's less illegal
14:56:36 <ais523> can we post from #esoteric to the #nethack qdb?
14:56:37 <Jafet> If you split too hard, it's still murder.
14:57:07 <b_jonas> Jafet: not unless he is a priest or something like that, no
14:57:12 <ais523> Jafet: use a dull, rusty, iron weapon that's corroded down to -3 then
14:57:21 <int-e> oerjan: It's not a problem as long as nobody gets hurt.
14:57:22 <ais523> and use a stethoscope first to make sure that the brother still has at least two hitpoints
14:57:29 <b_jonas> yeah, stethoscope first
14:57:39 <b_jonas> make sure he's fully healed
14:58:46 <int-e> But if you cut a cube in two, won't you get cuboids?
14:58:54 <oerjan> wait, am i the only one here who _isn't_ living inside nethack
14:59:17 <int-e> oerjan: no?!
14:59:31 <b_jonas> int-e: pudding, not gelatinous cube
14:59:36 <int-e> bash: nethack: command not found
14:59:48 <b_jonas> `nethack
14:59:48 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: nethack: not found
14:59:50 <b_jonas> `? nethack
14:59:51 <HackEgo> nethack? ¯\(°​_o)/¯
14:59:56 <ais523> oerjan: I'm more busy manipulating the laws of NetHack to my whim
15:00:17 <oerjan> int-e: good, good
15:00:22 <int-e> oerjan: I've tried the game, didn't get into it.
15:01:06 <b_jonas> int-e: did you get into other video games instead? other fantasy themed games (possibly not video but tabletop) instead?
15:04:18 <int-e> Yes, there are some video games. Sokoban and Lemmings were early favorites, and Lucas Arts adventures. (The Sierra ones, not so much, I hated dying all the time.)
15:04:42 <int-e> Ah I should really say Lucasfilm adventures.
15:04:46 <ais523> int-e: on the subject of NetHack and Sokoban, NetHack inspired me to start working on a Sokoban generator
15:05:02 <ais523> that was years ago, and I ended up downloading a bunch of Sokoban-related stuff for research, then becoming a level designer for Enigma
15:05:10 <ais523> and recently, the Sokoban generator is actually near-complete
15:05:28 -!- augur has joined.
15:05:33 <b_jonas> "hated dying all the time" -- ah, so that's why you don't like nethack. ok.
15:06:03 <int-e> b_jonas: Yes, that's a big part of it.
15:06:11 <b_jonas> ais523: I'd actually like to try to design levels for a game different from sokoban that can be embedded in nethack sort of like sokoban
15:06:23 <b_jonas> but I'm not sure that will work, and don't hold your breath
15:07:49 <ais523> even the embed of Sokoban into NetHack is awkward
15:08:08 <ais523> however, I also got sokogen to generate puzzles for NetHack boulder physics (i.e. without the restrictions that make it work like Sokoban)
15:08:42 <b_jonas> ais523: yes, what I'm thinking of also needs special code.
15:08:51 <ais523> oh, you're thinking of something in particular?
15:09:00 <ais523> rather than just "what games can we simulate with NetHack physics"?
15:09:05 <b_jonas> Yes, I have a particular idea for a game, but it might not actually work.
15:09:11 <ais523> submit it to /dev/null :-)
15:09:17 <ais523> /dev/null/nethack, that is
15:09:18 <b_jonas> In the sense that, it might not be a game for which it's possible to design interesting levels.
15:09:23 <ais523> not the character special file
15:09:27 <b_jonas> :-) no
15:11:57 <cluid> ais523, i would play your sokoban generated levels
15:12:30 <ais523> the generator isn't quite finished yet
15:12:35 <b_jonas> And even if I can make levels, I'm not sure it's a good fit for nethack still.
15:12:38 <ais523> it can generate /parts/ of levels, but not connect them together yet
15:12:53 <cluid> sounds very interesting!
15:13:00 <cluid> have you seen other generated sokoban levels? I know one set
15:14:07 <ais523> I'm just compiling it now
15:14:15 <ais523> I'll give you a part of a level to solve once it's done
15:14:41 <ais523> suddenly realised that I should probably keep this permanently checked out, rather than in a branch of NH4
15:15:44 <oerjan> `addquote <elliott> listen. listen. jesus has saved me from talking about undefined behaviour in C with you any more, and He could save you too.
15:15:46 <HackEgo> 1225) <elliott> listen. listen. jesus has saved me from talking about undefined behaviour in C with you any more, and He could save you too.
15:15:52 -!- `^_^v has joined.
15:26:11 <Jafet> `` echo "<Jessicatz> you play too much nethack when: you look down both sides of the corridor, start to sweat and then realize you're looking at your email address" >wisdom/nethack
15:26:13 <HackEgo> No output.
15:27:46 <oerjan> `? nethack
15:27:47 <HackEgo> ​<Jessicatz> you play too much nethack when: you look down both sides of the corridor, start to sweat and then realize you're looking at your email address
15:34:27 -!- Sprocklem has joined.
15:46:56 -!- S1 has joined.
15:51:05 -!- GeekDude has joined.
16:00:53 -!- atslash has joined.
16:04:46 -!- AnotherTest has joined.
16:10:04 -!- atslash has quit (Quit: This computer has gone to sleep).
16:14:03 <int-e> Oh, Numeric might actually win for once...
16:15:39 <int-e> But I'll probably be proven wrong.
16:20:41 <oerjan> int-e: if so we'll be two hth
16:23:53 <fizzie> So nasty to make it just one past 36.
16:24:05 <oerjan> heh
16:24:18 <int-e> so nasty to put lower case letters before A
16:24:43 <int-e> > filter isAlphaNum [' '..]
16:24:44 <lambdabot> "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\170\178\179\...
16:25:02 <oerjan> fizzie: well haskell's builtins don't support beyond 16 anyhow
16:25:29 <oerjan> int-e: isAlphaNum requires another import, anyhow
16:25:35 -!- drdanmaku has joined.
16:25:38 <int-e> but Burlesque does support bases up to 36
16:25:45 <fizzie> !blsq 12357 36B!
16:25:45 <blsqbot> | "9j9"
16:25:48 <fizzie> !blsq 12357 37B!
16:25:48 <blsqbot> | That line gave me an error
16:26:06 <fizzie> It supports also higher bases as long as it doesn't encounter any digit above 36. :p
16:26:18 <oerjan> fizzie: fancy
16:26:21 <fizzie> !blsq 12345 37B! {just fine}vv
16:26:21 <blsqbot> | "90o"
16:26:31 <int-e> oerjan: I know, it wouldn't really help. But it's still nasty :P
16:27:17 <oerjan> > 276088010547702691069957
16:27:18 <lambdabot> 276088010547702691069957
16:27:20 <oerjan> oops
16:27:29 <oerjan> > logBase 2 276088010547702691069957
16:27:30 <int-e> oerjan: in the meantime, cojna figured out the identity matrix thing. I have no clue.
16:27:31 <lambdabot> 77.86947442093677
16:27:36 <oerjan> heh
16:27:43 <oerjan> int-e: i haven't really tried that one
16:28:00 <oerjan> also nasty: going too high for Int
16:28:46 <int-e> oerjan: yes. that's the deciding factor for Numeric atm.
16:31:38 -!- mihow has joined.
16:31:57 <oerjan> ...wat
16:32:21 <int-e> what wat?
16:33:14 <oerjan> i tried submitting that anyhow and it gave a stack space error
16:33:43 <int-e> > (-1) `div` 37
16:33:45 <lambdabot> -1
16:34:01 -!- AnotherTest has quit (Ping timeout: 256 seconds).
16:34:29 <int-e> even in Haskell, infinite recursion tends to do that :)
16:34:43 <HackEgo> [wiki] [[Special:Log/newusers]] create * QuackQuack * New user account
16:34:49 <oerjan> > 1201688513203::Int32
16:34:50 <lambdabot> -902329677
16:34:55 <oerjan> ic
16:35:13 <oerjan> it worked in my ghci because that's 64 bits, presumably
16:47:39 <int-e> @hoogle Show a => a -> Doc
16:47:41 <lambdabot> Language.Haskell.TH.Ppr showtextl :: Show a => a -> Doc
16:47:41 <lambdabot> Language.Haskell.TH.Ppr ppr :: Ppr a => a -> Doc
16:47:41 <lambdabot> Language.Haskell.TH ppr :: Ppr a => a -> Doc
16:52:43 -!- atslash has joined.
17:02:39 <zzo38> Is there any common program that would buffer all data it receives (in RAM and/or temporary file) and only open the file specified for writing and dump data there upon EOF of input?
17:03:44 <b_jonas> zzo38: hmm... I wonder if you could abuse a program like that,
17:04:17 <ais523> zzo38: what happens if you connect stdbuf to cat, with a very large buffer size?
17:04:20 <b_jonas> it would be easy if you asked for only _writing_ when it gets eof, but if it has to only _open_ the output file it might be harder
17:04:26 <fizzie> zzo38: Yes, it's called 'sponge'.
17:04:30 <ais523> b_jonas: ah, oh right
17:04:35 <ais523> that breaks the stdbuf method
17:05:10 <fizzie> "sponge reads standard input and writes it out to the specified file. Unlike a shell redirect, sponge soaks up all its input before opening the output file. This allows constricting pipelines that read from and write to the same file."
17:05:14 <b_jonas> as in, tail -n 999 might work for large values of 999
17:05:27 <fizzie> I wonder if "constricting" is a typo, or just some sort of a pun.
17:05:43 <b_jonas> fizzie: probably a pun
17:05:59 <b_jonas> it both constricts the pipe and lets you construct the pipeline
17:06:26 <zzo38> I don't have such a "sponge" program on my computer; is there a Windows version available? (I want Linux version too if it is so that when working on Linux I can use it too)
17:07:32 -!- glguy has joined.
17:07:45 <fizzie> zzo38: Debian has it in a package called "moreutils".
17:08:19 <fizzie> I don't know about a Windows version, and "sponge windows" just finds things related to cleaning windows.
17:08:22 <b_jonas> zzo38: how about something like: perl -e "local$/;binmode STDIN;$d=<STDIN>;open$o,q(>:raw),$ARGV[0]or die qq(error open: $!);print$o$d or die qq(error write: $!);close$o or die qq(error close: $!);" outpufilename
17:09:29 -!- oerjan has quit (Quit: leaving).
17:09:38 -!- zzo38 has quit (Remote host closed the connection).
17:14:40 -!- callforjudgement has joined.
17:15:59 -!- atslash has quit (Quit: This computer has gone to sleep).
17:17:53 -!- ais523 has quit (Ping timeout: 250 seconds).
17:18:11 -!- callforjudgement has changed nick to ais523.
17:19:34 -!- augur has quit (Remote host closed the connection).
17:22:04 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:25:35 -!- augur has joined.
17:27:34 -!- oren has joined.
17:29:58 -!- augur has quit (Remote host closed the connection).
17:33:56 -!- augur has joined.
17:39:47 -!- augur has quit (Remote host closed the connection).
17:43:51 -!- hjulle has quit (Ping timeout: 264 seconds).
17:43:59 -!- ais523 has quit (Read error: Connection reset by peer).
17:44:11 -!- ais523 has joined.
17:45:08 <ais523> o
17:52:28 -!- tswett_ has joined.
17:52:58 -!- tswett_ has quit (Client Quit).
17:59:26 -!- ais523 has quit.
17:59:38 -!- ais523 has joined.
18:05:58 -!- S1 has quit (Quit: S1).
18:08:05 <diginet> this is probably a dumb question, but is there a "technical" name for whatever type of grammar you would need to parse TECO? In TECO, there is no delimitation, everything is one string, white space is not significant except in escaped strings.
18:08:26 <diginet> so to parse it you have to go in order
18:09:09 <diginet> commands can have modifiers which are sometimes special characters like a hyphen, and other times letters
18:09:34 <ais523> "the lexical analysis is context-sensitive" might be what you're looking for?
18:11:00 <diginet> ais523: probably
18:11:37 <ais523> INTERCAL has that problem
18:11:42 <diginet> ais523: I'm trying to play around with writing a TECO interpreter, but the lexical analysis stage is incredibly tedious.
18:12:13 <diginet> ais523: it doesn't look like something like FLEX would really be able to handle TECO (though I could be wrong)
18:12:34 <ais523> there is a restriction to make it LALR(1)-parseable (which is in the original manual): if something could be interpreted either as a close paren or an open paren based on the text so far, it's an close paren even if that leads to a syntax error and an open paren would parse correctly
18:13:01 <ais523> this means that the parser needs to tell the lexer what sort of sparkears could close a group
18:13:37 <diginet> "sparkears" ?
18:13:52 <ais523> diginet: INTERCAL has undirected parentheses
18:13:57 <ais523> ' to ' (spark), or " to " (ears)
18:14:12 <ais523> there are various ways to make this unambiguous, such as always alternating
18:14:20 <ais523> but INTERCAL allows you to be ambiguous so long as you're unambiguous
18:15:27 <diginet> LOL
18:16:07 -!- MoALTz has joined.
18:16:41 <diginet> wow that is awful
18:17:15 <diginet> ais523: when you say parentheses, do you mean this as a generalized term to refer to things that "open and close" like (), {}, '', ""?
18:17:33 <ais523> diginet: this is for precedence override in expressions, just like what parentheses do normally
18:17:44 <diginet> oohhhhhh
18:17:46 <diginet> gotcha
18:18:23 <ais523> `! intercal DO .1 <- #15~'#2~#7' DO READ OUT .1
18:18:24 <HackEgo> ​/hackenv/bin/!: 4: exec: ibin/intercal: not found
18:18:30 <ais523> do we have an INTERCALbot here?
18:18:38 <ais523> `` ls bin/*intercal*
18:18:39 <HackEgo> ls: cannot access bin/*intercal*: No such file or directory
18:18:42 <ais523> `` ls ibin/*intercal*
18:18:43 <HackEgo> ibin/cintercal \ ibin/clcintercal
18:18:45 <diginet> ais523: I hope INTERCALbot is written in intercal lol
18:18:48 <ais523> ooh, we have C-INTERCAL
18:18:55 <ais523> that means I can do a better example
18:19:06 <ais523> (CLC-INTERCAL's harder to type because of all the non-ASCII characters)
18:19:40 <ais523> `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP
18:19:43 <HackEgo> ICL999INO SKELETON IN MY CLOSET, WOE IS ME! \ ON THE WAY TO 1 \ CORRECT SOURCE AND RESUBNIT
18:19:50 <ais523> oh, we have C-INTERCAL but it's broken
18:20:43 <ais523> `` ibin/cintercal -u
18:20:44 <HackEgo> ICL999INO SKELETON IN MY CLOSET, WOE IS ME! \ ON THE WAY TO 1 \ CORRECT SOURCE AND RESUBNIT
18:20:56 <ais523> hmm, how do I pass arguments to that
18:21:02 <ais523> `` file ibin/cintercal
18:21:04 <HackEgo> ibin/cintercal: POSIX shell script, ASCII text executable
18:21:06 <cluid> pleaese can I read the IOCCC entries now
18:21:10 <ais523> `` cat ibin/cintercal
18:21:11 <HackEgo> ​#!/bin/sh \ . lib/interp \ interp_file ./interps/c-intercal/c-intercal
18:21:21 <ais523> `` ./interps/c-intercal/c-intercal -u
18:21:22 <HackEgo> cp: missing destination file operand after `/tmp/290.i' \ Try `cp --help' for more information. \ ICL999INO SKELETON IN MY CLOSET, WOE IS ME! \ ON THE WAY TO 1 \ CORRECT SOURCE AND RESUBNIT
18:21:34 <ais523> `` cat interps/c-intercal/c-intercal
18:21:35 <HackEgo> ​#!/bin/bash \ if [ ! "$1" ] \ then \ exit 1 \ fi \ \ INTERCAL="`dirname $0`/inst" \ \ cp "$1" /tmp/$$.i \ $INTERCAL/bin/ick /tmp/$$.i \ if [ -e /tmp/$$ ] \ then \ /tmp/$$ \ fi \ rm -f /tmp/$$.i /tmp/$$
18:21:54 <ais523> `` interps/c-intercal/inst/bin/ick -u
18:21:55 <HackEgo> Trying to open '/home/gregor/projects/hackbot/multibot_cmds/env/interps/c-intercal/inst/share/ick-0.29/ick-wrap.c'... \ Failed! \ Trying to open 'ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-intercal/inst/bin/ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-intercal/inst/bin/../lib/ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-in
18:22:25 <ais523> `` pwd
18:22:26 <HackEgo> ​/hackenv
18:22:44 <ais523> hmm, I think that first entry indicates what's wrong
18:22:48 <ais523> fixing it may be harder
18:23:19 <ais523> the potential solutions involve recompiling C-INTERCAL, making the HackEgo directory structure match the EgoBot directory structure exacly, or hex-ediing the binary
18:23:22 <ais523> all these seem awkward
18:26:22 -!- augur has joined.
18:26:37 -!- shikhout has joined.
18:27:42 -!- augur has quit (Read error: Connection reset by peer).
18:27:53 -!- augur has joined.
18:29:49 -!- shikhin has quit (Ping timeout: 250 seconds).
18:31:17 <int-e> ln -s /home /
18:31:19 <int-e> `` ln -s /home /
18:31:21 <HackEgo> ln: failed to create symbolic link `/home': File exists
18:31:28 <int-e> `` ls -la /home
18:31:29 <HackEgo> total 0 \ drwxr-xr-x 3 0 0 0 Dec 11 18:30 . \ drwxr-xr-x 15 0 0 0 Dec 11 18:30 .. \ drwxr-xr-x 3 0 0 0 Dec 11 18:30 hackbot
18:31:35 <int-e> `` ln -s / /home
18:31:36 <HackEgo> ln: failed to create symbolic link `/home/': File exists
18:31:54 <int-e> `` ls -lad /home
18:31:55 <HackEgo> drwxr-xr-x 3 0 0 0 Dec 11 18:30 /home
18:34:40 <int-e> `` find -name ick-wrap* interps/c-intercal
18:34:41 <HackEgo> find: paths must precede expression: interps/c-intercal \ Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
18:34:55 <int-e> `` find interps/c-intercal -name ick-wrap*
18:34:56 <HackEgo> interps/c-intercal/inst/share/ick-0.29/ick-wrap.c \ interps/c-intercal/src/ick-wrap.c
18:36:07 <ais523> int-e: the problem is that the binary hardcodes the source and build directories, and looks for the files it needs in those and in the current directory and binary's directory
18:36:16 <ais523> and the binary was copied from a system with a different filesystem layout
18:36:32 <int-e> `` ln -s ../share/ick-0.29/ick-wrap.c interps/c-intercal/inst/bin
18:36:34 <HackEgo> No output.
18:36:49 <ais523> int-e: ooh, clever
18:36:54 <ais523> `` interps/c-intercal/inst/bin/ick -u
18:36:55 <HackEgo> Trying to open '/home/gregor/projects/hackbot/multibot_cmds/env/interps/c-intercal/inst/share/ick-0.29/ick-wrap.c'... \ Failed! \ Trying to open 'ick-wrap.c'... \ Failed! \ Trying to open 'interps/c-intercal/inst/bin/ick-wrap.c'... \ Success!
18:37:05 <ais523> int-e: that's not the only file that needs symlinking
18:37:12 <ais523> but it'll probably work for a simple program
18:37:21 <ais523> `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP
18:37:27 <HackEgo> ​/tmp/299.c:14:20: fatal error: fiddle.h: No such file or directory \ compilation terminated.
18:37:52 <int-e> `` cd interps/c-intercal/inst/bin; echo *
18:37:53 <HackEgo> convickt ick ick-wrap.c
18:37:54 <ais523> ooh, it compiles to C, just the runtime support (libick and its dev headers) is missing
18:38:35 <int-e> (I wasn't sure whether we had write access there)
18:39:18 <int-e> `` cd /tmp; echo *.c
18:39:18 <HackEgo> ​*.c
18:39:30 <int-e> `` find interps/c-intercal -name fiddle.h
18:39:31 <HackEgo> interps/c-intercal/inst/include/ick-0.29/fiddle.h \ interps/c-intercal/src/fiddle.h
18:40:32 <int-e> `` find interps/c-intercal -name *.a
18:40:33 <HackEgo> interps/c-intercal/libyuk.a \ interps/c-intercal/libick.a \ interps/c-intercal/inst/lib/libyuk.a \ interps/c-intercal/inst/lib/libick.a \ interps/c-intercal/inst/lib/libickec.a \ interps/c-intercal/inst/lib/libickmt.a \ interps/c-intercal/libidiot.a \ interps/c-intercal/libickec.a \ interps/c-intercal/libickmt.a
18:41:23 <int-e> `` pwd
18:41:24 <HackEgo> ​/hackenv
18:41:26 <oren> http://pastebin.com/m2MLBGuu
18:41:38 <oren> the only union you'll ever need
18:42:19 <int-e> `` ls -lad /usr/include
18:42:20 <HackEgo> drwxr-xr-x 35 0 0 4096 Jan 29 2014 /usr/include
18:42:45 <int-e> `` ln -s /hackenv/interps/c-intercal/inst/include/ick-0.29 /usr/include # hmm
18:42:45 <HackEgo> ln: failed to create symbolic link `/usr/include/ick-0.29': Read-only file system
18:45:39 -!- dts|pokeball has joined.
18:47:16 <oren> hmm nvm i'm missing some of the types from stdint.h
18:48:41 <int-e> `` sed -i 1a"export CFLAGS=-I/hackenv/interps/c-intercal/inst/include/ick-0.29" interps/c-intercal/c-intercal
18:48:44 <HackEgo> No output.
18:48:56 <int-e> `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP
18:48:57 <HackEgo> ​/tmp/299.c:14:20: fatal error: fiddle.h: No such file or directory \ compilation terminated.
18:49:54 <int-e> `` ls /hackenv/interps/c-intercal/inst/include
18:49:55 <HackEgo> ick-0.29
18:50:25 <ais523> int-e: maybe something isn't respecting CFLAGS?
18:50:32 <ais523> I don't think either ick or gcc parse it
18:50:47 <int-e> true.
18:50:52 <int-e> `revert
18:50:57 <HackEgo> Done.
18:51:16 <int-e> I keep forgetting that this is handled by autoconf and make.
18:52:17 <ais523> perhaps the trick is to place a wrapper around gcc somewhere that ick will find it?
18:55:04 <int-e> `` sed -i 1a"export CPATH=/hackenv/interps/c-intercal/inst/include/ick-0.29" interps/c-intercal/c-intercal
18:55:06 <HackEgo> No output.
18:55:12 <int-e> `! cintercal DO .1 <- #5$'#6$#7' DO .2 <- '#5$#6'$#7 DO READ OUT .1 + .2 PLEASE GIVE UP
18:55:15 <HackEgo> ​ \ MCCCXCV \ \ MMDCXXI
18:55:41 <ais523> oh wow, I think it's working
18:55:45 <ais523> the second number should be larger, at least
18:55:51 <ais523> now all we need to fix is syslib
18:55:59 <cluid> does anone know a place i could ask about and get help on algorithms?
18:56:05 <cluid> from knuth
18:56:08 <ais523> `! cintercal DO .1 <- #1 DO .2 <- #1 DO (1000) NEXT DO READ OUT .3 PLEASE GIVE UP
18:56:09 <HackEgo> ICL127ISAYING 'ABRACADABRA' WITHOUT A MAGIC WAND WON'T DO YOU ANY GOOD \ ON THE WAY TO THE CLOSET \ CORRECT SOURCE AND RESUBNIT
18:56:24 <ais523> and I'm not sure how to get -u to complain about that with this setup
18:56:34 <int-e> ais523: so does the symlink-to-bin-dir work for that, too?
18:56:38 <ais523> int-e: it should
18:56:43 <ais523> file name is syslib.i
18:57:15 <ais523> there are various other wrappers too but I don't think there's any way to get ick to use them without command-line args that `! cintercal never uses
18:58:10 <int-e> `` cd interps/c-intercal/inst/bin; ln -s ../share/ick-0.29/* .
18:58:12 <HackEgo> ln: failed to create symbolic link `./ick-wrap.c': File exists
18:58:41 <int-e> `! cintercal DO .1 <- #1 DO .2 <- #1 DO (1000) NEXT DO READ OUT .3 PLEASE GIVE UP
18:58:43 <HackEgo> ​ \ II
18:58:49 <ais523> that's the correct answer
18:59:07 <ais523> I'm amused at your nuclear solution to doing the symlinks, but it seems to work
19:00:13 <oren> RESUBNIT? NIT???
19:00:23 <ais523> oren: that typo has been preserved for well over a decade
19:00:32 <oren> oic
19:00:33 <ais523> every now and then someone tries to fix it and we have to revert them
19:00:43 <ais523> I'm not quite sure why it caught on, but it did
19:01:54 <oren> anyway i am working on a nuclear solution to elliott's problems with my pointer casting, by using a giant union of every type that exists. this is guaranteed to work according to gcc.
19:02:12 <elliott> I doubt it
19:02:16 <elliott> what is safe is to use memcpy
19:02:27 <elliott> by going through (char *)
19:02:32 <elliott> which is explicitly allowed by the standard
19:02:35 <ais523> gcc gives better guarantees on unions than the C standard does
19:02:39 <ais523> but still
19:02:40 <oren> gcc allows you to use a union -- it's a GNU extension
19:02:50 <elliott> yes but why would you make a big union when memcpy is easier and more portable...
19:03:37 <int-e> hmmmmmm....to avoid the copy?
19:03:43 <ais523> also, what about types which have a comparable size to your address space?
19:03:44 <oren> eaxtcly
19:04:14 <oren> *every non-array, non-struct type that exists
19:04:47 <int-e> ais523: btw I'm surprised that just setting CPATH worked, I expected that I'd have to set the LIBRARY_PATH variable as well.
19:04:53 <elliott> int-e: I think that is one thing I trust compilers with. :p
19:05:18 <int-e> elliott: I wouldn't.
19:05:28 <elliott> clang has special knowledge of memcpy, at least.
19:05:28 <ais523> elliott: my guess is that oren learned about how computers work from ~30 year old books, or books whose authors learned from books that old
19:05:29 <oren> memcpy to the same place will check? i would expect it to screw up the value
19:05:31 <elliott> pretty sure gcc does too
19:06:01 <elliott> oren: double x; uint64_t y; memcpy((char *) &y, (char *) &x, sizeof y);
19:06:02 <oren> in every other instance where the src and dest overlap it does
19:06:11 <elliott> I'm not sure those casts are necessary.
19:06:13 <elliott> I guess they're not.
19:06:23 <elliott> well, as opposed to casting straight to void *
19:06:44 <int-e> cluid: I would probably ask such a question here first, actually, but there must be general programming and algorithm channels somewhere.
19:06:56 <oren> then it is a copy. in asm i can access any place as any type why should i make my c code slower?
19:06:59 <elliott> anyway, I will give you like a billionth of a bitcoin if gcc -O3 and clang -O3 don't optimise that out to essentially y = x
19:07:04 <elliott> oh lord
19:07:26 <elliott> you'll never fix your mental model of things if you keep treating C as something that maps directly and simply to assembly
19:07:31 <elliott> unless you take a time machine back a few decades
19:07:56 <int-e> elliott: naaah, all we need to take back a few decades is the compiler.
19:08:29 <oren> or use a less complex contemporary compiler
19:08:35 <elliott> int-e: but that way we still have to listen to oren
19:08:42 <int-e> elliott: ...
19:09:09 <int-e> I would suggest /ingore but then elliott would demonstrate /kick
19:09:21 <elliott> oh come on, that was a good spur of the moment quip
19:09:22 -!- Sprocklem has quit (Ping timeout: 244 seconds).
19:09:32 <int-e> (ah, typos. you can love them or hate them, but not get rid of them.
19:09:39 <elliott> what to you expect in 39 seconds
19:09:46 <elliott> actually that's kind of a lot of time :/
19:10:31 <int-e> but yeah, C compilers do lots of crazy things.
19:11:45 <elliott> I mean I'm not saying C's annoying edges for systems programming is a good thing, although a lot of the things people assume will work are actually broken for good reasons. a language that maps directly to the hardware wouldn't look like assembly either, though
19:12:43 <ais523> movsd %xmm0, 8(%rsp)
19:12:44 <ais523> movq 8(%rsp), %rdx
19:12:47 <ais523> elliott: I tried it out
19:13:11 <ais523> seems that gcc optimizes out the memcpy, but has to bounce the value off memory to convert it from a double to a uint64_t
19:13:28 <ais523> I don't think any other sort of assignment would work better, though?
19:13:31 <ais523> let me try with the union
19:13:56 <oren> is there a move instruction from %xmm0 to %rdx?
19:14:37 <oren> x86_64's instruction set is far from consistent
19:14:46 <oren> so i don't know
19:14:54 <ais523> I get exactly the same code for the assignment as I did for the memcpy
19:15:11 <oren> the instruction might be missing from the set?
19:15:12 <ais523> actually the output asm are completely identical apart from where the filename appears in the debug info
19:15:26 <cluid> okay thanks int-e
19:15:30 <oren> ok i'll use memcpy thanx for the help
19:15:31 <cluid> I was wondering what the point of dancing links was
19:15:33 <ais523> so, basically, elliott is right
19:15:39 <oren> he is!
19:15:40 <cluid> http://www.ams.org/samplings/feature-column/fcarc-kanoodle
19:15:43 <cluid> i read about it there
19:15:46 <ais523> which is the result I thought I'd get before testing, but best to make sure
19:15:58 <cluid> I think the answr is it lets ou use less memory, but it still seems a bit stupid
19:16:33 <cluid> if youre trying to solve a pentomino problem, why not generate pentominos rather than build a huge big matrix and cross things off?
19:18:19 <oren> #define db2u64(x) ({uint64_t u;memcpy(&u,&x,8);u;})
19:19:30 <int-e> x86 has this historical separation of CPU and FPU, with no direct transfer of values (but with a direct transfer of flags for comparisons). And MMX SSE and so on all happen to extend the FPU.
19:19:45 <elliott> ;u;;
19:19:47 <elliott> s/;$//
19:20:09 <oren> blah int-e i knew it!
19:20:19 <ais523> int-e: which dates back from the time when the x86 and x87 were actually separate chips, IIRC
19:20:24 <int-e> yes
19:21:03 <oren> that is so inconsistent... i like the 6502's instruction set for its consistency
19:21:05 <Deewiant> movq %xmm0, %rax
19:21:54 <cluid> any one know knuth dancing links
19:22:08 <ais523> presumably knuth does
19:22:14 <ais523> and you can find examples elsewhere
19:22:14 <cluid> ok but he isnt here
19:22:25 <ais523> I've received emails from knuth's secretary, it was weird
19:22:39 <ais523> (he doesn't write them himself, which IMO is entirely reasonable)
19:22:42 <int-e> I only got one, asking for my middle name.
19:22:49 <oren> hes a busy guy
19:23:23 <oren> he writes program books and doesnt afraid of anything
19:23:30 <elliott> knuth should be here
19:23:38 <elliott> it'd be horrible
19:24:02 <ais523> I'd prefer it if not
19:24:16 <ais523> actually, better would be if he just turned up, asked a quickly answered INTERCAL question
19:24:18 <ais523> got the answer, and left
19:24:30 <fizzie> Re "copy", when this came up in ##c last (it comes up quite often), GCC generated absolutely identical code to the three common "reinterpret the bits" approaches (the *(x*)&y one, the union { x a; y b; } one and the memcpy one).
19:24:31 -!- oren has quit (Quit: eating a chicken).
19:24:41 <fizzie> I guess ais523 already tested all three, though.
19:24:41 <elliott> ais523: ideally he'd turn up, get `welcomed, and turn out to be looking for the other kind of esoteric
19:24:47 <ais523> fizzie: I didn't test the first one
19:24:48 <elliott> and leave
19:24:56 <elliott> that's the best knuth/#esoteric interaction I can think of
19:25:11 <ais523> gah, I think you broke me
19:25:25 <ais523> I literally am having problems imagining that
19:26:21 <int-e> elliott: http://www-cs-faculty.stanford.edu/~uno/316.html
19:26:37 <ais523> that's a weird subdomain
19:27:11 <shachaf> int-e: Middle name for what?
19:28:11 -!- AndoDaan has quit (Quit: bbl).
19:28:12 <int-e> shachaf: Some list of authors I presumed. I don't even know whether I made it.
19:28:46 -!- AndoDaan has joined.
19:29:30 <shachaf> Ah.
19:29:56 <int-e> "Please send me ALL your names, even if you don't customarily use them! They will appear only in the index, where many of my readers have said they enjoy seeing esoteric information like this."
19:30:31 <shachaf> He lost my name once. :-(
19:31:26 <shachaf> "Needless to say, the employee responsible for this glitch has been sacked."
19:35:54 -!- shikhout has changed nick to shikhin.
19:49:21 <fizzie> ais523: To be fair, "bham.ac.uk" is pretty weird too. And the whole deal with ultra-abbreviated names.
19:50:08 <fizzie> (Admittedly something like www-cs-bham.ac.uk would be weirder.)
19:50:50 <fizzie> I think we had a wwwcs. or www-cs. or cswww. or some other such subdomain at the university.
19:51:47 <fizzie> (But it was just for "strange stuff", not for any high-profile webserver.)
19:52:35 -!- Sprocklem has joined.
19:53:34 <int-e> I don't find www-cs-faculty.stanford.edu strange at all
19:53:50 <Melvar> At my university, www-it.math.… is a thing.
19:55:28 <int-e> but anyway, http://cs.stanford.edu/~uno/316.html works too
19:56:01 <int-e> and www.cs....
19:56:25 <shachaf> I wonder what "uno" is.
19:57:04 <cluid> http://cs.stanford.edu/~uno/programs/dance.w
19:57:44 <cluid> its C with weird @ signs everywhere
19:57:45 <cluid> thanks knuth
19:59:33 <fizzie> CWEB, which makes sense, since it's in the web.
19:59:52 <int-e> to weave, or to tangle...
20:00:24 <cluid> his code seems about 6x shorter than mine
20:01:46 <elliott> cluid: weird @ signs everywhere and it has its own macro system
20:01:51 <elliott> and its own nonlinear text expansion facility
20:01:59 <elliott> `rainbow ~*~literate programming~*~
20:02:23 <cluid> http://arxiv.org/abs/cs/0011047 "The first trick is to implement each assumption of the search with reversible local operations on doubly linked lists. By this trick, every step of the search affects the data incrementally"
20:02:30 <HackEgo> No output.
20:02:37 -!- Patashu has joined.
20:02:44 <elliott> whaat
20:02:47 <elliott> `rainwords ~*~literate programming~*~
20:02:55 <elliott> that will be underwhelming
20:03:09 <cluid> the author reports excellent performance for his algorithm for some familiar puzzles. These include tiling a hexagon by 19 hexiamonds and the N queens problem for N up to 18
20:03:18 <HackEgo> No output.
20:03:29 <fizzie> Uh.
20:03:33 <fizzie> `echo x
20:03:34 <HackEgo> x
20:03:47 <shachaf> `` echo abcde | rainbow
20:03:47 <elliott> cluid: the most simultaneous queens england has ever had at once is 7 so that's a comfortable scalability margin for solving the problem
20:03:48 <HackEgo> abcde
20:03:57 -!- oren_ has joined.
20:03:58 <cluid> lol
20:04:05 <shachaf> ~*~literate programming~*~ hth
20:04:17 <elliott> the algorithm decides which queen to keep and which ones to sacrifice
20:04:24 <elliott> it's like easter calculation
20:04:28 <elliott> goes back centuries
20:04:47 <fizzie> Oh, of course it's a filter kind of a thing.
20:05:08 <fizzie> ^rainbow does this still work?
20:05:08 <fungot> does this still work?
20:05:10 <shachaf> Wasn't there a clever way for commands to be both kinds of things?
20:05:23 <shachaf> That rainbow is kind of gloomy.
20:05:35 <shachaf> I prefer {cheerful} rainbows.
20:05:38 <shachaf> Oops.
20:05:42 <shachaf> I prefer cheerful rainbows.
20:05:46 <shachaf> That didn't work very well.
20:05:47 <olsner> you can check $# and see if you got any arguments
20:05:47 <fizzie> I think it's limited to one-character color codes.
20:06:04 <fizzie> I assumed "clever way" meant something cleverer than DIY.
20:06:16 <oren_> that rainbow look extra cheerful for me
20:06:44 <fizzie> Perl has that <> thing that's either stdin or the *contents* of the files named as command line arguments, but it's not quite the same as taking command-line data instead.
20:07:24 <fizzie> ^show rainbow
20:07:26 <fungot> +3>4+6[->+8<],[<4.>[->+>+<2]>2-[-[-[-[-[-[-[<[-]>[-]]]]]]]]<[-<+>2+<]<+>4.[-<2+>3+<]<2+2.[-]>.>2[-<+>]<2,]
20:08:27 <oren_> is that run-length encoded brainfuck
20:08:32 <shachaf> does this still work?
20:08:35 <shachaf> does this still work?
20:08:38 <cluid> looks liek brainfuck + numeric constants
20:08:45 <shachaf> There you go, much more cheerful and only a one-character difference.
20:08:46 <cluid> i see brainfuck + named variables on the wiki too
20:08:58 <fizzie> It's a run-length encoding thing, yes.
20:09:06 <shachaf> (putting a ^B at the beginning)
20:09:12 <shachaf> ^rainbow does this still work?
20:09:14 <fungot> does this still work?
20:09:30 <cluid> what do you call "languages" like that that are just used to describe a thing?
20:09:35 <singingboyo> I just want befunge with functions. how that'd work... who knows!
20:09:36 <cluid> the aren't supposed to be a real language
20:09:56 <singingboyo> cluid: flowerpots?
20:10:07 <cluid> hi
20:10:34 <oren_> uh... perhaps declarative programming
20:11:27 <fizzie> Technically, it's a lower-level representation of the bytecode fungot's ^bf uses internally.
20:11:29 <fungot> fizzie: they probably know better than to use the lisppaste bot, visit http://paste.lisp.org/ new/ scheme and enter your paste. it is really needed
20:11:43 -!- nycs has joined.
20:12:51 <fizzie> (It has six instructions, each of which has an argument field, two of which ignore their argument.)
20:13:46 <fizzie> (Although that was probably unnecessary to explain, given how literate the fungot sources are.)
20:13:49 <fungot> fizzie: any ideas about how config files and other extensions.) refer to? ( as said, so far three puzzles none of which is being used by these orgs now"...
20:14:43 <int-e> ^style
20:14:47 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
20:14:53 -!- `^_^v has quit (Ping timeout: 265 seconds).
20:15:11 <shachaf> i got fungot
20:15:13 <fungot> shachaf: care to take a huge detour from fnord to mit to read sicp this semester. the prof is doing every 15 minutes and didn't even bother checking if fnord was declared to return the whole ( loop thing specifically intended for that?
20:15:24 <int-e> shachaf: oh noes, is there a cure?
20:15:35 <shachaf> tried to read a sentence as if it was intended to make sense
20:16:27 <olsner> hmm, fungot put a space on both sides of ( there, but istr the perl scripts had code to put such punctuation at the start/end of the next/last word
20:16:29 <fungot> olsner: as i said, it can
20:16:37 <singingboyo> wait, so fungot gives you a (senseless) sentence every time you mention it? learn something new every day haha
20:16:40 <fungot> singingboyo: 7 greasemonkey: daemon idle_10 bf8. i
20:18:33 -!- AndoDaan has quit (Quit: bbl).
20:18:50 <cluid> coudl anyone turn a .w file into C for me please?
20:18:56 <cluid> http://cs.stanford.edu/~uno/programs/dance.w this one
20:20:25 <int-e> http://manpages.ubuntu.com/manpages/utopic/man1/cweb.1.html
20:21:54 <shachaf> Knuth has such an odd style of writing C.
20:22:01 <cluid> oh so actually pentominos is not best solved by dancing links
20:22:03 <shachaf> Even disregarding the literate programming thing.
20:22:14 <shachaf> Well, maybe I shouldn't be disregarding it. But either way.
20:23:28 <oren_> you can gard it, it doesn't need to be regarded.
20:24:07 -!- oren_ has changed nick to __oren__.
20:24:19 <__oren__> hey look iim a c99 thing
20:24:36 <__oren__> or maybe a gnu extension
20:24:59 * Melvar tugs on __oren__’s proboscis.
20:25:01 <elliott> C99 would be _Oren.
20:25:12 <__oren__> oh right right
20:25:31 -!- Patashu has quit (Ping timeout: 265 seconds).
20:25:38 <cluid> What is the best algoirtmh to pack shapes with pentominos?
20:26:32 -!- sebbu has quit (Ping timeout: 240 seconds).
20:26:40 <__oren__> what sort ofshapes?
20:27:01 <cluid> http://gp.home.xs4all.nl/PolyominoSolver/Polyomino.html like these
20:27:02 <cluid> oren: btw did you see the esolang I invented?
20:27:12 -!- sebbu has joined.
20:27:32 <__oren__> yes, looks original and i like that you didn't name it *fuck
20:27:38 <cluid> oh yeah i remember you said that
20:27:50 -!- sebbu has quit (Changing host).
20:27:51 -!- sebbu has joined.
20:33:46 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
20:36:50 <cluid> http://www.halley.cc/ed/linux/scripts/quine.html
20:39:53 <fizzie> olsner: The Perl scripts, sure, because it was easier to implement in Perl than in Befunge.
20:40:01 <fizzie> olsner: The Perl scripts maintain balanced punctuation, too.
20:40:07 <int-e> I've found that if the set to be covered is small, DLX isn't all that good; it's better to use bitmasks. Then, when selecting a mask from the list of remaining candidates, copy the list of candidates, filtering out those that collide with the selected mask.
20:40:22 <fizzie> olsner: (It's on the TODO list to fix at least the spacing.)
20:40:56 <int-e> The point is that this usually uses less memory and accesses memory in a linear fashion, making it well suited for modern CPUs and their caches.
20:41:42 <int-e> But DLX will be better if each bit is only covered by a few possible masks (rows).
20:44:56 <cluid> int-e, I thought this would be better even without bitmasking - then I noticed it will use more memory (but that is probably okay)
20:45:25 -!- atslash has joined.
20:56:43 -!- AnotherTest has joined.
20:58:52 -!- Sprocklem has quit (Ping timeout: 240 seconds).
21:17:22 -!- dts|pokeball has quit (Quit: Leaving).
21:17:41 -!- dts|pokeball has joined.
21:34:21 -!- axelcsep has quit (Ping timeout: 256 seconds).
21:44:36 -!- nycs has quit (Quit: This computer has gone to sleep).
21:58:00 -!- hjulle has joined.
22:06:32 -!- dts|pokeball has quit (Read error: Connection reset by peer).
22:08:19 -!- dts|pokeball has joined.
22:18:43 <tromp_> nice golfing challenge at http://www.reddit.com/r/tinycode/comments/2o6jqu/ascii_connect_4_in_124_bytes_of_c/
22:19:12 <tromp_> see my latest reply in there
22:23:21 <cluid> W(n){return b[c]&b[c+n]&b[c+n*2]&b[c+n*3];} lol damn
22:23:26 <cluid> that's crazy
22:24:34 <tromp_> that's a straightforward test of 4 in a row:)
22:47:49 <int-e> fizzie: wow how did you get Collatz parity so slow...
22:49:42 -!- AnotherTest has quit (Remote host closed the connection).
22:51:32 <int-e> Using a lookup table, perhaps.
22:53:50 -!- oerjan has joined.
22:55:04 -!- boily has joined.
22:55:26 <oerjan> bonsoily
22:56:03 <int-e> bonsai?
22:56:17 <oerjan> int-evening
22:56:26 <fizzie> int-e: I don't think I did anything special.
22:56:27 <boily> bon sœrjan.
22:56:34 <boily> bont-esoir.
22:56:43 <boily> bon soizzie.
22:57:16 <boily> oerjan: what is today's tldr? I won't be able to stay long tonight hth
22:58:58 -!- CrazyM4n has joined.
22:59:05 <fizzie> int-e: It does involve 512*64 things, that's a big number. Anyway, I'm faster than GolfScript.
23:01:14 <oerjan> boily: i joined 2 minutes before you so it's a bit early to say
23:01:57 <int-e> fizzie: hmm. python is slow, too, perhaps you're right.
23:04:11 <fizzie> int-e: All languages can't be such mean, lean murder-machines like Haskell.
23:04:30 <HackEgo> [wiki] [[User:Darkgamma/SB3]] N http://esolangs.org/w/index.php?oldid=41442 * Darkgamma * (+46) Created page with "Modernised Brainfuck using Unicode and colour?"
23:04:55 <oerjan> haskull
23:05:09 <Taneb> haskill
23:05:14 <boily> oerjan: oh. so it's a vsdr... oh well. be back in a... uhm... future?
23:05:27 -!- boily has quit (Quit: YEARLY CHICKEN).
23:05:44 <oerjan> he left without explaining his acronym. fiendish.
23:06:36 <Taneb> very silly december racoon
23:06:55 <oerjan> Taneb: ah, of course.
23:07:20 <oerjan> verne from over the hedge in christmas mood, i bet
23:07:43 <oerjan> wait
23:07:48 <oerjan> wrong animal
23:07:50 <cluid> Modernised Brainfuck using Unicode and colour?
23:08:06 <oerjan> *RJ
23:08:24 <oerjan> we seem to be approaching the bf derivative singularity.
23:08:48 <int-e> oerjan: how about "very short, did(n't) read."
23:09:28 <oerjan> int-e: but the logs are long and i haven't finished them
23:09:39 <oerjan> so that's crazy talk hth
23:10:23 <int-e> but you didn't mention the logs and boily may have temporarily forgotten that you catch up on those
23:11:03 <oerjan> wikia's article on verne has the word "deuteragonist"
23:11:50 <Taneb> That's the protagonist of a side story, right?
23:11:59 <Taneb> Like Homestuck's Karkat?
23:12:23 <int-e> fizzie: but doing things completely naively, I get 0.05s with python for the collatz parity (according to the performance check on anagol).
23:13:01 <oerjan> Taneb: pretty sure it means "second main character"
23:13:15 <Taneb> I think that is a better definition
23:13:15 <HackEgo> [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41443&oldid=41442 * Darkgamma * (+152)
23:13:24 <Taneb> Still, like Homestuck's Karkat
23:13:28 <oerjan> proton vs. deuteron
23:13:48 <int-e> fizzie: it's when using 'eval' that python becomes slow.
23:17:13 <fizzie> int-e: I'm guessing it's a stack rotation #r I do to work around the lack of Forth "-rot" (there's x/ aka rot, but not to the other direction), I guess rotating an up-to-64-element linked list isn't all that fast.
23:18:41 <int-e> maybe not.
23:19:31 <fizzie> Well, I don't know. It's 0.65s locally with #r and 0.75s with x/x/.
23:20:36 <fizzie> There is an eval (an EvalMany, actually) in there, but I don't think that's a major thing in Burlesque.
23:20:44 <fizzie> Clearly a profiler is needed.
23:22:05 <fizzie> (An earlier C!-based version was 0.45s locally.)
23:27:36 <int-e> wow. another "loop unrolling" and python takes almost 10 seconds... (time: 9.736676sec)
23:29:42 <fizzie> E! is listed to be defined as .*\[e! (aka "repeat, concatenate, eval") so it's quite unrolly too.
23:31:14 -!- axelcsep has joined.
23:32:48 -!- cluid has quit (Remote host closed the connection).
23:35:28 -!- axelcsep has quit (Ping timeout: 244 seconds).
23:45:24 -!- zzo38 has joined.
2014-12-12
00:08:44 -!- mihow has quit (Quit: mihow).
00:15:12 <oerjan> <shachaf> Wasn't there a clever way for commands to be both kinds of things? <-- yes
00:15:41 <shachaf> `` yes # tndh hth
00:16:10 <oerjan> `echo hi
00:16:11 <HackEgo> hi
00:16:38 <oerjan> `` ls bin/*arg*
00:16:40 <HackEgo> bin/print_args_or_input
00:17:26 <ais523> shachaf: I'm surprised we didn't get an infinite stream of y from your yes
00:17:36 <ais523> `` yes | head -n 100
00:17:37 <HackEgo> y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y
00:17:43 <oerjan> ais523: maybe it's still running
00:17:50 <shachaf> i put a ^O in the beginning because I didn't want to spam the channel hth
00:18:07 <oerjan> `fiendish
00:20:20 -!- callforjudgement has joined.
00:22:29 <shachaf> http://function-of-time.blogspot.com/2009/04/pattern-does-not-hold.html is moderately fiendish hth
00:22:41 -!- ais523 has quit (Ping timeout: 244 seconds).
00:22:52 -!- callforjudgement has changed nick to ais523.
00:26:14 <oerjan> @tell boily tldr: int-e and ais523 managed to get `! c-intercal in HackEgo working; then elliott broke ais523 by imagining donald knuth coming to this channel looking for the other kind of esoteric then int-e linked http://www-cs-faculty.stanford.edu/~uno/316.html hth
00:26:14 <lambdabot> Consider it noted.
00:27:20 -!- shikhout has joined.
00:29:17 <fizzie> "Then, I drew a circle on the Smartboard, --" nice product placement
00:30:36 -!- shikhin has quit (Ping timeout: 260 seconds).
00:45:34 -!- GeekDude has joined.
01:06:31 <HackEgo> [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41444&oldid=41443 * Darkgamma * (+131)
01:09:37 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
01:16:08 <FireFly> `cat bin/print_args_or_input
01:16:09 <HackEgo> ​#!/bin/bash \ if [ "$#" -gt 0 ]; then printf '%s\n' "$*"; else cat; fi
01:17:05 <FireFly> Is there a difference between printf '"%s\n" "$*" and echo "$*" ?
01:17:22 <FireFly> Modulo the syntax error
01:17:28 <FireFly> '%s\n'
01:18:10 <oerjan> possibly if the argument starts with -n ?
01:18:27 <FireFly> Ah, good point
01:21:03 <FireFly> echo(1P) says "It is not possible to use echo portably across all POSIX systems unless both -n (as the first argument) and escape sequences are omitted. The printf utility can be used to emulate any of the traditional behaviors of the echo utility as follows [...]"
01:21:17 <FireFly> So I guess that's another reason to use it
01:22:05 <FireFly> Also, "new applications are encouraged to use printf instead of echo."
01:23:44 -!- __oren__ has quit (Read error: Connection reset by peer).
01:24:20 <pikhq> Additionally, GNU echo implements -e and -n as *flags*.
01:24:34 <pikhq> As well as -E and --help and --version.
01:24:54 -!- oren has joined.
01:25:02 <pikhq> POSIX echo --version prints "--version". GNU echo --version prints a lengthy message.
01:25:10 <pikhq> Because screw standards.
01:28:27 <Taneb> `run echo --version
01:28:28 <HackEgo> ​--version
01:28:45 <Melvar> `echo --version
01:28:45 <HackEgo> echo (GNU coreutils) 8.13 \ Copyright (C) 2011 Free Software Foundation, Inc. \ License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. \ This is free software: you are free to change and redistribute it. \ There is NO WARRANTY, to the extent permitted by law. \ \ Written by Brian Fox and Chet Ramey.
01:29:10 <pikhq> Yes, also the shell's echo is not GNU echo.
01:29:13 <pikhq> Because logic.
01:29:20 <Melvar> Precisely.
01:29:25 <ais523> `run echo -n --version
01:29:25 <HackEgo> ​--version
01:29:50 <ais523> I think there's at least one version of echo that uses the "using -n is implementation-defined behaviour" to define it to turn on command-line option processing
01:30:02 <ais523> actually that sounds like the sort of thing the BSDs would do
01:30:26 <ais523> they already made rm not delete / on the technicality that that must necessarily delete the current directory, and rm's impl-defined on the current directory
01:30:31 <pikhq> That sounds right.
01:30:46 <ais523> (however, I think it's possible for the current directory to be outside / via chroot tricks, so maybe that justification isn't quite right)
01:32:21 * pikhq is rather amused by how utterly huge common echo implementations are.
01:32:25 -!- axelcsep has joined.
01:32:48 <pikhq> I mean jeeze, here's the full XSI conformant echo: http://sprunge.us/BaeS
01:33:17 <ais523> pikhq: ooh, it even has error handling that actually works
01:33:25 <ais523> `run echo test > /dev/full
01:33:26 <HackEgo> bash: line 0: echo: write error: No space left on device
01:33:31 <ais523> `run /bin/echo test > /dev/full
01:33:32 <HackEgo> ​/bin/echo: write error: No space left on device
01:33:47 <ais523> /dev/full is one of the better UNIXoid inventions
01:34:37 <pikhq> ais523: Yeah, I'm a sucker for writing my "see, it's simple, stupid!" correctly. :)
01:35:03 <ais523> pikhq: did you see me post about my discovery that printf doesn't actually report errors on Linux/glibc?
01:35:20 <ais523> no matter what I did to try to get it to fail (although I didn't try turning off buffering, that might help)
01:35:27 <ais523> I got the syscall to fail just fine, but printf wouldn't report it
01:35:30 <pikhq> I did not.
01:35:36 <pikhq> That's perverse.
01:35:42 <pikhq> Makes me all the happier with musl though.
01:35:43 <ais523> oh well: I tried /dev/full, closing stdout, something else too, I think
01:35:57 <ais523> my theory is that printf is being split into a fill-buffer and a flush
01:36:01 <ais523> and the flush isn't reporting errors
01:36:26 <oren> try flushing stdout, maybe that will fail
01:36:34 <pikhq> Hopefully you atl east see an error if you check ferror?
01:36:44 <pikhq> Pretty sure that much is at least required.
01:36:45 -!- GeekDude has joined.
01:37:25 -!- axelcsep has quit (Ping timeout: 264 seconds).
01:38:00 <oren> glibc buffers all output until some set of conditions (which i am sure are stupid) are met
01:40:55 -!- callforjudgement has joined.
01:41:39 -!- ais523 has quit (Read error: Connection reset by peer).
01:41:45 -!- callforjudgement has changed nick to ais523.
01:41:55 <oren> know that it flushes output when input fn's are called, for example.
01:42:22 <oren> int main(){printf("prompt ");sleep(2);getchar();}
01:42:36 <oren> this waits two seconds and then the prompt shows up
01:42:47 <ais523> huh, this is the libuncursed_wincon optimization
01:43:10 <ais523> which violates libuncursed's API, and I say as much in the docs, but I do it anyway because the Windows console is that unperformant
01:43:15 -!- glguy has quit (Quit: Part).
01:44:40 <HackEgo> [wiki] [[GERMAN]] http://esolangs.org/w/index.php?diff=41445&oldid=41387 * Oerjan * (+34) bit proofreading
01:44:56 <pikhq> One of the more ridiculous ones in glibc is that it flushes all streams whenever an input operation from a stream has input.
01:45:22 <pikhq> Yes, all
01:46:37 <oren> i think streams connected to a terminal should be treated specially. maybe one day i'll write an alternate stdio.h implementation...
01:47:38 <oren> that will buffer file output, file input, and terminal input, but not terminal output!
01:48:00 <pikhq> They are: a stream connected to a terminal is not fully buffered.
01:48:07 <pikhq> The buffering mode is unspecified.
01:48:24 <pikhq> An unbuffered output mode on terminals would be 100% valid.
01:48:31 <oren> well in glibc it is buffered until \n and i hate it
01:48:37 <oren> or input...
01:48:55 <pikhq> Until \n or you try reading. :)
01:49:51 <oren> really, so my version could be standard compliant... huh.
01:50:38 <ais523> unlike BSD rand(), they changed it to ignore the seed it's given and just be cryptosecure
01:50:46 <ais523> on the basis that this is what most programs actually wanted
01:50:49 <ais523> err, OpenBSD
01:50:53 <ais523> (obviously)
01:51:00 <pikhq> Yes. The requirement is that stdin and stdout are fully buffered if and only if they are not attached to a terminal.
01:51:21 <pikhq> Whether it's line buffering, unbuffered, or fucking crazy buffering, is up to you.
01:51:56 <HackEgo> [wiki] [[قلب]] http://esolangs.org/w/index.php?diff=41446&oldid=41390 * Oerjan * (+36) I'd fix the external links more if my browser could actually edit this properly...
01:52:09 <oren> great. what i think most people want is line buffering on input and unbuffered output.
01:52:24 <pikhq> That certainly matches common expectations.
01:52:34 <ais523> my expectation is that if I put unbuffered output into a pipe
01:52:39 <ais523> it stays unbuffered through the pipe
01:53:07 <ais523> although I just tested "cat | cat" and it's line buffering
01:53:11 <ais523> so something screwy is going on
01:53:19 <pikhq> Cooked mode.
01:53:22 <ais523> same with "cat | cat | cat"
01:53:30 <ais523> pikhq: no, I expected full buffering on the interior pipes
01:53:40 <ais523> and line buffering at the input due to cooked mode, and output due to being a terminal
01:54:14 <ais523> testing with "cat | cat | cat" and control-D implies the whole thing is unbuffered
01:54:50 <HackEgo> [wiki] [[Musical notes]] M http://esolangs.org/w/index.php?diff=41447&oldid=41420 * Oerjan * (+1) /* See also */ bullets
01:54:58 <pikhq> Note that GNU stdio flushes *all streams* when doing an input operation.
01:55:03 <ais523> also I thought it might be due to a use of splice or the like
01:55:14 <ais523> but it's just using old-fashioned read/write
01:55:28 <HackEgo> [wiki] [[Dimensions]] M http://esolangs.org/w/index.php?diff=41448&oldid=41418 * Oerjan * (+1) /* See also */ bullets
01:56:09 <HackEgo> [wiki] [[Quantum Dimensions]] M http://esolangs.org/w/index.php?diff=41449&oldid=41419 * Oerjan * (+1) /* See also */ bullets
01:56:44 <oren> is the cat the right cat?
01:57:02 <ais523> the one called by strace has to be, strace can't randomly call shell builtins
01:57:11 <pikhq> Shell doesn't have cat as a builtin anyways.
01:57:15 <ais523> (and if it somehow did, you'd be able to see the shell initializing on the trace)
01:57:49 <ais523> also, it's a weird feeling being able to write "cat | cat | cat" and not have anyone shout at me for UUoC
01:58:05 <pikhq> UUoUUoC
02:01:38 <oren> the undivider in Perl that b_jonas gave me worked great when i translated it to C. thanks b_jonas!
02:02:47 <HackEgo> [wiki] [[Simplefunge]] http://esolangs.org/w/index.php?diff=41450&oldid=41433 * CrazyM4n * (+16) changed a lot of formatting
02:03:00 <HackEgo> [wiki] [[Talk:IDTM]] M http://esolangs.org/w/index.php?diff=41451&oldid=41412 * Oerjan * (+51) unsigned
02:07:06 <FreeFull> https://github.com/matz/streem Looks somewhat interesting
02:07:20 <HackEgo> [wiki] [[Treehugger]] M http://esolangs.org/w/index.php?diff=41452&oldid=41436 * Oerjan * (+4) link
02:07:50 -!- bb010g has joined.
02:08:16 <FreeFull> Not too developed yet
02:14:11 <CrazyM4n> So it's FRP Ruby?
02:14:49 <FreeFull> No idea
02:14:56 -!- ais523 has quit.
02:15:22 -!- oerjan has quit (Quit: leaving).
02:44:02 <HackEgo> [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41453&oldid=41444 * Darkgamma * (+84)
02:50:04 <HackEgo> [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41454&oldid=41453 * Darkgamma * (+83)
03:01:17 -!- axelcsep has joined.
03:09:16 -!- CrazyM4n has quit (Ping timeout: 256 seconds).
03:37:22 -!- CrazyM4n has joined.
03:40:06 <zzo38> If the Windows console is too unperformant and you have to violate it like that, maybe is better way that on Windows you provide the program's own terminal emulator to come with it?
03:46:45 <oren> someone should write a windows version of stdio.h which does that...
03:47:41 <oren> (maybe using directx to draw fast? hmmm...)
03:49:27 <zzo38> Maybe, although I was suggesting just using a custom terminal emulator without changing any parts of the C library.
03:50:08 <oren> is that possible on Windows? iirc console apps on windows are linked to some term emu library
03:51:06 -!- MoALTz_ has joined.
03:53:25 <zzo38> I think it just uses standard I/O.
03:53:49 <zzo38> You will however need to use the Windows console APIs if you want to do colors and stuff like that.
03:53:57 <zzo38> (ANSI codes aren't accepted in Windows.)
03:54:04 -!- MoALTz has quit (Ping timeout: 260 seconds).
03:54:22 <oren> nope, you need to call AllocConsole from the win32 api to even have a textwindow. Windows apps by default do not have stdio.
03:55:02 <oren> the windows version of stdio calls it on prgram startup
03:56:48 <oren> the problems this causes are kind of stupid:
03:56:50 <oren> http://stackoverflow.com/questions/472282/show-console-in-windows-application
03:57:31 <oren> it is hard to have a program that does either but not both.
03:58:23 <oren> but windows has graphics built into kernel- therefore best bet is to create a more flexible terminal enu yourself
03:59:33 <oren> i might try my hand at it sometime this christmas break
04:04:19 <zzo38> Then you can tell Windows to not display it I suppose, or something like that; I know it is possible to make a Windows program to have standard I/O, at least if it is specified as not GUI subsystem; I don't actually how how the Windows API is supposed to called to get it to work!
04:06:20 <zzo38> I don't know if you would still need #ifdef in your program
04:06:49 <oren> yes, but it is NOT possible to have stdio.h and not have a terminal window.
04:07:15 <oren> i have tried. you can close it immediately but it still shows for a fraction of a second.
04:07:55 <oren> although perhaps this is due to cywin
04:10:29 <oren> oh i see... if you select non-console and then write to stdout, it just writes to nowhere...
04:12:21 <oren> admittedly it's been a while since i last wrote win32 programs
04:17:53 <oren> tldr: a 'console' process on windows, where the entry point is "main" always opens a console window even if you don't want one. A 'windows' process which starts with the "wWinMain" needs to call a special syscall or else stdout goes nowhere and stdin give eof all the time.
04:19:07 <oren> but this means i could write a library that has a wWinMain that sets stuff up and then calls "main"
04:20:38 -!- shikhout has quit (Ping timeout: 265 seconds).
04:23:19 -!- kenrube has joined.
04:29:02 -!- kenrube has left.
04:30:16 -!- kenrube has joined.
04:31:45 <zzo38> Yes, I think it does work that way.
04:33:22 <zzo38> But if you do make a window that shows for a fraction of a second, you should need to check if it is starting from an existing window; in such case it shouldn't close the existing window.
04:34:08 <kenrube> Hello everyone! I've wrote polyglot in 7 esoteric languages not long ago: http://esopoly.blogspot.ru/ Try it :)
04:35:08 -!- supay has quit (Ping timeout: 244 seconds).
04:35:51 -!- supay has joined.
04:36:48 <Taneb> kenrube, oh wow
04:38:21 <CrazyM4n> That's nifty
04:38:33 <kenrube> Taneb, is it looks interesting?
04:38:46 <Taneb> That looks really amazing
04:40:53 <kenrube> :) Anybody tried this?
04:41:13 -!- zzo38 has quit (Ping timeout: 240 seconds).
04:47:58 <J_Arcane> I ... I think I fucking hate hygenic macros.
04:49:26 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:50:12 <oren> why? it'd be nice if C had them.
04:50:41 <J_Arcane> Because they are the Apple of macros.
04:51:03 <J_Arcane> They're wonderful right up until the point where you actually want to do something they don't want you to do.
04:51:18 <oren> well yeah.
04:55:40 <J_Arcane> I think really the reason why Racket has eleventy billion obscure macroing libraries is less to do with it being a magical language design playground, and more with a lot of those being insanely detailed workarounds for the hygeine system.
04:55:52 -!- zzo38 has joined.
04:58:14 <oren> that could very well be true-- but the phenomenon of 'created problems' is endemic to computer science because of the frequent difference between what language designers think you need and what you think you need
05:00:49 <oren> consider for example the "Callable" pattern in Java which is a workaround for the lack of function pointers
05:01:21 <oren> (well it's more powerful than that but most uses are equivalent to qsort)
05:03:34 <oren> function pointers themselves are often a workaround for the lack of lambdas...
05:06:21 <J_Arcane> Oh god yes. There are sooo many of the 'design patterns' and so forth that basically exist because one object or another in the language isn't a first-class value.
05:07:44 -!- CrazyM4n has quit (Quit: Leaving).
05:08:37 <oren> the other ones are caused by what i call philosophical problems: the Singleton for example. I really have no idea what it gains over a global variable...
05:09:17 <oren> it is global to the scope of the class, but a global variable can actually be less global than that.
05:11:50 <oren> but people say: "global struct var bad! singleton class good!"
05:12:26 <J_Arcane> XD
05:13:13 <J_Arcane> Yes. It also reminds me of all the weird data types in Clojure, some of which at least seem to just be hacks to make functional programming do non-functional things (something I'm admittedly guilty of in Heresy in a couple of places)
05:15:46 -!- MoALTz has joined.
05:17:24 -!- MoALTz_ has quit (Ping timeout: 255 seconds).
05:18:12 -!- MoALTz_ has joined.
05:21:18 <zzo38> What kind of weird data types on Clojure are they?
05:21:27 -!- MoALTz has quit (Ping timeout: 255 seconds).
05:22:05 <J_Arcane> I don't know. I think I lost count past the first ten or so when I was doing the koans ...
05:23:22 <J_Arcane> atoms and boxes are two that stood out especially, because they are literally mutable data hacked onto a functional language.
05:25:00 <oren> oh yeah i had to implement boxes for an assignment once.
05:26:01 <oren> you use a lambda that constructs lambdas which return the new value
05:26:15 <zzo38> How do those "atoms" and "boxes" work exactly?
05:54:05 -!- glguy has joined.
06:11:53 -!- glguy has quit (Quit: Quitting).
06:13:05 -!- glguy has joined.
06:30:13 <Sgeo> Dear *Quil brand: I am not a parent
06:32:22 <oren> huh?
06:32:59 <Sgeo> I got NyQuil/DayQuil/ZzzQuil ads that advertised as though I was a parent
06:33:05 <Sgeo> While watching the Colbert Report
06:33:43 <oren> ah. well maybe it detected that you're old.
06:34:39 <oren> they think that >25 = parent in many countries
06:45:38 -!- glguy has quit (Quit: Computer has gone to sleep.).
06:46:08 -!- glguy has joined.
06:46:23 -!- glguy has quit (Client Quit).
06:47:28 <b_jonas> `ftoc 60
06:47:29 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ftoc: not found
06:48:45 <b_jonas> `run env perl
06:48:50 <b_jonas> `run type -a perl
06:48:51 <HackEgo> perl is /usr/bin/perl
06:49:16 <HackEgo> No output.
06:50:03 <b_jonas> `run >bin/ftoc echo $'#!/usr/bin/perl\n$f=0+$ARGV[0]; printf"%.2f°F = %.2f°C",$f,($f-32)*5/9;'
06:50:05 <HackEgo> No output.
06:50:09 <b_jonas> `ftoc 60
06:50:09 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/ftoc: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/ftoc: cannot execute: Permission denied
06:50:25 <b_jonas> `run chmod a+x bin/ftoc
06:50:26 <HackEgo> No output.
06:50:28 <b_jonas> `ftoc 60
06:50:28 <HackEgo> 60.00°F = 15.56°C
06:50:38 <b_jonas> `ctof 60
06:50:39 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ctof: not found
06:51:29 <b_jonas> `run >bin/ctof echo $'#!/usr/bin/perl\n$c=0+$ARGV[0]; printf"%.2f°C = %.2f°F",$c,$c*9/5+32;' && chmod a+x bin/ctof
06:51:31 <HackEgo> No output.
06:51:37 <b_jonas> `ctof 15.56
06:51:37 <HackEgo> 15.56°C = 60.01°F
06:51:48 <b_jonas> `ftoc 74
06:51:48 <HackEgo> 74.00°F = 23.33°C
06:51:49 <b_jonas> `ftoc 71
06:51:50 <HackEgo> 71.00°F = 21.67°C
06:51:54 <b_jonas> `ftoc 68
06:51:54 <HackEgo> 68.00°F = 20.00°C
06:51:54 <b_jonas> `ftoc 66
06:51:55 <HackEgo> 66.00°F = 18.89°C
06:58:49 <b_jonas> `ctof 18.89
06:58:50 <HackEgo> 18.89°C = 66.00°F
06:58:55 <b_jonas> `ctof 18.89C
06:58:56 <HackEgo> 18.89°C = 66.00°F
07:01:02 <fizzie> Didn't we already have that unit converter thing, the name of which I forget.
07:01:10 <b_jonas> I dunno
07:01:13 <elliott> they had bad names
07:01:27 <b_jonas> I already had these formulas elsewhere, just installed them to HackEgo
07:03:27 <oren> i am attempting to summarize my entire networking course on one sheet of paper
07:04:01 <oren> i have everything up to the midterm on one side so far
07:09:09 <oren> an estimate of the information content of the course (via gzip) is 6KB.
07:13:43 -!- MoALTz_ has quit (Quit: Leaving).
07:14:20 <oren> i just realized i am implementing a compression algorithm: given an english sentence, use the shortest synonym for each word, rephrase it in active voice, and strip out articles.
07:15:42 <oren> i wonder if the shannon metric of text processed in that way is lower
07:18:22 <oren> sorry, higher. i wonder if the information entropy per letter is higher.
07:23:24 <zzo38> I didn't know before about a lossy compression for texts
07:24:39 <oren> yeah it's interesting to think about how to fit the most info on one sheet, and how that relates to compression.
07:24:57 <oren> you can just use a smaller font, but i feel that's cheating
07:24:58 <b_jonas> oren: you messed that up. s/realized/figured/;s/implementing/making/;s/rephrase/write/
07:25:10 <oren> lololol
07:25:14 <b_jonas> why does it have to be English text though?
07:25:26 <b_jonas> can't you write or draw whatever on the paper?
07:25:55 <oren> i am printing it in 7pt courier font
07:26:37 <b_jonas> are you allowed a magnifier glass?
07:27:08 -!- Patashu has joined.
07:27:17 <b_jonas> and do you have a 2400 dpi printer?
07:27:36 <oren> that affects lookup time though
07:28:30 <oren> i might write topic names larger in margin after printing...
07:29:36 <b_jonas> even with a magnifying glass and other advanced equipment, there are some physical limits though. you probably can't just take all the exponentially many possible exam question sheets, precompute the answer for them, write them on the paper, and photocopy the right one. that would have the fastest lookup time, but it wouldn't fit on the sheet.
07:31:52 <oren> right. so it is a a matter of: 1. write each fact/idea down as succinctly as possible. 2. organize facts into groups for easy retrieval. 3. label each group with succinc label
07:35:52 <oren> dropped packets tell TCP sender congestion. Keeps a window size of sendable unackd.
07:35:55 <oren> bytes. lose packet-decrease window. succss-increase window.
07:37:41 <oren> hmmm... lose packet-cut window half.
07:39:37 <oren> more summary make sound Orwell no?
07:51:47 -!- kenrube has quit (Quit: Page closed).
07:57:16 -!- Sgeo has quit (Read error: Connection reset by peer).
07:57:34 -!- Sgeo has joined.
08:00:57 -!- zzo38 has quit (Ping timeout: 260 seconds).
08:05:14 -!- J_Arcane_ has joined.
08:06:12 -!- Tod-Autojoined has joined.
08:13:45 -!- axelcsep_ has joined.
08:15:40 -!- axelcsep has quit (*.net *.split).
08:15:42 -!- J_Arcane has quit (*.net *.split).
08:15:43 -!- TodPunk has quit (*.net *.split).
08:54:02 -!- dts|pokeball has left.
08:58:04 -!- dts|pokeball has joined.
09:01:55 -!- S1 has joined.
09:02:05 -!- bb010g has quit (Quit: Connection closed for inactivity).
09:03:48 -!- dts_ has joined.
09:04:01 -!- dts|pokeball has quit (Quit: Leaving).
09:04:01 -!- dts_ has quit (Remote host closed the connection).
09:04:20 -!- dts|pokeball has joined.
09:05:40 -!- dts_ has joined.
09:05:49 -!- dts|pokeball has quit (Remote host closed the connection).
09:05:49 -!- dts_ has quit (Remote host closed the connection).
09:06:14 -!- dts|pokeball has joined.
09:06:39 -!- mr45_ has joined.
09:36:48 -!- b_jonas has quit (Ping timeout: 250 seconds).
09:37:24 -!- b_jonas has joined.
09:52:24 <oren> ok, today i learned something new.
09:53:23 <oren> apparently by pressing F9 i can type fullwidth roman letters.
09:54:09 <shachaf> Is it that one program?
09:54:19 <oren> it is my IME
09:54:27 <shachaf> starts with a
09:54:35 <shachaf> anthy?
09:54:49 <shachaf> Some Japanese input method, at any rate.
09:54:57 <oren> yeh, that.
09:55:06 <shachaf> I had that set up once.
09:55:23 <shachaf> Recently I tried to type fullwidth text and couldn't figure out how to do it.
09:55:27 <shachaf> Now I understand why.
09:56:05 <oren> 半角カタカナはF8です。
09:56:38 <oren> apparently. i have no idea what use half-width katakana are tho
09:57:18 <oren> other than for the Matrix falling code...
10:00:11 <shachaf> imo xterm -e "echo -ne '\e#3whoa\n\e#4whoa\n'; read"
10:02:20 <oren> cool! it has big letters?
10:03:32 <oren> ummm... ok so... \e#3 makes the top half and \e#4 makes the bottom...
10:06:50 <oren> wowww Xterm supports a lot of sequences...
10:13:49 -!- S1 has quit (Quit: S1).
10:28:00 -!- ocharles_ has quit (Changing host).
10:28:00 -!- ocharles_ has joined.
10:28:03 -!- ocharles_ has changed nick to ocharles.
11:10:15 <int-e> aww, the formatting is applied to a whole line though. echo -e '\e#3w\n\e#4w\e#3t\n\e#4 t\e#3f\n\e#4 f' did not quite do what I wanted.
11:14:04 <int-e> but some fun can be had anyway. http://int-e.eu/~bf3/tmp/xwtf.png
11:15:20 <int-e> but it doesn't work with scalable fonts.
11:16:13 -!- coppro has quit (Ping timeout: 245 seconds).
11:16:53 -!- coppro has joined.
11:30:58 <FireFly> Heh. pangoterm's implementation seems to work with scalable fonts: http://xen.firefly.nu/up/2014-12-12_122933.png
11:32:26 <int-e> what about '\e#3w\n\e#4w\e#3t\n\e#4 t\e#3f\n\e#4 f' ?
11:32:50 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
11:34:25 <FireFly> That failed spectactularly. It seems to assume proper use of the escape sequences
11:34:47 <FireFly> spectacularly*
11:37:42 <FireFly> http://xen.firefly.nu/up/2014-12-12_123558.png seems it cuts the \e#3 characters in half but leaves the \e#4 characters in full.
11:38:52 <int-e> cute, though that could still make the wtf with one line offset per character work :)
11:40:47 <FireFly> I think it puts an entire line in either \e#3 or \e#4 mode
11:41:21 <int-e> ok. makes sense, even though it is a wasted opportunity to have some fun :)
11:42:40 <int-e> and actually, what about echo -e '\n\e#4w\n\e#4 t\n\e#4 f'? If it renders the lower halves with the upper halfs included, that might work...
11:44:48 <b_jonas> hmm
11:45:03 <b_jonas> I'm thinking of misusing stuff
11:45:51 <FireFly> int-e: heh, indeed it does. http://xen.firefly.nu/up/2014-12-12_124444.png
11:46:30 <int-e> pretty!
11:48:54 <FireFly> Also cute: http://xen.firefly.nu/up/2014-12-12_124746.png
11:49:05 <FireFly> I bet oren would like that
11:56:31 <elliott> hmm, pangoterm
11:56:35 <elliott> does that get bidi right and so on?
11:56:38 <elliott> well, as right as you can in a terminal
11:57:46 <FireFly> It seemed to behave reasonably well last I tried selecting something in it
11:57:54 <FireFly> something bidirectional, that is
11:59:36 <FireFly> Ah.. the UTF-8-demo.txt file doesn't seem to have any right-to-left text to test with
12:04:40 <FireFly> It seems to render correctly as far as I can tell, and selection seems to select characters in the right order, although they jump around when I change the selection so that all the selected characters fit in a rectangle.. which is a bit odd
12:07:07 <FireFly> It seems to ignore LRO and RLO, though
12:07:26 -!- Patashu has quit (Ping timeout: 258 seconds).
12:21:54 -!- sebbu has quit (Ping timeout: 244 seconds).
12:27:05 -!- sebbu has joined.
12:27:05 -!- sebbu has quit (Changing host).
12:27:05 -!- sebbu has joined.
12:37:08 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41455&oldid=41441 * TomPN * (+115) /* Entropy */
12:54:17 <oren> Firefly: that is cool. i was discussing writing a 'terminal emu' for windows earlier; e.g. you link with it and it hijacks the stdio to print stuff on a window instead of a real windows console. maybe it should support that stuff too...
12:55:23 <elliott> a terminal emu is an emu that's going to die
12:55:44 <elliott> btw, how does that differ from just using cygterm or such
12:55:45 <FireFly> Poor emu
12:55:57 <elliott> mintty or whatever
12:56:04 <elliott> you can run "dir" in one of those
12:56:08 <elliott> full vt terminals
12:56:17 <elliott> of course "graphical" stuff like EDIT will never work
12:56:38 <elliott> https://code.google.com/p/mintty/
12:56:41 <oren> the idea is you can just write as if you are on linux, with all ansi escapes, and then link with a library
12:56:45 <elliott> basde on putty
12:56:48 <elliott> *based
12:57:05 <elliott> well, that's like a one line batch script or whatever that starts mintty running your program, but ok
12:57:26 <elliott> (programs do not have to use cygwin to run under mintty and it's a native windows program)
13:00:49 <oren> well good... writing for win32 is way easier than writing for X. you always need a toolkit for X.
13:02:09 <oren> back in the days of XP i wrote a lot of C++ rpograms with visual studio
13:06:08 <oren> the problem with these toolkits that go on top of X is that there are many, not one.
13:10:19 -!- oerjan has joined.
13:15:10 <oren> oh! my networks exam is in room 404!
13:18:14 <oerjan> sounds like a bad omen if you ask me
13:25:44 -!- oren has quit (Quit: gtg exam).
13:25:58 <int-e> 402 could be more interesting.
13:27:55 -!- GeekDude has joined.
14:04:31 <mroman> I might finally have some time to continue working on Burlesque this weekend :)
14:05:05 <mroman> either that... or start a new project....
14:06:51 <oerjan> "Whoa, I can nest footnotes!" ok randall
14:11:31 -!- shikhin has joined.
14:12:43 -!- Decensum|Zzz has joined.
14:14:24 <b_jonas> oerjan: as in http://www.xkcd.com/1208/ ?
14:15:59 <oerjan> no, as in http://what-if.xkcd.com/121/
14:23:29 -!- mr45_ has left.
14:54:16 -!- oren has joined.
14:54:22 <oren> easiest exam ever
14:54:56 <oren> my high school exams were way tougher
14:57:03 <oren> or maybe i'm just way smarter now...
14:58:16 -!- atslash has quit (Quit: This computer has gone to sleep).
14:58:22 -!- kenrube has joined.
15:02:07 -!- kenrube has left.
15:13:44 <oren> http://snag.gy/d3rmm.jpg
15:14:03 <oren> i have time to mess around now
15:16:46 -!- `^_^v has joined.
15:30:14 -!- atslash has joined.
15:30:49 -!- Koen___ has joined.
15:31:13 <Koen___> hello
15:32:19 <Decensum|Zzz> Congress passed a secret law/ammendment that allows the the exectutive branch of all that secrecy stuff and police to have access to all your information
15:32:32 <Decensum|Zzz> Also Gnight
15:35:27 <elliott> thanks
15:37:17 <oren> really? well i don't live in america so wvr.
15:39:00 <mroman> so..
15:39:04 <mroman> they can open your brain?
15:39:09 <mroman> I mean
15:39:24 <mroman> this technically means that they can force you to some invasive surgery as well.
15:40:20 <oren> they could already do that... by implanting some lead using a powder-actuated surgery tool.
15:41:14 <oren> and they won't be charged, especially if you have brown skin
15:41:56 <mroman> Whatever
15:42:04 <mroman> I can capture a plain with a plastic knife
15:42:08 <mroman> *plane
15:42:18 <mroman> :)
15:42:40 <mroman> with sufficiently hard plastic
15:42:54 <mroman> or a ceramic knife
15:43:21 <oren> ceramic knife? like in kaze no tani no nausicaa?
15:43:35 <mroman> You can buy them in every kitchen store
15:43:39 <mroman> so they are not hard to get.
15:43:56 <Decensum|Zzz> Off topic
15:44:11 <Decensum|Zzz> It also affects non us citizens
15:44:16 <Decensum|Zzz> Btw
15:44:16 <elliott> congress outlawed dogs
15:44:22 <elliott> all dogs plese evacuate immediately
15:44:44 <mroman> any sufficiently advanced terrorist can easily take down a plane.
15:44:57 <Decensum|Zzz> So you kids have fun im going to the moon
15:45:04 <elliott> sufficiently advanced terrorists are indistingusihabel from macrgic
15:45:10 <elliott> *marmite
15:45:25 <Decensum|Zzz> Marmite is terrible
15:45:36 <elliott> and so is terrorism.
15:45:43 <Decensum|Zzz> Meh
15:45:53 <mroman> also why the hell would you want to take down a plane if they are so much easier targets anyway
15:45:58 -!- atslash has quit (Quit: This computer has gone to sleep).
15:46:00 <mroman> *there are so much
15:46:28 <oren> did you know i actually like SPAM a lot. like the meat?
15:47:04 <elliott> thanks
15:47:06 <oren> it is like bacon in a can that doesn't spoil
15:47:09 <mroman> It was just recently discovered that people could enter nuclear facilities without having enough security credentials to be actually allowed to do so
15:47:13 <Decensum|Zzz> Only on toasr
15:47:13 <mroman> you can just walk in :)
15:47:25 <elliott> do you know about jpegs? they keep me warm at night
15:47:28 <Decensum|Zzz> Toast*
15:47:35 <mroman> elliott: use bpg. kthxbye
15:47:46 <elliott> I'm the vice president, mroman, and you can't stop me
15:48:13 <mroman> Say that to my gun
15:48:15 <mroman> I'm not having
15:48:17 <mroman> but could have
15:48:31 <elliott> I'm the vice president.
15:48:42 -!- ChanServ has set channel mode: +o elliott.
15:48:43 <mroman> Well
15:48:44 <elliott> I have been promoted to president
15:48:45 <Decensum|Zzz> Do you not notice this effects you too
15:48:50 <mroman> Not the vice president of the ESOSC
15:48:53 <oren> mroman: you can't have guns in Canada so easily. that is one of many reasons why Canada is better than aAmurica
15:48:54 <mroman> So what do I care ;)
15:49:04 <elliott> Decensum|Zzz: Being the president affects everyone.
15:49:07 <Decensum|Zzz> President king madame
15:49:26 <Decensum|Zzz> Laugh like the queen of France
15:49:27 -!- elliott has set channel mode: -o elliott.
15:49:30 <elliott> I was fired
15:49:41 <mroman> oren: Having easy access to guns doesn't really cause more gun related crimes?
15:50:02 <oren> Yes it does. there are no guns in Japan and they have no shootings
15:50:06 <elliott> if #esoteric has a gun control debate I'm going to destroy freenode
15:50:11 <elliott> just a heads up
15:50:17 <mroman> alright :)
15:50:22 <oren> sorry, sorry.
15:50:32 <mroman> !blsq 127 37B!
15:50:32 <blsqbot> | "3g"
15:50:35 <elliott> let's talk about text editors instead
15:50:39 <mroman> yes
15:50:44 <mroman> there are no 2D text editors!
15:50:46 <mroman> for 2D languages
15:50:47 <oren> mcedit is the best
15:50:59 <elliott> everyone should use nedit, pine-using scum pls leave
15:51:00 <oren> mroman yes there are
15:51:03 <elliott> elvis allowed on weekends
15:51:03 <int-e> !blsq 36 37B!
15:51:03 <blsqbot> | That line gave me an error
15:51:13 <elliott> er I meant pico
15:51:23 <int-e> hmm
15:51:34 <oren> i used to use pico then i took an arrow to the knee
15:51:49 <elliott> no
15:51:50 <mroman> int-e: base works in misteyous ways
15:51:53 <mroman> *misteryous
15:51:57 <mroman> hm no
15:51:57 <int-e> oren: which one did you find more painful?
15:51:59 <mroman> misterious?
15:52:12 <mroman> mysterious
15:52:13 <mroman> there we go
15:52:21 <mroman> I blame it on my meds
15:52:27 <elliott> you used to make "took an arrow to the knee" jokes, but then I actually shot your knee with an arrow and you collapsed in pain and swore to never do so again
15:52:33 <elliott> - my fanfiction
15:52:37 <oren> mroman : Crazym4n made a 2D IDE for fungeoids
15:53:04 <mroman> Does it run on my android?
15:53:21 <oren> i dunno, can python run on android?
15:53:33 <mroman> I wanna do some Befunge in the train on my smartphone if I'm bored.
15:54:00 <mroman> and I have an extremely low threshold for being bored.
15:54:53 <oren> this is the editor i use: http://snag.gy/bYC1F.jpg
15:55:58 <mroman> This font o_O
15:56:02 <oren> hahaha i found a cursive monospace font and it is hilarious
15:56:09 <elliott> nice heart &s
15:56:15 <elliott> oh
15:56:16 <elliott> I guess they're ||s
15:56:25 <elliott> btw, have you heard of switch statements
15:56:25 <oren> they are actually the or operator
15:56:40 <mroman> do you have a macro ei for else if?
15:56:42 <elliott> mr. "c is like assembly, I code to the machine". look at all those imaginary extra branches!
15:57:36 <oren> hey you already corrected me on that i get it. i am currently refactoring that code to make it more compliant btw
15:58:19 <oren> yes ei is else if, wh is while, and i have a few others
15:58:20 <mroman> if it doesn't compile with --std=c89 -Wall --pedantic I won't even look at it .
15:58:28 <elliott> seriously
15:58:33 <elliott> what do you have against declarations in the middle of blocks
15:58:57 <oren> like where?
15:59:02 <mroman> it's making coding too easy.
15:59:03 <oren> oh i see c89
15:59:27 <mroman> (I'm just trolling you)
15:59:31 <elliott> I was actually sincerely wondering why you were using else if changes
15:59:33 <mroman> (just a heads up. I'm bored)
15:59:39 <elliott> I guess break is kinda annoying
15:59:42 <elliott> *chains
15:59:46 <oren> eaxtly
16:00:07 <mroman> I however really do use -Wall --pedantic
16:00:11 <oren> i have now defined B as break
16:00:35 <mroman> just not with c89
16:00:39 <oren> wait better idea: BC = break;case
16:00:46 <elliott> don't worry just define #define ca(x, ...) case x: { __VA_ARGS__; break; }
16:01:09 <elliott> #define p printf
16:01:16 <oren> elliott yes good idea
16:01:18 <elliott> #define j int argc, char **argv
16:01:26 <elliott> #define ff int ma
16:01:28 <elliott> #define q in(
16:01:31 <mroman> #define BEGIN {
16:01:33 <mroman> #define END }
16:01:35 <oren> ok that is justsilly now....
16:01:41 <elliott> #define dog ff##q j)
16:01:42 <elliott> dog { ... }
16:01:45 <elliott> hope this helps
16:02:01 <mroman> #define TInt int
16:02:07 <mroman> #define PTR *
16:02:10 <elliott> be aware that congress has in fact outlawed dogs so you could go to jail for this
16:02:11 <oren> #define int int_32
16:02:15 <int-e> ah, C...
16:02:16 <mroman> #define TChar char
16:02:44 <oren> wait i think you can't #define things that are keywords can you
16:02:45 <mroman> TINT main(TInt argc, TCharPTRPTR argv) BEGIN puts("hi"); END
16:03:08 <mroman> TInt
16:03:10 <mroman> sorry. typo.
16:03:16 <oren> or is that just in C++?
16:03:22 <elliott> it's UB to, yes
16:03:27 <int-e> http://sprunge.us/MaFV?c
16:03:29 <elliott> it "works in gcc", though!
16:03:50 <elliott> int-e: beautiful
16:04:08 <oren> lol hopefully the only thing i will be using that is only gcc will be the weak symbol attribute...
16:04:08 <elliott> `! c http://sprunge.us/MaFV
16:04:09 <HackEgo> No output.
16:04:18 <elliott> `fetch http://sprunge.us/MaFV
16:04:20 <mroman> http://codepad.org/qwmAhtCR
16:04:21 <HackEgo> 2014-12-12 16:03:21 URL:http://sprunge.us/MaFV [1341] -> "MaFV" [1]
16:04:21 <mroman> bleh
16:04:23 <elliott> `run gcc -x c MaFV && ./a.out
16:04:24 <HackEgo> MaFV: In function ‘s’: \ MaFV:23:5: error: ‘for’ loop initial declarations are only allowed in C99 mode \ MaFV:23:5: note: use option -std=c99 or -std=gnu99 to compile your code \ MaFV:23:5: error: ‘for’ loop initial declarations are only allowed in C99 mode \ MaFV:23:5: error: ‘for’ loop initial declarations are only allowed in C99
16:04:28 <elliott> `run gcc -std=c99 -x c MaFV && ./a.out
16:04:31 <HackEgo> 880
16:04:38 <elliott> ok
16:04:43 <int-e> I *think* it's counting magic squares, up to symmetry.
16:05:12 <elliott> http://golf.shinh.org/p.rb?Collatz+Parity I didn't realise collatz was so pretty
16:05:51 <int-e> (I wrote it on a bus ride.)
16:06:26 <oren> how do you write code on a phablet?
16:06:37 <int-e> use a laptop.
16:06:41 <int-e> ;)
16:06:56 <oren> ohhh... good idea
16:07:10 <mroman> with a phencil.
16:07:30 <oren> and a ephaser?
16:08:57 <int-e> I think you lost trek of the subject there.
16:09:22 -!- drdanmaku has joined.
16:10:02 <mroman> what about geo-esolangs .
16:10:24 <mroman> where writing programs requires you to go outside and do stuff
16:10:33 <oren> anyway the font i am using is this: http://sana.s12.xrea.com/2_sanafonobi.html
16:11:22 <mroman> We need a pharser of course
16:11:32 <mroman> and an interphreter.
16:13:52 -!- oerjan has quit (Quit: phat).
16:14:46 <mroman> ok
16:14:48 <mroman> one gone
16:14:53 <mroman> 92 to go
16:16:20 <int-e> mroman: you want the channel to yourself?
16:16:29 <int-e> mroman: maybe you'll have better luck in another channel...
16:16:49 <elliott> do I hear someone requiring my assistance
16:17:11 -!- oren has quit (Quit: Lunch time!!!).
16:17:51 <mroman> int-e: nope
16:18:01 <int-e> elliott: I'm just trying to be realistic.
16:18:48 <int-e> and I'm wondering who the one entitity is that is allowed to stay.
16:19:06 <mroman> fungot can stay
16:19:06 <fungot> mroman: i put a few example programs there too now: what do you think i should apply for a part-time disability in the near future, sorry. i have a copy of spss using
16:19:35 -!- int-e has set topic: fungot supremacy | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
16:22:15 <b_jonas> you need a phaser? or a universal translator?
16:23:43 <int-e> fungot: that's intriguing
16:23:43 <fungot> int-e: or will i go to bed or something equally weird, than do something about that a few times
16:24:00 <int-e> fungot: mindboggling
16:24:00 <fungot> int-e: ( here are fnord ith it. that's the best entry so far. a lot of ppl were sleeping, when it was
16:24:16 <int-e> fungot: but that's going to far.
16:24:17 <fungot> int-e: but why not?
16:28:23 <int-e> elliott: in the negative numbers, the collatz sequence has a couple of more interesting cycles instead of (conjecturally) 1-2-4.
16:28:32 <int-e> err, 1-4-2.
16:29:12 -!- drdanmaku has quit (Quit: .).
16:30:00 <int-e> > let f x | odd x = 3*x+1; f x = x `div` 2; q x = take 10 $ iterate f x in (q (-1),q (-5))
16:30:01 <lambdabot> ([-1,-2,-1,-2,-1,-2,-1,-2,-1,-2],[-5,-14,-7,-20,-10,-5,-14,-7,-20,-10])
16:31:15 <elliott> cool
16:31:51 <int-e> > let f x | odd x = 3*x+1; f x = x `div` 2 in map abs $ iterate f (-50) -- this is a cycle of length 18...
16:31:53 <lambdabot> [50,25,74,37,110,55,164,82,41,122,61,182,91,272,136,68,34,17,50,25,74,37,110...
16:32:21 <tromp_> instead of abs, just use 3x-1 ?!
16:32:34 <int-e> tromp_: I did that in the golf version :P
16:35:30 -!- Sprocklem has joined.
16:35:37 <int-e> (and I'm a bit annoyed that dc's division rounds towards 0)
16:36:59 <int-e> Python, interestingly, gets it right.
16:50:45 -!- glguy has joined.
16:58:17 -!- glguy has quit (Quit: Part).
16:58:47 -!- glguy has joined.
17:04:12 -!- oren has joined.
17:08:22 <Melvar> Is it a weird idea to give a program a format string that results in something I can just read in Haskell?
17:09:32 <oren> no why would that be weird?
17:09:44 <int-e> Isn't that just the same idea that underlies JSON?
17:14:39 <elliott> programs interoperating? sounds a bit communist
17:16:10 <int-e> elliott: let's call it outsourcing
17:33:51 <oren> ㍿ is a ridiculous unicode character.
17:34:38 <oren> why would you write public-traded corporation in a square?
17:35:49 <oren> and if you did, why not, y'know, just use a format to do so?
17:37:26 -!- axelcsep_ has quit (Ping timeout: 264 seconds).
17:44:48 <Melvar> Specifically, giving the syntax of a haskell record to time’s -f option.
17:45:28 <oren> sounds good. why would that be a problem?
17:45:32 <glguy> I think that it's intended that you'll put the format you need in the -f field
17:47:09 <Melvar> Yeah, I just never heard of the way “use a format string resulting in what you already have a parser for” before.
17:48:14 <Jafet> Ironically, the universal format string standard is the one used in printf, but you can't actually use printf to parse the format string
17:49:18 <oren> huh? you mean produce a struct based on a format string?
17:49:48 <Melvar> `` printf "%'d" 1234567890
17:49:48 <HackEgo> 1,234,567,890
17:55:17 -!- Koen___ has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?").
17:56:06 <Melvar> `` LANG=ar_SA.utf8 printf "%'Id" 1234567890
17:56:07 <HackEgo> bash: line 0: printf: `I': invalid format character
17:56:41 <Melvar> That’s not a format character, that’s a flag.
17:57:04 <Melvar> `which cc
17:57:05 <HackEgo> ​/hackenv/bin/cc
17:57:24 <Melvar> `file /hackenv/bin/cc
17:57:25 <HackEgo> ​/hackenv/bin/cc: POSIX shell script, ASCII text executable
17:57:54 <oren> `! c int main(){printf("%Id",1234567890);}
17:57:55 <HackEgo> 1234567890
17:58:11 <oren> `! c int main(){printf("%'d",1234567890);}
17:58:13 <HackEgo> 1234567890
17:59:09 <Melvar> `` LANG=ar_SA.utf8 cc 'int main() {printf("%'Id", 1234567890);}'
17:59:09 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file
17:59:55 <Melvar> `` LANG=ar_SA.utf8 cc 'int main() {printf("%'\''Id", 1234567890);}'
17:59:56 <HackEgo> ​/tmp/a.c: In function ‘main’: \ /tmp/a.c:1:13: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] \ 1234567890
18:00:14 <oren> the %'d isn't a valid format string in C
18:01:07 <Melvar> `` LANG=ar_Sa.utf8 \! 'c int main() {printf("%'\''Id", 1234567890);}'
18:01:08 <HackEgo> 1234567890
18:01:17 <Melvar> >.>
18:01:19 <elliott> oren:
18:01:20 <elliott> `'' Decimal conversions (d, u, or i) or the integral portion of a floating point conversion (f or F) should be grouped and separated by thousands
18:01:23 <elliott> using the non-monetary separator returned by localeconv(3).
18:01:50 <oren> in what version of C?
18:01:51 <elliott> (BSD manpage. I don't know whether C specifies it, admittedly. tons of printf stuff is non-standard though :/)
18:01:56 <Melvar> `` LANG=ar_SA.utf8 \! 'c int main() {printf("%'\''Id", 1234567890);}'
18:01:57 <HackEgo> 1234567890
18:02:02 <elliott> the real question is whether POSIX specifies it
18:02:21 <oren> `! c int main(){printf("% -d",1234);}
18:02:22 <HackEgo> ​ 1234
18:02:23 <elliott> http://pubs.opengroup.org/onlinepubs/9699919799/functions/fprintf.html it does
18:02:57 <Melvar> SUSv2
18:03:11 <Melvar> Is what my manpage says specifies the ' flag.
18:04:24 <oren> `! c int main(){setlocale(LC_ALL,"en_US"); printf("%'d",123456789);}
18:04:25 <HackEgo> Does not compile.
18:05:04 <oren> `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US"); printf("%'d",123456789);}
18:05:05 <HackEgo> No output.
18:05:20 <oren> hmmm
18:06:24 <oren> `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US.UTF-8"); printf("%'d",123456789);}
18:06:25 <HackEgo> No output.
18:06:39 <Melvar> `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US"); printf("%'d\\n",123456789);}
18:06:40 <HackEgo> No output.
18:09:00 <oren> `! c #include <locale.h>\nint main(){setlocale(LC_ALL,"en"); printf("%'d",123456789);}
18:09:01 <HackEgo> No output.
18:09:18 <oren> `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"C"); printf("%'d",123456789);}
18:09:20 <HackEgo> No output.
18:09:50 <oren> `locale -a
18:09:51 <HackEgo> aa_DJ \ aa_DJ.utf8 \ aa_ER \ aa_ER@saaho \ aa_ET \ af_ZA \ af_ZA.utf8 \ am_ET \ an_ES \ an_ES.utf8 \ ar_AE \ ar_AE.utf8 \ ar_BH \ ar_BH.utf8 \ ar_DZ \ ar_DZ.utf8 \ ar_EG \ ar_EG.utf8 \ ar_IN \ ar_IQ \ ar_IQ.utf8 \ ar_JO \ ar_JO.utf8 \ ar_KW \ ar_KW.utf8 \ ar_LB \ ar_LB.utf8 \ ar_LY \ ar_LY.utf8 \ ar_MA \ ar_MA.utf8 \ ar_OM \ ar_OM.utf8 \ ar_QA \ ar
18:10:33 <glguy> On OS X you get the thousands separators with: setlocale(LC_ALL, "");
18:11:04 -!- Decensum|Zzz has quit (Quit: Connection closed for inactivity).
18:11:04 <oren> `! c #include "locale.h"\nint main(){setlocale(LC_ALL,""); printf("%'d",123456789);}
18:11:06 <HackEgo> No output.
18:11:20 <oren> i dunno what's wrong...
18:11:40 <int-e> `! c int main(){printf("Hello?");}
18:11:41 <HackEgo> Hello?
18:11:58 <oren> `! c #include "stdio.h"\nint main(){printf("%'d",123456789);}
18:12:00 <HackEgo> No output.
18:12:09 <oren> goddamn it
18:12:10 <glguy> `! c #include <locale.h>\n#include <stdio.h>\nint main(){setlocale(LC_ALL,""); printf("%'d",123456789);}
18:12:11 <HackEgo> Does not compile.
18:13:07 <oren> `! c #include "stdio.h"\nint main(){printf("hello",123456789);}
18:13:08 <HackEgo> No output.
18:13:41 <int-e> `` /lib/x86_64-linux-gnu/libc.so.6 | grep version
18:13:41 <HackEgo> GNU C Library (Debian EGLIBC 2.13-38) stable release version 2.13, by Roland McGrath et al. \ Compiled by GNU CC version 4.4.7. \ crypt add-on version 2.1 by Michael Glad and others
18:13:50 <int-e> EGLIBC!
18:23:40 -!- MoALTz has joined.
18:35:38 <b_jonas> how did that trick go?
18:36:13 -!- shikhout has joined.
18:36:43 -!- shikhin has quit (Disconnected by services).
18:36:48 -!- shikhout has changed nick to shikhin.
18:39:42 -!- Sprocklem has quit (Ping timeout: 272 seconds).
18:50:19 -!- oren has quit (Ping timeout: 258 seconds).
18:52:12 <int-e> trick?
18:53:33 * int-e shows his empty sleeves, pockets and hat.
18:56:58 -!- oren has joined.
18:58:11 -!- myname has quit (Ping timeout: 244 seconds).
18:58:52 -!- myname has joined.
19:00:12 -!- zzo38 has joined.
19:23:26 -!- shikhin has quit (Read error: Connection reset by peer).
19:24:56 -!- shikhin has joined.
19:53:32 -!- drdanmaku has joined.
20:03:01 -!- MoALTz_ has joined.
20:05:35 -!- MoALTz has quit (Ping timeout: 250 seconds).
20:11:39 <HackEgo> [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41456&oldid=41454 * Darkgamma * (+76)
20:12:23 -!- GeekDude has quit (Ping timeout: 244 seconds).
20:15:52 -!- GeekDude has joined.
20:27:43 -!- shikhin has changed nick to shikhi.
20:30:17 -!- axelcsep has joined.
20:30:23 -!- shikhi has changed nick to shikhin.
20:30:37 <HackEgo> [wiki] [[Tag]] http://esolangs.org/w/index.php?diff=41457&oldid=41338 * BCompton * (+309) /* Sample programs */ Factorial
20:35:17 <Taneb> Hehe, I love today's Gunnerkrigg Court :)
20:45:40 <int-e> happiness all around
20:46:05 <int-e> cue for Coyote to crash the party (but that seems unlikely)
20:54:32 -!- mihow has joined.
21:01:18 -!- Patashu has joined.
21:21:42 <oren> hmmm... poll for the sake of interest: how many full-scale programs do you use every day, which you wrote yourself? my answer: 3.
21:22:12 <diginet> I'm not sure how to phrase this question but like, are there any languages which let you define specific operations on a given type. Say for example I had a day type. I could say that it is a simple range type with values of 1-365, with only modular arithmetic defined. But I'd also need to specify that every fourth "rollover" the range would be 366
21:22:58 <oren> C++, Ruby, and any other language with "operator overloading".
21:23:49 <diginet> oren: hmm. . .yeah that makes sense I guess I was looking at it from the wrong direction
21:24:17 <oren> in C++ the + operator can call arbitrary code.
21:24:46 <oren> i guess it takes a lot more code to achieve this than it should tho
21:25:09 <diginet> I guess the better way to do it would be to have the "day" type be a struct/record with two fields, one for the day number (which can be 1-366) and one for the leap year count, and then overload the + operator to check the year count field
21:25:46 <oren> and then you overload operator cast int or some such to give the day
21:25:58 <diginet> yeah
21:26:09 <diginet> funny how writing something in IRC can make it make sense all of a sudden
21:26:58 <oren> i have a picture of albert einstein on my wall which i explain my ideas to. it works in a similar way
21:27:11 <diginet> I'm trying to design a little embeddable DSL specifically for dealing with calendrical/time calculations, and I'm trying to think of to best implement the typing system
21:28:37 <oren> remember to make separate types for "day of year" and "difference in days".
21:28:46 -!- nortti has changed nick to lawspeaker.
21:28:47 <oren> and so on for each other unit oftime
21:29:12 <diginet> oren: yeah, that's a good idea, I was thinking along those lines myself
21:30:00 <oren> especially with months it matters a lot
21:30:06 <diginet> yeah
21:30:39 -!- atslash has joined.
21:32:00 <diginet> oren: I was thinking that converting between calendars is somewhat orthogonal (albeit much more complicated) to converting between bases. So I would use a julian day like system as a "pivot" in the same way that computers natively represent numbers in binary
21:33:15 <oren> in my spreadsheet program i used "days since/to" Jan 1 2000 as my native format
21:34:16 <oren> but i only implemented conversion to gregorian calendar
21:34:33 <oren> (proleptic gregorian that is)
21:35:41 -!- lawspeaker has changed nick to nortti.
21:37:52 <oren> http://pastebin.com/PtR5pg79 here is my horrible not-invented-here approach to dates and times
21:39:36 <diginet> oren: interesting
21:40:29 <oren> note that there are 146097 days in every 400 year leap year cycle.
21:42:21 <oren> this allows 400 years to be the maximum number of iterations of the loops which count days
21:42:46 <oren> because you can do 400 years by simple multiplication
21:44:06 <oren> so my calendar code accepts years like 3000000 without stalling
21:46:55 -!- shikhin has changed nick to lawexec.
21:47:49 -!- lawexec has changed nick to shikhin.
21:50:14 <oren> obviously a 400 entry lookup table would be better than this code, but whatever...
21:50:14 -!- glguy_ has joined.
21:51:03 <oren> hi
21:53:02 -!- zzo38 has quit (Ping timeout: 264 seconds).
21:58:50 <diginet> oren: interesting
21:59:02 <diginet> yeah I knew there were 400 years in the leap year cycle
21:59:24 <diginet> the year 2000 is great isn't it? convenient starting point for calendars, and the beginning of a new leap cycle!
22:02:13 <oren> mhm. other calendars would need other reference points, but if you calclulate the difference between 2000 and that reference point beforehand, you can add the difference at the start of the conversion.
22:02:29 <diginet> yeah
22:02:36 <oren> e.g. what is the julian day number for Jan 1 2000
22:02:48 <diginet> in my system, it would be 0
22:02:53 <diginet> which feels weird
22:03:05 <diginet> speaking of "year zero" makes me think of Pol Pol/Khmer Rouge
22:03:12 <diginet> *Pol Pot
22:03:44 <oren> or a zero day exploit
22:04:08 <diginet> that too
22:10:04 <int-e> you could have a year zero problem
22:10:15 <oren> note that in my code, day zero is 31 Dec 1999
22:11:05 <int-e> diginet: did you know that the number of days in 400 years is conveniently divisible by 7?
22:11:45 <diginet> int-e: I did not! but that's even cooler!
22:11:52 <oren> i kenw that. but you can just find out the day of week for day 0 and take the mod 7 for your day number
22:11:54 <int-e> `` factor $((365*400 + 97))
22:11:54 <HackEgo> 146097: 3 3 3 7 773
22:12:08 <diginet> oren: isn' that the domesday algorithm?
22:12:34 <oren> i dunno, as i said my code is "not-invented here"
22:12:57 <oren> i just extrapolated from my limited knowledge of the gregorian calendar
22:13:25 <int-e> another neat trick for day of week calculation is to put the start of the year on march 1st.
22:13:42 <oren> that is what it was in rome iirc
22:14:34 <int-e> the point being that the leap day will be inserted at the end of the year (which really makes a lot more sense than putting it in the middle.)
22:14:49 <int-e> oren: I believe so too.
22:17:38 <oren> oh right, it makes sense too, that is why december (decem = 10) is now the 12th month.
22:18:36 <int-e> same for september, october, november
22:20:25 <diginet> oren: yes the roman new year was march
22:20:46 <diginet> strangely the pre-julian calendar just didn't have months for a large part of the year
22:22:37 -!- oren has quit (Quit: eating dinner).
22:29:25 -!- `^_^v has quit (Ping timeout: 260 seconds).
22:34:28 -!- axelcsep has quit (Ping timeout: 244 seconds).
22:37:05 -!- glguy_ has quit (Quit: Computer has gone to sleep.).
22:41:23 -!- CrazyM4n has joined.
22:41:35 -!- GeekDude has quit (Ping timeout: 250 seconds).
22:49:33 -!- boily has joined.
22:50:18 -!- atehwa has joined.
22:51:06 <boily> hellørjan.
22:51:27 <boily> @massages-loud
22:51:27 <lambdabot> oerjan said 22h 25m 11s ago: tldr: int-e and ais523 managed to get `! c-intercal in HackEgo working; then elliott broke ais523 by imagining donald knuth coming to this channel looking for the other kind of esoteric then int-e linked http://www-cs-faculty.stanford.edu/~uno/316.html hth
22:51:58 <boily> @tell oerjan hellørjan tdh tyvm hth
22:51:58 <lambdabot> Consider it noted.
22:52:26 -!- atslash has quit (Ping timeout: 264 seconds).
22:52:29 <int-e> boily: oerjan complained that you used 'vsdr' without explanation
22:52:49 <int-e> boily: my guess was "very short; didn't read", was I close?
22:53:14 <boily> int-ello. it indeed was that.
22:53:52 <boily> @tell oerjan your evil twin guessed right about the vsdr htah
22:53:53 <lambdabot> Consider it noted.
22:54:00 -!- oerjan has joined.
22:54:29 -!- Hasnot has joined.
22:55:06 <oerjan> @messages-
22:55:06 <lambdabot> boily said 3m 7s ago: hellørjan tdh tyvm hth
22:55:06 <lambdabot> boily said 1m 13s ago: your evil twin guessed right about the vsdr htah
22:55:11 <oerjan> yay
22:55:58 <oerjan> g'daily, i am not sure helloing someone not present is comme il faut hth
22:56:20 <boily> en effet. I wonder what the proper protocol in those cases is...
22:57:06 <oerjan> also that tldh was obviously from my _previous_ logreading.
22:57:11 <int-e> @tell oerjan tell boily hello when you see him, please
22:57:11 <lambdabot> Consider it noted.
22:58:10 <oerjan> @messages-clear that's more like comme il faux-pas
22:58:10 <lambdabot> Unknown command, try @list
22:58:23 <oerjan> @clear-messages that's more like comme il faux-pas
22:58:23 <lambdabot> Messages cleared.
22:58:31 <oerjan> i sense an inconsistency in naming here
22:58:41 <boily> bon point.
22:58:46 <int-e> I sense a complaint.
22:58:51 <oerjan> although i guess without it, @messages- wouldn't work
22:59:03 <oerjan> so i retract it hth
22:59:54 <oerjan> @metar ENVA
22:59:54 <lambdabot> ENVA 122250Z VRB02KT CAVOK M02/M07 Q0979 RMK WIND 670FT 16013KT
22:59:59 <boily> @metar CYUL
22:59:59 <lambdabot> CYUL 122200Z 24011KT 6SM -SN FEW009 OVC024 M04/M05 A2995 RMK SF1SC7 SLP143
23:00:05 <oerjan> THIS EXPLAINS MY COLD FEET
23:00:16 <boily> OKAY
23:00:42 -!- glguy_ has joined.
23:03:47 <int-e> oerjan: somehow that exchange (about retracting complaints) reminded me of http://www.gocomics.com/calvinandhobbes/1988/06/02 ... (arc starts at http://www.gocomics.com/calvinandhobbes/1988/05/30 )
23:04:11 <int-e> @metar LOWI
23:04:11 <lambdabot> LOWI 122250Z AUTO 26007KT 220V340 9999 NCD M00/M03 Q1013
23:05:14 -!- glguy_ has quit (Ping timeout: 258 seconds).
23:05:57 <oerjan> int-e: i wish to state for the record that i have no reason to believe there is a bee on your shirt hth
23:08:24 <oerjan> `unidecode ㍿
23:08:25 <HackEgo> ​[U+337F SQUARE CORPORATION]
23:09:12 <int-e> aww. "Your search - ㍿ - did not match any documents. "
23:10:09 <oerjan> aww. i was hoping it was something like TM is used in english
23:10:15 <int-e> old name: SQUARED FOUR IDEOGRAPHS CORPORATION
23:10:31 <int-e> more like Inc.
23:10:46 <oerjan> well obviously, but Inc. isn't turned into a character...
23:11:08 <int-e> We could try reserving an unicode point for that purpose
23:11:20 <shachaf> a corporation of squares
23:11:32 <int-e> four squares... oh I dingress
23:11:59 <oerjan> int-e: is that a pun
23:12:11 <int-e> oerjan: "no."
23:12:23 * oerjan swats int-e -----###
23:12:34 <oerjan> sorry, i don't have a baseball bat
23:12:36 <int-e> thanks, that got rid of the bee. I think.
23:13:07 <oerjan> good, good
23:13:38 <int-e> meh. GG is late.
23:14:15 <int-e> (not late late, they still have a couple of hours left... but later than usual.)
23:14:16 <oerjan> the foglios have not learned the ancient wisdom of the buffer
23:16:42 <oerjan> i suppose dmm has spoiled me
23:17:33 <oerjan> although he seems to have slipped up a bit lately
23:18:19 <int-e> Schlock Mercenary, Freefall, Sinfest, there's really a lot of web comics that just update on time.
23:19:00 <int-e> (of course there are even more that don't; some don't even pretend to have a regular schedule...)
23:19:14 -!- Hasnot1 has joined.
23:19:19 <oerjan> with freefall we have the upside that we get to hear about strange work accidents.
23:19:37 <oerjan> hm was it a nuclear plant he worked at
23:19:54 <oerjan> maybe freefall is secretly written by homer simpson
23:19:59 <int-e> oh, new dresden codak today.
23:20:30 <int-e> (that's one of those that doesn't have a schedule)
23:20:46 -!- Hasnot has quit (Ping timeout: 245 seconds).
23:20:46 <oerjan> i suppose it may be hard to resist the urge to let people see your new creation immediately
23:21:39 <oerjan> the ones i read with no schedule to speak of are oots and yafgc
23:22:45 <oerjan> well i suppose lightning made of owls has no schedule because it gets so few contributions.
23:23:00 -!- nys has joined.
23:28:08 -!- Hasnot1 has left.
23:41:27 -!- GeekDude has joined.
23:41:48 -!- oren has joined.
23:46:46 -!- MoALTz_ has quit (Quit: Leaving).
23:47:55 <oren> yeah, so like i said ㍿ is a ridiculous character.
23:48:21 <oerjan> OKAY
23:49:23 <oren> someone oughta make a new version of unicode without all these ridiculous characters that are only there for backward compatibility.
23:51:36 <paul2520> oren: what does that character mean? Google Translate's not giving me anything...
23:52:01 <oren> it is four character japanese word for public traded corporation
23:52:17 <paul2520> interesting
23:52:18 <oren> pronounced "kabushikigaisha"
23:53:22 <oren> these four characters: 株式会社
23:55:57 <oren> why do these exist??? fffiflffifflſtst
23:56:17 <paul2520> .window bare
23:56:22 <paul2520> sorry
2014-12-13
00:00:08 <boily> oren: one thing I don't quite get is that sometimes it's いしゃ, and other times it's いしゃ. I highly suspect it's for euphonic reasons...
00:01:22 <Melvar> boily: rendaku / sequential voicing?
00:01:39 <pikhq> boily: Yep, just standard Japanese euphony.
00:01:51 <boily> Melvar: well, both forms are accepted and in wide usage. that's what's baffling me.
00:02:01 <boily> pikhq: oh well.
00:02:13 <pikhq> "kabushikigaisha" is more "correct".
00:02:25 <Melvar> boily: Things can get voiced if they’re a non-first element of a compound, is what that is.
00:02:27 -!- zzo38 has joined.
00:02:36 <boily> 連濁は難しいんだよ。。。
00:03:12 <oren> yah, essentially, kabushikigaisha is "public-company" while kabushikikaisha is "public company"
00:04:31 <oren> it depends on how closely you want it to sound compounded.
00:05:12 <oren> because 式 "style" is sort of an adjectival ending
00:06:08 <zzo38> I had idea of what kind of character could be had in the Smash Brothers game, if it were allowed to use function of Wii U gamepad for some characters. Professor Oak would be allowed to look on the touchscreen to know what kind of pokemons are in each pokeball on the screen, without opening it. Light Yagami can have one attack, you write the name of another character on the touchscreen and forty seconds later the target is instantly knocked out; it
00:06:15 <boily> oren: interesting. I never thought of 式 that way.
00:07:04 <boily> zzo38: I couldn't be playing the Yagami; my handwriting is too idiosyncratic.
00:07:30 <boily> oren: btw, I don't know your approximate geographic coördinates yet, and what is your body weigh?
00:07:57 <oren> boily: get this: you may notice many adjectives in japanese end in 的. in Mandarin, 的 is simply the genitive particle!
00:08:23 <oren> I live in Canada and i weigh 160 pounds.
00:08:34 <boily> oh, which province? :D
00:08:43 <oren> Toronto Ontario
00:08:48 <boily> 的 is the ubiquitous 的.
00:09:06 <boily> oren: ah, un ontarien!
00:09:21 <oren> wee wee!
00:10:01 <zzo38> O, I forgot actually it can be canceled if you are knocked out while writing down the name, but after it is written, the attack cannot be canceled unless the match has already ended or if the target has been knocked out and not recovered yet by the time 40 seconds have elapsed.
00:10:04 <nys> not the ontarites
00:10:32 <zzo38> That would then be the most powerful, and also the slowest, attack in the game.
00:10:56 <oren> i always play as Ike and bash people up
00:11:09 <boily> kirby is the most bestest of them all!
00:12:51 -!- FreeFull has quit (Ping timeout: 244 seconds).
00:13:22 <zzo38> No, I wanted to play as Professor Oak.
00:13:46 -!- Frooxius has joined.
00:14:09 -!- FreeFull has joined.
00:16:18 <oren> i love this font. i love the way | is a heart.
00:16:46 <oren> i | this font. i | the way | is a |.
00:16:54 <zzo38> What kind of font is that?
00:17:44 <oren> http://snag.gy/bYC1F.jpg
00:19:00 <oren> this is my font from now on. i don't care if people say it's silly.
00:19:35 * boily cursivly twitches
00:20:48 <oren> http://snag.gy/Z5AC1.jpg
00:22:24 -!- oren has changed nick to |oren|.
00:23:47 <|oren|> with the power of heart! http://www.vgcats.com/comics/?strip_id=164
00:24:05 -!- CrazyM4n has changed nick to abs.
00:24:19 <abs> okay...
00:24:27 -!- abs has changed nick to CrazyM4n.
00:24:43 <CrazyM4n> ;~; I was trying to set my name as abs(CrazyM4n) because |oren|
00:24:46 <CrazyM4n> but I guess not
00:25:11 <|oren|> you can have {}|[]\ in name because of iso646
00:25:28 <|oren|> they were letters in scandinavian fonts
00:25:36 <CrazyM4n> weird
00:25:57 <|oren|> but you can't have () in name
00:29:21 <boily> neither *. I wanted a sparkling nick, dammit!
00:29:31 <shachaf> boily
00:30:25 <boily> thachaf ^^
00:30:34 -!- shikhin has quit (Ping timeout: 272 seconds).
00:45:36 <FreeFull> abs{CrazyM4n}
00:45:42 <FreeFull> Good enough
00:46:21 <myname> anyone here using termite?
00:48:00 <|oren|> not me... i was unaware what that was
00:48:58 <boily> myname: as in, the thing that explodes?
00:49:11 <myname> as in, the terminal emulator
00:50:34 <boily> same; I didn't know there were such a thing as.
00:50:39 -!- CrazyM4n has changed nick to abs{CrazyM4n}.
00:52:17 <int-e> oerjan: oh this is instructive: u=unlines;main=interact(\x->u[u[z|y<-[n,n+2..7^6],z<-lines x,show y==z]|n<-[0,1]]) can be shortened to main=interact(unlines#);u#x=u[u[z|y<-[n,n+2..7^6],z<-lines x,show y==z]|n<-[0,1]]
00:52:31 <int-e> oerjan: (from http://golf.shinh.org/p.rb?partition+by+parity)
00:53:54 <abs{CrazyM4n}> Someone on reddit told me my code was slow and linked to their code golf which apparently ran faster
00:54:19 <abs{CrazyM4n}> Too bad I never knew how
00:56:01 <oerjan> int-e: fiendish
00:57:06 <|oren|> does casting unused return vals to void no longer work?
00:57:48 <|oren|> i really don't care how much fread read!
01:05:53 <Sgeo> http://www.example.com/#%foo
01:06:00 <Sgeo> Went into Chrome console
01:06:05 <Sgeo> document.URL ... breaks the console
01:06:14 <Sgeo> alert(document.URL) is fine
01:09:09 -!- G33kDude has joined.
01:11:14 -!- GeekDude has quit (Ping timeout: 245 seconds).
01:11:16 -!- G33kDude has changed nick to GeekDude.
01:21:02 <oerjan> GG still late
01:21:13 <shachaf> time for gglist
01:21:17 <oerjan> as is freefall
01:21:26 <oerjan> shachaf: i think that's a bit premature
01:21:39 <shachaf> oerjan: unlike gg updates hth
01:22:48 <oerjan> OKAY
01:26:38 <boily> the *lists should be parametrised over the comic they notify people of.
01:27:26 <shachaf> innovative
01:31:03 <boily> probably plug some machine learning through that, so that when you present `list with a new comic, it'll know which one it is, and who to notify.
01:31:20 <boily> fungot: can you predict comic schedules?
01:31:21 <fungot> boily: i believe that the human body does not catch fire.) so you'll return the procedure
01:31:37 -!- adu has joined.
01:31:47 <boily> fungot: indeed. it was experimentially demonstrated that I do not catch fire. I wonder if you burn...
01:31:48 <fungot> boily: this problem is giving me some error in my algorithm and it was almost working, modulo a certain amount of reductions, you can
01:32:10 <boily> fungot: so you're not quite ready for that kind of predictions?
01:32:11 <fungot> boily: i think that specifing relative heading sizes is not only fnord.
01:32:33 <boily> fungot: ah, absence of fnord in the schedule headers. a classic mistake.
01:32:33 <fungot> boily: let me update sarah to the latest
01:32:51 <boily> fungot: so you're learning about to notifiees!
01:32:56 <boily> (btw, who's sarah?)
01:33:28 <shachaf> `? boily
01:33:29 <HackEgo> boily is monetizing a broterhood scheme with the Guardian of Lachine. He's also a NaniDispenser, a Man Eating Chicken and a METARologist. He is seriously lacking in the f-word department.
01:35:27 <boily> `? shachaf
01:35:28 <HackEgo> shachaf sprø som selleri and cosplays Nepeta Leijon on weekends.
01:36:13 <zzo38> `? `?
01:36:14 <HackEgo> ​`? ¯\(°_o)/¯
01:36:14 <myndzi> |
01:36:15 <myndzi> º¯`\o
01:36:37 <zzo38> `? esolang
01:36:38 <HackEgo> esolang? ¯\(°​_o)/¯
01:36:46 <shachaf> `? zzo38
01:36:48 <HackEgo> zzo38 is not actually the next version of fungot, much as it may seem.
01:37:40 <zzo38> `? topic
01:37:41 <HackEgo> topic? ¯\(°​_o)/¯
01:37:50 <zzo38> `? IRC
01:37:50 <HackEgo> irc is useless.
01:37:56 <zzo38> `? Are you sure?
01:37:57 <HackEgo> Are you sure?? ¯\(°​_o)/¯
01:38:11 <zzo38> `? International Astronomical Conspiracy
01:38:12 <HackEgo> International Astronomical Conspiracy? ¯\(°​_o)/¯
01:38:21 <zzo38> `? C
01:38:21 <HackEgo> C is the language of��V�>WIד�.��Segmentation fault
01:38:25 <zzo38> `? C++
01:38:26 <HackEgo> Along with C, C++ is a language for smart people.
01:38:30 <zzo38> `? Haskell
01:38:31 <HackEgo> Unbound implicit parameter (?haskell::Wisdom) \ arising from a use of implicit parameter `?haskell'
01:38:45 <zzo38> `? Forth
01:38:46 <HackEgo> Forth? ¯\(°​_o)/¯
01:38:54 <boily> `? Befunge
01:38:55 <HackEgo> Befunge? ¯\(°​_o)/¯
01:38:58 <zzo38> `? CLC-INTERCAL
01:38:59 <HackEgo> CLC-INTERCAL? ¯\(°​_o)/¯
01:39:04 <boily> `? LISP
01:39:05 <HackEgo> LISP? ¯\(°​_o)/¯
01:40:07 <zzo38> `? assembly language
01:40:08 <HackEgo> assembly language? ¯\(°​_o)/¯
01:40:33 <zzo38> `? Segmentation fault
01:40:33 <HackEgo> Segmentation fault? ¯\(°​_o)/¯
01:40:41 <adu> HackEgo: wow
01:41:23 <adu> C++ is not the language for smart people
01:42:13 <adu> smart people learn from history
01:42:37 <adu> smart people define their problem domain before discussing it
01:42:50 <zzo38> I know that, but that is what someone wrote on HackEgo
01:43:09 <zzo38> `? Magic: the Gathering
01:43:09 <HackEgo> Magic: the Gathering? ¯\(°​_o)/¯
01:43:13 <zzo38> `? Pokemon Card
01:43:14 <HackEgo> Pokemon Card? ¯\(°​_o)/¯
01:43:17 <adu> `? x86
01:43:18 <HackEgo> x86? ¯\(°​_o)/¯
01:43:19 <zzo38> `? Aberration Hater Card Game
01:43:20 <HackEgo> Aberration Hater Card Game? ¯\(°​_o)/¯
01:43:23 <zzo38> `? 6502
01:43:24 <HackEgo> 6502? ¯\(°​_o)/¯
01:43:36 <adu> what's the ascii art mean? does that mean 404?
01:43:51 <adu> `? brainfuck
01:43:52 <HackEgo> brainfuck is the integral of the family of terrible esolangs.
01:44:09 <adu> `? x86_64
01:44:09 <HackEgo> x86_64? ¯\(°​_o)/¯
01:44:09 <zzo38> adu: Either the file doesn't exist or the text of the file contains that ASCII art
01:44:18 <shachaf> `? fnord
01:44:19 <HackEgo> ​? ¯\(°​_o)/¯
01:44:32 <adu> `? stack
01:44:32 <HackEgo> stack? ¯\(°​_o)/¯
01:44:43 <adu> `? increment
01:44:44 <HackEgo> increment? ¯\(°​_o)/¯
01:44:47 <adu> `? smart
01:44:48 <HackEgo> smart? ¯\(°​_o)/¯
01:45:35 <adu> so it doesn't search?
01:45:52 <adu> that's not very fun
01:46:40 <boily> adu: it's the Wisdom. for a formatted version of it, check the PDF in the /topic ↑
01:46:44 <zzo38> If you want to search, you can enter the search command by yourself, it is a UNIX program so you can use any UNIX command
01:47:18 <shachaf> you're either wisdom or you're againsdom
01:47:39 <adu> `? Coulor
01:47:39 <HackEgo> Coulor is the correct spelling.
01:47:43 <adu> lololol
01:48:21 -!- |oren| has quit (Quit: buhbye).
01:48:25 <shachaf> `? colour
01:48:26 <HackEgo> Colour is a phenomenon from outer space designed to drive humanity insane and bring forth the new age of Cthulhu.
01:48:32 <adu> `? facts
01:48:33 -!- glguy has quit (Quit: Quit).
01:48:33 <HackEgo> facts are lies. They are not there. Go away!
01:49:44 <adu> I try to stay away from Pastafarianism
01:50:41 <boily> next thing you're going to say that you don't believe in ramen.
01:50:54 <adu> OMG I <3 Ramen
01:54:21 <adu> ラーメンが大すきい
01:56:24 <boily> I prefer the original Chinese version.
01:56:39 <boily> (hmm... braised beef shank...)
01:57:15 <adu> 我爱拉面
01:58:36 <boily> 我同意
01:58:46 -!- jslave has joined.
01:59:09 <boily> time to gravitate towards a mattress...
01:59:21 <boily> みんなお休み!
01:59:30 -!- boily has quit (Quit: PLURALIST CHICKEN).
02:01:35 * oerjan wonders if boily has a script for choosing fowl adjectives
02:02:00 <oerjan> `?
02:02:01 <HackEgo> ​? ¯\(°​_o)/¯
02:02:14 <oerjan> `? `?
02:02:15 <HackEgo> ​`? ¯\(°_o)/¯
02:02:15 <myndzi> |
02:02:16 <myndzi> º¯`\o
02:03:55 <oerjan> `run sed -i 's/°/°​/' wisdom/'`?'
02:03:57 <HackEgo> No output.
02:04:01 <oerjan> `? `?
02:04:02 <HackEgo> ​`? ¯\(°​_o)/¯
02:12:51 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
02:19:39 -!- Lymia has joined.
03:01:15 -!- axelcsep has joined.
03:02:58 <zzo38> `? wisdom
03:02:59 <HackEgo> wisdom is always factually accurate, except for this entry, and uh that other one? it started with like, an ø?
03:03:45 <zzo38> Do you like my stuff on All The Tropes so far?
03:03:49 <zzo38> `? All The Tropes
03:03:49 <HackEgo> All The Tropes? ¯\(°​_o)/¯
03:03:55 <zzo38> `? Iuckqlwviv Kjugobe
03:03:56 <HackEgo> Iuckqlwviv Kjugobe? ¯\(°​_o)/¯
03:04:12 <zzo38> `? XML
03:04:13 <HackEgo> XML? ¯\(°​_o)/¯
03:04:20 <zzo38> `? gopher
03:04:20 <HackEgo> gopher? ¯\(°​_o)/¯
03:04:23 <zzo38> `? HTTP
03:04:23 <HackEgo> HTTP? ¯\(°​_o)/¯
03:04:32 <zzo38> `? COBOL
03:04:33 <HackEgo> COBOL? ¯\(°​_o)/¯
03:05:20 -!- CADD has quit (Remote host closed the connection).
03:22:51 -!- jslave has quit (Ping timeout: 245 seconds).
03:23:06 <Sgeo> CLIPPY
03:23:11 <Sgeo> http://inception.davepedu.com/
03:26:41 -!- oerjan has quit (Quit: Nite).
03:26:48 -!- drdanmaku has joined.
03:34:32 -!- jslave has joined.
03:43:21 -!- glguy has joined.
03:46:30 <abs{CrazyM4n}> I'm so done with bueue, I've been messing with it for like 10 min
03:46:40 <abs{CrazyM4n}> and all I've gotten is smiley faces and ones
03:47:24 <GeekDude> hey abs{CrazyM4n}
03:47:38 <GeekDude> how's the IDE coming?
03:47:50 <abs{CrazyM4n}> It's usable
03:47:52 <abs{CrazyM4n}> Glitchy
03:47:56 <abs{CrazyM4n}> But usable
03:48:01 <GeekDude> lol
03:50:01 <GeekDude> I've got to implement a line drawing function in lua
03:50:38 <abs{CrazyM4n}> Like, to output to images? Or in Löve or another similar thingy
03:51:28 <GeekDude> I am running lua on an embedded device
03:51:41 <GeekDude> I have graphics functions for three things
03:51:46 <GeekDude> 1) Clearing the display
03:51:52 <GeekDude> 2) Outputting text
03:52:00 <GeekDude> 3) Setting a single pixel on
03:52:13 -!- jslave has quit (Ping timeout: 244 seconds).
03:52:28 <abs{CrazyM4n}> Ooo. Why lua though? Just because it's easy to implement?
03:52:59 <GeekDude> Well, my choices for alternate firmwares were C variants, Java, or lua
03:53:18 <GeekDude> a few of the C variants require $$$ licenses as well
03:53:26 <abs{CrazyM4n}> Ew
03:53:31 <abs{CrazyM4n}> What are you running it on?
03:53:38 <GeekDude> Also, the lua firmware just had an update for better float processing speed
03:53:52 <GeekDude> https://en.wikipedia.org/wiki/Lego_Mindstorms_NXT
03:53:58 <abs{CrazyM4n}> Ah
03:54:02 <abs{CrazyM4n}> You
03:54:06 <abs{CrazyM4n}> You've talked about it
03:54:25 <GeekDude> I talk about these things a lot
03:57:26 <abs{CrazyM4n}> So I have a good idea -
03:57:45 <abs{CrazyM4n}> I'm writing a program that randomly generates BF programs
03:58:19 <GeekDude> The ultimate bogo sort?
03:58:27 <GeekDude> keep writing BF until the list is sorted
03:58:45 <abs{CrazyM4n}> It's perfect
03:59:35 <abs{CrazyM4n}> Just don't know how I'm going to generate the brackets
03:59:45 <GeekDude> in pairs of course
04:00:01 <abs{CrazyM4n}> Yeah, but the problem is making sure no pairs overlap
04:00:23 <GeekDude> Well, you're allowed to nest them, right?
04:00:29 <abs{CrazyM4n}> Yes
04:00:37 <GeekDude> [...[.]...]
04:00:45 <abs{CrazyM4n}> Oh, I can just make it place a corresponding ] in any place before the next [
04:00:46 <GeekDude> that's not two overlapping pairs
04:00:50 <abs{CrazyM4n}> That works
04:00:53 <GeekDude> that's a nested pair
04:01:07 <abs{CrazyM4n}> I mean, I'm trying to prevent [....[]...]
04:01:15 <abs{CrazyM4n}> wait... what I'm trying to prevent makes absolutely no sense
04:01:59 <GeekDude> Tada!
04:02:16 <GeekDude> logicd
04:03:08 -!- jslave has joined.
04:04:40 <GeekDude> Welp, goodnight
04:04:47 <abs{CrazyM4n}> Good night
04:05:26 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:28:59 -!- nys has quit (Quit: quit).
04:47:28 <abs{CrazyM4n}> So the random BF generator is quite weird
04:47:32 <abs{CrazyM4n}> And fun
04:47:33 <abs{CrazyM4n}> And useless
04:51:09 <abs{CrazyM4n}> So I just generated this http://sprunge.us/MQeb
04:51:26 <abs{CrazyM4n}> It seems to put an amount of garbage characters on the line
04:51:32 <abs{CrazyM4n}> Depending on the amount you inputted
04:54:36 -!- Decensum|Zzz has joined.
04:57:08 <abs{CrazyM4n}> ...
04:57:08 <jslave> abs{CrazyM4n}: [SyntaxError] Unexpected token .
04:57:32 -!- axelcsep has quit (Ping timeout: 258 seconds).
04:57:36 <abs{CrazyM4n}> Oh, you have to use a REALLY forgiving BF interpreter
04:57:39 <abs{CrazyM4n}> I'm using beef
04:57:53 <abs{CrazyM4n}> I just generated a 13,000 character script
04:57:58 <abs{CrazyM4n}> That outputted "<CTCP><CTCP>
04:57:58 <abs{CrazyM4n}> "
04:58:00 <abs{CrazyM4n}> That's it
04:58:00 <Decensum|Zzz> Morning
05:02:07 <abs{CrazyM4n}> "<CTCP>", BF says
05:02:50 <Decensum|Zzz> Huh what //wakes up
05:09:21 <abs{CrazyM4n}> So I just generated two programs back to back
05:09:26 <abs{CrazyM4n}> That both printed out the ASCII table
05:09:36 <abs{CrazyM4n}> One backwards, skipping a couple characters
05:09:45 <abs{CrazyM4n}> Another forward, skipping different characters
05:09:46 <abs{CrazyM4n}> O.o
05:11:04 <adu> I should go to bed
05:13:54 <adu> ? u
05:13:58 <adu> `? u
05:14:00 <HackEgo> u monad?
05:14:05 <adu> `? you
05:14:06 <HackEgo> you a haskell
05:15:12 <adu> `? Ø
05:15:13 <HackEgo> ​ø is not going anywhere.
05:15:53 -!- adu has quit (Quit: adu).
05:20:34 -!- abs{CrazyM4n} has quit (Quit: need internet, have dialup).
05:21:15 -!- jslave has quit (Ping timeout: 264 seconds).
05:22:25 -!- adu has joined.
05:26:34 -!- glguy_ has joined.
05:26:53 -!- glguy_ has quit (Client Quit).
05:29:30 <Decensum|Zzz> Fondle bread
05:42:29 -!- fungot has quit (Ping timeout: 245 seconds).
05:43:39 -!- fizzie has quit (Ping timeout: 265 seconds).
05:48:36 -!- Tod-Autojoined has changed nick to TodPunk.
05:59:30 -!- Patashu has quit (Ping timeout: 264 seconds).
07:00:47 <Sgeo> `evilliouslist
07:00:48 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: evilliouslist: not found
07:00:52 <Sgeo> Wait, hmm. Not sure if it counts
07:00:53 <Sgeo> "12/12: New album entitled "The Seven Sins and Punishment" announced by Akuno-P! "
07:00:59 <Sgeo> Not yet released I guess
07:01:18 <Sgeo> To be released Feb. 25
07:02:10 * Sgeo counts between 2-4 new songs
07:02:29 <Sgeo> (Two songs I haven't seen before and wiki has no info, two songs with names to be released)
07:13:27 -!- glguy has quit (Quit: Part).
07:16:55 -!- shikhin has joined.
07:43:07 -!- adu has quit (Quit: adu).
08:11:35 -!- PinealGland has joined.
08:21:05 -!- Decensum|Zzz has quit (Quit: Connection closed for inactivity).
08:43:27 -!- shikhin has quit (Ping timeout: 264 seconds).
08:54:33 -!- shikhin has joined.
09:10:42 -!- shikhin has quit (Ping timeout: 244 seconds).
09:52:51 <zzo38> Now I made up a more powerful version of POKEMON FLUTE card; it is called POKEMON ORCHESTRA. You have to discard another cards from your hand, but it is possible now to use not only with basic pokemon cards but also evolution cards and basic energy cards.
09:53:25 <b_jonas> zzo38: what's a pokemon flute? is it like an elvish piper?
09:54:09 <zzo38> It is card that let's you play one basic pokemon card from opponent's trash onto the opponent's play area (although the card remains inactive).
09:57:09 -!- oren has joined.
09:57:42 <b_jonas> ah, so not Elvish Piper, but rather Rise from the Grave but only from an opponent's graveyard
09:57:50 <b_jonas> ok
10:00:53 <zzo38> Actually not quite like either of those M:tG cards. The card remains on opponent's side and isn't altered.
10:05:44 <zzo38> I don't know if there are any cards in Magic: the Gathering that are similar to the Pokemon Flute though.
10:08:49 <b_jonas> oh, you give your _opponent_ back a valuable card
10:08:56 <b_jonas> yes, that's different
10:21:37 <J_Arcane_> I had the most horrible dream last night. I dreamed that someone solved the let-alist macro I've been failing to solve for over a week, only I couldn't access the email. I woke at 6am grouchy and frustrated.
10:22:51 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
10:40:33 <Jafet> `which alist
10:40:34 <HackEgo> No output.
11:11:54 <zzo38> Is there a Magic: the Puzzling where opponent has Gleemax on his side?
11:14:47 <oren> problem: find a finite list of positive integers X={x1,,,xn}, and a positive integer L, such that the integers X can be divided into N gorups each of whose sum is <= L, but if you add them up into groups greedily, you get 2N groups.
11:15:21 <oren> (greedily, in the order they are given, no sorting)
11:16:38 <oren> so for example L=3 and X={2,2,1,1} gives you groups {2},{2,1},{1}.
11:36:27 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
11:37:37 -!- MoALTz has joined.
12:15:22 -!- DrVitusWerdegast has joined.
12:15:54 -!- DrVitusWerdegast has left ("Leaving").
12:22:12 -!- cluid has joined.
12:31:01 <b_jonas> zzo38: or just someone with the flagbearer ability?
12:37:36 <int-e> Oh lightning rods... nice!
12:41:36 <b_jonas> int-e: hehehe... not quite. if it was a lightning rod, magical or mundane, it would have to be blue instead of white.
12:42:01 <b_jonas> ok, maybe not quite.
12:42:05 <b_jonas> but more likely blue than white.
12:42:17 -!- hagb4rd2 has joined.
12:42:31 -!- hagb4rd2 has quit (Read error: Connection reset by peer).
12:43:23 <elliott> hagb4rd is still trying to come back here after being banned for literally forever??
12:43:27 <int-e> b_jonas: I'm evil, remember?
12:43:38 -!- ChanServ has set channel mode: +o elliott.
12:43:44 -!- elliott has set channel mode: +b *!*hagb4rd*@*.
12:43:51 -!- elliott has set channel mode: -o elliott.
12:43:57 <elliott> I hope I don't have to ban his entire ISP again
12:49:32 <elliott> I like how the entirety of antarctica is also banned
12:49:46 <int-e> must be lonely out there
12:56:30 <b_jonas> antarctica?
12:56:49 <b_jonas> wait, how does this channel have such a long ban list in first place?
12:58:48 <b_jonas> is it because nobody clears up the old entries?
13:01:16 <int-e> not to be mean (haha! almost killed myself there!), but perhaps people interested in the other kind of esoterica are generally not all that reasonable...
13:02:42 <int-e> But not cleaning up old entries is the more likely explanation.
13:04:08 <int-e> And it's not that long... #haskell has 351 bans.
13:04:40 <Jafet> Per capita bans
13:08:02 -!- boily has joined.
13:08:38 <elliott> b_jonas: about half of the list is bans for repeat ban evaders
13:08:42 <elliott> hagb4rd and cheater, mainly
13:09:09 <elliott> they were sufficiently dedicated to evading for months/years in the past that removing the bans for things like nick and username just doesn't make sense
13:10:45 <int-e> ##math has a really short ban list, due to eir. It's been a mixed blessing...
13:13:55 -!- lambdabot has quit (Remote host closed the connection).
13:14:04 <int-e> oh?!
13:15:48 -!- FreeFull has quit (Quit: I'll be back later).
13:17:07 <int-e> hmm, pinging... 73 packets transmitted, 4 received, 94% packet loss
13:18:43 <int-e> ah, back to normal, hopefully.
13:19:45 <int-e> And my ssh session to that host survived. TCP is so amazing.
13:22:16 -!- lambdabot has joined.
13:22:38 <b_jonas> int-e: I'm just why surprised this channel would attract people worth to ban
13:23:08 <b_jonas> I can understand why ##math would have many such people
13:24:32 <cluid> Abortion Pills for sale: call Dr Tiito 0738431146 Pain free abortion and same day service. We do womb cleaning. Safe work is guaranteed abortion. Safe and approved methods of abortion. We use approved abortion pills. 100% guaranteed and private, it’s legal. Call Dr Tiito at +27738431146 or email drtiito@yahoo.com
13:24:40 <cluid> https://archive.org/post/1027707/abortion-pills-call-0738431146-in-nelspruitsecunda
13:25:18 <elliott> just in case anyone here needed an abortion pill?
13:25:59 <elliott> b_jonas: it's more like five persistent people
13:31:58 -!- lambdabot has quit (Remote host closed the connection).
13:35:47 -!- lambdabot has joined.
13:36:40 -!- atslash has joined.
13:37:59 -!- lambdabot has quit (Remote host closed the connection).
13:41:36 <int-e> "Mitigating DDoS" says the ISP
13:42:18 -!- lambdabot has joined.
13:58:23 <J_Arcane_> http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html
14:09:40 -!- GeekDude has joined.
14:17:55 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
14:56:42 <elliott> J_Arcane_: the author of that wrote google's intercal style guide
14:56:51 <J_Arcane_> :D
14:56:54 <elliott> http://www.muppetlabs.com/~breadbox/ he's done a lot of esolang stuff
14:57:47 -!- ZombieAlive has quit (Remote host closed the connection).
14:59:28 -!- oerjan has joined.
15:00:58 <oerjan> and codu seems down again.
15:01:05 <oerjan> `echo hi
15:01:05 <HackEgo> hi
15:01:18 <oerjan> the logs, anyway
15:18:18 <oerjan> <abs{CrazyM4n}> wait... what I'm trying to prevent makes absolutely no sense <-- hm that's a little bit interesting that you don't need to care about other brackets to keep it matched when inserting a new pair
15:19:02 <oerjan> you just change what it matches, not whether
15:23:02 -!- MoALTz has quit (Quit: Leaving).
15:44:19 -!- drdanmaku has joined.
15:52:07 -!- fizzie has joined.
16:05:28 <cluid> hi
16:05:36 <elliott> hi
16:05:50 -!- nys has joined.
16:14:05 <int-e> lovely, my latest Collatz parity entry spews 21k lines on stderr, and produces a segfault for program termination.
16:15:34 <b_jonas> why is that lovely?
16:16:09 <int-e> because it's so fitting for anagol
16:16:48 <int-e> most of the time, clean programs don't win.
16:16:54 <b_jonas> ah
16:16:58 <b_jonas> it's a golf program
16:18:02 <int-e> yes. sorry, I should've mentioned 'anagol', can't expect everybody to be up to date on the list of active problems.
16:26:13 -!- GeekDude has joined.
16:41:33 -!- ais523 has joined.
17:22:49 -!- Sprocklem has joined.
17:23:58 -!- MoALTz has joined.
17:29:46 -!- atslash has quit (Quit: Leaving).
17:41:01 -!- Guest141519 has joined.
17:41:22 <Guest141519> ion: ? : elliott ..
17:41:33 * Guest141519 blows a kiss at elliott
17:41:37 <elliott> what the fuck
17:41:40 <elliott> you're ban evading today too?
17:41:48 <Guest141519> merry christmas elliott ilu
17:41:51 <elliott> is this cause elliott pointless work day
17:41:52 <Guest141519> :*
17:41:54 -!- fizzie has quit (Ping timeout: 265 seconds).
17:41:54 -!- ChanServ has set channel mode: +o elliott.
17:42:09 -!- elliott has set channel mode: +b *!*@tor.subspace.systems.
17:42:13 -!- elliott has kicked Guest141519 weirdo.
17:42:21 <elliott> that's probably a tor exit node isn't it
17:42:40 <elliott> whatever
17:42:43 <oerjan> you'd think
17:42:46 -!- elliott has set channel mode: -b *!*@tor.subspace.systems.
17:43:06 <elliott> secret tech: IRC from a subdomain tor.yourdomain.com so nobody tries to ban you effectively
17:43:59 <elliott> seriously though, two ban evaders after hiatuses of months in here in one day... what's going on @_@
17:44:23 <oerjan> um you're sure that wasn't just hagb4rd again
17:45:11 <elliott> oerjan: no, the guy who came in to be a weirdo and lick ion was a repeat ban evader, remember?
17:45:18 <elliott> they didn't act like hag4brd. and they, like, had their own server and stuff
17:45:21 <oerjan> ok
17:45:41 <elliott> after getting banned once they got their "friend" (them) to come in and be very obvious about it and demanding and explanation for why we banned them. it was surreal
17:45:44 <oerjan> maybe it's christmas trolling day
17:45:57 <elliott> maybe they're coordinating in #esoteric-banned-people
17:46:18 -!- elliott has set channel mode: -o elliott.
17:46:36 <elliott> anyway anyone who wants to kiss me has to get in line
17:47:20 <oerjan> how many hours is the expected waiting time
17:48:39 <elliott> depends who's asking.
17:48:45 <oerjan> i'm not sure a strict fifo policy is sustainable.
17:49:36 <oerjan> maybe it's not that kind of line, more an audition thing.
17:49:43 <oerjan> like, catwalk.
17:50:10 <elliott> are you asking for yourself or for a friend :P
17:50:23 <oerjan> no one. i don't think you're my type alas.
17:50:34 <elliott> I'm devastated
17:52:04 <oerjan> a terrible tragedy
17:53:17 -!- ski has quit (Remote host closed the connection).
17:55:31 <ais523> elliott: who was Guest141519?
17:55:49 <elliott> ais523: "that person who likes licking ion and me and who whasn't been around for a very long time"
17:55:59 <elliott> two repeat ban evaders in one day o_O
17:56:22 <ais523> I take it the other one was Dulnes?
17:56:36 <elliott> no, hagb4rd
17:56:40 <elliott> dulnes hasn't actually been banned :p
17:57:10 <ais523> right
17:57:44 <boily> btw, where's ion?
17:58:08 <elliott> oh, wow, they're so dedicated they didn't even bother checking he was here
17:59:47 -!- CrazyM4n has joined.
18:00:46 <oerjan> someone deionized the channel
18:06:40 <HackEgo> [wiki] [[Simplefunge]] M http://esolangs.org/w/index.php?diff=41458&oldid=41450 * CrazyM4n * (-1)
18:10:55 -!- oerjan has quit (Quit: deoerjanizing channel).
18:17:11 -!- fizzie has joined.
18:24:40 -!- Decensum|Zzz has joined.
18:37:09 -!- ski has joined.
18:38:50 -!- FreeFull has joined.
18:57:30 -!- glguy_ has joined.
19:22:39 -!- CrazyM4n has quit (Quit: Leaving).
19:28:55 <int-e> disoerjanized, hmm.
19:33:30 -!- Sprocklem has quit (Ping timeout: 250 seconds).
19:34:26 <int-e> I'd lament the resulting chaos, but I can't think of a good way to misspell it.
19:37:13 <cluid> hello
19:37:47 <int-e> greetings
19:37:51 <boily> salutations.
19:39:00 <int-e> incongruencies
19:40:02 <cluid> whats up
19:40:21 * int-e flips a coin.
19:40:27 <int-e> tails, apparently.
19:50:15 -!- boily has quit (Quit: EVASIVE CHICKEN).
20:05:45 -!- CrazyM4n has joined.
20:07:41 <HackEgo> [wiki] [[Special:Log/upload]] upload * Tastyfish * uploaded "[[File:Flow chart hello world 2.png]]": more sophisticated hello world in flow_chart
20:12:48 <HackEgo> [wiki] [[Flow chart]] http://esolangs.org/w/index.php?diff=41460&oldid=40591 * Tastyfish * (+140) hello world, external resources
20:15:03 <cluid> cool idea
20:16:45 <zzo38> What kind of cool idea?
20:17:34 <cluid> http://esolangs.org/w/index.php?diff=41460&oldid=40591 this language
20:20:19 <HackEgo> [wiki] [[Treehugger/Implementation]] http://esolangs.org/w/index.php?diff=41461&oldid=41437 * Zzo38 * (+225) Make the program to be possible to compile without having to remove the <code> and </code> tags
20:21:10 <cluid> thanks for the edit zzo38
20:22:22 <myname> is there any nice way to read a text file in an array of arrays in haskell?
20:23:36 <zzo38> myname: Can you show the example of what you are trying to make?
20:23:58 -!- cluid has quit (Remote host closed the connection).
20:24:36 <myname> i want to have a rail programm in memory with O(1) access to the neighbors of a given position
20:25:17 <myname> i don't really have any experience with arrays in haskell at all :(
20:41:05 -!- Decensum|Zzz has quit (Quit: Connection closed for inactivity).
20:45:28 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
21:09:08 -!- boily has joined.
21:10:08 -!- ais523 has quit.
21:10:15 -!- callforjudgement has joined.
21:23:39 <oren> what the heck? a line of minus signs is necessary for compiling the program? why?
21:24:52 <callforjudgement> in one of my languages, I did something like that so that the compiler could figure out the width of the program in advance
21:25:33 <oren> ohhhh.... that is actually quite clever... it's unobtrusive cause it jus t looks like formatting
21:34:14 -!- PinealGland has quit (Quit: leaving).
21:34:32 -!- Patashu has joined.
21:37:10 -!- yonkie has joined.
21:37:27 -!- yonkie has quit (Client Quit).
21:38:03 -!- yonkie has joined.
21:39:00 -!- yonkie has quit (Client Quit).
21:39:21 -!- yonkie has joined.
21:45:57 -!- dorei has joined.
21:50:21 -!- yonkie has quit (Quit: leaving).
21:50:25 -!- roasted42 has joined.
21:50:39 -!- roasted42 has quit (Changing host).
21:50:39 -!- roasted42 has joined.
21:50:39 -!- roasted42 has changed nick to TheM4ch1n3.
21:50:43 -!- yonkie has joined.
21:52:28 <TheM4ch1n3> Operate through good karma, then save souls (invert sins Hate -> Love, Cursing -> Blessing) - the more you do it, the more you will become God
21:52:53 <callforjudgement> `welcome TheM4ch1n3
21:52:54 <HackEgo> TheM4ch1n3: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
21:53:08 <TheM4ch1n3> callforjudgement: hi :-)
21:53:53 <dorei> is there other kind of esoterica? :o
21:55:19 <callforjudgement> yes, this channel's about programming languages
21:55:44 <callforjudgement> the other sort, I'm not enough of an expert on to describe it in a way that's not horrendously inaccurate
21:56:08 <TheM4ch1n3> the other sort, do you mean perl ?
21:56:19 <TheM4ch1n3> or python ?
21:57:07 <callforjudgement> no, the other sort of esoterica
21:57:19 <callforjudgement> perl/python are non-esoteric programming languages
21:57:56 <callforjudgement> (admittedly some people seem to disagree wrt Perl, and I know some people write in eso subsets of Python, but Perl/Python's status as non-eso shouldn't really be in doubt)
21:58:02 <TheM4ch1n3> ok, and God is "The Son of God" (young) - "The Eternal" (old)
21:58:22 <b_jonas> yeah, python's at least
21:58:23 <callforjudgement> anyway, TheM4ch1n3, my point is that I think you might have the wrong channel
21:58:54 -!- MoALTz_ has joined.
21:59:20 <TheM4ch1n3> callforjudgement: I dont think so, I am a programmer
21:59:20 <b_jonas> but of course we talk about esoteric uses of non-esoteric languages here too
21:59:41 <b_jonas> or at least I try to
22:00:26 <TheM4ch1n3> is it ok then, to paste gcc error messages then ?? *joke*
22:01:21 <callforjudgement> TheM4ch1n3: did you know that g++ error messages, at least, are Turing-complete?
22:01:24 <callforjudgement> not sure about gcc for C
22:01:50 <dorei> is there a name for the non-esoteric languages group other than 'non-esoteric'?
22:02:03 -!- MoALTz has quit (Ping timeout: 260 seconds).
22:02:20 <TheM4ch1n3> callforjudgement: well in gdb I am getting -> "0x00007ffff5b1bc95 in XFilterEvent () from /usr/lib64/libX11.so.6" - but I think I am getting memory corruption from somewhere, I may just need to use a malloc() replacement
22:02:24 <b_jonas> dorei: that would be like a name for non-luxury cars or non-investment wines
22:02:28 <mitchs_> intercal error messages are great
22:02:33 <callforjudgement> mitchs_: thanks, I wrote some of them
22:02:57 <callforjudgement> dorei: the 99 bottles of beer website uses "real languages" but I don't like that name
22:03:02 <callforjudgement> strangely enough, it counts asms as non-real
22:03:06 <b_jonas> callforjudgement: as for error messages, have you seen http://www.perlmonks.com/?node_id=1077569 about perl error quines?
22:03:15 <callforjudgement> site's divided into real languages, assembly languages, esoteric languages
22:03:22 <callforjudgement> b_jonas: the general term is "Kimian quines", I think
22:03:46 <b_jonas> callforjudgement: ok. I haven't heared that name, though I think I heared the concept
22:03:57 <TheM4ch1n3> callforjudgement: I used to have interest in assembler, now I let my compiler spit out some assembly and go from there if needed (most often never needed)
22:08:20 -!- TheM4ch1n3 has quit (Ping timeout: 245 seconds).
22:08:47 <callforjudgement> o
22:08:52 -!- callforjudgement has changed nick to ais523.
22:09:58 -!- roasted42 has joined.
22:10:06 -!- oren has quit (Quit: leaving).
22:12:11 -!- callforjudgement has joined.
22:13:02 -!- roasted42 has quit (Changing host).
22:13:03 -!- roasted42 has joined.
22:13:03 -!- roasted42 has changed nick to TheM4ch1n3.
22:14:18 <zzo38> I did not know that g++ error messages are Turing-complete; do you have example?
22:15:14 -!- ais523 has quit (Ping timeout: 258 seconds).
22:15:19 -!- callforjudgement has changed nick to ais523.
22:16:19 -!- GeekDude has joined.
22:16:36 <TheM4ch1n3> callforjudgement: well in gdb I am getting -> "0x00007ffff5b1bc95 in XFilterEvent () from /usr/lib64/libX11.so.6" - but I think I am getting memory corruption from somewhere, I may just need to use a malloc() replacement
22:17:39 -!- ais523 has quit (Read error: Connection reset by peer).
22:17:45 -!- callforjudgement has joined.
22:18:01 <callforjudgement> zzo38: basically you just do template metaprogramming and produce a compile-time error in one of the branches
22:18:11 <callforjudgement> TheM4ch1n3: you said that earlier, but withotu context, it's hard to react to it
22:18:14 -!- callforjudgement has changed nick to ais523.
22:19:10 <TheM4ch1n3> ais523: oh, I have been having frequent un-explainable memory problems - I may have to just use a malloc() that can detect bad usage, otherwise I will use valgrind or such
22:19:39 <ais523> have you tried memcheck, to make sure the RAM itself isn't defective?
22:20:29 <TheM4ch1n3> ais523: the ram itself is perfect, it is a minecraft clone I am working on, at present it is just a block binary occluder system, so it will not be limited to blocks in the future
22:21:13 <ais523> anyway, you want something like valgrind or msan for detecting bad usage
22:21:39 <ais523> a debugging malloc isn't that useful for catching memory errors, because many classes of memory errors don't touch anything malloc can see
22:21:42 <TheM4ch1n3> msan - sounds interesting - first time I am hearing about it - but yeah
22:24:05 <TheM4ch1n3> ais523: what is msan ?
22:24:24 <ais523> memory sanitizer, it's an experimental feature in one of the commonly used compilers
22:24:28 <ais523> can't remember whether it's clang or gcc
22:25:17 <TheM4ch1n3> well, I think I am having memory over-runs (write beyond allocated ram)
22:25:43 <int-e> http://clang.llvm.org/docs/MemorySanitizer.html
22:26:28 <ais523> TheM4ch1n3: heap or stack?
22:29:52 -!- TheM4ch1n3 has quit (Ping timeout: 250 seconds).
22:29:58 <ais523> or mmap? (there are three places to allocate memory nowadays)
22:31:31 -!- roasted42 has joined.
22:37:32 -!- roasted42 has left ("lag makes my client reconnect too much").
22:59:27 -!- callforjudgement has joined.
22:59:44 -!- MoALTz_ has quit (Quit: Leaving).
23:03:27 -!- callforjudgement has quit (Client Quit).
23:03:40 -!- ais523 has quit (Ping timeout: 250 seconds).
23:04:57 -!- Patashu has quit (Remote host closed the connection).
23:05:39 -!- Patashu has joined.
23:19:14 -!- glguy_ has quit (Quit: Quit).
23:20:36 -!- oerjan has joined.
23:22:21 <oerjan> boily: do you choose your chicken adjectives scripted or manually twh
23:22:36 <boily> manually, according to my current whim hth
23:22:48 <oerjan> ooh
23:28:03 <shachaf> boily: does that stand for would help if mentioned whim
23:29:27 <HackEgo> [wiki] [[Treehugger/Implementation]] http://esolangs.org/w/index.php?diff=41462&oldid=41461 * Oerjan * (-240) This is all very well but I cannot see anything requiring the code tags at all
23:31:55 <oerjan> zzo38: there *could* be something i've missed that is interpreted as formatting, but i cannot find anything.
23:32:35 <zzo38> oerjan: What one is that?
23:33:22 <oerjan> zzo38: the one you added .lhs formatting to to hide the <code> tags; afaict it works as plain .hs if you simply remove them instead.
23:33:49 <oerjan> (see HackEgo's announcement)
23:34:33 <zzo38> I didn't try that because I thought it might mess up the formatting
23:35:05 <oerjan> there are _some_ things that get interpreted inside an indented code block iirc, but they're rare.
23:36:02 <zzo38> I looked at your edit and it looks like it isn't messing it up so probably it is OK.
23:46:05 -!- shachaf has quit (Ping timeout: 258 seconds).
23:56:42 -!- dorei has quit.
23:56:51 -!- shachaf has joined.
23:58:59 -!- shachaf has quit (Client Quit).
2014-12-14
00:02:20 -!- glguy has joined.
00:08:44 -!- shachaf has joined.
00:27:15 <boily> shachaf: it may htph
00:27:29 -!- adu has joined.
00:28:25 -!- CrazyM4n has quit (Remote host closed the connection).
00:47:43 * Sgeo wants a lossy compression algorithm for MIDIs that makes artifacts that sound like humans messing up sheet music
00:49:17 <olsner> maybe gzip plus a random seed that controls the messing up part
00:51:13 <zzo38> I wanted a lossless compression algorithm for MIDIs that results in better compression ratios for music without a lot of dissonant chords and stuff
00:54:52 <Jafet> You could use a corpus of midi fragments, then lost sounds get filled in using the ones in the corpus
01:08:02 <zzo38> Do you think one use of Magic: the Gathering cards "One With Nothing" might be you can play madness card even during opponent's turn? It probably can have other uses too
01:12:20 -!- Patashu_ has joined.
01:12:20 -!- Patashu has quit (Disconnected by services).
01:21:06 -!- adu has quit (Quit: adu).
01:39:11 -!- glguy has quit (Quit: Part).
01:45:05 -!- Daniel has joined.
01:45:30 -!- Daniel has changed nick to Guest48264.
01:47:32 -!- adu has joined.
02:10:29 <Guest48264> anybody talk?
02:10:58 <shachaf> `welcome Guest48264
02:10:59 <HackEgo> Guest48264: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
02:12:21 -!- Guest48264 has quit (Quit: irc2go).
02:18:49 -!- Patashu has joined.
02:20:57 -!- Patashu_ has quit (Ping timeout: 244 seconds).
02:31:34 -!- madbr has joined.
02:32:20 <madbr> Q:
02:32:20 <madbr> is there a scripting language (as in, easy to load up and interpret from C++) that has few dynamic structures, no garbage collection and does little dynamic allocation?
02:32:30 <madbr> lua for instance is easy to load and interpret (the library is nice) but it's all dynamic typed and garbage collector and you have no guarantees that it won't do a whole bunch of calls to malloc
02:35:25 <madbr> basically it has to run <0.5ms 100% of the time (it will typically run a callback every 2ms or so, and this absolutely has to be over before the next callback)
02:35:34 <madbr> on windows and OSX
02:35:50 <boily> some Scheme variant, perhaps?
02:36:08 <madbr> it cannot block for 10ms every 5 minutes while the garbage collector runs
02:36:28 <madbr> that is actually not acceptable for my application (pro audio)
02:38:23 <madbr> boily : I'm not familiar with scheme but isn't that all dynamic typed?
02:38:47 <madbr> also it's functional which will confuse the users
02:40:44 <boily> well, scheme's dynamically typed, but then as syntax goes it's very, very simple.
02:41:29 <boily> there's also Forth, but it may confuse users too but in an entirely new way.
02:41:46 <madbr> If I wanted dynamic typed, that I'd go for lua
02:42:47 <madbr> forth is actually closer... it's crazy but it's also all static and you know you're not going to allocate memory by doing, say, an addition
02:43:10 <boily> yeah. I mentioned Forth because memory allocation is quite straightforward.
02:43:35 <boily> off the top of my head, I can't remember any statically typed scripting languages...
02:44:00 <boily> (well, there's Beanshell, but it's a heavyweight abomination on top of the JVM.)
02:44:01 <madbr> the one that I know of is Jesusonic
02:44:02 <madbr> http://www.cockos.com/jesusonic/
02:44:11 <madbr> no jvm
02:45:08 -!- oren has joined.
02:45:20 <madbr> like, it probably doesn't even have to have MAPS
02:45:23 <madbr> or booleans
02:45:35 <madbr> or integers
02:46:08 -!- adu has quit (Quit: adu).
02:46:52 <madbr> or even functions actually
02:48:56 <boily> is the effort of whipping out a custom DSL too much?
02:49:51 <madbr> what's a "DSL"?
02:50:07 <oren> with scrip7 you can allocate all your memory once
02:50:08 <boily> Domain Specific Language.
02:50:20 <madbr> hmm
02:50:23 <oren> but that isn't stable yet
02:50:33 <madbr> well, I'm already thinking of that yeah
02:50:53 <oren> (then again you could just customize the interpreter yourself...)
02:51:04 <madbr> but normally you don't do that (you just use lua)
02:51:20 -!- madbr has quit (Quit: Pics or it didn't happen).
02:51:49 <oren> Pix | it dint hpn
02:52:00 -!- madbr has joined.
02:52:05 <madbr> wops
02:52:42 <boily> IMO, I don't like lua. too much hassle.
02:52:52 <Jafet> I think opencl technically fits those requirements
02:53:00 <oren> that is true!
02:53:11 <oren> technically....
02:53:52 <madbr> jafet: hmm
02:54:16 <madbr> would have to be run on a 1x1 pixel load :D
02:58:56 <madbr> boily : the kind of end users I have are 10x more likely to learn lua than scheme
03:01:28 <boily> so it goes.
03:02:03 <boily> 'night all!
03:02:08 -!- boily has quit (Quit: AUTOMORPHIC CHICKEN).
03:02:14 <Jafet> A subset of scheme that never allocates memory
03:04:54 <madbr> a lot of successful language for sound generation are data-flow languages and are graphical
03:06:48 <zzo38> madbr: I read above and it looks like a Forth-based system can do without garbage collector and all various stuff
03:07:56 <madbr> yes¸
03:09:10 <madbr> the problem is of course that you have to spend a few days jungling in your head with the concept of a stack and how it works, how to use it etc
03:09:51 <zzo38> It look to me not too difficult really.
03:10:17 <oerjan> alas i hear higher-order functions are really hard to do without GC
03:10:57 <madbr> higher-order functions don't really help with the doman specific applications
03:11:24 -!- Azazel_ has joined.
03:11:40 <oerjan> i mean that the scheme subset would not be a very functional one
03:11:43 <madbr> like, it pretty much ok if this only has floats, arrays of floats, and nothing else
03:12:35 <Azazel_> Hi
03:12:51 <oerjan> `welcome Azazel_
03:12:51 <HackEgo> Azazel_: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
03:16:49 <zzo38> Are you sure, float and array of float are all that you should need?
03:17:33 <madbr> possibly string eventually
03:17:43 <Jafet> Lower-order functions
03:18:34 <madbr> maybe array of string, objects, maps if it really has to expand and go there
03:20:00 <madbr> maybe integers if it has to be more performant (for non-interpolated lookup table lookups)
03:20:27 <zzo38> I know for audio stuff I happen to like Csound, although I have never used it for realtime stuff; on a fast computer it would probably work though. Csound doesn't have an integer type; it does have floats, arrays of floats, and strings.
03:21:02 <zzo38> Although Csound isn't am embeddable scripting language very well.
03:21:24 <madbr> right
03:21:34 <madbr> which is why I mentionned jesusonic
03:21:55 <madbr> which is similar (C-based) but is more embeddable
03:25:09 -!- Azazel_ has quit (Quit: Page closed).
03:25:35 <zzo38> Then see if Jesusonic is good for what you are making
03:26:12 <oren> AHA!!! I have figured out how to make the loops in scrip7 fast.
03:27:32 <oren> I will use normal pranthesis matching the FIRST iteration, but CACHE the results in two HASH TABLES using the address of the start and end as keys!
03:27:56 -!- CrazyM4n has joined.
03:28:06 <madbr> :o :P
03:28:15 <oerjan> prana thesis, the esoteric bracketing system
03:28:44 <oren> it is actually esoteric considering in scrip7 { matches with )
03:28:49 <oren> or }
03:29:17 <oerjan> it's however no match for pantheists
03:29:49 -!- oren has changed nick to |{oren}|.
03:30:41 <madbr> { match to ) disurbs me :3
03:30:48 <oerjan> øæorenåø
03:30:49 <|{oren}|> this idea of caheing the result of paren matching can also be used in brainfuck interpreters
03:30:55 <madbr> it's like some OCD part in me goes NO
03:30:57 <zzo38> It is strange for sure, but maybe it can help sometimes?
03:31:37 <|{oren}|> well essentially scrip7 treats all brackets identically
03:31:49 <oerjan> madbr: calm down and go learn some fueue
03:31:51 <|{oren}|> {[(}])
03:32:04 <|{oren}|> [[[)})
03:32:31 <oerjan> madbr: what do you think of half-open intervals hth
03:32:59 <zzo38> If it does a different thing at the beginning and at the end, then maybe it can use different brackets, in case it is also possible to mean same thing with same brackets.
03:33:14 <madbr> a range from 0 to 4 contains 0,1,2,3 and NOT 4
03:33:16 <zzo38> It might be sensible in such. Half-open intervals may be one case I suppose.
03:33:42 <|{oren}|> actually i might change that.
03:33:55 <oerjan> madbr: but does it contain pi hth
03:33:58 <madbr> which i guess is traditionally notated [0, 4[
03:34:10 <|{oren}|> Oh i have it: [ and ] are brackets that only match, but never jump
03:34:26 <oerjan> [ ?
03:34:45 <oerjan> real mathematicians use [0, 4) hth
03:34:56 <madbr> oh
03:34:57 -!- azazel_ has joined.
03:35:05 <zzo38> |{oren}|: Yes, that is the idea like how I have suggestion actually; [ ] can be match and not jump, and then { } can be jump, and ( ) have another meaning (such as a different condition jump), etc, maybe is one way?
03:35:16 <madbr> but then real matematicians use indexes 1..N in indexes etc
03:35:33 <oerjan> madbr: that actually depends on mathematics branch
03:36:09 <azazel_> Hi
03:36:09 <|{oren}|> () are stupid anyway being all round. i will simply ignore them for now
03:36:49 <azazel_> Oh I see it works now I wonder if I switch phones my name will change
03:36:56 <azazel_> Bbl
03:36:56 <|{oren}|> hi azazel
03:37:14 <CrazyM4n> oren, what's up with the symbols
03:37:37 <|{oren}|> in my font | is a heart
03:38:00 <|{oren}|> for hysterical rwasons |\{}[] are allowed in names
03:38:07 -!- kcm1700 has joined.
03:38:41 -!- |{oren}| has changed nick to |oren\.
03:38:52 <|oren\> here now i have a yen sign in my name
03:39:13 -!- kcm1700_ has quit (Remote host closed the connection).
03:39:13 -!- Froox has joined.
03:39:14 <madbr> oerjan : ah
03:39:14 <madbr> tbh I'm not that familiar with academia etc
03:39:14 <madbr> moved on to other things a couple years ago ;)
03:39:42 <zzo38> OK fine
03:39:42 <zzo38> Isn't it like, a range, or it is indexed it is a bit of a different use?
03:40:30 <zzo38> Well, it will be a yen sign in a Japanese encoding anyways
03:41:02 -!- Frooxius has quit (Ping timeout: 244 seconds).
03:41:03 -!- Sgeo has quit (Ping timeout: 244 seconds).
03:41:09 <zzo38> Not in a standard ASCII encoding, but, the keyboard of Famicom is using the yen sign in place of backslash too
03:41:18 -!- Sgeo has joined.
03:41:29 <|oren\> zzo38: even japanese unicode fonts have a yen sign
03:41:44 <zzo38> Do you like stuff I have in my userspace in All The Tropes? If I wrote lies in there then please to fix it
03:42:32 <zzo38> |oren\: Yes, although it won't be the proper Unicode encoding; the proper Unicode number for yen sign is different from the backslash number (so it is in many encodings, but in ISO 646 it is the same encoding as the backslash and yen sign)
03:43:33 <|oren\> i think japanese people got used to separating their file paths with yen signs...
03:44:04 <|oren\> C:\Documents\Untitled.doc
03:44:05 <zzo38> Well, on Windows anyways; on UNIX you don't need to do that.
03:44:27 <|oren\> but on unix you escape your characters with yen signs...
03:44:43 <zzo38> Yes, it has that purpose instead then on UNIX.
03:45:28 -!- Tod-Autojoined has joined.
03:46:38 <|oren\> in the anime serial experiments lain, you see C code on the board in school. it has yensign-n as newline.
03:46:49 -!- Froo has joined.
03:47:44 <zzo38> I didn't see that one.
03:47:48 <zzo38> OK, though
03:48:29 <zzo38> But I just think that it shouldn't lie about the character encoding
03:48:44 -!- lambdabot has quit (Ping timeout: 240 seconds).
03:48:44 -!- olsner has quit (Ping timeout: 240 seconds).
03:48:44 -!- Lymia has quit (Ping timeout: 240 seconds).
03:48:44 -!- TodPunk has quit (Ping timeout: 240 seconds).
03:48:44 -!- aloril_ has quit (Ping timeout: 240 seconds).
03:48:53 -!- oerjan has quit (Quit: leaving).
03:48:55 -!- Froox has quit (Ping timeout: 240 seconds).
03:48:56 -!- yiyus has quit (Ping timeout: 240 seconds).
03:50:12 <|oren\> http://ctrlv.in/473620
03:50:16 -!- KingOfKarlsruhe has quit (Ping timeout: 240 seconds).
03:50:16 -!- Gregor has quit (Ping timeout: 240 seconds).
03:52:26 <|oren\> there, screenshot. so i think japanese programmers aure used to yensign as escape char, as we are used to backslash
03:54:25 -!- lambdabot has joined.
03:54:35 -!- olsner has joined.
03:54:40 <madbr> still better than ebcdic
03:55:17 -!- KingOfKarlsruhe has joined.
03:55:37 -!- Gregor has joined.
04:01:46 -!- Lymia has joined.
04:02:59 -!- aloril_ has joined.
04:04:48 -!- yiyus has joined.
04:25:51 -!- Sgeo has changed nick to wtf8.
04:25:58 * wtf8 best encoding
04:26:26 <wtf8> I.. uh.. wat... https://www.npmjs.com/package/wtf8
04:27:24 <CrazyM4n> Why does that have to exist
04:27:31 <CrazyM4n> Why does node.js have to exist
04:27:44 <madbr> because the real world is complicated
04:28:22 <wtf8> http://simonsapin.github.io/wtf-8/ is the WTF-8 I intended to reference with this nick
04:29:29 <CrazyM4n> Do people actually use node.js in production environments?
04:29:42 <wtf8> TagPro is built on node.js
04:29:50 <wtf8> And I am a tagpro addict, even though I suck at it
04:31:30 <CrazyM4n> really?
04:31:38 <CrazyM4n> But isn't it distributed across a bunch of servers
04:36:27 -!- CrazyM4n has quit (Quit: Leaving).
04:37:12 <|oren\> Node.js exists because some sick personwanted to write MORE Javascript.
04:38:01 -!- nys has quit (Quit: quit).
04:49:19 <wtf8> https://blog.nelhage.com/2012/03/why-node-js-is-cool/
04:54:20 <|oren\> a pity such a nice idea was wasted by using Javascript as its basis, as opposed to something with a good syntax.
04:54:51 <shachaf> http://slbkbs.org/serp.html now supports backspace
04:56:19 <|oren\> still buggy. i deleted the whole searh and it retained the first character
04:56:29 <wtf8> shachaf: what's that?
04:56:31 <shachaf> Yes, there's no way to detect that.
04:56:41 <wtf8> I get a blank screen
04:56:43 <shachaf> But if you start typing something new it'll detect it.
04:56:50 <shachaf> Ctrl-F and search for something.
04:56:55 <|oren\> if you ctrl f it writes whate you search for
04:57:00 <wtf8> Woah
05:01:36 <zzo38> I found that in Haskell it is possible to use unsafeCoerce to interpret the bits making up a Float into Int32 and vice-versa, so this could be used to store floating point numbers into a file, for example.
05:02:37 <wtf8> That conversion doesn't need to be done to do so, unless you only ever print displayed representations to file
05:02:49 <zzo38> |oren\: JavaScript is mostly not bad, really. It does have a few problems; one is implicit semicolons and another is having to write the word "function" rather than be able to use a shortcut such as "@(x)(x)" rather than "function(x)(x)" for example.
05:03:02 <wtf8> But it's fun to add one to the bit representation to get the next float. The float standard was specifically designed to allow for that
05:03:42 <wtf8> shachaf: in-browser SEO!
05:04:24 <zzo38> wtf8: How is that conversion doesn't need to be done?
05:05:00 <wtf8> You could just write the bytes to file. That's allowed
05:05:20 <wtf8> Oh, not really thinking in HAskell terms ltely
05:05:23 <wtf8> lately
05:05:24 <zzo38> Does Haskell have a command to do that?
05:05:35 * wtf8 blames Rust
05:08:13 <zzo38> I also suppose it will not work if the processor doesn't use 32-bit IEEE floating point, or if it doesn't use the same endianness for floating point as integers.
05:12:30 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:18:35 <|oren\> so tldr, Haskell allows *(*int)&x ?
05:19:28 <|oren\> that is extremely unusual for such an abstract language
05:24:19 -!- mihow_ has joined.
05:26:36 -!- Patashu has quit (Disconnected by services).
05:26:36 -!- Patashu_ has joined.
05:27:42 <azazel_> Hi
05:28:11 <azazel_> I wish it wasnt this name sigh
05:28:40 <azazel_> You guys talking about haskell?!
05:28:49 <|oren\> yep
05:29:29 <azazel_> Yay im new to haskell so ill just watch.
05:29:52 <shachaf> haskell more like hascow
05:30:23 <|oren\> shachaf: has cow or ha scow
05:31:40 <|oren\> what is a scow anyway? i seem to recall it is a word...
05:32:41 -!- yonkie_ has joined.
05:32:52 -!- diginet_ has joined.
05:33:12 -!- lambdabot has quit (*.net *.split).
05:33:12 -!- wtf8 has quit (*.net *.split).
05:33:12 -!- yonkie has quit (*.net *.split).
05:33:12 -!- mihow has quit (*.net *.split).
05:33:13 -!- diginet has quit (*.net *.split).
05:33:13 -!- paul2520 has quit (*.net *.split).
05:33:13 -!- Jafet has quit (*.net *.split).
05:33:13 -!- mroman has quit (*.net *.split).
05:33:16 -!- FireFly has quit (*.net *.split).
05:33:16 -!- qlkzy has quit (*.net *.split).
05:33:16 -!- digitalcold has quit (*.net *.split).
05:33:16 -!- clog has quit (*.net *.split).
05:33:16 -!- aloril_ has quit (*.net *.split).
05:33:16 -!- drdanmaku has quit (*.net *.split).
05:33:16 -!- zzo38 has quit (*.net *.split).
05:33:16 -!- coppro has quit (*.net *.split).
05:33:16 -!- dts|pokeball has quit (*.net *.split).
05:33:16 -!- J_Arcane_ has quit (*.net *.split).
05:33:16 -!- hjulle has quit (*.net *.split).
05:33:16 -!- trn has quit (*.net *.split).
05:33:16 -!- skarn has quit (*.net *.split).
05:33:16 -!- pikhq has quit (*.net *.split).
05:33:16 -!- incomprehensibly has quit (*.net *.split).
05:33:16 -!- newsham has quit (*.net *.split).
05:33:16 -!- Froo has quit (*.net *.split).
05:33:16 -!- madbr has quit (*.net *.split).
05:33:16 -!- atehwa has quit (*.net *.split).
05:33:17 -!- Vorpal has quit (*.net *.split).
05:33:17 -!- relrod has quit (*.net *.split).
05:33:17 -!- jameseb has quit (*.net *.split).
05:33:17 -!- variable has quit (*.net *.split).
05:33:17 -!- myndzi has quit (*.net *.split).
05:33:18 -!- mtve has quit (*.net *.split).
05:33:18 -!- mihow_ has changed nick to mihow.
05:33:39 -!- diginet_ has quit (Excess Flood).
05:34:02 -!- diginet has joined.
05:34:22 -!- diginet has quit (Remote host closed the connection).
05:34:27 -!- mroman has joined.
05:34:58 -!- diginet has joined.
05:35:53 -!- CrazyM4n has joined.
05:38:43 -!- lambdabot has joined.
05:40:17 -!- digitalc1ld has joined.
05:40:18 -!- Froo has joined.
05:40:18 -!- madbr has joined.
05:40:18 -!- atehwa has joined.
05:40:18 -!- Vorpal has joined.
05:40:18 -!- relrod has joined.
05:40:18 -!- myndzi has joined.
05:40:18 -!- jameseb has joined.
05:40:18 -!- variable has joined.
05:40:18 -!- mtve has joined.
05:41:52 <|oren\> o_O suddenly eight people join in one minute?
05:43:14 -!- FireFly has joined.
05:49:32 -!- aloril_ has joined.
05:49:34 -!- drdanmaku has joined.
05:49:34 -!- zzo38 has joined.
05:49:34 -!- coppro has joined.
05:49:34 -!- dts|pokeball has joined.
05:49:34 -!- J_Arcane_ has joined.
05:49:34 -!- hjulle has joined.
05:49:34 -!- trn has joined.
05:49:34 -!- skarn has joined.
05:49:34 -!- pikhq has joined.
05:49:34 -!- incomprehensibly has joined.
05:49:34 -!- newsham has joined.
05:49:47 -!- glguy has joined.
05:50:14 -!- skarn has quit (Max SendQ exceeded).
05:51:07 -!- skarn has joined.
05:52:04 <|oren\> codu is down
05:53:33 -!- Jafet has joined.
05:53:34 -!- qlkzy has joined.
05:53:58 -!- qlkzy_ has joined.
05:54:23 -!- Sgeo has joined.
05:54:26 -!- Patashu_ has quit (Ping timeout: 272 seconds).
05:56:40 -!- qlkzy has quit (Ping timeout: 244 seconds).
05:58:47 -!- paul2520 has joined.
06:00:27 -!- paul2520 has quit (*.net *.split).
06:00:29 -!- Sgeo has quit (*.net *.split).
06:00:29 -!- skarn has quit (*.net *.split).
06:00:30 -!- aloril_ has quit (*.net *.split).
06:00:30 -!- drdanmaku has quit (*.net *.split).
06:00:30 -!- zzo38 has quit (*.net *.split).
06:00:30 -!- coppro has quit (*.net *.split).
06:00:30 -!- dts|pokeball has quit (*.net *.split).
06:00:30 -!- J_Arcane_ has quit (*.net *.split).
06:00:30 -!- hjulle has quit (*.net *.split).
06:00:30 -!- trn has quit (*.net *.split).
06:00:30 -!- pikhq has quit (*.net *.split).
06:00:30 -!- incomprehensibly has quit (*.net *.split).
06:00:30 -!- newsham has quit (*.net *.split).
06:01:33 -!- |oren\ has quit (Quit: leaving).
06:01:51 -!- paul2520 has joined.
06:01:51 -!- Sgeo has joined.
06:01:51 -!- skarn has joined.
06:01:51 -!- aloril_ has joined.
06:01:51 -!- drdanmaku has joined.
06:01:51 -!- zzo38 has joined.
06:01:51 -!- coppro has joined.
06:01:51 -!- dts|pokeball has joined.
06:01:51 -!- J_Arcane_ has joined.
06:01:51 -!- hjulle has joined.
06:01:51 -!- trn has joined.
06:01:51 -!- pikhq has joined.
06:01:51 -!- incomprehensibly has joined.
06:01:51 -!- newsham has joined.
06:01:59 -!- oren has joined.
06:02:29 -!- skarn has quit (Max SendQ exceeded).
06:02:35 -!- Sgeo has quit (Max SendQ exceeded).
06:02:59 -!- Sgeo has joined.
06:03:08 -!- skarn has joined.
06:03:40 <CrazyM4n> Oh, freenode
06:04:29 <oren> i just quit and reconnected but the problems are still happening...
06:05:49 <CrazyM4n> Problems?
06:06:19 <oren> people quitting and joining en masse
06:07:30 <oren> hm.. i guess it has quieted down
06:09:34 -!- adu has joined.
06:11:15 -!- Tefaj has joined.
06:12:02 <CrazyM4n> Hm
06:12:10 <CrazyM4n> Freenode does this occasionally
06:12:29 <adu> does what?
06:12:37 <oren> meanwhile i'm trying to figure out why gcc doesn't complain about my code
06:12:53 <adu> oren: do you have -Wall ?
06:13:03 <oren> -Wall -Wextra
06:13:13 <adu> what code?
06:13:41 <CrazyM4n> Disconnects and reconnects people en masse
06:13:49 <oren> http://ctrlv.in/473644 this code
06:14:26 <oren> oh crap, look in the lower left for the code
06:14:31 <CrazyM4n> dat font
06:14:53 <adu> oren: can you you use a pastebin that supports text please?
06:15:55 <oren> http://pastebin.com/CnNbnMvv
06:15:57 <CrazyM4n> Try clang?
06:16:34 -!- Jafet has quit (*.net *.split).
06:16:57 <adu> oren: I don't see any issues with that code
06:17:19 <oren> the pointer casting is supposed to be unsafe or something
06:19:28 <oren> its supposed to "break strict-aliasing"
06:19:55 <adu> oren: I think you're confusing 3 things
06:20:30 <oren> ok what are they?
06:20:35 <adu> (1) unsafe (2) undefined behaviour (3) compiler warnings
06:21:27 <oren> ok... so is what i'm doing undefined or not?
06:21:39 <adu> I think your code probably uses UB, but it looks like dt gives a size bound for dp
06:22:58 <adu> lots of casting involves UB, any time you store data with one type and load it as a different type, that's UB
06:23:58 <adu> on the other hand, GCC usually gives lots of warnings if you don't cast, and if you do cast, then it doesn't give warnings
06:25:12 <oren> AHA: http://stackoverflow.com/questions/23848188/strict-aliasing-rule-and-char-pointers
06:25:29 <oren> char pointers are apparently special... that is handy.
06:25:55 <oren> (i guess they have to be, otherwise memcpy could not be defined behaviour)
06:26:13 <adu> void pointers are also special
06:26:27 -!- glguy has quit (Quit: Part).
06:26:41 <oren> but you can't do arithmetic on them...
06:29:05 <madbr> basically people use char * way to often to manipulate other data types
06:29:14 <madbr> that and file loading, memset, memcpy etc
06:29:24 <madbr> so it has to work
06:29:58 <madbr> incidentally I think llvm uses a different memory anti-aliasing scheme so it doesn't really care
06:29:59 -!- Tefaj has left.
06:30:20 <Sgeo> `qntmradate
06:30:20 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: qntmradate: not found
06:30:27 <madbr> note: I might well be wrong on this please do not write nuclear power plant code based on what I just said :o
06:30:28 <Sgeo> Finale!!
06:31:11 <oren> it aint nuclear power code, it's just an interpreter for scrip7, whihc i invented for videogame scripting
06:31:23 <oren> and debugging
06:31:35 <madbr> also I'm not sure how much anti-aliasing gains you on x86 anyways
06:32:29 <madbr> oh wait
06:32:41 <madbr> this is also different in c99 vs c++
06:35:11 -!- SopaXT has joined.
06:35:49 <elliott> llvm does do type-based alias analysis
06:35:54 <elliott> not sure whether gcc or clang are more aggressive
06:36:11 <CrazyM4n> So my random bf generator generated a program that produced this http://i.imgur.com/llJgd4M.png
06:36:16 <CrazyM4n> :?
06:36:57 <oren> every second ascii char?
06:37:10 <CrazyM4n> Yeah, seems like it
06:37:12 <oren> starting at 11
06:37:14 <CrazyM4n> Didn't realize at first
06:37:28 <CrazyM4n> But there's the weird stuff like || and [007f]~[007f]
06:37:51 <adu> "unsafe" generally means different things depending on whether you're talking about C/C++ or something else
06:38:03 <CrazyM4n> (character [007f] is what beef defaults to when you output a negative)
06:38:08 <CrazyM4n> it loops around
06:38:23 <madbr> adu : I thought it meant that the optimizer might do things that break it?
06:38:25 <CrazyM4n> A negative one, that is
06:38:59 <adu> in other languages the word "unsafe" is a synonym for C-pointers, in C the word "unsafe" means something a little more specific
06:39:03 <oren> madbr: yah that is what i am worried about, but apparently char* is special...
06:39:31 <SopaXT> Does something like FunctionFuck or ObjectFuck exist?
06:39:50 <adu> madbr: that's generally only in the context of multi-threaded code
06:39:52 <madbr> there aren't very many object oriented tarpits
06:39:57 <Taneb> SopaXT, have you seen Pure BF?
06:40:04 <madbr> though there are lots of functionnal ones
06:40:13 <SopaXT> yeah lol
06:40:19 <madbr> adu : multithreaded is a different issue
06:40:30 <SopaXT> still attempting to understand it!
06:41:02 <CrazyM4n> It's called brainfuck for a reason :P
06:41:16 <SopaXT> :D
06:41:17 <madbr> once multithreading comes into play a lot of stuff ends up with some crazy catches
06:41:38 <madbr> for instance, writing to a misaligned int is not atomic
06:41:45 <SopaXT> but i've liked to do something like syscalls in bf
06:41:58 <SopaXT> using stdlib-like
06:42:11 <CrazyM4n> Make your own bf interpreter?
06:42:39 <oren> and then just add functionality until you've made your own bf derivative
06:42:40 <SopaXT> alreadly done
06:42:52 <SopaXT> SopasFuck lol
06:42:59 <SopaXT> has functions
06:43:11 <SopaXT> and weird syntax
06:43:50 <CrazyM4n> http://esolangs.org/w/index.php?title=Sopasfuck&action=edit&redlink=1
06:43:54 <CrazyM4n> ?
06:44:15 <SopaXT> I don't want to officially create it
06:44:28 <SopaXT> there are a lot of them
06:44:40 <madbr> kinda wonder, if you made bf multi threaded, how many other things you could take out of it
06:44:44 <madbr> anyhow, sleep
06:44:46 -!- madbr has quit (Quit: Pics or it didn't happen).
06:46:00 <CrazyM4n> Are you making an interpreter alongside writing the specs SopaXT?
06:46:19 <SopaXT> it's alreadly done
06:46:32 <SopaXT> but I didn't publish it
06:46:47 <SopaXT> for example:
06:46:57 <SopaXT> {.,} # define a function
06:47:16 <SopaXT> +? # call it
06:47:27 <adu> isn't there a multithreaded variant of Befunge?
06:47:39 <SopaXT> functions are given numbers 1-.....
06:47:42 <CrazyM4n> brb making simplefunge multithreaded
06:47:46 <CrazyM4n> one thread per instruction ;)
06:48:15 <adu> lol
06:48:21 <SopaXT> lol
06:48:24 <adu> oh no what have I done?
06:48:36 <SopaXT> ?
06:49:00 <adu> I was always a big fan of Funge-98
06:49:04 <zzo38> I have some C program, for some reason if I specify the -d option without -i in a batch file, it crashes, but it works if I include -d and -i or if I run it directly from the command prompt.
06:49:26 <CrazyM4n> I wish I was good enough at befunge to say that I love it
06:49:30 <adu> zzo38: what's a batch file?
06:49:34 <CrazyM4n> It's uh... cool
06:49:35 <CrazyM4n> :P
06:50:01 <HackEgo> [wiki] [[StaPLe]] N http://esolangs.org/w/index.php?oldid=41463 * BCompton * (+5740) Created page with "'''StaPLe''' (''Sta''ck ''P''rocessing ''L''anguag''e'') is a stack-based programming language created by [[User:BCompton]] in 2014 influenced by Lisp and Joy, among others. ..."
06:50:11 <SopaXT> maybe named functions are better?
06:50:21 <zzo38> Well, actually it is a "Windows NT Command Script" and is not really a DOS batch file.
06:50:52 <CrazyM4n> Ooo, StaPLe is pretty cool
06:51:08 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41464&oldid=41426 * BCompton * (+13) /* S */
06:51:31 <zzo38> Trying to execute it in the debugger doesn't reveal the problem.
06:51:46 <zzo38> Also, it does the same regardless what optimization settings I put.
06:51:46 <SopaXT> show us your program?!
06:52:16 <zzo38> This is the program http://sprunge.us/HIaL
06:53:17 <J_Arcane_> wow. http://imgur.com/gallery/hRf2trV
06:53:47 <CrazyM4n> I wish I knew enough to do that
06:54:01 <J_Arcane_> I was actually working on some similar stuff as a kid.
06:54:38 <SopaXT> what is that abbreviature btw, in source code?
06:55:12 -!- Jafet has joined.
06:55:44 <zzo38> Does anyone know why my program is doing what it is doing?
06:56:33 <HackEgo> [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=41465&oldid=40751 * BCompton * (+330) StaPLe
06:56:37 <elliott> SopaXT: what is what?
06:56:48 <adu> zzo38: I don't know anything about Windows, I only know UNIX
06:57:34 <CrazyM4n> I only know my own operating system
06:57:37 <adu> zzo38: the last time I used Windows was in 1990
06:57:40 <CrazyM4n> /s
06:57:59 <adu> UNIX is so much better
06:58:07 <zzo38> Yes, UNIX is better
06:58:19 <oren> windows has a better API though
06:58:20 <zzo38> However I intend this program working both Windows and UNIX systems.
06:59:04 <adu> oren: you mean all those undocumented APIs that everybody uses even when they're not supposed to, then stupid users complain about everything not working when they upgrade
06:59:33 -!- SopaXT has quit (Read error: Connection reset by peer).
06:59:51 <oren> no, i mean HWND instead of stupid QT and TK.
07:00:28 <oren> opening a window on windows is as easy as opening a file
07:00:38 -!- SopaXT has joined.
07:00:43 <SopaXT> ARRR
07:01:35 <oren> on linux it is much harder, mostly because there are so many ways to do it and most of them don't work on all distros
07:01:36 <adu> oren: I have no idea what HWND is
07:01:56 <adu> oren: but I think that was one of the reasons why so many people have contributed to Wine
07:02:24 <CrazyM4n> arrr
07:02:37 <adu> Argh
07:02:56 <SopaXT> damn freaking irc client
07:02:59 <adu> oren: http://www.joelonsoftware.com/articles/APIWar.html
07:03:21 <SopaXT> so, what to do with my new functional bf
07:03:42 <SopaXT> and I see some problems in numbered functions
07:04:02 <CrazyM4n> hmm
07:04:15 <CrazyM4n> Write a BF interpreter in it
07:04:19 <adu> oren: I personally think the best API ever designed was the BeOS API
07:04:28 <SopaXT> logic!
07:04:55 <zzo38> I don't make a lot of GUI programs though, because non-GUI programs are generally better
07:05:04 <oren> http://en.wikibooks.org/wiki/Windows_Programming/Window_Creation#Creating_Windows <-- to create a window is one function call on windows. it is so easy!
07:05:47 <oren> most of those params can be nulled as well
07:05:50 <elliott> Tk is about as easy
07:05:57 <elliott> easier really
07:06:22 <oren> but Tk is only one of many windowing libraries
07:06:37 <oren> the Root windowing library is X and X sucks.
07:07:25 <adu> oren: there are plenty of alternatives to X
07:07:36 <elliott> X isn't really a toolkit...
07:08:07 <oren> having a plurality of windowing toolkits hinders development
07:08:24 <oren> thye should have made the X api better
07:08:35 <adu> GGI, DirectFB, SDL, Wayland, Fresco, etc.
07:08:55 <adu> oren: if you hate X so much, just use one of those
07:09:05 <zzo38> Do you like Athena widget kit? It should need more keyboard control probably other than that is good I think
07:09:10 <elliott> you could use Wayland. which leaves even more up to the toolkit.
07:09:38 <oren> i use SDL mostly except for games where i use Allegro 5.
07:10:04 <CrazyM4n> Windows is easy! I made a program to kill csrss.exe in like 15 lines and sent it to my friend
07:10:14 <CrazyM4n> Good times
07:10:14 <oren> although SDL is kind of sparse
07:10:26 <SopaXT> what is csrss.exe? #cantgoogle
07:10:33 <elliott> incidentally doesn't windows just stuff most of the gui crap into kernel-space
07:10:43 <elliott> kind of a design of questionable elegance
07:10:48 <CrazyM4n> I don't know
07:10:52 <zzo38> SDL 1.x isn't too bad
07:10:55 <oren> exactly that is what made it fast in old days
07:10:57 <CrazyM4n> Kinda like init
07:11:35 <elliott> oren: well, I mean, NT used to have it in user-space, I think, but then they moved it back in.
07:11:35 <oren> while X used to be slow as crap (or so says my dad who lived thru that time)
07:11:40 <elliott> I bet dave cutler wasn't happy about that.
07:12:37 <oren> X uses a client-server model which makes gui networking much easier tho.
07:12:56 <oren> ssh -XC and so on
07:13:09 <oren> so that is a plus
07:15:02 <oren> basically the UX of linux has only recently surpassed Windows (and arguably the UX of windows has actively declined recently)
07:16:30 -!- SopaXT has quit (Ping timeout: 258 seconds).
07:27:58 <zzo38> Do you have an idea about what could be causing the problem in my program?
07:30:55 -!- clog has joined.
07:31:10 <oren> does the code do anything clever to the console?
07:31:31 <zzo38> Can't you see the program? The only thing it does is change the file mode.
07:31:42 -!- SopaXT has joined.
07:31:46 <zzo38> That is the only Windows-specific code in the program.
07:31:48 <J_Arcane_> Awesome. Thanks to a clever contributor, Heresy now has an immutable object system.
07:33:19 <zzo38> I don't know if there is some buffer overflow or something like that
07:35:01 <oren> hmmmm
07:35:16 <oren> i don't see anything obviously wrong
07:36:55 <zzo38> Neither do I
07:39:36 <oren> what do the options in question supposed to do?
07:43:10 <oren> 'd' sets the mode of stdout to text, but it doesn't ever put it back to binary. should it?
07:45:01 <zzo38> It shouldn't since it is supposed to use a different output format entirely
07:45:11 -!- adu has left.
07:51:29 <oren> why exit on line 618?
07:52:53 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
07:53:01 <oren> do_lumps is never reached if 'd' is specified
07:53:12 <zzo38> It isn't supposed to be
07:53:30 <zzo38> It is supposed to omit do_lumps if 'd' is specified.
07:53:54 <oren> ok then the only candidate i see for a buffer ovflow is line 612
07:55:41 <zzo38> What could cause it there?
07:55:41 -!- CrazyM4n has quit (Quit: sleep).
07:57:26 <zzo38> Could there be any problems other than buffer overflows elsewhere in the program?
07:57:33 <oren> hmmm in do-lumps the data ppears to start at j=controls[12]
07:58:03 <oren> while in the 'd' code, you started at 0
07:59:00 <oren> what was the nature of the crash? did it segfault or just silently close?
07:59:24 <zzo38> It did segfault.
07:59:55 <zzo38> And only when called from the batch file with -d and not -i (so it can't be in do_lumps, isn't it?); calling the same directly from the command-line doesn't crash.
08:00:03 <oren> then the most likely cause is a buffer overflow or a bad pointer
08:00:28 <oren> huh???
08:01:17 <oren> that is really weird... what else is in the bath file?
08:02:03 <oren> could the input differ?
08:02:12 <zzo38> Deleting the other commands from the batch file doesn't change it; making it to redirect input/output or not doing that also doesn't change it.
08:02:57 <zzo38> Also, it gets stuck (doesn't close or do anything) when the batch file has no options and only the input filename. It doesn't do this on the command-line!
08:06:11 -!- Tod-Autojoined has changed nick to TodPunk.
08:07:21 <oren> hmm try adding test code to analyze the actual input params
08:08:10 <oren> they could be different due to subtle differences in the shell
08:09:36 <oren> e.g. for(i=0;i<argc;i++)fputs(argv[i],stderr);
08:11:11 <zzo38> I just did that, and I can see it didn't change it.
08:12:08 <zzo38> (I actually did it a bit differently; I used fprintf(stderr,"<%s>",argv[i]) instead so that I can see if there are spaces that don't belong.)
08:12:58 <zzo38> But I found out something now. Even from the command-line, if it is the first command entered in a new window it crashes the same as the batch file; trying again it works every time subsequently.
08:16:02 <oren> what output comes before the crash?
08:16:52 <zzo38> Only -d and the filename.
08:19:58 <oren> so it is crashing while executing code, not while outputting results
08:20:41 <zzo38> Yes, it looks like that
08:23:02 <oren> see if you can figure out a small code file that causes it to crash.
08:23:27 <oren> does it crash if the code file is empty for example?
08:24:14 <oren> does your code file have blank lines?
08:29:47 <oren> OH! in your macro code, you put the return of reallocing names[].macro into p, but never assign it to names[].macro. that could cause a segfault from accessing freed memory
08:30:24 <oren> lines 424-428
08:31:06 -!- azazel_ has quit (Quit: Connection closed for inactivity).
08:32:19 <oren> because realloc does not have to resize memory, it can also allocate a new larger buffer, copy data in, and return the new buffer, after freeing the old one
08:37:20 <zzo38> O, you are right
08:37:27 <zzo38> Now I can fix it thank you
08:38:10 <zzo38> I don't know why I put "p" there instead of assigning it to names[].macro
08:40:06 <oren> the problem is code like this can still work perfectly until some random thing causes it to fail... one of the worst things about C
08:40:36 <elliott> that's what happens when you rely on UB ;P
08:41:30 <zzo38> What would help then is to make the C *interpreter* which can check these errors
08:41:56 <oren> tcc has an interpreter mode
08:42:00 <zzo38> And then it can be compiled afterward
08:42:22 <oren> i dunno what it does tho
08:43:18 <elliott> it would be cool to have a C static analyser/interpreter that does lots of pedantic UB analysis yeah
08:43:27 <elliott> clang has UBsan
08:43:33 <elliott> but I think you could do a lot more with a specialised tool
08:43:41 <elliott> basically by trying to make everything as symbolic as possible
08:43:56 <elliott> https://code.google.com/p/c-semantics/ there is this which is really cool
08:45:05 <elliott> sorry, that should be https://github.com/kframework/c-semantics
08:45:13 <elliott> though the google code page explains it better
08:45:37 <elliott> maybe it actually can detect all UB
08:45:38 <oren> ooh that does look cool. especially that i will have yet another *cc command available
08:45:40 <elliott> actually I guess it can't
08:45:45 <elliott> since some of it is impossible to detect I think
08:45:53 <elliott> well I guess you can mayb edetect all UB triggered on a given run of a program
08:46:05 <elliott> "Running SEARCH=1 ./a.out will exhaustively search the state space resulting from considering all possible expression sequencings (as allowed by the standard) and generate a .pdf and .ps of the space (if Graphviz is installed). This is the only way to check all possible evaluation orders of a program to find undefined behavior." this is really cool :)
08:46:17 <elliott> so you can tell when you have a branch that can do UB
08:55:22 -!- Froo has changed nick to Frooxius.
09:04:58 -!- Patashu has joined.
09:07:03 <J_Arcane_> zzo38: There's also CINT: http://root.cern.ch/drupal/content/cint
09:07:36 <oren> come undefined behaviour is less defined than other
09:07:40 <oren> *some
09:08:45 <oren> *(int*)NULL = 2 is pretty much defined as "segfault immediately" for example
09:10:50 <oren> (and sometimes that is what you WANT)
09:10:55 <zzo38> Well, on computers that have segfaults anyways
09:11:08 <zzo38> Some computers don't have segfaults
09:11:21 <oren> right. i guess on NES there is no invalid address
09:11:26 <elliott> that doesn't necessarily segfault in kernel code
09:11:44 <elliott> I'm not sure it even does in userspace (like, did windows 3.11 map the zero page that way?)
09:11:52 <elliott> *"always" does
09:12:37 <oren> hmmm.... i dunno. i've only ever used C on winNT+ and linux.
09:13:09 <Taneb> :) I like ice cream
09:13:22 <shachaf> There have been all sorts of ways to map the bottom few pages on Linux, even with a positive mmap_min_addr.
09:13:29 <zzo38> NES is using 6502, so if NULL is defined as zero then that points to the zero page, which happens to be RAM. Some addresses are meaningless, but that doesn't make them invalid (it just won't do anything if you write to there).
09:13:51 <shachaf> E.g. I've heard of making an ELF file that fills up most of the rest of address space so the VDSO goes in the zero page.
09:14:13 <oren> the zero page contains the stack on 6502 doesn;t it?
09:14:47 <zzo38> No; the stack is at $0100-$01FF
09:14:52 <zzo38> The zero page is at $0000-$00FF
09:15:32 <oren> oh right. i vaguely remeber reading about this
09:15:34 <zzo38> They may be mapped to the same RAM (such as on Atari), but on Nintendo they are separate parts of the RAM.
09:18:01 <oren> shachaf: dang... i have been doing it wrong then. i thought writing to a null pointer would be a reliable way to get a core dump of the current program state.
09:18:21 <shachaf> It's undefined behavior.
09:18:31 <shachaf> So it's not reliable anything.
09:18:34 <oren> but how undefined is it?
09:18:47 <shachaf> Fully.
09:19:07 <shachaf> Why not asm("int3"); or something?
09:19:14 <shachaf> (Does SIGTRAP dump core?)
09:19:29 <shachaf> (Maybe I'm mixing it up with something else.)
09:19:37 <zzo38> shachaf: Well, asm("int3"); is only define for the specific computer too
09:19:47 <shachaf> Yes, but it's reliable.
09:20:11 <shachaf> Writing to NULL is probably also reliable, but who knows. The compiler could optimize it away or what not.
09:20:16 <zzo38> Yes I suppose it is, but then you should use #ifdef
09:20:45 <shachaf> I don't know what you should use.
09:21:34 <shachaf> kill(getpid(), SIGSEGV);
09:21:43 <oren> meh, i guess for debugging a computer-specific thing is ok
09:21:44 <shachaf> obviously
09:22:56 <elliott> does abort() core dump
09:23:35 <shachaf> Oh. Probably.
09:24:09 <oren> oh that would apparently work!
09:25:22 <elliott> kind of the point of the call, I think :p
09:25:45 <oren> i thought the point was that atexit isn't called?
09:26:04 <elliott> DESCRIPTION The abort() function causes abnormal program termination to occur, unless the signal SIGABRT is being caught and the signal handler does not return.
09:26:07 <elliott> Any open streams are flushed and closed.
09:26:16 <shachaf> That's the point of _exit
09:26:24 <elliott> http://pubs.opengroup.org/onlinepubs/9699919799/functions/abort.html
09:29:19 <zzo38> I have did something make a program to segfault in order to break into the debugger, without having to define the breakpoint every time. But, what might help better is to have a #breakpoint command that causes the debugger to predefine a breakpoint on that line; in such a case the breakpoint is ignored if not in a debugger.
09:30:03 <zzo38> (And, it isn't compiled in either, except in the debug info block.)
09:34:37 -!- Frooxius has quit (Quit: *bubbles away*).
10:00:01 <oren> i am making a test script for scrip7 interpreter, in order to start stabilizing the spec
10:01:44 -!- Deewiant has quit (Quit: Viivan loppu.).
10:03:35 -!- Deewiant has joined.
10:04:07 -!- Deewiant has quit (Client Quit).
10:04:14 -!- Deewiant has joined.
11:11:12 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41466&oldid=41434 * Orenwatson * (+10) fraction literals
11:25:25 <oren> http://xkcd.com/297/ "these are your father's curly brackets and semicolons. inelegant weapons... for a brutalistic, uncaring universe."
11:27:44 <J_Arcane_> I really need to start nailing down some documentation for Heresy.
11:42:22 <oren> documentation? ha! i'm only just starting to write unit tests!
11:42:47 <oren> it'll be a long way until i have detailed documentation.
12:01:41 -!- Patashu has quit (Ping timeout: 245 seconds).
12:04:10 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41467&oldid=41466 * Orenwatson * (+49) brackets and curly brackets.
12:09:41 <J_Arcane_> oren: My previous projects have largely been documentation-driven; ie. writing the spec and even full docs and then implementing, altering where needed. But Heresy didn't really go that way.
12:10:36 <oren> ah i see... i tend to write code first and think later
12:11:08 <oren> i end up with abominations often though
12:11:24 -!- SopaXT has quit (Ping timeout: 250 seconds).
12:12:07 <oren> abominations which work, but i can't tell why the next day
12:15:31 <oren> or sometimes they only work on the day i wrote them
12:21:50 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41468&oldid=41467 * Orenwatson * (-369) updated some examples, removed ones i'll update later.
12:24:49 <HackEgo> [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41469&oldid=41468 * Orenwatson * (-2) e notation for floats is not supported. i will come up with a different notation...
12:38:14 <b_jonas> I'll have to test if this crazy stuff works
12:41:32 <HackEgo> [wiki] [[Scrip7]] M http://esolangs.org/w/index.php?diff=41470&oldid=41469 * Orenwatson * (+0) fixed example
12:47:29 -!- MoALTz has joined.
13:05:00 -!- ZombieAlive has joined.
13:07:36 <oren> the best thing about transparent terminals is watching youtube videos through them
13:20:04 <oren> How does 3.4^7 sound as float exponent notation?
13:22:50 <FireFly> what's wrong with 3.4e7?
13:23:02 <oren> e is a variable name
13:23:18 -!- Frooxius has joined.
13:23:25 <FireFly> I guess 3.4^7 works, then
13:24:04 <int-e> > 3.4^7
13:24:07 <lambdabot> 5252.335014399998
13:24:10 <FireFly> Kind-of funny, J's literals are the other way around: all symbols are reserved for separate tokens so number literals use infix letters for things instead
13:24:13 -!- cluid has joined.
13:24:30 <FireFly> [ 2p3 3j4 1e5 16b100
13:24:41 <FireFly> ] 2p3 3j4 1e5 16b100
13:25:02 <FireFly> I guess the bots are all dead, or I don't remember their prefixes
13:25:37 <oren> there was a big disconnection storm earlier today
13:27:10 <oren> re infix letters, hex notation uses letters, so scrip7 requires a space at the end of all hex literals
13:27:30 <int-e> `echo Hi!
13:27:42 <HackEgo> Hi!
13:27:44 <cluid> hi
13:27:59 <int-e> @metar LOWI
13:27:59 <oren> hi
13:27:59 <lambdabot> LOWI 141320Z 26005KT 230V300 9999 FEW060 BKN170 BKN300 08/01 Q1018 R08/19//95 NOSIG
13:39:46 <Melvar> oren: 3.4⏨7
13:40:59 <oren> blah i'd rather not tie to a particular encoding, aside from insisting ascii-compatibility
13:41:20 <Melvar> Apparently in ALGOL 68 one could also use \ for this purpose.
13:41:33 <Melvar> I.e. 3.4\7
13:42:15 <Jafet> Just allow syntax definitions, so you can defer these exceedingly difficult decisions.
13:42:51 <oren> Jafet: e.g. the lisp solution. nahhhhh
13:45:13 <oren> ok, super unstable release 2014-12-14 9:00 is ready for release!
13:46:43 <Melvar> Apparently in Simula it’s 3.4&7 for single and 3.4&&7 for double.
13:48:24 <oren> done the pastbin now updated to the newest super unstable verion
13:51:41 <oren> maybe i'll switch it to github...
13:52:08 <oren> nahhhh
14:00:38 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41471&oldid=41470 * Orenwatson * (+22) float exponents, and forgot the all-important atan2 operator
14:02:17 <J_Arcane_> Hmm. CoCo community is running a compo to write something in 4K Color Basic 1.0.
14:02:53 -!- Frooxius has quit (Quit: *bubbles away*).
14:19:35 -!- nys has joined.
14:24:08 <oren> so i am going to put in the undivide operator but i need a notation for it
14:24:33 <cluid> \
14:24:44 <oren> that is a yen sign
14:25:18 -!- Frooxius has joined.
14:25:55 <oren> anyway the undivide operator takes one real number as input and produces two integers which when one is dived by the other it produces that real.
14:29:13 <oren> hmm maybe y?
14:30:24 <oren> \ is taken by xor, but perhapsi can cange it to x?
14:31:17 <cluid> why not use ^ for xor
14:31:20 <cluid> thhats what C does
14:31:43 <oren> because ^ is exponentiation, and C is kinda stupid
14:32:53 <oren> how about \ for undivide and X for xor?
14:33:14 <myname> undivide?
14:33:19 <myname> what the hell
14:33:35 <oren> scroll up for definition.
14:34:36 <myname> oh
14:34:46 <myname> how is that any useful?
14:35:11 <oren> it could be useful if you want fractions?
14:35:16 <myname> okay
14:35:26 <nyuszika7h> how about ~
14:36:05 <oren> unfortunately ~ is taken by the equality test
14:37:04 <oren> hmmm... i think i'll just use u for undivide
14:37:07 <myname> does it have to be on a normal keyboard layout?
14:38:02 <oren> not technically, but it does have to be one byte which basically means yes
14:38:29 <myname> × for xor? :p
14:38:42 <oren> X for xor?
14:39:08 <myname> no, ×
14:39:12 <myname> as in \times
14:39:28 <oren> tab-imes?
14:41:10 <oren> anyway good idea. move xor to X, put undivide on \.
14:41:45 -!- oerjan has joined.
14:43:25 <oerjan> and codu is down again...
14:43:45 <oren> we were discussing the undivide operator.
14:45:10 <oerjan> i'm just saying, tunes is still working...
14:55:37 -!- copumpkin has joined.
15:01:35 <oerjan> eek clog had a breakdown
15:01:58 <oerjan> I WILL NEVER KNOW WHAT HAPPENED. wait i could check when codu comes back up.
15:02:12 <oerjan> very OCP?D
15:03:50 <oerjan> a bit over 2 hours missing
15:13:02 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
15:25:07 -!- copumpkin has joined.
15:26:14 <oerjan> now xkcd has no pictures loading...
15:27:06 <int-e> no http://imgs.xkcd.com/comics/documents.png ?
15:28:40 <int-e> (works for me™)
15:30:43 <oerjan> nope it doesn't work you're clearly talking crazy hth
15:31:20 <int-e> hmm. imgs.xkcd.com is an alias for cds.d6y9y4w5.hwcdn.net
15:31:35 <oerjan> fancy4w5
15:31:53 <int-e> Highwinds Technologies, never heard of them.
15:32:14 <int-e> Must be a cloud reference.
15:32:46 <oerjan> well the cdn part is pretty obvious
15:33:08 <int-e> `unidecode 📣
15:33:12 <HackEgo> U+1F4E3 CHEERING MEGAPHONE \ UTF-8: f0 9f 93 a3 UTF-16BE: d83ddce3 Decimal: &#128227; \ 📣 \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals)
15:33:42 <oerjan> how do they know it's cheering
15:34:07 <oerjan> it could be chastising
15:34:18 <int-e> oerjan: content denial network, in your case?
15:34:27 <oerjan> yep
15:36:04 <int-e> ☎☏✆℡📞📱📱📲📴📵🕻🕽🕾🕿🖁 <-- I don't have a font that can display all those :-(
15:36:40 <int-e> But it seems that phones are still kind of important.
15:36:46 <Melvar> I seem to be missing the last five.
15:37:00 <int-e> I only see hte first four
15:37:39 <Melvar> Only the first four show up in curses-based things, because the libs don’t have width-definitions for the rest yet, looks like.
15:38:13 <int-e> I'm checking in a browser, and in gucharmap (which is where this selection came from in the first place)
15:38:47 <int-e> (The "CHEERING MEGAPHONE" was an accidental finding; I was looking for "phone".)
15:38:59 <oerjan> also missing last five
15:39:33 <b_jonas> hehe, "namespace_protected" is a fun way to say a C library prefixes its functions with a fixed two-letter prefix. there are thousands of libraries doing that.
15:40:02 <int-e> so how many collisions have you encountered?
15:40:10 <b_jonas> not too many
15:40:24 <b_jonas> there's remove and clog of course,
15:40:31 <b_jonas> but those aren't prefixed
15:40:56 <b_jonas> then there was some clash between gmp and libtommath, the latter of which should really know better than to use the same prefxi
15:41:44 <int-e> are they using the "drop in replacement" excuse?
15:41:48 <b_jonas> no
15:41:53 <b_jonas> completely different interface
15:42:02 <int-e> then, ewww.
15:42:37 <int-e> But to clarify my question, I meant collisions of the two-letter prefixes.
15:42:41 <b_jonas> then of course I've hunted down clashes from stupid coders at work, but those too are exactly because they're not namespace-protected
15:42:54 <b_jonas> int-e: between gmp and libtommath I think it's a three-letter prefix that crashes
15:42:57 <b_jonas> let me check exactly
15:43:06 <b_jonas> and some functions using those prefixes are the same
15:43:13 <b_jonas> um
15:43:15 <b_jonas> have the same name
15:43:38 <int-e> ah, the base prefix here is "mp", that *is* kind of generic.
15:43:53 <olsner> I guess they parsed gmp's prefixes as hungarian coding of types/categories, rather than prefixes reserved for gmp
15:46:18 <b_jonas> int-e: the clash is with libtomfloat actually, which uses the "mpf_" prefix, the same as the bigfloat part of gmp
15:46:37 <b_jonas> int-e: so both have an mpf_add function
15:46:44 -!- dts|pokeball has quit (Ping timeout: 258 seconds).
15:47:03 <int-e> nice.
15:47:19 <int-e> b_jonas: any 'xmalloc' clashes?
15:47:58 <int-e> I think I've seen that particular name for error-checking malloc wrappers several times.
15:48:45 <b_jonas> int-e: dunno, I hope that's usually a macro for foo_xmalloc in all library foo
15:49:49 <Melvar> int-e: What *were* the last five chars, btw?
15:50:13 <b_jonas> and the author certainly knew about GMP when he wrote this, he refers to it in the docs multiple timse
15:50:14 <int-e> `unidecode 🕻🕽🕾🕿🖁
15:50:15 <HackEgo> U+1F57B - No such unicode character name in database \ UTF-8: f0 9f 95 bb UTF-16BE: d83ddd7b Decimal: &#128379; \ 🕻 (🕻) \ Uppercase: U+1F57B \ Category: Cn (Other, Not Assigned) \ \ U+1F57D - No such unicode character name in database \ UTF-8: f0 9f 95 bd UTF-16BE: d83ddd7d Decimal: &#128381; \ 🕽 (🕽) \ Uppercase: U+1F57D \ Catego
15:50:33 <int-e> interesting.
15:51:03 <int-e> http://www.fileformat.info/info/unicode/char/1F57B/index.htm is the first one
15:51:20 -!- dts|pokeball has joined.
15:51:55 <Melvar> Ah, they don’t show up in my gucharmap, probably my unicode isn’t updated yet or something.
15:52:03 <b_jonas> and of course I passionately hate libcurses for its stupid choice of global function names
15:52:32 <b_jonas> I know it's all for a historical reasons, but still
15:52:38 <int-e> Melvar: apparently they were added in June
15:52:58 <Melvar> int-e: Yes, Unicode 7.0 .
15:53:03 <b_jonas> the nethack source has some crazy identifier names and macros too
15:53:15 <int-e> (I'm running Debian unstable)
15:53:16 <b_jonas> that at least was never intended as a reusable library, but still
15:54:01 <Melvar> “GNOME Character Map↵3.10.1↵Based on the Unicode Character Database 6.3.0”
15:54:14 <Melvar> Yup.
15:54:39 * Melvar is running Fedora 20 still.
15:55:09 <int-e> GNOME Character Map 3.14.1 Based on the Unicode Character Database 7.0.0
15:55:20 <int-e> 3.14.1 is kind of nice.
16:02:23 <Melvar> In any particular way?
16:02:37 <int-e> just a nice round number
16:03:51 <Melvar> Oh.
16:06:53 -!- dts|pokeball has quit (Ping timeout: 272 seconds).
16:12:12 <int-e> oerjan: Base 37 survived the henkma attack.)
16:14:16 <oerjan> yay
16:14:48 <int-e> My Collatz parity didn't, but thst's not too surprising.
16:14:53 <oerjan> irregular webcomic is finally starting to fit its name
16:15:13 <int-e> the reruns are running late?
16:15:17 <oerjan> (well, the irregular part, it stopped fitting the webcomic part)
16:15:25 <oerjan> no, the sunday annotations
16:16:26 <cluid> whats the point of writing programs short?
16:16:39 <int-e> intellectual challenge
16:17:03 <cluid> I guess its fun if you have a chance of winning
16:19:01 <int-e> wow, 10 spaces... that's a lot of auxilliary functions?
16:19:51 <int-e> err. 8. still a lot, but not frightening.
16:24:10 -!- mihow has quit (Ping timeout: 264 seconds).
16:25:26 <b_jonas> yep, second time the annotation is late
16:25:47 <b_jonas> http://www.irregularwebcomic.net/3360.html was the previous one
16:25:55 <b_jonas> no wait
16:25:58 <b_jonas> I think that one wasn't late
16:26:09 <b_jonas> maybe first time then
16:26:14 <b_jonas> at least we get a filler
16:33:40 <b_jonas> this code can't work…
16:35:55 <b_jonas> it's also stupid
16:36:06 <b_jonas> I'll have to find some otehr code.
16:42:17 -!- GeekDude has joined.
16:56:32 -!- oerjan has quit (Quit: leaving).
16:57:58 -!- MoALTz_ has joined.
17:01:00 -!- MoALTz has quit (Ping timeout: 256 seconds).
17:20:35 -!- drdanmaku has joined.
17:24:08 -!- Phantom_Hoover has joined.
17:38:31 -!- augur has quit (Remote host closed the connection).
18:01:46 -!- glguy_ has joined.
18:01:59 -!- glguy_ has changed nick to glguy.
18:29:53 <HackEgo> [wiki] [[Truth-machine]] http://esolangs.org/w/index.php?diff=41472&oldid=41383 * BCompton * (+84) StaPLe
19:09:10 -!- augur has joined.
19:11:30 <J_Arcane_> NYTimes hides a job ad in a Javascript console message.
19:11:55 <b_jonas> nice
19:14:18 -!- boily has joined.
19:15:00 <J_Arcane_> http://imgur.com/mPmZJ04
19:15:11 <cluid> so does imgur
19:17:40 <b_jonas> is there also a message hidden in the javascript comments saying that their boss made them put that conole message but he would like to warn you against working there?
19:30:25 -!- oren has quit (Quit: Lost terminal).
19:36:48 -!- oren has joined.
19:45:35 -!- atslash has joined.
19:46:05 -!- augur has quit (Remote host closed the connection).
19:49:10 -!- dts|pokeball has joined.
19:56:25 -!- qlkzy_ has changed nick to qlkzy.
20:02:49 -!- Patashu has joined.
20:18:48 -!- dts|pokeball has quit (Read error: Connection reset by peer).
20:19:50 -!- dts|pokeball has joined.
20:25:34 -!- Patashu has quit (Ping timeout: 256 seconds).
21:16:14 -!- dts|pokeball has quit (Ping timeout: 245 seconds).
21:33:23 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
21:43:21 -!- bb010g has joined.
21:49:22 <HackEgo> [wiki] [[Special:Log/newusers]] create * Sergio0694 * New user account
21:49:33 -!- cluid has quit (Quit: Leaving).
21:55:41 -!- augur has joined.
21:56:12 -!- augur has quit (Read error: Connection reset by peer).
21:56:47 -!- augur has joined.
22:01:26 -!- dts|pokeball has joined.
22:02:55 -!- zzo38 has quit (Remote host closed the connection).
22:12:06 -!- dts|pokeball has quit (Ping timeout: 250 seconds).
22:13:51 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41473&oldid=41471 * Orenwatson * (+119) upadted: xor is X, undivide is \, special output format is x
22:19:13 -!- dts|pokeball has joined.
22:21:21 -!- MoALTz_ has quit (Quit: Leaving).
22:38:27 -!- Sprocklem has joined.
22:39:25 -!- GeekDude has changed nick to GeekAfk.
22:39:45 -!- oerjan has joined.
22:45:03 -!- glguy has quit (Quit: Part).
22:59:01 -!- boily has quit (Quit: ORTHONORMAL CHICKEN).
23:01:20 <int-e> "Although Diet Coke and Cyanide have similar properties, ..."
23:11:03 <oren> I prefer Real Coke
23:11:16 <oren> with actual sugar
23:11:37 <myname> i prefer cola that's not from coca cola
23:11:59 <oren> well among all soft drinks my favorite is Brio.
23:12:15 <nys> yesss
23:12:15 <myname> never heard of that
23:12:34 <nys> brio's a canadian brand of chinotto
23:12:45 <oren> it is a Chinotto-flavored, caffienated soft drink which is awsome
23:12:52 <myname> well ... okay
23:14:26 <oren> chinotto is like sour, bitter and sweet all in one
23:14:52 <myname> i never seen that at al
23:14:59 <myname> i will have an ooen eye
23:15:16 <myname> open
23:15:31 -!- copumpkin has joined.
23:18:47 -!- oren has changed nick to |oren\.
23:20:11 -!- tromp has quit (Read error: Connection reset by peer).
23:20:45 -!- tromp has joined.
23:25:19 -!- glguy has joined.
23:26:34 -!- vanila has joined.
23:26:38 <vanila> can i run underload ?
23:26:54 -!- dts|pokeball has quit (Quit: Leaving).
23:27:00 <elliott> in the channel?
23:27:01 <elliott> ^ul (sure)S
23:27:07 <elliott> it has some harsh limits though
23:27:11 <elliott> oh, fungot isn't here...
23:27:13 -!- dts|pokeball has joined.
23:27:16 <elliott> `! underload (test)S
23:27:18 <HackEgo> test
23:27:42 <fizzie> Oh, right.
23:27:50 <vanila> thanks
23:27:52 <fizzie> We had that thing where the electricity stops for a while.
23:28:04 <vanila> : dup
23:28:09 <vanila> S pop
23:28:09 <elliott> flatlining?
23:28:21 <elliott> vanila: ! is pop, S is print
23:28:27 <vanila> ^ul :(S:S)
23:28:44 <|oren\> a blackout?
23:28:48 <vanila> `! underload :(S:S)
23:28:49 <HackEgo> Error: Stack underflow in :
23:28:51 <elliott> that crashes because of trying to duplicate the top of the empty stack
23:28:53 <vanila> :(
23:28:56 <vanila> `! underload (S:S):
23:28:57 <HackEgo> No output.
23:28:57 <elliott> if it didn't crash it'd then push S:S
23:29:05 <vanila> i have done it wrong :(
23:29:10 <elliott> that program results in the stack [S:S , S:S]
23:29:16 <vanila> i dont know underload
23:29:20 <elliott> `! underload ((hello)S)^
23:29:20 <HackEgo> hello
23:29:29 <elliott> `! underload (S):^
23:29:30 <HackEgo> S
23:29:34 <elliott> ^ = eval
23:29:37 <vanila> OK!
23:29:53 -!- fungot has joined.
23:30:19 <|oren\> ooh fungot is back, and supreme as ever.
23:30:20 <fungot> |oren\: anton, i'm objecting to being unable to do that, and then
23:31:26 <fizzie> A blackout was what I was looking for, or at least that's the hypothesis.
23:31:57 * elliott pets fungot
23:31:58 <fungot> elliott: 08:32 sjamaan that's very cool. ( definitely a recent release. let me rewrite the last couple of days ago
23:31:58 <elliott> poor thing
23:32:26 <vanila> i dont understand underload
23:33:03 <vanila> I get it
23:33:45 <elliott> it's like forth with eval
23:34:06 <|oren\> and mostly one symbol per action
23:35:35 <elliott> vanila: here's a good underload program to try andu nderstand
23:35:41 <elliott> ^ul (:aSS):aSS
23:35:42 <fungot> (:aSS):aSS
23:36:42 <elliott> you can use http://esoteric.voxelperfect.net/files/underload/underload.html to single-step through it
23:43:51 <vanila> :aSS<>
23:43:53 <vanila> what is <>
23:44:08 <vanila> oh
23:44:12 <vanila> stack is a stack of lists
23:44:17 <vanila> not a stack of things
23:44:44 <elliott> vanila: it's just the separator
23:44:54 <elliott> the stack foo<>bar<>baz<> is ["foo","bar","baz"]
23:44:57 <elliott> where foo is on top
23:45:05 <elliott> so (foo) prepends foo<> basically
23:45:22 <elliott> (foo)(bar): -> foo<> then bar<>foo<> then bar<>bar<>foo<>
23:45:51 <elliott> there's also an elegant way to think of underload in terms of term rewriting that makes the stack implicit
23:46:10 <vanila> :D
23:46:11 <vanila> thanks
23:49:45 <vanila> ^ul (:::aSS):::aSS
23:49:46 <fungot> (:::aSS):::aSS
23:51:28 <vanila> ^ul (:::aS:S):::aS:S
23:51:28 <fungot> (:::aS:S):::aS:S
23:52:47 <oerjan> a new kind of quining
23:55:19 <vanila> hahah how did you know!
23:55:36 <oerjan> know what?
23:55:48 <vanila> that in generating them with a program
23:56:28 * oerjan is confused
23:57:43 <int-e> > let x x=x++show x in x"let x x=x++show x in x"
23:57:44 <lambdabot> "let x x=x++show x in x\"let x x=x++show x in x\""
23:58:10 <int-e> > let x x=text$x++show x in x"let x x=text$x++show x in x"
23:58:11 <lambdabot> let x x=text$x++show x in x"let x x=text$x++show x in x"
23:58:25 <int-e> > let x x=text$x++show x in x"> let x x=text$x++show x in x"
23:58:26 <lambdabot> > let x x=text$x++show x in x"> let x x=text$x++show x in x"
23:59:58 <oerjan> :t (?)
23:59:59 <lambdabot> Not in scope: ‘?’
2014-12-15
00:00:10 <oerjan> :t flip
00:00:10 <lambdabot> (a -> b -> c) -> b -> a -> c
00:00:31 <int-e> @let z=text"> z"
00:00:33 <lambdabot> Defined.
00:00:33 <int-e> > z
00:00:34 <lambdabot> Ambiguous occurrence ‘z’
00:00:34 <lambdabot> It could refer to either ‘L.z’, defined at L.hs:154:1
00:00:34 <lambdabot> or ‘Debug.SimpleReflect.Vars.z’,
00:00:39 <int-e> argh
00:00:41 <int-e> @undef
00:00:41 <lambdabot> Undefined.
00:00:48 <oerjan> zimple
00:00:51 <int-e> @let q=text"> q"
00:00:52 <lambdabot> Defined.
00:00:53 <int-e> > q
00:00:54 <lambdabot> Ambiguous occurrence ‘q’
00:00:54 <lambdabot> It could refer to either ‘L.q’, defined at L.hs:152:1
00:00:54 <lambdabot> or ‘Debug.SimpleReflect.Vars.q’,
00:00:57 <int-e> ...
00:01:01 <vanila> > let x{- quine -}x=x++show x in x"let x{- quine -}x=x++show x in x"
00:01:02 <int-e> @undef
00:01:02 <lambdabot> Undefined.
00:01:03 <lambdabot> "let x{- quine -}x=x++show x in x\"let x{- quine -}x=x++show x in x\""
00:01:11 -!- augur has quit (Remote host closed the connection).
00:01:23 -!- augur has joined.
00:01:26 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
00:01:57 <int-e> yes, *of course* that module defines all single letter identifiers.
00:02:00 <elliott> @where+ q @where q
00:02:00 <lambdabot> Okay.
00:02:02 <elliott> @where q
00:02:02 <lambdabot> @where q
00:02:06 <elliott> :(
00:02:08 <oerjan> :t (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z)
00:02:08 <lambdabot> (FromExpr t2, FromExpr t1, FromExpr t) => (Expr, Expr, Expr, Expr, Expr, t, t1, t2, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr, Expr)
00:02:09 <elliott> does that count
00:02:18 <oerjan> int-e: hth
00:02:27 <vanila> > "quine"
00:02:29 <lambdabot> "quine"
00:02:29 <vanila> thebest quine
00:02:30 <int-e> oerjan: https://hackage.haskell.org/package/simple-reflect-0.3.2/docs/Debug-SimpleReflect-Vars.html
00:02:36 <elliott> here's my quine:
00:02:39 <int-e> oerjan: I found that ;-)
00:02:40 <elliott> [doesn't send a message, gets no response]
00:02:47 <vanila> cheating!
00:02:51 <elliott> I'm executing it consatntly
00:02:53 <elliott> constantly
00:02:54 <vanila> only real quines like mine count
00:03:17 <int-e> > ()
00:03:19 <lambdabot> ()
00:03:37 <elliott> ^def quine ul (^quine)S
00:03:37 <fungot> Defined.
00:03:38 <elliott> ^quine
00:03:38 <fungot> ^quine
00:03:44 <elliott> am I an expert now vanila
00:03:55 <vanila> woah nice quine
00:04:19 <elliott> it's homemade
00:05:08 <vanila> ^ul (:aSS(anewkindofquine)):aSS(anewkindofquine)
00:05:08 <fungot> (:aSS(anewkindofquine)):aSS(anewkindofquine)
00:05:20 <vanila> oerjan, ^
00:05:32 <oerjan> vanila: good, good
00:06:05 <vanila> sorry !
00:06:08 <vanila> i thought it was funny
00:07:13 <int-e> vanila: now do it with rule 110
00:08:01 <oerjan> how do you define quines so they make sense in rule 110
00:08:05 <elliott> it's not a new kind of anything if you do it yourself, int-e
00:08:10 <elliott> you have to get your employees to do it
00:08:31 <int-e> oerjan: I don't know. That's part of the fun of a new kind of science.
00:08:37 <oerjan> int-e: ah.
00:08:51 <int-e> elliott: I'm trying to get vanila do it at no pay at all. ;-)
00:09:45 <oerjan> :t (??)
00:09:46 <lambdabot> Functor f => f (a -> b) -> a -> f b
00:09:51 <oerjan> ah there it is
00:10:26 <int-e> `factor 6561
00:10:27 <HackEgo> 6561: 3 3 3 3 3 3 3 3
00:11:33 <oerjan> oh wait it doesn't do join hmph
00:13:48 <oerjan> > text.(<**>[id,show])$return"text.(<**>[id,show])$return"
00:13:49 <lambdabot> Couldn't match type ‘[GHC.Types.Char]’ with ‘GHC.Types.Char’
00:13:49 <lambdabot> Expected type: GHC.Types.Char -> GHC.Types.Char
00:13:49 <lambdabot> Actual type: GHC.Types.Char -> GHC.Base.StringCouldn't match expected type...
00:13:59 <oerjan> figures
00:14:33 <shachaf> ?where+ q ?where q
00:14:34 <lambdabot> It is forever etched in my memory.
00:14:37 <shachaf> ?where q
00:14:37 <lambdabot> ?where q
00:14:57 <shachaf> lambdabot
00:15:58 <oerjan> > text.ap[id,show]$return"text.ap[id,show]$return"
00:15:59 <lambdabot> Couldn't match type ‘[GHC.Types.Char]’ with ‘GHC.Types.Char’
00:16:00 <lambdabot> Expected type: GHC.Types.Char -> GHC.Types.Char
00:16:00 <lambdabot> Actual type: GHC.Types.Char -> GHC.Base.StringCouldn't match expected type...
00:16:07 <shachaf> oerjan: What are you trying to do here?
00:16:14 <oerjan> a quine hth
00:16:36 <oerjan> oh hm
00:16:44 <shachaf> what's wrong with the classic ap(++)show
00:17:03 <vanila> ^ul (:aS(:^S^:)Sa:):^S^:(:aS(:^S^:)Sa:)
00:17:04 <fungot> (:aS(:^S^:)Sa:):^S^:(:aS(:^S^:)Sa:)
00:17:09 <oerjan> WRONG MONAD HTH
00:17:30 <oerjan> > text.(>>=[id,show])$return"text.(>>=[id,show])$return"
00:17:32 <lambdabot> Couldn't match expected type ‘[GHC.Types.Char] -> [GHC.Types.Char]’
00:17:32 <lambdabot> with actual type ‘[GHC.Base.String -> GHC.Base.String]’
00:17:32 <vanila> this is cool
00:17:37 <int-e> > text$ap(++)show"> text$ap(++)show"
00:17:38 <lambdabot> > text$ap(++)show"> text$ap(++)show"
00:17:47 <vanila> stop makign haskell quines!!!
00:18:00 <vanila> underload quines pls
00:18:06 <shachaf> Better unset that q thing.
00:18:10 <shachaf> @where+ q @where q
00:18:10 <lambdabot> I will never forget.
00:18:18 <oerjan> vanila: too easy hth
00:18:21 <shachaf> wouldn't want any bot loops
00:18:39 <shachaf> oerjan: whoa, does http://slbkbs.org/serp.html work in IE?
00:18:42 <int-e> @where- q
00:18:42 <lambdabot> Maybe you meant: where+ where
00:18:50 <shachaf> does IE even have incremental search?
00:18:54 <int-e> hmm. no?
00:18:57 <shachaf> IE6 didn't
00:19:07 <shachaf> int-e: there's no such command as @where-loud hth
00:19:23 <int-e> @what q
00:19:24 <lambdabot> @where q
00:19:45 <int-e> @url q
00:19:45 <lambdabot> @where q
00:19:56 <oerjan> shachaf: it worked for me yes
00:19:57 <int-e> @where+ q
00:19:57 <lambdabot> I will never forget.
00:20:01 <int-e> @url q
00:20:03 <int-e> ah.
00:20:07 <shachaf> oerjan: does backspace work
00:20:12 <oerjan> yes
00:20:22 <shachaf> too good
00:20:38 <int-e> shachaf: I just found it hard to believe that this module shouldn't have a command for undefining things. But where+ itself does the job, apparently.
00:20:50 <shachaf> @where q
00:20:53 <oerjan> :t (<**>[id,show])
00:20:53 <shachaf> @where somethingelse
00:20:53 <lambdabot> I know nothing about somethingelse.
00:20:54 <lambdabot> [String] -> [String]
00:21:00 <vanila> oerjan, how about a quine in underlambda
00:21:01 <shachaf> int-e: fsvo does the job hth
00:21:07 <int-e> shachaf: hmm. right.
00:21:17 <int-e> @where+ q I know nothing about q.
00:21:17 <lambdabot> Done.
00:21:20 <shachaf> eventually it'll turn out that "it worked" meant oerjan successfully got a blank page, and "backspace worked" meant that oerjan was able to go back to the previous page by pressing backspace
00:21:21 <int-e> well, we can fake it.
00:21:30 <vanila> How about a quine in :()^
00:21:31 <oerjan> vanila: ais523 has never released underlambda so i cannot make a quine in it hth
00:21:33 <vanila> that would be cool
00:21:51 <vanila> step1 prove :()^ turing complete, step2 apply quine theory
00:22:06 <int-e> TC is not enough to allow quines
00:22:11 <shachaf> turing completeness is neither sufficient nor necessary hth
00:22:27 <int-e> (you may have to do some trivial transcoding from output to the language)
00:22:40 <oerjan> silly shachaf, iirc when i tested yesterday i wrote "hi there" then backspaced over it
00:22:51 <vanila> ok revised approach:
00:22:52 <vanila> step1 write a quine in :()^
00:22:54 <shachaf> oerjan: ok
00:23:06 <oerjan> vanila: you need output to have a quine, at a minimum, hth
00:23:12 <shachaf> i have an alternate version that uses css to render text rather than a canvas
00:23:26 <shachaf> do you know what a headache it is to render text on a web page that isn't searchable with Ctrl-F hth
00:23:34 <oerjan> i think a quine without a and S in underload is impossible
00:23:51 <elliott> oerjan: you could define an output encoding for the resulting stack
00:23:57 <int-e> hmm, searching the wiki for :()^ didn't help
00:24:00 <vanila> Has anyone here ever written a quine?
00:24:05 <elliott> yes
00:24:06 <elliott> ^quine
00:24:06 <fungot> ^quine
00:24:08 <oerjan> int-e: Underload section
00:24:09 <vanila> int-e, it's on the underload page
00:24:12 <vanila> http://esolangs.org/wiki/Underload#Quine
00:24:46 <int-e> ah.
00:24:58 <elliott> it feels like if ():^ is TC then toothpaste must be too
00:25:11 <vanila> toothpaste complete?
00:25:51 <elliott> does that mean it can act as any one of whitening toothpaste, sensitive teeth and gums toothpaste, minty-fresh breath toothpaste, ...
00:25:58 <vanila> hehe
00:26:02 <elliott> toothpaste quine
00:26:18 <elliott> you brush your teeth with it and it just coalesces into the original solid
00:27:18 <oerjan> vanila: i wrote the quine in /// and the one in glass, for example
00:27:26 <vanila> I like the /// one...
00:27:28 <oerjan> probably others
00:27:30 <vanila> its' very scary
00:27:35 <oerjan> *MWAHAHAHA*
00:28:12 <oerjan> it's essentially based on the same principles as the looping, just adapted to print instead of run
00:29:20 <oerjan> it uses a slightly different encoding than the BCT interpreter because i couldn't avoid string clashes with that one
00:29:32 <oerjan> (basically, one more initial / in tokens)
00:30:32 -!- GeekAfk has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
00:30:52 <oerjan> elliott: the toothpaste i buy is "total" protection hth
00:31:11 <oerjan> it probably doesn't do all those, though.
00:31:28 <elliott> but total things can't be TC [conor mcbride swoops down and punches me]
00:31:50 <oerjan> elliott is now entrapped in a partiality monad
00:31:59 <vanila> total languages can be totally cool
00:32:17 <elliott> I'm partial to horrible jokes, yes!
00:32:32 <glguy> I like that I'm not being charged a subscription fee for this comedy in today's episode ^_^
00:32:44 <oerjan> so will ghc 7.12 be when haskell _really_ becomes dependent
00:33:58 <oerjan> glguy: i suspect you are mischanneling but i hope that's actually a comment on our current topic
00:34:19 <oerjan> *discussion
00:34:19 <vanila> ^ul (a:S^S)a:S^S
00:34:20 <fungot> (a:S^S)a:S^S
00:34:23 <glguy> Nope, just watching the discussion, hth
00:34:25 <vanila> ^ul (:aS::S):aS::S
00:34:25 <fungot> (:aS::S):aS::S
00:34:27 <elliott> this channel is like #haskell-crap, which is why I love it
00:34:33 <vanila> ^ul ((:aS^S)):aS^S
00:34:33 <fungot> ((:aS^S)):aS^S
00:34:38 <vanila> ^ul (aS(:^S)):^S
00:34:38 <fungot> (aS(:^S)):^S
00:34:43 <vanila> ^ul ((:aS^)S):aS^
00:34:43 <fungot> ((:aS^)S):aS^
00:34:59 <elliott> glguy: btw you mean you're using this channel without a subscription?
00:35:10 <elliott> /msg chanserv op #esoteric
00:35:17 <oerjan> elliott: there doesn't seem to be a #haskell-crap, should we get it to redirect here twh
00:35:22 <glguy> I got a splitter from a neighbor's service
00:36:36 <elliott> oerjan: the last thing we need is even more haskellers in here
00:36:44 <oerjan> aww
00:37:26 <glguy> I can stick to JS or C or not talking or whatever
00:37:42 <elliott> don't worry the epidemic is unstoppable already
00:38:29 <elliott> there's like 20 people in here who know haskell
00:38:33 <oerjan> today on wikipedia: fuck
00:38:53 <oerjan> elliott: some of them learned about haskell here, mind you
00:39:13 <elliott> yes they became tainted
00:39:16 <oerjan> aren't you one of them btw
00:39:43 <vanila> haskell isn't as good at quines as underloab
00:39:47 <elliott> I am as tainted as they come
00:40:04 <vanila> can you make a language based on loebs theorme
00:40:13 <oerjan> i knew haskell before i came to this channel, although one of the first programs i wrote was an unlambda interpreter, which as i recall is an ancestor of the one in lambdabot
00:40:34 <int-e> `` echo 28752pP | dc
00:40:35 <HackEgo> 28752 \ pP
00:40:44 <int-e> `` echo 28752pP | dc | dc
00:40:45 <HackEgo> 28752 \ pP
00:41:02 <vanila> that's interesting int-e
00:42:14 <int-e> `` echo '[91Pp93Pp]91Pp93Pp' | dc
00:42:15 <HackEgo> ​[91Pp93Pp \ ]91Pp93Pp
00:42:24 <int-e> `` echo '[91Pp93Pp]91Pp93Pp' | dc | dc
00:42:25 <HackEgo> ​[91Pp93Pp \ \ ]91Pp93Pp
00:42:32 <int-e> ah, darn.
00:42:49 <int-e> `` echo '[91PdP93Pp]91PdP93Pp' | dc | dc
00:42:49 <HackEgo> ​[91PdP93Pp]91PdP93Pp
00:43:15 <oerjan> `` echo '[91PdP93Pp]91PdP93Pp' | cat | cat
00:43:16 <HackEgo> ​[91PdP93Pp]91PdP93Pp
00:43:43 <vanila> `` echo `echo cat` | `echo cat`
00:43:44 <HackEgo> cat
00:44:08 <vanila> maybe you could implement underload as unix programs
00:44:16 <vanila> or something else
00:44:24 <vanila> what sets of unix pipes make a TC language?
00:45:07 <oerjan> but unix pipes aren't very stack based
00:46:29 -!- |oren\ has quit (Ping timeout: 264 seconds).
00:49:14 <oerjan> you could probably make something analogous that treated stdin as a stack of lines
00:49:36 <vanila> its a shame i cant find a symmetrical underload quine
00:50:03 <oerjan> that has been done. isn't there one on the wiki page?
00:50:10 <vanila> yeah
00:50:11 <vanila> but not by me
00:51:31 -!- vanila has quit (Quit: Leaving).
00:57:12 <int-e> `` echo '1xd[[1xd]P91PP93P[dx1]PqP[1xd]P39pP19P[dx1]]dx1' | dc
00:57:47 <int-e> (hmm ... spot the mistake)
00:57:47 <oerjan> `echo hi
00:57:57 <HackEgo> hi
00:58:05 <HackEgo> 1xd[[1xd]P91PP93P[dx1]PqP[1xd]P39pP19P[dx1]]dx1
00:58:48 <oerjan> int-e: there isn't one?
00:59:04 <int-e> it's not symmetric
00:59:09 <oerjan> oh
00:59:32 <oerjan> capital
01:00:42 <int-e> (no big deal, since code after the 'q' is not executed.)
01:11:42 <int-e> > reverse "1xd[[1xd]P91PP93P[dx1]PqP[1xd]P39pP19P[dx1]]dx1"
01:11:43 <lambdabot> "1xd]]1xd[P91Pp93P]dx1[PqP]1xd[P39PP19P]dx1[[dx1"
01:16:56 <FreeFull> What if you flip the brackets?
01:18:32 <elliott> that's prohibited by the geneva convention
01:22:30 -!- nisstyre has quit (Ping timeout: 256 seconds).
01:26:18 -!- |oren\ has joined.
01:36:03 -!- |oren\ has quit (Quit: leaving).
01:36:18 -!- oren has joined.
01:45:17 -!- TodPunk has quit (Ping timeout: 264 seconds).
01:47:10 -!- TodPunk has joined.
01:50:54 -!- nisstyre has joined.
01:55:33 -!- Phantom_Hoover has quit (Remote host closed the connection).
02:10:17 <int-e> `` printf "%x" 32000428082400023
02:10:47 <HackEgo> 71b03844830b17
02:11:27 <oerjan> wut
02:12:15 <int-e> I'm wondering if there is a non-brute-force way of finding such numbers (which are palindromic in several bases, and large compared to the bases)
02:13:44 -!- boily has joined.
02:14:36 -!- glguy has quit (Quit: Computer has gone to sleep.).
02:14:50 <int-e> oh and I guess the bases b, c should not satisfy any relation of the form b^k = c^l for k,l>0.
02:16:52 <oerjan> tricky guy
02:18:28 <lifthrasiir> int-e: is there a brute-forced list for that?
02:18:40 <shachaf> Good evening, boily.
02:18:50 <oerjan> *gasp*
02:19:39 <int-e> lifthrasiir: I just wrote a toy program that finds all 17-digit palindromic numbers (base 10) that are also palindromic in base 16. This is the complete list: 32000428082400023 / 32633196169133623 / 64634327472343646 / 70667820502876607
02:20:25 <shachaf> How many digits are they in base 16?
02:20:53 <lifthrasiir> 14.
02:21:09 <int-e> 14, all of them.
02:21:12 <shachaf> whoa
02:21:41 <shachaf> you could totally golf that down even including the 0x
02:21:46 <oerjan> > logBase 16 (10^17)
02:21:48 <lambdabot> 14.118194403271291
02:21:54 <oerjan> > logBase 16 (10^18)
02:21:55 <lambdabot> 14.948676426993131
02:22:13 <shachaf> the answer I was looking for was 11, obviously
02:23:45 <int-e> I guess I could encode it as a SAT problem and watch minisat fail on it. (or be surprised that it actually manages.)
02:23:55 <oerjan> and here my first thought was "he's been checking upwards from 32000000000000000, and that was the first number he found"
02:24:22 <lifthrasiir> my stupid search script (never optimized) gives: 1-9 11 353 626 787 979 1991 3003 39593 41514 90209 94049 96369 98689 333333 512215 666666 749947 845548 1612161 2485842 5614165 6487846 9616169 67433476 90999909 94355349 94544549 119919911 161131161 190080091 241090142 247969742 (no 10-digit number here)
02:24:35 <lifthrasiir> (cont'd) 26896769862 28586268582 28779897782 30144644103 32442924423 39762526793 43836363834 45961216954 51113531115 56702120765 390189981093 1278169618721 1631645461361 1806872786081 2424058504242 2692667662962 3405684865043 6694367634966 7888195918887 14315822851341 17262755726271 45113388331154 397922151229793 509538666835905 522013020310225 816346555643618 1668739779378661 5099347667439905
02:24:58 <int-e> oerjan: nah, I enumerated the 10^9 decimal palindromes. (I should've enumerated the 16^7 hexadecimal palindromes of length 14 instead)
02:25:12 <lifthrasiir> 5099347667439905 has 16 decimal digits, so the next would be 32000428082400023 (not yet found)
02:25:26 <oerjan> > 16^7
02:25:28 <lambdabot> 268435456
02:26:23 <oerjan> int-e: hm it's because 14 is even and 17 is odd
02:26:31 <int-e> yeah
02:26:36 <oerjan> otherwise it shouldn't matter which base you start with
02:27:02 <oerjan> approximately sqrt(n) numbers below anyway
02:27:34 <lifthrasiir> for the purpose of brute-force search, building decimal numbers is better (trivial hexadecimal conversion)
02:28:49 <oerjan> hm what counts for more, the 4*more to test or the harder conversion
02:28:50 <lifthrasiir> 373019805508910373 is the first 18-digit double palindrome.
02:30:05 <lifthrasiir> aaand of course there is an OEIS entry: http://oeis.org/A029731
02:30:59 <lifthrasiir> http://oeis.org/A029731/b029731.txt
02:32:22 <int-e> so are there infinitely many of those numbers (heuristically, yes, and I expect a proof is way out of reach)
02:32:54 <oerjan> so if approximately sqrt(n) numbers below n are palindromic in one base, hm that's 1/sqrt(n) of all so if were independent there should only be a finite number palindromic in two...
02:33:06 <oerjan> *if they were
02:33:07 <int-e> no.
02:33:32 <int-e> (1/sqrt(n))^2 is 1/n and that series diverges.
02:33:37 -!- oren has quit (Quit: Lost terminal).
02:34:01 <oerjan> oh hm
02:35:32 <oerjan> hm i don't quite trust that heuristic if changing from local to global makes that much difference...
02:35:45 <oerjan> instead...
02:35:53 <int-e> what do you mean by local and global?
02:36:32 <oerjan> or wait hm
02:37:11 <oerjan> ok between n^2 and (n+1)^2 there should be 1 palindrome
02:37:30 <oerjan> in one base
02:38:05 <oerjan> that's 2n+1 numbers
02:38:33 <oerjan> this is too imprecise
02:38:53 <int-e> Way too imprecise for a proof.
02:39:46 <oerjan> ok so say between 1000000 and 1000999 there is one palindrome
02:40:07 <oerjan> that's 1000^2 to 1000^2 + 2*1000 - 1
02:40:56 <oerjan> so the density is 1/(2*sqrt(n)-1) on that interval
02:41:35 <oerjan> oh hm
02:41:55 <oerjan> i guess i am getting approximately theta(1/sqrt(n)) anyway
02:43:05 <oerjan> otoh this means we should expect only finitely many that are palindromes in _three_ distinct bases, iirc
02:43:23 <oerjan> (that sum (1/n^s) converges for s > 1)
02:43:47 <oerjan> which i'm not entirely sure of
02:44:00 <oerjan> s>=2 i'm sure
02:44:29 <int-e> there are b^k palindromes in [b^(2k-1),b^(2k)-1] and in [b^(2k),b^(2k+1)-1].
02:45:05 <int-e> to me that seems easier than arguing about n^2 and (n+1)^2.
02:45:29 <oerjan> OKAY
02:45:53 <oerjan> ok s>1 confirmed
02:46:19 <int-e> ?
02:46:28 <int-e> for three or more, yes
02:46:37 <oerjan> https://en.wikipedia.org/wiki/Riemann_zeta_function
02:47:20 <int-e> (that sum (1/n^s) converges for s > 1) <-- I didn't recognize this as a question.
02:48:01 <oerjan> it was turning into a question while i was writing it
02:48:45 <shachaf> oerjan: that's why question marks go at the end of sentences hth
02:48:53 <int-e> did you notice that I messed up ... I should write, there are b^k palindromes in [b^(2k-2),b^(2k-1)-1] and in [b^(2k-1),b^(2k)-1].
02:49:05 -!- nys has quit (Quit: quit).
02:49:09 <oerjan> shachaf: technically it only turned into a question after i'd pressed return hth
02:49:37 <shachaf> does that still count as writing it twh
02:49:41 <oerjan> no i didn't, i was too lazy to check that :P
02:49:55 <int-e> and by b^k, I mean (b-1)*b^(k-1), thanks to a leading digit that should not be zero.
02:50:17 <int-e> but none of this changes the conclusion.
02:51:03 <oerjan> anyway, if those two-base palindromes are distributed approximately as you'd expect from taking product of densities then that might indicate there _isn't_ a non-brute force method, vaguely...
02:52:02 <int-e> oerjan: So, even simpler, there are 2*b^k-1 palindroms less than b^2k, since you can take every number less than b^k and append it to its reverse, possibly merging the center digits. The -1 term accounts for 0 = 00.
02:52:35 <boily> shachaf: bonshachafoir.
02:52:49 <oerjan> int-e: i was trying to use a smaller interval to prevent that local/global confusion i was sensing
02:53:20 <int-e> oerjan: I see. Well, you needn't worry :)
02:56:39 <oerjan> from 1000000 to 9999999 there are 9000 palindromes...
02:56:43 -!- oren has joined.
02:57:06 -!- glguy has joined.
02:57:20 <oren> hi
02:57:24 <boily> helloren.
02:57:43 <int-e> Though the n^2/(n+1)^2 idea doesn't quite work. The difference between 100001 101101 is 1100, about sqrt(10) times larger than sqrt(100001).
02:58:12 <oerjan> that was too short an interval
02:58:25 <oerjan> i think a single set of digit lengths is better
02:58:29 <int-e> n^2 / (n+b)^2 will work.
03:00:03 -!- GeekDude has joined.
03:05:08 -!- boily has quit (Quit: EXPRESSIVE CHICKEN).
03:08:20 <oerjan> > let dens b x = 1/b^ceiling(logBase b x / 2) in dens 10 1000001
03:08:21 <lambdabot> 1.0e-4
03:08:36 <oerjan> oh hm that's wrong
03:08:47 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 1000001
03:08:49 <lambdabot> 1.0e-3
03:08:53 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 10000001
03:08:54 <lambdabot> 1.0e-4
03:09:25 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 1000000
03:09:26 <lambdabot> 1.0e-3
03:09:40 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 1000000 * 9000000
03:09:42 <lambdabot> 9000.0
03:09:49 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 10000000 * 90000000
03:09:50 <lambdabot> 9000.0
03:10:05 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 999999
03:10:07 <lambdabot> 1.0e-3
03:10:16 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 9999999
03:10:17 <lambdabot> 1.0e-3
03:10:27 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in dens 10 10000000
03:10:28 <lambdabot> 1.0e-4
03:11:15 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in sum [dens 10 n * dens 16 n | n <- [100..10000]]
03:11:17 <lambdabot> 7.796289062500727
03:11:29 <int-e> so 1/sqrt(bn) <= dens b n <= sqrt(b/n)?
03:12:13 <oerjan> well that's not too far from the actual number of double-palindromes between 100 and 10000
03:12:58 <oerjan> int-e: i'm just trying to make it give the right density for each number of digits
03:13:29 <oerjan> > let dens b x = 1/b^round(logBase b x / 2) in sum [dens 10 n * dens 16 n | n <- [100..100000]]
03:13:32 <lambdabot> 11.311914062572834
03:14:08 <oerjan> oh hm there's a surprising number of them in the 90 thousands :P
03:14:36 <oerjan> oh it's not too far away anyhow
03:23:28 * oerjan looks at freefall and wonders what gimu means
03:34:10 <int-e> hmm. perhaps http://www.eudict.com/?lang=japeng&word=gimu
03:34:17 <int-e> but it's a wild guess.
03:38:13 <oerjan> it does seem to fit at least
03:49:35 -!- GeekDude has quit (Ping timeout: 244 seconds).
03:58:08 -!- glguy has quit (Ping timeout: 258 seconds).
04:06:52 -!- GeekDude has joined.
04:16:21 -!- CrazyM4n has joined.
04:29:47 -!- oerjan has quit (Quit: Nite).
04:39:05 <CrazyM4n> Are APLs even popular anymore?
04:39:27 <CrazyM4n> I've been thinking about ideas for them
04:40:50 <CrazyM4n> What APLs do people use, anyway? J, K, and APL are the only ones I know of.
04:41:54 -!- zzo38 has joined.
05:22:39 -!- GeekDude has quit (Remote host closed the connection).
05:29:56 -!- CrazyM4n has quit (Quit: Leaving).
05:31:04 -!- glguy has joined.
05:31:14 -!- glguy has quit (Changing host).
05:31:15 -!- glguy has joined.
05:35:02 -!- b_jonas has quit (Ping timeout: 272 seconds).
05:35:26 <zzo38> Let's make in Magic: the Gathering cards, a artifact card, its effect is: {X}, {T}: Change this card's mana cost to the mana you paid for this ability.
05:36:38 <zzo38> You can have another ability to change the name of this card to any other card on the field.
05:41:42 -!- b_jonas has joined.
05:46:57 -!- copumpkin has joined.
05:54:36 <zzo38> Is there any card that allows you to gain life instead of drawing cards?
06:08:12 <shachaf> zzo38: What would that card's mana cost be?
06:08:28 <shachaf> I don't think there's a card with that ability. It would probably not be very popular.
06:14:40 <zzo38> shachaf: If you draft it together with a card that is in combination become useful then you might use it. I don't know what its mana cost would be originally, maybe just {0} or {1} is enough.
06:15:50 <shachaf> There is http://magiccards.info/query?q=!Scornful+Egotist which maybe has some similar uses.
06:17:24 <shachaf> Actually, not really.
06:17:37 <shachaf> I don't know what it would be useful for.
06:17:57 <shachaf> I guess you mean "this permanent's mana cost".
06:18:19 <zzo38> Yes I mean it; even if a token copy is made it can still work.
06:21:34 <glguy> I've only played a bit of Magic. What's the point of this Scornful Egotist?
06:22:08 <zzo38> You can draft multiple sets if that would help! Usually only one set is drafted but I have played once where two sets are drafted.
06:24:35 <shachaf> glguy: I never played in that block, but as I understand it there were a bunch of cards that cared about having permanents with a high converted mana cost.
06:24:53 <shachaf> So this was a cheap roundabout way to get some of those effects.
06:25:55 <shachaf> http://magiccards.info/query?q=e:scg/en+o:%22converted+mana+cost%22
06:25:58 <glguy> http://magiccards.info/sc/en/49.html
06:26:31 <shachaf> Yes, that sort of thing.
06:27:56 -!- zemhill has quit (Ping timeout: 260 seconds).
06:27:56 -!- zemhill has joined.
06:28:24 <glguy> "Once I was human. Now I am far more." -- but apparently there was an errata that stated the Scornful Egotist was still human
06:28:51 <shachaf> Well, it does say "more"
06:29:15 <shachaf> {Human} ⊂ {Human, Wizard}
06:30:01 <glguy> Then he would have said. I am human. Also I am far more.
06:31:54 -!- Sprocklem has quit (Ping timeout: 256 seconds).
06:31:57 <shachaf> Human and Wizard are incomparable
06:32:41 <glguy> Don't tell me, tell him!
06:33:12 <shachaf> imo so annoying that Soldier tokens aren't human
06:33:16 -!- Sprocklem has joined.
06:35:06 -!- adu has joined.
06:37:06 <zzo38> Why is it so annoying?
06:37:19 <zzo38> Maybe some soldiers will not be human soldiers?
06:37:33 <shachaf> Because I'd always mix them up.
06:40:31 <zzo38> I made up a card for Pokemon card game which is called HAND FIXER KIT and its effect is: Put all cards from opponent's trash into his hand.
06:41:41 <glguy> I used to have the first couple sets of pokemon cards... and then my brother traded them away for some hockey cards
06:42:31 <shachaf> i,i traded some hokey cards for some hockey cards
06:47:13 <zzo38> Assume it is your turn after you have drawn a card you have three cards in your hand; in play opponent has only CHANSEY [Lv.55] with no damage and five energy cards attached; you have KADABRA [Lv.39], active, with 2 damage, no energy, and is sleeping, and you have only GASTLY [Lv.8] on bench with 1 energy and 2 damage; opponent has 3 cards remaining in draw pile and 1 side card remaining; you have no cards in draw pile and 5 side cards remaining...
06:48:24 <zzo38> Now, you can play HAND FIXER KIT and opponent is going to scream like "!!???!!!?!?!???!?!!!!!????!!?!????!!!!!?!?!?!!?!!!!??????!!!??!?!?!??!?!?!!!!!!???!?!!?!?!?!!!?!????!?!??!??!!??!?!?!?!?!?!!!!?!???????!!!!!??!?!!!!?????"
06:49:03 <zzo38> What do *you* think???
06:49:23 <shachaf> I don't think my opponent is going to scream like that.
06:49:36 <shachaf> But I don't know the rules of Pokeman card game; maybe it is required.
06:49:47 <zzo38> No, it isn't required.
06:51:21 <glguy> You should probably add that as a requirement to your card
06:51:42 <zzo38> glguy: Why?
06:52:07 <glguy> seems like it'd make it even more complicated and more fun :)
06:52:31 <glguy> Or was that long list of assumptions just a scenario
06:52:43 <glguy> and not the pre-req?
06:52:48 <zzo38> That long list of assumptions is just a scenario.
06:53:01 <zzo38> The effect of HAND FIXER KIT is only "Put all cards from opponent's trash into his hand"
06:54:28 <zzo38> He has exactly fifteen trainer cards in his trash. In your hand you have DEVOLUTION SPRAY and HAUNTER [Lv.26].
06:54:36 <zzo38> Now what do you believe?
07:04:23 -!- Sprocklem has quit (Ping timeout: 264 seconds).
07:05:07 -!- Sprocklem has joined.
07:22:42 -!- glguy has quit (Quit: Quit).
07:41:45 -!- Patashu has joined.
07:45:52 -!- Patashu has quit (Remote host closed the connection).
07:46:03 -!- Patashu has joined.
07:46:50 <Sgeo> o.O http://techcrunch.com/2014/11/19/mozilla-partners-with-yahoo-which-will-become-the-default-search-engine-in-firefox-next-month/
07:53:08 -!- Sprocklem has quit (Ping timeout: 258 seconds).
08:29:23 -!- adu has quit (Quit: adu).
08:29:25 <zzo38> I do not expect changing the default searching engine is anything wrong; regardless what it is by default, you can easily change it to whatever one you want, or add your own
09:09:52 <J_Arcane_> Most won't though.
09:10:17 <J_Arcane_> The Google-Firefox deal was big money for both.
09:22:53 -!- Phantom_Hoover has joined.
09:24:13 <J_Arcane_> Helpful commit message of the day: "zip and zipwith. These work exactly as you'd expect if you've used Haskell. You might not've, so they work exactly as they say."
09:28:09 <Taneb> :D
09:28:11 <Taneb> Link?
09:28:37 <J_Arcane_> https://github.com/jarcane/heresy/commit/61321c114669b366a362c287984b2719708c526c
10:02:54 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
10:22:01 -!- glguy_ has joined.
10:50:19 <Jafet> Is it known whether there is a nontrivial palindrome for bases 2, 3 and 5?
10:53:14 <Jafet> (Or even 2, 3, and 4.)
11:22:47 -!- boily has joined.
11:27:05 <boily> fungot: fungellot. what are you supreming?
11:27:05 <fungot> boily: objc looks like someone mixed malbolge, c, e, r, e, b, c: if a flaw isn't fatal, it's acceptable. 2.0 seconds could be a simple mail server designed to just work
11:29:15 -!- Frooxius has quit (Quit: *bubbles away*).
11:31:36 <b_jonas> uh
11:33:13 <b_jonas> fungot, do you like running double exponential time algorithms?
11:33:13 <fungot> b_jonas: im not sure
11:35:38 <b_jonas> fungot, do you like winger?
11:35:39 <fungot> b_jonas: wait. you intended to impose on your prototype system?' what? it was a list with two elements
11:35:55 <elliott> `addquote <b_jonas> fungot, do you like running double exponential time algorithms? <fungot> b_jonas: im not sure
11:35:55 <fungot> elliott: still law is law...) and ( d or f)
11:36:12 <HackEgo> 1226) <b_jonas> fungot, do you like running double exponential time algorithms? <fungot> b_jonas: im not sure
11:37:14 <boily> if some charitable soul on this Fine Chännel could make the damn wisdom PDF compile on texlive 2014, that'd be very helpful and I could get back to editing it.
11:37:25 <boily> (having some problem with the Greek package...)
11:42:04 <b_jonas> fungot, how do you feel about the conflicting requirements of good practices when no alignment causes performance penalties because the cpu has to access data crossing cache lines, but too much alignment causes performance penalty due to every data trying to share the same l1 cache line?
11:42:05 <fungot> b_jonas: but right now the system is only very hard to replace the sorting order for nick lengths!
11:42:16 <b_jonas> yeah, agreed
11:42:57 <boily> nick lengths are as good as they are. five letters masterrace!
11:43:14 <shachaf> boily: since when is this a Chännel twh
11:43:29 <b_jonas> fungot, which fairy should I forget to invite to the newborn child's christening?
11:43:29 <fungot> b_jonas: if your point is completely bogus.)
11:43:48 <b_jonas> fungot: yeah, but if you had to choose one?
11:43:49 <fungot> b_jonas: when you can be more efficient both in time and they are mostly in canada, i wouldn't assume it to do
11:43:58 <b_jonas> canada, ok
11:44:11 <b_jonas> fungot, do they ride a motorbike in the winter?
11:44:11 <fungot> b_jonas: dhcpd is running as you described it.
11:45:11 <boily> shachaf: according to my logs, since February 13, 2014.
11:45:20 <b_jonas> fungot, if an adolescent boy wishes to honorably sever ties with his family to avoid the consequences of the century old feud between his family and the Capulets, what should he become? a cleric, a monk, or a mercenary?
11:47:50 <zzo38> Are those the only three choices?
11:48:52 <boily> were there engineers in those times?
11:56:58 <b_jonas> zzo38: no, you could give some other choice too if you wish
11:57:12 <b_jonas> these are just the ones that's occurred to me
11:57:32 <b_jonas> I guess they could try to enter the guild of assassins too
11:57:43 <b_jonas> or join a circus/theatre
11:58:05 <b_jonas> but I'm not sure how honorable it is to join a theatre
12:00:59 -!- Patashu has quit (Ping timeout: 250 seconds).
12:01:56 <b_jonas> hehe, this bad translation is amusing. in this list, it has chinese commas between Hungarian words
12:02:07 -!- shikhin has joined.
12:02:31 -!- shikhin has changed nick to Guest24980.
12:04:28 -!- Guest24980 has quit (Client Quit).
12:04:48 -!- shikhout has joined.
12:05:01 -!- shikhout has quit (Changing host).
12:05:01 -!- shikhout has joined.
12:05:34 -!- shikhout has changed nick to shikhin.
12:15:42 -!- boily has quit (Quit: COMPLACENT CHICKEN).
12:27:09 <b_jonas> `ctof -10
12:27:10 <HackEgo> ​-10.00°C = 14.00°F
12:27:17 <b_jonas> `ftoc -30
12:27:17 <HackEgo> ​-30.00°F = -34.44°C
12:34:53 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
13:17:07 <J_Arcane_> http://gabrielmartin.net/projects/hipku/
13:21:41 -!- glguy_ has quit (Quit: Quit).
13:33:08 -!- atslash has quit (Quit: This computer has gone to sleep).
13:38:42 -!- shikhin has quit (Ping timeout: 264 seconds).
13:40:33 -!- shikhin has joined.
13:41:17 -!- shikhin has changed nick to Guest53639.
13:41:50 -!- Guest53639 has changed nick to shikhout.
13:41:55 -!- shikhout has quit (Changing host).
13:41:56 -!- shikhout has joined.
13:42:05 -!- shikhout has changed nick to shikhin.
13:42:07 -!- atslash has joined.
13:54:13 -!- atslash has quit (Quit: This computer has gone to sleep).
13:55:50 * J_Arcane_ gazes into the abyss that is random number generation in a functional language.
13:56:41 <Melvar> “abyss”?
13:57:12 * J_Arcane_ is being rather facetious, but it is an issue that needs to be decided for Heresy.
13:59:42 <elliott> don't you already have IO
14:00:53 <J_Arcane_> True. But I have something I might want to do with my first game project in Heresy that might require a more predictable approach.
14:03:37 <fizzie> fungot: Why are you running your own dhcpd? Was it your fault my DHCP clients had stopped working?
14:03:37 <fungot> fizzie: i don't use safari often :)
14:03:51 <fizzie> fungot: O-kay, but that doesn't seem terribly relevant.
14:03:51 <fungot> fizzie: that base blocking technique and improved it with the default formatting and don't want to
14:04:29 <Jafet> If you call into a coroutine, the coroutine calls also into you
14:06:11 <J_Arcane_> :D
14:07:17 <J_Arcane_> Basically, I haven't actually established I/O beyond console print and input in Heresy yet (I'm thinking external IO will take place in parameterized blocks only, but haven't got round to implementing it yet).
14:07:42 <J_Arcane_> So I thought for a game, rather than have a save function, I'd use a password system like the old NES games.
14:09:42 <J_Arcane_> But it begs the question of whether the random number seed should be included in the derivation for the password or not, and that means I have to be more particular about how seeds are generated and used in the program (and indeed, possibly in the language itself)
14:10:57 <elliott> why do you need an RNG seed for this
14:11:56 <J_Arcane_> Oh, right, because it's an RPG. Die rolls and what not.
14:12:09 <elliott> but you want the seed to be predictable given the password?
14:12:15 <elliott> as in the same every time
14:12:32 <elliott> how do you generate the password
14:12:33 <elliott> s
14:14:32 <J_Arcane_> The password would just be a serialization of the player stat values and possibly the RNG seed to a text string, maybe base64 or something if I'm feeling lazy, or something original if I'm not.
14:15:17 -!- oerjan has joined.
14:15:49 <elliott> I mean a PRNG is a pure function of its state
14:15:58 <elliott> so you shouldn't need to change the language
14:16:08 <elliott> (okay it's state -> (output, state))
14:16:24 <elliott> (my point is you can handle it as well as any state if your initial seed is fixed)
14:16:50 <J_Arcane_> elliott: Well, literally, the syntax and functions haven't been defined in Heresy yet. I need to write them before I can start writing a game.
14:16:51 -!- Phantom_Hoover has joined.
14:17:02 <elliott> why do you have to change the language
14:17:06 <elliott> you can implement a PRNG in a few lines
14:17:22 <elliott> https://en.wikipedia.org/wiki/Xorshift
14:20:21 <HackEgo> [wiki] [[Esolang:Sandbox]] http://esolangs.org/w/index.php?diff=41474&oldid=40202 * 80.95.121.33 * (+25)
14:21:04 <elliott> agreed
14:22:12 <elliott> J_Arcane_: btw not trying to seem argumentative, just legitimately curious as to the problem
14:23:37 <J_Arcane_> elliott: Really, it's not necessarily a 'problem' just deciding how to define it. I think probably I'll just implement RANDOMIZE and RND, and then abuse the lexical scoping to rewrite the seed when needed.
14:23:53 <elliott> isn't this language meant to be pure :)
14:24:05 <elliott> I'd just implement the RNG inside the game or something, personally!
14:24:06 <elliott> or in a library
14:24:20 <elliott> if you don't care about getting a seed from the outside world you don't need to change the language at all
14:24:27 <J_Arcane_> Well, 'rewrite' in the sense of redefining it locally.
14:25:01 <HackEgo> [wiki] [[Esolang:Sandbox]] http://esolangs.org/w/index.php?diff=41475&oldid=41474 * 80.95.121.33 * (+64)
14:26:50 <J_Arcane_> Ie. you can still get away with just doing (def seed (randomize timer)) at the top level, and just (def seed [somethingelse]) farther down the tree. Or just say hell with it and not worry about storing the seed.
14:27:34 <elliott> well. okay. I was just thinking you'd make a function that takes a state and returns (list output newstate).
14:27:53 <elliott> xorshift just "reseeds" every step
14:28:04 <elliott> so you pass in the seed initially and then get a new one out and a returned number, etc.
14:28:31 <oren> if you already have I/O, use the old-school keyboard intervals method!
14:32:16 <oren> you can isolate the unfunctional stuff to one thing then
14:47:24 -!- oren has quit (Quit: exam time).
14:51:50 <oerjan> <Jafet> (Or even 2, 3, and 4.) <-- having both 2 and 4 seems like it'll restrict digits quite a lot
14:52:31 <oerjan> if it's even length in binary you can only use 00 and 11
14:52:55 <oerjan> (topic was palindromes)
14:54:17 <oerjan> with odd length, hm
14:55:37 <oerjan> 1(00)*01 is the only possibility with odd length
14:56:20 <oerjan> well except 0 itself
14:57:19 <oerjan> that's 4^n+1
14:57:53 <oerjan> > [showIntAtBase 3 intToDigit (4^n+1) | n<-[1..]]
14:57:55 <lambdabot> [<[Char] -> [Char]>,<[Char] -> [Char]>,<[Char] -> [Char]>,<[Char] -> [Char]>...
14:58:04 <oerjan> > [showIntAtBase 3 intToDigit (4^n+1) "" | n<-[1..]]
14:58:06 <lambdabot> ["12","122","2102","100112","1101222","12121202","211110212","10022220022","...
14:58:31 <oerjan> hm none in the short term...
14:58:43 <oerjan> > [showIntAtBase 3 intToDigit (4^n+1) "" | n<-[8..]]
14:58:44 <lambdabot> ["10022220022","111022121002","1222021101012","21220002111122","101112010100...
14:59:13 <Jafet> Only the base 4 palindromes with the digits 0,1 or the digits 0,3 are base 2 palindromes.
14:59:52 <oerjan> Jafet: um i don't think digits 0,1 work
15:00:04 <oerjan> except for 4^n+1
15:00:18 <int-e> 1111 must also work
15:00:37 <oerjan> int-e: that's digits 0,3
15:00:44 <int-e> oerjan: in base 4
15:00:54 <int-e> so 1010101 in base 2
15:01:12 <oerjan> oh hm
15:01:20 <oerjan> where was my logic error..
15:01:26 <int-e> so I agree with Jafet on this
15:01:36 <oerjan> OKAY
15:02:01 <oerjan> actually no
15:02:06 <oerjan> it's _only_ digit 1
15:02:15 <oerjan> or wait
15:02:18 <oerjan> sheesh
15:02:26 <int-e> we're just inserting 0s between all digits
15:02:47 <int-e> to convert from base 4 to base 2.
15:02:58 * oerjan brain
15:03:16 <Jafet> Brain? I learned this by computer.
15:03:33 <int-e> brains generalize better
15:04:34 <oerjan> so did you find any that were also base 3
15:04:51 <int-e> 1.
15:05:17 <oerjan> i think "non-trivial" was specified in the original question
15:09:29 <oerjan> > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], Just l <- mapM (`p` n) [2,3,4]]
15:09:31 <lambdabot> Couldn't match expected type ‘[GHC.Base.String]’
15:09:31 <lambdabot> with actual type ‘Data.Maybe.Maybe t’
15:09:41 <oerjan> that was too clever to work on first try
15:09:56 <oerjan> > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], Just l <- [mapM (`p` n) [2,3,4]]]
15:09:57 <lambdabot> Couldn't match type ‘Data.Maybe.Maybe’ with ‘[]’
15:09:58 <lambdabot> Expected type: [[GHC.Base.String]]
15:09:58 <lambdabot> Actual type: Data.Maybe.Maybe [GHC.Base.String]
15:10:12 <oerjan> oh
15:10:28 <oerjan> > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], l <- mapM (`p` n) [2,3,4]]
15:10:32 <lambdabot> mueval-core: Time limit exceeded
15:10:39 <oerjan> > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], l <- mapM (`p` n) [2,4]]
15:10:40 <lambdabot> [["11","3"],["101","11"],["1111","33"],["10001","101"],["10101","111"],["110...
15:10:56 <oerjan> > let p b n | s <- showIntAtBase b intToDigit n "" = [s|s == reverse s] in [l| n<-[3..], l <- mapM (`p` n) [2,3,5]]
15:11:00 <lambdabot> mueval-core: Time limit exceeded
15:11:18 <oerjan> it seems not immediately clear that any exist
15:11:37 -!- `^_^v has joined.
15:13:08 <int-e> oh the digit 0/3 numbers wont' cut it.
15:13:23 <oerjan> why not
15:13:41 <int-e> trailing digit 0 in base 3.
15:13:48 <oerjan> fiendish
15:14:11 <Jafet> If one exists, it's certainly not going to be less than 8022581057533823761829436662099
15:14:17 <oerjan> digit sum rule for base 4, right
15:14:34 <Jafet> @oeis 1,6643,1422773,5415589,90396755477
15:14:35 <lambdabot> Numbers that are palindromic in bases 2 and 3.[0,1,6643,1422773,5415589,9039...
15:15:18 <oerjan> presumably heuristics mean that unless you find them fast, there won't be any
15:15:36 <int-e> but you can never be sure
15:15:49 <oerjan> indeed
15:16:24 -!- Phantom_Hoover has quit (Remote host closed the connection).
15:16:41 <b_jonas> oh, that reminds me to that open problem about digit something and powers... um what was it
15:17:32 <oerjan> b_jonas: "is there any power of 2 > last obvious one which doesn't contain the digit 0"?
15:17:54 <b_jonas> oerjan: um, I don't think that was it
15:18:14 <oerjan> well i vaguely recall something like it
15:18:14 <b_jonas> but sounds right anyway
15:18:28 <oerjan> although maybe it came up as a consequence of something else
15:18:42 <b_jonas> maybe it was something like "is there a power of two that when you reverse the digits becomes a power of five"
15:19:26 <oerjan> that sounds like another thing that's ridiculously heuristically unlikely :P
15:19:29 <int-e> ok, there's no other base-2-3-4 palindrome smaller than 4^48.
15:19:33 <int-e> > 4^48
15:19:34 <b_jonas> oerjan: yep
15:19:35 <lambdabot> 79228162514264337593543950336
15:19:43 <Jafet> It's apparently been proven that there is a counterexample to the Mertens conjecture below exp(1.59*10^40), though no one actually knows one
15:20:06 <b_jonas> Jafet: what's the Mertens conjecture?
15:20:10 <int-e> (Jafets bound is better)
15:20:41 <int-e> But then again I have not invested very much CPU time.
15:20:49 <Jafet> int-e: just check all the eight known base 2/3 palindromes to confirm that none (other than 1) are base 4 palindromes
15:21:01 <int-e> Jafet: yes.
15:21:38 <b_jonas> int-e: how about numbers that are palindromes in bases 2, 3, 5?
15:22:07 <oerjan> i'd imagine the eight known Jafet is talking about might help there too
15:22:12 <Jafet> For that we also have the trivial lower bound of 8022581057533823761829436662099
15:22:27 <b_jonas> [ 10^. 8022581057533823761829436662099
15:22:30 <oerjan> int-e: @oeis _really_ should give the url :(
15:22:48 <int-e> oerjan: patches welcome, I'm getting notified of mokus' pull requests.
15:22:54 <Jafet> Huh, it should at least give the A-number
15:23:01 <Jafet> (http://oeis.org/A060792)
15:23:29 <int-e> Jafet: I could improve that bound for the 2-3-4-palindromes, because we've so nicely characterized the 2-4-palindromes.
15:23:42 -!- j-bot has joined.
15:23:50 <b_jonas> [ 10^. 8022581057533823761829436662099
15:23:50 <j-bot> b_jonas: 30.9043
15:24:25 <oerjan> hm 2,3 palindromes seem a _lot_ rarer than 10,16 ones
15:24:34 <Jafet> True. But one might suspect that no such integers exist anyway.
15:25:12 <oerjan> well i mean, 2,3 palindromes are so rare that the simple sqrt(n) heuristic must be broken somehow
15:25:27 <Jafet> Larger bases have more palindromes
15:26:02 <int-e> oerjan: smaller bases profit less from the wildcard center digit in the odd-number-of-digts case.
15:26:08 <oerjan> hm
15:26:38 <int-e> so this observation is consistent with my intuition for the problem.
15:26:41 -!- GeekDude has joined.
15:26:47 <oerjan> OKAY
15:26:57 <int-e> just saying!
15:27:27 -!- Sprocklem has joined.
15:28:02 <b_jonas> fungot, what do you think?
15:28:02 <fungot> b_jonas: i now know where to find foo? otherwise why not just make the directory accessible to the right-hand sides are not lambdas, right? :p.
15:28:26 <int-e> I'm actually kind of impressed that the 2-3-palindrome calculation has been pushed so far. Makes me wonder whether there's a trick for speeding things up that I'm missing.
15:29:28 <Jafet> There are apparently tricks that save constant factors, but they are specific to the 2-3 case
15:31:27 <b_jonas> [ 10^. 8022581057533823761829436662099
15:31:27 <j-bot> b_jonas: 30.9043
15:31:36 <b_jonas> [ 2 3^. 8022581057533823761829436662099
15:31:36 <j-bot> b_jonas: 102.662 64.7725
15:31:45 <b_jonas> hmm
15:32:00 <int-e> I guess there is one asymptotic trick that may allow testing numbers up to n in O(n^(max(1-k,2*k))log(n)) time, given O(n^(2*k)) memory.
15:32:19 <Jafet> Yes, you can trade space for time by taking residues.
15:33:04 <b_jonas> int-e: the fun part about that oeis entry is "Next term (if it exists)" so apparently they don't know if there's infinitely many.
15:33:22 <int-e> (make a table of the possible differences resulting from picking the center k*log(n) digits for both bases.)
15:33:23 <Jafet> That's written on many oeis entries.
15:33:41 <b_jonas> int-e: there's a link to an article on computing them though
15:34:08 <oerjan> > logBase 3 8022581057533823761829436662099
15:34:10 <lambdabot> 64.77245314069522
15:34:24 <b_jonas> ^ agrees with j-bot's reply, good
15:34:32 <oerjan> hm they haven't pushed it that much further
15:36:58 <Jafet> Also, once you pick the first few digits in each base, the possible palindromes are in the intersection of two arithmetic progressions
15:39:26 <int-e> oerjan: btw, naively, I would expect 10-16-palindromes to be 23/80 * sqrt(240) more numerous than 2-3-palindromes, about 4.454
15:40:29 <int-e> (missing a "times" in there, somewhere.)
15:41:53 <int-e> > (1/sqrt 160 + sqrt 160) / (1/sqrt 6 + sqrt 6)
15:41:55 <lambdabot> 4.45393084813853
15:42:19 <b_jonas> Jafet: the oeis entry links to http://chesswanks.com/txt/BigDualPalindromes.txt
15:42:30 <oerjan> fancy
15:43:01 <b_jonas> maybe check the other links too
15:43:05 <b_jonas> from http://oeis.org/A060792
15:43:42 <J_Arcane_> http://clientsfromhell.net/post/105178230478/nightmare-fuel-for-designers
15:44:33 <oerjan> argh .txt without line wrap
15:46:39 <oerjan> int-e: i wonder if the fact 10 and 16 have a common prime factor matters there
15:47:08 <oerjan> although given how well my calculation yesterday matched, perhaps not
15:47:19 <b_jonas> oerjan: it does make things worse
15:47:40 <b_jonas> oerjan: http://chesswanks.com/txt/BigDualPalindromes.txt explains how it helps that the last digits of base 2 constrain the middle digits of base 3
15:48:00 <b_jonas> because only the middle digit of a base 3 palindrome can change it modulo 2
15:48:06 <b_jonas> etc
15:48:12 <oerjan> b_jonas: um i wasn't really asking for tdlr
15:48:35 <oerjan> *tldr
15:48:45 <oerjan> (see: today's xkcd)
15:49:02 <b_jonas> oh!
15:49:07 <b_jonas> there's actually more stuff it tells
15:49:12 <b_jonas> basically I'm talking nonsense
15:49:17 <oerjan> good, good
15:50:13 <b_jonas> oh, tricky
15:50:49 -!- zzo38 has quit (Remote host closed the connection).
15:51:11 <int-e> oerjan: So Many Fucking Words. Clearly this is an OOTS reference. *ducks*
15:52:19 <int-e> Now to find an interpretation that turns the caption into a proper sentence...
15:52:28 <oerjan> b_jonas: btw my investigations of the mcculloch machine seem to resolve into about 64 mutually dependent cases, each parametrized by up to 6 numbers
15:52:50 <b_jonas> oerjan: wow
15:52:53 <oerjan> might need a program to do the algebra
15:53:08 <b_jonas> oerjan: if you get something useful, will you write some notes somewhere?
15:53:12 <int-e> See Me Fumble With an acronym [that] almost makes sense.
15:53:18 <oerjan> b_jonas: presumably
15:53:20 <b_jonas> thanks
15:53:46 <b_jonas> I'll definitely be interested, and others (zzo38 maybe) might be too
15:55:18 <b_jonas> hehe, "could easily be generalized to find dual palindromes in ... binary and *balanced* ternary"
15:56:03 <int-e> and hehe, http://www.urbandictionary.com/define.php?term=SMFW
15:56:10 <int-e> 2011.
15:56:29 <b_jonas> and that writeup is from 2014-01
15:57:44 <int-e> the basice principles seem applicable to any pair of bases, really.
16:00:01 <elliott> oerjan: is water turing complete? asking for a friend
16:00:43 <int-e> what is water?
16:00:46 <b_jonas> elliott: depends on how you define it
16:00:50 <int-e> rumor has it we evolved in the ocean
16:00:51 <coppro> int-e: dude, how are you alive
16:00:59 <elliott> int-e: we just don't know
16:01:04 <int-e> coppro: You misunderstood.
16:01:12 <b_jonas> maybe it's only PSPACE-complete
16:01:22 <b_jonas> but maybe it has much less power than that
16:01:32 <elliott> water is very powerful and I live in fear of it every day
16:01:35 -!- oren has joined.
16:01:40 <int-e> coppro: "water" could mean "pure H2O", but it could also mean the stuff that's in the rivers and in the seas.
16:02:13 <b_jonas> int-e: yeah, except in Ankh, which is a river but certainly not water
16:02:33 <elliott> int-e: whichever you are most scared of.
16:02:53 <elliott> this is not a trick question and i am just trying to know the computational class of water please.
16:03:06 <b_jonas> elliott: then it's PSPACE-complete
16:03:12 <elliott> thankyou
16:03:20 <b_jonas> but not very efficient, transistors work much better
16:04:06 <elliott> are birds turing complete
16:04:19 <oerjan> elliott: i think terry tao may be working on that problem hth
16:05:45 <oerjan> (for a certain definition of water equivalent to "ideal fluid")
16:05:48 <elliott> what if they're really big birds
16:05:59 <oerjan> oh birds
16:06:18 <oerjan> elliott: i hear the X bird is turing complete hth
16:06:33 <int-e> does it run Twitter?
16:06:52 <elliott> "Coq: The world’s best macro assembler?" some questions exist just to be posed
16:06:53 <b_jonas> elliott: birds are certainly at least turing complete. they were used for divination afterall.
16:06:55 <int-e> (Err, does Twitter run on the X bird? Or on Combinatory Logic, at least?)
16:07:09 <int-e> @quote assembler
16:07:09 <lambdabot> dons says: that's 3 things i've never seen in the one sentence before: my assembler .. a bunch of type classes .. a natural syntax
16:07:24 <b_jonas> elliott: see also the Mockingbird book of Smullyan
16:07:32 <b_jonas> which also tells that birds are Turing-complete
16:07:35 <elliott> b_jonas: okay but how loudly do they chirp
16:07:50 <elliott> I want a quiet and obedient bird computer to do my taxes
16:07:52 <int-e> b_jonas is mocking birds...
16:07:58 <b_jonas> fungot: how loud do mockingbirds chirps?
16:07:58 <fungot> b_jonas: yes but how do you suggest? i like it
16:08:17 <b_jonas> fungot: elliot suggests a quiet and obedient bird computer to do his taxes. can he get one?
16:08:17 <fungot> b_jonas: ( define foo ( lambda ( k)
16:08:25 <elliott> coq macro assembler is like mustard watch
16:08:37 <b_jonas> elliott: I'm affraid large computing power isn't enough to do your taxes
16:08:53 <elliott> fungot is suggesting I do my taxes in lisp I think
16:08:53 <fungot> elliott: because you are not alone:
16:09:02 <elliott> well, scheme
16:09:18 <b_jonas> that has unbalanced parenthesis
16:09:55 <oerjan> afk
16:10:16 <elliott> Having run
16:10:16 <elliott> coqc over this file we can then run a trivial hex-to-binary tool to
16:10:16 <elliott> produce an executable:
16:10:16 <elliott> >coqc winfact.v >winfact.hex
16:10:16 <elliott> >hexbin winfact.hex winfact.exe
16:10:18 <elliott> >winfact
16:10:20 <elliott> Factorial of 10 is 3628800
16:10:23 <elliott> Factorial of 12 is 479001600
16:10:25 <elliott> all my build processes involve hexadecimal->raw conversion
16:12:37 <int-e> WHY?!
16:12:54 -!- glguy_ has joined.
16:12:59 -!- glguy_ has quit (Remote host closed the connection).
16:13:16 <elliott> because coq is the world's best macro assembler!
16:13:27 <elliott> to be fair this paper is probably doing cool things, it's just also ridiculous
16:13:50 <int-e> why can't they produce binary output?
16:14:30 <elliott> because you can't really write coq programs
16:14:34 <elliott> the result there is like typing something into ghci
16:14:38 <elliott> and getting a Show result back
16:14:59 <elliott> (with "Compute ... .")
16:15:30 <elliott> basically the UI model for coq is interactive proof assistant use (it would be kind of unusable for writing proofs if it wasn't interactive), and files are just workspaces containing a bunch of commands
16:16:38 <oren> ohh, like Matlab
16:16:53 <oren> i like that
16:17:10 <oren> that is the only thing i like about matlab
16:27:44 -!- adu has joined.
16:35:20 -!- nortti has changed nick to lawspeaker.
16:36:06 -!- lawspeaker has changed nick to nortti.
16:44:37 -!- adu has quit (Quit: adu).
16:46:01 -!- oren has quit (Quit: leaving).
16:53:56 -!- glguy has joined.
16:58:13 -!- ais523 has joined.
17:04:39 -!- digitalc1ld has changed nick to digitalcold.
17:06:39 -!- mihow has joined.
17:10:29 <ais523> ooh, I just got some spam from some spammers
17:10:49 <ais523> who outright said they were spammers, and offered to send out 5 million spam emails on my behalf for $999
17:10:56 <ais523> interesting marketing strategy, I guess it makes a lot of sense
17:11:10 <ais523> that price seems pretty expensive to me, but I don't know much about spam
17:12:10 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:12:51 <b_jonas> ais523: apparently some companies advertise that they're hiring to some sort of it position (maybe web developer) in messages hidden as non-text in webpages
17:13:11 <b_jonas> such as in messages to the javascript console
17:13:16 <b_jonas> or so I hear
17:13:24 <ais523> it wouldn't surprise me, there are a lot of companies
17:13:51 <ais523> plot twist: the company didn't think it was hiring, but the existing web developer is sick of their position and wants to hire a replacement
17:14:40 <int-e> plot twist: company is not interested in hiring javascript developers and people who've never heard of noscript.
17:15:36 <b_jonas> ais523: I was considering a similar plot twist: the company is hiring, so the web developer puts a slightly hidden message that they're hiring, and a more hidden message warning that they put that previous message there because their boss asked, but they don't recommend that company because it's terrible working there.
17:16:59 <int-e> followed by a comment from the boss that there are now two more positions available than originally planned
17:19:40 <J_Arcane_> fuck math
17:19:48 <glguy> Is that a new branch of math?
17:22:23 -!- oerjan has quit (Quit: Later).
17:22:48 <J_Arcane_> it's my expression every time I descend the rabbit hole that is reimplementing most math functions ...
17:23:23 <glguy> Which rabbit hole are you in today?
17:23:43 <J_Arcane_> I decided to take another stab at either atan or log.
17:24:02 <ais523> J_Arcane_: I implemented an integer-arithmetic log semi-recently
17:24:06 <J_Arcane_> Or rather, I think I started with atan, and found a proof for solving it that needed log ...
17:24:16 <ais523> as part of removing all floating-point arithmetic from save-affecting parts of NH4
17:27:09 -!- adu has joined.
17:28:23 <b_jonas> ais523: there's floating point arithmetic in nethack?
17:28:25 <J_Arcane_> part of my goal with Heresy was to implement as much as I can myself instead of calling out to Racket.
17:28:32 <b_jonas> ais523: there is only very little I hope
17:28:38 <b_jonas> like, you know, in TeX
17:28:42 <ais523> b_jonas: there was some in the scoring system a while back
17:28:50 <ais523> nowadays, it's only used for display purposes
17:29:02 <ais523> if you see a percentage shown in a message box, that may have been calculated with float arithmetic
17:29:12 <ais523> but anything gameplay-affecting is integer arithmetic
17:29:24 <b_jonas> I'm not really worried about it though because if you only use basic floating point arithmetic (including square root, but excluding exponentials and logarithms and trig) it mostly works as perfect IEEE floats anyway these days
17:29:50 <ais523> b_jonas: it doesn't, and the reason is that different processors have different rounding rules, and different OSes can have different default FPU control words
17:29:51 <b_jonas> though... with many settings compilers still have the choice to optimize certain chained operations to higher precision,
17:30:00 <J_Arcane_> I did manage to get sin and cos in a kinda cheaty way thanks to Racket's built-in support for complex numbers.
17:30:05 <b_jonas> ais523: ok
17:30:56 <b_jonas> ais523: so it's never used to determine the outcome of random events?
17:31:13 <ais523> b_jonas: float arithmetic? no, I'm not crazy
17:31:20 <b_jonas> hey wait, isn't #nethack4 supposed to go off topic when we're talking about nethack here?
17:31:35 <b_jonas> ais523: I'm not thinking you'd add such a thing, only that you'd inherit it from the devteam
17:31:39 <ais523> we can have two different ontopic discussions about NetHack in two different channels!
17:31:52 <ais523> b_jonas: you can expect no floating point in devteam NetHack
17:31:59 <ais523> because it probably runs on systems with no FPU and no FPU emulation
17:32:26 <elliott> so what happened with that leaked version
17:32:44 <ais523> it's still happening, believe it or not
17:33:03 <ais523> the devteam are apparently making some sort of crazy complex new git-based infrastructure, but haven't told us the details
17:33:12 <ais523> it's being slowed down by the fact that they all have to learn git
17:33:13 <elliott> wow, so this actually spurred them into action?
17:33:16 <elliott> haha
17:33:41 <b_jonas> ais523: I thought even old systems always had at least software fp emulation, though it might not be able to use it in nethack because it costs some ram
17:33:53 <elliott> is nethack 4 still incredibly purple
17:34:09 <ais523> "incredibly purple"?
17:34:20 <ais523> b_jonas: software FPU emulation is a compiler feature
17:34:27 <ais523> most compilers of the era had it, but possibly not all of them
17:34:35 <b_jonas> elliott: (devteam is making something they're not telling us about) isn't (spurred to action) nor is any real change from what we've seen in the last 10 years
17:34:51 <elliott> well, ok
17:34:57 <b_jonas> ais523: yes, and most C compilers had it simply because floating point is built into C and used very often
17:35:00 <elliott> ais523: the UI
17:35:05 <elliott> also does it still have that dorky logo
17:35:05 <ais523> right, the main change is that instead of working on NetHack with no public details, they're now working on something else with no public details
17:35:18 <ais523> elliott: oh right, the borders of menus are still purple
17:35:23 <ais523> and yes, it still has the ASCII art logo
17:35:32 <elliott> is it still full of horrible daniel_tisms
17:35:34 <b_jonas> (obviously some compilers don't have it because hardware or kernel floating point is always available on the system they're compiling for)
17:35:48 <J_Arcane_> There are formulas for sin and cos in terms of i, so taking advantage of racket number support turned them into one liners, basically
17:36:14 <elliott> doesn't racket have sin/cos
17:36:44 <ais523> elliott: it's getting less full of daniel_tisms over time, but slowly
17:36:58 <elliott> is it playable with 80x24 yet
17:37:40 <ais523> yes
17:38:04 <ais523> you might need to mess with some options; if you're playing only in 80x24, you can turn off menu borders and make them page by pages
17:38:08 <ais523> then it looks a lot more like vanilla
17:38:15 -!- drdanmaku has joined.
17:38:36 <J_Arcane_> elliott: yes, but it was an interesting exercise anyway. I'll probably wind up refactoring later and just making them all macros to the Racket versions; I trust their code better. But it was interesting to write.
17:39:07 <elliott> does it have #tip or whatever it was
17:39:25 <elliott> oh hey also how did that sokoban generating go
17:39:27 <ais523> no, it doesn't have #tip
17:39:41 <ais523> and the sokoban generator has actually made a lot of progress, it can generate parts of puzzles but not complete puzzles
17:39:45 <ais523> (close to finished, just not finished)
17:39:49 <ais523> and it isn't hooked up to NetHack yet
17:39:50 <ais523> it's just standalone
17:40:07 <b_jonas> I hope you won't put it in nethack because then I won't be able to solve sokoban
17:40:14 <b_jonas> unless you also put in a sokoban solver to autoexplore
17:40:34 <b_jonas> which you should by the way because not having one is interface screw which nh4 is supposed to avoid
17:40:38 <ais523> b_jonas: this is getting into dungeon redesign contest, and I think we decided not to discuss that until it happened so that we don't bias each other's submissions
17:40:38 <b_jonas> (I have a ticket)
17:40:45 <ais523> however, I think I might have a solution that keeps everyone happy
17:41:00 <ais523> also, Sokoban is one of the hardest branches for bots to play
17:42:28 <elliott> b_jonas: this is why nethack is ridiculous
17:42:36 -!- cluid has joined.
17:42:43 <elliott> if you want to be able to solve sokoban without playing sokoban why even have the sokoban part
17:42:53 <elliott> I mean I htink sokoban in roguelikes is kind of awful but :p
17:59:28 <cluid> hello
18:01:48 <elliott> *think
18:01:53 -!- callforjudgement has joined.
18:02:06 -!- ais523 has quit (Remote host closed the connection).
18:02:12 -!- callforjudgement has changed nick to ais523.
18:11:56 -!- oren has joined.
18:12:12 -!- oren has changed nick to |oren\.
18:18:38 <|oren\> aet your terminal to fracktur
18:20:01 <cluid> lol
18:23:13 <|oren\> wait is it even possible to do that?
18:23:46 <|oren\> i have LaTeX installed but I don't see fractur in my font list
18:24:41 -!- MoALTz has joined.
18:26:14 <int-e> Oh, this is a horrible idea.
18:27:20 <int-e> http://int-e.eu/~bf3/tmp/eufm10.png
18:28:34 <|oren\> Oh! so that is it... hmm, doesn't seem like it has all the chars
18:31:08 <|oren\> Aha, i found a similar one that does: http://snag.gy/6iaf9.jpg Sanafon-Kazari
18:33:41 <|oren\> Really i like all the fonts in the Sanafon series
18:34:13 <|oren\> but this one is pleasingly medieval
18:37:24 -!- Sprocklem has quit (Quit: got to go).
18:42:06 <|oren\> https://fabrizioschiavi.wordpress.com/tag/monospaced-font/ <-- there is this but it isn't free
18:49:45 -!- callforjudgement has joined.
18:52:45 <b_jonas> wait, let me repeat my question
18:52:50 <b_jonas> from some days before
18:52:53 -!- ais523 has quit (Ping timeout: 260 seconds).
18:54:02 <b_jonas> if I NFC resp NFD normalize a unicode string, at most how many times its length can it grow, measured in utf-16 code points?
18:54:07 -!- callforjudgement has changed nick to ais523.
18:55:34 <|oren\> i'm not sure. what is the maximum number of diacritics for which a combined glyph esixts?
18:56:17 <|oren\> i found a real typewriter fractur: http://snag.gy/RVLmG.jpg
19:06:24 <|oren\> Hold on: do Hangeul decompose into the letter?
19:06:41 -!- mihow has quit (Quit: mihow).
19:07:53 -!- mihow has joined.
19:09:13 <int-e> |oren\: so what font is that?
19:09:29 <|oren\> http://www.dafont.com/f25-blacklettertypewriter.font
19:09:38 <|oren\> in bold
19:11:08 <|oren\> I am looking through the http://www.unicode.org/charts/normalization/ charts and so far 3 is the maximum for LAitn
19:11:14 <|oren\> *Latin
19:14:04 <|oren\> Hangeul also only decompose into 3 code points at maximum apparently
19:15:12 <|oren\> For NFD that is. for KC or KD you can have ㌙ and crap
19:16:45 <|oren\> which decomposes into 5 or 6 code points
19:18:18 <|oren\> 𝅘𝅥𝅲 decomposes under NFD into 3 code points, each outside the bMP so each being two 16 bit codes
19:19:21 <|oren\> looks like my copypasting it decomposed it. it is char 1D164
19:21:15 <|oren\> so under NFD it appears the maximum is an X3 size increase
19:24:18 <|oren\> Under NFKD the maximum i've found is 7 ㈝
19:25:59 <|oren\> Does that answer it b_jonas?
19:27:21 <int-e> \emph{metasepia knows the weather at your nearest airport, and also something
19:27:25 <int-e> about ducks.}
19:27:25 <int-e> hmm.
19:27:47 <int-e> it had a duckduckgo interface, right?
19:27:49 -!- callforjudgement has joined.
19:27:55 <|oren\> Wat. HOLY SHIT: ﷺ <--that decomposes into 18 code points
19:29:56 <int-e> |oren\: it's a pity that the F25 font uses {} for ck and st.
19:30:40 <|oren\> yah. a pity...
19:30:48 -!- ais523 has quit (Ping timeout: 258 seconds).
19:30:52 -!- callforjudgement has changed nick to ais523.
19:31:15 <|oren\> `unicode ﷺ
19:31:37 <|oren\> is that the command?
19:31:45 <HackEgo> U+FDFA ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM \ UTF-8: ef b7 ba UTF-16BE: fdfa Decimal: &#65018; \ ﷺ \ Category: Lo (Letter, Other) \ Bidi: AL (Right-to-Left Arabic) \ Decomposition: <isolated> 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645
19:32:05 <|oren\> SEE? 18 friggin' code points
19:33:06 <int-e> arabic is why they've stopped adding ligatures to Unicode, isn't it?
19:33:29 <|oren\> yah probably
19:34:45 <|oren\> There is this one that should decompose but doesn't
19:35:09 <|oren\> `unicode ﷽
19:35:23 <HackEgo> U+FDFD ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM \ UTF-8: ef b7 bd UTF-16BE: fdfd Decimal: &#65021; \ ﷽ \ Category: So (Symbol, Other) \ Bidi: ON (Other Neutrals)
19:36:04 <|oren\> they probably just decided to stop adding decomposable ligatures
19:38:20 <|oren\> It is also a good thing they never thought to decompose Han characters into radicals.
19:39:07 -!- shikhin has quit (Ping timeout: 250 seconds).
19:39:08 -!- nycs has joined.
19:41:10 -!- `^_^v has quit (Ping timeout: 272 seconds).
20:07:06 -!- Sprocklem has joined.
20:07:39 -!- Patashu has joined.
20:11:37 <b_jonas> |oren\: mostly, though I don't know whether it's enough to count decompositions of single characters, I don't know if there are composed characters that decompose to uglier stuff,
20:11:46 <b_jonas> though most likely single characters give the maximum expansion
20:12:06 <ais523> hmm, |oren\'s nick is making me wonder if it's possible to have a useful Ruby lambda expression as an IRC nick
20:12:25 <b_jonas> |oren\: and I'd also like to know how much NFC can expand, which might be less than how much NFD can
20:13:33 <b_jonas> and I'm specificially asking not about latin nor even about meaningful strings, but more about how much some deliberately meaningless strings that people enter just to make my program choke can expand
20:13:48 <b_jonas> of course if I write the program I'll hopefully add hard limits, but still, I wonder
20:14:18 <b_jonas> the kind of reasonable strings I work with will likely not expand much
20:22:58 -!- nys has joined.
20:25:42 -!- dts|pokeball has quit (Quit: is a client command Fabtasticwill).
20:25:44 -!- Patashu has quit (Ping timeout: 244 seconds).
20:26:45 -!- dts|pokeball has joined.
20:28:48 -!- atslash has joined.
20:31:13 -!- quintopia has quit (*.net *.split).
20:31:13 -!- SirCmpwn has quit (*.net *.split).
20:32:22 -!- quintopia has joined.
20:32:24 -!- SirCmpwn has joined.
20:35:01 -!- ais523 has quit.
20:35:13 -!- ais523 has joined.
21:02:21 -!- esowiki has joined.
21:02:25 -!- esowiki has joined.
21:02:25 -!- esowiki has joined.
21:02:58 -!- esowiki has joined.
21:02:59 -!- glogbot has joined.
21:03:03 -!- esowiki has joined.
21:03:03 -!- esowiki has joined.
21:03:20 -!- nys has quit (Ping timeout: 245 seconds).
21:03:20 -!- nycs has quit (Ping timeout: 245 seconds).
21:03:37 -!- puppy has changed nick to nys.
21:04:35 -!- myname has quit (Ping timeout: 245 seconds).
21:05:22 -!- myname has joined.
21:08:11 -!- Gregor has joined.
21:09:41 <|oren\> ITS HAPPENING AGAIN
21:16:58 <|oren\> oh i guess it's over. Why does it do that?
21:17:58 <ais523> netsplit
21:18:43 <|oren\> how come i never get affected?
21:19:55 <ais523> you might have been, a netsplit is when IRC falls into two separate halves
21:20:01 <ais523> you see everyone in the other half leaving your half
21:20:08 <ais523> looks like you were on the large side this time
21:20:15 <ais523> when you're on the small side, it looks a lot more dramatic
21:20:18 <|oren\> oh i see...
21:20:22 <ais523> but it still looks like it's happening to everyone else, rather than you
21:24:41 <elliott> all I got was
21:24:42 <elliott> 20:30:08 -!- Netsplit *.net <-> *.split quits: SirCmpwn, quintopia
21:24:42 <elliott> 20:31:17 -!- Netsplit over, joins: quintopia, SirCmpwn
21:24:49 <elliott> and a bunch of random ping timeouts and joins that I guess were maybe related?
21:25:35 -!- AndoDaan has joined.
21:41:16 -!- `^_^v has joined.
22:03:18 -!- dts|pokeball has quit (Quit: Leaving).
22:03:40 -!- dts|pokeball has joined.
22:05:35 -!- clog has joined.
22:24:50 -!- Sprocklem has quit (Ping timeout: 255 seconds).
22:26:43 -!- CrazyM4n has joined.
22:30:29 -!- MoALTz has quit (Quit: Leaving).
22:31:53 -!- oerjan has joined.
22:39:28 -!- Sgeo has quit (Quit: No Ping reply in 180 seconds.).
22:39:58 -!- Sgeo has joined.
22:40:04 -!- dts|pokeball has changed nick to dts.
22:43:32 -!- AndoDaan has quit (Quit: bbl).
22:47:58 -!- GeekDude has quit (Ping timeout: 245 seconds).
22:49:00 -!- GeekDude has joined.
23:02:26 -!- idris-bot has quit (Quit: Terminated).
23:02:44 -!- idris-bot has joined.
23:04:02 -!- adu has quit (Quit: adu).
23:10:53 -!- Sgeo has quit (Quit: No Ping reply in 180 seconds.).
23:11:21 -!- Sgeo has joined.
23:11:52 -!- boily has joined.
23:12:51 <|oren\> Eureka! everything is an array!
23:13:48 <oerjan> |oren\: but is it as dense as gold?
23:14:25 <|oren\> using () for subscripts, I(0)+I(1) would make sense
23:15:58 <|oren\> of course! what was i thinking, a language called csrip7 should have sub/superscripts.
23:16:11 <oerjan> a BASIC observation
23:16:29 <oerjan> good, good
23:17:55 <boily> he||oren.
23:17:58 <boily> hellørjan.
23:20:51 <boily> byerjan.
23:20:58 <boily> orenvoir.
23:21:07 -!- boily has quit (Quit: FISSILE CHICKEN).
23:25:06 <cluid> any cool esolangs
23:25:25 <`^_^v> no :(
23:25:31 <CrazyM4n> none of them are cool
23:25:32 <CrazyM4n> sorry
23:25:47 <cluid> :(
23:26:22 <|oren\> lololol treehugger is cool? it's cool how its address space is more infinite than the integers.
23:26:47 -!- dts has changed nick to BillsPC.
23:26:56 <cluid> thanks :)
23:26:58 <oerjan> i'm sorry but it's still countable hth
23:27:05 <CrazyM4n> cluid: Befunge is my favorite
23:27:06 <|oren\> it is?
23:27:50 <|oren\> oh i see, you number them in ternary with ^>< as gitis
23:27:53 <cluid> ill haev a look at befunge
23:27:54 <|oren\> *digits
23:29:18 -!- Phantom_Hoover has joined.
23:29:38 <|oren\> are there any esolangs with uncountable memory space?
23:29:43 -!- BillsPC has changed nick to dts|pokeball.
23:29:49 <oerjan> maybe Gravity counts
23:30:21 <shachaf> oerjan: |oren\ asked for something uncountable hth
23:30:51 <oerjan> it's rather hard to get to an arbitrary address in an uncountable space using finite commands
23:31:15 <shachaf> well offering things that count certainly isn't going to help
23:31:31 <oerjan> just because it counts doesn't mean it can be counted
23:32:02 <|oren\> blah what?
23:32:26 <oerjan> |oren\: shachaf is trying to tempt me with puns hth
23:32:44 <shachaf> i really thought i had a shot there
23:33:02 <oerjan> shachaf: you were close.
23:33:27 <|oren\> I am still using a blackletter font in my terminal
23:33:42 <|oren\> i am getting used to it
23:34:52 <|oren\> Oh, how about if you have a tree of countably infinite branching rate?
23:35:45 <|oren\> E.g. a version of Treehugger where <N> is a command for arbitrary N.
23:36:13 <cluid> |oren\, if you look at the brainfuck algorithms page there is an emergent language there: brainfuck with 'varibales'
23:37:15 -!- `^_^v has quit (Quit: This computer has gone to sleep).
23:39:13 <elliott> a brainfuck with real tape indices would be fun
23:41:13 <CrazyM4n> BF with a real tape
23:41:26 <CrazyM4n> That would be great
23:41:31 <oerjan> |oren\: blackletter? i thought you were using that heart thing? or am i confusing you with someone else.
23:41:38 <elliott> or how about BF with the tape representing one real
23:41:45 <elliott> in normal BF only a finite subset of the tape is ever non-zero
23:41:54 <elliott> so you'd have to come up with operations that work on the entire tape
23:42:13 <|oren\> oerjan: i was using cursive with cute hearts now I'm using blackletter
23:42:37 <elliott> (s.t. the possible tapes get the cardinality \Beth_1)
23:42:52 <oerjan> elliott: hm for that to be weird enough you'd need <> variants that multiplied by something other than a power of 2
23:43:04 <elliott> for which?
23:43:23 <elliott> you'd need to be able to do sufficiently fancy enough operations on the tape pointer for it to actually be a real, yes
23:43:32 <oerjan> although a real still doesn't give you infinite tape both ways
23:43:40 <elliott> (I suppose it's pretty much inevitably a subset of the reals because most of them are indescribeable)
23:43:59 <elliott> (unless you had a command to set the tape pointer to something uniformly random in [0,1) >:) )
23:44:28 <elliott> it would be cool if the tape was continuous
23:44:39 <elliott> like instead of a value being at exactly one real index it sort of diffused throughout an interval
23:45:38 <elliott> like you could have a value 128.4 at 1 that would decay with the inverse square law at indices above/below that. and so values in different but close positions would interfere with each other. or something
23:45:45 <elliott> where's my nobel prize
23:46:08 -!- ZombieAlive has quit (Remote host closed the connection).
23:46:50 <oerjan> elliott: this sounds familiar.
23:47:23 <oerjan> i think there is such a bf derivative already
23:47:26 <elliott> yeah
23:47:33 <elliott> that is because all bf derivatives exist
23:47:45 <elliott> it's just a matter of uniquely identifying which one you're referring to
23:47:51 <|oren\> it is the esolang version of rule 34
23:47:51 <elliott> thanks, plato
23:48:01 <oerjan> i mean one that has been discussed in channel, although not necessarily put on the wiki
23:48:17 <elliott> yes, I agree
23:48:26 <elliott> it's one of those things where I think I'm inventing but am probably actually just remembering
23:50:47 <int-e> mwhaha http://int-e.eu/~bf3/tmp/fmono.png
23:51:25 <|oren\> fmono?
23:52:24 <oerjan> int-e: you know i think monospace blackletter is like epic missing of the point
23:53:16 <int-e> I did something slightly crazy. I started with UnifrakturMaguntia, and fontforge, and produced http://int-e.eu/~bf3/tmp/UnifrakturMonospace.ttf in a process that will make every font designer weep :P
23:53:53 <int-e> (basically reducing the width of capital letters by 60%, except for M and W which were reduced by 50%, plus minor adjustments throughout.)
23:54:06 -!- oerjan has set topic: The font of madness | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
23:54:45 <int-e> oerjan: yes, it's completely missing the point, which *may* be the reason why so few of those fonts actually exist ;-)
23:55:53 <CrazyM4n> int-e: is that irssi?
23:55:59 <oerjan> now get microsoft to support it as default
23:56:07 <int-e> CrazyM4n: that's emacs.
23:56:10 <cluid> Has anyone been able to write interesting programs in Treehugger?
23:56:18 <shachaf> `quote
23:56:21 <cluid> I would really like to see its potential used
23:56:25 <CrazyM4n> of course it's emacs
23:56:33 <HackEgo> 101) <oerjan> alise: mainly it's the fact it blows so hard i cannot avoid hitting the walls of the thing, which completely goes against my basic public toilet hygiene principles
23:56:36 <CrazyM4n> how could I be so naïve
23:57:32 <olsner> hmm, good quote, makes you simultaneously want and not want to know what it's about
23:57:49 <int-e> oerjan: that said I think that's actually an improvement over http://int-e.eu/~bf3/tmp/forig.png
23:58:01 <int-e> oerjan: and that was the point, more or less.
23:58:05 <oerjan> olsner: it's about the dyson airblade hth
23:58:28 <oerjan> which they had in my once favorite restaurant
23:58:52 <olsner> I see
23:59:03 <|oren\> Ok, so i'll configure my terminal somehow to switch between equally insane fonts at random intervals
23:59:47 <int-e> CrazyM4n: fwiw, if I were actually using emacs in a terminal, the cyan foreground color would be different.
23:59:54 <cluid> Has anyone had any IDEAS for it?
2014-12-16
00:00:43 <CrazyM4n> int-e: I wouldn't know, I don't use emacs (or vim either, to avoid starting arguments :P)
00:01:27 <int-e> Just use $EDITOR, nuff said.
00:01:53 <|oren\> ed is the standard editor
00:02:04 <cluid> ill ask later..
00:02:10 <int-e> I *can* use ed to make simple edits.
00:03:03 <CrazyM4n> http://i.imgur.com/SS87Vwe.png I regret trying ed
00:03:12 <|oren\> anyone who knows vi well can use ed if they remeber which commands are new in vi
00:03:16 <int-e> CrazyM4n: q
00:03:32 <int-e> CrazyM4n: possibly q! or Q if you actually managed to edit anything.
00:03:54 <|oren\> ed man! man ed
00:03:55 <CrazyM4n> I was in /dev with no root I think I'm safe
00:04:24 <int-e> yes, ed is world-renown for its informative error messages.
00:04:30 <int-e> renowned.
00:04:35 <|oren\> use H hth
00:05:34 <olsner> ctrl-d seems to work to quit too (unless you've managed to get into some weird mode first)
00:06:06 * olsner just made a two-line text file in ed!
00:06:11 <|oren\> the easiest editor is cat. sometimes i write whole programs with cat.
00:07:18 <shachaf> binary search is so annoying to implement hth
00:07:42 <|oren\> call bsearch hth
00:07:55 <cluid> cat isn't a very good editor since you can't go back
00:08:01 <cluid> (imo)
00:08:27 <|oren\> cluid: that is why you must make up for it by being a great programmer!
00:08:43 <cluid> i sort of want to make an editor now
00:08:52 <cluid> similar to cat but more advanecd
00:09:13 <int-e> CrazyM4n: http://sprunge.us/RERS - it's just vi without the visual ;-)
00:09:15 <elliott> cluid: you can go back on the same line
00:09:20 <elliott> that's pretty advanced
00:09:21 <cluid> wow!
00:09:24 <cluid> I didny know that
00:09:32 <elliott> yeah because terminals are line-buffered
00:09:34 <|oren\> using backspace
00:09:42 <elliott> did I just boost your workflow
00:09:46 <elliott> tripled your productivity
00:11:06 <oerjan> surely 'sed -i' is the ed-derivative of choice
00:12:34 <CrazyM4n> int-e: Ed is actually, you know, kinda cool
00:12:43 <CrazyM4n> It looks like it, at least
00:13:55 <elliott> once I did some editing with ed just so I could say I did
00:14:28 <elliott> it's a good very bad editor. if you'd like a very bad editor I recommend ed
00:14:37 <|oren\> ok, i am now working on a crude editor which i shall call kitten.
00:14:46 <Phantom_Hoover> elliott, how does it compare to teco
00:15:13 <elliott> uhh
00:15:16 <CrazyM4n> #esoteric-text-editors
00:15:20 <elliott> I think teco was less horrible to use but weirder
00:16:02 <Phantom_Hoover> so i looked at the teco manual
00:16:04 <Phantom_Hoover> <^G><^G>Deletes the entire command string
00:16:04 <Phantom_Hoover> <^G><space>Types current line of command string
00:16:11 <Phantom_Hoover> definitely two commands you want close together
00:16:39 <oerjan> the mud i played back in 1992 or so had an internal editor that was ed-like. that was my gateway drug to vi.
00:18:11 <elliott> gateway drugs are meant to be towards worse things
00:18:24 <oerjan> OH
00:18:24 <elliott> that's more like you kicked your meth habit to smoke weed
00:18:32 <int-e> oerjan: was it an lpmud?
00:18:36 <oerjan> int-e: indeed
00:19:22 <int-e> that ed actually produced helpful (well, sometimes) error messages :)
00:19:36 <CrazyM4n> I just realized how many gateway drugs I must have taken to get to liking esolangs
00:21:31 <|oren\> Forth, Scheme and APL are on the edge...
00:21:33 <oerjan> CrazyM4n: completely scrambled your brain, man
00:22:22 <oerjan> |oren\: hm i may have known about all those (possible another lisp instead) before starting esolanging
00:22:24 <CrazyM4n> Quick unrelated question - how do I get to emacs without a GUI (in the terminal)
00:22:35 <cluid> I don't really think so
00:22:41 <cluid> scheme seems like a completely reasonable programming language
00:22:50 <cluid> and so does forth too, but for a very specialized purpose
00:22:51 <oerjan> CrazyM4n: emacs should be a command?
00:23:02 <CrazyM4n> It starts the X version
00:23:06 <cluid> APL of course was used quite practically but only long ago
00:23:29 <oerjan> CrazyM4n: DISPLAY= emacs perhaps?
00:23:32 <CrazyM4n> RIP APL
00:23:36 <elliott> emacs -nw
00:23:36 -!- mihow has quit (Quit: mihow).
00:23:45 <CrazyM4n> ehthanks
00:23:47 <CrazyM4n> *thanks
00:23:49 <oerjan> (i guess elliott gave the better option)
00:24:10 <CrazyM4n> time to learn emacs
00:24:26 <|oren\> cluid: the point is the
00:24:37 <CrazyM4n> Anyway, my gateway drug to programming was http://roblox.com/ (ofc)
00:24:49 <|oren\> "standard languages"are all ALGOL derivatives
00:25:06 -!- mihow has joined.
00:25:07 <|oren\> that is, at heart they are imperative
00:25:20 <CrazyM4n> http://i.imgur.com/GI6YACB.png Aaa what did I do
00:25:26 <cluid> scheme is an algol derivative
00:25:33 <|oren\> and they use a complex syntax
00:25:40 <cluid> that's why they call it the algolrithmic language scheme
00:25:54 <|oren\> scheme is not really, because its syntax is lisp
00:26:33 <|oren\> it might have some distant borrowings, but at heart it is functional and lispy
00:26:51 <oerjan> |oren\: i take it you prefer FORTRAN syntax then *runs and hides*
00:27:06 <oerjan> or COBOL
00:27:07 <CrazyM4n> I prefer assembly syntax /s
00:28:08 <Phantom_Hoover> doesn't BCPL -> B -> C form its own lineage
00:28:27 <|oren\> oerjan: i actually like scheme, but i like it because it is different from the other languages i know
00:28:34 <elliott> cluid: actually it's because scheme was generated by an algorithm
00:29:12 <|oren\> Phantom_Hoover: yes, but it ultimately derives from Fortran through ALGOL
00:29:31 <elliott> sussman was the name of guy l steele's computer
00:29:56 <|oren\> but most modern ALGOL derivatives derive from C it's true
00:29:58 <Phantom_Hoover> well, wp gives an algol -> cpl -> bcpl derivation anyway
00:30:16 <cluid> lol elliott
00:30:20 <Phantom_Hoover> (i've been reading too much hatcher, i keep trying to parse that as an exact sequence of programming languages)
00:30:46 <oerjan> Phantom_Hoover: so what's the kernel of algol
00:31:07 <Phantom_Hoover> whatever they didn't put into cpl i guess
00:31:40 <oerjan> Phantom_Hoover: that would mean that bcpl consists of precisely the parts of cpl that were orthogonal to algol
00:31:47 <elliott> (hence conjuring the spirits of the computer with our spells)
00:31:47 <Phantom_Hoover> exactness means they threw away everything from algol when they made bcpl, yes
00:34:29 <oerjan> they should have called programs spells and then lint would be a spell checker
00:35:15 -!- mihow has quit (Quit: mihow).
00:35:16 <|oren\> oerjan: from now on i will refer to programs as spells
00:35:29 <oerjan> good, good
00:35:49 <Melvar> There are at least two canons where spells are effectively programs.
00:36:27 <nys> invoke
00:36:33 <|oren\> Suzumiya Haruhi no Yuutsu is one.
00:36:43 <elliott> sicp isn't a canon
00:36:46 <elliott> what am I saying, yes it is
00:36:59 <Phantom_Hoover> no it's not, you can't shoot a canonball out of it
00:37:11 <oerjan> spell invocation canonically presented
00:38:50 <oerjan> by Caine Steelman
00:40:43 <oerjan> hm i'm severaly mixed up there
00:41:18 <cluid> i cant decide what to work on
00:41:22 <cluid> programmign related thing..
00:42:20 -!- azazel_ has joined.
00:42:48 <CrazyM4n> ugh how can you remove a program that came with an install script
00:43:09 <cluid> run the installer backwards
00:43:16 <CrazyM4n> Genius
00:44:20 <CrazyM4n> Aaaand it did nothing
00:47:46 <oerjan> hm someone should make a solution for clean uninstalls once and for all
00:47:54 <Phantom_Hoover> write all installers in burro hth
00:48:06 <oerjan> (uninstalls of uncooperative software, that is)
00:48:12 <int-e> . o O ( this is why I typically install software in a dedicated subdirectory in /opt ... which I can then just remove completely.)
00:48:23 <elliott> oerjan: it's called a virtual machine :P
00:48:39 <CrazyM4n> Well, since I can't uninstall this at all
00:48:40 <elliott> `welcome azazel_
00:48:49 <oerjan> eek
00:48:49 <HackEgo> azazel_: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
00:48:50 <CrazyM4n> I'm going to install the version form the repo and hope to god that it overwrites the last one
00:48:52 <oerjan> oh
00:49:03 <Phantom_Hoover> what's the overhead like on running every installed program on a separate vm?
00:49:15 <oerjan> elliott: that sounds very course-grained
00:49:15 <elliott> Phantom_Hoover: depends what kind of VM, honestly
00:49:18 <elliott> @google qubes os
00:49:19 <lambdabot> https://qubes-os.org/
00:49:22 <elliott> there's also things like
00:49:25 <elliott> @google sandboxie
00:49:26 <lambdabot> http://www.sandboxie.com/
00:49:26 <lambdabot> Title: Sandboxie - Sandbox software for application isolation and secure Web browsing
00:49:28 <oerjan> *coarse
00:49:29 <CrazyM4n> How do you do that? Installing programs into a specific folder
00:49:30 <elliott> (can't vouch for the security)
00:49:35 <azazel_> `relcomw azazel_
00:49:36 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: relcomw: not found
00:49:36 <int-e> oerjan: ah. I was wondering...
00:49:38 <oerjan> *c[aeiou]*rse
00:49:41 <Jafet> With proper paravirtualization, the computing overhead is minimal
00:49:45 <azazel_> darn you w
00:49:53 <Jafet> However, there is the human overhead
00:50:06 <cluid> I use a chroot for some programs
00:50:06 <azazel_> `relcome azazel_
00:50:06 <CrazyM4n> Dang, overwriting it didn't do anything
00:50:08 <CrazyM4n> Srs tho
00:50:08 <HackEgo> azazel_: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
00:50:10 <cluid> that only abstracts away the filesystem
00:50:12 <azazel_> Thur
00:50:16 <cluid> 'abstracts' is the wrong word..
00:50:17 <azazel_> Purdy
00:50:43 <elliott> if all you care about is uninstalls you can just use linux namespace type things or even just chroots yeah
00:51:20 <int-e> hah, lunatic monster...
00:51:27 <Phantom_Hoover> i now pronounce chroot in my head as 'cheroot'
00:51:55 <Jafet> The revolutionary Che Root (now jailed)
00:52:00 <oerjan> `` elcomew azazel_ | rainwords
00:52:00 <HackEgo> bash: elcomew: command not found
00:52:08 <int-e> yes, we do have a lunatic monster to destroy. oh and a train that's wreaking havoc in the monastery.
00:52:14 <oerjan> `` emoclew azazel_ | rainwords
00:52:15 <HackEgo> (.ten.lad.cri no ciretose# yrt ,aciretose fo dnik rehto eht roF) .>/gro.sgnalose//:ptth< :ikiw ruo tuo kcehc ,noitamrofni erom roF !tnemyolped dna ngised egaugnal gnimmargorp ciretose rof buh lanoitanretni eht ot emocleW :_lezaza
00:52:39 <azazel_> Im done
00:52:44 <elliott> .>/gro.sgnalose//:ptth<
00:52:45 <int-e> (my last two comments may not make sense if your name isn't oerjan.)
00:53:03 <elliott> int-e: I figured out the context pretty quickly
00:53:12 <elliott> bring back people talking about DF and homestuck in here without warning imo
00:53:17 <azazel_> That bot is amazing
00:53:25 <Melvar> Phantom_Hoover: Where’s the ‹e› come from?
00:54:06 <Phantom_Hoover> phonetics, whimsy
00:54:58 <oerjan> int-e: bets on whether he intends to fulfil that promise
00:55:15 <oerjan> and if so, what's the catch
00:55:43 <oerjan> hm i guess he'd want the book back.
00:55:57 <azazel_> Im dumb
00:56:05 <Melvar> Phantom_Hoover: I say it without. Like “Groot” but with the ‹g› replaced by a ‹ch›.
00:56:07 <azazel_> Compared to you guys
00:56:20 <elliott> ch like in bach root
00:56:24 <cluid> azazel_, what is the dumbest thing you have ever done
00:56:51 <azazel_> Gotta think
00:57:06 <azazel_> Locked myself out of my house
00:57:24 <cluid> that's it??
00:58:06 <azazel_> Also in code i, Made an infinite looper in my bot and it spammed a site and i didnt put anything to stop it in and i got banned ;-;
00:58:09 <elliott> what's yours cluid
00:58:25 <int-e> oerjan: hmm, the book. where did the book end up? http://www.girlgeniusonline.com/comic.php?date=20141210 looks like a magic trick, lots of diversions and poof, the book is gone.
00:58:49 <cluid> haha
00:58:52 <cluid> im not sure
00:58:53 <int-e> oerjan: anyway, I think there'll be a catch that has nothing to do with the book; perhaps he'll send somebody with her.
00:59:05 <elliott> cluid: maybe it was forgetting it
00:59:06 * azazel_ watches from afar
00:59:10 <int-e> oerjan: and by "will" I mean "intends to"
00:59:16 <elliott> btw welcome back dulnes
00:59:22 <Phantom_Hoover> the other day i left the bag with all my diving stuff on a harbour somewhere
00:59:28 <Phantom_Hoover> still kicking myself for that
00:59:32 <int-e> oerjan: because it's not clear to me yet that the monks will cooperate in this plan :)
01:01:34 <oerjan> yeah a monk rebellion does not seem unlikely
01:01:53 <oerjan> except, he does have an army there.
01:01:56 <azazel_> I should go back to the wiki and look at some haskell stuff cuz i want to be good in it.
01:02:07 <oerjan> so probably not too overtly.
01:03:04 <int-e> oerjan: "fine distraction" ;)
01:04:08 <int-e> Anyway, the outcome is wide open. First they'll have to catch that train, and that'll be more fun if as many sparks as possible are involved. :)
01:04:24 <oerjan> good point
01:04:57 <int-e> backstabbing, later.
01:07:48 <int-e> speaking of which, I wonder whether henkma will produce a 79 characters Collatz parity entry...
01:09:04 <oerjan> oh well i guess violetta took care of it, then. btw do you know if that monster on friday's page is a cameo from somewhere? it feels familiar.
01:09:19 <int-e> (he has three more spaces in their than I have, and only one can be attributed to a ; in my code)
01:09:55 <oerjan> well i dunno, i haven't tried that one
01:10:19 <oerjan> or wait, i did
01:10:35 <oerjan> currently at 93 chars
01:14:21 <int-e> oerjan: Oh cameo, I didn't think of that ... hmmm.
01:26:22 -!- callforjudgement has joined.
01:28:25 -!- ais523 has quit (Ping timeout: 264 seconds).
01:33:38 -!- cluid has quit (Quit: Leaving).
01:47:12 -!- CrazyM4n has quit (Quit: internet lag).
01:51:21 -!- dts|pokeball has quit (Ping timeout: 250 seconds).
01:53:25 -!- callforjudgement has quit (Read error: Connection reset by peer).
01:53:41 -!- callforjudgement has joined.
01:55:19 -!- bobobobo has joined.
02:03:44 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:07:11 -!- bb010g has joined.
02:10:36 <shachaf> `? category
02:10:37 <HackEgo> Categories are just a special case of bicategories.
02:10:39 <shachaf> `? bicategory
02:10:40 <HackEgo> Bicategories are just categories where composition is only associative up to an isomorphism.
02:10:46 <shachaf> that's not very useful hth
02:10:55 <shachaf> or even true?
02:14:42 <|oren\> it can't be true, i can tell that even though i know nothing about whatever this is
02:15:04 <|oren\> two things can't be special cases of each other
02:15:26 <shachaf> fortunately the bicategory entry doesn't say it's a special case of a category
02:16:12 <|oren\> it basically does? it says they are "just categories" except for some behaviour that is limited
02:16:57 <shachaf> in a category composition is really associative. in a bicategory it's only associative up to isomorphism, which is more general.
02:17:01 <shachaf> that's not my objection
02:17:13 -!- scarf has joined.
02:17:14 <|oren\> i see.
02:20:45 -!- callforjudgement has quit (Ping timeout: 265 seconds).
02:25:50 <|oren\> shachaf: it looks like WP says bicategories are "weak 2-categories". if that's the case and not all categories are 2-categories, then there are categories that aren't 2-categories, and therefore aren't bi-categories
02:26:03 -!- CrazyM4n has joined.
02:35:47 -!- adu has joined.
02:37:04 <|oren\> shachaf: am i on the right track here?
02:42:14 <|oren\> ok, so it appears there are two usages of "category", on means things only with arrows between classes, and one means things with arbitrary levels of meta-arrows between arrows. in either case, there are categories that aren't 2-categories
02:44:48 <oerjan> i vaguely think categories are 1-categories
02:45:30 -!- bobobobo has quit (Quit: Leaving).
02:50:00 <azazel_> HhOw do you keep annxiety attacks away?
02:50:30 <CrazyM4n> Meditate?
02:50:41 <azazel_> Wrong chhanel ssory
03:07:26 <int-e> . o O ( don't worry )
03:08:21 -!- glguy_ has joined.
03:08:50 <CrazyM4n> Malbolge seems to help with anxiety and stress
03:09:43 <azazel_> Im ok now.
03:09:57 <azazel_> And no CrazyM4n thats not helpful at all
03:11:16 -!- adu has quit (Quit: adu).
03:11:58 <CrazyM4n> D:
03:16:58 <azazel_> It says on the wiki most difficult langauge ever created
03:17:02 -!- ais523 has joined.
03:17:08 -!- scarf has quit (Read error: Connection reset by peer).
03:20:44 <|oren\> By that logic, BASIC keeps anxiety attack away.
03:21:13 <CrazyM4n> I was thinking of other infuriating things to do
03:21:27 <CrazyM4n> And I thought of multi-platform bytecode polyglots
03:21:28 <CrazyM4n> D:
03:33:38 <newsham> too busy debugging to worry about anxiety attacks?
03:35:26 <azazel_> Im new to estoric stuff CrazyM4n and i have no idea what you just said
03:36:20 <CrazyM4n> Bytecode, like the stuff executables are made out of
03:36:23 <CrazyM4n> Compiled files
03:36:26 <CrazyM4n> Like .exes
03:36:46 <CrazyM4n> What if you hand created a .exe that works on multiple different architectures
03:37:03 <CrazyM4n> Now that'd be anxiety inducing :P
03:37:13 <HackEgo> [wiki] [[Deadfish]] M http://esolangs.org/w/index.php?diff=41476&oldid=41465 * Oerjan * (-5) /* StaPLe */ Remove extra spaces
03:38:03 <oerjan> CrazyM4n: one main problem might be different magic numbers. but i don't know.
03:39:53 -!- AndoDaan has joined.
03:40:08 <CrazyM4n> Probably, but that'd have to be changed
03:40:16 <HackEgo> [wiki] [[Truth-machine]] M http://esolangs.org/w/index.php?diff=41477&oldid=41472 * Oerjan * (+1) /* StaPLe */ Add one
03:40:47 <CrazyM4n> There could be a loophole
03:41:05 <CrazyM4n> Or, you can force linux to execute it by running chmod +x afaik
03:42:05 <oerjan> um that's not what chmod +x does
03:42:27 <oerjan> or rather, it _never_ executes it if it's not, so it has nothing to do with the format
03:43:16 <CrazyM4n> Well
03:43:23 <CrazyM4n> Yeah, but I'm pretty sure that it'll execute it anyway
03:43:28 <CrazyM4n> If it's marked as executable
03:43:35 <CrazyM4n> Let me try something
03:43:37 <oerjan> something like this has been discussed here before. iirc DOS .com files have no magic number
03:43:49 <CrazyM4n> And people write .com files by hand, don't they?
03:44:00 <pikhq> CrazyM4n: Not often, but some people do, sure.
03:44:01 <oerjan> it happens
03:44:05 <pikhq> oerjan: Yep.
03:44:15 <pikhq> A .com file has no magic number and no real structure.
03:45:04 <int-e> "programmer defined structure"
03:46:33 <oerjan> i expect windows may get away with it because it cares about file extensions for executables, unlike linux
03:47:05 -!- nys has quit (Quit: quit).
03:47:18 <CrazyM4n> Oh yeah, com files were just instructions
03:47:24 <CrazyM4n> That actually *could* work
03:49:01 <oerjan> `` echo fnord >test; chmod +x test; ./test
03:49:04 <pikhq> oerjan: Also, all *other* executable file formats actually have magic numbers on Windows.
03:49:07 <CrazyM4n> So, I was gonna prove a point about every file on linux being maybe runnable
03:49:13 <oerjan> pikhq: ok
03:49:15 <HackEgo> ​./test: line 1: fnord: command not found
03:49:17 <CrazyM4n> So I tried chmod +x'ing a .png
03:49:27 <oerjan> oh duh
03:49:28 <CrazyM4n> http://i.imgur.com/gqk8OIt.png I almost want to know what that bottom error means
03:49:30 <CrazyM4n> *Almost*
03:49:46 <oerjan> CrazyM4n: the shell tries to run it as a shell script.
03:49:51 <int-e> shiny https://en.wikipedia.org/wiki/Fat_binary#Combined_COM-style_binaries_for_CP.2FM-80_and_DOS
03:49:53 <pikhq> Oh, that's pretty normal weirdness.
03:49:55 <CrazyM4n> I saw that
03:50:04 <oerjan> but iirc that doesn't work if it isn't run from a shell
03:50:08 <pikhq> oerjan: Actually, it's the libc.
03:50:14 <oerjan> pikhq: oh.
03:51:22 -!- adu has joined.
03:51:59 -!- glguy_ has quit (Quit: Part).
03:52:03 <pikhq> Basically, all the exec functions but execve run a program in the shell if they don't parse as normal executables.
03:52:12 <oerjan> CrazyM4n: i think you got some zalgo in your png hth
03:53:18 <CrazyM4n> http://i.imgur.com/SWem1kZ.png S͉̜͓͉̳͕o̝͕̣̼͔ ̧͍̘̤̘ͅmu̖͇̳̤̤c͚̜̦̩͚̭̖h͙ ̝͈͈̟̬͖̬z̳͜a̛l͇͉͍͔̥̖̳g̮̤̙̤ͅǫ͖͍
03:53:43 <oerjan> pikhq: at least that means there is a test for "normal executable" that may fail.
03:54:06 -!- glguy_ has joined.
03:55:34 -!- nisstyre has quit (Changing host).
03:55:34 -!- nisstyre has joined.
03:57:15 <pikhq> Yes. The kernel checks for an ELF header, the a.out header (if enabled), the #!, and any registered alternate binary formats.
03:57:33 <pikhq> And returns an error otherwise.
04:02:28 -!- adu has quit (Remote host closed the connection).
04:07:47 -!- Sprocklem has joined.
04:13:50 <azazel_> Eye sea watt yew did their
04:17:43 -!- glguy_ has quit (Quit: Computer has gone to sleep.).
04:19:25 -!- glguy_ has joined.
04:24:19 * pikhq loves that the kernel has alternate binary format support, FWIW
04:25:47 <int-e> it has sooo many switches to disable.
04:35:38 -!- drdanmaku has quit (Ping timeout: 244 seconds).
04:35:52 -!- drdanmaku has joined.
04:36:00 -!- glguy_ has quit (Quit: Computer has gone to sleep.).
04:36:12 <Sgeo> https://www.reddit.com/r/geek/comments/2pcyy0/letters_by_computer/
04:39:16 <GeekDude> aw dangit
04:39:27 <GeekDude> I have my client to notify me whenever someone says "geek"
04:40:19 <GeekDude> 7-bit word D:
04:42:11 -!- oerjan has quit (Quit: Nite, dammit).
04:50:36 <CrazyM4n> lol
04:52:38 <CrazyM4n> You know I'm just gonna follow you around random channels and mention the word geek, now, GeekDude
04:52:47 <GeekDude> >.<
04:53:06 <GeekDude> I already get so many hilights from people mentioning geek squad in various help channels
04:53:28 <CrazyM4n> heh
04:54:04 <CrazyM4n> OH CRAP KSP BETA RELEASED TODAY
04:54:11 <CrazyM4n> Time to waste my life away
04:54:15 <GeekDude> :O
04:54:20 <GeekDude> I've never played KSP
04:54:27 <GeekDude> oh, also, I got my robots to do a new interesting thing
04:54:46 <CrazyM4n> That interesting thing is?
04:55:52 <CrazyM4n> Gosh you can't just leave me hanging
04:56:14 * GeekDude leaves CrazyM4n hanging
04:56:26 <CrazyM4n> D:
04:56:44 <GeekDude> Basically, I'm in the process of rewriting a very old piece of software
04:56:54 <GeekDude> Said software was written for *shocker* Windows 98
04:57:03 <GeekDude> I'm rewriting it for linux
04:57:36 <GeekDude> Said software allows you to drive your little yellow LEGO Mindstorms RCX robot around remotely, with a webcam feed
04:58:05 <GeekDude> I've got a php script that allows me to control the bot
04:58:18 <GeekDude> and a passable webpage
04:58:27 <GeekDude> so now I've just gotta figure out webcam stuff, and I'm golden
04:59:10 <GeekDude> I can click a button on my website and make the robot move
04:59:22 <GeekDude> I've got sliders for speed and duration
04:59:56 <CrazyM4n> Sweet
05:00:00 <GeekDude> so far the website looks like this https://db.tt/GcRRnQTx
05:00:15 <GeekDude> The image on the left will be a feed from on the robot, the image on the right will be from overhead
05:00:16 <CrazyM4n> Link to the original program?
05:00:33 -!- glguy_ has joined.
05:01:00 <GeekDude> http://www.brickvista.com/features/redRover/redRover.html
05:01:30 <CrazyM4n> Hmm
05:01:42 <CrazyM4n> How are you rewriting it?
05:02:01 <CrazyM4n> Are you disassembling it? Or intercepting the signals? Or what?
05:02:48 <GeekDude> Careful study of existing reverse-engineered protocol specs
05:03:01 <GeekDude> http://www.mralligator.com/rcx/
05:04:13 <CrazyM4n> Seems nifty
05:04:20 <GeekDude> As far as I know, we're the last people actually using red rover
05:04:48 <CrazyM4n> "we're"? Is this for some sort of research project or something?
05:05:08 <GeekDude> Sortof
05:05:17 <GeekDude> I have a long backstory if you wanna hear it
05:05:43 <CrazyM4n> Sure
05:06:35 <GeekDude> So, in 2010 I joined a "FIRST LEGO League" robotics team. The idea is that you build robots out of LEGO Mindstorms sets that do a certain set of tasks
05:07:02 <CrazyM4n> Oh? So did I
05:07:16 <GeekDude> through this, I met our (now sadly deceased) local LEGO fanatic
05:07:44 <GeekDude> Before her passing, however, I became one of her biggest assistants
05:08:14 <GeekDude> One of the things that she did was run the Red Rover on our local college website
05:08:39 <GeekDude> However, we eventually lost funding and it was moved to one of my friends house
05:09:49 <GeekDude> Since then, the original owner of the Red Rover setup has passed, as I mentioned above
05:11:43 <CrazyM4n> I'd assume that model isn't really supported by anything anymore?
05:11:54 <GeekDude> So now my friend and I are the official caretakers of the red rover
05:12:04 <GeekDude> The RCX?
05:12:32 <GeekDude> Interestingly enough, there are drivers for it included in the linux kernel
05:12:51 <CrazyM4n> Specifically for it? Or just generic ones that work with it?
05:12:59 <GeekDude> Specifically for it
05:13:09 <CrazyM4n> Also, that story was actually pretty depressing
05:13:11 <GeekDude> It's bizarre
05:13:29 <CrazyM4n> So can't you just use those? Or look at their source, at least
05:14:20 <GeekDude> The drivers just let you control the "IR Tower", but the actual information you send is up to yo
05:14:22 <GeekDude> you*
05:14:38 <CrazyM4n> Huh, that is quite weird
05:16:40 <GeekDude> Anyways, seeing as windows 98 desktop is a relatively bad platform for a webserver, I figured it needed an overhaul of some kind
05:16:59 <GeekDude> And since I actually have a bit of experience in web development, I figured I'd give it a go
05:18:49 <CrazyM4n> Seems like quite a nice project
05:20:24 <GeekDude> Seems like a very esoteric project to me
05:20:50 <GeekDude> I'm also reminded of this XKCD https://xkcd.com/1095/
05:22:10 <CrazyM4n> Heh
05:22:40 <CrazyM4n> Now we just need a group of one or two people focused on hacking the motors in it.
05:22:44 <CrazyM4n> Specifically the motors.
05:23:55 <GeekDude> well, the motors are pretty simple
05:24:08 <GeekDude> They're literally just simple DC motors
05:24:12 <GeekDude> not even servos :/
05:24:19 <J_Arcane_> http://aturingmachine.com/
05:25:22 <GeekDude> J_Arcane_: It won't let me connect
05:25:29 <CrazyM4n> Ooo, I was just browsing the internet and found http://countercomplex.blogspot.com/2011/10/algorithmic-symphonies-from-one-line-of.html
05:25:46 <CrazyM4n> I love stuff like this, creative coding-esq things
05:31:29 -!- Sprocklem has quit (Ping timeout: 250 seconds).
05:32:07 <CrazyM4n> Welp, good night people
05:32:13 <GeekDude> nitr
05:32:15 <GeekDude> nightr
05:32:18 <GeekDude> Goodnight*
05:32:42 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:32:53 -!- CrazyM4n has quit (Quit: "sleep").
05:37:52 -!- AndoDaan has quit (Quit: bbl).
05:56:22 -!- ais523 has quit (Read error: Connection reset by peer).
05:56:34 -!- ais523 has joined.
06:42:56 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
07:03:14 <fizzie> The acoustics lab people had built a shout detector as a gift for a recent graduate, since one of his thesis papers was about shout detection.
07:03:17 <fizzie> It was built around an old army helmet (so that it's "robust"), and included a ring of LEDs around the rim. They lit up green when the wearer spoke, and red when he shouted, and there was also a loudspeaker that played out random samples from the shout corpus they had recorded for the paper when he shouted especially loudly.
07:03:22 <fizzie> All driven by a Raspberry Pi. We (a different research group in the same department) have a tradition of having some kind of a pun or a joke in the group gift, too, but that was a bit more elaborate than the norm.
07:04:44 <Taneb> :)
07:08:05 <fizzie> They also presented him with a "triploma". See, around here you get a diploma when you finish your master's degree, so it makes sense the doctoral degree includes a triploma. (I'm not sure when you get the monoploma.)
07:09:32 <Taneb> Bachelor's degree?
07:09:36 <Taneb> High school?
07:10:42 <fizzie> Probably something like that.
07:10:53 <fizzie> We didn't used to have separate bachelor's degrees.
07:13:04 <shachaf> in hebrew a bachelor's degree is called a "first degree" and a master's degree is called a "second degree"
07:13:18 <shachaf> so this triploma thing seems reasonable
07:13:19 <Taneb> My course at uni isn't separate but I think most in the UK are
07:13:30 <Taneb> Anyway I am off now to get dinner
07:14:24 <fizzie> These days they've "harmonized" things here to include a mandatory distinct bachelor's degree step here too.
07:14:37 <fizzie> Bah, fcolor has broken down again.
07:21:25 -!- glguy_ has quit (Quit: Quit).
07:38:19 -!- callforjudgement has joined.
07:41:09 -!- azazel_ has quit (Quit: Connection closed for inactivity).
07:42:05 -!- callforjudgement has quit (Read error: Connection reset by peer).
07:42:11 -!- scarf has joined.
07:43:26 -!- ais523 has quit (Ping timeout: 264 seconds).
07:43:48 -!- Patashu has joined.
08:24:28 <Sgeo> https://www.youtube.com/watch?v=nZXW_8lHx-E
08:28:16 -!- scarf has quit.
08:49:50 -!- nisstyre has quit (Ping timeout: 265 seconds).
08:57:00 -!- mitchs_ has quit (Read error: Connection reset by peer).
08:57:28 -!- mitchs_ has joined.
09:12:29 -!- Phantom_Hoover has joined.
09:18:16 -!- nisstyre has joined.
09:57:29 -!- ais523 has joined.
10:00:03 -!- shikhin has joined.
10:00:27 -!- shikhin has changed nick to Guest31073.
10:01:17 -!- Guest31073 has changed nick to shikhout.
10:01:22 -!- shikhout has quit (Changing host).
10:01:22 -!- shikhout has joined.
10:01:35 -!- shikhout has changed nick to shikhin.
10:21:08 -!- glguy__ has joined.
10:47:48 <HackEgo> [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=41478&oldid=40775 * 195.74.132.98 * (+41) /* General Ideas */ fertilisation
10:49:59 -!- atslash has quit (Quit: This computer has gone to sleep).
10:52:47 -!- ais523 has quit.
10:55:01 <HackEgo> [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=41479&oldid=41478 * 195.74.132.98 * (+68) /* Based on dimensions */
11:15:12 -!- boily has joined.
11:15:38 -!- atslash has joined.
11:20:41 -!- atslash has quit (Quit: This computer has gone to sleep).
11:31:42 <J_Arcane_> http://wcook.blogspot.fi/2012/07/day-functional-programming-changed.html
11:34:07 <HackEgo> [wiki] [[Talk:Ragaraja]] http://esolangs.org/w/index.php?diff=41480&oldid=33418 * Mauriceling * (+91)
11:37:58 -!- Phantom_Hoover has quit (Ping timeout: 258 seconds).
11:55:58 -!- Patashu has quit (Ping timeout: 256 seconds).
11:56:21 -!- Phantom_Hoover has joined.
11:57:49 -!- dianne has quit (Ping timeout: 244 seconds).
11:59:32 -!- dianne has joined.
12:11:21 -!- Sgeo_ has joined.
12:15:09 -!- Sgeo has quit (Ping timeout: 258 seconds).
12:15:29 -!- mitchs_ has quit (Ping timeout: 260 seconds).
12:15:29 -!- supay has quit (Ping timeout: 260 seconds).
12:15:39 -!- mitchs has joined.
12:15:55 -!- sebbu has quit (Ping timeout: 260 seconds).
12:17:16 -!- ocharles has quit (Ping timeout: 260 seconds).
12:17:20 -!- fungot has quit (Ping timeout: 260 seconds).
12:19:10 -!- ocharles_ has joined.
12:19:41 <boily> hellocharles_!
12:22:35 -!- boily has quit (Quit: HYPERGOLIC CHICKEN).
12:23:51 -!- zemhill has quit (Ping timeout: 260 seconds).
12:27:29 <b_jonas> rello
12:28:08 -!- supay has joined.
12:32:17 -!- singingboyo has quit (*.net *.split).
12:35:17 -!- singingboyo has joined.
12:48:55 -!- |oren\ has quit (Ping timeout: 264 seconds).
12:58:19 -!- sebbu has joined.
12:58:19 -!- sebbu has quit (Changing host).
12:58:19 -!- sebbu has joined.
13:10:34 -!- cluid has joined.
13:15:21 <int-e> is there something like pangrams based on pairs of letters?
13:16:51 <int-e> I guess what I'm after is a text fragment in which every letter pair that appears in dictionary words (to be defined...) actually appears.
13:25:28 -!- GeekDude has joined.
13:34:17 -!- S1 has joined.
13:38:48 -!- oren has joined.
13:40:36 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
13:50:55 -!- shikhout has joined.
13:51:14 -!- oren has quit (Ping timeout: 264 seconds).
13:51:17 -!- shikhout has changed nick to Guest54343.
13:54:20 -!- shikhin has quit (Ping timeout: 272 seconds).
14:04:00 <int-e> I stumbled on this little game, where one gets to kern some words manually. http://type.method.ac/
14:04:19 <int-e> The Internet is a strange place. :)
14:07:20 -!- oerjan has joined.
14:10:02 <S1> I don't get this game
14:10:02 <fizzie> int-e: "Diphonetically complete."
14:10:05 <fizzie> (Not a real term, I just made it up, and anyhow you wanted graphemes instead of phonemes.)
14:10:09 <S1> What does to kern actually mean?
14:10:40 <mroman> !blsq_uptime
14:10:40 <blsqbot> 14d 4m 3s
14:10:50 <oerjan> researchers are allowed to make up terms, it's their job
14:10:57 <S1> Oh now I get it
14:10:59 <fizzie> Also ITYM "one gets to kem some words" hth
14:13:47 <int-e> S1: kerning basically means to adjust the spaces between letters of a word (to make it look evenly spaced to the human eye). This may involve things like moving an e following a T a bit below the T.
14:13:58 <int-e> (disclaimer: I'm not a typographer)
14:14:23 <oerjan> don't listen to int-e he's an accomplished font designer
14:14:25 <J_Arcane_> Yes.
14:14:30 <S1> Yes I got it. Got 66 out of 100 points
14:14:32 <J_Arcane_> AV for instance.
14:14:37 <int-e> fizzie: I don't know what "kem" means, so definitely no.
14:15:34 <elliott> http://www.ironicsans.com/2008/02/idea_a_new_typography_term.html
14:15:50 <elliott> oh my god
14:16:00 <elliott> google messes with the kerning if you search for "kerning" or "keming"
14:16:11 <int-e> elliott: thanks!
14:16:21 <int-e> that does make sense actually.
14:17:10 <int-e> I had 77/100, and I completely failed one of them. Not too impressive.
14:19:11 <paul2520> 59/100. I should try again not on a tablet
14:19:23 <fizzie> elliott: I think I knew that.
14:21:41 -!- sebbu2 has joined.
14:22:00 -!- tromp has joined.
14:22:19 -!- sebbu2 has quit (Changing host).
14:22:19 -!- sebbu2 has joined.
14:22:59 <fizzie> Ooh, I got a 100/100 for one. (It's also a bit clunky on this tablet.)
14:23:05 <int-e> elliott: I'm a bit disappointed though that the merchandise is not using an overlap of an r with an n...
14:23:14 -!- clog_ has joined.
14:23:20 -!- Phantom_Hoover has joined.
14:23:49 -!- glguy___ has joined.
14:24:59 <oerjan> why isn't the pronunciation guide for that link in ipa :(
14:27:51 <fizzie> 83/100 as the final score.
14:28:50 <oerjan> not using ipa these days is the dictionary version of not using unicode. who's with me?
14:29:34 * oerjan prepares to swat those against. except shachaf.
14:30:50 <fizzie> oerjan: In that it's still inexplicably popular not to go IPA/Unicode?
14:31:15 -!- sebbu has quit (*.net *.split).
14:31:15 -!- glguy__ has quit (*.net *.split).
14:31:15 -!- clog has quit (*.net *.split).
14:31:15 -!- tromp__ has quit (*.net *.split).
14:31:16 -!- Lymia has quit (*.net *.split).
14:31:16 -!- ski has quit (*.net *.split).
14:31:26 -!- cluid has quit (Quit: Leaving).
14:31:58 <oerjan> fizzie: something like that.
14:32:25 -!- ski has joined.
14:33:03 <fizzie> E.g. I think Merriam-Webster is anti-IPA.
14:33:08 * oerjan dislikes it whenever he searches for the ipa pronunciation of a word and it doesn't show up in the search excerpt of any of the hits
14:33:44 <oerjan> fizzie: yes. i used to look at them anyway because they're otherwise pretty consistent but last i tried they've managed to make the _pronunciation guide_ unfindable.
14:34:32 -!- Lymia has joined.
14:34:49 <oerjan> iirc their argument is that english pronunciation varies too much by dialect, which i guess isn't entirely unreasonable.
14:34:59 <elliott> I can't read IPA
14:35:14 <elliott> I do better with the OED's system
14:35:24 <fizzie> "This pronunciation respelling key (prə-nun-see-ay-shən ree-spel-ing kee) is used in some Wikipedia articles to spell out the pronunciations of English words. It does not use special symbols or diacritics apart from the schwa, "ə", which is used (for example) for the a in about."
14:36:28 <elliott> maybe I don't mean the OED proper
14:36:39 <oerjan> fizzie: is that managing not to mark the stress tdnh
14:37:22 <fizzie> oerjan: Yes, even though it has a notation for it.
14:37:38 <fizzie> Oh.
14:37:53 <fizzie> Copy-paste obliterated the small caps.
14:38:00 <oerjan> oh
14:38:04 <fizzie> It was there in the original.
14:38:16 <oerjan> good, good, maybe.
14:38:40 -!- Guest54343 has changed nick to shikhout.
14:38:46 -!- shikhout has quit (Changing host).
14:38:46 -!- shikhout has joined.
14:38:48 <elliott> I prefer systems like that for general use, they're more accessible IMO
14:38:52 -!- shikhout has changed nick to shikhin.
14:38:54 <elliott> I doubt I will ever learn IPA
14:40:27 <fizzie> Well, they do vaguely suggest having both.
14:41:25 <oerjan> just make a template that constructs both should be easy
14:42:56 <oerjan> (the great thing about being known for joking all the time is that you sometimes don't have to decide whether you're joking or not.)
15:16:53 -!- `^_^v has joined.
15:27:50 -!- Sprocklem has joined.
15:28:43 -!- clog_ has quit (Quit: ^C).
15:28:55 -!- clog has joined.
15:35:45 -!- oren has joined.
15:38:19 <oren> that was the hardest easy exam i've ever written. it is web programming, plus i was already familiar with php and javascript, and on top of it, it is an open book exam. However, that doesn't mean that it is easy to write PHP and JS with a frikkin PEN for an hour and a half!
15:38:37 -!- drdanmaku has joined.
15:38:46 <oren> Why can't e at least use typewriters?
15:39:20 <oerjan> just write in blackletter, that'll show them
15:40:25 <oren> i wrote in my standard chicken-scratch scrawl
15:41:19 -!- Sprocklem has quit (Ping timeout: 245 seconds).
15:43:00 <oerjan> fiendish
15:52:54 -!- S1 has quit (Read error: Connection reset by peer).
15:59:02 -!- cluid has joined.
16:04:36 -!- oren has quit (Ping timeout: 245 seconds).
16:08:13 <Jafet> PHP in intaglio
16:16:04 -!- polytone has quit (Quit: rebooting server).
16:16:55 -!- zemhill_ has joined.
16:18:13 -!- monotone has joined.
16:38:10 -!- mihow has joined.
16:42:27 -!- augur has quit (Remote host closed the connection).
16:42:54 -!- augur has joined.
16:46:21 <coppro> 1/win 48
16:46:57 -!- oren has joined.
16:47:21 -!- augur has quit (Ping timeout: 255 seconds).
16:54:15 -!- GeekDude has quit (Ping timeout: 245 seconds).
17:01:21 -!- GeekDude has joined.
17:06:56 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds).
17:07:17 -!- oerjan has quit (Quit: leaving).
17:12:12 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:12:55 -!- atslash has joined.
17:15:59 -!- Sprocklem has joined.
18:04:23 -!- MoALTz has joined.
18:11:13 -!- augur has joined.
18:12:38 <oren> the modern latin alphabet is stupid. this whole time i thought they were hom clauses
18:13:04 <oren> when they were *horn clauses
18:13:49 -!- MoALTz has quit (Quit: Leaving).
18:15:35 -!- Phantom_Hoover has joined.
18:16:08 <cluid> the joy of fractur
18:16:39 <oren> yes that is what led me to this realization. i set firefox to fractur
18:18:09 <Phantom_Hoover> careful there, the nazis might come after you for that
18:19:34 <oren> actually any monospace font would help. the problem is that rn is indistinguishable from m in proportional sans fonts
18:20:00 <cluid> isn't that a kerning thing?
18:20:12 <coppro> ^
18:20:17 <coppro> it's not true of all fonts
18:22:17 <elliott> https://i.imgur.com/zpd4XvF.png why would anyone need fraktur? normal text is perfectly readable
18:22:50 <quintopia> fraktur still looks cool even if unnecessary
18:23:45 <oren> well, most fonts then. it is certainly the case in FreeMono
18:24:02 <oren> elliott: is that zapfino?
18:24:07 <elliott> yes
18:24:11 <elliott> the bestest font
18:24:25 <cluid> haha ist hat zapfino
18:24:39 <elliott> no I lied the first time
18:24:41 <elliott> (yes)
18:24:45 <quintopia> "Can someone give an example of the steepest descent that is not a gradient descent?" I could have sworn steepest descent was a specific type of gradient descent. isn't this question just wrong?
18:24:56 <cluid> http://fc07.deviantart.net/fs70/f/2010/041/a/2/zapfino_phoenix_by_Nino2303.jpg my IRC client loks like this
18:26:06 <elliott> https://i.imgur.com/cyigKDn.png this is getting worryingly tolerable
18:26:09 <elliott> what if I actually use this
18:26:24 <elliott> everyone is so elegant now
18:26:36 <cluid> heheh
18:27:38 <elliott> it's a shame the ridiculous ligatures don't work
18:27:44 <elliott> someone make a terminal that can display those please
18:28:38 <oren> it is also a shame zapfino doesn't have <> chars
18:29:05 <oren> those look like fallbacks to me
18:29:27 <elliott> I don't think they are
18:29:38 <elliott> not sure
18:29:54 <oren> they look too small. + also
18:30:51 <oren> why the hell do different fonts, on the same point size, have completely different sizes?
18:30:53 -!- MoALTz has joined.
18:32:40 -!- AndoDaan has joined.
18:33:03 <quintopia> artist leeway
18:34:19 <oren> i want a terminal that rescales each character to fit in a box
18:40:57 <quintopia> have you tried zooming in until a single character is bigger than your monitor. if you can't do that, then you already have such a terminal.
18:42:07 <oren> i am getting used to { being ck, [ being ch, } being st and ] being tz. $ is a normal s.
18:42:38 <coppro> elliott: that is disturbingly tolerable
18:42:51 <coppro> ... I wish I was usingn an easier-to-configure terminal emulator
18:43:51 <oren> use xfce-terminal
18:44:03 -!- Sprocklem has quit (Ping timeout: 264 seconds).
18:46:37 <oren> http://ctrlv.in/474692 <-- see? if(c==27)ck c=ALT|getch(); st
18:48:15 <Melvar> oren: Why are you using such a broken font?
18:49:04 <Phantom_Hoover> why is torbrowser not working when i try to search things on torrentz
18:49:06 <Phantom_Hoover> this is awful
18:49:16 <oren> Melvar: it is fun to mess people up. someone looking over your shoulder is like What...the..fuck.
18:50:59 <oren> besides, it works fine if you have good syntax highlighting.
18:52:25 <Melvar> What does it make of a *real* ‘ſ’?
18:52:47 <oren> fallback to sans mono
18:54:41 <Melvar> Also ‘st’?
18:55:25 <oren> Or it might be ubuntu mono. http://ctrlv.in/474697
18:55:57 <oren> but you are like:
18:56:10 <oren> Ulfo st?
18:56:57 -!- oren has quit (Quit: Lost terminal).
18:57:50 -!- oren has joined.
18:59:49 <oren> Bell is a bad ISP
19:01:20 <oren> and nmcli doesn't work well
19:02:27 <oren> combine the two, it means i have to logout and login in order to switch wireless nets
19:03:24 <oren> *wireleß
19:07:37 -!- oren has quit (Quit: Lost terminal).
19:36:02 -!- augur has quit (Remote host closed the connection).
19:50:45 -!- shikhout has joined.
19:51:21 -!- shikhout has changed nick to Guest38946.
19:54:00 -!- shikhin has quit (Ping timeout: 258 seconds).
19:58:37 -!- Sprocklem has joined.
19:59:54 -!- FireFly has quit (Changing host).
19:59:54 -!- FireFly has joined.
20:04:41 -!- mihow has quit (Quit: mihow).
20:07:04 -!- Patashu has joined.
20:16:20 -!- augur has joined.
20:16:51 -!- atslash has quit (Quit: This computer has gone to sleep).
20:26:19 -!- Patashu has quit (Ping timeout: 240 seconds).
20:40:54 -!- oren has joined.
20:41:27 <oren> so i got fed up with the lack of profiles in xfce-terminal.
20:41:39 <oren> gnome-terminal ftw
20:48:51 -!- mihow has joined.
21:11:40 -!- oren has changed nick to |oren\.
21:12:15 * FreeFull uses roxterm
21:15:12 * |oren\ used a xaccuracy!
21:26:12 * |oren\ s Haxorus used Guillotine!
21:26:32 <|oren\> and that is how i lost a friend
21:30:23 <|oren\> back then there was no Fairy remember.
21:34:37 -!- MoALTz has quit (Quit: Leaving).
21:40:53 -!- CrazyM4n has joined.
21:45:47 <|oren\> yo
21:49:12 -!- glguy has quit (Quit: Part).
21:49:24 * FireFly looks up the song in the background of that screenshot
21:52:15 -!- glguy has joined.
21:52:30 -!- copumpkin has quit (Ping timeout: 272 seconds).
21:53:37 <fizzie> "f7ioe.c:31:: uavning: iuplicit oeclavation of function ftvuope Q-Dinplicit-fu"
21:53:47 <fizzie> ctrlv's OCR is not so happy about the font choice.
21:55:41 <|oren\> uavning?
21:56:09 <fizzie> "f7ibe.c:13:6: uavning: unufeb paviable y Q-vunufeb-oaviableg"
21:56:31 <|oren\> oh my god hahahaha
21:57:14 <fizzie> 13:47 lelpav oven: why ave you ufing fuch a bvoten font
21:57:21 <fizzie> So bvoten.
21:59:32 -!- GeekDude has changed nick to GeekAfk.
22:00:02 <|oren\> coppvo ... 3 with 3 waf ufingn an eafiev-toconfiguve tevninal enulatov
22:01:50 -!- AndoDaan has quit (Quit: bbl).
22:03:17 -!- |oren\ has changed nick to oven.
22:03:42 -!- `^_^v has quit (Quit: This computer has gone to sleep).
22:05:07 <oven> it is much more hilarious if you read it out loud
22:08:05 -!- augur has quit (Remote host closed the connection).
22:08:10 <HackEgo> [wiki] [[Special:Log/newusers]] create * Xbony2 * New user account
22:09:21 <HackEgo> [wiki] [[User:Xbony2]] N http://esolangs.org/w/index.php?oldid=41481 * Xbony2 * (+143) Created page with "I'm xbony2. Hi. View my Github [https://github.com/xbony2 here], I mostly make minecraft mods, but play around with other things too sometimes."
22:11:09 <oven> It appears cursive is just as bad : http://ctrlv.in/474781 <-- manning: compauloon eetween oioned and unaioned Lnteoeu expneooiono
22:12:18 <oven> what would it do for zapfino? Elliot?
22:12:25 <oven> *elliott?
22:13:21 <elliott> you have my screenshots, you can upload them to check if you want :p
22:14:09 <oven> for some reason i can't get it to take the image.
22:14:18 <elliott> weird
22:14:21 <elliott> probably too big or something?
22:14:27 <oven> it says "that type of image is not supported"
22:14:29 <elliott> too zapfino
22:15:38 <oven> #define oioned signed
22:15:47 <elliott> the nice thing about transparent terminals is that you can carefully arrange what people can squint nosily at behind them
22:16:23 <oven> well, mostly it is whatever i hppened to be listening too
22:17:57 <elliott> yeah same. well here is me just running vi for no reason http://ctrlv.in/474785
22:17:58 <oven> i use youtube as a music player a lot of the time, (except when i need the internet bandwidth for something else)
22:20:03 <oven> elliott: the incongruousness (yay i can spell) of that screenshot is awsome
22:21:55 <elliott> http://ctrlv.in/474788 im JUST using my conmputer
22:22:58 <elliott> the best part of creating that screenshot was that installing emacs on my server also installed systemd
22:23:25 -!- oerjan has joined.
22:24:01 <elliott> the other greatest part was the youtube recommendations. have you ever wanted to listen to a nightcore remix of late 90s eurodance hit blue by eiffel 65 for ten hours? well,
22:27:17 -!- dts|pokeball has joined.
22:27:44 -!- Sprocklem has quit (Ping timeout: 258 seconds).
22:36:00 <oven> i have listened to ten-hour videos, but not the kind that are ten hours of the same thing. https://www.youtube.com/watch?v=EIBou1U-Sq0 <-- I have listened to this several times
22:36:20 <oven> 12 hours of the 90's eurodisco
22:36:53 <elliott> it's not a real ten hour video if it contains ten hours of actual content
22:36:56 -!- augur has joined.
22:37:43 <elliott> I'm kind of worried my server wouldn't reboot if I tried. it hasn't been rebooted in almost a year. I bet that kernel has so many holes in it
22:38:12 <elliott> it has systemd and stuff now I guess if I tried to reboot it. a new era
22:38:50 <oven> one of my dad's servers hasn't been rebooted since 2003.
22:39:15 <oven> it runs AIX which i'm pretty sure doesn't even existanymore
22:40:00 <elliott> does it, uh, do anything?
22:40:12 <elliott> not running into a single kernel bug bad enough to need a reboot in that time is impressive
22:41:01 <elliott> also not having any important security updates for the kernel, though I guess that would require anyone to care about AIX
22:41:05 <oven> it runs a system for topologists to announce conferences. it was hacked together in the early 1990's in Perl 4 by my dad
22:42:36 <oven> it doesn't run updates or any of that. it still runs perl 4
22:43:09 <oerjan> AIX is IBM, ergo it will never stop existing hth
22:43:48 <oven> the other server runs linux kernel 2.0 or something like that
22:44:04 <oven> that is the backup
22:54:12 <fizzie> Hi, e||1ott.
22:54:39 <elliott> fizzie: close enough
22:56:09 <fizzie> The 'p's on the reverse-video Emacs menu bar seem to have been slightly problematic too.
22:56:20 <fizzie> "Ootions" "LisoInteraction" "Helo"
22:57:27 <elliott> it also didnt recognise the Nightcore - Gangnam Style 10 hours at all
22:57:28 <elliott> F-
23:24:08 -!- augur has quit (Remote host closed the connection).
23:26:42 -!- CrazyM4n has quit (Remote host closed the connection).
23:33:08 -!- GeekAfk has changed nick to GeekDude.
23:53:33 -!- Sprocklem has joined.
23:59:44 -!- dts|pokeball has quit (Read error: Connection reset by peer).
2014-12-17
00:00:46 -!- dts|pokeball has joined.
00:11:33 -!- boily has joined.
00:12:25 -!- SirCmpwn has quit (Ping timeout: 240 seconds).
00:15:07 -!- SirCmpwn has joined.
00:18:26 -!- mihow has quit (Quit: mihow).
00:19:31 -!- SirCmpwn has quit (Excess Flood).
00:21:24 -!- SirCmpwn has joined.
00:25:19 -!- SirCmpwn has quit (Excess Flood).
00:25:37 -!- SirCmpwn has joined.
00:38:54 -!- azazel_ has joined.
00:46:25 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:57:50 <HackEgo> [wiki] [[Unnecessary]] http://esolangs.org/w/index.php?diff=41482&oldid=40620 * Xbony2 * (+94) Added another interpreter
01:18:20 -!- cluid has quit (Quit: Leaving).
01:31:38 -!- Guest38946 has quit (Ping timeout: 272 seconds).
01:49:46 -!- glguy has quit (Quit: Quit).
01:54:16 -!- CrazyM4n has joined.
02:10:30 -!- dts|pokeball has quit (Quit: Leaving).
02:10:48 -!- dts|pokeball has joined.
02:14:46 -!- boily has quit (Quit: PHŒNICIAN CHICKEN).
02:16:45 -!- CrazyM4n has quit (Remote host closed the connection).
02:27:17 -!- mitchs_ has joined.
02:30:29 -!- mitchs has quit (Ping timeout: 244 seconds).
02:49:13 -!- _AndoDaan has joined.
02:50:46 -!- AndoDaan has joined.
02:52:14 -!- AndoDaan_ has joined.
02:53:44 -!- _AndoDaan has quit (Ping timeout: 264 seconds).
02:53:53 <oven> holy crap there are three AndoDaans?
02:54:06 <AndoDaan_> dammit.
02:54:21 -!- oven has changed nick to |oren\.
02:54:37 <AndoDaan_> tried to irc on my phone.
02:55:19 -!- AndoDaan has quit (Ping timeout: 240 seconds).
02:55:27 -!- AndoDaan_ has changed nick to AndoDaan.
02:55:33 <|oren\> and then there was one.
03:00:02 -!- AndoDaan_ has joined.
03:02:36 <|oren\> nvm. there are two
03:02:39 -!- AndoDaan has quit (Ping timeout: 240 seconds).
03:02:48 <|oren\> and one again
03:07:16 -!- AndoDaan_ has quit (Ping timeout: 272 seconds).
03:08:20 -!- Tod-Autojoined has joined.
03:08:31 -!- TodPunk has quit (Read error: Connection reset by peer).
03:08:39 -!- Tod-Autojoined has changed nick to TodPunk.
03:14:28 <HackEgo> [wiki] [[Talk:Ragaraja]] M http://esolangs.org/w/index.php?diff=41483&oldid=41480 * Oerjan * (+50) Geronimo! Also fix link
03:24:50 -!- |oren\ has quit (Quit: Lost terminal).
03:25:41 <azazel_> Use an app ando
03:26:52 -!- copumpkin has joined.
03:28:16 <oerjan> copumpkin: you should add propumpkin hth
03:28:23 <copumpkin> k
03:30:13 <shachaf> copumpkin is a pro
03:34:36 -!- oren has joined.
03:36:55 <copumpkin> damn right
03:38:20 <oerjan> now if he were also bi he could get the full set
03:40:01 <oren> do i even want to know?
03:41:45 -!- glguy___ has changed nick to glguy_.
03:41:55 <oren> wait a second here, this is some sort of math pun isn't it?
03:42:44 <oerjan> ding ding ding
03:43:01 <oren> it's been a while since i posted a screenshot: http://ctrlv.in/474924
03:44:21 <oerjan> stupid google has menus to restrict searches to a language or region; but when i look at them they _only_ let me choose between everything and norwegian
03:44:51 <oren> use bing hth
03:45:05 -!- glguy_ has quit (Quit: Part).
03:45:23 <oerjan> does that allow me to exclude norwegian results?
03:45:29 -!- CrazyM4n has joined.
03:48:18 <oerjan> hm that doesn't allow me to set it for just one search
03:48:49 <oerjan> this is for when i want to search for something that's accidentally a common norwegian word
03:48:51 -!- augur has joined.
03:55:28 <oerjan> there seems to be no search prefix for language.
03:55:37 -!- dts|pokeball has quit (Ping timeout: 255 seconds).
03:56:46 <oren> oerjan: why not set it to english?
03:56:47 <oerjan> google doesn't have a concept for telling them "you're second-guessing me wrong, this is how i want you to adjust your behavior".
03:56:55 <Sgeo_> Why does Rust interest me, they keep saying it's mostly for systems programming, and I have no interest in that
03:57:57 <oerjan> oren: then i have to set it back afterward. and the preferences are on a different page. basically i _hate_ all ui that requires me to leave the information i'm actually looking at to adjust it.
03:59:15 <oerjan> i'm basically bitching about google putting this beyond my too-complicated-to-bother threshold.
04:01:00 <oren> oerjan: use a private broswing window?
04:01:26 <oerjan> ...i don't think you're getting what i'm saying.
04:01:32 <oren> google won't modify your main account's settings
04:02:15 <oerjan> anyway it was simpler to just append "definition"
04:02:35 -!- glguy has joined.
04:03:14 <oerjan> which happens to work for finding word definitions most of the time because the word is spelled differently in norwegian.
04:06:32 <oren> I hate that you can't search for C++ C# and C separately unless you write the symbols out as words
04:06:59 <oerjan> aye
04:09:26 <Sgeo_> So many Rust libraries have names that... are as unpleasant to Google for as Rust itself
04:09:32 <Sgeo_> Rust iron. Not helpful
04:09:42 <Sgeo_> ...apparently it is
04:10:05 <oren> Sgeo_: wow that sucks. clearly not thinking ahead.
04:12:21 <oren> at least C# isn't the name of a mundane object
04:12:48 -!- madbr has joined.
04:18:00 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41484&oldid=41473 * Orenwatson * (+242) Register offsets in the forms I(12 or I)12
04:19:46 <J_Arcane_> http://www.drdobbs.com/architecture-and-design/farewell-dr-dobbs/240169421 :(
04:40:31 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:43:40 -!- glguy__ has joined.
04:44:05 -!- glguy has quit (Read error: Connection reset by peer).
04:49:27 -!- bb010g has joined.
04:54:07 -!- J_Arcane has joined.
04:54:12 -!- oerjan has quit (Quit: Clearly these are the end times).
04:55:17 -!- J_Arcane_ has quit (Ping timeout: 258 seconds).
04:55:40 -!- aloril_ has quit (Ping timeout: 258 seconds).
04:58:52 <Sgeo_> J_Arcane: :(
04:59:24 -!- aloril_ has joined.
05:03:36 -!- glguy__ has changed nick to glguy.
05:03:38 -!- aloril_ has quit (Max SendQ exceeded).
05:03:58 <J_Arcane> the hacker news comments about the news are insufferably predictable. :/
05:04:39 <J_Arcane> i suppose I shouldn't be surprised when a bunch of 'startup' types react to someone actually pointing out that web ads don't work, considering it's what all their investor storytimes mostly hinge on.
05:04:39 -!- aloril_ has joined.
05:04:41 -!- dts|pokeball has joined.
05:04:54 -!- glguy has quit (Quit: Part).
05:05:13 -!- glguy has joined.
05:13:18 -!- CrazyM4n has quit (Remote host closed the connection).
05:18:36 -!- glguy has quit (Quit: Part).
05:20:37 <Sgeo_> `slist
05:20:54 <HackEgo> slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot
05:26:13 -!- glguy has joined.
05:29:11 <Taneb> Oooh, slist
05:29:44 <shachaf> have y'all tried prismata?
05:29:56 <shachaf> single-player demo at http://play.prismata.net/?demo (uses flash)
05:32:44 <Taneb> I'm personally not keen on that kind of game
05:34:57 <shachaf> what kind of game are you keen on
05:38:05 <oren> the kind that doesn't take a billion years to load maybe?
05:43:12 <Taneb> shachaf, I like platformers mostly
05:43:47 <oren> Taneb: what kind of game is it? i can't load it
05:43:56 <Taneb> oren, like a card game
05:44:01 <Taneb> I think hearthstone-ish
05:44:15 <shachaf> yes
05:44:32 <shachaf> well, it's a deterministic complet-information game with no deck building, so it's p. different in that respect
05:51:48 <Taneb> I sometimes like roguelikes like Pokemon Mystery Dungeon and sims like Dwarf Fortress
05:53:04 -!- Sprocklem has quit (Ping timeout: 264 seconds).
06:14:28 <oren> i have decided to keep my policy of keeping the entire scrip7 release as one .c file
06:17:11 <oren> separate files are for people who want to have to use a VCS instead of 20141216.c etc
06:19:17 -!- MDream has joined.
06:19:57 -!- MDream has quit (Client Quit).
06:20:35 -!- MDream has joined.
06:35:50 <HackEgo> [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41485&oldid=41344 * AndoDaan * (+431) /* Examples */
06:38:23 -!- AndoDaan has joined.
06:42:57 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
06:46:03 <oren> is it evil to use the C preprocessor to include plaintext and shellscripts into a C file?
06:46:35 <oren> screw it this is an esolang anyway
06:47:38 <MDream> I ask fungot to inform oren of the morality of his actions.
06:50:25 * MDream is abruptly destroyed as his monitor turns into a small nuclear blast at the revelation that fungot is not present.
06:52:23 <Sgeo_> shachaf: I put in for the Kickstarter, but haven't actually played, besides once in the tutorial
06:52:26 <Sgeo_> I want to play though
06:52:33 <Sgeo_> Kickstarter isn't looking so healthy :(
06:54:21 <shachaf> Yes. :-( I hope they reach their goal.
06:55:10 <shachaf> 3 days for 15000 CAD
06:55:18 <shachaf> It's probably doable.
06:55:26 <Sgeo_> I think it did jump 5000 in one day, so.. maybe?
07:00:08 <madbr> hm
07:00:24 <madbr> I want to make a language where something like
07:00:29 <madbr> var += array[$n]
07:00:36 <madbr> is internally expanded into
07:00:56 <madbr> for(int n=0; n<array.size; n++)
07:01:03 <madbr> var += array[n];
07:01:22 <oren> J
07:01:34 <madbr> at compile time
07:01:39 <oren> oh
07:01:43 -!- shikhin has joined.
07:01:44 -!- shikhin has quit (Changing host).
07:01:44 -!- shikhin has joined.
07:11:06 <madbr> one way to do it would be that array::operator [](size_t index) checks for the superior bound and generates and exception, and all loops contain an implicit try catch block that catches this exception
07:11:52 <madbr> and compilers are written in such a way that this exception is optimized into the correct n<array.size() loop condition
07:12:03 <oren> in a lanuguage that isn't defined in terms of horrifying c++ abominations you could do it more elegantly
07:12:32 <madbr> I'm just using c++ as a convenience here
07:12:54 <madbr> though I'd really like the statement used by the user to be "var += array[$n]"
07:12:54 <oren> why does c++ often require the compiler to achieve sentience?
07:13:21 <madbr> c++ probably just got the wrong feature set and too much history
07:13:51 <madbr> and is stuck with some things that used to make a difference but don't anymore
07:14:25 <madbr> function static variables etc
07:15:04 <oren> so yeah i think you could do this with a standard yacc/lex thing
07:15:14 <oren> at least the parsing
07:15:38 <madbr> well
07:15:51 <madbr> it's more complex than it looks at first sight
07:16:15 <madbr> also I'd like something like
07:16:33 <madbr> var += array[$n], n < 8
07:16:40 <madbr> to expand into something like
07:17:07 <madbr> for(int n=0; n<array.size() && n<8; n++) var += array[n];
07:18:05 <oren> so you'd have syntax to append "conditions" on any piece of code, including its internal loop(s).
07:18:17 <madbr> and various other similar types of variable binding
07:18:42 <madbr> yeah... how to explain this
07:19:23 <oren> maybe any undeclared variables are assumed to be local to the current statement?
07:19:40 <madbr> basically, any statement with $x variables in it should in theory expand to a loop trying all 4 billion possibilities
07:19:52 <madbr> and with multiple variables, all combinations
07:19:57 <madbr> but
07:19:59 <oren> and by doing A[n] you impose implicit restricitons on n
07:20:24 <madbr> automatically discarding any possibility that violates an array bound
07:20:39 <madbr> or a condition (like n<8)
07:21:46 <madbr> so for instance if the "payload" of the statement is an assignment, the assignment isn't done
07:21:54 <oren> and then you write some clever code to preemptively not even try numbers that would always violate a condition
07:22:08 <madbr> yep
07:22:52 <madbr> or at least be clever enough to respect array bounds and easy to figure out boundary conditions
07:23:20 <madbr> also would be able to do sortof multi step binding things
07:23:21 <madbr> like
07:23:42 <madbr> $v = array[$n], var += v*v
07:24:39 <madbr> basically square each array value and do the sum of those
07:25:29 <madbr> the way it would work is that it would try out every value of $n, and obviously this only works for indexes that are in the array
07:26:19 -!- Lymia has quit (Ping timeout: 250 seconds).
07:26:38 <madbr> and obviously if you have 6 at array[0], if $n binds to 0, then $v in turns has to bind to 6 (since it's the only value where the statement $v = array[0] can be true)
07:27:12 <madbr> and now that $v has binded, the "payload" (var += v*v) can be executed
07:27:24 <madbr> anyhow, sleep time
07:28:18 -!- madbr has quit (Quit: Pics or it didn't happen).
07:32:47 <fizzie> Huh, no 'got?
07:33:15 -!- fungot has joined.
07:33:17 <fizzie> That's better.
07:41:11 -!- azazel_ has quit (Quit: Connection closed for inactivity).
07:44:24 -!- Patashu has joined.
07:46:23 <olsner> fungot!
07:46:23 <fungot> olsner: it was in america. especially in fnord)
07:46:42 <olsner> fungot: did it have fun in america?
07:46:42 <fungot> olsner: is ( and dip it in melted butter first)." fnord pope? 1)?? has type fnord of pointer to function ( long, long gone by the time i'm just using scheme48 in a shell)
07:49:07 <fizzie> fungot: What do they dip in melted butter in America? Everything?
07:49:07 <fungot> fizzie: i'm with you. i have the browser tied in with mit scheme's compiler.)
07:49:28 <fizzie> fungot: Sounds very practical.
07:49:29 <fungot> fizzie: kilimanjaro says: i don't use linux... plus it uses tk on it im not imagining things! it really does load the source of a minimal implementation
07:50:26 <fizzie> Tk, a web browser and MIT Scheme's compiler. A curious combination.
08:36:27 -!- shikhout has joined.
08:36:51 -!- shikhout has changed nick to Guest2022.
08:40:32 -!- shikhin has quit (Ping timeout: 265 seconds).
08:51:59 -!- atslash has joined.
08:53:06 -!- Guest2022 has changed nick to shikhin.
08:53:11 -!- shikhin has quit (Changing host).
08:53:11 -!- shikhin has joined.
08:59:54 <oren> The scrip7 IDE is coming along nicely: http://ctrlv.in/475010
09:01:24 <HackEgo> [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41486&oldid=41485 * AndoDaan * (+159) Collatz program now terminates when n = 1.
09:05:09 -!- AndoDaan_ has joined.
09:07:54 -!- AndoDaan has quit (Ping timeout: 258 seconds).
09:14:17 -!- _AndoDaan_ has joined.
09:15:57 -!- AndoDaan_ has quit (Ping timeout: 264 seconds).
09:19:26 -!- _AndoDaan_ has changed nick to AndoDaan.
10:04:20 -!- mihow has joined.
10:09:52 -!- mihow has quit (Ping timeout: 264 seconds).
10:12:57 -!- dts|pokeball has quit (Ping timeout: 245 seconds).
10:56:34 -!- Phantom_Hoover has joined.
10:58:35 <elliott> 05:03:36 <J_Arcane> i suppose I shouldn't be surprised when a bunch of 'startup' types react to someone actually pointing out that web ads don't work, considering it's what all their investor storytimes mostly hinge on.
10:58:39 <elliott> J_Arcane: they get as far as ads?
10:58:46 <elliott> isn't it all about growth, growth, growth
10:59:10 <elliott> "hacker news surprised to discover capitalism is unsustainable"
11:01:41 <J_Arcane> Not just 'capitalism' in their case, but 'capitalism founded on fairy stories'. XD
11:03:20 <elliott> you'll have to enlighten me as to the difference :p
11:03:27 <J_Arcane> XD
11:03:48 <J_Arcane> True. I suppose the difference is mostly temporal, in SV's case.
11:07:29 <oren> http://pastebin.com/qVp7R5D2 <-- it is done: the "hopefully getting stabler release 2014-12-17 06:30"
11:08:50 <oren> is it morally wrong to include several programs in one .c file by use of ifdefs?
11:09:37 <fizzie> Not if the programs are 'true' and 'false'.
11:10:50 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41487&oldid=41484 * Orenwatson * (+11) upadted link
11:13:19 <elliott> remember that time this channel figured out how to make false succeed? that was good
11:14:25 <fizzie> I don't remember that at all, but it sounds intriguing.
11:15:07 <elliott> it involved exploiting a buffer overflow in gettext
11:15:19 <elliott> by crafting an appropriate translation file and getting it to display help
11:15:25 <elliott> or, uh, not really a buffer overflow in gettext
11:15:34 <elliott> more like just it doing printf(_("..."), ...)
11:15:37 <elliott> so you can exploit the format string
11:15:51 <elliott> I mean, you can make true fail, so why not the other way around, right?
11:17:22 <elliott> fizzie: http://sprunge.us/JBhf
11:17:31 <elliott> int-e was the one who got it to proof of concept
11:18:00 <elliott> me and ais523 found/fiddled with the gettext use
11:18:07 <fizzie> I must've missed or forgotten about this.
11:18:10 <fizzie> V. fancy.
11:18:31 <elliott> sadly gettext doesn't let you specify environment variables like this for setuid programs
11:18:38 <elliott> so you can't use it for privilege escalation
11:18:48 <elliott> but imagine if you could.
11:19:15 <elliott> it does mean that having write access to /usr/share lets you "pwn" a box (if any programs that run as root use gettext like this), I think.
11:21:04 <fizzie> Makes me wonder how common it is to have localized format strings. Probably relatively so.
11:21:15 <elliott> yeah, I think that's standard gettext use
11:21:32 <elliott> certainly I expect most of coreutils does it, for the help messages
11:21:37 -!- erdic has quit (Ping timeout: 250 seconds).
11:21:49 <elliott> anyway, this was half a year ago, fwiw.
11:22:11 -!- erdic has joined.
11:22:34 -!- boily has joined.
11:22:39 <fizzie> Yes, there's quite a lot of "%s: unrecognized option `%c%s'" and so on.
11:31:27 <elliott> anyway, you'd think that it wouldn't be hard to write a printf_ which checks the format strings are compatible...
11:31:45 <elliott> but I guess this is unix, we don't care about robustness!
11:33:14 <Jafet> The overhead would be unacceptable
11:36:16 -!- Patashu has quit (Ping timeout: 250 seconds).
11:38:49 <fizzie> Ah, so you also need to add a separate "format check only" function so you can keep using raw printf in all those thight inner loops, and hoist only the check out.
11:40:11 <elliott> actually, that's sort of a good point, you could just call it __ instead of _
11:40:15 <elliott> or whatever
11:40:17 <elliott> don't even need to wrap printf
11:40:24 <oren> printf doesn't check the format strings, but atleast gcc gives you a warning!
11:40:29 <elliott> hell just turn it on for _ and at least make it print out warnings
11:40:37 <elliott> oren: it doesn't if you use gettext :p
11:41:29 * elliott thinks about LD_PRELOADing an alternate gettext that does a naive format string check and prints out if they don't match...
11:41:40 <elliott> can't wait for my NEXT coreutils xzero-day
11:41:43 <elliott> *zero-day
11:42:19 <fizzie> elliott: The whole thing doesn't sound like a too far-fetched thing to be enabled by some sort of FORTIFY_SOURCE option.
11:43:03 <fizzie> I forget what exactly printf_chk does, actually.
11:43:13 <elliott> yeah, I suppose if you cheated by actually patching the compiler it could avoid false whatsits.
11:43:28 <elliott> really, though, the environment variables should probably just go away.
11:43:37 <elliott> at the least.
11:44:07 <elliott> hey imagine if we wrote in a language that wasn't segfault city
11:44:26 <elliott> then we could have things like "features" without blowing up the planet in the process
11:45:29 <oren> safety, speed, flexibility, pick two
11:46:07 <elliott> I don't believe you have to.
11:46:11 <elliott> especially not for coreutils, come on.
11:46:28 <b_jonas> elliott: (a) why would you have to LD_PRELOAD that? why not check during compiling the translation files with msgfmt instead? (b) in either case, how do you know which strings contain printf-formats, which ones used in some other way?
11:46:46 <elliott> b_jonas: welltranslation files can be specified at runtime
11:46:48 <elliott> *well translation
11:46:58 <oren> elliott: i mean that a language can only give you two, and you have to make the third by good programming
11:47:03 <elliott> and by the rarity of %
11:47:15 <elliott> I only wanted it so I could look for exploits, though I guess it's unlikely that mistake would be made in stock translation files
11:47:22 <elliott> maybe it should just print whenever you pass a % to _
11:48:26 <elliott> oren: I don't agree. many of the ways in which C are unsafe aren't just design tradeoffs that there can be reasonable disagreement about; it is a flawed language and you can do better in many respects without making big sacrifices on speed or flexibility. languages aren't always a perfect balanced compromise that couldn't be objectively improved on
11:49:29 <oren> elliott: of course it can be improved on, but there is a upper limit at which tradeoffs emerge
11:50:10 <elliott> sure. let's get to that point, and *then* you can say "safety, speed, flexibility, pick two" in response to me whining about whatever language we're using then :)
11:50:35 <oren> fine.
11:50:57 <elliott> I suspect you could write coreutils in just about anything and be completely fine, anyway. it's not really number crunching.
11:51:09 <oren> so what about fortran 90?
11:51:35 <elliott> okay, I guess something like sha*sum would be annoying if it was too slow.
11:53:07 <oren> maybe the coreutils shouldn't all be written in the same language?
11:53:58 <elliott> uh, you could put forward that position but I don't know why you would
11:54:08 <boily> put all your eggs in one basket, then watch that basket very closely.
11:55:06 <oren> well, you could use fortran for number crunching things, something pedantic like Ada for security, etc.
11:58:24 <oren> only problem is that in olden times languages didn't interoperate well
11:59:09 <oren> so they standardized on C because it is very flexible.
11:59:35 <oren> (compared to its contemporaries i mean)
12:02:46 <elliott> % time cat MacTeX.pkg >/dev/null
12:02:46 <elliott> cat MacTeX.pkg > /dev/null 0.01s user 0.64s system 49% cpu 1.320 total
12:02:46 <elliott> % time shasum -a 512 MacTeX.pkg
12:02:46 <elliott> e788be6b14300f3e6463cdd8f8b1a4afc61e3a4c315c486e0dde465bf82ea16080bb0c6f78faa5cbd21a3ec6abb820ce805d1131f02069908514f1b28f06720d MacTeX.pkg
12:02:49 <elliott> shasum -a 512 MacTeX.pkg 11.08s user 0.63s system 98% cpu 11.870 total
12:02:52 <elliott> % time ruby -e 'require "digest"; d = Digest::SHA512.new; buf = ""; f = File.open("MacTeX.pkg"); while f.read(65536, buf) != nil; d << buf; end; puts d.hexdigest'
12:02:55 <elliott> e788be6b14300f3e6463cdd8f8b1a4afc61e3a4c315c486e0dde465bf82ea16080bb0c6f78faa5cbd21a3ec6abb820ce805d1131f02069908514f1b28f06720d
12:02:58 <elliott> ruby -e 11.96s user 0.57s system 98% cpu 12.690 total
12:03:00 <elliott> of course this is depending on C code for the SHA-512 implementation.
12:03:19 <elliott> but my point is that this is not an obstacle to writing coreutils even in something "famously slow" like ruby
12:03:34 <elliott> though honestly ruby has a greater risk surface than coreutils probably
12:03:59 <elliott> just saying that you probably have to look on our wiki to find a language too slow to reasonably write coreutils in
12:05:19 <oren> elliott: i see! so because modern languages can call the C ABI, we can write the glue codein something that has no risk of buffer overflows
12:05:31 -!- mihow has joined.
12:05:49 <elliott> well, it's not even necessarily an ABI problem. you just need *some* way to extend the language in something fast enough
12:06:06 <elliott> here's a question: how fast would sha512sum be with a hand-optimised, but totally memory-safe, pure haskell implementation?
12:06:19 <elliott> I wouldn't be surprised if the answer was "fast enough".
12:06:32 <oren> i'm gonna guess at about 20% speed?
12:06:43 <elliott> that's a serious underestimate I think
12:06:54 <oren> based on my knowledgeof racket
12:07:10 <oren> is haskell strongly typed?
12:07:14 <elliott> haskell and racket are incomparable, I think
12:07:17 <elliott> isn't racket interpreter-only
12:07:21 <elliott> haskell has a very advanced optimising compiler
12:07:33 <J_Arcane> Racket is JIT-compiled from byte-code.
12:07:35 <elliott> and people write rather gnarly hand-optimised code in it
12:07:50 <J_Arcane> It's pretty fast, but slower than most lisps, and slower than Haskell, generally speaking.
12:07:52 <elliott> oren: yes, very much so
12:08:07 <oren> then i'll say 90%
12:08:21 <elliott> it has probably the most advanced type system of any "commonly used to slightly obscure" language
12:08:33 <J_Arcane> http://benchmarksgame.alioth.debian.org/u32/compare.php?lang=racket&lang2=ghc
12:08:45 <elliott> let's not use the benchmarks game to talk about haskell performance lol
12:08:48 <elliott> those programs are horrific
12:08:58 <J_Arcane> :_D
12:08:59 <elliott> okay, not all of them
12:09:27 <elliott> but some of them probably have negative PR effect because people were obsessed with getting the tiniest last bit of performance out of them, making it so that if you actually look at the source you think you need to sacrifice your soul to satan to get reasonable performance out ofh askell
12:09:44 <J_Arcane> This is a fair point.
12:10:09 <oren> i have consistently seen that the stronger the typing of a language, the faster it is.
12:10:15 <J_Arcane> I found Haskell quite quick enough as it was, and certainly very little code I see in the actual Haskell sources looks as ugly as, say, this: http://benchmarksgame.alioth.debian.org/u32/program.php?test=pidigits&lang=ghc&id=4
12:10:38 -!- mihow has quit (Ping timeout: 256 seconds).
12:10:42 <elliott> actually that code looks fine
12:10:45 <elliott> there's no unsafety or unboxing or anything
12:10:52 <elliott> aij (I# i) (I# j) = D# (
12:10:52 <elliott> case i +# j of
12:10:52 <elliott> n -> 1.0## /## int2Double#
12:10:52 <elliott> (((n *# (n+#1#)) `uncheckedIShiftRA#` 1#) +# (i +# 1#)))
12:10:56 <elliott> this is scary though :p
12:11:03 <J_Arcane> oren: Generally yes, because it saves cycles for error checking and such. Though Common Lisp can be pretty fast I'm told.
12:11:04 <elliott> that's the kind of code you'd be writing for a hand-optimised SHA implementation haha
12:12:58 <oren> the only reason C isso fast is because it is so unsafe. a safe language with C's type system would probably be slow as hell
12:13:30 <elliott> you're wrong
12:13:53 <int-e> the point is the uncheckedIShiftRA#, I guess; the rest the compiler should do by itself.
12:13:57 <elliott> ll, "with C's type system", sure...
12:13:58 <elliott> *well,
12:14:03 <elliott> that's a ridiculous constraint though
12:14:47 <oren> elliott: it is a hypothetical. such language does not exist, because it would be ridiculous
12:14:52 <J_Arcane> speaking of C, I should probably get back to working on Build Your Own Lisp at some point.
12:14:53 <int-e> how old is that code anyway? ghc has been getting smarter over the years.
12:14:53 <elliott> actually it kind of does
12:14:58 <elliott> @google asan clang
12:14:58 <lambdabot> http://clang.llvm.org/docs/AddressSanitizer.html
12:14:59 <lambdabot> Title: AddressSanitizer — Clang 3.6 documentation
12:15:20 <elliott> adding naive memory safety to C makes programs twice as slow, basically
12:15:23 <elliott> which is far from slow as hell
12:15:47 <elliott> I think google run a bunch of high-risk stuff compiled with ASan or something?
12:16:28 <elliott> they certainly use it for testing, anyway
12:16:42 -!- cluid has joined.
12:16:47 <oren> brb, installing that.
12:16:52 <J_Arcane> Yes. I think that's another thing about C, is it is indeed blisteringly fast, which throws the curve for everything else. ie. being 'twice as slow as C' sounds like more than it is in practical terms. It's not like we're talking BASIC v. Assembly, like in the old days.
12:16:58 <elliott> oren: it comes with clang
12:17:08 <oren> oh then i already have it
12:17:22 <oren> i have like 10 c compilers installed
12:17:34 <J_Arcane> Heh. I just have tcc and gcc.
12:17:46 <elliott> I guess you also need http://clang.llvm.org/docs/MemorySanitizer.html since ASan doesn't catch that, and that has a bigger slowdown, but whatever
12:18:03 <elliott> that's probably more of a debugging thing than a big safety problem
12:19:11 -!- coppro has quit (Ping timeout: 258 seconds).
12:23:42 <oren> well that is certainly a better way of finding the memory leaks than simply printfing every damn thing
12:24:48 <elliott> you know about valgrind, right?
12:25:11 <elliott> I guess maybe the clang stuff is better these days, I don't know.
12:25:22 <elliott> it's certainly faster.
12:25:27 <oren> valgrind works but it is annoying to use
12:26:41 -!- coppro has joined.
12:27:03 -!- Lymia has joined.
12:27:49 -!- boily has quit (Quit: RESPLENISHED CHICKEN).
12:28:15 <oren> these clang options can simply be added to the compile script, whereas valgrind requires you to run things in a different way
12:30:28 <oren> my short test indicates that the clang thing has less performance penalty too
12:34:44 <elliott> yes, valgrind is very slow
12:58:08 <FreeFull> Or you can use a language which ensures memory safety at compile time
13:00:31 <elliott> yes
13:04:05 <oren> FreeFull: that will become the default when OS's C ABIs are replaced with something memory-safe.
13:08:13 <elliott> what
13:08:26 <elliott> what "OS's C ABIs"
13:08:30 <elliott> syscalls do not use the C ABI...
13:09:06 -!- oren has quit (Ping timeout: 244 seconds).
13:09:12 <fizzie> FreeBSD's do, to some degree.
13:09:45 <elliott> they don't use the CALL part, do they? :p
13:09:55 <fizzie> Not quite, but almost.
13:10:05 <elliott> (looks it up) this is kinda weird but nice
13:10:09 -!- oren has joined.
13:10:21 <elliott> I don't think it invalidates my point though. it's not like people write everything directly with syscalls
13:11:11 <elliott> "Linux is a UNIX® like system. However, its kernel uses the same system-call convention of passing parameters in registers MS-DOS® does. [...] This convention has a great disadvantage over the UNIX® way, at least as far as assembly language programming is concerned: Every time you make a kernel call you must push the registers, then pop them later. This makes your code bulkier and slower. ...
13:11:14 <fizzie> (As in, the kernel skips a return address when looking for arguments on the stack, under the assumption that you've called a function that has executed the int. On x86, anyway; I don't know how it is with other ports.)
13:11:17 <elliott> ... Nevertheless, FreeBSD gives you a choice."
13:11:18 <elliott> they're so bitter
13:11:37 <fizzie> I see you've found the page I always hit when googling for the FreeBSD calling convention.
13:11:56 <elliott> I wonder what they do on x86-64
13:12:09 <elliott> given that that C calling convention is JUST AS BAD AS MS-DOS(R)
13:12:34 <elliott> "If you are coding specifically for FreeBSD, you should always use the UNIX® convention [...] If you want to create portable code that can also run on Linux, you will probably still want to give the FreeBSD users as efficient a code as possible."
13:12:45 <elliott> are you coding just for freebsd?
13:12:51 <elliott> |-- yes --> use our convention
13:12:56 <elliott> |-- no --> use our convention anyway
13:13:09 <mroman> implicit parameters
13:13:28 <fizzie> I seem to recall they follow the x86-64 SysV ABI document, aka they're JUST AS BAD AS LINUX.
13:15:59 <oren> The C Api's are still the most-used method of calling the OS on both linux and windows. That is i believe the whole problem
13:16:27 <elliott> okay, but like, a language can either wrap around libc, or write its own library based on syscalls
13:16:41 <elliott> go does the latter
13:16:56 <oren> the latter is the right thing.
13:17:06 <elliott> the latter causes annoying interop problems with C threads IIRC
13:17:21 <elliott> there's not really any major disadvantage to the former...
13:17:29 <elliott> I don't see what the problem is about "wrapping memory unsafe APIs to be safe"
13:17:32 <elliott> like, that is what encapsulation is.
13:17:40 <elliott> any memory safe language contains memory unsafe parts that are encapsulated for safety
13:17:53 -!- InvalidCo has quit (Ping timeout: 244 seconds).
13:17:55 <oren> but the real right think is for there to be a native API in the memory safe language, e.g. dot net.
13:18:05 <oren> *right thing
13:18:22 <elliott> uh, I don't know .NET implementation details but I wouldn't be at all surprised if it called into libc...
13:18:44 <elliott> what is the substantial difference between wrapping libc and wrapping syscalls anyway
13:18:50 -!- InvalidCo has joined.
13:19:13 <elliott> like sure "ideally" we'd have memory-safe OSes running on lisp machines or whatever but I don't see how any of this implementation detail stuff is relevant to the adoption of a memory-safe language
13:19:24 <oren> elliott: it probably does but it is developed by the same people as the OS. the issue is when you have a wrapping layer it becomes language maker's responsibility
13:19:37 <elliott> I don't think the .NET team and the Windows kernel team are the same.
13:20:01 <oren> *same organization
13:20:10 <FreeFull> By memory safety ensured at compile time I was thinking of Rust
13:20:27 <elliott> that really doesn't say much, but sure. (have you heard about the OS vs. Office team antagonism? :p)
13:21:46 <oren> if we want linux to be very safe with say JVM, the Linux kernel team needs to work on the interface into JVM.
13:22:04 <elliott> what o.o
13:22:35 <oren> it needs to be developed by people who understand the model at both ends in great detail
13:23:46 <elliott> you can already violate memory safety if you find a bug in the JVM JIT, who cares about the kernel interface?
13:23:54 <elliott> I really don't understand the angle you're going for here...
13:24:23 <oren> elliott: it is chiefly a political issue
13:24:30 <elliott> ok.
13:24:39 <elliott> then I'll stop trying to have a technical discussion
13:25:13 <oren> if the JVM api is subordinate to the C api, then people will use C api to avoid there being more places to have bugs
13:25:56 <elliott> if you don't believe that encapsulation can increase safety, then I don't know what to tell you.
13:26:19 <oren> encapsulation increases safety but there can be bugs in the capsule
13:26:21 <elliott> you could maybe argue a wrapper around memcpy that checks that src and dest are valid pointers before passing it on (or whatever) has "more places to have bugs". it is also strictly safer.
13:26:50 <elliott> fundamentally, there is no way of getting around wrapping unsafe operations
13:27:10 <elliott> whether that's in the kernel or in libc or in a language library, who cares? the principle is the same
13:28:13 <elliott> replacing the syscall/libc API won't make wrapping the underlying options for safety take *significantly* less code (it would certainly be more elegant and potentially less prone to errors, sure; I'd love it too. but it's still weird to use this as an argument for using unsafe APIs directly?)
13:29:06 <oren> elliott: everyone will want to make their own wrapper unless there is one standard wrapper
13:29:26 <oren> this is the Gnome/KDE/XFCE/LXDE problem
13:29:31 <mroman> does go allow overloading?
13:29:54 <elliott> I really feel like you just generate random plausible-sounding retorts outside of the context of the rest of the conversation every time the one you were harping on before stops making sense :/
13:30:41 <mroman> hm. nope
13:30:51 <mroman> not even operator overloading :(
13:32:07 <mroman> "If you wish the users of an interface to explicitly declare that they implement it, you can add a method with a descriptive name to the interface's method set."
13:32:13 <mroman> this is bullshit. Sorry.
13:32:27 <mroman> but adding a dummy method as a means of documentation?
13:32:30 <mroman> Are you kidding me?
13:33:58 <elliott> go is not a good language
13:34:08 <elliott> though explicitly duck-typed interfaces aren't that horrible an idea
13:36:08 <oren> mroman: i hope so. overloading is basically the same thing as polymorphism
13:36:16 <oren> polymorphism: x.m(y) where the type of x may be different
13:36:20 <oren> overloading m(x,y) where the type of x may be different
13:36:53 <oren> apparently it supports polymorphism but not overloading...
13:36:53 <oren> i find that bizarre and hypocritical
13:37:14 <elliott> uhhh
13:37:21 <oren> elliott: they should be an option but not the only option
13:37:27 <elliott> m(x,y) where the type of x can vary can be polymorphism too
13:37:33 <elliott> m :: Show a => a -> String -> String
13:37:36 <elliott> m x y = show x ++ y
13:38:02 <elliott> (indeed haskell, and many other languages, allows controlled overloading through a system like typeclasses)
13:38:08 <elliott> (it is _ad-hoc_ overloading a la C++ that is unpopular.)
13:40:35 <oren> go doesn't have inheritance either :(
13:40:48 <elliott> good!
13:41:00 <elliott> that is one of the things go actually gets right...
13:41:17 <oren> what? but elliotr i use inheritance in C all the time and it is useful...
13:42:01 <elliott> uhh... what C are you using that has implementation inheritance, exactly?
13:42:11 <elliott> do you mean horrible BSD socket-style hacks, because, lol
13:42:18 <Jafet> Come on, just because nearly everyone designs subtyping wrong
13:42:29 <oren> I mean using the usual method of passing in a this pointer explictly
13:43:04 <oren> a.m(b) -> A_m(a,b)
13:44:15 <oren> the C standard library does this for FILE*. the windows api uses this with its HWND.
13:45:03 <elliott> that doesn't have anything to do with inheritance
13:45:07 <elliott> seriously
13:45:10 <oren> i'm getting to it
13:45:21 <elliott> Jafet: I'm fine with interface inheritance
13:45:24 <elliott> just not implementation inheritance
13:46:18 <oren> so struct bugbear {struct enemy enm; ...} *bb can be passed as a struct enemy* to any function that takes one
13:46:37 -!- Lorenzo64 has joined.
13:47:25 <elliott> that's composition, not inheritance
13:47:27 <elliott> Go even has special support for that
13:47:36 <elliott> you can omit the field name and access bb.enm.x as bb.x
13:47:39 -!- Lorenzo64 has quit (Read error: Connection reset by peer).
13:47:39 <elliott> (this is inherited from Plan 9 C)
13:47:45 <elliott> (in fact gcc even supports this extension)
13:48:59 <oren> elliott: wha? why do you keep answering myarguments with things that will make my life infinitely easier, if you wanted me to stop arguing?
13:49:19 <oren> this isn't much motivation
13:49:35 <elliott> I could kick you too to balance it out
13:49:54 <elliott> btw you probably don't want to use gcc's Plan 9 C support, I don't think clang supports it and I doubt anyone cares about maintaining it
13:49:59 <elliott> I wouldn't be surprised if it went away
13:50:17 <elliott> here's a cool thing: unless they changed it, a bunch of Go is written in Plan 9 C. they ported the Plan 9 C compilers to linux and compile all their non-standard C code with it
13:50:43 <elliott> by cool I mean vaguely horrifying
13:50:56 <elliott> it's uncanney valley C
13:50:59 <oren> so how is inheritance different from composition?
13:51:09 <Jafet> Go, the modern programming language
13:51:12 <oren> given this syntax sugar
13:51:27 <elliott> composition is building structures out of other structures (potentially multiple ones!), using their public API
13:52:21 <elliott> implementation inheritance is building a structure's implementation on top of the implementation of another one, creating a direct "is-a" relationship where Subclass is-a Superclass, and potentially using private API and implementation details
13:52:36 <elliott> is-a vs. has-a, etc.
13:52:39 <elliott> https://en.wikipedia.org/wiki/Composition_over_inheritance
13:53:25 <elliott> implementation inheritance is pretty close to directly going against principles of encapsulation, basically. from an OOP point of view, how many codebases actually satisfy the Liskov substitution principle?
13:53:50 <elliott> it's a tricky invariant to keep to, but it's hard to assign any coherent meaning to the notion of inheritance without it.
13:54:19 <elliott> you end up basically having to concede "well, this is just copy-paste code reuse that isn't really grounded in any kind of abstraction"
13:54:49 <elliott> thankfully composition is all three of more elegant/simpler, easier to reason about, and more flexible, so.
13:55:00 <elliott> *interface* inheritance is just fine though.
13:55:19 <elliott> as in, the concept that to satisfy an interface X, you must also satisfy interfaces Y, Z, ...
13:55:31 <elliott> conflating the two is common but unfortunate, especially in languages without an explicit implementation/interface divide
13:56:37 <oren> elliott: i try to create a divide in C by using a lot of static functions and static globals, but it doesn't always work
13:56:37 <elliott> (I am not a fan of "standard" OOP (I would say "traditional" but C++, Java, Python, whatever really don't look all that much like Smalltalk or whatever) in general, anyway. inheritance is one of the reasons why)
13:56:54 <Jafet> Yeah, C++ lacks that... concept
13:57:01 <elliott> har har
13:57:09 <elliott> aren't they adding like mini-concepts or something
13:57:41 <oren> C++ added a slightly different version of each thing from C
13:58:35 <oren> i really do not understand why we need references and pointers in the same language
13:58:40 <Jafet> I suspect that at this point all of WG21's energies can only be devoted to updating the standard to be relevant on computers designed in the last ten years
13:58:55 <Jafet> leaving none for actual language design
13:59:18 <elliott> references are a little safer and nicer (but not safe enough)
13:59:36 <elliott> it's true that C++ basically has a nicer parallel universe language fighting against the "legacy" C parts.
13:59:48 <elliott> that nicer language has some horrifying stuff in it too though of course
13:59:53 <elliott> FSVO nicer I guess
14:01:56 <oren> we need a language called c*=2;
14:02:44 <oren> it would have the good parts of C++ and remove the parts inherrited
14:03:33 <oren> I hate C++ because thinking in C and Python at the same time screws my head up
14:04:30 -!- mihow has joined.
14:04:43 <Jafet> Do you mean (++c)++
14:04:56 <elliott> the language trying to get out of C++ only looks like Python in an extremely distorted funhouse mirror :p
14:05:04 <elliott> anyway, that's what rust is trying to be
14:05:11 <elliott> *Rust
14:05:22 <Jafet> The distorted funhouse is D
14:06:02 <oren> I am planning on eventually get around to trying both of thsoe
14:06:19 <elliott> I dislike D :(
14:06:38 <elliott> it feels like such a grab bag of stuff
14:06:58 <oren> so it is the PHP of compiled languages?
14:07:22 <b_jonas> argh!
14:08:01 <elliott> I think the design is a lot more solid than that :p
14:08:06 <elliott> I just don't like the taste of it
14:10:33 -!- mihow has quit (Ping timeout: 250 seconds).
14:17:19 <FreeFull> I like Rust
14:17:27 <FreeFull> Rust gets my thumbs-up
14:18:04 <cluid> what are some of the best things about Rust?
14:20:25 <lifthrasiir> it is the least fucked alternatives among there (including C++ itself)
14:20:36 <cluid> ocaml
14:20:45 <lifthrasiir> not really alternative?
14:20:50 <cluid> ok
14:21:07 <lifthrasiir> I'm starting to think that this problem space itself is fucked
14:21:17 <FreeFull> Rust gets you memory safety without garbage collection, and it has a nice type system
14:21:23 <cluid> what problem space, programming?
14:21:27 <lifthrasiir> so it's about minimizing fucks
14:21:29 <FreeFull> You can write an OS kernel in Rust
14:21:38 <FreeFull> Or code for your microcontroller
14:22:06 <cluid> FreeFull, That seems pretty awesome to be but afaict there's no proof that the rust type system ensures the operational semantics are actually safe
14:22:22 <lifthrasiir> afaik they are trying
14:22:43 <oren> proof, whatver, so long as it provably HELPS thats' good
14:22:53 <lifthrasiir> they have a core semantics, I'm not sure it has been fully proved
14:22:59 <FreeFull> Theoretically, the lifetime system should be sound, modulo compiler bugs
14:22:59 <lifthrasiir> (search for rust-redex)
14:23:13 <FreeFull> Also the ownership system
14:23:15 <cluid> what is the theory though?
14:27:09 <elliott> https://en.wikipedia.org/wiki/Region-based_memory_management has a long history
14:29:32 -!- AndoDaan_ has joined.
14:30:03 <elliott> Cyclone, ML Kit etc.
14:31:51 -!- AndoDaan has quit (Ping timeout: 250 seconds).
14:37:03 -!- shikhout has joined.
14:37:25 -!- shikhout has changed nick to Guest86316.
14:40:02 -!- shikhin has quit (Ping timeout: 244 seconds).
14:54:55 <oren> i have invented the c/bash polyglot archive format
14:56:47 <oren> it is a c file which can be run as its own compile script
14:57:45 -!- Guest86316 has changed nick to shikhin.
14:57:51 -!- shikhin has quit (Changing host).
14:57:51 -!- shikhin has joined.
14:58:37 <oren> because the cpp directive #if 0 is also a bash comment
14:59:56 <elliott> that kind of thing is quite a common trick
15:00:27 <elliott> you can also do things like this
15:00:28 <elliott> sh-3.2$ /* 2>/dev/null; echo hi; # */
15:00:28 <elliott> hi
15:00:57 <oren> elliott: really? the only reason i'm doing it is becauase i'm too lazy to start puttin gthings in separate files
15:01:21 <elliott> oh, it actually extracts itself, heh.
15:01:23 <elliott> you could base it on shar
15:01:35 <oren> because then i couldn't use pastbin as a repository
15:01:38 <elliott> why not just put all the program in one file...
15:02:01 <oren> elliott: it also contians its documentation and test suite
15:02:46 <elliott> documentation can be a big comment, test suite can be an #ifdef ... int main() ... #endif? :p
15:03:23 <oren> the test suite is a shell script that feeds abunch of test code to the scrip7 interpreter
15:05:03 <elliott> you could write it as function calls
15:05:06 <elliott> nobody likes shell :p
15:05:27 -!- `^_^v has joined.
15:05:39 <oren> I prefer here documents to "" strings
15:06:25 <elliott> oh I assumed it was one-liners
15:07:09 <oren> nah, i have to test the loops and stuff, so in order to test it properly i implemented an insertion sort for example
15:07:33 <elliott> /* 2>/dev/null; if [ "$1" = "test" ]; do sh $0 <<EOF ... EOF; done; # */ :p
15:07:39 <elliott> *then/fi
15:07:50 <elliott> (assuming sh $0 compiles and runs it if given no arguments)
15:17:03 -!- dts|pokeball has joined.
15:21:31 <cluid> <oren> it is a c file which can be run as its own compile script
15:21:44 <cluid> Just put a comment with the compile line at the start
15:22:01 <cluid> i would not run a large c/sh 'polyglot' for fear it might do something dodgy that isn't immediately obvious
15:22:43 <oren> cluid: the entire concept of this language is dodgy
15:42:03 -!- oerjan has joined.
15:43:29 <oerjan> Gregor: i don't think glogbot's clock is properly set
15:44:08 <oerjan> it seems to be a minute late
15:46:45 -!- AndoDaan_ has quit (Ping timeout: 250 seconds).
15:46:51 <oren> http://pastebin.com/qVp7R5D2 <-- how dodgy is this
15:51:27 -!- AndoDaan has joined.
15:54:22 <elliott> at least use "$0" instead of requiring a filename
15:54:35 <elliott> you probably want to set -e too
15:55:35 <elliott> you might also want to make it not a sharbomb, but :p
15:55:49 <oerjan> shar and enjoy
15:57:02 <oerjan> oots updates have become even rarer lately, it seems
15:57:13 -!- dts|pokeball has quit (Ping timeout: 245 seconds).
16:05:30 -!- mihow has joined.
16:07:30 <oren> There, it now uses $0. (same link)
16:07:44 <oerjan> now completely free!
16:08:06 <cluid> lol
16:09:27 <oren> see it compiles itself 3 times and runs cpp on itself twice, to produce two executables, a .o library, a test shell script and a .txt document.
16:10:07 <HackEgo> [wiki] [[Language list]] http://esolangs.org/w/index.php?diff=41488&oldid=41464 * Tastyfish * (+17) added flow_chart
16:10:33 -!- mihow has quit (Ping timeout: 264 seconds).
16:11:02 <oren> the different executables share part of their code, so this is a highly efficient way of doing it
16:11:52 <oerjan> oren: are you sure this counts as one .c file any longer
16:12:29 <oren> it is a txt.c.sh file
16:13:00 <elliott> oren: this won't work if you curl ... | sh
16:13:10 <elliott> you gotta make it use heredocs or something like shars
16:15:16 <oren> elliott: what do you mean? you jsut sh scrip7.c
16:15:31 <elliott> as in curl http://pastebin/blah | sh
16:15:34 <elliott> because you use $
16:15:36 <elliott> $0
16:15:44 <elliott> don't you want it to be as easy as possible to let you run arbitrary code
16:16:17 <oren> elliott: but how ami supposed to compile myself a bunch of times?
16:16:40 <oren> bah too complicated
16:18:04 <oren> ideally what we need is a scripting language except instead of <?php ?> have /*blah */
16:19:10 -!- jix_ has quit (Quit: Lost terminal).
16:20:14 <elliott> it is a shame that there is no way to get cpp to accept a shebang at the start of the file (afaik)
16:20:22 <HackEgo> [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=41489&oldid=41479 * Tastyfish * (+172) /* Derivative Ideas */
16:26:17 -!- drdanmaku has joined.
16:31:49 -!- Phantom_Hoover has quit (Ping timeout: 250 seconds).
16:36:41 -!- Phantom_Hoover has joined.
16:42:25 <elliott> https://www.indiegogo.com/projects/the-hybrid-programming-language remember the Osmosian Order of Plain English Programmers? well,
16:43:00 -!- jix has joined.
16:48:12 <oerjan> plain english!
16:48:25 <J_Arcane> "When you start me up, I will quickly take over your screen so you no longer have to look at that painted whore of an interface that comes with the kluge."
16:48:27 <J_Arcane> ...
16:48:31 -!- mihow has joined.
16:49:00 <J_Arcane> (also, I had to manually type that quote from the manual, because they've done something to obfuscate copy&paste results from the PDF)
16:53:36 <fizzie> elliott: I think they're being a little bit unclear about what they need their half a million dollars for.
16:54:10 <oerjan> either drugs or antipsychotic medication hth
16:54:17 <oerjan> possibly both
16:54:18 <elliott> J_Arcane: yes, the manual is quite something
16:54:33 <oerjan> (i guess the latter are also drugs.)
16:54:58 <elliott> J_Arcane: I've tried to write programs in it
16:55:06 <elliott> unfortunately I missed the painted whore of an inteface that comes with the kludge
16:55:13 <elliott> it had some weird alphabetical file navigation system. it was horrible
16:55:21 <fizzie> J_Arcane: I don't think what I get from copy-pasting ("When you star meup, Iwil quickly take over your scen soyu nolnger have tolok athat painted whore ofan iterface tha comes with e kluge") is really any worse.
16:55:23 <elliott> *interface
16:55:29 <oerjan> elliott: *kluge
16:55:39 <elliott> oerjan: let's say it's british spelling or something.
16:56:30 <oerjan> http://www.catb.org/jargon/html/K/kluge.html hm
16:56:33 <J_Arcane> Yeah, it's a bit batty. I wonder if there's any relation between these guys and the HYBRID RPG guy.
16:58:58 <elliott> well, I like batty.
16:59:05 <elliott> the language isn't actually interesting, though.
16:59:19 <J_Arcane> IT just reads like a lower level AppleTalk.
17:00:37 <oerjan> elliott: wow you were right " It now appears that the British, having forgotten the etymology of their own ‘kludge’ when ‘kluge’ crossed the Atlantic, repaid the U.S. by lobbing the ‘kludge’ orthography in the other direction and confusing their American cousins' spelling!"
17:00:59 <elliott> great
17:01:07 <elliott> I've always said "kludge", I think.
17:02:26 <oerjan> "Some observers consider this mess appropriate in view of the word's meaning."
17:02:48 <fizzie> I've always used "kludge" too, but I was aware of the controversy.
17:03:13 <int-e> wait a second, is that 1981 oldsmobile a Delorean? (xkcd)
17:09:04 <int-e> ok, no.
17:09:48 * int-e checks off "say something stupid on #esoteric" from his to-do list for the day.
17:09:54 <oerjan> i believe those are different brands hth
17:10:42 <int-e> oerjan: and you'd be right to believe that.
17:11:14 <int-e> I didn't realise that "Oldsmobile" *was* a brand.
17:11:46 <elliott> it;'s old
17:11:54 -!- dts|pokeball has joined.
17:12:11 <oerjan> but not too old to be mobile
17:19:46 -!- oerjan has quit (Quit: leaving).
17:22:13 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:37:58 <HackEgo> [wiki] [[StaPLe]] http://esolangs.org/w/index.php?diff=41490&oldid=41463 * BCompton * (-17) /* Interpreter */
17:39:14 -!- GeekDude has joined.
17:55:42 * Gregor bites the head off of a chicken.
17:57:47 <elliott> uh.
18:00:58 -!- Sprocklem has joined.
18:14:37 -!- MoALTz has joined.
18:16:34 <HackEgo> [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41491&oldid=41486 * AndoDaan * (+172) /* External resources */ added JavaScript implementation.
18:30:34 <cluid> hi AndoDaan
18:31:03 <AndoDaan> Hey, cluid.
18:31:49 <cluid> i created an esolang
18:31:53 <cluid> do you wantto see it
18:31:59 <AndoDaan> Treehugger?
18:32:01 <cluid> yeah
18:32:25 <AndoDaan> :) congratulations. I've been tickering on an interpreter for it actually.
18:32:49 <cluid> realy!
18:33:38 <AndoDaan> Yeah, javascript (very simular to the mnnbfsl interpreter I just posted).
18:34:45 <cluid> cool good luck :D
18:35:00 <cluid> i have posted an interpreter, but I haven't been able to write intereting programs with it yet
18:35:14 <AndoDaan> Encoding the tree is giving me some problems though. I need to brush up on that kind of data structure.
18:35:37 <cluid> it is a little difficult since its infinite/unbounded
18:35:47 <cluid> one way might be to grow the tree as needed
18:35:48 <AndoDaan> Can BF automatically translated to TH?
18:35:55 <cluid> yes its easy to translate
18:36:01 <cluid> just turn < to ^
18:36:24 <cluid> since you can see a linear tape as just taking the right branch each time
18:36:46 <AndoDaan> Hmm.
18:37:04 <cluid> http://web.cecs.pdx.edu/~sheard/course/Cs163/Graphics/CompleteBinary.jpg
18:37:12 <cluid> like
18:37:16 <cluid> A > C > G > ...
18:37:19 <cluid> would be the brainfuck part
18:37:21 <cluid> and the rest is just ignored
18:38:05 <cluid> http://cs.anu.edu.au/~bdm/tree.png this is a better pictures
18:38:17 <cluid> so you have all this extra space than BF
18:38:22 <cluid> but it's hard to make good use of it
18:39:20 <AndoDaan> Is there anything interesting the tree can do, that's otherwise is hard to do in bf?
18:39:51 <cluid> the main thing is that you easily have as much memory as you choose next to any cell
18:40:02 <elliott> http://www.sweetandfizzy.com/fractals/index.html http://www.sweetandfizzy.com/fractals/diagrams.html
18:40:12 <cluid> whereas in brainfuck you would have to make sure you keep space around before starting
18:42:33 <elliott> http://www.webcitation.org/query?url=http://www.geocities.com/CapeCanaveral/Campus/8446/vid_fractals/index.html&date=2009-10-25+06:34:34
18:42:38 <elliott> computerless fractals
18:51:12 <fizzie> We were browsing our trip photos on the hotel room TV the other day, and I took a couple of silly feedback photos since I had the camera plugged in and all.
18:51:16 -!- InvalidCo has quit (Ping timeout: 256 seconds).
18:53:06 <elliott> so can you make fractals like that with no camera at all, just using mirrors
18:53:15 <elliott> no reason you shouldn't be able to, right?
18:54:02 <fizzie> elliott: I think it works like https://i.imgur.com/Q3aWVGf.gif as they said on another channel.
18:54:21 <elliott> god, I love that gif
18:54:54 <fizzie> (This was on a course channel for a 3D graphics course that's almost all about raytracing.)
18:56:44 <fizzie> https://www.dropbox.com/l/nw8dddpkXVIYQgOYyDtGQr <- the usual thing
18:58:07 <elliott> I think the best part of these photos is your wife implicitly facepalming off-screen
18:58:29 <elliott> "is THIS what they do at GOOGLE"
18:58:57 <fizzie> It wasn't quite like that. But it was a little bit like that.
18:59:34 <J_Arcane> It looks like an IBNIZ demo.
19:06:07 -!- scounder has quit (Read error: Connection reset by peer).
19:06:46 -!- ais523 has joined.
19:16:45 -!- MDream has quit (Quit: later chat).
19:18:57 -!- Sprocklem has quit (Ping timeout: 264 seconds).
19:22:20 -!- roasted42 has joined.
19:25:09 -!- scounder has joined.
19:27:00 -!- roasted42 has quit (Ping timeout: 258 seconds).
19:41:21 -!- mihow has quit (Quit: mihow).
19:43:21 -!- InvalidCo has joined.
19:48:09 -!- mihow has joined.
20:00:43 -!- Sprocklem has joined.
20:05:09 -!- Patashu has joined.
20:15:38 -!- ais523 has quit (Read error: Connection reset by peer).
20:15:52 -!- ais523 has joined.
20:18:27 -!- InvalidCo has quit (Ping timeout: 250 seconds).
20:25:44 -!- Patashu has quit (Ping timeout: 265 seconds).
20:26:35 -!- dts|pokeball has quit (Ping timeout: 272 seconds).
20:36:15 -!- shikhin has quit (Read error: Connection reset by peer).
20:36:46 -!- shikhin has joined.
20:37:09 -!- shikhin has changed nick to Guest80998.
20:50:06 -!- bb010g has joined.
20:56:06 -!- MoALTz has quit (Quit: Leaving).
21:02:29 <HackEgo> [wiki] [[StaPLe]] http://esolangs.org/w/index.php?diff=41492&oldid=41490 * BCompton * (+3) /* Hello World */ Fixed syntax
21:13:26 -!- jedi01 has joined.
21:16:50 -!- InvalidCo has joined.
21:21:06 -!- jedi01 has quit (Quit: Leaving).
21:34:02 -!- MDream has joined.
21:42:24 <GeekDude> BS sounds like an amazing language
21:43:49 -!- ais523 has quit (Read error: Connection reset by peer).
21:44:00 -!- ais523 has joined.
21:46:50 -!- callforjudgement has joined.
21:47:08 -!- ais523 has quit (Read error: Connection reset by peer).
21:52:12 <AndoDaan> Cluid, I guess because TH's binary tree is infinite and because you can only get to those nodes by computing its 'address' ("><>>><><>" or 10110101), that means some nodes will never be reachable."
21:52:42 <AndoDaan> Right? I could be confusing concepts.
21:53:47 <cluid> AndoDaan, I think you could write a program that touches each node eventually
21:54:01 <cluid> just like how you can write a prorgam that prints out every fraction for example
21:54:07 <cluid> I should try to do this
21:54:13 <cluid> GeekDude, brainsuck?
21:54:25 <GeekDude> https://skillsmatter.com/skillscasts/6088-the-worst-programming-language-ever
21:54:31 <GeekDude> BS, the worst programming language ever
21:54:46 <cluid> haha
21:56:05 <elliott> you can't because paths are infinite
21:56:10 <elliott> you can never touch the path 11111...
21:56:24 <elliott> or the path 01001000100001000001...
21:56:44 <elliott> paths in an infinite binary tree, i.e. infinite lists of bits, are isomorphic to the reals
21:57:09 -!- callforjudgement has changed nick to ais523.
21:57:10 <cluid> we're only considering finite paths
21:57:11 <AndoDaan> Supernatural numbers.
21:57:54 <elliott> ok, I was just replying to AndoDaan (since it is true that some nodes of the infinite tree will never be reachable)
21:58:09 <AndoDaan> Or that's what hofstadler called them.
21:58:12 <cluid> that isn't correct
21:58:24 <cluid> every node in the tree will have a finite path to it
21:59:57 -!- S1 has joined.
22:00:56 <elliott> ok, yes, you're right
22:01:06 <elliott> it would be cooler without that limitation though
22:12:02 <FreeFull> elliott: One could construct an infinite binary tree where each node corresponds to a rational number too
22:18:41 <HackEgo> [wiki] [[StaPLe]] http://esolangs.org/w/index.php?diff=41493&oldid=41492 * BCompton * (+93) /* Example Programs */
22:18:49 <Phantom_Hoover> now that i think about it i'm pretty sure any graph with finitely (or even countably) many edges touching each vertex has a countable number of vertices in each connected component
22:28:01 -!- Sprocklem has quit (Ping timeout: 265 seconds).
22:37:12 -!- CrazyM4n has joined.
22:38:22 <HackEgo> [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=41494&oldid=41476 * BCompton * (+12) /* External resources */ Dead Link
22:38:28 -!- mihow has quit (Quit: mihow).
22:41:17 -!- S1 has quit (Quit: S1).
22:48:34 -!- roasted42 has joined.
22:51:24 -!- oerjan has joined.
23:00:27 <shachaf> whoa, i just was informed that Gregor is a professor at Waterloo now
23:01:21 <oerjan> so does he have a napoleon hat
23:02:03 <shachaf> also i meant "was just" but english is great it works either way
23:04:19 <fizzie> Phantom_Hoover: So how about those infinite trees corresponding to base-d digit sequences, then? One connected component, each vertex (except the root) has a degree of d+1, yet there's at least ond vertex for each real?
23:05:06 <cluid> oerjan, I thought of a fun thing to write in Treehugger if youre interesting
23:05:08 <cluid> interesed
23:05:09 <cluid> **
23:05:25 <oerjan> hm he has a tricorn but not a bicorne
23:06:13 <cluid> O_O
23:06:26 <oerjan> @tell Gregor now that you're in waterloo you need a bicorn hth
23:06:26 <lambdabot> Consider it noted.
23:06:46 <oerjan> cluid: are you not familiar with http://choosemyhat.com/
23:07:08 <cluid> :D
23:07:09 <cluid> haha
23:07:54 <oerjan> also, i don't think treehugger is quite my thing, although i _did_ implement V way back
23:08:03 <cluid> V?
23:08:09 <cluid> oh yeah
23:08:13 <cluid> BTW it's cool you should like it
23:08:41 <cluid> its like brainfuck
23:08:52 <oerjan> i mean, the thing that interested me about V was its weird operations and Treehugger is less weird...
23:09:00 <cluid> alright
23:09:14 <cluid> il read about V more
23:09:20 <oerjan> i don't think i was particularly interested in _programming_ V, once it became clear how to translate bf to it
23:10:03 <cluid> V seems a bit like a sort of rubiks cube type problem
23:12:04 <oerjan> hah in that case you should look at Jolverine
23:13:23 -!- roasted42 has quit (Ping timeout: 245 seconds).
23:14:39 -!- roasted42 has joined.
23:15:15 <cluid> I think this treehugger problem is really interesting
23:16:59 <fizzie> Phantom_Hoover: (Or I guess scratch that, there's just a path for each real. Bah.)
23:17:29 <cluid> it's so easy in brainfuck, but really hard in treehugger -that's funny bceause it was designed the opposite way
23:18:10 <oerjan> wait isn't brainfuck trivially translatatble to treehugger
23:18:28 <cluid> yes
23:19:07 <oerjan> *-t
23:19:46 <oerjan> ok what kind of problem can it be then
23:20:20 <oerjan> it'd need to be something aware of its implementation language
23:20:25 <cluid> yes thats right
23:20:38 <cluid> its not a self interpreter though
23:21:03 <oerjan> and a quine wouldn't be hard to modify slightly for different commands
23:21:25 <cluid> I could give a hint in the form of a BF program
23:21:29 <oerjan> not that a quine is "so easy" in brainfuck
23:21:49 <oerjan> it's not theoretically hard, but it's messy
23:22:54 <oerjan> so i guess i am curious what the problem is, no promises though
23:23:17 <cluid> +[>+]
23:23:36 <oerjan> ok that's an infinite loop
23:23:38 <oerjan> oh hm
23:23:43 <oerjan> let me gues
23:23:46 <oerjan> *guess
23:23:57 <oerjan> you want something that touches every cell in the tree
23:24:13 <cluid> yeah!
23:24:26 <oerjan> hm that's essentially labyrinth code isn't it
23:24:34 <cluid> I think this is even tricky for double sided brainfuck
23:24:47 <cluid> ah i see how to do it for that just push 1's out
23:24:49 <elliott> I think it should be quite easy
23:25:00 <elliott> because basically the trailed 1s give you a path
23:25:14 <cluid> elliott, I would appreciate an implementation! I'm trying myself too but I think you would be able to tdo it quicker
23:25:20 <oerjan> elliott: the problem is not going off on an infinite path and never coming back
23:25:34 <elliott> oerjan: how could you? the tree starts as all 0s
23:25:46 <elliott> maybe you would need a counter in the cells or something...
23:26:08 <elliott> wait do you have to fill the nodes *above* you too
23:26:11 <elliott> since there is no root
23:26:16 <oerjan> obviously
23:26:25 <oerjan> i don't think that makes it much harder though...
23:26:27 <elliott> that sounds trickier, I was thinking just all the children of the initial cell
23:26:47 <oerjan> you just need to consider the starting cell the root
23:26:47 <elliott> okay it's just non-trivial I was wrong to think it's easy
23:26:58 <Phantom_Hoover> <fizzie> Phantom_Hoover: So how about those infinite trees corresponding to base-d digit sequences, then? One connected component, each vertex (except the root) has a degree of d+1, yet there's at least ond vertex for each real?
23:27:09 <elliott> oerjan: okay, yeah.
23:27:16 <elliott> do cells have limited range, I forget
23:27:18 <Phantom_Hoover> vertices corresponding to infinite sequences don't connect to anything
23:27:33 <cluid> for the sake of this program ets say cells can hold Integer (unbounded)
23:27:44 <fizzie> Phantom_Hoover: See also the other message.
23:29:27 <oerjan> bah i think it's more interesting if they're bounded :P
23:29:52 <elliott> are you sure you can't get away with Bool cells
23:30:06 <oerjan> ouch
23:30:24 <oerjan> possible? probably. but seriously awkward.
23:32:37 <oerjan> you'd want to store the direction to the root, at least
23:34:38 -!- roasted42 has quit (Ping timeout: 258 seconds).
23:35:13 <oerjan> it should be possible to visit the cells in an outgoing spiral, essentially
23:35:49 <oerjan> oh hm
23:36:06 <oerjan> one bit _is_ enough for the direction to the root
23:36:15 -!- roasted42 has joined.
23:36:25 <oerjan> assuming you know where you are coming from
23:36:43 -!- TodPunk has quit (Ping timeout: 245 seconds).
23:37:54 <oerjan> ...problem is, not for telling you when you've actually _reached_ it.
23:38:25 <oerjan> however, you could probably store extra bits in side branches
23:41:08 <oerjan> so hm on the path downwards to the root, a bit tells you what is the direction to the root, although the _other_ direction gives you a bit that tells if you're already there.
23:42:27 <oerjan> as you go downward, you change the cells you are passing through to tell you the direction upwards instead.
23:42:45 <oerjan> like a zipper inside the actual structure you're navigating
23:44:13 -!- callforjudgement has joined.
23:44:33 -!- Sprocklem has joined.
23:47:00 <int-e> oerjan: there's an easy 3rd place up for grabs in an ancient endless problem: http://golf.shinh.org/p.rb?ASCII+from+0x01+to+0x7f
23:47:37 -!- MDream has changed nick to MDude.
23:47:59 <cluid> so how should I actually write this...h m.......
23:47:59 -!- ais523 has quit (Ping timeout: 272 seconds).
23:48:06 <HackEgo> [wiki] [[Treehugger]] http://esolangs.org/w/index.php?diff=41495&oldid=41452 * Oerjan * (+27) clarify infinity is rootless
23:48:06 <cluid> also I'm not really sure how to test it
23:48:39 -!- TodPunk has joined.
23:48:43 <cluid> oerjan, thanks for the edit! 'upwards' might be misleading though?
23:49:02 <cluid> the program ^ is similar to < in brainfuck.. you crash beacuse of going off the tape
23:49:19 <oerjan> cluid: oh. then i've completely misunderstood.
23:49:24 <oerjan> and so have others, i think.
23:49:28 -!- poq has joined.
23:49:39 -!- poq has left.
23:49:47 <HackEgo> [wiki] [[Treehugger]] http://esolangs.org/w/index.php?diff=41496&oldid=41495 * Oerjan * (-17) it wasn't to be
23:50:04 <oerjan> that definitely changes what the space-filling program needs to do
23:50:08 <oerjan> elliott: ^
23:50:27 <elliott> cluid: huh, didn't you say the tree was unrooted?
23:50:28 <oerjan> THERE WAS A ROOT
23:50:32 <elliott> so that you can go up forever
23:50:33 <cluid> http://esolangs.org/wiki/Treehugger/Implementation
23:50:43 <cluid> zero there is the initial tape
23:51:08 <elliott> that is a shame, I liked the idea of it spanning infinitely like that
23:51:35 <cluid> I see what you mean about up
23:51:56 <cluid> that sounds hard to do you define that as Treehugger++ or something
23:52:08 <elliott> treehuger+=aleph_0
23:52:10 <elliott> gg
23:52:16 <elliott> oerjan: do you need to store the direction to the root?
23:52:24 <oerjan> cluid: V did that. although you then have to decide whether up is rightward of leftward
23:52:38 <elliott> my thinking was that you'd arrange so that [^] gets you to the root or such
23:52:45 <elliott> of course it's not as simple as that
23:52:50 <oerjan> elliott: all i said was based on the idea of it being unrooted
23:52:57 <elliott> right
23:53:05 <oerjan> should be simpler without that
23:53:06 <elliott> oh, I see, because that way you might have to go *down* to the root
23:53:10 <oerjan> indeed
23:54:03 <elliott> actually
23:54:10 <elliott> if you have the root be 0 how can you fill every cell
23:54:11 <elliott> >_<
23:54:13 <oerjan> i have been thinking that if you wanted to a _really_ unrooted tree like this, you'd not want up to special, instead you'd just do "turn left", "turn right", and "go back where you came from"
23:54:18 <oerjan> *to do
23:54:18 <cluid> btw I am very pleased with using a zipper in this code
23:54:28 <elliott> okay the root isn't any less filled than the infinite number of cells below you but it feels weird
23:54:28 <cluid> it's called Z there
23:54:45 <oerjan> elliott: heh that is a point
23:55:08 <oerjan> you cannot fill arbitrary many levels down with non-zeros. or can you?
23:55:16 <elliott> why not?
23:55:28 <elliott> you could always flip the root to filled for one cycle when you got up there
23:55:30 <oerjan> i mean while keeping the root non-zero as well
23:55:38 <elliott> then you could have nice freeze frames
23:55:54 <oerjan> also my idea didn't intend to fill everything simultaneously
23:55:55 <elliott> see I assumed it was filling every cell below the one you start on, and that you could go up forever
23:56:02 <elliott> so in that case [^] does put you to the root.
23:56:06 <elliott> *move you
23:56:09 <oerjan> which i guess doesn
23:56:10 -!- roasted42 has quit (Ping timeout: 264 seconds).
23:56:20 <oerjan> 't fit the analogy with +[>+]
23:56:21 <elliott> that turning idea is nice for my generalised graph brainfuck idea I think
23:56:36 <cluid> I thought of Gridfuck
23:56:40 <cluid> it has <^>v
23:56:42 <cluid> four directions
23:56:54 <cluid> http://esolangs.org/wiki/Gridfuck
23:56:56 <cluid> it doesn't exist!
23:57:13 <elliott> you'd have "focus previous/next edge", "follow edge (making you face back the way you came)", there is one edge for every integer, the initial state is one zero cell looped to itself an infinite number of times
23:57:41 <elliott> plus a (...) construct that means "reassign this edge to the cell we end up at", or something
23:57:49 <elliott> and then a control structure less powerful than [] so you're forced to program with the graph
23:58:04 <elliott> oh plus a "connect a new cell to this edge" instruction.
23:58:14 <elliott> (maybe it'd be better if you got an infinite number of cells to start with so you could omit that)
23:58:15 <cluid> gridfuck ha sloops, but treehugger is just a tree
23:58:42 <cluid> "so you're forced to program with the graph" <- that is cool!
23:58:46 <elliott> well anyway this would be impossible to program in because nobody can visualise graphs like this except mathematicians too good to care about esolangs
2014-12-18
00:00:08 <elliott> cluid: I don't know what the control structure should be though...
00:00:19 <elliott> BF [] is clearly too much because you could just pretend you have a tape
00:00:45 <elliott> maybe something where you can only walk one constant "path" through nodes, the same for every iteration of the loop
00:00:53 <elliott> so you have to rewire the graph to do anything non-balanced
00:01:57 <oerjan> cluid: things similar to gridfuc definitely exists, see e.g. https://esolangs.org/wiki/Paintfuck
00:02:52 -!- roasted42 has joined.
00:02:54 <elliott> I love paintfuck
00:02:55 <elliott> it's so pretty
00:02:57 <cluid> after I invented treehugger (<^>) and gridfuck (<^>v) i need to create pentagonalfuck, based on icosahedral symmetry
00:03:11 <elliott> how about fuck, with a zero-dimensional tape
00:03:28 <cluid> helo world would be something like: +++++++++++++++.+++++++.
00:03:42 <cluid> thats funnny
00:03:45 <cluid> sub turing
00:04:27 <cluid> i want to make a page for that............
00:04:41 <cluid> it would have to be https://esolangs.org/wiki/Fuck_(ehird)
00:04:47 <cluid> but that seems offensive
00:04:50 -!- dts|pokeball has joined.
00:04:58 <cluid> since https://esolangs.org/wiki/Fuck exists
00:05:23 <cluid> it could be called Nofucks but fuck is better
00:06:10 <elliott> this fuck language looks boring and is implemented in php so imo we should just delete it and pretend it never happened
00:06:16 <cluid> yes lol
00:06:24 <cluid> (although not really since thats mean)
00:06:48 <cluid> it could be moved to Fuck_(Josefnpat)
00:07:01 <elliott> yeah that's what happened with clue
00:07:05 <elliott> well both of them got moved
00:07:15 <elliott> that's a rare one because both of them are actually good
00:07:23 <cluid> yeah thats the one I was thinking of
00:07:27 <elliott> oerjan: if you have only one natural of state what kind of operations do you need to be able to simulate a counter machine on it?
00:07:47 <elliott> I guess some kind of arithmetic?
00:08:39 <oerjan> elliott: fractran operations
00:08:46 <MDude> I tohught there was already a zero dimeinsonal BF.
00:08:49 <MDude> Let me check.
00:08:51 <elliott> oerjan: oh, right
00:08:58 <elliott> isn't fractran's state a rational though? but yeah
00:08:59 <oerjan> see minsky machine article as well
00:09:14 <oerjan> no, the instructions are rational
00:09:46 <oerjan> and an instruction only applies if multiplying current state by it gives an integer
00:09:48 <elliott> right, okay, yeah
00:09:54 <elliott> that's so unbrainfucky though :(
00:10:03 <elliott> is it not possible with a finite number of commands
00:10:26 <oerjan> um what's infinite about fractran commands
00:10:32 <oerjan> oh you mean the number
00:10:34 <elliott> well I mean there's an infinite number of rationals
00:10:37 <elliott> ideally there would only be eight rationals
00:10:49 <elliott> cluid: the good thing about this language is that +[>+] is very easy in it
00:10:50 <oerjan> WAT
00:11:03 <oerjan> elliott: you can restrict to a finite number of primes
00:11:25 <elliott> fractranfuck sounds boring :(
00:11:29 <oerjan> look at it the minsky 1-register machine version
00:11:35 <oerjan> *-it
00:11:36 <elliott> I guess there's not really much brainfuck about it by then.
00:11:54 <elliott> you can't have [] check for zero or whatever because every loop would have to forget everything, and + and - would need changing
00:12:12 <elliott> well I am pleased to announce that my new zero-dimensional-tape brainfuck derivative, fractran, is finished
00:12:22 <elliott> brainfrac
00:12:35 <cluid> hahah
00:12:45 <cluid> Did you see the fractran guy?
00:12:52 <cluid> he wrote a self interpreter in fractran
00:12:55 <cluid> it was quite impressive!
00:13:01 <cluid> made up a whole 'high level'fractran language to do it
00:13:11 <elliott> why didn't conway invent something more creative than a brainfuck derivative
00:13:23 * oerjan swats elliott -----###
00:13:28 <elliott> I don't think I've seen a fractran self-interpreter
00:13:30 <elliott> that sounds amazing
00:13:36 <int-e> Game of Life is a Brainfuck derivative?!
00:13:42 <elliott> int-e: yes. also fractran
00:13:45 <oerjan> int-e: shocking
00:13:51 <oerjan> elliott: and collatz functions
00:14:00 <oerjan> and surreal numbers if you're high enough
00:14:03 <int-e> elliott: So are all Turing-complete languages Brainfuck derivatives now?
00:14:17 <oerjan> int-e: only those conway made hth
00:14:17 <int-e> Surreal numbers are cool.
00:14:18 <elliott> int-e: no, just everything john conway has ever done is a brainfuck derivative
00:14:28 <elliott> he is a total fraud
00:14:51 <int-e> elliott: I think you should kick yourself for this.
00:14:56 <elliott> agreed
00:14:58 -!- ChanServ has set channel mode: +o elliott.
00:15:01 -!- elliott has kicked elliott trolling.
00:15:04 -!- elliott has joined.
00:15:10 -!- Phantom__Hoover has joined.
00:15:10 -!- ChanServ has set channel mode: +o elliott.
00:15:17 <elliott> elliott: don't rejoin so quickly after being kicked
00:15:19 -!- elliott has set channel mode: +b *!*elliott@unaffiliated/elliott.
00:15:19 -!- elliott has kicked elliott elliott.
00:16:03 * int-e wonders whether elliot has to read ChanServ's help page to find the command that unbans oneself.
00:16:14 <oerjan> he's had it coming for a while
00:16:18 <cluid> Voting to move http://esolangs.org/wiki/Fuck to http://esolangs.org/wiki/Fuck_(Josefnpat)
00:16:32 -!- roasted42 has quit (Ping timeout: 256 seconds).
00:16:32 -!- qlkzy has quit (Ping timeout: 256 seconds).
00:16:34 <int-e> oh. UNBAN. well, that's too easy to remember reliably.
00:16:46 -!- monotone has quit (Read error: Connection reset by peer).
00:16:53 <oerjan> cluid: cannot move until there is an actual ambiguity hth
00:17:00 -!- monotone has joined.
00:17:02 <cluid> I want to create Fuck
00:17:37 -!- nortti has quit (Ping timeout: 245 seconds).
00:17:39 -!- Sprocklem has quit (Ping timeout: 250 seconds).
00:17:44 -!- nortti has joined.
00:17:52 -!- ChanServ has set channel mode: -b *!*elliott@unaffiliated/elliott.
00:17:55 -!- elliott has joined.
00:18:00 <oerjan> cluid: you make Fuck_(Cluid_Whateveritwasagain), and then we turn Fuck into a disambiguation page hth
00:18:10 <int-e> There's no http://esolangs.org/wiki/Sex
00:18:14 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
00:18:19 -!- qlkzy has joined.
00:18:20 -!- roasted42 has joined.
00:18:25 <cluid> its not by me though :(
00:18:28 <cluid> i would have come up with this ide
00:18:29 <cluid> a
00:18:47 <elliott> oerjan: am I old enough to get +R in chanserv permissions yet
00:18:58 <cluid> http://www.math.uiuc.edu/~beder/interpreter.frp is missing :(
00:19:31 <elliott> whoa, I'm actually exempt from +b
00:19:33 -!- ChanServ has set channel mode: +o elliott.
00:19:35 -!- elliott has set channel mode: +b $a:elliott.
00:19:38 -!- elliott has left.
00:19:51 -!- ChanServ has set channel mode: -b $a:elliott.
00:19:53 -!- elliott has joined.
00:19:56 <elliott> the docs lied.
00:20:03 <elliott> maybe it means that I can talk while +b
00:20:15 <oerjan> elliott: i don't think it's a good idea to give increased permissions to people who keep getting banned hth
00:20:54 <elliott> but I'd get to run lovely commands like
00:20:56 <elliott> 00:19:21 -ChanServ(ChanServ@services.)- More precisely, everyone will be deopped,
00:20:59 <elliott> 00:19:21 -ChanServ(ChanServ@services.)- limit and key will be cleared, all bans
00:21:02 <elliott> 00:19:21 -ChanServ(ChanServ@services.)- matching you are removed, a ban exception
00:21:05 <elliott> 00:19:21 -ChanServ(ChanServ@services.)- matching you is added (in case of bans Atheme
00:21:08 <elliott> 00:19:21 -ChanServ(ChanServ@services.)- can't see), the channel is set invite-only
00:21:11 <elliott> 00:19:21 -ChanServ(ChanServ@services.)- and moderated and you are invited.
00:21:52 <cluid> https://web.archive.org/web/20130131042427/http://stackoverflow.com/questions/1749905/code-golf-fractran
00:21:52 <cluid> elliott,
00:22:00 <cluid> Fractran: 84 fractions
00:22:32 <oerjan> elliott: maybe i should just remove +R from everyone else instead.
00:22:38 <cluid> https://web.archive.org/web/20100217054518/http://www.trinhhaianh.com/testvector1.out
00:22:54 <elliott> oerjan: that sounds like a bad idea (I'm not sure you'd even be able to?)
00:23:05 <elliott> cluid: nice! maybe I have seen this actually
00:23:11 <oerjan> well i cannot do it to the founder, presumably
00:23:12 <cluid> http://lpaste.net/116731
00:23:15 <cluid> this is 'high level fractran'
00:23:22 <oerjan> which i think is freenode something?
00:23:32 <elliott> "So I'm guessing that running the interpreter will take at least days, if not years :(" fractran is the language of the future
00:23:54 <cluid> maybe write a fractran JIT optimizing hyperinterpreter hth
00:23:56 <elliott> oerjan: tbf if I really wanted to I could kick everyone myself
00:24:20 <elliott> I have this weird thing known as like, a tiny sliver of responsibility
00:24:36 <cluid> is fractran implemented by prim factorization or by GCD calcluation?
00:24:39 * oerjan gets the microscope to check
00:25:11 <oerjan> cluid: you don't need to use either, you can just use integer division; not very efficient though.
00:25:12 <cluid> there is fractran in x86 but it may not handle larger programs
00:25:14 <Taneb> `? fun fact
00:25:16 <HackEgo> fun fact 0 = 1 | fact n = n * fact (n - 1)
00:25:28 <oerjan> (bignum integers, that is)
00:25:30 <elliott> cluid: the second answer is way cooler
00:25:34 <elliott> it's so small and actually terminates
00:25:35 <cluid> oerjan, alright well isn't the integer division the best?
00:26:08 <int-e> cluid: if you factor everything you can extract something like a counter machine
00:26:10 <elliott> (another self-interpreter)
00:26:16 <int-e> which may be more efficient to execute
00:26:26 <oerjan> cluid: well if you have a number that is 2**1986408 * 3**231980560 you may not wish to store it as a normal integer
00:27:07 <elliott> "I did not write a compiler and opted to write optimized Fractran code directly." is just hardcore
00:27:09 <int-e> and if the programmer is evil and uses products of large primes, a gcd may be better than full factorization.
00:27:25 <int-e> ... a gcd based partial factorization that is.
00:27:27 <cluid> oh tyeah good !
00:27:42 <oerjan> int-e: i have thought about such a gcd based factorization before
00:28:09 <cluid> I would like to have a compiler from 'high level fractran' to ffractran
00:28:11 <cluid> not use how to do subs
00:28:17 <cluid> yeah, its so hardcore and cool
00:28:20 <cluid> I think thats great
00:28:57 <elliott> it's like writing directly in machine code except the machine code was designed by a mathematician trying to torture you and is also a brainfuck derivative
00:29:57 <cluid> (this way we can interpret th high level code directly)
00:30:44 <int-e> I'll mentally replace "brainfuck derivative" by "rainbow unicorn" when the former is used in connection with inventions of Conway.
00:30:56 -!- roasted42 has quit (Ping timeout: 245 seconds).
00:31:09 <elliott> what about when he actually makes a brainfuck derivative
00:31:23 <elliott> im going to email him and ask him to pick his eight favourite words and put them on the wiki
00:31:41 <int-e> then he'll be an expert breeder as well as a great mathematician.
00:32:02 <elliott> resurrect dijkstra and force him to make a bf derivative at gunpoint
00:32:35 <elliott> he sweats but agrees, producing the first brainfuck derivative for formal verification
00:32:45 -!- roasted42 has joined.
00:32:58 <cluid> [] considered harmful
00:33:03 <int-e> elliott: Dijkstra should be happy with Brainfuck; there are no gotos.
00:33:26 <elliott> not sure you can call brainfuck "structured"
00:33:38 <int-e> well. there are loops.
00:33:46 <cluid> how about GOTO FUCK
00:33:51 <cluid> 10 >
00:33:54 <cluid> 20 +
00:34:00 <elliott> I think that exists more or less
00:34:01 <cluid> 30 GOTO 10
00:34:13 <int-e> "Basic Brainfuck"
00:34:18 <cluid> I should make a book about brainfuck derivatives
00:34:31 <elliott> dijkstra was actually alive for like nine years after brainfuck was invented so I like to believe he knew about its existence
00:35:09 <int-e> Plausible
00:35:22 <elliott> I don't think he would let himself laugh at it though
00:35:35 <int-e> oerjan: it's an easy rank 4 now. henkma struck.
00:35:41 <elliott> he would mumble something about programmers managing to innovate on APL
00:35:52 <int-e> Turing tarpits have their use.
00:36:42 <elliott> long lost handwritten EWD note about his new esolang
00:37:36 <oerjan> int-e: eek!
00:38:55 <elliott> https://esolangs.org/wiki/Two I like how one of the instructions is just called "Instruction"
00:39:17 <elliott> also it states there's no maximum value but contains an instruction to set the current cell to it
00:39:20 <Phantom__Hoover> <cluid> I should make a book about brainfuck derivatives
00:39:36 <Phantom__Hoover> i will literally turn you into a fucking brick
00:40:07 <elliott> Phantom__Hoover: pls stop (like, four years ago ideally)
00:40:31 <Phantom__Hoover> i had up til now!
00:40:45 <oerjan> what, girl genius still not updated
00:41:17 <elliott> like quitting smoking between every cigarette
00:41:24 <int-e> oerjan: I'll sue the Foglios for sleep deprivation. :P
00:41:57 <Taneb> oerjan, I've started checking GG T/T/S
00:42:05 <elliott> okay actually Two is kind of interesting, meh
00:42:10 <oerjan> Taneb: shocking
00:55:26 -!- roasted42 has quit (Ping timeout: 250 seconds).
00:56:10 <cluid> are there any superturing brainfucks?
00:56:17 <cluid> i think zzo made one?
00:56:25 -!- roasted42 has joined.
00:56:40 <Taneb> Brainhype?
00:57:11 <cluid> thanks!
00:57:29 <cluid> so its by ihope
00:57:38 <elliott> re's plenty. Two is one of them even
00:57:40 <elliott> *there's
00:58:21 <cluid> a Brainhype interpreter written in Brainhype cannot exist. However, you can write a Brainhype interpreter in Scheme-omega.
00:58:27 <cluid> are you sure you can write one in scheme-omega?
00:58:40 -!- CrazyM4n has quit (Quit: restarting).
00:59:59 <HackEgo> [wiki] [[Brainfuck Derivatives]] N http://esolangs.org/w/index.php?oldid=41497 * Cluid Zhasulelm * (+2616) Created page
01:00:20 <cluid> I made a collection fo some of the best BF derivatives - if you can suggest more I can add them, or you can add them
01:01:27 <AndoDaan> Thanks for including MNNBGFSL.
01:01:44 -!- CrazyM4n has joined.
01:02:19 <cluid> AndoDaan, MMBFSL is good because it's interesting how to show its turing complete..
01:02:39 <AndoDaan> Has it been shown that MNNBFSL is TC?
01:02:54 <HackEgo> [wiki] [[Special:Log/move]] move * Ehird * moved [[Brainfuck Derivatives]] to [[Brainfuck derivatives]]: capitalisation convention
01:02:59 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
01:03:17 <cluid> AndoDaan, theres an assembler somewhere that adds GOTO to the language
01:04:08 <HackEgo> [wiki] [[Brainfuck derivatives]] M http://esolangs.org/w/index.php?diff=41500&oldid=41498 * Ehird * (+40) links
01:04:27 <AndoDaan> Ah, cool. Do you know where I could find it?
01:04:28 <elliott> fuckbrainfuck isn't really a derivative so much as an implementation choice
01:04:33 <elliott> many "bf" implementations have a both-infinite tape
01:04:45 <elliott> (arguably right-infinite tape is a derivative, seeing as the original implementations had finite tapes)
01:05:11 <cluid> elliott, oh maybe it shoud be delted from there then
01:05:42 <elliott> bf with left-infinite but right-finite tape
01:05:47 <elliott> you get 4 cells to the right and infinite to the left
01:05:51 <elliott> they're bonus
01:06:29 <cluid> lol
01:06:35 <AndoDaan> 4 is too many. 3 bonus cells should be ample.
01:07:10 <elliott> I'm not stingy
01:08:31 <mitchs_> bff actually functions similarly to that in its previous buggy version
01:08:44 <mitchs_> it's supposed to be left infinite but there was an allocation bug
01:09:39 <mitchs_> so it crashes if you go more than 128 cells to the left or something
01:09:46 <mitchs_> don't remember the number
01:10:00 <AndoDaan> 30K cells and 0-255 isn't enough for turing completeness, is it?
01:11:45 -!- callforjudgement has quit (Read error: Connection reset by peer).
01:11:51 -!- scarf has joined.
01:13:00 <elliott> no
01:13:06 <elliott> anything * anything isn't enough if those anythings are finite
01:13:08 <cluid> youo haev to have actually infinite
01:13:23 <cluid> that's beacuse e.g. something subturing like a regex could capture any finite language
01:13:32 <cluid> you have to have infinite just to make the math work otu
01:14:24 -!- Sprocklem has joined.
01:15:42 <cluid> can quantum brainfuck compute something in less steps than classical brainfuck?
01:16:13 <Phantom__Hoover> presumably
01:16:32 <cluid> http://esolangs.org/wiki/User:Ihope127 it woudl be nice if all his languages weere listed here
01:16:43 <cluid> is it OK to add them ? I guess its considered rude or something?
01:16:50 <Phantom__Hoover> is that tswett the notable australian
01:17:01 <Phantom__Hoover> yes, it is
01:17:08 <cluid> http://esolangs.org/wiki/User_talk:Ihope127 actually soeone added it to the discussion page, that is nice
01:17:09 <oerjan> cluid: editing other people's user pages is not done
01:17:20 <oerjan> generally
01:17:20 <cluid> good
01:17:24 <cluid> im glad to know that
01:17:56 -!- roasted42 has quit (Ping timeout: 272 seconds).
01:18:00 <cluid> http://esolangs.org/wiki/Onoz proof it looks like oerjan invents a brainfuck derivative!
01:18:11 <oerjan> i did?
01:18:47 <cluid> you probably said something useful during a BF discussion
01:18:52 <cluid> and it was enough to make a whole language out of it
01:18:56 <oerjan> probably.
01:19:00 <cluid> moral: no one is safe!
01:19:07 -!- roasted42 has joined.
01:19:09 <oerjan> the bricks will get us all.
01:21:47 <int-e> Just another brick in the wall?
01:22:08 <oerjan> cluid: the idea about brainhype in scheme-omega is that it's easy to write a brainfuck interpreter in scheme, and then scheme-n should be able to interpret all brainhype programs with < n nesting depth of halting checks
01:22:25 <oerjan> and then omega can do any finite depth
01:22:48 <cluid> that's pretty mind blowing!
01:23:33 <elliott> did goedel ever make a bf derivative
01:24:03 <oerjan> you _probably_ can implement scheme-n in brainhype with n+1 nesting depth.
01:24:08 <cluid> http://en.wikipedia.org/wiki/G%C3%B6del%27s_%CE%B2_function he has a kindof fractran like thing, except it only ecnodes a finite sequence
01:24:34 <oerjan> or something close to that.
01:25:52 <elliott> what was euler's first esolang
01:25:59 <AndoDaan> Goedel invented Lisp before Lisp, and computers, was invented.
01:26:07 <int-e> oerjan: but perhaps you were thinking of http://www.girlgeniusonline.com/comic.php?date=20130121
01:26:32 <cluid> I've heard Goedel was a lisp hacker from Chaitin page but i don't really agree with that
01:27:00 <cluid> there's no LAMBDA for a start
01:28:10 <cluid> I think of what he did as peano arithmetic hacking
01:28:53 <Phantom__Hoover> i think of what he did as, uh, formal logic?
01:30:59 <AndoDaan> He used Russell's Pricipia Mathematica as his framework.
01:31:10 <cluid> really?
01:31:32 <cluid> I know he disproved some things Russell belived but are you talking about the same paper as I am?
01:32:07 -!- roasted42 has quit (Remote host closed the connection).
01:32:19 <AndoDaan> Goedel numbers, and his imcompleteness theory?
01:33:08 <cluid> well those are in the same paper
01:33:19 <cluid> so yes
01:33:19 <Phantom__Hoover> wouldn't he have been using peano arithmetic as his framework? i guess principia would've come in for the actual logic stuff
01:33:35 <AndoDaan> That what I meant by him inventing Lisp, developing a way for a language to talk about itself.
01:33:46 <cluid> i see what you mean :)
01:33:55 <cluid> its such a cool thing
01:34:38 <oerjan> Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I
01:34:49 <oerjan> that's the title of the paper hth
01:35:25 <cluid> https://skillsmatter.com/skillscasts/6088-the-worst-programming-language-ever how is APL a bad language?
01:35:38 <cluid> I think he is just saying that because its a cool language to bring up
01:35:45 <AndoDaan> Can't type in the code.
01:37:06 <elliott> dijkstra hated APL
01:37:15 <elliott> not entirely sure why but I guess I could make some guesses
01:37:23 -!- roasted42 has joined.
01:37:36 <AndoDaan> I've heard that name before.
01:38:07 <elliott> dijkstra? ...I'd hope so :)
01:38:44 <AndoDaan> I have a terrible memory.
01:39:09 <AndoDaan> shortest path for graphs.
01:39:19 <cluid> is it true that Visual Basic is a joke language?
01:40:02 <elliott> why did euclid invent ook!
01:40:05 <elliott> disappointing imo
01:40:18 <AndoDaan> ?
01:41:23 <elliott> it's not a very good language
01:41:35 <cluid> do you mean zzo not euclid?
01:41:48 <oren> Edsger W. Dijkstra is what I say instead of Jesus H. Christ
01:41:50 <oerjan> i'm pretty sure elliott is joking
01:42:02 <oerjan> also zzo didn't invent ook! either
01:42:02 <cluid> hi oren
01:42:02 <int-e> elliott: because he couldn't imagine that parallel lines could intersect.
01:42:11 <oren> Hi i'm awake now
01:42:43 <oerjan> oren: do you pronounce it correctly for extra penance?
01:43:26 <cluid> ah
01:43:29 <cluid> I mixed then up beacuse of http://esoteric.codes/post/98149134838/on-tokens-vocabulary-aaaaaaaaaaaaaa-vs-ook
01:43:41 <cluid> i just noticed a new post on this blog
01:43:46 <int-e> UPDATE!
01:44:10 <oren> oerjan: yah, the g is a kkh sound like in russian
01:44:59 <oerjan> oren: i've listened to google translate's pronunciation
01:45:30 <int-e> Nothing happened, now I can sleep, dreaming of better spoons.
01:45:37 <cluid> oren, check out the new page o n the wiki please :D
01:45:38 -!- yonkie_ has quit (Quit: leaving).
01:45:55 <oerjan> cluid: ook! was invented by this guy http://www.irregularwebcomic.net/
01:46:07 <cluid> oh cool
01:46:23 <int-e> (DMM made up for it by inventing Piet.)
01:46:25 <oerjan> that comic is in rerun these days, but there are others on the site
01:46:43 <oerjan> or the conglomerate of sites
01:48:51 <oren> Cluid: oh, you made a list of the BF derivatives that aren't just token replacements
01:49:09 <cluid> if oyu have any additions please!
01:50:07 <cluid> https://skillsmatter.com/skillscasts/6088-the-worst-programming-language-ever
01:50:13 <cluid> this guy spent a whole hour explaining his esolang
01:50:24 <cluid> probably deserves a wiki page, should I create it?
01:53:33 <int-e> t-O-ok!-en replacement.
01:53:56 -!- roasted42 has quit (Ping timeout: 250 seconds).
01:55:52 -!- roasted42 has joined.
02:03:40 -!- drdanmaku has joined.
02:15:44 <HackEgo> [wiki] [[BS]] N http://esolangs.org/w/index.php?oldid=41501 * Cluid Zhasulelm * (+1527) BS language
02:16:26 <HackEgo> [wiki] [[BS]] M http://esolangs.org/w/index.php?diff=41502&oldid=41501 * Cluid Zhasulelm * (+113) added link to the talk
02:17:36 <HackEgo> [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41503&oldid=41438 * Cluid Zhasulelm * (+133)
02:17:43 <AndoDaan> 17bit integers...
02:18:03 <cluid> yeah :D
02:18:05 <cluid> ver ysilly
02:18:24 <elliott> okay regex cpp is a good gag
02:19:05 -!- hjulle has quit (Ping timeout: 258 seconds).
02:24:39 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
02:27:00 <HackEgo> [wiki] [[BS]] M http://esolangs.org/w/index.php?diff=41504&oldid=41502 * Cluid Zhasulelm * (-52) more interesting code example
02:27:42 -!- scarf has quit (Read error: Connection reset by peer).
02:27:49 -!- scarf has joined.
02:36:41 <oerjan> AndoDaan: the "Collatz Function" example on MNNBFSL, is that the 3n+1 sequence?
02:37:26 -!- shikhin has joined.
02:37:48 -!- shikhin has changed nick to Guest11508.
02:38:56 <oerjan> AndoDaan: i'm editing the page, and i'm going to assume yes if you don't answer hth
02:39:45 -!- roasted42 has quit (Ping timeout: 244 seconds).
02:39:48 <shachaf> oerjan: is there anything else it could reasonably mean twh
02:40:35 <oerjan> shachaf: https://esolang.org/Collatz_function hth
02:41:06 -!- Guest80998 has quit (Ping timeout: 264 seconds).
02:41:14 -!- cluid has quit (Quit: Leaving).
02:41:15 <shachaf> $ whois esolang.org
02:41:15 <shachaf> NOT FOUND
02:41:25 <oerjan> oops
02:41:26 <oerjan> *+s
02:41:46 <shachaf> https://esolangs.org/Collatz_function is a 404 hth
02:41:50 -!- roasted42 has joined.
02:41:53 <oerjan> fff
02:41:56 <shachaf> the perils of typing out urls
02:42:28 <shachaf> anyway tdih
02:42:48 <oerjan> wat
02:43:10 <oerjan> https://esolangs.org/wiki/Collatz_function hth
02:44:35 <shachaf> that did indeed help
02:44:36 -!- yonkie has joined.
02:44:50 <HackEgo> [wiki] [[List of ideas]] M http://esolangs.org/w/index.php?diff=41505&oldid=41489 * Oerjan * (+3) /* Derivative Ideas */ spe ling
02:45:27 <oerjan> although perhaps one should find out what muti-threaded means instead
02:45:47 <shachaf> oerjan: what is the integral of a bf derivative twh
02:46:00 <AndoDaan> oerjan, It's the 3x+1 /2 version
02:46:37 <HackEgo> [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41506&oldid=41491 * Oerjan * (+27) /* Examples */ links, and "Collatz function" means something different in these parts
02:46:39 <oerjan> thx
02:46:54 <oerjan> shachaf: brainfuck plus a constant hth
02:47:31 <shachaf> thx = that helped x-ray?
02:47:58 <oerjan> x-tremely, maybe
02:49:35 <shachaf> perhaps xmas
02:50:05 <oerjan> wtf did wayback do to their calendar display
02:50:31 <oerjan> oh well i can still find the link to click
02:52:14 -!- bb010g has quit (Quit: Connection closed for inactivity).
02:52:16 <HackEgo> [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=41507&oldid=41494 * Oerjan * (+14) /* External resources */ wayback
02:57:02 <HackEgo> [wiki] [[Brainfuck derivatives]] M http://esolangs.org/w/index.php?diff=41508&oldid=41500 * Oerjan * (+0) fix link
02:57:24 -!- ais523 has joined.
03:01:35 -!- scarf has quit (Ping timeout: 265 seconds).
03:08:53 -!- ais523 has quit (Read error: Connection reset by peer).
03:09:00 -!- callforjudgement has joined.
03:11:05 -!- callforjudgement has quit (Remote host closed the connection).
03:11:17 -!- callforjudgement has joined.
03:11:17 -!- callforjudgement has quit (Changing host).
03:11:17 -!- callforjudgement has joined.
03:11:44 -!- roasted42 has quit (Ping timeout: 265 seconds).
03:13:32 -!- roasted42 has joined.
03:16:21 <oren> pastebin is putting CRLFs in my code. Isthere a similar site that doesn't do that?
03:29:42 -!- Lymia has quit (Ping timeout: 264 seconds).
03:32:24 -!- Lymia has joined.
03:43:53 -!- roasted42 has quit (Changing host).
03:43:53 -!- roasted42 has joined.
03:43:53 -!- roasted42 has changed nick to TheM4ch1n3.
03:48:57 -!- TheM4ch1n3 has quit (Ping timeout: 265 seconds).
03:50:18 -!- roasted42 has joined.
03:53:06 -!- Guest11508 has quit (Ping timeout: 272 seconds).
03:53:35 -!- Sprocklem has quit (Ping timeout: 256 seconds).
03:55:38 -!- roasted42 has quit (Ping timeout: 272 seconds).
03:56:38 -!- roasted42 has joined.
04:01:58 -!- roasted42 has quit (Ping timeout: 272 seconds).
04:02:57 -!- roasted42 has joined.
04:07:48 -!- roasted42 has quit (Ping timeout: 265 seconds).
04:09:14 -!- roasted42 has joined.
04:13:58 -!- roasted42 has quit (Ping timeout: 256 seconds).
04:15:29 -!- roasted42 has joined.
04:20:12 -!- roasted42 has quit (Ping timeout: 256 seconds).
04:21:58 -!- roasted42 has joined.
04:27:34 -!- roasted42 has quit (Ping timeout: 245 seconds).
04:29:22 -!- roasted42 has joined.
04:31:10 -!- azazel_ has joined.
04:31:23 <azazel_> What does *net. split* mean?
04:32:18 <copumpkin> there are multiple IRC servers in the freenode network, and they're connected to each other
04:32:47 <copumpkin> if those links go down, that's a netsplit
04:34:23 -!- roasted42 has quit (Ping timeout: 256 seconds).
04:35:24 <newsham> its jsut p-p tcp links which are statically configured.. so its not super robust
04:35:41 -!- roasted42 has joined.
04:36:13 <AndoDaan> Oerjan, TIL about the Collatz function. thx.
04:38:03 <oerjan> yw
04:39:16 <newsham> collatz is great for coming up with weird counterexamples
04:39:18 <AndoDaan> idhty
04:40:06 <AndoDaan> newsham, how do you mean?
04:40:41 -!- roasted42 has quit (Ping timeout: 250 seconds).
04:41:07 <newsham> like if someone says they have a program to solve the halting problem...
04:41:24 <newsham> you can ask them to analyze function returning length of the collatz sequence
04:41:48 <newsham> that kinda stuff
04:42:00 -!- roasted42 has joined.
04:42:14 <AndoDaan> Ah. Useful.
04:44:26 <AndoDaan> Could Goldbach conjecture be used for that kind of test as well?
04:44:56 -!- dts|pokeball has quit (Read error: Connection reset by peer).
04:45:29 -!- password2 has joined.
04:45:46 <Taneb> Mooost unsolved problems in number theory can I think
04:45:54 -!- dts|pokeball has joined.
04:46:00 -!- password2 has quit (Read error: Connection reset by peer).
04:47:00 -!- Sprocklem has joined.
04:47:10 -!- roasted42 has quit (Ping timeout: 264 seconds).
04:48:04 <AndoDaan> There's something I've been wondering about mathematical proofs. Godel showed that no one system can account be used to prove all provable math problems.
04:48:28 -!- roasted42 has joined.
04:49:26 <AndoDaan> But the turing church hypothesis says that what humans do, mathematicians, is no different that what a turing machine can do.
04:50:47 <AndoDaan> So, if a turing maching can solve all the solvable math problems, and a tm is a formal system... what of godel?
04:51:12 <Jafet> You can't prove that it will solve all solvable problems
04:51:15 <Jafet> Duh
04:53:06 <AndoDaan> And in infinite time?
04:53:57 <AndoDaan> Hmm, goes back to the halting problem, I guess.
04:54:10 <newsham> maybe humans can only prove the important theorems?
04:54:54 <AndoDaan> Then that be the turing church hypothesis false.
04:55:01 <AndoDaan> that would be*
04:56:22 -!- bb010g has joined.
05:00:26 -!- Sprocklem has quit (Ping timeout: 255 seconds).
05:00:42 -!- roasted42 has quit (Ping timeout: 250 seconds).
05:01:34 -!- roasted42 has joined.
05:04:19 <oren> The universe, let alone the human brain, is not truring complete
05:04:24 <oren> The universe, let alone the human brain, is not turing complete
05:04:31 <oren> The universe, let alone the human brain, is not turing complete
05:05:29 <AndoDaan> Theoretically, are neural networks cappable of TCness?
05:05:55 -!- oren has quit (Quit: leaving).
05:06:04 <oerjan> only infinite ones hth
05:06:11 <MDude> Actually, the universe might be turing complete due to unending expansion of space.
05:06:20 <MDude> No upper bound to memory.
05:06:25 -!- oren has joined.
05:06:30 <AndoDaan> How about infinite in the time dimension?
05:06:31 <oren> The universe, let alone the human brain, is not turing complete
05:06:41 <MDude> Actually, the universe might be turing complete due to unending expansion of space.
05:06:41 <MDude> No upper bound to memory.
05:06:58 <oerjan> i think we're in a closed time loop tdnh
05:07:10 <oerjan> especially oren
05:07:20 <AndoDaan> Nietche or Godel?
05:07:27 <oerjan> AndoDaan: infinite only time dimension gives you PSPACE, nothing more
05:07:58 <AndoDaan> Can store all the results?
05:08:06 <AndoDaan> Can't*
05:08:25 <oerjan> can't avoid repeating
05:08:40 -!- oren has quit (Client Quit).
05:08:42 -!- roasted42 has quit (Ping timeout: 264 seconds).
05:09:01 -!- oren has joined.
05:11:45 <AndoDaan> Makes sense. Though, if we describe the Univers as it's quantum superposition, including, somehow, it's past, then each superstate will be distinct.
05:12:01 <MDude> One thing is that human brains don't, practically speaking, have infinite time.
05:12:08 -!- Sprocklem has joined.
05:12:41 <AndoDaan> Could change soon.
05:13:09 <MDude> True, but what would make a brain enter a state such that is has already performed infinite operations?
05:13:19 <AndoDaan> Or at least, the human brain pattern could be copied to something more durable.
05:15:30 <oren> can someone recommend a better client than irssi?
05:16:20 <oren> this thing keeps doig weird crap where it posts the message but doesn't whow that it has
05:17:11 <AndoDaan> I don't remember what it's called, but there's an esolang... nvm foundd it: http://esolangs.org/wiki/Wigner%27s_Fuckbuddy_Is_A_Superposition_of_Top_And_Bottom
05:17:17 -!- nisstyre has quit (Changing host).
05:17:17 -!- nisstyre has joined.
05:18:06 <AndoDaan> I'm happy with HexChat. Free, clean and simple.
05:21:11 -!- GeekDude has quit (Quit: Goodnight).
05:24:02 -!- CrazyM4n has quit (Quit: Leaving).
05:25:29 -!- AndoDaan has quit (Ping timeout: 245 seconds).
05:30:34 -!- MDude has changed nick to MDream.
05:44:07 -!- dts|pokeball has quit (Read error: Connection reset by peer).
05:45:07 -!- dts|pokeball has joined.
05:49:33 -!- coppro has quit (Ping timeout: 258 seconds).
05:49:40 -!- coppro has joined.
05:52:53 -!- oerjan has quit (Quit: leaving).
06:02:32 -!- Sprocklem has quit (Ping timeout: 255 seconds).
06:02:44 -!- oren has quit (Quit: leaving).
06:12:30 -!- augur has quit (Read error: Connection reset by peer).
06:14:11 -!- augur has joined.
06:15:35 <Sgeo_> shachaf: this is really pessimistic: http://www.kicktraq.com/projects/lunarchstudios/prismata-a-new-hybrid-game-of-pure-strategy/
06:15:37 <Sgeo_> :(
06:15:51 <Sgeo_> Oh http://blog.kicktraq.com/why-you-should-take-kicktraq-trends-with-a-grain-of-salt/
06:17:46 <Sgeo_> Still I'm worried
06:21:15 <Sgeo_> They are allowed to retry if they fail, right?
06:33:15 -!- newsham has quit (Ping timeout: 258 seconds).
06:33:20 -!- coppro has quit (Ping timeout: 272 seconds).
06:33:43 -!- newsham has joined.
06:36:48 <azazel_> Parsing lua is much confuse
06:36:57 -!- scarf has joined.
06:40:01 -!- callforjudgement has quit (Ping timeout: 240 seconds).
06:40:57 <azazel_> I kinda wanna make an alternate to bf but where to start
06:42:07 * azazel_ goes mad
06:44:44 -!- scarf has quit (Read error: Connection reset by peer).
06:44:50 -!- ais523 has joined.
06:48:22 -!- mitchs_ has quit (Ping timeout: 264 seconds).
06:50:05 -!- ais523 has quit (Read error: Connection reset by peer).
06:50:13 -!- ais523 has joined.
06:55:57 -!- dts|pokeball has quit (Read error: Connection reset by peer).
06:56:25 -!- dts|pokeball has joined.
07:00:09 -!- mitchs has joined.
07:29:22 -!- shikhin has joined.
07:29:26 -!- shikhin has quit (Changing host).
07:29:26 -!- shikhin has joined.
07:39:55 -!- callforjudgement has joined.
07:40:02 -!- ais523 has quit (Remote host closed the connection).
07:43:41 -!- Patashu has joined.
08:01:29 -!- oren has joined.
08:05:08 <oren> an alternate to bf inwhat way?
08:05:38 <oren> alternative syntax? alternative paradigm?
08:15:16 -!- heroux has quit (Ping timeout: 265 seconds).
08:15:32 -!- coppro has joined.
08:25:41 -!- callforjudgement has quit (Read error: Connection reset by peer).
08:25:53 -!- callforjudgement has joined.
08:28:08 -!- callforjudgement has quit (Client Quit).
08:28:24 -!- callforjudgement has joined.
08:29:01 -!- nisstyre has quit (Ping timeout: 240 seconds).
08:37:25 -!- shikhout has joined.
08:37:47 -!- shikhout has changed nick to Guest75497.
08:40:20 -!- shikhin has quit (Ping timeout: 250 seconds).
08:51:05 -!- Lymia has quit (Remote host closed the connection).
08:54:42 -!- Lymia has joined.
08:54:54 -!- S1 has joined.
08:57:31 -!- nisstyre has joined.
09:01:13 -!- azazel_ has quit (Quit: Connection closed for inactivity).
09:10:43 -!- jslave has joined.
09:12:47 -!- jslave has quit (Read error: Connection reset by peer).
09:13:09 -!- jslave has joined.
09:16:13 -!- jslave has quit (Read error: Connection reset by peer).
09:16:35 -!- jslave has joined.
09:17:37 -!- S1 has quit (Quit: S1).
09:38:33 -!- jslave has quit (Read error: Connection reset by peer).
09:43:41 -!- callforjudgement has quit (Read error: Connection reset by peer).
09:43:47 -!- scarf has joined.
10:01:24 -!- scarf has quit (Read error: Connection reset by peer).
10:01:31 -!- scarf has joined.
10:03:04 -!- mitchs has quit (Ping timeout: 244 seconds).
10:04:36 -!- Guest75497 has changed nick to shikhin.
10:04:41 -!- shikhin has quit (Changing host).
10:04:41 -!- shikhin has joined.
10:15:12 -!- mitchs has joined.
10:32:56 <oren> Would it be possible to describe the information content of a file in terms of "the shortest program that outputs the file"?
10:32:57 -!- AndoDaan has joined.
10:34:54 <oren> I am considering an output-only language based on code golfing as a means of data compression
10:35:03 <AndoDaan> Has there ever been a esolang/programming language that's coded by sketching/drawing?
10:35:58 <oren> I don't thing so. turtle graphics are the output for a lot of languages, but arbitrary lines as input is different
10:37:07 <AndoDaan> Hmm, okay. Thanks.
10:37:21 <AndoDaan> I might have an original idea for once.
10:37:23 <AndoDaan> *
10:38:01 <AndoDaan> (Though, there might be good reasons why nobody made such a language yet.)
10:38:41 <AndoDaan> Your output-only language would be an interpreter for golfed code in another language?
10:38:50 <J_Arcane> AndoDaan: There's a few box-diagram/flowchart languages, but nothing that freeform that I've seen, no. Most freeform is probably Mondrian maybe?
10:39:57 <AndoDaan> What I have in my head is quite different from those.
10:40:14 <shachaf> it would be possible and has been done by kolmogorov and others hth
10:41:24 <AndoDaan> Code would be interpreted from the lines you draw (their angle, length, relation to other lines).
10:41:34 * oren reads about Kolmogorov and is annoyed that so many people were born before he was
10:42:40 <AndoDaan> Not many that are still alive though.
10:42:51 <oren> AndoDaan: that sounds very cool, especially if the interpreter is flexible enough to run scanned drawings.
10:42:59 <shachaf> kolmogorov was p. great hth
10:44:13 <oren> shachaf: the dude was born before my great-great grandmother was, now that is just cheating
10:44:25 <AndoDaan> I was thinking that the drawing process itself helps determins the program.
10:44:48 <oren> AndoDaan, like "stroke order"
10:44:49 <oren> ?
10:45:05 <oren> Which lines were drawn first?
10:45:12 <AndoDaan> The naked source might be (x1,y1 x2,y2)
10:45:39 <AndoDaan> the first line determins the number base to be used.
10:46:31 <AndoDaan> Put it anywhere, but then cross it n times for n-1 base.
10:46:41 <AndoDaan> like a cross would be binary.
10:47:56 <AndoDaan> Angles might be constrained though, maybe 24
10:48:02 <AndoDaan> degrees of freedom.
10:48:41 <AndoDaan> Enough to be versatile, but still easily determined by the code interpreter.
10:49:04 <oren> AndoDaan: 24 degrees of freedom probably doesn't mean what you think it means
10:49:20 <AndoDaan> :) most likely.
10:49:59 <oren> Your arm has 5 degrees of freedomfor example.
10:50:14 <AndoDaan> The joints?
10:50:35 <AndoDaan> Determine the degree I mean>
10:50:38 <AndoDaan> ?
10:50:39 <oren> it is the number of pure rotations available
10:50:59 <oren> along different axes
10:51:21 <AndoDaan> Ah. Yeah, I meant how lines can intersect a fixed access. Thanks.
10:51:31 <AndoDaan> Axis*
10:51:45 <oren> oh, i see.
10:52:37 <shachaf> how many degrees of freedom does this person's arm have: http://newsbusters.org/sites/default/files/thumbnail_photos/2011/April/Pot.jpg
10:53:17 <AndoDaan> One?
10:54:42 <AndoDaan> Minus one?
10:54:45 <shachaf> #drugz
11:19:07 <oren> why do people call espresso expresso?
11:21:43 <J_Arcane> oren: because they are idiots?
11:22:25 -!- boily has joined.
11:22:47 <oren> konboilywa
11:24:15 <oren> J_Arcane: maybe they think it is related to "expression"?
11:24:33 <J_Arcane> Or "express"
11:25:08 <oren> Well, it is, but only through Italian. I know better because i live in Little Italy.
11:26:22 <oren> idea: programming language where all keywords, library functions,etc are distant cognates of the standard ones
11:29:23 <oren> per(;;)press("hello again");
11:30:54 <oren> like a programming language based on a alternate universe's version of English
11:31:05 -!- scarf has quit (Read error: Connection reset by peer).
11:31:11 -!- ais523 has joined.
11:31:18 -!- ais523 has quit (Changing host).
11:31:18 -!- ais523 has joined.
11:31:34 <oren> quit join quit join
11:33:44 -!- quintopia has quit (Remote host closed the connection).
11:39:07 <boily> oren: ohayoren!
11:39:30 <boily> @ask quintopia Y YOU NO STAY IN THE CHANNEL HTH
11:39:30 <lambdabot> Consider it noted.
11:40:03 <boily> @tell quintopia once again, we are abhorrently missynchronized...
11:40:03 <lambdabot> Consider it noted.
11:40:50 <oren> how do you pronounce abhorrently?
11:41:25 <oren> is the BH like a V or just like a B?
11:42:49 <shachaf> boily: does "HTH" stand for "HOPE THAT HELPS"?
11:43:24 -!- mitchs has quit (Ping timeout: 245 seconds).
11:44:18 <oren> all caps fractur text is much harder to read than lowercase.
11:44:46 <AndoDaan> fungot, fun fractur.
11:44:47 <fungot> AndoDaan: does chicken have anything like " quasisyntax"? i don't think much about it :)
11:46:02 <boily> `? hth
11:46:09 <boily> ...
11:46:11 <HackEgo> hth is help received from a hairy toe. It is not at all hambiguitous.
11:46:13 <boily> ah!
11:46:18 <boily> shachaf: there you go htah
11:46:18 <shachaf> oh
11:46:20 <AndoDaan> '? does it help?
11:46:32 <shachaf> boily: that sentence doesn't make sense
11:46:56 <boily> “there you go, hope that also helps”
11:47:40 <shachaf> boily: the one you asked quintopia
11:48:53 <boily> it makes sense?
11:50:33 <boily> (okay, it may be a creative application of a meme and another meme together...)
11:50:52 <oren> Y U NO HTH?
11:51:37 <oren> i command you to hope, dammit, hope!
11:52:12 <AndoDaan> Hope is a woe, that's why it was in Pandora's box.
11:52:41 <boily> something something believe in the one who believes in the hope something...
11:52:59 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
11:53:08 <oren> AndoDaan: you don't need hope if you have no woes
11:53:59 <AndoDaan> So hope is a meta woe.
11:55:16 -!- mitchs has joined.
11:55:39 <oren> boily: omae wo shinjiru ore wo shinjiru!
11:56:38 -!- callforjudgement has joined.
11:56:41 -!- atslash has quit (Quit: This computer has gone to sleep).
12:00:06 -!- ais523 has quit (Ping timeout: 250 seconds).
12:03:27 <oren> I hate that C comments aren't nestable
12:07:35 -!- mitchs has quit (Ping timeout: 244 seconds).
12:07:55 <boily> oren: use //.
12:08:37 <oren> boily: i am trying to temporarily comment something out, but i used /**/ comments in it
12:09:08 <oren> Oh, what am i thinking here! #if 0 #endif
12:09:18 <oren> that is nestable too.
12:10:13 <boily> ...
12:10:48 * boily oils his mapole and do a few practice swings *swoosh* *swoosh*
12:11:02 -!- Phantom_Hoover has joined.
12:11:17 -!- Phantom_Hoover has quit (Changing host).
12:11:18 -!- Phantom_Hoover has joined.
12:11:23 <boily> oren: you should go with the simplest, instead of cumbersomes #ifs.
12:11:49 <oren> what is simpler?
12:12:24 <boily> /.
12:12:29 <boily> //, says I.
12:12:48 <oren> but that is'nt a block comment
12:13:43 <boily> yes, it isn't.
12:14:18 <oren> so i have to add it to the start of all the lines?
12:14:27 <oren> that is a pain
12:14:42 <boily> out of curiosity, what are you coding with?
12:14:53 <oren> mcedit
12:15:46 <boily> darn. I can't help you with emacs-y shortcuts.
12:16:38 <boily> there should be some weird key combo you could use to automatify that. perhaps.
12:17:07 -!- Patashu has quit (Ping timeout: 264 seconds).
12:17:44 <boily> oren: http://www.gnu.org/software/emacs/manual/html_node/emacs/Comment-Commands.html ← maybe C-c C-c?
12:18:37 <boily> and there I am completely wrong. mcedit is midnight commander's editor. not an emacs variant.
12:19:19 <boily> you should use something probably a little bit more powerful if you need to apply something to multiple lines at the same time...
12:19:47 <oren> boily: it can run arbitrary shell scripts on your selection
12:19:56 <oren> if you add them to your user menu
12:20:43 <oren> but the problem is MC is highly underdocumented
12:21:36 <boily> hm. if it san run shell scripts...
12:21:58 <boily> sed -i 's,^,//,'
12:23:49 -!- boily has quit (Quit: EXCHECKER CHICKEN).
12:34:45 -!- mitchs has joined.
12:36:30 -!- mitchs_ has joined.
12:39:06 -!- mitchs has quit (Ping timeout: 244 seconds).
12:40:39 -!- mitchs_ has quit (Ping timeout: 244 seconds).
12:47:38 -!- Sgeo_ has quit (Read error: Connection reset by peer).
12:49:54 -!- Sgeo has joined.
12:52:41 -!- callforjudgement has quit (Read error: Connection reset by peer).
12:52:55 -!- callforjudgement has joined.
12:54:35 -!- scarf has joined.
12:59:02 -!- callforjudgement has quit (Ping timeout: 250 seconds).
13:07:23 <J_Arcane> Hooray. Heresy has basic file I/O now.
13:10:33 -!- scarf has quit (Read error: Connection reset by peer).
13:10:48 -!- scarf has joined.
13:12:07 <oren> J_Arcane: looks good. vast majority of programs don't read or write more than one file at once.
13:12:48 <oren> so this is definitely more than adequate
13:13:55 <J_Arcane> Yeah. In the future I might add some basic feature matching to Racket's (in-lines ...) and the like too, because they're bloody handy, but it'll do for a basic toy Lisp and it's enough to get my game idea down ...
13:14:38 <elliott> have you written a self-interpreter yet
13:15:08 <J_Arcane> Not yet. Though I think there's enough now for it to be possible.
13:15:32 <J_Arcane> I even wrote a very nice string splitting function explicitly to make parsers easier to write ... :D
13:16:05 <oren> elliott: that is way easier in languages that can jump into data space or have an eval command
13:16:16 <elliott> that doesn't count as a self-interpreter
13:16:22 <oren> why not?
13:16:26 <elliott> J_Arcane: well you could just piggy-back on read
13:17:01 <elliott> oren: because it's boring. you can make more fine-grained distinctions to try and give more exact criteria with which to rule it out but it's easier to just ignore people who pass off eval as a self-interpreter. the point is to *write* eval.
13:17:11 <J_Arcane> Yup, that is also true. After all, that's what most Lisps do anyway. XD
13:17:48 <oren> elliott: ok, yeah it is totally boring.
13:18:50 <oren> and it also prevents it from being (easily) compilable
13:19:31 <oren> so having an eval() is a dubious design chice
13:19:38 <oren> s/chice/choice
13:22:53 <J_Arcane> My goal was to implement enough of the language to write a text-mode RPG like I wrote on the old Tandy CoCo3 as a kid. Only in a functional Lisp. :D
13:26:49 <oren> J_Arcane: after that, put in QBASIC VGA-like graphics!
13:27:37 <J_Arcane> oren: actually ,that's one of the possibilities on the future dev list.
13:27:51 <J_Arcane> Running the whole thing in a fake retro graphics window.
13:28:26 <oren> Great. I have actually recently started trying graphics hacks in DOS on my scrap PC.
13:28:46 <oren> s/DOS/QBASIC.EXE
13:31:35 <oren> scrap PCs are a excellent resource to keep around. you never know when an old PC will come in handy.
13:36:12 <elliott> having eval is fine
13:36:34 <elliott> it can interfere with static compilation models but it is totally fine for JITs and the like
13:36:53 <elliott> most common lisps are compiler-based and still have eval, for instance
13:39:52 <FireFly> "Most common lisps"
13:40:02 <FireFly> I thought the point of common lisp was to be, like, common
13:40:41 <oren> Semantic ambiguity Firefly.
13:43:51 <elliott> I meant most (common lisps)
13:43:53 <oren> elliott: I see, so a language can have eval if it doesn't plan on being turned into an exe.
13:43:57 <elliott> (common lisp)s
13:44:00 -!- scarf has quit (Read error: Connection reset by peer).
13:44:05 <elliott> oren: that's still fine, as long as it links to the compiler at runtime
13:44:07 <elliott> whether statically or dynamically
13:44:09 -!- scarf has joined.
13:44:19 <elliott> as long as the compiler can compile stuff in-memory
13:44:41 <elliott> for instance with a lot of lisps their model is that the implementation starts up, you compile new functions into it, and then you can dump all its compiled state as an executable
13:44:48 <elliott> which you could then reload and add more into and then dump that image, etc.
13:45:13 <elliott> which fits the lisp model of building a program from nothing using the REPL and loading files into it, etc.
13:45:30 <oren> elliott: that is exactly what i want for python
13:45:35 <elliott> obviously this is an elegant model for things like lisp machines
13:45:49 <elliott> where your live lisp environment is all that exists
13:46:20 <elliott> a bonus is that with some implementations you can strip things so that anything you don't call isn't included in the resulting image
13:46:32 <elliott> so if your program never calls eval it won't bundle the entire compiler in the resulting image
13:46:38 <elliott> *into
13:47:55 <oren> lisp is a giant paradox wrapped in an enigma. it is the Nikola Tesla of programming languages.
13:48:10 <elliott> that's, uh, that sure is a comparison
13:48:28 <elliott> lisp is the anarcho-syndicalism of potatoes
13:49:37 <oren> well it was massively ahead of its time, was greatly underappreciated by the masses
13:49:48 <oren> just like Tesla
13:51:52 <elliott> lisp was actually fairly appreciated way back when I think
13:51:54 <elliott> pre-AI Winter anyway
13:52:19 <elliott> well, maybe longer than that
13:52:58 <oren> elliott: really? what about the hordes of Fortraners? did they appreciate it?
13:53:01 <elliott> anwyay I hear edison once killed a bear just by staring at it thru the earth's surface and then he framed tesla for it and tesla had to work in the mines for ten thousand years while edison made five billion dollars off the delicious coal tesla mined
13:53:05 <elliott> *anyway
13:53:25 <elliott> oren: er, you're asking me if people had disagreements about what languages were good back then? yes, of course they did :p
13:56:03 -!- cluid has joined.
13:56:04 <cluid> hello
13:56:09 <oren> hello
13:56:14 <cluid> http://esolangs.org/wiki/Narcissist
13:56:18 -!- cluid has quit (Changing host).
13:56:18 -!- cluid has joined.
13:56:20 <cluid> Brainfuck narcissist by User:Keymaker
13:56:20 <cluid> Subleq OISC Narcissus by User: r.e.s.
13:56:23 <cluid> both these are missing
13:56:26 <cluid> and they aren't on archive.org
13:57:24 <HackEgo> [wiki] [[Narcissist]] http://esolangs.org/w/index.php?diff=41509&oldid=33552 * Ehird * (+60) /* External resources */ update narc.b link
13:58:03 <cluid> great!
13:58:08 <cluid> can narc.b be added to https://github.com/graue/esofiles/tree/master/brainfuck/src
13:58:51 <elliott> if you ping graue, probably
13:58:56 <elliott> though I guess it'd need keymaker's permission
13:59:06 <elliott> narcissists are contravariant quines
14:00:24 <b_jonas> elliot: that story is impossible. tesla and edison lived back before the industrial revolution, when coal mines didn't yet exist.
14:00:39 -!- scarf has quit.
14:00:47 <elliott> b_jonas: damn. you got me. I'm a fraud. I... I never thought this would happen
14:01:12 <cluid> http://esolangs.org/wiki/Brainfuck_derivatives some of the links here are not correct
14:01:22 <elliott> b_jonas: also, no human has ever lived for ten thousand years
14:01:26 <cluid> (FuckBrainfuck and Fuck)
14:01:28 <elliott> debunked
14:01:42 <cluid> http://esolangs.org/wiki/Brainfuck_extensions this page is very useful good too
14:02:08 <HackEgo> [wiki] [[Brainfuck derivatives]] http://esolangs.org/w/index.php?diff=41510&oldid=41508 * Ehird * (-297) rm fuckbrainfuck -- another language with the same name exists and it's more of an implementation choice than anything
14:02:21 <cluid> thank you!
14:03:06 <b_jonas> yeah, except maybe Lazarus Long
14:06:59 <cluid> good morning
14:07:41 -!- sebbu2 has changed nick to sebbu.
14:07:44 -!- nisstyre has quit (Changing host).
14:07:44 -!- nisstyre has joined.
14:08:05 <cluid> where is the golf site
14:08:09 <elliott> golf.shinh.org
14:15:41 <AndoDaan> #anagol is its Freenode chatroom.
14:27:12 <J_Arcane> "lisp is the anarcho-syndicalism of potatoes" XD
14:27:47 -!- AndoDaan_ has joined.
14:28:24 -!- AndoDaan has quit (Ping timeout: 245 seconds).
14:33:13 -!- _AndoDaan_ has joined.
14:37:18 -!- shikhout has joined.
14:37:40 -!- shikhout has changed nick to Guest97570.
14:37:50 -!- AndoDaan_ has quit (Ping timeout: 272 seconds).
14:38:53 <J_Arcane> https://news.ycombinator.com/item?id=8766357
14:39:14 -!- mihow has joined.
14:39:32 <cluid> J_Arcane, http://esolangs.org/wiki/BS
14:41:00 -!- shikhin has quit (Ping timeout: 272 seconds).
14:43:52 -!- drdanmaku has joined.
14:46:16 <cluid> I tried anagol but I got the same length as the other peoeple
14:52:18 <mroman> !blsq q1J{Pp|[1pP2CO)++p^1]|J}15E!vv#<
14:52:19 <blsqbot> | {1}
14:52:19 <blsqbot> | {1 1}
14:52:19 <blsqbot> | {1 2 1}
14:52:25 <mroman> !blsq q1J{Pp|[1pP2CO)++p^1]|J}15E!vv
14:52:25 <blsqbot> | {1 15 105 455 1365 3003 5005 6435 6435 5005 3003 1365 455 105 15 1}
14:52:25 <blsqbot> | {1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1}
14:52:25 <blsqbot> | {1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1}
14:52:49 <oren> pascal's triangle!
14:52:55 <mroman> true
14:53:00 <elliott> cluid: that's still pretty good
14:53:08 <oren> why is the second one upside down?
14:53:21 <mroman> because I dropped the #<
14:53:37 <cluid> I want to win one but I gotta choose the best language
14:53:40 <mroman> !blsq q1J{Pp|[1pP2CO)++p^1]|J}15E!vv#s
14:53:40 <blsqbot> | {{1 15 105 455 1365 3003 5005 6435 6435 5005 3003 1365 455 105 15 1} {1 14 91 364 1001 2002 3003 3432 3003 2002 1001 364 91 14 1} {1 13 78 286 715 1287 1716 1716 1287 715 286 78 13 1} {1 12 66 220 495 792 924 792 495 220 66 12 1} {1 11 55 165 330 462 462 3
14:53:43 <cluid> golfscrippt seems like cheating......
14:53:50 <mroman> !blsq q1J{Pp|[1pP2CO)++p^1]|J}5E!vv#s
14:53:50 <blsqbot> | {{1 5 10 10 5 1} {1 4 6 4 1} {1 3 3 1} {1 2 1} {1 1} {1}}
14:53:50 <blsqbot> | {1 5 10 10 5 1}
14:53:50 <blsqbot> | {1 4 6 4 1}
14:53:53 <cluid> I should use anagol problem #31 script
14:54:01 <_AndoDaan_> Hey, mroman. I wanted to say that I came accross you javascript Beam interpreted, and I've using it's code as a reference to help me develop an the same kind of thing for MNNBFSL.
14:54:07 <_AndoDaan_> I hope that's okay.
14:54:10 <mroman> sure
14:54:18 <_AndoDaan_> Thanks.
14:54:23 <cluid> _AndoDaan_, what's your thoughts on MNNBFSL?
14:54:29 <cluid> and hwo is your interpreter coming
14:54:38 <mroman> cluid: Golfscript is cheating
14:54:40 <mroman> then try Burlesque
14:54:50 <_AndoDaan_> For some reason, I'm obsessed with MNNBFSL
14:54:50 <mroman> !blsq 1Jq.+15C!
14:54:50 <blsqbot> | 1597
14:54:50 <blsqbot> | 987
14:54:50 <blsqbot> | 610
14:54:57 <cluid> I like MNNBFSL
14:54:58 <mroman> !blsq 1Jq.+10C!#s
14:54:58 <blsqbot> | {144 89 55 34 21 13 8 5 3 2 1 1}
14:54:58 <blsqbot> | 144
14:54:58 <blsqbot> | 89
14:55:07 <mroman> !blsq 1Jq.+10!C#sit
14:55:07 <blsqbot> | {1 1 2 3 5 8 13 21 34 55 89 144}
14:55:09 <cluid> Have you written any programs in it?
14:55:26 <mroman> !blsq 1Jq.-10!C#sit
14:55:26 <blsqbot> | {1 1 0 1 -1 2 -3 5 -8 13 -21 34}
14:55:47 <mroman> !blsq 1Jq.*10!C#sit
14:55:47 <blsqbot> | {1 1 1 1 1 1 1 1 1 1 1 1}
14:55:49 <mroman> hm
14:55:54 <mroman> !blsq 1 2q.*10!C#sit
14:55:54 <blsqbot> | {1 2 2 4 8 32 256 8192 2097152 17179869184 36028797018963968 618970019642690137449562112}
14:56:16 <mroman> !blsq 10roq.+pa
14:56:16 <blsqbot> | {{1} ERROR: Burlesque: (.+) Invalid arguments! {1 2} ERROR: Burlesque: (.+) Invalid arguments! {1 2 3} ERROR: Burlesque: (.+) Invalid arguments! {1 2 3 4} ERROR: Burlesque: (.+) Invalid arguments! {1 2 3 4 5} ERROR: Burlesque: (.+) Invalid arguments! {1 2
14:56:20 <mroman> uhm
14:56:24 <mroman> !blsq 10roq++pa
14:56:24 <blsqbot> | {1 3 6 10 15 21 28 36 45 55}
14:56:26 <mroman> ah. there we go
14:56:31 <cluid> @_AndoDaan_
14:56:31 <lambdabot> Unknown command, try @list
14:56:33 <_AndoDaan_> Yeah. Some basic string construction stuff. But my first real bit of coding has been a program that gives Collatz sequence for a given number.
14:56:40 <cluid> cool! I saw that
14:56:51 <mroman> !blsq 10roq++paq++pa
14:56:51 <blsqbot> | {1 4 10 20 35 56 84 120 165 220}
14:56:55 <mroman> !blsq 10roq++paq++paq++pa
14:56:55 <blsqbot> | {1 5 15 35 70 126 210 330 495 715}
14:57:03 <mroman> !blsq 10roq++paq++paq++paq++pa
14:57:03 <blsqbot> | {1 6 21 56 126 252 462 792 1287 2002}
14:57:20 <cluid> I noticed some _________ in it, funny
14:57:22 <cluid> to make the jumps
14:57:23 <_AndoDaan_> I'm working on my own template/method for implemeting labels/maybe functions in it.
14:57:45 <mroman> !blsq |[10 9nr]|
14:57:45 <blsqbot> | {10}
14:57:53 <cluid> there is a way to make labbels and get label addresses pushed to the stack already
14:58:11 <_AndoDaan_> The way ']' is/was really hard for me to get to grips with.
14:58:19 <_AndoDaan_> works*
14:58:32 <cluid> yeah it's a interesting language! Its more different than brainfuck than I thought when i first saw it
14:58:52 <_AndoDaan_> Definitely.
14:59:02 <_AndoDaan_> Took me too long to fully realize that.
14:59:33 -!- _AndoDaan_ has changed nick to AndoDaan.
15:00:27 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
15:00:55 <mroman> I wonder if |[ ]| will be useful in golfing
15:01:15 <mroman> !blsq {1 1.+}
15:01:16 <blsqbot> | {1 1 .+}
15:01:16 <mroman> vs
15:01:23 <mroman> !blsq |[1 1.+|]
15:01:23 <blsqbot> | ERROR: Unknown command: (|])!
15:01:23 <blsqbot> | 2
15:01:23 <blsqbot> | |[
15:01:27 <mroman> !blsq |[1 1.+]|
15:01:28 <blsqbot> | {2}
15:01:32 <mroman> !blsq 9so{go}
15:01:32 <blsqbot> | {go}
15:01:33 <blsqbot> | 1
15:01:46 <mroman> !blsq 9s0{g0}
15:01:46 <blsqbot> | {BlsqGet "0"}
15:01:56 <mroman> !blsq 9s0|[g0]|
15:01:56 <blsqbot> | {9}
15:02:15 <AndoDaan> Immediatly evals a code block?
15:03:00 <AndoDaan> !blsq |[2 3.*]|
15:03:00 <blsqbot> | {6}
15:03:15 <AndoDaan> !blsq {2 3.*}e!
15:03:15 <blsqbot> | 6
15:03:37 <AndoDaan> hmm, and keeps the result in the block.d
15:05:46 <AndoDaan> !blsq |[20ro J{FC}m[]|
15:05:46 <blsqbot> | {{1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} {ERROR: Unknown command: (FC)! 1 ERROR: Unknown command: (FC)! 2 ERROR: Unknown command: (FC)! 3 ERROR: Unknown command: (FC)! 4 ERROR: Unknown command: (FC)! 5 ERROR: Unknown command: (FC)! 6 ERROR: Un
15:06:09 <AndoDaan> !blsq |[20ro J{fc}m[]|
15:06:09 <blsqbot> | {{1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} {{1} {1 2} {1 3} {1 2 4} {1 5} {1 2 3 6} {1 7} {1 2 4 8} {1 3 9} {1 2 5 10} {1 11} {1 2 3 4 6 12} {1 13} {1 2 7 14} {1 3 5 15} {1 2 4 8 16} {1 17} {1 2 3 6 9 18} {1 19} {1 2 4 5 10 20}}}
15:06:17 <AndoDaan> !blsq |[20ro J{fc}m[:f:]|
15:06:17 <blsqbot> | {{1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} {{1} {1 2} {1 3} {1 2 4} {1 5} {1 2 3 6} {1 7} {1 2 4 8} {1 3 9} {1 2 5 10} {1 11} {1 2 3 4 6 12} {1 13} {1 2 7 14} {1 3 5 15} {1 2 4 8 16} {1 17} {1 2 3 6 9 18} {1 19} {1 2 4 5 10 20}}}
15:06:35 <AndoDaan> !blsq |[20ro J{fcL[}m[]|
15:06:36 <blsqbot> | {{1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} {1 2 2 3 2 4 2 4 3 4 2 6 2 4 4 5 2 6 2 6}}
15:07:13 <AndoDaan> !blsq |[20ro J{fcL[2.-nz}m[]|
15:07:13 <blsqbot> | {{1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20} {1 0 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1}}
15:08:28 <AndoDaan> !blsq |[20ro{JfcL[2==}m[)f:]|
15:08:28 <blsqbot> | {{ERROR: Burlesque: (<-) Invalid arguments! ERROR: Burlesque: (><) Invalid arguments! ERROR: Burlesque: (m[) Invalid arguments! {^^ L[ \/ -] bx \/ +]} ERROR: Burlesque: (=[) Invalid arguments! 0 ERROR: Burlesque: (<-) Invalid arguments! ERROR: Burlesque: (
15:08:39 <AndoDaan> !blsq |[20ro{JfcL[2==}m[)F:]|
15:08:39 <blsqbot> | {{ERROR: Burlesque: (z[) Invalid arguments! ERROR: Burlesque: (++) Invalid arguments! ERROR: Burlesque: (./) Invalid arguments! ERROR: Burlesque: (m[) Invalid arguments! ERROR: Burlesque: (m[) Invalid arguments! {pd} ERROR: Burlesque: (m[) Invalid argument
15:08:59 <AndoDaan> !blsq |[20ro{JfcL[2==}m[)fi]|
15:08:59 <blsqbot> | {{ERROR: Burlesque: (fi) Invalid arguments! 0 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arguments! 2 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arg
15:09:06 <AndoDaan> !blsq |[20ro{JfcL[2==}m[)Fi]|
15:09:06 <blsqbot> | {{ERROR: Burlesque: (fi) Invalid arguments! 0 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arguments! 2 ERROR: Burlesque: (fi) Invalid arguments! 1 ERROR: Burlesque: (fi) Invalid arg
15:09:13 <AndoDaan> terrible memory.
15:09:22 <AndoDaan> sorry spamming.
15:22:32 <nyuszika7h> does anyone know if there's a way to convert a single-character string to a number in dc?
15:23:11 -!- yonkie has quit (Quit: leaving).
15:24:42 <oren> does dc allow to subtract '0' from it?
15:29:24 <oren> oh! just use x!
15:29:43 <oren> [5]x3-p --> 2
15:29:58 -!- Sprocklem has joined.
15:34:30 -!- GeekDude has joined.
15:38:35 -!- atslash has joined.
15:39:23 -!- scounder has quit (Changing host).
15:39:23 -!- scounder has joined.
15:40:07 -!- Guest97570 has changed nick to shikhin.
15:40:12 -!- shikhin has quit (Changing host).
15:40:12 -!- shikhin has joined.
15:42:09 -!- sebbu has quit (Quit: reboot).
15:43:18 <J_Arcane> http://marcrogers.org/2014/12/18/why-the-sony-hack-is-unlikely-to-be-the-work-of-north-korea/
15:45:41 -!- atslash has quit (Quit: Leaving).
16:00:24 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41511&oldid=41487 * Orenwatson * (-286) upadted links
16:01:31 <elliott> seriously it's like a parody of north korea
16:02:09 <elliott> media goes OMG WHAT IF IT'S NKOREA -> pastebin post with awkward english going all ~terroristy~ on the film release, thanks for the great "lulz" idea guys
16:02:43 <elliott> https://marcrogers.files.wordpress.com/2014/12/gop-image.jpg ok but the skeleton
16:04:20 <elliott> anyway I like imagining that the republican party hacked sony
16:04:27 <elliott> hacked by gop
16:07:58 <coppro> it was probably /r/pyongyang
16:20:18 <J_Arcane> https://www.haskell.org/haskellwiki/Monad_tutorials_timeline
16:22:24 -!- MDude has joined.
16:22:27 -!- MDream has quit (Read error: Connection reset by peer).
16:24:55 -!- sebbu has joined.
16:24:55 -!- sebbu has quit (Changing host).
16:24:55 -!- sebbu has joined.
16:25:08 <HackEgo> [wiki] [[Scrip7]] http://esolangs.org/w/index.php?diff=41512&oldid=41511 * Orenwatson * (+27) why did no one tell me about gists on github. this is much better than stupid pastebin
16:29:37 <J_Arcane> Hah hah.
16:30:24 <J_Arcane> What's the deal with '#if 0' preprocessor clauses?
16:42:34 <oren> it helps to make a file both a valid .c and a valid shell script at once
16:42:44 <oren> the shell script part doesn't tokenize
16:43:07 <oren> so i added "true /*" at beginning and "true */" at end
16:44:15 <oren> J_Arcane: and the #if 0 makes sure the shell script isn't in the final c code.
16:48:58 <oren> actually, so long as true; is a valid C statement (enabled by macros) then it isn't necessary
16:49:48 <oren> actually, so long as true; is a valid C statement (enabled by macros) then it isn't necessary
16:52:42 <oren> yeah, that works: #define true true /* will allow separate C and shell parts.
16:53:09 <elliott> #define true true is UB though :P
16:53:12 <elliott> or is it
16:53:13 <elliott> I forget
16:53:15 <elliott> okay no true isn't
16:53:22 <elliott> #define _Bool might be?
16:53:27 <elliott> I guess that's not a keyword.
16:53:43 <oren> i think true is a keyword in c++ tho
16:54:12 <oren> note that it is
16:54:16 <oren> #define true
16:54:18 <oren> true /*
16:54:19 <b_jonas> elliott: it depends:
16:54:29 <b_jonas> elliott: in C, true is a macro defined by #include <stdbool.h>
16:54:34 <b_jonas> but you could define it yourself;
16:54:41 <b_jonas> whereas in C++, true is a keyword you must not define
16:54:44 <elliott> oren: #define _ /*
16:54:46 <elliott> ...
16:54:47 <elliott> */
16:54:49 <elliott> I guess that doesn't work
16:55:04 <b_jonas> I mean, in C, you could define true correctly; you're not allowed to define it incorrectly, because then other macros or headers could break
16:55:05 -!- S1 has joined.
16:55:34 <oren> if a header uses true then it will redefine it
16:56:00 <b_jonas> oren: not if a previous header already included stdbool.h so the header guard is defined already
16:56:22 <b_jonas> in any case, it's certainly a Bad Idea to define true yourself
16:56:23 <oren> right but for this it is the first line in the file
16:56:32 <oren> (and kind of has to be)
16:57:03 <oren> we can always redefine it to 1 afterward
16:58:03 <b_jonas> oren: no, 1 is the wrong definition, it has to be something like ((bool)1)
16:59:41 <b_jonas> or, um, make that ((_Bool)1) as you don't have bool defined
17:01:03 -!- S1 has quit (Ping timeout: 244 seconds).
17:11:15 <elliott> b_jonas: are you really not allowed to do #define true 123
17:11:27 <elliott> like, by the standard
17:11:33 <elliott> I don't care whether things break, I care about language lawyering :P
17:11:52 <elliott> wasn't the whole point you have to include <stdbool.h> because people already used "true" for their own purposes
17:12:46 <newsham> #undef true; #define true 123
17:12:53 <b_jonas> elliott: I don't think you're allowed to, but I'm not quite sure. ask on ##c if you want to know.
17:13:07 <elliott> b_jonas: no way am I ever going to join ##c
17:13:11 <elliott> that's like the worst channel on freenode
17:13:20 <newsham> you should try #python some day
17:13:22 <b_jonas> elliott: whatever, I just don't know, sorry
17:13:23 <elliott> I have
17:13:26 <elliott> ##c is worse :p
17:13:32 <newsham> nah, ##c is better (slightly)
17:13:37 <elliott> unless #python took a major nosedive within the past couple of years
17:13:42 <b_jonas> if you don't want to join it, sure, but I don't think it's the _worst_ channel
17:13:55 <b_jonas> I mean, we have tens of thousands of channels (how many really?)
17:14:45 <elliott> most of them are basically empty though
17:15:36 <HackEgo> [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41513&oldid=41503 * Cluid Zhasulelm * (+26) Updating my userpage
17:21:58 <HackEgo> [wiki] [[K-on Fuck]] M http://esolangs.org/w/index.php?diff=41514&oldid=41355 * Cluid Zhasulelm * (+2307) Added example and BF equivalence note
17:22:15 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:31:45 -!- sebbu2 has joined.
17:32:03 -!- sebbu has quit (Ping timeout: 244 seconds).
17:32:24 -!- sebbu2 has quit (Changing host).
17:32:24 -!- sebbu2 has joined.
17:48:44 -!- atslash has joined.
17:52:34 -!- AndoDaan has quit (Ping timeout: 245 seconds).
17:57:24 -!- AndoDaan has joined.
18:06:48 -!- atslash has quit (Quit: This computer has gone to sleep).
18:15:22 -!- cluid has quit (Quit: Leaving).
18:18:01 <fizzie> elliott: C11 7.1.3p1 subpoint 3 and p3 hth
18:18:24 <elliott> I'm too lazy to look that up
18:19:02 <fizzie> elliott: "Each macro name in any [description of a header in the standard] is reserved for use as specified if any of its associated headers is included --" "If the program removes (with #undef) any macro definition of an identifier in the first group listed above, the behavior is undefined."
18:19:23 <elliott> okay, but if you don't include <stdbool.h>?
18:19:34 <fizzie> I'm relatively sure you can still #define true, and even include other standard headers.
18:21:13 <fizzie> You can also "#define while" etc., albeit in very limited scenarios: "The program shall not have any macros with names lexically identical to keywords currently defined prior to the inclusion of the header or when any macro defined in the header is expanded." (C11 7.1.2p4)
18:21:13 <b_jonas> fizzie: ok, but a few macro names like I get special exemptions, is true one of those?
18:21:48 <fizzie> Oh, right. Yes.
18:22:09 <fizzie> "Notwithstanding the provisions of 7.1.3, a program may undefine and perhaps then redefined the macros bool, true, and false."
18:22:15 <fizzie> So they're one of those.
18:22:29 <elliott> C is a mess
18:23:20 <fizzie> Though the "future library directions" section mentions that "the ability to undefine and perhaps then redefine the macros bool, true, and false is an obsolescent feature".
18:23:35 <fizzie> I also don't see any restrictions about only being allowed to redefine them "correctly".
18:35:23 -!- Sprocklem has quit (Ping timeout: 250 seconds).
18:39:00 -!- mihow has quit (Quit: mihow).
18:50:27 -!- MoALTz has joined.
19:08:47 -!- AndoDaan_ has joined.
19:08:53 -!- AndoDaan has quit (Ping timeout: 245 seconds).
19:14:45 -!- atslash has joined.
19:18:27 -!- cluid has joined.
19:18:29 <cluid> hi
19:18:47 <cluid> is this correct for NAND in C ~(x & y) ?
19:18:53 <elliott> yes
19:19:47 <cluid> ffffffd5 0000002a 0000002a
19:19:47 <cluid> 1 0 0
19:19:52 <cluid> i cant understand why im getting this result here
19:19:58 <cluid> x y then nand
19:20:03 <cluid> and then I printed &1 of each, to see
19:20:07 <cluid> but its not correct
19:20:30 <J_Arcane> I really need to write (max ...) for Heresy. This Collatz problem would be a lot easier that way ...
19:22:32 <fizzie> cluid: There must be something screwy with your test case or something.
19:22:33 <fizzie> [21:21:03] <fizzie> ,cc unsigned x = 0xffffffd5, y = 0x0000002a, nand = ~(x & y); printf("%x %x %x, %u %u %u", x, y, nand, x&1, y&1, nand&1);
19:22:36 <fizzie> [21:21:05] <candide> fizzie: ffffffd5 2a ffffffff, 1 0 1
19:23:42 <elliott> and here I was trying to write that in haskell
19:23:59 <cluid> http://lpaste.net/116803
19:24:02 <glguy> > showHex (complement (0xffffffd5 .&. 0x0000002a) :: Word32)""
19:24:02 <glguy> "ffffffff"
19:24:03 <lambdabot> "ffffffff"
19:24:04 <glguy> There you go, elliott
19:24:11 <cluid> this is very confusing :(
19:24:24 <elliott> glguy: I was trying to implement it zipping nand over the actual bits
19:24:28 <elliott> but I don't think I can use the lens "bits" to do it
19:24:37 <elliott> since you can't zip traversals
19:25:03 <elliott> cluid: what's u?
19:25:06 <fizzie> cluid: Showing the type of u->r might be relevant.
19:25:16 <cluid> updated the post
19:25:31 <cluid> u is um*
19:25:46 <glguy> You kind of can if you cheat and turn them into lists, zip and then back using "partsOf"
19:25:48 <fizzie> And also to make sure a != b, b != c, a != c.
19:25:49 <elliott> ahh, and you're sure a =/= b =/= c, right? :p
19:26:28 <elliott> glguy: yeah but partsOf is sin. I think it should be possible to do a safe zipWith... it would put the elements back into the first traversal and truncate the second
19:26:45 <cluid> thanky ou!
19:27:04 <glguy> In any case, you abandoned us, put away the lens :-p
19:27:15 <elliott> the xor swap trick also doesn't work on x[a] and x[b] if a == b :)
19:27:29 <elliott> glguy: I'm just on very extended holiday :(
19:28:13 * elliott has a perpetual right to use lens thanks to my role in implementing the representation it uses for like half the library now :p
19:30:18 <elliott> I admit though, I've written not much Haskell in the past >2 years
19:35:31 <cluid> what's the thing in C that gives you memory set to 0?
19:35:44 <elliott> calloc
19:35:52 <elliott> it also helps you avoid size overflows when allocating arrays, yay
19:36:06 <cluid> I thought it was that but I read the man page and it doesnt say that
19:36:11 <cluid> i must have missed it
19:36:21 <cluid> oh yeah its right there
19:36:23 <cluid> thanks
19:37:34 <elliott> you can also use mmap to do it
19:37:42 -!- hjulle has joined.
19:37:45 <elliott> maybe not as portable
19:38:49 <elliott> fizzie: we concluded years ago that it's not okay to use calloc to allocate an array of pointers initialised to NULLs, right?
19:39:03 <fizzie> Yes.
19:39:05 <elliott> since calloc has to be type-generic, and null pointers might not be all-bits-zero
19:39:11 <elliott> that's so messed up :p
19:39:14 <fizzie> It's not a controversial opinion at all.
19:39:21 <fizzie> You also can't use memset to get null pointers.
19:39:35 <elliott> right, it's one of the more obvious bits of language-lawyering.
19:39:49 <elliott> fizzie: because it's char-based?
19:40:12 <fizzie> For the same all-bits-zero reason. I mean, there's not much difference between calloc and malloc + memset 0.
19:40:22 <fizzie> Also applies to floats, incidentally.
19:40:27 <elliott> as in, memset_intptr(p, (intptr_t) NULL, n) would be fine, right?
19:41:13 <fizzie> I don't think so -- there's no defined mapping between the values (and representations) of intptr_t and pointers.
19:41:56 <fizzie> And anyway the null pointers of pretty much any pointer type could all be different.
19:42:06 <fizzie> (I mean, the bits of their representations.)
19:43:44 <fizzie> Incidentally, the same "calloc does not yield the same as assignment with 0" thing also applies to floats (unless __STDC_IEC_559__ is defined, in which case it's safe).
19:44:06 -!- zzo38 has joined.
19:45:32 <fizzie> Actually, I'm not 100% sure of that last bit. __STDC_IEC_559__ means that the 'float' and 'double' types "match" the IEC 60559 single and double types, but maybe that doesn't extend to the bit-level representation, just the observable behavior w.r.t. radix and exponent ranges and operations and such.
19:45:34 <cluid> hi zzo38
19:46:11 <zzo38> Sometimes I need the bit level representation though
19:46:35 <cluid> please give me hints to get an inappropriate key, I cannot move the red stuff out the way of the red button
19:47:18 <zzo38> Maybe using preprocessor conditions a function can be made up to convert it to/from the IEEE representation
19:47:33 <fizzie> After a quick look at appendix F, it seems likely it doesn't constrain the representation. I mean, the endianness is certainly free, so why not some sort of "bits are stored as their complement" representation would be too.
19:48:23 <zzo38> cluid: Are you talking about Super ASCII MZX Town? If so, I can give you a hint about the red stuff
19:48:28 <cluid> yes please
19:48:43 <zzo38> The red stuff around the button are breakable walls.
19:49:11 <cluid> I tried to push a bomb into this screen from the above one but couldn't
19:49:27 <zzo38> You cannot push things between screens in MegaZeux.
19:50:16 <cluid> how can I break the red walls
19:50:49 <zzo38> Do you know where the purple keycard is?
19:51:04 <cluid> I dont think so
19:51:05 <cluid> no
19:51:54 <zzo38> There is a note somewhere else in the game which you may have not read yet which says so; you should have gone there first. Well, I can tell you anyways; it is behind a tree.
19:52:26 -!- Lymia has quit (Ping timeout: 250 seconds).
19:52:51 <cluid> is the purple keycard in the room next to the keycard teleporter?
19:52:52 -!- nycs has joined.
19:53:00 <zzo38> No.
19:54:02 -!- `^_^v has quit (Ping timeout: 240 seconds).
19:54:04 <cluid> is it past 'this way to the castle?'
19:57:51 <cluid> i cant find a fake tree
19:59:31 <zzo38> It is on the screen where they sell inappropriate keys
19:59:58 <zzo38> (You do not need the keycard to solve this puzzle, but it is important to know where it is, in order to solve this puzzle.)
20:00:11 <cluid> ok I found it!
20:00:22 <cluid> I thought I chcked there before, but I didn't see it
20:01:57 <cluid> I can't think what I gain from this space
20:02:11 <cluid> can control the slime without moving through the one way doors but what can I do with that
20:02:48 -!- Patashu has joined.
20:03:19 <cluid> the slime can push ammo
20:03:52 <zzo38> Yes, that is correct. Ammo is indirectly pushable. So are some other objects.
20:04:13 <zzo38> They aren't just one-way doors. Look in the help file (push F1) under "mirth of built-ins"; under that menu look under "transport".
20:04:41 <zzo38> Note the help file contains many lies; I didn't write it. However, much of it is valid at least partially.
20:04:46 <cluid> I see
20:05:05 <zzo38> The part about the destination of transports happens to be correct.
20:05:57 <zzo38> (Look at the potion and ring effects too.)
20:07:00 <cluid> "Certain other things can destroy them as well" Which things? I am very stuck in this game
20:07:56 <zzo38> What are you refering to?
20:08:04 <cluid> getting an inappropraite key
20:08:16 -!- Lymia has joined.
20:08:40 <zzo38> I mean what are you refering to that certain other things can destroy?
20:08:52 <cluid> it says that in the mirth of built-ins section
20:08:59 <cluid> regarding the red breakable wall
20:09:05 <cluid> which is what I want to destroy
20:09:23 <zzo38> Explosions and bullets. Robots can also change anything, but that isn't relevant here.
20:10:13 -!- CrazyM4n has joined.
20:10:23 <zzo38> If they are brown, also fire.
20:10:26 <cluid> but i cant use a bob or shoot
20:10:32 <cluid> thre is fire. i cant move fire though
20:10:36 <cluid> as far as I know
20:10:42 <cluid> its not brown though
20:10:56 <zzo38> No, it is lava not fire, but correct you cannot move it and it won't help due to not brown.
20:11:53 <zzo38> Did you read the part about transport destinations? That is important to solving this screen.
20:13:22 <cluid> ok i mreading it now thanks!
20:13:45 <cluid> ok i mreading it now thanks!
20:15:36 -!- quintopia has joined.
20:16:35 -!- dts|pokeball has quit (Read error: Connection reset by peer).
20:17:23 -!- dts|pokeball has joined.
20:17:33 -!- CrazyM4n has quit (Remote host closed the connection).
20:18:37 <cluid> I solved it thabks
20:18:59 <cluid> almost.....
20:21:17 -!- CrazyM4n has joined.
20:25:39 -!- Patashu has quit (Ping timeout: 244 seconds).
20:32:10 -!- nycs has quit (Quit: This computer has gone to sleep).
20:36:38 -!- `^_^v has joined.
20:38:19 -!- shikhout has joined.
20:38:40 -!- shikhout has changed nick to Guest82803.
20:40:35 <cluid> why do I get double free or corruption in calloc
20:40:40 <cluid> I mean, in freeing the result of calloc
20:41:08 <fizzie> valgrind can often tell.
20:41:23 -!- shikhin has quit (Ping timeout: 272 seconds).
20:41:30 <fizzie> (Usually it's because of double free or corruption.)
20:44:56 <cluid> free(calloc(0, sizeof(platter))); this works
20:45:04 <cluid> but if I assign it into my structure then free it, it dies
20:45:15 <cluid> u->a[i].elt = calloc(u->r[c], sizeof(platter)); free(u->a[i].elt);
20:45:35 <zzo38> Does u->a[i].elt have the correct type?
20:46:01 <cluid> it's platter *elt;
20:46:26 <fizzie> And you don't do anything between those two statements?
20:47:12 <fizzie> (You might also want to check what u->r[c] is, though I guess you shouldn't ever get anything else out of calloc than a valid pointer or a null pointer, both of which you can also safely pass to free.)
20:47:43 <cluid> it's 0 in this case
20:48:01 <cluid> http://lpaste.net/116818 this is my test
20:49:36 -!- MoALTz has quit (Quit: Leaving).
20:49:58 <cluid> I think i realized the problem
20:51:40 <fizzie> Well, what was it? (I didn't pick on anything obvious.)
20:54:21 <cluid> the a array wasn't big enough so i was out of bounds :S
20:54:42 <cluid> for some reason its ok to write into a[i] and get the same pointer value out but freeing it cause da weird crash
20:55:33 <fizzie> I doubt it's really "ok".
21:14:22 -!- erdic has quit (Ping timeout: 240 seconds).
21:19:18 -!- Lymia has quit (Ping timeout: 245 seconds).
21:20:10 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
21:22:45 -!- erdic has joined.
21:22:48 -!- GeekDude has joined.
21:27:01 <cluid> https://github.com/mthom/shentong
21:27:13 <cluid> "The codensity transformation was applied to the KLContext state transformer, and consequently, the new implementation is approximately twice as fast as the first, unoptimized release"
21:31:49 -!- CrazyM4n has quit (Quit: installing hard drive).
21:31:50 <oren> is it wrong that i think the word "optimization" means exclusively things that speed up by a constant?
21:32:07 <elliott> yes
21:32:10 -!- mitchs has joined.
21:32:19 <elliott> "optimising compilers" would be very boring then
21:32:24 <oren> and not things that make the O() function better?
21:33:04 <oren> elliott: can optimizing compilers make the O() better?
21:33:26 <elliott> gcc and clang do much better than just reducing constants of course
21:33:46 <cluid> Ive heard about algorithmic speedups
21:34:09 <cluid> a benchmark for supercompilers is turing a very naive exponential algorithm into the KMP algorithm
21:34:11 <elliott> ghc does even more in terms of optimisations that make a huge difference
21:34:14 <elliott> (it basically has to)
21:35:50 <oren> elliott: it seems to me there should be a separate word for things that speed stuff up without modifying the complexity
21:35:59 <elliott> "boring optimisations" :p
21:36:18 <oren> i'll call it what from now on
21:36:21 <oren> *that
21:36:44 -!- Lymia has joined.
21:36:51 <elliott> (I'm kidding; plenty of optimisations like that are interesting.)
21:36:57 <cluid> What compiler optimizations do you know which give better speedups than constant factors?
21:37:15 <cluid> i think that proper tail recursion is one
21:37:20 <elliott> cluid: removing a loop is one obvious one
21:37:31 <cluid> how do you remove a loop?
21:37:48 <elliott> int mult(int m, int n) { int r = 1; for (int i = 0; i < n; i++) r += m; return r; }
21:37:51 <elliott> can be reduced to multiplication
21:38:01 <elliott> I would hope all C compilers can do that
21:38:03 -!- GeekDude has quit (Ping timeout: 245 seconds).
21:38:43 <cluid> I can't imagine how a compiler would figure that out
21:38:49 <cluid> i believe you that some can do it
21:39:11 <cluid> but that seems sort of pointless to just pattern match on if its not part of a more general optimization
21:39:35 <oren> cluid: because of C++ screwedness, C compilers have to optimize the std::algorthms package
21:39:41 <elliott> cluid: well, one thing is that a lot of trivial-looking optimisations mean much more in the presence of inlining
21:39:56 <elliott> since inlining can produce easy-to-optimise code that no human would ever write
21:40:31 <oren> inlining+templates causes compilers to have to be very smart
21:42:00 <cluid> interesting stuff
21:42:04 <oren> in general any system based on writing stuff in the language that should be builtin causes extra compilation effort
21:42:39 -!- GeekDude has joined.
21:42:42 <oren> see: std::string std::vector
21:43:31 <elliott> https://en.wikipedia.org/wiki/Strength_reduction this has a nice "optimisation walkthrough"
21:43:45 <elliott> for strength reduction
21:44:10 <fizzie> elliott: itym 0 hth
21:44:22 <elliott> fizzie: yes, right.
21:44:27 <elliott> I was half writing factorial, half writing multiplication.
21:44:45 <cluid> scary
21:44:50 <fizzie> And yes, e.g. GCC replaces that with a test and either a mul or a constant zero: http://sprunge.us/gjcZ
21:45:03 <cluid> compiling is scary
21:45:12 <cluid> i dont like to think about something like strength reduction
21:45:25 <elliott> I guess it's probably just a special case on "a for loop that modifies a variable with a function we can pattern-match on (like addition)"
21:45:38 <elliott> it would be cool if gcc/clang actually did something mega fancy for loop elimination though :p
21:46:09 <elliott> (I could be totally wrong though. I don't know all that much about optimisations.)
21:47:03 -!- Sprocklem has joined.
21:47:33 <fizzie> Curiously enough, GCC does the test (except for == 0 instead of <= 0) and branch even for the unsigned variant. Wonder how deliberate that is.
21:47:48 <elliott> wait, why the test?
21:47:51 <elliott> is multiplication really that slow?
21:47:59 <elliott> oh, because signed
21:48:08 <fizzie> Yes, for signed it makes a difference.
21:48:19 <fizzie> But for unsigned, it still special-cases a return 0 for n == 0.
21:48:38 <elliott> it would be nice if there was a way to get actually useful debug output from gcc/clang optimisations
21:48:41 <elliott> maybe there is and I just don't know it
21:48:55 <elliott> something where you could actually see it recognising patterns and transforming them
21:49:33 <oren> elliott: is there a way to dump the GCC intermediate representation?
21:49:45 <fizzie> I think that's the -fdump-tree-all stuff.
21:49:46 <elliott> gcc has like five intermediate representations, but I assume so
21:49:49 <fizzie> It has a number of stages.
21:50:25 <fizzie> Oh, and -fdump-rtl-all too.
21:50:37 <elliott> it's probably easier to explore this stuff with LLVM
21:51:00 <elliott> since LLVM IR is something people actually read and work with and the whole tower is less messy to fiddle around in probably
21:51:40 <fizzie> elliott: http://sprunge.us/MbXM detailed enough for you?-)
21:51:54 <elliott> nice
21:52:05 <elliott> depends if those files contain useful information themselves :p
21:52:26 <fizzie> There must be some sort of tool to make sense out of it, maybe give you an interface where you can step through the stages or something.
21:52:30 <oren> edsger, W, Dijkstra!
21:52:32 <fizzie> (I've never looked for one, though.)
21:52:36 <oren> hoycrap!
21:53:09 <elliott> % gcc -O2 -std=c11 -c -fdump-tree-all -fdump-rtl-all test.c
21:53:09 <elliott> clang: error: unknown argument: '-fdump-tree-all'
21:53:10 <elliott> clang: error: unknown argument: '-fdump-rtl-all'
21:53:13 <elliott> "oh, right"
21:53:41 <oren> elliott: apple is evil hth
21:53:52 <elliott> hth is a dead meme "hth"
21:54:14 <elliott> there are systems where gcc is clang that aren't OS X anyway
21:54:19 <elliott> how do you know I'm not running freebsd
21:54:31 <fizzie> Well, a quick empirical test can tell the optimization happens in the tree parts, before the RTL parts. (Not surprising.)
21:54:52 <oren> it's pretty unlikely that anyone is running freebsd
21:55:13 <oren> compared to apple os x
21:55:14 <elliott> plenty of people run freebsd
21:55:23 <elliott> especially weirdo programmers on IRC
21:55:56 <oren> elliott: good point. should really learn to factor that in
21:56:00 <fizzie> http://sprunge.us/ecBY <- there's a couple of randomly selected intermediate tree dump samples and one RTL one.
21:57:03 <fizzie> I think I forgot to paste something I had between 015 and 141. Oh, well.
21:57:04 <elliott> right, so they don't necessarily tell you why they're doing the transformations they are
21:57:18 <elliott> but I guess you can infer it well enough
21:57:43 <fizzie> Assuming the steps are small enough. (And you know enough of the internals, of course.)
21:57:51 <elliott> well, I know zero of the internals
21:57:57 <elliott> which is why I want nice debug flags
21:58:13 <oren> i wonder if the transformations are decided by pattern matching or convoluted test logics?
21:59:51 -!- CrazyM4n has joined.
22:00:03 <cluid> hi
22:00:20 <elliott> fizzie: do you have a clang that lets you -mllvm -debug
22:00:24 <elliott> it seems I don't
22:00:49 <fizzie> "Unknown command line argument '-debug'."
22:00:58 -!- mitchs has quit (Ping timeout: 245 seconds).
22:01:01 <elliott> right
22:01:03 <elliott> it's only in debug build
22:01:04 <elliott> s
22:02:04 <elliott> -print-after-all - Print IR after each pass
22:02:04 <elliott> -print-before-all - Print IR before each pass
22:02:05 <elliott> aha
22:03:38 -!- heroux has joined.
22:04:04 <elliott> IR is kind of annoying to read
22:05:09 <elliott> maybe it'd be easier to read with while (n--) r += m;
22:05:55 <elliott> fizzie: incidentally clang does the same test
22:05:57 <elliott> even with unsigneds
22:06:06 <fizzie> I noticed.
22:06:10 <fizzie> Maybe it's just better.
22:06:26 <elliott> but, like... why not test for 1 too
22:06:31 <elliott> why just 0 :p
22:07:24 <fizzie> Could still be an artefact, just something common to the implementations of both.
22:08:14 <elliott> the IR dumps are kind of useless
22:08:17 <elliott> some of them only show part of the function?
22:08:24 <elliott> and it seems like the mul disappears in one of those
22:08:33 <elliott> around *** IR Dump After Loop-Closed SSA Form Pass ***
22:10:25 <elliott> http://llvm.org/docs/Passes.html cool
22:10:46 <HackEgo> [wiki] [[Talk:MNNBFSL]] N http://esolangs.org/w/index.php?oldid=41515 * AndoDaan * (+880) Added some concrete bits of code to calculate + * ^ and %
22:11:17 <elliott> I guess I could manually run each pass with opt but uuuugh
22:11:50 <fizzie> Heh, if I deliberately do not initialize r at all, the result is quite funny: mult: imull %esi, %edi; testl %esi, %esi; cmovne %edi, %eax; ret aka "if n != 0, return m*n; otherwise return whatever was in eax".
22:11:55 <HackEgo> [wiki] [[Talk:MNNBFSL]] M http://esolangs.org/w/index.php?diff=41516&oldid=41515 * AndoDaan * (-1)
22:12:27 <fizzie> From GCC. Clang just did "mult: ret".
22:12:49 <elliott> why does it even bother adding a ret
22:12:55 <elliott> take advantage of that UB!!11
22:13:51 <oren> god damn it how is that an advantage
22:14:20 <oren> it should just fail to compile
22:14:25 <elliott> not that simple
22:14:28 <oren> if it goes that far
22:14:38 <elliott> you clearly didn't read the posts about UB I linked you :p
22:15:04 <oren> compilers should just error out on UB
22:15:15 <oren> or do something obvious
22:15:16 <elliott> but it is not that simple.
22:15:22 <elliott> http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_21.html
22:15:26 <elliott> see Why can't you warn when optimizing based on undefined behavior?
22:15:55 <cluid> A type system could help protect against UB
22:16:01 <cluid> I would like to design a language like C but much safer
22:16:46 <elliott> let's just all program in ATS
22:16:55 <oren> cluid: Defining it would help againt UB
22:16:59 <cluid> I (irrationally) don't like ATS
22:17:45 <fizzie> In this case, it does fail to compile if you add enough flags -- "error: variable 'r' is uninitialized when used here [-Werror,-Wuninitialized]". AIUI, it's a warning with known false positives, though.
22:17:48 <oren> in the next version of C i would like all UB to either be defined or an error
22:18:12 <elliott> sigh
22:18:15 <cluid> oren, I don't think C can be salvaged, a new language has to be created
22:18:54 -!- `^_^v has quit (Quit: This computer has gone to sleep).
22:18:56 <elliott> I mean I am sympathetic to the desire for a language without UB but scorched earth solutions like that are not really simple or reasonable to apply to C
22:19:02 <oren> e.g. uninitialized variables: just make it zero.
22:19:10 <int-e> oren: what about implementation-defined behavior?
22:19:50 <int-e> (I actually (and perversely) really like the notion that behavior can be undefined to different degrees.)
22:20:09 <elliott> I should stop the arguing with a brick wall thing
22:20:40 <oren> int-e: it should stipulate restrictions so that compilers can't just do things that make no sense.
22:20:49 <oren> like return whatever is in eax
22:21:58 <oren> i mean don't expect perfection if i code stuff wrong, but i expect sanity.
22:22:07 <oren> or an error
22:22:39 <elliott> I probably wouldn't be able to get you to read all the posts I linked you about UB in C, right?
22:22:51 <int-e> oren: There are C# and Java.
22:24:24 <elliott> I *want* a reasonably safe, fast, low-level language with compile-time guarantees and no (or at least significantly fewer) UB gotchas like C. "C but with arbitrary definitions for all UB" is not that language, in many, many ways. UB is not just something you can rip entirely out of C and end up with something that isn't worse in quite a few ways
22:24:37 -!- Sprocklem has quit (Ping timeout: 272 seconds).
22:24:37 <int-e> C is insane to some degrees, and there are various lint-like tools to catch such more of those mistakes than compilers do, but there is a method beneath the insanity, which is to allow better optimizing compilers. You may not like the way that compiler writers shape a standard, but that's what C is.
22:25:00 <fizzie> Incidentally, clang --analyze will also catch this particular case. ("warning: The left expression of the compound assignment is an uninitialized value. The computed value will also be garbage" "warning: Undefined or garbage value returned to caller").
22:25:02 <oren> elliott: i read the post from llvm but there is no excuse for just returning whatever is in eax and not erroring. returning whatever is in eax will probably cause a RUNTIME error with no readily assignable couse
22:25:16 <cluid> oren, did you read what I said about KMP
22:25:16 <elliott> there are actually three posts on the llvm blog
22:25:19 <elliott> and some from regehr's
22:25:35 <elliott> but also I doubt you would take them into account if you actually read them so I don't really care
22:26:55 <cluid> @oren
22:26:56 <lambdabot> Maybe you meant: run more free
22:27:07 <cluid> The Knuth Morris pratt algorithm
22:29:00 <cluid> hi
22:29:46 <fizzie> "run more free" seems more like a statement than a list of unrelated commands.
22:29:56 -!- olsner has quit (Ping timeout: 256 seconds).
22:29:58 <fizzie> fungot: run more free
22:29:59 <fungot> fizzie: thanks for your comments, i greately fnord it and failed
22:30:10 <fizzie> fungot: I'm sorry to hear that.
22:30:10 <fungot> fizzie: l is no good distributed garbage collector for it. any others?
22:30:28 <fizzie> fungot: I don't know, but maybe the next letter in the alphabet?
22:30:29 <fungot> fizzie: does it have to be so annoying that, to show that it a) gives an error
22:33:31 <oren> cluid: yes.
22:33:35 -!- _AndoDaan_ has joined.
22:33:37 <cluid> I dont knwo how it is done
22:33:47 <cluid> but this is an extreme type of optimization
22:33:52 <cluid> changing one algorithm into a better one
22:34:12 <Gregor> elliott: I want a C-level language with optional GC, but we can't always get what we want ;)
22:34:22 <elliott> eightebed
22:34:45 <cluid> programming in 2D is so hard XD
22:35:03 <Gregor> cluid: Just wait for 4D programming.
22:35:48 -!- olsner has joined.
22:35:54 <int-e> oren: but what the compilers did did make sense; they optimized the code under the assumption that no undefined behaviour would be triggered at runtime. The only failing is that they didn't warn that the code could not be used without triggering undefined behaviour at all (if I read the context correctly)
22:36:11 -!- AndoDaan_ has quit (Ping timeout: 258 seconds).
22:36:22 <int-e> oren: that's what UB is to the compiler, an assumption it can make to aid optimization.
22:37:16 <int-e> and generally those are conditions that a compiler cannot check at all, thanks to Rice's theorem.
22:38:25 <oren> int-e: they shouldn't generate code that returns an undefined value. remember, they optimized it to mult:ret
22:38:43 <oren> they should fail if they are going to do that
22:38:53 <elliott> uuuuuuggghhhhh
22:39:03 <fizzie> elliott: You thought it was over, but IT WAS NOT.
22:39:09 <elliott> it's okay if you want to pull everyone in the channel in turn into an argument about UB every few days but only if you actually listen to what they say
22:39:25 -!- oerjan has joined.
22:39:42 <oren> elliott: how is it invalid to ask that a compiler fail rather than generate nonsense?
22:39:51 <elliott> kill me
22:40:28 <elliott> please don't try to attempt to drag me back into an argument in response to me pointing out how unproductively you're going about it -_-
22:40:51 <oerjan> can i just ban you both from talking to each other wth
22:40:55 <cluid> hi
22:41:18 <cluid> oren, we should design a low level language like C but strong static checks that make sure it has no UB
22:41:22 <elliott> oerjan: it was actually cluid and int-e this time
22:41:23 <oerjan> hi cluid
22:41:26 <cluid> oren, I have a couple ideas for this
22:41:27 <elliott> er
22:41:27 <oerjan> elliott: oh
22:41:28 <elliott> *oren and int-e
22:41:31 <cluid> good morning
22:41:46 <elliott> 11:40 pm, norwegian morning
22:41:46 <int-e> elliott: sorry, I only visited the llvm-about-UB link after I wrote the above reply
22:42:14 <CrazyM4n> So I found an HDD in my drawer today
22:42:38 <CrazyM4n> I was expecting some awesome nostalgia and an old windows install with a ton of stuff from when I was younger
22:42:43 <elliott> int-e: I was talking to oren. it's fine if you want to read blog posts out for him
22:42:56 <CrazyM4n> It turned out to be really boring D:
22:43:06 <elliott> this channel is bad for me.
22:43:10 <oerjan> elliott: well for me it's ... let's see ... i got up at 4 pm, so let's call it late afternoon.
22:44:06 -!- _AndoDaan_ has quit (Ping timeout: 256 seconds).
22:44:10 <oerjan> elliott: think about it as cathartic [sp] hth
22:44:56 <int-e> elliott: I could've spared you some redundancy.
22:47:10 <oerjan> <cluid> oren, we should design a low level language like C but strong static checks that make sure it has no UB <-- i really thought that was what rust was about, although it's not clever enough to avoid having unsafe blocks, but then i guess probably nothing can do device drivers entirely safely on a modern architecture
22:47:16 <oren> i understand that in this case the analyzer thinks the whole function is UB and therefore cannot be called. if that is the case it should simply fail if the function is ever called.
22:47:31 <cluid> oerjan, I think rust is 'about that' but in practice I don't have high hopesfor them
22:47:59 <cluid> they have some really questionable ideas like rigorous formalization is something you do post-facto
22:48:49 <oerjan> cluid: you cannot rigorously formalize something while the design is in flux, surely
22:49:13 <oerjan> or it would be a tremendous waste of work, anyway
22:49:53 <oerjan> hm cathartic actually _is_ spelled that way. i was worried that it was actually a cata- prefix.
22:50:00 <cluid> you can have a flexible language based on a solid theory
22:50:44 <oerjan> cluid: yes but you have to test out a language to know how much flexibility you need
22:51:12 <oren> It seems to me that the sane way to handle UB isn't "assume it never happens" but "do whatever makes sense on this architecture".
22:51:31 <cluid> there are two approaches to UB that I know of:
22:51:54 <cluid> A) Put the responsibility on the programmer to not write UB
22:52:11 <cluid> B) Enforce that all programs are well defined by some kind of static analysis such as a type system
22:53:40 <oerjan> (B) is the only way if you want safety _and_ optimal performance, i should think
22:53:40 <oren> I am defining a third path: C) define it according to the architecture. E.g. on X86 signed addition should be assumed to wrap. On a sign-magnitude architecture it might be assumed to hit a wall. etc.
22:53:59 <fizzie> There's no "makes sense according to architecture" for many (most?) of the things.
22:54:10 <fizzie> Like uninitialized variables.
22:54:13 <zzo38> I think what is a bit sensible is, depend if it is implementation-defined; if it isn't then the compiler should just ignore it and doesn't make an assumption
22:54:19 <cluid> oren, Good idea: Implementation defined behavior
22:54:36 <cluid> Although there is a slight problem in that one might want to know whether their program is portable or not, statically
22:55:26 <int-e> I like this: "we quickly learned that people do occasionally dereference null pointers, and having the code execution just fall into the top of the next function makes it very difficult to understand the problem."
22:55:48 -!- AndoDaan has joined.
22:56:18 <oren> int-e: i was moaning when i read that part. like how can that possibly be a sane thing to do
22:57:30 <fizzie> Because there's a cost associated with not doing it, presumably.
22:57:38 <oerjan> oren: UB makes "sense" if you understand that the _primary_ goal is to allow the result to be as fast as possible
22:58:22 <oren> oerjan: because we want to segfault as fast as we can?
22:58:49 <fizzie> Look, the reason for it is right there in the next sentence: "The drawback of doing this is that we slightly bloat code by having these operations and having the conditions that control their predicates."
22:58:56 <cluid> oerjan, have you ever done ICFP
22:59:03 <oerjan> cluid: nope
22:59:04 <fizzie> Assuming they're for the most part actually unreachable code, like they should.
22:59:35 <cluid> http://lpaste.net/116828
22:59:41 <cluid> this is from ICFP http://www.boundvariable.org/task.shtml
22:59:43 <fizzie> You can easily argue that the safety is worth a little bloat, but it certainly doesn't make avoiding the bloat "insane".
23:00:19 <cluid> everyone should join in doing this task, its the most fun thing :)
23:00:53 <elliott> it's almost as if the question is whether the design of C makes the right tradeoffs and is as sophisticated as it should be, rather than whether the designers and implementors of C are completely incompetent and haven't given a moment's thought to anything
23:01:22 -!- zzo38_ has joined.
23:01:48 -!- zzo38 has quit (Disconnected by services).
23:01:55 -!- zzo38_ has changed nick to zzo38.
23:03:07 <oerjan> i'm pretty sure the ICFP contest is over for this year
23:03:13 <oren> elliott: they have decided, imo wrongly, to exploit the C standard in a way that sometimes generates nonsense, and then not bother to detect and issue an error when thye generate complete nonsense
23:03:27 <cluid> this is from 2006
23:03:38 <elliott> there is no "exploit". compilers and the C committee are not at war. they work together. nothing unintended is happening
23:03:40 <fizzie> I'm pretty sure it's over for 2006 too.
23:03:53 <zzo38> But maybe complete nonsense is the correct thing to generate in some cases?
23:04:09 -!- CrazyM4n has quit (Ping timeout: 245 seconds).
23:04:10 -!- erdic has quit (Ping timeout: 245 seconds).
23:04:20 <oren> zzo38: if i want nonsense i'll write it by hand in assembler
23:04:21 <zzo38> You should read it carefully so that you can know for sure.
23:04:24 -!- erdic_ has joined.
23:04:25 -!- bb010g has joined.
23:04:33 <cluid> You can still play it
23:04:47 <cluid> look at my lpaste
23:04:49 <oerjan> oren: handwritten assembler isn't as fast as C in practice hth
23:04:50 <zzo38> But if I write it in assembler then it won't be very portable (unless running in an emulator)
23:05:12 -!- erdic_ has changed nick to erdic.
23:05:17 * oerjan swats himself for joining the discussion -----###
23:05:29 <shachaf> whoa, this thing again?
23:05:33 <shachaf> oerjan: hey, not fair
23:05:37 <oren> oerjan: i'm saying if i want a function that returns whatever is by chance in eax, i'll just write such in assmebler
23:05:58 <oren> there is no need for clang to write one for me
23:06:01 <shachaf> Good, because you can't write such a function in C.
23:06:14 <shachaf> There's no eax in C.
23:06:16 <zzo38> But then it will be only on x86
23:06:17 <oren> shachaf: on clang you can apparently
23:06:33 <zzo38> But if you just simply don't care the return value then it should be allowed to specify such thing.
23:07:09 <zzo38> I think LLVM has a command to don't care the return value.
23:07:23 <oren> zzo38: in the discussion above, a lengthy function with a loop was compiled to label:ret
23:07:38 <oren> because of undefined ehaviour
23:07:50 <elliott> please take this to #esoteric-ub
23:07:55 <elliott> thanks
23:08:06 <zzo38> If the loop doesn't do anything (or otherwise has no effect elsewhere) then should be optimized out OK
23:08:09 -!- CrazyM4n has joined.
23:08:46 <oerjan> elliott: what's wrong with #esoteric-crap or whatever it was called
23:08:52 <fizzie> oerjan: -blah, I think.
23:08:55 <oerjan> ah
23:08:59 <fizzie> oerjan: Unless you're talking about a different thing.
23:09:01 <shachaf> that's a thing?
23:09:06 <elliott> oerjan: #esoteric-blah usually contains more useful discussion than this
23:09:07 <shachaf> i thought that was this channel
23:09:22 <fizzie> shachaf: I was about to say it was a place for e.g. botspam, but that's this channel too.
23:09:43 <fizzie> fungot: Or wouldn't you agree?
23:09:43 <fungot> fizzie: yome says: may be slime wants you to do anything useful
23:09:48 <shachaf> yes
23:09:55 <shachaf> this is p. much it
23:10:00 <oren> elliott: ok, i have posted in the channel specified
23:10:01 -!- boily has joined.
23:10:09 <shachaf> oerjan: i joined the discussion so why didn't i get swat
23:10:35 <oerjan> shachaf: i didn't swat everyone else in the discussion did i?
23:10:48 <shachaf> yes but i was at least as unwise as you hth
23:10:57 <oerjan> also, there's a more obvious answer, which you might discover some day.
23:11:17 <shachaf> it eludes me entirely hth
23:11:58 <zzo38> There is also #esoteric#shadow channel which is made for impossible to get banned because it is held by the log service
23:12:35 <shachaf> whoa, you can have #s in the middle of channel names
23:12:47 <shachaf> that's obvious but didn't really occur to me
23:12:55 <fizzie> It looks worng.
23:13:02 <zzo38> Yes I think anything is allowed other than spaces, bells, nulls, carriage returns, and line feeds.
23:13:11 <oren> esoteric hashtag shadow
23:13:39 <zzo38> But I think other control characters are OK to be included in a channel name.
23:13:40 <fizzie> zzo38: Or commas.
23:13:51 <zzo38> fizzie: O, yes, that too.
23:14:01 <oren> were channel names based on hashtags?
23:14:15 <zzo38> No the # means the type of channel
23:14:20 <zzo38> On Freenode it is the only kind
23:14:20 <oren> or the other way around
23:14:22 <elliott> yes. irc is a ripoff of twitter
23:14:26 <fizzie> (There was the famous "/join #2,000" joke.)
23:14:27 <zzo38> Other IRC servers have other kinds of channel
23:14:44 <elliott> does /join #2,000 still work
23:15:39 <zzo38> Such as, + means modeless channel, & means local to a server, ! means it is safe from being overwritten by net splitting
23:15:41 <fizzie> Not on freenode, at least.
23:16:03 <fizzie> It joins #2 (which is mostly empty) and goes "000 :No such channel".
23:16:06 <zzo38> It is recommended to use + & ! channels if possible instead of # however many servers don't support it.
23:16:15 <cluid> I'm programming in a 2D language
23:16:25 <oren> ok WP says irc predates twitter. i dodn't knwo that
23:16:46 <elliott> by almost 20 years, yeah :p
23:17:19 <oren> i thought irc was based on twitter but i wasn't sure
23:17:43 <oren> i guess twitter might be based on irc
23:17:56 <zzo38> As far as I know neither is based on another
23:18:22 <oren> i mean, if you follow a hashtag on twitter that is sort of like being on a chennel in irc
23:18:54 <fizzie> The 'pedia claims hashtags (which weren't a feature Twitter had at launch) are IRC-inspired, which I've sort of assumed but not really known.
23:19:10 <Taneb> oren, IRC predates Twitter by I think decads
23:20:03 <oren> Taneb: apparently so. see i only learned history up to the end of WWII
23:20:41 <oren> that is all that is taught in high school mandatory history
23:20:47 -!- MoALTz has joined.
23:20:59 <zzo38> I have seen other newer chat protocols too but as far as I can see none of them are any good compared to IRC; most of them are too complicated
23:21:17 -!- MC_SOMBRA has joined.
23:21:24 <fizzie> In Finland, history of IRC is a mandatory part of the school curriculum. (Disclaimer: a lie.)
23:21:59 <fizzie> Though being on IRC at least used to be almost mandatory for anyone studying CS at our university.
23:22:32 <fizzie> There was an IRC guide in the welcome booklet for new students, and lots of course stuff used to happen via IRC.
23:23:08 <oren> fizzie: my school uses a BBS forum
23:23:47 <fizzie> There was also a thriving local NNTP server (student campus stuff, course stuff, miscellaneous chattery) which is also almost entirely dead now.
23:25:00 <oren> NNTP was discontinued at uoft a long time ago
23:26:15 <zzo38> How would I set up a NNTP server anyways? I never did because I didn't figure out how.
23:26:46 <fizzie> The venerable ones are not very user-friendly.
23:26:56 -!- mitchs has joined.
23:27:00 -!- MC_SOMBRA has left.
23:27:26 <oren> fizzie: venerable doesn't just mean old y'know...
23:27:28 <oerjan> darn i was just about to ask him if he use canaima
23:27:29 <fizzie> I used to run one of the slightly more modern ones, as a local leaf site, the kind of thing that just fetches new news of a specified subset of groups as a regular client.
23:27:49 <fizzie> I wasn't using it to mean "old".
23:27:51 <oren> venerable: suitable for veneration
23:28:11 <oren> like a god or a noble ancestor
23:28:51 <fizzie> Yes, or like INN.
23:29:10 <fizzie> (I ran Leafnode, I think.)
23:29:17 <zzo38> I would want to set up local groups too though, otherwise I would just try to use ISP's NNTP server
23:29:19 <fizzie> "Leafnode is a store-and-forward NNTP (or Usenet) proxy server designed for small sites with just a few active newsgroups, but very easy to set up and maintain, when compared to INN."
23:29:23 <fizzie> That's the honest truth.
23:29:41 <fizzie> I think it can do local groups, though that's not really its main use case.
23:30:16 <fizzie> In fact, I'm pretty sure I had some test group there that even had like three users at some point.
23:31:20 <fizzie> (Chronologically, this was around 1997-1999 or so. Things might have changed since then.)
23:33:14 <fizzie> Hmm.
23:33:37 <fizzie> "Leafnode 1.x does not support local newsgroups. Leafnode 2.x will do that." (But 2.x is in some alpha stage that it probably won't ever come out of.)
23:34:05 <fizzie> I must be misremembering, though in that case I'm wondering what on earth did I actually run the local group on, then.
23:34:43 <fizzie> I wonder if I did in fact set up INN. The configuration stuff looks vaguely familiar.
23:45:20 -!- atslash has quit (Quit: This computer has gone to sleep).
23:48:51 -!- AndoDaan has quit (Ping timeout: 272 seconds).
23:57:46 <cluid> http://i.imgur.com/34v1kJ9.jpg
23:57:52 <cluid> does that equation really define the zeta function?
23:58:05 <cluid> how about zeta(s) = 0
23:58:15 <cluid> that seems to contradict their 'reimann hypothesis'
23:59:55 <fizzie> It defines the hypothesis wrong, at least.
2014-12-19
00:00:15 <fizzie> It's missing the "non-trivial zeroes" part.
00:00:17 <cluid> oh yeah, all solutions rather than all 'nontrivial'
00:00:34 <elliott> cluid: send it in and get your fere pen
00:00:37 <elliott> *free
00:00:57 <elliott> kind of unreasonable that they end the offer in 2018
00:01:01 <boily> fungot: how would one prove the Riemann?
00:01:01 <fungot> boily: fun fact: sisc is a subclass of a, but 5.25" on the abacus to any position in the argument
00:01:02 <elliott> can't spare a pen after that
00:01:08 <cluid> imagine if you really prove the RH, and they reject it beacuse you didn't prove their false mistatement of the theorem
00:01:22 <cluid> that would be annoying
00:02:03 <elliott> haha
00:02:22 <elliott> I also note they don't give a pen for proving ~RH
00:06:35 <oren> does 'nontrivial' have a real definition
00:07:16 <fizzie> It has a conventional definition in this context, at least.
00:07:24 <oerjan> fizzie: are you sure the multiplication by Gamma(s/2) doesn't take care of the trivial zeros?
00:07:38 <cluid> So-called "trivial zeros" occur at all negative even integers s=-2 , -4 , -6 ,
00:07:55 <oerjan> er and pi^(-s/2)
00:08:04 <oerjan> actually no, not that
00:08:51 <cluid> what does everyone use for 2D programming?
00:09:03 <cluid> im finding it quite hard to do it in a plain text editor :/
00:09:28 <oren> I think crazym4n has an ide for you.
00:09:41 <CrazyM4n> :3
00:10:00 <CrazyM4n> https://gist.github.com/CrazyM4n/d02380667be743be1310
00:10:27 <fizzie> oerjan: I was wondering about that, but it seemed like too much thinking to think it through.
00:10:58 <oerjan> fizzie: the graph on https://en.wikipedia.org/wiki/Gamma_function shows that it's infinite at the right points, at least
00:11:17 <oerjan> erm
00:11:39 <oerjan> actually what about odd negative integers
00:11:50 <cluid> this is awy cool
00:11:59 <cluid> i need something a bit different sorry to say!
00:12:08 <cluid> i havet o drag boxes around and connect them with wires
00:12:17 <cluid> http://lpaste.net/116828
00:13:15 -!- mitchs has quit (Ping timeout: 265 seconds).
00:13:35 <oerjan> hm indeed the zeta function isn't zero at those
00:13:39 <CrazyM4n> cluid: Hmm, what you're doing seems cool
00:13:39 <CrazyM4n> What is it?
00:13:57 <elliott> cluid: use a UML tool :P
00:14:16 * boily mapoles elliott “No UML. Bad UML.”
00:14:37 <cluid> CrazyM4n, this is called 2D, I found it inside someones UMIX directory inside the file that codex.umz produces when run http://www.boundvariable.org/task.shtml
00:15:00 <cluid> i have to program some things in 2D to get a code
00:15:20 <CrazyM4n> hmm
00:15:23 <CrazyM4n> interesting
00:16:17 <cluid> http://lpaste.net/116836
00:18:22 <oren> plaintext highlighted as a programming language, reminds my of those awful sites where random words are double-underlined red links
00:21:50 <oren> although i haven't seen those since i switched from my XP box. where did they go?
00:24:56 -!- mitchs has joined.
00:26:32 <elliott> are you sure you didn't have malware
00:26:55 <oren> elliott: i am sure i had everypossible malware
00:27:14 <CrazyM4n> I see those too
00:27:26 <CrazyM4n> I don't know what they are, but I haven't seen them since switching to linux
00:27:32 <oren> are they caused by malware?
00:27:34 <CrazyM4n> I see them on the school computers occasionally
00:27:42 <CrazyM4n> Probably, they are probably from MITM attacks
00:28:05 <CrazyM4n> All my not-technologically-advanced friends have crap tons of those red links
00:28:36 <oren> maybe it was one of those toolbars doing it
00:28:51 <CrazyM4n> You know, I never really put two and two together to realize that it was probably a MITM attack and not just invasive ad thingy
00:29:06 <CrazyM4n> It's not from a toolbar, I wouldn't have let that happen
00:29:29 <oren> yeah, googling it indicates there are spyware thingies that do the redlinks
00:29:53 <oren> but i never realized it wasn't just the sites
00:30:17 <CrazyM4n> Yeah
00:36:29 <cluid> http://i.imgur.com/11ht8ig.png
00:36:33 <cluid> ive pushed all 3switches finally
00:38:03 <cluid> i cannto get the flashy diamond since the path is blocked..
00:38:25 -!- mitchs has quit (Ping timeout: 245 seconds).
00:38:55 <zzo38> Then you did something wrong you need to plan ahead to not move around stuff so that the path gets blocked.
00:40:27 <zzo38> The chest is not pushable, nor is the small slime blob. Therefore, they can block things. (The sliders can also block some things.)
00:41:13 <zzo38> Learn the numbers "1" and "2" they will help too.
00:44:03 -!- MoALTz_ has joined.
00:46:41 -!- MoALTz has quit (Ping timeout: 250 seconds).
00:46:46 <cluid> 5thanks zzo38 I will try!
00:46:52 <cluid> It is a very interesting game
00:47:02 <cluid> and extremly difficult :D
00:50:32 -!- mitchs has joined.
00:53:32 <cluid> http://esolangs.org/wiki/Ragaraja this could be the most devoted brainfuck derivative?
01:00:08 <elliott> not very devoted, they didn't finish it
01:02:17 <CrazyM4n> Seems kind of pointless
01:04:34 <CrazyM4n> Though, the biological references seem kind of interesting
01:04:59 <CrazyM4n> There should be a language that is completely comprised of G, C, A, and T
01:05:18 <CrazyM4n> And it splits the code into 3-length codons
01:05:26 <CrazyM4n> And parses the codons as instructions
01:05:33 <cluid> http://esolangs.org/wiki/NucleotideBF_(nBF) same author
01:06:23 <CrazyM4n> I saw that, but it has a bunch of other random different letters, isn't parsed like how I suggested, and is generally kind of useless - all it can do is <>+- and .
01:06:49 <cluid> http://esolangs.org/wiki/DNA-Sharp
01:06:58 <cluid> this one uses ascii art of DNA strange
01:07:30 <cluid> http://esolangs.org/wiki/DNA
01:07:36 <CrazyM4n> It also has 4 letter codons ;~;
01:07:55 -!- dianne_ has joined.
01:09:17 -!- dianne has quit (Ping timeout: 272 seconds).
01:10:04 <CrazyM4n> Hmm
01:11:05 <CrazyM4n> I'm going to set up a google spreadsheet and start typing out commands
01:20:44 <CrazyM4n> Hmm, it exists
01:20:44 <CrazyM4n> http://esolangs.org/wiki/RNA
01:20:48 <CrazyM4n> But it's not done
01:22:15 -!- bb010g has quit (Quit: Connection closed for inactivity).
01:31:05 -!- AndoDaan has joined.
01:37:14 -!- mihow has joined.
01:38:47 -!- mihow has quit (Client Quit).
01:46:48 -!- Guest82803 has quit (Ping timeout: 245 seconds).
01:54:40 <CrazyM4n> Okay, I have 20 instructions and need to know what to do with them
01:54:50 <CrazyM4n> If amino acids were a language they'd be functional
01:54:57 <CrazyM4n> Therefore, this is gonna be a functional language :P
01:55:08 <CrazyM4n> Maybe it'll be APL-esq? I'd like to make that
01:55:12 <Jafet> You don't believe in hidden variable theory?
01:56:04 <CrazyM4n> I'm saying metaphorically
01:56:37 <CrazyM4n> AKA I'm using this as an excuse to try to write a functional language
01:56:47 <CrazyM4n> Because stack languages can get boring, you know
02:00:48 <AndoDaan> There was a DNA/amino accid language in Hofstadter's Godel, Escher, Bach.
02:02:10 <CrazyM4n> Well, while thinking of commands, I'm going to install windows on my newfound HDD
02:02:29 <diginet> are there any truly *completely* context-free languages?
02:02:59 <cluid> diginet, Can you define what you mean by that exactly?
02:03:01 <Jafet> Maybe fungot knows one.
02:03:01 <diginet> obviously, there are some variations, Perl being the prototypical example of a highly context-sensitive language
02:03:01 <fungot> Jafet: so you just subclass game and override fnord, while at the same time? if not, it was the ms messenger protocol... but i thought both would be pretty sweet as well :)
02:03:29 <diginet> CrazyM4n: I think DNA would do well as an encoding of binary lambda calculus
02:04:01 <CrazyM4n> diginet: I noticed that too, but I don't actually *know* binary lambda calculus (and it's been done many times)
02:04:02 <diginet> cluid: I mean, like. . .are there any languages which could be parsed with only EBNF I guess (informally speaking)
02:04:13 <CrazyM4n> I'd like to program in my language, tbh :)
02:04:24 <diginet> CrazyM4n: doesn't unlambda have four symbols?
02:04:41 <diginet> `SKI IIRC
02:04:57 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: SKI: not found
02:04:58 <tromp_> that's LazyK
02:05:02 <diginet> oh right
02:05:05 <CrazyM4n> I'm not using the 4 symbols
02:05:06 <diginet> well LazyK then
02:05:09 <tromp_> unlambda has a bunch more
02:05:13 <CrazyM4n> I'm parsing them down to the amino acids they represent
02:05:21 <diginet> CrazyM4n: hmm
02:05:21 <CrazyM4n> So I have 20 possible instructions
02:05:33 <diginet> CrazyM4n: yeah but there's more than 20 codons, right?
02:05:46 <CrazyM4n> On an unrelated note, my DVD drive stopped working on the only day I've needed it
02:06:01 <CrazyM4n> This is what I have so far: http://i.imgur.com/IuVFISF.png
02:06:10 <diginet> you could use each codon as a separate symbol. Thought I don't believe there are 4^3 different codons
02:06:17 <diginet> *though
02:06:18 <tromp_> BLC sort of has four symbols: LAM, APP, ZERO, SUCC
02:06:31 <CrazyM4n> There are 64 possible combinations, but only 20 distinct ones
02:06:42 <cluid> tromp_, why is it zero nd suc rather than binary?
02:07:09 <tromp_> to fit the distribution of variable indices likely to occur in practice
02:07:18 <diginet> wait hold on, I thought there were 20 amino acids
02:07:21 <tromp_> basically a huffman encoding
02:07:26 <elliott> use a universal code, clearly :)
02:07:29 <cluid> ah clever
02:07:33 <diginet> with some amino acids having multiple codons assigned to them
02:07:37 <tromp_> and to simplify parsing:)
02:07:37 <cluid> I read a cool fact today
02:07:38 <diginet> i.e. DNA is a degenerate code
02:07:46 <cluid> Base e is optimal if you are trying to minimize length of number * number of possible digits. A base with many different prime factors is optimal if you want to be able to write many kinds of numbers with the normal digit notation. Base 2 is optimal if you want to minimize the number of possible digits.
02:08:01 <diginet> cluid: so BLC in phinary?
02:08:03 <tromp_> also see http://esolangs.org/wiki/Real_Fast_Nora%27s_Hair_Salon_3:_Shear_Disaster_Download, which makes those 4 tokens explicit
02:08:04 <diginet> err
02:08:06 <diginet> Base E
02:08:13 <cluid> the de brjuin indices are unary
02:08:45 <elliott> base 47 is optimal because that's the biggest number I can imagine
02:08:48 <CrazyM4n> I still want this to be a usable language
02:08:51 <AndoDaan> https://archive.org/stream/GEBen_201404/GEBen_djvu.txt search for "Typogenetics
02:08:51 <AndoDaan> We are now about"
02:08:56 <CrazyM4n> So I'll make one of them define a function
02:09:15 <diginet> CrazyM4n: maybe a better option would be to define an ISA with 20 different instructions
02:09:21 <diginet> and then compile languages to that
02:09:26 <CrazyM4n> ISA?
02:09:37 <diginet> instruction set architecture
02:09:45 <diginet> e.g. x86, MIPS, ARM
02:09:49 <cluid> Can you make it more biological?
02:09:51 <cluid> it should act like real RNA
02:10:01 <CrazyM4n> I was doing that, diginet
02:10:01 <diginet> CrazyM4n: I actually like the idea a lot though
02:10:03 <cluid> emit acids which form proteins
02:10:06 <CrazyM4n> That's what I'm trying to think of
02:10:10 <cluid> and the protiens act together in some way
02:10:18 <CrazyM4n> cluid: Yeah, it actually synthesizes the acid chains in your CPU
02:10:18 <diginet> CrazyM4n: oh, I thought you said earlier you wanted something functional language-y
02:10:18 <cluid> it could be strochastic
02:10:38 <CrazyM4n> diginet: I do, but I don't know how far I'm going to be able to take it
02:10:58 <diginet> CrazyM4n: I feel like a concrete ISA and functional programming are orthogonal ideas
02:11:34 <diginet> CrazyM4n: are you trying to implement this in practice, or is this just an idea for a language particularly suited to encoding in DNA?
02:11:44 <CrazyM4n> You know, the more I think of it, the more I agree that amino acid chains would be more suited to an ISA
02:11:44 <diginet> like are you trying to physically compute with DNA
02:11:55 <CrazyM4n> If only I had the technology for that :P
02:12:05 <diginet> CrazyM4n: yeah, that was my thought, find 20 different basic instructions
02:12:09 <diginet> also a stack machine would be best
02:12:09 <CrazyM4n> I'm making it for fun, because I think that DNA is rather cool
02:12:22 <CrazyM4n> I really don't like the idea of a stack for this
02:12:45 <diginet> CrazyM4n: how are you going to encode registers then with only 20 different possible instructions, or is it going to be variable length?
02:12:48 <CrazyM4n> Maybe a pool and registers
02:13:09 <diginet> or will instructions be encoded in multiple codons?
02:13:16 <CrazyM4n> Well, each register could be referenced with a specific codon
02:13:34 <CrazyM4n> As in, lets say "UUU" is "access from register, just for sake of conversation
02:13:37 <CrazyM4n> "
02:13:38 <diginet> so are you going to use all 64 possible ones?
02:13:41 <CrazyM4n> No
02:13:53 <CrazyM4n> But, maybe I could make instructions take arguments
02:14:22 <diginet> I guess I misunderstood, I thought each three DNA base pairs were going to be atomic operations
02:14:29 <CrazyM4n> As in, "UUUGACGGA" would take a value from the register at GAC GGA
02:14:35 <CrazyM4n> You didn't misunderstand
02:14:50 <CrazyM4n> But I am just trying to figure out how I could actually make this usable without a stack
02:14:56 -!- AndoDaan has left ("Leave channel").
02:15:00 <diginet> . . .how can you possibly encode a register based ISA into 20 different ops?
02:15:04 <CrazyM4n> So I'm just throwing out ideas
02:15:11 <diginet> there's not a large enough coding space
02:15:22 -!- AndoDaan has joined.
02:15:29 <CrazyM4n> Hm
02:15:55 <diginet> you could use an accumulator architecture
02:16:06 <CrazyM4n> I could make instructions take arguments of other codons, but that would be really awkward to read and write
02:16:23 <diginet> so each instructions would be multiple codons long?
02:16:26 <diginet> that's what I was asking
02:16:48 <CrazyM4n> You know, maybe that is a good idea
02:17:04 <diginet> I tried to design an 8-bit RISC a few months ago. I wanted an 8-bit fixed length design. It was *incredibly* difficult to design anything useful
02:17:05 <CrazyM4n> So now we have 400 instructions to work with
02:17:11 <diginet> and that's with 256 to work with
02:17:13 <diginet> not 20
02:17:36 <cluid> where is the page that shows how to encode brainfuck into binary brainfuck?
02:17:42 <diginet> I ended up dumping the idea of fixed-length
02:18:00 <CrazyM4n> What about one codon that changes the operation of the next codon
02:18:26 <CrazyM4n> That could work, and it allows us 39 arguments
02:18:33 <AndoDaan> http://samuelhughes.com/boof/
02:18:50 <diginet> that's effectively a variable length encoding
02:18:54 <CrazyM4n> We could string together arbitrary amounts of those codons to get an infinite instruction space
02:19:00 <CrazyM4n> (instruction space?)
02:19:04 <diginet> sounds VAXy
02:19:06 <cluid> http://esolangs.org/wiki/Brainfuck_bitwidth_conversions this is kinda related
02:19:20 <cluid> thanks AndoDaan !
02:19:38 <AndoDaan> np :)
02:20:38 <HackEgo> [wiki] [[Brainfuck derivatives]] M http://esolangs.org/w/index.php?diff=41517&oldid=41510 * Cluid Zhasulelm * (+356) Slight improvements and added MIBBLLII
02:20:44 <diginet> BLC is the most elegant language of all time
02:20:48 <CrazyM4n> So how many registers could there be
02:20:51 <diginet> I'm not even kidding
02:20:57 <diginet> CrazyM4n: hold on
02:21:00 <diginet> let me think
02:21:02 <CrazyM4n> Well, actually, I got something
02:21:06 <CrazyM4n> Let me type this out
02:21:08 <CrazyM4n> Wait
02:21:10 <diginet> sure
02:22:35 <oerjan> <elliott> base 47 is optimal because that's the biggest number I can imagine <-- oh come on, even grothendieck new a prime bigger than that hth
02:22:52 <CrazyM4n> (I'm typing it in a spreadsheet
02:22:52 -!- boily has quit (Quit: MURIATIC CHICKEN).
02:22:54 <CrazyM4n> )
02:22:56 <elliott> oerjan: it was indeed a new prime -- nobody else had ever heard of it...
02:23:15 <elliott> diginet: no love for BCT?
02:23:33 <diginet> elliott: what's that?
02:23:42 <elliott> https://esolangs.org/wiki/Bitwise_Cyclic_Tag
02:23:49 <elliott> (has oerjan proved self-BCT TC yet :p)
02:25:40 <diginet> elliott: that sounds similar to an OISC/ZISC
02:27:05 <oerjan> *knew
02:27:32 <oerjan> elliott: no. as i said recently, it seems to be in an awkward class.
02:27:57 <elliott> oh it came up recently?
02:28:09 <elliott> it sort of seems conceptually similar to /// to me
02:28:17 <oerjan> maybe.
02:28:22 <elliott> you have program matching and program modification :p
02:28:32 <cluid> cyclic tag things are very weird
02:28:37 <oerjan> but nothing large-scale!
02:28:40 <cluid> i dont know how to understand them
02:28:46 <elliott> oerjan: yeah it is not easy
02:29:05 <elliott> but emulating a cyclic tag system or such seems not unthinkable?
02:29:13 <diginet> http://esolangs.org/wiki/BF_instruction_minimalization the three symbol version would be nice for a ternary machine
02:29:41 <elliott> (maybe interleaving its program and data string, or such)
02:29:48 <elliott> heck, even implementing BCT itself in it :P
02:30:05 <oerjan> you go right ahead
02:30:08 <CrazyM4n> diginet: How about something like http://i.imgur.com/AtfAch4.png ?
02:30:18 <elliott> diginet: most of those languages are very ad ho :/
02:30:18 <elliott> *hoc
02:30:28 <diginet> elliott: true
02:30:30 <diginet> CrazyM4n: hold on
02:30:38 <elliott> oerjan: good luck!
02:31:07 <diginet> CrazyM4n: I'm a little confused
02:31:18 <oerjan> elliott: i think you misread a pronoun hth
02:31:20 <CrazyM4n> Okay
02:31:30 <CrazyM4n> So pretty much what I'm trying to say
02:31:43 <diginet> are you saying that when a codon is prefaced by another it changes its function?
02:31:47 <CrazyM4n> is that "UUU" (phenylalanine) is a modifier of sorts
02:31:49 <oerjan> also i'm vaguely working at the mcculloch 2 machine, which came up in the same discussion
02:32:15 <CrazyM4n> So, let's say you ran "UUU UUU CUG"
02:32:29 <diginet> so basically when prefaced by UUU the op that a codon performs changes?
02:32:38 <CrazyM4n> The first UUU modifies the second one into meaning "Change the next Op to its get"
02:32:39 <CrazyM4n> yeah
02:32:43 <diginet> so it's basically a variable length code?
02:32:44 <cluid> good luck with mcculloch
02:32:58 <CrazyM4n> and then that UUU changes the CUG (leucine) into a get Op
02:33:04 <CrazyM4n> Which gets from register 1
02:33:05 <diginet> what's mcculloch?
02:33:17 <diginet> where are the arithmetic operations?
02:33:18 <oerjan> https://esolangs.org/wiki/McCulloch%27s_second_machine
02:33:41 <diginet> CrazyM4n: is this an 1-operand arch?
02:33:43 <diginet> *a
02:33:47 <CrazyM4n> Hm?
02:34:00 <CrazyM4n> Sorry, I'm not too well versed in computer jargon
02:34:02 <CrazyM4n> D:
02:34:08 <diginet> I mean is there an implied operand, like an accumulator?
02:34:25 <diginet> where is the data coming from that gets or sets the registers?
02:37:04 <elliott> oerjan: you deserve wolfram's money too for all your work :)
02:37:46 <CrazyM4n> diginet: That's what I'm still trying to figure out
02:37:54 <CrazyM4n> Maybe I should do it deadfish style
02:38:03 <CrazyM4n> Accumulator and square-er
02:38:09 <CrazyM4n> And subtractor
02:38:21 <diginet> CrazyM4n: I still think a stack machine would be vastly more suited to what you are trying to accomplish
02:38:41 <CrazyM4n> diginet: I completely agree, but stack machines are so boring :(
02:38:50 <diginet> CrazyM4n: not necessarily!
02:38:59 <diginet> their minimalism is intriguing
02:38:59 <CrazyM4n> I guess...
02:39:19 <CrazyM4n> We also have around 35 instructions to do
02:39:22 <CrazyM4n> Hm.
02:39:31 <diginet> if you want my advice
02:39:46 <diginet> I would do something like this, 20 registers, 20 instructions, with one accumulator
02:39:50 <diginet> each instruction is two codons wide
02:40:26 <diginet> all operations use the accumulator as an implied operand, and a then specify the register with the second
02:40:50 <cluid> how is switch/case done in brainfuck
02:40:57 <diginet> how many bits wide do you want th registers to be?
02:41:15 <CrazyM4n> That might be a good idea
02:41:21 <diginet> if you make everything a single bit, you could do some interesting things
02:41:48 <oerjan> elliott: OKAY
02:41:54 <CrazyM4n> I honestly want to keep each instruction one codon wide, the one thing I'm completely opposed to doing is changing the instruction length
02:42:08 <CrazyM4n> It is an esolang, after all. There's bound to be some challenges along the way.
02:42:19 <elliott> cluid: nested []s, basically
02:42:22 <diginet> CrazyM4n: well okay, I'll be honest, I don't think a register machine is possible with only 20 possible instructions
02:42:29 <cluid> damn
02:42:39 <elliott> I think there was an article on the wiki about how to do BF switches
02:42:42 <diginet> I don't see how you could possible encode that much data
02:42:49 <CrazyM4n> 80 instructions including the modifier instruction
02:42:52 <diginet> if you wanted to use all 64 possible codons, it *might* be
02:42:58 <cluid> http://lpaste.net/116837
02:42:59 <CrazyM4n> 20 registers
02:43:07 <CrazyM4n> How many registers do I really *need*?
02:43:12 <cluid> do you think this is right to visit every node (of the left tree at least) in Treehugger
02:43:15 <diginet> no no you're missing the point
02:43:19 <CrazyM4n> Okay
02:43:28 <diginet> you want each instruction to one codon wide, right?
02:43:44 <CrazyM4n> Yeah, but remember, I have that one modifier codon which allows for a whole nother set of instructions
02:43:51 <diginet> then it's not one codon wide
02:43:58 <diginet> as I said earlier, that's a variable length code
02:44:11 <CrazyM4n> Okay, that's fine I guess
02:44:33 <diginet> if you're fine with a variable length code I don't see how what I'm suggesting is different
02:44:40 <diginet> it just happens to be fixed-length
02:44:43 <diginet> but hey, your project
02:44:45 <CrazyM4n> I'd rather have it be variable length than an explicit codon length greater than one
02:44:52 <diginet> fair enough
02:44:56 <cluid> http://en.wikipedia.org/wiki/Structured_program_theorem that's interesting
02:44:59 <CrazyM4n> Well, I thought it'd be interesting to do. That's the reason why.
02:45:03 <diginet> yeah
02:45:20 <diginet> CrazyM4n: okay so with one modifier codon, that means you have 38 possible instructions
02:45:45 <diginet> well, 39 I guess
02:45:51 <CrazyM4n> Minus two for methionine, minus one for the stop codon's first function
02:46:33 <diginet> what do you need a "begin script" codon?
02:46:49 <CrazyM4n> This is RNA, remember
02:46:55 <CrazyM4n> AUG begins a strand of RNA
02:46:58 <diginet> oh right
02:47:47 <cluid> wher is the article about bf switches?
02:48:03 <cluid> I did come up with a way in a bf program I wrote before but it wasnt good
02:49:03 <cluid> I needed an extra cell
02:49:16 <cluid> i dont have hthat luxury here..
02:51:02 <cluid> It is very very difficult to write a program that visits every node in treehugger
02:51:13 <cluid> maybe noteven possible, what do you think?
02:52:32 <diginet> okay fair enough, that means we have let's see. . .37 possible ops
02:52:32 <diginet> so are you going to use an additional codon to specify the register?
02:52:33 <diginet> hmm ooh, idea, you could use a pointer register, similar to the RCA 1802 to specify the operands
02:52:35 <diginet> "INC P1" and "INC P2" and let's just say the pointer registers overflow so we don't need to waste an operand for DEC of both
02:52:38 <diginet> oops disconnected for a second
02:52:39 <diginet> what did you last get?
02:52:41 <diginet> CrazyM4n: what ALU ops do you want?
02:53:03 <diginet> ooooohhhh better idea
02:53:24 <diginet> have a circular register wing with a two-register window, with a instruction to shift the window by one register
02:53:38 <Sgeo> `olist 970
02:53:39 <HackEgo> olist 970: shachaf oerjan Sgeo FireFly boily nortti
02:53:41 <elliott> cluid: it must be possible I think
02:54:03 <elliott> you do have as much storage as you want below your current location that you can haul around
02:54:09 <elliott> that's just really awkward
02:54:27 <cluid> ive had a very different idea than thie 'recursive' approach
02:54:28 <elliott> oh you even specified Integer cells right
02:54:37 <cluid> yes i want to make this easy as possible
02:55:17 <oerjan> cluid: i think line 7 of your paste should be at x we change it to a (<-) then go ^
02:55:29 <cluid> thanks
02:55:33 <shachaf> Sgeo: is that thog?
02:55:38 <oerjan> but i also think it may be hard to do that with brainfuck looping
02:55:42 <CrazyM4n> diginet: Sorry, was in the bathroom
02:55:46 <shachaf> it's been so long that i've forgotten what last happened to thog hth
02:55:54 <Sgeo> shachaf: there's speculation, but a lot of people don't think so because why would he glare at Haley+Elan?
02:55:54 <diginet> CrazyM4n: np
02:55:55 <CrazyM4n> I got all the messages
02:55:59 <diginet> CrazyM4n: great
02:56:13 <diginet> CrazyM4n: I think the window idea is the most plausible
02:56:15 <CrazyM4n> Well, I will worry about the ALU next, right now I'm just adding basic accumulator manipulation
02:56:16 <elliott> cluid: maybe you can use bijective base 2 for the paths or something
02:56:18 <Sgeo> shachaf: I think he was buried under rubble after Roy tricked Thog into knocking down columns
02:56:27 <cluid> elliott, that was my new idea!
02:56:28 <oerjan> cluid: to make it work properly with brainfuck looping, i think you need to have some close-by cells that you know are 0
02:56:29 <CrazyM4n> And adding ops to move things around
02:56:34 <elliott> cluid: ehe
02:56:43 <diginet> CrazyM4n: yeah but we have limited opcodes, you need to plan out what you are going to allocate them to
02:56:46 <elliott> cluid: basically just store "next path to visit" at the current position
02:56:59 <diginet> CrazyM4n: I think the window idea is the most plausible, you won't even need to specify registers
02:57:03 <cluid> oerjan, that's an issue though because you have to visit every cell, that made me worry maybe this isnt possible
02:57:08 <elliott> I suppose it should be a path from the current position
02:57:12 <Sgeo> shachaf: Also, Prismata kickstarter seems to be picking up
02:57:13 <elliott> and then it's a simple matter of annoying calculations to split that into (next step, path from next step)
02:57:26 <elliott> then you take that step, copying the resulting path with you, and loop
02:57:31 <CrazyM4n> diginet: I don't quite get what you mean by that, though
02:57:38 <elliott> actually it would be bijective base 3.
02:57:42 <elliott> since you can go up as well
02:57:46 <diginet> CrazyM4n: let me try to draw a diagram
02:57:50 <CrazyM4n> Okay.
02:57:53 <cluid> elliott, I think the program would be in two parts: One following the path (pushing outwards), and another pulling everything back in before finally incrementing the path.. and repeat
02:57:53 <diginet> elliott: bijective bases are interesting
02:58:31 <diginet> elliott: I was working with a bijective base 23 based on the tradt'l latin alphabet (i.e. no J W or U)
02:58:39 <diginet> to convert latin words to numbers
02:59:04 <elliott> cluid: maybe I should draw out the state as I see it
02:59:11 <elliott> is there anything nice I can use to draw a tree
02:59:18 <elliott> or do I have to manually space it out myself and not leave enough room in my text editor
02:59:28 <cluid> i drew a tree earler in gimp, if i hadn't close it you could have it
02:59:40 <elliott> I was thinking something that would let me add text labels and stuf
02:59:41 <elliott> f
02:59:46 <CrazyM4n> http://i.imgur.com/CzY4c6D.png This is what I have so far
02:59:51 <cluid> inkscape is probably best
03:00:01 <MDude> Dia?
03:00:06 <elliott> doesn't dia have ascii syntax
03:00:08 <elliott> kind of defeats the point
03:00:20 <elliott> whatever I'll just use a text file and draw the tree on its side
03:00:32 <MDude> It uses a gui.
03:01:25 <elliott> oh
03:01:26 <elliott> then maybe
03:01:45 <MDude> Graphiz is what hqas a scripting basef system.
03:01:49 <MDude> *has
03:02:37 <elliott> cluid: ah, now that I actually read your paste I see that it's quite elegant
03:02:43 <elliott> is the problem that it's hard to implement, or that it doesn't cover the whole tree?
03:03:05 <MDude> I have a cat on one hand, it's not great for my typing.
03:03:07 <cluid> the problem with that is that I cannot really do the switch/case, since I don't have free memory cells around
03:03:11 <elliott> cluid: one problem is that [^] will fail
03:03:17 <elliott> because the top of the tree will be non-0 at some point
03:03:19 <elliott> so you'll die
03:03:25 <elliott> sure you have free memory cells around
03:03:28 <elliott> they're to your < and >
03:03:28 <elliott> oh
03:03:32 <elliott> but not if you're revisiting
03:03:36 <oerjan> elliott: you don't need to do [^] ever
03:03:42 <elliott> oerjan: cluid's paste has it, but yeah
03:03:58 <oerjan> oh hm it does
03:04:01 <elliott> cluid: okay well the requirement is only to touch every cell right
03:04:02 <oerjan> i read that as ^
03:04:04 <elliott> cluid: then let's cheat
03:04:20 <oerjan> cluid: my correction of line 7 was assuming line 1 was ^ not [^]
03:04:23 <elliott> cluid: go two layers at a time, touching the other children
03:04:29 <oerjan> also you need a special value at the root
03:04:32 <elliott> then you have scrap cells free everywhere
03:04:37 <elliott> if you get what I mean
03:04:45 <elliott> instead of trying to pack the directions, go by twos, so you have free space
03:05:46 <elliott> basically instead of covering the tree with path symbols you cover it with path symbols + adjacent scratch space
03:09:50 <oerjan> if you do 3 layers at a time, i think you have enough room to use just bit values...
03:10:04 <cluid> too crazy!
03:10:13 <elliott> it'd be easier
03:10:40 -!- yonkie has joined.
03:11:18 <diginet> CrazyM4n: still working on the picture hold tight
03:11:31 <CrazyM4n> Okay, I'm working on the ALU functions
03:11:55 <CrazyM4n> I think we have enough instruction space just here in order to define a whole language
03:16:23 <cluid> [-<[-]+<+^^]<<[-^^+<<]^^
03:16:42 <cluid> here's code to leave a cell intact using << as tmp, putting 0 or 1 in < depending on whether this cell is 0
03:18:02 <diginet> CrazyM4n: http://i.imgur.com/PAZFRvP.png
03:18:14 <diginet> the red is the implied first operand, the green is the implied second
03:18:33 <diginet> you would shift the window, then "0" would become red, and "1" would become green
03:18:35 <diginet> make sense?
03:18:52 <CrazyM4n> Yes
03:19:14 <CrazyM4n> Hm, maybe
03:20:55 <CrazyM4n> I've been writing more of the spec also
03:20:56 <CrazyM4n> http://i.imgur.com/vcWHr7u.png
03:21:31 -!- cluid has left ("Leaving").
03:21:34 -!- cluid has joined.
03:21:52 <cluid> i cant work out how to go from having n to having < with ceil n/2 and > with floor n/2
03:22:04 <CrazyM4n> I don't know how practical the window idea is going to be
03:23:02 <CrazyM4n> diginet: So far, most of this is rather self explanatory. I'm just not sure how intuitive the windows will be.
03:23:32 <cluid> http://spth.virii.lu/main.htm
03:26:15 -!- yonkie has left.
03:27:48 -!- atslash has joined.
03:29:06 <oerjan> cluid: if you can ensure n is even, then it is easy
03:29:31 <elliott> do you need arithmetic like that if you have as many scratch cells as you want?
03:29:31 <cluid> ill make n even, and put that bit in the riht placebeforehand
03:30:14 <oerjan> also if n is a power of 2, you can just store the exponent
03:31:12 <elliott> I guess there's two approaches
03:31:19 <oerjan> at least!
03:31:21 <elliott> one, store the path spread across the tree with scratch cells
03:31:34 <elliott> two, store the path all in one cell, so that it's okay to scribble over used cells when processing it
03:31:40 <elliott> (because the only state you care about is in the current cell)
03:31:49 <elliott> the former seems easier to me
03:32:05 <elliott> since it is just a simple branch, flip, move sequence at each stop
03:32:50 <cluid> this is so hard to program in omg
03:35:17 <elliott> so is bf :P
03:35:54 <elliott> I do think oerjan's idea of just using bits for state is ideal
03:36:09 <elliott> that way you could completely eliminate anything but branching and flipping and moving
03:36:24 <tromp> did someone have a question for me?
03:38:30 <elliott> I don't think so
03:41:43 <cluid> I made an 'evenness' detector, but it is extremely long
03:42:10 <cluid> 47 chars
03:42:25 <cluid> this can be done much better
03:42:30 <cluid> im sure
03:42:47 <CrazyM4n> Okay, can someone help here
03:42:59 <CrazyM4n> I think that this is turing-complete: http://i.imgur.com/Lf24Tnh.png
03:43:05 <CrazyM4n> But I'm not sure
03:44:50 -!- FireFly has quit (Ping timeout: 244 seconds).
03:46:48 <cluid> CrazyM4n, yes looks TC
03:47:16 -!- FireFly has joined.
03:48:30 <CrazyM4n> cluid: Success!
03:48:44 <CrazyM4n> Now to write an interpreter
03:50:59 -!- bb010g has joined.
03:51:43 -!- cluid has quit (Remote host closed the connection).
04:04:08 -!- CrazyM4n has quit (Quit: ("sleep for finals")).
04:08:43 -!- GeekDude has quit (Ping timeout: 255 seconds).
04:10:56 -!- MDude has changed nick to MDream.
04:14:01 -!- Sprocklem has joined.
04:14:04 <J_Arcane> Hah hah. My Collatz search is still running this morning.
04:14:42 <glguy> What's it searching for?
04:15:23 <J_Arcane> Euler #14; longest sequence for a seed under a million. Think I need a more efficient program.
04:17:47 <glguy> Are you doing it in a normal language or in something like BF?
04:18:09 <J_Arcane> I'm doing it in Heresy, which is my own language built on-top of Racket.
04:33:01 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
05:15:50 -!- hjulle_ has joined.
05:15:51 -!- hjulle has quit (Read error: Connection reset by peer).
05:26:06 <Sgeo> `slist
05:26:07 <HackEgo> slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot
05:26:28 <Sgeo> J_Arcane: is Heresy a real Racket language, or just interpreted ala Arc?
05:28:30 <J_Arcane> Sgeo: Basically a big pile of macros.
05:29:00 <J_Arcane> so the former, i think? it's implemented to use #lang s-exp
05:30:23 -!- hjulle_ has quit (Ping timeout: 264 seconds).
05:31:38 <Sgeo> I'd say that counts
05:32:02 <Sgeo> I just think straightforward interpretation is boring
06:02:57 -!- atslash has quit (Remote host closed the connection).
06:07:36 <oren> I'm going to make a scrip7 compiler in scrip7.
06:32:22 -!- AndoDaan_ has joined.
06:35:22 -!- AndoDaan has quit (Ping timeout: 258 seconds).
06:49:41 -!- J_Phone has joined.
06:50:20 -!- J_Phone has quit (Read error: Connection reset by peer).
06:53:16 -!- oerjan has quit (Quit: leaving).
06:55:48 -!- J_Phone has joined.
06:56:06 <J_Phone> Moi.
07:01:05 -!- J_Phone has quit (Read error: Connection reset by peer).
07:07:11 -!- Sprocklem has quit (Ping timeout: 258 seconds).
07:23:52 <fizzie> "Subject: magic rod factory supplying from China"
07:24:13 <fizzie> "We mainly produces PET woven nylon hair thick stick, ever-changing magic rod, a whirlwind speed, snail, TV curlers, automatic curl bar, HDMI cable network weaving, snakeskin nets, mesh casing, scalable network management, tin plated copper woven nets, shielding line, all kinds of wire and wire processing woven cotton and so on."
07:24:39 <oren> fizzie: that makes perfect sense
07:24:55 <fizzie> The "ever-changing magic rod" makes perfect sense? Well, I guess.
07:25:58 <oren> it probably means a continuously casted plastic
07:26:38 -!- Patashu has joined.
07:27:39 <oren> fizzie: they make nylon line by continuous extrusion
07:28:26 <oren> so i think this is a factory that does the copper wire and the plastic cover in one continuous process
07:29:07 <b_jonas> fizzie: I read that as “snake's oil and tin plated copper woven hairnets that shield your brain from mind control satellites as much as tinfoil hats”
07:30:51 <fizzie> I'm just wondering about the "whirlwind speed", which (based on the commas) seems to be an item in its own right, unless the following comma is misplaced, and it's a whirlwind speed snail.
07:31:13 <oren> oh! maybe the magic rod menas the one from Hitachi?
07:31:40 <oren> that would make whirlwind speed make some sense
07:32:21 <fizzie> "The product is as seen on TV", if that helps.
07:32:50 <oren> fizzie: so yeah definitely hitachi.
07:46:29 -!- MoALTz_ has quit (Quit: Leaving).
07:49:24 <zzo38> I thought more about and figure out things about how Aberration Hater Card Game can be working. The card can consist of (name,tags,actcost,rescost,type,hitpoints,move,text). An expansion set consists of multisets of card IDs for each rarity. Rarities should be assigned based on what makes a draft more interesting.
07:51:35 <zzo38> Is it OK so far do you think so?
07:51:39 <oren> That sounds really cool, zzo38.
07:52:13 <zzo38> I am not sure quite yet the pack distributions. However, note that Limited format is the main format so it would be designed around that mainly.
08:02:34 <zzo38> Cards can be played in front or in back and if you have any cards in front then only those cards can attack, defend, and be attacked (regardless of their type; even attachments can be attacked). The card can cost action points and/or resource points to play them. Cards can be switched front/back by their move cost in action points (unless it is either immovable or has an infinite move cost).
08:03:29 <Sgeo> shachaf: Prismata is ~2k away from getting funded
08:16:47 -!- mitchs has quit (Ping timeout: 272 seconds).
08:24:09 <shachaf> It will surely make it.
08:24:32 <zzo38> I made idea for Magic: the Gathering cards one is "All permanents gain cumulative upkeep {0}."
08:25:27 <shachaf> zzo38: Is the idea that if you forget to do the thing you sacrifice it?
08:25:42 <shachaf> It seems like a big hassle, putting age counters on every permanent.
08:25:49 <zzo38> shachaf: Well, one idea is that if you don't want that card anymore you can sacrifice it during your upkeep.
08:25:51 <shachaf> Oh, maybe you mean that it interacts with other cumulative upkeep things.
08:26:00 <shachaf> Because age counters are age counters.
08:26:10 <zzo38> The other idea is it causes extra counters on other cards that already have cumulative upkeep.
08:26:11 <shachaf> Oh, that also works.
08:28:16 -!- mitchs has joined.
08:29:33 <oren> #define brase break;case
08:30:53 <oren> #define brefault break;default
08:31:09 <lifthrasiir> #define break return
08:32:01 <oren> #define tldr }
08:32:20 <zzo38> Are those the kind of macros you like to define in a C program?
08:32:53 <oren> zzo38: pretty much. my favorite is #define loop for(;;)
08:33:25 <shachaf> `quote 181
08:33:26 <HackEgo> 181) <zzo38> Invent the game called "Sandwich - The Card Game" and "Professional Octopus of the World" (these names are just generated by randomly)
08:33:36 <shachaf> zzo38: I'd like to learn more about those games.
08:33:46 <zzo38> Other ideas related to Magic: the Gathering cards, including cards creating non-creature tokens, as well as "Target spell gains Epic" and one card "Epic Fail" which does nothing except it has Epic.
08:34:07 <zzo38> shachaf: They don't exist as far as I know; if they do, ask someone else please.
08:34:08 <shachaf> There are already cards creating non-creature tokens.
08:34:32 <shachaf> zzo38: What is the point of Epic Fail?
08:34:57 <zzo38> Nothing...it is just full of the epic failure...
08:36:00 <oren> idea: cards which are typeless.
08:36:08 <zzo38> Yes I thought that too
08:37:13 <zzo38> Is there a card which exiles all indestructible permanents?
08:37:39 <shachaf> And no other ones?
08:37:43 <zzo38> Yes
08:37:57 <shachaf> I don't think so.
08:38:30 <shachaf> But searching Google for that phrase finds IRC logs of this channel.
08:38:49 <shachaf> oh boy i was such a jerk
08:43:57 <zzo38> Some of the existing rules I find klugy and I don't like much, one is including the rule for card types and I would like to perhaps change it to: Any card can be played onto the stack during your main phase if the stack is empty by paying its mana cost (you can't if it doesn't have a mana cost); all instants have Flash; lands can be played directly into play during your main phase if stack is empty by costing a land drop ...
08:44:34 <b_jonas> oh dear, M:tG rules discussions
08:44:39 <b_jonas> I'll have to read this later
08:44:42 <shachaf> What would the changes be compared to the current rules?
08:44:49 <zzo38> ... if instants and sorceries would be put into play from anywhere it remains where it is; if something resolves and then remains on the stack it is discarded instead.
08:45:39 <shachaf> I'm not sure about that last pair of rules.
08:46:01 <zzo38> So, under these rules it would mean, if a land actually has a mana cost then you can either play it as a land, or play it as not a land onto the stack by paying its mana cost.
08:46:10 <b_jonas> lol "Epic Fail"
08:46:22 <zzo38> (And while it is on the stack it can be countered and that stuff too)
08:46:52 <shachaf> Are there any lands with mana costs?
08:47:08 <b_jonas> zzo38: whoa... I'd prefer if you always played lands like now, you just had to play their mana cost if they have one,
08:47:14 <zzo38> shachaf: Not as far as I know.
08:47:30 <shachaf> Using the existing rules you could just give a land an ability that functions in your hand: "{3}: Put this card from your hand onto the battlefield".
08:47:32 <b_jonas> in which case we could have a Spire with a mana cost of {1}
08:47:51 <zzo38> b_jonas: Maybe, but I still think the way I mentioned is more sensible, to me at least
08:47:53 <shachaf> Or maybe you mean that it wouldn't use the stack, which would be slightly more difficult to make work, I guess.
08:48:04 <b_jonas> zzo38: dunno
08:48:58 <b_jonas> zzo38: would that make lands that are sort of like the Borderposts?
08:49:07 <b_jonas> only not quite
08:49:17 <b_jonas> mind you, we still have cycling and morph lands
08:49:51 <zzo38> Also these rules I specified would make it so that a typeless card acts mostly like a global enchantment card.
09:03:45 <b_jonas> zzo38: actually, I was thinking about what you said
09:04:09 <b_jonas> and being able too cast lands with mana costs like a normal spell would indeed make sense
09:04:21 <b_jonas> though it has some slight implications:
09:04:58 <b_jonas> like you could then probably cast lands as spells (without land drop, even in an opponent's turn) using effects that make you cast a card without paying its mana cost
09:05:26 <b_jonas> zzo38: a typeless card already acts much like a global enchantment card, it's just that I think a typeless card can currently only exist on the battlefield
09:05:30 <zzo38> Yes, assuming that the card worked with lands otherwise
09:05:44 <zzo38> (If it doesn't say card types, it would indeed work with lands.)
09:05:48 <b_jonas> zzo38: yep.
09:05:58 <b_jonas> those cards currently say "play that card without paying its mana cost"
09:06:28 <b_jonas> an example is the hdieaway lands
09:07:03 <b_jonas> hideaway lands
09:08:03 <b_jonas> I don't think this is very abusable though
09:08:43 <b_jonas> occasionally casting a land on the opponent's turn that way doesn't seem an effect that can break much
09:10:04 <b_jonas> hmm wait
09:10:11 <b_jonas> no
09:10:23 <zzo38> I would change a lot of other rules too
09:10:38 <b_jonas> right, it wouldn't come up much anyway, because most lands don't have mana costs
09:10:59 <zzo38> Some of these changes would suggest that other cards should be changed
09:11:43 <b_jonas> what does "all instants have flash" change?
09:11:46 <zzo38> Rules for damaging Planeswalkers are too klugy. I also don't like the rule that makes auras and equipments that are also creatures to become not attached; I would remove those rules.
09:12:13 <zzo38> b_jonas: It would be an alternative to the normal rule. I don't know exactly what it would change.
09:12:22 <b_jonas> zzo38: such auras die anyway, it only matter for equipments
09:12:40 <b_jonas> and for equipments, I think it's better if they remain in play unattached so you can have animated swords
09:12:43 <b_jonas> and animated hammers
09:12:53 <zzo38> b_jonas: Yes I know, but I would delete those rule anyways so it is still allowed to be aura and equipment being attached.
09:14:05 <b_jonas> as for changing rules, some people have suggested changing the combat damage order rules so you can assign non-fatal damage to any number of creatures later in the order than all creatures to which you assign fatal damage
09:14:47 <b_jonas> of course that's less important now that we have a rule that damage from creatures with deathtouch counts as fatal, but it would still be nicer for combat tricks
09:14:51 <zzo38> Other rules I would change a lot too
09:16:24 <b_jonas> and did I mention I still don't understand why Spreading Seas was printed without a remainder text? I hate how they did that
09:16:35 <b_jonas> They should have known after Sea's Claim
09:16:50 <b_jonas> and this is despite that I like the flavour text of these cards
09:17:21 <b_jonas> but my rules and cards knowledge is very stale right nwo
09:17:37 <b_jonas> I don't follow M:tG much these days
09:19:11 <zzo38> I would also get rid of the rule causing tokens to cease to exist in not play zones and replace it with another one causing objects to cease to exist if they would be reset to their initial state but don't have one and then make tokens don't have any initial state and moving between zones resets an object.
09:19:44 <zzo38> Therefore, copies of spells or anything even placed on the stack also are tokens, so if a creature spell is copied the copy is also a token, and remains a token when it comes into play.
09:20:37 <shachaf> b_jonas: How can a typeless card exist on the battlefield?
09:27:36 <zzo38> I saw it once how but now I forgot.
09:33:33 <zzo38> I would also make loss of game due to inability to draw a card to become immediate instead of state-based. Therefore you can lose all life and still win if the same effect that caused it also causes your opponent to draw more cards than they have before state-based-effects are checked.
09:34:04 <shachaf> That seem pretty ad-hoc.
09:34:33 <zzo38> And also I will reintroduce mana burn for strategic purposes.
09:36:06 <coppro> shachaf: neurok transmuter and march of the machines
09:37:14 <coppro> and already, typeless permanents are a lot like global enchantments, just without the enchantment bit
09:37:37 <b_jonas> shachaf: yes, what coppro says
09:37:59 <shachaf> OK.
09:38:09 <coppro> If they were revising the rules from the get-go, they would quite possibly make Instant a supertype
09:38:29 <shachaf> I think a typeless permanent is slightly different from a typeless card. And I guess cards aren't on the battlefield at all, only permanents represented by cards, or something like that.
09:38:33 <shachaf> I don't remember.
09:38:35 <b_jonas> coppro: I don't think so. Instant is fine as a type.
09:38:59 <zzo38> Everyone argue differently about how the rules ought to be changed into.
09:38:59 <coppro> b_jonas: it could become "instant sorcery"
09:39:10 <b_jonas> coppro: yes, it could, but I don't think it would be a good idea
09:39:15 <shachaf> They're talked about the Instant Sorcery thing in various places before.
09:39:28 <coppro> b_jonas: in any event, it doesn't make sense to have two ways to accomplish the exact same thing
09:40:13 <coppro> typeless cards aren't possible
09:40:15 <b_jonas> coppro: there are more Instants than Sorceries printed. you'd have that ugly typeline on lots of cards unnecessarily. Instants are such a common case that they're worth a rule.
09:40:39 <b_jonas> It's like how all portal cards have "Summon Creature" printed on them. It's ugly.
09:41:04 <b_jonas> Mind you, you could argue that they changed from "Enchant Creature" to "Enchantment - Aura" with an ability
09:41:16 <coppro> yes
09:41:29 <b_jonas> and there are lots of Auras too
09:41:32 <coppro> you may notice that Magic cares about form, but only after function. Function is first.
09:41:44 <coppro> and the care with which the modern function is designed means that sometimes it gets in the way of form
09:41:54 <b_jonas> However, there are some auras with crazy restrictions
09:41:59 <shachaf> backwards compatibility > function > form hth
09:42:08 <b_jonas> like coral net
09:42:16 <coppro> animate dead?
09:42:18 <b_jonas> mind you, that's just printed as "Enchant Creature" on the card
09:42:46 <b_jonas> uh... no, Animate Dead is a separate category
09:44:20 <b_jonas> sure, function and form, but I don't see anything wrong with the function of instants
09:45:25 -!- PinealGlandOptic has joined.
09:45:57 <b_jonas> hmm, wasn't there one card that specifically cared about... something about "instant or card with flash", searching them or cast trigger or something
09:46:36 <zzo38> If the rule was the one I wanted to change it to, then "card with flash" would include instants.
09:47:09 <b_jonas> zzo38: I don't think that's worth: it affects only one card, possibly zero because I might have just dreamt this
09:47:17 <b_jonas> so it would need remainder text on that one card
09:47:29 <b_jonas> it's better to just write "instant or card with flash" in that one case
09:47:36 <b_jonas> does that card exist? or was I just dreaming?
09:47:38 <b_jonas> I can't find it
09:47:40 <zzo38> That isn't the reason I wanted that rule though
09:48:00 <b_jonas> ah, found it
09:48:04 <b_jonas> Mystical Teachings
09:48:31 <b_jonas> and it searches
09:48:36 -!- PinealGlandOptic has quit (Client Quit).
09:48:49 <b_jonas> (guess which set it is in)
09:49:02 -!- PinealGlandOptic has joined.
09:50:04 -!- PinealGlandOptic has quit (Client Quit).
09:50:26 -!- PinealGlandOptic has joined.
10:20:37 <oren> `relcome PinealGlandOptic
10:21:00 <HackEgo> PinealGlandOptic: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
10:30:23 -!- AndoDaan_ has quit (Ping timeout: 250 seconds).
10:32:25 -!- AndoDaan has joined.
11:21:02 -!- boily has joined.
11:43:05 <oren> My GTK theme is done!
11:43:51 <oren> It's neat how the theming is done with CSS for gtk3
11:52:46 <mroman> data Tuple :: (*,*) -> * where Tuple :: a -> b -> Tuple '(a,b)
11:52:53 <mroman> how do you match against that in patterns?
11:53:06 <mroman> let foo (Tuple a b) = (a,b)
11:53:09 <mroman> doesn't work
11:59:07 <boily> you can have 'where' clauses in data declarations?
12:01:15 <mroman> yes
12:20:29 -!- boily has quit (Quit: TELLURIC CHICKEN).
12:23:56 <oren> http://snag.gy/BqAlC.jpg <-- how does this red and white color scheme look?
12:29:27 <AndoDaan> I'd not vouce for my sense of estetics, but it looks clear, and cool, to me.
12:30:22 -!- Patashu has quit (Ping timeout: 264 seconds).
12:30:24 <oren> I can;t get a picture of it for some reason, but the buttons and menu options turn red when they are moused over.
12:32:47 <oren> I like red. There is too much blue on computers.
12:38:12 <HackEgo> [wiki] [[Grasp]] http://esolangs.org/w/index.php?diff=41518&oldid=39081 * 210.9.139.234 * (+189) /* External resources */
12:44:07 -!- J_Arcane has quit (Read error: Connection reset by peer).
12:44:56 -!- J_Arcane has joined.
12:47:34 -!- relrod has quit (Ping timeout: 255 seconds).
12:47:45 -!- quintopia has quit (Ping timeout: 265 seconds).
12:48:40 -!- quintopia has joined.
12:48:45 -!- relrod_ has joined.
12:50:06 -!- AndoDaan_ has joined.
12:54:06 -!- AndoDaan has quit (Ping timeout: 256 seconds).
13:25:47 <b_jonas> oren: a monospace font? nice
13:36:28 <oren> b_jonas: yes but that setting isn't part of the theme. I'm now trying to make the theme consistent for gtk2 and gtk3
13:40:30 <oren> Ideally there should be a way to convert the two programmatically, but we do not live in that world
13:59:14 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
14:43:22 <b_jonas> zzo38: as for changing the rules so that copies of spells count as tokens, I was trying to imagine how very broken Doubling Season would be if it doubled copies of spells. it wouldn't, of course, because its rules text explicitly mentions only tokens put into play, but still.
14:43:41 <b_jonas> It would be very broken, because it would double the already crazy storm and isochron scepter effects.
14:47:46 -!- shikhin has joined.
14:47:50 -!- shikhin has quit (Changing host).
14:47:50 -!- shikhin has joined.
14:59:12 <J_Arcane> http://pasterack.org/pastes/24833
15:16:09 -!- `^_^v has joined.
15:26:25 <mroman> @tell boily You might want to have a look at GADTs
15:26:25 <lambdabot> Consider it noted.
15:26:52 <mroman> @tell boily https://downloads.haskell.org/~ghc/6.6/docs/html/users_guide/gadt.html
15:26:52 <lambdabot> Consider it noted.
15:29:24 -!- S1 has joined.
15:30:28 <b_jonas> fungot, do you sometimes find irc very annoying, given that you're forced to sit on this channel and have to listen?
15:30:29 <fungot> b_jonas: let me find it), scsh aligns the cwd that the os thinks the process is actually stored. when we were evaluating the expression a little.
15:30:45 <b_jonas> oh
15:31:32 -!- MDream has changed nick to MDude.
15:31:41 <b_jonas> fungot: oh, but what if I call unshare(CLONE_FS) in the thread?
15:31:42 <fungot> b_jonas: i would like to get past this error. i corrected it. the problem rather seems to be helping with mz.
15:52:13 -!- ais523 has joined.
15:54:09 -!- Sprocklem has joined.
16:02:49 -!- PinealGlandOptic has quit (Ping timeout: 256 seconds).
16:05:21 -!- GeekDude has joined.
16:09:13 -!- hjulle has joined.
16:12:49 -!- drdanmaku has joined.
16:15:46 -!- spiette has joined.
16:19:57 -!- GeekDude has quit (Ping timeout: 258 seconds).
16:27:13 <FireFly> That's good to hear, fungot
16:27:13 <fungot> FireFly: cool widgets crammed contiguously in the newspace one in the parrot distribution, but that only applies to channels that only accept bald
16:28:48 <Melvar> So, how should I time a certain section of process in a C program these days?
16:29:50 <b_jonas> fungot: how should Melvar time a certain section of process in a C program these days?
16:29:50 <fungot> b_jonas: you can? :) htmlprag?
16:30:14 <b_jonas> fungot: with a pointer to const void?
16:30:14 <fungot> b_jonas: s/ to/ too/ ei fnord
16:37:16 <Jafet> Your pointers need to be less const void.
16:37:37 <oren> Uhh... use gprof
16:41:38 <oren> unless you mean doing it in C code. then you can use microtime or nanotime
16:42:38 <Melvar> I was thinking either times or getrusage.
16:44:26 <Gregor> b_jonas: I don't think I can recommend unsharing in a thread.
16:44:38 <Gregor> That's what forks are for(k).
16:46:48 <oren> Melvar: hmm, well those are essentially the same, they just have different extra fields
16:47:49 <oren> you're choosing between tms.tms_utime+tms.tms_stime and ru.ru_utime+ru.ru_stime
16:48:17 <Melvar> oren: Except that times gives me clockticks, and getrusage gives me seconds+microseconds.
16:49:02 <oren> do you care about exact units or about comparison between runs?
16:49:24 <oren> if it is about compariosn then clockticks is fine right?
16:49:30 <Melvar> I want to plot the results and would prefer if my axis labels were in seconds.
16:50:57 <Jafet> Not processor cycles?
16:51:16 <oren> getrusage is better then, and it allows you to easily add memory usage graphs.
16:51:27 <oren> if you ever wanted that?
16:51:37 <Melvar> So I guess I’ll go with getrusage right now just to avoid having to put extra effort into translating.
16:53:07 <oren> processor cycles is kind of a useless metric. one processor cycle on a different processor can be longer or shorter and do less or more work.
16:53:33 <Melvar> I don’t expect I want memory usage for this particular thing, since that section is not supposed to allocate.
16:54:05 <oren> Melvar: does it do any syscalls?
16:54:42 <oren> if it doesn't then you don't need the stime it will probably be almost zero.
16:54:52 <Melvar> I don’t expect so, it’s a blas routine which I mainly want to subtract from the stuff I’m doing around it.
16:55:18 -!- nys has joined.
16:56:34 <Melvar> oren: So, thanks for helping me decide here.
17:04:22 -!- Sprocklem has quit (Ping timeout: 272 seconds).
17:09:04 -!- mitchs has quit (Ping timeout: 250 seconds).
17:12:00 -!- Sprocklem has joined.
17:20:21 -!- callforjudgement has joined.
17:20:55 -!- mitchs has joined.
17:22:16 -!- bb010g has quit (Quit: Connection closed for inactivity).
17:24:13 -!- ais523 has quit (Ping timeout: 265 seconds).
17:43:05 -!- AndoDaan has joined.
17:43:26 -!- AndoDaan_ has quit (Ping timeout: 245 seconds).
17:53:37 -!- GeekDude has joined.
18:06:08 -!- scarf has joined.
18:06:19 -!- scarf has quit (Changing host).
18:06:19 -!- scarf has joined.
18:09:46 -!- callforjudgement has quit (Ping timeout: 255 seconds).
18:10:21 -!- shikhout has joined.
18:10:41 -!- shikhout has quit (Changing host).
18:10:41 -!- shikhout has joined.
18:10:51 -!- shikhin has quit (Disconnected by services).
18:10:56 -!- shikhout has changed nick to shikhin.
18:11:21 -!- scarf has changed nick to ais523.
18:15:44 -!- MoALTz has joined.
18:34:44 -!- Sprocklem has quit (Ping timeout: 245 seconds).
18:46:37 -!- idris-bot has quit (Quit: Terminated).
18:46:54 -!- idris-bot has joined.
18:49:44 -!- relrod_ has changed nick to relrod.
19:00:08 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
19:09:10 <oren> Should scrip7 allow division by a pointer or of a pointer?
19:09:43 -!- quintopi1 has joined.
19:09:45 -!- lambdabot has quit (Ping timeout: 244 seconds).
19:09:45 -!- diginet has quit (Ping timeout: 244 seconds).
19:09:46 -!- quintopia has quit (Ping timeout: 244 seconds).
19:10:08 -!- diginet_ has joined.
19:10:24 <ais523> oren: I can't think of a situation where dividing pointers makes sense; dividing pointer /differences/ makes sense, though
19:10:35 <ais523> (pointer - pointer) / 4 is an operation that, say, NetHack actually does
19:10:45 <ais523> but the difference between two pointers is a ptrdiff_t, not a poitner
19:12:24 <oren> ais523: dividing pointers makes sense if you want to check alignment.
19:12:34 <ais523> pointer modulo makes sense, I guess
19:12:55 <oren> ok so i should disallow / but not %
19:13:27 <elliott> ptr % ptrdiff_t makes sense
19:13:29 <elliott> not ptr % ptr
19:13:37 <oren> i right now attempting to make the semantics of scrip7 fully defined in all situations
19:13:59 <elliott> ais523: (...are pointers a vector space or something?)
19:14:01 -!- S1 has quit (Quit: S1).
19:14:03 <oren> (or an error)
19:14:12 <ais523> elliott: they're an affine scale
19:14:20 <elliott> they're an affine space, right
19:14:32 <elliott> is affine scale something in particular?
19:14:51 -!- lambdabot has joined.
19:15:19 <oren> does bitwise operations on a pointer make sense?
19:15:23 <elliott> so what do you call an affine space that has modulo?
19:16:03 <elliott> well, I guess ptr divmod ptrdiff_t gives you (ptr rounded down to nearest diff, distance between that and ptr)?
19:16:12 <elliott> no, that first result can't be right
19:16:29 <elliott> oren: for pointer tagging and stuff, sure
19:16:32 -!- AndoDaan_ has joined.
19:16:42 <elliott> the point is that operations on pointers aren't symmetrical in the sense that it's ptr + ptr
19:17:15 <elliott> it's ptr + offset => ptr, ptr - offset => ptr, ptr - ptr => offset
19:17:24 <elliott> (ptr + ptr doesn't make sense)
19:17:45 <oren> but offsets have to be the same binary length as the pointer
19:17:50 <elliott> https://en.wikipedia.org/wiki/Affine_space#Definition so it is an affine space
19:17:53 <elliott> oren: yes, but they are not pointers
19:18:18 <oren> well, yes but scrip7 is pretty much typeless
19:18:29 <oren> operations have types not data
19:18:30 <elliott> then sure, just allow every arithmetic operation
19:18:48 <elliott> ais523: this is actually really elegant and nice
19:18:56 <elliott> ais523: I want a language that represents pointer operations like this now
19:19:02 <elliott> (with strong typing of it)
19:19:34 -!- AndoDaan has quit (Ping timeout: 264 seconds).
19:19:52 <oren> elliott: i have been toying with building a better version of C (with strong typing and no undefined behaviour) on top of scrip7
19:20:14 <elliott> uhh, script7 is an interesting choice of base for that but sure
19:20:47 <oren> well scrip7 is a "portable assembler" to an extent
19:20:58 <elliott> an interpreted portable assembler
19:21:06 <oren> you could compile it
19:22:07 <oren> but the main thing is that like C it allows direct memory access, but unlike C there is (will be) no undefined behaviour
19:23:44 <elliott> really
19:23:51 <elliott> so what is the defined behaviour of accessing some memory you haven't allocated
19:25:45 <oren> the defined behaviour of any memory access such as x=0 is that it: takes address in register 4, and places the 4 bytes representing a ieee 32 bit floating point number "0" into the four bytes of memory following that address
19:27:39 <oren> if the program crashes due to trying to do that, that is fine. the mian thing is that it will try.
19:29:07 <ais523> elliott: fwiw, my thesis is about (a subset of) affine programming languages
19:29:14 <oren> scrip7 has allocation primitives but these are not essential.
19:29:21 <elliott> oren: so you define the behaviour as undefined
19:29:36 <ais523> elliott: I guess the language's effect on the processor is defined
19:29:41 <elliott> just you also refuse to perform optimisations based on this undefined behaviour, so your programs will be slow
19:29:42 <ais523> but not the processor's interpretation of that
19:29:45 <elliott> ok! cool
19:29:48 <ais523> oren: how do you do things like SMP memory barriers?
19:29:49 <oren> elliott: i refer the definition to the processor and OS
19:29:58 <elliott> ahhh
19:30:02 <elliott> so your language has no definition
19:30:06 <elliott> and therefore all behaviour is undefined
19:31:35 <oren> it is defined to the extent that it will try to do what you have specified. it will not, for example, attempt to steal your bank account, as a C program may legally do.
19:32:13 <elliott> it will if the OS tries to
19:33:30 <oren> That is the OS's fault not mine. All i promise is if the value of O is 0, and you write u=0, i will attempt to write to the address 0.
19:33:50 <oren> I won't cut out that part pf the code
19:34:15 <elliott> all I can say is that you're going to make a cutting-edge language perfectly suited for the computers, speed and software engineering practices of the 80s
19:36:10 <oren> elliott: this has real implications. suppose you have a function which allocates memory, performs some cryptography, and then clears the memory and frees it. if such program is written in C, the compiler may optimize it by omitting the "clear memory" part. scrip7 promises not to.
19:36:25 <elliott> please stop trying to educate me about the implications of undefined behaviour
19:36:41 <elliott> the other way around would be more reasonable...
19:36:52 <elliott> that doesn't actually have anything to do with UB though
19:37:00 <elliott> that's literally just dead code elimination
19:37:07 <elliott> have fun writing a compiler that doesn't optimise anything at all
19:37:17 <elliott> you also can't optimise division into bitshifts because it'd change how it uses the CPU I suppose!
19:37:40 <oren> elliott: that is the point. dead code elimination can create security holes
19:37:48 <elliott> agreed.
19:37:51 <elliott> your solution sucks though
19:38:01 <oren> what's yours?
19:38:09 -!- callforjudgement has joined.
19:38:09 <elliott> (and crypto is hard. and its requirements are hard. and you probably won't satisfy them)
19:38:12 -!- GeekDude has joined.
19:38:14 <callforjudgement> *<ais523> oren: did you know that all modern kernels with any level of popularity for modern consumer desktops/laptops zero deallocated memory maps?
19:38:25 -!- ais523 has quit (Read error: Connection reset by peer).
19:38:29 -!- callforjudgement has changed nick to ais523.
19:38:33 <elliott> oren: my solution is to try being less naive and acknowledge complexity and reasons for things
19:38:36 <ais523> Windows actually has a background process that does the zeroing
19:38:44 <elliott> I support languages that don't let you do things like dereference invalid pointers at compile time, anyway.
19:39:03 <ais523> meanwhile, Linux (on systems with an MMU) will map all zeroed memory against the same page (full of zeros) until it gets written to
19:39:20 <elliott> (I also support unsafe escape hatches for when things like that are necessary (rarely), and for the behaviour of those escape hatches to be regulated by undefined behaviour to some degree to allow optimisation.)
19:39:26 <ais523> elliott: now I'm interested, what languages /do/ let you dereference invalid pointers at compile time
19:39:33 <elliott> ais523: misparse :)
19:39:35 <oren> BASIC
19:39:36 <ais523> Perl does, I believe? at least it does if you're allowed to use the FFI
19:39:58 <oren> POKE 0 1
19:40:02 <elliott> that's not compile time.
19:40:07 -!- mitchs_ has joined.
19:40:13 <elliott> (overall I support hardware and software systems that are built to not require such unsafety, to as great an extent as possible. but that is a pipe dream.)
19:40:36 <elliott> (I also think 95% of programs just shouldn't be touching raw pointers or anything at all.)
19:40:48 <elliott> (life is too short for that)
19:40:55 -!- callforjudgement has joined.
19:42:48 <callforjudgement> $ perl -e 'BEGIN { print +(unpack "p", 10000000), "\n"; }'
19:42:49 <callforjudgement> Segmentation fault (core dumped)
19:42:55 <callforjudgement> took a ton of tries to find an actual invalid pointer, though
19:43:03 -!- mitchs has quit (Ping timeout: 240 seconds).
19:43:12 <callforjudgement> apparently someone had mapped a bunch of zeroes over the bottom of the address space
19:43:33 -!- ais523 has quit (Disconnected by services).
19:43:35 -!- callforjudgement has changed nick to ais523.
19:44:06 <ais523> oh, and proof it's compile-time:
19:44:08 <ais523> $ perl -ce 'BEGIN { print +(unpack "p", 10000000), "\n"; }'
19:44:10 <ais523> Segmentation fault (core dumped)
19:44:13 <shachaf> Bottom as in page 0? What OS are you running?
19:44:22 <ais523> Linux, x86_64
19:44:29 <ais523> and bottom as in when I tried to dereference small integers
19:44:37 <ais523> interpreted as null-terminated strings
19:44:40 <ais523> I got zero-length strings back
19:44:58 <oren> what about an actual zero pointer?
19:45:09 <ais523> that's a special case, it doesn't even try to dereference it
19:45:11 <ais523> it just returns undef
19:45:23 <ais523> because NULL is 0 on this platform
19:45:31 <shachaf> You got that behavior for e.g. 1?
19:45:42 <oren> maybe a zero pointer is the internal repr. of undef in PERL
19:46:09 <shachaf> I think that page shouldn't be mappable by default usually.
19:46:11 <ais523> shachaf: yes, 1's the first thing I tried
19:46:16 <ais523> oren: no, it isn't
19:46:33 <oren> undef has its own type then?
19:46:38 <shachaf> What's `sysctl vm.mmap_min_addr`?
19:46:52 <ais523> I say this as someone who a) has dealt with Perl's memory management internals quite extensively, and b) has read the docs for pack which /specifically say 0 is a special case/
19:47:12 <ais523> shachaf: I'm guessing that it's the minimum address at which memory maps will be placed when the kernel's asked to choose an address
19:47:57 <ais523> now that there are three main ways to allocate memory (stack, brk, mmap), it's become hard giving them all their own address spaces
19:48:25 <ais523> in the old days, before OSes started to really exploit what the MMU could do (and before that, before MMUs existed), it was quite simple: stack grows down, heap grows up, they both grow into the same space
19:48:37 <ais523> that guarantees that you never have problems due to failing to guess which will grow larger
19:48:41 <elliott> fuck.c:1:5: error: size of array ‘fuck’ is too large
19:48:41 <elliott> int fuck[(unsigned long) -1];
19:48:41 <elliott> ^
19:48:42 <elliott> awwwww
19:48:47 <elliott> that kind of thing used to segfault gcc
19:49:00 <ais523> nowadays, you still have stacks growing down and heaps growing up, but the maps have to be placed somewhere in between
19:49:04 <ais523> and it's not quite obvious where
19:49:13 <elliott> ais523: isn't the stack usually allocated with mmap
19:49:16 <elliott> so it's really only two
19:49:36 <ais523> elliott: yes except it's a special case of mmap, there are a bunch of flags; also that's an implementation detail
19:49:40 <oren> how can it segfault the compiler? the compiler doesn't allocate the array...
19:49:52 <ais523> elliott: was that inside a function?
19:50:00 <elliott> ais523: no, top-level
19:50:01 <ais523> if not, the compiler really does allocate the array
19:50:10 <ais523> oren: what do you think a .exe file is?
19:50:10 <oren> but in a file, right?
19:50:16 <shachaf> ais523: I meant what is it set to on your system.
19:50:21 <ais523> and yes, it's allocating space to it in a file
19:50:24 <elliott> maybe you should learn how C compilers work before redesigning them :p
19:50:38 <elliott> ais523: all I remember is it used to segfault gcc if you had a huge array
19:50:44 <shachaf> ais523: But I get the same behavior -- I don't think the page is mapped, at any rate.
19:50:46 <ais523> shachaf: 65536; an address of 1 million (in decimal) worked and read NUL
19:51:29 <ais523> elliott: out of interest, have you read http://nethack4.org/blog/building-c.html ? oren: read http://nethack4.org/blog/building-c.html
19:51:40 <oren> elliott: are you telling me it builds the whole binary file in memory? i dunno how comoilers like gcc work but we made one in one of my classes and it didn't do that.
19:51:49 <ais523> oren: see my link
19:52:08 <ais523> that doesn't really explain how a compiler works, but it does explain what it does
19:56:53 <oren> i don't see how it can crash gcc (or any component of gcc.)
19:57:56 <oren> shouldn't it just output a big file?
19:58:12 <ais523> elliott: I found a reasonably reliable way to segfault mingw ld.exe
19:58:33 <ais523> at least, I assume segfault, hard to tell from the generic Windows dialog box
19:59:06 <coppro> GNU ld is a piece of crap
19:59:15 <coppro> at least, without gold
19:59:46 <ais523> given any valid .o file (say test.o), run: "gcc test.o -Wl,-t,--whole-archive,--allow-multiple-definition"
20:00:05 <ais523> coppro: I've tested aimake with both ld.bfd and gold
20:00:18 <ais523> I was unaware that gold was a GNU ld derivative, I thought it was a rewrite
20:00:23 <coppro> it is
20:00:38 <ais523> what's the main difference between them?
20:00:43 <coppro> but it now ships with ld and there's a flag to pick
20:01:15 <coppro> gold is faster, less memory intensive, and supports plugins
20:01:20 <coppro> those are the three I care about
20:01:31 <coppro> and I don't *really* care about plugins
20:01:33 <ais523> and slightly less featureful because not all the ld.bfd features have been reimplemented in it yet
20:01:47 <oren> ais523: how come my gcc hasn't got those flags available?
20:02:06 <ais523> oren: which gcc is it? (gcc --version)
20:02:19 <ais523> also, pretty much every gcc supports -Wl, which just passes flags to the linker
20:02:22 <oren> 4.8.2
20:02:25 <elliott> less featureful but also more
20:02:27 <ais523> maybe you're using a weird linker
20:02:32 <elliott> for instance llvm lto uses gold plugins
20:02:36 <coppro> yep
20:02:48 <coppro> assuming you don't just compile to bitcode and do the LTO on that
20:02:49 <ais523> did you copy and paste, or try to retype?
20:02:52 <ais523> that's a lowercase l
20:02:52 <coppro> which is iirc better anyway
20:03:06 <ais523> gcc's LTO works by placing its internal representation in the .o file
20:03:22 <elliott> coppro: that's how clang LTO works
20:03:28 <ais523> meanwhile, clang's internal representation is just LLVM, isn't it?
20:03:32 <oren> GNU ld 2.24
20:03:38 <elliott> coppro: it "links" the LLVM bitcode files along with any native .o files with gold + a plugin
20:03:48 <elliott> s/clang LTO/LLVM LTO/, really
20:03:56 <elliott> (IIRC)
20:04:11 <ais523> distinguishing between clang and LLVM is useful, but I suspect the LTO is mostly an LLVM feature here
20:04:14 <elliott> ais523: clang has an intermediate representation before it emits IR, I think
20:04:21 <elliott> I mean, of course it does
20:04:23 <elliott> it needs an AST if nothing else
20:04:52 <ais523> elliott: right, but the question is as to how much it uses those intermediate representations
20:04:56 <elliott> coppro: http://llvm.org/docs/LinkTimeOptimization.html goes into how it benefits from getting information from the linking phase
20:05:04 <ais523> something isn't really a real IR unless you heavily process it
20:05:05 <elliott> ais523: I think clang is relatively simple as these things go
20:05:35 <elliott> in that it's mostly a command-line driver, and a relatively simple frontend that just emits fairly naive IR, letting LLVM do all the hard work
20:05:35 <ais523> is clang a completely separate codebase from llvm-gcc, btw? or is llvm-gcc just a wrapper around clang? or something else?
20:05:38 <elliott> "fairly simple" being relative, of course
20:05:45 <elliott> llvm-gcc is gcc frontend + llvm backend
20:05:56 <elliott> it's also kind of dormant because of licensing stuff?
20:06:00 <elliott> dragonegg is the new version of that idea
20:06:04 <oren> hmm, my ld doesn't crash with thatinput
20:06:10 <elliott> I don't know how it differs
20:06:15 <elliott> I guess by being a gcc plugin rather than a fork or something?
20:06:31 <ais523> hmm, I wonder what licensing problems that could have, given that gcc alone is fine with licensing and LLVM stuff is permissively licensed
20:06:44 <elliott> maybe it's not licensing
20:06:45 <elliott> I don't know
20:06:55 <elliott> it might just be that apple didn't want to update it because they don't want GPLv3
20:06:59 <elliott> and nobody else cared enough about it
20:07:38 <elliott> I'm not sure why you'd even use dragonegg though. I guess for languages that clang doesn't support?
20:07:38 <ais523> which reminds me, the GPL2 actually went to court recently, but I don't know the details
20:07:46 <elliott> I mean, gcc is still a little better at code generation.
20:07:58 <elliott> so replacing the backend is kind of what you don't want.
20:09:21 <oren> wait: elliott i was wrong! on clang you can set optimization level for one function at a time. so my solution isn't needed
20:09:38 <elliott> oh lord
20:09:39 <ais523> oren: you can do that on gcc too
20:09:43 <elliott> that's not really a solution, dude.
20:09:47 <ais523> probably also MSVC
20:10:05 <ais523> I'm wondering what sort of problem you might be having that needs a solution like this
20:10:12 <ais523> note that even -O0 has many optimizations
20:10:27 <fizzie> ais523: I vaguely recall on MSVC you just have a pragma for it, so it's really more of a "per region of source" than "per function", but (a) I might be wrong, and (b) it of course can be used to do per function.
20:10:28 <ais523> I assume, because gcc's internal representation destroys information that would be needed to replicate the original code in asm perfectly
20:10:55 <elliott> -O-1 that just bundles a C interpreter with your source code
20:11:02 <oren> I don't have the problem, but here is someone who explains it: http://pdos.csail.mit.edu/papers/stack:sosp13.pdf
20:12:16 <elliott> hi fizzie it's undefined behaviour hour again
20:12:24 <elliott> except this time it's dead code elimination hour. dead code elimination is also evil now
20:12:57 <oren> it isn;t dead when you don read the result but you want an adversary to
20:12:58 <fizzie> elliott: Oh, would you look at the time, I think I need to be going.
20:13:17 <elliott> I'm going to be dead if this nonsense keeps happening
20:13:21 <elliott> please eliminate me
20:15:13 <oren> http://www.viva64.com/en/d/0208/
20:16:18 <oren> RtlSecureZeroMemory(). for when the memory really must be zero!
20:16:37 <elliott> for when your effect model includes things that C regards as implementation details
20:17:12 <elliott> btw, it's weird to me that you think presenting evidence that C is an unsuitable language for secure systems programming is some kind of gotcha. like, you realise I hate C, right?
20:17:28 <elliott> C is one of my least favourite languages for precisely that reason.
20:18:05 <oren> oh i know you do. but it doesn't have to be that way if compiler writers had different goals in mind
20:18:49 <oren> e.g. "do what the programmer meant" rather than " do the fastest possible interpretation"
20:19:11 <elliott> no
20:19:27 <oren> just no?
20:19:36 <elliott> "C is bad and it is incredibly difficult to use it correctly" is right. everything else you think is wrong
20:20:08 <ais523> C suffers from being too high-level to do the job for which it was designed, while being too low-level for everything else
20:20:16 <Vorpal> oren, oh? Using PVS Studio? How do you find it?
20:20:59 <ais523> oren: by the way, it is impossible to securely zero memory retrospectively
20:21:08 <ais523> you have to announce that you plan to eventually securely zero it in advance
20:21:24 <ais523> otherwise it might get swapped out and swapped back in and you're not going to be able to find the place where it was on disk to zero it
20:21:39 <ais523> also, many OSes have a pretty small limit on the amount of memory you can designate as unswappable
20:21:49 <ais523> because you can use that for denial of service attacks
20:22:00 <elliott> ais523: the language should disable swap
20:22:01 <elliott> and the MMU
20:22:05 <Vorpal> ais523, Unless you are root of course
20:22:12 <ais523> Vorpal: right
20:22:15 <shachaf> pft, just allocate a huge page
20:22:19 <oren> elliott: it should provide the option
20:22:20 <elliott> ais523: to Do What The Programmer Wants
20:22:24 <ais523> and come to think of it, most things that legitimately need to ask for passwords do run as root
20:22:28 <elliott> oren: to disable swap and the MMU?
20:22:28 <elliott> nice
20:22:36 <ais523> unless their only purpose is to send it over a network
20:22:38 <elliott> system("swapoff -a"), a valuable missing C feature
20:22:49 <ais523> in which case, you have bigger problems than just zeroing memory
20:23:19 <oren> how are you supposed to write kernel code without the ability to do lowest-level stuff?
20:23:25 <Vorpal> What are you trying to achieve?
20:24:15 <elliott> Vorpal: arguments
20:24:25 <ais523> oren: well, swap is a kernel feature
20:24:29 <ais523> so the kernel knows how to turn it off, obviously
20:24:31 <oren> oh, run in real mode, write to VGA memory, the usual
20:24:34 <Vorpal> elliott, always fun
20:24:37 <ais523> as for things like MMU management
20:24:45 <ais523> that differs by platform to the extent that it cannot be done portably
20:24:51 <elliott> Vorpal: reminds me of the good old days with us
20:25:12 <Vorpal> Hah
20:25:27 <Vorpal> elliott, you didn't appear to find them fun back then
20:25:49 <J_Arcane> A language usage analysis of the Linux kernel. http://gooby.naurunappula.com/org/36/26/3626c2b7abe07458/0/1240811.png
20:26:13 <elliott> Vorpal: IRC is wearying as ever, and yet I never quit
20:26:22 <Vorpal> Hah
20:27:04 <oren> the linux kernel is compiled with -fwrapv.
20:27:16 <Vorpal> elliott, You know... That sounds almost exactly like a World of Warcraft player I knew
20:27:23 <elliott> ostriches can't fly
20:27:25 <Vorpal> Just replace IRC with WoW
20:27:36 <elliott> *states random facts in an attempt to prove a point I'm not even sure of to someone who disagrees with something else entirely*
20:27:46 <Vorpal> heh
20:27:48 <elliott> Vorpal: such is addiction
20:27:59 <oren> does that not imply that the linux kernel is not written in standard C
20:28:01 <Vorpal> Of course, I know
20:28:01 <elliott> I'd prefer a heroin habit
20:28:03 <elliott> oren: of course
20:28:14 <elliott> the linux kernel does all kinds of unportable things and even gets bit by UB quite a lot (IIRC)
20:28:35 <Vorpal> The kernel is full of GCC specific code too. Well GCC + Clang these days I guess
20:28:38 <elliott> -fwrapv is a perfectly reasonable dialect of C and it's fine and proper that the kernel uses it but it still suffers immensely from C's inadequacy for the task
20:28:42 <elliott> yeah
20:28:47 <elliott> still gcc-only, clang requires patches still
20:29:07 <Vorpal> Oh okay
20:29:17 <oren> elliott: of you were making a new linux kernal what language would youuse
20:29:21 <oren> *if
20:29:31 <zzo38> What does -fwrapv mean?
20:29:38 <elliott> zzo38: defines wrapping as overflow
20:29:47 <elliott> oren: if I made a new kernel I sure as hell wouldn't emulate linux
20:29:50 <Vorpal> Assume signed two complement overflow
20:29:56 <Vorpal> I just looked it up myself
20:30:11 <elliott> oren: the field of C replacements is undeveloped but there are compelling options, some new, some older -- Rust, ATS, D, blah blah blah
20:30:19 <Vorpal> Speaking of that, how well does FreeBSD Linux emulation work these days?
20:30:26 <Vorpal> Can you still run real programs with it?
20:30:56 <elliott> oren: using C for a kernel reliably isn't impossible, though. you just have to be principled and careful
20:31:12 <elliott> and drop down to assembly (inline or otherwise) for truly unportable operations rather than trying to hack them with C that sort of looks like it should do the right thing
20:31:37 <elliott> I think the task of writing correct C isn't one humans are capable of, though.
20:31:39 <Vorpal> elliott, well obviously. Linux and *BSD managed it. Probably Windows and OS X too
20:31:56 <elliott> ideally you write as little as possible in C to support a higher-level language that you write the bulk of the kernel in, if you're going down that route.
20:32:00 <elliott> Vorpal: not really
20:32:06 <elliott> they're not robust in terms of undefined behaviour etc.
20:32:08 -!- nycs has joined.
20:32:15 <elliott> anyway, http://openmirage.org/ is very cool
20:32:34 <Vorpal> elliott, well, they use implementation specific behaviour yes. And extensions.
20:32:39 <Vorpal> Like inline assembly
20:32:42 <elliott> Vorpal: UB is not implementation-specific behaviour
20:32:55 <elliott> I am pretty sure there have been linux exploits due to UB relating to null pointers and the like
20:33:04 <Vorpal> Hm true
20:33:24 <elliott> (of course dereferencing memory address zero is actually potentially perfectly okay in kernel mode -- another deficiency of C for the task)
20:33:26 <Vorpal> Pretty sure the zero page is always unmapped these days because of that
20:33:33 <ais523> elliott: not any more, the gcc devs implemented compiler flags for them to not optimize out null checks
20:33:49 <elliott> ais523: makes sense; clang too, I guess?
20:33:57 <ais523> not sure about clang
20:34:09 <elliott> basically fixing the codebase up after-the-fact to be a kind of ill-specified dialect of C slightly more suitable for kernel code
20:34:11 <ais523> I didn't think it could build the kernel yet
20:34:16 <elliott> it has been able to for years, with patches
20:34:18 <ais523> they're trying to get it to, but it's hard because the kernel's so gcc-specific
20:34:19 <elliott> the patches are rather minor these days
20:34:25 <ais523> right
20:34:27 <elliott> and they keep getting folded in
20:34:33 -!- `^_^v has quit (Ping timeout: 250 seconds).
20:34:35 <elliott> it's basically just stuff like random gcc extensions like VLAs in structs now
20:35:06 <oren> i've never found VLA's at all useful
20:35:12 <ais523> how do VLAs in structs even worK? does it have to be a local struct definition?
20:35:17 <ais523> oren: OK, now you've offended me
20:35:28 <ais523> and I have another link for you to read: http://nethack4.org/blog/memory.html
20:35:33 <oren> i mean in cbviously
20:35:42 <Vorpal> ais523, VLA is not flexible array member is it? I forget...
20:35:43 <ais523> maybe that'll explain why VLAs are so useful (more so than pretty much every other way to allocate memory in C)
20:35:48 <Vorpal> I used both
20:35:53 <ais523> Vorpal: no, flexible member is flexible member
20:35:57 <Vorpal> Right
20:36:01 <ais523> but flexible member is C99 so no way clang doesn't impl it
20:36:05 <ais523> it isn't even an extension
20:36:07 <Vorpal> Indeed
20:36:16 <Vorpal> And VLA is C99 too iirc?
20:36:33 <ais523> yes
20:36:36 <oren> what was wrong with alloca?
20:36:38 <elliott> https://github.com/mirage/mirage-platform/tree/master/xen/runtime/xencaml I think this is the majority of kernel C code in openmirage
20:36:42 <elliott> well, plus the ocaml runtime
20:37:09 <Vorpal> ais523, Also I found VLAs to be less than useful, since they allocate on the stack. Either your allocation is large enough that it can smash the stack, or it is small enough that you can just use the max size always
20:37:20 <oren> in any case stack space is less than heap so you want to use heap space
20:37:37 <ais523> Vorpal: what about for holding strcat returns?
20:37:39 <elliott> of course it's designed to run under xen so it can be a bit simpler than a bare metal OS
20:37:42 <ais523> you don't want an outright max size there
20:37:55 <ais523> because if you have any specific max, people can create a string that's slightly longer
20:38:00 <ais523> however, you also don't expect it to be long
20:38:12 <elliott> oren: lol, yeah, let's just use the heap constantly in all our low-level systems applications and kernels and avoid the efficient, simple reliability of stack allocation
20:38:15 <Vorpal> ais523, and if I don't specify a max size, they can smash the stack instead, which crashes
20:38:17 <oren> ais523: use strncat and chop the string
20:38:18 <Vorpal> Which is worse
20:38:29 <ais523> and VLA's reaction on memory exhaustion (segfault) is pretty much the same as malloc's; you can install a handler for malloc failure but nobody ever does anything but effectively ending the program anyway
20:38:39 <ais523> either not checking and segfaulting on null read; or checking, printing "out of memory", and exiting
20:38:45 <ais523> which is basically the same as a segfault but harder to debug
20:39:12 <elliott> install a handler? you can just check the return value
20:39:18 <elliott> also, no, aborting is far better
20:39:31 <oren> elliott: i agree
20:39:36 <Vorpal> ais523, I do real time programming these days. That has given me a different outlook on things like these. "Works most of the time" is never an option
20:39:39 <elliott> the fewer segfaults the less you have to worry about bizarre exploits
20:39:55 <oren> except in kernel code where there is no way to abort
20:39:56 <ais523> elliott: well it's good to distinguish between a clean segfault, and a dirty segfault
20:40:14 <ais523> a clean segfault is something that always segfaults no matter what, like dereferencing null (given that null page mapping is disallowed in-kernel nowadyas)
20:40:16 <oren> but malloc isn't available inside the kernel iirc
20:40:20 <elliott> ais523: well you're dereferencing a null pointer
20:40:23 <elliott> there's nothing clean about that
20:40:27 <ais523> a dirty segfault is something that happens to have been caught, like dereferencing uninitialized memory
20:40:28 <Vorpal> ais523, I would verify the input to ensure it is not larger than allowed size. Because if the program crashes that means the machine stops and that is bad.
20:40:35 <elliott> ais523: it might even skip the dereference you have there; you know this
20:40:36 <ais523> that happened to form an invalid poitner
20:40:51 <ais523> elliott: oh I was talking about asm level, rather than C level
20:40:51 <oren> Vorpal: strncat!
20:40:59 <elliott> you have to check the return value of malloc because (a) it can, in fact, fail in practice; and (b) if it does, you're going to trigger UB
20:41:21 <Vorpal> oren, nope. wcsncat. Probably
20:41:34 <Vorpal> You have to support non-ASCII remember
20:41:52 <Vorpal> Proper software design :P
20:42:21 <elliott> ais523: fair enough
20:42:21 <Vorpal> (And working directly with UTF-8 data in a char* is just painful. UTF-8 is painful)
20:42:35 <elliott> malloc is part of libc, though :p
20:42:39 <ais523> I agree about wanting a malloc wrapper, though
20:42:39 <elliott> anyway, how is it harder to debug?
20:42:47 <ais523> the message doesn't tell you where the allocation failed, doesn't have a stacktrace, etc.
20:43:57 <Vorpal> ais523, It certainly does in gdb
20:44:26 <ais523> the most common reason to run out of memory on a modern computer (other than running aimake) is that your program is stuck in a tight loop that allocates memory
20:44:35 <ais523> the stacktrace is typically very useful to see what happened there
20:44:41 <elliott> abort() and run gdb on the core dump?
20:44:41 <elliott> that's what they're /for/
20:44:52 <ais523> getting a malloc wrapper to abort on OOM is actually a really good idea
20:44:52 <oren> #define safalloc(n) ({void *p=malloc(n);if(p==0)abort();p;})
20:44:54 <ais523> most of the wrappers I've seen call exit instead
20:44:56 <oren> you want a core dump
20:44:58 -!- AndoDaan_ has quit (Read error: Connection reset by peer).
20:44:59 <ais523> is there an mbscat?
20:44:59 <Vorpal> ais523, anyway a program that crashes is a broken program. What you really should do is use Erlang and use supervisor trees to restart components on failure.
20:45:00 -!- AndoDaan has joined.
20:45:01 <elliott> % cat blah.c
20:45:01 <elliott> #include <stdlib.h>
20:45:01 <elliott> #define safalloc(n) ({void *p=malloc(n);if(p==0)abort();p;})
20:45:01 <elliott> int main() { int p = 123; safalloc(p); }
20:45:01 <elliott> % clang blah.c
20:45:01 <elliott> blah.c:3:36: warning: incompatible pointer to integer conversion passing 'void *' to parameter of type 'unsigned long' [-Wint-conversion]
20:45:01 <elliott> int main() { int p = 123; safalloc(p); }
20:45:01 <elliott> ^
20:45:02 <elliott> blah.c:2:38: note: expanded from macro 'safalloc'
20:45:02 <elliott> #define safalloc(n) ({void *p=malloc(n);if(p==0)abort();p;})
20:45:02 <elliott> ^
20:45:02 <elliott> /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/stdlib.h:152:20: note: passing argument to parameter here
20:45:02 <elliott> void *malloc(size_t);
20:45:02 <elliott> ^
20:45:02 <ais523> elliott: oh right, unhygenic macro
20:45:02 <elliott> 1 warning generated.
20:45:02 <elliott> try again
20:45:02 <elliott> (okay, s/int/size_t/)
20:45:02 <ais523> there is a gcc extensions to fix this
20:45:02 <ais523> but I don't know how to use it, looking it up now
20:45:02 <elliott> ais523: there is a C standard feature to fix this
20:45:02 <elliott> it's called a function.
20:45:02 <ais523> elliott: I know
20:45:02 <ais523> but this is #esoteric
20:45:02 <elliott> yeah iirc gcc has some kind of gensym
20:45:02 <elliott> but I forget how it works
20:45:02 <elliott> I remember it being weird
20:45:02 <ais523> if someone does something the wrong way, am I allowed to have fun trying to make the wrong way work?
20:45:02 <elliott> I bet clang doesn't support it
20:45:13 <Vorpal> Because making a c program that doesn't crash is not easy
20:45:57 <Vorpal> elliott, __COUNTER__?
20:46:01 <elliott> ais523: btw, I suspect #define xmalloc(n) (malloc(n) ?: abort()) works
20:46:03 <Vorpal> Or is that MSVC?
20:46:10 <elliott> which is not actually that bad
20:46:15 <elliott> Vorpal: it has __COUNTER__ but that's not a perfect gensym
20:46:19 <Vorpal> Oh?
20:46:32 <elliott> well you can always just do p_123
20:46:35 <elliott> when __COUNTER__ will be 123
20:46:36 <ais523> it still generates a symbol that could potentially be used elsewhere
20:46:43 <ais523> and no, ?: is gcc for the defined-or
20:46:52 <ais523> err, no
20:46:58 <ais523> it's Perl/Python ||
20:47:02 <elliott> a ?: b is a ? a : b without evaluating a twice
20:47:05 <elliott> so it should be correct for this
20:47:11 <Vorpal> elliott, Anyway ({}) introduces a scope, so what is the issue?
20:47:13 <elliott> since we want p = malloc(n); if (p) p else abort()
20:47:20 <elliott> Vorpal: did you see my program or not
20:47:33 <ais523> Vorpal: lack of hygiene
20:47:34 <Vorpal> Yes I looked at it and it appears to work?
20:47:37 <Vorpal> Hm
20:47:46 <Vorpal> ais523, All C macros have that issues?
20:47:47 <elliott> Vorpal: did you see my compiler warnings.....
20:47:47 <ais523> it confused me for a moment before I saw that elliott had used the same identifier for two different purposes
20:47:55 <ais523> it's the sort of thing which would work really well in the UCC
20:47:59 <ais523> and yes, all C macros have that issue
20:48:02 <elliott> if you don't think not being able to use the variable name p is an issue then, uhhh
20:48:11 <elliott> (this is exactly what lexical scope is for!)
20:48:15 <Vorpal> <elliott> blah.c:3:36: warning: incompatible pointer to integer conversion passing 'void *' to parameter of type 'unsigned long' [-Wint-conversion]
20:48:17 <Vorpal> That is weird
20:48:21 <elliott> no it's not
20:48:26 <elliott> it expands to void *p = malloc(p);
20:48:26 -!- diginet_ has quit (Quit: diginet has quit!).
20:48:31 <elliott> what do you expect?
20:48:54 <Vorpal> elliott, "p shadows p in outer scope"
20:49:02 <Vorpal> Or something like that
20:49:05 <ais523> elliott: fwiw I don't think you can make that work with dynamic scope either
20:49:05 <elliott> Vorpal: you can use p inside the definition of p
20:49:12 -!- diginet has joined.
20:49:15 <elliott> char *foo = malloc(123 * sizeof *foo);
20:49:17 <elliott> is a common idiom
20:49:24 <elliott> maybe that has to be sizeof(*foo), I forget
20:49:29 <ais523> elliott: it doesn't
20:49:42 <elliott> does void *p = evil(&p) work
20:49:43 <ais523> sizeof needs parens on types, but not on expressions unless it'd associate incorrectly
20:49:46 <Vorpal> Hm
20:49:47 <oren> sizeof with brackets is just common convention
20:49:49 <ais523> and there is only one way to associate there
20:49:50 <elliott> I guess maybe yes as long as evil never dereferences its argument?
20:49:57 <ais523> elliott: I think yes too, not 100% sure though
20:50:08 <shachaf> Parentheses on expressions for sizeof is misleading.
20:50:28 <elliott> ais523: what if void *evil(void *p) { *p = malloc(123); return malloc(456); }
20:50:35 <elliott> I guess that's probably okay too? it's very weird
20:50:44 <elliott> maybe some weirdness with sequence points
20:50:49 <elliott> er
20:50:50 <ais523> elliott: that doens't work
20:50:50 <elliott> *void **p
20:50:53 <elliott> sorry
20:50:58 <elliott> and then doing void *p = evil(&p);
20:51:01 <ais523> yeah, was going to say it had to be a void**
20:51:20 <ais523> and no, I don't think there's sequence point weirdness there
20:51:20 <elliott> btw if you find the gcc gensym thing I'm interested in a link to documentation, since I wanted to look it up recently but couldn't find it again
20:51:33 <fizzie> To put the scope thing more formally, "Any other identifier has scope that begins just after the completion of its declarator", which means before the initializer.
20:51:41 <fizzie> And all I can remember is the counter approach.
20:51:45 <ais523> you have a sequence point between the two mallocs inside the function, and a function call can't violate sequence point restrictions in its own right
20:52:03 <elliott> I remember some weird thing, like it was a built-in macro-y function or something, or something involving $ in variable names?
20:52:07 <elliott> I was definitely very surprised that gcc had gensym.
20:52:08 <ais523> (i.e. in foo(x)+foo(y), the two calls can happen in either order but must happen in some order)
20:52:14 <elliott> maybe I exclaimed as much in the logs and could look it up.
20:52:19 <ais523> elliott: I couldn't find it in the list of extensions
20:52:21 <fizzie> Yes, there was some weird thing.
20:52:25 <ais523> now I'm reading through them individually
20:52:33 <elliott> fizzie: okay, I'm glad we agree the weird thing exists, at least
20:52:37 <elliott> ais523: IIRC it's none of them
20:53:13 <fizzie> 2011-04-29 23:06:44 <elliott> monqy: istr the gcc manual saying they were planning to add gensym or whatever to use with statement expressions in macros
20:53:28 <elliott> maybe they actually did it since then??
20:53:55 <elliott> https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html doesn't mention any gensym plans, at least
20:54:12 <ais523> elliott: also $ is a letter as far as gcc is concerned, but it warns that some assemblers may disagree
20:54:31 <oren> why can't we all jsut get along?
20:54:46 <oren> and not argue about what a letter is?
20:54:54 <fizzie> You could argue that combining the $ extension and the __COUNTER__ extension is more or less a gensym for non-extension-dependent problems, since they won't be using $.
20:55:13 <elliott> "If you use some other kind of statement last within the braces, the construct has type void" hmm, is there any way to get a value of type void in C?
20:55:21 <elliott> you're not actually allowed to dereference a (void *), right?
20:55:26 <elliott> is that a GNU C innovation? :)
20:55:30 <Vorpal> fizzie, what is the $ extension?
20:55:30 <ais523> that's UB, possibly even a constraint variation
20:55:39 <ais523> GNU C allows arithmetic on a void *
20:55:39 <elliott> oh, maybe function_returning_void() has type void
20:55:41 <ais523> but yes
20:55:45 <fizzie> Vorpal: That it's a valid character in identifiers.
20:55:46 <ais523> you can just return void values from a function
20:55:49 <Vorpal> Ah
20:55:52 <fizzie> Vorpal: You can pretend you're writing BASIC.
20:55:56 <oren> can't you just cast any type to void?
20:56:05 <oren> (void)34;
20:56:06 <ais523> oh yes, that too
20:56:16 <elliott> I guess that's an expression, yeah
20:56:17 <ais523> and this is a common way to tell linters to shut up about you not using the return value
20:56:32 <elliott> void main(void) { main(main()); } /* troll C program */
20:56:41 <elliott> *"C" "program"
20:56:50 <Vorpal> fizzie, basic uses $?
20:56:55 <elliott> int main(void x) { ... }
20:56:58 <Vorpal> fizzie, I would assume perl or shell
20:57:17 <oren> it uses $ at the end of words
20:57:17 <ais523> elliott: that troll program is beautiful
20:57:26 <fizzie> Vorpal: It's a typical suffix for strings.
20:57:31 <Vorpal> ah
20:57:46 <fizzie> Vorpal: See "Data-Type Suffixes" at http://gamma.zem.fi/~fis/qbc.html#QEw4MDA4
20:57:49 <elliott> ais523: it's great because every time you think of something to nitpick about it, a far more glaring problem comes up
20:57:51 <fizzie> Vorpal: In some dialects, they're optional.
20:57:54 <ais523> some BASIC impls had 26 float variables, 26 int variables ending in %, and 26 string variables ending in $
20:58:19 <ais523> elliott: OK, you're right
20:58:21 <elliott> ais523: "that prototype for main is wrong" "main can't call itself" "you... you're passing a void argument in. what is wrong with you."
20:58:23 <Vorpal> elliott, pretty sure that won't compile to to main() not returning int?
20:58:26 <ais523> I only saw two, but when you said that, I saw a third
20:58:32 <elliott> what were they?
20:58:43 <Vorpal> Or is that C89 and C++ only?
20:58:50 <ais523> inner call to main has the wrong number of args, but that isn't actually a problem
20:58:53 <ais523> because it doesn't take args
20:58:58 <ais523> I just assumed it did because the outer call did take args
20:59:00 <elliott> Vorpal: that's one of the many things wrong with it, yes
20:59:04 <elliott> ais523: haha
20:59:08 <oren> main can have any signature you want on non-posix i thing
20:59:10 <elliott> ais523: fix(main);
20:59:12 <elliott> oren: no
20:59:23 <ais523> oren: on freestanding, it can have any signature that the impl supports
20:59:30 <elliott> it's true that you can use whatever main signature you want in freestanding up to the impl, IIRC
20:59:33 <elliott> yeah
20:59:35 <ais523> on hosted, there are only three portable signatures, I think
20:59:38 <elliott> most platforms aren't freestanding, though.
20:59:42 <ais523> depending on how you count
20:59:50 <ais523> elliott: gcc -ffreestanding works on a bunch of platforms
20:59:55 <oren> on Windows iirc void main works
21:00:00 <elliott> ais523: void main(void) { void *x = &main(*x); }
21:00:00 <fizzie> ais523: "what the impl supports" works on hosted too, because it implies "not portable".
21:00:05 <ais523> oren: it "works" on gcc, but it complains
21:00:06 <Vorpal> <ais523> some BASIC impls had 26 float variables, 26 int variables ending in %, and 26 string variables ending in $ <-- oh god, so limited
21:00:08 <elliott> ais523: void main(void x) { x = main(&x); }
21:00:17 <elliott> this program is wonderful, it has so many great variations
21:00:24 <elliott> err, x = main(x); } rather
21:00:28 <elliott> *{ x =
21:00:42 <fizzie> On a hosted implementation, "[main] shall be defined [in the two portable ways]; or in some other implementation-defined manner."
21:00:44 <ais523> elliott: I'm actually disappointed that you can't declare void variables for their addresses
21:00:54 <fizzie> (C11 5.1.2.2.1p1)
21:01:00 <elliott> fizzie: hmm, is the environ argument unportable?
21:01:03 <fizzie> Yes.
21:01:03 -!- GeekDude has changed nick to GeekAfk.
21:01:05 <ais523> I'm also disappointed that you can't portably malloc 0 or realloc 0
21:01:07 <elliott> ais523: I think gcc supports "extern void x;" or something?
21:01:13 <elliott> and then you can use a linker script to give it an address
21:01:15 <fizzie> Also there's a really silly related argument there.
21:01:34 <oren> float main(float argc, char(*argv)()){return main(M_PI,&argv())}
21:01:35 <Vorpal> elliott, isn't there yet another argument after environ?
21:01:42 <ais523> elliott: hmm, can you do "struct foo; extern struct foo x"?
21:01:44 <Vorpal> Some ELF vector or something
21:01:45 <ais523> I don't see any reason why that wouldn't work
21:01:51 <ais523> apart from the missing semicolon
21:01:54 <Vorpal> Or is that _start only?
21:02:00 <elliott> ais523: maybe? might x be an incomplete type?
21:02:02 <elliott> *have an
21:02:05 -!- diginet has quit (Quit: diginet has quit!).
21:02:11 <ais523> x /does/ have an incomplete type
21:02:13 <ais523> but it's extern
21:02:13 <elliott> right
21:02:14 <elliott> I guess that's fine
21:02:18 <oren> float main(float argc, char(*argv)()){return main(M_PI,&argv());}
21:02:23 <elliott> hmm, I wonder what kind of error message you get for sizeof on that
21:02:31 <elliott> `! c int main() { printf("%d\n", sizeof(*stdout)); }
21:02:37 <HackEgo> Does not compile.
21:02:40 <elliott> thanks
21:02:41 <oren> `! c float main(float argc, char(*argv)()){return main(M_PI,&argv());}
21:02:42 <elliott> thanks a bunch
21:02:43 <HackEgo> Does not compile.
21:02:45 -!- diginet has joined.
21:02:46 <elliott> `runc int main() { printf("%d\n", sizeof(*stdout)); }
21:02:48 <HackEgo> No output.
21:03:06 <fizzie> The exact text is: "It shall be defined with a return type of int and with no parameters: int main(void) { /* ... */ } or with two parameters --: int main(int argc, char *argv[]) { /* ... */ } or equivalent;" -- and some people, who want to argue against a *definition* of "int main() { ... }" hinge their reasoning on the fact that they parse the "or equivalent" to apply only to the argc-and-argv form, based on where it is in the text.
21:03:23 <ais523> elliott: there was an argument about this in comp.lang.c semi-recently
21:03:26 <elliott> ais523: in fact, "extern struct foo x;" works
21:03:28 <elliott> without the struct declaration
21:03:48 <oren> excellent!
21:03:52 <ais523> apparently, C99 requires sizeof(FILE) to work, and C11 doesn't, but nobody noticed until the thread started because the definition of FILE hadn't changed at all
21:03:57 <ais523> rather, they redefined some of the words in it
21:03:59 <Vorpal> elliott, surely if you try to do something with x though it won't?
21:04:04 <ais523> (in the definition, that is)
21:04:12 <elliott> % cat hmm.c
21:04:13 <elliott> extern struct foo x; extern struct foo y; int main() { return &x == &y; }
21:04:16 <Vorpal> Either that or get a link error depending on what
21:04:17 <elliott> % clang -Wall hmm.c && ./a.out; echo $?
21:04:17 <elliott> 0
21:04:18 <ais523> and everywhere else in the standard, they updated things to the new definitions, but not with FILE
21:04:20 <fizzie> Which is patently silly, because there's a footnote explaining that the "or equivalent" means stuff like "int can be replaced by a typedef name defined as int" and it makes no sense that "typedef int q; q main(void) { ... }" would not be legal, but "typedef int q; q main(q argc, char **argv) { ... }" would.
21:04:22 <oren> taking its address woudl work
21:04:28 <elliott> I guess that program is allowed to compile and do that?
21:04:30 <elliott> nice gotcha that they're equal
21:04:44 <Vorpal> <elliott> % clang -Wall hmm.c && ./a.out; echo $?
21:04:44 <Vorpal> <elliott> 0
21:04:48 <Vorpal> The fuck
21:04:52 <Vorpal> How?
21:04:55 <ais523> that means they aren't equal
21:04:57 <Vorpal> What does GCC do?
21:05:06 <elliott> % cat hmm.c && clang -Wall hmm.c && ./a.out
21:05:06 <elliott> #include <stdio.h>
21:05:06 <elliott> extern struct foo x; extern struct foo y; int main() { printf("%p %p\n", &x, &y); }
21:05:09 <elliott> Undefined symbols for architecture x86_64:
21:05:10 <oren> it optimizes out the whole thing
21:05:12 <elliott> hah
21:05:14 <ais523> if they were equal, it'd have returned 1
21:05:15 <elliott> ais523: err, right
21:05:23 <elliott> I like how it starts breaking as soon as I try printffing it
21:05:29 <ais523> I think oren's explanation is right, though
21:05:33 <ais523> the &x == &y got optimized out
21:05:35 <elliott> yeah
21:05:40 <ais523> then there were no undefined symbols left
21:05:58 <elliott> inb4 oren whines about compilers
21:06:09 <ais523> there was a separate argument on comp.lang.c semi-recently about compilers being inconsistent as to whether two pointers were equal
21:06:09 <oren> i'm done with that
21:06:10 <elliott> bonus, this wasn't with -O
21:06:22 <elliott> ais523: yes, I remember you mentioning something like that
21:06:36 <ais523> it was code of the form "uint32_t x; uint32_t y; return (&x)[1] == &y"
21:06:44 <elliott> fizzie: hah
21:06:50 <elliott> fizzie: do people really advance that argument in seriousness?
21:06:53 <ais523> and various variations on that
21:06:59 -!- diginet has quit (Client Quit).
21:07:01 <Vorpal> elliott, does clang optimize by default then?
21:07:11 <oren> order of things on stack is undefined
21:07:20 <ais523> oren: yes
21:07:28 <ais523> however, the point is, if the two pointers randomly happen to be equal
21:07:30 <oren> when in doubt assume C the code never happened
21:07:30 <elliott> Vorpal: the results are the same for -O0. (I don't think it does, no.)
21:07:35 <Vorpal> Hm
21:07:37 <ais523> which is quite likely for either that way round, or for y and x
21:07:38 -!- diginet has joined.
21:07:46 <Vorpal> elliott, So what does GCC do with that exact program?
21:07:49 <ais523> can they subsequently stop being equal if you use them in a different expression
21:07:59 <elliott> oren: btw, C has a rule that specifically destroys any kind of implementation guarantees or machine correspondence you might expect, on purpose
21:08:02 <elliott> it's called the as-if rule
21:08:15 <Vorpal> elliott, anyway surely x and y can be equal? Depending on the linker script
21:08:26 <elliott> the compiler is allowed to do absolutely anything to a program and compile it in any way whatsoever, with any semantics and any strategy, so long as the observable effects (as specified by the standard) are the same
21:08:30 <Vorpal> So that is a premature optimization
21:08:36 <elliott> implementations don't actually have to do what the rest of the standard says
21:08:37 <Vorpal> Well not in the usual sense
21:08:49 <ais523> I like the as-if rule
21:08:54 <Vorpal> elliott, heh nice
21:08:57 <elliott> they just have to do things that are indistinguishable from that when considering the operation of the program by a definition that excludes things like whether some random memory is zero or not
21:08:58 <ais523> and don't understand why any language /wouldn't/ want it
21:09:13 <ais523> however, the more that's specified by the language, the less the as-if rule can do
21:09:14 <elliott> ais523: I like it too, but it's further proof that C is unsuitable for what people try to use it for
21:09:24 <elliott> (the problem is more that the definition of equivalence is too loose for that)
21:09:27 <elliott> (rather then the as-if rule itself)
21:09:33 -!- Sprocklem has joined.
21:09:43 <ais523> elliott: well it depends on what you use it for
21:09:46 <elliott> (a language focused on safe crypto would include timing and other such side-channels as part of its as-if rule, making it rather less useful for compilers)
21:09:49 <ais523> I don't think it's a terrible language for writing kernels, for instance
21:09:52 <oren> elliott: is C suitable for anything
21:09:59 <elliott> oren: not really
21:10:02 <oren> k
21:10:08 <ais523> it's possible to do better, but there haven't been many attempts to do better
21:10:11 <fizzie> elliott: I've seen it used. A more credible argument is perhaps that "or equivalent" does not apply, because while a definition with an empty () is defined merely to "specif[y] that the function has no parameters", but that's nowhere explicitly stated to be "equivalent" to a (void). (And indeed, they're inherently different forms.)
21:10:12 <elliott> it's suitable for the 70s
21:10:35 -!- GeekAfk has changed nick to GeekDude.
21:10:37 <ais523> I'm really happy at Rust partly just because it's actively trying to displace C in fields where C is traditionally good
21:10:48 <elliott> really, C is suitable for things that are already written in C that are not about to be rewrited, and things for which there is not yet a production-ready alternative to C
21:11:01 <ais523> those make up a huge subset of programs just by themselves, though
21:11:12 <elliott> fizzie: isn't (void) and () the same by C99 or something
21:11:12 <Vorpal> Heh
21:11:17 <ais523> elliott: no, they're the same by C++
21:11:20 <elliott> they're different in C89 due to some kind of varargs bullshit or something I think
21:11:22 <oren> is there a C alternative that interoperates with C libraries?
21:11:23 <elliott> ais523: ah, okay
21:11:24 -!- SopaXorzTaker has quit (Ping timeout: 265 seconds).
21:11:27 <ais523> they're different in C99 and also in C11
21:11:34 <ais523> and the difference is default argument promotions
21:11:42 <elliott> oren: rust, ocaml, haskell, ats, d, whatever
21:11:43 <fizzie> ais523: They're not that much different, when you're talking about definitions.
21:11:52 <elliott> it really depends on what you're doing, what counts as an "alternative"
21:11:59 <fizzie> ais523: In a declaration that is not part of a definition, they're indeed quite different.
21:12:03 <elliott> most programs written in C don't need to be written in a language anywhere near as low-level as C
21:12:22 <oren> brb learning rust
21:12:26 <elliott> some people even still write entire mundane end-user applications in C!
21:12:28 <ais523> well my problem is that most high-level languages suck too
21:12:32 <elliott> even ones that require high levels of security!
21:12:44 <elliott> ais523: I'll take programs written in them over C running on my box any day
21:12:47 <Vorpal> ais523, um doesn't C11 require prototypes already?!?
21:12:59 <fizzie> Vorpal: No.
21:13:02 <ais523> so here's a question to you (that I've been thinking a bunch about): if you rewrote NetHack, what language would you rewrite it in?
21:13:02 <Vorpal> Wow
21:13:13 <fizzie> "An empty list in a function declarator that is part of a definition of that function specifies that the function has no parameters. The empty list in a function declarator that is not part of a definition of that function specifies that no information about the number or types of parameters is supplied." (C11 6.7.6.3p14)
21:13:18 <elliott> I'm annoyed that I can't find the gensym thing
21:13:32 <elliott> maybe they removed it
21:13:34 <oren> maybe the gcc people went sane
21:13:38 <Vorpal> ais523, the problem is using ncurses from anything but C/C++ is fucking annoying. So is there an alternative to ncurses?
21:13:41 <elliott> what? gensym is useful
21:13:44 <fizzie> Whether the former case is "the same" as foo(void) is up to your definition of "the same".
21:13:53 <ais523> Vorpal: you do realise I /wrote/ an alternative to ncurses, right?
21:13:59 <elliott> ais523: does it need to be as portable or as fast?
21:14:01 <ais523> although, due to being an alternative to ncurses, it has mostly the same API
21:14:16 <Vorpal> ais523, nope I didn't know, give me a link
21:14:17 <Vorpal> I want this
21:14:23 <elliott> i.e. do I still need to be able to run it on my commodore 64 at full speed :P
21:14:35 <ais523> elliott: it needs to run on all commonly used OSes but not really niche ones, and it has to be as fast as the original from a user's point of view, but if it's orders of magnitude that doesn't matter so long as it's not human-perceptible
21:14:50 <elliott> ais523: it depends on my mood then, I guess
21:14:52 -!- SopaXorzTaker has joined.
21:14:54 <ais523> (all this is negotiable, but if you want a starting point)
21:15:03 <elliott> ais523: picking a favourite language is hard but I don't see any reason to discard any of them
21:15:13 <ais523> this isn't so much favourite language, as most appropriate language
21:15:14 <elliott> maybe an ML family language, maybe learn rust or something
21:15:18 <ais523> IMO, most of them would work
21:15:20 <elliott> I think they're pretty much all appropriate
21:15:23 <ais523> but none are really ideal
21:15:26 <elliott> any memory safe language that supports a good level of abstraction
21:15:43 <elliott> it would probably come down to "what language do I feel like playing with and getting to know better?"
21:15:49 <ais523> this is what inspired me to start writing TCTOE, incidenally, which also isn't ideal due to being eso
21:15:58 <ais523> I just tried to figure out what features I'd want that no existing language had
21:16:00 <elliott> I'm convinced that C is pretty much the worst common language to write NetHack in :)
21:16:01 <ais523> then, working out what those were
21:16:02 <zzo38> I still happen to like C
21:16:09 <elliott> probably even C++ would be better
21:16:11 <zzo38> Another alternative is to write it in LLVM with macros
21:16:16 <zzo38> Although, LLVM doesn't have macros.
21:16:23 <Vorpal> what, LLVM IR!?
21:16:31 <zzo38> Yes
21:16:33 <ais523> decided to make an esolang with /just/ those features
21:16:35 <Vorpal> Ouch
21:16:53 <elliott> ais523: hmm, I haven't heard of TCTOE before, go on
21:16:55 <fizzie> LLVM IR is so phi.
21:17:03 <ais523> elliott: I'm still working on it, it's an ais523 vaporware esolang
21:17:22 <ais523> but luckily, the core mostly works designwise, just some of the details are giving me problems and I only have a vague idea how to impl it
21:17:28 <elliott> ais523: I was asking for a description :)
21:17:30 <ais523> shall I just pastebin what i have so far
21:17:39 <ais523> might be easier than trying to describe over IRC
21:17:40 <elliott> sure
21:17:58 <ais523> http://sprunge.us/Wcbd
21:18:48 <Vorpal> ais523, speaking of which, what happend to Feather? Gave up on it?
21:19:04 <Vorpal> ais523, anyway what is this ncurses alternative?
21:19:16 <Vorpal> Presumably it supports reading terminfo?
21:19:17 <ais523> Vorpal: http://nethack4.org/blog/portable-terminal-codes.html to the last question
21:19:48 <ais523> I hope you can guess why I didn't answer the others
21:19:53 <ais523> and no, it doesn't use terminof
21:19:55 <ais523> *terminfo
21:19:57 <ais523> that's the whole point
21:20:30 <oren> Secretary of the Supreme Soviet, Georgiy Terminoff
21:20:37 -!- Patashu has joined.
21:20:50 <oren> *not a real person
21:21:37 <Vorpal> ais523, oh? My problem with ncurses is the API, unprefixed lower case macros and crap like that
21:21:57 <oren> what's wrong with them?
21:22:02 <ais523> sadly, this is the same because I wanted to be able to swap it out behind daniel_t's nethack interface without a lot of rewriting
21:22:05 <ais523> oren: namespace pollution
21:22:25 <oren> isn't memcpy and crap also macros?
21:22:44 <ais523> Vorpal: I've been considering putting a prefix on the identifiers in the ABI, then allowing a customizable or no prefix on the identifiers in the header
21:22:54 <ais523> but I'm not sure that's technically possible in the C preprocessor
21:23:06 <elliott> ais523: why wouldn't it be?
21:23:09 <oren> it is, it just needs a lot of directives
21:23:19 <ais523> elliott: you need #define X Y when X is the result of a macro expansion
21:23:26 <elliott> oh, for #defines too
21:23:29 <elliott> no hope then
21:23:39 <ais523> * of a token paste
21:23:39 <Vorpal> ais523, well also it doesn't do what I need of ncurses. Which is basically ncurses with prefixed ABI and non-macro API so I can access it via FFI from a high level language
21:23:43 <elliott> try not using cpp, then
21:23:46 <ais523> perhaps you could do a wrapper function or the like
21:23:57 <ais523> non-macro ABI may be possible, at least
21:24:03 <ais523> most of the macros are thin wrappers anyway
21:24:09 <Vorpal> ais523, I still want full 256 color support if the terminal has that and so on
21:24:21 <Vorpal> I'm not interested in the replay feature for my needs
21:24:42 <ais523> well, libuncursed doesn't do that (the 256 color support), but in my defence, curses doesn't really either
21:25:05 <oren> Vorpal: why not use a graphics library and sprites that look like letters
21:25:27 <Vorpal> What and doing a GUI program?
21:25:34 <Vorpal> Useless over ssh for example
21:25:42 <oren> ssh -XC
21:25:47 <Vorpal> oren, the lag
21:25:59 <Vorpal> Also it needs working X11
21:26:10 <Vorpal> Which may not exist on the remote server
21:26:11 <ais523> oren: libuncursed can also do that (the graphics library + sprites)
21:27:10 <oren> hmm ok what about using your own client server model
21:27:42 <Vorpal> oren, well, that still assumes a working X11 on the local end.
21:27:53 <oren> no it doesnt?
21:28:15 <Vorpal> I still need to deal with ncurses at the local end?
21:28:17 <oren> you just write the whole thing in Python on server and Javascript
21:28:30 <Vorpal> oren, what I'm looking for is a general purpose ncurses replacement that has a sane API
21:28:40 <Vorpal> For use in all my projects
21:28:45 <oren> i have never heard of one
21:29:15 <Vorpal> Which includes stuff running on machines without X, stuff written in high level languages where ncurses is a pain to use and so on
21:29:30 <oren> um, google says termbox?
21:31:03 <Vorpal> Well that looks limited
21:31:30 <Vorpal> Also it is python??
21:31:44 <oren> i dunno man 256 colors is really the point at which i'd just write a graphics program
21:31:45 <Vorpal> Wait no, the build system is
21:32:09 <Vorpal> oren, I also want the terminal mouse support thing if it exists
21:32:20 <Vorpal> Like with xterm or a linux vt with gpm
21:32:46 <oren> really how many real programs even use 256 colors?
21:32:51 <Vorpal> ais523, does your library support that btw?
21:32:57 <Vorpal> ais523, I assume not?
21:33:20 <ais523> Vorpal: mouse? it supports mouse but with a different API to ncurses
21:33:27 <ais523> and better one, IMO
21:33:38 <ais523> basically, being mouse-sensitive is like a font style or a colour
21:33:51 <ais523> and mouse-sensitive text is translated into a keypress of your choice when clicked
21:33:57 <Vorpal> Ah ok, that is nice
21:34:13 <ais523> including nonexistent keycodes, say if you want coordinates from a map directly
21:34:17 <oren> ais523 that is an amazing idea
21:34:19 <Vorpal> ais523, so you can't get x,y though?
21:34:46 <Vorpal> Just clicked area?
21:35:07 <ais523> Vorpal: you can get x,y by using a different keypress for every square, if that's what you need
21:35:10 <oren> make one clickable area on every character on screen
21:35:14 <ais523> different "keypress"
21:35:29 <ais523> I also support right clicks and the mousewheel
21:35:30 <Vorpal> ais523, can I tell key presses apart from actual key presses though?
21:35:42 <ais523> not if you specify the same code
21:35:47 <ais523> but you have a whole int's worth of codes to use
21:35:51 <Vorpal> Ah
21:35:53 <oren> put the codes out of range
21:37:12 <oren> oh i see Vim has 256 color support
21:37:22 <oren> or rather can use it
21:39:09 <Vorpal> ais523, what about setting the terminal title for X-based terminals?
21:39:20 <Vorpal> I know gnome-terminal and konsole supports this
21:39:21 <ais523> not supported yet, and I don't think you can do that portably
21:39:42 <Vorpal> Ah
21:39:44 <ais523> as in, not without producing junk on at least some terminals
21:40:10 <Vorpal> ais523, why not do the replays pre-rendering instead?
21:40:27 <ais523> I do, but postrendering is common in actual practice
21:40:32 <ais523> so I wanted it to work
21:40:32 <Vorpal> Ah
21:45:11 <Vorpal> ais523, what about windows? Doesn't that cmd.exe work completely differently?
21:45:48 <ais523> Vorpal: cmd.exe is not a terminal renderer, it runs /in/ a terminal, it isn't one
21:45:58 <ais523> but the Windows terminal does work completely differently
21:46:03 <ais523> uncursed has a separate backend for it
21:46:17 <ais523> but the Windows terminal also has terrible performance, so I normally use the oren method of just rendering a terminal myself
21:46:26 <Vorpal> ais523, ah, so that polyglot didn't work in the end then
21:47:00 <Vorpal> ais523, if someone records cmd.exe it can't be replayed (assuming you can even record that)
21:47:25 <ais523> Vorpal: the windows terminal's basically impossible to record
21:48:00 <ais523> it's so separate from the rest of the system that Microsoft couldn't get drag-and-drop to work in it, at all
21:48:35 <ais523> basically, it makes more sense to consider it part of the kernel than it does to consider it part of userspace
21:48:44 <ais523> it isn't strictly part of the kernel, but it's that sort of distance from everything else
21:48:51 <Vorpal> ais523, I have dragged and dropped paths into it and it worked, assuming it isn't running as admin, but drag and drop to programs running as admin doesn't work anyway
21:49:02 <ais523> Vorpal: on XP?
21:49:08 <Vorpal> ais523, oh, 7
21:49:14 <ais523> oh
21:49:16 <ais523> it shouldn't work on 7
21:49:21 <ais523> maybe Microsoft finally found a way
21:49:44 <Vorpal> It does, drag and drop a file into it and it works, assuming it isn't running with elevated privileges
21:50:30 <Vorpal> ais523, why is it not a normal user space program?
21:50:50 <ais523> because everything is 100% more complex on Windows than it should be
21:51:23 <ais523> you won't believe how hard it is to accomplish this task: "wait for user input on standard input or incoming network packets on a network socket"
21:51:28 <elliott> the GUI is still like half in the win32 subsystem right
21:51:36 <elliott> not quite kernel code but not quite userspace either...
21:51:47 <ais523> the console has its own subsystem, AFAIK
21:51:49 <elliott> ais523: even with threads?
21:52:00 <ais523> it's much easier with threads
21:52:05 <ais523> that's the solution I used eventually
21:52:56 <ais523> but the basic problem is that Windows has multiple equivalents of select() and they all only wait on a subset of waitable things
21:53:35 <Vorpal> Heh
21:54:45 <Vorpal> ais523, btw it turns out gcc as cross compiler is not quite the same as gcc as native compiler
21:55:19 <Vorpal> specifically __attribute__((weak,visibility("hidden"))) doesn't work if it is a cross compiler. Which breaks lttng-ust
21:55:25 <Vorpal> Just a fun fact
21:59:54 <int-e> gah. http://lttng.org/ ... why does this little information take up 3 screens worth of space?
22:00:26 <J_Arcane> int-e: welcome to the new world of 'design languages'.
22:00:34 <oren> because graphic designers like to eat your screen
22:00:43 <oren> and your brain
22:00:51 <ais523> I'm annoyed that styling is still normally done server-side
22:01:00 <ais523> maybe I should see if I can just turn off CSS altogether in the browser
22:01:03 <ais523> like I did with JS
22:01:08 <Vorpal> Heh
22:01:17 <oren> use w3m
22:01:22 <Vorpal> well it is basically kernel and user space low overhead tracing
22:01:36 <Vorpal> Useful for real time system programming
22:01:39 <Vorpal> (Which is my job)
22:02:05 <Vorpal> I used it to debug a priority inversion last week for example.
22:02:36 <oren> they need to hire a better web designer
22:02:55 <oren> that site is very advanced but stillusgly
22:02:56 <Vorpal> We have a really good proprietary program at work to analyze the trace logs
22:03:01 <ais523> I do use w3m sometimes
22:03:06 <int-e> Vorpal: the "documentation" page is a bit better, and with CSS disabled the information density is quite reasonable. Unfortunately, that destroys the diagrams on the page.
22:03:45 <Vorpal> Heh
22:03:49 <int-e> (with CSS we have a navigation bar on the side and it doesn't use the whole screen width ... I can almost excuse the latter but not the former.)
22:05:53 <Vorpal> int-e, using the entire screen isn't always good, text is harder to read if it is too wide. That is one reason why you use multiple columns on paper. A bit harder to do that on a web page
22:06:33 <oren> i wish websites would let me be their pro-bono eeb designer
22:06:42 <int-e> Vorpal: as I said I can almost excuse the latter.
22:06:57 <int-e> Vorpal: But having the text not centered because of the navigation bar is annoying.
22:07:26 <int-e> Vorpal: also I use windows; if the text is too wide I'll make the window smaller :P
22:07:58 <Vorpal> int-e, what if the user is on a tablet?
22:08:06 <Vorpal> (in landscape mode)
22:08:27 <oren> so many people run browsers fullscreen by default that web disgners forget that windows existed
22:08:28 <int-e> Vorpal: What saddens me is that these low information density designs (I'm not back to the starting page) are also being used on pages who are targeted at programmers, people who
22:08:38 <int-e> 're used to dealing with lots of information.
22:08:57 <oren> int-e good point.
22:09:24 <oren> source code (in the best languages) has a lot of information density
22:10:00 <oren> and people usually don't put one statement every page
22:10:05 <Vorpal> oren, I tend to use one window full screen on each monitor for the simple reason that I like my IDE and text editor and so on large. I generally have a terminal with several tabs on one monitor. Sublime on one display and a a browser / whatever on the third monitor
22:10:29 <Vorpal> (Yes I use 3x 24" 16:10 displays)
22:10:34 -!- nycs has quit (Quit: This computer has gone to sleep).
22:10:57 <oren> i just down the font size when i want more density
22:11:28 <Vorpal> I have been considering switching to a tiling WM
22:11:59 <oren> the first version on windows was one, i read that somewhere
22:12:10 <oren> and win8 is basically one
22:12:55 <int-e> Actually http://lttng.org/features/ is not too bad (the oversized icons add little information, but at least there is some usefuly information there). But it should be the starting page.
22:13:26 <Vorpal> oren, not a good one though
22:14:08 <Vorpal> int-e, anyway I don't care about the page design. I care that it produce useful trace data
22:15:28 <int-e> Vorpal: I'm not blaming you. I simply wanted to figure out what lttng *is*, and that lead me to the website, which at first didn't tell me anything useful at all. That's the complaint.
22:15:43 <elliott> let me just say that I find the lttng site far more readable and accessible for me than the average programming tool's website.
22:16:15 <ais523> because you like it, or because the average programming tool's website is even worse?
22:16:34 <ais523> also that page is using some sort of common framework, I think
22:16:38 <ais523> I've seen many that look almost exactly like it
22:16:54 <elliott> ais523: just because it is better than average, for me.
22:17:04 <oren> yeah the real problem is these cookie cutter designs that everyone slaps up
22:17:07 <Vorpal> int-e, well there is always wikipedia
22:17:12 <HackEgo> [wiki] [[Special:Log/upload]] upload * Tastyfish * uploaded "[[File:Flow chart math library example.png]]"
22:17:22 <elliott> so you don't want pages to have custom styles but you also don't want them to have standard styles?
22:17:38 <ais523> github, that's what it reminds me of
22:17:44 <int-e> Vorpal: true. didn't think of that, wikipedia is a secondary resource.
22:17:50 <elliott> or you want them to have standard styles as long as they're how browsers happened to render things circa the 90s that is kept for backwards compatibility
22:17:56 <Vorpal> int-e, it tends to show up in google results
22:18:00 <elliott> ais523: I think it's bootstrap or something.
22:18:01 <ais523> I don't mind the concept of standard styles, I just want control over which standard style it is
22:18:02 <elliott> it doesn't look like github
22:18:04 <elliott> github is much less flat
22:18:05 <oren> we want the styling to be user-specified hth
22:18:20 <ais523> I just loaded github to compare
22:18:23 -!- Sprocklem has quit (Ping timeout: 264 seconds).
22:18:26 <Vorpal> int-e, anyway for my particular needs lttng is far superior to systemtap, perf, ftrace and so on
22:18:35 <ais523> they look similar in style, but github's breaks under noscript and lttng's doesn't
22:18:39 <ais523> so they must be different frameworks
22:22:35 <Vorpal> Fuck pulseaudio
22:24:40 <Vorpal> I need to do "pactl load-module module-bluetooth-discover" every time to get my bluetooth headset to be work. And then manually enable the output
22:24:47 <Vorpal> Why does it need to be so complicated
22:25:06 <ais523> Vorpal: I need to do "sudo killall pulseaudio" to get sound output to work at all
22:25:12 <Vorpal> ouch
22:25:12 <ais523> it's fine after I've killed it and it's automatically reloaded once
22:25:22 <ais523> so I'm guessing a missing boot-time dependency or similar
22:25:29 <Vorpal> Is it running as user as opposed to root then?
22:26:13 <oren> audio on linux has always been a trainwreck
22:26:21 <oren> it's better now
22:26:27 <Vorpal> not really
22:26:28 <ais523> I guess it's running as not-me, because I need sudo to kill it
22:26:52 <int-e> ais523: can't you uninstall pulseaudio...
22:27:02 <ais523> int-e: well pulse is handling my sound right now
22:27:09 <ais523> killing it just causes the process to restart
22:27:13 <ais523> but in a way that actually works
22:27:34 <int-e> (I have done that, not looking back. Plain alsa works fine for me.)
22:28:06 <Vorpal> And bluetoothd crashed...
22:29:15 <int-e> (Otoh I'm not using any USB or Bluetooth or whatever devices; the sound setup is static, always going through the same audio device(s).)
22:29:58 -!- azazel_ has joined.
22:30:09 -!- azazel_ has changed nick to Solace.
22:30:31 <oren> my dad says he once had to compile alsa 10 times befroe it actually worked
22:30:47 <Vorpal> Heh
22:30:49 <Solace> Your dad sounds awesome
22:30:55 <ais523> presumably not with the same setup
22:31:02 <Vorpal> Solace, agreed
22:31:35 <Vorpal> ais523, some issues... I swear recompiling it on a configuration you tested earlier suddenly works...
22:31:41 <HackEgo> [wiki] [[Flow chart]] http://esolangs.org/w/index.php?diff=41520&oldid=41460 * Tastyfish * (+749)
22:31:44 <oren> he says it was different build options. back then autodetecting your hardware was... screwed
22:31:51 <Vorpal> Not with alsa as such
22:32:26 <ais523> if it's any help, I had severe audio problems with early windows XP
22:33:11 <Solace> Ok so like i want to be able to actually know how to use haskell, but im a bit lazy also any recomendations on a new language i should try?
22:33:21 <Vorpal> I never had issues with jack on linux. But I never used it with bluetooth so not sure
22:33:40 <oren> my problems with winXP were purely a result of downloading and running any damn thing
22:33:59 <zzo38> Solace: Did you try learning Forth programming, or 6502 assembly language programming?
22:34:09 <elliott> Solace: esme
22:34:33 <oren> Solace: racket
22:34:46 <oren> no wait, heresy
22:34:49 <Vorpal> ais523, what is NHGPL?
22:34:51 <Solace> no i havent tried learning those. Do i need any skiol requirements to learn them?
22:34:52 <ais523> Solace: what sort of languages do you know atm?
22:34:59 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
22:35:14 <elliott> not sure what skills are required to learn esme, but I certainly don't have them
22:35:18 <ais523> if you want to learn Haskell but your thought processes are too far from it, I'd recommend OCaml as something that has the less controversial half of Haskell's features while remaining vaguely familiar
22:35:26 <ais523> Vorpal: typo for NGPL, NetHack's license
22:35:36 <ais523> (I think NHGPL is a better name, but NGPL is "official")
22:35:37 <Vorpal> ais523, so what is NGPL?
22:35:46 <Vorpal> What is the extension to GPL
22:36:13 <ais523> it predates GPL
22:36:22 <ais523> it's the Bison license with one word changed
22:36:35 <Solace> Java, C, Bash, Lua, XML, And python
22:36:36 <Vorpal> I'm not familiar with the bison license either
22:36:38 <oren> GPL should be a programming language
22:36:40 <Vorpal> :/
22:36:44 <Solace> I just want a harder thing to learn
22:36:45 <ais523> annoyingly, I haven't been able to find a copy of the Bison license to find out which word it is
22:36:49 <ais523> but IIRC it was mostly irrelevant
22:36:51 <Solace> :[
22:36:55 <ais523> Solace: I recommend OCaml, then
22:37:04 <Vorpal> ais523, so what sort of license is it?
22:37:06 <Solace> Ok ill go find it
22:37:12 <ais523> Vorpal: the Bison license is basically the version of GPL before GPL1
22:37:17 <ais523> the GPL was based on it
22:37:44 <Vorpal> Heh
22:38:03 <ais523> but the problem is, Bison doesn't use it any more, and so the only reason to keep it around is historical interest
22:39:56 <Vorpal> ah
22:42:52 -!- boily has joined.
22:48:18 <oren> I am going to see Riot: Christmas Edition.
22:50:11 <oren> pkill -9 firefox
22:50:15 <oren> goddamnit
22:52:11 <Solace> What is pkill
22:52:38 <ais523> killall with different option names
22:52:59 <Solace> Cant you just have it close background/applications after its not used for like 5 min
22:53:56 <Solace> Also im sad today ;(
22:55:38 <elliott> me too
22:55:39 <oren> firefox basically starts freezing my computer every 8 hours
22:56:16 <Solace> What why?!
22:56:54 <Solace> Also one of the servers i ran off of was shut down cuz i didnt pay this month ;-; i was gonna do it
23:21:04 -!- oerjan has joined.
23:22:54 <oerjan> `date
23:23:02 <HackEgo> Fri Dec 19 23:21:53 UTC 2014
23:24:13 <oerjan> `date
23:24:14 <HackEgo> Fri Dec 19 23:23:06 UTC 2014
23:24:56 <oerjan> @tell Gregor the codu log clock is about a minute late (curiously HackEgo is unaffected)
23:24:56 <lambdabot> Consider it noted.
23:26:24 <oerjan> well i guess not that curious, they are different servers
23:26:47 <elliott> didn't you already tell him that
23:26:55 <oerjan> i don't think i used @tell
23:27:04 <oerjan> also i didn't check it properly then
23:28:59 -!- S1 has joined.
23:30:26 <oren> what is tell?
23:30:50 <oerjan> lambdabot's messaging service...
23:31:17 <oren> isn't irc a messaging service?
23:30:47 <oren> so it hold the message and repeats it later?
23:30:55 <Taneb> Not really
23:31:00 <oerjan> irc's not very reliable for people not physically present
23:31:10 <elliott> uh...
23:31:11 <Taneb> lambdabot saves the message for later
23:31:17 <oerjan> they might ping out, not bother to check old backlogs...
23:31:20 <elliott> I *have* talked to physically present people on IRC, but mostly not.
23:31:26 <elliott> oh, I guess you mean physically present at their computers.
23:31:31 <oerjan> yes :P
23:31:41 <Taneb> I've talked to physically present people on IRC a lot
23:31:46 <ais523> I've talked to people in the same real-life room over IRC, but mostly when there was a reason not to make audible noise
23:32:00 <oerjan> and experience has told me that Gregor tends to be away for longs periods, especially in weekends
23:32:00 <Taneb> I have a house IRC channel
23:32:09 <oren> AOL IM is what we used in high school
23:32:15 <oren> for studyperiods
23:32:57 <oren> is AIM still available?
23:33:32 <zzo38> ais523: You can use sign language not make noise even not making noise of typing on the computer.
23:33:44 <ais523> zzo38: that requires both people to know sign language
23:33:47 <zzo38> Or if you can't use sign language, writing on the paper
23:34:08 <oren> don't let teacher catch you passing notes
23:34:57 <Sgeo> shachaf: funded
23:35:05 <zzo38> Some people have passed notes by using a calculator link cable, but then someone might trip over it.
23:36:06 <oren> oh yeah i remember those ridiculous TI calculators!
23:36:20 <oren> like why not just use a computer?!
23:36:28 <oerjan> *-s
23:36:36 <oerjan> what _is_ with my spelling these days...
23:37:03 <oren> scrwe spling!
23:37:07 <zzo38> A computer is certainly faster but the calculator is more portable and will turn on more quickly than most computers, the battery also last longer.
23:37:34 <zzo38> I have a TI-92 calculator.
23:37:46 <oren> zzo38: good point about the battery and startup time
23:38:04 <oren> nowadays do they at least have color screens?
23:38:13 <oerjan> Sgeo: is there a celebration?
23:38:17 <oerjan> ^celebrate
23:38:17 <fungot> \o| c.c \o/ ಠ_ಠ \m/ \m/ \o_ c.c _o/ \m/ \m/ ಠ_ಠ \o/ c.c |o/
23:38:18 <myndzi> | c.c.c | ¯|¯⌠ `\o/´ | c.c.c | `\o/´ ¯|¯⌠ | c.c.c |
23:38:18 <myndzi> |\ c.c >\ /´\| | /< c.c /| | /`\| |\ c.c /<
23:38:19 <myndzi> /'\ (_|¯´¯|_)
23:38:19 <myndzi> (_| |_)
23:38:19 -!- AndoDaan_ has joined.
23:38:29 <zzo38> TI-92 doesn't have a color display, at least.
23:38:35 <zzo38> But I think some do.
23:38:43 * oerjan swats AndoDaan_ for ruining myndzi's graphics -----###
23:39:26 <oren> for me it is full of yen signs
23:40:14 -!- AndoDaan has quit (Ping timeout: 245 seconds).
23:40:18 <zzo38> A color display would be helpful for plotting multiple functions at the same time, you can tell the difference by colors; it also help for telling the difference of the data and the axis, and possibly some kinds of game programming might also be help by color graphics too.
23:42:23 <zzo38> TI-92 is capable of doing 3D graphics; if you have a color display then possibly it can even be made to work by colored glasses red and blue.
23:43:08 <oren> so it is like a tiny matlab! and its syntax can't possibly be any worse than matlab
23:44:00 <zzo38> It does 3D graphics pretty slowly though
23:44:10 <oren> so it is like matlab
23:45:08 <oren> or at least like the version of matlab i am familiar with
23:46:11 <fizzie> They made a "TI-84 Plus C SE" with a color screen, yes.
23:50:26 <fizzie> (It is an upgrade of the "TI-84 Plus SE". I think it's the only color screen in the series so far.)
23:50:33 <oren> does it cost less than matlab?
23:50:56 <oren> or is it comparable
23:51:31 <oren> why does wikipedia have all information on a product except its price?
23:52:18 <fizzie> Because who would keep that up to date? Anyway, yes.
23:53:42 <fizzie> MATLAB individual license is 2000/500 eur (normal/academic), the calculator is around 120 maybe. Depends on where you get it.
23:55:46 <fizzie> I wonder if I should get the free MATLAB now that I'm still employed by the university for a few more days. I hear it'll keep working for a year or two.
23:56:01 <oren> matlab stinks why bother
23:57:01 -!- AndoDaan_ has quit (Ping timeout: 250 seconds).
23:57:03 <oren> wow compiling the rust compiler is taking a long time
23:57:03 <fizzie> It stinks less than Octave in some contexts.
23:58:17 <oren> well actually it's about average for a large C++ program
23:58:31 <fizzie> (And also sometimes less than some other comparable tools, like SciPy. Depending, of course.)
23:59:58 -!- GeekDude has joined.
2014-12-20
00:00:13 -!- GeekDude has quit (Changing host).
00:00:14 -!- GeekDude has joined.
00:00:46 <fizzie> Oh, and the student MATLAB license is only 35/69 eur, so maybe the calculator isn't unequivocally cheaper.
00:00:50 <oren> llvm[4] what does the 4 mean?
00:04:17 <fizzie> Make recursion depth, maybe.
00:04:30 <elliott> it's the third element of llvm
00:04:34 <elliott> er
00:04:34 <elliott> fuck
00:04:35 <elliott> wow
00:04:37 <elliott> owned myself
00:05:03 <oerjan> nice off-by-two error
00:05:10 <oren> quick somone make a language where all arrays are two based
00:05:23 <elliott> oerjan: ...is that a double joke
00:05:45 -!- spiette has quit (Ping timeout: 258 seconds).
00:05:58 <oerjan> elliott: if llvm[0] is the first element, then llvm[4] is the fifth, surely
00:06:31 <elliott> ...
00:06:32 <elliott> right.
00:06:33 <oren> no llvm[0] and llvm[1] are undefined behaviour. the array begins with llvm[2].
00:06:34 <elliott> wow.
00:06:36 <elliott> I'm useless.
00:06:43 <elliott> oren: actually 4 isn't an integer in C
00:06:51 <elliott> only 0..3 and 5..72 are defined in the standard
00:06:55 <elliott> anything else is a gcc extension
00:07:10 <fizzie> oren: Perl $[ = 2; hth
00:07:41 <oerjan> i think this is time to relink http://www.strangehorizons.com/2000/20001120/secret_number.shtml
00:07:52 <oren> OH YEAH! Perl is incredibly configurable.
00:08:31 <fizzie> It's not the only language where you can customize the array indexing base.
00:08:48 <fizzie> Sometimes you can do it per-array.
00:09:36 -!- shikhout has joined.
00:10:16 -!- shikhout has changed nick to Guest51583.
00:10:41 <oren> if it's the make recursion depth then i'm back at 3 levels deep. the inception has been planted
00:10:58 <oerjan> pascal had array int[3..5] or thereabouts
00:11:00 <ais523> oren: have you read "recursive make considered harmful"?
00:11:23 <oerjan> iirc the 3..5 was a range type, you could give them names
00:11:24 <oren> no, but then i didn't write this code
00:11:39 <oren> i would never use recursive make anyway
00:12:10 <oerjan> oh and you could use character ranges
00:12:13 <oren> i would instead write a convoluted python perl shell abomination
00:12:44 <oerjan> haskell has arbitrary bounds too, except that's not actually statically typed
00:13:04 -!- shikhin has quit (Ping timeout: 264 seconds).
00:13:30 <oerjan> > Data.Array.fromList (3,5) [1,2,3]
00:13:31 <lambdabot> Not in scope: ‘Data.Array.fromList’
00:14:20 <oerjan> > Data.Array.listArray (3,5) [1,2,3]
00:14:21 <lambdabot> array (3,5) [(3,1),(4,2),(5,3)]
00:14:37 <oren> cool
00:14:47 <oerjan> > Data.Array.listArray ((1,1),(2,2)) [1,2,3,4]
00:14:48 <lambdabot> array ((1,1),(2,2)) [((1,1),1),((1,2),2),((2,1),3),((2,2),4)]
00:14:57 <oren> ummm...
00:15:05 * oerjan whistles innocently
00:15:29 <oren> how does it determine the ordering of the twodimensional points?
00:15:37 <oerjan> Ix type class
00:15:45 <oerjan> @src Ix
00:15:45 <lambdabot> class (Ord a) => Ix a where
00:15:45 <lambdabot> range :: (a,a) -> [a]
00:15:45 <lambdabot> index :: (a,a) -> a -> Int
00:15:45 <lambdabot> inRange :: (a,a) -> a -> Bool
00:15:45 <lambdabot> rangeSize :: (a,a) -> Int
00:15:47 <fizzie> Some BASICs have 'DIM a(12 TO 34) AS INTEGER' or so.
00:16:16 <oerjan> > index ((1,1),(2,2)) (1,2)
00:16:17 <lambdabot> 1
00:17:15 <oren> also how does it know not to do (1,3) in that range?
00:17:27 <oerjan> > range ((1,1),(2,2))
00:17:28 <lambdabot> [(1,1),(1,2),(2,1),(2,2)]
00:17:48 <oerjan> @src (,) Ix
00:17:48 <lambdabot> Source not found. You untyped fool!
00:17:53 <oerjan> @src Ix (,)
00:17:53 <lambdabot> Source not found. That's something I cannot allow to happen.
00:17:55 <oerjan> bah
00:18:09 <oerjan> @src is so ad-hoc
00:18:30 <oerjan> probably the rangeSize tells it enough
00:18:49 <oren> hmmm i guess the rule is it is a rectangle?
00:20:13 <int-e> funny how TCP/IP doesn't work if the target IP is wrong.
00:20:30 <oren> yeah funny dat.
00:21:09 <oerjan> oren: yeah
00:21:31 <oren> although my ghci doesn't have "range" for some reason
00:22:12 <oerjan> oren: it's in Data.Ix
00:22:46 <oerjan> and also exported from Data.Array
00:23:08 -!- ais523 has quit.
00:23:09 <oren> ah ok got it
00:23:23 -!- ais523 has joined.
00:23:57 <oerjan> sadly people seem to prefer the vector package (only 1d arrays) for efficiency reasons these days
00:24:20 <elliott> there is also repa
00:24:44 <int-e> Even with arrays, I only use 1d arrays if efficiency matters.
00:25:43 <oren> in C all arrays are just syntactic sugar for 1d arrays.
00:25:54 <int-e> Also I shouldn't be allowed to run servers, my Apache configuration had bitrotted horribly.
00:26:14 <oerjan> oren: arrays of pointers to arrays, presumably
00:26:32 <oren> yeah you can do that but it's a separate type
00:27:01 <oren> the regular multidimensional arrays in C have restrictions so they can be reduced to 1D
00:27:03 <oerjan> oren: oh then i don't remember what you mean
00:27:34 <oren> like only the first size of an array can be non-constant
00:27:42 <oerjan> right
00:28:50 <oren> wow i couldn't figure out how to end ghci until I remembered ^D.
00:29:17 <int-e> "GHCi, version 7.8.3: http://www.haskell.org/ghc/ :? for help"
00:29:51 <int-e> hmm, the help "page" has grown long. :q(uit) quits.
00:30:23 <oerjan> hm what if you have char a[5][3], can you risk each char [3] subarray is aligned to 4 bytes?
00:30:36 <int-e> I don't think so.
00:30:59 <fizzie> No, there are no gaps.
00:31:12 <oerjan> ok
00:31:19 <oren> fizzie: is it allowed for there to be gaps?
00:31:40 <oerjan> i assume fizzie wouldn't have formulated it that way if it were allowed
00:31:43 <fizzie> But a[1][4] is (ssh) undefined.
00:31:54 <int-e> fizzie: do you happen to know where this is specified in the C standard?
00:32:28 <oren> wow rust is *still* compiling
00:32:35 <fizzie> int-e: It's very vague. There's an explicit defect report reply, though.
00:33:19 <fizzie> int-e: http://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_017.html Q16.
00:33:28 <elliott> it is undefined??
00:33:38 <oerjan> int-e: i think ghci needs command-specific :help :(
00:33:42 <fizzie> int-e: "For an array of arrays, the permitted pointer arithmetic in subclause 6.3.6, page 47, lines 12-40 is to be understood by interpreting the use of the word ``object'' as denoting the specific object determined directly by the pointer's type and value, not other objects related to that one by contiguity. Therefore, if an expression exceeds these permissions, the behavior is undefined. For example, the following code has undefined behavior: int a[4][5
00:33:49 <elliott> oh, I guess because a[m][n] is not (a[m])[n]
00:34:02 <fizzie> -- int a[4][5]; a[1][7] = 0; /* undefined */ Some conforming implementations may choose to diagnose an ``array bounds violation,'' while others may choose to interpret such attempted accesses successfully with the ``obvious'' extended semantics."
00:34:03 -!- Patashu has quit (Disconnected by services).
00:34:03 -!- Patashu_ has joined.
00:34:04 <elliott> I was thinking it would have an obvious compositional equivalence to * and +
00:34:09 <elliott> in which case it would be very surprising
00:34:20 <elliott> bad syntax imo
00:34:45 <elliott> fizzie: very weird to specify UB and then list possible implementation choices, as if it's implementation-defined behaviour
00:34:46 -!- madbr has joined.
00:34:55 <oren> all C syntax is bad
00:35:11 <elliott> yes
00:35:35 <fizzie> elliott: Well, they're only human.
00:36:02 <fizzie> (Or at least likely so.)
00:36:10 <elliott> fizzie: it would be funny if the C standard had examples in it that were UB, or something
00:36:13 <elliott> (without intending to be)
00:36:33 <fizzie> I guess that's arguably one of the reasons the examples are non-normative.
00:36:44 <elliott> oerjan: what's that language based on the reals
00:36:52 <madbr> oren : how would you fix C syntax?
00:36:53 <elliott> (arguably esoteric, but invented by mathematicians or computer scientists, not internet nerds)
00:37:21 <elliott> http://www.wikihow.com/Make-a-Real-Language google is not helping
00:37:34 <elliott> Make up the dictionary. It is best to type on Microsoft Word, that way more can be added.
00:37:37 <oren> madbr: by doing a[n,m] instead, and defning the semantics thereofmore sanely
00:38:04 <oerjan> elliott: i cannot remember
00:38:04 <elliott> the semantics of 2D arrays are ok but the syntax is bad
00:38:10 <elliott> C's array handling is sort of a mess
00:38:26 <elliott> Tips: [...] Don't speak it around strangers, this is rude.
00:38:49 <elliott> blum-shub-smale, that was it
00:39:07 <madbr> oren : true... though I feel that's still a comparatively small mistake
00:39:11 <int-e> fizzie: found it, 6.2.5.20 "An array type describes a contiguously allocated nonempty set of objects [...]"
00:39:28 <elliott> it is annoying how it uses the vague "real function"
00:39:29 <oerjan> iä, blum-shub-smale
00:39:29 <oren> madbr: the more major mistake was the bitwise logics
00:39:41 <fizzie> int-e: Oh, you meant that part, not the "don't access beyond bounds of a subarray" part.
00:39:43 <int-e> oh I'm looking at C99...
00:39:44 <elliott> I guess you're meant to define the language by pasting the axioms of ZFC and the reals to show how functions can precisely be specified?
00:39:45 <fizzie> int-e: Sorry, misinterpreted.
00:40:07 <int-e> err. no, it's the C11 draft all right.
00:40:08 <madbr> ores: yes
00:40:40 <int-e> fizzie: The out of bounds thing is interesting, too...
00:41:02 <oren> also i guess it would be better to have pascal-style strings
00:41:14 <oren> the C strings are inefficient
00:41:20 <elliott> (I may or may not be asking about this because of my desire to produce [0,1]-indexed brainfuck.)
00:41:31 <fizzie> There are people (I'm looking askew at ##c) who insist that it's a mortal sin to use the word "multidimensional" in the context of C's arrays, even though the standard freely does that. (C11 6.5.2.1p3: "Successive subscript operators designate an element of a multidimensional array object." Footnote 142: "When several ``array of'' specifications are adjacent, a multidimensional array is ...
00:41:37 <fizzie> ... declared.")
00:42:11 <madbr> fizzie : yeah that's... pedantic
00:42:31 <coppro> < elliott> C's array handling is sort of a mess <-- I disagree strongly with "sort of"
00:42:44 <oerjan> elliott: surely you mean [0,2pi) with 2pi wrapping back to 0
00:42:59 <int-e> coppro: that's sort of opinionated
00:43:13 <coppro> int-e: I see what you did there
00:43:21 <elliott> oerjan: you some kind of tauist?
00:43:22 <elliott> :p
00:43:28 <elliott> (okay, maybe. that's kind of cute.)
00:43:33 <madbr> to be fair I'm not sure it's even possible to have much better array handling than C... all the tradeoffs are bad
00:43:44 <elliott> coppro: "sort of" is kind of an intensifier for me...
00:44:22 <coppro> elliott: oh. sarcasm?
00:44:27 <oerjan> elliott: hm? 2pi is where exp(ti) is periodic. you could also use {z\in C | abs(z)==1}
00:44:38 <elliott> coppro: I mean C's array handling is just plain a mess
00:44:47 <elliott> oerjan: it was a bad joke.
00:45:03 <oerjan> (i think i chose the worst possible notation for that last one)
00:45:35 <coppro> elliott: yeah, ok, I can figure out the intended intonation now
00:45:38 <elliott> it is just hard to see how to make a cute BF derivative out of it because specifying the function on the index you want to run as a ZFC term is kind of ridiculous
00:46:42 -!- ais523 has quit.
00:46:53 -!- ais523 has joined.
00:52:11 -!- Patashu has joined.
00:52:55 -!- Patashu_ has quit (Ping timeout: 250 seconds).
00:54:36 <zzo38> I have written how I would fix C without causing incompatibilities; if incompatibilities are allowed then more things can be fixed, such as less confusing syntax of types, and I would also include a few features of BLISS which I don't see anywhere else.
00:54:58 <zzo38> In BLISS a variable name is just treated as a constant which is the address of that variable.
00:56:26 <oren> zzo38 that is the sanest way.
00:56:36 <oren> in a low level language anyway
00:59:47 -!- AndoDaan has joined.
01:00:08 -!- Solace has quit (Quit: Connection closed for inactivity).
01:00:46 <AndoDaan> myndz got lucky, considering.
01:03:03 * oerjan swats AndoDaan for dismembering myndzi's nick too -----###
01:03:32 <boily> hellørjan. I see you're keeping in shape with the Swatter.
01:03:36 <ais523> <zzo38> In BLISS a variable name is just treated as a constant which is the address of that variable. ← ALGOL works like that
01:03:37 <boily> @massages-loud
01:03:37 <lambdabot> mroman said 9h 38m 18s ago: You might want to have a look at GADTs
01:03:37 <lambdabot> mroman said 9h 37m 51s ago: https://downloads.haskell.org/~ghc/6.6/docs/html/users_guide/gadt.html
01:03:42 <ais523> and possibly invented the practice?
01:03:43 <AndoDaan> See, and that's me not even trying not paying attention.
01:03:59 <boily> mroman: mrhelloman. indeed.
01:04:45 <oren> massages? MASSAGES? dammit!
01:04:52 <oerjan> hoilly
01:05:09 <oerjan> oren: you seem confused
01:05:13 <elliott> mroman: ghc 6.6 docs...
01:05:27 <elliott> boily: I suggest looking at GADT docs for a newer version than that if you do
01:05:37 <AndoDaan> Hey, are we sure that oren != oerjan?
01:05:43 <oerjan> @pun 2+2
01:05:44 <lambdabot> 4
01:05:49 <oerjan> AndoDaan: i'm pretty sure
01:05:52 <boily> AndoDaan: most definitely sure.
01:06:26 <AndoDaan> If you guys were me, that'd hardly be conclusive evidence.
01:06:26 <boily> elliott: I remember having watched a great GADT tutorial some time ago. it also discussed phantom types.
01:06:55 <boily> AndoDaan: I'm not you. you're not enough sane.
01:06:59 <elliott> boily: mroman probably @told you that in response to you asking about where clauses in data declarations
01:07:02 <elliott> since that's the GADT syntax
01:07:11 -!- Patashu_ has joined.
01:07:11 -!- Patashu has quit (Disconnected by services).
01:07:26 <boily> elliott: I had forgot a lot about gadts and suchlike. they subtly confuse me.
01:07:52 <AndoDaan> @messages-forte
01:07:52 <lambdabot> Unknown command, try @list
01:07:57 <boily> (but then, with parallels to make with lenses and Scott encodings, it makes more sense.)
01:08:16 <AndoDaan> @massages-load
01:08:16 <lambdabot> You don't have any messages
01:08:24 <AndoDaan> cool.
01:08:38 <AndoDaan> 4veralone.
01:09:23 <oren> @tell oren hello me
01:09:23 <lambdabot> You can tell yourself!
01:09:28 <oren> epic
01:09:32 <zzo38> I happen to like GADT it can help many purposes
01:09:46 <oerjan> @tell AndoDaan for a good time call 555-666-31415
01:09:46 <lambdabot> Consider it noted.
01:09:50 <elliott> do you want me to friendzone you. we can be in the friend zone together and send each other lots and lots of lambadbot massages
01:10:10 <AndoDaan> Is that's jenny's number?
01:10:24 <oerjan> nope
01:10:29 <oren> that's lucifer's number
01:11:03 <AndoDaan> got excited that i got a msg for a second.
01:11:13 <AndoDaan> 4everAlone-1second
01:11:39 <AndoDaan> fake-devil-pi
01:12:16 <AndoDaan> fake-devil-piTimesTenThousand
01:12:23 <AndoDaan> For accuracy.
01:14:10 <AndoDaan> Any chess players/enthusiastic amongst you?
01:14:21 <ais523> AndoDaan: zzo38's generated a ton of chess variants
01:15:11 <AndoDaan> Generated?
01:15:17 <oren> my favorite chess variant is checkers played with chess pieces. confuses everyone around you
01:15:34 <AndoDaan> Ha
01:16:05 <AndoDaan> I think that's the variant movie characters are always playing.
01:16:09 -!- ais523 has quit (Read error: Connection reset by peer).
01:16:32 -!- ais523 has joined.
01:16:42 <boily> AndoDaan: do you like xiangqi or shōgi?
01:17:03 <madbr> trying to come up with a turing complete chess variants
01:17:15 <madbr> it looks feasible but it might require multiple kings
01:17:28 <boily> madbr: hi! long time no see!
01:17:38 <madbr> sup
01:17:40 <AndoDaan> I've learned them. Thought the idea of Shogi was really cool, but couldn't find opponents back in the day.
01:18:04 <elliott> madbr: on an infinite board, I guess?
01:18:24 <AndoDaan> Well, each game starts with TWO kings, so... hth
01:18:34 <oren> chess with real number positions
01:18:44 <zzo38> I know how to play xiangqi and shogi
01:18:45 <boily> chess, on a 2D brainfuck tape that grows as needed...
01:18:51 <zzo38> But there are a lot of other chess variant game too
01:18:52 <elliott> chess on ice
01:19:42 <boily> madbr: nearly holidays!
01:19:47 <boily> how's life on your end?
01:19:52 <oren> elliott: that would be cool. A piece must move the maximum distance it can move, in the direction chosen
01:20:25 <coppro> oren: how does that work for pawns and captures?
01:20:59 <oren> hmm, you choose whther to move one extra space and capture, and pawns are assumed to have spiked boots.
01:21:34 <oren> similar knights jump so they don't slide
01:22:13 <int-e> what about castling? if a king can castle to the king side, moving two spaces, can it also move only one space instead?
01:22:40 <oren> when you castle, the rook moves as far to the other side as it can.
01:22:57 <int-e> uh... ok, but that wasn't the question.
01:23:02 <madbr> boily : decided to take monday + tuesday off so already in xmas mode :3
01:23:20 <oren> hmm the king has spiked boots too.
01:24:07 <boily> madbr: nice ^^
01:24:28 <boily> oren: should equipment be restricted to spiked boots only, or be more creative?
01:24:38 <oren> so he can choose how far to move. on the other hand maybe if you stop in front of a piece you can push them
01:24:44 <int-e> oren: final question, about pawns; on their first move, assuming it's not a capture, do they get a choice whether they advance two spaces or one?
01:26:19 <int-e> (actually I was assuming that "as far as possible" was with respect to the usual rules of chess, i.e. the slow pieces (pawn, king, knight) would still be slow, and now be allowed to move further than before.)
01:26:43 <oren> hmmm... maybe they should.
01:27:07 <int-e> iow, only bishop, rook and queen would be affected.
01:27:20 <oren> yeah that's it.
01:27:55 <oren> i think knights are like dragoons from final fantasy: they move and attack my jumping
01:28:19 <int-e> which leaves open the question for the few cases where a slow piece can move one or two steps in a particular direction.
01:28:41 <int-e> that's why I asked about castling and the first forward move of pawns.
01:28:53 <oren> the slow pieces would probably still decide.
01:29:16 -!- S1 has quit (Quit: S1).
01:29:50 -!- callforjudgement has joined.
01:30:12 -!- AndoDaan has quit (Read error: Connection reset by peer).
01:30:15 <elliott> ssehc, where you have to make valid moves in reverse to turn a checkmate position back into the initial one
01:30:19 <elliott> that probably exists
01:31:09 <oren> who decides what piece was in a position when a piece is untaken?
01:31:49 -!- AndoDaan has joined.
01:33:42 -!- ais523 has quit (Ping timeout: 265 seconds).
01:33:54 -!- callforjudgement has changed nick to ais523.
01:34:27 <oren> actually, chessehc! you can freely take or antitake pieces. every valid game begins at a checkmate and ends at one.
01:35:04 <oren> wiat that would be ssechcess
01:35:30 <oren> chessech would end at the initial state
01:35:58 <oren> the winner is whoever's pieces spent the least time dead.
01:36:40 <oren> hmm no wait then the game might never end
01:38:32 <int-e> I don't see how ssehc will end. A player can just leave one of her pieces in the home ranks of the opponent and refuse to ever un-move it.
01:38:49 <oren> maybe a cooperative game towards a nontrivial goal?
01:40:42 <oren> e.g. begin at a checkmate for white, end at a checkmate for black, but pass through a given state.
01:41:05 <tromp_> computation is a 0 player game
01:41:22 <tromp_> nondeterministic computation is a 1 player game
01:41:36 <tromp_> alternating computation is a 2 player game
01:42:04 <AndoDaan> Realtime
01:42:17 <AndoDaan> multiplayer computatin is physics.
01:45:17 -!- dianne_ has quit (Ping timeout: 245 seconds).
01:47:16 -!- dianne has joined.
01:54:35 -!- GeekDude has quit (Remote host closed the connection).
01:54:41 -!- tswett has joined.
02:06:18 -!- AndoDaan has quit (Quit: bbl).
02:09:46 -!- kcm1700_ has joined.
02:11:52 -!- kcm1700 has quit (Ping timeout: 250 seconds).
02:12:37 -!- tswett has quit (Quit: Colloquy for iPhone - http://colloquy.mobi).
02:14:02 -!- kcm1700_ has quit (Ping timeout: 250 seconds).
02:14:51 -!- kcm1700 has joined.
02:26:50 -!- boily has quit (Quit: P-ADIC CHICKEN).
02:36:05 -!- glguy_ has joined.
02:36:11 -!- glguy_ has quit (Client Quit).
02:47:42 -!- bb010g has joined.
02:56:49 <Jafet> itt https://en.wikipedia.org/wiki/Proof_game
03:21:38 -!- Guest51583 has quit (Ping timeout: 250 seconds).
03:23:46 -!- PinealGlandOptic has joined.
03:43:25 -!- GeekDude has joined.
03:45:09 -!- GeekDude has quit (Client Quit).
03:48:16 -!- GeekDude has joined.
03:57:31 <oerjan> @tell int-e i remembered where i'd seen such a monster before http://www.girlgeniusonline.com/comic.php?date=20121029
03:57:31 <lambdabot> Consider it noted.
04:01:57 -!- AndoDaan has joined.
04:12:57 <oerjan> @tell int-e apparently they're called dreens
04:12:57 <lambdabot> Consider it noted.
04:13:48 <oerjan> @tell int-e *-s
04:13:48 <lambdabot> Consider it noted.
04:14:00 -!- copumpkin has joined.
04:19:55 -!- Solace has joined.
04:20:57 -!- Solace has changed nick to Spiffy.
04:21:17 <Spiffy> Ugh i need to find a name to register
04:22:38 -!- contrapumpkin has joined.
04:25:40 -!- copumpkin has quit (Ping timeout: 264 seconds).
04:25:45 -!- contrapumpkin has changed nick to copumpkun.
04:25:50 -!- copumpkun has changed nick to copumpkin.
04:31:12 -!- nys has quit (Quit: quit).
04:32:29 -!- contrapumpkin has joined.
04:36:28 -!- copumpkin has quit (Ping timeout: 264 seconds).
04:39:24 -!- mitchs_ has quit (Ping timeout: 245 seconds).
04:42:02 -!- contrapumpkin has quit (Read error: Connection reset by peer).
04:51:38 -!- mitchs has joined.
05:03:42 -!- AndoDaan has quit (Ping timeout: 256 seconds).
05:03:50 -!- AndoDaan_ has joined.
05:09:35 -!- callforjudgement has joined.
05:10:05 -!- ais523 has quit.
05:14:13 -!- AndoDaan_ has quit (Ping timeout: 250 seconds).
05:14:41 -!- AndoDaan_ has joined.
05:15:39 -!- callforjudgement has quit (Read error: Connection reset by peer).
05:15:42 -!- scarf has joined.
05:15:57 -!- scarf has changed nick to ais523.
05:16:32 -!- AndoDaan_ has quit (Read error: Connection reset by peer).
05:23:18 <MDude> http://esolangs.org/wiki/Cvlemar I'm guessing this isn't implemented.
05:26:00 <zzo38> There isn't any implmentation that I know of, anyways.
05:26:17 <zzo38> Although, there is supposed to be category to indicate if it is implemented or it isn't implemented.
05:26:32 -!- shikhin has joined.
05:26:55 -!- shikhin has changed nick to Guest9481.
05:28:29 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:37:44 -!- MDude has changed nick to MDream.
05:44:00 -!- copumpkin has joined.
06:07:19 -!- callforjudgement has joined.
06:07:22 -!- ais523 has quit.
06:12:09 -!- shikhout has joined.
06:12:31 -!- shikhout has changed nick to Guest26264.
06:14:57 -!- Guest9481 has quit (Ping timeout: 240 seconds).
06:36:22 -!- CrazyM4n has joined.
06:37:06 <CrazyM4n> So I got windows installed
06:43:34 -!- callforjudgement has changed nick to ais523.
06:47:08 -!- ais523 has quit (Read error: Connection reset by peer).
06:47:14 -!- callforjudgement has joined.
06:57:36 -!- kcm1700 has quit (Read error: Connection reset by peer).
06:57:39 -!- kcm1700_ has joined.
07:00:59 -!- CrazyM4n has quit (Quit: Page closed).
07:03:58 -!- newsham has quit (Ping timeout: 258 seconds).
07:10:29 -!- supay has quit (Ping timeout: 258 seconds).
07:10:52 -!- skarn has quit (Ping timeout: 258 seconds).
07:12:01 -!- incomprehensibly has quit (Ping timeout: 258 seconds).
07:12:47 -!- Spiffy has quit (Ping timeout: 258 seconds).
07:12:52 -!- supay has joined.
07:13:03 -!- incomprehensibly has joined.
07:13:33 -!- drdanmaku has quit (Ping timeout: 258 seconds).
07:14:39 -!- Solace has joined.
07:15:39 -!- drdanmaku has joined.
07:16:14 -!- trn has quit (Ping timeout: 258 seconds).
07:29:49 -!- trn has joined.
07:33:31 -!- skarn has joined.
07:37:07 -!- newsham has joined.
07:49:16 -!- oerjan has quit (Quit: Nite).
08:11:52 -!- dts|pokeball has quit (Ping timeout: 264 seconds).
08:11:55 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
08:40:29 -!- mitchs has quit (Ping timeout: 265 seconds).
08:52:19 -!- mitchs has joined.
09:10:08 -!- Solace has quit (Quit: Connection closed for inactivity).
09:25:13 -!- AndoDaan has joined.
09:29:47 -!- AndoDaan has quit (Ping timeout: 265 seconds).
09:36:49 -!- mitchs has quit (Ping timeout: 250 seconds).
09:48:52 -!- mitchs has joined.
09:54:08 -!- scarf has joined.
09:56:22 -!- callforjudgement has quit (Ping timeout: 255 seconds).
10:04:02 -!- mitchs has quit (Ping timeout: 245 seconds).
10:15:57 -!- mitchs has joined.
10:44:37 -!- J_Arcane has quit (Ping timeout: 240 seconds).
11:18:43 -!- SopaXorzTaker has quit (Changing host).
11:18:43 -!- SopaXorzTaker has joined.
11:20:52 -!- mitchs has quit (Ping timeout: 264 seconds).
11:29:43 -!- J_Arcane has joined.
11:32:28 -!- mitchs has joined.
11:35:18 -!- madbr has quit (Quit: Pics or it didn't happen).
11:39:23 -!- scarf has changed nick to ais523.
11:46:41 -!- S1 has joined.
11:50:08 -!- ais523 has quit (Read error: Connection reset by peer).
11:50:17 -!- ais523 has joined.
12:06:52 -!- Patashu_ has quit (Ping timeout: 255 seconds).
12:11:57 -!- shikhin has joined.
12:12:21 -!- shikhin has changed nick to Guest11984.
12:14:56 -!- Guest26264 has quit (Ping timeout: 256 seconds).
12:28:05 -!- mitchs has quit (Ping timeout: 264 seconds).
12:32:33 -!- ais523 has quit.
12:39:29 -!- mitchs has joined.
12:53:34 -!- ocharles_ has quit (Excess Flood).
12:53:53 -!- ocharles_ has joined.
13:13:59 -!- mitchs has quit (Ping timeout: 245 seconds).
13:20:20 -!- boily has joined.
13:25:53 -!- mitchs has joined.
13:28:04 -!- mitchs_ has joined.
13:30:50 -!- mitchs has quit (Ping timeout: 244 seconds).
13:37:41 -!- mitchs_ has quit (Ping timeout: 264 seconds).
13:40:29 <int-e> @metar LOWI
13:40:30 <lambdabot> LOWI 201320Z 16005KT 100V180 9999 FEW020 08/05 Q1021 NOSIG
13:41:10 -!- Guest11984 has changed nick to shikhin.
13:41:17 -!- shikhin has quit (Changing host).
13:41:18 -!- shikhin has joined.
13:49:36 -!- mitchs has joined.
14:18:16 -!- mitchs has quit (Ping timeout: 255 seconds).
14:29:54 -!- mitchs has joined.
14:34:22 -!- mitchs has quit (Ping timeout: 240 seconds).
14:47:51 -!- GeekDude has joined.
15:25:13 * Sgeo only now learns of a Star Wars villain named Tarkin
15:25:26 <Sgeo> Suddenly the name Tarquin makes much more sense
15:27:18 -!- S1 has quit (Quit: S1).
15:57:05 -!- drdanmaku has joined.
15:59:27 -!- hjulle has quit (Ping timeout: 245 seconds).
16:00:30 -!- hjulle has joined.
16:19:38 -!- jix_ has joined.
16:20:09 -!- perrier__ has joined.
16:22:31 -!- int-e_ has joined.
16:26:26 -!- quintopia has joined.
16:35:04 -!- variable has quit (Ping timeout: 255 seconds).
16:38:29 -!- GeekDude has quit (Ping timeout: 255 seconds).
16:41:49 -!- diginet has quit (Ping timeout: 255 seconds).
16:42:16 -!- b_jonas has quit (Ping timeout: 255 seconds).
16:43:10 -!- qlkzy has quit (Ping timeout: 255 seconds).
16:43:30 -!- quintopi1 has quit (*.net *.split).
16:43:30 -!- sebbu2 has quit (*.net *.split).
16:43:30 -!- jix has quit (*.net *.split).
16:43:30 -!- weissschloss has quit (*.net *.split).
16:43:31 -!- perrier_ has quit (*.net *.split).
16:43:31 -!- int-e has quit (*.net *.split).
16:43:32 -!- ocharles__ has joined.
16:43:32 -!- mitchs has joined.
16:43:32 -!- supay_ has joined.
16:43:32 -!- kcm1700_ has quit (Ping timeout: 245 seconds).
16:43:33 -!- InvalidC1 has joined.
16:43:34 -!- scounder has quit (Ping timeout: 265 seconds).
16:43:34 -!- ocharles_ has quit (Ping timeout: 265 seconds).
16:43:34 -!- KingOfKarlsruhe has quit (Ping timeout: 265 seconds).
16:43:34 -!- shachaf has quit (Ping timeout: 265 seconds).
16:43:34 -!- supay has quit (Ping timeout: 265 seconds).
16:43:34 -!- SopaXorzTaker has quit (Ping timeout: 265 seconds).
16:43:35 -!- Lymia has quit (Ping timeout: 265 seconds).
16:43:35 -!- coppro has quit (Ping timeout: 265 seconds).
16:43:35 -!- mroman has quit (Ping timeout: 265 seconds).
16:43:35 -!- boily has quit (Ping timeout: 265 seconds).
16:43:35 -!- nisstyre has quit (Ping timeout: 265 seconds).
16:43:36 -!- incomprehensibly has quit (Ping timeout: 265 seconds).
16:43:36 -!- InvalidCo has quit (Ping timeout: 265 seconds).
16:43:36 -!- supay_ has changed nick to supay.
16:43:36 -!- nyuszika7h_ has joined.
16:43:37 -!- ocharles__ has changed nick to ocharles_.
16:43:37 -!- incomprehensibly has joined.
16:43:37 -!- weissschloss has joined.
16:43:38 -!- supay has quit.
16:43:38 -!- G33kDude has joined.
16:43:41 -!- oren has quit (*.net *.split).
16:43:41 -!- drdanmaku_ has joined.
16:43:41 -!- fungot has quit (Ping timeout: 276 seconds).
16:43:41 -!- zemhill_ has quit (Ping timeout: 276 seconds).
16:43:42 -!- G33kDude has changed nick to GeekDude.
16:43:42 -!- diginet_ has joined.
16:43:50 -!- scounder has joined.
16:44:06 -!- shachaf has joined.
16:44:29 -!- Lymia has joined.
16:44:29 -!- Lymia has quit (Changing host).
16:44:29 -!- Lymia has joined.
16:45:01 -!- fizzie has quit (Ping timeout: 265 seconds).
16:45:02 -!- nyuszika7h has quit (Ping timeout: 265 seconds).
16:45:02 -!- lambdabot has quit (Ping timeout: 265 seconds).
16:45:03 -!- fizzie has joined.
16:45:04 -!- drdanmaku has quit (*.net *.split).
16:45:04 -!- mroman has joined.
16:45:18 -!- fizzie has quit (Changing host).
16:45:18 -!- fizzie has joined.
16:45:19 -!- coppro has joined.
16:45:30 -!- variable has joined.
16:45:42 -!- mitchs has quit (Ping timeout: 245 seconds).
16:45:44 -!- FireFly has quit (Ping timeout: 244 seconds).
16:46:03 -!- nisstyre has joined.
16:46:12 -!- zemhill_ has joined.
16:46:15 -!- FireFly has joined.
16:47:41 -!- oren has joined.
16:48:02 -!- b_jonas has joined.
16:48:09 -!- qlkzy_ has joined.
16:49:49 -!- lambdabot has joined.
16:50:26 -!- ocharles_ has quit (Changing host).
16:50:26 -!- ocharles_ has joined.
16:50:49 -!- incomprehensibly has quit (Changing host).
16:50:49 -!- incomprehensibly has joined.
16:51:10 -!- drdanmaku_ has quit (Changing host).
16:51:11 -!- drdanmaku_ has joined.
16:51:49 -!- variable has quit (Changing host).
16:51:49 -!- variable has joined.
16:51:51 -!- variable has quit (Changing host).
16:51:51 -!- variable has joined.
16:52:42 -!- kcm1700 has joined.
16:52:51 -!- KingOfKarlsruhe has joined.
16:54:50 -!- supay has joined.
16:57:39 -!- mitchs has joined.
16:58:33 -!- nyuszika7h_ has changed nick to nyuszika7h.
17:03:11 -!- sebbu has joined.
17:03:46 -!- sebbu has quit (Changing host).
17:03:46 -!- sebbu has joined.
17:06:42 -!- mitchs has quit (Ping timeout: 250 seconds).
17:14:15 -!- Lorenzo64 has joined.
17:18:40 -!- mitchs has joined.
17:21:38 -!- drdanmaku_ has changed nick to drdanmaku.
17:31:37 -!- MDream has changed nick to MDude.
17:38:09 -!- int-e_ has changed nick to int-e.
18:03:02 -!- oren has quit (Ping timeout: 250 seconds).
18:04:06 -!- oren has joined.
18:12:09 -!- shikhout has joined.
18:12:31 -!- shikhout has changed nick to Guest64038.
18:14:57 -!- shikhin has quit (Ping timeout: 240 seconds).
18:42:47 -!- oren has quit (Ping timeout: 245 seconds).
18:45:08 -!- Lorenzo64 has quit (Quit: Leaving).
19:20:15 -!- CrazyM4n has joined.
19:28:29 -!- Guest64038 has changed nick to shikhin.
19:28:35 -!- shikhin has quit (Changing host).
19:28:35 -!- shikhin has joined.
19:48:23 -!- nisstyre has quit (Changing host).
19:48:23 -!- nisstyre has joined.
20:06:13 -!- oren has joined.
20:17:30 -!- diginet_ has quit (Quit: diginet has quit!).
20:18:06 -!- diginet has joined.
20:24:59 -!- oren has quit (Ping timeout: 244 seconds).
20:26:16 -!- oren has joined.
20:37:36 -!- evalj has joined.
20:56:46 -!- Solace has joined.
20:57:06 <Solace> So heresy is pretty gud
21:04:49 -!- scounder has quit (Changing host).
21:04:49 -!- scounder has joined.
21:22:14 <J_Arcane> Solace: the language?
21:23:04 <Solace> Yes
21:23:32 <J_Arcane> :) Glad you like it.
21:23:37 <Solace> Heresy and blasphemy! shoo's J_Arcane to prison
21:24:04 <Solace> Its very smooth for me and pretty nice
21:24:26 <J_Arcane> (for (x in (range 1 to 100) with 0) (carry (+ x cry)))
21:36:24 -!- CrazyM4n has quit (Quit: Leaving).
21:36:59 -!- zzo38 has quit (Remote host closed the connection).
21:47:45 <Solace> So hows ya'll doin'
21:58:40 <oren> im good
22:01:12 <Solace> Thats good
22:01:24 <Solace> ∞ + (−∞), (−∞) + ∞ 
22:03:29 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
22:05:14 -!- mitchs has quit (Ping timeout: 265 seconds).
22:10:57 <Taneb> > (1/0) + (-1/0)
22:10:58 <lambdabot> NaN
22:12:59 -!- Patashu has joined.
22:17:02 -!- mitchs has joined.
22:18:37 <Solace> How do i uncap max ram
22:23:25 <MDude> Download more of it.
22:23:54 <elliott> @google download more ram
22:23:54 <lambdabot> http://www.downloadmoreram.com/
22:23:54 <lambdabot> Title: Download More RAM!
22:25:14 -!- GeekDude has joined.
22:39:28 -!- roasted42 has joined.
22:50:46 -!- mitchs has quit (Ping timeout: 250 seconds).
23:01:35 <oren> make a swap file?
23:02:06 <oren> (assuming you don't want to use all the ram AT ONCE)
23:02:31 -!- mitchs has joined.
23:14:35 -!- roasted42 has quit (Ping timeout: 272 seconds).
23:15:21 -!- roasted42 has joined.
23:17:19 -!- oerjan has joined.
23:23:13 -!- evalj has quit (Remote host closed the connection).
23:27:47 -!- mitchs has quit (Ping timeout: 245 seconds).
23:27:51 -!- oren has quit (Quit: Lost terminal).
23:30:05 <Sgeo> 'Because WebTV utilized strong encryption, upon launch in 1996, WebTV was classified as munitions (a military weapon) by the United States government and was therefore barred from export under United States security laws at the time.'
23:32:42 <oerjan> <Sgeo> Suddenly the name Tarquin makes much more sense <-- heh i guess you didn't notice the accompanying star wars shoutouts either? :)
23:32:57 <Sgeo> I noticed the obvious ones
23:33:03 <Sgeo> But I don't really know Star Wars that well
23:37:10 -!- roasted42 has quit (Changing host).
23:37:10 -!- roasted42 has joined.
23:37:11 -!- roasted42 has changed nick to TheM4ch1n3.
23:39:23 <oerjan> those were some short logs today.
23:39:34 -!- mitchs has joined.
23:41:39 -!- roasted42 has joined.
23:41:41 -!- roasted42 has quit (Changing host).
23:41:41 -!- roasted42 has joined.
23:41:41 -!- TheM4ch1n3 has changed nick to Guest39057.
23:41:41 -!- Guest39057 has quit (Killed (sendak.freenode.net (Nickname regained by services))).
23:41:41 -!- roasted42 has changed nick to TheM4ch1n3.
23:42:35 <TheM4ch1n3> Breeth in when looking at the green of plants, then out into crowds where people are looking where they are going, after a while you will notice something strange ...
23:43:01 <elliott> go on
23:43:32 <TheM4ch1n3> it is because the spirit of man "son of man", breathed and looked at plants
23:44:30 <elliott> what strange thing will I notice?
23:45:00 <TheM4ch1n3> contiousness gets like +seconds into the future, from boosting other peoples sight
23:45:17 <oerjan> spelling otoh takes a deep dive
23:47:17 * int-e misses fungot's voice of reason.
23:47:25 <oerjan> eek
23:49:46 <int-e> oerjan: All I could remember about that Dreen monster was that it was an impressive fighter. I *thought* I had seen it in GG, but I couldn't pinpoint where. I also looked through Buck Godot (which is a bit shorter than the whole collection of GG strips), but they don't appear there ;)
23:50:12 <oerjan> int-e: there's also a wikia page, which has some more links
23:50:51 <oerjan> from back on the initial wulfenbach castle act
23:51:55 <oerjan> and also some information from the non-free books
23:54:03 -!- zzo38 has joined.
23:55:27 <int-e> nice.
23:55:55 <int-e> the time stop device is called a "take-five bomb", hmm.
23:56:12 <oerjan> i remember reading that too
23:56:31 <oerjan> although wasn't that a fan-invented name
23:58:06 <int-e> I dunno. It's not attributed to the Word of God.
23:58:44 <int-e> "Item has gained a fan name" <-- I guess you're right.
23:58:54 <elliott> TheM4ch1n3: btw, your contributions are good but this channel is about programming so it might not interest you much
23:59:13 <oerjan> hasn't TheM4ch1n3 been here for a while
23:59:25 <oerjan> i think e should know what we're about by now
2014-12-21
00:00:02 <int-e> web comics, code golfing, Haskell, the many warts of C, category theory and esoteric programming languages.
00:00:04 <TheM4ch1n3> I am a programmer, and sleepy atm ...
00:00:34 <int-e> Also orthography and grammar.
00:00:43 <oerjan> sleepy atms are bad, they keep your money
00:01:15 <elliott> same except without the sleepy part
00:01:19 <int-e> And... I forgot the most important topic: puns.
00:01:31 <elliott> int-e: you make this channel sound so much better than it actually is :p
00:01:43 <int-e> elliott: you're welcome :P
00:01:52 <Taneb> elliott, you are atm?
00:02:18 <elliott> yes, I'm an automated teller machine; I automatically tell this channel things
00:02:45 <oerjan> a web comic about code golfing in esoteric programming languages the category theory of the many warts of C
00:03:15 <zzo38> OK you can try to make such a comic?
00:04:02 <zzo38> Well, the main topic of this channel is esoteric programming but a lot of things can be discussed; of course, mostly the things listed there.
00:05:05 -!- TheM4ch1n3 has quit (Ping timeout: 244 seconds).
00:07:16 -!- roasted42 has joined.
00:12:01 -!- shikhout has joined.
00:12:22 -!- shikhout has changed nick to Guest31893.
00:14:52 -!- shikhin has quit (Ping timeout: 245 seconds).
00:19:50 -!- oren has joined.
00:23:31 <oren> does the nightly build of something mean they compile the whole project every night?
00:25:10 <zzo38> I don't know
00:25:41 <oren> because i compile most of my projects every few minutes when i'm working on them
00:25:48 <zzo38> Wikipedia says a nightly build is a neutral build done automatically
00:26:07 <zzo38> And, "a neutral build is a software build that reflects the current state of the source code checked into the source code version control system by the developers, and done in a neutral environment (an environment not used for development)"
00:26:42 <oren> ohhh... i get it. it's a clean build with nothing from previousbuilds
00:27:45 <oren> so they can know that the whole thing actually compiles, and doesn't just work on their system
00:28:44 <Jafet> Indeed. Now they know it works on one other system.
00:29:18 <oren> ha. yeah the rust source code doesn't compile on my system.
00:29:40 <oren> it takes all my memory and forces me to kill it
00:32:23 <oerjan> well they also know that it has all the source files and isn't just using a .o file that was left around...
00:32:23 <HackEgo> [wiki] [[MNNBFSL]] http://esolangs.org/w/index.php?diff=41521&oldid=41506 * AndoDaan * (-64) /* External resources */ Live version.
00:32:23 -!- idris-bot has quit (Quit: Terminated).
00:32:23 -!- idris-bot has joined.
00:32:23 -!- idris-bot has quit (Client Quit).
00:32:24 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
00:32:50 <oerjan> fiendish
00:33:32 <oren> oerjan: yeah that's what i thought. well i'm trying to at least install the binaries now, we'll see if they work...
00:35:43 <int-e> oren: out of curiosity, how much memory do you have?
00:36:00 <elliott> not enough
00:36:11 <elliott> oren: btw have you heard of swap
00:36:16 <int-e> elliott: well that's true for everybody.
00:36:24 <elliott> int-e: yeah but it's a very not enough
00:36:38 <oren> i have 2GB of memory and 2GB swap
00:36:41 <elliott> like 1 or 2 gigabytes the last time this came up re: firefox's amazing incredible huge gigantic bloat that needs to be rlimited away, or something
00:37:11 <int-e> oren: ah. ok, that's small nowadays.
00:37:15 <oren> i am running 64-bit linux
00:37:41 * int-e had to upgrade to 8GB because 4GB was too little for some stuff.
00:37:42 <oren> elliott already told me thats dumb
00:38:08 <elliott> I have 16 gigabytes and I'd still kind of like more
00:38:15 <elliott> it's enough but more breathing room would be good
00:38:27 <oren> 64000 bytes should be enought for anyone
00:38:47 <int-e> (this PC's motherboard can't handle more than 8 GB, unfortunately.)
00:39:13 <oren> i am on a cheap craptop
00:39:26 -!- idris-bot has joined.
00:39:28 <int-e> poor lambdabot is confined to a 512 MB+512 MB swap VM.
00:39:52 -!- roasted42 has quit (Ping timeout: 240 seconds).
00:40:05 <elliott> more RAM + bigger SSD is the finest luxury of computing
00:40:51 <oren> apparently rustc binaries install fine, i just can't compile them myself
00:41:31 <elliott> not sure how that's surprising
00:42:00 -!- roasted42 has joined.
00:42:11 <oren> eventually i will buy a less crappy computer, like in a year or so
00:44:12 -!- drdanmaku has joined.
00:46:52 <oerjan> craptop is such a nice word
00:47:30 <int-e> I thought the term was "netbook".
00:49:08 <int-e> (I have one. I don't build software on it anymore. The last big thing I compiled was ghc 7.6.1...)
00:49:21 <Solace> So apparently dark is faster than light since it carries no information and im done with physics forever
00:50:32 <oerjan> Solace: well it's not really an object...
00:50:44 <Solace> Yeh
00:50:50 <int-e> "Light thinks it travels faster than anything but it is wrong. No matter how fast light travels, it finds the darkness has always got there first, and is waiting for it." - Pratchett (via Google)
00:52:08 <int-e> From "Reaper Man", hmm.
00:52:10 <Solace> But in geometric terms the point when you close scissors gets to the end before the blades close so if you were to use really long (light year) sized scissor blades would the point still get there as fast
00:52:28 <Solace> Gonna go eat
00:52:37 <Solace> And back to heresy
00:52:56 <oerjan> Solace: that's absolutely nowhere _near_ the weirdest thing in physics. it doesn't really even need relativity or quantum mechanics
00:53:31 * int-e wonders whether "Solace" has any relation to "Quantum"
00:53:53 <Solace> If you heat the head of a pin to the same point as the core of the sun it will kill every living thing in a 1000 mile radious
00:54:09 <Solace> What int-e ?
00:54:47 <int-e> Solace: apparently not. (There's that James Bond movie.)
00:54:49 <oerjan> the head of a pin? i'm not sure i buy that, needs some calculation...
00:55:09 <Solace> 15 billion kelvin
00:55:13 <Solace> Is pretty hot
00:55:15 <oerjan> wat
00:55:18 <int-e> How many fairies can dance on that head of a pin?
00:55:30 <Solace> But what about plank temperature
00:55:30 <oerjan> i'm pretty sure the core of the sun isn't believed to be that hot
00:56:14 <oerjan> Solace: million, not billion
00:56:26 <Solace> Sorry
00:56:35 <Solace> I was like what
00:57:18 <oerjan> because i remember that fusion reactors are only millions, but they still have to be _hotter_ than the sun to compensate for lack of pressure.
00:57:26 <Solace> Plank temperature is 141e^31 i think
00:57:30 -!- qlkzy_ has changed nick to qlkzy.
00:57:38 <Solace> Planck? i forget how its spelt
00:57:55 <Solace> The unit of measure i mean
00:57:58 <Solace> Not the wood
00:58:34 <oerjan> i think planck
00:58:39 <Solace> Yeh
00:59:00 <Solace> Well doesnt it get really hot if you were to compress waves to that point
01:00:31 <oerjan> hm where can you find a formula for the amount of energy in a pinhead given temperature
01:01:09 <Jafet> A pinhead shaped cloud of high-energy subatomic particles
01:02:22 <oerjan> hm equation of state may be the term
01:02:45 <oren> Well the boltzmann equation relates particle speed to temperature, so combine that with kinetic energy...
01:02:57 <oerjan> argh so many
01:03:08 <oren> both those equations might be wrong at that temperature tho
01:05:04 <Solace> How old are you oerjan
01:05:06 <oerjan> bah i cannot be bothered
01:05:09 <oerjan> Solace: 44
01:05:36 <oren> well assuming they're not, you do E = T*(3/2)*k_B
01:05:57 <Solace> Im alot younger than you and pretty much every one here ;-;
01:06:03 -!- roasted42 has quit (Ping timeout: 272 seconds).
01:06:04 <oren> I am 21
01:06:20 <Solace> 5 years younger than oren
01:06:24 <oerjan> i'm probably the oldest regularly talking here...
01:06:43 -!- nys has joined.
01:07:03 <oerjan> although there was someone here even older a few years back, he made a cobol-based esolang :P
01:07:25 <Solace> Welp
01:07:47 <Solace> I have alot to learn
01:07:52 -!- roasted42 has joined.
01:07:52 <oerjan> Solace: some regulars here weren't older than you when they joined, so don't panic
01:08:00 <int-e> Solace: you have plenty of time to do so
01:08:12 <elliott> I was 11 :p
01:08:17 <Solace> :0
01:08:29 <oerjan> how time flies
01:08:47 <Solace> How old are you now elliott
01:08:50 <elliott> 19.
01:08:52 <Solace> :00
01:09:26 <Solace> Well im one day into winter break
01:09:28 <elliott> technically I might have joined when I was 10, like, once
01:09:36 <elliott> but I didn't say anything
01:10:00 <Solace> That was 8 years ago
01:10:01 <oren> Elliott is 19 OДO
01:10:13 <Solace> 2006
01:10:23 <elliott> is a 19 year old on the internet really that surprising
01:10:29 <Solace> :^0
01:10:30 <elliott> I understood the shock when I was 12, but... :p
01:10:37 <nys> i made http://esolangs.org/wiki/Itflabtijtslwi i made this when i was 11
01:10:47 <oren> elliott a 19 year old who is so much smarter than me is
01:10:54 <nys> oops i said words twice
01:11:04 <Solace> Well i joined the internets at the age of 9 and have been ruined ever since
01:11:32 <oren> me too... well the trip to japan didn't help
01:11:36 <Solace> Oh the internet is an awful place
01:11:53 <elliott> I forget when I started using the internet but it was before I was 8.
01:12:02 <Solace> Where awful people are free to spew garbage
01:12:18 <elliott> it's weird that there are fourteen year olds born in 2000 :/
01:12:18 <oren> the japanese internet is if anything worse
01:12:24 <elliott> I could argue about haskell on the internet with someone born in 2000
01:12:45 <int-e> elliott: you probably do, from time to time
01:12:50 <elliott> yes
01:12:55 <elliott> well I'm not in #haskell any more so maybe not really
01:12:55 <Taneb> I was at a party last night with someone who was born 2002
01:13:14 <Solace> Its weird to talk to people born in the 2000
01:13:18 <int-e> https://xkcd.com/386/ <-- yes, awful place indeed.
01:13:28 -!- mitchs has quit (Ping timeout: 255 seconds).
01:13:46 <Solace> Oh my lord
01:13:59 <elliott> nys: oh you made that language
01:14:10 <elliott> liking /// at 11 is good taste
01:14:15 <nys> :D
01:14:20 <Solace> I started programming and making silly things at the age of 12 but thats cuz i was all like
01:14:28 <Solace> :0 coding is cool wow
01:14:39 <elliott> I started at 8 with PHP :(
01:14:47 <Solace> :0
01:14:47 <nys> i have a new idea but i'm not sure it's interesting on its own without an implementation
01:14:50 <oren> I started at 9 with PErl 4
01:14:51 <Solace> well then
01:14:53 <myname> i started at 12 with qbasic :(
01:15:10 <Solace> 12 is a good age to start code
01:15:41 <myname> qbasic on the other hand isn't a good language to
01:15:57 <oren> what is crazier is that some of my cousins satrted having kids at 16-18
01:16:03 <Solace> Did all of it secretly though since my schools were filled with bullies who hated smart kids
01:16:04 <elliott> qbasic isn't that bad a first language
01:16:25 <oren> i was a bully in public school
01:16:41 <Solace> ;-;
01:16:45 <Solace> Why
01:17:09 <Solace> I started python at 12
01:17:10 <oren> i liked to make fun of people
01:17:17 <Solace> :(
01:17:24 <myname> because he wanted to eliminate all smarter people so he'd be the smartest?
01:17:44 <Solace> Not the smartest if you make people feel bad
01:17:53 <oren> also i had anger management issues
01:17:57 <myname> don't think that's the definition of smart
01:18:02 <Solace> well dont we all
01:18:23 <myname> afaik you tend to be less socially compatible if you are too smart
01:18:33 <zzo38> If you like to write computer games in DOS, then QBASIC is not so bad
01:18:35 <Solace> yeh
01:18:42 <oren> actually it turned out everyone else thought I was the one being bullied
01:18:51 <Solace> wat
01:18:56 <Solace> Well then
01:19:10 <oren> they saw fights and assumed i didn't start them
01:19:19 <Solace> ©_©
01:19:24 -!- roasted42 has quit (Ping timeout: 250 seconds).
01:19:54 <oren> just because i was short! dumb teachers
01:19:59 * oerjan hadn't realized /// was on the wiki before him
01:21:20 -!- roasted42 has joined.
01:21:36 <Solace> Im trying to find a game that was like 2d but made inbetween 2008-2011 and its about a small spaceship that goes on an adventure trying to save the planet from a darkness and this game is like all puzzely i just like the music but Google is very unhelpful
01:21:50 <Solace> /-/
01:21:55 <myname> does anybody know if there is a language in the wiki where programs could be checked?
01:22:08 <Solace> Uh
01:22:09 <oren> checked how?
01:22:20 <myname> with CTL for example
01:23:03 <myname> i thought about writing a modell checker for my language
01:23:14 <myname> not sure if i was the first one with that idea
01:23:27 <Jafet> Promela deserves to go on the wiki
01:23:36 <myname> :D
01:26:52 <oren> i'm not aware of any language in the wiki with CTL as a built in thing
01:27:30 <myname> well, i'm not sure if i want to built it into the language itself
01:27:45 <myname> but i do think writing a modellchecker for it would be easy enough
01:27:48 <oren> it's applicable to any language with statefulness imo
01:28:29 <myname> well, yes, but you have to name your states
01:31:02 -!- roasted42 has quit (Remote host closed the connection).
01:33:40 <elliott> oerjan: /// is interesting because it is one of those languages that is much more interesting than I suspect the author could have possibly anticipated...
01:33:53 <elliott> (compare to brainfuck, which is rather "predictable" in a sense)
01:34:52 <pikhq> Though Brainfuck at least has the excuse it wasn't even intended to be interesting.
01:35:51 <elliott> (I mean, compare the 99bob to your later work...)
01:36:22 -!- roasted42 has joined.
01:36:53 <oerjan> heh
01:38:45 <elliott> like, /// is very easy to come up with, and it seems like a probably not-that-interesting, sub-TC language idea when you come up with it
01:38:51 <elliott> but given more work it ends up quite amazing
01:43:18 <Jafet> /// is, in some sense, just a generalisation of thue
02:02:20 -!- boily has joined.
02:27:46 -!- roasted42 has quit (Ping timeout: 258 seconds).
02:29:32 -!- roasted42 has joined.
02:32:30 <HackEgo> [wiki] [[Brainfuck derivatives]] M http://esolangs.org/w/index.php?diff=41522&oldid=41517 * Oerjan * (+5) /* MIBBLLII Isn't brainfuck But Looks Like It Is */ sp, link
02:36:50 <HackEgo> [wiki] [[K-on Fuck]] http://esolangs.org/w/index.php?diff=41523&oldid=41514 * Oerjan * (+12) /* Example Code */ Use rectwrap class
02:39:53 <myname> if MIBBLLII were my language, i would've called it IIBBLLII
02:42:02 <Taneb> I called MIBBLLII MIBBLLII because MIBBLII isn't brainfuck but looks like it is
02:42:38 <Taneb> Also because I pronounce the acronym "mibbly" and that sounds cute
02:43:16 <HackEgo> [wiki] [[Flow chart]] http://esolangs.org/w/index.php?diff=41524&oldid=41520 * Oerjan * (-2) subsections
02:45:12 <oerjan> Taneb: by that principle, it clearly should have been WIBBLII hth
02:45:26 <oerjan> *WIBBLLII
02:46:08 <oerjan> or perhaps BIBBLLII
02:46:18 <elliott> oren: out of curiosity how old did you expect me to be
02:48:57 <oren> uhh... maybe 36 at least, given that you seem to be as experienced and knowledgeable as my professors... if you're going to college, you should either major in something other than CS, or be going to like... Yale or something
02:50:05 <elliott> 36 lol
02:50:11 <elliott> old 'n grumpy
02:50:35 <elliott> (I dropped out of school a decade ago, actually.)
02:51:29 <oren> you dropped out in 4th grade? holy crap
02:51:56 <elliott> somewhere around that, I guess (I'm not american)
02:52:43 <oren> well aparently you didn't need it.
02:52:52 <Solace> What bots are in here?
02:53:02 <oerjan> ^prefixes
02:53:05 <oerjan> oops
02:53:09 <oerjan> `prefixes
02:53:15 <Solace> And, What do they do/are made in
02:53:16 <oerjan> sheesh
02:53:28 <Solace> Im guessing those arent in?
02:53:31 <oren> lambdabot interprets haskell
02:53:40 <oerjan> HackEgo is in, it's just horrendously slow these days
02:53:41 <HackEgo> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
02:53:41 <elliott> well, it makes going to university a bit harder when you have no qualifications
02:53:45 <elliott> I left for mostly non-education-related reasons though
02:53:46 <myname> fungot is made in befunge
02:54:02 <Solace> Ego?
02:54:06 <oren> and does various utility like things
02:54:39 <oerjan> EgoBot has a number of esolangs implemented
02:55:21 <oren> blsqbot interprets burlesque
02:55:26 <elliott> egobot is mostly obsolete these days
02:55:26 <oerjan> `echo hi
02:55:28 <HackEgo> hi
02:55:30 <Solace> elliott: 4th grade?!
02:55:52 <oerjan> HackEgo is slightly less slow once it gets up and running
02:55:53 <elliott> I don't know your grades! all I know is I was about 10 (I don't remember exactly)
02:56:09 <Solace> Oh 10
02:56:11 <Solace> Um
02:56:18 <oren> that would be 4th or 5th grade
02:56:20 <Solace> 6th grade
02:56:33 <elliott> I was also born in August so I was younger than everyone else or something
02:56:37 <elliott> I don't know, I don't remember
02:56:38 <Solace> For my district/depending in date of birth
02:56:47 <Solace> Like i was born in June
02:56:52 <Solace> So i graduate at 17
02:57:12 <oren> yeah so basically you didn't take middle or high school
02:57:22 <oren> in our system
02:57:23 <Solace> B-but
02:57:26 <Solace> How
02:57:33 <Solace> In our system
02:57:41 <elliott> well, I dropped out in what we call middle school...
02:58:10 -!- roasted42 has quit (Ping timeout: 244 seconds).
02:58:10 <Solace> You are fined placed on a beka system and if you dont report to school you are fined and either arrested or sentenced to house arrest
02:58:36 <oren> it's funny because i basically didn't attend grades 1-6
02:58:56 <Solace> Also the multitude of tests and state requirement ls and the bills that just destroy education
02:59:04 <Solace> Is so pressuring on a teen
02:59:25 <Solace> That it can cause depression and mental illness lack of sleep and disorders
02:59:29 <Solace> Yay America
02:59:47 <elliott> tbf I also spent a while in a children's mental health unit as a teen, there was compulsory schooling there
03:00:15 -!- roasted42 has joined.
03:00:18 <Solace> Well these are artificially brought on
03:00:23 <Solace> School days are like this
03:00:31 -!- dts|pokeball has joined.
03:00:59 <Solace> Wake up at 3:00 to 5:00 am go to school till 2:30 pm go to sleep at 10:00 pm
03:01:00 <elliott> my mental illnesses were not brought on by schooling
03:01:04 <elliott> well, probably.
03:01:05 <Solace> Start over
03:01:26 <oren> in high school they always told us university was going ot be so hard, but really it is easier
03:01:31 <Solace> Since most sleep schedules have to be forced because of in out studying
03:01:46 -!- Farra_000 has joined.
03:02:00 <Solace> I feel as if i live in London most of the days because of my weekend sleep schedule
03:02:34 <Solace> Since its never actually night in London because of it being halfway in the suns light and earths cast shadow
03:02:34 <elliott> you should try my sleep schedules, they're great
03:02:44 <Solace> Example?
03:02:56 <oren> my sleep schedule is to sleep 12 hours every two days
03:02:58 <elliott> my classic is "sleep for 16 hours every other day"
03:03:02 <elliott> damn
03:03:09 <elliott> there's not room enough here for both of us, oren
03:03:13 <oren> lol
03:03:18 <Solace> I sleep for
03:03:26 <elliott> mostly I just do an oerjan-style "moving forward an hour or a few every day erratically"
03:03:29 <elliott> now
03:03:32 <Solace> Let me i actually have to write this down
03:03:39 <elliott> with some doomed atetmpts at resetting it with all-nighters and stuff
03:04:09 <oren> when i was working, i stabilized it as 12 hours every two days
03:04:22 <Solace> Since i wake up for school at 2 am cuz before school tutoring and my internship thats at 4 am
03:04:26 <elliott> mine is almost impossible to stabilise
03:04:31 <Solace> So
03:04:43 -!- Farra_000 has left.
03:04:44 <elliott> if I get forced into a normal schedule, I get tireder and tireder every day
03:04:49 <Taneb> I think moving an hour every few days is pretty standard
03:04:49 <Solace> sleep at 9pm wake up at 2am
03:04:52 <elliott> so it isn't sustainable for more than a few days
03:04:57 <Taneb> I know that's what I've ended up doing
03:05:00 <Solace> Im barely alive
03:05:08 <Taneb> Possibly because I tend to nap in the afternoon
03:05:23 <Solace> Someone turn caffine into an inhaler
03:05:24 <Solace> Pls
03:05:36 <elliott> there are caffeine pills
03:05:52 <Solace> Inhaler now!
03:06:00 <Solace> So i can breath it in
03:06:27 <Solace> I toss a caffeine pill into a cup of coffee each morning
03:06:28 -!- oerjan has set topic: The sleepless channel | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
03:06:39 <Solace> Thanks
03:06:44 <elliott> caffeine pills make me incredibly shaky and sick
03:06:53 <elliott> modafinil is better, it just makes me a bit sick
03:06:55 <Solace> Me too! but i have to
03:07:15 <Solace> Cuz i have to be up for job
03:07:24 <elliott> melatonin is also useful to some degree (but not enough for me)
03:07:31 <Taneb> oerjan, I'd argue that MIBBLLII isn't really a brainfuck derivative except for syntax
03:07:33 <oren> elliott: that happnes when i drink coffe all at once. it is better to have it in small doses every 15 min
03:07:52 <elliott> I suspect caffeine pills have more in them than a c up of coffee
03:07:55 <Solace> Supporting your family when you have to go to school is really hard
03:08:06 * Solace breathes heavily
03:08:17 <oerjan> Taneb: personally my main problem with that page is that several of the things there don't have articles.
03:08:34 <Solace> Im done with life and school
03:08:50 <oren> elliott: coffee can vary in caffiene content massivly depending on how it is made
03:08:59 <elliott> yeah I know
03:09:05 <Taneb> oerjan, hmm yeah
03:09:25 <zzo38> If you are done with life then how can you write on this IRC?
03:09:26 <Taneb> oerjan, sorry, I assumed it was your page because I saw you editing it
03:09:33 <Taneb> zzo38, they said life, not IRC
03:09:42 <oren> IRC is undeath
03:09:54 <zzo38> But you cannot type on the computer if you are dead.
03:09:57 <oren> Braaaainnns...
03:09:58 <elliott> I hope to god I don't have to talk in here in the afterlife
03:10:20 -!- dts|pokeball has quit (Ping timeout: 250 seconds).
03:10:23 <zzo38> elliott: I too hope so; because, it would be too difficult.
03:10:27 <elliott> agreed
03:10:55 <Solace> Depression fuels typin zzo38
03:11:03 <Solace> Typing*
03:11:05 <oren> Orreeeen hunnngggrrry for brraaaains!!
03:11:22 <oerjan> Taneb: i tend to fix some obvious stuff when i'm looking at recent changes
03:11:53 -!- roasted42 has quit (Ping timeout: 264 seconds).
03:11:59 <zzo38> Just because someone edit it doesn't mean it is their page. Also, just because something is their page doesn't necessarily mean other people are allowed to edit it, too.
03:12:04 <oerjan> the dead talk on Extrasensory Relay Chat
03:13:40 -!- roasted42 has joined.
03:15:10 <elliott> hopefully when I am dead I will never think about programming ever again
03:19:39 <int-e> `relcome oerjan
03:19:43 <HackEgo> oerjan: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
03:20:06 <oren> the rainbow is still too dark
03:20:07 <oerjan> ooh
03:20:14 <zzo38> oren: Are you sure?
03:20:47 <Solace> elliott is reincarnated as an ai super computer in the year 7896 on a not earth planet and is forced to program forever
03:21:42 <elliott> works for me
03:23:57 <oren> ummm... would that not be "reinsilicated"?
03:24:13 <oren> given that "carn" means "meat"
03:24:44 <oerjan> well then it wouldn't be "re-"
03:25:11 <oren> and if the computer is photonic it might be "invitrated"
03:25:11 <oerjan> elliott: 's ok just program up some undergrads, it's what all the professors do
03:25:12 <Solace> A coding language based entirely off of bad puns?
03:25:34 <oerjan> hmmmmmmm
03:26:07 <Jafet> Network socket programming?
03:26:28 <Solace> Whats the difference between a dirty bus station and a crab with breast implants?
03:26:52 <quintopia> you mean
03:26:53 <zzo38> I saw a television show once that mentioned reincarnation, and about people with memories of stuff that they couldn't have known normally, and scientific test, but it doesn't quite looks like "reincarnation" to me, unless that is what you mean by the word "reincarnation" since otherwise it is too much unclearly?
03:26:56 <quintopia> what's "a" difference
03:27:01 <quintopia> because there are a lot of them
03:27:11 <Solace> One's a crusty bus station the other is a busty crustation
03:27:23 <oren> crustacean
03:27:26 <quintopia> *crustac yeah
03:27:29 <zzo38> Yes I know there is a lot of difference someone told me before and it was my answer too there too many difference!
03:28:02 <quintopia> reincarnation: a flower for your horse straps
03:29:02 <Solace> Im 16 and am running off of pure sugar
03:32:30 <oren> transmigration: a limit per day of the E-isomer soviet jets
03:41:56 <Taneb> What is the difference between a rabbit and a gorilla
03:42:05 <Taneb> Rabbits look nothing like gorillas
03:42:58 <elliott> thanks
03:44:23 -!- dts|pokeball has joined.
03:45:22 -!- roasted42 has quit (Ping timeout: 240 seconds).
03:47:25 -!- roasted42 has joined.
03:47:31 -!- Sgeo has quit (Read error: Connection reset by peer).
03:48:01 -!- Sgeo has joined.
03:54:10 <Solace> Im done
03:54:18 <dts|pokeball> ok
03:54:31 <Solace> Hi dts|pokeball?
03:54:46 <dts|pokeball> hi
04:04:20 <Solace> Im done with people in general
04:05:07 <oren> try talking to animals
04:05:14 <zzo38> But, are you done with pokeball in general? I have some pokeball inside of my desk drawer
04:05:25 <Solace> Nah this guy
04:05:27 <zzo38> oren: I think that is difficult. But, you can try!
04:05:35 <Solace> Is saying he's a perl hacker
04:05:49 <Solace> And im like, and?
04:05:52 <oren> talking to them is easy. getting them to talk mback is hard
04:05:59 <Solace> Hes getting very angry
04:06:33 <oren> why?
04:07:47 <Solace> Because i use old versions of perl and other things
04:07:54 <Solace> And hes like i can hack you
04:08:00 <Solace> Oh well?
04:08:33 <oren> lol... "i can haxx0rs j0r compucore d00d"
04:09:04 -!- boily has quit (Quit: EXTROSPECTIVE CHICKEN).
04:09:20 <oren> is keckleon a good pokemon?
04:09:24 <Solace> Yeh like that
04:09:53 <zzo38> Some attack may be good against other pokemon, so it depend what attacks you used.
04:10:31 <Solace> Use a lvl 100 shuckle
04:11:00 <oren> I started a new game today
04:11:37 <oren> well i caught the keklion
04:12:40 <Solace> Lucky ducks
04:12:46 <Solace> And your pokemons
04:12:58 <Solace> I dont have money to spend on games
04:14:45 <oren> I bought this game last year
04:15:20 -!- roasted42 has quit (Ping timeout: 250 seconds).
04:17:07 -!- roasted42 has joined.
04:18:17 <oren> i'm playing it in japanese this time over
04:21:18 <Solace> Yay
04:21:23 <Solace> Glitches
04:36:33 -!- dts|pokeball has quit (Quit: Leaving).
04:36:55 -!- dts|pokeball has joined.
04:42:30 -!- nys has quit (Quit: quit).
04:43:33 -!- kcm1700_ has joined.
04:45:22 -!- kcm1700 has quit (Ping timeout: 240 seconds).
04:45:41 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:53:57 -!- MDude has quit (Read error: Connection reset by peer).
04:56:55 <oren> This is the first pokemon game in which you have anything resemblinga girlfriend.
04:57:19 -!- Guest31893 has quit (Ping timeout: 245 seconds).
05:05:15 <oren> caught a kabigon (snorelax)
05:06:18 -!- roasted42 has quit (Ping timeout: 244 seconds).
05:07:08 -!- roasted42 has joined.
05:44:43 <Solace> How small can you make a number
05:44:51 <Solace> Cuz i wanna break some stufg
05:44:55 <Solace> Stuff*
05:45:18 <Taneb> Very
05:45:28 <Solace> Example
05:45:46 <Solace> -e8888888888888888888888888888 is pretty small
05:45:50 <Taneb> Yes
05:45:59 <Solace> But not small enough for me
05:46:32 <Taneb> > "-1" ++ repeat '0'
05:46:34 <lambdabot> "-10000000000000000000000000000000000000000000000000000000000000000000000000...
05:46:46 <Taneb> Small enough?
05:47:12 <Solace> Uh
05:47:15 <Solace> Let me see
05:47:22 <Solace> No
05:47:39 <Taneb> Right, because that is so small it isn't actually a number
05:47:49 <Solace> Yup
05:47:52 <Solace> Its a thing
05:47:53 <Taneb> It is the limit of a divergent function
05:48:17 <Solace> How old are you taneb
05:48:21 <Taneb> 20
05:48:36 <Solace> ©_©
05:49:18 <Taneb> ?
05:50:02 <Taneb> Why do you need a very small number
05:51:15 -!- roasted42 has quit (Ping timeout: 244 seconds).
05:51:27 <oerjan> Solace: 1/Ackermann(5,5) hth
05:51:53 <oerjan> or wait
05:52:12 <oerjan> -Ackermann(5,5)
05:52:14 <Taneb> oerjan, I think Solace wants a low number rather than a small one
05:52:47 <oerjan> -G_64
05:52:55 <oerjan> -BB(G_64)
05:53:02 <oerjan> hth
05:59:12 -!- roasted42 has joined.
06:28:33 -!- Stormzy has joined.
06:28:52 <Solace> Swiggity swineral much crave such mineral
06:29:19 <Taneb> Solace, you realise that very few people in this channel are going to even have a clue what that joke is about?
06:29:28 <Solace> Ofc
06:29:41 <Solace> Do you know what its about?
06:29:43 <Taneb> And it's a joke that requires heaps of context to even make sense
06:29:49 <Taneb> As it happens, yes
06:30:03 <oren> i rarely bother to look things up
06:30:11 <Solace> Mountain goats go up a 90° slope to get salt
06:30:15 <Solace> On a mountain
06:30:34 <Solace> Idk how its a meme
06:38:03 <oren> the largest number is 1.79769313486232 time ten to the 308.
06:39:19 <oren> the most negtive number is negative that
06:39:30 <coppro> I thought it was 40 million plus 1
06:39:43 <Taneb> coppro, those two numbers are actually equal
06:40:14 <coppro> happy solstice day everyone
06:40:27 -!- roasted42 has quit (Ping timeout: 272 seconds).
06:40:36 <Taneb> You too
06:40:45 <oren> that means this is the longest night of the year
06:40:51 <Taneb> Not where I am!
06:41:39 -!- roasted42 has joined.
06:42:29 <coppro> solstice occurs late GMT, so that means that most places will have tomorrow night be longer
06:42:45 <coppro> remember to sing your solstice carols
06:43:36 <oren> deck the halls with bows of hally falalalalalalalalala
06:43:54 <oerjan> Taneb: oh you're in australia now?
06:44:17 * oerjan vaguely recalls you passing through hong kong
06:45:54 <coppro> oren: that's a christmas carol. common mistake.
06:46:07 <coppro> https://www.youtube.com/watch?v=iYQ8bcDaMaI
06:46:17 -!- incomprehensibly has quit (Ping timeout: 240 seconds).
06:46:39 <oerjan> i don't know any solstice carols. the sta. lucia song is close if you squint anachronistically in two ways simultaneously
06:46:48 <oerjan> or possibly three
06:47:43 <oerjan> (st. lucy's day is on dec. 13, which _used_ to be solstice under the julian calendar - but the change to gregorian happened _before_ the swedes stole the song from the italians)
06:48:48 <oren> Jingle bells, Batman smells, Robin laid an egg!
06:49:00 -!- incomprehensibly has joined.
06:49:53 <oerjan> coppro: thx now i know one tdh
06:50:49 * oerjan recall's irregular webcomic's old christmas carols
06:50:52 <oerjan> *-'
06:51:14 <Taneb> oerjan, yeah, until tomorrow morning
06:51:50 <oerjan> (also the italian song isn't a carol, or religious at all)
06:51:58 <oren> Joy to the world, the teacher's dead, we bbqed her head!
06:52:39 -!- hjulle has quit (Ping timeout: 258 seconds).
06:54:07 <Solace> Pettition to rename planet "punishment orb"
06:55:07 <Solace> Gonna go spend time with family and drink England water
06:55:15 <Solace> Thats what i call tea
06:55:56 <oerjan> Strafenkugel
06:56:19 <Solace> Huh
06:57:02 <oerjan> that's punishment orb, except in german, so sounds better
06:57:22 <oerjan> not quite sure about the -en-
06:59:33 <oren> 罰球- batsukyuu=punishment orb in japanese
07:01:20 <oren> or maybe it would shorten to bakkyuu?
07:02:06 <oerjan> hm googling i found Strafenkugel in a long word list, but otoh i found Strafkugel on a site with "bondage" in the title
07:03:00 <J_Arcane> http://docs.spring.io/spring-framework/docs/2.5.x/api/org/springframework/aop/framework/AbstractSingletonProxyFactoryBean.html
07:03:20 <oren> OH GOD WHY
07:03:24 <oerjan> ok the latter has many more hits (still just 134)
07:04:29 <oerjan> oren: because enterprise hth
07:04:34 <oren> apparently 罰球 is a chinese word meaning a free throw or free kick
07:05:37 <oerjan> is it used in football?
07:05:46 <oerjan> (soccer)
07:05:48 <oren> in basketball and football.
07:06:03 <oerjan> there are two different kinds of kick in soccer though
07:06:34 -!- roasted42 has quit (Ping timeout: 265 seconds).
07:06:55 <oerjan> oh possibly three
07:07:08 <oerjan> direct free kick, indirect free kick, and penalty kick
07:07:30 <oren> the chinese wikipedia article describes this and has articles on each one
07:08:01 <oren> (my chinese is very very bad...)
07:08:03 <oerjan> ok
07:08:09 -!- roasted42 has joined.
07:08:53 <oerjan> i just learned today that the new chinese president, or was it premier, is a soccer fan and wants china to stop being ridiculously bad at it
07:09:10 <oerjan> (they're 88th place on the ranking, behind e.g. norway and tiny iceland)
07:09:46 <oerjan> um i guess it's yesterday by now
07:10:29 <Jafet> Why is AbstractSingletonProxyFactoryBean considered bad
07:12:52 -!- shikhin has joined.
07:12:57 <oren> because the factory, singleton, and proxy patterns are by themselves bad things created by a bad language
07:13:07 -!- shikhin has quit (Changing host).
07:13:07 -!- shikhin has joined.
07:13:24 <coppro> k/win 6
07:13:52 <coppro> oerjan: the hp lovecraft historical society has two albums of them, and they're mostly fantastic
07:14:27 <oerjan> coppro: but some are real right?
07:14:53 <coppro> oerjan: they are all just re-lyriced christmas carols
07:15:01 <coppro> usually to the same tune, with one notable and wonderful exception
07:15:10 <coppro> death to the world is joy to the world, but transposed into minor key
07:15:19 <coppro> https://www.youtube.com/watch?v=ptP0OR-e7rI
07:15:21 <coppro> it's pretty amazing
07:22:26 -!- Patashu has quit (Ping timeout: 256 seconds).
07:29:47 -!- Stormzy has left.
07:43:47 -!- roasted42 has quit (Ping timeout: 272 seconds).
07:46:03 -!- dts|pokeball has quit (Ping timeout: 252 seconds).
07:48:52 <oren> https://www.youtube.com/watch?v=Sbk5xdG8V4g
07:49:36 -!- dts|pokeball has joined.
08:33:43 -!- oerjan has quit (Quit: Nite).
08:35:59 <J_Arcane> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773619
08:36:21 <oren> you ever like a song, and then find out the lyrics and they are kind of worrying?
08:37:36 <oren> J_ARcane: yeah it should just display the half-loaded page. fail.
08:38:15 <J_Arcane> oren: indeed. It's a bizarre approach. I haven't seen loading behavior like that in years.
08:38:52 <oren> Anyway this song is worrying: https://www.youtube.com/watch?v=uy2-B3D0cvU
08:39:43 <oren> (lyrics start at 30 seconds in)
08:41:00 <oren> I built a spreadsheet program, but i haven't added formulas in. what kind of formula syntax would be better than excel's?
08:45:09 <oren> I am thinking that formulae will not be attached to any particular cell, but rather to the page
08:46:19 <oren> and then act on the page as "constraints" that are truified each time the spreadsheet is modified
08:47:42 <oren> (is "truify" a word? it should be one)
08:51:58 <oren> so for example ``[0,0] = [1,0]+[2,0]" will ensure that the equation between those three cells holds true when any of them is modified
08:52:14 <zzo38> That might be a good idea
08:52:36 <zzo38> But in some cases it would become ambiguous
08:53:04 <oren> hmm so long as we have some arbitrary rules for biguation
08:54:16 <oren> or, disallow adding a formula that isn't true right now
08:54:59 <oren> wait that would not solve all of it
08:55:01 <zzo38> oren: In that case at least, what you can do is that if that rule is defined when [0,0] is empty, fill in that cell when the rule is defined
08:55:23 <zzo38> But only for rules of that particular form and only in those cases
08:55:28 <oren> yeah i have a special empty type already
08:55:38 <zzo38> Another thing that would help is to be able to define ranges, such as data belongs in this series of rows, and/or columns, and then if you insert rows/columns it expands the range.
08:56:57 <oren> here is example of a spreadsheet: http://snag.gy/HdVDO.jpg
09:02:04 <J_Arcane> http://boingboing.net/2014/12/19/usbdriveby-horrifying-proof-o.html
09:04:53 <oren> J_arcane that is pretty horrifying
09:05:39 <oren> and reason to lock your computer when you get up to go tothe bathroom
09:07:05 <zzo38> That is also something I have thought of many years ago and is one thing I hate about USB.
09:07:42 <zzo38> But, there are also ways to fix a system to avoid this problem, such as you can fix Linux.
09:09:15 <oren> and don't trust anyone to use your computer whom you don't trust implicitly
09:11:35 <Jafet> Physical access.
09:18:41 -!- Patashu has joined.
09:31:55 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
09:32:34 -!- adu has joined.
09:47:33 -!- adu has quit (Quit: adu).
10:09:04 <zzo38> About physical access it is still true you should not let them to touch your computer; with physical access you can damage stuff.
10:10:03 <zzo38> But, even if someone give to you and you connect it to your computer, then it can cause this problem with USB.
10:12:43 <zzo38> It is just one of many problems with USB in general.
10:19:08 -!- roasted42 has joined.
10:23:58 -!- InvalidC1 has changed nick to InvalidCo.
10:30:10 <oren> perhaps instead of defining exact constraints, we define statements of dependent action
10:30:58 <oren> e.g. x<-x+N=>y<-y+N
10:31:27 <oren> which means when x changes by N, y changes by the same amount
10:34:46 <oren> hmm, but then there are loops. we can resolve this by allowing only one rule mentioning any pair of cells
10:35:32 <oren> and allowing <=> as well as =>
10:40:08 -!- Solace has quit (Quit: Connection closed for inactivity).
10:56:25 <oren> No that doesn't help. constraints need to be in a strict tree to avoid loops
10:57:20 <oren> following => from any cell should get a tree with no duplicate nodes
11:00:10 <oren> yes i think that will work
11:02:22 -!- roasted42 has quit (Ping timeout: 240 seconds).
11:04:25 -!- roasted42 has joined.
11:12:17 -!- roasted42 has quit (Changing host).
11:12:17 -!- roasted42 has joined.
11:12:17 -!- roasted42 has changed nick to TheM4ch1n3.
11:17:37 -!- oren has changed nick to |oren\.
11:31:07 -!- MoALTz has quit (Read error: Connection reset by peer).
11:32:54 -!- MoALTz has joined.
11:35:07 <b_jonas> yay!
11:42:05 <J_Arcane> blargh. I am thus far not finding Scribble nearly as friendly as advertised ...
11:42:40 <b_jonas> it's not friendlyi
11:44:06 <J_Arcane> It seems like a hell of a lot of weird syntax to learn when I could just be writing in Markdown or LyX like I usually would ...
11:45:27 -!- TheM4ch1n3 has quit (Ping timeout: 265 seconds).
11:45:27 -!- roasted42 has joined.
11:59:26 -!- Patashu has quit (Ping timeout: 250 seconds).
12:26:04 -!- shikhout has joined.
12:26:26 -!- shikhout has changed nick to Guest66634.
12:28:47 -!- shikhin has quit (Ping timeout: 244 seconds).
12:34:37 -!- roasted42 has quit (Ping timeout: 240 seconds).
12:37:31 -!- roasted42 has joined.
12:41:43 <|oren\> I am implementing greek mode for TTML, based partly on this image of the original space cadet keyboard layout: http://home.comcast.net/~mmcm/kbd/SpaceCadet3.jpeg
12:48:34 <|oren\> also from that image i now know where vi's bizarre ghjk arrows come from
12:48:57 <b_jonas> |oren\: what...
12:49:18 <|oren\> what what?
12:49:37 <b_jonas> vi has hjkl arrows, and they have no relation to APL keyboard layouts
12:50:26 <b_jonas> hjkl was simply invented because it's four convenient neighbouring keys
12:50:42 <HackEgo> [wiki] [[List of ideas]] http://esolangs.org/w/index.php?diff=41525&oldid=41505 * 94.225.138.121 * (+1017) /* Looks Like */ "Soviet Script" and "In Soviet Russia" merge YOU!!!
12:51:41 <|oren\> i see... well i don't use vi so i just knew it had some crazy layout... anyway why not ijkl?
12:52:18 <|oren\> that has the advantage that they are in the right configuration and all in a row in ASCII
12:52:29 -!- vanila has joined.
12:52:35 <b_jonas> |oren\: as for that APL layout, it seems to be similar to the third image in http://www.quadibloc.com/comp/kybint.htm , which by the way you may want to consult if you want to see more crazy keyboard layouts
12:53:30 <b_jonas> |oren\: it's not ijkl because it's more difficult to reach i than j and k, especially if you also want to press l soon after, and also, i is the perfect mnemonic for "insert", the most important command in vi
12:53:42 <b_jonas> also, because of history
12:54:02 <b_jonas> and of course i is also the best mnemoic for "inventory"
12:54:52 <b_jonas> |oren\: just in case it's not clear, those arrows on that keyboard layout are printable symbols
12:55:20 <b_jonas> specifically in APL, the left arrow stands for assignment (same as in smalltalk), the right arrow stands for goto, the up and down arrow stand for take and drop respectively
12:57:48 <|oren\> anyway v is an interesting choice for the ending sigma. i would have put it on c...
12:58:59 <|oren\> and i would put nu on v, and eta on n
12:59:41 <|oren\> so that the greek letters look sort of like their corresponding latin letters.
13:00:33 <|oren\> they seem to have gone with a pronounciation based layout instead
13:01:05 <|oren\> i wonder which is actually the best choice
13:03:59 -!- roasted42 has quit (Ping timeout: 245 seconds).
13:05:41 -!- roasted42 has joined.
13:09:11 <|oren\> oh and i am also rerying my idea for a language with its own non-ascii-based, entirely original code page
13:09:56 <|oren\> like what if you could change latin to greek by flipping one bit?
13:10:27 <|oren\> and then change to cyrillic by flipping another one
13:19:00 <zzo38> I think I have seen that "hjkl" is due to some keyboard having those arrows on those letters (which they put there for the purpose of inventing vi)? Apparently also the escape was where the modern keyboard has a tab key? I don't know for sure.
13:20:10 <zzo38> Well, also their order is same as in Dance Dance Revolution and related games, I have noticed. If you play using a keyboard you might want to use "hjkl" if possible; same as vi even.
13:26:14 <lifthrasiir> that suddenly made me interesting, DDR indeed uses the same order as vim's (and many others).
13:26:50 <lifthrasiir> other combinations don't make much sense, but the choice between hjkl and hkjl seems not that arbitrary, with a strong preference to hjkl
13:37:46 <b_jonas> zzo38: on the PC XT keyboard, escape is of course to the left of the 1, but vi is older than that
13:43:02 -!- boily has joined.
13:48:41 -!- roasted42 has quit (Ping timeout: 252 seconds).
13:49:39 -!- roasted42 has joined.
13:51:35 -!- GeekDude has joined.
14:12:24 -!- Guest66634 has changed nick to shikhin.
14:12:30 -!- shikhin has quit (Changing host).
14:12:30 -!- shikhin has joined.
14:29:18 -!- roasted42 has quit (Ping timeout: 265 seconds).
14:29:57 <|oren\> yesss... i will make a language with an alternate-universe code page
14:31:19 -!- roasted42 has joined.
14:32:37 -!- nys has joined.
14:37:57 -!- roasted42 has quit (Ping timeout: 244 seconds).
14:48:27 * J_Arcane writes documentation.
15:02:48 <J_Arcane> Of all the things about Lisp, this is one that still strikes me as largely unnecessary: http://stackoverflow.com/questions/547436/whats-the-difference-between-eq-eql-equal-and-equalp-in-common-lisp
15:03:12 <vanila> EQ is important for a fast pointer equality check
15:03:24 <vanila> EQUAL is important to test equality of values
15:03:54 <vanila> eql and equalp seem stupid
15:04:41 <elliott> scheme having like ten equality procedures is annoying
15:04:47 <elliott> especially the pointless type-specific ones
15:05:08 <elliott> you really want pointer equality in a language with mutability though
15:05:15 <|oren\> how the hell do i type an å
15:05:18 <elliott> like you're kind of screwed in terms of handling cyclic lists without it
15:05:57 <|oren\> mutability as default sucks tho
15:06:05 <elliott> I didn't say as default
15:06:13 <vanila> mutability does not suck
15:06:24 <elliott> if you have mutability at all you need to be able to compare identifies of any object that acts as a mutable reference
15:07:03 <|oren\> elliott: true but any high level language should have mutability as like an advanced feature, not a basic one
15:07:34 <elliott> okay well... that doesn't make sense since you can't really add mutability after the fact like that
15:07:39 <elliott> unless you're talking about like... State or whatever
15:07:43 <elliott> but it's also irrelevant to the point
15:07:53 <elliott> *Haskell's Staet
15:07:54 <vanila> http://simple.wikipedia.org/wiki/Structured_program_theorem this is low quality
15:07:56 <elliott> *spelling
15:07:59 <vanila> The structured program theorem is a theory in programming and computer science
15:08:04 <vanila> it's a theorem, not a 'theory'
15:09:05 <|oren\> elliott: i was annoyed by the fact that the pointer equality is the shortest one. t should have a longer name and regular equality shoulf have a short one
15:09:17 <elliott> it's shorter because it's faster
15:09:24 <elliott> it's easier for the computer to process shorter names
15:09:24 <vanila> |oren\, it's not important to huffman code variable names
15:09:37 -!- mitchs has joined.
15:09:39 <elliott> actually I disagree :p
15:09:42 <|oren\> i kind of disagree
15:10:01 <elliott> eq is O(2) because it has two letters
15:10:07 <elliott> whereas equal is O(n) because it has more letters than I can count
15:10:12 <|oren\> the short variable names like x,i,etc should always be the localist var names
15:10:15 <elliott> therefore eq is faster
15:10:23 <|oren\> *est
15:10:42 <elliott> call-with-current-continuation is O(n^4) because there's four words
15:10:43 <vanila> can someone help me about structured programming theorem?
15:13:23 <|oren\> what about it? doesn't it just say all you need to be turing complete is if and loops?
15:13:55 <vanila> there's a claim that you need goto or labelled break/continue - otherwise programs can be made which are hard to turn into structured programs
15:13:58 <vanila> what are those programs?
15:14:14 <vanila> Kosaraju proved that a strict hierarchy of programs exists, nowadays called the Kosaraju hierarchy, in that for every integer n, there exists a program containing a multi-level break of depth n that cannot be rewritten as program with multi-level breaks of depth less than n
15:14:53 <J_Arcane> I actually don't have anything but eq? defined in Heresy.
15:15:17 <|oren\> but any break can be replaced with an extra variable
15:16:13 <vanila> basically I need to read Sambasiva Rao Kosaraju paper
15:16:47 <vanila> http://dl.acm.org/citation.cfm?id=804055 oh cool it's on ACM, only $15
15:16:52 <vanila> isn't science great!
15:18:42 <vanila> What do the programs on the Kosaraju hierarchy look like?
15:22:43 <vanila> I found an graph of the heirerarchy but not what the programs on it look like
15:23:11 <vanila> I had thought that this structured programming stuff might make me think goto had some uses but it doesn't
15:26:59 <|oren\> goto has uses, it just isn't good when overused. any goto can be replaced with a boolean var and some extra conditions,
15:27:37 <|oren\> but this practice is generally more confusing than if you had just used a goto with a descriptive label
15:37:41 <vanila> http://soclab.ee.ntu.edu.tw/~soclab/course/Milestones_in_SW_Evolution/2-2-CACM-Nov-1975-p629-ledgard.pdf]
15:37:42 <vanila> http://soclab.ee.ntu.edu.tw/~soclab/course/Milestones_in_SW_Evolution/2-2-CACM-Nov-1975-p629-ledgard.pdf
15:37:43 <vanila> kinda fun
15:37:47 <vanila> all kinds of control structures
15:40:51 <|oren\> aha. so kosaraju's hierarchy apparently shows when you have to have a new boolean variable
15:47:42 <|oren\> the argument against knuth's use of goto on page 638 i find vacouous, because call is practically a goto, it simply provides a mechanism to goto back.
15:48:08 <|oren\> (in imperative languages that is)
15:48:29 <vanila> http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.14.537 lol
15:49:01 <vanila> call?
15:49:03 <vanila> i dont know
15:49:09 <vanila> procedure cal?
15:49:20 <|oren\> yes that
15:49:36 <vanila> thats not goto
15:49:58 <|oren\> it is a goto followed by a complex assigned goto
15:50:16 -!- roasted42 has joined.
15:50:20 <|oren\> return is a goto assigned by the caller
15:51:16 <|oren\> in BASIC calling a procedure is done with GOSUB command
15:53:28 <|oren\> anyway, procedure call was not among the control structures listed in the article
15:53:44 <vanila> |oren\, if you only use sequencing, if/then/else while and procedure calls then each part of the program can be understood on its own piece by piece. When you use goto that is lost
15:55:37 <|oren\> that is true... when goto is used as in was in the 1970's
15:55:49 <vanila> procedure calls may be implemented in terms of jumps but they are done in such a way that this property is preserved
15:55:59 <|oren\> when goto is used wisely it pervents confusion
15:56:18 <vanila> i am skptical of that
15:56:53 <|oren\> would you rather keep track of how many nested loops use a boolean or simply ^F for the goto label
15:57:26 <vanila> i dont know, this has never come up in my programming
16:00:14 <|oren\> Multiple nested loops that you have to break out of have never come up?
16:00:36 <vanila> goto
16:02:04 <|oren\> well consider the following problem then: search a list of strings for a word, and either print the first sentence in which it appears or print "Does not appear." if you do not find one.
16:03:06 <|oren\> I maintain that the simplest, least confusing algorithm for this uses a goto or return from the innermost loop on success.
16:05:39 <elliott> > let search _ [] = "Does not appear."; search w (s:ss) | w `isInfixOf` s = s | otherwise = search w ss in text $ search "hello" ["q", "the hello world", "r"]
16:05:40 <lambdabot> the hello world
16:05:44 <vanila> okay let me try
16:06:15 <|oren\> elliott: i was talking about imperative languages of course... lol
16:06:29 <elliott> > let search = fromMaybe "Does not appear" . find . isInfixOf in text $ search "hello" ["q", "the hello world", "r"]
16:06:30 <lambdabot> Couldn't match expected type ‘[[GHC.Types.Char]]
16:06:31 <lambdabot> -> GHC.Base.String’
16:06:31 <lambdabot> with actual type ‘[GHC.Types.Char]’Couldn't match type ‘[[a]] ->...
16:06:32 <elliott> oops
16:06:41 <elliott> > let search w = fromMaybe "Does not appear" . find (w `isInfixOf`) in text $ search "hello" ["q", "the hello world", "r"]
16:06:42 <lambdabot> the hello world
16:07:06 <elliott> |oren\: but I like writing haskell code
16:07:10 <elliott> well, I like writing haskell one-liners
16:08:03 <vanila> find_word_index() { for(i = 0; i < length; i++) { if(contains_word(word, sentence[i])) { return i; } } return -1 }
16:08:03 <vanila> program() { i = find_word_index(); if(i != -1) { print(sentence[i]); } else { print("Not found"); } }
16:08:41 <elliott> vanila: to be fair, return breaks the same invariants as break
16:08:45 <|oren\> a return from the innermost loop, as i said.
16:08:58 <elliott> (which isn't as bad as a goto, but dijkstra still isn't happy)
16:09:06 <vanila> |oren\, okay, but this isnt' goto
16:09:14 <elliott> (since you can't do the same proof about the contract of the loop)
16:09:45 <vanila> elliott, what's that?
16:09:49 <elliott> vanila: http://blog.plover.com/prog/Hoare-logic.html
16:09:57 <elliott> that explains why dijkstra doesn't like goto/break
16:10:10 <vanila> "I never read anything by Dijkstra that wasn't noticeably out of touch with the reality of programming" <- lol
16:10:16 <vanila> yeah he never even coded
16:10:35 <elliott> (the argument there applies to returning from a loop too since that's basically a break)
16:10:37 <|oren\> in structured programming the general assumption is that every procedure exits at the end
16:11:22 <|oren\> when they even have procedures, which or example brainfuck doesn't
16:11:40 <vanila> yeah this is why brainfuck is so hard and awful to program in
16:11:51 <vanila> http://en.wikipedia.org/wiki/Structured_program_theorem even links to P''
16:11:53 <elliott> vanila: so in this sense break/return is not nearly as bad as goto but it is still a concession away from structured programming
16:11:55 <vanila> The construction was based on Böhm's programming language P′′.
16:11:57 -!- roasted42 has quit (Ping timeout: 245 seconds).
16:12:27 <elliott> because you can prove less using the structure, you cannot entirely understand each part of the program on its own like you said
16:13:30 <elliott> (it reduces the compositionality of your hoare logic)
16:13:51 <vanila> i see, that makes sense to me
16:14:40 <vanila> I don't think omitting break and continue will make it easier to prove programs correct
16:15:05 <elliott> I think it does (but it might make the programs harder to write in the first place)
16:15:12 <elliott> (the same applies to goto, arguably)
16:15:13 -!- roasted42 has joined.
16:15:47 <elliott> find_word_index() { found = None; for (i = 0; i < length && found.isNone(); i++) { found = search_sentence(sentence[i], word); } return found; }
16:15:51 <elliott> ^ I think this isn't so bad
16:16:04 <elliott> (assuming a None/Some maybe type)
16:17:13 <vanila> it could be written recursively instead of for loop
16:17:16 <elliott> of course { result = None; for (i = 0; i < length && result.isNone(); i++) { result = f(list[i]); } return result; } is precisely Haskell's find :p
16:17:30 <elliott> *p(list[i]);
16:19:10 <|oren\> procedural programming languages of the era such as Fortran 66, often didn't allow recursion.
16:19:21 <vanila> yeah you need scheme to write this recursively
16:19:49 <elliott> algol did!
16:20:20 <|oren\> I have a book that my dad studied programming from. the examples are in fortran 66 and PL/I. might as well be greek and sanscrit.
16:20:44 <|oren\> actually that's not fair
16:21:00 <|oren\> PL/I is pretty readable if you know C
16:21:48 <|oren\> elliott: yeah but i dunno how many people actually used algol.
16:24:35 <elliott> it was certainly relevant to people like dijkstra and knuth!
16:25:04 <vanila> dijkstra implemented the algol compiler
16:25:10 -!- Prax has joined.
16:25:12 <elliott> algol 68 is kind of incredible, it's like a language from the future but also the most 60s thing ever
16:25:22 <vanila> hehe
16:25:27 <elliott> and also kind of a total mess?
16:25:52 <elliott> algol is to blame for bash's god-awful "esac" stuff
16:25:55 <elliott> so I can never forgive it
16:29:43 <|oren\> comments with a weird slashed c which i've never even seen
16:30:03 <elliott> you've never seen a cent sign?
16:30:10 <elliott> aren't you american
16:30:27 <|oren\> a cent sign is a c with a vertical line. I'm from Canada
16:30:39 <elliott> it would have actually looked more like https://en.wikipedia.org/wiki/ALGOL_68#Example_of_different_program_representations
16:30:54 <elliott> ¢ is a cent sign (and the comment character used there)
16:31:30 <|oren\> that is a c with a vertical line
16:31:59 <elliott> so is the character there
16:32:11 <elliott> I copied and pasted it.
16:32:15 <|oren\> hold on
16:32:27 <elliott> I think algol 68 actually has "semantic bolding"
16:32:32 <elliott> because you can name variables after keywords
16:32:35 <elliott> because keywords are all bolded.
16:32:41 <|oren\> yeah. that is kinda nuts
16:32:57 <|oren\> but doable today because of the math extensions to unicode
16:33:00 <elliott> oh right, and names with spaces in them I guess
16:33:05 <elliott> the future
16:33:20 <fizzie> Can also be underlined.
16:33:52 <elliott> the keywords or the names
16:34:15 <fizzie> I don't remember which way around, I just remember underlining to differentiate was also a thing.
16:34:18 <fizzie> Easier than bold when writing by hand.
16:34:29 <|oren\> http://snag.gy/Sc1dX.jpg <-- it might be a vagary of the font
16:35:25 <|oren\> yeah it is. me and my stupid japanese fonts
16:35:37 <fizzie> That's the screwiest font possible for "font-family: monospace, Courier".
16:36:18 <|oren\> Jiyucho Bold
16:37:10 <elliott> what a cute monospaced font
16:37:24 <elliott> bug report your title bar fonts are too normal
16:37:52 <|oren\> i'll see what i can do about that
16:37:57 <elliott> |oren\: did you deliberately plant that video that looks like it might be "Disney Furry" or something
16:38:25 <|oren\> No i was listening to this: https://www.youtube.com/watch?v=uYccun6GkDI
16:38:26 <fizzie> JPEG has not been kind to that red text.
16:38:58 <elliott> oh, it's Eur, not Fur
16:39:22 <elliott> very glad Disney Eurobeat CD 1 is a thing that exists, especially in how it implies the existence of future Disney Eurobeat CDs
16:39:26 <elliott> *of further
16:39:34 <|oren\> There are 3 that i know of
16:40:18 <elliott> scientists may yet discover more
16:40:21 <|oren\> they are actually made by real eurobeat artists
16:43:05 -!- roasted42 has quit (Ping timeout: 264 seconds).
16:43:07 <|oren\> fizzie: wow, you're right, it's all blotchy.
16:43:52 <elliott> fizzie: I don't know why Y'CbCr hurts red so much.
16:44:00 <elliott> presumably something to do with fiddly human optics things.
16:44:08 <elliott> but it's weird.
16:44:21 <nys> the periodic table of eurobeat CDs suggests that there are eight theoretically possible disney eurobeat CDs
16:44:41 <nys> though the remaining ones can only be observed for brief moments under laboratory conditions
16:45:36 <|oren\> he lives in you, he lives in me, he watches over, everything we see... into the water. into the truth. in your reflection. he lives in you.
16:45:37 <elliott> nys: don't forget the "transition eurobeat CDs", which are compilations of partly disney, partly other eurobeat tracks
16:46:10 <nys> hee
16:49:04 <elliott> vaporwave was long hypothesised to exist but only recently created in laboratories
16:51:00 <fizzie> elliott: I don't remember too much about the JPEG details. Maybe it's because the red and grey parts have more-or-less identical Y' values, so they're differentiated only by the color channels, and those are (often) downsampled. The other text also has the shape in the full-resolution luminance information.
16:51:26 <elliott> fizzie: blue text generally fares better, I think
16:51:41 <elliott> fizzie: you can see this in regular videos, too -- red stuff with edges just looks bad compared to everything else
16:51:47 <elliott> it's always smudgier
16:53:54 <elliott> http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1009.html dijkstra on goto again -- my version of that word search program is recognisable in the bounded linear search theorem here
16:54:16 <fizzie> What's weird is that if I wget the image, what I get is a PNG file with a .jpg extension.
16:55:24 <elliott> ((0) and (1) are perfect examples of how much of an annoying dick he was, too :p)
16:55:34 <elliott> (well, (0) especially)
16:55:45 <fizzie> (But it's still clearly been compressed with something very JPEGy (you can see the 8x8 blocks and the typical DCT artefacts) at some point of its history.)
16:56:01 <vanila> (1) Rubin still starts indexing the rows and the columns at 1. I thought that by now professional programmers knew how much more preferable it is to let the natural numbers start at 0. I shall start indexing at 0.
16:56:02 <vanila> lol
16:56:54 <elliott> (2) rubin smells and is bad at programming
16:57:08 <vanila> haha
16:58:10 <elliott> http://www.cs.utexas.edu/users/EWD/ewd10xx/EWD1009.PDF his handwriting was so great
16:58:51 <elliott> it's like he ran a typesetting program in his head
16:59:20 <|oren\> why the hell is bing now better than google
16:59:46 <|oren\> i guess because microsoft isn't taking everything down
17:00:12 <elliott> I find it interesting that |oren\'s suggested goto-using problem was very comparable to the one posed back in 1968
17:00:44 <vanila> Applying the above theorem twice yields for Rubin’s problem
17:00:45 <vanila> does that mean
17:00:47 <vanila> Applying the above theorem twice yields for Rubin’s program
17:01:30 <vanila> that was a brutal takedown
17:01:35 <vanila> he just derived the program like that
17:02:22 <elliott> it means for Rubin's problem
17:02:33 <elliott> Rubin stated a problem to defend the use of goto, Dijkstra derived a solution for it
17:02:38 <vanila> http://joshuah.scripts.mit.edu/blog/?p=195
17:02:57 <vanila> python doesn't have GOTO????
17:03:17 <elliott> it doesn't
17:03:30 <elliott> Dijkstra's solution is basically just nesting (search p n = go 0 where go m | m == n = Nothing | p m = Just m | otherwise = go (m + 1))
17:04:46 <elliott> if only his pseudocode had included abstraction over control structures so he could have written (search (\i -> not (search (\j -> x!(i,j) == 0) n)) n) :p
17:04:50 -!- ais523 has joined.
17:05:08 <elliott> uh that might need another ) in there somewhere
17:09:17 <|oren\> ok i am just going to swith my default serch to bing. google is officially over.
17:10:11 <elliott> wouldn't duckduckgo be more your thing
17:11:00 <elliott> it's the same results after all
17:11:11 <elliott> (my interaction with duckduckgo consists of appending !g to every query because the ddg/bing results are useless)
17:11:42 <|oren\> in two cases today the top result on bing was what i wanted and google did not even list it
17:12:18 <|oren\> so google is over. it's just... over. I'm breaking up with google
17:12:32 <elliott> (okay, not actually the exact same results)
17:12:45 <elliott> (I guess ddg have started doing their own crawling too now)
17:13:07 <vanila> have you tried to use the search engine made by the guy who wrote the elk cloner?
17:13:10 <ais523> elliott: ddg take results from yandex quite a bit, IIRC
17:13:25 <ais523> also they use the ais523 method of searching quite a bit (i.e. know in advance what website to look on)
17:13:45 <ais523> e.g. if there's a Wikipedia article about your search term, and it has an official website link, they'll use that (possibly with checks to ensure it hasn't been edited recently, although I doubt it)
17:13:51 -!- S1 has joined.
17:14:01 <elliott> vanila: blekko? no but I think ddg uses it or something
17:14:12 <elliott> for the results it has in the top bar
17:25:28 <|oren\> anyway from my point of view it is completely unacceptable for google to refuse a Canadian access to links to a Russian website based on a law that only exists in America.
17:26:04 <elliott> yeah it's completely unacceptable for google to follow laws in the country their servers are in
17:26:09 <elliott> so that they don't get seized
17:26:13 <elliott> fucking weird imo
17:26:25 <elliott> it's almost like google is an american corporation or something
17:26:30 <elliott> and has to follow american laws
17:26:43 <|oren\> well microsoft lists the russian websites
17:27:00 <elliott> because nobody cares about bing enough to send DMCA notices to them
17:27:06 <ais523> elliott: they also have to follow the laws in the country their headquarters are in
17:27:08 <elliott> would you like me to?
17:27:09 <boily> Google should change the law.
17:27:12 <ais523> Microsoft got in trouble over this recently
17:27:27 <ais523> by refusing to give US law enforcement information on servers they controlled outside the US
17:27:36 <ais523> not sure how the story ended or if it has yet
17:27:46 <|oren\> that is completely correct in my view
17:28:02 <elliott> |oren\ is probably accessing US servers
17:28:09 <elliott> at least I don't know google to have any servers in canada
17:28:27 <|oren\> it's cold here they could save on cooling
17:28:39 <ais523> tbf Google probably have servers everywhere
17:28:49 <ais523> in order to reduce latency
17:29:01 <elliott> |oren\: do you think it's absurd that corporations in the US can't sell cocaine to people who live in countries where it's legal because selling cocaine is illegal in the US (let's ignore laws on possession, and the pointlessness of the war on drugs)
17:29:53 <elliott> ais523: I don't think that's a given... for something like google search, investing in making huge data centeres everywhere doesn't make much sense
17:30:02 <elliott> compared to picking a few hotspots for it
17:30:06 <elliott> *centres
17:30:27 <ais523> I don't think either method is necessarily going to be the better one on the information we have
17:30:44 <elliott> well, we know about amazon's data centre distribution
17:31:10 <|oren\> elliott: the issue is that the US tries to apply its laws elsewhere, to the point of for example an american corporation seized an argintinean navy ship.
17:31:12 <ais523> huh, that's weird, I just did "dig google.com" and a whois on the resulting address
17:31:17 <ais523> and it was registered to YouTube
17:31:19 <elliott> (http://www.enterprisetech.com/2014/11/14/rare-peek-massive-scale-aws/ goes into some detail)
17:31:27 <ais523> Google owns YouTube, but I think of YouTube as being part of Google rather than the other way round
17:31:36 <elliott> |oren\: ok, but this has nothing to do with not giving you links that they are required by US law not to give you :P
17:32:34 <ais523> IMO censoring information by censoring links to it doesn't really work anyway
17:33:20 <ais523> |oren\: you'd have better luck with a canadian or russian search engine, really
17:33:32 <ais523> then neither would have a sensible reason to deny access to the links, assuming they're legal in both canada and russia
17:34:58 <|oren\> isn't google.CA enough? apparently not. anyway i have been known to use baidu
17:35:04 <vanila> it looks hard to censor information off the web
17:35:11 <ais523> it is hard
17:35:14 <vanila> i suppose the thing is, for the guys who have done this well - we do not know about it
17:35:27 <vanila> although we hear a lot about china, I thinkt hey have a very successful set of methods
17:35:57 <vanila> (mostly the social part, getting lower level web admins to help self-censor things so that they can continue to run their site without trouble)
17:36:13 <vanila> but of course DPI and blocking a lot of things too
17:36:57 <|oren\> of course to use baidu properly you need to write in chinese (which is pretty much beyond my capabilities still)
17:37:32 <|oren\> so i use a translator
17:38:47 <elliott> vanila: china do some fancy things with tor -- they actually talk the tor protocol to IPs to check whether they're tor relays
17:38:56 <elliott> uh, maybe not relays. I forget the exact tor terminology. they use this for blocking tor, anyway
17:39:25 -!- MM_ has joined.
17:39:55 <ais523> elliott: "exit node" and "middle node" is the main Tor terminology, I think
17:40:10 <ais523> middle nodes are the ones you bounce off, exit nodes are where the traffic reaches the open internet
17:40:13 <|oren\> really i think a lot of the web is simply hidden by linguistic barriers
17:40:23 <vanila> ive hard them called relays
17:40:26 <ais523> (with everything but the source address unencrypted)
17:40:31 <elliott> ais523: I forget what a relay is though
17:40:32 <ais523> "relay" is a pretty decently descriptive term, though
17:40:33 <elliott> maybe a middle node
17:40:49 <|oren\> i've never used tor or even bothered to read bout it
17:41:33 <ais523> I don't use it, but I'm aware of it
17:41:38 <elliott> I'm not sure china get much out of their internet censorship other than economically (cf. there being chinese versions of every internet thing)
17:41:44 <elliott> which may be the whole point?
17:41:52 <ais523> you pretty much have to be if you've ever needed to chase someone
17:42:01 -!- MM_ has quit (Client Quit).
17:42:01 <ais523> elliott: well apparently, the main purpose is to stop people arranging public gatherings
17:42:04 <ais523> like the one in Hong Kong
17:42:08 <ais523> is that one still going, incidentally?
17:42:10 * ais523 looks it up
17:42:16 <|oren\> nah they broke it up
17:42:27 <|oren\> i read on Xinhua about that
17:42:33 -!- n00b7489 has joined.
17:42:51 * |oren\ regularly reads Xinhua, RT, BBC, and Fox News
17:47:24 -!- hjulle has joined.
17:49:24 <n00b7489> Assuming a programming language doesn't have variable names or even memory addresses, but rather just a stack to push data on the top and retrieve then discard from the top,
17:53:09 <elliott> pushdown automaton
17:53:22 <elliott> they are not TC
17:53:39 <elliott> ...I hope I just psychically answered your question :p
17:54:31 <n00b7489> and it doesn't even have built-in multiply and divide, greater and less than, or any other advanced operations of any level built in, rather just the simple addition and subtraction of the top two values, and simple flow control by whether the top value is or isn't 0,
17:55:02 <ais523> n00b7489: it can't be TC unless you have another data structure somewhere (another stack will do; sometimes you can use the call stack for that purpose, if the language has a callstack)
17:55:30 <elliott> ais523: well, it could be if the elements are unbounded integers, depending
17:55:40 <elliott> maybe we should wait for the end of the question though.
17:55:55 <ais523> elliott: actually I don't think, e.g., BF-PDA is TC with unbounded integers
17:55:56 <n00b7489> Is there a way to implement printing a value as decimal and other complex algorithms in that highly limited programming language?
17:56:12 <elliott> ais523: well, you just need enough for fractran, right :p
17:56:49 <ais523> elliott: fractran needs you to be able to handle two unbounded integers at once, unless you have modulo or the like
17:56:56 <ais523> n00b7489: no, there isn't
17:57:09 <elliott> ais523: well, okay, yes, I was assuming you had the necessary arithmetic
17:57:11 <ais523> or, hmm
17:57:14 <ais523> "addition and subtraction of the top two values"
17:57:21 <ais523> there's a difference from normal
17:57:33 <ais523> I think now it's possible, if you have unbounded integers
17:58:02 <ais523> you can do multiply-by-constant, at least, which is /not/ true in BF-PDA
17:58:19 <ais523> if you can do divrem-by-constant too, you can do fractran
17:58:47 <ais523> n00b7489: I think this is very important: when you add/subtract the top two stack elements, where is the answer written? in particular, can you write the answer to the second stack element?
17:59:42 <n00b7489> The addition and subtraction operations pop two values from the top and push the result on the top.
18:00:10 <ais523> oh, hmm
18:00:12 <ais523> that changes things a lot more
18:00:17 -!- Phantom_Hoover has joined.
18:00:23 <b_jonas> or you could just have a few operations that shuffle or copy or discard the top few stack elements, in any combinations but only to a limited max depth
18:01:09 <ais523> in this case, there's obviously no way to move any information further from the bottom of the stack than it starts
18:01:35 <ais523> that leads me to think sub-TC, but haven't quite proved it yet
18:01:47 <elliott> well, maybe you can push
18:01:58 <elliott> oh, I see
18:02:14 <elliott> ais523: that's fine as long as you don't need the stack to be unbounded
18:02:26 <elliott> in which case we're on our way to reformulating counter machines with stacks...
18:03:46 <ais523> well in that case you only have one counter, right? because information can only flow in one direction
18:04:08 -!- MoALTz has quit (Quit: Leaving).
18:05:55 <ais523> OK, clearly the stack is bounded in this case; you can never use information from lower on the stack, meaning that if the height on the stack is not constant for a given position in your program's control flow, you have an infinite loop
18:06:45 <ais523> in this setting, it's possible to do a divide-modulo
18:06:52 <ais523> trying to work out if it's possible to do a multiply-by-constant
18:07:14 <ais523> I don't think it is
18:07:25 <ais523> oh, no, you can't do a divide-modulo, just a modulo
18:07:27 <ais523> yep, this is subTC
18:08:30 <elliott> we don't even know exactly what control flow there is yet
18:13:32 <ais523> I'm assuming "if zero then goto"
18:13:56 <ais523> given that it's a hypothetical question, and that's as fully general as you can get given the restrictions
18:14:58 <vanila> n00b7489, have you seen MNNBFSL
18:15:25 <vanila> it has two stacks but its interesting
18:15:28 <ais523> huh, that's a crazy "from" domain for spam: prison.gov.my
18:15:43 <ais523> it was a "you have won the lottery, we are google" spam
18:15:47 -!- drdanmaku has joined.
18:16:15 <vanila> ais523, I hope your spam anaysis goes into Casino Viagra
18:16:28 <glguy> Oh congrats. I hope you use your winnings for good
18:17:04 <ais523> I don't believe that if this had happened, Google would email me from a prison (presumably that's malaysia, haven't checked the country code but it isn't hugely relevant)
18:19:58 <fizzie> ais523: Well. Ban Ki-moon, the Secretary-General of the United Nations sends email from unitednationspayment101@gmail.com.
18:20:11 <elliott> isn't .my myanmar
18:20:22 <ais523> oh, could be
18:20:37 <elliott> no, it's malaysia
18:20:39 <elliott> this ruins my next joke: from the country's name, MburmYa
18:21:12 <fizzie> .mm from Burmma, there you go.
18:22:05 <fizzie> This is interesting piece of spam I don't think I've seen before.
18:22:12 <fizzie> "Below are few list of tracking numbers you can track from the UPS) Website (WWW.UPS.COM). To confirm beneficiaries like you who have received their payment successfully."
18:22:22 <fizzie> Then there's a list of 7 UPS tracking codes.
18:23:09 <glguy> Sounds legit. Where do I send my money?
18:23:14 <ais523> fizzie: that reminds me of the "we've won the lottery and want you to help us spend the money" scammers, some of them link to articles about people winning the lottery
18:23:17 <fizzie> I tested one, and it had indeed been delivered. So I guess that's confirmed.
18:23:21 <ais523> presumably hoping that people will trust the from address
18:23:58 <fizzie> The "my late husband died and left me a lot of money" spams sometimes have links to Wikipedia articles about the people involved, or the high-profile plane crash or whatnot where they died.
18:24:25 <glguy> I saw someone claim that they make the spam absurd so only the dumbest people will engage with them
18:26:36 <glguy> I also went to a talk where they analyzed internet pharmaceutical spam and found it was very reliable with excellent customer service. The thing was that it's hard to get a merchant credit card account so they can't afford getting complaints
18:26:49 <fizzie> This one also says that any delay in responding will cause UN to use the $4,900,000 they've earmarked for me to "help the people who have been displaced in Darfur, Sudan Africa which you can see it in this site www.savedarfur.org and the Tsunami's victims in Asia."
18:27:31 <glguy> Wow, that one's really selecting for a special kind of human
18:27:41 <fizzie> I guess I'm doing a good thing in not replying.
18:28:20 <glguy> You can probably write that 5m$ on your taxes
18:28:29 -!- shikhout has joined.
18:28:37 <|oren\> glguy: the same type of human who worships ebola-chan
18:28:51 -!- shikhout has changed nick to Guest222.
18:31:23 -!- shikhin has quit (Ping timeout: 252 seconds).
18:32:37 -!- MoALTz has joined.
18:33:33 -!- shikhin has joined.
18:33:55 -!- shikhin has changed nick to Guest26838.
18:35:53 -!- Guest222 has quit (Ping timeout: 240 seconds).
18:38:38 -!- shikhout_ has joined.
18:39:40 -!- Guest26838 has quit (Ping timeout: 265 seconds).
18:43:34 -!- shikhout_ has quit (Ping timeout: 256 seconds).
18:48:51 -!- shikhout_ has joined.
18:52:37 * J_Arcane debates if he should deviate from BASIC syntax for the left$ and right$ functions.
18:53:54 -!- shikhout1 has joined.
18:54:14 <vanila> what are they
18:55:56 <J_Arcane> Well, the standard forms take the leftmost or rightmost X number of characters.
18:56:22 <J_Arcane> It seems like just taking the left or right half from index X instead would be more useful (it sure would've made my string-slice easier to write).
18:56:23 -!- shikhout_ has quit (Ping timeout: 258 seconds).
18:57:01 <ais523> J_Arcane: the lefts are equivalent there
18:57:05 <ais523> it's just the rights that differ
18:57:08 <J_Arcane> It also makes more sense to me: left$ essentially does this already, but right$ thus doesn't, so you get the actual right half from X, you have to either use mid$ or slice.
18:57:30 <J_Arcane> ais523: Exactly. It bugs me, because they seem like they should be opposite in a different way, you know?
18:58:03 <elliott> do you support negative indices
18:58:15 <elliott> you could write a split$ function
18:58:21 <elliott> > splitAt 3 "hi there!"
18:58:23 <lambdabot> ("hi ","there!")
18:58:27 <elliott> > splitAt (-2) "hi there!" -- not so much...
18:58:28 <lambdabot> ("","hi there!")
18:59:49 -!- shikhout1 has quit (Ping timeout: 245 seconds).
19:00:01 <J_Arcane> actually, at the moment I think a negative index would probably just result in some kind of horrible error.
19:00:35 <J_Arcane> And I suppose it's moot in a sense because I do *have* slice and mid, and they can easily be used for that instead of left and right.
19:05:37 <J_Arcane> I'm now struck with a desire to overhaul my slice function ...
19:06:09 -!- boily has quit (Quit: UNINTERRUPTIBLE CHICKEN).
19:09:29 -!- shikhout_ has joined.
19:27:46 -!- n00b7489 has quit (Quit: leaving).
19:28:14 <int-e> aww, this no longer works in ldmud: string s = "foo"; s[3..0] = "bar"; write(s); ===> foobarfoo
19:37:28 -!- shikhout_ has changed nick to shikhin.
19:37:33 -!- shikhin has quit (Changing host).
19:37:33 -!- shikhin has joined.
19:44:31 <elliott> def rsa_encrypt(key, element):
19:44:31 <elliott> assert isinstance(element, (long, int)), type(element)
19:44:32 <elliott> _element = mpz(element)
19:44:32 <elliott> return long(pow(_element, key.e, key.n))
19:44:32 <elliott> def rsa_decrypt(key, cipher):
19:44:34 <elliott> assert isinstance(cipher, long), type(cipher)
19:44:36 <elliott> _cipher = mpz(cipher)
19:44:39 <elliott> return long(pow(_cipher, key.d, key.n))
19:44:41 <elliott> this is like crypto slapstick
19:45:17 <elliott> you're meant to just implement the equations directly using GMP, right? without padding or blinding or anything?
19:46:03 <elliott> (no, not from pedagogic RSA-explaining code; https://lists.torproject.org/pipermail/tor-dev/2014-December/007999.html)
19:47:18 <vanila> I dont know any better
19:48:43 <elliott> hopefully you're not marketing your supposedly secure software like http://www.tribler.org/ <_<
19:49:03 <vanila> if i was to implement RSA I would probably do better than these guys
19:49:17 <vanila> but right now I don't knwo whats wrong with that code
19:49:49 <elliott> e.g., https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Padding and the next section
19:50:15 <elliott> (the "Timing attacks" section mentions blinding)
19:50:29 <elliott> I like how their CSPRNG is mersenne twister
19:50:47 <vanila> I know that mersenne twister is cryptographicaly secure
19:50:50 <vanila> is NOT***
19:50:53 <vanila> god damn it lol
19:51:13 <ais523> elliott: so many people try to use the Mersenne Twister as a CSPRNG, it's depressing
19:51:27 <vanila> In cryptography, Optimal Asymmetric Encryption Padding (OAEP) is a padding scheme often used together with RSA encryption.
19:51:31 <ais523> although one bit of good news is, almost everyone seeds it with a 32-bit seed even though it has much more internal state than that
19:51:32 <b_jonas> ais523: and they seed it with 32 bytes of entropy or less
19:51:42 <vanila> padding attacks and stuff is kind of advanced
19:51:44 <ais523> or arguably bad news
19:51:54 <vanila> thats no tthe sort of thing you'd learn without trying
19:51:54 <ais523> this means that a mersenne twister can be easy to reverse just by brute force
19:52:19 <elliott> vanila: trying is one thing -- this is I think grant-funded research that has a snazzy site marketing it as secure and anonymous to ordinary people
19:52:29 <elliott> (I'd hope any course about crypto would teach about padding or such though!)
19:52:46 <b_jonas> ais523: yes. hopefully they'll fix this in future standards, but currently in C++11 you need like four lines of code of cargo cult magic to seed the mersenne twister properly with more than just 32 bits of entropy
19:53:10 <b_jonas> and even then you have to give an explicit amount of entropy to seed with, and you just have to make that number up
19:53:23 <b_jonas> no wait, maybe not that
19:53:24 <Sgeo> `pbflist
19:53:25 <b_jonas> but something close
19:53:30 <Sgeo> :(
19:53:32 <HackEgo> pbflist: shachaf Sgeo quintopia ion
19:54:53 <vanila> elliott, Well I hope people will start to learn that you cannot pay for security
19:55:06 <vanila> you can't buy a "NSA Proof phone" or whatever the fuck they are selling today
19:55:24 <vanila> maybe once people learn that they will actually bother to learn how to use RSA for emails
19:55:45 <vanila> (just kidding, I know that will never happen - people just want to throw money around and pretend it will solve everything)
19:55:48 <elliott> PGP is nigh-unusable, to be honest
19:55:53 <vanila> I have used it
19:55:54 <vanila> its fine
19:56:00 <b_jonas> it's something like std::array<unsigned, 64> ent; std::random_device dev; for (unsigned &w : ent) w = dev(); std::mt19937_64 rns(seed_seq(ent.begin(), end.end()));
19:56:09 <elliott> I find it unbearable and I'm as nerdy as its designers.
19:56:19 <b_jonas> it's riddiculous, why do I have to learn such magic incantations to seed my rng?\
19:56:20 <vanila> the real problem with PGP is that you need someone ELSE to use it too
19:56:30 <vanila> thats why i never took off
19:56:31 <elliott> I like the work https://whispersystems.org/ is doing with more-usable strong crypto.
19:56:33 <vanila> it*
19:56:51 <vanila> I don't know if whispersystems.org is free/open source?
19:56:56 <elliott> yes, it is
19:57:00 <elliott> and they publish their designs
19:57:01 <vanila> I think the guy behind it moxie did release some tools before that are not free
19:57:06 <vanila> like redphone or something
19:57:14 <vanila> that's kind of annoying to me
19:57:19 <vanila> thayt's good they're doing better now
19:57:21 <elliott> e.g., https://whispersystems.org/blog/advanced-ratcheting/
19:57:57 <elliott> in fact they recently worked with WhatsApp and deployed that to all WhatsApp users... not sure how key verification works if it works at all but that's still kind of amazing that they gave every user of one of the biggest messaging platforms in the world state-of-the-art encryption overnight
19:58:33 <int-e> elliott: linear algebra is hard, they couldn't figure it out, so the NSA won't either ;-)
19:58:36 <elliott> (it would be sad if the owners of WhatsApp could MITM the keys -- not sure if that's the case or exactly how they implemented it -- better than nothing though)
19:59:25 <elliott> vanila: https://github.com/WhisperSystems/RedPhone, at least (not saying it was necessarily released when the binaries were)
20:00:49 <vanila> wow ok I might just have this all totally wrong
20:00:52 <vanila> that's cool!
20:01:29 -!- Patashu has joined.
20:17:57 -!- GeekDude has changed nick to GeekAfk.
20:21:15 <vanila> elliott, do you know crypotl?
20:21:17 <vanila> cryptol
20:21:29 <elliott> I know of it, and one or two vague things about it
20:21:31 <elliott> nothing more
20:21:37 <vanila> there's a free open source implementation now
20:21:58 <elliott> cool
20:23:43 <vanila> its really good
20:28:43 -!- Patashu has quit (Ping timeout: 252 seconds).
20:39:53 -!- shikhin has quit (Ping timeout: 258 seconds).
20:46:41 -!- FreeFull has quit (Ping timeout: 264 seconds).
20:47:25 -!- |oren\ has quit (Ping timeout: 252 seconds).
20:48:10 -!- FreeFull has joined.
20:50:45 -!- boily has joined.
21:04:54 <newsham> my dr gave me some cryptol last week
21:05:33 <vanila> newsham, you should try it out!
21:05:38 <vanila> i bet you will like it
21:05:52 <vanila> http://cryptol.net/
21:07:07 <newsham> is the free/open one not the galois one?
21:07:36 <vanila> its still galois
21:07:49 <vanila> it doesn't emit VHDL and stuff anymore
21:39:18 -!- MoALTz has quit (Ping timeout: 258 seconds).
22:02:21 -!- MoALTz has joined.
22:37:17 -!- S1 has quit (Quit: S1).
22:37:38 -!- boily has quit (Quit: SUBLIMATED CHICKEN).
22:41:26 -!- Solace has joined.
22:43:27 -!- GeekAfk has changed nick to GeekDue.
22:43:29 -!- GeekDue has changed nick to GeekDude.
22:45:09 <Solace> J_Arcane: thats very scary
22:47:09 <Solace> So is that just on the flashdrive or is it remote access?
23:07:39 -!- oerjan has joined.
23:11:10 -!- bb010g has quit (Quit: Connection closed for inactivity).
23:15:06 <oerjan> `echo hi
23:15:07 <HackEgo> hi
23:15:38 <oerjan> HackEgo up, codu.org down. it's a mystery.
23:17:10 <oerjan> <oren> you ever like a song, and then find out the lyrics and they are kind of worrying? <-- reminds me of the time i considered learning the lyrics to Stenka Razin
23:17:21 <oerjan> (still considering)
23:17:49 <oerjan> wat, oren not here, that's unnatural
23:22:06 * oerjan checks out oren's youtube link and feels the generation gap widening
23:22:47 <oerjan> my general noise sensitivity isn't helping with that either.
23:24:16 <oerjan> argh now i'm starting to notice the ventilation system again
23:36:36 -!- FreeFull has quit (Ping timeout: 258 seconds).
23:39:48 -!- roasted42 has joined.
23:45:29 -!- FreeFull has joined.
23:46:28 -!- MDude has joined.
23:49:42 -!- roasted42 has quit (Ping timeout: 264 seconds).
23:57:14 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
2014-12-22
00:03:34 -!- |oren\ has joined.
00:03:58 <|oren\> i am back online
00:04:05 <vanila> you were needed
00:04:50 * |oren\ reads the logs...
00:06:40 <|oren\> noise sensitivity eh. i have the opposite problem, i can't fall asleep in the country because it is too quiet and i need the sound of the city to put me to sleep
00:06:47 <oerjan> <|oren\> when goto is used wisely it pervents confusion <-- i think "pervent" is the perfect word for what happens if you try to use goto wisely
00:09:23 <|oren\> goto is actually a less confusing construct today because of the existence of editors that can search for the label.
00:10:30 <oerjan> OKAY
00:10:33 <|oren\> (less confusing as compared to adding a new boolean variable)
00:11:14 <oerjan> i also think adding a new boolean variable may mean you've missed the point of avoiding goto
00:11:24 <|oren\> it pervents more confusion than it causes
00:11:47 <oerjan> (psst you did realize i was teasing about the misspelling, right?)
00:12:12 <|oren\> well from now on i'm spelling it like that every time. like biguate.
00:12:30 -!- oerjan has set topic: Mandatory spelling lessons in 1,2... | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
00:13:03 <Jafet> Shouldn't it be mbiguity
00:13:35 <|oren\> ambiguity->antonym = biguity
00:14:10 <oerjan> am- as a negative prefix almost makes sense but not quite.
00:14:18 <|oren\> but to be fair in modern greek the sound b is written mu beta
00:14:27 <oerjan> huh
00:14:45 <oerjan> oh because beta is a fricative
00:14:52 <|oren\> yeah
00:15:10 <Phantom_Hoover> surely it's ambiguity, as opposed to chiral guity?
00:15:30 <oerjan> wat
00:15:36 <oerjan> oh hm
00:15:43 <|oren\> guities can be bi, or ambi.
00:16:06 <oerjan> dextroguity
00:16:08 <elliott> bisexual guity
00:16:24 <oerjan> (that -o- has to be wrong)
00:16:25 <myndzi> |
00:16:25 <myndzi> /<
00:16:32 <oerjan> thanks myndzi
00:16:51 <|oren\> oh man XD
00:19:03 <oerjan> if ambisexual means something different from bisexual than YOU GO TOO FAR
00:19:26 <oerjan> YOU AM PLAY GODS
00:20:13 <Phantom_Hoover> i think CPT symmetry means you're having reverse sex with your antimatter twin?
00:21:09 <oerjan> that sounds hot. explosive, even.
00:23:30 <Solace> Bi means you like male and female
00:23:38 <Solace> Ambi means you like chairs?
00:23:45 <Solace> Thats all ive gotten
00:24:06 <oerjan> i don't know that ambi- has anything to do with chairs
00:24:20 <Solace> Idk either
00:24:28 <Solace> Guys
00:24:33 <oerjan> it's the latin word for "both"
00:24:50 <elliott> I like chairs.
00:24:53 <|oren\> Solace: yeah what?
00:24:54 <Solace> Semen has clocked in the scale for best cpu coolant next to artic silver
00:25:02 <Solace> Just saying
00:25:06 <|oren\> bullshit
00:25:32 <oerjan> [citation ne...NO NO NO]
00:26:02 <oerjan> also what is artic silver
00:26:28 <Jafet> [unreliable source?]
00:29:21 <elliott> just gotta jizz all over my CPU to test
00:29:24 <elliott> "brb"
00:31:45 <Solace> Lol
00:31:57 <Solace> Probably Jafet
00:32:19 <Solace> I was just skimming a forum and thats all i saw
00:32:24 <Solace> You never know
00:32:42 <Solace> Maybe thermite and blood makes a great coolant
00:32:58 <oerjan> forums are not reliable sources: world scientific community shocked
00:33:07 <Solace> ^
00:33:30 <oerjan> *-are
00:33:36 <Solace> Topic is set to that why?
00:33:48 <oerjan> because y'all need to learn to spell hth
00:34:10 <Solace> Eye sea watt yew did their oerjan
00:34:18 <Solace> hth
00:34:45 <Solace> Jk so like what is brainfuck and why does it look like garbage and syntax
00:35:15 -!- nyuszika7h has quit (Ping timeout: 258 seconds).
00:35:33 <oerjan> it was designed to have a very small compiler which means it needs to be extremely simple
00:35:37 -!- nyuszika7h_ has joined.
00:35:49 <Solace> :0
00:36:04 <Solace> So is it hard?
00:36:18 <oerjan> (unlike most other esolangs which look like garbage because most esolangers don't bother to invent parsing)
00:36:49 <Solace> The way you phrased that made me laugh
00:37:04 <vanila> Its hard to use BRINAFUKK
00:37:12 <vanila> beacuse it doesn't have procedures
00:37:21 <oerjan> ok some look like garbage because they're inspired by the others that do
00:37:31 <Solace> Ah
00:37:35 <vanila> or GOTO
00:38:05 <oerjan> (most commonly, brainfuck)
00:40:02 <myname> brainfuck looks like garbage? it's perfectly readable to me
00:41:00 <shachaf> `pbflistdeluxe
00:41:01 <HackEgo> pbflistdeluxe:
00:41:12 <oerjan> brainfuck is hard because it's so low level that you have to implement almost everything from scratch, including any advanced data structures - you don't even have pointers or references.
00:41:36 <oerjan> and also because it has no real form of abstraction
00:43:39 <Solace> Thats horrifying
00:43:45 -!- yorick has quit (Read error: Connection reset by peer).
00:44:02 <Solace> I will never try my hand at that ._.
00:44:03 <oerjan> well that means it's more of a puzzle than actually useful
00:44:08 <elliott> vanila: is BRINAFUKK a bf derivative
00:44:32 <vanila> BRINAFUKK Is Not A BRINAFUKK Derivative
00:44:41 <oerjan> Solace: _many_ esolangs share those "features"
00:44:51 <Solace> Well
00:45:03 <myname> Solace: are you sure you are at the right place?
00:45:05 <Solace> Ill only use esolangs that have letters
00:45:26 <Solace> >+] is to much for me
00:45:50 <Solace> myname: yeh i am im usually afk doing stuff though
00:46:05 <myname> Solace: so a substitution of +-<>.,[] with idbfpcse is fine?
00:46:07 <elliott> vanila: BINABD. yep, those are the same letters as BRINAFUKK
00:46:07 -!- yorick has joined.
00:46:18 <elliott> Solace: you might like deadfish
00:46:23 <elliott> it is very easy
00:46:23 <Solace> Yeh i guess
00:46:32 <oerjan> Solace: i think myname is hinting that you seem to dislike the most common features of esolangs :P
00:46:33 <Solace> Ill go look at it
00:46:48 <Phantom_Hoover> <oerjan> brainfuck is hard because it's so low level that you have to implement almost everything from scratch, including any advanced data structures - you don't even have pointers or references.
00:47:12 <Solace> Nah not really its just like idk its name suits it well
00:47:12 <Phantom_Hoover> brainfuck, i'd say, is more than anything else hard because it has no built-in nonlocal stuff at all
00:47:25 <Solace> Verbosefuck is probably what ill be good at
00:47:32 <myname> Solace: you should try malbolge
00:47:42 <Solace> ...
00:47:49 <Solace> ©_©
00:48:05 <Jafet> Yeah, it's hard to imagine anyone using anything resembling brainfuck as any kind of formal basis for computation
00:48:45 <Solace> I need esolangs you can actually implement large data structures in
00:48:56 <Solace> Very large ones
00:48:57 <Phantom_Hoover> eodermdrome!!
00:49:25 <Solace> ?
00:49:38 * oerjan swats Jafet -----###
00:49:53 <Solace> :0 thats mean
00:50:00 <myname> Solace: how about funciton
00:50:06 <oerjan> Solace: you just think that because you didn't get his joke
00:50:16 <Solace> >_>
00:50:29 <Solace> I never get jokes
00:50:42 <Solace> Ill check that out also myname
00:50:44 <oerjan> (hint: turing machines resemble brainfuck in most of the ways that make it awkward)
00:51:31 <oerjan> not entirely, but enough
00:51:45 <Solace> I remember when i didnt know how to remove piping
00:52:18 <oerjan> Solace: eodermdrome is nice, you should implement it
00:52:22 <oerjan> (inside joke)
00:52:29 <Solace> :|
00:52:55 <Solace> i DONT know what eodermdrome is?!
00:53:03 <oerjan> ^wiki eodermdrome
00:53:08 <Solace> Lag
00:53:15 <oerjan> fizzie: !!!
00:53:22 <oerjan> no, missing fungot
00:53:36 <oerjan> @google eodermdrome
00:53:37 <lambdabot> http://esolangs.org/wiki/Eodermdrome
00:53:37 <lambdabot> Title: Eodermdrome - Esolang
00:53:54 <myname> Solace: it's pretty neat. all you have to do is solving an np hard problem every single step
00:54:31 <oerjan> Solace: you can implement large data structures in unlambda btw
00:54:57 <Solace> Really? oerjan
00:55:11 <Solace> Ok myname
00:55:46 <oerjan> i didn't say it would be easy hth
00:55:46 <Solace> Lets focus on one language at a time
00:55:59 <Solace> I have alot of time left
00:56:05 <oerjan> but it may still be easier than it most of the languages mentioned already
00:56:10 <oerjan> *in
00:56:17 <Solace> Oh ive seen unlambda
00:56:26 <Solace> Doesnt look terribly hard
00:56:49 <Solace> Is just kinda ehhh ok for me
00:56:57 <oerjan> i think unlambda was my first esolang, except for _probably_ having been exposed to parts of the INTERCAL manual at some point
00:57:24 <Solace> Anyways i have to dinner
00:57:38 -!- Solace has changed nick to Solace|Dinner.
00:57:54 <oerjan> um first to discover, that is
00:57:58 <myname> mine was brainfuck. at a point where i didn't really were able to write code in normal languages
00:58:37 <myname> there was a website explaining it like a turing mashine
00:58:52 <oerjan> charming
00:59:01 -!- fungot has joined.
00:59:03 <fizzie> I'm asleep, I can't help with missing fungots.
00:59:03 <fungot> fizzie: in the us
00:59:10 <oerjan> fizzie: OKAY
01:03:09 -!- boily has joined.
01:08:54 -!- mitchs has quit (Ping timeout: 256 seconds).
01:10:36 <oerjan> ahoily
01:11:22 -!- CrazyM4n has joined.
01:12:57 <boily> bonsœrjan!
01:16:16 -!- Frooxius has joined.
01:20:23 -!- mitchs has joined.
01:56:51 -!- Solace|Dinner has changed nick to Solace.
02:04:49 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:20:44 -!- roasted42 has joined.
02:28:57 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
03:00:19 -!- mitchs has quit (Ping timeout: 252 seconds).
03:01:43 -!- boily has quit (Quit: UNDEFINED CHICKEN).
03:03:53 -!- |oren\ has quit (Ping timeout: 240 seconds).
03:06:31 -!- vanila has quit (Remote host closed the connection).
03:09:52 -!- roasted42 has quit (Ping timeout: 245 seconds).
03:11:43 -!- roasted42 has joined.
03:12:12 -!- mitchs has joined.
03:25:11 <Sgeo> https://www.reddit.com/r/shittyprogramming/comments/2pxbr7/faster_inverse_square_root/
03:25:59 <nys> fisr
03:26:27 -!- adu has joined.
03:34:51 * pikhq wonders why his stomach hurts
03:35:56 <oerjan> too much tabasco
03:37:02 <oerjan> hidden eating utensils
03:37:23 <oerjan> ate too fast, swallowed fork
03:39:29 <pikhq> Y'mean I shouldn't have put tabasco on my fork and ate it?
03:39:32 <pikhq> Darn.
03:39:39 <pikhq> But I thought I was being a culinary genius.
03:39:52 <oerjan> sorry
03:46:23 <J_Arcane> this morning I learned Racket's case doesn't support one-half of the typical behavior of case statements.
03:46:52 <J_Arcane> https://github.com/jarcane/heresy/issues/10
03:50:36 -!- roasted42 has quit (Ping timeout: 250 seconds).
03:50:40 -!- mitchs has quit (Quit: mitchs).
03:51:30 <Jafet> That's because the case syntax is cond.
03:52:33 -!- roasted42 has joined.
03:54:07 -!- Sprocklem has joined.
03:59:10 <CrazyM4n> That reminds me that I was learning lisp like a week ago
04:01:35 <elliott> J_Arcane: pretty sure that holds in standard scheme too?
04:01:53 <elliott> J_Arcane: your syntax is weird, it's ((1) 'foo) because you can also do ((1 2 3) 'foo) I think
04:02:06 <elliott> so it would "at least" be (((mod 5 2)) 'foo)
04:03:34 <elliott> scheme's case is disappointing though
04:03:35 <J_Arcane> Yes, you can. and that's a good point.
04:03:40 <elliott> it is not exactly pattern matching
04:03:57 <J_Arcane> Probably because it does have match, and case is evil C.
04:03:57 <elliott> I suspect racket probably has something for proper pattern matching
04:04:08 <elliott> nah, case is scheme heritage for racket, not C
04:04:09 <J_Arcane> Yes, Racket has a very powerful match statement.
04:05:01 <elliott> yes, so I see
04:05:18 <elliott> |
04:05:18 <elliott>
04:05:18 <elliott> (pregexp px-expr)
04:05:18 <elliott>
04:05:18 <elliott> match string
04:05:22 <elliott> even supports pregnant expressions
04:07:16 <elliott> racket has a lot of nice stuff but I find it hard to see what its overarching philosophy is
04:07:43 <oerjan> wtf is a pregnant expression
04:07:51 <elliott> like a regular expression except pregnant
04:07:59 <oerjan> OH
04:08:25 <elliott> you can match them with the pcre library (pregnancy-compatible regular expressions)
04:09:04 <oerjan> good, good
04:12:36 -!- b_jonas has quit (Ping timeout: 258 seconds).
04:12:51 -!- b_jonas has joined.
04:13:06 <J_Arcane> Hah hah! I did it. I wrote an evaluating case statement. :D
04:13:26 -!- mitchs has joined.
04:13:29 <elliott> does it differ much from using cond?
04:13:33 <CrazyM4n> I tried googling that and through an untimely slew of typos, google thought I wanted "pregnant expressional lips"
04:14:24 <J_Arcane> elliott: less verbose in some cases. IT came up because I was writing a "canonical" FizzBuzz for Heresy, and realized I couldn't use the case method (ie. 0 as val, and various (mod ...) calculations for the matching clauses)
04:14:55 <J_Arcane> And it turns out it is literally as simple as rewriting it without the extra ' around the matching values.
04:18:11 -!- InvalidC1 has joined.
04:18:44 -!- roasted42 has quit (Ping timeout: 256 seconds).
04:19:00 -!- roasted42 has joined.
04:19:53 -!- InvalidCo has quit (Ping timeout: 258 seconds).
04:21:38 <J_Arcane> (in Racket, the helper macro that handles the equal? literally just matches on (k ...) but then does (equal? v 'k) instead.
04:27:17 -!- roasted42 has quit (Ping timeout: 240 seconds).
04:32:22 -!- tromp_ has quit (Read error: Connection reset by peer).
04:47:18 -!- mitchs has quit (Ping timeout: 264 seconds).
04:57:27 -!- sebbu has quit (Ping timeout: 258 seconds).
05:06:05 -!- relrod has quit (Excess Flood).
05:06:25 -!- relrod_ has joined.
05:08:41 -!- relrod_ has changed nick to relrod.
05:11:03 -!- j-bot has quit (Ping timeout: 245 seconds).
05:11:03 -!- rodgort has quit (Ping timeout: 245 seconds).
05:12:06 -!- rodgort has joined.
05:13:06 <Sgeo> `slist
05:13:08 <HackEgo> slist: Taneb atriq Ngevd Fiora Sgeo ThatOtherPerson alot
05:14:05 <Sgeo> Remind me to get back into Racket so I can get back to that optics library
05:24:24 -!- nys has quit (Quit: quit).
05:33:46 -!- mitchs has joined.
05:46:13 -!- copumpkin has joined.
06:01:51 -!- newsham has quit (Ping timeout: 258 seconds).
06:02:43 -!- newsham has joined.
06:05:44 -!- MoALTz has quit (Read error: Connection reset by peer).
06:06:26 -!- MoALTz has joined.
06:10:40 -!- MDude has changed nick to MDream.
06:22:30 -!- CrazyM4n has quit (Quit: Leaving).
06:29:59 <Solace> (∩ ͡° ͜ʖ ͡°)⊃━☆゚. * ・ 。゚, *
06:31:41 <Solace> How do you stop xml stack overflows
06:31:48 <Solace> This is so bad
06:33:53 <lifthrasiir> do not use xml
06:34:08 <Solace> Thanks that fixed the problem
06:35:06 -!- callforjudgement has joined.
06:35:19 -!- callforjudgement has quit (Changing host).
06:35:19 -!- callforjudgement has joined.
06:38:07 -!- ais523 has quit (Ping timeout: 272 seconds).
06:53:56 -!- sebbu has joined.
06:54:33 -!- sebbu has quit (Changing host).
06:54:33 -!- sebbu has joined.
07:04:52 -!- callforjudgement has quit (Read error: Connection reset by peer).
07:04:57 -!- scarf has joined.
07:05:13 -!- scarf has quit (Changing host).
07:05:13 -!- scarf has joined.
07:07:15 -!- mitchs has quit (Quit: mitchs).
07:07:47 -!- scarf has quit (Read error: Connection reset by peer).
07:08:01 -!- scarf has joined.
07:11:42 -!- adu has quit (Quit: adu).
07:11:55 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
07:32:16 -!- Patashu has joined.
08:16:36 -!- oerjan has quit (Quit: leaving).
08:31:13 -!- azazel- has joined.
08:31:33 -!- azazel- has left ("...(Gone). Goodbye.").
08:46:41 -!- ais523 has joined.
08:48:52 -!- scarf has quit (Ping timeout: 240 seconds).
08:50:19 -!- oren has joined.
09:14:49 -!- Sprocklem has quit (Ping timeout: 245 seconds).
09:23:48 -!- arjanb has joined.
09:29:45 -!- nyuszika7h_ has changed nick to nyuszika7h.
09:36:35 <Jafet> Eodermdrome looks like it can be interpreted in polynomial time
09:37:01 <Jafet> (Each subgraph can have at most 26 nodes)
10:06:15 <myname> well, as long as you only allow lower case letter nodes
10:07:36 <Jafet> But programming would become too easy otherwise.
10:14:35 -!- InvalidC1 has changed nick to InvalidCo.
10:18:02 -!- oren has quit (Quit: Lost terminal).
10:48:34 -!- mitchs has joined.
11:00:08 -!- Solace has quit (Quit: Connection closed for inactivity).
11:00:17 -!- coppro has quit (Ping timeout: 240 seconds).
11:01:16 -!- coppro has joined.
11:18:39 -!- boily has joined.
11:18:45 <J_Arcane> https://twitter.com/abt_programming/status/546969469571325952
11:18:51 <ais523> Jafet: right, I intended to restrict it to 26 to keep things hard
11:18:55 <ais523> not sure if the spec actually achieves that, though
11:23:17 -!- weissschloss has quit (Ping timeout: 240 seconds).
11:23:17 -!- trn has quit (Ping timeout: 240 seconds).
11:25:34 -!- weissschloss has joined.
11:26:29 -!- trn has joined.
11:28:38 <b_jonas> ais523: but doesn't that mean you can have only finitely many programs (say at most double exponential in 26) so you can't encode arbitrary data in the program itself, so it's technically not turing-complete?
11:28:52 <b_jonas> it's TC only if you're allowed to prefix a string to the input
11:28:59 <ais523> it's curly-L-complete
11:29:07 <b_jonas> um
11:29:07 <ais523> also I think you might be able to get up to triple exponential
11:29:14 <b_jonas> what's "curly-L-complete"?
11:30:07 <ais523> http://esolangs.org/wiki/%E2%84%92
11:30:11 <b_jonas> triple exponential how? there's about 2**O(n**2) possible graphs and statements using n fixed letters,
11:30:24 <b_jonas> and a program is just a set of such statements
11:30:43 -!- mitchs has quit (Ping timeout: 272 seconds).
11:30:54 <b_jonas> hmm wait
11:31:05 <ais523> oh right, it's 2**(2**(n**2))
11:31:19 <b_jonas> you can have infinitely many programs because a statements can contain an arbitrary output string
11:31:20 <ais523> which is higher than double exponential I think?, but lower than triple exponential
11:31:31 <ais523> and arbitrary output strings won't affect the computational class
11:31:45 <b_jonas> exactly, it doesn't help making the language more turing-complete
11:32:08 <b_jonas> if you allow any number of letters, it is turing complete though
11:32:25 <b_jonas> and "efficient" too, in that it can simulate programs in polynomial time
11:32:34 <b_jonas> very slow polynomial, but still polynomial
11:38:14 <Jafet> In this case the construction of generalised Eodermdrome ("Geraliseodermdromen"?) is straightforward
11:42:20 -!- mitchs has joined.
11:51:38 -!- callforjudgement has joined.
11:53:46 -!- ais523 has quit (Ping timeout: 250 seconds).
12:14:13 -!- Phantom_Hoover has joined.
12:22:19 <J_Arcane> So in answer to my earlier puzzlement about Racket's (case ...) statement, apparently it has to do with performance details in how it compiles making it a lot faster if it's not allowed to do any calculation for the matching clauses at compile time.
12:23:37 -!- Patashu has quit (Ping timeout: 240 seconds).
12:24:13 -!- boily has quit (Quit: SUPERSYMMETRIC CHICKEN).
12:55:34 <mroman> !blsq 1Jq.+10C!CLq.+pa
12:55:34 <blsqbot> | {{144} ERROR: Burlesque: (.+) Invalid arguments! {144 89} ERROR: Burlesque: (.+) Invalid arguments! {144 89 55} ERROR: Burlesque: (.+) Invalid arguments! {144 89 55 34} ERROR: Burlesque: (.+) Invalid arguments! {144 89 55 34 21} ERROR: Burlesque: (.+) Inva
12:55:43 <mroman> !blsq 1Jq.+10C!CLq++pa
12:55:43 <blsqbot> | {144 233 288 322 343 356 364 369 372 374 375 376}
12:55:53 <mroman> !blsq 1Jq.+10!CCLq++pa
12:55:53 <blsqbot> | {1 2 4 7 12 20 33 54 88 143 232 376}
12:57:06 <mroman> !blsq 1Jq.+10!CCLqpdpa
12:57:06 <blsqbot> | {1 1 2 6 30 240 3120 65520 2227680 122522400 10904493600 1570247078400}
13:01:55 -!- mitchs has quit (Ping timeout: 272 seconds).
13:12:57 -!- singingboyo has quit (Ping timeout: 240 seconds).
13:13:57 -!- singingboyo has joined.
13:24:04 -!- callforjudgement has quit.
13:46:10 <mroman> *Main> eval $ parseRC "({x.x}{y.y}z)"
13:46:10 <mroman> (z)
13:46:51 <mroman> neat
13:49:11 <mroman> *Main> eval $ parseRC "({f.{x.{y.((fy)x)}}}{x.{y.x}}ab)"
13:49:12 <mroman> ((({x.{y.(a)}})(b))(a))
13:49:13 <mroman> crap
13:49:16 <mroman> this doesn't look right
13:54:34 <mroman> hm
13:54:53 <mroman> > (\f x y -> (f y) x)(\x y -> x)0 1
13:54:54 <lambdabot> 1
13:54:56 <mroman> see
13:54:59 <mroman> this should produce b
13:55:09 <mroman> but something is screewing up big time
13:56:33 <mroman> hm right
13:56:36 <mroman> bound vs unbound variables
13:58:27 <Jafet> @let eval=let e s@(_:'\\':v:'.':l)=let(x,')':t)=e$d l in(take 4 s++x++")",t);e('(':s)=let(x,t)=e s;(y,')':u)=e$d t in(a x y,u);e s=splitAt 1$d s;d=snd.span(==' ');a(_:'\\':v:_:l)s=let f x|x==v=s|1>0=[x]in fst.e$init l>>=f;a f x='(':f++" "++x++")" in fst.e
13:58:28 <lambdabot> Defined.
13:58:39 <Jafet> > eval "(((\\x. x)(\\y. y)) z)"
13:58:40 <lambdabot> "z"
13:59:34 <mroman> *Main> eval $ parseRC "({f.{x.{y.((fy)x)}}}{x.{y.x}}ab)"
13:59:35 <mroman> b
13:59:53 <mroman> much better.
14:01:30 <Jafet> > eval "((((\\f. (\\x. (\\y. ((f y) x)))) (\\c. (\\d. c))) a) b)"
14:01:32 <lambdabot> "b"
14:02:36 <mroman> > eval "((((\\f. (\\x. (\\y. ((f y) x)))) (\\x. (\\y. x))) a) b)"
14:02:37 <lambdabot> "a"
14:02:41 <mroman> :)
14:03:13 <mroman> this doesn't check either that it must not replace the x in the second term
14:06:33 <Jafet> I wonder how many strokes is needed to implement that
14:07:52 -!- arjanb has quit (Quit: bbl).
14:32:05 -!- tromp_ has joined.
14:38:05 <mroman> well
14:38:12 <mroman> at least now I have my own lambda calculus interpreter
14:53:16 -!- vanila has joined.
15:13:28 -!- MDream has changed nick to MDude.
15:17:55 -!- `^_^v has joined.
15:19:11 <J_Arcane> http://www.wired.com/2014/12/mathematicians-make-major-discovery-prime-numbers/
15:20:34 <vanila> Prime Numbers, which have previously only been hypothesized to exist were finally discovered in the wild.
15:22:06 <vanila> J_Arcane, there is way too much text in this, what result are they talking about?
15:22:20 -!- nycs has joined.
15:22:31 -!- `^_^v has quit (Disconnected by services).
15:22:36 -!- nycs has changed nick to `^_^v.
15:24:32 <J_Arcane> vanila: as best I could understand, it seems they've found a new proof for the gap between prime numbers.
15:25:01 <vanila> :S
15:25:13 <vanila> maybe his blog will explain it better
15:25:28 <vanila> Kevin Ford, Ben Green, Sergei Konyagin, James Maynard, and I have just uploaded to the arXiv our paper “Long gaps between primes“.
15:25:31 <vanila> http://terrytao.wordpress.com/2014/12/16/long-gaps-between-primes/
15:27:04 <vanila> so they are using graph theory ideas in sieving theory to get really good results on prime gaps
15:33:33 -!- drdanmaku has joined.
16:04:38 -!- GeekDude has joined.
16:25:26 -!- KingOfKarlsruhe has changed nick to KingBot.
16:25:46 -!- KingBot has changed nick to KingOfKarlsruhe.
16:31:41 -!- arjanb has joined.
16:34:40 -!- S1 has joined.
16:38:00 -!- mihow has joined.
16:44:27 -!- shikhin has joined.
16:45:14 -!- shikhin has changed nick to Guest5017.
16:47:22 -!- Guest5017 has changed nick to shikhout.
16:47:25 -!- shikhout has quit (Changing host).
16:47:25 -!- shikhout has joined.
17:00:23 -!- hjulle has quit (Remote host closed the connection).
17:03:40 -!- nys has joined.
17:04:44 -!- jix_ has quit (Quit: Lost terminal).
17:05:21 -!- jix has joined.
17:05:43 -!- Lorenzo64 has joined.
17:17:07 -!- oren has joined.
17:17:42 <oren> i am now north of north bay.
17:32:20 -!- shikhout_ has joined.
17:35:17 -!- shikhout has quit (Ping timeout: 240 seconds).
17:37:01 <int-e> oh wow, what's up with the C# entries for http://golf.shinh.org/p.rb?Base+37 ...
17:38:37 <int-e> (The whole output is just 659 bytes.)
17:45:01 -!- mihow has quit (Read error: Connection reset by peer).
17:46:01 -!- Phantom__Hoover has joined.
17:46:26 -!- mihow has joined.
17:47:56 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
17:49:06 -!- mihow has quit (Client Quit).
17:58:48 <elliott> vanila: it was actually a whole bunch of results http://michaelnielsen.org/polymath1/index.php?title=Bounded_gaps_between_primes
17:59:32 <elliott> it's kind of amazing to see the comment threads, all these mathematicians just blasting through better and better bounds
18:00:11 <elliott> http://michaelnielsen.org/polymath1/index.php?title=Timeline_of_prime_gap_bounds
18:01:15 <vanila> oooh
18:03:51 <elliott> it's like in the movies where they get all the scientists to work together non-stop on finding a solution except it's pure mathematics :p
18:04:45 -!- mihow has joined.
18:05:26 <tromp_> it's number theory golfing
18:33:56 <vanila> this kind of math is intimidatingly difficult
18:38:17 <int-e> The "admissible sets" part (from k_0 to H) is actually fairly easy to understand. http://michaelnielsen.org/polymath1/index.php?title=Finding_narrow_admissible_tuples
18:39:05 <int-e> But the analytic number theory (which produces bounds on k_0) is very scary.
18:39:13 <vanila> I feel sad that im not studying math
18:45:25 -!- Solace has joined.
18:50:22 <oren> vanila: what are you majoring in?
18:50:34 <vanila> im not
18:50:59 <oren> oh, yeah that;s right, you're still young!
18:51:28 <vanila> i did math in the past
18:51:32 <oren> whereas i'm apparently old compared to everyone except oerjan
18:53:31 <elliott> oren: is that deduction because before you're majoring, you're a minor
18:53:34 * elliott hides
18:54:15 <oren> i never thought of it that way but yeah lololol
18:54:31 <elliott> (not exactly accurate but)
18:56:21 -!- Deewiant has quit (Quit: Viivan loppu.).
18:56:43 <vanila> http://www.reddit.com/r/math/comments/2m5gk3/terence_tao_is_going_to_be_on_colbert_report/ apparently tao has discovered a new prime
18:58:01 <elliott> following on the footsteps of grothendieck
18:58:04 <elliott> *in
18:58:34 <elliott> it's really cute when mathematicians know nothing about the elements of the sets they like
18:59:26 <oren> i was like "are twin primes the ones two numbers apart?"
19:00:19 <elliott> they're the ones born at the same time
19:01:12 <elliott> https://en.wikipedia.org/wiki/Sexy_prime I forgot this name =_=
19:02:13 <oren> Dang, i took a course in number theory and they didn't mention that? what a waste.
19:02:49 <oren> "sexyprime triplets"
19:03:55 <oren> knowing that there are such thing would be worth taking a course all on its own
19:07:09 -!- idris-bot has quit (Quit: Terminated).
19:11:39 <oren> what does idris-bot do?
19:12:35 <elliott> evaluates idris
19:15:20 -!- Deewiant has joined.
19:17:59 -!- nycs has joined.
19:19:44 -!- `^_^v has quit (Ping timeout: 256 seconds).
19:20:56 -!- Deewiant has quit (Quit: Viivan loppu.).
19:21:16 -!- Deewiant has joined.
19:22:03 -!- Deewiant has quit (Client Quit).
19:22:45 -!- Deewiant has joined.
19:22:49 -!- CrazyM4n has joined.
19:34:39 -!- Lorenzo64 has quit (Read error: Connection reset by peer).
19:43:03 -!- Lorenzo64 has joined.
19:44:11 <Phantom__Hoover> elliott, has it come to a conclusion of how much idris is worth yet?
19:44:41 <elliott> that joke is too bad to bother replying to, sorry
19:45:22 <Phantom__Hoover> i realise the timing may also have been a little off
19:45:34 <fizzie> This is the general advice channel, right? What's a good standard included-in-Debian duplicate-file-detector thingie?
19:46:15 <fizzie> (I ran across 'fdupes', but possibly I'm missing something that didn't have the good sense to put "dup" in the package name.)
19:59:57 -!- nycs has quit (Quit: This computer has gone to sleep).
20:03:37 -!- kcm1700_ has quit (Ping timeout: 265 seconds).
20:04:26 -!- mihow has quit (Quit: mihow).
20:04:43 -!- S1 has quit (Quit: S1).
20:04:48 -!- nycs has joined.
20:06:25 -!- kcm1700 has joined.
20:06:52 -!- Patashu has joined.
20:07:08 <oren> what about diff -s *
20:09:00 <oren> no that doesn't work
20:23:31 <oren> well you can use cmp and a loop: for i in * ; do for j in * ; do if cmp -s -- "$i" "$j" ; then echo "$i $j" ; fi; done ; done
20:23:51 <oren> that will output each pair twice tho
20:23:52 <fizzie> I don't think that'd be particularly efficient for, say, a terabyte of files.
20:24:03 <CrazyM4n> That RNA language is soo tedious to make an interpreter for D:
20:24:13 <fizzie> I think I'll try to go with this fdupes thing.
20:25:04 <oren> actually my loop is buggy anyway
20:25:07 -!- Patashu has quit (Ping timeout: 258 seconds).
20:27:34 -!- mihow has joined.
20:31:09 -!- Lorenzo64 has quit (Quit: Leaving).
20:31:51 <CrazyM4n> ;~; I'm 1/4th the way done typing the amino acids as a hash in ruby
20:32:35 <CrazyM4n> And it's taken like 5 minutes now D:
20:33:20 <CrazyM4n> Because 5 minutes is a long time that I should definitely be worried about.
20:33:39 <elliott> fizzie: "fdupes" is fun to say.
20:33:50 <elliott> fdupes. fdupes. faaadupes!
20:33:54 <elliott> hadoops.
20:41:34 <oren> man the c standard library sucks
20:42:10 <oren> i forgot, again, that strrev is one of those functions i keep copying the code of from one project to another.
20:42:45 <CrazyM4n> If you want a good stdlib why not just use C++?
20:45:16 <oren> C++ strings don't have reverse either actually
20:46:49 <elliott> oren: you'd be better off avoiding nul-terminated strings entirely, really
20:47:08 <CrazyM4n> Just encode them as arrays of integers
20:47:15 <CrazyM4n> It's probably a better alternative
20:47:18 <elliott> um...
20:47:24 <elliott> how is that different from using pointer to char?
20:47:30 <elliott> or do you mean a fixed-size char array
20:47:59 <CrazyM4n> By the way oren: http://en.cppreference.com/w/cpp/algorithm/reverse
20:48:25 <CrazyM4n> elliott: It's really not, I'm just joking around
20:48:37 <nycs> strings should really just be opaque blobs
20:48:56 <oren> that oughta do it actually...
20:49:44 <oren> i'm just writing some single-use glue code to get these files to have better names
20:49:53 -!- idris-bot has joined.
20:50:15 <oren> why in C/C++ because i'm an idiot i guess
20:51:29 <oren> never mind this will never work
20:53:57 <nycs> any time you want to iterate or index into a string you should ask yourself "is this going to work with unicode?"
20:54:05 <nycs> 99% of the time the answer is going to be no
20:54:32 <myname> not in rust!
20:54:39 <CrazyM4n> Would it work with your opaque blob idea?
20:55:18 <nycs> you'd probably want to disallow those operations outright
20:55:57 <nycs> well, not iterating i guess
20:56:08 <nycs> i dont know
20:56:14 <nycs> i havent thought too much about this
21:02:33 <elliott> nycs: depends what you're iterating over
21:02:41 <elliott> codepoints, graphemes, characters are all reasonable possibilities
21:04:02 <zzo38> 99% of the time I want to iterate or index into a string I want it to treat the string as single-bytes encoding anyways, so it will work.
21:05:02 <zzo38> (And if it does contain Unicode characters, it often works fine to just treat the individual bytes as characters anyways)
21:09:32 <CrazyM4n> https://gist.github.com/CrazyM4n/9a85ded307dcde3ece5b it's... finally... done...
21:22:13 <oren> i have some copypasta somewhere that converts utf-8 to an array of coedepoints as ints.
21:23:27 <oren> i wrote it because some crap i wrote wasn't working with unicode
21:24:10 <oren> CrazyM4n: conglaturation!
21:24:18 <CrazyM4n> woo
21:25:45 <elliott> int isn't necessarily big enough to store unicode codepoints :P
21:29:52 <oren> elliott: yeah, yeah, yeah... anyway assuming an unsigned is big enough, this is the code: https://gist.github.com/orenwatson/b071c93b287604684e6a
21:30:05 <elliott> you know uint32_t exists, right? :p
21:30:08 -!- Solace has quit (Quit: Connection closed for inactivity).
21:30:11 <elliott> > (length "uint32_t", length "unsigned")
21:30:12 <lambdabot> (8,8)
21:30:30 <CrazyM4n> as someone who doesn't do C or low level stuff
21:30:34 <CrazyM4n> I just vomited a little
21:30:35 <oren> yeah, i wrote this about 4 years a go tho
21:30:58 <oren> and it has been copypasted into various things
21:30:59 <elliott> anyway, this is comparable to the original plan 9 utf-8 implementation
21:31:05 <elliott> with its Rune type
21:31:11 <elliott> (it lives today on in Go)
21:36:43 <oren> technically this code doesn't convert to an array of ints, it returns one int at a time
21:37:36 <oren> yay for inconsistent ad-hoc apis
21:39:45 -!- idris-bot has quit (Quit: Terminated).
21:50:43 -!- idris-bot has joined.
21:51:47 <oren> hmm, could the lempel-ziv-welch compressor be turned into a programming language if some codewords instead altered the dictionary?
21:52:38 <vanila> good question!!
21:52:59 <oren> i have a shitty implementation of it just lying around..
21:54:25 <oren> like, maybe if we had a way to swap two existing codewords' definitions?
21:54:47 <vanila> what about conditionals?
21:54:53 <vanila> and loops
21:56:01 <oren> hm... loops could be done by having a codeword to move N codewords back, but onditionals...
21:57:40 <oren> actually for maximum crappiness, let's have it be N bits instead of N codewords
22:05:43 -!- CrazyM4n has quit (Quit: so that's how you do quit messages).
22:09:46 -!- Phantom__Hoover has quit (Ping timeout: 258 seconds).
22:21:49 -!- Phantom_Hoover has joined.
22:25:21 -!- nycs has quit (Quit: This computer has gone to sleep).
22:25:53 <HackEgo> [wiki] [[Special:Log/newusers]] create * Nysnamovois * New user account
22:26:12 <vanila> Nysnamovois sounds like a spammer
22:33:44 <oren> as he hasn't psoted any spam yet
22:33:52 <elliott> sounds like nys
22:35:56 <HackEgo> [wiki] [[Spite]] N http://esolangs.org/w/index.php?oldid=41526 * Nysnamovois * (+426) create
22:36:13 <HackEgo> [wiki] [[User:Nysnamovois]] N http://esolangs.org/w/index.php?oldid=41527 * Nysnamovois * (+5) Created page with "hello"
22:36:14 <vanila> Iwas wrong!
22:36:22 <nys> hello
22:36:26 <vanila> hi!
22:36:30 <vanila> you created a cool esolang
22:36:34 <nys> is it cool
22:37:31 <nys> if anyone wants me to uh explain anything
22:38:04 <nys> oh right <<> is like cdaar
22:38:50 <nys> i'm kinda spooked by the prospect of writing a curried function in it
22:40:07 <nys> oh shoot i forgot to add the minus symbol to the parser hold on
22:41:02 -!- boily has joined.
22:41:38 <HackEgo> [wiki] [[Spite]] M http://esolangs.org/w/index.php?diff=41528&oldid=41526 * Nysnamovois * (+0)
22:41:42 <nys> ok there
22:43:49 <oren> ok so as i understand it $ is the start symbol?
22:44:54 <oren> ohh, it means "apply"?
22:45:46 <nys> yes :D
22:49:23 <nys> ^ is like "on" from Data.Function
22:49:34 <nys> (which i discovered by looking up its type)
22:49:40 <nys> er, `, not ^
22:49:48 <nys> ^ is composition
22:50:21 <nys> but i think of them as "computed application" and "literal application"
23:00:00 -!- oerjan has joined.
23:01:17 <oerjan> arjanb: this channel is not big enough for both of us
23:02:12 <oerjan> (my search for my nick/name in the logs hits you as well)
23:03:54 <zzo38> Then use a better search
23:05:20 <oerjan> IE supports no beter ones
23:05:24 <oerjan> afaik
23:05:26 <oerjan> *+t
23:06:58 <oren> use a better browser hth
23:07:11 <oerjan> i think i'll just ban you all instead hth
23:08:37 <oren> use maxthon that is what i use on windows
23:08:45 <oerjan> wat
23:09:23 <oren> maxthon cloud browser. b/c i'm soooo original and clever
23:10:33 <oren> it -is- pretty awesome to
23:10:35 <elliott> isn't maxthon that like
23:10:38 <elliott> chinese IE shell
23:10:42 <oren> yup
23:11:15 <elliott> nys: this language looks cute
23:11:20 <oren> but unlike IE they didn't ruin it on win8
23:12:57 * arjanb waves at almost namesake
23:12:58 <elliott> did ie even change in win8
23:13:02 <nys> thanks elliot :D
23:13:08 <elliott> oh I guess there's the metro one but there's still the desktop version... (but why would you use IE)
23:13:34 <oren> because windows comes with IE.
23:14:19 -!- dts|pokeball has quit (Ping timeout: 264 seconds).
23:15:21 <oerjan> i don't want to change browser. i want the universe to stop continuously inventing new ways to annoy me while keeping most of the old ones.
23:17:21 -!- boily has quit (Read error: Connection reset by peer).
23:17:47 <oerjan> AND NOW IT'S DEPRIVING ME OF MY CHICKENS, THIS WILL NOT DO
23:17:59 <oerjan> (well, boily's chickens)
23:19:22 <oerjan> arjanb: hm do you come from #haskell? i recognize a similar nick from when i've read links from there
23:19:52 <arjanb> yep
23:20:21 <oerjan> elliott: IT'S UNSTOPPABLE *MWAHAHAHA* HTH
23:20:45 <int-e> WINSLOW CHICKEN?!
23:21:00 <oerjan> wat
23:21:05 <int-e> Ah, evil peer.
23:21:06 <oerjan> gg ->
23:21:20 -!- dts|pokeball has joined.
23:21:22 <oerjan> ...not updated
23:21:38 <oerjan> int-e: HOW DARE YOU RAISE MY HOPES
23:21:39 <int-e> I'm not paying attention, and I'm reading scrollback backwards, which does wonders to my perception of the context.
23:21:49 <oerjan> okay
23:22:17 <oerjan> ah unstoppable chicken, very winslow
23:23:07 <oerjan> at least xkcd has updated
23:26:38 <int-e> Yes, it did. Hope the next one will be better.
23:27:12 <oerjan> it's better with less oxygen hth
23:29:00 * oerjan is slightly confused by people like ee who submit golf answers that are nowhere near competitive
23:29:13 <oerjan> i guess as long as they're having fun.
23:31:16 <int-e> oerjan: yes, strange.
23:31:56 <vanila> I wante to sove combinator puzzles like "find a fixed point"
23:31:56 -!- shikhout_ has quit (Read error: Connection reset by peer).
23:32:04 <vanila> or given Lxy = (xy)y
23:32:11 <vanila> find a term which applies to itself gives itself back
23:32:27 -!- shikhout has joined.
23:32:34 <vanila> what would be the best way to program a search like that?
23:32:38 <tromp_> I I = I
23:32:50 -!- shikhout has changed nick to Guest86681.
23:32:51 <vanila> tromp_, but try to do it onl out of L terms
23:33:20 <oerjan> vanila: hm i had a combinatory logic question once, that i've never got answered: do the fixpoints of a value determine it? if not always, is there a model in which they do?
23:33:49 <oerjan> preferably a model generated by S and K
23:33:50 <vanila> I was thinking of converting from combinators to de bruijin and using some kind of algorithm to quickly test if they are equal (I know this is undecidable in general but I need to approximate it)
23:34:29 <vanila> like to test if m n equals m n' i ony need to test if n = n'? not sure if thats even true :/
23:34:49 <vanila> i suppose i could test n = n' as well as doing beta reduction to test m n = m n' in parallel
23:35:01 <elliott> it is, per leibniz, but maybe you mean something subtler than the obvious reading?
23:35:26 <vanila> oerjan, I can't really understand your question I think - doesnt' that there's multiple fixed point combinators mean you can't use fixed points to tell things apart?
23:35:47 <elliott> oerjan means, do the values x such that f x = x determine f
23:36:02 <int-e> oerjan: what do you mean by "fixed points of a value"? What are the fixed points of K and K K?
23:36:15 <elliott> as in, does {x | f x = x} uniquely determine f
23:36:15 <oerjan> the fixed point of K K is K, of course
23:36:28 <int-e> Ah.
23:36:45 <vanila> aren't the fixed points of Y and Theta the same?
23:36:53 <vanila> where Y and Theta are two different fixed point combinators
23:37:22 <elliott> well, you'd consider indistinguishable fixed point combinators equal
23:37:23 <oerjan> for K you have V (unlambda notation), i think all others are equivalent böhm tree-wise?
23:37:23 <int-e> oerjan: but neither K nor S have any fixed points.
23:37:27 <elliott> by functional extensionality, presumably
23:37:32 <vanila> ok
23:37:35 <elliott> right, bohm tree
23:37:47 <oerjan> int-e: um every combinator f has a fixed point, namely Yf
23:38:04 <int-e> meh.
23:38:16 <oerjan> of course you want beta-equivalence, probably eta.
23:38:22 <vanila> tthis is a really interesting question but does anyone know how to do what i wanted to do :[
23:38:28 <elliott> YS sounds scary
23:38:43 <vanila> i mean what algormth should i use to quickly test if combinator/lambda terms are probably equal
23:39:04 <HackEgo> [wiki] [[User:BCompton]] N http://esolangs.org/w/index.php?oldid=41529 * BCompton * (+1031) Created page with "==Languages I Created== *[[StaPLe]] ==Languages I've implemented== *[[Brainfuck]] - Python *[[Befunge]] - Python *[[Whitespace]] - Python *[[Tag]] - Python *My Unreliable P..."
23:39:05 <int-e> reduce to normal form, hoping there is one.
23:39:24 <elliott> oerjan: hm, YKx is y = Kyx = _|_, so YK = _|_ and I guess YK is the only fixed point of K?
23:39:25 <HackEgo> [wiki] [[User:BCompton]] http://esolangs.org/w/index.php?diff=41530&oldid=41529 * BCompton * (+3) D'oh!
23:39:28 <elliott> ergo K = _|_?
23:39:48 <elliott> vanila: sorry, I have no idea :(
23:39:50 <oerjan> vanila: LLL might count as a solution dependent on your semantics, since it never halts
23:39:52 <vanila> so just reduce a limit of a million times?
23:40:16 <oerjan> elliott: YK is not _|_
23:40:21 <vanila> The Lenstra–Lenstra–Lovász (LLL) lattice basis reduction algorithm ?
23:41:10 <elliott> oerjan: what is it? :(
23:41:13 <oerjan> vanila: LLL where L is the function you defined above
23:41:19 <int-e> vanila: Apparently there is a so called Gross-Knuth strategy for beta-reduction that is cofinal.
23:41:20 <vanila> oh
23:41:28 <vanila> the answer was ((L(LL))(L(LL)))((L(LL))(L(LL)))
23:41:31 <elliott> haha I thought LLL was some fancy equivalence-checking algorithm too
23:41:40 <oerjan> elliott: YKx = K(YK)x = YK
23:41:55 <oerjan> as i said, V from unlambda
23:42:00 <elliott> oerjan: how can you distinguish that from _|_, purely
23:42:22 <int-e> you can't
23:43:07 <elliott> is there a reason to consider it any different to any other variation of "function that returns itself when given any argument" (_|_, YK, etc.)
23:43:24 -!- bb010g has joined.
23:43:26 <elliott> it seems like you're staying YK isn't _|_ because it returns YK, not _|_ :p
23:43:39 <int-e> elliott: Depends on your model. In a term model, clearly those are not equivalent.
23:43:53 <elliott> are they equivalent with the usual denotational semantics?
23:44:27 <vanila> A strategy F is cofinal if whenever M->>N there is an n with N->>F^n(M).
23:44:52 <vanila> I don't really understand this
23:45:04 <vanila> i mean how does this apply to the equality test problem?
23:47:16 <int-e> Hmm. True that's not enough to make F^n(N) and F^m(M) have commone elements if N and M are equivalent.
23:48:35 <vanila> i know the problem is undecidable but i just want to be able to quickly verify claims like (KBB(SSS))SBS satisfies xL = xx or whatevr
23:48:45 <vanila> or return 'i dont know'
23:48:59 <oerjan> elliott: i suppose it's consistent for YK and _|_ to be equal.
23:49:26 <vanila> and i would implement it in C maybe, so it's efficient
23:49:39 <vanila> or ocaml
23:49:40 <elliott> oerjan: to be fair it's consistent for everything to be _|_
23:49:50 -!- adu has joined.
23:50:00 <oerjan> elliott: well modulo S /= K
23:50:15 <elliott> oerjan: no, S = K = _|_
23:50:16 <oerjan> which is a minimal distinction
23:50:42 <oerjan> elliott: i mean, if S = K then everything is _|_, so if you want something nontrivial just assume S /= K
23:50:48 <elliott> right.
23:50:54 <elliott> fair enough
23:51:33 <oerjan> of course there are other similar pairs.
23:51:42 <oerjan> but YK vs. _|_ may not be one.
23:52:32 <elliott> I mean I feel like to distinguish two terms you need to show some application of them that differs in some way other than one having x and one having y
23:52:33 <oerjan> i guess i mean consistent in a way similar to logic's "not everything is equivalent"
23:52:36 -!- mihow has quit (Quit: mihow).
23:52:53 <elliott> though even that rule isn't enough for me, since you can make a series F_0, F_1, ... s.t. F_n x = F_(n+1) I think
23:52:57 <elliott> (it just grows forever)
23:53:06 <vanila> elliott, so to show that f =/= g, you need to show that f x =/= g x ?
23:53:22 <elliott> vanila: for some x, yes, that would be my criteria
23:53:38 <elliott> and appealing to f =/= g for the f x =/= g x case doesn't seem very convincing to me, personally
23:53:41 <vanila> but to show that f x =/= g x dont I have to show that f x y =/= g x y?
23:53:56 <elliott> vanila: you know that S =/= K
23:53:58 <elliott> so you can go from there
23:54:02 <vanila> ah okay
23:54:07 <elliott> (like oerjan said)
23:57:57 <int-e> elliott: you can do so quite brutally: let f n x = f (n+1) in f 0, so Y (\f n x -> f (n+1)) 0, with church numerals, and abstraction elimination
23:58:40 <elliott> SII =/= I because SIIK = IK(IK) = K(IK) and IK = K, and K(IK)I = IK = K but KI = KI, and KI = KI but KII I'm not geting anywhere near
23:58:43 <elliott> *anywhere here
23:58:49 <elliott> where's my degree
23:58:53 <elliott> let's just assume it's true
23:59:00 <oerjan> Y K = K (Y K) = \x -> Y K which is a weak head normal form but not a head normal form i think...
23:59:20 <vanila> there's this thing used in lisp programming sometimes called SXHASH
23:59:22 <oerjan> and it has no head normal form, so if you go by requiring that...
23:59:39 <vanila> I wonder if there's something similar, a nontrivial hash of de brjuin terms which doesn't change when you perform a beta reduction
2014-12-23
00:00:02 <oerjan> unfortunately wikipedia's article https://en.wikipedia.org/wiki/Beta_normal_form is too crappy to define the latter precisely or even mention the former
00:00:25 <oerjan> oh wait maybe it does define the latter
00:01:42 <int-e> Hmm, there's a concept called "contextual equivalence": M and N are contextually equivalent, if C[M] has a normal form if and only if C[N] does, for all contexts C.
00:02:47 <vanila> http://tarpit.github.io/TarpitGazer/gallery.html
00:02:49 <oerjan> weak head normal form does not allow the initial lambdas afair/u
00:04:36 <oerjan> (and all the top google hits for it are about haskell)
00:05:36 <oerjan> ok maybe not all
00:06:01 <oerjan> "The term was coined by Simon Peyton Jones to make explicit the difference between head normal form (HNF) and what graph reduction systems produce in practice."
00:07:02 <elliott> peano arithmetic is inconsistent therefore every term is equal, thanksa nd you're welcome
00:07:09 <int-e> Oh, I didn't know that SPJ coined that. Interesting.
00:07:14 <elliott> *thanks and (I can prove that the original sentence actually had no error)
00:07:23 <oerjan> from the foldoc article, which manages not to mention haskell otherwise :P
00:07:46 <int-e> elliott: You what? Did you prove that 0=1?
00:07:57 <elliott> well... yes and no.
00:08:02 <int-e> Ouch.
00:08:25 <int-e> (At least that answer was consistent...)
00:12:11 <oerjan> are you sure?
00:14:01 <int-e> oerjan: Well, I read that as "I proved it, and I also disproved it."
00:14:37 <int-e> Mathematics will not tell us whether that was the intended meaning.
00:14:39 <elliott> I can prove that it was inconsistent.
00:15:01 <oerjan> good, good
00:15:58 <oerjan> this may be my fault, i've been threatening elliott with an afterlife where logic doesn't exist hth
00:16:13 <int-e> Ah.
00:16:23 * int-e fails to see the threat and runs away in panic.
00:16:40 <oerjan> it wasn't on-channel hth
00:16:50 -!- Phantom_Hoover has quit (Quit: Leaving).
00:16:59 <int-e> but now it's meta-on-channel
00:17:01 * elliott doesn't consider that a threat
00:17:16 <oerjan> but you also _do_ consider that a threat, right?
00:17:41 <oerjan> (i may not actually have expressed it as a threat)
00:18:24 <int-e> oerjan: Maybe absence of logic also means absence of truth and falseness (falsity?), and therefore your question doesn't make any sense.
00:19:35 <int-e> in fact your sentence may be indistinguishable from rnad qjnf cnbbdaas eowelhfvcdsa wqq fjdsbncww ...
00:19:48 <oerjan> now that's crazy talk
00:20:21 <int-e> (all I see is letters; soon it'll be pixels.)
00:20:52 <oerjan> ___ _ __ _ __ __
00:20:52 <oerjan> / _ \ | |/ / / \\ \ / /
00:20:52 <oerjan> | | | | | ' / / _ \\ V /
00:20:52 <oerjan> | |_| | | . \ / ___ \| |
00:20:52 <oerjan> \___/ |_|\_\/_/ \_\_|
00:21:51 -!- int-e has set topic: Symbols devoid of meaning | but often spelled correctly. | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
00:43:33 -!- mitchs has joined.
00:46:45 -!- Guest86681 has changed nick to shikhin.
00:46:51 -!- shikhin has quit (Changing host).
00:46:51 -!- shikhin has joined.
00:59:04 <vanila> I want to make a GUI for editing 2d progarms
00:59:18 <vanila> it will need to be able to drag boxes around and have the wires connecting them move along with it
00:59:29 -!- CrazyM4n has joined.
01:09:28 <zzo38> What kind of 2D programs? It depend what kind.
01:10:46 <vanila> the language is called '2d'
01:10:57 <vanila> i can post an example program
01:11:29 <zzo38> OK
01:11:48 <vanila> http://lpaste.net/117043
01:12:01 <vanila> inputscome from north and west, outputs are east and south
01:12:10 <vanila> a box is triggered if it has all inputs
01:13:20 <vanila> its hard to program in because of the editing...
01:13:26 <vanila> but if i had a nice GUI editor it would be ok
01:16:27 <vanila> so i want to make an editor..
01:16:35 <vanila> but i think that would be a ot of work
01:24:28 <elliott> that language looks really pretty
01:28:04 -!- shikhin has quit (Quit: leaving).
01:30:07 -!- nys has quit (Ping timeout: 255 seconds).
01:32:35 -!- augur has quit (Quit: Leaving...).
01:33:03 -!- nys has joined.
01:51:17 <nys> here's integer division in spite
01:51:21 <nys> ^^`<.;k:p^-;>>>> >><`<;<;><;>><;^+;>>><k1^-;>>>> >>< >>>.;<;>;k0<
01:51:54 <vanila> crazy :D
01:52:07 <nys> 99 bottles here i come
01:55:43 -!- Alkahest has joined.
01:55:57 <elliott> nys: I love how programs look
01:56:18 <nys> :D
01:59:23 <nys> it's lots of fun to program with
02:00:43 <nys> because of the prefix syntax
02:01:22 <nys> so i can just kinda trace along with my finger and say "ok this is the part that does one iteration but i need it to recurse instead"
02:01:58 <nys> and then just tack on another function in front of it to do that
02:05:31 -!- augur has joined.
02:06:20 <int-e> oerjan: GG is up
02:06:50 <oerjan> ooh
02:08:26 <int-e> Where'd the Werebear go?
02:09:17 <oerjan> bear? i thought it was a sparkhound
02:09:34 <oerjan> assuming you're referring to tybalt
02:10:01 <int-e> Oh. Yes that makes more sense.
02:11:02 <int-e> (Just noticed that nobody intervened in the attack on Martellus *this time*.)
02:11:11 <oerjan> hm right
02:11:35 <oerjan> the bears haven't shown up at the fortress yet. i expect that will be interesting.
02:12:15 <int-e> Ah the train will smash them and then the Dreen will get the train.
02:12:55 <HackEgo> [wiki] [[Spite]] http://esolangs.org/w/index.php?diff=41531&oldid=41528 * Nysnamovois * (+0) added positive predicate function
02:13:40 <int-e> (I sort of like the idea of pitting the Dreen against that metal-eating engine, now.)
02:13:41 <oerjan> well that's a theory.
02:15:53 <int-e> Actually we don't even know whether the bears or the Dreen are fiercer.
02:15:55 <oerjan> it cannot be a proper magnet battle without wolkerstorfer, surely.
02:16:04 <int-e> I'm just *assuming* it'll be the Dreen.
02:16:47 <int-e> Is that singular or plural anyway?
02:16:53 <oerjan> both afaiu
02:17:11 <int-e> Maybe a single one is a Dree?
02:17:49 <oerjan> they used the word "Dreen" when the single one showed up at mechanicsburg, although with no article
02:18:07 <elliott> nys: you don't document how to actually do IO btw
02:18:29 <nys> i have a hello world :D
02:18:40 <int-e> `hello world
02:18:40 <HackEgo> Hello
02:18:51 <oerjan> also given that this dreen was found in the fortress vault, who knows who if anyone it's loyal too.
02:18:54 <nys> that doesn't show the I but it does show the O
02:19:14 <oerjan> if it's even alive, i was assuming it was disabled somehow since they passed it without event
02:19:21 <nys> i've tried a bit of both input and output but it's weird
02:19:44 <oerjan> (the ones seen before were obviously working for wulfenbach)
02:20:09 <int-e> oerjan: It was clearly alive and lurking, hth.
02:20:29 <oerjan> hm
02:20:32 <int-e> And maybe the Dreen are actually peaceful.
02:20:40 <int-e> "clearly" <-- to my mind.
02:28:40 <oerjan> hm it does seem a bit hard to explain the two pictures of the dreen without it moving.
02:29:56 <int-e> Also the eyes(?) glow, and I'd expect them to go dark when the Dreen dies.
02:47:18 -!- Zuu has joined.
02:47:42 -!- Zuu has changed nick to Guest55348.
03:11:01 -!- adu has quit (Quit: adu).
03:20:03 -!- CrazyM4n has quit (Quit: so that's how you do quit messages).
03:27:02 -!- MoALTz_ has joined.
03:30:14 -!- MoALTz has quit (Ping timeout: 258 seconds).
03:40:09 -!- Alkahest has quit (Quit: Leaving).
03:42:29 -!- vanila has quit (Quit: Leaving).
04:11:32 <J_Arcane> Racket apparently *does* have a (case ...) like I was looking for; http://docs.racket-lang.org/mzlib/mzlib_etc.html#%28form._%28%28lib._mzlib%2Fetc..rkt%29._evcase%29%29
04:14:39 <HackEgo> [wiki] [[Spite]] http://esolangs.org/w/index.php?diff=41532&oldid=41531 * Nysnamovois * (+326) 99 bottles of beer on the wall (almost)
04:14:51 <nys> read it and weep
04:16:55 <J_Arcane> http://pasterack.org/pastes/29552
04:17:52 <J_Arcane> nys: that reminds me that I really wanna port Heresy to Haskell or F# in the near future. I started working through a book on doing a Lisp in C, but it's not strictly faithful to Lisp.
04:18:53 <nys> nice
04:20:39 <J_Arcane> Doesn't use linked lists, which makes standard head and tail work weird, but that's not the weirdest part, which is the "Q-expressions". Rather than support the usual 'quote form and macros, it implements a special kind of list syntax with curly braces that is ignored at the interpreter level.
04:21:04 <nys> huh
04:23:28 <elliott> to be fair that is an idea so weird that it was in original lisp
04:23:30 <elliott> (m-exprs)
04:24:14 <nys> elliott, can you tell me if mathematica's syntax is essentially m-exprs?
04:24:34 <elliott> I guess so, yeah.
04:24:40 <elliott> well, mathematica's syntax is like prolog or whatever.
04:24:50 <elliott> M-exprs are defined by their equivalence to s-exprs, I feel
04:24:55 <elliott> mathematica operates on its terms directly
04:25:26 <elliott> also mathematica has weird infix operators and lambda syntax and stuff
04:25:33 <nys> true nuff
04:26:20 <J_Arcane> elliott: I suppose no one is so clever as they think. At least not with McCarthy and the AI Lab as competition. ;)
04:26:40 <J_Arcane> (the author of BYOL seems to think he invented them)
04:27:12 <zzo38> Actually those kind of "Q-expressions" are also something I would have wanted to use once
04:28:00 <glguy> elliott: You might find this interesting. http://lpaste.net/117041 I can use Yoneda in order to fuse fmaps in lens composition to enable GHC generics to optimize away
04:28:04 <nys> that description of them reminds me of MDL
04:28:16 <J_Arcane> Honestly, it's not a terrible idea. Quote/quasiquote etc. are one of the weirdest concepts in Lisp for a beginner, and at first feel more like something you're fighting with than helps you.
04:28:27 -!- adu has joined.
04:28:41 <J_Arcane> (at least until you learn the magic of `(,templating))
04:28:44 <elliott> glguy: that sounds cool! I'll take a look later
04:29:03 <zzo38> Quote/quasiquote operators will still help too even if you have Q-expressions, I think
04:30:01 <J_Arcane> zzo38: True, you probably at least still want an explicit function for converting data to and fro q-exps. I haven't got far enough yet to see how it's handled.
04:31:54 <elliott> J_Arcane: oh, I see, it's an alternative to quote.
04:31:58 <elliott> that's not quite like m-exprs then
04:32:02 <elliott> I think clojure does something like that though? or something
04:33:18 <J_Arcane> elliott: It might, somewhere. Clojure has so many inane weird little syntaxes for things I wouldn't be surprised.
04:35:11 -!- Aberian has joined.
04:36:46 -!- Prax has quit (Ping timeout: 244 seconds).
04:37:01 -!- nys has quit (Quit: quit).
04:40:55 -!- Sprocklem has joined.
05:02:15 -!- MDude has changed nick to MDream.
05:07:12 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:20:06 <J_Arcane> (require mzlib/etc)(for([n(in-range 1 101)])(let([% modulo])(displayln(evcase 0((% n 15)"FizzBuzz")((% n 5)"Buzz")((% n 3)"Fizz")(0 n)))))
05:42:01 -!- Solace has joined.
05:43:25 <Solace> How do you turn amino acids into hash for ruby CrazyM4n?
06:15:23 -!- adu has quit (Quit: adu).
06:27:15 <Solace> Data charts are a nuisance
06:29:48 <Solace> Gasp thats some pretty code oren
06:32:08 -!- Solace has changed nick to Solace|datastuff.
07:04:41 <Solace|datastuff> God dammit why does everything break when i try and do something
07:08:15 <oerjan> Human Condition hth
07:14:06 -!- shikhin has joined.
07:14:06 -!- shikhin has quit (Client Quit).
07:14:40 -!- shikhin has joined.
07:14:44 -!- shikhin has quit (Client Quit).
07:18:38 -!- shikhin has joined.
07:18:39 -!- shikhin has quit (Changing host).
07:18:40 -!- shikhin has joined.
07:21:15 -!- shikhin has quit (Client Quit).
07:21:54 -!- shikhin has joined.
07:21:55 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
07:21:56 -!- shikhin has quit (Changing host).
07:21:56 -!- shikhin has joined.
07:22:27 -!- shikhin has quit (Client Quit).
07:22:45 -!- shikhin has joined.
07:23:08 -!- shikhin has changed nick to Guest84664.
07:24:46 <Solace|datastuff> That doesnt help ;-;
07:25:11 -!- Guest84664 has quit (Client Quit).
07:27:37 <oerjan> indeed
07:29:11 -!- Patashu has joined.
07:30:19 -!- shikhout has joined.
07:30:24 -!- shikhout has quit (Changing host).
07:30:24 -!- shikhout has joined.
07:31:29 -!- shikhout has quit (Client Quit).
07:31:47 -!- shikhin has joined.
07:43:18 -!- MoALTz__ has joined.
07:46:18 -!- MoALTz_ has quit (Ping timeout: 258 seconds).
07:47:10 -!- MoALTz_ has joined.
07:50:55 -!- MoALTz__ has quit (Ping timeout: 264 seconds).
07:53:39 <Solace|datastuff> Whats the best way to stress test your server without breaking it
07:54:32 <lifthrasiir> took it into the lava, it won't break (but it will melt)
07:54:35 <lifthrasiir> take*
07:55:08 <glguy> Host content on it and post to Google+
07:55:45 <Solace|datastuff> :L
07:56:23 <glguy> Yeah, that probably wouldn't be enough to stress anything...
07:56:25 <Solace|datastuff> Back to data structures!
07:56:36 * Solace|datastuff flys away
07:57:18 <lifthrasiir> Solace|datastuff: seriously, I think "without breaking it" part is redundant. the goal of stress testing is to determine its "normal" operating range and test the graceful failure when its load exceeds that "normal" range.
07:57:55 <Solace|datastuff> Yeh i meant
07:58:32 <Solace|datastuff> A permant ammount of a nice thick ammount of lag
07:58:39 <Solace|datastuff> I dont want that
07:58:40 <lifthrasiir> if your server breaks rather violently after some number, then it should be visible from your stress test I think
07:59:11 <Solace|datastuff> Look guy this is my first time having a server
07:59:22 <Solace|datastuff> I dont want to mess up | _ |
07:59:32 <lifthrasiir> oh, is it a physical server (not a server software)?
07:59:37 <lifthrasiir> I don't know anything about that >_>
07:59:50 <Solace|datastuff> Physical
08:00:52 <Solace|datastuff> The data relay is fine im just wanting to see how much data it can process before shutting down
08:01:03 <Solace|datastuff> Blank packets
08:01:12 <glguy> You're talking about stressing the hardware a LA memtest86+ ?
08:01:33 <lifthrasiir> it's a sanity test, not a stress test!
08:01:55 <Solace|datastuff> Tosses server under a car
08:03:59 <Solace|datastuff> Atleast you guys tried helping ill go scour the internets
08:04:25 <Solace|datastuff> Scoure? idfk i havent used that word in so long
08:05:55 <elliott> if you permanently lag your server for the rest of time by flooding it with packets that's kind of impressive
08:07:19 <elliott> glguy: that ghc generics thing is cool
08:07:34 <elliott> I can't imagine actually wanting to handwrite those last lenses though
08:07:52 <elliott> btw, how come that generic iso isn't already in GHC.Generics.Lens?
08:07:53 <glguy> That was a demo. You can automate that
08:08:18 <glguy> It's type was too restrictive
08:09:11 <Solace|datastuff> infinite loop packets into the server? turns off when my heart stops?
08:09:39 <glguy> The fusion can help lenses in general, helps GHC generics a lot
08:09:43 <glguy> http://lpaste.net/116931
08:09:50 <Solace|datastuff> Anyways you guys carry on ill go ask somewhere else
08:11:53 <glguy> Or you can genetically generate more interesting lens http://www.galois.com/~emertens/tries/Trie.hs
08:12:53 <glguy> Like a new trie type for any ADT along with a corresponding "at" lens
08:13:15 <glguy> Without generics overhead ^_^
08:13:28 <glguy> I'm just exploring the space right now
08:14:51 <glguy> My phone confused generic and genetic
08:15:18 <oerjan> genetic space exploding
08:21:18 * glguy wipes some of the spilled excitement up and goes back to idling
08:22:48 <elliott> glguy: so when is deriveLenses going to use this :p
08:24:14 <glguy> When I have a personal level up and wrap my head around a way to make type changing lenses easy to generate this way
08:24:55 <glguy> I can do them ugly like the first code I shared or automatic like the second with no type change
08:36:30 <mroman> ah
08:36:37 <mroman> surfing the web with flash deactivated is sooo comfortable
08:36:46 <mroman> and it's so smooth
08:37:02 <mroman> no lags due to flash ads that try to render 3d shit and what not
08:37:17 <mroman> you can actually smoothly scroll now on certain websites
08:50:57 -!- oerjan has quit (Quit: Smoooooth).
08:54:23 -!- Sprocklem has quit (Ping timeout: 240 seconds).
09:07:09 <zzo38> Or even just don't install Flash and then they won't try to render 3D and music and stuff because it can't.
09:09:31 <Solace|datastuff> Goodnight
09:09:49 -!- Solace|datastuff has changed nick to Solace|zzz.
09:18:31 <zzo38> Many people have different opinions of IAU making their 2006 definition of planets not including Pluto, including: astronomers, other scientists, astrologers, song writers, etc. What are your opinions?
09:21:47 <lifthrasiir> make a planetness index.
09:22:46 <zzo38> How would you intend to do it?
09:24:28 <lifthrasiir> Pluto is less planety than (say) Earth but more planety than most asteroids?
09:24:55 <zzo38> A proper definition would still be required though.
09:36:27 -!- jslave has joined.
09:37:28 -!- MoALTz_ has quit (Quit: Leaving).
09:37:42 -!- MoALTz has joined.
09:41:08 <mroman> Is the sun a planet?
09:41:22 <zzo38> No, the sun is a star.
09:41:28 <mroman> Why is it not a planet?
09:41:32 <mroman> It's round for all that matters.
09:41:46 <zzo38> Yes, it is round. I don't know all of the details.
09:42:04 <mroman> I'd classify every sufficiently round object as planet.
09:43:08 <mroman> So actually the earth is a moon of the sun.
09:43:15 <mroman> and the moon is a sub-moon of the sun
09:43:23 <mroman> because it's a moon of the earth which is just a moon of the sun.
09:43:25 <zzo38> mroman: I have thought of things like that too actually
09:43:47 <zzo38> Although it might not be correct?
09:43:57 <jslave> planet means 'wanderer'
09:43:57 <jslave> planet means 'wanderer'
09:44:16 <mroman> Jupiter is a gas planet, the sun is a urm... hot glowing planet?
09:44:29 <jslave> planet means 'wanderer'
09:44:32 <zzo38> Yes, and that is also a very old definition, where the objects they saw in the sky which aren't "fixed stars" are called planets, so it does includes Sun/oon.
09:45:05 <zzo38> Some astrologers have said they want to omit Pluto from a horoscope because the IAU no longer considers it a planet. That is a silly reason! Even if it is not a planet, it still has coordinates! Anyways, horoscopes nearly always include Sun and Moon, which also aren't planets. A good reason to omit Pluto might be if there are too many lines and you want to remove some to simplify the horoscope, such as if you do not need to plot that data.
09:45:09 <mroman> "A star is a massive, luminous sphere of plasma held together by its own gravity. "
09:46:17 <zzo38> Yes, a star does do that; it emit light, makes nuclear fusion, etc
09:46:24 <zzo38> And the planets go around it (if there are any).
09:46:49 <mroman> I mean, it _does_ make absolute sense to classify planets by some of their properties.
09:46:57 <jslave> also, there are more objects, even bigger than pluto in the cuiper belt - all those would need to become planets.. they didn't like it
09:47:06 <mroman> isn't the moon bigger than pluto?
09:47:39 <mroman> and yes, there are many objects larger than pluto that aren't planets (yet)
09:47:41 <jslave> ah yes.. planets also orbit stars
09:47:50 <mroman> but there are planets that don't orbit stars
09:48:17 <mroman> Exoplanets afaik
09:48:25 <jslave> none that i know of^^
09:48:53 <mroman> An exoplanet or extrasolar planet is a planet that does not orbit the Sun and instead orbits a different star
09:48:57 <mroman> hm no
09:49:14 <mroman> "A rogue planet, also known as an interstellar planet, nomad planet, free-floating planet or orphan planet, is a planetary-mass object that orbits the galaxy directly. "
09:49:17 <mroman> rogue planet
09:49:17 <jslave> :>
09:49:41 <jslave> fileplanet
09:50:00 <mroman> i mean
09:50:07 <mroman> what says there can't be planets that orbit another planet
09:50:17 <mroman> for example
09:50:22 <mroman> a rogue planet that has moons with sub-moons
09:50:32 <mroman> or a rogue planet that has moons
09:50:34 <jslave> astronomers do... and screw them! pluto is a planet
09:50:50 <mroman> so they don't orbit a star
09:51:01 <mroman> they orbit a planet that doesn't orbit a star either
09:51:34 <mroman> `quote halting problem
09:51:36 <jslave> usually not
09:51:36 <HackEgo> 498) <oerjan> theorem prover yada yada halting problem. \ 630) <itidus22> if the halting problem was solved, as a placebo.. would it benefit people?
09:51:41 <mroman> `quote mroman
09:51:42 <HackEgo> 768) <mroman> You can't quote me. \ 1139) <mroman_> Bike: I refuse to believe in bottom <Bike> ass is an urban legend \ 1218) <mroman_> Rule of thumb is that if I can understand it you're not using enough fancy stuff \ 1221) <mroman_> piece of cake doing this stuff in Burlesque :P [19 lines later] <mroman_> I hate Burlesque :(
09:51:48 <mroman> ah
09:51:50 <zzo38> I agree it make sense to classify planets by some of their properties.
09:51:56 <mroman> Since I don't believe in bottom I can believe anything I want.
09:51:58 <jslave> except those living on earth maybe
09:52:06 <zzo38> A property may include their orbits.
09:52:08 <mroman> Therefore, there are rogue planetary systems orbiting galaxies.
09:52:32 <mroman> which don't have a star at the center but a rogue planet.
09:54:07 <jslave> zzo38: i think there was also another criterium: planets need to be round
09:54:27 <zzo38> jslave: Yes; I was only listing some of them, but there may be others.
09:54:39 <zzo38> However, it is also possible that some of the criteria aren't very good.
09:54:55 <jslave> they are not named pluto
09:55:32 <mroman> jslave: not round but they have to have enough mass for gravity to do that weird named thing
09:56:13 <jslave> welly well
09:56:15 <mroman> they need to be in "Hydrostatic equilibrium"
09:56:38 <jslave> you're cheating
09:56:43 <mroman> well
09:56:46 <mroman> I don't know what that means
09:56:53 <mroman> I just know that planets have to be that
09:57:04 <mroman> I have no idea what hydrostatic equilibrium actually is
09:57:26 <mroman> "In continuum mechanics, a fluid is said to be in hydrostatic equilibrium or hydrostatic balance when it is at rest, or when the flow velocity at each point is constant over time. This occurs when external forces such as gravity are balanced by a pressure gradient force.[1] For instance, the pressure gradient force prevents gravity from collapsing the Earth's atmosphere into a thin, dense shell, whereas gravity prevents the pressure gradient force from diffu
09:57:33 <mroman> so
09:57:37 <mroman> planets are fluids
09:57:38 <mroman> got it.
09:59:01 <mroman> Everything is a fluid with enough pressure I guess?
09:59:13 <mroman> Esolangs are fluids.
10:00:05 <jslave> with less pressure..if
10:01:12 <mroman> hm
10:01:16 <mroman> but...
10:01:24 <mroman> can you make a rock fluid by using...
10:01:27 <mroman> less pressure?
10:02:05 <mroman> I'm so not into physics.
10:02:17 <jslave> neutron stars are pretty solid iirc.. more density..less movement ..more solid.. at least that's my intuitive conclusion
10:03:29 <mroman> I imagine them as stars solely consisting of neutrons
10:03:37 <mroman> no electrons, no protons
10:04:40 <jslave> let's have temperature.. the lowest temp -273° is wehen the lightest atom (hydrogen) is not moving anymore (it becomes solid)
10:05:16 <jslave> there are no upper boundaries to temp. so everything gets fluid or even plasma
10:08:19 <jslave> but you're right.. pressure affects the temp. needed to switch aggregate state
10:08:26 <Jafet> Neutron stars are "solid" due to pauli exclusion
10:08:39 <zzo38> There are then also black holes and possibly other stuff that you don't know.
10:09:14 <mroman> Didn't some paper just recently claim that black holes don't exist?
10:09:24 <zzo38> Possibly.
10:12:53 <jslave> related: http://media-cache-ec0.pinimg.com/736x/bf/1f/29/bf1f2950b73d662f7695a7d132e537f5.jpg ;)
10:14:45 <Jafet> The universe is actually one big planet
10:15:07 <mroman> The what is our universe orbiting?
10:15:10 <mroman> *Then
10:15:41 <jslave> around jafet
10:15:49 <Jafet> Yo momma
10:15:53 <jslave> lol
10:15:54 <mroman> also we know for almost certain that god created the earth
10:16:09 <mroman> and the sun I guess
10:16:41 <mroman> what we don't know is if he intented pluto to be a planet or a dwarf planet.
10:16:46 <zzo38> mroman: Extremely indirectly, I think. But that has nothing to do with deciding what is considered a planet and how to figure out stuff by science and so on.
10:17:40 <Jafet> Pluto doesn't exist; it's all greenscreened
10:18:48 <zzo38> I doubt it, but I don't know 100% sure really
10:19:47 <mroman> hm
10:19:47 <jslave> cmon.. we don't want to fall back into that intellectual scheme..do we?
10:19:54 <mroman> does the bible actually say that god made the moon?
10:19:58 <mroman> or did the moon come naturally
10:19:59 <zzo38> Into what intellectual scheme?
10:20:21 <mroman> also there's no mentioning of him creating hell
10:20:22 <zzo38> mroman: I don't know, but it doesn't matter.
10:20:24 <mroman> just heaven and earth.
10:20:31 <mroman> zzo38: :)
10:20:43 <zzo38> But if you are interested, you can look it up!
10:20:50 <mroman> I'm trying to look it up
10:21:01 <mroman> but it's so hard to find sources that look serious enough to be taken serious
10:21:01 <Solace|zzz> Taking into mind string theory
10:21:17 <Solace|zzz> Heaven and hell could exist in other universes
10:22:27 <mroman> well.. at least it says here
10:22:30 <zzo38> Skeptics Annotated Bible includes the full King James version (which isn't a very good version, but it is what is commonly used) except deuterocanonical/apocryphal books, and is full of cross-references and external links; you can also use a search function.
10:22:32 <mroman> we should rule the animals
10:22:45 <mroman> so I guess it's ok to eat animals and make them do whatever we want them to do.
10:22:48 <zzo38> Solace|zzz: What does string theory have to do with that exactly?
10:23:36 <Solace|zzz> Idk what you are talking about
10:23:43 <Solace|zzz> I should sleep
10:23:43 <jslave> other universes are an invention of scientists having difficulties to explain the well balanced properties of our universe
10:24:17 <zzo38> mroman: Well, the Bible is book like any other books really. It isn't worthless; it is still a book. But, it isn't the only book, nor does it mean you should believe everything you can read.
10:24:20 <mroman> Maybe there are universes with even more well balanced properties.
10:24:38 <mroman> we just think our universe is perfect when there could be even more perfect ones.
10:24:59 <jslave> maybe thre is milk with 13,7% fat
10:25:09 <mroman> zzo38: yes, and everybody reads a translation of the original one that has gone under modifications over time
10:25:21 <zzo38> Of course human is omnivore so yes we can eat animals but, that doesn't mean you should make them do whatever you want them to do and do bad thing.
10:25:25 <zzo38> mroman: Yes, that too.
10:25:32 <mroman> which has actually been studied very well. It's known that some texts barely resemeble the original ones.
10:25:53 <zzo38> mroman: Which I also know. It is certainly something to study!
10:26:13 <zzo38> jslave: Yes I know that thing about other universe that scientists propose for such reasons.
10:26:29 <jslave> are you talking about apocryphs?
10:26:59 <mitchs> i believe everything i can't read
10:27:05 <zzo38> I believe that "mathematics is the real reality", so really any mathematically possible universe are mathematically exist. The physical existence is just an instance of such.
10:27:24 <mroman> Really?
10:27:39 <mroman> Wouldn't one rather say that mathematics just describes what we can observe
10:27:43 <mroman> for some values of observe
10:28:07 <mroman> or that it describes what we could observe based on what we already observed
10:29:27 <jslave> i'm not sure if you have an idea of how well balanced the values of every constant is.. change the weight of an electron by 0.0001% and the universe is crap
10:30:59 <mroman> Probably
10:31:05 <zzo38> No, mathematics can also describe things that are impossible to observe. Also, not all mathematics can be studied, due to our limitations of universe and other things. To describe what is observed is scientific, and mathematics can be used to describe it scientifically, based on what is known. The true mathematics of universe is possibly unknowable and/or uncomputable and/or nondeterministic.
10:31:08 <mroman> but who says other universes actually have electrons.
10:31:32 <zzo38> Define electrons in the context of other universes!
10:33:36 <mitchs> i observed the set of all sets last week but forgot to take a picture
10:34:00 -!- jslave has quit (Ping timeout: 250 seconds).
10:34:44 <Jafet> Did you at least obtain a preimage?
10:37:06 -!- jslave has joined.
10:39:09 <jslave> the set of all sets you say.. that reminds me of leibniz' monadology
10:39:34 <mitchs> i tried to, but my precamera case was stuck and i couldn't get it clopen
10:40:07 <jslave> you know leibniz? it's a german cookie distributor..
10:40:26 <jslave> but also a famous mathematician..
10:41:42 <jslave> i hope you like cookies
10:42:59 <oren> Solace|zzz: i was asleep when you posted that but thanks! lol "C utf-8" ... "pretty code" ... lololol
10:46:25 <jslave> okay..thanks for playing
10:48:57 <oren> wow did this channel actually just have a religious discussion?
10:49:17 -!- evalj has joined.
10:51:36 <jslave> religious? let's say esoteric.. scindere et re.ligio
10:53:47 <oren> other universes moght be defined in terms of a different logic than the one that seems to govern ours
10:55:04 <oren> for example in another universe the axiom of choice might be true
10:55:51 <b_jonas> wait what
10:56:47 <mitchs> in other universes, mother russia makes jokes about you
10:56:47 <oren> so in another universe i might be able to have as many birthday balloons as i want, provided a sphere-duplication machine
10:57:24 <b_jonas> there's a fast approximation for the permanent of a matrix with non-negative elements only, and this result is from 2004?
10:57:28 <b_jonas> I totally haven't heared about this
10:57:35 <b_jonas> why did nobody tell me this?
10:57:46 <b_jonas> or more likely they did, I just didn't listen
10:58:05 <jslave> in another universe they may have told you
11:01:04 <jslave> in another universe.. they share information! completely different logic you know? you probably came to the wrong place
11:01:37 <b_jonas> fungot: in which other universes did they tell you that the permanent of matrices with nonnegative entries is easy to approximate?
11:01:37 <fungot> b_jonas: i mean, there's nothing i've noticed in sisc), you must have been tough
11:02:53 <b_jonas> uh huh
11:03:11 <b_jonas> fungot: for arcane casters, which one is easier, levitating themselves, or levitating another monster with similar weight?
11:03:11 <fungot> b_jonas: it's the if true part, not many things are you devising now?
11:10:28 -!- jmaster has joined.
11:10:52 <jslave> fungot: i'm a better bot than you! i can be programmed live ..right here in the irc-channel ;)
11:10:52 <fungot> jslave: that cannot be smoothed out by some macros are allowed to
11:17:50 <oren> b_jonas: in Final Fantasy they can't do either, you can only fly by getting the airship from Cid hth
11:22:21 <b_jonas> jslave: you are not
11:24:16 <oren> or in FF7 the rocket ship damn that game was awesome.
11:27:39 <jmaster> .var cxg = function(text) { wpost("http://cxg.de/paste.php", {'lang':'auto','pastetext': text} ).then(function(response) { result = response.match(/http:\/\/cxg\.de\/.*\.htm/); console.log(result); }) }
11:27:56 <jmaster> .cxg("Hello World!")
11:27:56 <jslave> jmaster: http://cxg.de/_69201b.htm
11:29:30 <jmaster> .cxg(wget("http://codu.org/logs/log/_esoteric/s"))
11:29:31 <jslave> jmaster: http://cxg.de/_596b3f.htm
11:31:15 <jmaster> .var fungot = {}
11:31:15 <fungot> jmaster: he *is* alive." block expr; everyone i was 7. o only pushes one value onto o, fnord... fnord... :(
11:33:06 -!- shikhin_ has joined.
11:33:16 <jmaster> .fungot.insult = function(text) { text = text || "thanks."; console.log("fungot: " + text); }
11:33:16 <jslave> jmaster: function (text) { text = text || "thanks."; console.log("fungot: " + text); }
11:33:16 <fungot> jmaster: i am a bot you fools! ha ha ha
11:33:16 <fungot> jslave: damn low-level.... and that gave them a special look and feel
11:34:14 <oren> is this a bot loop?!
11:35:31 <jmaster> a bot-loop?
11:35:47 <jmaster> u mean like a REPL? yes
11:35:57 -!- shikhin has quit (Ping timeout: 240 seconds).
11:36:55 <jmaster> .search.gg("REPL")
11:36:55 <jslave> jmaster: http://www.google.de/search?hl=de&q=REPL&btnI=1
11:37:33 <Taneb> jmaster, a bot-loop is when two or more IRC bots get stuck talking to eachother
11:37:47 <jmaster> okay
11:37:48 <Taneb> In an infinite loop
11:38:10 <jmaster> well..than it's not a botloop
11:38:17 <Taneb> I guess not :)
11:38:20 <jmaster> lol :)
11:38:29 <Taneb> Does jslave evaluate J?
11:38:37 <jmaster> ecma5
11:38:45 <jmaster> in a v8 sandbox
11:38:52 <Taneb> Ah, so it's sort of JSslave
11:38:59 <jmaster> si ;>
11:39:09 <oren> key is not to make any bots that respond to fungot with a line including fungot's name
11:39:10 <fungot> oren: people have visited fnord, fnord and a decent ide could trivially exploit this to provide the syntax-case level of metaprogramming.
11:39:10 <jmaster> .2+2
11:39:10 <jslave> jmaster: 4
11:39:41 <jmaster> don't worry
11:39:43 <Taneb> ^botlist
11:39:52 <Taneb> Hmm, I think that used to work?
11:39:59 <Taneb> fungot has a list of bots to not respond to
11:39:59 <fungot> Taneb: i mean, the c preprocessor ;p) has example graphs.). assembly language reminds you at very instruction.
11:40:15 <jmaster> var botlist = ['fungot']
11:40:15 <fungot> jmaster: but they return a procedure from a record definition. but be aware that you're not, heres your ugly solution: define a macro
11:40:19 <b_jonas> um, what language is that?
11:40:21 <Taneb> And fungot will stop responding temporarily if someone says "fungot" in too many lines in quick succession
11:40:21 <fungot> Taneb: girls is evil and at the last line is so long it's about as related to towers of hanoi. thanks. :) but... it's still booting... i don't know
11:40:21 <jmaster> .var botlist = ['fungot']
11:40:21 <fungot> jmaster: makes sense.) i look forward to it. just download it, but there's no nil in scheme,
11:40:34 <jmaster> .botlist.push("fungot")
11:40:34 <jslave> jmaster: 2
11:40:35 <fungot> jmaster: yes i did. the freebsd box hasn't got any chance :d" " there it goes again..." " they live"
11:40:41 <jmaster> ;)
11:40:44 <jmaster> i love this shit
11:40:45 <Taneb> I am pretty sure this channel is at least 10% bot
11:40:50 <jmaster> i'm stll developing
11:40:54 <b_jonas> is it javascript/ecmascript?
11:40:58 <jmaster> you're welcome to help
11:41:01 <Jafet> ^style
11:41:01 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
11:41:11 <Jafet> ^style fungot
11:41:11 <fungot> Selected style: fungot (What I've said myself)
11:41:22 <Taneb> Hmm, 7.5% actually
11:41:24 <Jafet> Now fungot's in a botloop
11:41:24 <fungot> Jafet: i know i didn't know that you've already asked, but then i need to enter " qemu" to edit is the ordinary ( for call/ cc))) hangs
11:41:26 <jmaster> taneb.. are you the author of fungot?
11:41:26 <fungot> jmaster: and that is? you've had it for some time i added a new page and sends it to emacs, i suggest, vote."
11:41:34 <Taneb> jmaster, no, I am not
11:41:36 <Taneb> ^source
11:41:36 <fungot> https://github.com/fis/fungot/blob/master/fungot.b98
11:41:43 <jmaster> ahyes..,.nice
11:44:17 <jmaster> my basic idea was to provide an adapter to bind webservice APIs to a bot with a single bot function
11:44:55 <jmaster> so everyone could develop on any system.. with whatsoever
11:45:22 <b_jonas> jmaster: um, so how does this work?
11:45:33 <jmaster> here's an example:
11:45:42 <jmaster> .dump(cxg)
11:45:43 <jslave> jmaster: function (text) { wpost("http://cxg.de/paste.php", {'lang':'auto','pastetext': text} ).then(function(response) { result = response.match(/http:\/\/cxg\.de\/.*\.htm/); console.log(result); }) }
11:46:03 <jmaster> i defined just this script above
11:46:30 <jmaster> like var myfunc = function(arg1, arg2) { /*do stuff here */ }
11:47:42 <jmaster> (async http post) wpost(url, postvars).then(function(result) { /*when ready and got response -- erm --do sth with response */ })
11:47:56 <jmaster> knowing that u can call most apis
11:48:24 <b_jonas> um, ok, and is there some persistent state?
11:48:57 <jmaster> yes.. i'm working on it.. i believe it has worked already.. but than i crapped it..but!
11:49:23 <jmaster> you define and test your function in global scope
11:50:03 <jmaster> if working ..you move the function into the well structured and persistent scope ..which is .fn
11:50:13 <jmaster> call .bind() -----------------------------> ready.
11:50:29 <jmaster> next restart all objects in fn get reloaded
11:50:44 <jmaster> $(fn)
11:50:45 <b_jonas> and can you show an example of the web api thingy working?
11:50:47 <jmaster> .$(fn)
11:50:47 <jslave> jmaster: (object)imgur, radio(), (object)gallery, $(), help(), girls(), (object)lamb, (object)db, read(), init()
11:50:57 <Jafet> .console.log('hi')
11:50:57 <jslave> Jafet: hi
11:51:17 <Jafet> .var x = new XMLHttpRequest(); x.open('GET', 'httsp://esolangs.org', false); x.send(null); console.log(x.responseText)
11:51:17 <jslave> Jafet: [Exception] undefined
11:51:43 <Jafet> .var x = new XMLHttpRequest(); x.open('GET', 'http://esolangs.org', false); x.send(null); console.log(x.responseText)
11:51:44 <jmaster> .var x = function() { new XMLHttpRequest(); x.open('GET', 'httsp://esolangs.org', false); x.send(null); console.log(x.responseText) }
11:51:44 <jslave> Jafet: <html> <head><title>302 Found</title></head> <body bgcolor="white"> <center><h1>302 Found</h1></center> <hr><center>nginx/1.2.1</center> </body> </html>
11:52:03 <jmaster> o now
11:52:05 <jmaster> sry
11:52:12 <jmaster> it worked hehe
11:52:13 <jmaster> cool
11:52:46 <b_jonas> um, that's only a redirect
11:52:50 <b_jonas> print its Location header
11:53:08 <jmaster> jafet.. because http get requests are so usual u can just use wget()
11:53:53 <jmaster> b_jonas:
11:54:03 <jmaster> cxg('Hallo Welt!')
11:54:06 <jmaster> .cxg('Hallo Welt!')
11:54:06 <jslave> jmaster: http://cxg.de/_432508.htm
11:54:28 <jmaster> it works: it's a pastie site built by a droog
11:54:35 <b_jonas> .console.log("] 9*2")
11:54:36 <jslave> b_jonas: ] 9*2
11:54:52 <jmaster> .dump(cxg) //see code
11:54:52 <jslave> jmaster: function (text) { wpost("http://cxg.de/paste.php", {'lang':'auto','pastetext': text} ).then(function(response) { result = response.match(/http:\/\/cxg\.de\/.*\.htm/); console.log(result); }) }
11:55:20 <Jafet> .setTimeout(function(){console.log('hi')}, 1000); setTimeout(function(){console.log('hi')}, 2000)
11:55:20 <jslave> Jafet: [object Object]
11:55:21 <jslave> Jafet: hi
11:55:22 <jslave> Jafet: hi
11:55:55 <jmaster> wget is sync now.. and wpost async ..that's why u need this .then() shizzle (see Promises mdn)
11:56:06 <jmaster> .search.mdn("Promise")
11:56:06 <jslave> jmaster: https://developer.mozilla.org/en-US/search?q=Promise
11:56:37 <b_jonas> jmaster: looks nice
11:56:47 <b_jonas> jmaster: are there also commands to listen to irc or talk on it?\
11:57:16 <jmaster> yep.. i used them before
11:57:30 <jmaster> well.. yes and no.. i
11:57:32 <Jafet> This is like leaving a tank on the road with the hatch open
11:57:34 <jmaster> disabled most of them
11:57:47 <jmaster> that's true
11:58:00 <jmaster> i agree it's not secure
11:58:04 <b_jonas> Jafet: exactly. ideal for #esoteric.
11:58:13 <b_jonas> s/\./ \./
11:58:21 <jmaster> i am mad showing you those.. but it's build for a cooperative policy
11:58:39 <jmaster> like..some friends develop sth together
11:59:18 <jmaster> at least for now
11:59:47 <jmaster> i've spent like 10 hours making it.. all that while learning node.. and javascript :))
12:00:00 <jmaster> so there's a few more things to do on the module site
12:01:50 <b_jonas> jslave: console.log("xaxabimufeivomuzecixavaireijaudauxavopafeiregainogaibirevojaurejaugainosoci")
12:02:10 <b_jonas> jslave: .console.log("zesofeifeibinodaugaivairevaifeisomureipaxareivairesoxavaigaipavovoresoxagaivai")
12:02:17 <Jafet> .fs.stat('.', function(a, b) { console.log(utils.inspect(b)) })
12:02:17 <jslave> Jafet: [ReferenceError] fs is not defined
12:02:19 <b_jonas> I wonder if it can respond to anything not starting with a dot
12:02:23 <b_jonas> would be easier to stat
12:02:26 <b_jonas> to loop
12:02:27 <b_jonas> sorry
12:02:48 <b_jonas> ( http://www.xkcd.com/604/ )
12:02:48 <idris-bot> (input):1:5: error: expected: "!!",
12:02:48 <idris-bot> "$", "$>", "&&", "&&&", "*",
12:02:48 <idris-bot> "***", "+", "++", "+++", "-",
12:02:48 <idris-bot> "->", ".", "/", "/=", ":+",
12:02:48 <idris-bot> ":-", "::", ":::", ":=", "<",↵…
12:02:59 <Jafet> .require('fs'); fs.stat('.', function(a, b) { console.log(utils.inspect(b)) })
12:02:59 <jslave> Jafet: [ReferenceError] require is not defined
12:03:17 <jmaster> b_jonas: it does.. in query you don't need a prefix
12:03:32 <jmaster> but i can set the prefix as i want to
12:03:46 <jmaster> mostly trying not to be in conflict with other bots
12:03:57 <b_jonas> sure, I was just wondering if it could respond to its nick
12:04:08 <jmaster> also u can use -- to make jslave answer in privmsg
12:04:16 <Jafet> .console.log(os.type())
12:04:16 <jslave> Jafet: [ReferenceError] os is not defined
12:05:08 <jmaster> .$()
12:05:08 <jslave> jmaster: dmp(), (string)from, (string)to, (object)bot, (object)json, (object)net, (object)http, jQuery(), XMLHttpRequest(), xhr(), (object)util, prettify(), setTimeout(), (object)res, (object)imgur, read(), (object)delicious, (object)search, Promise(), (object)sandbox, run(), getGlobal(), dispose(), dump(), (object)fn, bind(), wget(), wpost(), pastebin(), exec(), (object)console, (object)jslave, heapdump()[..] readmore:
12:05:08 <jslave> jmaster: http://cxg.de/_8c366d.htm
12:05:13 <jmaster> global ns
12:05:47 <jmaster> the cool thing is: it will paste the result autmatically if respnse longer than: defined max
12:06:27 <b_jonas> nice
12:06:34 <jmaster> you see it's not very well structured yet
12:06:54 -!- Patashu has quit (Ping timeout: 245 seconds).
12:06:58 <jmaster> the idea is to structure fn with more thoughtful
12:07:09 <jmaster> as it's meant to be persistent
12:08:04 <jmaster> cxg worked right? right
12:08:29 <jmaster> .fn.api.paste.cxg = cxg
12:08:29 <jslave> jmaster: [TypeError] Cannot read property 'paste' of undefined
12:08:42 <jmaster> .fn.api = { }
12:08:42 <jslave> jmaster: [object Object]
12:08:49 <jmaster> .fn.api.paste = { }
12:08:49 <jslave> jmaster: [object Object]
12:08:52 <jmaster> .fn.api.paste.cxg = cxg
12:08:53 <jslave> jmaster: function (text) { wpost("http://cxg.de/paste.php", {'lang':'auto','pastetext': text} ).then(function(response) { result = response.match(/http:\/\/cxg\.de\/.*\.htm/); console.log(result); }) }
12:08:57 <jmaster> this is it
12:09:01 <jmaster> then you call bind()
12:09:18 <jmaster> (which doesn't work yet..but probably later today;)
12:10:43 <jmaster> fn.api.paste.cxg <- this is just a spontanous structure ..probably not good too... but if you seen a framwork with namespaces u got the idea
12:11:31 <jmaster> u will have a string ns, a net ns, a db ns, or whatever
12:12:21 <Jafet> Note that HackEgo already runs arbitrary code, with persistent state
12:12:51 <jmaster> .. can i code it via irc too?
12:12:51 <jslave> jmaster: [SyntaxError] Unexpected token .
12:12:59 <jmaster> here we go :)
12:13:04 <Jafet> `welcome jmaster
12:13:07 <HackEgo> jmaster: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
12:13:14 <Jafet> `cat bin/welcome
12:13:15 <HackEgo> ​#!/usr/bin/perl -w \ if (defined($_=shift)) { s/ *$//; s/ +/ @ /g; exec "bin/@", $_ . " ? welcome"; } else { exec "bin/?", "welcome"; }
12:13:26 <jmaster> unix shell?
12:13:39 <jmaster> alright..i see
12:24:25 -!- evalj has quit (*.net *.split).
12:24:25 -!- FireFly has quit (*.net *.split).
12:24:26 -!- idris-bot has quit (*.net *.split).
12:24:26 -!- jix has quit (*.net *.split).
12:24:26 -!- newsham has quit (*.net *.split).
12:24:26 -!- supay has quit (*.net *.split).
12:24:26 -!- variable has quit (*.net *.split).
12:24:26 -!- scounder has quit (*.net *.split).
12:24:27 -!- ocharles_ has quit (*.net *.split).
12:24:27 -!- skarn has quit (*.net *.split).
12:24:28 -!- paul2520 has quit (*.net *.split).
12:24:28 -!- pikhq has quit (*.net *.split).
12:24:28 -!- kcm1700 has quit (*.net *.split).
12:24:29 -!- perrier__ has quit (*.net *.split).
12:24:29 -!- olsner has quit (*.net *.split).
12:24:30 -!- Aberian has quit (*.net *.split).
12:24:30 -!- Guest55348 has quit (*.net *.split).
12:24:30 -!- Frooxius has quit (*.net *.split).
12:24:30 -!- shachaf has quit (*.net *.split).
12:24:30 -!- glguy has quit (*.net *.split).
12:24:31 -!- Solace|zzz has quit (*.net *.split).
12:24:31 -!- bb010g has quit (*.net *.split).
12:24:31 -!- fungot has quit (*.net *.split).
12:24:32 -!- zemhill_ has quit (*.net *.split).
12:24:32 -!- relrod has quit (*.net *.split).
12:24:32 -!- jslave has quit (*.net *.split).
12:24:32 -!- MoALTz has quit (*.net *.split).
12:24:32 -!- dts|pokeball has quit (*.net *.split).
12:24:32 -!- diginet has quit (*.net *.split).
12:24:33 -!- copumpkin has quit (*.net *.split).
12:24:33 -!- Lymia has quit (*.net *.split).
12:24:33 -!- quintopia has quit (*.net *.split).
12:24:33 -!- int-e has quit (*.net *.split).
12:24:33 -!- dianne has quit (*.net *.split).
12:24:34 -!- aloril_ has quit (*.net *.split).
12:24:34 -!- yiyus has quit (*.net *.split).
12:24:34 -!- Melvar has quit (*.net *.split).
12:24:34 -!- HackEgo has quit (*.net *.split).
12:24:34 -!- q3k has quit (*.net *.split).
12:24:35 -!- tromp_ has quit (*.net *.split).
12:24:35 -!- b_jonas has quit (*.net *.split).
12:24:35 -!- heroux has quit (*.net *.split).
12:24:36 -!- tromp has quit (*.net *.split).
12:24:36 -!- blsqbot has quit (*.net *.split).
12:24:36 -!- mitchs has quit (*.net *.split).
12:24:37 -!- nyuszika7h has quit (*.net *.split).
12:24:37 -!- incomprehensibly has quit (*.net *.split).
12:24:37 -!- nisstyre has quit (*.net *.split).
12:24:37 -!- fizzie has quit (*.net *.split).
12:24:37 -!- mroman has quit (*.net *.split).
12:24:38 -!- oren has quit (*.net *.split).
12:24:38 -!- trn has quit (*.net *.split).
12:24:38 -!- rodgort has quit (*.net *.split).
12:24:38 -!- InvalidCo has quit (*.net *.split).
12:24:38 -!- yorick has quit (*.net *.split).
12:24:38 -!- Sgeo has quit (*.net *.split).
12:24:38 -!- zzo38 has quit (*.net *.split).
12:24:38 -!- KingOfKarlsruhe has quit (*.net *.split).
12:24:39 -!- TodPunk has quit (*.net *.split).
12:24:39 -!- clog has quit (*.net *.split).
12:24:40 -!- conehead has quit (*.net *.split).
12:24:40 -!- kline has quit (*.net *.split).
12:24:41 -!- weissschloss has quit (*.net *.split).
12:24:41 -!- coppro has quit (*.net *.split).
12:24:42 -!- FreeFull has quit (*.net *.split).
12:24:42 -!- lambdabot has quit (*.net *.split).
12:24:42 -!- qlkzy has quit (*.net *.split).
12:24:42 -!- erdic has quit (*.net *.split).
12:24:42 -!- monotone has quit (*.net *.split).
12:24:42 -!- Jafet has quit (*.net *.split).
12:24:42 -!- EgoBot has quit (*.net *.split).
12:24:43 -!- yukko has quit (*.net *.split).
12:24:43 -!- Taneb has quit (*.net *.split).
12:24:43 -!- reynir has quit (*.net *.split).
12:24:43 -!- jmaster has quit (*.net *.split).
12:24:43 -!- arjanb has quit (*.net *.split).
12:24:43 -!- shikhin_ has quit (*.net *.split).
12:24:44 -!- Deewiant has quit (*.net *.split).
12:24:44 -!- sebbu has quit (*.net *.split).
12:24:44 -!- PinealGlandOptic has quit (*.net *.split).
12:24:44 -!- nortti has quit (*.net *.split).
12:24:44 -!- SirCmpwn has quit (*.net *.split).
12:24:44 -!- ski has quit (*.net *.split).
12:24:45 -!- Gregor has quit (*.net *.split).
12:24:46 -!- elliott has quit (*.net *.split).
12:24:46 -!- Gracenotes has quit (*.net *.split).
12:24:46 -!- lifthrasiir has quit (*.net *.split).
12:26:26 -!- evalj has joined.
12:26:26 -!- olsner has joined.
12:26:26 -!- perrier__ has joined.
12:26:26 -!- kcm1700 has joined.
12:26:26 -!- pikhq has joined.
12:26:26 -!- paul2520 has joined.
12:26:26 -!- skarn has joined.
12:26:26 -!- ocharles_ has joined.
12:26:26 -!- variable has joined.
12:26:26 -!- supay has joined.
12:26:26 -!- newsham has joined.
12:26:26 -!- jix has joined.
12:26:26 -!- idris-bot has joined.
12:26:26 -!- lifthrasiir has joined.
12:26:26 -!- Gracenotes has joined.
12:26:26 -!- reynir has joined.
12:26:26 -!- Taneb has joined.
12:26:26 -!- q3k has joined.
12:26:26 -!- yukko has joined.
12:26:26 -!- kline has joined.
12:26:26 -!- EgoBot has joined.
12:26:26 -!- blsqbot has joined.
12:26:26 -!- conehead has joined.
12:26:26 -!- HackEgo has joined.
12:26:26 -!- Melvar has joined.
12:26:26 -!- yiyus has joined.
12:26:26 -!- Jafet has joined.
12:26:26 -!- Gregor has joined.
12:26:26 -!- tromp has joined.
12:26:26 -!- ski has joined.
12:26:26 -!- clog has joined.
12:26:26 -!- SirCmpwn has joined.
12:26:26 -!- aloril_ has joined.
12:26:26 -!- TodPunk has joined.
12:26:26 -!- monotone has joined.
12:26:26 -!- nortti has joined.
12:26:26 -!- elliott has joined.
12:26:26 -!- heroux has joined.
12:26:26 -!- erdic has joined.
12:26:26 -!- dianne has joined.
12:26:26 -!- PinealGlandOptic has joined.
12:26:26 -!- int-e has joined.
12:26:26 -!- quintopia has joined.
12:26:26 -!- Lymia has joined.
12:26:26 -!- fizzie has joined.
12:26:26 -!- mroman has joined.
12:26:26 -!- nisstyre has joined.
12:26:26 -!- zemhill_ has joined.
12:26:26 -!- qlkzy has joined.
12:26:26 -!- lambdabot has joined.
12:26:26 -!- KingOfKarlsruhe has joined.
12:26:26 -!- diginet has joined.
12:26:26 -!- zzo38 has joined.
12:26:26 -!- Sgeo has joined.
12:26:26 -!- incomprehensibly has joined.
12:26:26 -!- FreeFull has joined.
12:26:26 -!- nyuszika7h has joined.
12:26:26 -!- yorick has joined.
12:26:26 -!- fungot has joined.
12:26:26 -!- b_jonas has joined.
12:26:26 -!- InvalidCo has joined.
12:26:26 -!- relrod has joined.
12:26:26 -!- rodgort has joined.
12:26:26 -!- copumpkin has joined.
12:26:26 -!- sebbu has joined.
12:26:26 -!- coppro has joined.
12:26:26 -!- weissschloss has joined.
12:26:26 -!- trn has joined.
12:26:26 -!- tromp_ has joined.
12:26:26 -!- arjanb has joined.
12:26:26 -!- oren has joined.
12:26:26 -!- Deewiant has joined.
12:26:26 -!- dts|pokeball has joined.
12:26:26 -!- bb010g has joined.
12:26:26 -!- mitchs has joined.
12:26:26 -!- Solace|zzz has joined.
12:26:26 -!- MoALTz has joined.
12:26:26 -!- jslave has joined.
12:26:26 -!- jmaster has joined.
12:26:26 -!- shikhin_ has joined.
12:26:26 -!- FireFly has joined.
12:26:40 <b_jonas> ] 9
12:26:40 -!- perrier__ has quit (Max SendQ exceeded).
12:26:40 -!- variable has quit (Max SendQ exceeded).
12:26:40 -!- supay has quit (Max SendQ exceeded).
12:26:40 -!- skarn has quit (Max SendQ exceeded).
12:26:40 <evalj> b_jonas: 9
12:27:01 -!- variable has joined.
12:27:35 -!- variable has changed nick to Guest69407.
12:27:36 -!- skarn has joined.
12:27:42 <jmaster> darn ..i need to buy some xmas presents today
12:27:45 -!- perrier___ has joined.
12:27:55 <b_jonas> [ 8
12:28:11 -!- Guest69407 has quit (Changing host).
12:28:11 -!- Guest69407 has joined.
12:28:13 -!- j-bot has joined.
12:28:44 -!- Aberian has joined.
12:28:45 -!- Guest55348 has joined.
12:28:45 -!- Frooxius has joined.
12:28:45 -!- shachaf has joined.
12:28:45 -!- glguy has joined.
12:29:14 <jmaster> i can't prevent endless loops yet.. that's a major vulnerability ..it happens quick even without intention
12:29:30 <jmaster> so any suggestions on that are welcome
12:29:31 -!- supay has joined.
12:29:33 -!- S1 has joined.
12:29:44 <b_jonas> jmaster: just do it the proper but unpopular way and make the bot send only NOTICEs and listen only to PRIVMSGs
12:30:17 <jmaster> hm?
12:30:56 <jmaster> notice != privmsg iirc..also how would this make the bot stop the loop?
12:31:31 <b_jonas> it prevents loop because bots don't reply to the NOTICE you send. it's like a ttl of 1 effectively.
12:31:53 <jmaster> it's really nasty ...it runs so quick even the flood protection on another server was fucked
12:31:58 <jmaster> pardon*
12:33:11 <jmaster> <b_jonas> it prevents loop because bots don't reply to the NOTICE you send. it's like a ttl of 1 effectively. <-- i doubt this
12:33:25 <Jafet> Add flood protection, then.
12:33:31 <jmaster> yea..good idea
12:33:35 <jmaster> :)))
12:33:40 <jmaster> ok.. will do
12:34:34 <Jafet> `x.toString()
12:34:35 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: x.toString(): not found
12:34:37 <Jafet> .x.toString()
12:34:37 <jslave> Jafet:
12:34:39 <oren> oh crap weather today = "sleet". "Sleet"!
12:34:47 <Jafet> .type(x)
12:34:47 <jslave> Jafet: [ReferenceError] type is not defined
12:34:52 <Jafet> .typeof(x)
12:34:53 <jslave> Jafet: object
12:35:00 <jmaster> x
12:35:03 <jmaster> .x
12:35:04 <jslave> jmaster:
12:35:07 <jmaster> hm
12:35:08 <oren> 5133t
12:35:12 <jmaster> .dump(x)
12:35:12 <jslave> jmaster: [RangeError] Maximum call stack size exceeded
12:35:18 <jmaster> ah yes..
12:35:22 <Jafet> .var xx = setInterval(function() { console.log('hi') }, 1000)
12:35:22 <jslave> Jafet: [ReferenceError] setInterval is not defined
12:35:37 <jmaster> b_jonas' suddendeath function
12:35:58 <b_jonas> what?
12:35:58 <jmaster> jafet
12:36:19 <jmaster> .var xx = function() { /*code here*/}
12:36:23 -!- scounder has joined.
12:36:47 <jmaster> else it expects a return value to assign
12:36:52 <Jafet> .var xx = [null]; function f() { console.log('hi'); xx[0] = setTimeout(f, 1000) }; f()
12:36:52 <jslave> Jafet: hi
12:36:53 <jslave> Jafet: hi
12:36:54 <jslave> Jafet: hi
12:36:55 <jslave> Jafet: hi
12:36:56 <jslave> Jafet: hi
12:36:57 <jslave> Jafet: hi
12:36:58 <jslave> Jafet: hi
12:36:59 <jslave> Jafet: hi
12:37:00 <jslave> Jafet: hi
12:37:01 <jslave> Jafet: hi
12:37:02 <jslave> Jafet: hi
12:37:03 <jslave> Jafet: hi
12:37:04 <jslave> Jafet: hi
12:37:05 <Jafet> .clearInterval(xx[0])
12:37:05 <jslave> Jafet: [ReferenceError] clearInterval is not defined
12:37:05 <jslave> Jafet: hi
12:37:06 <jslave> Jafet: hi
12:37:07 <jslave> Jafet: hi
12:37:08 <jslave> Jafet: hi
12:37:08 <oren> WHAT HAVE YOU DONE
12:37:09 <jslave> oren: hi
12:37:10 <Jafet> .clearTimeout(xx[0])
12:37:10 <jslave> oren: hi
12:37:10 <jslave> Jafet: [ReferenceError] clearTimeout is not defined
12:37:11 <jslave> Jafet: hi
12:37:12 <jslave> Jafet: hi
12:37:13 <jslave> Jafet: hi
12:37:14 <jslave> Jafet: hi
12:37:15 <jslave> Jafet: hi
12:37:15 <Jafet> Heh
12:37:16 <jslave> Jafet: hi
12:37:17 <jslave> Jafet: hi
12:37:18 <jslave> Jafet: hi
12:37:19 <jslave> Jafet: hi
12:37:20 <jslave> Jafet: hi
12:37:20 -!- jslave has quit (Read error: Connection reset by peer).
12:37:38 <Jafet> Sorry, I assumed it could be cleared.
12:37:54 <jmaster> you can stop this by assign a stop condition in the function
12:38:04 <jmaster> np ..btw
12:38:13 <jmaster> not for me.. at last
12:38:44 <b_jonas> .for(var m=6;m-->0;)console.log(m)
12:38:46 -!- jslave has joined.
12:38:49 <b_jonas> .for(var m=6;m-->0;)console.log(m)
12:38:49 <jslave> b_jonas: 5
12:38:49 <jslave> b_jonas: 4
12:38:49 <jslave> b_jonas: 3
12:38:50 <jslave> b_jonas: 2
12:38:50 <jslave> b_jonas: 1
12:38:51 <jslave> b_jonas: 0
12:39:01 <b_jonas> ] ,.i._6
12:39:01 <evalj> b_jonas: 5
12:39:01 <evalj> b_jonas: 4
12:39:01 <evalj> b_jonas: 3
12:39:01 <evalj> b_jonas: 2
12:39:01 <evalj> b_jonas: 1
12:39:01 <evalj> b_jonas: ...
12:39:15 <jmaster> it's very cool it runs async functions in the background ;)
12:39:40 <b_jonas> yes
12:40:35 <jmaster> for(var m=6;m-->0;)console.log(m) <-- never seen that notation ..nice
12:40:55 <b_jonas> you're on #esoteric, you'll see worse
12:41:00 <myname> the downto operator?
12:41:05 <jmaster> ooh ..very cool
12:41:13 <jmaster> yep
12:41:23 <oren> it is actually a -- and a > it is not a downto operator.
12:41:36 <oren> but yeah seen that trick before
12:41:37 <myname> oren: yeah, but i like that name
12:42:08 <b_jonas> .var xx = 1
12:42:11 <b_jonas> .xx
12:42:11 <jslave> b_jonas: 1
12:42:11 <jmaster> aaah
12:42:15 <b_jonas> .var xx = 9
12:42:16 <b_jonas> .xx
12:42:16 <jslave> b_jonas: 9
12:42:17 <jmaster> now i get it
12:42:22 <b_jonas> so there is persistent state. good.
12:42:41 <jmaster> until restart
12:43:07 <jmaster> but as i said.. i will make it work as good and as soon possible
12:43:29 <Taneb> Could you use cookies or something to get more persistent state?
12:43:42 <jmaster> oh ...indeed .. i forgot
12:43:49 <jmaster> i implemented mongodb :))
12:45:11 <jmaster> .mongodb.find({gender: 'm', $or: [{nationality: 'english'}, {nationality: 'american'}]}, 'people') // .find(where, collection)
12:45:11 <jslave> jmaster: [ReferenceError] mongodb is not defined
12:45:17 <jmaster> .mongo.find({gender: 'm', $or: [{nationality: 'english'}, {nationality: 'american'}]}, 'people') // .find(where, collection)
12:45:17 <jslave> jmaster: [object Object]
12:45:18 <jslave> jmaster: http://cxg.de/_4ff711.htm
12:45:46 -!- MoALTz has quit (Quit: Leaving).
12:47:42 <jmaster> .mongo.insert({ first: "fun", last: "got", dob: "06/01/1996", gender: "m", hair_colour: "blonde", occupation: "bot", nationality: "irish"}, 'people')
12:47:42 <jslave> jmaster: Collection: peopleCount: = 10
12:49:09 <jmaster> mongo.find({first: 'fun'}, 'people') // .find(where, collection)
12:49:16 <jmaster> .mongo.find({first: 'fun'}, 'people') // .find(where, collection)
12:49:17 <jslave> jmaster: [object Object]
12:49:17 <jslave> jmaster: http://cxg.de/_647437.htm
12:49:35 <jmaster> it worxxx
12:50:32 <jmaster> .dump(mongo.result)
12:50:32 <jslave> jmaster: { '0': { '_id': { '_bsontype': ObjectID, 'id': T™dmfx&hž_, 'toHexString': function () { if(ObjectID.cacheHexString && this.__id) return this.__id; var hexString = ''; for (var i = 0; i < this.id.length; i++) { hexString += hexTable[this.id.charCodeAt(i)]; } if(ObjectID.cacheHexString) this.__id = hexString; return hexString; }, 'get_inc': function () { return ObjectID.index [..] readmore:
12:50:33 <jslave> jmaster: http://cxg.de/_c440b9.htm
12:51:08 <jmaster> .mongo.result.first
12:51:22 <jmaster> .mongo.result[0].first
12:51:22 <jslave> jmaster: fun
12:51:33 <jmaster> \o/
12:51:33 <myndzi> |
12:51:33 <myndzi> >\
12:51:40 <jmaster> lol
12:53:22 <jmaster> .eval("var test = function() { console.log('it works too!') }") //never tried this
12:53:25 <jmaster> test()
12:53:28 <jmaster> .test()
12:53:28 <jslave> jmaster: it works too!
12:53:31 <jmaster> cool
12:54:04 <jmaster> so theoretically u can store code in the db
12:55:02 <jmaster> if the admins here get mad i'll say it is all Taneb's fault
12:55:10 <Taneb> :(
12:55:13 <jmaster> :)
12:55:53 <Jafet> Taneb invented persistence long ago, and it's been around ever since.
12:56:29 -!- vanila has joined.
12:56:36 <Taneb> `? persistence
12:56:37 <HackEgo> persistence? ¯\(°​_o)/¯
12:56:42 -!- supay has changed nick to supay_.
12:57:09 <Taneb> `run echo "Taneb invented persistence long ago, and it's been around ever since." > wisdom/persistence
12:57:13 <HackEgo> No output.
12:57:13 <Taneb> `? persistence
12:57:14 <HackEgo> Taneb invented persistence long ago, and it's been around ever since.
12:57:37 <Taneb> `run echo < wisdom/tanebventions
12:57:38 <HackEgo> bash: wisdom/tanebventions: No such file or directory
12:57:41 <Taneb> `run echo < wisdom/tanebvention
12:57:42 <HackEgo> No output.
12:57:47 <Taneb> `run cat wisdom/tanebvention
12:57:49 <HackEgo> Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, weetoflakes, and this sentence.
12:57:50 <vanila> http://esolangs.org/wiki/Clue_%28Keymaker%29
12:58:10 <jmaster> lol
12:58:19 <Taneb> `run echo "Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, weetoflakes, persistence, and this sentence." > wisdom/tanebvention
12:58:21 <HackEgo> No output.
12:58:27 <Taneb> `? Tanebventions
12:58:28 <HackEgo> Tanebventions include D-modules, Chu spaces, automatic squirrel feeders, the torus, Stephen Wolfram, Go, weetoflakes, persistence, and this sentence.
13:02:14 <jmaster> .paste(wget("http://codu.org/logs/_esoteric/2014-12-23.txt")
13:02:14 <jslave> jmaster: [SyntaxError] Unexpected end of input
13:02:30 <jmaster> .paste(wget("http://codu.org/logs/_esoteric/2014-12-23.txt"))
13:02:33 <jslave> jmaster: http://cxg.de/_272f46.htm
13:04:18 <jmaster> .mongo.insert({date: date(), server: "irc.freenode.net", channel: "#esoteric", content: "http://cxg.de/_272f46.htm"}, "irc_logs")
13:04:18 <jslave> jmaster: [ReferenceError] date is not defined
13:04:24 <jmaster> .mongo.insert({date: Date(), server: "irc.freenode.net", channel: "#esoteric", content: "http://cxg.de/_272f46.htm"}, "irc_logs")
13:04:25 <jslave> jmaster: Collection: irc_logsCount: = 1
13:04:55 <jmaster> the cool thing about mongodb is: it does everything for you
13:05:10 <jmaster> no need to create tables or stuff
13:05:33 <jmaster> just take an object..and push to any collection..done
13:05:44 <jmaster> at least that's the basic functionality
13:06:14 <jmaster> u can do things more complicated (which is what you probably want to do _here_ :P)
13:06:45 <jmaster> .res.help.mongodb
13:06:45 <jslave> jmaster: https://www.npmjs.com/package/mongodb | mongoDB API | Documentation: http://mongodb.github.io/node-mongodb-native/ | Tutorial: http://code.tutsplus.com/tutorials/getting-started-with-mongodb-part-1--net-22879
13:07:52 <jmaster> this is a religious channel...isn't it? ..good.
13:09:11 <vanila> no
13:09:36 <jmaster> it was Taneb
13:09:40 <jmaster> !!
13:09:43 <EgoBot> How exciting!
13:09:59 <jmaster> thanks
13:10:09 -!- Solace|zzz has quit (Quit: Connection closed for inactivity).
13:13:46 <jmaster> PS.: i'm also avaible for children-parties
13:14:39 <oren> doyou bring your own red nose and makeup?
13:15:06 <jmaster> sure
13:15:50 <jmaster> i'm glad we all agree plut is a planet
13:20:09 <oren> it wanders through the sky, so it is a planet. checkmate.
13:32:49 -!- nys has joined.
13:43:55 <jmaster> Taneb: clearTimeout will work upon next restart.. i had to allow this function in the sandbox
13:46:27 <jmaster> and thanks.. i did not know about this function yet^^ i'm a level2 js-noob (attack: 12 / defense: 9 / grey-hair: 23)
14:00:26 -!- Guest55348 has quit (Changing host).
14:00:26 -!- Guest55348 has joined.
14:00:35 -!- Guest55348 has changed nick to Zuu.
14:00:45 -!- Zuu has changed nick to ZuuSanta.
14:21:24 <oren> Do any varieties of lisp allow unicode names?
14:21:41 <vanila> https://github.com/jterrace/js.js/
14:21:50 <vanila> js.js is a JavaScript interpreter in JavaScript. Instead of trying to create an interpreter from scratch, SpiderMonkey is compiled into LLVM and then emscripten translates the output into JavaScript.
14:21:57 <vanila> oren, I think they all should
14:22:28 <J_Arcane> oren: Racket does.
14:23:11 <oren> J_Arcane: Ok good.
14:24:36 <J_Arcane> It even has a macro that maps λ to lambda (and a shortcut for it in Racket).
14:25:21 <oren> Now, i'll make a macro from 【】 and () to [] and () respectively...
14:26:07 <J_Arcane> Good luck with that, I still haven't made sense of writing custom readers for Racket yet ... ;)
14:26:19 <oren> And then create a chinese #lang that can by typed entirely in chinese character IME
14:26:34 <oren> s/by/be
14:37:04 <J_Arcane> At last, Heresy now has actual docs: http://jarcane.github.io/heresy/heresy.html
14:41:11 <vanila> great!
14:46:22 <J_Arcane> I actually want to write a proper guide for it at some point.
14:46:32 <J_Arcane> But at least now there's a function reference.
14:47:22 -!- mitchs has quit (Ping timeout: 265 seconds).
14:48:59 <J_Arcane> I wonder if I should write a brainfuck in Heresy. That's like the rule right? the first non-trivial anything in a language is always a brainfuck?
14:50:05 <b_jonas> no!
14:50:13 <J_Arcane> XD
14:52:08 <tromp_> http://joeyh.name/blog/entry/a_brainfuck_monad/
15:02:25 -!- nycs has joined.
15:06:12 <oren> 【左右加减说听】
15:06:29 <oren> there brainfuck in chinese hyh
15:07:57 <oren> hyh = hope your happy
15:09:23 -!- supay_ has changed nick to supay.
15:09:32 <vanila> no one ever asked for a chinese version fo brainfuck
15:10:51 <oren> vanila: well they still got one hthyh
15:12:02 <oren> also i cant figure out readers in racket either
15:15:26 <J_Arcane> Part of why heresy uses #lang s-exp instead of being a pure #lang, is because to do that you have to do a bunch of stuff with providing a reader and what not
15:16:32 -!- nys has quit (Ping timeout: 245 seconds).
15:16:59 -!- nys has joined.
15:18:28 -!- nycs has changed nick to `^_^v.
15:19:40 <myname> you're :(
15:21:01 <myname> as a none native speaker: i don't get why people confuse you're/your, it's/its and their/they're
15:21:50 <oren> i know how to do it proply i just dont care hope your're happy.
15:25:17 <b_jonas> myname: as a none native speaker, you'll never now
15:25:39 <myname> b_jonas: you are trolling
15:25:54 <b_jonas> sines point to yes
15:26:03 <oren> and i did your're on purpos
15:27:52 <MDream> Well, they often don't learn by writing.
15:27:57 -!- MDream has changed nick to MDude.
15:28:24 <myname> but from watching porn?
15:28:34 <MDude> By hearing people talk.
15:29:01 <oren> MDream: i am a native speaker, and msot native speakers don't care at all about these rules, we just care if we are understood
15:29:51 <MDude> But it wouldn't matter if we cared if we intuited it well enough to do it without really caring.
15:29:55 <myname> if you are not american you can go on, everybody will say it's because americans are stupid :D
15:30:41 <MDude> I'm maximum american.
15:30:58 <oren> canada is the bestest country in whole wold
15:31:43 <oren> why? maple buttertarts that is why
15:32:32 <jmaster> they have elks!
15:33:52 <myname> also: maple syrup
15:35:15 <jmaster> btw: I cnduo't bvleiee taht I culod aulaclty uesdtannrd waht I was rdnaieg. Unisg the icndeblire pweor of the hmuan mnid, aocdcrnig to rseecrah at Cmabrigde Uinervtisy, it dseno't mttaer in waht oderr the lterets in a wrod are, the olny irpoamtnt tihng is taht the frsit and lsat ltteer be in the rhgit pclae. The rset can be a taotl mses and you can sitll raed it whoutit a pboerlm. Tihs is bucseae the huamn mnid deos not raed ervey l
15:36:12 <myname> that's not entirely true
15:36:14 <jmaster> wlohe. Aaznmig, huh? Yaeh and I awlyas tghhuot slelinpg was ipmorantt! See if yuor fdreins can raed tihs too.
15:36:22 <myname> at least not language independent
15:36:55 <jmaster> maybe mandarin doesn't work
15:37:17 <myname> people have a hard time reading words with ordered letters
15:37:19 <oren> well mandarin has some words with two characters
15:37:37 <oren> but most of those a different when rearranged
15:37:56 <jmaster> first and last letter stay the same
15:38:06 <myname> i.e. caaeilltprr
15:38:11 <jmaster> anyway.. ca m'est egalement
15:38:24 <myname> first and last letter is in place
15:38:32 <oren> in japanese too: 社会:society 会社:corporation
15:38:37 <myname> it is still unreadable, at least in my opinion
15:39:14 <nys> [citation needed]
15:39:14 <jmaster> consider it noted.
15:39:25 <myname> also: iamnoprtt is way less readable than irpoamtnt
15:39:53 <myname> i don't think the order doesn't play any role
15:40:41 <oren> well for japanese the order defiantly matters
15:41:43 <myname> oren: can you read caaeilltprr?
15:42:04 <oren> consider 分かりましたvs分りましかた
15:42:32 <oren> myname: i can't
15:42:52 <myname> it's caterpillar
15:43:27 <oren> ohhh... yeah some orders screw with my head more i think
15:43:36 <jmaster> forget it
15:44:09 <myname> that's exactly my point
15:46:58 -!- Phantom_Hoover has joined.
15:48:51 <oren> and some cant be biguated: sont snot
15:49:19 <oren> i guess context helsp
15:49:34 <myname> yeah
15:49:41 -!- GeekDude has joined.
15:49:45 <myname> people cite the same text over and over again
15:49:52 <oren> cigoto egro sum
15:50:02 <myname> and think "hey, i can read this, so it has to be true that the order doesn't matter"
15:52:07 <oren> but can an abrtriay txet be srcewd up and rbleessad?
15:52:31 <myname> what salad?
15:57:08 <jmaster> lol.. you just because i can read it doesn't mean i can read it
15:57:46 <jmaster> now i see you're point
15:58:32 -!- spiette has joined.
15:59:55 <b_jonas> "reblessed" doesn't have an "a"
16:00:23 <b_jonas> and only scalars can, hash keys can't
16:02:12 -!- vanila has quit (Remote host closed the connection).
16:02:19 <jmaster> yes.. don't try this at home.
16:02:37 <int-e> msot wrods are shrot.
16:03:01 <myname> in english, that is
16:03:16 <myname> in german you can make arbitrary long words
16:03:34 <int-e> I also read somewhere that it helps a lot if you only exchange tall letters with other tall letters and short ones with short ones, keeping the "skyline", so to say, intact.
16:03:46 <myname> yeah
16:03:49 -!- S1 has quit (Quit: S1).
16:04:01 <myname> but you cannot change letters at will
16:04:03 <int-e> myname: I know. But we generally don't do that :)
16:04:21 <myname> int-e: who is "we"?
16:04:43 <int-e> the Dampfschifffahrtskapitänsmützenbandsortiermaschine is a joke ;-)
16:05:03 <myname> ich mach das so :p
16:06:05 <int-e> But Sonnenfleckenhäufigkeit isn't.
16:06:22 <myname> relative luftfeuchtigkeit
16:07:23 <int-e> Anyway I still don't know whether "rbleessad" was a typo or not.
16:08:02 <jmaster> it's more difficult to write them wrong anyway.. i just supported oren's statement: "we just care if we are understood".. so brave ;>
16:09:24 <int-e> usually it's just a few letters getting shfited a bit forth or back, not a random permutation.
16:10:55 <int-e> the internet anagram finder suggests "beardless" as the sole (english) single word anagram of "rbleessad"
16:11:38 <myname> hahaha
16:11:43 <jmaster> lol
16:12:03 <int-e> and "sad rebels" is nice.
16:13:17 <int-e> also "bear sled"
16:13:34 <int-e> (at least for this season)
16:14:54 * Melvar had a look for the longest word in his proto-thesis, it’s “Assoziativitätsdeklaration”.
16:15:17 <b_jonas> oh, out of memory. that explains why the computer wouldn't respond
16:17:26 <jmaster> kngoivite dssnoniaz
16:17:47 <int-e> jmaster: I read too much of fefe's blog to not recognize that one.
16:17:57 <jmaster> ;>
16:18:02 -!- drdanmaku has joined.
16:26:40 <Melvar> The longest non-programming-specific word in it is “höchstwahrscheinlich”.
16:27:27 <Melvar> ^scramble höchstwahrscheinlich
16:27:27 <fungot> hhtarcenihclihshwsc
16:27:48 <Melvar> Oh. It tore up the ‘ö’.
16:29:10 <int-e> "interrelationship" is a long english word.
16:30:14 <int-e> "lexicographical" is one I use fairly often
16:30:35 <Melvar> @let scramble = concat . (_last %~ reverse) . transpose . chunksOf 2
16:30:37 <lambdabot> Defined.
16:30:54 <Melvar> > var $ scramble "höchstwahrscheinlich"
16:30:56 <lambdabot> hcswhshilchinecrathö
16:31:13 <Melvar> That’s better.
16:31:54 <J_Arcane> I think I am going to need a better documentation situation in the long term.
16:32:24 <J_Arcane> Having to switch branches and manually copy the damn HTML file every time it changes just so it will show in the URL on gh-pages is a pain in the ass.
16:39:52 -!- shikhin_ has changed nick to shikhin.
16:42:58 <mroman> german words can be as long as you want them to be
16:43:01 <mroman> no surprise there
16:43:28 <mroman> Messlattenständerfabrizierungsanlagenkäufer is a perfectly reasonable word
16:43:55 <mroman> Geldvernichtungsmaschinenhersteller
16:43:55 <myname> heizölrückstoßabdämpfung is a great word for losing at hangman
16:44:38 <mroman> Heizölrückstossabdämpfungshaltevorrichtungsfabrikant
16:45:02 <mroman> my dream profession .
16:45:03 <myname> the point in my word is that nearly every letter exits in it
16:45:19 <myname> most of them once
16:45:23 <mroman> there's no x
16:45:28 <J_Arcane> hmm. I can't write scramble in Heresy yet because I still haven't included a random number generator. and I'm not sure I want to do that right now because then I'd have to update the docs again ...
16:45:34 <myname> yeah
16:45:38 <mroman> Heizölrückstossabdämpfungsextrakt.
16:45:52 <myname> there's no y
16:45:57 <mroman> yeah
16:46:03 <mroman> y is hm
16:46:12 <mroman> Heizölrückstossabdämpfungsextrahierungsrythmus.
16:46:20 <myname> :D
16:46:21 <mroman> but that's not so much sense making I guess
16:46:29 <mroman> well
16:46:35 <mroman> A german knows what it means
16:46:50 <mroman> He just might have never heard of something like that :D
16:47:09 <mroman> also you'd usually rephrase that as
16:47:25 <mroman> Der Rythmus der Extraktion von Heizölrückstossabdämpfungen
16:48:03 <mroman> sonen chabis :)
16:48:40 <mroman> chönt me joh grad no e abverheiters wort erfindä.
16:49:05 <mroman> and that concludes my opinion about that in swiss german .
16:52:33 -!- Aberian has quit (Quit: HydraIRC -> http://www.hydrairc.com <- It'll be on slashdot one day...).
16:53:08 -!- mihow has joined.
16:58:12 <mroman> "I'm not willing to go much further by hand. "
16:58:13 <mroman> uhm
16:58:14 <mroman> ok
16:58:23 <mroman> I guess that *totally* makes sense for a wiki article
17:00:09 <mroman> are there pseudo-quines
17:00:34 <myname> what makes it pseudo?
17:00:48 <mroman> it's not really a quine
17:01:00 <mroman> it just pretends to be quine by producing output that is a quine
17:01:04 <mroman> however, the actual program is not a quine
17:01:08 <mroman> so trivially spoken
17:01:15 <mroman> a pseudo-quine prints a quine
17:01:31 <mroman> which.. as I'm saying it out loud
17:01:33 <mroman> is fuckingly boring
17:02:17 <mroman> for example there's a PHP web-page that prints it's own source code
17:02:27 <mroman> and you can verify that the source code it gave you actually is a PHP quine
17:02:38 <mroman> but that doesn't mean that it actually IS the source code of that PHP web-page
17:02:51 <mroman> it might just be $quine=..; echo $quine;
17:03:22 <mroman> Let's call that a Level-1 pseudo-quine
17:03:30 <J_Arcane> Does implicit print break the rules of quines?
17:03:32 <myname> i do think that indeed is pretty lame
17:03:37 <J_Arcane> (such as exist anyway?=
17:03:42 <mroman> a Level-N pseudo-quine can (randomly) choose to produce any of N quines;
17:04:01 <mroman> $quines[0]=...;$quines[1]=...; echo $quines[rand(2)]; something like that
17:04:16 <myname> i mean, you go all the way to make a real quine just to write a program that prints it, but is longer than the quine itself
17:04:25 <mroman> well
17:04:51 <mroman> in a sense a pseudo-quine *generates* a quine
17:05:03 <mroman> the output of a pseudo-quine is a quine
17:05:23 <myname> i am not convinced
17:05:25 <mroman> well
17:05:27 <J_Arcane> I mean, the stereotypical Lisp "Hello World" seems to also be a quine, for the same reason: The implicit print means a bare literal is both the source and the value to be printed: "Hello world."
17:05:28 <mroman> it's a pretty lame thing
17:05:40 <mroman> It sounded cool for a second
17:05:43 <mroman> but then...
17:06:04 <newsham> http://codepad.org/SQ1i0eie
17:09:35 <mroman> a program that given an Input I finds the longest common substring of I and it's own source-code
17:10:07 <mroman> which makes it a quine when fed its own source-code
17:10:43 <mroman> that sounds a little bit less lame
17:12:45 <mroman> impressive @third order quine
17:12:52 <myname> echo $_GET['input'];
17:13:09 <mroman> well
17:13:15 <mroman> it must work for all inputs of course
17:13:53 <HackEgo> [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=41533&oldid=41507 * BCompton * (+0) /* Pascal */ Bad variable name
17:17:25 <mroman> if input were xech it has to print "ech"
17:17:28 <mroman> not "xech"
17:18:00 <mroman> !blsq "echo $_GET['input'];"su"xech"suIN
17:18:00 <blsqbot> | {"c" "e" "h" "ch" "ec" "ech"}
17:18:03 <int-e> @tell oerjan Oh this may be useful for Haskell golfing: If you ever need Data.Bits, you can import Foreign instead. (It also exports Data.Int and Data.Word)
17:18:03 <lambdabot> Consider it noted.
17:18:12 <mroman> !blsq "echo $_GET['input'];"su"xech"suIN(L[)sB
17:18:12 <blsqbot> | ERROR: Unknown command: (sB)!
17:18:12 <blsqbot> | L[
17:18:12 <blsqbot> | {"c" "e" "h" "ch" "ec" "ech"}
17:18:15 <mroman> !blsq "echo $_GET['input'];"su"xech"suIN(L[)sb
17:18:15 <blsqbot> | ERROR: Burlesque: (sb) Invalid arguments!
17:18:15 <blsqbot> | L[
17:18:15 <blsqbot> | {"c" "e" "h" "ch" "ec" "ech"}
17:18:23 <mroman> !blsq "echo $_GET['input'];"su"xech"suINL[Cmsb
17:18:23 <blsqbot> | ERROR: Burlesque: (sb) Invalid arguments!
17:18:23 <blsqbot> | ERROR: Burlesque: (.+) Invalid arguments!
17:18:23 <blsqbot> | {\/ cm}
17:18:25 <b_jonas> ohai
17:18:28 <mroman> !blsq "echo $_GET['input'];"su"xech"suIN(L[)Cmsb
17:18:28 <blsqbot> | ERROR: Burlesque: (sb) Invalid arguments!
17:18:28 <blsqbot> | ERROR: Burlesque: (.+) Invalid arguments!
17:18:28 <blsqbot> | {\/ cm}
17:18:30 <mroman> hm
17:18:32 <mroman> what the hell
17:18:35 <mroman> !blsq "echo $_GET['input'];"su"xech"suIN(L[)cmsb
17:18:36 <blsqbot> | ERROR: Burlesque: (sb) Invalid arguments!
17:18:36 <blsqbot> | 1
17:18:38 <mroman> fuu
17:18:44 <mroman> !blsq "echo $_GET['input'];"su"xech"suIN(L[)cMsb
17:18:44 <blsqbot> | ERROR: Burlesque: (sb) Invalid arguments!
17:18:44 <blsqbot> | ERROR: Unknown command: (cM)!
17:18:44 <blsqbot> | L[
17:19:00 <mroman> !blsq "echo $_GET['input'];"su"xech"suIN(L[)CMsb
17:19:00 <blsqbot> | {"c" "e" "h" "ch" "ec" "ech"}
17:19:03 <mroman> hmpf
17:19:04 <mroman> ok
17:19:09 <mroman> !blsq "echo $_GET['input'];"su"xech"suIN[-
17:19:09 <blsqbot> | {"e" "h" "ch" "ec" "ech"}
17:19:12 <mroman> !blsq "echo $_GET['input'];"su"xech"suIN[~
17:19:12 <blsqbot> | "ech"
17:19:15 <mroman> there we go
17:19:47 <b_jonas> !blsq $Tamz45=0x631927f5
17:19:47 <blsqbot> | ERROR: Unknown command: (f5)!
17:19:47 <blsqbot> | 31927
17:19:47 <blsqbot> | ERROR: Unknown command: (x6)!
17:19:52 <b_jonas> um
17:20:07 <b_jonas> what's the syntax for variable assignment these days?
17:20:11 <b_jonas> !blsq $Tamz45[0x631927f5]
17:20:12 <blsqbot> | ERROR: (line 1, column 20):
17:20:12 <blsqbot> | unexpected end of input
17:20:16 <b_jonas> !blsq 0x631927f5
17:20:16 <blsqbot> | ERROR: Unknown command: (f5)!
17:20:16 <blsqbot> | 31927
17:20:16 <blsqbot> | ERROR: Unknown command: (x6)!
17:20:22 <b_jonas> oh, it just doesn't like hex
17:20:23 <mroman> !blsq %var=9V
17:20:23 <blsqbot> | Ain't nobody got output fo' that!
17:20:25 <mroman> !blsq %var=9V
17:20:25 <blsqbot> | Ain't nobody got output fo' that!
17:20:30 <mroman> !blsq %var=9V %var?
17:20:30 <blsqbot> | Ain't nobody got output fo' that!
17:20:32 <mroman> hm
17:20:40 <mroman> !blsq %var:9V %var?
17:20:40 <blsqbot> | 9
17:20:40 <blsqbot> | ERROR: Unknown command: (r:)!
17:20:40 <blsqbot> | ERROR: Unknown command: (va)!
17:20:42 <mroman> hm
17:20:46 <mroman> i thought it was =
17:20:52 <mroman> !blsq %var=9 %var?
17:20:52 <blsqbot> | 9
17:20:53 <mroman> ah
17:20:55 <b_jonas> !blsq %Tamz45=1662593013
17:20:55 <blsqbot> | Ain't nobody got output fo' that!
17:20:56 <mroman> yeah
17:21:05 <b_jonas> !blsq %Tamz45
17:21:05 <blsqbot> | 45
17:21:05 <blsqbot> | ERROR: Unknown command: (mz)!
17:21:05 <blsqbot> | ERROR: Unknown command: (Ta)!
17:21:10 <b_jonas> um, what how do I retrieve?
17:21:13 <b_jonas> !blsq $Tamz45
17:21:13 <blsqbot> | 5
17:21:13 <blsqbot> | ERROR: Unknown command: (z4)!
17:21:13 <blsqbot> | ERROR: Unknown command: (am)!
17:21:18 <mroman> !blsq %Tamz45=166 %Tamz45?
17:21:18 <blsqbot> | 166
17:21:28 <mroman> !blsq %Tamz45=1662593013 %Tamz45?
17:21:28 <blsqbot> | 1662593013
17:21:33 <b_jonas> !blsq %Tamz45=1662593013 %Tamz45?
17:21:33 <blsqbot> | 1662593013
17:21:35 <b_jonas> !blsq %Tamz45=1662593013 %Tamz45
17:21:35 <blsqbot> | 45
17:21:35 <blsqbot> | ERROR: Unknown command: (mz)!
17:21:35 <blsqbot> | ERROR: Unknown command: (Ta)!
17:21:42 <b_jonas> huh
17:21:42 <mroman> %foo= is set, %foo? is get, %foo! is eval
17:21:53 <b_jonas> ok
17:22:01 <b_jonas> but there are shortcuts for a few variables, right?
17:22:04 <b_jonas> !blsq %Tamz45=1662593013 %Tamz45?
17:22:04 <blsqbot> | 1662593013
17:22:04 <mroman> yeah
17:22:08 <b_jonas> !blsq %Tamz45?
17:22:09 <blsqbot> | _|_
17:22:13 <mroman> !blsq 166s0g0
17:22:13 <blsqbot> | 166
17:22:23 <b_jonas> !blsq 0x631927f5
17:22:23 <blsqbot> | ERROR: Unknown command: (f5)!
17:22:23 <blsqbot> | 31927
17:22:23 <blsqbot> | ERROR: Unknown command: (x6)!
17:22:29 <b_jonas> how do I enter hexadecimal?
17:22:38 <mroman> you don't
17:22:46 <mroman> well
17:22:47 <mroman> other than
17:22:52 <mroman> !blsq "631927f5"b6
17:22:52 <blsqbot> | 1662593013
17:23:05 <b_jonas> ok
17:23:19 <b_jonas> what's the syntax for pop and store to variable?
17:23:37 <int-e> . o O ( sx )
17:23:37 <jslave> int-e: [SyntaxError] Unexpected identifier
17:23:37 <mroman> <value> <key> sv for set-var
17:23:42 <mroman> <key> gv for get-var
17:23:51 <mroman> !blsq 166 "0x166"sv "0x166"gv
17:23:51 <blsqbot> | 166
17:23:55 <mroman> !blsq 1661 "0x166"sv "0x166"gv
17:23:55 <blsqbot> | 1661
17:23:59 <int-e> oh. this will continue to happen
17:24:07 <int-e> jslave: what are you?
17:24:11 <int-e> . help
17:24:11 <jslave> int-e: invoke commands - public: -cmd(args); / private: _cmd(args) or in query just cmd(args); | $(): global scope/see all objs/cmds; $(obj): see obj-properties; console.log(txt): reply to channel/user; .fn: protected scope(never overwrite!); .fn.init() run on botstart; dump(obj): returns obj-code as string; bind("name", "code"): .fn["name"] = code - use to bind code permamently! see more: http://hagb4[..] readmore:
17:24:12 <jslave> int-e: http://cxg.de/_ed209c.htm
17:24:13 <b_jonas> mroman: no, I mean pop the _value_ from stack, not the variable name
17:24:14 <mroman> but blsqbot doesn't store the variables fore more than one query :)
17:24:28 <mroman> vv is pop
17:24:30 <mroman> !blsq 1 2vv
17:24:30 <blsqbot> | 1
17:24:33 <mroman> !blsq 1 2
17:24:33 <blsqbot> | 2
17:24:33 <blsqbot> | 1
17:25:00 <b_jonas> !blsq "631927f5"b6 %Tamz45=vv %Tamz45
17:25:00 <blsqbot> | 45
17:25:01 <blsqbot> | ERROR: Unknown command: (mz)!
17:25:01 <blsqbot> | ERROR: Unknown command: (Ta)!
17:25:03 <b_jonas> !blsq "631927f5"b6 %Tamz45=vv %Tamz45?
17:25:03 <blsqbot> | vv
17:25:03 <blsqbot> | 1662593013
17:25:05 <mroman> ah
17:25:05 <mroman> no
17:25:06 <int-e> . version
17:25:06 <jslave> int-e: [ReferenceError] version is not defined
17:25:08 <mroman> that doesn't work
17:25:09 <int-e> . about
17:25:09 <jslave> int-e: [ReferenceError] about is not defined
17:25:11 <int-e> ...
17:25:11 <jslave> int-e: [SyntaxError] Unexpected token .
17:25:22 <mroman> !blsq "631927f5"b6 "Tamz45"sv %Tamz45?
17:25:22 <int-e> argh!
17:25:22 <blsqbot> | 1662593013
17:25:27 <mroman> that's all there currently is
17:25:33 <b_jonas> int-e: takes javascript input
17:25:38 <int-e> . is an awful prefix.
17:25:38 <jslave> int-e: [SyntaxError] Unexpected identifier
17:25:42 <mroman> %foo=x is parse-time stuff
17:25:52 <b_jonas> mroman: hmm. could you add a syntax for runtime pop and store to variable?
17:26:14 <mroman> I might
17:26:17 <int-e> ^prefixes
17:26:17 <fungot> Bot prefixes: fungot ^, HackEgo `, EgoBot !, lambdabot @ or ?, thutubot +, metasepia ~, idris-bot ( , jconn ) , blsqbot !
17:26:38 <int-e> how about ; ...
17:26:53 <mroman> how about \?
17:27:12 <mroman> or &
17:27:14 <mroman> &help
17:27:36 <mroman> also "technically" blsq has the prefix !blsq*
17:27:45 <mroman> either !blsq or !blsq_uptime
17:27:47 <mroman> !blsq_uptime
17:27:48 <blsqbot> 21d 3h 22m 12s
17:27:57 <b_jonas> ] 1
17:27:58 <evalj> b_jonas: 1
17:27:58 <b_jonas> [ 2
17:27:59 <j-bot> b_jonas: 2
17:28:56 <b_jonas> . 3
17:28:56 <jslave> b_jonas: 3
17:29:06 <b_jonas> > 4
17:29:07 <mroman> Although I'm not sure when I'll touch Burlesque again
17:29:07 <lambdabot> 4
17:29:29 <mroman> I might suffer from some depressive episodes again sooner or later so I guess I'll do it then.
17:30:05 <mroman> currently doing esolang stuff has the absolute least priority of things I want to do right now ;)
17:31:10 <mroman> but you never know.
17:32:10 -!- shikhin has quit (Ping timeout: 250 seconds).
17:33:36 <mroman> I barely used the internet privately for months now
17:33:57 <mroman> and it ain't so bad :)
17:35:16 <mroman> I even managed to go to a barber.
17:35:24 <mroman> that's a huge improvement for me.
17:35:26 <b_jonas> mroman: sure, no problem, I'm just surprised you added variables but not this stuff
17:37:29 <mroman> so. gotta go home now :)
17:37:37 <b_jonas> bye
17:37:42 <b_jonas> happy winter holidays
18:02:54 <J_Arcane> wot. QBASIC had *pointers*?!
18:03:56 <fizzie> You mean with VARPTR/VARSEG and such?
18:05:26 <b_jonas> it has array indices
18:13:07 <J_Arcane> Ahh. REading some old code for alternate random functions and it kept referring to pointers, but I think they mean what b_jonas said.
18:13:13 <J_Arcane> http://www.allagri.net/pub/distrib/win/Developing/Basic%20-%20VB/Qb45/QB45/TOOLBOX/RANDOMS.BAS
18:14:57 <J_Arcane> It occurs to me that writing an RNG, at least a simple one, is probably easier in a language with laziness.
18:23:21 <elliott> > let xss@(_:xs) = 1234 : map (\x -> let x' = x `xor` (x `shiftR` 12); x'' = x' `xor` (x' `shiftL` 25); x''' = x'' `xor` (x'' `shiftR` 27) in x''') xss in map (\x -> (x :: Word64) * 2685821657736338717) xs
18:23:22 <lambdabot> [13571057368034195726,5609927630774915935,7579251470305882622,59837103641785...
18:24:00 <elliott> tbh the original C is nicer https://en.wikipedia.org/wiki/Xorshift#Variations
18:25:25 <elliott> > let xss@(_:xs) = 1234 : map (doop (-27) . doop 25 . doop (-12)) xs; doop i x = x `xor` (x `shift` i) in map (\x -> (x :: Word64) * 2685821657736338717) xs
18:25:29 <lambdabot> mueval-core: Time limit exceeded
18:25:35 <elliott> ??
18:25:43 <elliott> > let xss@(_:xs) = 1234 : map (doop (-27) . doop 25 . doop (-12)) xss; doop i x = x `xor` (x `shift` i) in map (\x -> (x :: Word64) * 2685821657736338717) xs
18:25:44 <lambdabot> [13571057368034195726,5609927630774915935,7579251470305882622,59837103641785...
18:25:49 <elliott> that's pretty nice
18:25:57 -!- mihow has quit (Quit: mihow).
18:31:02 <J_Arcane> elliott: Pretty brief too.
18:45:04 <J_Arcane> Racket does have bitshift operators somewhere.
18:45:09 <mroman> hm
18:45:17 <mroman> i'm online \o/
18:45:17 <myndzi> |
18:45:17 <myndzi> >\
18:46:00 <mroman> ultimate tethering test
18:46:50 <mroman> it'll probably suck the phone battery dry in a matter of minutes
18:47:36 <mroman> but ping is pretty good
18:56:37 -!- ais523 has joined.
19:02:51 <J_Arcane> https://github.com/fuzxxl/Xorshift
19:09:25 <elliott> tbh I do not think haskell or C has any advantage here really
19:09:35 <elliott> it's a simple mathematical function with some running state
19:10:07 <J_Arcane> Well, it's the state that's the tricky part if I want to actually write it in Heresy.
19:11:08 <elliott> > let xss@(_:xs) = 1234 : map (doop (-27) . doop 25 . doop (-12)) xss; doop i x = x `xor` (x `shift` i); rng = map (\x -> (x :: Word64) * 2685821657736338717) in (take 10 xs, take 10 (map (`div` 2685821657736338717) rng))
19:11:10 <lambdabot> Couldn't match expected type ‘[a1]’
19:11:10 <lambdabot> with actual type ‘[GHC.Word.Word64] -> [GHC.Word.Word64]’
19:11:21 <elliott> > let xss@(_:xs) = 1234 : map (doop (-27) . doop 25 . doop (-12)) xss; doop i x = x `xor` (x `shift` i); rng = map (\x -> (x :: Word64) * 2685821657736338717) xs in (take 10 xs, take 10 (map (`div` 2685821657736338717) rng))
19:11:23 <lambdabot> ([41406170598,1389699684410119595,46619205452378150570033046,156466283843221...
19:11:28 <elliott> > let xss@(_:xs) = 1234 : map (doop (-27) . doop 25 . doop (-12)) xss; doop i x = x `xor` (x `shift` i); rng = map (\x -> (x :: Word64) * 2685821657736338717) xs in (take 3 xs, take 3 (map (`div` 2685821657736338717) rng))
19:11:30 <lambdabot> ([41406170598,1389699684410119595,46619205452378150570033046],[5,2,2])
19:11:34 <elliott> oh, right, duh
19:11:52 <elliott> it would obviously be very bad if you could go from the output to the seed.
19:28:58 -!- dts|pokeball has quit (Read error: Connection reset by peer).
19:29:40 -!- dts|pokeball has joined.
19:42:36 -!- callforjudgement has joined.
19:42:38 -!- ais523 has quit (Read error: Connection reset by peer).
19:50:07 -!- scarf has joined.
19:50:13 -!- scarf has quit (Changing host).
19:50:13 -!- scarf has joined.
19:53:29 -!- callforjudgement has quit (Ping timeout: 258 seconds).
19:58:40 -!- scarf has quit.
19:58:54 -!- scarf has joined.
20:04:25 -!- scarf has quit (Remote host closed the connection).
20:04:33 -!- scarf has joined.
20:05:01 -!- Patashu has joined.
20:05:57 -!- digitalcold has quit (Remote host closed the connection).
20:06:29 -!- digitalcold has joined.
20:09:54 -!- idris-bot has quit (Quit: Terminated).
20:10:13 -!- idris-bot has joined.
20:18:43 <J_Arcane> CL's bit operators have such nicer names than Scheme and Racket ...
20:23:06 -!- scarf has changed nick to ais523.
20:26:05 -!- Patashu has quit (Ping timeout: 272 seconds).
20:37:46 -!- mihow has joined.
20:46:03 -!- `^_^v has quit (Quit: This computer has gone to sleep).
21:02:11 -!- MoALTz has joined.
21:07:27 -!- GeekDude has changed nick to GeekAfk.
21:08:01 -!- ais523 has quit (Read error: Connection reset by peer).
21:08:11 -!- ais523 has joined.
21:15:11 -!- GeekAfk has changed nick to GeekDude.
21:23:40 <J_Arcane> man, I am really an idiot sometimes.
21:24:49 <FireFly> J_Arcane: what are the bit operator names in those lisps?
21:25:39 <J_Arcane> FireFly: in CL, they're ash, logand, logxor, etc. In Racket/Scheme they're the interminably long arithmetic-shift, bitwise-and, bitwise-xor, etc.
21:25:57 <elliott> at least it's not call-with-current-continuation
21:26:34 <elliott> J_Arcane: incidentally, *log*and?
21:26:37 <elliott> shouldn't it be bitand or something
21:26:53 <J_Arcane> elliott: well, that makes a little more sense I agree. Probably what I would use.
21:27:02 <J_Arcane> but at least it's consistent and still not so verbose.
21:36:57 <J_Arcane> Hah hah. Well, it's not at all functional code, but I have managed to write an xorshift* generator in Racket now.
21:37:57 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
21:44:30 <elliott> ...how do you pronounce "xor"
21:44:30 <jslave> elliott: [SyntaxError] Unexpected token .
21:44:33 <elliott> ...
21:44:33 <jslave> elliott: [SyntaxError] Unexpected token .
21:44:36 -!- ChanServ has set channel mode: +o elliott.
21:44:42 -!- elliott has kicked jslave pick a different prefix.
21:44:42 -!- jslave has joined.
21:44:45 <elliott> ...
21:44:46 <jslave> elliott: [SyntaxError] Unexpected token .
21:45:00 <elliott> hey, I think jmaster is hagb4rd.
21:45:03 <elliott> well, whatever
21:45:10 -!- elliott has set channel mode: +b *!*jslave@*.
21:45:19 -!- elliott has kicked jslave pick a different prefix and don't rejoin when kicked.
21:45:21 -!- elliott has set channel mode: -o elliott.
21:45:49 <int-e> . o O ( It had it coming... )
21:46:10 <elliott> int-e: it especially had it coming if its owner is the ban-evader I think they are
21:46:58 <J_Arcane> Basically, I think the xorshift algo in particular is rather explicitly dependent on repeatedly mutating a state variable, because it's all about fun with fixed bitwise math. The only way I could do it was importing the "racket/unsafe/ops" library, just to have proper 'rolling over' random values. And even then I don't think it works quite right (because it's not using unsigned ints for fixnums)
21:47:12 <elliott> for reference, hagb4rd is the only person to have ever logged on from koln.*mediaWays, afaik
21:47:15 -!- fizzie has quit (Quit: Coyote finally caught me).
21:47:39 -!- fizzie has joined.
21:47:52 <elliott> also, they joined and started botting without any introduction. and act like hagb4rd.
21:48:24 <elliott> jmaster: hi, I have strong suspicions that you are a repeat ban evader; apologies if you're not but please respond to this message
21:48:26 -!- nortti has changed nick to lawspeaker.
21:48:36 -!- lawspeaker has changed nick to nortti.
21:48:56 <elliott> hagb4rd is on like the world's longest quest to ensure nobody will ever, ever think about unbanning him, ever
21:49:22 -!- nortti has changed nick to lawspeaker.
21:49:31 -!- lawspeaker has changed nick to nortti.
21:51:42 <elliott> ...
21:51:48 <elliott> you know, maybe I should have just left his entire ISP unbanned.
21:51:53 <elliott> it was only days ago I removed that, wasn't it?
21:51:56 <elliott> er, *banned.
21:53:24 -!- ChanServ has set channel mode: +o ais523.
21:53:41 -!- ais523 has kicked jmaster if we say "please say something to prove you're human", you should do that.
21:53:44 -!- ais523 has set channel mode: -o ais523.
21:53:57 <elliott> ais523: err, I'm sure they're human
21:53:59 <elliott> they talked like one
21:54:05 <J_Arcane> anyway, I need sleep. and tomorrow is bloody Christmas eve, so probably if I do anything about randoms in Heresy at all this weekend, it'll be just importing the Racket generator and being done with it.
21:54:05 <elliott> they're almost certainly hagb4rd, on the other hand, so I don't object
21:54:18 <elliott> you should maybe /msg them asking if they are, he usually admits to it
21:54:23 <elliott> btw, for those following along at home, hagb4rd was initially permabanned almost 18 months ago
21:54:32 <ais523> treating ban evaders as spambots is funny anyway
21:54:37 <elliott> thus proving that as long as you never give up, you can achieve anything
21:54:57 <ais523> it could just be autojoin?
21:55:03 <elliott> ais523: to be fair my evidence is just ISP + location (the "koln" from the mediaWays IP) + typing style + coming in and talking/botting without introduction or anything
21:55:06 <elliott> no
21:55:06 <elliott> he's used many nicks
21:55:11 <elliott> webirc to evade
21:55:11 <ais523> nicks don't change autojoin
21:55:15 <elliott> (multiple webircs)
21:55:17 <elliott> pretended to not be him
21:55:30 <elliott> the first thing he did was rot13'd his nick so we wouldn't recognise him, I think...
21:55:33 <elliott> that was literally days after being banned
21:55:43 <ais523> you have to suspect learning difficulty at that point
21:55:45 <elliott> also, he really hates me, and insults me to oerjan or something whenever I ban him again
21:55:55 <elliott> ais523: I can assure you, he knows he's banned
21:56:00 <elliott> he's tried to get me to unban him because it's "been so long"
21:56:08 <ais523> elliott: I know, but I mean, assuming that that would get around a filter
21:56:13 <elliott> without mentioning that (a) that ban was a permanent one after a last straw, and (b) he's been evading since
21:56:19 <elliott> ais523: it actually worked for a few days
21:56:24 <elliott> most people don't rot13 people's nicks...
21:56:37 <elliott> I think he got banned based on behaviour before it was realised it was rot13
21:56:52 <elliott> also, probably talking about him will encourage him? but whatever
21:56:53 <int-e> hmm. ryyvbgg
21:57:07 <int-e> would strike me as unreadable, but not familiar ;-)
21:57:26 <elliott> it was "untoneq" or something
21:57:29 <int-e> (vag-r has a problem)
21:57:40 -!- mitchs has joined.
21:57:43 <elliott> ais523: how do you feel about banning every mediaWays user from the city of koln, germany
21:57:53 -!- CrazyM4n has joined.
21:57:56 <elliott> (aka, just hagb4rd)
21:58:13 <glguy> It feels good to be able to sit back and now worry about who's who and needs banning. Go elliott !
21:58:17 <glguy> not worry*
21:58:18 <ais523> in smallish channels, broad bans are often OK because people will contact you separately if they need to join
22:02:23 -!- ZuuSanta has quit (Ping timeout: 252 seconds).
22:03:01 -!- Phantom_Hoover has joined.
22:03:02 <elliott> glguy: haha
22:03:05 <elliott> would you like ops here too?
22:03:23 <ais523> opping people who haven't been around for years normally tends to be a bad idea
22:03:32 <ais523> doesn't mean it doesn't happen anyway, but…
22:03:50 <elliott> do hostname bans apply to webchat, or just IP
22:03:55 <elliott> they made IP ones apply recently I think
22:04:03 <int-e> ais523: I think this is part of a #haskell conspiracy to take over this channel.
22:04:31 <glguy> I'd prefer to have no op responsibilities. ^_^
22:04:39 <elliott> I kind of enjoy catching repeat ban evaders
22:04:45 <elliott> with everyone else you have to wonder if you've made the right decision
22:04:51 <elliott> so it's nice when people make it unambiguous
22:05:01 <elliott> (hagb4rd: this is not an encouragement)
22:05:10 <glguy> The shiny of channel moderation wore off
22:05:39 <elliott> being vs. not being an op is like a tradeoff of "I can't make this person go away" vs. "I have to worry about making everyone who needs to go away go away"
22:06:08 <zzo38> Use a client-side filter if you don't like them, is one option.
22:06:17 <glguy> Yeah, I know all about the trade off. I still do the work in #haskell
22:06:34 <elliott> you're stronger than I am
22:07:03 -!- ChanServ has set channel mode: +o elliott.
22:07:06 <glguy> It's draining. I don't need to do more!
22:07:14 -!- elliott has set channel mode: +b *!*@koln*.pool.mediaWays.net.
22:07:17 -!- elliott has set channel mode: -o elliott.
22:07:47 <elliott> I think the more time I spend as an op the greater the portion of a channel I want to ban out of annoyance from having to be an op
22:07:52 <elliott> well, #esoteric is easy since it's so sleepy
22:08:05 <zzo38> Do you know Freenode has NOOP and NEVEROP settings? It says it prevent you from added to access lists.
22:08:58 <zzo38> (I use these settings myself too)
22:10:17 -!- Solace|zzz has joined.
22:11:24 <int-e> asm volatile ("nop; nvop" : : : "memory")
22:11:54 <elliott> is nvop like... very no operation
22:12:04 <int-e> oh, ; is bad. should use \n\t
22:16:31 -!- Zuu has joined.
22:20:18 -!- mitchs has quit (Ping timeout: 258 seconds).
22:28:56 -!- oerjan has joined.
22:34:58 <oerjan> @messages-
22:34:58 <lambdabot> int-e said 5h 16m 54s ago: Oh this may be useful for Haskell golfing: If you ever need Data.Bits, you can import Foreign instead. (It also exports Data.Int and Data.Word)
22:35:04 <oerjan> int-e: fancy
22:39:43 -!- oren has quit (Ping timeout: 272 seconds).
22:42:41 -!- callforjudgement has joined.
22:43:00 -!- ais523 has quit (Read error: Connection reset by peer).
22:48:05 -!- boily has joined.
22:50:05 <oerjan> buoily sera
22:51:04 <boily> bună serjana.
22:51:16 <boily> I'm in a bus. are you in a bus?
22:51:35 <oerjan> no, i'm in a sofa. which is not in a bus.
22:51:41 <oerjan> or wait
22:51:44 <oerjan> *on
22:52:17 <boily> prepositions shmepositions. I say “in”.
22:52:35 <oerjan> i'm still not sure
22:52:48 <oerjan> it's "i" in norwegian, anyway
22:53:23 <oerjan> i'm just trying to clarify i haven't been eaten by murder furniture
22:53:34 <oerjan> (hm time to google)
22:53:58 <boily> Scandinavian Design Murder Furniture: the new Ikea collection.
22:55:14 <glguy> You *hide* in a sofa
22:56:25 <boily> québécois verb of the day: s'effouérer. example: «j'me suis effouéré su'l'divan.»
22:56:37 <int-e> going by bus, on a bus, inside the bus.
22:56:47 <oerjan> hm am i imagining a john cleese sketch that doesn't exist in this universe
22:56:55 <boily> (s'effouérer: v.i. to adopt a post-modern horizontal un-feng-shui position.)
22:57:03 <int-e> boily: hmm, Ikea has those great names ...
22:57:54 <boily> int-e: I'm convinced Ikea names are sombre subliminal messages to mess with your consumer mind.
22:58:02 <int-e> Now I'm wondering what that murder furniture would be called
22:58:56 <int-e> To be fair, it's hard not to mess with people's minds.
22:59:04 <boily> ĀĀĀĀĀGH (it's a cabinet. a very gloomy loomy cabinet.)
22:59:24 <oerjan> int-e: HANNIBAL hth
22:59:41 <int-e> oerjan, boily: I like both
23:00:05 <oerjan> mine has the advantage of being plausible if you know swedish hth
23:01:01 <boily> mine will titillate the exotropism of naïve consumers by having an audacious concentration of ā ^^
23:01:41 <oerjan> boily: i suggest we use mine for the nordic market and yours for the us, then
23:02:00 <boily> deal.
23:03:30 <oerjan> back to trying to find the sketch. maybe it wasn't john cleese after all.
23:05:55 <oerjan> it doesn't help that i don't remember what the murder chair was called in english
23:06:12 <oerjan> and that this was back in the 80s or perhaps even 70s
23:07:19 <boily> I don't believe people who say they were alive during the 80s.
23:07:30 <oerjan> OKAY
23:07:54 <oerjan> fine, i'm trying to find a reference for my implanted fake memory of this sketch, anyhow
23:08:13 <int-e> oerjan: If it was called "executive chair" you'll never find it.
23:09:12 <oerjan> ouch
23:09:44 * boily hides the fact that he turns 26 tomorrow.
23:10:30 <int-e> boily: are you still counting years in decimal?
23:10:40 <boily> usually.
23:10:55 <oerjan> boily: i'm sorry only i am allowed to be older than oren hth
23:11:12 <boily> ah?
23:11:20 -!- Sprocklem has joined.
23:11:23 <oerjan> i think that is established now
23:11:26 <boily> @ask oren What are your approximate ages?
23:11:27 <lambdabot> Consider it noted.
23:11:38 <int-e> I don't think we have much choice in the matter.
23:12:50 <boily> choice is an illusion. war is peace. ketchup is a vegetable.
23:13:32 * oerjan gives up the search and just accepts having shifted to a different universe
23:14:20 <int-e> Ketchup, hmm. Well, there's sugar, usually made from plants, vinegar, some wood perhaps?, and most ketchup claims to contain tomatoes.
23:15:12 <oerjan> "usually"
23:15:18 <int-e> (I really don't know what cheap vinegar is made from... let me ask aunt google)
23:15:58 <oerjan> i know cheap vanilla is made from wood, but i thought vinegar was merely alcohol that had been allowed to go bad
23:16:21 <boily> wooden vanilla? I thought it was only artificial synthesis...
23:16:37 <oerjan> boily: wood is the basis for the synthesis
23:16:39 <Phantom_Hoover> oerjan, so then where do they get cheap alcohol?
23:16:46 <int-e> Interesting. "Vinegar made from beer is produced in the United Kingdom, Germany, Austria, and the Netherlands."
23:16:50 <boily> I think white vinegar is made from malt. consulting uncle wikipédia...
23:17:05 <oerjan> Phantom_Hoover: well methanol is known as wood alcohol, so if you want it so cheap that you die of it...
23:17:26 <int-e> "It is sometimes derived from petroleum." yay.
23:17:43 <Phantom_Hoover> beer vinegar is the same as malt, more or less
23:19:08 <int-e> but basically it seems to be "anything that contains alcohol and isn't too lethal by itself."
23:21:33 * oerjan didn't know there were that many types of vinegar, although it's obvious in retrospect
23:22:04 <boily> “1-Propanol is thought to be similar to ethanol in its effects on human body, but 2-4 times more potent.”
23:25:07 <oerjan> wtf there is a vanilla flavoring made from beavers
23:25:27 <int-e> are vegetarians allowed to eat that?
23:25:28 <b_jonas> oerjan: yes, from beavers' assholes or something
23:25:50 <elliott> I check IRC and all I see is "beavers' assholes"
23:25:56 <b_jonas> int-e: most probably are, just like how they're allowed to drink milk, but it depends on their individual choices
23:26:01 <elliott> boily: nice
23:26:09 <b_jonas> vegetarians come in all kinds of variants
23:26:53 <b_jonas> ohai elliott
23:27:25 <oerjan> elliott: https://en.wikipedia.org/wiki/Castoreum
23:27:26 <int-e> (Perhaps I also shouldn't ask whether they are allowed to do it; these constraints are self-induced more often than not, with some notable ( https://en.wikipedia.org/wiki/Vegetarianism_and_religion ) exceptions)
23:27:45 <elliott> int-e: probably more relevant to ask it of vegans
23:27:55 <int-e> probably.
23:28:21 <int-e> Sorry, the moment of curiosity passed.
23:28:41 <b_jonas> int-e: yes, it's not really "allowed"
23:29:51 <boily> I see dietetary constraints as a challenge: what's the tastiest stuff I can muster within a given frameset.
23:30:20 <boily> (my goto secret ingredient: hoisin sauce.)
23:30:33 <b_jonas> boily: I think the people with dietary constraints for health reasons (allergies) don't see it like that
23:31:59 <int-e> I'm sure they do pereceive it as a challenge :-/
23:32:22 <boily> it's not a constraint, it's an impediment. (to the tune of "not a bug, a feature")
23:33:11 <boily> but b_jonas has a point. I can't eat mussels. (well, I can. but then I'll be tasting the same mussel twice.)
23:34:25 <int-e> Does it extend to any other kind of sea food?
23:34:50 <b_jonas> luckily I don't have health-enforced dietary restrictions
23:35:00 <boily> no, only them. I'd be very sad if I were intolerant of any other seafoods.
23:35:27 <b_jonas> but many people do. doctors keep labelling lots of people as lactose-intolerant, it's the newest fashionable illness I think.
23:35:36 <int-e> I'd say that just mussels aren't a big loss.
23:35:52 <b_jonas> they tried it on me once too, more than a decade ago, but luckily it didn't stick.
23:37:11 <boily> int-e: to compensate, I eat the fungot out of calamaris and squids and clams and shrimps and everything else that tries to hide itself inside a shell.
23:37:11 <fungot> boily: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp
23:37:28 <boily> fungot: yes.
23:37:29 <fungot> boily: it's just so stupid that ' stty erase h' has that as their whole fnord range of the ' ' ' delete a value of type " airbus is a big fan of avril....but this song " there aren't any penguins this far inland. there's nothing to take on
23:37:44 * int-e knows of one severe case of lactose intolerance, where the result would be vomiting (rather than unspecific tiredness and perhaps the occasional stomach ache)
23:38:43 <elliott> tbh I don't even know why you'd want to eat the toes of a lack
23:38:54 <elliott> stick to its muscles (unless you're boily)
23:39:13 <boily> moar delicious innards!
23:39:18 * int-e swats elliott
23:39:23 <boily> (btw, what's a lack?)
23:39:31 <int-e> boily: absence
23:39:31 <elliott> something that has toes
23:39:47 <fizzie> ISTR Finland has a good high score in lactose intolerance.
23:40:06 <fizzie> Relatively speaking, anyway.
23:40:07 * boily mapoles elliott
23:40:16 <fizzie> There are some places where it's like 90%.
23:40:21 <elliott> wyh would a ma even have a pole. tahts too violent for a mother
23:40:31 <b_jonas> the problem is that lactose intolerance alone is something you can actually base a seemingly reasonable diet on, so people are more incilned to believe their doctor when she says their child has it; whereas gluten allergy is much harder to accomodate, so people are more likely to verify it before they try to.
23:40:46 <int-e> elliott: clearly you've never tamed 5 little brats at the same time
23:41:06 <boily> int-e: you're a mother?
23:41:11 <int-e> No :P
23:42:35 <int-e> Much to the advantage of my children I'm not a father either.
23:42:43 <b_jonas> still, I wouldn't be happy to try either
23:43:42 <glguy> int-e: You'd be a bad influence on them so it's best that you don't take on the role?
23:44:00 <boily> I believe in int-e's maternal instincts.
23:44:11 <int-e> glguy: something like that
23:51:21 -!- evalj has quit (Remote host closed the connection).
23:53:39 <oerjan> <boily> int-e: to compensate, I eat the fungot out of calamaris and squids and clams and shrimps and everything else that tries to hide itself inside a shell. <-- huh i don't even think of clams as something different than mussels...
23:53:39 <fungot> oerjan: ( c) a player
23:56:49 <boily> fungot: I'll take Random Choice Questions for 200 zorkmids.
23:56:50 <fungot> boily: or is it just me, or i: yet, you rogue! they're my friends! you are crono. why not?
23:57:16 <int-e> wow, you actually got a question out of fungot.
23:57:16 <fungot> int-e: to " print" statement should always remember the songs on p2p apps in scheme, besides, was not beyond normal credibility holidays but that is amazing. i believe, on the one hand, and caused the seal of that great people were peculiar. anteeks ett olen tyhm. tai no fnord min. c++ is plain, and :) which i not yet can see as " at least, that is expressions which have not been able, to assume responsibilities. he went on, "
23:58:09 <int-e> Perfectly on topic.
23:58:28 <oerjan> ^style
23:58:29 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot* homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
23:58:47 <int-e> (And I didn't even think of fungot when I changed the topic.)
23:58:47 <fungot> int-e: or is it just me, or i: yet, you rogue! a top secret document has been left behind? marle better than " princess,' the chosen time has come! he's strong and he's gonna thrash those monsters! yea, each player's score is set to eir bvlop
23:59:09 <boily> oerjan: well, clam is kinda ambiguous... with «palourde» even more so.
23:59:32 <boily> (surf clam sashimi is delicious!)
23:59:49 <boily> int-e: there's an understanding between fungot and me. we connect on another level.
23:59:49 <fungot> boily: or is it just me, or i: yet, you rogue! explain why haskell is a lot easier life, some feathering, and are, going a little far and its kind, but my watch it toast our land! now we'll have some peace! magus is a tad on the spooky side. our only hope.
2014-12-24
00:01:20 * int-e wonders how horrible a shakespeare style for fungot would be
00:01:20 <fungot> int-e: that is just a value of type is created containing the syntax for mark if he was really gonna ' let' me keep. i will walke my selfe, richard. then, heaven, i love thee well; and, by my friend, c
00:02:09 -!- scarf has joined.
00:02:19 -!- scarf has changed nick to ais523.
00:02:50 <fizzie> int-e: That's 'ss'.
00:03:01 <int-e> ^style ss
00:03:01 <fungot> Selected style: ss (Shakespeare's writings)
00:03:08 <int-e> fungot: sing?!
00:03:09 <fungot> int-e: enter eglamore, siluia. i to beare this away, where my hogshead of wine is, or any such proverb so little kin to the purpose?
00:03:33 <int-e> fungot, hmm
00:03:33 <fungot> int-e: rich. and shall do so: go all which way it will: if we draw lots, he fnord not me. i cut off's head, and follies doth emmew as falcon doth the fowle, is yet in keeping. what she is i' the hams?
00:03:53 <int-e> emmew?!
00:04:01 <int-e> fungot: pray tell us more
00:04:01 <fungot> int-e: alo. irreparable is the losse, i cannot take peace with: no more
00:04:13 <int-e> fungot: I said more, not less!
00:04:22 <int-e> perfect.
00:04:32 <fizzie> That was all.
00:04:40 <int-e> fungot
00:04:50 <int-e> sniff.
00:04:55 <boily> fungot: please answer sir int-e
00:04:55 <fungot> boily: por. in tearmes of friendship with thine enemies. pardon me, cobham, and the cheefe head of this most pompous fnord. the canons haue their bowels full of wrath, and sullen
00:05:14 <fizzie> Ominous.
00:05:23 <boily> Pompous fnord.
00:05:30 <int-e> Oh well, it's not the worst fungot style.
00:05:30 <fungot> int-e: third fisherman. what say you of this man. sirha, i say good queene, possest him with a stake, stood famous edward, still expecting when those dogs of france would fasten on his flesh. anon the death procuring knell begins: off go the cannons, that with some mixtures powerful o'er the blood, yet hath he in him such a minde of honor, truth, nor woman-hood in me else
00:05:41 <int-e> (sms clearly wins *that* title)
00:05:53 <int-e> ^style
00:05:53 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss* wp youtube
00:05:56 -!- callforjudgement has quit (Ping timeout: 264 seconds).
00:06:43 <int-e> "possest him with a stake"
00:06:45 <oerjan> boily: it does not help at all that the colloquial terms for members of the class Bivalvia are en:clam and no:musling
00:06:55 <fizzie> I think that depends on how you define 'worst'; technically speaking, sms works pretty well.
00:07:45 <int-e> fizzie: but it hurts my brain to read any of the results
00:07:47 <boily> oerjan: indeed. tdnhat.
00:08:01 <int-e> that did not help at t?
00:08:10 <boily> all. not t. a.
00:08:30 <boily> (I keep saying “a tall” in my head, instead of “at all”.)
00:11:47 <zzo38> ^style the_worst_style
00:11:47 <fungot> Not found.
00:12:18 <ais523> how often does fungot's fungot style get updated?
00:12:18 <fungot> ais523: demetrius. is caesar yet gone to the hedge for shade, when in the streets he meetes such golden gifts: ile to dinner, and they were left neglected on the quay for more than i'll speak of.
00:13:04 <oerjan> irc and fungot both
00:13:04 <fungot> oerjan: ros. neuer talke to me, master shallow, deepe maister shallow, that no enemy shall euer take aliue the noble brutus is ascended. silence!
00:13:14 <oerjan> (my guess: never happened)
00:13:20 <int-e> ^style oots
00:13:20 <fungot> Selected style: oots (Order Of The Stick)
00:13:36 <int-e> fungot: more?
00:13:37 <fungot> int-e: so, i know, i was, uh, as a provider, i would be as another sword arm this deadly but well-hidden booby trap, goblin friend, and she won't give the their holy power that i now fully believe that ' s, then and told me
00:15:04 <boily> fungot: update, I say!
00:15:04 <fungot> boily: " the life and saving us from the orcs and told me what needed my strength. that now. get haley and i could bring to bear three degrees and... eight.
00:20:50 -!- MoALTz_ has joined.
00:23:45 -!- MoALTz has quit (Ping timeout: 244 seconds).
00:30:09 -!- Solace|zzz has quit (Quit: Connection closed for inactivity).
00:44:35 -!- vanila has joined.
01:01:45 -!- boily has quit (Quit: ELEMENTAL CHICKEN).
01:05:24 -!- callforjudgement has joined.
01:09:25 -!- ais523 has quit (Ping timeout: 265 seconds).
01:30:55 -!- Solace|zzz has joined.
01:32:57 -!- callforjudgement has quit (Read error: Connection reset by peer).
01:33:02 -!- scarf has joined.
01:33:53 -!- G33kDude has joined.
01:34:23 -!- nys has quit (Ping timeout: 240 seconds).
01:37:03 -!- GeekDude has quit (Ping timeout: 272 seconds).
01:38:07 -!- G33kDude has quit (Read error: Connection reset by peer).
01:39:52 -!- dianne has quit (Ping timeout: 256 seconds).
01:40:06 -!- GeekDude has joined.
01:40:13 -!- GeekDude has quit (Changing host).
01:40:14 -!- GeekDude has joined.
01:41:47 -!- dianne has joined.
01:42:48 -!- nys has joined.
01:43:43 <zzo38> Do you have a Christmas tree with birds?
01:45:25 -!- mihow has quit (Quit: mihow).
01:47:55 -!- tswett__ has joined.
01:48:31 -!- mihow has joined.
01:50:32 -!- tswett__ has quit (Client Quit).
01:51:57 -!- mihow has quit (Client Quit).
02:05:27 -!- oren has joined.
02:05:41 <oren> elliott: ever since i learned pinyin i pronounce "xor" as 'shor' hthyh
02:05:52 <elliott> xor's algorithm
02:06:03 -!- arjanb has quit (Quit: zzz).
02:11:40 <oren> aldo in pinyin x normally only appears in cluster "xi"
02:14:18 <oren> or u, like xue "snow" for example
02:17:33 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
02:19:32 -!- nys has quit (Ping timeout: 250 seconds).
02:19:54 -!- nys has joined.
02:20:49 <oerjan> xure thing
02:31:00 <Melvar> I pronounce it /ksoɹ/ or so.
02:31:04 <oren> it also helps for pronouncing "words" like "x11"->'sheleven', "xinit"->'shinit' "xfce"->'shifke'
02:31:41 <oren> "xargs"->'shargs'
02:31:58 <Melvar> That’s easy enough to do if you pronounce it /ks/, unless you don’t speak a language that allows that cluster initially.
02:32:24 <oren> yeah i dunno, not many languages allow that...
02:32:48 <Melvar> German and Greek do.
02:34:57 -!- tswett has joined.
02:34:59 <tswett> Ahoy.
02:35:02 <tswett> So.
02:35:36 <tswett> Intuitively, one would expect that, given any statement in number theory (which is to say, a statement where quantifiers range over the integers), the statement is either provable or non-provable.
02:35:58 <tswett> After all, any given thing is either a valid proof or not a valid proof, right?
02:36:38 <tswett> Except that proofs inevitably rely on axioms.
02:37:39 <Jafet> Is your intuition really that for any bunch of weird symbols, there is another bunch of weird symbols that satisfies one of two complicated relations
02:37:40 <tswett> Some axioms are obviously "true", such as, say, all the axioms of first-order Peano arithmetic.
02:37:58 <tswett> Jafet: not really.
02:38:17 <tswett> Heck, leave off the quotation marks. All the axioms of first-order Peano arithmetic are certainly true.
02:38:20 <oren> "xcalc" i think /kskalk/ would be a lot more brutal than /ʃkalk/
02:38:38 <zzo38> They are true by definition.
02:38:41 <tswett> And then some axioms are "not obviously true", such as the axiom of choice.
02:38:58 <tswett> zzo38: depends on your definition of the integers, I'd say.
02:39:02 <Jafet> The axioms of Peano arithmetic are true in Peano arithmetic
02:39:16 <tswett> If you define them via the axioms of FOPA, then yeah, the axioms of FOPA are obviously true.
02:39:31 <zzo38> The exception if it is inconsistent in which case, everything is valid and it is not proper mathematicals.
02:40:21 <Melvar> oren: Most of the X Window System things I actually pronounce using the name of the letter, /ɛks/.
02:40:29 <vanila> look up godel theory
02:40:53 <Melvar> xargs on the other hand is /ksaɹgz/.
02:41:26 <vanila> just because something is true doens't meant you can prove it
02:41:51 <zzo38> Yes, I know Godel's theory
02:41:52 <oren> vanila: depends on your epistemology
02:42:05 <vanila> zzo38, i wasnt meaning you
02:42:17 <tswett> vanila: right.
02:42:19 <Jafet> tswett: then you cannot have such an intuition about Peano arithmetic either, because you can Gödel-encode any bunch of weird symbols into it
02:42:54 <vanila> oren, re. epistemology take the true natural numbers to start with
02:43:52 <tswett> So what I'm trying to figure out is whether or not there exists some sort of "standard theory of number theory", such that our intuitive notion of provabilty in number theory coincides with provability in STNT.
02:46:27 <Taneb> Jet lag
02:48:18 <quintopia> ?
02:48:40 <Taneb> That was meant to have a :( after it
02:48:49 <Taneb> I just woke up at quarter to three in the morning
02:48:54 <quintopia> i was ? the fact that i had been pinged
02:49:16 <oren> how much state does a finite-state matchine have to have to be useful
02:49:31 <Jafet> What is our intuitive notion of provability?
02:49:33 <vanila> oren, you can recognize binary strings in 2 states
02:49:48 <vanila> hm you could do it in 1 state actually
02:50:01 <vanila> you can recognize (charset)* in one state X
02:50:06 <vanila> with arcs X -> X for each char
02:50:17 <Taneb> quintopia, unless you get pinged by "jet lag" I have no idea
02:50:37 -!- tswett has quit (Ping timeout: 240 seconds).
02:50:49 <elliott> zero states is enough to sit there uselessly
02:50:55 <quintopia> my log window is filled with reconnection attempts and lastlog revealed no clue
02:51:14 <Jafet> I'm a zero-state machine
02:51:16 <oren> isn't intuition more the province of psychology ?
02:51:23 <Taneb> elliott, doesn't a FSA need an initial state?
02:51:49 <J_Arcane> hahahahahahaha cant sleep because wife snores but at least i know how to do my random genrator now
02:52:06 <Taneb> @time J_Arcane
02:52:07 <lambdabot> Local time for J_Arcane is Wednesday, December 24, 2014 4:52:11 AM
02:52:17 <Taneb> J_Arcane, you're in a better position than me
02:52:32 <Taneb> I can't sleep because jet lag, and I'm two hours behind you
02:52:45 <Taneb> And I have no idea how to do your RNG
02:52:54 -!- tswett has joined.
02:52:54 <oren> so for example, suppose i made a language for programming arbitrary FSA's with exactly N bits of state. would 8 bits be useful?
02:53:33 <vanila> no
02:53:48 <vanila> someone might need 9bits
02:54:00 <J_Arcane> Taneb: Racket has continuation-based generators.
02:54:10 <Taneb> Woo
02:54:15 <vanila> hey J_Arcane good work on the BASIC LISP
02:54:18 <J_Arcane> I was too tired to figure out how to use them last night.
02:54:42 <J_Arcane> But I think I can make RANDOMIZE return or define a local generator RND to act as the random number generator.
02:55:08 <J_Arcane> It's not the strictest purity, but at least it's not full of ugly set! statements.
02:55:43 <quintopia> given that experiments have shown that therea are no hidden quantum states, could a true quantum computer be considered a stateless machine?
02:59:27 <zzo38> What does "hidden quantum states" mean and how does an experiment show there aren't any?
02:59:57 <Jafet> If you consider a classical computer stateless, yes
03:00:59 <vanila> isn't a quantum computer just a quantum version of a normal computer
03:01:18 <vanila> like you have the same state - but instead of 1,0 you have compelx linear combinations
03:02:17 -!- tswett has quit (Ping timeout: 240 seconds).
03:10:50 -!- tswett has joined.
03:13:24 -!- tswett has quit (Client Quit).
03:21:03 <oerjan> vanila: there's a lot in that "just". for one thing, it's reversible so you cannot simply delete/overwrite state
03:21:49 <vanila> thats really interesting and important and I wonder how I never really caught onto that before
03:24:01 <J_Arcane> Sweet. I have an xorshift* generator.
03:24:11 <oerjan> and whether you keep a copy of temporary state around can affect the final observed result in the _other_ bits.
03:24:36 <J_Arcane> Now to make some syntax decisions.
03:24:53 <oerjan> (because it prevents different computation paths with the same final result but different temporary state from interfering)
03:27:46 -!- scarf has changed nick to ais523.
03:28:32 <quintopia> anyone want a hat for christmas. i will send you a hat or two.
03:29:21 * oerjan looks at Gregor
03:30:03 <zzo38> quintopia: What color of hats?
03:30:04 <quintopia> gregor is too stylish for outlandish party hats and baseball caps
03:30:15 <oerjan> ah
03:30:43 <quintopia> zzo38: they are mostly dark-coloured. blue and black. there's some yellow and white. some are woven from straw.
03:31:03 <quintopia> these ones are woven from straw and garlanded with silk flowers
03:31:14 <quintopia> (100% genuine polyester silk)
03:31:51 <oerjan> from genuine japanes polyester silk worms
03:31:54 <oerjan> *+e
03:32:27 <vanila> IDEA: Brainfuck + goto
03:32:30 <vanila> should be very easy to program in
03:32:42 <quintopia> brainfuck already has goto
03:32:48 <quintopia> it's called [ and ]
03:33:00 <vanila> lol
03:33:16 <Jafet> What if you removed [ and ] and added goto
03:33:16 <quintopia> vanila: would you like an embroidered baseball cap from the albuquerque balloon festival
03:33:19 <oren> those are strictly nesting, gotos arent
03:33:20 <Jafet> Would it still be turing complete???
03:33:31 <quintopia> only if it were computed goto
03:33:36 <oerjan> Jafet: um no branching?
03:33:36 <vanila> thats ok, thanks though!
03:33:51 <vanila> ooh computed goto
03:33:55 <vanila> I like that!
03:34:19 <vanila> that is both conditional and jump in one go
03:34:25 <vanila> I mean this is like subleq isnt it?
03:34:27 <quintopia> OREN: YOU CAN NONETHELESS USE THEM LIKE GOTOS sorry caps lock accidental press
03:34:48 <quintopia> IDEA: brainfuck - brainfuck
03:34:49 <oerjan> goto and comefrom are so mundane these days. we need govia
03:35:26 <quintopia> it's just like brainfuck except that all the brainfuck commands are replaced with other unrelated ones
03:35:50 <oerjan> or passthrough
03:36:34 <quintopia> oerjan: or pass-go-collect-$200
03:36:39 <oerjan> it's like goto and comefrom except you have no idea _when_ you're going to pass through the label - it may already have happened, or may happen in the future
03:36:45 <vanila> how about this
03:36:50 <vanila> + - < > *
03:36:56 <vanila> same as brainfuck except * is computed goto
03:37:26 <zzo38> CLC-INTERCAL even has computed NEXT FROM
03:37:27 <Jafet> journeythither
03:37:28 <vanila> thats TC isnti t?
03:37:43 <ais523> zzo38: so does C-INTERCAL
03:38:06 <oerjan> quintopia: what about garfield minus brainfuck wth
03:38:10 <vanila> lol
03:38:43 <quintopia> oerjan: i was already thinking about square root of minus brainfuck
03:38:55 <oerjan> good, good
03:39:02 <oerjan> quintopia: sounds quantum
03:39:28 <zzo38> Other idea, make a esoteric programming language involving astronomy and astrology, somehow. (I don't know how.)
03:40:09 -!- Solace|zzz has quit (Quit: Connection closed for inactivity).
03:40:13 <zzo38> And, the other other idea, is make a esoteric programming language that is allow to make types subtraction and division by types, rather than only addition and multiplications.
03:40:45 <vanila> oh wow that sounds mad!
03:41:11 <zzo38> (I don't know how to do that either.)
03:41:16 <Jafet> Subtypes and quotient types
03:41:27 <Jafet> You could try to invent remainder types
03:41:34 <elliott> there was a paper about doing that
03:41:36 <elliott> it was very esoteric
03:41:43 <elliott> edwardk said it was nonsense or something :p
03:41:47 <zzo38> There is? I didn't see any such papers.
03:42:09 <copumpkin> you mean amr sabry's one?
03:42:49 <elliott> I can try and find it, I guess.
03:43:14 <elliott> copumpkin: uhh, maybe.
03:43:15 <elliott> link?
03:43:29 <elliott> it involved time travel or something
03:43:34 <elliott> it was kind of ridiculous
03:44:18 <vanila> hey copumpkin
03:44:21 <copumpkin> http://www.cs.indiana.edu/~sabry/papers/rational.pdf
03:44:23 <copumpkin> hi vanila
03:44:32 <vanila> joyal species is the thing i think
03:44:36 <elliott> yes
03:44:37 <elliott> it is this type
03:44:39 <elliott> er, *this paper
03:44:54 <elliott> read it if you like having fun, breaking rules, and showing it to the man
03:45:04 <elliott> I skate on the road and I divide my types
03:45:06 <copumpkin> misandry!
03:45:09 <vanila> anything by Amr Sabry is going to be gold
03:48:21 <elliott> reading that paper basically felt like being trolled really effectively
03:48:34 <elliott> like, this is obviously total nonsense. but it does kinda work.
03:49:23 <elliott> it involves reversible stuff so vanila will love it
03:50:21 <oerjan> <oren> but can an abrtriay txet be srcewd up and rbleessad? <-- *rbleeessmad hth
03:50:22 <vanila> ill start at the end
03:50:27 <elliott> haha
03:51:19 <shachaf> oerjan: u rbleeessmad?
03:51:25 <shachaf> hi copumpkin
03:51:38 <shachaf> did you read that thing
03:51:45 <shachaf> would the world be an overall better place if i stopped asking about it
03:51:50 <elliott> webcomics have trained me to be pretty good at following narratives backwards
03:51:57 <elliott> not sure it'd work for papers
03:51:57 <oerjan> shachaf: not ralley
03:52:36 <oerjan> elliott: you do the catchups starting from the end?
03:52:56 <oerjan> (i only do that for smbc which doesnt really have narrative)
03:53:10 <vanila> when i see a webcomic I go to the start
03:53:15 <vanila> and usually its not so good soi dont read it more
03:53:30 <elliott> oerjan: I see a random webcomic and start going backwards
03:53:35 <elliott> but yeah sometimes I do catchups from the end
03:53:50 <shachaf> whoa, i always thought "catsup" was a british but apparently it's american??
03:53:52 <elliott> it works better with comics that don't have continuity. backwards dinosaur comics is just dinosaur comics
03:53:52 <oerjan> vanila: that's a little stupid if it's improved a lot...
03:53:57 <vanila> yes
03:54:11 <elliott> vanila's strategy sounds good because you don't have to remember a lot of webcomics to follow
03:54:24 <oerjan> tru dat
03:55:17 <Taneb> shachaf, I don't actually know what catsup is
03:55:35 <shachaf> Taneb: a bizarre spelling of ketchup hth
03:55:39 <oerjan> it's a chinese fish sauce hth
03:56:03 <oerjan> ketsjup
03:56:27 <Taneb> Well, I don't apply condiments often, so neither of those definitions make me inclined to apply catsup
03:56:42 <shachaf> ketszjup is a polish condiment that goes well with gazspacho
03:57:00 <shachaf> oops, gaszpacho
03:57:19 <vanila> I think hte only webcomics ive read fom start to finish are XKCD and ozzy and millie
03:57:43 <oerjan> vanila: xkcd hasn't finished hth
03:57:53 <vanila> there was only about 100 when i read it
03:58:59 <shachaf> oerjan: https://twitter.com/mikko/status/506433143822630912 hth
03:59:14 -!- CrazyM4n has quit (Quit: so that's how you do quit messages).
03:59:38 <vanila> what webcomic would i like to read?
04:00:38 <Taneb> vanila,
04:00:58 <Taneb> I was going to something than I get distracted by a thingy
04:01:51 <oerjan> shachaf: that comment about the hover text is something. also i wonder what the question was.
04:02:12 <oerjan> i think Taneb may be easily distracted
04:02:30 <Taneb> oerjan, the outside is scary
04:02:32 <shachaf> oerjan: which comment and what question twh
04:02:35 <elliott> vanila: http://supermegacomics.com/
04:02:44 <elliott> (rip)
04:02:44 <vanila> I love that one!!!!!!!!!!!!!
04:02:46 <vanila> Omg I read it all
04:02:51 <vanila> htat's the 3rd ive read
04:02:51 <oerjan> shachaf: from your link hth
04:03:05 <shachaf> oerjan: oh from twitter replies
04:04:22 <shachaf> oerjan: i was hoping for a reply involving more hyphen-minuses and octothorpes hth
04:05:30 <oerjan> oh. i didn't notice that.
04:07:53 <copumpkin> shachaf: hi! no! and no!
04:08:06 <Taneb> I wonder if there's any stew left
04:08:07 <vanila> copumpkin, do you have a blog
04:08:17 <copumpkin> nope :(
04:08:23 <Taneb> copumpkin, is there any stew left?
04:08:25 <vanila> what is up
04:08:33 <oerjan> copumpkin: wat
04:08:35 <copumpkin> I'm doing some duolingo and waiting for my nix build to complete
04:08:37 <vanila> whats been happening
04:08:44 <shachaf> copumpkin: which lingo
04:08:44 <copumpkin> Taneb: not that I know of
04:08:51 <oerjan> how can there be anyone other than me who doesn't have a blog
04:08:54 <copumpkin> shachaf: brushing up on some old french
04:09:02 <vanila> oerjan, You can start a blag.txt
04:09:03 <Taneb> oerjan, I only have like half a blog
04:09:05 <copumpkin> oerjan: sorry! I'll try to get one
04:09:22 <Taneb> Although it says at the top "Taneb's blog"
04:09:31 <oerjan> vanila: you seem to have misunderstood my question hth
04:09:36 <vanila> http://mumble.net/~campbell/blag.txt
04:09:45 <copumpkin> oh I know him
04:09:54 <shachaf> Taneb: is it http://nclk620tab.blogspot.com/
04:10:09 <Taneb> shachaf, yes
04:10:11 <shachaf> Riastradh is great
04:10:16 <vanila> oerjan, I can help you set it up just make a text file hth
04:10:29 <Taneb> shachaf, isn't that the capital of Saudi Arabia?
04:10:40 <copumpkin> lol
04:10:43 <copumpkin> not quite
04:12:31 <vanila> haha he wrote aobut decompression quines
04:12:33 <vanila> cool
04:12:42 <vanila> oerjan, looking forward to reading it!
04:14:14 <oerjan> Taneb: i'm going to assume that's not actually your blog because that way i don't have to kill you for your font and text color choices hth
04:14:26 <Taneb> It is definitely not my blog
04:15:03 <oerjan> good, good
04:15:17 <Taneb> oerjan, do you reckon there is any stew left?
04:16:21 <oerjan> i cannot answer that because i cannot find the pun hth
04:17:01 <Taneb> There is no pun to my knowledge
04:17:12 <Taneb> But we had stew here last night but I went to bed early due to jet lag
04:17:13 <shachaf> oerjan: the pun is in the oy of the beholder hth
04:17:24 <Taneb> Now it's like quarter past 4 in the morning and I am hungry
04:17:37 <Taneb> But I am also undressed and upstairs
04:17:51 <Taneb> So I don't want to go to get stew if it's gonna turn out there is no stew
04:18:13 <shachaf> what if there's a salad
04:18:20 <shachaf> you only need to be as dressed as the salad hth
04:18:20 <oerjan> oy vey
04:19:06 <elliott> fizzie: https://esolangs.org// this is a bit weird
04:19:17 <elliott> the redirect should probably be ^/*$ in the nginx config or such
04:19:38 <shachaf> oerjan: i was amused by the finnish for "oh no" hth
04:21:08 <oerjan> elliott: this won't break /// ?
04:21:12 <elliott> no
04:21:40 <oerjan> oh hm /wiki/
04:22:10 <oerjan> shachaf: oy key
04:25:35 -!- nys has quit (Quit: quit).
04:47:01 -!- Solace|zzz has joined.
04:47:24 <J_Arcane> ugh. i just want to fucking sleep
04:53:18 <Solace|zzz> Bless your frail heart
04:53:27 <Solace|zzz> Go to sleep J_Arcane
04:53:41 <J_Arcane> my wife snores.
04:53:45 <J_Arcane> enough to wake the dead.
04:54:19 <J_Arcane> and because I have an ear infaction probably caused by wearing them in the first place, i'm not able to wear my ear plugs.
04:54:51 <Solace|zzz> Sleep on the couch
04:55:00 <Solace|zzz> Snoring is bad though also
04:55:04 <Solace|zzz> Wake her up
04:55:17 <Solace|zzz> She could stop breathing ;-;
04:55:41 <vanila> :C
04:57:37 <oren> put on headphones and play white noise
05:00:33 <oren> cat /dev/urandom | aplay
05:01:05 <oren> turn volume just high enough to block out other sounds
05:03:05 <J_Arcane> I need to get to the shops anyway before they close for Christmas eve.
05:03:07 <elliott> I don't think waking up chronic snorers constantly is a good course of action :p
05:03:26 <J_Arcane> I'd never get any sleep. I snore too.
05:05:57 <Solace|zzz> Those scientist who calculated what white smell is
05:06:08 <Solace|zzz> Just math no machine does it though
05:06:19 -!- Solace|zzz has changed nick to Solace.
05:10:10 <oren> png compressed images sound almost, but not quite, like white noise
05:11:56 <oren> whereas executables sound like a dialup modem
05:14:36 <Solace> Oh god
05:14:42 <Solace> Dialup modems
05:37:06 <HackEgo> [wiki] [[Deadfish]] http://esolangs.org/w/index.php?diff=41534&oldid=41533 * Oerjan * (+0) /* Pascal */ Missed one
05:38:27 <vanila> lol oren thats so weird
05:38:34 <vanila> you can hear the difference in files..
05:38:37 <vanila> can you tell apart a jpg and a png?
05:38:45 <oren> haven't tried
05:38:47 <vanila> what about XML vs lisp
05:40:25 <oren> yknow i have a screwed up synthesizer language... i oughta loom thru my old files more often
05:41:20 -!- Sprocklem has quit (Ping timeout: 264 seconds).
05:41:22 -!- MoALTz has joined.
05:41:34 <oerjan> a good compression _should_ sound like white noise, surely
05:41:57 <vanila> ideally!
05:42:01 <vanila> and encryption
05:42:51 -!- GeekDude has quit (Ping timeout: 244 seconds).
05:44:06 -!- MoALTz_ has quit (Ping timeout: 256 seconds).
05:45:07 <HackEgo> [wiki] [[Ante]] http://esolangs.org/w/index.php?diff=41535&oldid=40778 * 76.247.183.16 * (+100) New interpreters and URLs
05:51:36 -!- MDude has changed nick to MDream.
05:51:47 <Solace> Whats your favourite food?
05:52:03 <Solace> XML vs lisp?
05:52:14 <Solace> Lisp probably would win
05:52:23 <Solace> Depending on whos battling who?
05:52:33 <Taneb> Solace, my favourite food is the singapore noodles recipe we have here, but I am currently in the mood for stew
05:52:53 <Taneb> XML vs lisp is like comparing Denmark to geometry
05:53:01 <Taneb> They are different sorts of things
05:53:20 <oerjan> Taneb: http://www.irregularwebcomic.net/961.html
05:53:45 <Taneb> oerjan, I will go downtairs soon to see if there is any stew
05:54:03 <Taneb> If there is I will microwave-heat it then take a photo to show you guys then eat it
05:54:15 <Taneb> My mum made it so it probably has actual meat (beef, apparently)
05:57:31 <newsham> xml encoded json
05:58:58 <lifthrasiir> newsham: http://www-01.ibm.com/support/knowledgecenter/SS9H2Y_6.0.0/com.ibm.dp.xi.doc/json_jsonx.html
05:59:01 <Solace> How about a turkish game hen wrapped in a seasoned wrap of fine picked herbs with some cherry drizzle wrapped around the sides?
05:59:16 <Taneb> I think I prefer singapore noodles
05:59:24 <Taneb> Although I once had this really nice kangaroo steak
05:59:59 <Solace> Amaze
06:00:01 <quintopia> i also
06:00:07 <quintopia> at bondi beach
06:00:17 <quintopia> had raspberry glaze or something
06:00:18 <quintopia> mmmmm
06:00:32 <oerjan> i never had kangaroo but i mentioned i've had ostrich
06:00:52 <vanila> that joke was o stretch
06:00:53 -!- dts|pokeball has quit (Ping timeout: 240 seconds).
06:00:56 <Taneb> quintopia, this was in a restaurant in Melbourne, a few years ago
06:01:02 <Taneb> It had quite a gamey taste
06:01:07 <Taneb> Reminded me of partridge
06:01:11 <oerjan> vanila: what joke it's a simple fact hth
06:01:14 <Taneb> Another thing which I have eaten precisely once
06:01:50 <vanila> that helped thanks
06:01:57 <Solace> Kangaroo is tough for me
06:02:02 <Solace> Shant eat again
06:02:09 <Solace> I like softer meats and the like
06:02:11 <Taneb> Solace, that sounds like it was poorly cooked
06:02:18 <oerjan> Taneb: did you also get the accompanying pear tree twh
06:02:26 <Taneb> oerjan, I don't know, it was in a pie
06:02:32 <oerjan> ah
06:02:33 <Solace> Probably
06:02:47 <Solace> The resturaunt looked trashy tbh
06:02:58 <Taneb> I once had a really poorly cooked steak, but that was beef and I cooked it myself
06:03:22 <Solace> Amaze
06:03:37 <Solace> So xml parsing
06:03:52 <Solace> Isnt that a horrifying subject for kids nowadays
06:04:09 <Solace> I had to learn xml in my class last year
06:04:44 <vanila> XML parsing is easy isnt it?
06:04:51 <oerjan> i thought the point of xml parsing was that you used a readymade parser for it
06:04:57 <vanila> it's just <open> </open>
06:05:16 <vanila> or is XML some ridiculously complex thing with a million exceptional cases
06:05:23 <elliott> yes
06:05:26 <elliott> well it's not that complex
06:05:37 <elliott> but it's complex enough that the annoyance in parsing and emitting it is the nibbly bits
06:05:46 <elliott> emitting is the bigger problem I think
06:05:53 <elliott> since it is easy to fuck up and produce invalid output
06:05:58 <lifthrasiir> vanila: also <![CDATA[]]>
06:06:01 <lifthrasiir> also <open />
06:06:13 <elliott> also if you implement doctypes
06:06:18 <lifthrasiir> also <가나다 라마바="asdf"></가나다>
06:06:18 <elliott> then it's hideously, ridiculously complex
06:06:23 <oerjan> <open> </close>
06:06:30 <vanila> damn
06:06:31 <lifthrasiir> also <!DOCTYPE ... [ ... ]>
06:06:39 <vanila> it keeps happening
06:06:43 <elliott> https://en.wikipedia.org/wiki/Billion_laughs XML!
06:06:50 <lifthrasiir> also a CFG-inspired language for defining the schema
06:07:01 <lifthrasiir> only to be replaced via another XML-based schema language
06:07:02 <vanila> ive decided that XML is bad
06:07:12 <lifthrasiir> also %entity; and &entity;
06:07:15 <vanila> oh my god
06:07:17 <vanila> thre's more and more
06:07:32 <elliott> I think people hate doctypes these days though
06:07:33 <lifthrasiir> also <?processing instruction ?> (okay, this is the least concern)
06:07:36 <elliott> so it's okay to just ignore them
06:07:47 <lifthrasiir> but if you want to hear about XSLT...
06:08:27 -!- adu has joined.
06:08:39 <elliott> XSLT is a functional language, it must be good
06:09:23 <adu> elliott: are you for srsly?
06:09:32 <elliott> no :p
06:09:46 <elliott> but I suspect XSLT would be significantly less unbearable if its syntax wasn't XML
06:09:51 <adu> I would classify XSLT as a declarative language
06:10:06 <elliott> I'm pretty sure it's even intended to be a purely functional language
06:10:15 <elliott> instead of being accidentally that way like C++ templates
06:10:38 <adu> hmm, I wonder what AWK is classified as...
06:10:51 <adu> "data-driven" according to wp
06:11:49 <Solace> How to keep the last doughnut
06:11:52 <Solace> Hold the doughnut aloft And announce "This is the last doughnut, Does anyone wish to split this with me" Then proceed to touch as many sides of the doughnut as possible
06:11:54 <adu> XSLT is classified as "declarative" according to wp
06:12:03 <vanila> We extend Pi our reversible programming language of type isomorphisms
06:12:09 <vanila> is this an esolang?
06:12:19 <elliott> yes :p
06:12:28 <vanila> Dagger Traced Symmetric Monoidal Categories and Reversible Programming
06:12:32 <elliott> any sufficiently useless type theory paper is an esolang
06:12:55 <vanila> We develop a reversible programming language from elemen-
06:12:55 <vanila> tary mathematical and categorical foundations.
06:13:08 <Solace> XML was made to make kids hate code
06:13:09 <Solace> Imo
06:13:25 <vanila> An implementation of the language along
06:13:25 <vanila> with several programming examples are available for download from
06:13:25 <vanila> http:
06:13:25 <vanila> /www.cs.indiana.edu/
06:13:25 <vanila> ~
06:13:26 <vanila> sabry/papers/reversible.tar.gz
06:13:28 <oerjan> plausible
06:13:43 <vanila> www.cs.indiana.edu/~sabry/papers/reversible.tar.gz
06:14:21 <Solace> Omfg why is called a billion laughs
06:14:27 <Solace> Why am i laughing
06:14:34 <Solace> Make it end
06:14:51 * oerjan hits Solace with the saucepan ===\__/
06:15:36 <Solace> Thanks
06:15:43 <Solace> But the name
06:15:45 <oerjan> you're welcome
06:15:53 <vanila> its funny :)
06:15:56 <Solace> A billion laughs is a dos attack
06:16:04 <oerjan> Solace: it's explained...
06:16:09 <Solace> I know
06:16:13 <adu> dos attack?
06:16:20 <lifthrasiir> denial of service
06:16:23 <Solace> But its so funny to me
06:16:33 <adu> what name?
06:16:41 <Solace> A billion laughs
06:16:50 <adu> is that a name?
06:16:51 <Solace> XML bomb
06:17:00 <vanila> Solace, A billion laughs
06:17:01 <Solace> Give him the link
06:17:12 <vanila> How about this
06:17:20 <vanila> A billion Symmetric Monoidal Categories
06:17:26 <Solace> When i discover funny things in xml i kinda cry
06:17:56 <Solace> Cuz i had to use it to pass an MIT class in sophtmore year
06:18:16 <Solace> I should've used it on them ;-;
06:18:24 <adu> vanila: do you have any documentation?
06:18:46 <vanila> you need to see my driving liscnece?
06:18:52 <adu> no
06:19:04 <adu> like about Pi
06:19:06 <vanila> http://www.cs.indiana.edu/~sabry/papers/cat-rev.pdf
06:19:34 <adu> thanks :)
06:21:55 <vanila> omg this is beautiful
06:22:10 <vanila> all those arrows
06:25:31 <Solace> I always read buffer overflow as butter overflow
06:25:35 <Solace> Im silly
06:29:50 <elliott> deriving license
06:29:56 <elliott> also known as degree
06:29:59 <elliott> *as a degree
06:30:35 <Solace> Deriving?
06:30:41 <Solace> Or driving
06:31:06 <elliott> deriving
06:31:40 <oren> so apparently i made an esolang at least a few years ago, which is for composing music
06:32:05 <oren> by some miracle the code still works
06:35:22 <oren> at the time i thought that this what a perfectly readable syntax: http://pastebin.com/qBCPGLyy
06:35:58 <oren> s/what/was
06:35:58 <vanila> that looks very songlike!
06:36:26 <Solace> Its amazing
06:37:00 <oren> http://www.speedyshare.com/hRBMt/temp.min <-- play with aplay -fS16_LE -r20000 temp.min
06:37:26 <oren> thatis what comes out of the crawling horror of a compiler that i wrote
06:37:33 <vanila> haha
06:37:58 <oren> seriously play it, it is music.
06:38:42 <vanila> Pi^o is really hard to understand
06:38:43 <oren> the compiler is made of a mix of shell, C and perl.
06:39:22 <vanila> "all expressible computations are reversible." wow
06:39:53 -!- Patashu has joined.
06:43:54 -!- Patashu has quit (Disconnected by services).
06:43:54 -!- Patashu_ has joined.
06:44:54 <Solace> Snatches head phones from brother
06:57:08 -!- ais523 has quit (Read error: Connection reset by peer).
06:57:20 -!- ais523 has joined.
06:57:54 <zzo38> Do you have the documentation of that music program?
07:01:01 -!- drdanmaku has quit (Quit: -).
07:02:14 <oren> There was none. here is the source code, an ode to the ire of pitiless gods: https://gist.github.com/orenwatson/95550bb34b4c8cc2e155
07:02:49 <vanila> This is awesome!
07:03:33 <oren> basically you do ./acfplayer.sh foo.acf to comile and play a music
07:04:52 <oren> i think this is porbably from my freshamn year
07:06:48 <oren> ok so essentially, i think i figured out how it works
07:06:50 <zzo38> There are also several MML compilers for composing music though, and there is also Csound.
07:07:59 <oren> it uses sscanf... wait WTF!?!?
07:08:13 <lifthrasiir> scanf is a fine parsing tool
07:08:16 <oren> "sscanf(line,"%lf %lf %lf %lf %lf %d %lf %lf &lf""
07:08:30 <lifthrasiir> provided that you actually check the return value
07:08:41 <oren> "&lf"... "&lf" god damn it it still works despite that
07:08:42 <lifthrasiir> oren: wait, &lf?
07:08:45 <lifthrasiir> lol
07:09:13 <lifthrasiir> oren: ah, no it would work
07:09:26 <lifthrasiir> oren: it has eight %s and eight arguments
07:10:03 <oren> oh why the hell, past me, what the hell wre you thinking
07:10:58 <oren> see it is a rolling horror
07:11:08 <lifthrasiir> the trailing ` &lf` will be consumed if there is
07:11:18 <lifthrasiir> but does not affect any output (including the return value, afaik)
07:11:39 <lifthrasiir> I guess scanf(" "); can be used to skip whitespaces
07:13:48 <zzo38> Yes, why is there "&lf" in there, it contain many things aren't so good in this program, such as it require four files; it also just doesn't seems to do much even important things compared with most other software.
07:15:20 <oren> zzo38: i told you it is a rolling horror...
07:15:39 -!- shikhin has joined.
07:15:39 <oren> i forgot entirely about it until i found it today
07:16:38 <zzo38> Well, next time you can use a MML compiler if you want to, it will work better. (Such as, using ppMCK can make up a .NSF music.)
07:17:00 <oerjan> l'horreur qui chante
07:18:15 -!- ais523 has quit (Ping timeout: 252 seconds).
07:18:36 <Solace> So smart l - l
07:19:49 <oren> Actaully the final language after going thru all steps is similar to MML. consider: 2+2, the 2 indicates a 1/2 note, the +2 indicated two semitones above the base tone for the track
07:21:18 <oren> N1 2+0 2+2 2+6 2+2 2 2+6 2+2 2+0
07:21:29 <oerjan> (inspired by vaguely remembering https://en.wikipedia.org/wiki/L%27Homme_qui_marche_I)
07:21:32 <oren> that is 4 bars of music
07:21:49 <oren> so the 2 without a pitch is a rest of course
07:22:19 <zzo38> OK, I can see that
07:22:34 <oren> to me numbering the semitones made for sense than the inconsistent letter system
07:25:49 <oren> oh no i'm reading it wrong. 0 is a whole rest, 1 is a 1/2 rest 2 is a 1/4 rest and so one
07:26:26 <oren> this line: $length=60.0/$tempo/(2.0**$1);
07:26:32 <zzo38> This is one file for ppMCK http://2a03.free.fr/dl.php?file=4228 It uses a few commands that I have added in to the program myself such as * ? ' commands.
07:28:13 <zzo38> Document of ppMCK: http://vgmrips.net/wiki/PpMCK
07:29:37 <zzo38> The "n" command can still be used to specify number of semitone like you have
07:34:42 <oren> hmm, no named macros?
07:35:40 <zzo38> That is correct; you can only use numbers (or, for text macros, you can use any single character to identify it).
07:36:06 <zzo38> For example I defined text macro *+ for major chords and *- for minor chords; but, it is possible to define them however you want.
07:37:35 <oren> that's kind of primitive. even my rolling horror has macros with names
07:38:19 <zzo38> Yes, although I have never needed macros with names.
07:38:35 <oren> then again the macros.pl could be usedwith almost any language
07:42:02 <oren> that is the advantage of making something as several separate modules. you can reuse them for a different purpose
07:44:10 <zzo38> Yes, it can help with many things, if you can use pipes and such.
07:44:31 <zzo38> So if you want you could use a preprocessor with ppMCK and other MML compilers too.
07:49:40 -!- adu has quit (Quit: adu).
08:04:50 <mroman> good morning
08:07:04 <oren> 早安, mroman
08:10:01 <oren> it's 3 am, barely morning
08:19:54 <elliott> it's 8 am, late night
08:27:05 -!- Patashu_ has quit (Remote host closed the connection).
08:27:15 -!- Patashu has joined.
08:40:08 <mroman> well
08:40:14 <mroman> you're in the wrong time-zone then!!!
08:40:39 <lifthrasiir> 5:40 pm
08:40:50 <lifthrasiir> it's a good day to work and I'm not working now
08:42:01 <J_Arcane> 10:41 here, but I finished this at around 5am: https://github.com/jarcane/heresy/blob/494bc39cb0c77f0fdba4e3cbd12e382cf1a3027d/private/random.rkt
08:42:56 <oerjan> lifthrasiir: working, on 5:40 pm christmas eve? silly koreans.
08:43:16 <lifthrasiir> oerjan: and I'm on the vacation next week
08:43:38 <oerjan> OKAY
08:49:12 <J_Arcane> dammit. This is what I get for using tab instead of spaces. The indentation on the y-combinator factorial example in Heresy's docs is broken.
08:57:42 <J_Arcane> http://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server/RequestProcessorFactoryFactory.html
09:08:05 <J_Arcane> https://plus.google.com/+JeanBaptisteQueru/posts/9oHHUMpwYhG
09:14:20 <Vorpal> oerjan, God jul
09:14:46 <Vorpal> Or do you say something else in Norway?
09:15:12 <oerjan> exactly the same words
09:15:18 <oerjan> God jul
09:15:25 <Vorpal> Same spelling too? Nice
09:15:44 <fizzie> Hyvää joulua from the country who's not in the language club.
09:15:56 <fizzie> I guess "joulua" is from the same roots.
09:16:25 <fizzie> (Partitive form of "joulu".)
09:17:01 <fizzie> As for "hyvä"... "From Proto-Finnic *hüvä, from Proto-Uralic *šeŋä. Cognates include Estonian hea and Veps hüvä and Sami savvit or Erzyan чив (čiv). Possibly of Indo-Iranian origin."
09:17:08 <shachaf> imo why wouldn't jul be in july
09:17:58 <Vorpal> shachaf, well it is jul as in the (old?) English yule.
09:18:14 <Vorpal> I think it has a different origin than July (juli in Swedish)
09:18:17 <shachaf> yule forgive me for not making the connection
09:18:40 <oerjan> Vorpal: july is from julius caesar
09:18:54 <fizzie> And Yule is "either cognate with[1][2][3] or from[4][5] Old Norse jól".
09:18:56 -!- roasted42 has joined.
09:19:22 <Vorpal> shachaf, but every summer some company tend to make some ad with Father Christmas in it just to try to be funny. Probably funny the first time, but not any longer.
09:20:16 <Vorpal> oerjan, makes sense
09:21:17 <Vorpal> oerjan, Speaking of Caesar and months, wasn't it he who screwed up the calendar so that December is no longer the 10th month as the name would imply? Same goes for September and forwards even
09:21:46 <oerjan> Vorpal: iirc that screwing up was done before his reform
09:21:52 <Vorpal> Ah
09:22:14 <oerjan> someone linked a nice overview here, let me see if i can find it again
09:24:51 <oren> メリークリスマス
09:26:18 <oren> the japanese were not creative
09:27:51 <Vorpal> Is lambdabot broken? It told me I had one new message in /msg, but when I asked it for it, I didn't get anything
09:28:05 <oerjan> gah too many sites i cannot recognize which it was
09:28:43 <lifthrasiir> 明けましておめでとうございます
09:28:54 <oerjan> grmble google doesn't seem to have crawled that date
09:29:00 <oerjan> Vorpal: ask int-e
09:29:21 <Vorpal> lifthrasiir, which language is that?
09:30:18 <Vorpal> oerjan, strange, I can't do a double-whois on int-e to get his/her idle time. Maybe pending netsplit is the cause of both of these issues?
09:30:30 <oerjan> > 2+2
09:30:30 <lambdabot> 4
09:30:43 <Vorpal> Wow that is some lag, lambdabot just answered
09:30:44 <oerjan> @messages?
09:30:44 <lambdabot> Sorry, no messages today.
09:30:49 <Vorpal> like 5 seconds ago
09:30:59 <oerjan> he's recently changed the saving mechanism, to help against data not being saved properly
09:31:27 <Vorpal> <lambdabot> oerjan said 25d 57m 24s ago: <Vorpal> Is there a way to say to cabal "fix mixed versions"? I.e rebuild any packages depending on different versions of a package so that everything just works, and I don't get weird errors. <-- apart from the sandbox thing, i vaguely think that if you install all the packages as _one_ cabal install command it will
09:31:28 <Vorpal> Hm
09:31:56 <Vorpal> Okay, thanks for the tip, sadly I installed haskell-platform using my package manager. So that will be fun to deal with...
09:33:18 <Vorpal> oerjan, yeah there seems to be some major lag issues atm
09:34:38 <lifthrasiir> Vorpal: Japanese, "happy new year"
09:34:38 <lifthrasiir> akemashite omedeto gozaimasu
09:35:45 <oerjan> but that used to lose messages and resend old ones, not forget things one moment to the next
09:35:45 <oerjan> Vorpal: um from my point of view lambdabot answered immediately.
09:35:46 -!- roasted42 has quit (Changing host).
09:35:46 -!- roasted42 has joined.
09:35:46 -!- roasted42 has changed nick to TheM4ch1n3.
09:35:46 <oerjan> Vorpal: hm that sounds like the old problem
09:35:46 <oerjan> unless you actually haven't spoken since then
09:35:47 <oerjan> all tests so far imply it's you who are lagged relative to me, lambdabot and int-e
09:35:47 <oerjan> actually irssi refuses to ping lambdabot
09:35:47 <oerjan> @do hi
09:35:47 <lambdabot> hi
09:35:47 <TheM4ch1n3> lo
09:35:47 <oerjan> Vorpal: if you are responding to pings, you are horribly lagged because you haven't responded yet :P
09:36:07 <oerjan> there it arrived
09:36:24 <oerjan> 10:34 CTCP PING reply from int-e: 0.284 seconds
09:36:24 <oerjan> 10:35 CTCP PING reply from Vorpal: 267.534 seconds
09:37:05 <Vorpal> oerjan, I'm not lagged relative the server I'm connecting to according to znc
09:37:15 <Vorpal> oerjan, but yes I'm lagged relative some other persons
09:37:55 <Vorpal> oerjan, anyway it seems to be lag bursts, sometimes lambdabot pings directly, sometimes it doesn't
09:39:36 <oerjan> Vorpal: changing server often helps
09:39:49 -!- TheM4ch1n3 has quit (Ping timeout: 265 seconds).
09:40:09 -!- Solace has quit (Quit: Connection closed for inactivity).
10:01:48 -!- oren has quit (Ping timeout: 258 seconds).
10:42:17 -!- MoALTz has quit (Quit: Leaving).
11:01:33 <J_Arcane> hmm. I think my math is all wrong.
11:04:17 -!- shikhin has quit (Ping timeout: 258 seconds).
11:07:12 <J_Arcane> Converting my 64-bit integer down into a fraction that can then fulfill the expected usecase of int(rnd * n) + 1
11:10:08 <oerjan> the quick and dirty method is to use modulo n
11:10:24 <oerjan> it will not be entirely uniform if n isn't a power of 2, though.
11:11:23 <oerjan> and will be very skewed if n is close to 64 bits large
11:12:05 <J_Arcane> The algo I'm using does in fact spit out a 64-bit number.
11:12:40 <oerjan> i'm not talking about the number spit out, i'm talking about the n in your int(rnd * n) + 1
11:14:18 <oerjan> hm...
11:14:50 <oerjan> i guess there's also a problem if lower bits are less random than higher
11:15:53 <oerjan> hm
11:16:15 <oerjan> from the other end, divide 2^64 by n
11:16:41 <oerjan> then divide your spit out number by the result of that.
11:17:07 <oerjan> rounding down in both cases, i think.
11:17:37 <oerjan> if the result is n, pick a new number and retry.
11:19:56 <oerjan> third method, look up how this is actually supposed to be done.
11:20:13 * oerjan helpful
11:21:19 <J_Arcane> Yes.
11:21:24 <J_Arcane> This is probably a smart option.
11:21:33 <Jafet> That's the hardest method though
11:21:50 <oerjan> ain't it always
11:22:17 <oerjan> especially if the people giving stupid answers give a lot of google hits :P
11:23:05 <J_Arcane> It seems there's trickier math involved in getting a fraction that will be in a range such that (* (rnd) 6) actually spits out something between 0 and 5.
11:25:48 <oerjan> oh hm wait that's easy enough
11:26:21 <oerjan> x * 6 `div` (2^64)
11:26:39 <oerjan> that will be somewhat skewed though
11:27:31 <J_Arcane> Very skewed: that's basically the first thing I tried.
11:27:34 <oerjan> by which i mean, not all numbers 0..5 equally "likely"
11:28:09 <oerjan> for a non-skewed version, you _have_ to throw away some cases.
11:28:16 <oerjan> (see my second option above)
11:28:54 <oerjan> it shouldn't be _very_ skewed mind you - some of the numbers will have 1 more 64-bit number giving them than the others.
11:31:33 <oerjan> different way of doing the second method: let y = 2^64 - (2^64 % 6). throw away every number >= y (at most 5), for the rest do x * 6 `div` y
11:32:03 <oerjan> mixing C and haskell is so useful
11:32:44 <J_Arcane> well, see, I'm trying to implement (rnd) itself, according to the BASIC spec, ie. a random number between 0 and 1. I won't necessarily know n, so I can't write that factor into the implementation easily (unless I divert from spec and just add an argument to RND)
11:33:20 <J_Arcane> But at the moment, it consistently produces numbers which are far too small to use for that use case.
11:33:44 <oerjan> well rnd = x / (2^64) is basically the way to go if your spit-out numbers are 64-bits...
11:34:20 <int-e> oerjan: what...
11:34:40 <oerjan> int-e: what what?
11:34:51 <Jafet> Or 2^64-1
11:35:29 <oerjan> you want to include 1 as a possibility? ok but that'll complicate choosing integers again later
11:35:36 <int-e> oerjan: wondering about the ping. and what do you mean by "irssi refuses to ping lambdabot"? I don't see why it would do that; it's just that lambdabot won't reply :P
11:36:04 <J_Arcane> Which is what I've been trying to do, and getting weird results.
11:36:26 <oerjan> int-e: when i do /ping lambdabot irssi doesn't say that it sent any ctcp
11:36:43 <oerjan> unlike for the rest of you
11:37:02 <oerjan> oh hm
11:37:07 -!- Phantom_Hoover has joined.
11:37:13 <oerjan> int-e: i'm stupid
11:37:19 <J_Arcane> For example, given the numbers I'm getting over (2^64), doing (for/list ([x (in-range 100)]) (add1 (truncate (* (rnd) 6)))) gives me a list composed almost entirely of 1s and 2s.
11:37:22 <oerjan> forgot i have a lambdabot query window
11:37:32 <int-e> heh
11:37:36 <J_Arcane> correction: entirely 1s and 2s.
11:37:39 <oerjan> and for some reason those messages don't mark the window as active
11:38:23 <oerjan> int-e: i was pinging you because Vorpal said you were unwhoisable
11:38:41 <Jafet> Perhaps you should try debugging that program
11:39:52 <int-e> oerjan: I figured it out. It's just that I saw the ping completely out of context. My active channel was #ghc...
11:41:11 <int-e> oerjan: (Which has not seen any activity in the last two hours, just some people joining and leaving. So it looked like a recent thing until I looked at the time stamp.)
11:44:18 <oerjan> Jafet: that would seem to imply that your fractions are between 1/6 and 1/3 the size they should be...
11:44:25 <oerjan> oops
11:44:32 <oerjan> J_Arcane: ^
11:44:38 <J_Arcane> oerjan: Well, ditching the float technique and doing result % n does indeed give a 0 to n range it looks like. But visibly irregular results.
11:45:10 <J_Arcane> (and very weighted to the bottom)
11:45:20 <oerjan> the result % n thing might be too sensitive to patterns in the formula
11:45:33 <oerjan> modulo n
11:47:03 <oerjan> in the "low bits", vaguely speaking
11:48:56 <J_Arcane> Maybe I should just accept I don't know what I'm doing and fall back to Racket's built-ins. XD
11:49:19 <oerjan> shocking
11:50:12 <J_Arcane> I can *easily* rewrite the code in place without breaking the semantics.
11:50:28 <J_Arcane> And it's all git-versioned so if I want to come back to it the code's around somewhere ...
11:55:08 <int-e> oerjan: Oh http://golf.shinh.org/p.rb?One+Point is a bit frustrating. First I took ages to figure out what sequence that is... and now I have 74 characters for Haskell where henkma has 70...
11:56:17 <int-e> And I still don't know whether "One Point" is supposed to be a hint.
12:00:08 * oerjan checked oeis
12:01:18 <oerjan> https://oeis.org/A030303
12:02:00 <oerjan> it's the points where there are ones...
12:03:41 <int-e> ah. why did OEIS fail me...
12:04:11 <oerjan> i dunno, did you use spaces instead of commas?
12:04:34 <int-e> because ... yeah that.
12:08:45 <J_Arcane> This is not quite the only channel I watch that's not dead, but it's pretty close.
12:17:34 <int-e> oerjan: (one of the annoying little details is that the bits are only collected up to 254. 255 instead would help me...)
12:18:12 <oerjan> heh
12:18:57 -!- Patashu has quit (Ping timeout: 240 seconds).
12:23:24 <int-e> interesting... dc makes 0^-1 = 0.
12:23:31 <int-e> (wtf)
12:26:24 <J_Arcane> blargh. wtf doesn't racket's make-random-generator take a seed argument?
12:29:26 <int-e> because you can use random-seed followed by current-pseudo-random-generator?
12:29:45 <int-e> but more likely nobody really thought about this.
12:31:00 <fizzie> `run echo '0^(-1)' | bc
12:31:00 <HackEgo> Runtime error (func=(main), adr=4): divide by zero
12:31:20 <int-e> J_Arcane: and there's the vector->pseudo-random-generator thing.
12:31:57 <fizzie> `run echo '0 _1 ^ p' | dc
12:31:57 <HackEgo> 0
12:32:05 <J_Arcane> I suppose as long as the current-generator parameter obeys scope it's OK ish.
12:32:08 <int-e> in other news I think that racket looks a bit like scheme ;-)
12:34:28 <J_Arcane> Well, it did start out as a Scheme, and it's mostly still one at heart. IT was just a matter of them not wanting to be bound by the standard or expectations anymore.
12:35:14 <int-e> J_Arcane: Actually I'd sort of expect there to be potential races with other threads. Actually it's even unclear whether random-seed makes a new RNG or just replaces the state...
12:36:03 <int-e> (mutable data is so annoying.)
12:36:18 <J_Arcane> int-e: Indeed it is.
12:37:08 -!- oerjan has quit (Quit: leaving).
12:37:30 <fizzie> That's curious, because GNU dc is built on bc. (dc ^ is using the same bc_raise as bc ^.)
12:39:42 <J_Arcane> int-e: Also annoying is that the value range for the seed is 32-bits, but the timer is 64-bits. So it actually uses some internal derivation when seeding from (current-milliseconds) that I thus have to account for somehow, and that means I may have to rewrite my spec anyway ... :/
12:41:11 <int-e> (with-current-time 12345678901234578 (random-seed))
12:42:21 <int-e> once you have mutable data, time travel looks almost sane :P
12:45:08 <J_Arcane> I had defined a syntax for a BASIC-style "timer" var, but since (curr-ms) is 64-bits, you can't actually use it with randomize. I will have to derive some formula that turns any 64-bit number into a 32-bit that's valid for a seed.
12:46:52 <int-e> (lambda (x) 42)
12:47:25 <J_Arcane> :D
12:48:39 <J_Arcane> I suppose I could just bitmask the first half of the number ...
12:55:40 * int-e sees #include "schmach.h" and goes looking for "schande.h"
12:55:57 <J_Arcane> Yes, that works. Just bit-shift off 32 digits and bam, 32-bit number. :D
12:56:06 * J_Arcane is not a hacker, just a hack ...
12:57:16 <int-e> J_Arcane: you know, the lower bits will vary much faster than the upper bits. You could even take the number modulo 2^32-5 or so.
12:58:02 <J_Arcane> Hmm. I didn't think about doing it with modulo.
12:58:14 <J_Arcane> I just did (arithmetic-shift seed -32).
12:58:30 <J_Arcane> But your way makes more sense.
13:01:52 <int-e> ah, better make that modulo 2^31-1: if (scheme_get_int_val(o, &i)) { if (i > 2147483647) i = -1; }
13:05:10 <J_Arcane> Good point. I did: (modulo seed (sub1 (expt 2 31)))
13:17:34 <int-e> anyway, random-seed will destroy the current RNG state, and current-prng obviously can't make a copy.
13:21:49 <J_Arcane> Next: I must figure out which racket function works best for basic's int().
13:22:34 <J_Arcane> int-e: This is what I did: https://github.com/jarcane/heresy/blob/master/private/random.rkt
13:28:14 <int-e> J_Arcane: I'm not sure whether I can read this. Does rnd re-seed every time its called?
13:28:33 <J_Arcane> int-e: No, or at least, it shouldn't if I've understood generators correctly.
13:29:52 <J_Arcane> Generators are continuations. IIUC, the computation should remain inside loop after first run. So it just keeps taking new numbers from the current PNRG.
13:31:13 <int-e> pseudo-number random generator, hmm
13:31:19 <J_Arcane> XD
13:31:48 <J_Arcane> brain is tired. weeks of insomnia and sleep problems and also trying to emergency thaw a ham.
13:31:50 <int-e> Anyway, all I'm saying is you're on your own there; I don't know Racket.
13:32:02 <J_Arcane> :D No worries.
13:55:50 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
14:13:42 -!- S1 has joined.
14:21:30 -!- shikhin has joined.
14:29:53 -!- vanila has quit (Ping timeout: 240 seconds).
14:33:05 -!- boily has joined.
14:35:08 <Taneb> Good afternoon
14:39:19 <int-e> `` dc <<<125P
14:39:20 <HackEgo> ​}
14:39:30 <int-e> `` dc <<<122P
14:39:30 <HackEgo> z
14:50:03 -!- tswett has joined.
14:54:17 -!- tswett has quit (Ping timeout: 240 seconds).
14:55:42 -!- coppro has quit (Ping timeout: 245 seconds).
15:02:33 -!- vanila has joined.
15:26:42 <int-e> `` dc <<<[1xp]x
15:26:42 <HackEgo> No output.
15:26:57 <int-e> `` dc <<<1xp
15:26:58 <HackEgo> 1
15:27:27 <int-e> `` dc <<<[[1x]xp]x
15:27:28 <HackEgo> 1
15:29:08 <int-e> (Of course, if one were to believe the documentation, 1x should have the same effect as just 1: push 1 on the stack. It does not mention that x on a number exits one level of macro execution.)
15:32:23 -!- GeekDude has joined.
15:43:18 -!- coppro has joined.
15:48:47 -!- scoofy has joined.
15:55:11 -!- tswett has joined.
15:55:16 <tswett> Ahoy.
15:55:39 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
15:55:51 <tswett> Is there a largest ordinal number A such that the set of all ordinal numbers below A has computable arithmetic?
16:02:03 <tromp_> what operations do you require in arithmetic?
16:03:19 <Jafet> The answer may strongly depend on what representation you use for computation
16:06:54 <tromp_> if A is a limit ordinal, then you can just add it, along with A*0=0,A+0=A*1=A, anything else with A is out of range
16:07:17 -!- tswett has quit (Ping timeout: 240 seconds).
16:07:52 <tromp_> and it seems that ordinals below A cannot be combined to get to A
16:08:33 <tromp_> wait, that's not true
16:09:02 <tromp_> e.g. A=2*w = w+w
16:09:43 <tromp_> or is that w*2 ?
16:10:28 <int-e> it's w*2
16:12:53 <tromp_> ok, so 2*w=w
16:19:50 <Jafet> `? tswett
16:19:51 <HackEgo> tswett is livin' it up with the penguins
16:23:42 <nyuszika7h> ooh, dc
16:24:19 <nyuszika7h> int-e, yeah, I noticed strange behavior with doing x on a number too
16:24:25 <int-e> https://en.wikipedia.org/wiki/Recursive_ordinal , hmm. Unfortunately, deciding the well-order is not sufficient for arithmetic, or is it?
16:28:35 <Jafet> https://en.wikipedia.org/wiki/Kleene%27s_O
16:28:55 <Jafet> Apparently arithmetic is computable but equality is not??
16:28:56 <int-e> Oh weait. w_1^CK is just a supremum. Of course there is a supremum for the ordinals with computable arithmetic as well. All I'm really looking for is a proof that this supremum itself does not have computable arithmetic.
16:30:44 <int-e> Hmmmm.
16:32:43 <int-e> Oh it's just data Ord = Zero | Succ Ord | Lim (Nat -> Ord), where the Nat -> Ord function is computable.
16:35:05 <int-e> So right, if you forgo equality tests then that will work.
16:36:24 -!- arjanb has joined.
16:36:55 -!- Phantom_Hoover has joined.
16:39:00 -!- silverstream has joined.
16:42:18 -!- MDream has changed nick to MDude.
16:58:11 -!- drdanmaku has joined.
16:59:10 -!- S1 has quit (Quit: S1).
17:20:04 <J_Arcane> Damn you people, there's too many fun languages to learn!
17:31:46 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
17:34:35 -!- shikhin_ has joined.
17:35:26 -!- dts|pokeball has joined.
17:37:23 -!- shikhin has quit (Ping timeout: 240 seconds).
17:49:23 -!- roasted42 has joined.
17:54:29 -!- roasted42 has quit (Remote host closed the connection).
17:58:36 -!- oren has joined.
17:59:13 <oren> my power is back on
17:59:14 -!- boily has quit (Quit: COMESTIBLE CHICKEN).
18:01:55 -!- roasted42 has joined.
18:04:20 <oren> when i was a kid it used to snow on christmas eve. what is this "freezing rain", "sleet" crap?
18:04:41 <vanila> yeah seriously, who is evn in charge anymore?
18:05:24 <int-e> oil companies
18:05:29 <oren> apparently not santa claus
18:06:09 -!- roasted42 has quit (Ping timeout: 252 seconds).
18:09:05 <zzo38> Santa Claus is dead by now.
18:10:09 <scoofy> at least, your heating bills are low
18:10:41 <oren> we are using a wood stove this morning cause the hydro was out
18:11:14 <oren> (in Ontario the electric power is refered to as "the hydro")
18:12:28 <scoofy> do you heat with electricity?
18:13:41 <oren> i am at my grandparents' house. they have electric and wood. my house in toronto has gas everything
18:15:27 <oren> gas stoves are way easier to cook on than electric
18:18:44 -!- dts|pokeball has quit (Read error: Connection reset by peer).
18:19:26 -!- dts|pokeball has joined.
18:19:40 <elliott> `addquote <oren> when i was a kid it used to snow on christmas eve. what is this "freezing rain", "sleet" crap? <vanila> yeah seriously, who is evn in charge anymore? <oren> apparently not santa claus <zzo38> Santa Claus is dead by now.
18:19:44 <HackEgo> 1227) <oren> when i was a kid it used to snow on christmas eve. what is this "freezing rain", "sleet" crap? <vanila> yeah seriously, who is evn in charge anymore? <oren> apparently not santa claus <zzo38> Santa Claus is dead by now.
18:20:00 <elliott> santa ist tot
18:20:03 -!- nys has joined.
18:22:28 <int-e> I thought that was Nietzsche.
18:23:04 <vanila> oh no, Nietzsche is alive and well
18:23:15 <scoofy> just met him recently, he's definitely doing fine
18:23:49 <elliott> nietzsche is the new santa
18:26:25 -!- roasted42 has joined.
18:26:54 <silverstream> he's fine when with his mother
18:30:52 -!- roasted42 has quit (Ping timeout: 240 seconds).
18:36:33 <zzo38> Nietzsche is dead too.
18:39:08 -!- shikhin_ has changed nick to shikhin.
18:40:57 -!- roasted42 has joined.
18:41:49 <silverstream> you have googled this!
18:43:14 <zzo38> No I have not
18:43:45 <zzo38> I looked it up in Wikipedia
18:44:04 <silverstream> hipster
18:45:07 <elliott> hi silverstream! how did you find this channel?
18:45:17 -!- roasted42 has quit (Ping timeout: 240 seconds).
18:45:51 <silverstream> /list
18:46:31 <elliott> `relcome silverstream
18:46:32 <HackEgo> silverstream: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
18:46:33 <silverstream> but while you asK: i'm looking for a channel with database pros.. any suggestions?
18:46:37 <silverstream> thank you
18:46:52 <silverstream> likw database theory in general
18:47:21 <vanila> #sql
18:48:49 <zzo38> What database implementation are you using specifically? There are many such as SQLite and MySQL and others.
18:49:00 <zzo38> (And a few which aren't based on SQL.)
18:49:04 <silverstream> that's undecided yet
18:49:21 <silverstream> i'm playing with the thoughts to use nosql.. actually
18:49:52 <silverstream> i would like to know what architecture to use for a fast tag engine
18:51:23 <silverstream> haaaving "element" as the basic object from which everything else derives.. while elements can be tagged
18:52:14 <vanila> what's nosql exactly?
18:52:53 <silverstream> they key value revolution ..pushed by google..memcache..mongo etc.. google
18:53:13 <silverstream> it's fast and ..scalable
18:53:34 <int-e> the fun part being that the nosql databases tend to acquire query languages over time.
18:57:42 <zzo38> I suppose it also depend what you are making, what help the most.
18:57:48 <zzo38> I happen to like SQLite.
18:58:48 <int-e> sqlite is somehow the opposite of the nosql databases.
18:59:26 <zzo38> SQLite does not have stored procedures, although I do not believe stored procedures are useful. It does allow triggers on views though, and I find that a very useful feature. SQLite also supports recursive WITH, and virtual tables, extension loading, and a few other things which are pretty useful really.
18:59:35 <int-e> local, often exclusive access to a (often small) database vs. shared, distributed, huge databases.
19:01:35 <int-e> sqlite has a fairly powerful query language, while nosql started out with simple key -> value lookups.
19:02:03 <int-e> also sqlite is not a buzzword, nosql is.
19:02:38 <zzo38> Yes, they can help for different purposes.
19:03:29 <silverstream> how is sqlite a buzzword? it's a valid solution in some cases
19:03:48 <int-e> silverstream: "not"
19:04:31 <silverstream> cu ..and thanks
19:04:33 -!- silverstream has left.
19:04:37 -!- ChanServ has set channel mode: +o elliott.
19:04:41 -!- elliott has set channel mode: +b $a:silverstream.
19:04:46 -!- elliott has set channel mode: -b *!*@koln*.pool.mediaWays.net.
19:04:47 <int-e> that was weird.
19:04:54 <elliott> let's leave his ISP unbanned so it's easier to tell next time
19:04:55 -!- elliott has set channel mode: -o elliott.
19:05:08 <elliott> (I talked to him in /msg.)
19:05:51 <int-e> I admire your persistence.
19:06:06 <elliott> thankfully his typing style is so distinctive and he tends to talk about the same random off-topic things right after joining
19:06:17 <elliott> int-e: I admire his :P
19:06:37 <elliott> it's like the world's most boring game of cat and mouse -_-
19:06:46 <int-e> Even in my most active times as #math (now ##math) op I never bothered to identify ban evaders before they actually misbehaved again.
19:07:52 <elliott> well, I don't want to encourage people who have been banned for repeatedly being horrible jerks to people to get their one free asshole card every time they switch to a new name :/
19:07:56 <zzo38> SQLite is a full programming language and you do not need to deal with file formats since SQLite will do those things automatically for you; so you can extend a table by using ALTER TABLE and add triggers by using CREATE TRIGGER and change the indexing and still the file format is the same format and you don't need to worry about it.
19:08:08 <elliott> if I recall correctly he even ban evaded the first time he got a _temporary_ ban for that
19:08:31 -!- roasted42 has joined.
19:08:50 <int-e> elliott: but holding grudges takes so much energy.
19:09:15 <elliott> meh, it's like an exciting rivalry
19:09:26 <elliott> except it's just my boredom vs. a really persistent jerk
19:09:43 <int-e> Oh it's a hobby, why didn't you say so.
19:09:50 <elliott> ehe
19:10:01 <oren> My favorite database format is the flat binary file.
19:10:23 <elliott> well, it's more like I tend to be pretty good at recognising typing styles and the like, so once someone talks a bit my brain usually fires off the signal and it's easier to deal with it than ignore it :/
19:10:25 <scoofy> mine is the rounded. that is better than the flat.
19:11:06 <int-e> /dev/null is nice and round.
19:11:24 <elliott> (maybe if he didn't ban evade immediately after getting permabanned he'd actually get a second chance, but it's pretty clear by now he just wants to keep trying so he can continue the behaviour he got banned for...)
19:11:40 <elliott> (well... more like fourth or fifth chance, he got kicked/banned a bit before it actually became permanent.)
19:11:43 <zzo38> oren: If you do not need it to be extensible or user programmable then a flat binary file will work
19:13:07 -!- roasted42 has quit (Remote host closed the connection).
19:13:24 <oren> zzo38: and i maintain that that is true in most applications
19:13:45 <zzo38> Maybe.
19:14:25 <oren> but i find people using XML or SQL or CSV all the time when a flat serialization would work fine
19:15:35 <zzo38> Even for text I prefer tab-separated-values rather than comma-separated values.
19:16:00 <oren> in CSV the C stands for "character"
19:16:44 <elliott> it does...?
19:16:48 <elliott> are you sure it isn't comma
19:16:48 <oren> it does
19:16:59 <elliott> https://en.wikipedia.org/wiki/Comma-separated_values says comma
19:17:17 <J_Arcane> My Christmas eve dinner: http://imgur.com/gallery/XRzUX/new
19:17:48 <int-e> hehe. what is golf? http://golf.shinh.org/reveal.rb?Base+37/hebiyan_1418620884&hs
19:18:44 <elliott> J_Arcane: what's the finnish equivalent of lutefisk or surströmming?
19:19:03 <elliott> int-e: they left out the spaces before the import lists, it's all good
19:19:05 <J_Arcane> elliott: They do have lutefisk here.
19:19:11 <elliott> also the type signatures
19:19:25 <J_Arcane> lipeäkala.
19:20:15 <J_Arcane> We declined that option (it's more of a Norwegian/Swedish thing) and instead snacked on gravlax for late lunch while the food cooked.
19:20:17 -!- roasted42 has joined.
19:21:24 <zzo38> Also, if SQL is used it allow to deal with it externally using SQLite command-line program and also you do not need to define another embedded scripting language to deal with the data since SQL already does so.
19:22:28 -!- singingboyo has quit (Ping timeout: 255 seconds).
19:34:40 -!- roasted42 has quit (Remote host closed the connection).
19:48:14 -!- Lorenzo64 has joined.
20:04:51 -!- mitchs has joined.
20:10:14 -!- roasted42 has joined.
20:22:39 -!- roasted42 has quit (Ping timeout: 265 seconds).
20:26:34 -!- roasted42 has joined.
20:27:37 <Jafet> Amazingly, the bct interpreter for eodermdrome seems to work
20:31:38 -!- roasted42 has quit (Remote host closed the connection).
20:34:22 -!- Lorenzo64 has quit (Read error: Connection reset by peer).
20:34:38 -!- roasted42 has joined.
20:39:40 <coppro> `unidecode 13
20:39:41 <HackEgo> ​[U+FF11 FULLWIDTH DIGIT ONE] [U+FF13 FULLWIDTH DIGIT THREE]
20:47:22 -!- FreeFull has quit (Ping timeout: 245 seconds).
20:49:28 -!- FreeFull has joined.
20:58:48 <oren> There are wide versions of all the latin characters.
21:00:00 <oren> is this worse or better than allcaps?
21:00:13 <scoofy> kewl
21:00:44 <oren> !@#$%^&*()<>?:”{}
21:01:16 <oren> \/+-=_~
21:07:53 <oren> does elliott get pinged if i say his name like this?
21:10:01 -!- MDude has quit (Ping timeout: 255 seconds).
21:10:27 <oren> ヤッパリ elliott ピング シナカッタ ナ~。
21:18:16 -!- spiette has quit (Quit: :qa!).
21:20:07 <scoofy> lel
21:22:13 -!- roasted42 has quit (Ping timeout: 258 seconds).
21:22:27 -!- Patashu has joined.
21:23:47 <Taneb> Have an esoteric christmas, everyone
21:24:14 -!- roasted42 has joined.
21:34:37 <oren> damn! 88 bytes
21:38:15 -!- oerjan has joined.
21:39:36 <int-e> oerjan: GG was updated really early today.
21:39:51 <oerjan> i know
21:39:57 <oerjan> i got it before going to bed
21:41:22 <int-e> now waiting for the collatz parity revelation
21:42:04 <oerjan> oh they're both revealed today?
21:42:12 <int-e> yes.
21:42:34 <oren> i was only able to do 86 bytes of C
21:43:26 <oren> so i want to know what sorcery they sorcered
21:43:45 <vanila> how about the IOCCC when is tha revealed?
21:43:51 <int-e> Did you try calling functions without arguments, hoping the right values are already on the stack?
21:43:59 <oerjan> that's funny, not a single character difference between our and henkma's base 37 solutions :P
21:44:17 <int-e> oerjan: yes. I was surprised, henkma doesn't usually submit one-liners like that.
21:44:59 <vanila> oerjan, I wrote that too
21:45:07 <vanila> same exact length program
21:45:18 <oren> int-e: mine involves terible abuse of ? and :
21:45:23 <vanila> i idny submit bcecause i didnt win
21:45:24 <oerjan> vanila: length is easy if you're trying to compete...
21:45:52 <int-e> oren: if you mean x?:y = x if x is true, that's actually documented for gcc.
21:45:59 <oerjan> but having the exact same choice of everything... although i guess there wasn't much choice, using m@ is sort of "standard"
21:46:18 <vanila> I used m@ too
21:46:43 <oerjan> using newline instead of ; could have happened, but didn't
21:46:43 -!- roasted42 has quit (Ping timeout: 272 seconds).
21:47:04 <int-e> oerjan: I'm curious about henkma's solution, but obviously even more curious about tails' dc one :)
21:47:13 <oerjan> in theory putStr.($"\n") would have worked, but no one ever does that :P
21:47:43 <oerjan> int-e: ok i'm just looking at the haskell ones usually
21:48:11 <int-e> oerjan: actually I have a variant of the same length in my file: import Numeric;m@main=do n<-readLn;putStrLn$showIntAtBase 37((['0'..'9']++['a'..'z']++"A")!!)n"";m
21:48:33 <oerjan> ah ok so do notation is the same?
21:48:37 <vanila> yes
21:48:37 <int-e> yes
21:48:41 <int-e> had to be tried ;)
21:48:42 <vanila> i compared both
21:48:52 <oerjan> usually it's a little longer if you don't _need_ to define a name
21:49:10 <oerjan> but i guess the ($ ...) section compensates
21:49:26 <int-e> (because I can't do the arithmetic in my head reliably - three more there, two less there, one less there, plus/minus one :)
21:49:34 <oerjan> right
21:49:41 <oerjan> i may have tried it too
21:49:56 <vanila> I want to win a golf
21:49:58 <vanila> but im tnot good
21:50:01 <oerjan> yep it's there in my file
21:50:03 <oren> i might as well submit my best shot
21:50:33 <oren> no one else got 86 anyway
21:50:40 <int-e> oerjan: what about collatz parity, what's your best shot?
21:50:57 <oerjan> oh wait hm mine is one char longer than yours
21:52:02 <oerjan> oh i should have used !! as a section, i used it prefix and got a useless $
21:52:27 <int-e> oh, henkma had a different variant of the formula, so that's where he found the extra spaces.
21:53:14 -!- Solace has joined.
21:53:24 <int-e> So I was worried for no reason at all.
21:53:30 <Solace> Help
21:53:38 <Solace> Hello*
21:54:02 <oren> never mind my output is very slightly wrong
21:54:16 <oerjan> int-e: i didn't get it below 91
21:55:32 <oerjan> i assume i didn't find the actual clever trick, now to peek ->
21:56:07 <Solace> Night~
21:56:19 <oerjan> that hebiyan guy is also one of those weird "golfing? what's that" guys
21:57:58 <int-e> oerjan: main=putStr$[-256..256]>>=(64?);0?_="|\n";n?k|t<-mod k 2=" #"!!t:(n-1)?div(3^t*k)2 <-- I didn't think this required much cleverness. The last 2 characters were tricky though.
22:03:02 <oerjan> my brain must have been off because i never realized 3^t
22:03:13 <oerjan> so i kept having two branches
22:03:48 <int-e> oerjan: I had (2*t+1)*k at some point.
22:03:52 -!- Lymia has quit (Ping timeout: 256 seconds).
22:04:01 <int-e> but ok, missing that explains a lot
22:07:30 -!- Lymia has joined.
22:07:30 -!- Lymia has quit (Changing host).
22:07:30 -!- Lymia has joined.
22:08:57 <int-e> so easy, tails just did things modulo 2^64 ...
22:09:17 <int-e> which is wrong in the long term, but works for the first 64 bits.
22:10:52 <oren> lol what is golf?
22:14:32 <oren> I should rename all my files to the widechar versions
22:16:14 <oren> why can’t i put widechars in my nick?
22:16:17 <oerjan> obviously inferior, doesn't trigger myndzi |o|
22:16:17 <myndzi> |
22:16:17 <myndzi> /<
22:17:05 <oren> /nick oren
22:17:29 <scoofy> cos... nick chars are like... limited?
22:17:40 <oren> why are they limited?
22:17:42 <scoofy> you cannot just use random chars...
22:17:49 <scoofy> cos that's what the RFC defines
22:18:08 <scoofy> well you can make your own irc server
22:18:11 <scoofy> and allow wide chars
22:18:11 <zzo38> If you rename your files to widechar versions then it will cause a lot of problems, so you should not do that.
22:18:13 -!- oren has changed nick to {\[oren]|}.
22:18:28 <{\[oren]|}> close enough
22:19:12 <oerjan> oh well, as long as or<tab> still expands to the right one...
22:19:37 <scoofy> {<tab> expands t
22:19:39 <scoofy> {\[oren]|},
22:19:40 <{\[oren]|}> zzo38:it will cause problems by being hilarious
22:27:22 <{\[oren]|}> http://ctrlv.in/478265 see,funny right?
22:28:56 <myname> interesting, it filters your backslash
22:29:57 <{\[oren]|}> that is just from using japanese font
22:30:23 <{\[oren]|}> small \ is yen sign
22:30:48 <oerjan> i predict this will eventually be hilarious by getting you kicked hth
22:30:51 <scoofy> lol
22:30:57 <scoofy> for the yen sign
22:31:33 <{\[oren]|}> new esolang: C but all characters wide
22:31:53 <scoofy> what's the point of that
22:31:59 <scoofy> at least if you used japanese chars...
22:32:24 <{\[oren]|}> yeah! C with all things replaced with kanji
22:32:34 <scoofy> sounds better!
22:32:42 <scoofy> imagine some 'obfuscated C contest' entries in that
22:32:53 <scoofy> 'only kanji allowed'
22:33:03 <myname> well, just write a bunch of macros
22:33:50 <oerjan> {\[oren]|}: also change your text color to blue. then you can program in the wide blue C
22:34:14 <{\[oren]|}> 数 本(){書く(「こんにちは」);}
22:34:23 <scoofy> eh
22:34:30 <scoofy> hardcore
22:34:38 <scoofy> LEVEL: asian
22:35:11 <{\[oren]|}> using kanji that mean basically the right thing
22:35:26 <int-e> oerjan: have you seen http://golf.shinh.org/reveal.rb?Base+37/_1418756541&cs ... it has a comment in the list initializer!
22:35:34 <{\[oren]|}> and then use 「」 for quotes
22:35:43 <coppro> `addquote <{\[oren]|}> zzo38:it will cause problems by being hilariou
22:35:44 <HackEgo> 1228) <{\[oren]|}> zzo38:it will cause problems by being hilariou
22:36:31 <Jafet> You probably also need to return a value in 本
22:36:43 <int-e> `cat bin/addquote
22:36:43 <HackEgo> ​#!/bin/sh \ [ "$1" ] || exit 1 \ printf "%s\n" "$1" >>quotes \ printf "%d) %s" $(qc | cut -d' ' -f1) "$1"
22:36:54 <int-e> `` tail -1 quotes
22:36:54 <HackEgo> ​<{\[oren]|}> zzo38:it will cause problems by being hilariou
22:37:06 <scoofy> wide 's' missing
22:37:18 <scoofy>
22:37:24 <coppro> oops
22:37:28 <{\[oren]|}> Jafet: oh right, unless we define 空 本 instead
22:37:33 <int-e> `` sed -i -e '1228s/$/s/' quotes
22:37:34 <HackEgo> No output.
22:37:37 <int-e> `` tail -1 quotes
22:37:38 <HackEgo> ​<{\[oren]|}> zzo38:it will cause problems by being hilarious
22:37:39 <{\[oren]|}> but void main is not standard
22:37:45 <oerjan> int-e: now i have hth
22:37:51 <elliott> c99 does not require return in main
22:38:43 <int-e> #include <stdlib.h>\nint main() { exit(1); } should be valid.
22:38:56 <elliott> int main() {} is valid
22:38:57 <scoofy> isn't exit an implied 'return' also?
22:39:14 <int-e> scoofy: not really.
22:39:16 <zzo38> The exit() function never returns, it just exist.
22:39:22 <zzo38> s/exist/exits/
22:39:24 <{\[oren]|}> in gcc exit has the no return attribute
22:39:25 <scoofy> why do you pass '1' to it then
22:39:31 <scoofy> if it does not 'return' anything
22:39:40 <scoofy> in fact you can check the return value after you call the program
22:39:45 <scoofy> normally
22:39:45 <{\[oren]|}> it returns it to the calling contextof the shole program
22:39:50 <int-e> scoofy: It sets the program's exit code. That's not a return value.
22:39:56 <scoofy> yep. to me, that's a 'return' value.
22:40:07 <scoofy> after all, you can simply do main() {return 1;} // does the same
22:40:14 <zzo38> It is the return value of the entire program, not of main.
22:40:15 <scoofy> except you don't need #include <stdlib.h>
22:40:19 <scoofy> exactly.
22:40:19 <int-e> scoofy: On the other hand, the return value of main() will be the exit code of the program.
22:40:25 <zzo38> However the return value of main is used as the return value of the program.
22:40:25 <scoofy> exactly.
22:40:30 <scoofy> exactly.
22:40:31 <int-e> scoofy: it's a case of an A that's a B, where B is not an A.
22:40:44 <scoofy> to me, that's a 'return value'.
22:40:54 <scoofy> you cannot convince me otherwise :)
22:40:55 <oerjan> <zzo38> s/exist/exits/ <-- i think i prefer it without the substitution hth
22:41:09 <int-e> scoofy: You made that clear. But it should be obvious by now that we don't agree on this.
22:41:14 <scoofy> that is the value that will be in the EAX register (in case of x86) after the main() function gets called.
22:41:15 <{\[oren]|}> so i have a program that converts unicode C to regular C, then i'll add some #defines for all the kanji
22:41:32 <scoofy> so ... just to be precise, we're taling about a value in a register
22:41:36 <scoofy> after a function call
22:41:44 <scoofy> and whether we should call that 'return value' or 'exit value'
22:41:47 <scoofy> it's just a value in a register
22:41:49 <scoofy> basically
22:42:03 <{\[oren]|}> C doesn't assume registers exist
22:42:07 <zzo38> How exactly the program returns to the operating system depends on the system.
22:42:09 <int-e> scoofy: Well exit(1); does not return and still sets the exit code.
22:42:25 -!- Phantom_Hoover has joined.
22:42:28 <scoofy> well, code after 'exit(1)' does not executed so.. yes it does return.
22:42:30 <elliott> do I have to teach scoofy out of thinking about C in terms of x86 assemly too?
22:42:33 <scoofy> you cannot run C on a computer that has no registers.
22:42:37 <elliott> yes you can, wtf
22:42:46 <elliott> *assembly
22:42:53 <scoofy> well, you can simulate a stack machine with a machine that has registers.
22:43:06 <elliott> scoofy: the only reason returning from main exits in real implementations is because it does the equivalent of exit(main(argc, argv))
22:43:07 <scoofy> and compile your C code to code for that stack machine. except, no one does that.
22:43:10 <zzo38> C has a "register" command, but on computers without registers it will just act the same as if "register" is not specified.
22:43:21 <elliott> if I do f(g()) and g calls f, that's not g "returning".
22:43:22 <scoofy> exactly.
22:43:27 <scoofy> so it *knows* about registers.
22:43:30 <zzo38> Even on computers that do have registers, the optimizer might get rid of the "register" specification.
22:43:36 <elliott> what
22:43:41 <zzo38> If it knows a better way.
22:43:53 <scoofy> well 'register' is a C keyword. isn't?
22:43:55 <elliott> iirc gcc and clang both just totally ignore the "register" declaration
22:43:56 <Jafet> You can run C on a machine that runs only brainfuck
22:44:02 <int-e> scoofy: which compilers tend to ignore
22:44:04 <scoofy> Jafet: proof?
22:44:05 <elliott> I don't think the C standard mentions registers when defining it, though I may be wrong
22:44:09 <scoofy> i mean, have you actually done it?
22:44:17 <elliott> there are multiple C->BF compilers...
22:44:22 <elliott> BF is turing complete, what more proof do you need?
22:44:27 <int-e> scoofy: in any case the only implication of that keyword is that it's illegal to take an address of that value. No more, no less.
22:44:28 <scoofy> ok,.
22:44:29 <vanila> proof of what
22:44:32 <scoofy> it's still a "Return value".
22:44:32 <scoofy> :)
22:44:45 <scoofy> dont' change the topic, please
22:44:47 <elliott> vanila: running C in BF, I guess...?
22:44:50 <Jafet> https://svn.code.sf.net/p/brainfuck/code/c2bf/trunk
22:44:56 <scoofy> that's bfc
22:44:57 <scoofy> not Ansi C
22:45:06 <elliott> ais523 has an incomplete brainfuck backend for gcc
22:45:10 <scoofy> i never saw an ANSI C -> BF compiler
22:45:21 <vanila> it's really hard to run C is brainfuck
22:45:23 <elliott> I don't believe you actually don't believe it's possible, it's just a bunch of work nobody wants to do, why is that relevant to what Jafet said...?
22:45:28 <vanila> the speed of the code will suffer
22:45:33 <scoofy> yeah, 'incomplete'.
22:45:40 -!- {\[oren]|} has changed nick to oren{[\afk|}].
22:45:41 <vanila> it's important to separate theory and practice
22:45:43 <Jafet> Ok, well this is pointless
22:45:48 <vanila> just because something is possible in theory doesn't mean you can actually do it
22:45:54 <vanila> e.g. it might be too difficult
22:46:06 <Jafet> Github also does some pretty pointless things
22:46:08 <int-e> Oh well. Let's relax and enjoy https://xkcd.com/386/ ;-)
22:46:10 <Jafet> “Great repository names are short and memorable. Need inspiration? How about drunken-octo-wallhack.”
22:46:48 <zzo38> Still it doesn't matter if the C standard mentions registers or not because computers without registers can just treated it as if it doesn't say register on it. However, it makes it known that the address is not taken, therefore if the compiler cannot figure it out by itself for some reason, it will know due to that; one thing that can be done if address is not taken, is storing in a register instead of in RAM.
22:47:03 <int-e> Jafet: not short, but certainly memorable
22:47:03 -!- oerjan has set topic: The channel of returning trolls | but often spelled correctly. | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
22:47:09 <oerjan> oops
22:47:22 <int-e> oerjan: that's not too bad :)
22:47:31 <oerjan> ...i guess it's better that way.
22:47:47 <vanila> scoofy, what is your question?
22:48:10 <scoofy> me? nope, no question.
22:48:13 <vanila> ok
22:54:46 <scoofy> by the way, in a bash shell, you can check the return value of a program by this:
22:54:48 <scoofy> echo $?
22:54:51 <vanila> yes
22:55:06 <vanila> ive used this feature in bash
22:55:07 <scoofy> main() {return 42;}
22:55:17 <scoofy> gcc ret.c -o ret
22:55:18 <scoofy> ./ret
22:55:20 <scoofy> echo $?
22:55:22 <scoofy> ---> 42
22:55:33 <scoofy> same thing with exit():
22:55:46 <scoofy> #include <stdlib.h>
22:55:51 <scoofy> main() {exit(42);}
22:55:56 <scoofy> gcc ret2.c -o ret2
22:55:57 <oerjan> @tell tswett <tswett> Is there a largest ordinal number A such that the set of all ordinal numbers below A has computable arithmetic? <-- my hunch is no: whatever computation system you use, you can _always_ adjust it to handle one more level.
22:55:57 <lambdabot> Consider it noted.
22:55:57 <scoofy> ./ret2
22:55:58 <scoofy> echo $?
22:55:59 <scoofy> ---> 42
22:56:01 <scoofy> same result
22:56:20 <vanila> scoofy, that's right
22:56:47 <scoofy> you can try it to confirm yourself, that the effect of 'return' and 'exit' is the same
22:57:01 <vanila> its not the same
22:57:07 <scoofy> semantics.
22:57:09 <vanila> would you like to see a situation where they act differently?
22:57:13 <scoofy> please.
22:57:25 <scoofy> well, there's 1 different case: when you call main() yourself from the program.
22:57:32 <scoofy> unless you do that - no difference.
22:57:34 <scoofy> in main()
22:57:40 <oerjan> @tell tswett Now, if you change the question to "Is there a largest ordinal number A such that for each ordinal number B < A, the set of all ordinal numbers below B has computable arithmetic?" then the answer becomes "yes".
22:57:40 <lambdabot> Consider it noted.
22:57:47 <vanila> int f() { return 42; } main() { return 1+f(); }
22:58:00 <vanila> int f() { return exit(42); } main() { return 1+f(); }
22:58:05 <scoofy> lol
22:58:06 <scoofy> i said
22:58:08 <scoofy> IN MAIN
22:58:14 <scoofy> not IN ANOTHER function
22:58:21 <vanila> you're right about in main
22:58:25 <scoofy> of course that will exit the program in f()
22:58:30 <vanila> yes
22:58:35 <scoofy> i meant: exit() and return have the same role IN MAIN function *only*.
22:58:44 <scoofy> (and, not other functions.)
22:58:46 <vanila> correct
22:58:53 <scoofy> i'm glad we agree.
22:58:57 <oerjan> scoofy: i don't believe anyone here disagrees with you on a matter of fact, just terminology.
22:59:06 <vanila> do you have any more questions about beginner level C?
22:59:08 <scoofy> okay, just clarified that.
22:59:18 <scoofy> do you have any?
22:59:22 -!- roasted42 has joined.
23:00:44 <vanila> scoofy, you can read assembly code can't you?
23:00:50 <scoofy> i can.
23:01:01 <vanila> what about comparing the assembly code for ret and ret2?
23:01:08 <scoofy> they will likely be different.
23:01:12 <scoofy> so what's your point?
23:01:34 <vanila> its just a learning exercise, but looks like you already understand
23:01:40 <scoofy> in assembly, there are usually at least 10 ways of doing something.
23:02:07 <scoofy> dude, i create virtual machines and write assemblers myself
23:02:18 <scoofy> but thanks for your 'basic learning tips'
23:02:36 <vanila> oh sorry
23:02:39 <scoofy> no problem
23:02:47 <vanila> i didn't realize
23:02:52 <vanila> im just a beginner at assembly
23:03:04 <scoofy> it is fun! ;)
23:03:19 <vanila> yea him enjoying learning about it but its so painstakingly slow
23:03:33 <scoofy> why so?
23:03:45 <vanila> im used to high level languages
23:03:51 <vanila> so asm is like building brick by brick
23:03:57 <scoofy> indeed.
23:03:58 <vanila> but i want to get good at it so i can write a compiler
23:04:04 <scoofy> that's a good excercise.
23:04:12 <scoofy> one of the best, actually.
23:04:15 <vanila> :D
23:04:42 <scoofy> a side effect of learning assembly deeply, is that you will never look at the 'higher level' languages the same way
23:04:58 <scoofy> because after writing a compiler, you will realize that everything translates to registers and operations on them
23:05:06 <vanila> yeah I know what you mean!
23:05:12 <scoofy> however high level abstractions you start from
23:05:23 <oerjan> <int-e> Oh it's just data Ord = Zero | Succ Ord | Lim (Nat -> Ord), where the Nat -> Ord function is computable. <-- i think that's essentially the representation that was used by whoever here implemented the goodstein sequence in System F after it was pointed out this should be possible
23:05:42 <oerjan> i think it may have been impomatic
23:05:42 <vanila> data Ord = Zero | Succ Ord | Lim (Nat -> Ord) seems awfully small
23:05:44 <vanila> what about
23:05:54 <vanila> data Ord2 = Zero2 | Succ2 Ord2 | Lim (Ord -> Ord2)
23:06:39 <oerjan> vanila: possibly Ord -> Ord2 functions are hard to construct?
23:06:50 <zzo38> I once wrote a compiler that compiles the OASYS source format into OASYS binary format; it has no registers it is only stack base operation.
23:07:05 <zzo38> So, not everything translates to registers and operations on them, due to this.
23:07:08 <oerjan> i don't really understand this representation myself, anyway
23:07:52 <vanila> oerjan, well 'Lim' means the limit of the infinite sequence of ordinals
23:08:07 <vanila> so Lim natToOrd would be omega
23:08:22 <oerjan> i understand that, i don't quite understand how that allows you to calculate with them.
23:08:41 <oerjan> it seems very non-canonical, at least
23:08:47 <vanila> I think that the only thing that really matters is doing structural recursion on them
23:08:56 <vanila> to get your induction power
23:09:11 <oerjan> yeah that would be enough for the goodstein sequence at least
23:10:43 <vanila> conways one is really good
23:10:55 <vanila> but it requires you to build everything mutually
23:13:08 -!- roasted42 has quit (Ping timeout: 264 seconds).
23:13:13 <oerjan> vanila: do you have a link?
23:13:24 <vanila> sorry, its in the surreal numbers book
23:13:28 <oerjan> ah
23:14:46 <elliott> <scoofy> well, there's 1 different case: when you call main() yourself from the program.
23:14:47 -!- roasted42 has joined.
23:14:49 <elliott> this is actually illegal btw
23:15:11 <coppro> elliott: legal in C, illegal in C++ iirc
23:15:19 <elliott> C allows it, really?
23:15:44 <coppro> yes
23:15:49 <elliott> okay yeah, seems so
23:15:52 <elliott> ...why does C++ disallow it?
23:16:03 <elliott> something with static initialisation or constructors or whatever or the like?
23:16:05 <coppro> yeah
23:16:20 <Jafet> Some compilers put those into main
23:16:21 <coppro> the compiler can put static init code in main
23:17:00 <vanila> I thought _start was used for that
23:17:07 <coppro> vanila: in some ABIs it is
23:17:08 <scoofy> i see recursive main() sometimes in nasty code (mostly in obfuscated C contests)
23:17:13 <zzo38> Calling main() should be allowed; any other initialization should go in a separate function that calls main
23:17:27 <zzo38> And then the compiler can inline main if it is found to be safe to do so.
23:17:29 <Jafet> https://github.com/Jafet/drunken-octo-wallhack
23:17:58 <elliott> Jafet: does this do the fancy efficient stuff?
23:18:44 <Jafet> It manages to run the one extant eodermdrome program
23:18:54 <Jafet> Also, computers are fast dude
23:19:58 <oerjan> ooh
23:20:18 <int-e> computers are fast but always too slow
23:20:41 <Jafet> For most programs you can get a big speedup by first checking the graph nodes that changed in the previous step
23:20:52 <Jafet> ("most" ie. 1 out of 1 existing programs)
23:21:17 <oerjan> yay
23:21:51 <oerjan> well it _is_ designed to be deterministic, so that's obvious
23:24:04 <oerjan> in hindsight
23:26:46 -!- dts|pokeball has quit (Read error: Connection reset by peer).
23:27:16 <oerjan> @metar ENVA
23:27:16 <lambdabot> ENVA 242250Z 12011KT CAVOK M15/M18 Q1015 RMK WIND 670FT 15007KT
23:27:21 <oerjan> eek
23:27:54 <oerjan> i guess it _is_ after midnight
23:28:30 -!- dts|pokeball has joined.
23:29:06 <int-e> @metar LOWI
23:29:06 <lambdabot> LOWI 242320Z AUTO 24003KT 9999 NCD M03/M05 Q1025
23:29:27 <int-e> honestly? that's cold enough.
23:29:53 <oerjan> at least we have snow on the ground this year
23:30:18 * oerjan was commenting on oren{[\afk|}]'s complaints, but he seems afk
23:34:29 -!- shikhin_ has joined.
23:34:35 -!- oren{[\afk|}] has changed nick to oren.
23:35:22 <oren> oerjan: yeah, i guess one day we'll all be living under domes
23:35:52 <oren> holy crap did I miss some discuassion of C?
23:36:32 <oren> not every C program begins at main y'know
23:37:30 <vanila> yes it does ?
23:37:31 -!- shikhin has quit (Ping timeout: 244 seconds).
23:37:39 <int-e> oren must be a fan of free-standing implementations, or looking under the hood (dynamic linker, libc, elf format, etc)
23:38:02 <oren> nope, on win32 it begins at WinMain()
23:39:04 -!- copumpkin has joined.
23:39:23 <vanila> ogh
23:39:37 <elliott> WinMain is just like the SDL_main nonsense I think
23:39:42 <elliott> i.e. it's specific to doing graphical stuff
23:39:57 <elliott> (you're effectively linking with a library that has a main() that calls WinMain, I think?)
23:40:01 * oerjan read that as SDL_main_nonsense for a subsecond
23:40:30 <Jafet> SDL is very modular and allows you to load auxiliary nonsense.
23:41:11 <oren> elliott: i dunno. the MSDN doesn't mention there being a main that calls WinMain
23:41:17 <fizzie> elliott: I seem to recall the "pre-main" startup code does call WinMain directly. But it's all very platform-specific.
23:41:20 -!- roasted42 has quit (Ping timeout: 244 seconds).
23:41:21 <elliott> fizzie: right.
23:41:38 <elliott> well windows has lots of opinions on what C code should look like and they are all vaguely horrific
23:41:59 <fizzie> Arguably, a program with an entry point called something else than "main" is not a C program at all, or at least not a hosted one.
23:42:27 -!- roasted42 has joined.
23:43:09 <fizzie> C11 5.1.2.2.1p1: "The function called at program startup is named main." (It can be defined in some implementation-defined manner even in hosted implementations, but the name's not negotiable.)
23:43:12 <oren> bah... why is DWORD any worse than int32_t
23:43:32 <fizzie> One is in the standard and the other is not.
23:43:33 <elliott> fizzie: it's ~as if~ you linked to a main() that calls WinMain, good enough, right?
23:43:51 <fizzie> I guess you could use that cop-out.
23:44:39 <fizzie> (Although even then you could claim what you have is just a fragment of a program, not a complete thing.)
23:45:17 <zzo38> If you have a C program without main() then it is a C program that cannot start by itself.
23:45:19 <fizzie> WinMain is kind of funny in that it has the command line intact in a single string.
23:46:18 <oren> zzo38: no program in any language can do that
23:46:37 <int-e> fizzie: I believe they stole that idea from DOS, which got it from CP/M ;)
23:47:41 <fizzie> (There's a "CommandLineToArgvvW" function in the API to deal with what GetCommandLineW returns.)
23:48:25 <oren> basically MS thinks standard compliance is less important than backward compatibility
23:48:47 <oren> which is, from a business point of view, the right thing
23:48:55 <fizzie> If you write a console subsystem application, you get to use a regular main.
23:49:39 <elliott> https://stackoverflow.com/questions/11785157/replacing-winmain-with-main-function-in-win32-programs/11785733#11785733
23:50:25 <elliott> "hPrevInstance is always NULL." god bless america
23:50:47 <scoofy> thanks Obama
23:50:54 <fizzie> Right; "mainCRTStartup" is the entry point that calls regular main, and WinMainCRTStartup is the other one.
23:51:35 <fizzie> (And the mingw toolchain adds its own little peculiarities in there.)
23:55:21 -!- contrapumpkin has joined.
23:55:38 -!- vanila has quit (Quit: Leaving).
23:57:05 -!- copumpkin has quit (Ping timeout: 258 seconds).
2014-12-25
00:00:09 -!- Solace has quit (Quit: Connection closed for inactivity).
00:01:52 <elliott> "Yes, yes, but you ruined the plot! Okay, that was expected, but yet, after discovering my poor hashing abilities, I decided to use the thermo-nuclear option: MD5, the cryptographic hashing function, which has been studied during long years, and which is considered an excellent solution for hashing anything."
00:01:57 <elliott> this was written in 2013
00:02:02 <elliott> http://blog.httrack.com/blog/2013/07/19/md5-is-your-friend/ enjoy
00:02:53 <elliott> I thought it would be, like, "MD5 is actually fine even though it's weak", but actually it's "use MD5 for hash tables, it's INCREDIBLY CRYPTO STRONG and not that slow"
00:06:57 -!- roasted42 has quit (Ping timeout: 245 seconds).
00:09:07 -!- roasted42 has joined.
00:09:52 -!- Patashu has quit (Ping timeout: 240 seconds).
00:11:22 <oerjan> clearly an NSA mole
00:18:05 <int-e> it has been studied, that's for sure
00:20:57 -!- Phantom__Hoover has joined.
00:22:54 <int-e> elliott: we could even say that unlike some other hash functions we know whether it's secure or not...
00:22:57 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
00:23:08 <int-e> that's good, isn't it?
00:24:26 <elliott> ehe
00:27:16 -!- MDream has joined.
00:31:11 -!- bb010g has quit (Quit: Connection closed for inactivity).
00:33:21 -!- oren has quit (Ping timeout: 252 seconds).
00:34:52 -!- zzo38 has quit (Remote host closed the connection).
00:35:21 -!- oren has joined.
00:41:37 -!- oren has quit (Ping timeout: 240 seconds).
00:51:57 -!- roasted42 has quit (Ping timeout: 240 seconds).
00:53:02 -!- roasted42 has joined.
00:55:37 -!- contrapumpkin has quit (Ping timeout: 240 seconds).
01:05:35 -!- oren has joined.
01:31:02 -!- roasted42 has quit (Remote host closed the connection).
01:31:59 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
01:33:55 -!- dts|pokeball has quit (Ping timeout: 265 seconds).
01:36:17 -!- roasted42 has joined.
01:49:26 -!- MDream has changed nick to MDude.
01:50:25 -!- dts|pokeball has joined.
02:26:41 <Taneb> Are there any rules about starting IOCCC entries long before the competition is opened?
02:28:40 <pikhq> Not that I know of.
02:30:14 <Taneb> Right, I'm gonna get started
02:30:30 * oerjan imagines someone somewhere opening an old secret letter to find lady ada lovelace's IOCCC entry
02:30:39 <Taneb> Heheheh
02:31:16 -!- nisstyre has changed nick to nisscrooge.
02:31:22 -!- roasted42 has quit (Ping timeout: 240 seconds).
02:32:15 <pikhq> elliott: Wow, really? But... I mean, there's no reason to use MD5 instead of a proper hash function for hash tables.
02:32:43 <elliott> sha512 hash table!!!!
02:33:10 <oerjan> surely you should only use NP-complete hashes
02:33:26 -!- roasted42 has joined.
02:33:26 <pikhq> I mean, really. The desirable properties for a hash table hash are fast while providing a reasonable distribution of values.
02:33:41 <pikhq> Completely different from what you want from a crypto hash function.
02:34:26 <pikhq> (namely, reversing the hash and producing collisions should be God Damned Hard; speed is just kinda nice for some uses.)
02:40:29 <elliott> pikhq: good thing he didn't pick a crypto hash function but a broken one, then :p
02:40:35 <elliott> *crypto-strength
02:47:13 <oerjan> and now, pizza
02:49:12 <oerjan> maybe let it cool a _little_.
02:50:13 -!- MDude has quit (Ping timeout: 255 seconds).
03:01:29 -!- bb010g has joined.
03:08:00 <pikhq> If he just wanted fast, well, CRC32's pretty speedy.
03:09:50 <elliott> I think the point is like...
03:10:55 <elliott> "MD5 is a bit slower, but I got all these collisions with FNV-1, and MD5 isn't that slow and it's The Best so let's just use it! (I also included MurmurHash in this post without commenting on it for some reason, possibly because it is obviously better than MD5 for a hash table even if MD5 was as incredibly strong as I think it is.)"
03:11:00 <elliott> I don't know.
03:11:02 <elliott> it's a weird post.
03:11:14 <pikhq> Sounds about right.
03:11:27 <elliott> oh, he does mention MurmurHash
03:11:29 <elliott> he trusts it less than MD5
03:11:31 <elliott> lol
03:13:00 <elliott> I don't know. the post wouldn't be totally weird (though I'd still disagree with the idea that you should just use the strongest hash function you can find for your hash table) if you did s/MD5/SHA1/g or something.
03:13:11 <tromp> siphash is more secure than murmurhash
03:13:22 <tromp> and similarly efficient
03:13:34 <tromp> that's why i use it in my proof-of-work scheme
03:13:49 <elliott> tromp: right, that kind of thing would be a more reasonable post than "MD5 is the best hash function for hash tables because it is crypto strong and the best for everything (p.s. it is 2013)" :p
03:14:26 <elliott> nobody ever told djb about the speed-security tradeoff
03:15:07 <tromp> siphash-4-8 is more secure and slower than siphash-2-4
03:15:37 <elliott> just joking based on how djb crypto functions are usually fast *and* secure
03:17:40 -!- roasted42 has quit (Ping timeout: 255 seconds).
03:19:32 -!- roasted42 has joined.
03:22:51 <oerjan> <Jafet> Amazingly, the bct interpreter for eodermdrome seems to work <-- after this, my next challenge must be writing one in Feather
03:23:22 <pikhq> Man, djb.
03:23:33 <pikhq> It's weird. His crypto's great, his software is... eccentric.
03:23:57 <oerjan> with no interpreter, no spec and inventor running away at the mere mention of it, it should be suitable.
03:25:03 * pikhq still wishes someone would go drill into his teeth
03:26:24 <elliott> his software is like his crypto imo
03:26:46 <elliott> djb is more palatable in small doses which is why the latter is more successful :p
03:26:51 <pikhq> :P
03:58:21 -!- Solace has joined.
04:00:28 -!- roasted42 has quit (Ping timeout: 250 seconds).
04:01:24 -!- roasted42 has joined.
04:10:19 -!- Sprocklem has joined.
04:11:33 <newsham> did someone say "strong" and "md5"?
04:17:31 -!- nys has quit (Quit: quit).
04:24:01 -!- digitalcold has changed nick to grumblesnoutHern.
04:24:20 -!- grumblesnoutHern has changed nick to digitalcold.
04:24:25 -!- digitalcold has changed nick to digitalcool.
04:33:52 <shachaf> newsham: md5 is strong but slow, as everyone knows
04:38:59 <Solace> is there a way to ping users from another irc network?
04:39:01 -!- shikhin_ has quit (Ping timeout: 272 seconds).
04:41:12 -!- roasted42 has quit (Ping timeout: 250 seconds).
04:42:18 -!- roasted42 has joined.
04:51:17 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:56:39 -!- copumpkin has joined.
04:59:22 -!- arjanb has quit (Quit: zzz).
05:08:28 -!- ^v has joined.
05:23:30 -!- roasted42 has quit (Ping timeout: 265 seconds).
05:25:09 -!- roasted42 has joined.
05:30:10 -!- ^v has quit (Quit: http://i.imgur.com/Akc6r.gif).
05:41:40 -!- contrapumpkin has joined.
05:44:52 -!- copumpkin has quit (Ping timeout: 245 seconds).
05:50:00 <lifthrasiir> shachaf: strong in preventing unintentional hash collision, weak in everything else.
05:51:02 <lifthrasiir> there is yet no practical preimage attack to MD5, but inexpensive collision generation is enough for ruining security applications with MD5
05:58:19 -!- myname has quit (Ping timeout: 255 seconds).
05:59:03 -!- myname has joined.
06:10:23 -!- roasted42 has quit (Ping timeout: 244 seconds).
06:10:52 -!- nisscrooge has quit (Ping timeout: 265 seconds).
06:13:18 -!- nisscrooge has joined.
06:14:20 <Jafet> Well, if you find SHA1 collisions, don't save them in separate files
06:15:32 -!- nisscrooge has changed nick to nisstyre.
06:15:42 -!- nisstyre has quit (Changing host).
06:15:42 -!- nisstyre has joined.
06:15:48 -!- nisstyre has changed nick to nisscrooge.
06:15:53 -!- Patashu has joined.
06:15:59 <lifthrasiir> Jafet: or zip/tar/whatever them.
06:16:36 -!- roasted42 has joined.
06:22:16 -!- roasted42 has quit (Ping timeout: 244 seconds).
06:22:38 <Sgeo> I wonder if anyone's died due to the existence of spam. Some important message getting caught in a spam filter or something
06:22:39 <Sgeo> :(
06:24:56 <oerjan> Sgeo: nah they were all killed in bizarre traffic accidents before it could happen hth
06:25:32 <oerjan> one of which was caused by spam. the canned meat version. hth..hth
06:25:36 <oerjan> hm...
06:25:43 <oerjan> stupid script
06:25:51 <oerjan> *hth.
06:27:35 <elliott> hacker news is in christmas colours and somehow I hate hacker news more than ever
06:28:58 -!- atslash has joined.
06:29:30 * oerjan assaults atslash with an atlatl at last
06:31:11 <oerjan> i mean, merry christmas!
06:31:51 <atslash> oh
06:31:56 <atslash> thanks!
06:31:58 <atslash> you too)
06:32:48 <elliott> is atslash like slashdot
06:33:19 <atslash> no
06:33:35 <atslash> atslash like atslash
06:33:37 <oerjan> elliott: you can celebrate gravmas instead hth
06:34:14 <oerjan> it's a very attractive holiday
06:34:15 <elliott> thanks but I am actually endeavouring to be as little like stallman as possible in my life
06:34:35 <elliott> One way to celebrate Grav-Mass is to decorate a tree with apples and other fruits. Glue them or attach them, but not too well! The idea is that occasionally a fruit should fall. Put them on the tree no more than 2 feet up, so that they won't get damaged or hurt anybody when they fall.
06:34:40 <elliott> Fun Grav-Mass Ideas
06:35:02 <oerjan> wait did he invent that
06:35:05 <elliott> who the fuck stands under a tree waiting to get killed by a falling apple
06:35:13 <elliott> oerjan: I've literally never heard of it except in the context of rms
06:35:14 -!- atslash has quit (Quit: Leaving).
06:35:22 <oerjan> ok
06:35:53 <oerjan> i actually was just trying to point out it was isaac newton's birthday, and then remembered it had a cutesy name
06:36:23 <oerjan> ok who else was born today
06:36:56 <Jafet> This dude from a religious story. Actually, his birthday was probably made up at some point
06:37:04 <elliott> (btw it seems rather distasteful for stallman to co-opt newton's birthday to promote it over christmas, seeing as newton was a christian himself)
06:37:43 <oerjan> you'd think
06:37:56 <elliott> (...but then stallman is not known for good taste :p)
06:38:17 <oerjan> i wonder when newton actually celebrated his birthday, he was born in january old style
06:38:31 <oerjan> (if people celebrated birthdays back then)
06:38:48 <elliott> Born25 December 1642
06:38:48 <elliott> [NS: 4 January 1643][1]
06:38:51 <elliott> the opposite, it seems
06:38:55 <oerjan> oh
06:39:25 <elliott> I don't know how old the practice of birthday celebration is but I'm pretty sure it must be well over 400 years
06:39:25 <Jafet> Co-opt stallman's birthday after he dies
06:39:44 <Jafet> Crimean secession day
06:39:49 <oerjan> Jafet: toe-mass
06:39:56 <elliott> once you have a calendar -- which is a pretty natural thing to create -- it's one of the most obvious occasions to celebrate, especially considering how sacred birth is often considered
06:40:38 <elliott> (okay, I guess you could argue occasions not specific to one person would develop first)
06:40:39 <oerjan> elliott: true but people sometimes considered other dates more important
06:41:03 <oerjan> or may have pietistic ideas about avoiding personal things
06:43:08 * elliott nods
06:43:14 <elliott> okay, I agree it's not as obvious as I stated.
06:43:18 <elliott> instead I will ask wikipedia.
06:44:05 <oerjan> hm right that pakistani guy was born today
06:44:14 <elliott> "In some historically Roman Catholic and Eastern Orthodox countries such as Italy, Spain, France, parts of Germany, Poland, Russia, Romania, Bulgaria, Serbia, Slovakia, Czech Republic, Hungary, Greece, Lithuania, Latvia, and throughout Latin America, it is common to have a 'name day'/'Saint's day'. It is celebrated in much the same way as a birthday, but it is held on the official day of a ...
06:44:21 <elliott> ... saint with the same Christian name as the birthday person"
06:44:28 <elliott> I wonder what the people not named after saints thought about that
06:44:44 <oerjan> i understand sweden also does the name day thing
06:45:02 <elliott> I like how the queen of england has an official birthday that isn't her actual birthday
06:45:20 <oerjan> elliott: i think at times it were not allowed _not_ to name your child after a child.
06:45:24 <oerjan> *saint
06:45:31 <oerjan> *giraffe
06:45:50 <elliott> The Queen celebrates two birthdays each year: her actual birthday on 21 April and her official birthday on a Saturday in June.
06:45:59 <elliott> why don't I get two birthdays
06:46:12 <oerjan> elliott: i think the dutch do that too...
06:46:24 <Jafet> Could you afford two birthdays
06:46:35 <Taneb> Gooood morning
06:46:44 <oerjan> hiiiiiiineb
06:46:50 <elliott> Jafet: the idea is that *other* people buy me things hth
06:48:06 <glguy> Only naming people after saints is a great way to overlap saints on the same name and limit the growth of the name list
06:48:09 <oerjan> elliott: you can celebrate humphrey bogart today, by making everything dark and gloomy hth
06:48:24 <Taneb> Happy Thursday, everyone
06:48:29 <glguy> You'll have to end up with saints Patrick day eventually
06:48:36 <elliott> is that like surgeons general?
06:48:36 <oerjan> happy thursday!
06:49:33 <oerjan> glguy: you mean two with the same name on the same day?
06:50:40 <glguy> Yeah, rather than saint Patrick day Mk ii later in the year... That would be ridiculous :)
06:50:57 <oerjan> you could also take a shot at celebrating anwar sadat
06:51:00 <elliott> https://en.wikipedia.org/wiki/December_25#Births what's interesting is that nobody was born on christmas between 1250 and 1461, I think probably because of a conspiracy to cover them up
06:51:31 <Taneb> oerjan, assuming the number of saints tends to infinity with time, and there are a finite number of names, eventually there would be 367 saints with the same name
06:51:34 <Jafet> Or presumably it was just more convenient for them to use a different birthday
06:52:02 <elliott> people born on christmas should get to designate an "official" birthday to stop that merging holiday nonsense
06:52:10 <glguy> I'd like to see a the value of the probability that no one was born on a single day
06:52:19 <elliott> approximately 1/big
06:52:44 <oerjan> elliott: hm
06:53:33 <glguy> I wonder how it compares to other improbables
06:54:39 <oerjan> elliott: i have a hunch there were very few people born in those years who had birthdays at all hth
06:55:31 <elliott> oerjan: no, it was a conspiracy
06:55:35 <oerjan> okay
06:55:54 <elliott> hmm, that would actually be a not impossible thing to enforce, if you wanted nobody to be born on a certain day
06:56:22 <elliott> just ensure there's a really huge taboo around having sex around nine months before it :P
06:56:30 <elliott> designate some holy period, say
06:56:32 <Solace> You have to preform three miracles to become a saint
06:56:46 <elliott> well who will elect me president so I can ensure nobody is ever born on christmas ever again
06:56:48 <Jafet> Enforce no sex? What
06:57:03 <Solace> So if i used necromancy and devil magic to preform these miracles? and the church had no proof i did
06:57:10 <elliott> Jafet: look, it's VERY PRACTICAL AND FEASIBLE
06:57:11 <Jafet> Probably simpler to rewrite all existing historical records
06:57:14 <Solace> would i become a saint through false hood
06:57:26 <oerjan> elliott: actually seeing how the list grows in the 20th century i change my suspicion: there were just very few people born at all hth
06:57:42 <elliott> oerjan: no, actually it was just that the illuminati lost their grip on power
06:58:10 <Solace> do they even exist?
06:58:31 <oerjan> Solace: nowadays the miracles tend to happen after the saint is dead afaiu
06:58:52 <Solace> wat
06:59:04 <Solace> then how can they be elected to saint hood?
06:59:17 <oerjan> this improvement clearly prevents them from cheating hth
06:59:26 <Solace> Lol
06:59:40 <Solace> but necromancy bypasses that oerjan
06:59:44 <oerjan> Solace: surprisingly people aren't usually elected to saint hood
07:00:02 <Solace> Ofc
07:00:14 <Solace> since i think its only been a few
07:00:19 <Solace> the ones with Jesus
07:00:23 <Solace> and then some
07:01:24 <oerjan> well the popes keep declaring a bunch
07:01:49 <Jafet> Maybe you get the powers after you are beatified
07:02:41 <Solace> The popes cant really elect technically
07:03:00 <Solace> it has to be preformed and elected by the whole of the church
07:03:18 <Solace> and if a pope declares its not really official
07:03:18 <oerjan> too many people born today
07:03:57 <Solace> Also [saint] john Paul [saint] being they did some good shit
07:04:03 <Taneb> You know who wasn't born today?
07:04:07 <Solace> not saint as in
07:04:15 <oerjan> Taneb: you hth
07:04:16 <Taneb> Most people, I think
07:04:25 <Solace> Oh my god he just rose the dead
07:04:29 <Solace> praise him
07:05:18 <Solace> Tommorow is the day Santa first achieved reindeer propelled flight!!
07:05:29 <oerjan> ooh
07:05:30 <elliott> @time Solace
07:05:30 <lambdabot> Local time for Solace is Thu, 25 Dec 2014 07:05:30 GMT
07:05:34 <elliott> actually today
07:05:40 <Solace> indeed
07:05:49 <Solace> really?
07:06:06 <Solace> Its still 24 here
07:06:11 <oerjan> bah he just stole the invention from the sami hth
07:07:00 <oerjan> Solace: you probably haven't set a local time zone for your computer, or something
07:07:15 <Solace> What if god was just and he probably is a higher dimensional being that just nudged the big bang and left everything alone
07:07:27 <Taneb> oerjan, Solace could be using a UK bouncer
07:07:28 <oerjan> or wait it's webclient
07:07:43 <oerjan> so probably using its time zone.
07:07:50 <Solace> runs off of sattelite data btw
07:08:22 <Solace> isnt time slower or faster in space because of gravity
07:08:37 <Jafet> http://oglaf.com/chirpnmutter
07:08:40 <Solace> like one centi-second apart from earth
07:09:10 <oerjan> Solace: yes
07:09:19 <Solace> omfg that comic
07:09:39 <Solace> i enjoy your presence jafet
07:10:07 <oerjan> clicking on an oglaf comic? oh well it's not like i have W to be NSF
07:10:47 <Solace> Dont lie oerjan you are probably dirty
07:10:51 <oerjan> ok not NSFW just disturbing to some
07:11:07 <oerjan> Solace: i confess!
07:11:13 <Solace> Ha
07:11:15 <oerjan> (but only to that i am dirty)
07:11:16 <elliott> 07:07:15 <Solace> What if god was just and he probably is a higher dimensional being that just nudged the big bang and left everything alone
07:11:20 <elliott> Solace: deism
07:11:25 <Solace> wat?
07:11:30 <Solace> never heard of it
07:11:50 <elliott> it's pretty much exactly what you said https://en.wikipedia.org/wiki/Deism
07:11:58 <Solace> So oerjan is a dirty coder
07:12:07 <Solace> i didnt even know :0
07:12:07 <oerjan> every philosophical position on god has already been invented and given a name, except for those that _actually_ make him wipe out the inventor hth
07:12:10 <elliott> Deism holds that God does not intervene with the functioning of the natural world in any way, allowing it to run according to the laws of nature. For Deists, human beings can only know God via reason and the observation of nature, but not by revelation or supernatural manifestations (such as miracles) – phenomena which Deists regard with caution if not skepticism. See the section Features of ...
07:12:16 <elliott> ... deism, following. Deism is related to naturalism because it credits the formation of life and the universe to a higher power, using only natural processes. Deism may also include a spiritual element, involving experiences of God and nature.[14]
07:12:21 <elliott> oerjan isn't much of a coder
07:12:35 <Solace> ?!
07:12:36 <lambdabot> Maybe you meant: v @ ? .
07:12:36 <oerjan> ;_;
07:12:47 <Solace> oh hi Mr lambdabot
07:13:05 <Solace> do any of the bots have Christmas stuff
07:13:46 <Taneb> ^celebrate
07:13:46 <fungot> \o| c.c \o/ ಠ_ಠ \m/ \m/ \o_ c.c _o/ \m/ \m/ ಠ_ಠ \o/ c.c |o/
07:13:46 <elliott> oerjan: you don't do it often :p
07:13:46 <myndzi> | c.c.c | ¯|¯⌠ `\o/´ | c.c.c | `\o/´ ¯|¯⌠ | c.c.c |
07:13:46 <myndzi> >\ c.c /'\ |\| | >\ c.c >\ | /^\|/´\ c.c /´\
07:13:47 <myndzi> /`\ (_|¯`\
07:13:47 <myndzi> (_| |_) |_)
07:13:54 <elliott> err, pun not intended, but ok, sure
07:14:01 <elliott> *okay,
07:14:37 <Solace> But has oerjan done stuff on the wiki
07:15:01 <oerjan> *MWAHAHAHA*
07:15:20 <Solace> well he doesnt have to do stuff to be a coDer but in context the er at the end of code means you have to be cod"ing"
07:15:25 <Solace> so its confuse
07:16:05 <Solace> That reminds me oerjan i was testing out evil laughs and i think.nyahahaha is the best
07:16:27 <oerjan> nah too high pitch hth
07:16:55 <Taneb> I prefer mwuahahaha to mwahahaha
07:17:06 <Solace> noot noot noot
07:17:12 -!- dts|pokeball has quit (Ping timeout: 250 seconds).
07:17:40 <elliott> "nyahahaha" is the evil laugh of a cat.
07:17:51 <Solace> i am cat
07:17:58 <Sgeo> Why does evil look so good? http://images7.alphacoders.com/381/381214.jpg
07:18:00 <Solace> Didnt you know elliott
07:18:20 <oerjan> Solace: i wrote a lot of https://esolangs.org/wiki/Underload
07:18:37 <Solace> Amaze
07:19:00 <elliott> Solace: that explains it
07:19:19 <oerjan> https://esolangs.org/wiki/Deadfish#itflabtijtslwi and https://esolangs.org/wiki/Deadfish#Unlambda are mine
07:19:26 <Solace> Ah yes a stack language
07:19:37 <Solace> I was just thinking of that tbh
07:20:24 <Solace> Christ on a cracker!
07:20:28 <Solace> Thats alot
07:20:39 <Solace> Deadfish#unlambda
07:20:56 <elliott> deadfish is the great unifier of our community
07:21:22 <Taneb> oerjan, isn't https://esolangs.org/wiki/Deadfish#Fueue also you
07:21:25 <oerjan> more unlambda i made hear http://oerjan.nvg.org/esoteric/interpreter.unl
07:21:38 <oerjan> Taneb: um i don't think so, actually
07:21:41 <oerjan> or is it?
07:22:04 <Taneb> It was either you are Arc_Koen
07:22:07 -!- zzo38 has joined.
07:22:08 <oerjan> *here
07:22:14 <Solace> clever dc and falcon look cool
07:22:32 <oerjan> oh i did
07:22:38 <oerjan> i'd forgotten about that
07:22:40 <Solace> Are you guys the kewl cids
07:23:02 <elliott> yes
07:23:34 <Solace> oerjan: that link is filled with broken fonts and stuff
07:23:38 <Solace> i cant read it
07:24:29 <oerjan> Solace: it's latin-1, or should be
07:24:43 <Solace> Lets see
07:24:50 <Solace> Its in raavi for me
07:24:55 <oerjan> or wait
07:25:02 <Solace> Maybe its my browser?
07:25:13 <oerjan> Solace: the problem is that it contains a character table of all 256 bytes
07:25:23 <Solace> I do have font styles locked
07:25:25 <Solace> Oh
07:25:27 <oerjan> that may confuse a lot of browsers
07:25:41 <Solace> Ill switch to Palemoon for a second
07:26:16 <Solace> Is it supposed to be all cramped like that?
07:26:23 <Solace> Or does in read down
07:27:04 <Solace> it*
07:27:25 <oerjan> <Sgeo> Why does evil look so good? http://images7.alphacoders.com/381/381214.jpg <-- pyongyang?
07:27:48 <Sgeo> The Juche Tower in Pyongyang
07:28:07 <Solace> Ah i see
07:28:16 <Solace> Well it looks pretty
07:28:28 <Solace> Doesnt understand any of that
07:30:14 <Solace> Is there any Esolang that is just Tables?
07:30:21 <Solace> Im good at tables
07:30:25 <Sgeo> The buildings near it also look good, but weird. Like, boxy art in some game
07:30:35 <Taneb> Solace, tables in what sense?
07:30:51 <Solace> Data
07:31:03 <Taneb> Hmm
07:31:05 <Taneb> SQL?
07:31:09 <Solace> Or Code that resembles Table structures
07:31:27 <Solace> Thats an esolang?!
07:31:52 <Solace> Arent esolangs supposed to be hard Taneb?
07:32:07 <Taneb> Solace, try using SQL for general programming
07:32:13 -!- roasted42 has joined.
07:32:21 <Solace> /already does
07:32:48 -!- Sprocklem has quit (Ping timeout: 250 seconds).
07:32:51 <oerjan> i think he means _only_ SQL
07:32:55 <Solace> Oh
07:33:03 <Solace> God dammit woman!
07:33:17 <Solace> I cant do that ive used SQL for two years
07:33:27 <Solace> Im tired of dat
07:33:35 <oerjan> zzo38 can, i think.
07:33:47 <Taneb> oerjan, I am 72% convinced zzo38 is magic
07:33:48 <oerjan> at least he seems to be trying.
07:34:00 <elliott> which one is the woman here
07:34:07 <Solace> Taneb what makes you say that
07:34:24 <Solace> oerjan is elliott
07:34:42 <oerjan> this i find unlikely
07:34:43 <Solace> go give your grandma a hug
07:34:45 <Solace> jk
07:34:55 <Solace> oh yorick is in here
07:34:59 <Taneb> elliott, I am not sure but I think either me or oerjan
07:35:00 <oerjan> both my grandmas are dead, would be awkward
07:35:19 <Solace> Hes on esper or is that another but same name idk
07:35:26 <elliott> maybe Solace was referring to Solace
07:35:36 <Solace> im male ;-;
07:35:45 <Solace> Its just a saying y'know
07:35:48 <oerjan> alas, poor yorick doesn't say much here
07:36:10 <Solace> The yorick on esper is very talkitive
07:36:40 <Taneb> Maybe yorick is distracted by esper
07:36:47 <Solace> So i found this great book like 4 years ago
07:37:01 <Solace> And i lost the name of it before i finished it
07:37:13 <Solace> Or minecraft Taneb
07:38:01 <oerjan> minecraft is so 2-3 years ago
07:38:04 <Solace> Thats what the yorick there does
07:38:05 <oerjan> for this channel
07:38:07 <Solace> mods it
07:38:26 <Solace> He knows alot for brainfuck and haskell tho so i wonder
07:38:30 <elliott> oerjan: 2-4 even actually I think
07:39:01 <Solace> vanilla mincrift
07:39:07 <Solace> its all about those mods
07:39:30 <Solace> Theres some cool ones to bad i dont waste money on things i dont really have time for
07:39:43 <oerjan> Solace: btw i also made this https://esolangs.org/wiki/Fueue#Brainfuck_interpreter
07:40:00 <elliott> we had a modded server, back in the day.
07:40:15 <elliott> back when health didn't work in multiplayer and you could duplicate items
07:40:20 <elliott> the good old days
07:40:46 <Solace> mods like AE and oc are pretty cool and complex
07:41:25 <oerjan> brainfuck and haskell does sound like he should be here
07:41:27 <elliott> also back when minecart boosters were a thing, and redstone was kind of broken, and...
07:41:39 <Solace> ye
07:41:50 -!- nisscrooge has quit (Ping timeout: 244 seconds).
07:41:50 <oerjan> elliott: so basically they fixed everything and now it sucks?
07:41:58 <elliott> oerjan: pretty much exactly that, yes
07:42:10 <elliott> the bugs were like half of what made it fun
07:42:17 <Solace> You can still make cool things with redstone
07:42:23 <elliott> also they tried to make it into an RPG for no reason because they don't understand the appeal of their own game
07:42:29 <Solace> its also horribly written vanilla.minecraft
07:42:33 <elliott> and added the worst ending imaginable
07:42:35 <Solace> and its been breaking lately
07:42:43 <Solace> Cuz of new staff
07:42:47 <elliott> you should see how broken it was in 2010
07:43:16 <Solace> only big updates are horses and sea temples
07:43:33 <Solace> stuff is getting harder to mod
07:44:02 <elliott> horses and sea temples...
07:44:08 <Solace> yes
07:44:55 <oerjan> what about sea horses twh
07:45:16 <Solace> I was wanting to make a thing that translates haskell into another language you want so if you dont know but know haskell so like cheat?
07:45:29 <Solace> but its probably already been done
07:45:53 <Solace> realtime translation? actually probably not
07:46:24 <elliott> haskell translated into another language would be even less readable than the original haskell
07:46:33 <Solace> Probs
07:46:34 <elliott> its semantics do not map very directly onto most other programming languages.
07:46:43 <Solace> Shhh
07:46:45 -!- roasted42 has quit (Ping timeout: 252 seconds).
07:46:47 <elliott> ?
07:46:51 <Solace> i must
07:47:03 <Solace> I MUST DEFY FATE
07:47:15 <Solace> and make this work
07:47:18 <elliott> it would be good if you didn't say things like "Shhh" and "God dammit woman!" to people who talk to you, it's pretty rude and condescending
07:47:28 <Solace> ye
07:47:30 <Solace> sorry ;-;
07:47:48 <elliott> it's ok, apology accepted :
07:47:50 <elliott> *:p
07:48:02 <Solace> Its a tick just like me scratching my skin away
07:48:06 <Solace> nvm that
07:48:15 <Solace> i wanna make dis work
07:48:31 <Solace> ofc haskell is very wonky
07:48:46 <Solace> idk brainfuck is even more wonky
07:49:08 <Solace> wink wonk
07:49:46 -!- Solace has changed nick to Solace|tablestuf.
07:49:53 <Solace|tablestuf> im gonna go do this
07:50:02 <Solace|tablestuf> wish me lakes
07:50:04 -!- roasted42 has joined.
07:54:54 -!- roasted42 has quit (Ping timeout: 256 seconds).
07:57:20 -!- roasted42 has joined.
08:01:08 -!- mitchs_ has joined.
08:02:02 -!- roasted42 has quit (Ping timeout: 265 seconds).
08:04:21 -!- mitchs has quit (Ping timeout: 252 seconds).
08:04:43 <J_Arcane> Hyvää joulua #esoteric
08:05:40 -!- augur has quit (Ping timeout: 255 seconds).
08:06:30 <elliott> hi
08:10:24 -!- augur has joined.
08:10:25 -!- nisscrooge has joined.
08:13:28 <J_Arcane> man, my haskell skills are rusty.
08:23:34 -!- roasted42 has joined.
08:27:44 -!- roasted42 has quit (Ping timeout: 245 seconds).
08:29:55 -!- roasted42 has joined.
08:31:36 <J_Arcane> > map (\x -> chr (x + 32)) [45,69,82,82,89,0,35,72,82,73,83,84,77,65,83,1]
08:31:38 <lambdabot> "Merry Christmas!"
08:32:41 <Solace|tablestuf> :0
08:34:33 -!- shikhin has joined.
08:34:44 -!- shikhin has quit (Read error: Connection reset by peer).
08:37:49 -!- shikhin has joined.
08:38:22 -!- shikhin has quit (Read error: Connection reset by peer).
08:40:37 -!- shikhin has joined.
08:40:42 -!- roasted42 has quit (Ping timeout: 265 seconds).
08:40:45 -!- shikhin has quit (Read error: Connection reset by peer).
08:45:49 -!- shikhin has joined.
08:46:18 -!- shikhin has quit (Read error: Connection reset by peer).
08:49:17 -!- roasted42 has joined.
08:58:35 -!- roasted42 has quit (Ping timeout: 265 seconds).
09:00:57 -!- shikhin has joined.
09:04:24 -!- nisscrooge has quit (Ping timeout: 245 seconds).
09:07:13 <J_Arcane> The haskell version is so much succinct than the Racket one: (apply string (map (λ (x) (integer->char (+ x 32))) '(45 69 82 82 89 0 35 72 82 73 83 84 77 65 83 1)))
09:14:38 <Jafet> > chr <$> [45,69,82,82,89,0,35,72,82,73,83,84,77,65,83,1]
09:14:40 <lambdabot> "-ERRY\NUL#HRISTMAS\SOH"
09:15:06 <oerjan> > chr . (+32) <$> [45,69,82,82,89,0,35,72,82,73,83,84,77,65,83,1]
09:15:07 <lambdabot> "Merry Christmas!"
09:15:12 <oerjan> hth
09:15:53 <Jafet> > chr . (+32) . ord <$> "-ERRY\0#HRISTMAS\1"
09:15:54 <lambdabot> "Merry Christmas!"
09:16:34 <oerjan> SUCCINCT\1
09:18:03 -!- oren has quit (Ping timeout: 252 seconds).
09:19:53 -!- oren has joined.
09:28:32 -!- roasted42 has joined.
09:33:42 -!- nisscrooge has joined.
10:06:09 <J_Arcane> In DECB: 5 FORX=1TO16:READN:N=N+32:?CHR$(N);:NEXTX:DATA45,69,82,82,89,0,35,72,82,73,83,84,77,65,83,1
10:08:21 <oerjan> what about 5 FORX=1TO16:READN:?CHR$(N+32);:NEXT:DATA45,69,82,82,89,0,35,72,82,73,83,84,77,65,83,1
10:10:27 <J_Arcane> That probably works too. I was debugging and never reverted.
10:13:10 -!- roasted42 has quit (Ping timeout: 256 seconds).
10:18:02 -!- roasted42 has joined.
10:22:48 -!- roasted42 has quit (Ping timeout: 256 seconds).
10:25:46 -!- roasted42 has joined.
10:31:00 <J_Arcane> > let 2 + 2 = 5 in 2 + 2
10:31:02 <lambdabot> 5
10:32:34 <oerjan> > let 2 = 3; 2 + 2 = 6 in 2 + 2
10:32:36 <lambdabot> 6
10:32:51 -!- roasted42 has quit (Ping timeout: 244 seconds).
10:37:57 -!- roasted42 has joined.
11:10:09 -!- Solace|tablestuf has quit (Quit: Connection closed for inactivity).
11:10:27 <myname> wtf
11:10:47 <myname> > let 2 = 3 in 2 + 2
11:10:49 <lambdabot> 4
11:10:54 <myname> :(
11:11:49 <lifthrasiir> > let -2 = 2 in -2 + -2
11:11:50 <lambdabot> Precedence parsing error
11:11:50 <lambdabot> cannot mix ‘GHC.Num.+’ [infixl 6] and prefix `-' [infixl 6] in the same ...
11:11:53 <lifthrasiir> :(
11:14:19 <Jafet> > let (-1) = 1 in (-1)^2
11:14:20 <lambdabot> 1
11:15:17 -!- roasted42 has quit (Ping timeout: 245 seconds).
11:18:13 -!- roasted42 has joined.
11:20:54 -!- oerjan has quit (Quit: leaving).
11:32:06 -!- Phantom_Hoover has joined.
11:43:20 -!- ais523 has joined.
11:50:36 <ais523> merry christmas, those of you who celebrate it today
11:50:53 <ais523> hmm, I received spam for SEO services
11:51:03 <ais523> but it reads almost exactly like viagra spam with relevant nouns swapped out
11:59:18 -!- roasted42 has quit (Ping timeout: 250 seconds).
12:00:21 -!- roasted42 has joined.
12:21:16 -!- shikhin has quit (Ping timeout: 255 seconds).
12:29:57 -!- Patashu has quit (Ping timeout: 240 seconds).
12:31:29 -!- roasted42 has quit (Ping timeout: 258 seconds).
12:31:31 <Taneb> Is your small company negatively affecting your love life?
12:35:09 -!- roasted42 has joined.
12:35:36 <Jafet> After easy, non-invasive enhancement therapy, Rajakrishnan now makes $500/day without leaving the house... find out more
13:11:56 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
13:15:23 -!- shikhin has joined.
13:30:23 -!- roasted42 has quit (Ping timeout: 244 seconds).
13:35:44 -!- roasted42 has joined.
13:39:41 -!- boily has joined.
13:40:09 <boily> JOYEUX NOËËËËËËËËËËËËËL!
14:00:28 <Vorpal> boily, hi
14:05:27 -!- Lymia has quit (Remote host closed the connection).
14:07:02 -!- Lymia has joined.
14:20:25 -!- Zuu has quit (Ping timeout: 250 seconds).
14:21:27 -!- roasted42 has quit (Ping timeout: 265 seconds).
14:26:44 <boily> Vorpal: vhellorpal!
14:27:01 -!- roasted42 has joined.
14:31:45 -!- tromp has quit (Ping timeout: 264 seconds).
14:33:05 -!- cluid has joined.
14:35:08 -!- Zuu has joined.
14:35:19 -!- Zuu has quit (Changing host).
14:35:19 -!- Zuu has joined.
14:40:31 -!- tromp has joined.
14:41:13 -!- roasted42 has quit (Ping timeout: 255 seconds).
14:42:57 -!- Zuu has quit (Ping timeout: 250 seconds).
14:46:18 -!- ais523 has quit (Ping timeout: 256 seconds).
14:48:36 <oren> メリークリスマス!!!
14:49:00 <boily> helloren!
14:50:01 <oren> 今ボイリーは
14:50:18 <scoofy>
14:50:37 <boily> すみませんが、ちょっと違いますよ
14:50:49 <boily> 「ボアリ」です
14:51:39 <boily> (フランス語の性です)
14:51:40 <lifthrasiir> what is poari?
14:51:46 <lifthrasiir> ah
14:51:55 <boily> b, not p :P
14:52:24 <lifthrasiir> indeed, I misread that
14:52:46 <HackEgo> [wiki] [[Harmful Brainfuck]] N http://esolangs.org/w/index.php?oldid=41536 * Cluid Zhasulelm * (+716) Harmful Brainfuck
14:53:33 <oren> メリークリスマス、リフスラシール。
14:53:34 <boily> also, 즐거운 성탄절 보내시고 새해 복 많이 받으세요
14:53:47 <scoofy> cool
14:53:53 <lifthrasiir> perfect!
14:53:56 <scoofy> @ harmful bf
14:54:30 <lifthrasiir> on harmful bf: so it assumes the infinitely-sized cell?
14:54:46 <cluid> oh oops! Thanks for that
14:54:49 <cluid> I forgot something really important
14:55:04 <scoofy> lifthrasiir: i believe not (hence, not Turing-complete)
14:55:05 <cluid> its supposed to be relative jumps
14:55:34 <cluid> so you need unbounded integers (including negative numbers)
14:55:37 <scoofy> "computed jump operator `*` which moves the program counter to the address in the program given by the current tape cell"
14:55:40 <lifthrasiir> scoofy, technically speaking, you can.
14:55:44 <cluid> let me fix that!
14:56:07 <scoofy> I can, what?
14:56:14 <lifthrasiir> you can make it Turing-complete*
14:56:17 <HackEgo> [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41537&oldid=41536 * Cluid Zhasulelm * (+77)
14:56:27 <scoofy> possibly, *if* the jump is relative.
14:56:40 <scoofy> maybe via other ways, too, not sure.
14:57:00 <lifthrasiir> scoofy, BF can simulate TM with a finite size program, so it can immediately jump to the data area after some fixed-size simulator, and at the end of data area (which would set the tape up) it jumps back to the beginning of the simulator.
14:57:08 <lifthrasiir> it can jump back to..*
14:57:36 <scoofy> so there are 2 changes in the text now
14:57:39 <scoofy> 1) cells are infinite
14:57:41 <scoofy> 2) jumps are relative
14:57:54 <scoofy> meaning, you need a bignum library to emulate this?
14:58:03 <cluid> if you hvae any changes you want to make to it, please do! Or I can edit it
14:58:04 <mitchs_> * is an unconditional jump?
14:58:07 <cluid> its' not perfectly designede
14:58:11 <lifthrasiir> mitchs_, computed jump
14:58:17 <cluid> mitchs_, unconditional but computed, so that should be able to do conditionals
14:58:25 <cluid> but it doenst seem powerful enough +I think, maybe im mistaken
14:58:41 <lifthrasiir> ah, I found some issue with my thought: it cannot be easily terminated. :S
14:58:42 <mitchs_> thanks, good point
14:59:20 <lifthrasiir> cluid, what happens when * is run with the out-of-bound offsets?
14:59:29 <lifthrasiir> e.g. +++*
14:59:43 <scoofy> CRASH POW ZAP
14:59:44 <scoofy> of coz
14:59:52 <lifthrasiir> or launch the nethack
14:59:54 <cluid> yeah crash I dont think here anything else it coud do :P
15:00:07 <scoofy> just some heap corruption and nop slides
15:00:08 <scoofy> nothing else
15:00:13 <lifthrasiir> nop slides lol
15:00:29 <scoofy> that's Harmful Branfuck, bitchez!
15:00:32 <scoofy> after all
15:01:00 <cluid> haha
15:01:20 <int-e> cluid: you need to add some more specifics, what's the cell size (8bits signed integer?), but unless you make the sell size really tiny it should easily be TC, since all you have to implement is one particular universal machine.
15:01:38 <cluid> int-e, I've addd that unsigned integer of arbitrary size
15:01:52 <lifthrasiir> int-e, I've pointed it out above, but it would be quite hard to terminate that
15:02:25 <lifthrasiir> ah, no
15:02:26 <lifthrasiir> nvm
15:02:38 <lifthrasiir> that was about the absolute-offset variant of harmful bf
15:03:08 <lifthrasiir> the infinitely-sized-cell relative-offset harmful bf (as currently specified) is definitely TC
15:04:19 <int-e> Hmm, we discussed a language with slightly similar flavor a while back, where the problem was producing the addresses of forward jumps.
15:04:34 <cluid> yeah because we cannot write binary here like we could in MNNBFSL
15:04:45 <int-e> right. http://esolangs.org/wiki/MNNBFSL
15:06:21 <scoofy> this is able to GOTO
15:06:23 <scoofy> as far as I see
15:06:28 <int-e> cluid: hmm, if the values are unsigned then relative addresses are not an option.
15:06:32 <scoofy> via stack <-> ip manipulation
15:06:48 <mitchs_> the wiki doesn't say unsigned, i think it was just an irc typo
15:07:29 <cluid> yeah that's why I chose Integer
15:07:36 <cluid> oh opps
15:07:37 <cluid> sorry
15:07:39 <cluid> <cluid> int-e, I've addd that unsigned integer of arbitrary size
15:07:43 <cluid> correction: signed integer
15:08:11 <cluid> scoofy, yeah - there is an implemented an assembler for it which gives you labels and 'get label address'
15:08:23 <scoofy> nice
15:08:28 <cluid> its a bit complex because you have to write in binary and get all the space ready and things
15:08:36 <int-e> Anyway, I think the 8 bit signed integer cells version with relative jumps could be interesting to investigate.
15:08:42 <scoofy> possibly.
15:10:03 <lifthrasiir> int-e, it would be quite interesting if goto with offset -128/128 terminates immediately
15:10:13 <lifthrasiir> no asymmetry!
15:10:30 <mitchs_> is the program pointer incremented after a jump?
15:10:37 <int-e> lifthrasiir: right, but terminating programs is the least of my worries right now ;-)
15:10:40 <cluid> int-e, I was worried about that killing TC but I supose if you have a 'spine' in your program with notches every 128 then maybe you can get by....
15:10:43 <lifthrasiir> ;)
15:10:45 <cluid> so yes that sounds very interesting
15:11:07 <scoofy> or
15:11:28 <mitchs_> for example the program *, would it be no-op or infinite loop?
15:11:35 <int-e> at which offset does * jump to itself?
15:11:42 <scoofy> have multiple 'spines' in the center to 'guide' the jump somewhere
15:12:23 <scoofy> but
15:12:36 <int-e> (many CPUs have offset 0 correspond to the instruction following a jump, that's why I'm asking)
15:13:07 <int-e> But I guess it's prettier to have 0 jump to the * itself.
15:13:44 <scoofy> inf loop?
15:13:58 <scoofy> jmp 0 ---> 'halt and cach fire'
15:14:18 <int-e> lifthrasiir: that's also a natural candidate for immediate program termination :P
15:14:20 <scoofy> you can add a mnemonic to the assembler HCF
15:15:25 <lifthrasiir> hmm, if jmp 0 terminates, how can one make an infinite loop?
15:15:31 <scoofy> jmp --1
15:15:43 <lifthrasiir> ah, well
15:15:46 <scoofy> where opcode at -1 pos is NOP
15:15:54 <lifthrasiir> hmm
15:15:59 <int-e> alternatively, we could have -128..-1 jump to instructions before the * and 0..127 to instructions after the *, never jumping to the * itself. That would also be sort of symmeric.
15:16:01 <lifthrasiir> wait, is it possible?
15:16:11 <scoofy> why not?
15:16:27 <scoofy> does it not have NOP ?
15:16:28 <lifthrasiir> do comment characters count?
15:16:36 <lifthrasiir> towards the offset calculation, that is
15:16:45 <scoofy> UNSPECIFIED
15:16:55 <lifthrasiir> okay, so it is like an undefined behavior in C/C++
15:17:01 <scoofy> sounds like.
15:17:12 <lifthrasiir> you are free to launch the nethack or cause the earth destruction
15:17:13 <scoofy> it may, or may not. go into infinite loop.
15:17:19 <scoofy> or halt and catch fire.
15:17:21 <lifthrasiir> (I would be pleased when the latter is possible)
15:17:23 <scoofy> depending on implementation
15:17:44 -!- Zuu has joined.
15:18:00 <cluid> yes comment chars shoudl count I think
15:18:05 <cluid> otherwise it might be too hard
15:18:15 <scoofy> not really
15:18:21 <cluid> comment chars are kind of fun in MNNBFSL
15:18:23 <lifthrasiir> then `- *` is a simple infinite loop
15:18:28 <scoofy> --+-*
15:18:30 <scoofy> inf loop
15:18:32 <scoofy> without NOP
15:18:36 <cluid> hmm!
15:18:36 <scoofy> (+-) = NOP
15:18:41 <int-e> So ok. I think I'll play with a version with +-<>.,* and nops, and jumps centered on the * (* on a 0 cell loops forever), and 8 bit signed cells.
15:18:53 <scoofy> NOTE: -+ == NOP
15:18:57 <int-e> scoofy: nope
15:19:07 <scoofy> um... unless it does not wrap around properly.
15:19:07 <int-e> scoofy: you can't jump in there at an arbitrary place
15:19:23 <scoofy> sure. i'm just saying, +- is equivalent to NOP.
15:19:32 <int-e> and I just told you that it's not
15:19:34 <scoofy> (assuming wrap around)
15:19:43 <scoofy> please, explain?
15:19:46 <int-e> I DID
15:19:56 <scoofy> where
15:20:04 <int-e> if you jump into the middle of the -+ then the effect will not be a nop.
15:20:08 <scoofy> exactly.
15:20:16 <scoofy> but, if you jump to -2. it is equivalent.
15:20:19 <scoofy> to NOP.
15:20:27 <scoofy> so, just don't jump to -1 ! and it'll be OK
15:20:34 <scoofy> or, you can jump there anyways... for added fun and effect
15:20:35 <int-e> So it's not a nop in the scope of the language.
15:20:35 <scoofy> ;)
15:20:39 <scoofy> well
15:20:55 <scoofy> as long as you don't jump into the middle to skip the first part of it, it is a NOP.
15:21:03 <scoofy> if you do, then it's your fault.
15:21:16 <scoofy> this is Harmful Brainfuck, don't forget!
15:21:21 <scoofy> you have to be careful, where you jump.
15:22:01 <scoofy> (sure you can add comment chars, if you want to make it easier, and less fun)
15:26:41 -!- contrapumpkin has changed nick to copumpkin.
15:29:22 <HackEgo> [wiki] [[Cheese+++]] N http://esolangs.org/w/index.php?oldid=41538 * Cluid Zhasulelm * (+1557) Cheese+++
15:30:13 <HackEgo> [wiki] [[Brainfuck derivatives]] http://esolangs.org/w/index.php?diff=41539&oldid=41522 * Cluid Zhasulelm * (+24) /* GOTO FUCK */
15:31:04 <HackEgo> [wiki] [[User:Cluid Zhasulelm]] M http://esolangs.org/w/index.php?diff=41540&oldid=41513 * Cluid Zhasulelm * (+129)
15:33:10 <mitchs_> why is it called harmful?
15:33:22 <scoofy> 'GOTO is considered harmful'
15:33:24 <scoofy> never heard that? :)
15:33:33 <mitchs_> aha
15:33:39 <scoofy> title of a famous paper
15:34:02 <scoofy> http://www.u.arizona.edu/~rubinson/copyright_violations/Go_To_Considered_Harmful.html
15:34:08 <mitchs_> i had heard of it, yes
15:34:12 <cluid> copyright_violations haha
15:34:22 <scoofy> lol
15:34:30 <scoofy> at least he's upfront about it
15:34:55 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
15:35:08 <scoofy> so, based on this article, Harmful Brainfuck will have disastrous effects on program readability and maintainability
15:35:15 <mitchs_> oh no
15:35:26 <scoofy> you won't be easily read nice structured brainfuck
15:35:34 <cluid> XD
15:36:49 <scoofy> and maintaining Harmful Brainfuck programs will be harder than with regular Brainfuck
15:37:03 <cluid> ill write an impementation in C
15:37:11 <scoofy> go ahead :P
15:37:11 <cluid> or should it be javascript
15:37:15 <cluid> what will be easiest for people to use
15:37:21 <scoofy> C sounds good
15:39:07 <mitchs_> C would be good for adding it to anarchy golf
15:44:33 <mitchs_> (assuming it turns out to be a powerful enough language)
15:47:07 <int-e> http://sprunge.us/fdDN?c ... based on the bfgolf reference implementation.
15:47:31 <cluid> oh thanks!
15:47:44 <cluid> can we please put this on the wiki?
15:47:56 <cluid> I mean link to it
15:47:57 <scoofy> no range error checking fr jump?
15:47:59 <cluid> I gues..
15:48:10 <scoofy> oh there is.
15:48:12 <scoofy> later on
15:48:18 <mitchs_> 8 bit cells could make for some awkward jumping schemes, although maybe that would be more fun for some people
15:48:23 <scoofy> indeed.
15:48:36 <scoofy> some central 'spine' in the program at 128/256 intervals...
15:49:16 <cluid> hm maybe signed ints and the two jumps. ] to go left and [ to right right...
15:49:24 <cluid> unsigned**
15:49:40 <int-e> Oh, I added some redundant checks there.
15:49:52 -!- roasted42 has joined.
15:51:23 <scoofy> i spot an error
15:51:32 <scoofy> if (a[p] == -128) {
15:51:44 <scoofy> should be 'if (a[p] == -129)'
15:51:47 <scoofy> -128 is valid
15:52:14 <scoofy> and 'if (p > MAXBUF) {' should be
15:52:19 <scoofy> if (p == MAXBUF) {
15:52:37 <scoofy> after all, if MAXBUF = 32768, then a[32768] is out of range
15:52:58 <int-e> the -128 is intentional, for symmetry. THe other one was a brainfart, but a harmless one since it's checked again below.
15:53:47 <scoofy> indeed. it's checked at 2 places.
15:54:00 <scoofy> and there's no range check for IP overflow/underflow.
15:54:43 <int-e> Yes, you can jump anywhere outside of the program space to terminate it.
15:54:56 <scoofy> except, it wouldn't terminate it.
15:55:01 <scoofy> would it?
15:55:15 <int-e> while (ip >= 0 && ip < code_len) { <-- that should do the trick
15:55:24 <scoofy> oh.
15:55:28 <scoofy> indeed.
15:56:00 <int-e> http://sprunge.us/DDLH?c -- removed the unintentional changes.
15:56:41 <mitchs_> there's no way to output 0xff ?
15:56:46 <scoofy> ' if (a[p] == -128) { ' this is probably incorrect
15:56:51 <scoofy> as -128 is valid as a signed char
15:56:55 <scoofy> -129 isn't
15:57:10 <scoofy> mitchs_, you can output it as negative
15:57:15 <scoofy> that is... -1
15:57:20 <scoofy> which is 0xFF
15:57:21 <mitchs_> er, i made a mistake then
15:57:30 <mitchs_> whatever the unsigned equivalent of -128 is
15:57:32 <int-e> mitchs_: 0x80 is the value that's omitted.
15:57:35 <mitchs_> ah
15:57:53 <scoofy> question is, why is it omitted.
15:58:00 <int-e> symmetry!
15:58:11 <scoofy> who cares about symmetry?
15:58:16 <scoofy> i care about being able to output 0x80
15:59:17 -!- scoofy has quit (Quit: Leaving).
16:00:24 -!- scoofy has joined.
16:01:22 -!- Zuu has quit (Ping timeout: 250 seconds).
16:01:24 <int-e> well, let me rewrite the thing so that it can be legally on the wiki...
16:02:46 -!- Zuu has joined.
16:03:05 -!- roasted42 has quit (Ping timeout: 258 seconds).
16:05:54 <int-e> more seriously, , was implemented wrong.
16:06:08 -!- roasted42 has joined.
16:13:34 -!- roasted42 has quit (Ping timeout: 245 seconds).
16:15:57 -!- roasted42 has joined.
16:21:03 <int-e> so how about http://sprunge.us/YXfd?c
16:22:23 <int-e> (there really aren't that many degrees of freedom for writing such an interpreter.)
16:24:28 <scoofy> looks good!
16:24:43 <scoofy> maybe the case ',' could be written shorter as, data[p] = (signed char)getchar() ?
16:25:16 <scoofy> althought that's not fully equivalent
16:25:18 <cluid> this loooks great thanks a lot!
16:25:21 <cluid> why is it ip += data[p] - 1;
16:25:37 <int-e> cluid: because there'll be an ip++ later.
16:25:38 <scoofy> cos: for (ip = 0; ip >= 0 && ip < size; ip++) {
16:25:41 <scoofy> ip++
16:25:54 <int-e> cluid: and I wanted to have 0 jump to the * itself.
16:26:31 <scoofy> so that's inf. loop
16:26:44 <cluid> ah :)
16:28:57 <scoofy> looks good! so who writes the first 'towers of hanoi' in harmful brainfuck? :P
16:36:12 -!- roasted42 has quit (Ping timeout: 250 seconds).
16:37:12 <cluid> it just sems too hard!
16:37:18 <cluid> It would be so cool if someone managed
16:41:03 -!- roasted42 has joined.
16:42:13 <int-e> Oh, I almost missed the "gotos considered harmful" reference.
16:48:52 -!- dts|pokeball has joined.
16:58:14 <int-e> scoofy: btw, casting an out-of-range integer value to a signed type has "implementation-defined" behavior; an implementation is free to specify various behaviours (ideas include wrap-around, saturation, and raising a signal).
16:58:26 <scoofy> indeed.
16:59:49 <int-e> (Then again I should probably be more careful with that putchar() call if I wanted the code to be portable. Oh and not use ints for values larger than 32767...)
17:01:30 <cluid> we should program in assembly for sureness
17:02:19 <int-e> cluid: go ahead, don't let us stop you
17:03:17 -!- ais523 has joined.
17:03:49 -!- InvalidCo has quit (Ping timeout: 272 seconds).
17:03:56 -!- InvalidCo has joined.
17:04:05 -!- cluid has quit (Quit: Leaving).
17:04:12 <ais523> oh, cluid just left
17:04:27 <scoofy> maybe, just write it in Brainfuck
17:04:27 <ais523> BF except with "goto current tape location" is almost certainly TC, despite the claims of the article
17:04:28 <int-e> POKE-d the wrong address, I bet.
17:04:32 <scoofy> for maximum portability, ya know
17:04:35 <ais523> and probably is even with 8-bit cells, although that's less obvious
17:04:52 <scoofy> you guys should implement it in brainfuck, to make it portable
17:05:57 <int-e> I guess the natural file extension for harmful brainfuck is .h :-)
17:06:58 <scoofy> .hbf
17:07:17 <int-e> that's not so harmful ;-)
17:07:39 <scoofy> and not so conveninet.
17:08:06 <scoofy> unless it is a polyglot in C and also compiles to C, i wouldn't call that 'harmful'.
17:08:24 <int-e> Ok, so the downside of the infinite loop on 0 is that one cannot process arbitrary binary data. But that's no obstacle to TC-ness.
17:08:25 -!- roasted42 has quit (Ping timeout: 244 seconds).
17:08:38 <int-e> (I guess ais523 just saw that restriction)
17:09:44 <scoofy> well, jmp 0 puts it into inf loop.
17:09:53 <scoofy> so first you have to test for zero.
17:10:01 <int-e> * is the only conditional we have
17:10:20 -!- Phantom_Hoover has joined.
17:10:46 -!- roasted42 has joined.
17:10:54 <scoofy> ummmm.........
17:11:08 <scoofy> that's tricky.
17:11:25 <scoofy> so 0x00 in data means "halt and catch fire"
17:16:52 <ais523> int-e: that means it's not BF-complete, not that it's not TC
17:17:38 <ais523> it might even be possible to write arbitrary programs in it, and get full TC (not just curly-L), via appending data to a short interp
17:19:36 <int-e> I might switch to 9 bit signed ints to make it BF-complete.
17:20:21 -!- InvalidCo has quit (Ping timeout: 264 seconds).
17:26:03 -!- InvalidCo has joined.
17:30:22 -!- InvalidCo has quit (Ping timeout: 250 seconds).
17:30:57 -!- sebbu2 has joined.
17:31:30 -!- InvalidCo has joined.
17:31:34 -!- sebbu2 has quit (Changing host).
17:31:34 -!- sebbu2 has joined.
17:32:32 -!- sebbu has quit (Ping timeout: 250 seconds).
17:37:44 -!- roasted42 has quit (Ping timeout: 245 seconds).
17:40:15 -!- roasted42 has joined.
17:50:40 <myname> how is fancy-L completeness defined?
17:51:07 -!- roasted42 has quit (Ping timeout: 245 seconds).
17:55:47 <HackEgo> [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41541&oldid=41537 * 212.95.7.129 * (+939) Semantic update (* is relative), and example program.
17:57:00 -!- roasted42 has joined.
17:59:37 <HackEgo> [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41542&oldid=41541 * 212.95.7.129 * (-13) fix extra spaces
18:00:50 <int-e> Maybe there should be dialects: absolutely harmful brainfuck and relatively harmful brainfuck...
18:01:14 <scoofy> heh.
18:02:04 -!- roasted42 has quit (Remote host closed the connection).
18:02:54 <Sgeo> "Version Schema
18:02:54 <Sgeo> MINOR: increased every christmas, may be API incompatible"
18:04:03 -!- roasted42 has joined.
18:04:06 <myname> where is that from?
18:04:45 -!- drdanmaku has joined.
18:04:55 <Sgeo> https://www.reddit.com/r/ruby/comments/2qcvoz/ruby_220_released/
18:21:31 -!- SopaXorzTaker has joined.
18:22:31 -!- SopaXorzTaker has set topic: The channel of returning trolls | but often spelled correctly. | /join #esolang http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
18:25:26 -!- int-e has set topic: The channel of returning trolls | but often spelled correctly. | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
18:26:17 <myname> wtf
18:26:50 <int-e> yes, my thought exactly.
18:27:07 <int-e> elliott: this may be of interest to you.
18:37:58 -!- augur has quit (Remote host closed the connection).
18:39:52 -!- roasted42 has quit (Ping timeout: 258 seconds).
18:40:14 <pikhq> Please, someone drill into my teeth.
18:41:40 -!- SopaXorzTaker has quit (Remote host closed the connection).
18:43:34 <int-e> pikhq: this might be just the thing for you: http://www.girlgeniusonline.com/comic.php?date=20090306
18:45:17 <pikhq> Yes please.
18:50:34 <int-e> Interestingly, #esolang was registered 8 years ago, but it's totally empty.
18:59:54 <int-e> And of course the founder is actually here. Hi Zuu :)
19:04:01 -!- shikhin_ has joined.
19:06:54 -!- shikhin has quit (Ping timeout: 245 seconds).
19:07:02 -!- shikhin_ has changed nick to shikhin.
19:14:52 -!- oren has quit (Ping timeout: 240 seconds).
19:33:32 -!- InvalidCo has quit (Ping timeout: 258 seconds).
19:39:50 -!- InvalidCo has joined.
19:51:34 -!- InvalidCo has quit (Ping timeout: 265 seconds).
19:53:04 -!- InvalidCo has joined.
19:59:24 -!- InvalidCo has quit (Ping timeout: 245 seconds).
20:04:37 -!- InvalidCo has joined.
20:05:29 <zzo38> Maybe something like Lisp could be made to target this format http://rpg.hamsterrepublic.com/ohrrpgce/HSZ it would probably be better than the existing compiler. It could be called "Hamster Lisp" compiler.
20:06:49 <drdanmaku> oh man ohrrpgce
20:06:56 <drdanmaku> i remember using that over a decade ago
20:07:27 <drdanmaku> those default 3d-ish smiley sprites were great
20:09:17 -!- InvalidCo has quit (Ping timeout: 240 seconds).
20:10:30 <zzo38> This format is a tree data so it seem like a Lisp like format with macros would be a good way to compile into such a thing.
20:11:31 <zzo38> drdanmaku: If you have worked with that, have you worked with BAM music files? I have written a program to convert BAM into VGM so that you can play them with VGMPlay (which includes a OPL2 emulator).
20:12:02 <drdanmaku> those words may have meant something to me back in like 2002
20:12:19 <drdanmaku> i'm just surprised this thing is still around
20:15:47 <zzo38> The modern version is license by GNU GPL, and can no longer play BAM; it converts BAM to MIDI and plays it back, resulting in it isn't very good since MIDI will play back differently depending on the computer and cannot contain OPL2 instruments.
20:23:40 <zzo38> One thing is that although fonts in OHRRPGCE are 8x8 mono, they do not use a common format; however, they are equivalent to the common format with the characters rotated and a header added.
20:24:21 <zzo38> (The header is simply a BSAVE header.)
20:24:42 <myname> did anybody said what you have to do to be fancy-L complete?
20:25:20 <zzo38> myname: Did you look in the wiki about fancy-L completeness?
20:25:29 <ais523> myname: a language is fancy-L complete if at least one program in that language is an interpreter for a TC language
20:26:12 <myname> i read it once, but i'm not clear of what to think about it
20:26:32 <myname> i'm not sure if it is less or more specific than tc
20:29:11 -!- InvalidCo has joined.
20:32:30 <zzo38> It isn't entirely clear to me either, although I can see by the wiki clearly describes what fancy-L is, although how it interacted with computation class and that stuff is unknown.
20:34:52 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
20:35:19 <myname> didn't people here mentioned something like "only fancy-L but not tc"?
20:38:47 <zzo38> Like does HQ9+B count for example?
20:38:56 <zzo38> I don't quite know.
20:40:12 <boily> AAAAAAAAAAAAAAAAAAAAAAAAAAAAAH!
20:40:17 -!- boily has quit (Quit: EMERALD CHICKEN).
20:41:03 <zzo38> Is there any such thing as some Lisp variant where you can have local names guaranteed not to conflict with outer names by for example if (CONSTANT X 42) may define a constant X as 42 but (~X (CONSTANT X 42)) does not redefine X at all from the view outside of that block (it defines an inaccessible constant)?
20:42:32 <zzo38> (And if you typed (~CONSTANT (CONSTANT X 42)) then it would be an error because the CONSTANT command is not understood.)
20:43:11 <int-e> myname: In the most recent context, the term used was "BF-complete", which includes I/O capabilities.
20:46:36 <int-e> In any case I'm happy with calling the elements of fancy-L Turing-complete, because some trivial input preprocessing is allowed, and prepending a constant string is quite trivial. But it is indeed slightly disturbing that such a fundamental concept has no universally (sic!) agreed formal definition.
20:48:20 <myname> is that a job for the eso standard group?
20:49:11 <elliott> int-e: I do not know what you mean by prepending a constant string
20:49:30 <elliott> an example fancy L is the language with exactly one program, run_bf(read_stdin())
20:50:21 <zzo38> int-e: Yes it is what the problem is, it seems, in fact.
20:50:27 <zzo38> That is what I thought too.
20:50:34 <int-e> elliott: Ah, I *want* self-delimiting programs. Then I prepend the brainfuck program to the input.
20:50:53 <elliott> I see.
20:51:00 <elliott> well, input is at the heart of the fancy L problem
20:51:27 <int-e> ^bf ,[.,]#12345
20:51:47 <elliott> you mean !
20:51:57 <int-e> !bf ,[.,]#12345
20:51:59 <EgoBot> No output.
20:52:03 <elliott> you mean !
20:52:07 <int-e> !bf ,[.,]!12345
20:52:08 <EgoBot> No output.
20:52:29 <elliott> or not.
20:52:33 <elliott> ^bf ,[.,]!q
20:52:33 <fungot> q
20:52:48 <int-e> it had to be the fourth choice, of course.
20:52:52 <elliott> int-e: ha, did you think I meant the ! at the start of the line? :)
20:52:58 <elliott> I didn't even think of that interpretation until now
20:54:11 <int-e> So anyway, with that convention, ^bf is universal, even though it's a fixed program with only one stream of input.
20:54:41 <int-e> (imo, ymmv)
20:54:46 <ais523> `! bf ,[.,]!q
20:54:57 <ais523> hmm, EgoBot is faster
20:55:08 <ais523> either that, or HackEgo's malfunctioning again
20:55:10 <ais523> `! bf ,[.,]!q
20:55:17 <HackEgo> No output.
20:55:40 <HackEgo> No output.
20:57:27 <elliott> int-e: okay, but I think the position here is that f("...!...") is really just notation for g("...", "...")
20:57:34 <elliott> and the point is to fix the first argument of g
20:57:50 -!- ais523 has quit (Read error: Connection reset by peer).
20:57:52 <elliott> the whole point is that we can argue about it all day, of course
20:58:00 -!- ais523 has joined.
20:58:42 <int-e> elliott: of course, that's the point of any self-delimiting encoding of things as strings of atoms: you can encode a stream of things in a stream of atoms.
20:59:18 <int-e> You just need to be careful not to drown.
20:59:45 <elliott> int-e: I guess the point is that (a) generally we define TCness in terms of (program, input), *not* single strings; (b) regardless, however many arguments you have, one of them has to be fixed.
21:00:33 <int-e> At least Chaitin got this right.
21:00:37 <elliott> -- e.g., note that the theory is generally in terms of "functions" rather than "computation" (which is one of the major ambiguities of TCness in terms of things like CAs and so on)
21:00:44 <elliott> *"computations"
21:01:05 <elliott> whereas bf("...!...") is a "computation" where you encode the input inside. so it's not too conventional from this perspective.
21:01:17 <elliott> (as in, there is really no "input", it's just like perl's __DATA__; a data-encoding part of the program)
21:01:26 <int-e> (Chaitin's Algorithmic Information Theory has self-delimiting programs and inputs almost everywhere.)
21:01:33 -!- Patashu has joined.
21:01:46 <elliott> I wouldn't be surprised if Chaitin had already come up with the fancy L idea.
21:08:43 <int-e> elliott: bf("...!...") <-- but this is what universal TMs do as well, encode a TM in the initial part of the tape followed by the actual TM's input, possibly recoded to compensate for mismatches in the alphabet.
21:09:14 <elliott> int-e: sure, yeah. that is one of the most perverse things about it: UTMs are often the odd one out in the way we think about TCness :)
21:10:03 <int-e> (Obviosusly I consider UTMs to be TC, though I see the potential to disagree.)
21:10:04 <ais523> elliott: some definitions of UTMs use a separate input tape
21:10:21 <ais523> normally, which only allows "read and move forwards" instructions, not moving backwards or writing
21:11:16 <int-e> Right, there are actually too many flavors of TMs as well.
21:11:34 <int-e> All morally equivalent, but that's rarely spelled out formally.
21:13:32 <ais523> it matters a lot when you're trying to define "equivalent"
21:14:16 <int-e> (Imagine implementing a chess engine on a Minsky counter machine. "Oh, see, that machine is not interactive. So you have to plan ahead, predict the machine's moves, collect all your replies and encode them all at once as input by plugging it into the following crazy formula...")
21:15:14 <int-e> (it's just the same with the bf("...!...") thing, of course.)
21:15:50 <ais523> int-e: wouldn't you give the machine a description of what you'd play in all possible situations?
21:16:08 <elliott> (uploads brain) finally, I can play chess with a computer
21:16:18 <int-e> ais523: I'm trying to be *cough* practical here.
21:16:26 <elliott> int-e: to be fair, I don't think any notion of TC cares about "interactive"
21:16:37 <elliott> the input tends to be specified up-front, formally
21:16:37 <ais523> we have a notion of BF-completeness because of this sort of thing
21:16:59 <int-e> elliott: of course not. nobody cares, since one can start as many computations as one likes.
21:17:20 <elliott> int-e: yes, why don't we just make the computations do single steps instead of looping... oh wait
21:17:38 <int-e> elliott: but we *were* discussing the role of input and output, and this really matters a lot when interaction comes into play.
21:18:42 <int-e> The scope of "nobody" was theoretical computer scientists (like myself), and I'm sure there are exceptions.
21:19:19 <elliott> it was a joke
21:19:54 <int-e> I'm serious. Mostly.
21:20:14 -!- roasted42 has joined.
21:20:31 <elliott> sounds off-topic
21:20:46 <int-e> Turing Completeness Science is no laughing matter!
21:24:16 -!- oren has joined.
21:31:31 <oren> So, about  that widechar language
21:32:22 <oren> I've decided to make it using an actual formal grammar
21:33:18 <myname> is there any real reason to not just take normal letters?
21:33:22 -!- ^v has joined.
21:34:04 <oren> The language will only accept characters that are full width
21:34:17 <oren> halfwidth chars will be used only for comments
21:37:51 -!- idris-bot has quit (Quit: Terminated).
21:38:22 -!- Melvar has quit (Quit: WeeChat 1.0.1).
21:41:55 -!- Melvar has joined.
21:45:17 <oren> data types will be such as: 整数、正整数、実数、文字列
21:45:50 <oren> that is to say, integer, unsigned, real number, character string
21:46:59 -!- idris-bot has joined.
21:47:28 <int-e> ⣾⣉⣷ ⣿⣀⣿ ⣿⣉⡷ ⣾⢉⣓ ⣿⣀⣿ ⣿
21:47:28 <int-e> ⠿ ⠿ ⠿ ⠿ ⠿ ⠿ ⠻⠤⠟ ⠿ ⠿ ⠶
21:47:51 <oren> AHRGH? 
21:48:19 <oren> int-e, what has you riled up today?
21:49:02 <int-e> I think the wide characters grew old yesterday.
21:49:22 <int-e> Also, christmas. Well, at least that's pretty much over.
21:50:07 <oren> wll i dunno how to do the quad-width double height chars you did...
21:52:09 <oren> 整数 人=
21:52:23 <oren> 12+3
21:53:02 <oren> `unidecode ⣾⣉⣷
21:53:03 <HackEgo> ​[U+28FE BRAILLE PATTERN DOTS-2345678] [U+28C9 BRAILLE PATTERN DOTS-1478] [U+28F7 BRAILLE PATTERN DOTS-1235678]
21:53:08 <int-e> I manually composed them from braille patterns.
21:53:15 -!- roasted42 has quit (Ping timeout: 272 seconds).
21:54:03 <int-e> if you script that I'll put you on ignore. promised.
21:54:30 <oren> script what?
21:54:48 <int-e> a braille-pattern based font
21:55:00 -!- roasted42 has joined.
21:55:01 <oren> i have no plans on that sounds too hard
21:56:14 <int-e> Damn, I really *am* grumpy today.
21:56:33 <oren> especially since i can get a relatively large font just by using the wide latin mode on my IME
21:57:38 <elliott> don't worry I'll be kicking if the doublewidth text thing goes on too long
21:57:50 <elliott> although I will allow it if oren speaks exclusively in japanese
21:57:51 <coppro> now I'm worried
21:58:35 <oren> そうか? OKです
22:00:04 <oren> 心配しない、コップロさん。日本語は簡単だよ。
22:00:14 <coppro> fact: I cannot read japanese
22:00:23 <coppro> I approve of this esoteric language
22:01:11 <oren> どうもありがとうございます
22:01:33 <elliott> I regret everything
22:04:00 * nortti can actually understand what oren is saying :O
22:04:13 * pikhq can as well
22:04:20 <nortti> well, with the help of kanji dictionary, but still
22:04:25 <oren> 安心しよ、エリオットさん。難しくなってば、俺は英語に喋る
22:04:42 <coppro> if I plugged it into a dictionary I could probably get the gist of it
22:04:48 <pikhq> Kanji ga kantan ssu yo.
22:04:53 <pikhq> (gomen, IME nai)
22:05:45 <elliott> nice "eriotto-san"
22:06:07 <coppro> but that's because a dictionary turns it into english ><
22:06:54 <oren> 漢字は簡単、でも文法は難しい
22:07:06 <elliott> shouldn't it be "-sama" when I'm threatening to kick you
22:07:22 <pikhq> elliott: Depends on his opinions towards being kicked I suppose.
22:08:48 <oren> 「どの」かな?
22:09:13 <oren> 江戸時代っらしいけど。
22:13:31 <Sgeo> Is The Interview a good movie? Should I watch it?
22:13:39 <elliott> no
22:15:41 <oren> でわ諸君。全角プログラミング言語の文法わ、半分ALGOLと半分LISPでいいかな?
22:16:42 <myname> hör auf
22:18:41 <oren> 流れ制御はALGOLらしい、でも数学はやっぱりLISPの方がいい。
22:19:13 <myname> oren: this is an english channel
22:19:38 <oren> エリオットの命令だよ。
22:20:45 <oren> elliott> although I will allow it if oren speaks exclusively in japanese
22:21:20 <oren> だから、日本語で話します。
22:22:09 <myname> elliott: i hate you
22:22:46 <elliott> same
22:23:02 -!- roasted42 has quit (Ping timeout: 256 seconds).
22:23:33 <oren> どうしてマイネーム怒ってる?
22:23:38 -!- ais523 has quit (Read error: Connection reset by peer).
22:23:44 -!- callforjudgement has joined.
22:23:58 <elliott> an important life skill is knowing when to stop
22:24:18 <oren> ok fine. it was fun while it lasted
22:24:49 -!- roasted42 has joined.
22:24:55 <oren> i got to say dewa shokun unironically
22:26:58 <oren> what i meant by half-lisp half algol is something like this: x=(* a (- z y))
22:28:35 <oren> because i hate the algol math-like syntax, so i'm replacing it with s-expressions
22:28:53 <oren> while retaining an algol-like control flow
22:29:44 <zzo38> How are the control flows different?
22:30:30 <oren> lisp control flow uses tail recursion, while algol uses explicit while conditions
22:30:44 -!- Phantom_Hoover has joined.
22:30:48 <oren> and often explicit counter variables
22:31:56 <oren> ``for i from 0 to N'' and such
22:31:57 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: `for: not found
22:32:49 <oren> dammit can't i begin a sentence with a symbol without setting off the bots
22:33:14 <int-e> "there are a couple of things that work fine"
22:33:16 <elliott> oren: that's not accurate
22:33:35 <elliott> tail recursion is not really idiomatic in common lisp and often not optimised away, and it has a very elaborate iteration construct in LOOP
22:33:39 <int-e> . o O ( Partly thanks to elliott's diligence. )
22:33:49 <elliott> scheme isn't representative of lisp as a whole
22:34:10 <elliott> int-e: is it diligence when I only kicked it because it annoyed the crap out of me? :p
22:34:31 <elliott> oren: e.g., http://www.gigamonkeys.com/book/loop-for-black-belts.html
22:34:53 <elliott> (LOOP is kind of weird. I don't like its fairly "unlispy" mini-DSL. but it is iteration through and through)
22:35:24 <elliott> it is rather terrifyingly elaborate: http://www.lispworks.com/documentation/lw60/CLHS/Body/m_loop.htm
22:35:46 <int-e> right, that was the other thing that made me turn my back on common lisp...
22:35:48 <elliott> there is also http://common-lisp.net/project/iterate/, which a lot of people prefer due to it having more parentheses. (half-kidding.)
22:36:11 <int-e> (not just loop, but also that sort of documentation)
22:36:39 <elliott> people have this view of "lisp" as being this very clean, very functional, anti-imperative thing with a lot of recursion but actually scheme is the odd one out in its relative purity of design
22:36:44 * int-e is negative today, trying to underflow.
22:37:07 <int-e> scheme is sane!
22:37:10 <zzo38> Well, my idea of the "Hamster Lisp" would resemble more closely control flows of C, since the target binary code expects it, and the source trees would resemble the binary codes closely (other than macros).
22:37:34 <elliott> scheme is *not* exactly simple and elegant, either
22:37:45 <elliott> did you know that letrec + call-with-current-continuation is enough to implement mutable cells with no explicit mutability?
22:37:56 <elliott> or, y'know, the whole dynamic-wind monstrosity...
22:38:04 <int-e> Well, neither is Haskell.
22:38:06 <elliott> also, its strings are mutable, but they cannot change in length(!)
22:38:15 <elliott> (this despite R7RS trying to be all unicodey...)
22:39:07 <int-e> I suspect that only esoteric languages can be simple and elegant.
22:39:16 <elliott> bonus: Scheme's map can more or less either be tail-recursive, interoperate properly with call-with-current-continuation instead of breaking, or iterate through the list only once -- pick two
22:39:26 <elliott> really most of the problems are down to call/cc.
22:39:41 <elliott> it's pretty abstraction-breaking, especially in a higher-order context.
22:40:14 <int-e> So scheme minus call/cc is sane?
22:40:57 <elliott> Scheme minus call/cc is a better-behaved language that is easier to reason about. there is reasonable doubt about how useful call/cc actually is, even when you want continuations; you usually want delimited ones, like Haskell's Cont monad.
22:41:11 <elliott> see http://okmij.org/ftp/continuations/against-callcc.html for oleg's anti-call/cc propaganda
22:43:12 <elliott> I wish R7RS made it optional or something, but I think that'd be politically difficult. call/cc is shiny and fun and seems elegant in its power, people like to use it, and it's part of the image of Scheme.
22:43:34 -!- roasted42 has quit (Ping timeout: 245 seconds).
22:44:58 <elliott> here, have an implementation of IORef with call/cc and letrec: https://groups.google.com/forum/#!msg/comp.lang.scheme/7BKqC7jwZTQ/uf0buv--J7wJ
22:45:06 <elliott> warning: terrifying
22:45:23 -!- roasted42 has joined.
22:45:30 -!- dts|pokeball has quit (Read error: Connection reset by peer).
22:46:15 <elliott> you can see how this happens from the rather precise definition of LETREC:
22:46:20 <elliott> "Semantics: The hvariableis are bound to fresh locations holding unspecified values, the hinitis are evaluated in the resulting environment (in some unspecified order), each hvariablei is assigned to the result of the corresponding hiniti, the hbodyi is evaluated in the resulting environment, and the values of the last expression in hbodyi are returned. Each binding of a hvariablei has the ...
22:46:26 <elliott> ... entire letrec expres- sion as its region, making it possible to define mutually recursive procedures."
22:46:49 <elliott> in effect, call/cc lets us pull out the mutability in the definition of letrec where ordinarily it would be impossible to exploit.
22:47:57 <oren> i see. so, i'm not really talking about lisp when i say lisp, i'm talking about scheme
22:48:02 <int-e> oh, some 'h' and 'i' appear to be whitespace.
22:48:25 <int-e> font changes? or spacing?
22:50:20 -!- dts|pokeball has joined.
22:51:01 <oren> but anyway, so essentially by grammar (on paper) is looking like a chinese version of BASIC with S-exprs instead of infix math
22:51:16 <elliott> int-e: the fancy <>s
22:51:24 <elliott> you know the ones. the tuple ones
22:51:59 <int-e> right
22:52:26 <int-e> and I don't even have them... «»⟪⟫
22:52:41 <elliott> ("One sometimes hears a misleading statement that ``it is possible to implement Scheme's set! in terms of Scheme's call/cc and letrec.'' The statement mis-represents Alan Bawden's observation that according to Scheme standards and common practice, letrec is implemented in terms of set!; that hidden set! can be `pried open' with call/cc. Of course letrec can be implemented without set!, for ...
22:52:44 <int-e> here: ⟨⟩
22:52:47 <elliott> ... example, via the fix-point combinator. The inability of call/cc to express mutable state becomes clear then. Section 4.4 of Friedman and Sabry's ``Recursion is a Computational Effect'' has the detailed explanation." -- Oleg)
22:53:47 <zzo38> How would you implement law of excluded middle continuations in Scheme?
22:53:57 -!- zzo38 has quit (Remote host closed the connection).
22:55:34 -!- augur has joined.
23:03:06 <int-e> How do I unsee this term: "co-finalizers" ...
23:05:39 -!- S1 has joined.
23:05:49 -!- not^v has joined.
23:09:40 -!- ^v has quit (Ping timeout: 250 seconds).
23:12:22 -!- ^v has joined.
23:15:23 -!- cluid has joined.
23:15:39 -!- not^v has quit (Ping timeout: 245 seconds).
23:15:52 -!- not^v has joined.
23:16:15 <cluid> hi
23:16:52 <cluid> 14:55:10 <zzo38> How would you implement law of excluded middle continuations in Scheme?
23:18:47 <cluid> 8.7. Control operators and CPS translations
23:18:54 <cluid> in lectures on the curr y howard isomorphism, talks about this
23:19:04 -!- roasted42 has quit (Ping timeout: 244 seconds).
23:19:22 -!- ^v has quit (Ping timeout: 240 seconds).
23:19:32 <cluid> the ∆ may be regarded as a control operator similar to call/cc of Scheme and exceptions of ML, and the double negation embedding of classical logic into intuitionisitic logic corresponds to well-known CPS-translations
23:21:08 -!- roasted42 has joined.
23:21:23 -!- not^v has quit (Ping timeout: 240 seconds).
23:39:13 -!- ^v has joined.
23:43:28 -!- Phantom_Hoover has quit (Ping timeout: 258 seconds).
23:52:08 -!- ^v has quit (Ping timeout: 250 seconds).
23:57:42 -!- dts|pokeball has quit (Read error: Connection reset by peer).
23:59:19 -!- dts|pokeball has joined.
2014-12-26
00:00:12 -!- Phantom_Hoover has joined.
00:00:14 -!- Phantom_Hoover has quit (Changing host).
00:00:14 -!- Phantom_Hoover has joined.
00:02:44 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
00:04:21 -!- roasted42 has quit (Ping timeout: 265 seconds).
00:04:34 -!- mr45_ has joined.
00:06:03 -!- roasted42 has joined.
00:09:39 -!- oerjan has joined.
00:09:39 -!- Phantom_Hoover has joined.
00:14:26 -!- GeekDude has joined.
00:33:59 <int-e> Google... grrrrr.
00:34:05 <int-e> "Our systems have detected unusual traffic from your computer network. This page checks to see if it's really you sending the requests, and not a robot. Why did this happen?"
00:34:30 <int-e> No, I'm human. I can even solve your captcha, but you won't accept it because I didn't allow your cookie.
00:35:17 <int-e> Oh well, IP change helped.
00:35:48 <int-e> (For now)
00:37:18 <oerjan> cheer up and look at their christmas doodle
00:37:47 <int-e> that requires javascript?
00:38:05 <int-e> sorry, not in the mood
00:38:29 <oerjan> of course it does, it's animated
00:38:40 <oerjan> with sound
00:39:02 <int-e> ok, now I'll definitely not try it out
00:39:09 <int-e> thanks for the warning
00:39:29 <oerjan> well the sound is just a guitar riff, really
00:40:11 <int-e> Heh I have xset -b (un)set because I find computer sounds annoying.
00:41:44 <int-e> . o O ( for added irony: np: Carnival by Project Pitchfork )
00:41:52 -!- roasted42 has quit (Ping timeout: 256 seconds).
00:42:06 * oerjan knows not who that is
00:42:10 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
00:42:33 <oerjan> youtube to the rescue
00:42:49 <int-e> it doesn't matter who, just that it's noise coming from the computer
00:43:03 <oerjan> OKAY
00:43:26 <oerjan> i thought you were just referring to beeping
00:43:44 <int-e> But... I made the choice. I requested it. So that makes it ok.
00:43:55 -!- roasted42 has joined.
00:44:10 <oerjan> i used to have sound off, but since i moved i have volume set to 20%
00:44:36 <oerjan> which is enough in most cases
00:45:44 <oerjan> thx for reminding me to check if google had a christmas doodle btw ;)
00:46:01 <int-e> hmm, don't know how to assess that with 3 volume controls in place. The sound card is set at 0.59*0.91... but there's a lot of room for increased volume on the speakers themselves.
00:46:25 <oerjan> ok
00:46:53 <int-e> I know, very esoteric and highly interesting. It's not a good day for me.
00:48:20 <int-e> despite some Harmful Brainfuck Fun (tm)
00:51:19 <oerjan> it seems hard to make unbalanced loops work in that
00:51:57 <oerjan> hm...
00:53:16 <Jafet> I don't think you want an unbalanced loop in your sound system
00:53:45 <oerjan> tru dat
00:54:05 <oerjan> i _may_ have been referring to Harmful Brainfuck
00:54:16 <HackEgo> [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41543&oldid=41542 * 213.162.68.188 * (+183) link to implementation and minimal categories
00:54:32 -!- GeekDude has joined.
00:55:33 <Jafet> I thought relative jump was implemented before.
00:56:57 * int-e waits for Oerjan's Cleanup Deed
00:57:24 <oerjan> Jafet: who knows what is hiding in the bf derivative category
00:57:49 <int-e> But it's a nice pun.
00:59:43 <oerjan> wat
00:59:51 <oerjan> oh.
01:00:00 * oerjan swats int-e -----###
01:00:17 * oerjan swats int-e again because he missed a spot -----###
01:00:39 * oerjan swats int-e again to be sure he got everything -----###
01:01:09 * oerjan swats int-e again because he thought he saw something moving -----###
01:02:29 <int-e> I think that 5th swat was a tad excessive.
01:02:37 * oerjan swats int-e again because his nose is itching -----###
01:02:41 <elliott> what pun?
01:02:44 <int-e> (note that I carefully avoided the o-word)
01:03:20 <oerjan> elliott: Oerjan's Cleanup Deed hth
01:03:24 <int-e> elliott: I meant the "harmful" that alludes to Dijkstra (not really a pun because the word is unchanged)
01:03:50 <int-e> At least that's my story and I'll stick to it.
01:04:02 * elliott is regrettably also in the "has created a bf + goto language" set
01:04:18 -!- shikhin_ has joined.
01:04:30 * oerjan swats int-e again because he's now claiming to have been intending a different pun, maybe -----###
01:04:57 <int-e> oerjan: Oh no, I was merely *referring* to a different pun.
01:05:41 <oerjan> ah.
01:05:50 <int-e> Sheer modesty, I wouldn't call any of my own puns "good" myself.
01:06:13 <int-e> Though I might say by now that it was pretty effective.
01:06:21 <oerjan> you'd think
01:06:37 -!- GeekDude has changed nick to GeekAfk.
01:06:49 <cluid> hello
01:06:57 <oren> hello
01:07:00 <cluid> Harmful Brainfuck considered harmful
01:07:05 <oerjan> hi cluid
01:07:27 <oren> c++ syntax considered harmful
01:07:40 -!- shikhin has quit (Ping timeout: 265 seconds).
01:07:56 -!- roasted42 has quit (Ping timeout: 256 seconds).
01:08:08 <oren> attempting to mix chinese and japanese and have it make sense considered harmful
01:08:48 <int-e> hmm lion-eating poet in the stone den
01:09:01 <oerjan> what's "considered harmful" in mixed chinese and japanese twhomn
01:09:29 -!- roasted42 has joined.
01:09:46 <int-e> does japanese have anything like that poem?
01:09:57 <oren> int-e: no
01:10:24 <oren> but the "same" word in chinese and japanese means different things
01:10:33 <oerjan> i don't think japanese has gone through a recent period of losing a lot of its phonetic distinctions
01:11:16 <oerjan> _some_, probably
01:11:18 <cluid> Jinese?
01:11:33 <int-e> cluid: did you see the rot13 program?
01:11:36 <cluid> no
01:11:36 -!- scarf has joined.
01:11:47 <int-e> cluid: http://esolangs.org/wiki/Harmful_Brainfuck
01:12:32 <cluid> Cool!!
01:12:33 <int-e> (Sorry, I lost one of your edits when I changed the page earlier, so the phrasing for relative gotos is now different.)
01:12:44 -!- mr45_ has left.
01:14:34 <oren> problem is the japanese stole chinese characters in the middle ages
01:15:16 <oren> (well, maybe not "stole"... borrowed)
01:15:39 -!- nisscrooge has quit (Ping timeout: 245 seconds).
01:16:09 -!- callforjudgement has quit (Ping timeout: 264 seconds).
01:16:48 <oren> and so the meanings for characters that aren't common have grown apart. especially the ones you'd use to write abstract things like "variable", "program", "scope declaration"...
01:17:19 -!- scarf has quit (Read error: Connection reset by peer).
01:17:25 -!- scarf has joined.
01:19:39 <oren> screw it i'll just use japanese semantics for now...
01:23:08 <HackEgo> [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41544&oldid=41543 * Oerjan * (+23) A somewhat preliminary edit reintroducing general esolang recommendations
01:26:32 <int-e> of course there had to be a rot13 page.
01:27:09 <cluid> http://sprunge.us/YXfd is going to stay up?
01:27:57 <oerjan> i don't think it is wise to trust pastebins for permanent storage
01:28:05 <oren> wait, so is it believed to be TC or not?
01:28:23 -!- GeekAfk has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
01:28:24 <int-e> oren: exactly.
01:28:33 <oerjan> oren: i suspect the matter is under research
01:28:41 <oren> i am so confused
01:28:58 <int-e> oren: there's little doubt that it's TC with unbounded cells.
01:29:26 <oerjan> indeed, because it seems you can translate balanced loops
01:29:49 <int-e> and it's hard to imagine that it fails to be TC even with the cells restricted to -128..127.
01:30:00 <int-e> Even though arbitrary I/O is not possible in that range.
01:30:42 <int-e> cluid: I have not seen sprunge delete any pastes yet
01:31:03 -!- roasted42 has quit (Remote host closed the connection).
01:31:17 <elliott> they do
01:31:26 <elliott> in fact every time you upload a paste it deletes one
01:31:51 <oerjan> int-e: here's a chestnut: can you manage to copy a cell from an unknown position to another?
01:32:09 <int-e> oerjan: "unknown"?
01:32:17 <oerjan> not fixed position
01:32:57 <oerjan> the thing is, if you are going to be TC without unbounded cells, you _must_ use code which doesn't know the exact tape position
01:33:40 <int-e> oerjan: I was going to target something with binary cells.
01:33:42 <oerjan> which means you cannot precalculate all offsets and keep them in fixed cells
01:34:07 <int-e> so conditionals would be [set up offsets in next two cells]*>*
01:34:09 <oerjan> for reducing too, you mean
01:34:12 <oerjan> *from
01:34:15 <int-e> yes
01:34:36 <oerjan> well you go right ahead :)
01:34:41 <int-e> but I have not thought it through.
01:35:07 <int-e> I will never be able to copy arbitrary cells.
01:35:08 -!- roasted42 has joined.
01:35:19 <oerjan> i am just thinking that even a simple bf loop like [->+<] can be hard
01:35:35 <int-e> Because the conditional (*) has a value that causes an infinite loop.
01:35:39 <oerjan> and without that, it's hard to move the _offsets_ where you want them.
01:35:53 <oerjan> oh right
01:36:37 <int-e> But with a limited, small range, I see no fundamental reason why it shouldn't work. So TC, with restricted I/O, is entirely plausible.
01:37:11 -!- SirCmpwn has quit (Read error: Connection reset by peer).
01:37:56 <int-e> Actually, unrestricted IO, once the range of cells is large enough so that the whole range (0..255) can be moved to the negative or positive half without overflowing.
01:38:32 <int-e> My idea for a fix was to use 9 bit signed cells, range -256..255, which is *barely* enough to satisfy this criterion.
01:39:00 <int-e> And slightly awkward because you have to use a backward * for the first test.
01:40:01 <Sgeo> Did I just see a Christmas tree in North Korea?
01:40:34 <Sgeo> https://www.youtube.com/watch?v=3HJj85K_7MQ&t=15m40s
01:41:30 <elliott> they have OXYGEN in north korea??
01:41:50 <elliott> I thought kim jong-un outlawed that to spite america!
01:42:11 <int-e> Meh his generals wouldn't allow that.
01:44:15 -!- GeekDude has joined.
01:44:15 <oerjan> elliott: no oxygen is essential for bombs to work, so they're allowed
01:44:18 <oerjan> *it's
01:44:22 <oerjan> *no,
01:44:38 -!- nisscrooge has joined.
01:45:00 <oerjan> it turns out that you can survive solely on elements that are useful for making weapons
01:46:28 <HackEgo> [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41545&oldid=41544 * 213.162.68.188 * (+2) more permanent URL
01:49:44 <HackEgo> [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41546&oldid=41545 * 213.162.68.188 * (+5) on second thought...
01:56:20 -!- Phantom_Hoover has quit (Remote host closed the connection).
02:03:44 -!- SirCmpwn has joined.
02:07:04 -!- scarf has quit (Read error: Connection reset by peer).
02:07:11 -!- ais523 has joined.
02:07:19 <oren> how much #defining does it take for C to be an esolang?
02:07:26 -!- roasted42 has quit (Ping timeout: 256 seconds).
02:07:43 <cluid> very few going by IOCCC
02:07:54 -!- roasted42 has joined.
02:08:02 <oren> #define zx struct
02:09:54 <int-e> That's not good enough though; IOCCC judges will preprocess and indent the code to see whether that's easier to figure out than the original.
02:10:28 <oren> typedef wz unsigned
02:10:42 <oren> whoops; typedef unsigned wz
02:10:44 <int-e> So one trick is to have macros that make the code explode.
02:12:52 <int-e> http://www.ioccc.org/1998/fanf.c is in that category. (it has to be cpp'd twice, and the result is almost 700k in size)
02:13:43 <cluid> O_OO
02:15:30 <Jafet> Another trick is to make your program not work if it's reindented
02:15:52 <Jafet> (http://www.ioccc.org/1998/schweikh1.c)
02:19:02 <oren> http://snag.gy/XaoyF.jpg
02:23:23 <oerjan> "This code is a wonder; it's a wonder that it compiles."
02:24:09 <oerjan> (replace .c by .hint in any ioccc url)
02:27:21 <oren> So yeah, i'm making a C header to write C code as if it were a prayer to some evil god. (well, more then usual, at any rate)
02:27:39 <int-e> http://www.ioccc.org/1991/buzzard.c was another one that would amusingly be destroyed by indentation.
02:27:46 <int-e> (the clue being this: fopen(x-1?a[1]:"buzzard.c","r"); )
02:28:07 <oren> it reads itself
02:29:09 <elliott> oren: nice irc font
02:30:29 -!- tromp__ has joined.
02:31:06 <cluid> are the latest iocccs out yet?
02:31:51 -!- b_jonas_ has joined.
02:32:15 -!- Melvar` has joined.
02:37:19 -!- heroux_ has joined.
02:40:52 -!- roasted42 has quit (Ping timeout: 256 seconds).
02:41:36 -!- Melvar has quit (Disconnected by services).
02:41:45 -!- Melvar` has changed nick to Melvar.
02:42:40 -!- roasted42 has joined.
02:42:59 <int-e> @metar LOWI
02:42:59 <lambdabot> LOWI 260220Z AUTO VRB02KT 9999 FEW050 BKN060 M02/M02 Q1026
02:43:04 -!- callforjudgement has joined.
02:43:50 <oren> Idea, language where thingshappen in parallel unless otherwise specified
02:45:40 <oren> no not even specified. all ordering happens dring conflict resuolution
02:46:03 -!- ais523 has quit (Ping timeout: 244 seconds).
02:47:08 <oren> we use optimistic scheduler and execute all statements at once. then we check for conflicts and roll back conflicted statements
02:47:54 <oren> other than that there is no ordering available
02:49:20 -!- tromp_ has quit (*.net *.split).
02:49:20 -!- b_jonas has quit (*.net *.split).
02:49:20 -!- heroux has quit (*.net *.split).
02:49:21 -!- blsqbot has quit (*.net *.split).
02:49:26 -!- heroux_ has changed nick to heroux.
02:51:52 <elliott> I think something like that exists
02:53:56 <oerjan> https://esolangs.org/wiki/Whenever maybe?
02:55:19 <cluid> pi calclulus?
02:55:44 <oren> a little like that. but there isn't explicit conditions. instead, if you have statements like SET x = 1; SET y = x; the second statement has to be exeucted afterward, because the first time, it will be rolled back.
02:55:46 <oerjan> it's not described as parallel, but i think parallel with rollback gives equivalent results
02:57:12 <oerjan> oren: ok so it's rolled back because x isn't defined yet?
02:57:38 <oren> it is rolled back because the value of x may have changed while it was being read
02:57:47 <oerjan> ah.
02:57:55 <elliott> how does it know which one to run first if it rolls back, coinflip?
02:58:02 <oerjan> this ought to be easy to implement with haskell's STM
02:58:05 <elliott> since you could also have SET y = x; SET x = 1;
03:00:17 <oren> elliott: it does not need to ollback the x = 1, that operation was fully valid.
03:00:51 <oren> e.g. it left the program in a consistent state
03:01:15 -!- S1 has quit (Quit: S1).
03:01:22 <elliott> oren: so the order of statements in a program matters?
03:01:30 <elliott> that doesn't seem very unordered/"everything in parallel" kinda spirit
03:01:42 <elliott> er, what I mean is
03:01:43 <oren> no, the order does not matter
03:01:47 <elliott> why does it decide it needs to do x = 1 then y = x
03:01:49 <elliott> rather than y = x then x = 1
03:02:04 <oren> because x=1 did not read invalidated data
03:02:15 <elliott> SET x = y; SET y = x
03:02:17 <elliott> what happens?
03:02:27 <oren> the program loops ofrever
03:02:42 <oerjan> darn
03:02:47 <oren> and the y and x are forever invalid
03:02:54 <elliott> um, ok
03:03:02 <elliott> SET x = 1; SET y = 2; SET x = y; SET y = x
03:03:03 <elliott> ?
03:03:03 <oerjan> that doesn't fit with haskell STM :(
03:03:15 <oerjan> (in that, one of the threads always makes progress)
03:03:19 <elliott> I would expect this to end with x=1 y=1 or x=2 y=2 or x=1 y=2 or x=2 y=1 non-deterministically
03:03:26 <elliott> since those are the consistent orderings
03:04:10 <oren> hmm... the program would indeed set x = 1 and y= 2, but then the other statements would always be rolled back
03:04:24 <elliott> I don't see why
03:04:31 <elliott> databases don't lock up like this
03:04:37 <elliott> it seems a bit weird
03:05:01 <oerjan> it's synchronized parallel, like befunge's useless threading
03:05:04 <oren> databases are designed by sane people
03:05:24 -!- roasted42 has quit (Ping timeout: 250 seconds).
03:05:50 <oerjan> oren: what about SET x = 1; SET x = 2; ?
03:06:11 <oren> in that case both orders are equally valid
03:06:24 <elliott> errr
03:06:26 <elliott> but they conflict
03:06:30 <oerjan> but is either rolled back?
03:06:37 <oren> exaclty, lockup!
03:06:47 <elliott> ...ok
03:06:48 <oerjan> bah
03:06:57 <elliott> so in the end you end up with a boring linear, deterministic language? :p
03:07:10 <oerjan> heh
03:07:12 <oren> but one that is hard to prgram in!
03:07:15 <elliott> how would you do branches etc. even
03:07:17 -!- roasted42 has joined.
03:07:33 <elliott> kinda seems like you'd have to add a bunch of stuff to not have everything just be lockup fun
03:08:29 <oren> set up a statement like set x?s=2:t=2; so that it conflicts with one line of statements in one case, or another
03:08:39 <elliott> whaat, you get conditionals
03:08:41 <elliott> *conditionals?
03:08:47 <elliott> "a little like that. but there isn't explicit conditions."
03:08:59 -!- dts|pokeball has quit (Read error: Connection reset by peer).
03:09:10 <oren> you get conditionals but they READ variables and can thus be inconsisted
03:10:11 <oren> also everything in one statement happens at once, so a statement could even conflict with itself in one case but not the other
03:10:20 <oerjan> argh
03:10:55 <oerjan> i'll leave it to you to write down a precise definition of this hth
03:10:58 <elliott> I'm more interested in the language I inferred from your original statements than this one :p
03:11:32 <oren> what did you infer
03:12:14 -!- dts|pokeball has joined.
03:12:42 <elliott> something more like what I was surprised it wasn't, I guess
03:14:22 <oren> so instead of a deterministic scheduler, we have a nondeterministic one?
03:14:32 <elliott> and no conditionals
03:15:57 <oren> we could have a semideterministic one-- deterministic rollback unless all statements must be rolled, in which case it picks one at random to not roll back.
03:18:00 -!- callforjudgement has quit (Read error: Connection reset by peer).
03:18:12 -!- callforjudgement has joined.
03:19:17 <oren> instead of conditionals, we could have something akin to an attempted if function.
03:19:41 <oren> both sides are evaluated, it returns one of them
03:20:12 <cluid> its too hard to do this in bash so im trying in scheme
03:20:22 <cluid> all i wanted to do was recursivly list files and sort by size
03:20:26 <oren> do what?
03:21:10 <cluid> so e.g. find . -type f -exec du -b {} + | sort doesn't work at all
03:21:12 <oren> did you try the find command
03:22:23 <oren> you need to configure the sort command to sort numerically on the right column
03:23:26 <oren> sort -n
03:23:36 <oren> or sort -nr
03:23:58 <cluid> oh thank you!
03:24:03 <cluid> ok this was just me not being good at bash
03:25:20 <oren> cluid: bash is the only $ language that i rarely regret using
03:25:32 <cluid> i mostly always regret it
03:26:03 <oren> maybe i tend to write my regrettable things in PERL
03:27:12 <oren> wow i have a lotof zero-size files
03:30:13 <pikhq> Huh. I didn't realize: wchar_t is permitted to have the same range as char.
03:31:36 <oren> who even uses it?
03:31:51 <pikhq> Windows programmers.
03:32:17 <pikhq> Because Microsoft C only has char strings in legacy encodings.
03:33:16 <oren> Umm... WCHAR
03:33:30 <pikhq> But not usefully so either: the set of legacy encodings they support includes wonky multibyte charsets.
03:33:37 <pikhq> oren: Is #define WCHAR wchar_t.
03:33:59 <pikhq> The secret to sane handling of the Windows API is to ignore its stupid #defines.
03:34:35 <pikhq> "typedef unsigned char BYTE;" is a line they thought was useful.
03:34:46 <oren> it is useful
03:34:52 -!- roasted42 has quit (Ping timeout: 245 seconds).
03:35:01 -!- paul2520 has quit (Remote host closed the connection).
03:35:05 <oren> i would rather type BYTE than unsigned char
03:35:34 <elliott> thankfully uint8_t!
03:35:51 <oren> screw this _t crap
03:35:54 <pikhq> typedef int INT; is another good one..
03:36:30 <pikhq> *blink* *blink* they did what
03:36:36 <pikhq> They have a type LONGLONG.
03:36:42 <pikhq> It claims to be a 64 bit integer.
03:36:47 <pikhq> On 64 bit platforms, it is.
03:36:54 <pikhq> On 32 bit platforms it's a double.
03:37:00 -!- roasted42 has joined.
03:37:26 <oren> pikhq: meh, close enough
03:37:51 <pikhq> Christ, and I thought zlib had stupid typedefs.
03:38:50 <pikhq> Never mind their imposing grand confusion as to what Unicode is upon the world.
03:39:23 <oren> a double can support a 52 bit integer.
03:39:36 <int-e> is uint8_t really so bad?
03:39:43 <oren> so they lost 12 bits, whatever...
03:39:48 <pikhq> An x86 long double can support a 64 bit integer, though.
03:40:14 <int-e> but storing 10 bytes is awkward
03:40:47 <pikhq> For more fun, you can load a 64 bit integer into an x87 register, do arithmetic on it, and then store a 64 bit integer.
03:40:54 <int-e> Also nowadays people prefer to use SSE
03:41:07 <pikhq> Yeah, but SSE doesn't give you long doubles.
03:41:09 <int-e> poof, no extended floats
03:41:25 <int-e> same point, different angle ;)
03:41:27 <elliott> pikhq: x87, rather?
03:41:31 <oren> SSE is actually faster (from my own experiments)
03:41:42 <int-e> elliott: x >= 4
03:41:45 <oren> or is that obvious
03:42:06 <pikhq> elliott: "long double" is an extended float type on x86 in general, regardless of whether or not you use x87 otherwise.
03:42:10 <int-e> (oh and let's forget about the 486SX thing.
03:42:11 <int-e> )
03:42:15 <elliott> ah
03:42:36 <elliott> int-e: the weird thing with {u,}int8_t is that they're usually chars
03:42:45 <pikhq> On x86_64 or MS-compiled x86, it uses x87 instead for that one type.
03:42:46 <elliott> that produces weird results with C++ at least, dunno about C
03:42:53 <elliott> (like, consider printing a uint8_t.)
03:43:12 <pikhq> (MS compilers use SSE for floats otherwise)
03:43:58 <pikhq> elliott: In C you'd use PRIu8 to print it out, so no weird results.
03:44:01 <int-e> elliott: not a problem in C... %c and %d both deal with int arguments.
03:44:13 <oren> elliott: that is what they get for left-shifting a file by a character. iostream is crap
03:44:40 <int-e> pikhq: can you remind me in which header those are defined please?
03:44:40 <elliott> pikhq: right.
03:44:46 <pikhq> int-e: inttypes.h
03:44:46 <elliott> it's a problem with C11's _Generic, maybe!
03:44:49 <int-e> thanks
03:44:58 <pikhq> elliott: It is definitely a problem with _Generic.
03:45:57 * pikhq "loves", BTW, that the only way to get relatively human-understandable behavior out of floats on x86 is to use the obscure float_t and double_t types.
03:47:18 <oren> umm... i really don't know what you mean...
03:47:42 <pikhq> float_t and double_t are the types that computations on float and double result in.
03:48:03 -!- dts|pokeball has quit (Ping timeout: 244 seconds).
03:48:07 <pikhq> On *sane* implementations, 1.0 + 1.0 results in a double. On x86, 1.0 + 1.0 results in a long double.
03:48:15 <pikhq> And if you store it in a double, you get double rounding.
03:48:45 <pikhq> Which results in floating point behaving like magic voodoo.
03:48:50 <oren> why should you care what type the result is?
03:49:12 <pikhq> Because rounding a value twice to different precisions can change the value.
03:49:16 <pikhq> Potentially significantly.
03:49:44 <int-e> 1.0 + 1.0 does not cause any rounding.
03:49:58 <pikhq> int-e: The particular values were bad examples.
03:50:03 <oren> if you don't want rounding problems use fixed point hth
03:50:06 <pikhq> Let's go with 0.1 + 0.1.
03:50:22 <int-e> pikhq: still bad
03:50:46 <int-e> because the literals are converted as doubles, and the addition just increases the exponent by 1.
03:50:49 -!- callforjudgement has quit.
03:51:04 <elliott> oren: floats are designed to have predictable rounding properties...
03:51:09 <int-e> 0.1+0.05 *might* cause trouble
03:51:22 <pikhq> Okay, so it's slightly hard to come up with pithy examples where you'd see the behavior.
03:51:25 <int-e> > 0.1 + 0.05 + 0.05
03:51:27 <oren> not to a decimal system they're not
03:51:27 <lambdabot> 0.2
03:51:35 <pikhq> But when it shows up relevantly you're going to be *really confused*.
03:51:38 <int-e> > 0.2 + 0.03 + 0.04
03:51:40 <lambdabot> 0.27
03:51:43 * int-e shrugs
03:51:57 <elliott> oren: I'm not sure of the relevance...?
03:53:07 <oren> well, one example is storing $59.99 as a float.
03:53:11 <pikhq> Let's do it with decimal then. Let's say we have 9.46. Round it to two places and we get 9.5. Round *that* to one place and we get 10, but if we rounded 9.46 to one place we'd have 9.
03:53:44 <pikhq> Imagine that sort of thing happening anywhere you happen to use a variable in your code, and people's attitudes towards floating point become really easy to understand.
03:54:34 <elliott> oren: sure
03:54:36 <elliott> *sure.
03:54:51 <pikhq> oren: Well yes. Floating point is not a good choice for monetary computation.
03:54:53 -!- roasted42 has quit (Ping timeout: 272 seconds).
03:55:31 <pikhq> It's important to understand the properties a type gives you and whether or not they're useful to you.
03:56:13 <elliott> I mean to be fair float gets used for money a lot even in actual financial systems I think
03:56:34 -!- roasted42 has joined.
03:59:28 <oren> elliott: imo, this is because unlike fortran, C and related languages do not have a inbuilt way to output an integer with a point in a specified place
03:59:38 <elliott> ummm. ok
04:00:01 <oren> like, the user inputs 3.45, and you get 345
04:00:16 <pikhq> That's not all you need for meaningful support of fixed point...
04:00:24 <oren> there is no simple scanf for than
04:00:28 <oren> *that
04:00:30 <int-e> > 47/100 + 41/100 + 12/100
04:00:31 <lambdabot> 0.9999999999999999
04:00:50 <oren> int-e: eaxctly
04:00:58 <pikhq> But yes, it'd be nice to support it.
04:01:16 <pikhq> Fixed point is useful enough it's a real shame it's, well, hard to use. :)
04:01:26 <cluid> > 47/100 + 41/100 + 12/100 :: Rational
04:01:29 <lambdabot> 1 % 1
04:01:53 <oren> it isn't hard to use fixed point in Fortran or COBOL
04:02:47 * pikhq is aware
04:02:59 <pikhq> I should clarify, hard to use in currently popular languages.
04:03:11 -!- drdanmaku has quit.
04:04:26 -!- Solace|tablestuf has joined.
04:04:43 -!- Solace|tablestuf has changed nick to Solace.
04:05:19 <Taneb> pikhq, it's do-able in GHC Haskell
04:05:39 <Solace> Merry Christmas everyone
04:06:05 <pikhq> Solace: Merii kurisumasu.
04:06:15 <oren> But haskell is even more unlike popular languages than Fortran is
04:06:51 <Solace> pikhq: ?
04:07:02 <pikhq> "Merry Christmas" in Japanese.
04:07:07 <pikhq> (no, really)
04:07:10 <oren> he said it in romaji Japanese
04:07:20 <pikhq> Because I'm too lazy to install an IME on here.
04:07:32 <coppro> that looks about right
04:07:57 <oren> ime are good for learning Kanji
04:08:11 <pikhq> I know the kanji. :P
04:09:00 <Solace> Oh
04:09:07 <Solace> Thanks pikhq
04:09:51 <Solace> I got a pokemon game finally
04:10:03 <pikhq> Which?
04:10:04 <Taneb> Solace, me too, but my 3DS is 90 miles away
04:10:19 <pikhq> Taneb: Aaaaw.
04:10:31 <Solace> :0
04:10:38 <Solace> Well then
04:10:41 <Taneb> I got Omega Ruby
04:10:49 <Solace> I got Pokemon X
04:10:58 <pikhq> I think I preferred ORAS to XY.
04:10:59 <oerjan> :k Centi
04:11:00 <lambdabot> *
04:11:04 <coppro> I'm trying to learn to pronounce Japanese
04:11:06 <oerjan> > 3.2 :: Centi
04:11:07 <lambdabot> 3.20
04:11:38 <cluid> Japanese is easy to pronounce
04:11:49 <Taneb> pikhq, XY was enjoyable, but my first Pokemon game was Emerald so I think ORAS will have a nostalgia factor
04:11:53 <oerjan> > pi :: Micro
04:11:55 <lambdabot> No instance for (GHC.Float.Floating Data.Fixed.Micro)
04:11:55 <lambdabot> arising from a use of ‘GHC.Float.pi’
04:11:57 <oerjan> bah
04:11:58 <Solace> how fast is a centi-second inbetween the space of 2 feet (the object is a solid)
04:11:58 <pikhq> Taneb: Oooh, yeah.
04:12:07 <Solace> Well
04:12:08 <pikhq> Taneb: Afraid ORAS didn't have that much nostalgia for me though.
04:12:14 <Solace> X is enjoyable
04:12:17 <pikhq> I finished Emerald earlier this year. :)
04:12:17 <oerjan> > realToFrac pi :: Micro
04:12:18 <lambdabot> 3.141592
04:12:30 <Solace> Comapritably to yellow
04:12:38 <Solace> its a 10
04:12:41 <oren> I have X
04:12:47 <Solace> last pokemon game i played
04:12:50 <coppro> cluid: Japanese is hard to pronounce correctly. Easy to approximate
04:12:53 <oerjan> > realToFrac pi * 100 :: Micro
04:12:54 <lambdabot> 314.159200
04:12:59 <pikhq> To be certain XY is fairly good.
04:13:00 <Solace> It says i have to update a package¿
04:13:03 <pikhq> coppro: Precisely that.
04:13:09 <cluid> I thought each letter mapped directly to one sound
04:13:19 <Solace> Fairy pokemons are pretty eh
04:13:19 <coppro> cluid: Yes. But the sounds are foreign to anglophones
04:13:23 <Solace> weak tbh
04:13:24 <pikhq> cluid: Each kana does, sure.
04:13:31 <oren> coppro: yeah the long vowels and the long consonants are hard
04:13:41 <coppro> It's learning to form them, and then to not switch back to the English ones.
04:13:41 <pikhq> Solace: Counter to dragon type.
04:13:52 <Solace> Really
04:14:07 <Solace> Elite 4 have dragon right?
04:14:11 <pikhq> Yeah. Speaking with a thick accent is easy, speaking with little to no accent is Hard.
04:14:14 <pikhq> Solace: Si.
04:14:21 <oren> dragon are still OP.
04:14:28 <pikhq> Well yes.
04:14:28 <Solace> I hate dragons
04:14:39 <Solace> in a pokemon sense
04:14:47 <oren> I use dragon/steel team usually
04:15:00 <Solace> Fire/Water
04:15:05 <coppro> I'm very glad I learned French when I was younger. I picked up on a lot of phonetic differences which I didn't appreciate until later.
04:15:07 <Solace> Balancing
04:15:09 <Taneb> In X I ended up with a Normal team
04:15:18 <coppro> I was actually surprised to notice that I form 'n' differently in English and French.
04:15:26 <pikhq> I don't have much of a fixed team, kinda just randomly grabbing things as I feel like.
04:15:34 <Solace> I have an ice fossil
04:15:37 <coppro> and knowing more variety makes it easier to work on other sounds
04:15:42 <Taneb> By which I mean I didn't really have a team, I had an overpowered snorlax and 5 other pokemon
04:15:49 <pikhq> Taneb: :D
04:15:59 <pikhq> X I used Blaziken.
04:16:04 <Solace> i just started
04:16:05 -!- TodPunk has quit (Read error: Connection reset by peer).
04:16:09 <pikhq> Mega Blaziken is, uh, OP as heck.
04:16:15 <oren> i restarted recently
04:16:28 -!- TodPunk has joined.
04:16:31 <pikhq> Sometime probably soon I'm gonna be starting on White.
04:16:39 -!- roasted42 has quit (Ping timeout: 265 seconds).
04:16:44 <coppro> I am out of pokemon
04:16:51 <Solace> Pikachu is apparently the only pokemon ive come across that says its species name
04:16:57 <pikhq> Solace: Yep.
04:17:04 <pikhq> Because anime.
04:17:05 <coppro> the extra stuff just keeps getting in the way of actually enjoying the game, I eventually just gave up
04:17:10 <Solace> Damn you anime
04:17:19 <Taneb> Solace, Pikachu's cry used to be very different
04:17:19 <pikhq> coppro: Like?
04:17:29 <coppro> pikhq: promotional pokemon
04:17:33 <pikhq> Ah.
04:17:42 <Solace> I got a diancee tho
04:17:46 <coppro> whatever weird online game they make for $NEWGAME
04:17:55 <Solace> lvl 1
04:18:06 -!- roasted42 has joined.
04:18:10 <coppro> like, I just want to play the games and collect all the dudez
04:18:19 <Taneb> Is it too early to go on my N64...
04:18:20 <pikhq> "Gotta catch 'em all! But wait, you can only really catch 'em all if you live in Japan!"
04:18:21 <coppro> why make it so goddamn hard :(
04:18:22 <oren> So far I just have a lv 22 ivysaur and nothing else worth mentioning
04:18:31 <Solace> Catching 600 of each pokemon?
04:18:38 <coppro> pikhq: well, nowadays, it's more like "but only if you're paying attention this week! trololol"
04:18:51 <coppro> but they keep adding more of them every generation
04:18:51 <Taneb> Solace, catching EVERY SINGLE DIFFERENT SPINDA DESIGN
04:18:53 <pikhq> coppro: If you don't care about the event-only legendaries it's a mere 4 games you need now.
04:18:54 <oren> i just like beating my friends teams
04:19:21 <coppro> pikhq: X/Y, OR/AS, HG/SS, D/P?
04:19:26 <pikhq> X/Y + OR/AS.
04:19:34 <Solace> I like the shinies
04:19:35 <coppro> no wait, that misses gen 5
04:19:48 <pikhq> Yes, they're all available in gen 6.
04:19:51 <Solace> I have a shiny floette and its amazing tbh
04:20:02 <Taneb> On X I have a shiny Mr Mime
04:20:05 <Taneb> It is terrifying
04:20:06 <Solace> Also animation styles are good thats an added like
04:20:08 <oren> i didn't play anything between sapphire and X
04:20:24 <Solace> Guys the rock gym
04:20:27 <pikhq> oren: Likewise, though emerald and X for me.
04:20:30 <Solace> its to much for me
04:20:34 <coppro> HG/SS were pretty fantastic
04:20:42 <Solace> Yes
04:20:44 <coppro> but that was to be expected, they were remakes of the best games in the series
04:20:48 <oren> catch a green monkey dude
04:20:53 <pikhq> I bought Pearl, HG, and White after finishing Y.
04:21:01 <pikhq> HG was fantastic.
04:21:10 -!- drdanmaku has joined.
04:21:40 <coppro> also I've become addicted to riichi
04:22:34 <pikhq> ORAS is fairly delightful though, I must say.
04:22:47 <pikhq> And hey, it's the first time they made an event legendary *not* event-only.
04:23:10 <pikhq> Wish they'd do that with the rest.
04:24:20 <oren> death metal goes well with steel/ghost type
04:24:37 <Solace> How do you split a string by a delimiter functionally?
04:25:18 <oren> return a list
04:25:37 <coppro> pikhq: oh really? which/how?
04:25:38 <Solace> Thank
04:25:52 <cluid> Solace, in haskell?
04:25:55 <pikhq> coppro: Deoxys. Now it's just available in the post-game little storyline.
04:26:00 <coppro> ah, cool
04:26:01 <Solace> yes
04:26:08 <pikhq> You ride Rayquaza into space and encounter Deoxys!
04:26:12 <coppro> actually that's sweet, since Deoxys is one of the best event-only legendaries
04:26:21 <pikhq> Yeah.
04:26:26 <Solace> pikhq: when is this?!
04:26:32 <cluid> you could use parsec
04:26:35 <pikhq> Solace: Right after the Elite Four.
04:26:45 <Solace> :/
04:26:54 <Solace> God its gettin really fancy
04:28:13 <pikhq> So long story short I have a Deoxys in a Premiere Ball. :)
04:28:23 <Solace> welp
04:28:31 <Solace> time to go heal
04:30:00 <coppro> pikhq: nice :)
04:31:40 <HackEgo> [wiki] [[Harmful Brainfuck]] http://esolangs.org/w/index.php?diff=41547&oldid=41546 * 213.162.68.188 * (+0) /* External resources */ using 9 bit cells now
04:32:18 <oren> caught an axew
04:34:06 <coppro> pikhq: have you played riichi?
04:37:46 -!- roasted42 has quit (Ping timeout: 255 seconds).
04:38:02 <Solace> who is roasted42?
04:39:42 -!- roasted42 has joined.
04:43:27 <oren> a cute lil axew named killer, who will be my guillotine machine
04:45:51 <oerjan> Solace: i don't remember em talking
04:46:04 <Solace> i dont name my pokemons
04:46:08 <oerjan> seems to be from south africa
04:46:55 <Solace> i went to Spain once
04:47:02 <Solace> very hot
04:47:30 <oerjan> plausible
04:48:03 <oerjan> @metar ENVA
04:48:12 <oerjan> now what
04:48:17 <lambdabot> ENVA 260420Z 30013KT 9999 VCSH SCT028 BKN045 M00/M05 Q1015 RMK WIND 670FT 31019KT
04:48:27 <oerjan> cold, but not that cold
04:48:46 <Solace> to hot for me
04:48:55 <coppro> pikhq: also do you know where I can get good anime with romaji subtitles?
04:49:00 * oerjan was referring to the metar forecast
04:49:08 <oerjan> er not forecast
04:49:12 <oerjan> report
04:49:17 <Solace> wasnt refering to that
04:49:21 <Solace> but ok
04:49:26 <Solace> also what is that
04:49:30 <oren> coppro: not much market for that
04:49:42 <oerjan> Solace: airport style weather reporting
04:49:46 <coppro> oren: I know
04:49:48 <Solace> ah
04:49:58 <oerjan> the M00/ means it's just below freezing
04:50:02 -!- cluid has quit (Remote host closed the connection).
04:50:12 <Solace> :0
04:50:31 <oerjan> that's not in spain, it's in norway where i am
04:50:47 <Solace> Norway!
04:50:56 <Solace> Yay ive lived there before
04:51:05 <oren> coppro: try watching japanese childrens shows
04:51:13 <Solace> 1 year there is nice
04:51:21 <oren> like doraemon or kogepan
04:51:43 <oerjan> @metar LEMG
04:51:44 <lambdabot> LEMG 260430Z 30008KT CAVOK 06/05 Q1030 NOSIG
04:51:49 <oerjan> oops
04:52:12 <oerjan> that's málaga in spain. only 6 degrees celsius
04:52:22 <oren> @metar YYZ
04:52:43 <Solace> you remind me of my father somehow oerjan
04:52:44 <oren> hmmm it's not airport codes?
04:52:51 <oerjan> OKAY
04:53:01 <oerjan> oren: four-letter ones
04:53:07 <oerjan> there are two systems
04:53:11 <Solace> lel
04:53:32 <Solace> not to be creepy
04:53:37 <oerjan> this is ICAO
04:53:39 <oren> @metar CYYZ
04:53:39 <lambdabot> CYYZ 260400Z 25011G18KT 15SM OVC030 03/M02 A3009 RMK SC8 SLP195
04:54:16 <pikhq> coppro: I have not played riichi, and I dunno about romaji subtitled anime.
04:54:29 <pikhq> oren's suggestions make sense though.
04:55:01 <oren> I learned much of my reading from doraemon manga
04:55:37 <coppro> I'm not looking for reading right now, though
04:56:17 <Solace> kids with there anime and mangos
04:56:32 <oren> animu and mango
04:56:50 <coppro> also I suggest not playing riichi. it's addictive
04:58:44 <oren> anyway coppro try this: https://www.youtube.com/watch?v=BgEQiXBGHDg
04:59:24 <Solace> team flare is very fashionable
04:59:44 <oren> flare = flair
05:00:23 <Solace> says team flare
05:00:40 <Solace> it is now tommorow wherever this webclient is being hosted
05:01:45 -!- roasted42 has quit (Ping timeout: 264 seconds).
05:03:19 -!- roasted42 has joined.
05:11:04 <coppro> oren: that's not romaji
05:11:06 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:12:36 <oren> i don't think what you are looking for exists... better to just focus on hiragana, romaji don't accurately represent the sounds anyway
05:12:58 <Solace> oh cod
05:13:23 -!- shikhin_ has quit (Ping timeout: 240 seconds).
05:14:35 <coppro> oren: it represents them accurately enough to help me learn to listen
05:17:29 <oren> hmm, romaji transscripts might exist for drama CDs.
05:17:51 <coppro> apparently there exists a site which will transliterate sub files
05:19:09 -!- zzo38 has joined.
05:51:32 -!- roasted42 has quit (Ping timeout: 244 seconds).
05:53:23 -!- roasted42 has joined.
06:11:23 -!- drdanmaku has quit (Quit: ,).
06:27:54 -!- dianne has quit (Quit: brb!).
06:31:32 -!- dianne has joined.
06:47:49 -!- roasted42 has quit (Ping timeout: 258 seconds).
06:48:32 -!- roasted42 has joined.
06:57:34 <zzo38> Do you know of any Lisp-like system that does something like the (~X ~Y (CONSTANT X 42)) stuff I have suggested? (This example is useless of course (for two reasons); I simply demonstrate an example code.)
07:00:12 <zzo38> Actually, I can have one more idea too where for example (~W ~~X ~Y ~~Z whatever) is a shortcut for (~W ~X ~Y ~Z (NEWNAMES (X Z) whatever)).
07:03:50 -!- adu has joined.
07:09:10 -!- Patashu has quit (Disconnected by services).
07:09:11 -!- Patashu_ has joined.
07:12:22 -!- Patashu_ has quit (Remote host closed the connection).
07:12:32 -!- Patashu has joined.
07:28:26 -!- roasted42 has quit (Ping timeout: 250 seconds).
07:30:47 -!- roasted42 has joined.
07:58:12 -!- HackEgo has quit (Ping timeout: 256 seconds).
08:00:09 -!- Solace has quit (Quit: Connection closed for inactivity).
08:08:11 -!- idris-bot has quit (Quit: Terminated).
08:08:36 -!- Melvar has quit (Quit: system upgrade).
08:20:15 -!- roasted42 has quit (Ping timeout: 265 seconds).
08:22:45 <Taneb> It's really foggy here...
08:23:31 <oerjan> well it's england, what do you expect hth
08:24:33 <Taneb> Rain
08:24:39 <Taneb> Slet
08:24:44 <oerjan> well that's the other option
08:24:47 <J_Arcane> zzo38: racket has 'define-values', which can match multiple assignments to values.
08:24:48 <Taneb> (which is like sleet but doesn't last as long)
08:24:52 <oerjan> ah
08:25:00 <Taneb> (and totally not a typo)
08:25:04 <oerjan> i know
08:25:36 <zzo38> J_Arcane: I do not understand, nor understand what it has to do with the things like I have mentioned.
08:25:53 <oerjan> trondheim uncharacteristically has snow
08:26:19 <J_Arcane> http://docs.racket-lang.org/reference/define.html#%28form._%28%28quote._~23~25kernel%29._define-values%29%29
08:26:20 <oerjan> you know, "uncharacteristically" is a pretty long word for being english
08:26:55 <Taneb> oerjan, it's uncharacteristically long
08:28:01 <elliott> J_Arcane: values is actually in normal scheme too
08:30:28 <oerjan> if you do (let ((x '())) (define x 42)) in scheme will the x with 42 be visible outside?
08:30:38 <oerjan> otherwise, that seems like a way to implement it
08:30:51 <oerjan> (via a macro)
08:35:05 <oerjan> hm i guess the problem is if you also have (define y 43) in there and you want _that_ to be visible
08:35:20 <oerjan> still not sure what actual scheme does
08:44:59 <Taneb> I'm gonna try to enter IOCCC in 2015
08:45:37 <oerjan> follow your dreams, man!
08:47:15 -!- adu has quit (Quit: adu).
08:51:12 <Taneb> Did anyone in here enter in 2013 or 14?
08:51:43 <elliott> yes
08:51:46 <elliott> though I forget exactly who
08:51:53 <elliott> do you have an idea for a program?
08:51:58 <Taneb> elliott, yes
08:52:11 <elliott> are you willing to divulge it? :p
08:52:27 <Taneb> No
08:52:32 <oerjan> don't listen to elliott he'll steal your idea!
08:52:34 <elliott> :(
08:52:37 <elliott> no I won't
08:52:39 <elliott> I never do anything
08:52:44 <oerjan> that's what he would say
08:56:18 <J_Arcane> oerjan: scheme/racket is lexically scoped. vars inside of let aren't visible to the outside. It does have closures though, so there's ways around that.
08:56:42 <J_Arcane> if I wanted an explicitly constant value though, there's define-syntax-values.
08:57:08 <oerjan> J_Arcane: this is in the context of zzo38's question, mind you
08:57:18 <J_Arcane> Then you can do (define-syntax-values (x y z) (43 2 0)) and they'd be macros, not vars, and thus immutable.
08:57:35 <oerjan> the question isn't how to define (constant ...)
08:58:19 <J_Arcane> fair enough. without more detail I'm not sure I really followed what he was after then.
08:58:55 <oerjan> it's how to construct something like his (~x ...) which prevents definitions of x inside ... from escaping but iiuc _not_ definitions of other identifiers
08:59:05 <oerjan> that's my understanding
09:01:04 <elliott> oerjan:
09:01:04 <elliott> scheme@(guile-user)> (let ((x 1)) (define y 2))
09:01:04 <elliott> While compiling expression:
09:01:04 <elliott> ERROR: Syntax error:
09:01:04 <elliott> unknown file:1:0: no expressions in body in form (let ((x 1)) (define y 2))
09:01:08 <elliott> hth.
09:01:20 <oerjan> fnord.
09:01:21 <elliott> Chicken accepts it but then y is unbound.
09:01:33 <elliott> scheme@(guile-user)> (let ((x 1)) (define y 2) 123)
09:01:33 <elliott> $1 = 123
09:01:33 <elliott> scheme@(guile-user)> y
09:01:33 <elliott> ;;; <unknown-location>: warning: possibly unbound variable `y'
09:02:11 <Taneb> tromp entered in 2012 and Gregor in 2011...
09:03:35 <elliott> well, 2012 is basically 2013.
09:04:36 <oerjan> well i don't recognize the names of any of the winners from people here
09:04:40 <J_Arcane> oerjan: well, but Scheme and Racket are lexically scoped such that that's already what happens. I can do (begin (define x 42) (let ((x 13)) x) x), and I'll get 13 then 42.
09:05:21 <oerjan> J_Arcane: um the point is to have the define visible _outside_ the begin
09:08:00 <J_Arcane> oerjan: Ahh. OK. Well, I don't think that's possible in Scheme, but in CL you could do it I think.
09:08:15 <oerjan> ah
09:08:25 <oerjan> well zzo38 was asking if any lisp had it
09:09:00 <oerjan> *lisp-like
09:09:03 <J_Arcane> CL has syntax for both lexical and dynamically scoped variables.
09:09:14 <J_Arcane> Because of course it does.
09:09:18 <oerjan> um
09:09:24 <J_Arcane> http://stackoverflow.com/questions/7787683/common-lisp-scoping-dynamic-vs-lexical
09:09:38 <oerjan> i'm not at all sure that this answers the question.
09:11:14 <J_Arcane> oerjan: OK, to put another way: depending on which assignment command you used, yes, you can define a variable in CL in a local context that would still be available outside of it.
09:13:34 <oerjan> i don't interpret the question as asking for dynamic scoping, anyway
09:26:10 -!- roasted42 has joined.
09:34:56 -!- oerjan has quit (Quit: Etc.).
09:39:41 <zzo38> Also, about "it's how to construct something like his (~x ...) which prevents definitions of x inside ..." it isn't only quite that but also that anything inside that refers to this "x" no longer knows anything about any other "x", as if any "x" inside this block is a different token than the "x" outside of the block; a token which is guaranteed not to occur outside.
09:42:16 <J_Arcane> Well, but that's where I'm confused: that's just how lexical scoping works.
10:11:56 -!- roasted42 has quit (Ping timeout: 244 seconds).
10:20:50 -!- roasted42 has joined.
10:22:09 -!- Melvar has joined.
10:22:26 <oren> is there any reason why a lexical scope can't simply be an object, whose members are the lexical variables and with one anonymous method, that is, the enclosed code?
10:24:05 <oren> this would allow the scope to be assigned to a variable and its variables would thus be available after the scope is over.
10:26:07 <J_Arcane> oren: I think Racket can actually do that. Probably. The depths of Racket's macro system are an abyss in which all sanity is lost.
10:28:31 <oren> insanity is a necessary hazard to our work
10:29:07 <roasted42> nice
10:30:41 -!- idris-bot has joined.
10:35:27 -!- supay has changed nick to supay_afk.
10:50:17 -!- roasted42 has quit (Ping timeout: 240 seconds).
10:59:32 -!- roasted42 has joined.
11:06:11 -!- roasted42 has quit (Ping timeout: 258 seconds).
11:13:50 -!- roasted42 has joined.
11:22:50 -!- roasted42 has quit (Changing host).
11:22:50 -!- roasted42 has joined.
11:22:50 -!- roasted42 has changed nick to TheM4ch1n3.
11:27:52 -!- TheM4ch1n3 has quit (Ping timeout: 256 seconds).
11:29:20 -!- roasted42 has joined.
12:04:25 -!- roasted42 has quit (Ping timeout: 252 seconds).
12:06:11 -!- roasted42 has joined.
12:17:44 -!- roasted42 has quit (Ping timeout: 245 seconds).
12:22:19 -!- Patashu has quit (Ping timeout: 245 seconds).
12:26:17 -!- roasted42 has joined.
12:32:03 -!- roasted42 has quit (Ping timeout: 258 seconds).
12:32:37 -!- roasted42 has joined.
12:38:28 -!- asklepion has joined.
12:38:57 -!- roasted42 has quit (Ping timeout: 264 seconds).
12:39:58 -!- roasted42 has joined.
12:43:28 -!- SopaXorzTaker has joined.
12:43:28 -!- SopaXorzTaker has quit (Changing host).
12:43:28 -!- SopaXorzTaker has joined.
12:45:15 -!- SopaXorzTaker has changed nick to XorzSopasmas.
12:45:30 -!- roasted42 has quit (Ping timeout: 256 seconds).
12:48:14 -!- PinealGlandOptic has quit (Ping timeout: 250 seconds).
12:54:17 -!- roasted42 has joined.
12:59:26 -!- roasted43 has joined.
12:59:33 -!- roasted42 has quit (Ping timeout: 272 seconds).
13:00:59 -!- PinealGlandOptic has joined.
13:09:49 -!- roasted43 has quit (Ping timeout: 245 seconds).
13:10:04 -!- Phantom_Hoover has joined.
13:10:13 -!- Phantom_Hoover has quit (Changing host).
13:10:13 -!- Phantom_Hoover has joined.
13:12:57 -!- roasted42 has joined.
13:13:55 -!- XorzSopasmas has quit (Ping timeout: 255 seconds).
13:14:28 -!- supay_afk has changed nick to supay.
13:17:35 -!- XorzSopasmas has joined.
13:28:24 -!- roasted42 has quit (Ping timeout: 258 seconds).
13:29:41 -!- roasted42 has joined.
14:03:17 -!- roasted42 has quit (Ping timeout: 258 seconds).
15:22:04 -!- XorzSopasmas has changed nick to SopaXorzTaker.
15:22:21 -!- SopaXorzTaker has quit (Quit: Leaving).
15:22:40 -!- SopaXorzTaker has joined.
15:22:40 -!- SopaXorzTaker has quit (Changing host).
15:22:40 -!- SopaXorzTaker has joined.
15:46:06 -!- sebbu2 has changed nick to sebbu.
16:01:35 -!- drdanmaku has joined.
16:12:31 -!- shikhin has joined.
16:51:03 -!- ais523 has joined.
16:53:05 -!- shikhin has changed nick to sortiecat.
16:53:13 -!- sortiecat has quit (Disconnected by services).
16:53:44 -!- shikhin has joined.
17:05:48 -!- ais523 has quit (Read error: Connection reset by peer).
17:06:02 -!- ais523 has joined.
17:20:40 <Jafet> How devious; implementing eode efficiently requires nondeterminism
17:26:49 -!- ais523 has quit.
17:27:02 -!- ais523 has joined.
17:45:47 -!- oren has quit (Ping timeout: 252 seconds).
17:48:43 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds).
18:06:58 -!- S1 has joined.
18:07:33 -!- asklepion has left.
18:23:55 -!- vanila has joined.
18:40:03 <tromp__> saim3bzd
18:54:35 -!- Phantom_Hoover has joined.
19:04:56 -!- shikhin_ has joined.
19:05:18 -!- SopaXorzTaker has quit (Quit: Leaving).
19:07:44 -!- shikhin has quit (Ping timeout: 245 seconds).
19:11:50 -!- dts|pokeball has joined.
19:40:11 -!- arjanb has joined.
20:06:37 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds).
20:13:16 -!- S1 has quit (Quit: S1).
20:19:09 -!- ais523 has quit (Read error: Connection reset by peer).
20:19:13 -!- callforjudgement has joined.
20:19:28 -!- callforjudgement has quit (Changing host).
20:19:28 -!- callforjudgement has joined.
20:21:41 -!- callforjudgement has quit (Read error: Connection reset by peer).
20:22:00 -!- callforjudgement has joined.
20:22:50 -!- callforjudgement has quit (Read error: Connection reset by peer).
20:23:02 -!- callforjudgement has joined.
20:39:07 -!- scarf has joined.
20:39:11 -!- callforjudgement has quit (Remote host closed the connection).
20:54:28 -!- InvalidCo has quit (Ping timeout: 245 seconds).
20:54:47 -!- InvalidCo has joined.
21:02:25 -!- InvalidCo has quit (Ping timeout: 244 seconds).
21:18:26 -!- ais523 has joined.
21:18:31 -!- scarf has quit (Read error: Connection reset by peer).
21:24:33 -!- InvalidCo has joined.
22:08:58 -!- callforjudgement has joined.
22:11:37 -!- ais523 has quit (Ping timeout: 240 seconds).
22:20:26 -!- vanila has quit (Quit: Leaving).
22:32:10 -!- Patashu has joined.
23:05:12 -!- Phantom_Hoover has joined.
23:14:35 -!- dts|pokeball has quit (Read error: Connection reset by peer).
23:24:38 -!- dts|pokeball has joined.
23:42:34 <int-e> Oh another reminder of how much of GG's greatness is due to Cheyenne Wright. This wreckage will be so much nicer in color.
23:43:01 <coppro> GG?
23:43:11 <int-e> Girl Genius
23:46:03 -!- callforjudgement has quit (Read error: Connection reset by peer).
23:46:10 -!- callforjudgement has joined.
23:46:11 -!- oerjan has joined.
23:52:51 <oerjan> <J_Arcane> Well, but that's where I'm confused: that's just how lexical scoping works. <-- the problem with lexical scoping is that it would also hide definitions of _other_ tokens than x from the outside.
23:53:11 <oerjan> @tell J_Arcane <J_Arcane> Well, but that's where I'm confused: that's just how lexical scoping works. <-- the problem with lexical scoping is that it would also hide definitions of _other_ tokens than x from the outside.
23:53:12 <lambdabot> Consider it noted.
23:54:23 <oerjan> @tell J_Arcane iiuc zzo38 wants (~x (define y 3)) to have the same meaning as (define y 3).
23:54:23 <lambdabot> Consider it noted.
23:54:46 <oerjan> zzo38: am i correct?
23:54:49 <zzo38> Yes
23:56:10 <oerjan> zzo38: i am wondering if you could use the hygiene system of scheme to implement this as a macro (~ x ...)
23:56:37 <oerjan> although i don't understand it well enough to say
23:56:44 <zzo38> Maybe, but I don't know if something that reads the list without executing it then might see the "x"?
23:57:13 <oerjan> oh you want it to be on the reader level?
23:57:56 <zzo38> Well, you could have a way to define the level too, but either way it cannot see it.
23:58:00 <oerjan> in that case, what would (~x 'x) return?
23:58:21 <oerjan> some gensymmed token, or an x token
23:59:06 <zzo38> A token with the name "x" but which is still considered distinct from any other token with the name "x", I suppose.
23:59:11 <oerjan> i think i've seen a gensym that allows you to create a new symbol like that
23:59:29 <oerjan> don't remember if it was standard
2014-12-27
00:00:22 <oerjan> (with the same name, that is)
00:01:15 <oerjan> hm i guess the problem here is that you want to temporarily change the reader to use that symbol for parsing x
00:01:43 <oerjan> so you would need to be able to mutate the usual symbol lookup table
00:02:09 <oerjan> none of this seems impossible to implement, but i don't know if anything supports it
00:02:42 -!- Sprocklem has joined.
00:03:02 <zzo38> And then if you have (~~x 'x) is another thing meaning where whenever it is expanded/executed it becomes a new token if you have two tildes, always called "x" though, rather than only when it is being read.
00:03:57 <oerjan> hm not sure what you mean there that isn't already implied by the reader case
00:05:46 <oerjan> the way i understand it, once read as a different symbol it wouldn't be turned into the usual symbol by anything other than turning it into a string and back again
00:07:11 <zzo38> It is what I mean; if it is turned into a string and back again then it becomes the usual symbol.
00:08:56 <zzo38> Another command can be ~( ... ) which creates a block without any name resolving at all (also defers some other things) and then one command that reads it does resolving; in that case you can have ~x inside and it become a new ~x token every time it is expanded by the command to do so; same with anything else in the block, it is completely opaque until it is expanded.
00:09:04 <oerjan> hm if (~~x ...) first reads the ... part, and then turns into a macro that wraps the result expression into using the different symbol table...
00:09:16 <oerjan> this sounds like the kind of thing call/cc might mess up :P
00:10:40 <oerjan> (because the symbol table would probably not be lexically scoped itself)
00:10:45 <zzo38> Well, actually I would intended that while first reading the ... part it is treated as if it says ~x instead, before turns into a macro that wraps the result expression into using the different symbol table (which also does it using another new "x")
00:11:32 <oerjan> um two different new "x"es?
00:12:35 <zzo38> Yes the first one is at reading time, the expansion then replaces the first new x with the second one; it makes a new second one for each instance of the macro, although the first one is the same every time.
00:14:04 <zzo38> Maybe it is a bit confusing what I meant; it also isn't entirely clear how useful it is compared to other ways
00:15:37 <oerjan> mhm
00:16:29 <oerjan> i don't quite see the use either, except that this might be useful to _implement_ hygiene of macros.
00:16:57 <zzo38> It is what I thought of too
00:23:45 <oerjan> wiki down :(
00:24:38 <oerjan> @ask Jafet <Jafet> How devious; implementing eode efficiently requires nondeterminism <-- do you mean eodermdrome?
00:24:38 <lambdabot> Consider it noted.
00:30:18 <oerjan> int-e: that GG wallpaper may be the silliest tyrannosaurid i've seen. also i see the foglios are up to date with the latest dinosaur feather theories.
00:34:42 <oerjan> @tell int-e i wonder if agatha is crazy enough to try and get the beast to take them to paris
00:34:42 <lambdabot> Consider it noted.
00:58:49 -!- boily has joined.
01:02:11 <oerjan> evenily
01:02:46 <boily> bonsœrjan!
01:02:48 <oerjan> (can you tell i'm running out of portmanteaus)
01:03:08 <boily> (not a problem. the inspiration will strike one day.)
01:04:45 -!- shikhin has joined.
01:06:57 -!- zzo38 has quit (Ping timeout: 245 seconds).
01:07:06 <boily> oerjan: how are the holidays on your end?
01:07:10 <boily> @metar CYQB
01:07:10 <lambdabot> CYQB 270000Z 25011G16KT 15SM OVC035 02/M01 A2999 RMK SC8 SLP159
01:07:50 -!- shikhin_ has quit (Ping timeout: 244 seconds).
01:08:03 <oerjan> damn you tvtropes, putting subpages on a menu so it's impossible to open them in a new tab...
01:08:21 <oerjan> boily: quiet
01:09:22 -!- zzo38 has joined.
01:10:16 <oerjan> technically all the subpages also had buttons _except_ the one i wanted to visit.
01:11:13 <boily> just wait; tvtropes has a kickstarterredesign...
01:11:51 <oerjan> well this is a new "feature"
01:15:51 -!- Solace has joined.
01:18:07 -!- callforjudgement has quit.
01:23:22 <elliott> https://www.kickstarter.com/projects/tvtropes/the-tv-tropes-revitalization-project the fucking image...
01:27:12 <Solace> ?
01:28:38 <coppro> that's pretty amazing
01:28:54 <Solace> lol
01:38:25 <zzo38> I don't go on TV Tropes in my opinion All The Tropes is better anyways so I use that one.
01:41:15 <oerjan> `echo hi
01:41:25 <oerjan> oh not even here
01:41:41 <oerjan> pretty darn dead
01:47:17 <Solace> yeeep
01:50:53 <coppro> all the tropes is on wikia
01:50:55 <coppro> blech
01:52:30 <boily> why the hate against wikia?
01:52:54 <Solace> ye
01:52:59 <Solace> ;0;
01:53:19 <boily> ye? ;0;?
01:53:29 * boily is confused
01:53:43 <Solace> is also confused?
01:54:25 <Solace> (1) ye to yes as why the hate against wikia (2) ;0; is an emoji
01:54:30 <coppro> wikia is not very friendly
01:54:36 <Solace> as in?
01:54:52 <coppro> uh, let me try to remember the issues nethack had
01:55:13 <coppro> I think they changed the theme in such a way that the NH folks a) didn't like it and b) couldn't change back
01:55:32 <boily> Solace: what is it an emoji of?
01:55:41 <Solace> a gasping cry
01:55:42 <coppro> ais can explain it all better
01:55:55 <boily> Solace: ah!
01:56:04 <Solace> indeed
01:56:41 <elliott> I know like six wikias that moved off wikia because wikia is horrible
01:56:50 <Solace> what does j-bot do?
01:56:53 <elliott> and then wikia kept their old site up and scrubbed it of all references to the new one
01:57:07 <elliott> and those sites still live in as dormant, badly out of date zombies that still snatch up google rankings
01:57:15 <elliott> those sites as in the wikia ones
01:58:12 <Solace> i still have fond memories of when i first joined the internet
01:58:37 <coppro> yeah, wikia does not appreciate you trying to move off their servers
01:59:04 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
01:59:09 <coppro> apparently the only way to kill a wikia wiki is to slowly vandalize it, in such a way that the admins don't notice and can't figure out when to restore it to when they do
02:00:05 <Solace> how do you vandalize it?
02:01:14 <coppro> make changes that only someone in the field would realize are wrong
02:01:22 <coppro> for instance, in wikihack, you could change a bunch of stats of monsters to make them wrong
02:01:23 <Solace> ah
02:02:04 <coppro> if you do it carefully enough, the wikia admins won't know when to revert it to
02:02:31 <coppro> if you just try to delete things, even as the wiki's admin, wikia will step in and revert
02:02:36 <coppro> because all they care about are visits
02:03:00 <coppro> because money
02:05:14 <zzo38> All The Tropes is on Orain, not on Wikia
02:05:24 <coppro> I wonder if there's any way to poison the pages' pagerank
02:05:25 <zzo38> (Although there is a Wikia version too; I use the Orain version)
02:08:51 <elliott> Other Sites We Recommend
02:08:51 <elliott> Anime Boobs Wiki - A wiki where the various women of anime/manga are classified by their bust sizes and their measurements are listed for fans of those characters. They use content from our forks that was removed by TV Tropes thanks to their advertisers.
02:09:07 <zzo38> It uses a compatible license so it is possible to move from the Wikia version to the Orain version and vice-versa.
02:10:05 <zzo38> People who use both versions can therefore synchronize them; I use Orain version but agree to put my contributions as public domain therefore they can be used on anyone.
02:17:14 <oerjan> i read a claim that wikia's license is copyright infringement because they unilaterally changed it at one point
02:17:34 <oerjan> er
02:17:38 <oerjan> sorry
02:17:44 <oerjan> *tvtropes's license
02:18:29 <zzo38> Yes, which is one reason why they made All The Tropes
02:19:39 <oerjan> i also recall that of the two forks, only one of them did _not_ have a copyright problem
02:19:40 <coppro> zzo38: actually you can't port content onto tvtropes unless it's original
02:20:04 <coppro> at least, if everything they say is to be believed
02:20:14 <coppro> because they ostensibly require you to assign copyright of your contributions to them
02:20:17 <oerjan> coppro: zzo38 wasn't speaking about tvtropes i think
02:20:21 <zzo38> Only stuff from before the license of TV Tropes has been changed is copied into All The Tropes.
02:20:33 <coppro> oh ok
02:21:48 <Sgeo> coppro: has this happened? Successfully killing a wikia, I mean?
02:22:43 <coppro> Sgeo: ais seems to think ithas
02:23:28 <oerjan> i have noticed such vandalism on wikipedia before, so it may happen just due to attrition once a wiki gets abandoned...
02:24:05 <coppro> oerjan: yeah, it happens on wikipedia too
02:24:17 <coppro> I remember one time when some famous guy died
02:24:38 <coppro> someone clever got news before most of the press and edited a bunch of fake stuff into his page on wikipedia
02:24:42 <coppro> then all the news sources cited it
02:24:57 <coppro> then when it was called as citation needed, he used the eulogies as proof
02:25:28 <oerjan> i wasn't referring to general vandalism, but to specifically changing little numbers that are awkward to check
02:25:37 <oerjan> or at least work
02:26:29 <zzo38> I have a user space in All The Tropes (the Orain version) too.
02:26:33 <Sgeo> Incidentally, is Peter the Great's birthday on Wikipedia correct or incorrect
02:26:43 <oerjan> heh
02:26:43 <Sgeo> I remember a decade ago seeing someone change the date by one
02:27:04 <zzo38> Did they forget what timezone it is in?
02:27:21 <Sgeo> Or maybe it was someone else, I thought they changed it from 3 to 4 or 4 to 3
02:28:11 <oerjan> i once helped change a wrong date on a frenchman's biography, turns out they'd got month/date order wrong, and then it had partly copied _to_ the french wikipedia version
02:28:24 <oerjan> *been partly
02:28:28 -!- GeekDude has joined.
02:28:52 <oerjan> took a couple iterations by me and others to finally get both wikis right
02:29:53 <oerjan> but that wasn't vandalism
02:30:23 <oerjan> zzo38: they didn't have timezones in peter the great's days
02:31:23 <oerjan> this just makes it more important to have citations
02:31:27 <zzo38> oerjan: That is why someone got confused.
02:31:43 * oerjan swats zzo38 -----###
02:33:27 <oerjan> Sgeo: the article's dates contain neither 3 nor 4...
02:33:58 <Sgeo> I noticed. It might have been someone else. Or maybe there were two vandalisms. Or maybe the current version is wrong.
02:34:17 * Sgeo is helpful!
02:36:20 <oerjan> hm nothing recent
02:36:41 <oerjan> but then it's semi-protected
02:43:15 -!- scounder has quit (Remote host closed the connection).
02:56:25 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
03:07:44 -!- scounder has joined.
04:13:16 <zzo38> `danddreclist 61
04:19:37 -!- shikhin has quit (Ping timeout: 240 seconds).
04:37:12 -!- boily has quit (Quit: MOISTURIZED CHICKEN).
04:50:09 -!- Solace has quit (Quit: Connection closed for inactivity).
05:02:51 -!- adu has joined.
06:24:09 -!- oren has joined.
06:32:52 <oren> the wiki is dead...
06:34:27 <elliott> fizzie: ping
06:37:18 -!- CrazyM4n has joined.
06:38:15 <oren> yo.
06:38:58 <elliott> hi.
06:41:34 <oerjan> qa.
06:42:51 <CrazyM4n> ay
06:43:39 <oren> it seems to me that gzip is misused a lot. tgz files are typically compressed once and then downloaded and uncompressed N times. but gzip is a stream compression! for this use, shouldn't we have a compressor that takes more time during compression to compress it even smaller, and perhaps to optimize the decompression?
06:45:09 <glguy> I think people use gz because it's ubiquitous, not because it's well-suited
06:47:03 <oerjan> fiendish
06:47:44 <oren> actually, why aren't there more non-stream compressors that go over the data N times?
06:47:49 <elliott> oren: xz is popular
06:49:18 <glguy> "Go over the data N times?" Compressed data tends to not compress well
06:50:15 <oren> glguy: but why not use a more expensive data analysis step
06:50:34 <oren> to optimize the compression code?
06:51:28 <glguy> Xz typically compresses more than gz and also requires more processing time and memory
06:54:06 <oren> when compressing an archive, you have random access to the whole file. this is qualitatively different situation from compressing a data stream...
06:56:07 <oren> doesanywell-known algorithm take advantage of this capability?
07:18:54 <Jafet> bzip2
07:28:02 <Jafet> @ask oerjan Yes. (Interestingly, "eode" is K_3 but there is no prefix that is a K_4.)
07:28:02 <lambdabot> Consider it noted.
07:28:31 <oerjan> okay
07:30:13 <oerjan> Jafet: i think that's because K_{odd_n} is eulerian but K_{even_n} isn't
07:30:19 <oerjan> or wait
07:30:29 <oerjan> that's backwards
07:33:34 <oerjan> no
07:33:38 <oerjan> that's right
07:34:13 -!- Sprocklem has quit (Ping timeout: 272 seconds).
07:34:57 <oerjan> since eodermdrome itself is a eulerian circuit, no subpath can repeat edges, thus no subpath can be K_4
07:37:55 -!- dts|pokeball has quit (Ping timeout: 244 seconds).
07:38:15 <Jafet> oren: video compressors have B frames, which are predicted from a past and a future frame
07:42:32 <Jafet> Trying to compress an entire string in one go is pointless because it will probably be NP-hard
07:46:01 -!- dts|pokeball has joined.
08:01:56 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
08:21:05 -!- adu has quit (Quit: adu).
08:35:30 -!- CrazyM4n has quit (Remote host closed the connection).
08:42:37 -!- dts|pokeball has quit (Ping timeout: 240 seconds).
08:45:43 -!- adu has joined.
08:48:04 -!- dts|pokeball has joined.
08:49:59 -!- scoofy has quit (Ping timeout: 252 seconds).
08:55:31 -!- shikhin has joined.
08:59:41 <fizzie> elliott: Ping pong, the sport of kings.
08:59:52 <elliott> fizzie: curl esolangs.org
09:00:07 <elliott> ping esolangs.org, for that matter
09:00:10 <fizzie> Yeah. Let's re-ping Gregor, since the server doesn't answer to ssh either.
09:00:41 <fizzie> (And I don't have any accounts to the cloud-at-no-cost-but-no-service-either's web thingies, or whatever they have.)
09:01:10 <elliott> it's almost like one-off pricing isn't a viable business model for an ongoing service
09:01:19 <fizzie> You don't say.
09:01:23 <elliott> CloudAtCost delivers quality, security, value and unlimited scalability to customers using a state of the art hosting facility.
09:05:06 <oren> last time i saw a state of the art hosting facility it was a 2003 PC under a desk, with a "broken" sticker on it
09:06:56 <oerjan> i'd `addquote that if HackEgo were working
09:07:27 <oerjan> `echo hi there
09:07:44 <oerjan> i suppose being present is also a prerequisite
09:07:50 <elliott> oerjan: we were just talking about esolangs.org being down...
09:08:06 <oerjan> your point being?
09:08:09 <fizzie> oerjan: Hoping for a Christmas miracle?
09:08:34 <elliott> oerjan: hackego is hosted there
09:08:47 <oerjan> elliott: you seem to be assuming i am confused about something
09:09:19 <elliott> well. okay.
09:09:20 <elliott> sorry.
09:09:30 <oerjan> i distinctly recall me causing you to ping fizzie in the first place
09:10:36 <elliott> I'm sorryyyy
09:11:08 <Taneb> I'm confused about something
09:11:26 <Taneb> Nothing particularly relevant, though
09:11:29 <oerjan> did you know that the mcculloch 2 string 525224 can be interpreted as slowly calculating the sequence 2^n-1 in a very verbose representation
09:11:50 <elliott> whoa
09:13:14 <Taneb> I don't even know what a mccullock 2 string is
09:13:26 <oerjan> https://esolangs.org/wiki/McCulloch%27s_second_machine
09:13:57 <oerjan> i'm somewhat trying to solve the mortality decision problem mentioned there
09:14:02 <Taneb> Googling gave me garden equiptment
09:14:28 <oerjan> so i invented a more compact notation for the strings that have particularly complex behavior
09:14:59 <zzo38> I noticed HackEgo was not working as it did not respond to my `danddreclist command.
09:15:02 <oerjan> that one becomes 5 [0] 5 [1,0] which may not look very compact but it gets better as it grows
09:15:29 -!- GeekDude has joined.
09:17:14 <oerjan> it becomes 5 [1,0,2^n-1,0] 5 [1]
09:19:30 <oerjan> (the 5's are actual 5's from the string, the rest is a summary of the distribution of 2's and 4's)
09:20:02 <oerjan> with 4's only counting up to parity
09:21:59 <oerjan> oh this one was also nice
09:22:20 <oerjan> 5 [0] 5 [0,0,0]
09:22:46 <oerjan> oh hm right
09:24:29 <oerjan> it settles into 5 [x] 54 [y] which has fibonacci-like development
09:24:48 <Taneb> Is it possible to reimplement n+k patterns with pattern synonyms?
09:24:52 -!- FreeFull has quit (Ping timeout: 255 seconds).
09:25:27 <oerjan> Taneb: can't you do everything by using view patterns in combination with them?
09:25:45 <Taneb> I don't know
09:28:32 <Jafet> > let f 0 = 0; f 1 = 1; f (pred -> n@(pred -> m)) = f n + f m in f <$> [0..]
09:28:36 <lambdabot> mueval-core: Time limit exceeded
09:28:47 <Jafet> > let f 0 = 0; f 1 = 1; f (pred -> n@(pred -> m)) = f n + f m in f <$> [0..9]
09:28:48 <lambdabot> [0,1,1,2,3,5,8,13,21,34]
09:29:16 <Jafet> > let f ((-2) -> n) = n in f 2
09:29:18 <lambdabot> Could not deduce (GHC.Num.Num (t0 -> t1))
09:29:18 <lambdabot> arising from the ambiguity check for ‘e_122’
09:29:18 <lambdabot> from the context (GHC.Num.Num (t -> t1), GHC.Num.Num t)
09:29:43 <oerjan> Jafet: subtract
09:30:15 <oerjan> however n+k patterns also have a comparison test
09:30:33 <Jafet> > let f ((-(2)) -> 0) = 0 in f 2
09:30:34 <lambdabot> Could not deduce (GHC.Num.Num (t -> a0))
09:30:34 <lambdabot> arising from the ambiguity check for ‘f’
09:30:34 <lambdabot> from the context (GHC.Num.Num (t -> a),
09:30:36 <oerjan> (n+1 = 0 doesn't match)
09:30:50 <oerjan> Jafet: i said use subtract
09:31:28 <Jafet> > let f ((+-2) -> 0) = 0 in f 2
09:31:29 <lambdabot> Not in scope: ‘+-’
09:31:29 <lambdabot> Perhaps you meant one of these:
09:31:29 <lambdabot> ‘-’ (imported from Prelude), ‘++’ (imported from Data.List),
09:31:35 <oerjan> there is no way to use - as a section
09:31:38 <Jafet> > let f ((+(-2)) -> 0) = 0 in f 2
09:31:40 <lambdabot> 0
09:33:05 <Jafet> I don't like using function names that are longer than their definitions
09:56:13 -!- adu has quit (Quit: adu).
10:03:24 -!- oerjan has quit (Quit: leaving).
10:17:08 -!- FreeFull has joined.
10:59:53 -!- Patashu has quit (Remote host closed the connection).
11:00:04 -!- Patashu has joined.
11:01:19 -!- MoALTz has joined.
11:09:52 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
11:57:31 -!- Phantom_Hoover has joined.
11:58:06 -!- scoofy has joined.
12:12:15 -!- shikhin has quit (Ping timeout: 272 seconds).
12:34:19 -!- shikhin has joined.
12:34:28 -!- shikhin has quit (Changing host).
12:34:28 -!- shikhin has joined.
12:54:29 <Phantom_Hoover> so there's a field of mathematics called 'non-galoisian galois theory'
13:08:40 -!- SopaXorzTaker has joined.
13:08:40 -!- SopaXorzTaker has quit (Changing host).
13:08:40 -!- SopaXorzTaker has joined.
13:23:25 <mroman> non-linear linear transforms.
13:26:54 -!- Patashu has quit (Ping timeout: 245 seconds).
13:27:21 <myname> math - not even S(0)
13:37:10 -!- oren has quit (Ping timeout: 250 seconds).
13:41:05 -!- ais523 has joined.
13:44:32 -!- oren has joined.
14:42:06 -!- drdanmaku has joined.
15:00:31 -!- ais523 has quit (Remote host closed the connection).
15:00:42 -!- ais523 has joined.
15:02:12 -!- S1 has joined.
15:02:12 -!- S1 has changed nick to puritania.
15:15:29 -!- ais523 has quit.
15:29:18 -!- shikhin has quit (Ping timeout: 265 seconds).
15:31:55 -!- puritania has quit (Quit: puritania).
15:31:58 -!- oren has quit (Quit: Lost terminal).
16:04:48 -!- GeekDude has joined.
16:21:51 -!- kallisti has joined.
16:21:54 <kallisti> wowowowowow
16:22:17 <int-e> @metar LOWI
16:22:17 <lambdabot> LOWI 271550Z 27007KT 9999 FEW050 SCT070 BKN100 M02/M03 Q1000 R08/1///95 NOSIG
16:22:27 -!- glguy has quit (Ping timeout: 252 seconds).
16:22:33 <kallisti> for whatever reason I couldn't connect to irc.freenode.net, I had to grab a specific domain from freenode's server list.
16:22:39 <kallisti> anyone else have that issue?
16:25:08 <kallisti> int-e: what am I looking at right now
16:26:20 <kallisti> not quite sure if this is the esoteric that this channel is about, but I'm currently writing a GUI application with win32 API.
16:26:24 <kallisti> I think that falls under esoteric, no?
16:26:27 <int-e> kallisti: an avian weather report for Innsbruck's airport (ICAO code LOWI).
16:26:53 <int-e> google "METAR" and you shall be enlightened.
16:27:14 <kallisti> avian? so like, birds strapped with atmospheric measuring equipment?
16:27:47 <kallisti> sounds promising
16:28:18 <kallisti> I've always thought we should employ birds as weathermen
16:28:24 <int-e> Yeah, appealing but that's not really how it works. Airports have weather stations *for* aircrafts.
16:29:49 <kallisti> on an unrelated note, I think this is the last time I'll think to myself "hey, I should make a graphical C application for Windows in my freetime, being completely unpaid to do so!"
16:31:40 <int-e> Strictly speaking I think the win32 API does not qualify as esoteric. But don't let that stop you, we're often stretching the boundaries of this channel's topic anyway.
16:35:12 <int-e> @tell oerjan I'm not worried about getting to Paris yet. The more immediate problem is whether the engine will consume Agatha's locket.
16:35:12 <lambdabot> Consider it noted.
16:36:59 -!- glguy has joined.
16:37:39 <kallisti> there doesn't seem to be very much support for passing user-defined data to window procedures...
16:37:46 <kallisti> I'd like to avoid global variables when possible.
16:39:03 <int-e> please, this is the 90s: nobody needs threads and global variables are your friends.
16:39:33 <int-e> (because you always know where they are without sacrificing one of those precious registers)
16:41:30 <fizzie> @metar EFHK
16:41:31 <lambdabot> EFHK 271620Z 34007KT 9999 BKN016 M08/M10 Q1011 TEMPO BKN013
16:41:49 <int-e> brr.
16:42:14 <fizzie> It was supposed to get actually cold on Sunday/Monday (M20 to M30) but I think they sort of reneged on that.
16:42:50 <fizzie> http://www.foreca.fi/Finland/Espoo/15vrk suggests the daily low will just barely touch M20.
16:44:16 <fizzie> (Then it'll jump back up to "above zero during the day, below zero during the night", which -- combined with the amount of snow that's currently out there -- translates to mornings of "all surfaces are ice".)
16:46:30 <fizzie> @metar EGLL
16:46:30 <lambdabot> EGLL 271620Z 32004KT 290V360 9999 FEW026 04/00 Q1008 NOSIG
16:46:39 <fizzie> That looks quite different.
16:46:47 <int-e> Hmm, TEMPO. The clouds are getting closer to the ground?
16:47:30 <int-e> (BKN016 --> BKN013 later?)
16:47:53 <fizzie> I thought what's after TEMPO is what's currently happening, but only for a limited time.
16:47:57 <fizzie> But I don't know.
16:49:48 <int-e> http://www.pprune.org/tech-log/407020-tempo-metar.html -- I'll go with the forecast idea
16:53:04 <int-e> But it's not a trend, it's an expected fluctuation. Subtle.
16:59:46 -!- b_jonas_ has changed nick to b_jonas.
17:20:24 -!- FireFly has quit (Changing host).
17:20:24 -!- FireFly has joined.
17:31:49 -!- SopaXorzTaker has quit (Ping timeout: 256 seconds).
17:36:28 <Gregor> Murp murp
17:36:35 <Gregor> I'll check on the esolangs server
17:39:59 -!- HackEgo has joined.
17:40:06 <Gregor> Idonno what was up with it, but a hard reboot solved the problem X-D
17:43:56 -!- supay has changed nick to supay_afk.
17:44:59 -!- MoALTz_ has joined.
17:45:23 -!- GeekDude has quit (Ping timeout: 272 seconds).
17:46:32 <kallisti> anyone familiar with winAPI? I'm considering passing a void-pointer to the optional CREATESTRUCT parameter of CreateWindowEx so I can avoid global variable usage
17:46:46 <kallisti> any idea if this will break everything?
17:47:43 -!- GeekDude has joined.
17:48:01 <kallisti> I feel as though the unused wParam of WM_CREATE should specify user-defined data, and CreateWindowEx should have an optional argument to pass that information in, but that does not appear to be the case.
17:48:33 -!- MoALTz has quit (Ping timeout: 272 seconds).
17:52:30 <fizzie> kallisti: Isn't that pretty much exactly the function of the last parameter of CreateWindowEx (except special cases where it serves specific uses, like dialogs or MDI windows)? As far as I can tell from MSDN, it's an arbitrary LPVOID that you provide, and then the lpCreateParams member in the CREATESTRUCT that is passed as the lParam of the WM_CREATE message will be set to whatever you provided.
18:06:57 -!- scoofy has quit (Ping timeout: 256 seconds).
18:12:18 <kallisti> fizzie: yeah I looked at the documentation closer and you're exactly right.
18:13:12 <kallisti> other fun things: I added a #define _CRT_SECURE_NO_WARNINGS and it still gives me an error about it
18:48:01 -!- Phantom__Hoover has joined.
18:49:53 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
18:52:47 -!- GeekDude has changed nick to GeekAfk.
19:07:26 -!- scoofy has joined.
19:11:46 -!- GeekAfk has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
20:06:38 -!- copumpkin has quit (Ping timeout: 272 seconds).
20:10:30 -!- Sgeo has quit (Read error: Connection reset by peer).
20:13:46 -!- copumpkin has joined.
20:29:40 -!- Sgeo has joined.
21:17:13 -!- dianne has quit (Ping timeout: 255 seconds).
21:18:46 -!- dianne has joined.
21:27:27 -!- oren has joined.
21:27:34 <oren> what happen?
21:28:53 <b_jonas> Somebody set up us the bomb.
21:30:27 <oren> would /// still be turing complete if there was a limit on how long the /x/y/ are allowed to be?
21:31:05 <b_jonas> oren: I think so, ye
21:31:28 <b_jonas> oren: I think it's turing complete even if you allow only at most two characters in both the substitution and replacement
21:31:29 <oren> (i mean a relatively large limit, like 255)
21:31:43 <b_jonas> hmm, maybe not
21:31:50 <b_jonas> let me think
21:32:45 <b_jonas> you need some way to create a long table at initialization
21:33:38 <b_jonas> hmm dunno
21:33:40 <b_jonas> no idea
21:33:46 <b_jonas> /// is strange
21:34:31 <oren> i was considering what would happen if instead of delimiters, /// had hollerith strings or pascal strings
21:35:13 <b_jonas> oren: would that make it similar to Fuun DNA?
21:35:34 <b_jonas> I think that has some data marked with a prefixed length, but I'm not quite sure
21:37:30 <zzo38> Why does the speakers in my computer making so much noise?
21:37:46 <scoofy> aliens
21:38:13 <b_jonas> zzo38: meh, my speakers outside the computer make too much noise when I turn them on, because the amplifier is a cheap bad quality one
21:38:46 <zzo38> They don't always make noise, but sometimes (somewhat often) makes all sorts of clicking, scratching, and white noises.
21:39:20 <b_jonas> maybe interference then?
21:40:00 <scoofy> ghosts
21:40:01 <zzo38> Interference from what? The LCD monitor? Printer? Surge protector? Keyboard? Those are the things which happen to be next to the speaker.
21:40:09 <oren> check your sound card drivers
21:40:54 <b_jonas> zzo38: dunno, maybe mobile phone, or cables next to the cable to the speaker
21:41:18 <scoofy> or problem in the sound card
21:41:46 <zzo38> The nearest mobile phone is in another room which is not adjacent to this one.
21:43:46 <oren> look under the desk at the cables, which if you are like me, entwine into a nigh-sentient crawling horror. Make sure that the speaker cables, including its power cable, are not curled around other cables.
21:45:07 <zzo38> They are near other cables but I cannot tell what's around others and not. However, it doesn't make this noise all the time; it does so less than half of the time.
21:46:03 * arjanb can hear from the speaker noise whether a lcd screen is turned on
21:46:32 <zzo38> Turning off the LCD doesn't help.
21:47:10 <oren> well next step, check your sound card drivers
21:47:10 <b_jonas> maybe try to ask someone who's good at hardware, that is, someone who just has to look at hardware to fix it
21:48:32 -!- Patashu has joined.
21:59:10 <arjanb> what is a good approach for parsing in 2D? I want to try a few things with ascii art block diagram like constructs, but the only solutions i can think of are ugly hacks
21:59:44 <scoofy> like?
22:02:34 <arjanb> parsing it in line by line first, annotated by column indices and then somehow merging lines into multiple blocks and wires
22:04:44 <oren> find upper corners
22:11:25 <arjanb> i could try that, maybe even use special tokes for corners...
22:24:31 -!- mitchs_ has quit (Quit: mitchs_).
22:29:14 <oren> interesting fact: searching for a string a0,a1...an can be sped up by keeping a cache of where the string matches a prefix of itself.
22:29:38 <oren> did some math dude already discover that?
22:33:29 <oren> god damn it it's the "Knuth Morris Pratt Algorithm"
22:33:56 -!- CrazyM4n has joined.
22:35:03 -!- mitchs has joined.
23:06:24 -!- nys has joined.
23:13:11 -!- idris-bot has quit (Ping timeout: 264 seconds).
23:15:21 -!- Melvar has quit (Ping timeout: 272 seconds).
23:37:16 -!- Phantom___Hoover has joined.
23:38:27 -!- yiyus has quit (Ping timeout: 256 seconds).
23:39:29 -!- yiyus has joined.
23:40:14 -!- Phantom__Hoover has quit (Ping timeout: 245 seconds).
23:55:17 -!- Melvar has joined.
23:56:38 <elliott> kallisti: ltns
23:56:58 <elliott> hahahaha
23:56:58 <elliott> 23:56:38 <lambdabot> You have 1 new message. '/msg lambdabot @messages' to read it.
23:57:02 <elliott> 23:56:42 <elliott> @messages
23:57:04 <elliott> 23:56:42 <lambdabot> hagb4rd said 14h 41m 53s ago: <elliott> also, he really hates me, and insults me to oerjan or something whenever I ban him again <- fyi: i have never talked to oerjan about you nor have i ever asked him to remove my ban. greetz hag.
23:57:08 <elliott> priceless
23:57:37 <myname> what
23:58:27 <elliott> just some banned dude trying to convince me another op was lying to me after reading the logs
23:58:41 <myname> oh dear
23:59:31 <zzo38> Well, everyone can read the log so you can confirm whether or not the another op really is lying, or if is just a misunderstanding somewhere, if you are reading it carefully.
23:59:45 <elliott> the lie in question would have been in /msg to me
2014-12-28
00:00:00 <oren> what is /msg?
00:00:13 <elliott> um. rhetorical question or sincere?
00:00:32 <oren> i really don't know
00:00:48 <elliott> I sent you one
00:01:53 <zzo38> /msg is a command in some IRC clients, I think; its purpose is slightly different in different IRC clients
00:03:15 <oren> ok i get it now.. it is like a PM on a BBS. not visible to everyone that is
00:03:42 <scoofy> PM
00:04:14 <oren> screw the technical details, i don't need to know how EVERY thing is use works...
00:04:32 <scoofy> ok, then I won't link to the RFC document
00:04:44 <scoofy> i just means 'private message' in case you send it to another person
00:05:31 -!- kallisti has quit (Ping timeout: 255 seconds).
00:05:33 -!- arjanb has quit (Quit: zzz).
00:06:04 <elliott> oren: you can also /msg #channel ... though
00:06:12 <elliott> (as long as you're in it unless it is -n)
00:07:07 <scoofy> i think that is an irrelevant tech detail here.
00:07:08 <zzo38> If you send a message to a channel you do not get a copy even if you are on it though; however you can also send a message directly to yourself.
00:07:33 <oren> so i have implemented a /// variant in which each part is a pascal string.
00:07:56 <elliott> oren: I suggest not using decimal for that.
00:07:58 <oren> (e.g. it is preceded by its length as a byte)
00:08:03 <elliott> oh.
00:08:06 <elliott> well that's boring.
00:08:15 <oren> but is it still TC?
00:08:23 <elliott> dunno
00:08:46 <oren> any i figure it is less boring than most of the BF variants
00:08:54 <elliott> I was thinking something like defining it on bits as 1^m0{s1}^n0{s2}{s3} where |s1| = m, |s2| = n
00:09:13 <elliott> so 11100100... replaces "010" with the empty string in ...
00:10:09 <oren> is arbitrary length of pattern and replacement requied for TCness?
00:10:26 <elliott> I don't know.
00:12:18 <oren> in hex, 010A020A0B0A0B -> 0A0B0B
00:13:11 <oren> but i'm not sure what the termination condition would be
00:14:12 <oren> but this does eliminate the need for \'s.
00:16:00 <elliott> hmm, I suppose my language can only output 0s
00:16:02 <elliott> that's unfortunate
00:16:11 <myname> how so?
00:16:48 <myname> also: you did mean 0^n and not ^n0, didn't you?
00:17:29 <elliott> no
00:17:46 <myname> i do not understand in that case
00:18:00 <elliott> it should be 1^n0
00:18:09 <myname> ah
00:18:16 <myname> yeah, that works for me
00:18:30 <elliott> you can't do things like make programs with useful infinite output though
00:18:33 <elliott> which is sad
00:18:45 <elliott> I don't see any way to allow outputting 1s too that wouldn't feel a bit impure
00:18:52 <elliott> oh, wait, it can't even output 0s
00:19:05 <myname> why?
00:19:08 <elliott> because 01^n0s2 is //s2/
00:19:19 <elliott> which is admittedly a useless construct, but one that is in the original ///, and one that should be present for symmetry
00:19:43 <myname> i don't see the problem
00:20:02 <myname> maybe i should reread about ///
00:20:04 <elliott> well so 0 has a meaning other than outputting a 0bit
00:20:06 <elliott> *0 bit
00:34:19 -!- CrazyM4n has quit (Remote host closed the connection).
00:36:45 <scshunt> hello
00:37:03 <oren> yellow
00:37:16 <elliott> https://esolangs.org/wiki/111 I guess HackEgo isn't here
00:38:51 <oren> hold on. what if the string evolves to a bitstring beginning with 0?
00:39:14 <elliott> 0 111 0 101 --> ("", "101")
00:39:20 <elliott> so it is like //101/ in ///.
00:39:25 <elliott> so it loops forever.
00:40:05 <oren> ...damn. uhh... actually if my byte-based one had input it would have the same probelm
00:40:24 <elliott> how is that a problem?
00:40:40 <oren> well... how do you terminate?
00:40:58 <myname> elliott: how do you seperate several substitution rules with your above rule?
00:41:18 <myname> won't you need to prefix s3, too?
00:41:27 <elliott> myname: strings are self-delimited, so in (s1:string)(s2:string)(s3:bits) we replace s1 with s2 in s3.
00:41:33 <elliott> and then continue running s3.
00:41:45 <myname> ah
00:41:54 <oren> i am tinking of eliminating input and halting on 0.
00:41:54 <elliott> "replace" is defined as per ///, i.e. you replace the first occurrence of s1 with s2 in s3, and then repeat.
00:42:12 <elliott> (therefore if you replace a string s with any string that has an s in it, it is an infinite loop.)
00:42:20 <elliott> stopping when there are no s1s in s3.
00:47:16 <oren> yeah. so what if an empty pattern and replacement halts instead of looping ofrver doing trivial replacements
00:47:42 <oren> 00[N] will output N
00:49:24 <elliott> that's a weird special case.
00:49:39 <elliott> see e.g. https://esolangs.org/wiki/Talk:///#An_ambiguity_in_the_spec
00:50:14 <nys> an ambiguity in the spec
00:50:24 <elliott> it's no longer ambiguous
00:50:33 <elliott> mostly because I rewrote the spec :p
00:50:50 <nys> there are tons of ambiguous specs
00:50:55 <nys> tooons
00:51:08 <nys> | - )
00:51:30 <elliott> is that a geordi smiley
00:51:36 <nys> i don't even know
00:52:07 <elliott> what's the behaviour of the itflabtijtslwi program GGx nys?!?! only you can clarify
00:52:31 <elliott> I suggest it be specified as starting an interactive game of tetris
00:53:39 <nys> i think i'll explicitly specify that it's unspecified
00:53:46 <nys> and call it "Undefined Behaviour"
00:53:55 -!- Patashu_ has joined.
00:53:55 -!- Patashu has quit (Disconnected by services).
00:54:02 <elliott> okay, but, like, triggering an error would be so boring.
00:54:06 <nys> | - )_
00:54:13 <nys> no it's not illegal
00:54:13 <elliott> you have leverage here.
00:54:18 <nys> it's just. undefined.
00:54:27 <elliott> yeah but I mean as an implementation choice as to how you interpret that undefined behaviour!
00:54:34 <nys> oh hm
00:54:36 <elliott> okay how about it's undefined WHICH game it starts
00:54:39 <elliott> it could also be boggle
00:54:49 <oren> or AoM
00:54:51 <elliott> russian roulette
00:54:57 <nys> depends how much free memory there is
00:55:06 <nys> and the endianness of the target machine
00:55:11 <myname> what
00:55:14 <elliott> all itflabtijtslwi programs must reimplement crysis
00:55:17 <elliott> er, *interpreters
00:55:39 <myname> elliott: i vote for dwarf fortress
00:55:44 <elliott> nys: gcc actually used to treat implementation-specific behaviour this way btw http://feross.org/gcc-ownage/
00:55:52 <elliott> it started up nethack
00:56:13 <nys> HAH
00:56:15 <nys> nice
00:56:25 <elliott> http://blog.regehr.org/archives/759 ahh, this would give oren a heart attack
00:56:58 -!- kallisti has joined.
00:57:16 <elliott> kallisti: ltns
00:57:25 <nys> coeducation is the great coequalizer
00:57:33 <nys> someone should teach me category theory
00:57:38 <kallisti> fizzie: you can apparently use SetWindowLong to change GWLP_USERDATA
00:57:43 <kallisti> elliott: excuse you?
00:57:49 <kallisti> oh okay
00:57:51 <elliott> long time no see
00:57:52 -!- nisscrooge has quit (Changing host).
00:57:52 -!- nisscrooge has joined.
00:57:53 <kallisti> took me a second to parse that
00:57:54 <kallisti> yeah
00:57:58 <elliott> my old nemesis
00:58:10 -!- nisscrooge has changed nick to nisstyre.
00:58:29 <kallisti> I somehow thought it would be a good idea to write a win32 GUI
00:58:36 <kallisti> on my own accord, without being paid large sums of cash.
00:59:11 <elliott> for what?
00:59:47 <elliott> nys: be careful, inductive reasoning isn't enough to learn CT, you need the coinductive kind as well. eh this joke sucks
01:00:35 <nys> it is a terrible joke
01:00:49 <nys> but it'd be a terrible joke i'd get better if i knew CT ;_;
01:01:27 <elliott> it's not even really much of a CT joke...
01:01:52 <elliott> putting "co" in front of everything is (a very bad one), but coinduction isn't even a CT thing
01:02:03 <elliott> well, it probably is, from some perspective, but so is everything -_-
01:02:21 <nys> well i mean i know coequalizers are a thing
01:02:38 <nys> something about being applied for a unification algorithm in like one textbook
01:03:46 <elliott> I knew what coequalisers were, once
01:03:53 <elliott> what textbook though?
01:04:00 <nys> mnnnn i forget
01:04:18 <nys> oh uh i think it might have been category theory for computing science?
01:04:21 -!- AndoDaan has joined.
01:04:23 <nys> or something like that
01:05:02 <elliott> that sounds interesting... why were you reading a book with that title if you don't know CT though :p
01:05:18 <kallisti> elliott: I wrote a chat bot that connects to twitch.tv's "IRC" server (more of a pseudo-IRC server than anything, since it doesn't implement most of the protocol), takes song requests from subscribers, and adds them to a Spotify playlist. Now I'm updating it with a GUI to change configuration and display who requested what song.
01:05:28 <kallisti> the person I wrote it for isn't very comfortable with config files. :P
01:06:15 <elliott> nys: oh or is it like a CT introduction from the perspective of CS
01:06:19 <elliott> rather than like the other way around
01:06:34 <kallisti> I'm more or less using win32 api to say that I did, and then move on with my life (preferably forever)
01:06:35 <nys> yaa
01:06:37 <nys> i think
01:06:45 <nys> i didn't read too much of it
01:07:11 * elliott nods
01:07:21 <elliott> I've heard that CT books are a rather mixed bag
01:08:26 <nys> i've just started reading one called uh i forget but it's by two guys named lawvere and schanuel
01:08:39 <nys> it's really sort of childish but i like it
01:08:43 <elliott> conceptual mathematics?
01:08:47 <nys> yesh
01:08:51 <nys> that's it
01:08:52 <elliott> I've heard things about that and I forget whether they were really good or really bad
01:09:01 <nys> >->
01:09:18 <elliott> my problem with CT is that I don't have the mathematical knowledge to understand all the concrete examples
01:09:43 <elliott> so I end up pretending the only "applied", non-"CT stuff" category is Set, which doesn't go too well
01:09:52 <nys> that's the great thing about this book
01:10:12 <nys> in that it seems like you don't even really need math as a prerequisite haha
01:10:28 * elliott nods
01:10:36 <elliott> it's a shame because I am interested in CT more for its own sake than for its applications, really
01:11:19 <nys> i mostly only study this stuff in the hope of stumbling across novel applications
01:12:22 <oren> From reading the wikipedia, CT looked easy until i realized it is brutaly hard
01:14:05 <coppro> yep
01:14:09 <coppro> CT is very hard
01:14:32 <oren> but it looks so trivial at first that it is so... inviting
01:15:20 <oren> like a comfy couch with a bunch of invisible thumbtacks
01:15:21 <nys> it looks like a gateway math
01:15:25 <nys> but then it is hard maths
01:15:40 <coppro> haha
01:15:45 <coppro> math. not even once.
01:15:58 <kallisti> I quit a math long time ago. My life has been a lot better since.
01:16:35 <kallisti> I can now look down on those who do math, because I have already quit.
01:16:53 <coppro> :(
01:17:00 <coppro> that's not nice
01:17:00 <oren> i make computers do math so i don't have to. math is the computer's job
01:18:37 <myname> no, calculating is the computer's job
01:18:43 <elliott> arguably the problem is that CT is too simple; there's nothing to hold on to
01:18:43 <myname> math is not calculating
01:18:48 <elliott> * *too*
01:19:46 <coppro> aloril_: yeah
01:19:54 <oren> myname: CAS would beg to differ
01:19:57 <coppro> *elliott:
01:20:39 <kallisti> my favorite thing about this project is learning about the function wcstombs
01:20:48 <kallisti> I like to think of it as an author's name
01:20:57 <kallisti> i.e. W. C. Stombs
01:21:17 <Jafet> WCs and tombs
01:21:21 <elliott> the dreaded WCS tombs
01:21:46 <oren> The curse of W.C.'s tombs.
01:21:56 <kallisti> I haven't quite figured out a nice mnemonic for mbstowcs though.
01:22:01 <int-e> Who is W C?
01:22:13 <oren> William Carlsroy
01:23:02 <int-e> You're in a maze of puns, all different :/
01:23:18 <kallisti> other fun windows things: WNDCLASSEX
01:23:59 <oren> Wind class sex.
01:24:05 <int-e> Oh, I actually guessed the meaning of wcstombs correctly.
01:24:24 <elliott> is that like having sex in a class about the weather
01:24:26 * int-e goes shoot out his brain.
01:25:03 <Jafet> Surely it's a place name in the UK
01:25:04 <oren> why has atoi not been added to C11?
01:25:18 <elliott> because strtol
01:25:18 <kallisti> atoi is deprecated
01:25:20 <nys> weather report music sounds pretty sexy
01:25:28 <kallisti> by the thing elliott mentioned
01:25:39 <elliott> or sscanf, I guess?
01:25:59 <oren> what about itoa?
01:26:07 <elliott> nys: banging to the https://en.wikipedia.org/wiki/Shipping_Forecast
01:26:25 <elliott> oren: s(n)printf
01:26:37 <oren> sprintf doesn't support arbitrary base
01:26:46 <elliott> uh, neither does itoa afaik
01:27:04 <elliott> okay, it's more flexible though
01:27:15 <kallisti> who even uses sscanf for anything ever
01:27:27 <elliott> kallisti: it's less annoying than manual string mangling
01:27:31 -!- boily has joined.
01:27:46 <oren> when you want to input one line exactly then read numbers from it
01:28:17 <int-e> kallisti: it's good for throwaway programs that require input, but where the input is trusted or only consists of numbers?
01:28:24 <oren> scanf space matches \n which is sometimes not what you want
01:28:30 <elliott> nys: https://www.youtube.com/watch?v=mSq4nfH4y6Q more likely to put you to sleep tbh
01:28:33 <Jafet> sscanf does locales.
01:28:47 <int-e> Jafet: pity.
01:29:17 <Melvar> Where is itoa a thing?
01:29:18 <nys> elliott, i was actually covertly referring to these guys: https://www.youtube.com/watch?v=eCQ89diiq5Q
01:29:45 <elliott> nys: oh, duh. no, I know of Weather Report, I just interpreted it completely literally for some reason
01:29:55 <elliott> I prefer my interpretation tbh
01:30:06 <elliott> muzak to get you into the mood
01:30:30 <nys> o
01:30:41 <oren> http://msdn.microsoft.com/en-us/library/yakksftt.aspx
01:31:03 <oren> no i have no clue why thatis the url
01:31:31 <kallisti> http://msdn.microsoft.com/en-us/library/yakksftt.aspx
01:32:11 <kallisti> I am actually pretty curious about why it is called that
01:32:46 <kallisti> ah, looks like all of the URLs have gibberish names
01:33:02 <kallisti> that's good
01:33:11 <Jafet> “More secure versions of these functions are available”
01:33:27 <oren> _itoa_s
01:34:36 <shachaf> `olist 971
01:34:44 <HackEgo> olist 971: shachaf oerjan Sgeo FireFly boily nortti
01:35:29 <kallisti> so for those who aren't familiar with it: any guesses for what the type name LPCWSTR stands for?
01:35:40 <elliott> long pointer to wide character string
01:35:51 <kallisti> wow you sound awfully familiar with that type
01:35:51 <elliott> it's easy when you know the basic elements of the type name
01:36:02 <kallisti> I think you're cheating
01:36:04 <elliott> I don't think I've ever written more than like 30 lines of Win32.
01:36:08 <int-e> funny how the "L" survived the tides of time
01:36:20 <Jafet> RIP long pointers
01:36:31 <boily> shachaf: shellochellof! thanks!
01:36:32 <elliott> "STR" is obvious, and gives an obvious meaning to "CW", because I do know Windows uses WCHAT/wchar_t UTF-16 (or UCS-2, sometimes...)
01:36:40 <elliott> and, yes, LP I know
01:36:41 <nys> funny how the L survived rather than being dropped
01:36:42 <nys> >_>
01:37:09 <elliott> nys: well, modern-day pointers act more like long ones did, right?
01:37:24 <nys> soooort oooooofffff
01:37:30 <kallisti> well if it were PCWSTR people might think it stands for Personal Computer Wide String, or maybe Program Counter Wide String. :)
01:37:30 <shachaf> helloily
01:37:45 <shachaf> today's olist features the return of an unlikely nemesis
01:37:48 <int-e> nys: perhaps that happened because for a quite a long time, LP were 32 bits?
01:37:56 <nys> ok true nuff
01:38:12 <int-e> also with 64 bit architectures, the distinction is somewhat relevant again
01:38:33 <elliott> nys: I mean, near pointers are limited, far pointers can address everything but they're bulkier
01:38:40 <elliott> it really is more like near pointers stopped existing than far pointers
01:38:42 <int-e> Because one can save lots of memory if pointers are truncated to 32 bits, which is plenty enough for many applications.
01:38:46 <fizzie> int-e: Sadly, WPARAM and LPARAM are still the same size on x64 Windows. They missed a great chance to make LPARAM 64 bits and WPARAM 32.
01:38:46 <nys> OK FUNK
01:38:49 <nys> *FINE
01:38:56 <elliott> you have to apologise for your error nys
01:39:01 <elliott> we're so disappointed
01:39:03 <nys> i'm really sorry
01:39:06 <elliott> thanks <3
01:39:08 <nys> i retract my statement
01:39:09 <coppro> that's not enough reallys
01:39:20 <nys> i'm reeeeeally really sorry with a cherry on top
01:39:23 <kallisti> I've been messing with WPARAM and LPARAM all day and I actually did not even bother to figure out what the L and W stood for. :P
01:39:24 <coppro> better <3
01:39:29 <int-e> nys: which model?
01:39:50 <int-e> (hoping for a good keyboard ;-) )
01:40:06 <nys> wat
01:40:11 <elliott> that was even worse than my coinduction joke
01:40:36 <nys> uh oh
01:40:59 <pikhq> Man, I just "love" the whole notion of far pointers in DOS C.
01:41:02 <elliott> cherry is a company that makes keyboards.
01:41:09 <nys> oh
01:41:18 <kallisti> okay so apparently LPARAM and WPARAM used to be different sizes and now they're not, but they kept their names just cuz?
01:41:22 <kallisti> hysterical raisins
01:41:23 <nys> it looks like another apology is in order >_>
01:41:33 <elliott> heyy, don't look at me
01:41:37 <pikhq> "If you wanna be portable to DOS and handle sane amounts of memory, good luck being sane!"
01:41:38 <elliott> it was int-e's joke!
01:42:14 * nys glares at int-e
01:43:01 <int-e> I'm sorry?!
01:43:08 <nys> good.
01:43:13 <int-e> Nah, whom am I kidding.
01:43:34 <nys> it's going inta yer record then...punk...
01:43:52 * int-e is sorry with a Logitech on top
01:43:56 <nys> this one gonna follow you around the rest of your pun career
01:44:19 <int-e> (Haven't seen one I liked, so that should be repentance enough)
01:49:43 <int-e> I have several sources of bad influences, http://www.vexxarr.com/archive.php?seldate=010908 not the least among them.
01:51:11 <int-e> (Not just that particular one (I got the link from TV tropes), the whole comic is full of puns, often awful to the extent that it's used as a weapon to slow down enemies. I think OOTS does that, too.)
01:52:30 -!- AndoDaan has quit (Read error: Connection reset by peer).
01:54:23 -!- AndoDaan has joined.
02:07:49 * boily glares at int-e. “you linked me to a punny comic. I hate you.”
02:10:13 <int-e> http://www.airshipentertainment.com/growfcomic.php?date=20071014 is another nice demonstration
02:10:31 <int-e> and it's actually meta, so that should make it ok ;-)
02:13:15 <boily> ...
02:14:01 <int-e> boiling with rage?
02:14:16 <int-e> (Sorry it took so long. I'm sure this has been done before.)
02:17:29 <boily> I'll think of something. just you wait...
02:20:32 -!- Zuu has quit (Ping timeout: 250 seconds).
02:20:55 -!- Zuu has joined.
02:21:29 * int-e shuffles into a corner and hangs his head in sham.
02:48:15 -!- Phantom___Hoover has quit (Read error: Connection reset by peer).
02:51:24 <coppro> int-e: in sham?
02:55:39 <int-e> coppro: don't ask, I might still need the plausible deniability.
03:03:52 -!- GeekDude has joined.
03:09:41 -!- dts|pokeball has quit (Ping timeout: 272 seconds).
03:13:20 -!- dts|pokeball has joined.
03:21:00 <int-e> oh nice. apparently one can reconstruct fingerprints from photographs (obvious in retrospect...) ... so much for security.
03:25:17 -!- metaphage has joined.
03:26:32 <boily> int-e: do you need hi-res, or can you infer a good engough print from a good enough picture?
03:35:38 <int-e> boily: they used a standard camera and a 200mm lens (which they write is standard for reporters) at a press conference; I assume they zoomed in on the hands.
03:40:14 <int-e> pity, the talk was in german. https://events.ccc.de/congress/2014/Fahrplan/events/6450.html
03:42:37 <int-e> Nice title though. "I see, therefore I am ... you."
03:48:36 -!- metaphage has quit.
03:48:54 <oren> Authentifizierungserfahren...
03:49:15 <oren> s/ser/sver/
03:49:46 <oren> someone make a bot that processes s/// commnads
03:50:06 <int-e> please, no.
03:50:19 <oren> why not?
03:51:08 <int-e> `` sed 's/./&&/g' <<<"because it would be awful"
03:51:11 <HackEgo> bbeeccaauussee iitt wwoouulldd bbee aawwffuull
03:51:18 <oren> we can name him sbot the bot. see sbot run. s/see/run,/
03:51:43 <boily> s/// is probably turing complete. it may cause infinite loops of disproportionatexponential proportions.
03:52:15 -!- boily has quit (Quit: CRETACEOUS CHICKEN).
03:52:41 <coppro> my laptop's battery lasts embarrassingly long <3
03:53:59 <int-e> oren: I really can't see that ending well; the abuse will outweigh the benefit and even the benefit is very small; people are good at spotting and correcting typos even without the s/// prompts.
03:54:34 <coppro> http://esolangs.org/wiki/Slashes
03:54:53 <oren> limit it to one iteration per s//
03:55:49 <int-e> `` sed 's/.*/&! &!!! &!!!!!/' <<<"because it would be awful"
03:55:50 <HackEgo> because it would be awful! because it would be awful!!! because it would be awful!!!!!
03:57:08 <coppro> note that slashes has no regexes and no backreferences
04:03:05 -!- dts|pokeball has quit (Read error: Connection reset by peer).
04:03:06 -!- dts_ has joined.
04:03:47 <oren> how efficient is it to fseek around in a file instead of using my own explicit buffer?
04:04:51 <oren> i am hoping there isn't much penalty
04:06:07 <int-e> Another system call. If you seek a lot and the file isn't *too* big, you could use mmap.
04:07:06 <int-e> KISS suggests you should try the fseek and optimize later.
04:07:28 <coppro> ^
04:08:37 -!- dts_ has changed nick to dts|pokeball.
04:08:44 <oren> seems to be ok from my test...]
04:08:56 <oren> i'll try a buffer later
04:09:37 -!- oerjan has joined.
04:10:52 <oerjan> @messages-
04:10:52 <lambdabot> int-e said 11h 35m 40s ago: I'm not worried about getting to Paris yet. The more immediate problem is whether the engine will consume Agatha's locket.
04:10:58 <oerjan> @tell int-e eek
04:10:58 <lambdabot> Consider it noted.
04:11:32 <int-e> oerjan: not my idea, it has been hinted at.
04:12:39 <oerjan> do you mean something more specific than martellus's hand?
04:13:57 <oerjan> perhaps his chemical modifications of agatha will save the day :P
04:14:52 <oerjan> also, are we _really_ sure margolotta is dead. maybe she has something that just makes her look that way.
04:14:56 <int-e> Well, there's the last panel in http://www.girlgeniusonline.com/comic.php?date=20141219
04:15:22 <int-e> oerjan: I also thought Zeetha was worried about it at one point, but perhaps I imagined that.
04:15:55 <oerjan> she has been worried about the locket before, but recently?
04:16:03 <int-e> oerjan: Good question. But Violetta confirmed her death, so tentatively I'm accepting that she is dead. Which doesn't mean she won't be revived.
04:16:18 <oerjan> hm
04:16:38 <oerjan> right that would be non-ferrous metal
04:17:51 <int-e> how many people have actually died in this comic so far...
04:18:05 <int-e> (named characters)
04:18:23 <oerjan> let's see, doctor beetle, judy and punch
04:18:47 <oerjan> (of course those two got better)
04:18:53 <oerjan> lars
04:18:57 <int-e> two of them revived.
04:19:00 <int-e> Lars, Olga.
04:19:13 <int-e> (Olga revived, perhaps ;-) )
04:19:20 <oerjan> without a brain afaiu
04:19:31 <oerjan> or at least, without her old brain
04:19:39 <int-e> well, obviously.
04:19:45 <oerjan> dr diaz
04:20:12 <oerjan> dr merlot
04:20:26 <int-e> oh there's that soldier killed by the locket
04:20:36 <oerjan> right, moloch's brother
04:21:13 <oerjan> priestess vrin
04:21:26 <oerjan> tarvek's father
04:21:39 <oerjan> plenty of people, i'd say :P
04:21:44 <int-e> Zola, probably
04:21:53 <oerjan> um no
04:22:09 -!- dts|pokeball has quit (Ping timeout: 265 seconds).
04:22:09 <oerjan> i'm pretty sure zola survived
04:22:46 <oerjan> she was last seen alive and recuperating
04:23:42 <oerjan> fraulein von pinn sort of died but got reclanked
04:23:51 <int-e> oh. http://www.girlgeniusonline.com/comic.php?date=20110221
04:24:10 <int-e> I forgot.
04:24:15 <oerjan> lord selnikov also got revived
04:25:21 <oerjan> there were other castle inmates but i don't remember if any had names
04:25:27 <int-e> Of course Zola should be out of action in the time stop field.
04:25:49 <int-e> (Together with a lot of other members of the cast.)
04:25:56 <oerjan> hm that may be, unless she left when klaus did
04:26:09 <int-e> Oh that could be...
04:26:13 <int-e> Tricky
04:27:12 <oerjan> öumph or whatever that trumpet guy was called, although he didn't survive very long
04:27:50 <int-e> Damn we really don't know much about what happened during those 3 years. So many opportunities for Lucrecia (one of her three? copies, besides Agatha) to come up with deviltries.
04:28:58 <oerjan> i only know of two other copies, one of which is zola and so is different
04:30:02 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:30:05 <oerjan> dimo did tell agatha gil was fighting against her mother
04:30:43 <oerjan> so she's obviously somewhat powerful
04:34:59 <int-e> I guess you're right. http://girlgenius.wikia.com/wiki/The_Other
04:36:20 <int-e> The whole Sturmhalten scene is a blur to me. So two copies of Lucrecia make it out of there but one of them was Agatha...
04:37:01 <oerjan> yeah
04:37:18 -!- adu has joined.
04:40:45 <int-e> oerjan: Do you know whether Agatha has taken the locket off since her revification death below castle Heterodyne? Because that scene looked like she might actually be rid of her.
04:40:55 <oerjan> this guy also has a name and dies shortly after http://www.girlgeniusonline.com/comic.php?date=20130520
04:41:01 <int-e> *might*
04:42:02 <oerjan> int-e: um zola took the locket off after that
04:42:23 <newsham> https://twitter.com/jamesgolick/status/529360759256776704
04:42:27 <int-e> right. that settles that.
04:46:12 <oerjan> iirc the last time lucrezia was in complete control of agatha's body was http://www.girlgeniusonline.com/comic.php?date=20100730
04:46:47 <oerjan> (there were some eerie emotion-only episodes later)
04:48:08 * oerjan has been rereading that section recently
04:49:04 -!- shikhin has joined.
04:50:24 <oerjan> http://www.girlgeniusonline.com/comic.php?date=20101129
04:52:32 <oerjan> next page is where tarvek says that he can remove lucrezia once and for all
04:52:55 <oerjan> but of course there hasn't been time for that
04:54:08 <oerjan> <Phantom_Hoover> so there's a field of mathematics called 'non-galoisian galois theory' <-- AAAAAAAAAAAAAAAAAA
04:54:26 <coppro> ^
04:54:46 <oerjan> ooh kallisti is here
04:54:50 * oerjan waves
04:56:42 -!- dts|pokeball has joined.
04:57:15 <oerjan> @metar ENVA
04:57:15 <lambdabot> ENVA 280450Z 12011KT 9999 FEW044 SCT053 M11/M13 Q1021 RMK WIND 670FT 15008KT
04:57:21 <oerjan> *BRRRR*
04:57:39 <oerjan> it's supposed to get warmer tomorrow
04:57:48 <int-e> @metar LOWI
04:57:49 <lambdabot> LOWI 280450Z VRB01KT 6000 -SN SCT010 SCT030 BKN050 M04/M04 Q1001 NOSIG
04:58:58 <oerjan> -SN? negative snow?
04:59:20 <oerjan> WHY IS THE SNOW FALLING UPWARDS IN INNSBRUCK, FILM AT 11
05:00:00 <int-e> Light snow.
05:00:13 <oerjan> very light indeed
05:00:41 <oren> the longer you go hacking at code without refactoring, the worse it looks
05:00:44 <int-e> bah. It's snowing lightly.
05:00:49 <int-e> Not upwards.
05:00:59 <int-e> Silly oerjan. Not that I have any right to complain.
05:01:01 <oerjan> oren: isn't that like the definition of technical debt
05:01:28 * oerjan hasn't actually read the definition mind you
05:01:52 <int-e> there's also a + modifier for heavy rain or snow.
05:01:57 <oren> int o,ol,l,i,n,k,m;
05:01:58 <oerjan> ic
05:05:32 <oren> that line is representative of what happens when you put the whole program into the main function
05:06:50 <oren> normally i refactor when the function gets to be more than one screen, but....
05:16:17 <oerjan> you should factor while you still remember the primes, i think
05:17:10 <oren> oerjan: that is actually a good metaphor. it is hard to refacotr code that you didn't just write
05:23:08 -!- AndoDaan has quit (Quit: bbl).
05:40:12 -!- AndoDaan has joined.
05:43:56 <Sgeo> Am I seriously reading a pro-North Korea thing right now? WTF
05:44:08 <Sgeo> Apparently 'hermit kingdom' is racist? What?
05:45:56 <Sgeo> It doesn't seem to be a DPRK website, seems to be a socialist website
05:55:23 -!- roasted42 has joined.
05:56:22 <Taneb> North Korea scares me
05:56:26 -!- Sgeo has quit (Read error: Connection reset by peer).
05:56:40 -!- Sgeo has joined.
06:01:28 -!- roasted42 has quit (Changing host).
06:01:28 -!- roasted42 has joined.
06:01:28 -!- roasted42 has changed nick to TheM4ch1n3.
06:06:01 <oren> my compressor is almost working... it's losing a few bytes at the end of the file
06:08:30 <oren> i have created the most WTF compression algorithm ever
06:09:10 <oren> it goes over the file ~10000 times
06:11:21 <oren> on the plus side decompression is pretty fast
06:14:58 <TheM4ch1n3> use xz/7z
06:16:06 <oren> my compressor is awesome. it generates a program in a language similar to /// which outputs the original file
06:16:09 <TheM4ch1n3> cat somefile.ext | xz -9 -c >somefile.ext.xz
06:17:10 <TheM4ch1n3> language similar to /// ?
06:17:39 <oren> essentially /// except instead of delimiters each strong begins with a byte giving its length
06:18:15 <TheM4ch1n3> ok, but why not use one of the already developed compression algo's ?
06:18:25 <oren> for fun, duh
06:18:33 <TheM4ch1n3> ok :-)
06:18:51 <oren> i will post the code once i've ironed out the bugs and refactored it
06:19:56 <TheM4ch1n3> yeah, I'm working on a minecraft clone - currently developing a block level binary occluder system, goal to render many blocks, but anything could be in each block
06:20:35 <TheM4ch1n3> then I wanna add OpenDE (Physics) and some simple vehicles
06:21:03 -!- Zuu has quit (Ping timeout: 250 seconds).
06:21:35 -!- Zuu has joined.
06:22:07 <oren> by "occluder" you mean it detects which blocks are visible before reducing them to polygons?
06:23:17 <oren> ok, compression is fully working it seems
06:24:22 <int-e> . o O ( refactor, v. - rewrite from scratch )
06:26:16 <oren> lol int-e i'm not gonna do that... yet.
06:27:05 -!- TheM4ch1n3 has quit (Ping timeout: 244 seconds).
06:28:22 -!- roasted42 has joined.
06:34:48 <oren> it is interesting which strings it chooses to reduce,
06:35:14 <roasted42> oren: oh, um by occluder I mean it uses a fill method, whereby airbricks (has nothing but air within) - have markers that move away from the camera until they enter a solid (block), then it knows what to draw
06:35:15 -!- roasted42 has quit (Changing host).
06:35:15 -!- roasted42 has joined.
06:35:15 -!- roasted42 has changed nick to TheM4ch1n3.
06:35:34 <TheM4ch1n3> oren: have you read about huffman compression ?
06:36:00 <oren> i have of course
06:36:54 <TheM4ch1n3> how come you dont code a PC game "for fun" ?
06:36:56 <Sgeo> A good politician on SMBC?
06:39:10 <TheM4ch1n3> this is a bit rude but funny -> http://xkcd.com/508/
06:39:54 <oren> TheM4ch1n3: heh, i've done that
06:41:34 <TheM4ch1n3> oren: that is sweet, one other side project I am doing is running around with a flashdisk trying to show people screenshots of linux ....
06:41:44 <oren> I made a game that does 3d by autostereograms
06:41:56 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
06:42:15 <oren> e.g. you screw up your eyes and see the game world in 3d
06:42:23 <TheM4ch1n3> oren: you mean those glasses that are blue & red, for seperating the two eyes of the viewer ?
06:42:35 <oren> no glasses, no special screen
06:43:19 <TheM4ch1n3> oren: oh wait, it looks like white noise - pixel fuzz - and squinting eyes reveal an image ?
06:43:48 <oren> no
06:43:52 <oren> like this image:
06:43:53 <Sgeo> cross-eyed viewing
06:43:54 <oren> http://en.wikipedia.org/wiki/File:Chess_Single_Image_Stereogram_by_3Dimka.jpg
06:43:56 <Sgeo> Or parallel viewing
06:44:05 <oren> parallel for my game
06:44:06 * Sgeo can do cross-eyed byt not parallel
06:44:27 <oren> i might add a crosseyed mode sometime
06:44:47 <TheM4ch1n3> em, ok
06:52:13 <oren> https://gist.github.com/orenwatson/01e1674fe74a21602c17
06:52:34 <oren> there...
06:53:51 <oren> (that's the game i was talking about. you fly around and shoot stuff and bomb things, kinda like Xevious)
06:54:12 <Taneb> That C has extraordinarily few comments
06:55:11 <oren> not even a title or author comment, i know
06:56:12 <oerjan> i _think_ i can do cross-eyed but not parallel, in which my question is how the hell do enough people manage parallel that they standardized on it
06:56:17 <oerjan> *in which case
06:56:18 -!- TheM4ch1n3 has quit (Ping timeout: 250 seconds).
06:56:54 <oren> what i do is look over the top of my screen until the game goes into focus
06:56:59 <oerjan> and also, is there an image that is described clearly enough that i can tell the difference
06:57:23 <oren> my game works in walleyed but definitely no in crosseyed
06:57:41 <oren> hold on i'll get a screenshot
06:57:48 -!- roasted42 has joined.
06:57:52 <oerjan> oren: um if i try to do it the way i think is walleyed that wikipedia link never gets into focus for me
06:57:54 <Taneb> I think I can do parallel but not crosseyed
06:59:53 <oerjan> ok i managed to strain my eyes into parallel, just, it's clearly the correct view for that picture then. but blurry.
07:00:11 <oerjan> i guess i need glasses
07:10:46 <oren> http://ctrlv.in/479405
07:11:17 <oren> it seems the easiest way to screenshot an allegro game is to hack the screen shotting into the game itself
07:12:28 <oren> luckily with my skillz i can do that in 3 minutes
07:15:04 <oren> (only kidding, "skillz")
07:15:24 <roasted42> oren: you have used OpenGL too I assume ?
07:15:55 <oren> yeas i have, not a lot tho
07:19:35 <oren> i don't get why allegro doesn't handle losing focus properly
07:21:47 <roasted42> I use SDL2 or SDL1, allegro anoys me
07:25:09 <oren> how does it annoy you? the event system?
07:25:29 <Sgeo> Ok, why do identify so closely with a character from a comic that only has disturbed characters?
07:26:03 <oren> Sgeo: which comic/character?
07:26:17 * Sgeo doesn't really want to answer that
07:27:51 <roasted42> oren: well, I currently just prefer sdl2, the naming of the functions are a bit wacky in allegro
07:28:56 <oren> also, allegro5 is wildly different from allegro4
07:29:30 <oren> i didn't like allegro 4 atall
07:29:49 -!- nys has quit (Quit: quit).
07:36:19 -!- roasted42 has quit (Ping timeout: 272 seconds).
07:37:01 -!- roasted42 has joined.
07:43:59 <Sgeo> "It's pretty clearly visible by really great players in the chess world. In fact, the current reigning #1 chess champion, and highest rated player of all time, Magnus Carlsen, once said that playing a computer is like playing an idiot who beats you every time. Computers just play what seems to be atrocious moves, but always meander into a winning position somehow."
07:46:03 <oerjan> magnus!
07:46:21 * oerjan waves a small norwegian flag
07:47:27 * roasted42 burns a south african flag
07:48:50 <roasted42> I've been living in Gauteng, South Africa for 31 yrs, and I just have to say, DAMN -> South Africans should not be allowed near liquor
07:49:35 <Sgeo> https://www.youtube.com/watch?v=evZmpsl3jI0
07:49:40 <oerjan> roasted42: you should soak the flag in liquor before burning it, then
07:51:30 <roasted42> ok , lmfao
07:54:41 <Sgeo> I already know how he does it because of Reddit comment :(
07:55:54 <int-e> Sgeo: how many players are there, total? 18?
07:56:16 <int-e> (I'm saving bandwidth here, not going to watch it)
07:56:41 -!- CrazyM4n has joined.
07:57:30 <oren> hey m4n!
07:59:48 <Sgeo> 9 not including Darren
08:00:24 <Sgeo> Ok I don't know how he did -that-
08:01:21 <oerjan> darn he didn't explain the number of pieces trick
08:01:22 -!- AndoDaan has quit (Ping timeout: 240 seconds).
08:02:04 -!- roasted42 has quit (Ping timeout: 255 seconds).
08:02:42 <oerjan> the rest was exactly what i thought, i think conway explained that trick the one time i saw him speaking
08:03:05 <oerjan> (it's connected to his game addition)
08:03:30 <oerjan> it's possible i've seen this video before...
08:07:44 <int-e> Sgeo: wait, how many games did he win?
08:07:46 <int-e> 5?
08:08:04 <oerjan> some were draws
08:08:07 <int-e> (well, I'd expect a +1 score)
08:08:17 <Sgeo> Won 4, lost 3, tied 2
08:08:29 <int-e> Right. That's in line with the theory.
08:08:43 -!- roasted42 has joined.
08:09:05 <int-e> Four blacks, Five whites, and one of the white players is in on the trick, a pre-arranged win, while the other games are pair-wise identical.
08:09:18 <roasted42> oerjan: ok, lmfao
08:09:36 <int-e> (err, the extra player would probably play black, doesn't matter though)
08:10:03 <oerjan> int-e: the extra player wasn't actually in on the trick, according to the explanation - he just chose the weakest one
08:10:10 <int-e> fair
08:11:17 <oerjan> ok it's pretty clear that the method he claims to have used to win did not give him any room for manipulating the number of pieces at the end
08:12:13 <oerjan> so i think he must have switched the notes at some point
08:14:42 <oerjan> rogier voogt's explanation in the comments seems good
08:15:21 <oren> https://gist.github.com/orenwatson/5c1e96a7c791cea21eef
08:19:30 -!- roasted42 has quit (Quit: bbl->lag).
08:22:04 -!- dts|pokeball has quit (Read error: Connection reset by peer).
08:26:22 <oren> so the question is is there a better way to choose the replacements
08:30:21 -!- dts|pokeball has joined.
08:31:21 <oerjan> <oren> would /// still be turing complete if there was a limit on how long the /x/y/ are allowed to be? <-- hm i _think_ so, assuming the limit is big enough to contain the main program for a BCT interpreter, then the unbounded data itself could be made self-copying in smaller pieces.
08:32:19 <oren> oerjan: i see... i don't think my decompressor is TC then.
08:32:58 <oerjan> there might be ways to break up the program into smaller copying pieces too.
08:33:38 <oren> hmm... i think replacing the round counter with a prepended zero will also help
08:33:57 <Jafet> That encoder is probably worse than gzip
08:34:13 <oren> well of course
08:35:37 <oren> especially since it onlysupports up to 255 replacements
08:35:44 <oren> i am fixing that tho
08:36:50 <Jafet> Even if you implement this algorithm properly, it will probably still be worse than gzip
08:37:03 <oren> of course
08:37:23 <oren> because gzip acts on bit level
08:37:44 <Jafet> Even if you use bitstrings
08:38:07 <oren> i don't think this can be used with bitstrings tho
08:38:44 <oren> but it has some properties
08:39:17 <oren> in particular, an incompressible part of the string will stay exactly the same, even readble
08:40:03 <oerjan> oren: one problem is that with no internal \ escaping, it becomes harder to prevent a substitution from acting on copies of itself
08:40:17 <Jafet> Most compression algorithms should have that property
08:40:23 <oerjan> because now it literally contains the string it substitutes
08:40:40 <Jafet> (It's the best thing to do to a string that cannot be compressed)
08:41:07 <oerjan> it's a very essential feature for the way i've written /// programs so far
08:42:05 <oren> oerjan: interesting observation
08:43:07 <Jafet> Well, you probably don't want substitutions to be recursive
08:43:55 <Jafet> That would prevent a substitution if decoding it would be ambiguous
08:45:28 <Jafet> Anyway, the reason it won't be better than gzip is that substitutions aren't windowed, so it can't adapt to the data distribution
08:45:53 <oren> I am not attempting to be better than gzip
08:46:33 <oren> i am attempting to be cooler than gzip
08:48:09 <Jafet> Ok. Being slower and less efficient makes it hard though
08:49:56 <oren> gzip outputs relatively opaque binary data, which can't be understood easily in a hex editor. my algorithm's output is byte-based which helps with that (i also have a byte-based LZW implementation somewhere)
08:50:50 <Jafet> I imagine you could make a binary editor that understands gzip streams
08:53:28 <Jafet> Also, picking the best-scoring match might not give you the smallest result in the end
08:53:37 <Jafet> I don't remember whether this is actually true
08:54:01 <oren> that is an issue. i don't know what the best heuristic for choosing string is
08:55:59 <Sgeo> "and temperatures in the winter can plunge to 40 degrees below (Fahrenheit)"
08:58:20 <int-e> (and Celsius)
08:58:57 <int-e> Ah. Fooled by Google.
08:58:58 <int-e> -22C
08:59:21 <Sgeo> ?
08:59:33 <int-e> Google must have a secret plan of nudging me towards enabling Javascript.
08:59:33 <Sgeo> I thought -40F=-40C, what do you mean it's not?
08:59:42 <int-e> Hmm
09:00:38 <int-e> Sigh, it's "units" that I can't use properly
09:02:40 <int-e> I have to enter tempF(-40) and ask for tempC.
09:03:06 <oren> degrees celsius isn't even a real unit
09:03:17 <int-e> `` units 'tempF(-40)' tempC
09:03:18 <HackEgo> ​-40
09:03:43 <oren> they can't be meaningfully added or subtracted
09:03:52 <int-e> `` units '-40degF' degC # what I tried, erroneously
09:03:52 <HackEgo> units: invalid option -- '4' \ Usage: units [option] ['from-unit' 'to-unit'] \ \ -h, --help print this help and exit \ -c, --check check that all units reduce to primitive units \ --check-verbose like --check, but lists units as they are checked \ --verbose-check so you can find units that cause endless l
09:03:59 <int-e> meh.
09:04:29 <int-e> `` units -- '-40degF' degC
09:04:29 <HackEgo> ​* -22.222222 \ / -0.045
09:04:38 <int-e> the multiplication should've tipped me off.
09:05:36 <int-e> `` units -- '-40degR' K
09:05:36 <HackEgo> ​* -22.222222 \ / -0.045
09:05:54 <oerjan> oren: i think it's affine unit hth
09:06:15 <oerjan> (also, when do you even add kelvin anyway)
09:07:06 <oerjan> kelvin temperatures, that is. you can of course add a kelvin temperature to a kelvin difference.
09:07:41 <oerjan> but afaik kelvin is almost affine even if it has a genuine zero point
09:08:14 <oerjan> (i'm hoping for someone to quote a formula to disprove me, btw)
09:08:48 <oren> i dunno any formulæ
09:09:20 <int-e> https://en.wikipedia.org/wiki/Boltzmann_constant relates absolute zero temperature to a zero kinetic energy, under "average translational kinetic energy"
09:09:57 <oerjan> int-e: i mean a formula which adds kelvin temperatures hth
09:10:13 <int-e> oerjan: I know. I was going to add that this still isn't done there.
09:10:23 <int-e> But one could add energies ;-)
09:10:32 <oerjan> one could.
09:12:24 <int-e> oerjan: but it's the only property I know that's not translation-invariant.
09:12:55 <int-e> (of temperatures)
09:13:33 <oren> ok, so now it supports unlimited replacements
09:13:57 <oren> each of limited length
09:16:18 -!- CrazyM4n has quit (Quit: sleep).
09:17:55 <oren> SLEEP? ARE YOU CRAZY? LETS GET UP FOR MIDNIGHT DINNER
09:23:53 -!- SopaXorzTaker has joined.
09:23:53 -!- SopaXorzTaker has quit (Changing host).
09:23:53 -!- SopaXorzTaker has joined.
09:24:15 <Sgeo> "The North Korean newspapers liked to run “human interest” stories about heroic citizens who lost their lives rescuing the portraits from fire or flood."
09:25:53 <oren> the Kim family are basically their version of God, so this is not surprising to me
09:33:09 -!- dts|pokeball has quit (Ping timeout: 245 seconds).
09:34:29 -!- roasted42 has joined.
09:38:06 -!- roasted42 has quit (Changing host).
09:38:06 -!- roasted42 has joined.
09:38:06 -!- roasted42 has changed nick to TheM4ch1n3.
09:47:11 -!- shikhin_ has joined.
09:47:28 -!- TheM4ch1n3 has quit (Ping timeout: 250 seconds).
09:50:04 -!- shikhin has quit (Ping timeout: 250 seconds).
09:52:07 -!- SopaXorzTaker has quit (Remote host closed the connection).
09:59:15 -!- oerjan has quit (Quit: leaving).
10:05:40 -!- adu has quit (Quit: adu).
10:09:12 <oren> in REGXY what happens if a line has stuff after its final /
10:15:15 <nyuszika7h> nasal demons
10:15:33 <oren> k
10:15:45 <nyuszika7h> (just kidding, never heard about REGXY)
10:16:15 <oren> well the wiki does not say what happens so i'll just have my implementation ignore it
10:19:45 -!- roasted42 has joined.
10:20:05 -!- AndoDaan has joined.
10:25:35 -!- roasted42 has quit (Ping timeout: 252 seconds).
10:29:04 <fizzie> Clearly it's a syntax error.
10:29:29 <fizzie> The wiki says "syntax is X", and X does not include that.
10:30:38 <oren> ok. i'll output an error. I'm implementing it in C++
10:38:48 -!- roasted42 has joined.
10:48:23 -!- roasted42 has quit (Ping timeout: 240 seconds).
10:52:44 -!- roasted42 has joined.
10:57:18 -!- roasted42 has quit (Ping timeout: 244 seconds).
10:58:08 -!- roasted42 has joined.
10:59:38 -!- roasted42 has quit (Client Quit).
11:01:32 -!- roasted42 has joined.
11:15:04 -!- roasted42 has quit (Ping timeout: 244 seconds).
11:17:17 -!- roasted42 has joined.
11:19:01 <oren> Attention stupid standard authors: if your class includes a bit field of flags, please assign particular bits to particular flags.
11:28:29 -!- roasted42 has quit (Ping timeout: 256 seconds).
11:46:04 -!- roasted42 has joined.
12:07:30 -!- Patashu_ has quit (Ping timeout: 258 seconds).
12:14:15 -!- Jafet has left.
12:14:36 -!- Jafet has joined.
12:17:28 -!- roasted42 has quit (Ping timeout: 258 seconds).
12:19:52 <oren> I have found a better heuristic
12:20:43 -!- roasted42 has joined.
12:22:42 <oren> (Well, technically the same heuristic, but a better way of optimizing over it)
12:24:52 -!- roasted42 has quit (Ping timeout: 240 seconds).
12:36:09 <oren> the results are worse. that means clealy my heuristic is wrong'
12:36:18 -!- Zuu has quit (Ping timeout: 250 seconds).
12:43:34 <oren> so i'll try different functions of the length and number of occurrences...
12:56:26 -!- shikhin_ has changed nick to shikhin.
12:58:55 -!- J_Arcane_ has joined.
13:01:19 -!- J_Arcane has quit (Ping timeout: 255 seconds).
13:01:20 -!- J_Arcane_ has changed nick to J_Arcane.
13:02:13 -!- kallisti has quit (Ping timeout: 255 seconds).
13:04:02 -!- J_Arcane has quit (Quit: ChatZilla 0.9.91-rdmsoft [XULRunner 32.0.3/20140923175406]).
13:05:11 -!- J_Arcane has joined.
13:05:13 -!- roasted42 has joined.
13:18:37 -!- AndoDaan has quit (Ping timeout: 245 seconds).
13:18:43 -!- AndoDaan_ has joined.
13:21:04 -!- roasted42 has quit (Ping timeout: 245 seconds).
13:23:37 -!- SopaXT has joined.
13:23:37 -!- SopaXT has quit (Changing host).
13:23:37 -!- SopaXT has joined.
13:24:04 -!- SopaXT has changed nick to SopaXorzTaker.
13:24:27 -!- SopaXorzTaker has quit (Max SendQ exceeded).
13:24:52 -!- SopaXT has joined.
13:24:52 -!- SopaXT has quit (Changing host).
13:24:52 -!- SopaXT has joined.
13:28:18 -!- roasted42 has joined.
13:33:09 -!- roasted42 has quit (Ping timeout: 265 seconds).
13:33:40 -!- roasted42 has joined.
13:47:27 -!- AndoDaan_ has quit (Ping timeout: 272 seconds).
13:50:09 -!- roasted42 has quit (Ping timeout: 256 seconds).
13:54:28 -!- AndoDaan has joined.
13:59:56 -!- augur has quit (Remote host closed the connection).
14:00:14 -!- augur has joined.
14:01:05 -!- MoALTz_ has quit (Quit: brb).
14:01:20 -!- MoALTz has joined.
15:12:34 -!- boily has joined.
15:18:17 <boily> @metar CYQB
15:18:17 <lambdabot> CYQB 281500Z 24011G17KT 5SM -DZ BR BKN010 OVC030 02/02 A2962 RMK ST6SC2 SLP033
15:18:40 <boily> +2. always +2. the whole week it's +2. I WANT SNOOOOOOOOW!
15:19:05 <Melvar> @metar EDDL
15:19:06 <lambdabot> EDDL 281450Z 01005KT 9999 SCT020 M00/M05 Q1030 NOSIG
15:20:00 <boily> Mellovar.
15:20:27 <boily> `? M00
15:20:28 <HackEgo> M00? ¯\(°​_o)/¯
15:20:35 <boily> hmm... what was it again?
15:21:45 <boily> `? cow
15:21:46 <HackEgo> A cow is an animal best served at minus zero degrees.
15:35:07 <myname> what
15:36:05 <Jafet> `? chicken
15:36:06 <HackEgo> chicken? ¯\(°​_o)/¯
15:36:27 <Jafet> `? poulet
15:36:28 <HackEgo> poulet? ¯\(°​_o)/¯
15:47:35 -!- shikhin_ has joined.
15:50:27 -!- shikhin has quit (Ping timeout: 244 seconds).
16:02:05 -!- Phantom_Hoover has joined.
16:17:22 <fizzie> @metar EFHK
16:17:22 <lambdabot> EFHK 281550Z 35008KT 9999 -SN OVC009 M10/M12 Q1021 BECMG FEW009
16:18:42 <fizzie> @metar EGLL
16:18:43 <lambdabot> EGLL 281550Z 35004KT 9999 FEW034 04/M02 Q1034 NOSIG
16:18:58 <fizzie> A delta of 14.
16:20:40 -!- Phantom_Hoover has quit (Quit: Leaving).
16:21:02 -!- Phantom_Hoover has joined.
16:28:47 -!- SopaXT has quit (Remote host closed the connection).
16:30:04 -!- GeekDude has joined.
16:33:44 -!- nys has joined.
17:14:03 -!- oerjan has joined.
17:17:05 -!- Zuu has joined.
17:47:17 -!- MoALTz has quit (Quit: Leaving).
18:00:01 -!- idris-bot has joined.
18:00:38 -!- vanila has joined.
18:00:41 <vanila> http://boingboing.net/2010/04/15/colossal-turing-mach.html
18:01:45 -!- G33kDude has joined.
18:02:15 -!- copumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
18:02:46 -!- G33kDude has quit (Client Quit).
18:05:14 -!- GeekDude has quit (Ping timeout: 245 seconds).
18:06:22 -!- idris-bot has quit (Quit: Terminated).
18:06:44 -!- Melvar has quit (Quit: New graphics card).
18:11:45 -!- GeekDude has joined.
18:11:56 -!- GeekDude has quit (Client Quit).
18:33:33 -!- drdanmaku has joined.
18:54:47 -!- vanila has quit (Remote host closed the connection).
19:04:11 -!- AndoDaan_ has joined.
19:04:24 -!- AndoDaan_ has quit (Client Quit).
19:07:55 -!- AndoDaan has quit (Ping timeout: 272 seconds).
19:08:04 -!- GeekDude has joined.
19:09:40 -!- Melvar has joined.
19:12:15 -!- GeekDude has quit (Client Quit).
19:12:56 -!- scoofy has quit (Ping timeout: 265 seconds).
19:41:15 -!- idris-bot has joined.
20:02:29 -!- Patashu has joined.
20:11:03 -!- oerjan has quit (Quit: Nite).
20:17:24 -!- Phantom_Hoover has quit (Ping timeout: 258 seconds).
20:25:28 -!- Patashu has quit (Ping timeout: 255 seconds).
20:27:09 -!- CrazyM4n has joined.
20:37:51 -!- scoofy has joined.
20:37:53 -!- scoofy has quit (Read error: Connection reset by peer).
20:39:18 -!- scoofy has joined.
20:46:08 <Sgeo> What is with North Korea and rice cookers?
20:46:34 <Sgeo> I get that South Korean rice cookers might be found objectionable, but are there not rice cookers manufactured elsewhere?
20:47:19 <Taneb> I... do not associate rice cookers with North Korea
20:49:44 <Sgeo> At one point at least, it seems like they were banned, but I can't seem to find the relevent quote online
20:50:40 <oren> god damn it why does a WRONG algorithm achive better compression
20:51:09 <Sgeo> "They would look for people who used more than their quota of electricity, a lightbulb brighter than 40 watts, a hot plate, or a rice cooker."
20:53:36 <coppro> Sgeo: NK has no trade
20:53:44 <Sgeo> I guess sounds more like an electricity thing? But apparently South Korean rice cookers are a symbol of status
20:53:48 <Sgeo> coppro: no legal trade maybe
20:53:53 <coppro> right
20:54:04 <coppro> but where would they get a rice cooker from? options are SK and China
20:54:16 <Taneb> coppro, I thought NK had some trade with China?
20:54:29 <Sgeo> I was under the impression that imports from China are probably not frowned on as much
20:54:41 <Sgeo> http://www.dailynk.com/english/read.php?cataId=nk01500&num=3442
20:54:46 <coppro> yes, there's a fair bit of trade with China
20:55:30 <Taneb> I associate rice cookers with being a fire hazard in student accomodation
20:56:51 <scoofy> had many rice cooker fires?
20:58:46 -!- xreal has joined.
20:59:09 -!- xreal has left ("Verlassend.").
21:01:20 <Taneb> scoofy, no, but they went on and on about them at the fire safety briefing
21:11:31 -!- Phantom_Hoover has joined.
21:31:54 -!- AndoDaan has joined.
21:37:07 <Taneb> Can anyone recommend an RCA -> VGA converter?
21:40:15 <fizzie> That's slightly ambiguous.
21:40:36 <fizzie> I mean, both component and composite video cables tend to use RCA connectors.
21:40:49 <fizzie> (On the other hand, I don't have any suggestions about either.)
21:41:51 <Taneb> I just want to be able to play ocarina of time on my monitor
21:42:10 <Taneb> I don't really know what I need
21:42:49 <fizzie> I've been using just a regular analog TV card I had lying around to plug my old PS1 to the computer, then open a live view of the video capture on the monitor.
21:43:10 <fizzie> But that's kind of convoluted.
21:44:24 <fizzie> If you want to plug it in directly to a monitor, what you need probably depends on what sort of inputs it has.
21:46:04 -!- MoALTz has joined.
21:46:57 <fizzie> I think you get composite (the one with a single, typically yellow RCA connector) and S-Video (it uses a mini-DIN kind of thing) out of a N64.
21:47:41 -!- Sprocklem has joined.
21:47:42 -!- shikhin has joined.
21:50:13 -!- scrudrv has joined.
21:50:25 <Taneb> I'll have to look into it
21:50:39 -!- shikhin_ has quit (Ping timeout: 245 seconds).
21:53:41 <fizzie> Some computer monitors I've encountered have had regular video inputs (like composite and S-video), though most probably not. (Especially new ones, since it's all digital all the way these days.)
21:56:14 <Taneb> If I can find a relatively cheap monitor with both RCA or SCART and VGA or DVI, I would now be sorely tempted
21:57:16 <fizzie> I don't think I've seen any with a SCART (it's so bulky). But I distinctly recall a monitor that had (I think) VGA, DVI, composite video and S-Video as inputs.
21:57:42 <fizzie> (Although it might have also been a CRT with VGA, the 5xBNC thing and those video inputs.)
21:58:11 <Taneb> I'll have to have a closer look at what cables I need
21:58:14 -!- scrudrv has quit (Ping timeout: 265 seconds).
21:59:38 <Taneb> Yeah, composite analogue video
22:00:09 <fizzie> I don't think you're going to find a new monitor with those inputs, though you might find an old one. Still, I'm sure you can get a reasonable cheap composite-video-to-VGA conversion box easier.
22:01:39 <fizzie> Or you could get a SGI Indy, it's got a composite video input (IIRC) and I'm sure it'd be worth a lot of street cred.
22:05:41 <fizzie> (If you want to have something that's possibly slightly more future-proof, you might pick up a thing that goes from composite video to, say, a HDMI out. There doesn't seem to be any price difference between those that generate a VGA output and those that do digital, since it needs an active conversion process anyway. But I don't have recommendations for those either.)
22:07:30 <Taneb> Would something like http://www.amazon.co.uk/dp/B000P3UB24 work?
22:08:33 <fizzie> That's for taking a VGA output (from a PC) and plugging to a TV that has a composite video input.
22:08:40 <fizzie> "Connect TV-output enabled video cards to your TV's RCA or S-Video connector"
22:09:09 <Taneb> Even with a female RCA port?
22:09:25 <fizzie> Yes. Composite video cables have a male connector at both ends.
22:09:40 <fizzie> Just look at the product description.
22:09:42 <fizzie> "If your video card or controller supports TV-out function, you can use this cable adapter to connect your PC's VGA port and your TV's S-Video or RCA-composite port.
22:09:45 <fizzie> ***PLEASE NOTE***
22:09:47 <fizzie> This cable does not add TV-output functionality. If your video card/controller doesn't already have this function, this cable WILL NOT WORK for connecting your VGA output to a TV input."
22:11:43 <Taneb> That says nothing about whether it works for connecting RCA output to VGA inpuut
22:12:05 <fizzie> Presumably it would say something if it did. (It won't.)
22:12:13 -!- CrazyM4n has quit (Quit: going to eat food).
22:12:18 <fizzie> You need an active conversion step in there, not just a passive adapter like that.
22:12:59 <Taneb> OK
22:13:02 <fizzie> Okay, judging from the questions I guess that's a possible point of confusion.
22:13:07 <Taneb> I don't really know what I am looking for
22:13:59 <fizzie> Well, it will probably look like a box.
22:14:40 <fizzie> Unfortunately, apparently you can also get box-looking things for the other way around.
22:15:41 <fizzie> As far as I can tell, what you're looking for is something like http://www.amazon.co.uk/Prosteruk-DVD-Composite-S-Video-Converter/dp/B00EXPJVRQ/ref=sr_1_14 or for the digital version http://www.amazon.co.uk/Mini-Composite-CVBS-Converter-1080P/dp/B00HV9PBM0/ref=sr_1_2
22:16:06 <Taneb> http://www.amazon.co.uk/dp/B00D1JMAOG/ ?
22:16:09 <fizzie> (Disclaimer: the first options I could find, and should not be construed as a recommendation. Although I think I might have seen that latter one somewhere.)
22:16:27 <fizzie> That, too.
22:16:45 <fizzie> That's pretty similar to my first link.
22:17:33 <fizzie> In fact, I think it's the very same thing except with a different (re)branding.
22:18:04 <fizzie> I'm sure you could find a video nerd to tell you which box has the best upscaler.
22:18:26 <Taneb> Yeah, looks it
22:20:44 <zzo38> About "Attention stupid standard authors: if your class includes a bit field of flags, please assign particular bits to particular flags." who failed to assign the particular bits to particular flags?
22:21:33 <fizzie> We can deduce that a stupid standard author did.
22:21:40 <zzo38> Yes, but what standard?
22:28:25 <fizzie> Taneb: Incidentally, the HDMI version has but a single question: "Q: Will this allow me to use my N64 on my HD PC monitor?" "A: Yes. I am using it right now for that very purpose! Don't forget that you will need to sort something for sound though. (Unless you have a PC monitor with built in speakers of course.)"
22:28:41 <Taneb> Oooh
22:29:02 <Taneb> I cannot remember if one of my monitors has HDMI input, but I think it does
22:30:09 <Taneb> So I will bookmark that until I get back to York on the 5th
22:31:15 <fizzie> The HDMI box I picked up is composite-only (no S-Video), though. But if you don't have a S-Video cable for the N64 anyway, maybe that doesn't matter.
22:31:19 <fizzie> To "sort" out the sound, you can probably just plug the white/red RCA audio connectors from the N64 AV cable to wherever you want the sound to go, if your monitor does not do anything sensible with the HDMI input's audio side.
22:32:43 <fizzie> (This thing about putting speakers in everything is strange. My workstation at work has a built-in speaker somewhere inside the box, but also in the monitor, so I can make both the box and the monitor speak.)
22:32:52 <fizzie> (The monitor speaks more loudly, though.)
22:35:41 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
22:38:12 -!- S1 has joined.
22:48:31 -!- Phantom_Hoover has joined.
22:49:21 -!- Phantom__Hoover has joined.
22:49:28 -!- Phantom__Hoover has quit (Changing host).
22:49:28 -!- Phantom__Hoover has joined.
22:58:26 -!- Solace has joined.
23:14:25 <fizzie> Taneb: Hey, is the `thanks thing a Look Around You reference?
23:14:28 <fizzie> `thanks ants
23:14:28 <HackEgo> Thanks, ants. Thants.
23:19:38 <Solace> ?
23:20:01 -!- GeekDude has joined.
23:20:24 -!- Phantom__Hoover has quit (Read error: Connection reset by peer).
23:22:42 <pikhq> fizzie: Yes.
23:23:13 <Solace> how does one resolve stack overflows
23:23:47 <Solace> This is just a small question As this is my first time having one
23:26:09 <elliott> call functions less
23:31:14 <Solace> ok
23:32:50 <fizzie> Use automatic storage duration less, too.
23:35:01 <Vorpal> fizzie, what do you use for photo hosting?
23:36:07 <Vorpal> I have been taking more photos recently (no panoramas though)
23:36:37 <Vorpal> I would like some sort of geo tagging integration, perhaps showing location of photo on open street map or something
23:40:26 <fizzie> Vorpal: I use Piwigo for our local for-relatives vacation photos, but it's not good. Neither was Gallery2. For the latter I had a handcrafted map thing. A few things I've just put to Flickr.
23:40:50 <Vorpal> Hm
23:41:06 <Vorpal> fizzie, so no real recommendation then?
23:42:12 <fizzie> All the run-your-own-gallery software I've found has sucked, more or less. Though they do *work*.
23:42:30 <Vorpal> fizzie, any static generator ones?
23:42:58 <Vorpal> I prefer to generate stuff statically, much less of a hassle. And I want to keep php off my server
23:43:17 <Vorpal> Python or erlang or whatever I can deal with. Not php
23:43:38 <fizzie> I only remember trying out JAlbum or something, but it wasn't too good either. Also did work.
23:43:50 <Vorpal> Hm
23:43:56 <fizzie> Haven't evaluated those thoroughly.
23:44:01 <Vorpal> what part is "not good" about these in general?
23:44:15 <Vorpal> If it works and isn't slow or such, what is the issue?
23:45:25 <Vorpal> fizzie, also I forgot what you use to generate the blog at zem.fi. Custom?
23:46:15 <fizzie> Both Gallery2 and Piwigo are horrible messes of PHP with terrible admin UIs and (especially for Piwigo) logic. It's also real slow when generating images.
23:46:50 <fizzie> JAlbum was just very limited. But this was quite a while back.
23:47:01 <Vorpal> Hm
23:47:14 <Vorpal> Is jalbum static pre-generation?
23:47:30 <fizzie> zem.fi is custom, zem.fi/bfjoust is nanoc.
23:47:35 <fizzie> Yes.
23:47:48 <fizzie> I may remember the name wrong.
23:49:42 <Vorpal> fizzie, what is up with zemhill_'s nick btw?
23:50:48 <fizzie> I don't think the bot framework tries to regain nick if it's not available at connect time.
23:51:06 <fizzie> So probably just a freenode hiccup.
23:53:07 <fizzie> I haven't had time to check if it's known bugs are still there after a VPS change, been kind of busy with this move stuff lately.
23:53:09 <Vorpal> Ah
23:53:26 <Vorpal> VPS change? Oh?
23:53:48 <fizzie> Switched from Tilaa to DigitalOcean.
23:54:09 <fizzie> Only have good comments for both, really.
23:55:32 <fizzie> Not that my VPS needs are very extensive.
23:56:01 <Solace> VPS?
23:56:58 <Vorpal> fizzie, why the switch then?
23:57:07 <Vorpal> fizzie, I'm pretty happy with linode atm btw
23:57:44 <Vorpal> Not that my site has much on it yet (https://vorpal.se/). That was why I was wondering about the album bit...
23:58:48 <fizzie> Vorpal: It was marginally cheaper for a bit more specs, and they had a new London datacenter, thought I'd give it a try. I think I had some further reasons too. Nothing very substantial.
23:58:59 <Vorpal> Ah
23:59:36 <Vorpal> fizzie, so our sites share cities then now
2014-12-29
00:00:31 <fizzie> (Probably won't notice the lag difference between DO's London and what Tilaa's Amsterdam would have been like.)
00:00:47 <Vorpal> Amsterdam should be slightly closer no?
00:01:18 <fizzie> For maybe four more days.
00:01:29 <Vorpal> Eh?
00:01:32 <fizzie> Moving to London myself soon.
00:01:36 <Vorpal> Oh, right
00:01:43 <Vorpal> fizzie, where will you work then?
00:01:57 <Vorpal> Also, is it permanent or just for x months?
00:02:40 -!- copumpkin has joined.
00:03:20 <fizzie> Google, and permanently. Well, I mean, it's not fixed-term. I highly doubt I'll be there for more than a century.
00:03:31 <Vorpal> fizzie, JAlbum is shareware?
00:03:49 <Vorpal> fizzie, right
00:04:24 <Vorpal> Hm, how hard could it be to roll your own album generator?
00:04:31 -!- Phantom__Hoover has joined.
00:04:39 <Vorpal> Some scripts using exiftool and such
00:05:47 <fizzie> Vorpal: I think that's new. Probably doesn't have much in common with the JAlbum I used, what, 8 years ago maybe.
00:06:02 <Vorpal> Ah
00:06:15 <Vorpal> Hard to find the other one then
00:07:05 <fizzie> It didn't do anything you couldn't recreate in a day.
00:07:48 <fizzie> Except maybe it had a GUI/wizard/something else of dubious worth.
00:08:30 <fizzie> Think I'll have to sleep now, still some packing to do. Night.
00:08:30 <Vorpal> Hm
00:08:51 <Vorpal> I prefer a js free solution too, I googled and found a js library thingy
00:09:20 <fizzie> Oh, by the way, I use feh for selecting album pictures.
00:10:01 <Vorpal> fizzie, where is your album now again?
00:10:40 <Vorpal> And what do you mean by using feh for that? Isn't that just a tool like eog or whatever?
00:11:06 <fizzie> Something like feh -ZFd --action1 ';ln ...whatever to symlink the current image to a subfolder...' and then using 1 to select images for inclusion.
00:11:18 <fizzie> Quite primitive, but works fine.
00:11:22 <Vorpal> Heh
00:11:23 <Vorpal> Nice
00:11:51 <Vorpal> This sounds annoying to integrate with my current web site generation code though, which is haskell-based
00:17:27 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds).
00:35:37 -!- MoALTz_ has joined.
00:38:13 -!- MoALTz has quit (Ping timeout: 265 seconds).
00:42:04 -!- AndoDaan has quit (Quit: bbl).
00:42:09 <Vorpal> fizzie, piwigo doesn't support postgre? Ouch
00:42:47 <Vorpal> Yet another reason to avoid it
01:23:41 -!- oren has quit (Quit: Lost terminal).
01:38:50 -!- adu has joined.
01:40:33 -!- MoALTz__ has joined.
01:42:54 -!- MoALTz has joined.
01:43:09 -!- MoALTz_ has quit (Ping timeout: 245 seconds).
01:44:57 -!- MoALTz__ has quit (Ping timeout: 240 seconds).
01:51:13 -!- dts|pokeball has joined.
01:57:07 -!- mtve has quit (Read error: Connection reset by peer).
01:57:28 -!- mtve has joined.
02:14:16 -!- dts|pokeball has changed nick to dts.
02:15:21 -!- dts has changed nick to dts|pokeball.
02:26:10 <zzo38> Why do I get a "No such interface supported" error message in 7-Zip when trying to use the -si switch?
02:28:47 <Solace> Whats it supposed to be doing?
02:29:37 <zzo38> It is supposed to be receiving the file from stdin
02:30:28 <zzo38> The documentation says for example "7z a archive.gz -tgzip -siDoc2.txt < Doc.txt" although I am doing it with a ZIP archive instead
02:31:28 <Solace> ill go see if i get the same error
02:32:21 <Solace> nope
02:33:25 <Solace> idk what you are doing zzo38 to get that error
02:34:06 <zzo38> My command looks like "7z a \html\rpg\bin\unuselessness1.zip -siunuselessness1.exe < game.exe"
02:34:12 -!- Phantom__Hoover has quit (Remote host closed the connection).
02:38:01 <Solace> what are you "trying" to do instead of what is it supposed to be doing
02:39:05 <zzo38> I try to add a file called "unuselessness1.exe" into the archive, its contents being the contents of the actual file called "game.exe" except for the filename.
02:39:58 <Solace> so the file you want put in is unuselessness1.exe but its actual name.is game.exw
02:40:08 <zzo38> Yes
02:40:43 <Solace> Is it because of the file names conflicting?
02:41:33 -!- paul2520 has joined.
02:41:33 -!- paul2520 has quit (Changing host).
02:41:33 -!- paul2520 has joined.
02:41:51 <Solace> sometimes my stuff does that if its sudo name is example1.exe but its actually named example2.exe
02:41:53 <zzo38> No, it is because the program checks its own filename to determine the operation; the local file is called game.exe it doesn't care the other filename, but if it is renamed it automatically check for a file with the same name except .rpg at the end
02:42:36 <Solace> oh well then i have no idea i usually have to manually check that so.it doesnt cause errors
02:42:53 <Solace> god i keep hitting . instead of space
02:46:48 <FreeFull> I shouldn't be trying to debug at 2:46am, should I?
02:47:48 <Solace> Go ahead
02:48:26 <Solace> being tired makes you code sloppier but faster and more efficiently in my experience
02:49:26 <FreeFull> It's not even something I wrote
02:50:00 <FreeFull> There is a segfault, which is mysterious because segfaults aren't meant to happen
02:53:31 <Solace> but then how did it happen?
02:56:25 -!- adu has quit (Quit: adu).
03:05:56 <Solace> dont you find that one episode of pokemon where ash saw some fish and he ran up and you could see on his face he was thinking "What the fuck are these"
03:06:20 <elliott> that was an interesting moment to switch to this channel
03:10:34 <Solace> me or you?
03:11:15 <Solace> Im very forgetfull
03:11:19 <Solace> anxiety please
03:42:11 -!- shikhin has quit (Ping timeout: 272 seconds).
04:06:16 -!- boily has quit (Quit: INCORRUPTIBLE CHIC´´´´´´´´§§§§§§§§§§§§§).
04:12:45 -!- oren has joined.
04:18:19 -!- adu has joined.
04:24:55 <elliott> Lymia: http://cr.openjdk.java.net/~jrose/values/values-0.html looks relevant to the multiple value returns you wanted to do in Java
04:38:37 -!- adu has quit (Quit: adu).
04:39:32 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:56:01 -!- adu has joined.
05:12:51 -!- nys has quit (Quit: quit).
05:14:40 -!- Lymia has quit (Ping timeout: 255 seconds).
05:18:17 <zzo38> What I did is just make the batch file to rename the file before putting in the ZIP archive and then change back the name afterward to game.exe
05:32:46 -!- shikhin has joined.
05:38:49 -!- oren has quit (Ping timeout: 246 seconds).
05:57:48 -!- oerjan has joined.
06:00:29 <oerjan> this stupid email spammer has sent me 14 spams on the same day
06:01:19 <oerjan> us immigration spams
06:04:07 <elliott> so when are you immigrating
06:04:47 <oerjan> i have no interest in moving to the us
06:05:30 <oerjan> it's like the Land of Exactly the Kind of Opportunities I Don't Want
06:06:51 <oerjan> of course that also describes this entire planet.
06:07:25 <Taneb> My family essentially told me that I'm not allowed to immigrate to the US in case I get murdered
06:07:58 <oerjan> did you tell them you're not black tmh
06:08:12 <Taneb> Yes, but they insisted
06:09:05 <oerjan> just tell them "OK I was wavering between the US and Mexico, but you've convinced me."
06:09:11 <Taneb> Eheheh
06:09:36 <Taneb> If I do emigrate somewhere it'd probably be to western europe or the antipodes
06:09:51 <Taneb> (does Australia count as emigrating? I have citizenship...)
06:10:25 <oerjan> yeah tell them you're going there for spider research
06:10:31 <Taneb> :P
06:11:24 -!- mitchs_ has joined.
06:12:13 <Taneb> I think part of the reason my family doesn't want me to work abroad is that my dad decided to do that for a couple of years and then he got married and lives there
06:13:17 -!- mitchs has quit (Ping timeout: 244 seconds).
06:14:04 <Taneb> And that's how my parents met
06:14:17 <oerjan> that's what i thought but i was afraid to ask
06:14:56 <oerjan> which makes me confused how you got to england
06:15:09 <Taneb> My dad's Australian by birth
06:15:20 <oerjan> oh
06:15:34 <oerjan> ok makes more sense
06:16:09 <Taneb> Although if I emigrate and have children, my children will have migrants for three generations of the male line
06:16:16 -!- mitchs_ has quit (Ping timeout: 264 seconds).
06:16:57 <oerjan> fancy
06:18:17 <Taneb> (my grandfather was Dutch whose family emigrated to Australia when he was young)
06:20:37 <oerjan> i don't think there were any immigrants in my family for several generations, but further back there are some dutch
06:20:49 <oerjan> those people got around
06:24:48 -!- AndoDaan has joined.
06:29:21 <Solace> i live in America
06:29:40 <Solace> and im constantly scared for my families life and my own
06:30:04 <Solace> since America treated irish immigrants like shit for a long time
06:30:12 <Solace> they still do
06:32:10 <elliott> yeah I'm sure you're going to be murdered for being white irish (get real)
06:32:49 <Solace> :l
06:33:22 <Solace> because living in a racist country and just cause im white? makes me not prone to murder?
06:34:04 <elliott> I retract my unintended initiation of this conversation.
06:35:08 <Solace> That get real comment makes me mad i wouldnt have to worry for safety of my family if the city i lived in didnt hate everyone who is an immigrant
06:36:07 <Solace> Dont just say that my family is Completely fine just because we are the same skin colour as everyother white person :l
06:36:55 <Solace> Anyways back to that there code
07:02:21 -!- AndoDaan has quit (Read error: Connection reset by peer).
07:09:40 -!- Sprocklem has quit (Ping timeout: 264 seconds).
07:11:46 -!- adu has quit (Quit: adu).
07:12:01 -!- AndoDaan has joined.
07:20:27 -!- S1 has quit (Quit: S1).
07:25:06 -!- qwertyo has joined.
07:30:19 -!- MoALTz has quit (Quit: Leaving).
07:38:57 -!- qwertyo has quit (Ping timeout: 240 seconds).
07:39:28 -!- qwertyo has joined.
07:39:35 -!- Patashu has joined.
07:56:01 -!- SopaXT has joined.
07:56:01 -!- SopaXT has quit (Changing host).
07:56:01 -!- SopaXT has joined.
07:59:51 -!- Froox has joined.
08:00:18 -!- shachaf has quit (Ping timeout: 252 seconds).
08:00:18 -!- Frooxius has quit (Ping timeout: 252 seconds).
08:01:05 -!- shachaf has joined.
08:07:14 -!- qwertyo has quit (Ping timeout: 265 seconds).
08:07:50 -!- qwertyo has joined.
08:11:00 -!- SopaXT has changed nick to SopaXorzTaker.
08:15:34 -!- mitchs has joined.
08:17:34 -!- augur_ has joined.
08:18:59 -!- glguy has quit (Ping timeout: 252 seconds).
08:19:21 -!- augur has quit (Ping timeout: 252 seconds).
08:36:09 <Sgeo> "Queen+King vs Rook+King turns out to be a forced win for the advantaged player with the Queen, but takes >50 moves to materialize. A later ruling had to allow an exception to the 50 move rule to account for grandmaster play that could force a win from the position, but required more than 50 moves to succeed."
08:36:43 -!- qwertyo has quit (Ping timeout: 255 seconds).
08:37:04 -!- qwertyo has joined.
08:37:06 <zzo38> Maybe there is a better way to fix it?
08:41:30 <zzo38> What is this later ruling exactly?
08:42:32 * Sgeo doesn't know
08:44:04 -!- mitchs_ has joined.
08:44:09 -!- mitchs has quit (Ping timeout: 244 seconds).
08:44:12 <Jafet> Clearly once a game reaches seven pieces, the result should be determined automatically
08:45:15 <zzo38> I don't think so.
08:49:32 <zzo38> The game should be played unless one player resign, it end in a draw, or if you run out of time. If one player has time trouble maybe they cannot think of the way to win in a few seconds even if you have a forced win; in such a case you should try anyways, and probably you will lose.
08:50:19 <zzo38> However, for the reason specified above and for other reasons, maybe the fifty moves rule should be abolished. (You still have a draw by repetition rule, which probably is working good enough.)
09:06:04 <Jafet> Draw by repetition alone may not resolve a perpetual check, if the player under check can move pieces in a way that avoids repetitions.
09:06:54 -!- qwertyo has quit (Ping timeout: 245 seconds).
09:07:48 -!- qwertyo has joined.
09:08:42 <fizzie> Vorpal: It does, actually. It's just slightly experimental, so they don't advertise it.
09:08:56 <fizzie> Vorpal: FWIW, IIRC Gallery2's PostgreSQL support left something to be desired too.
09:14:18 <fizzie> Vorpal: (I run a copy of MariaDB for Piwigo.)
09:18:28 <oerjan> Jafet: _eventually_ it does.
09:18:54 <oerjan> the time could conceivably be exponential in the worst case, though.
09:23:01 <Jafet> But still a constant
09:24:08 <AndoDaan> Anyone feel like playing a round of chess?
09:24:18 <oerjan> > exp (exp (exp (exp 1))) -- constant
09:24:21 <lambdabot> Infinity
09:37:29 -!- qwertyo has quit (Ping timeout: 272 seconds).
09:37:55 -!- qwertyo has joined.
09:48:37 -!- shikhin_ has joined.
09:51:34 <elliott> oerjan: am I to assume 111 is not at all enticing for you :p
09:51:38 -!- shikhin has quit (Ping timeout: 244 seconds).
09:52:02 <coppro> AndoDaan: e4
09:52:51 -!- coppro has left ("going to be kicked by elliott").
09:52:57 -!- coppro has joined.
09:53:03 <AndoDaan> I kinda meant on chess.com, but I'm up for it like this.
09:53:04 <coppro> abuse of mod authority right there
09:54:43 <AndoDaan> coppro, e5
09:54:54 <coppro> AndoDaan: I would be up for a game if I didn't need to go to sleep
09:55:07 <coppro> (also I would have opened d4; I much prefer queen's pawn openings as white)
09:55:32 <AndoDaan> Me too. Less theory to it.
09:55:47 <AndoDaan> But np, maybe next time.
09:58:40 <b_jonas> sorry, I don't play chess, it's not my kind of game
09:59:23 <AndoDaan> Not a fan of boardgames in general, or particularly chess?
09:59:45 <b_jonas> Not a fan of games where I have to think.
09:59:54 <b_jonas> I like fun boardgames like Settlers of Catan.
09:59:57 <oerjan> elliott: well for both your version and oren's, i'm not sure how convenient length prefixes and no internal escaping is to handle
10:00:19 <b_jonas> But not serious boardgames like chess or go or backgammon, nor other serious games like bridge.
10:00:50 <oerjan> but your version has the additional annoyance that the prefix is as long as the string itself
10:01:10 <AndoDaan> I'd think Settlers of Catan can be played as seriously as Chess.
10:01:26 <AndoDaan> I did for a bit.
10:01:26 <oerjan> while his of course has that 256 length limit
10:01:36 <b_jonas> Yes it can, but I play it more like a party game, not a serious game.
10:01:48 <oerjan> anyway it's somewhat interesting, but i haven't thought hard about it
10:02:59 * oerjan has a feeling from his stomach that he's drunk too much cola over christmas
10:03:44 <Taneb> I'm gonna try to give up cola
10:04:30 <oerjan> well it's seems i have to cut down a bit until my stomach improves
10:04:33 <oerjan> *-'s
10:05:20 <oerjan> b_jonas: hm i feel the same way about chess but i still like solitary puzzles - i think it's that NP vs. PSPACE split i've remarked on before
10:05:54 <oerjan> which becomes extra hard if i have to compete with someone else too
10:07:39 <Taneb> I enjoy chess but I'm not very good at it
10:07:53 -!- qwertyo has quit (Ping timeout: 272 seconds).
10:08:31 -!- qwertyo has joined.
10:13:46 <Taneb> oerjan, are the IWC fora down for you?
10:14:29 <b_jonas> Taneb: yes, it seems down
10:14:35 <Taneb> :(((
10:14:47 <b_jonas> which is bad news because dmm is on summer vacation
10:15:25 <b_jonas> the message is "A database error occurred. This should be temporary. Please try again later. Do not notify me about this - there's nothing I can do about it."
10:15:53 <b_jonas> wait, the forum is up now
10:16:01 <b_jonas> only the iwc main page is down
10:16:09 -!- Lymia has joined.
10:16:20 <b_jonas> Taneb: try http://www.irregularwebcomic.net/draakslair/index.php directly
10:16:39 <Taneb> Ahaha thanks
10:18:10 <J_Arcane> I think I'm gonna write a program that generates my resume in Markdown format.
10:18:47 <b_jonas> J_Arcane: make sure to convert it through a dozen intermediate formats, Markdown being the middle one
10:19:32 <J_Arcane> heh heh.
10:20:21 <oerjan> make a resume that is an ourobouros program hth
10:20:35 <oerjan> *-u
10:30:10 -!- Solace has quit (Quit: Connection closed for inactivity).
10:31:54 <Vorpal> fizzie, hm. Yeah I'll roll my own instead
10:32:26 <Vorpal> To make something basic shouldn't be THAT hard
10:37:05 <Taneb> I did a horrible thing
10:37:05 <Taneb> http://lpaste.net/117410
10:37:13 -!- qwertyo has quit (Ping timeout: 258 seconds).
10:37:53 <b_jonas> Taneb: um, what does that do?
10:38:00 -!- qwertyo has joined.
10:38:04 <Taneb> b_jonas, computes collatz length
10:38:11 -!- SopaXorzTaker has quit (Remote host closed the connection).
10:38:37 <Taneb> >>> collatz 27
10:38:37 <Taneb> 111
10:39:41 -!- SopaXorzTaker has joined.
10:42:49 <b_jonas> [ -:`(1+3*])@.(2&|)^:30] 27
10:42:50 <j-bot> b_jonas: 350
10:43:06 <b_jonas> [ -:`(1+3*])@.(2&|)^:(<30) 27
10:43:07 <j-bot> b_jonas: 27 82 41 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 103 310 155 466 233 700
10:43:22 <b_jonas> [ -:`(1+3*])@.(2&|)^:(100+i.20) 27
10:43:22 <j-bot> b_jonas: 53 160 80 40 20 10 5 16 8 4 2 1 4 2 1 4 2 1 4 2
10:43:59 <b_jonas> [ 24]\ -:`(1+3*])@.(2&|)^:(<120) 27
10:43:59 <j-bot> b_jonas: 27 82 41 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206
10:43:59 <j-bot> b_jonas: 82 41 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 103
10:43:59 <j-bot> b_jonas: 41 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 103 310
10:43:59 <j-bot> b_jonas: 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 103 310 155
10:43:59 <j-bot> b_jonas: 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206 103 310 155 466
10:44:00 <j-bot> b_jonas: ...
10:44:44 <b_jonas> [ _24]\ -:`(1+3*])@.(2&|)^:(<120) 27
10:44:44 <j-bot> b_jonas: 27 82 41 124 62 31 94 47 142 71 214 107 322 161 484 242 121 364 182 91 274 137 412 206
10:44:44 <j-bot> b_jonas: 103 310 155 466 233 700 350 175 526 263 790 395 1186 593 1780 890 445 1336 668 334 167 502 251 754
10:44:44 <j-bot> b_jonas: 377 1132 566 283 850 425 1276 638 319 958 479 1438 719 2158 1079 3238 1619 4858 2429 7288 3644 1822 911 2734
10:44:44 <j-bot> b_jonas: 1367 4102 2051 6154 3077 9232 4616 2308 1154 577 1732 866 433 1300 650 325 976 488 244 122 61 184 92 46
10:44:44 <j-bot> b_jonas: 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1 4 2 1 4 2 1 4 2
10:47:10 -!- shikhin_ has changed nick to shikhin.
10:48:41 -!- oerjan has quit (Quit: Later).
10:49:45 -!- SopaXorzTaker has quit (Remote host closed the connection).
10:50:05 -!- SopaXorzTaker has joined.
10:50:05 -!- SopaXorzTaker has quit (Changing host).
10:50:05 -!- SopaXorzTaker has joined.
10:55:22 <Jafet> Wat
10:55:24 <Jafet> Oh
11:07:28 -!- qwertyo has quit (Ping timeout: 255 seconds).
11:08:17 -!- qwertyo has joined.
11:08:33 -!- Lymia has quit (Ping timeout: 256 seconds).
11:16:15 -!- Lymia has joined.
11:16:15 -!- Lymia has quit (Changing host).
11:16:15 -!- Lymia has joined.
11:18:09 <myname> uhm
11:37:10 -!- qwertyo has quit (Ping timeout: 255 seconds).
11:38:01 -!- qwertyo has joined.
11:40:52 -!- qwertyo has quit (Client Quit).
11:41:39 -!- oren has joined.
11:59:14 -!- Patashu has quit (Ping timeout: 265 seconds).
12:25:58 -!- Froox has changed nick to Frooxius.
12:28:59 <fizzie> Vorpal: We have a dynamic thing mostly because we wanted to have at least some sort of nominal user account thing to hide pictures of people behind. (Though I guess regular .htaccess would've been fine.)
12:29:20 <fizzie> elliott: My wife wanted me to tell you that these computers (esp. the SGI monitor), them be heavy. Just so you know.
12:29:50 <b_jonas> fungot, are these computers heavy?
12:29:50 <fungot> b_jonas: you may be holding haley's-- fort, seven days to the east. our food shipment is four days late, and all that.
12:30:07 <b_jonas> sounds bad
12:49:00 <J_Arcane> Markdown's handling of newlines is dumb.
12:55:05 -!- Phantom_Hoover has joined.
12:55:51 -!- Phantom__Hoover has joined.
12:59:02 -!- Phantom__Hoover has quit (Client Quit).
13:01:24 -!- shikhin has changed nick to Shikhin.
13:05:00 -!- Shikhin has changed nick to shikhin.
13:22:21 -!- zor7 has joined.
13:27:59 -!- zor7 has quit (Quit: Leaving).
13:58:23 -!- GeekDude has joined.
13:59:03 -!- SopaXorzTaker has quit (Remote host closed the connection).
14:00:08 -!- SopaXorzTaker has joined.
14:09:36 <J_Arcane> Voila, the fruit of my efforts: https://github.com/jarcane/resume.hsy
14:16:13 -!- glguy has joined.
14:29:50 -!- AndoDaan_ has joined.
14:32:23 -!- AndoDaan has quit (Ping timeout: 240 seconds).
14:33:07 -!- SopaXorzTaker has quit (Quit: SIGINT).
14:33:41 -!- SopaXorzTaker has joined.
14:33:41 -!- SopaXorzTaker has quit (Changing host).
14:33:42 -!- SopaXorzTaker has joined.
14:34:49 -!- AndoDaan_ has quit (Ping timeout: 256 seconds).
14:35:56 <oren> http://en.wikipedia.org/wiki/Bush_hid_the_facts
14:36:25 <oren> what were they thinking?!
14:37:49 <oren> utf16 is a terrible idea
14:39:02 <oren> specifically, using utf16 along with ASCII is a terrible idea
14:49:57 -!- boily has joined.
14:51:35 -!- SopaXorzTaker has changed nick to fibonacci.
14:51:45 -!- fibonacci has changed nick to SopaXorzTakeer.
14:51:48 -!- SopaXorzTakeer has changed nick to SopaXorzTaker.
14:52:06 -!- SopaXorzTaker has changed nick to HappyXorzRaey.
14:53:17 -!- HappyXorzRaey has changed nick to SopaXorzTaker.
15:19:26 -!- `^_^v has joined.
15:19:29 -!- nys has joined.
15:37:06 -!- SopaXorzTaker has quit (Read error: Connection reset by peer).
15:37:58 -!- SopaXorzTaker has joined.
15:37:58 -!- SopaXorzTaker has quit (Changing host).
15:37:58 -!- SopaXorzTaker has joined.
15:38:02 <Vorpal> fizzie, ah
15:44:54 -!- vanila has joined.
15:48:06 -!- shikhin_ has joined.
15:50:39 -!- shikhin has quit (Ping timeout: 245 seconds).
15:55:23 -!- boily has quit (Quit: BOARDED CHICKEN).
16:15:17 -!- dts|pokeball has quit (Ping timeout: 240 seconds).
16:26:13 -!- mihow has joined.
16:37:13 -!- myname has quit (Ping timeout: 244 seconds).
16:37:20 -!- myname has joined.
16:39:16 -!- dianne_ has joined.
16:39:28 -!- dianne_ has quit (Changing host).
16:39:28 -!- dianne_ has joined.
16:39:36 -!- dianne has quit (Disconnected by services).
16:39:39 -!- dianne_ has changed nick to dianne.
16:50:40 -!- adu has joined.
16:59:53 -!- AndoDaan has joined.
17:04:48 -!- FreeFull has quit (Ping timeout: 244 seconds).
17:09:41 -!- rade has joined.
17:15:56 -!- FreeFull has joined.
17:26:49 -!- mitchs_ has quit (Ping timeout: 244 seconds).
17:29:09 -!- mitchs has joined.
17:49:35 -!- SopaXorzTaker has quit (Remote host closed the connection).
17:57:05 -!- mitchs_ has joined.
17:57:52 -!- mitchs has quit (Ping timeout: 255 seconds).
18:20:36 -!- mysanthrop has joined.
18:24:00 -!- yiyus_ has joined.
18:26:10 -!- shachaf_ has joined.
18:29:09 -!- myname has quit (*.net *.split).
18:29:09 -!- vanila has quit (*.net *.split).
18:29:09 -!- GeekDude has quit (*.net *.split).
18:29:09 -!- shachaf has quit (*.net *.split).
18:29:09 -!- yiyus has quit (*.net *.split).
18:29:10 -!- Sprocklem has joined.
18:30:15 -!- oerjan has joined.
18:32:12 <oerjan> @metar ENVA
18:32:13 <lambdabot> ENVA 291820Z 29019KT 8000 DZRA SCT009 BKN014 05/03 Q1019 TEMPO 3000 DZRA BKN009 RMK WIND 670FT 28023KT
18:32:36 <oerjan> today: the great trinity of rain, sleet and ice
18:33:19 <int-e> @metar LOWI
18:33:20 <lambdabot> LOWI 291820Z 09003KT 060V120 3000 SN SCT005 BKN020 M04/M05 Q1027 R08/19//95 TEMPO 1500 BKN009
18:33:39 <int-e> just snow.
18:34:40 -!- MoALTz has joined.
18:48:05 <fizzie> @metar EFHK
18:48:06 <lambdabot> EFHK 291820Z VRB02KT 5000 IC SCT002 M20/M23 Q1026 NOSIG
18:48:09 <fizzie> Just cold.
18:48:29 <fizzie> Don't think I've seen "IC" before.
18:48:45 <fizzie> Maybe it has something to do with ice.
18:48:50 <fizzie> @metar EGLL
18:48:50 <lambdabot> EGLL 291820Z 28002KT CAVOK 03/01 Q1042
18:48:58 <fizzie> Now there's a delta of 23 degrees.
18:49:41 -!- fungot has quit (Remote host closed the connection).
18:54:44 <oerjan> NOOOO
18:55:05 <oerjan> did you just pack fungot
18:57:47 <int-e> pack?!
18:58:14 <oerjan> istr runs on one of fizzie's physical boxes, so if he is moving...
18:58:26 <oerjan> *+fungot
18:59:07 <int-e> I missed the "moving" part, thanks.
18:59:15 -!- mihow has quit (Quit: mihow).
19:05:57 -!- shikhin_ has changed nick to shikhin.
19:13:54 <fizzie> oerjan: I just moved the box from our extra room to the "staging area" in the living room.
19:14:32 <fizzie> oerjan: We're leaving it here until we have a permanent address, at which time the movers will come pack it up.
19:14:49 <oerjan> AAAAAAAAAAAAAAAAAAAAAAAAA
19:15:00 <fizzie> oerjan: My prognosis is that the box will go inexplicably offline somewhere between two and six days after we've left, but at least we've tried.
19:15:15 <oerjan> oh.
19:15:25 <fizzie> (Anyway, I'll be taking a copy with me, so I can set it up temporarily elsewhere when/if that happens.)
19:20:16 -!- fungot has joined.
19:20:21 <fizzie> fungot: How are you feeling?
19:20:22 <fungot> fizzie: where is perl6? hmm. maybe the snake has no interest in ant wars, ant ids are given on the anthill, generating several kill pockets.) ( 200 0.)
19:20:31 <fizzie> Business as usual, I think.
19:20:57 <int-e> ^style
19:20:57 <fungot> Available: agora alice c64 ct darwin discworld enron europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack oots pa qwantz sms speeches ss wp youtube
19:21:16 <int-e> anthills, hmm
19:24:49 -!- TodPunk has quit (Ping timeout: 245 seconds).
19:32:48 -!- Solace has joined.
19:33:07 <Solace> How do you do that ghosting command that kicks a person off your account
19:33:33 <elliott> /msg nickserv ghost nick password
19:33:41 <elliott> (no need for the password if you're identified to an account that has nick linked)
19:35:50 <Solace> thanks
19:40:51 -!- MoALTz has quit (Quit: Leaving).
19:44:55 <FireFly> @metar ESSA
19:44:55 <lambdabot> ESSA 291920Z 23007KT 9999 BKN007 M05/M05 Q1023 R01L/19//64 R08/19//61 R01R/19//55 TEMPO BKN004
19:46:30 -!- mihow has joined.
19:50:38 <int-e> Ah, good comment about "slur": "'The same data may not be offered twice.' -- Oh please, you're targeting psychopaths, so why bother with setting up rules that you can't enforce?"
20:00:35 -!- Patashu has joined.
20:01:44 -!- TodPunk has joined.
20:03:12 -!- arjanb has joined.
20:06:59 <fizzie> elliott: You're in luck. In a cardboard box marked "pots, pans and textiles" in our basement, I found a piece of buried treasure: an extra fast-SCSI cable, the "webcam" (they didn't call it that) for the Indy, and (most importantly) an actual 13W3-13W3 monitor cable, which should be good enough for connecting both computers to the monitor so that you can actually see things.
20:07:00 <int-e> Oh well. It's an evil idea that deserves to fail; but it might actually work on a smaller scale (trading celebrity photos, incriminating information on politicians, and the like. I don't expect anything on the state secret level; more day-to-day blackmail material.
20:07:39 <fizzie> Oh, and what I think is an actual SGI three-button mouse, though IIRC that thing eats regular PS/2 keyboards and mice.
20:07:59 <fizzie> I haven't actually booted any of that stuff up yet, that's next on the list.
20:08:23 <int-e> Hmm, a mouse-eats-mouse world
20:08:53 <elliott> fizzie: is it extra fast, or just extra?
20:12:53 <oerjan> <int-e> Ah, good comment about "slur" <-- would you like to be swatted for referring vaguely to obscure things with ungoogleable names?
20:15:15 * oerjan gets the bright idea of adding site:reddit.com to the search
20:15:25 <int-e> oerjan: only if you take on google for 'go'
20:16:27 <oerjan> int-e: that's not ungoogleable it's the fourth hit hth
20:16:48 <int-e> oerjan: on google!
20:17:33 <int-e> "Go.com is the top-level home on the Internet to the online properties of The Walt Disney Company."
20:17:35 <oerjan> http://www.reddit.com/r/Bitcoin/comments/2qb6q6/wikileaks_introduces_slur_a_torbitcoin_based_open/ looks relevant
20:18:06 <int-e> http://www.reddit.com/r/Bitcoin/comments/2qb5wf/introducing_slur/
20:18:24 <int-e> I thougyht those people were not affiliated with wikileaks
20:18:34 <oerjan> int-e: it's not my fault google can cheat with googleability hth
20:19:20 <int-e> also the language has been around for a couple of years
20:19:33 <int-e> and anyway, you did find it
20:19:53 <fizzie> elliott: Just an extra, and fast.
20:20:01 <fizzie> The Indy makes a sound reminiscent of a chainsaw.
20:20:03 <oerjan> int-e: well yeah but i had to think laterally enough to realize it would be something that reddit would grab onto
20:20:06 <fizzie> I don't think it used to do that.
20:20:16 <fizzie> At any rate, it successfully booted up to a login screen.
20:20:23 <elliott> nice!
20:20:32 <fizzie> I have absolutely no recollection what sort of usernames or passwords it may have had.
20:22:24 <oerjan> hunter2 hth
20:22:28 <int-e> root
20:22:35 <int-e> (a user name is easy)
20:23:10 <int-e> did those things come with guest accounts for showing off the cool 3D stuff?
20:24:30 * int-e recalls playing forever with some deep menu built from rotating blocks
20:24:30 <fizzie> I'm not aware.
20:24:43 <fizzie> I know you can reset things with the IRIX installation media, which I don't have.
20:24:48 -!- dts|pokeball has joined.
20:25:28 -!- Patashu has quit (Ping timeout: 255 seconds).
20:25:44 <fizzie> I think you can also netboot it.
20:30:21 <fizzie> All these password lists I have are too new, too.
20:31:15 -!- nycs has joined.
20:32:08 <fizzie> I think I'll postpone further thinking when that stuff arrives. I'm sure something can be figured out.
20:33:30 -!- `^_^v has quit (Ping timeout: 265 seconds).
20:39:31 <fizzie> Heh, I seem to have a "unidirectional" SCSI cable here.
20:39:44 -!- vanila has joined.
20:39:45 <vanila> hello
20:39:58 <fizzie> In the sense that only one of the connectors fits the SCSI disk box, while both fit the SPARC.
20:40:15 <fizzie> (I seem to have used a knife to trim some extra plastic off the other end.)
20:45:22 <pikhq> Hooray, root canal.
20:45:29 <pikhq> (rarely used sentiments)
20:46:17 <fizzie> On the "bad news" side, there's no picture out of the SparcStation. But it might just be because the SGI monitor is incompatible. I don't remember ever using the SPARC with it, just with my old PC CRT (with the 13W3-to-4x-BNC cable).
20:46:35 <int-e> brilliant ... https://code.google.com/p/blockchain/source/browse/trunk ... 350k source code, 350k binary, 750k visual studio configuration (garbage) and a 127MB test data file... very economical
20:47:01 <fizzie> Could try the serial console, but don't have so many serial ports around here either.
20:51:56 <fizzie> I think I'll postpone that too, since there's other things to take care of.
20:52:13 -!- oerjan has quit (Quit: callooh callay).
21:06:35 -!- projectmonarch has joined.
21:23:55 -!- projectmonarch has left ("Leaving").
21:25:24 <fizzie> In the insurance form, I'm supposed to list all this stuff and how much it would cost to replace them.
21:26:23 <pikhq> That sounds hard to quantify.
21:27:51 -!- roasted42 has joined.
21:28:12 -!- roasted42 has quit (Changing host).
21:28:12 -!- roasted42 has joined.
21:28:12 -!- roasted42 has changed nick to TheM4ch1n3.
21:28:16 -!- MoALTz has joined.
21:35:06 -!- mysanthrop has changed nick to myname.
21:35:44 <TheM4ch1n3> Walking everywhere to get vibes from the spirit of God (Jesus), is cool, breathing in on plants and out on where people are looking where they are going is better.
21:36:19 <pikhq> What?
21:36:26 <vanila> hi
21:36:29 <int-e> Wrong kind of esoterics?
21:37:31 <AndoDaan> I don't get the breathing out on people bit.
21:37:50 <TheM4ch1n3> just some research I am into, by avoiding churches, then mimicing the lord's behavour to re-aquire the knowledge he left physically within humanity itself
21:38:07 <vanila> Ccool TheM4ch1n3 Nice to meet you
21:38:19 <TheM4ch1n3> :)
21:38:40 <AndoDaan> Sounds like gnoticism.\
21:38:45 <b_jonas> fungot, is breathing in on plants and out on where people are looking where they are going better?
21:38:45 <fungot> b_jonas: " this means that i'm probably the only way you can have fnord on the gay sex moved there instead of
21:38:57 <TheM4ch1n3> yeah, after talking to over 1000 people, in my lifetime (I imagine) - one realizes that most institutions suck.
21:39:13 <int-e> fungot: stop making sense!
21:39:13 <fungot> int-e: well here's my code...
21:39:18 <int-e> haha
21:39:23 <pikhq> `esoteric
21:39:23 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: esoteric: not found
21:39:27 <pikhq> `welcome
21:39:28 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: <http://esolangs.org/>. (For the other kind of esoterica, try #esoteric on irc.dal.net.)
21:39:29 <pikhq> Thar.
21:39:51 <TheM4ch1n3> b_jonas: well it works through karma, shared vision = temporil boosted thought
21:40:31 <int-e> temporally? temporarily?
21:40:53 <AndoDaan> maye temporal.
21:41:02 <TheM4ch1n3> my research has lead me to believe that when he was around, he had been boosting hes thinking power using the people - literally
21:41:04 <AndoDaan> That better be a word.
21:41:45 <AndoDaan> Some sort of telepathy, or shared brainwaves?
21:41:49 <int-e> AndoDaan: maye? doubtful.
21:41:53 <vanila> TheM4ch1n3, sometimes, souls discard certain energy types from themselves
21:42:05 <TheM4ch1n3> int-e: yeah - temporarily - ispell, is one command I should use more often
21:42:15 <TheM4ch1n3> or aspell, whatever
21:42:18 <AndoDaan> h.
21:42:23 <AndoDaan> ha*
21:42:56 <TheM4ch1n3> AndoDaan: more like, the spirit of God living within humanity at some level of evolution of GOD
21:43:04 <b_jonas> a spell checker doesn't help when I'm confusing similar words (dilate, dilute, delate, delayed, delete, delight, delude)
21:43:29 <AndoDaan> How can God evolve?
21:44:17 <AndoDaan> I mean, perfection must stretch back to infinity, otherwise it loses its meaning.
21:44:57 * pikhq just thinks there's no such think as a god or gods
21:44:59 <int-e> phew, "delate" is uncommon.
21:46:53 <b_jonas> int-e: yes.
21:47:14 <b_jonas> but being uncommon doesn't help if you're trying to spellcheck stuff
21:47:22 -!- TheM4ch1n3 has quit (Ping timeout: 245 seconds).
21:48:32 -!- shikhin_ has joined.
21:48:44 <int-e> AndoDaan: perfection evolves over time
21:49:25 <b_jonas> fungot, does perfection evolve over time?
21:49:25 <fungot> b_jonas: but it's always in the same timezone doesn't mean your day/ night at work, they just do
21:49:26 -!- roasted42 has joined.
21:49:34 <b_jonas> `8-ball does perfection evolve over time?
21:49:37 <HackEgo> Most likely.
21:49:38 <int-e> oh my
21:49:55 <b_jonas> `8-ball do you usually give more useful answers than fungot does?
21:49:55 <fungot> b_jonas: which code exactly? " both take a list like ( a. 3)),
21:49:55 <HackEgo> Don't count on it.
21:50:24 <roasted42> erm, sorry - what was my last line ?
21:50:28 -!- roasted42 has quit (Changing host).
21:50:28 -!- roasted42 has joined.
21:50:28 -!- roasted42 has changed nick to TheM4ch1n3.
21:51:43 -!- shikhin has quit (Ping timeout: 256 seconds).
21:53:56 -!- Sprocklem has quit (Ping timeout: 244 seconds).
21:53:58 <int-e> `8-ball is the sky blue?
21:53:59 <HackEgo> Reply hazy try again.
21:56:02 <nycs> it is pretty cloudy
21:56:37 <int-e> @metar LOWI
21:56:38 <lambdabot> LOWI 292150Z VRB01KT 2000 SN FEW003 SCT010 BKN015 M04/M05 Q1030 R08/19//95 NOSIG
21:57:12 <int-e> cloudy, predominantly nlack though.
21:57:16 <int-e> *black
21:57:55 <AndoDaan> nlack, the other n-word.
21:58:13 <int-e> I didn't make the qwerty layout.
22:00:52 <TheM4ch1n3> AndoDaan: also, my research shows = he had been using the good karma from crowds of people - to bring heaven on Earth to those people, then use said return karma to do other things - like raise the dead
22:01:49 <int-e> that's the weirdest definition of "my research shows" that I've ever seen.
22:02:09 <TheM4ch1n3> AndoDaan: then realizing hes diciples where not normal people, they had been living with God - it all starts to make sense
22:03:18 -!- GeekDude has joined.
22:04:01 -!- sebbu has quit (Ping timeout: 255 seconds).
22:04:33 <AndoDaan> Not normal, like, some divinity got imprinted on them?
22:04:34 <TheM4ch1n3> int-e: well it is based on concepts of karma out = karma in - do good, and good returns - if it builds up to high and pulls in an 'evil - do-er', invert them infront of you, hate->love - cursing->blessing ... etc ...
22:04:58 <TheM4ch1n3> AndoDaan: exactly
22:08:20 <AndoDaan> Their share of the divine didn't strech far then, considering your view of the institution they had set up.
22:10:10 -!- TheM4ch1n3 has quit (Ping timeout: 265 seconds).
22:10:38 -!- sebbu has joined.
22:11:01 -!- roasted42 has joined.
22:11:18 -!- sebbu has quit (Changing host).
22:11:18 -!- sebbu has joined.
22:11:23 <roasted42> AndoDaan: exactly, he had been "turning on, and turning off peter" using yes and no, before returning to himself(back then)/father(future??)
22:23:36 <roasted42> AndoDaan: is a short private message ok, my lag issue with multiple pingouts, rejoins is upsetting me
22:25:36 <fizzie> elliott: Here, a teaser trailer: https://www.dropbox.com/l/ibHE53Yl1CFHHO9yhQ7Jeu
22:27:16 <AndoDaan> Ah. Though I'm having fun, I can't afford to get my head back to thinking about God. It drove me insane a while back. I'll have to pass. :)
22:27:19 <elliott> fizzie: :D
22:27:20 <fizzie> elliott: And as a bonus, boot-up sounds: https://www.dropbox.com/s/azl00sxqvi70ix0/indy_boot.ogg?dl=0
22:27:21 <elliott> this is so great
22:31:22 -!- dts|pokeball has quit (Ping timeout: 258 seconds).
22:39:21 <roasted42> AndoDaan: well it is a standing invitation to correct any insanity, as I've already been there and done that ;)
22:40:10 -!- Solace has quit (Quit: Connection closed for inactivity).
22:47:16 -!- dts|pokeball has joined.
22:47:23 -!- roasted42 has quit (Ping timeout: 265 seconds).
22:48:48 -!- roasted42 has joined.
22:51:08 -!- Solace has joined.
22:51:21 <Solace> Yay now i need a mask
22:51:47 -!- adu has quit (Ping timeout: 256 seconds).
22:51:49 <roasted42> Solace &= dMASK;
22:51:56 -!- drdanmaku has quit (Quit: Connection closed for inactivity).
22:52:06 <Solace> wat
22:52:26 <roasted42> I masked out your bits :p
22:52:37 <Solace> Pssht
22:52:44 <Solace> I need that unaffiliated thing
22:52:47 * roasted42 |= dClothing_MASK;
22:52:52 <Solace> I dont need this ip showing
22:53:12 <Solace> Wheres that um? chat with all those mods?
22:53:27 <roasted42> tor ?
22:53:52 <Solace> Nah
22:54:08 <roasted42> msg nickserv help
22:54:13 <Solace> Ok ill just use my phone app for dis
22:54:15 <Solace> Peace
22:54:18 -!- Solace has quit (Client Quit).
22:55:10 <roasted42> yeah, I've still gotta run around telling people there phone can go onto IRC, I think I will phrase it so: "IRC, has been around since before facebook!!"
23:01:22 -!- nycs has quit (Quit: This computer has gone to sleep).
23:07:01 -!- shachaf_ has changed nick to shachaf.
23:10:30 -!- rade has quit (Quit: Leaving).
23:11:04 -!- mitchs_ has quit (Quit: mitchs_).
23:12:50 -!- rade has joined.
23:27:53 -!- roasted42 has quit (Ping timeout: 240 seconds).
23:29:44 -!- roasted42 has joined.
23:30:02 -!- GeekDude has quit (Read error: Connection reset by peer).
23:30:13 -!- TodPunk has quit (Read error: Connection reset by peer).
23:30:13 -!- GeekDude has joined.
23:30:24 -!- Tod-Autojoined has joined.
23:32:01 -!- adu has joined.
23:34:28 -!- mihow has quit (Quit: mihow).
23:39:13 -!- drdanmaku has joined.
23:41:42 <AndoDaan> Thx, roasted42, I'll keep it in mind. :). Cya, guys.
23:41:48 -!- AndoDaan has quit (Quit: bbl).
23:43:05 <int-e> Ok, I got to watch the the Derren Brown clip discussed yesterday. I like how he says "I haven't touched the paper" while holding onto one of its ends...
23:44:01 <int-e> And I wonder how many of the players he had to bribe for their post-game interview ;-)
23:44:15 -!- MoALTz has quit (Ping timeout: 272 seconds).
23:45:16 -!- MoALTz has joined.
23:47:51 -!- MoALTz_ has joined.
23:50:42 -!- MoALTz has quit (Ping timeout: 250 seconds).
23:57:38 <zzo38> Is there Magic: the Gathering card to grant tapped creatures Exalted ability?
2014-12-30
00:03:50 <shachaf> I've never heard of such a card.
00:05:00 <int-e> http://magiccards.info/query?q=!Sublime+Archangel seems to qualify, technically.
00:05:44 <int-e> (but it's static, not triggered; not sure what zzo38 wants to do)
00:06:29 <shachaf> Fair enough.
00:07:08 -!- roasted42 has quit (Ping timeout: 265 seconds).
00:07:56 <zzo38> Well, I meant one that only applies to tapped creatures rather than all of them.
00:08:33 -!- roasted42 has joined.
00:08:56 <int-e> (the card is linked from http://mtgsalvation.gamepedia.com/Exalted ; I didn't remember what exaltation does)
00:10:49 <int-e> zzo38: I doubt that such ccards exist, but which do you want: "all tapped creatures gain exalted" or "whenever a creature is tapped, it gains "exalted"?"
00:15:47 <zzo38> First one
00:17:31 <zzo38> The other kind of card would be one causing all tapped creatures to lose exalted ability.
00:20:03 <int-e> http://gatherer.wizards.com/Pages/Search/Default.aspx?text=+[exalted] is short, doesn't look like it.,
00:26:46 <pikhq> Feels like they didn't do enough with Exalted.
00:31:37 <int-e> wtf ... youtube's players shows static noise on errors?!
00:31:55 <int-e> U-S-E-L-E-S-S !
00:38:44 -!- MoALTz__ has joined.
00:41:17 -!- MoALTz_ has quit (Ping timeout: 240 seconds).
00:45:26 -!- Phantom_Hoover has quit (Quit: Leaving).
00:47:17 -!- roasted42 has quit (Ping timeout: 240 seconds).
00:48:21 -!- roasted42 has joined.
00:51:34 <fizzie> int-e: It's supposed to have an explanation for the error on top of the noise.
00:52:10 <fizzie> (Although that doesn't make the animated noise part any more useful, that's certainly true.)
00:52:13 <int-e> fizzie: yeah I was looking at the comments.
00:52:48 <int-e> (I had downloaded the video separately)
00:53:18 * int-e is a bit starved for bandwidth; 16 kB/s isn't much.
01:09:58 -!- shachaf has quit (Changing host).
01:09:58 -!- shachaf has joined.
01:13:15 -!- Phantom_Hoover has joined.
01:13:54 -!- Phantom_Hoover has quit (Client Quit).
01:21:43 -!- boily has joined.
01:29:30 -!- roasted42 has quit (Ping timeout: 250 seconds).
01:35:58 * adu gives int-e some bandwidth
01:36:17 -!- roasted42 has joined.
01:41:20 -!- Sprocklem has joined.
01:52:33 -!- FreeFull has quit (Ping timeout: 256 seconds).
02:04:23 -!- tswett2 has joined.
02:04:46 <tswett2> So I think I found something interesting.
02:05:38 <tswett2> Define a "display" as a set of natural numbers, with the topology over displays being generated by the sets {s : s is a display containing n}, where n is a natural number.
02:06:37 <tswett2> Let ->> denote a continuous function. Then there's a certain "obvious" function encode :: (display ->> display) -> display, with a left inverse decode :: display -> (display ->> display).
02:07:47 <tswett2> Both encode and decode appear to be continuous.
02:08:35 -!- FreeFull has joined.
02:09:13 <tswett2> But lemme start over.
02:11:42 <tswett2> Define a "space" as a set of integers equipped with an equivalence relation.
02:11:53 <tswett2> Natural numbers, rather.
02:12:03 <tswett2> We'll assume that each natural number can be interpreted as a computer program.
02:12:34 <tswett2> Define RE as the set of all computer programs that enumerate natural numbers, with the equivalence relation being that the two programs enumerate the same set.
02:12:38 <int-e> computer program = partial recursive function?
02:12:58 <tswett2> Something like that.
02:13:34 <tswett2> Given spaces A and B, define A ->> B as the set of all computer programs which take a program in A and return a program in B, respecting the equivalence relation.
02:14:21 <tswett2> Two elements of A ->> B are equivalent if, for every input, the resulting outputs are equivalent.
02:15:15 <tswett2> Then there is a computer program encode :: (RE ->> RE) ->> RE with a left inverse which is a computer program decode :: RE ->> (RE ->> RE).
02:16:04 -!- roasted42 has quit (Ping timeout: 245 seconds).
02:18:10 -!- roasted42 has joined.
02:22:01 -!- Tod-Autojoined has changed nick to TodPunk.
02:24:45 <int-e> Ok, destroying the abstraction: encode takes a Gödel number g of a program transformation, and returns a program enumerating the singleton set { g }. Decode tkaes a program, runs it until the first element g is produced, then runs g as aprogram transformation.
02:26:09 <int-e> Ah, I did not clearly separate "Gödel number of a program" from "program".
02:26:26 -!- AndoDaan has joined.
02:28:30 <tswett2> Your definition of encode doesn't respect the equivalence relation.
02:28:57 <tswett2> Since given different Godel numbers that encode the same function, it'll return different functions.
02:29:02 <int-e> true\u.
02:29:28 <adu> what's a Gödel number?
02:30:07 <tswett2> I think int-e is using "program" to mean what I'd call a computable function and "Godel number of a program" to mean what I'd just call a program.
02:30:39 <tswett2> "Godel number of a program" just means a number which encodes a computer program, under a scheme such that every possible computer program is represented (in a computable way) by some number.
02:31:14 <adu> no, a program transformation
02:31:37 <tswett2> So lemme try to describe what encode and decode do, exactly.
02:32:44 <tswett2> encode takes a computer program f :: RE ->> RE. It then performs a computation simultaneously for every natural number n.
02:33:21 <tswett2> The computation begins by interpreting the number n as a pair (p, T), where p is a natural number and T is a finite set of natural numbers.
02:33:21 -!- AndoDaan has quit (Ping timeout: 272 seconds).
02:33:41 <adu> tswett2: what is RE?
02:34:03 <tswett2> RE is the set of all computer programs that enumerate natural numbers, with the equivalence relation being that the two programs enumerate the same set.
02:34:08 <adu> oh
02:34:34 <adu> sounds Turing-esque
02:34:51 <tswett2> The computation then proceeds by running f on T. If f(T) ever lists p, then encode(f) lists n.
02:36:00 <tswett2> "encode" is an injective function because every computer program RE ->> RE is defined entirely by its behavior on inputs which enumerate finite sets.
02:37:01 <adu> I'm interested in an abstract and yet concrete definition of a thing that can represent threads, coroutines, and continuations all at the same time
02:37:19 <tswett2> A Turing machine, perhaps?
02:37:24 <adu> perhaps
02:37:30 <tswett2> Now, decode takes a computer program s :: RE, and returns a new computer program decode(s) which takes another computer program t and finally returns a computer program decode(s)(t).
02:37:31 <nys> continuations can represent threads, coroutines, and continuations all at the same time
02:37:43 <elliott> nys: I'm going to need a citation for that last one
02:37:48 <vanila> how can continuations represent threads?
02:38:07 <nys> i thought you could do cooperative threading <.< >.>
02:38:14 <nys> somehow
02:38:27 <nys> maybe i need to crack out the ol scheme again
02:38:52 <tswett2> decode(s)(t) performs a computation simultaneously for all pairs (p, T), where p is a natural number and T is a finite set of natural numbers.
02:38:54 <adu> the ol scheme?
02:39:05 <adu> scheme is new, r7rs was just released
02:39:19 <nys> the brand spankin new scheme
02:39:24 <tswett2> Then, uh, lemme see.
02:40:41 <tswett2> Actually, lemme start over with this one.
02:40:44 <int-e> tswett2: I think we have to talk about termination a bit.
02:41:05 <tswett2> decode(s)(t) performs a computation simultaneously for all numbers n enumerated by s.
02:41:14 <adu> nah, the halting problem is so 20th century
02:41:45 <tswett2> The computation consists of interpreting the number n as (p, T), then waiting for t to spit out all elements of T, then spitting out p.
02:41:49 <adu> I think D. Knuth might be on to something with BDDs, it totally side-steps the halting problem
02:41:51 -!- roasted42 has quit (Ping timeout: 256 seconds).
02:41:58 <tswett2> int-e: do we?
02:42:07 <vanila> what is BDD?
02:42:18 <adu> vanila: binary decision diagram
02:42:26 <vanila> also I don't think the halting problem is actually a problem
02:42:31 <vanila> it's just a fact
02:42:34 <int-e> tswett2: a program that terminates without producing a number is equivalent to one that never terminates and never produces any number?
02:42:43 <adu> vanila: essentially a binary tree representation of a map from [Bool] -> [Bool]
02:42:45 <tswett2> int-e: yeah.
02:42:52 <vanila> hmm
02:43:06 <int-e> tswett2: ok. that part screws with my intuition.
02:43:15 <tswett2> You may as well say that no program ever terminates.
02:43:26 <tswett2> If a program would terminate, it instead hangs forever, spitting out nothing.
02:43:49 -!- roasted42 has joined.
02:43:55 <adu> D. Knuth, you know the guy who invented the arrow, tex, metafont, taocp, etc.
02:43:59 <adu> and MMIX
02:44:02 <vanila> Knuth is good
02:44:06 <vanila> He invented some algorithms too
02:44:10 <coppro> one or two
02:44:21 <vanila> actually three, at least
02:44:30 <vanila> LR parsing, KMP string matching algorithm, dancing links
02:44:36 <int-e> tswett2: ok, back to your decocde(s)(t).
02:44:48 <adu> https://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation
02:44:58 <adu> he invented the arrow
02:45:34 <tswett2> Now we just have to invent up-bow notation so that we can perform up-archery notation.
02:45:44 <adu> lolol
02:46:11 <coppro> tswett2: ++
02:48:52 <int-e> tswett2: the main property that you're exploioting seems to be that RE ->> RE only allows monotone functions (in terms of the encoded sets), plus a compactness property.
02:49:42 <tswett2> Lessee. I'm exploiting the monotone thing, yeah. As for compactness, lemme think.
02:49:59 <tswett2> I didn't notice any compactness going on here, but you probably know something I don't.
02:51:24 <tswett2> RE is certainly compact, because the only open set containing the empty set is the universal set.
02:52:06 <adu> tswett2++
02:52:40 <tswett2> Look at me, I'm talking about the topology of RE without ever having defined a topology for RE.
02:53:08 <nys> i wasn't saying that
02:53:11 <nys> but i was thinking it
02:53:45 <tswett2> One topology for RE is that topology I defined for "displays" above.
02:54:16 <tswett2> Namely, the topology for RE is generated by sets of the form {s : s is an element of RE enumerating n}.
02:54:23 <tswett2> Where n is a natural number.
02:57:52 -!- shikhin_ has quit (Ping timeout: 255 seconds).
02:58:46 -!- boily has quit (Quit: NERVOUS CHICKEN).
03:07:14 -!- scoofy has quit (Ping timeout: 244 seconds).
03:15:06 <int-e> tswett2: I'm just wrong. Continuity of the RE ->> RE part is what you need, for the claim that its determined by the behaviour on finite sets.
03:16:11 <tswett2> Right.
03:16:13 <int-e> (rather, that *is* the claim, afaiui)
03:16:50 <tswett2> Claim: the behavior of a computer program RE ->> RE is determined by its behavior on finite sets.
03:17:58 <tswett2> Um, lemme think how to prove this.
03:19:10 <tswett2> Suppose f is a computer program RE ->> RE, s is a computer program RE, and f(s) enumerates the natural number n.
03:20:28 <tswett2> Claim: there exists a finite set S such that S is a subset of the set enumerated by s, and f(S) also enumerates the natural number n.
03:20:49 -!- roasted42 has quit (Ping timeout: 255 seconds).
03:21:12 -!- bb010g has quit (Quit: Connection closed for inactivity).
03:21:33 <tswett2> Informal "proof": by something like Rice's theorem, the only way f can analyze its argument is by running it, and f(s) must enumerate n after running s for only finitely many steps.
03:22:39 -!- roasted42 has joined.
03:24:32 <tswett2> Since f is in RE ->> RE, for every computer program s' in RE that enumerates the same set as s, f(s') must also enumerate n.
03:25:05 <tswett2> Ooh, where is this going.
03:27:52 -!- AndoDaan has joined.
03:29:54 <tswett2> I need to prove that there's some computer program S in RE such that S enumerates a finite subset of the set enumerated by s, and S so closely matches some program s' that f can't tell the difference.
03:33:12 <tswett2> Let me start over.
03:33:27 <tswett2> Suppose that f is a computer program RE ->> RE, s is a computer program RE, and f(s) enumerates the natural number n.
03:34:05 <tswett2> Furthermore, assume that whenever t is a computer program in RE that enumerates a finite subset of the set enumerated by s, f(t) does not enumerate the natural number n.
03:34:18 <tswett2> Clearly s enumerates an infinite set.
03:34:30 <tswett2> Let M be an arbitrary Turing machine.
03:35:51 <int-e> Ah.
03:35:59 <tswett2> Given any computer program u in RE, let stop(u, M) be the program that alternates between running u and running M, halting whenever either one halts.
03:36:09 <int-e> You're going to run s and T in parallel. Right.
03:36:42 <tswett2> If M does not halt, then f(stop(s, M)) enumerates n, because stop(s, M) enumerates the same set that s does.
03:37:03 <tswett2> If, on the other hand, M does halt, then f(stop(s, M)) does not enumerate n, by our assumption about t.
03:37:34 <int-e> Right. Now a fixed point, and done. Thanks!
03:37:35 <tswett2> So we can solve the halting problem by simultaneously running f(stop(s, M)) and M, and seeing which thing happens first: f(stop(s, M)) enumerates n, or M halts.
03:44:04 <int-e> (and monotonicity works similarly: if U \subsetneq V are finite sets, then produce the elements of U, then run M, then product the remaining elements of V)
03:45:09 <tswett2> Oh, I meant to mention "the other topology" on RE.
03:46:34 <tswett2> Let the space Si be the set of all computer programs, with two programs being equivalent if and only if they both halt or neither one halts.
03:49:05 <tswett2> Then an open set of REs is defined by a function RE ->> Si; a RE is in the set if and only if its image halts.
03:49:25 <tswett2> Which isn't actually a topology, even though it's a lot like a topology.
03:50:12 -!- scoofy has joined.
03:50:49 <tswett2> You can't take the union of an arbitrary collection of those; you can only take the union of a recursively enumerable collection of them.
03:51:38 -!- roasted42 has quit (Ping timeout: 250 seconds).
03:52:54 -!- scoofy has quit (Quit: Leaving).
03:53:19 -!- roasted42 has joined.
04:00:47 <int-e> hmm recursive topology
04:01:10 <int-e> tswett2: does "Si" have a meaning?
04:02:11 <tswett2> It's the Sierpinski space.
04:03:09 <int-e> Ah, forgetting about all this extra structure. Yes, of course.
04:05:09 <adu> int-e: it also means yes in a couple languages
04:05:46 <int-e> adu: Really! But it seemed irrelevant to the discussion.
04:05:51 <nys> c'est si belle
04:05:51 -!- incomprehensibly has changed nick to glowcoil.
04:06:27 <int-e> да
04:07:23 <adu> תודה
04:08:04 <int-e> I should try to relearn russian
04:09:17 <adu> нет
04:18:37 -!- AndoDaan has quit (Ping timeout: 240 seconds).
04:21:39 <int-e> adu: вы не понимаете.
04:21:50 <int-e> meh, even most of the grammar is gone.
04:22:27 <int-e> (though there's little surprise there, russian has a lot of it)
04:32:29 -!- roasted42 has quit (Ping timeout: 265 seconds).
04:33:11 -!- roasted42 has joined.
04:48:07 -!- adu has quit (Quit: adu).
05:03:41 -!- vanila has quit (Quit: Leaving).
05:03:57 -!- tswett2 has quit (Ping timeout: 240 seconds).
05:06:35 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:14:38 -!- nys has quit (Quit: quit).
05:19:05 -!- Solace has joined.
05:21:09 <Solace> hmmmm
05:23:29 -!- roasted42 has quit (Ping timeout: 264 seconds).
05:25:16 -!- roasted42 has joined.
05:25:51 <Solace> How do you set ops/voiced and channel modes
05:29:01 <zzo38> Use the MODE command
05:29:13 <zzo38> See HELP CMODE for descriptions.
05:33:41 -!- augur_ has changed nick to augur.
05:51:15 -!- AndoDaan has joined.
06:01:27 -!- tswett has joined.
06:02:28 -!- shikhin has joined.
06:04:35 -!- adu has joined.
06:07:42 -!- roasted42 has quit (Ping timeout: 265 seconds).
06:09:17 -!- roasted42 has joined.
06:30:15 -!- MoALTz_ has joined.
06:32:37 -!- MoALTz has joined.
06:33:37 -!- MoALTz__ has quit (Ping timeout: 256 seconds).
06:35:08 <zzo38> I got Magic: the Puzzling for the Christmas present.
06:35:14 <zzo38> I figured out a few of them so far.
06:35:15 -!- MoALTz_ has quit (Ping timeout: 244 seconds).
06:55:27 -!- roasted42 has quit (Ping timeout: 258 seconds).
06:57:53 -!- roasted42 has joined.
06:58:26 -!- oerjan has joined.
07:29:09 -!- dts|pokeball has quit (Ping timeout: 256 seconds).
07:34:17 -!- roasted42 has quit (Ping timeout: 264 seconds).
07:35:50 -!- roasted42 has joined.
07:40:37 -!- Sprocklem has quit (Ping timeout: 240 seconds).
07:41:12 -!- Patashu has joined.
07:48:04 <b_jonas> zzo38: great
07:48:11 -!- MoALTz has quit (Quit: Leaving).
08:15:39 -!- roasted42 has quit (Ping timeout: 245 seconds).
08:18:24 -!- roasted42 has joined.
08:34:22 -!- roasted42 has quit (Ping timeout: 240 seconds).
08:39:23 -!- AndoDaan has quit (Ping timeout: 240 seconds).
08:39:24 -!- roasted42 has joined.
08:45:05 -!- roasted42 has quit (Ping timeout: 256 seconds).
08:49:00 -!- adu has quit (Quit: adu).
09:02:00 -!- AndoDaan has joined.
09:24:57 -!- ocharles_ has quit (Ping timeout: 258 seconds).
09:25:46 -!- ocharles__ has joined.
09:48:48 -!- shikhin_ has joined.
09:51:37 -!- shikhin has quit (Ping timeout: 240 seconds).
10:12:07 -!- supay_afk has changed nick to supay.
10:20:53 <oerjan> `echo hi
10:20:53 <HackEgo> hi
10:21:21 <AndoDaan> `echo `echo hi
10:21:21 <HackEgo> ​`echo hi
10:24:04 <oerjan> fizzie: the wiki - HackEgo link is broken
10:24:22 <AndoDaan> Oerjan, if I implement BCT in a language but hard code the instructions and init data-string instead of those being inputted, would that detract from its TC-ness?
10:24:40 <oerjan> AndoDaan: no. that's what i did for ///
10:25:10 <AndoDaan> Okay. I figured, but wanted to make sure.
10:25:13 <Jafet> Called a compiler?
10:25:39 <oerjan> but i don't hold much with this idea some others have of separating input from program when defining TC-ness.
10:26:59 * oerjan is wondering if that idiom he just used actually exists.
10:27:17 <AndoDaan> coined and minted.
10:27:31 <oerjan> TC-ness is _always_ essentially about compiling
10:27:52 <oerjan> it's just that you get to include the input as well as the program
10:28:30 <oerjan> AndoDaan: this applies to all output-only languages, at least.
10:28:33 <coppro> oerjan: you must have some way to distinguish input and program, however
10:28:41 <oerjan> coppro: no, you do not.
10:28:46 <AndoDaan> realtime event handling doesnt' change a language possibillities at all?
10:28:56 <oerjan> you compile a _computation_, not program.
10:29:28 <oerjan> AndoDaan: turing-completeness isn't about that.
10:29:33 <coppro> mm right the thing I was thinking when I said that is completely stupid
10:29:42 <coppro> the thing I was thinking before that is more right
10:29:44 <coppro> I will go with that
10:30:00 <Jafet> Realtime weapon change
10:30:35 <coppro> it works because of the halting problem
10:30:41 <AndoDaan> ^ very important, but not to TC-ness, i guess.
10:31:37 <coppro> No, I mean that the Halting Problem is what lets us ignore the machine/input distinction.
10:32:33 <coppro> A language is TC if, given a Turing machine with input, you can define some finite process which generates an instance of a program in that language, with input if applicable, which produces the same result.
10:32:48 <AndoDaan> Computer thrown toward the event horizon of a black hole. Time dilates to infinity, halting problem solved?
10:33:02 <coppro> You can't use the same definition for more restricted classes of computation, because you can always just run the computation and generate some other computation with the same result
10:33:45 <coppro> e.g. an NFA-plus-input can be transformed into a DFA-plus-input, because you can just run the NFA, get "accept" or "reject", and then create an accepting or rejecting DFA
10:34:00 <coppro> but a TM-plus-input can't be run
10:35:25 <AndoDaan> Non-Deterministic Finita Algorithm?
10:35:35 <AndoDaan> Automaton*
10:35:57 <Jafet> Well, we're not talking about finite automata
10:36:50 <oerjan> coppro: depends. NP-completeness works essentially the same way as TC, with "finite" replaced by "polynomial-time" or even "logarithmic space"
10:37:52 <oerjan> it works as long as the resources used for "compiling" are less than what you need to solve the problem.
10:39:00 <oerjan> on the other hand you have the circuit complexity classes, where you definitely need to distinguish the input.
10:40:16 <oerjan> (because you are trying to define classes that are _weaker_ than your compiler.)
10:42:15 <coppro> oerjan: right.
10:43:22 <coppro> btw, QTMs are shit
10:43:52 <oerjan> hm?
10:44:22 <AndoDaan> Quantum Turing Machines?
10:44:40 -!- ocharles__ has quit (Changing host).
10:44:40 -!- ocharles__ has joined.
10:44:42 -!- ocharles__ has changed nick to ocharles.
10:45:07 <oerjan> i assumed so, i don't know why he thinks they are shit though.
10:46:05 <AndoDaan> First correct guess I made here.
10:46:32 <AndoDaan> I'm getting learn-ned.
10:47:09 <oerjan> ocharles: hey are you the ollie charles of 24 days of haskell fame? great series!
10:47:29 <ocharles> oerjan: that's me!
10:47:32 <ocharles> thank you :)
10:47:44 <ocharles> did you catch this year's series?
10:48:08 <oerjan> i am in the process, i have a bit of reddit catchup to do
10:49:09 <oerjan> i'm up to the template haskell one
10:50:37 <ocharles> ah
10:50:49 <ocharles> i might do 12 in future years, cause no one can read 24 :P
10:51:12 <oerjan> well maybe not if they're all as long as the TH one
10:51:50 <ocharles> yea, the guest posts are longer
11:00:32 <fizzie> oerjan: Oh, right: it needs to be started manually, and Gregor started HackEgo last.
11:01:40 <fizzie> oerjan: In theory, it should be on now.
11:01:53 <oerjan> TOO LATE
11:01:57 <fizzie> TOO LITTLE
11:02:16 <oerjan> (i already did today's edits)
11:11:54 -!- zzo38 has quit (Ping timeout: 258 seconds).
11:14:16 -!- shikhin_ has changed nick to shikhin.
11:14:41 <Solace> ah yes
11:14:51 <Solace> I should use a VPS again
11:32:24 -!- SopaXorzTaker has joined.
11:32:24 -!- SopaXorzTaker has quit (Changing host).
11:32:24 -!- SopaXorzTaker has joined.
11:34:54 -!- Patashu has quit (Ping timeout: 258 seconds).
11:51:10 -!- rade has quit (Quit: Leaving).
11:52:59 -!- rade has joined.
12:49:16 -!- coppro has quit (Ping timeout: 258 seconds).
13:04:52 -!- tromp_ has joined.
13:05:49 -!- tromp__ has quit (Read error: Connection reset by peer).
13:08:56 -!- Phantom_Hoover has joined.
13:22:46 <AndoDaan> Where on the body would a "save your GODDAMN CODE!" tattoo be the most effective?
13:25:11 <oerjan> front of head hth
13:27:22 <AndoDaan> It does. In pointing out that Prison-Breaking it might be the way to go.
13:28:30 <oerjan> i don't believe putting a tattoo there is actually illegal in most western countries
13:30:07 -!- shikhin has quit (Ping timeout: 256 seconds).
13:36:47 -!- oerjan has quit (Quit: leaving).
13:48:43 -!- coppro has joined.
14:01:06 -!- kallisti has joined.
14:19:02 -!- Lymia has quit (Ping timeout: 245 seconds).
14:26:51 -!- Sprocklem has joined.
14:33:28 -!- shikhin has joined.
14:47:22 -!- boily has joined.
14:50:10 -!- Solace has quit (Quit: Connection closed for inactivity).
14:50:57 -!- nycs has joined.
14:50:57 -!- nycs has changed nick to `^_^v.
14:53:52 -!- Lymia has joined.
14:57:52 -!- GeekDude has joined.
15:08:41 -!- mitchs has joined.
15:31:30 <HackEgo> [wiki] [[Talk:Budget]] N http://esolangs.org/w/index.php?oldid=41560 * AndoDaan * (+385) Asking if esolangs.org's the right place for budget.
15:37:35 -!- SopaXorzTaker has quit (Remote host closed the connection).
15:38:08 <fizzie> 2See.
15:38:13 <fizzie> s/^2//
16:00:45 <Vorpal> fizzie, does a zero length write with W in SOCK make any sense ever?
16:01:11 <Vorpal> cfunge checks the length is zero or greater, but I think it should check it is 1 or greater
16:01:21 <Vorpal> Going through bugs found with coverity
16:01:44 <Vorpal> Deewiant, your opinion would also be interesting ^
16:04:49 <rade> Anyone familiar with the CompCert C compiler?
16:04:50 <rade> http://compcert.inria.fr/
16:10:11 <boily> I'm not, but it seems like a very interesting concept.
16:11:15 <rade> I wonder if the CompCert C compiler addresses this issue: http://cm.bell-labs.com/who/ken/trust.html
16:12:17 <Taneb> rade, do you trust your verification?
16:12:48 <Taneb> Do you trust that if what you are verifying is true then you can trust the compiler?
16:13:15 <Jafet> The "I didn't read my compiler code" issue can only be solved by reading your compiler code
16:15:21 <rade> Taneb, it's supposedly mathematically proved itself. I think this removes the need to trust it. Still, the design of the compiler's proof could be lacking, I guess.
16:15:34 <rade> you have to choose what to prove in the design and implementation
16:15:40 <Taneb> rade, there's still a LOT of things you need to trust
16:16:20 <Taneb> Like, do you trust the compiler you used to compile it CompCert?
16:16:48 <rade> couldn't CompCert technically compile itself?
16:17:15 <rade> I don't know if it does, though
16:17:26 <FireFly> Yes, but you need to bootstrap it
16:17:30 <Taneb> You'd have to bootstrap it from somewhere
16:17:39 <Jafet> You have to trust even more things than the compiler source
16:17:41 <FireFly> If not, you need to obtain the CompCert compiled pre-compiled already from somewhere
16:17:51 <FireFly> Which of course means you need to trust that source
16:18:10 <FireFly> s/the CompCert/& C compiler/
16:18:26 <Taneb> Of course, how much do you trust your computer itself?
16:18:43 <rade> there's always bitflips, right?
16:18:46 <rade> I get your point
16:18:58 <rade> well, it's a step in the right direction, at least
16:19:06 <rade> the less you have to trust the better
16:19:11 <Taneb> It's certainly a step in a direction
16:19:46 <Jafet> You need to trust: the clight semantics, the cambridge x86/arm semantics, the coq binary you used to run the proof
16:19:58 <Jafet> The coq specification of compcert
16:20:25 <b_jonas> depends on which computer
16:23:08 -!- mihow has joined.
16:25:53 <Deewiant> Vorpal: man 3p write says "If nbyte is zero and the file is not a regular file, the results are unspecified." man 3p send and sendto don't say anything about the zero-length case. SOCK.W is probably meant as a thin wrapper around one of these, and indeed RC/Funge-98 uses send(). Given that it seems to be unspecified I'd allow it; maybe the programmer knows something we don't, at least on the specific
16:25:55 <Deewiant> platform he's using, and expects a certain result.
16:26:33 <Vorpal> Deewiant, well it causes uninitialized memory in cfunge
16:26:49 <Vorpal> And the easiest way to fix it is to check for 1 or more rather than 0 or more
16:26:50 <Deewiant> If the "unspecified" means "error out" on the execution platform then your usual error checking should catch that and reverse the IP as usual.
16:27:49 <Vorpal> Oh and I use send() as well
16:28:20 <b_jonas> Deewiant: that exception is probably there because some packet-based sockets or devices could conceivably allow sending zero-length sockets, even though udp in particular doesn't allow that
16:30:27 <Vorpal> zero length packets, not sockets
16:30:31 <Vorpal> But yeah probably
16:30:33 <b_jonas> yes, sorry
16:31:01 <Deewiant> Vorpal: So send(some fd, null, 0, 0) is problematic, or what?
16:32:39 <Vorpal> Deewiant, well, first of all, I end up calling malloc(0), which is also implementation defined. On Linux that will in fact return a pointer (to 1 byte). Then I copy 0 bytes into that buffer from funge space. Which I then send with length 0.
16:32:58 <Vorpal> On some systems it will error out because malloc(0) can return NULL
16:33:18 <Deewiant> What will error out?
16:33:22 <Deewiant> Copying 0 bytes out of NULL should be fine
16:33:48 <Vorpal> Well, I check malloc return value. So it will error out because I check for successful allocation
16:34:11 <Deewiant> Well you should check it only if len > 0
16:35:34 <Vorpal> Hm send() with length 0 is not even documented
16:35:47 <Vorpal> So that seems like undefined behaviour, not just implementation defined.
16:37:05 <Deewiant> On Windows it's ok:
16:37:07 <Deewiant> Calling send with a len parameter of zero is permissible and will be treated by implementations as successful. In such cases, send will return zero as a valid value. For message-oriented sockets, a zero-length transport datagram is sent.
16:38:05 -!- tswett has set topic: oerjan doesn't hold much with that idea | but often spelled correctly. | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/.
16:39:03 <Deewiant> https://bugzilla.kernel.org/show_bug.cgi?id=5731 is a bug about write() not writing a zero-length packet
16:39:34 <Vorpal> Deewiant, cfunge doesn't support native Windows anyway, so that seems irrelevant
16:40:26 <Deewiant> I'm just pointing out examples where this works or is expected to work
16:41:19 <Vorpal> Hm
16:41:27 <Vorpal> Makes sense
16:41:39 -!- nys has joined.
16:41:56 <Deewiant> You might be able to get away with not actually calling send() but not erroring either, if you want to be difficult about it
16:42:24 <Vorpal> Hah
16:45:39 <Vorpal> Deewiant, what about the buffer in this case though?
16:47:54 <Deewiant> What about it?
16:49:09 <Vorpal> Can it be null in this case?
16:50:18 <Deewiant> I don't see why not but I'd at least try it on Linux first
16:50:27 <Vorpal> Right
16:51:08 <Deewiant> Or check the source code of some libcs, etc
16:52:20 <b_jonas> who invents all these hundreds of crazy particles?
16:52:27 <b_jonas> um, sorry, wrong channel
16:53:38 <Vorpal> Deewiant, what do you use for randomness in CCBI(2) btw?
16:53:57 -!- AndoDaan has quit (Read error: Connection reset by peer).
16:54:21 -!- AndoDaan has joined.
16:54:24 <Deewiant> Vorpal: Re. Coverity, did you do the whole signup process and whatnot that they at least used to require, or do you have (or is there nowadays) some easier way to access it
16:55:23 <Vorpal> Deewiant, well I had to login with my github login, add the project and provide some info about it, including an indication that I was related to the project in some way.
16:55:27 <Deewiant> Looks like Mersenne Twister for randomness; I actually thought it was KISS
16:55:30 <Vorpal> Then they had to verify it
16:55:39 <Vorpal> Which took a couple of days, probably due to the holidays
16:55:56 <Deewiant> So in short it's still a hassle, ok. :-)
16:55:57 <Vorpal> Deewiant, it only supports C/C++, Java and C# though
16:56:08 <Vorpal> So CCBI won't have much use for it
16:56:12 <Deewiant> Oh, they have C#, didn't know
16:56:17 <Deewiant> I thought it was only C, C++, Java
16:56:18 <Vorpal> Apparently
16:56:32 <Vorpal> Maybe it is new? Who knows
16:56:40 <Deewiant> But yeah, CCBI is pretty much frozen anyway, just wondering
16:56:51 <Vorpal> Deewiant, Anyway, KISS? As in keep it simple stupid?
16:57:04 <Vorpal> Meaning random() from the standard library
16:57:17 <Vorpal> Or is KISS a separate badly named algorithm?
16:58:04 <Vorpal> Coverity complains that I use random(). So that was why I was wondering
16:58:17 <Vorpal> In other words: don't use cfunge to implement SSL?
16:58:42 <Deewiant> Can't find a good source for it but it's a different generator, one of Marsaglia's
16:59:12 <Deewiant> I ran both CCBI and cfunge through the dieharder tests at some point and cfunge got pretty poor results, random() would explain that
17:01:12 <Vorpal> Heh
17:01:26 <Vorpal> Deewiant, ? is even random() % 4 iirc
17:02:25 <Deewiant> The range of random() is probably a power of two so that % is probably fine
17:04:20 <Vorpal> 17 defects in total. Quite a few edge cases (mostly related to improper error handling, such as not freeing memory when the second of a series of malloc fails or similar). No really big issues for normal usage though. Also 4 false positives (all "high impact"). Plus 3 instances of random()
17:05:09 <Vorpal> Deewiant, the random() % n in FIXP D is probably worse
17:05:09 <Deewiant> Run the clang static analyzer and see if it catches the same ones (though I doubt it complains about random())
17:05:18 <Deewiant> Yeah that's not nice
17:05:24 <Vorpal> I have used clang static analyzer in the past
17:06:07 <Vorpal> In my experience it finds rather long and complicated chains of events mostly after the first time I used it. Most of them being impossible.
17:07:20 <Vorpal> Deewiant, but I don't have a modern llvm version on this machine I think, I might try it later though, but it should be clean from real defects at least as of clang a year or so ago
17:08:44 <Deewiant> Odd if it misses all of those "missing free" cases
17:08:46 <Vorpal> Hm also this is annoying, some weird issues in an implementation of strstr (I have copies of the glibc str* functions I need for funge-space sizes)
17:08:50 <Deewiant> But yeah it has false positives of its own
17:09:21 <Vorpal> Well, it did back then at least. Coverity also missed at least one. Though perhaps it only report the first issue of a kind in a given function?
17:09:37 <Deewiant> Could be
17:11:31 <tswett> > iterate (\x -> ((x ^ 2) `div` 100) `mod` 10000) 7835
17:11:32 <lambdabot> [7835,3872,9923,4659,7062,8718,35,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...
17:12:21 <Vorpal> Hm?
17:13:13 <tswett> > iterate (\x -> ((x ^ 2) `div` 100) `mod` 10000) 7838
17:13:14 <lambdabot> [7838,4342,8529,7438,3238,4846,4837,3965,7212,129,166,275,756,5715,6612,7185...
17:13:22 <tswett> There we go.
17:14:26 <Vorpal> What is that sequence about?
17:14:57 <tswett> Middle-square pseudorandom numbers.
17:15:29 <Vorpal> Ah
17:16:35 <tswett> > iterate (msq 100) 1234
17:16:37 <lambdabot> [1234,5227,3215,3362,3030,1809,2724,4201,6484,422,1780,1684,8358,8561,2907,4...
17:16:45 <tswett> > iterate (msq 10000) 12345678
17:16:46 <lambdabot> [12345678,41576527,60759738,74576182,60692169,53937792,28540583,56487797,871...
17:16:53 <tswett> And so on and so forth.
17:19:07 <Vorpal> Deewiant, I did find an interesting issue actually, but again, if IP duplication fails, which requires OOM to happen.
17:21:15 <Deewiant> Yeah it's too bad that never actually happens; all that code just waiting to be executed
17:21:53 <Vorpal> Hah
17:22:01 <Vorpal> Deewiant, what should happen when t fails hm?
17:22:16 <Vorpal> The parent can hardly be reversed, that is undetectable from the child
17:22:32 <Deewiant> Reverse the parent but don't create a child
17:22:44 <Vorpal> Really?
17:22:48 <Deewiant> Why not?
17:22:58 <Vorpal> Well okay
17:23:01 <Deewiant> The program should notice that one of its threads is missing :-P
17:23:10 <Vorpal> Not like that code will ever be hit anyway
17:28:20 -!- nortti has changed nick to lawspeaker.
17:28:43 <Vorpal> Deewiant, not sure what to do about randomness though... Is it worth using urandom if that exists or something like that?
17:28:45 <Vorpal> Hm
17:29:12 -!- bb010g has joined.
17:29:20 -!- lawspeaker has changed nick to nortti.
17:29:39 <Deewiant> /dev/urandom is a bit slow if you don't need a CSPRNG
17:29:57 <Vorpal> True
17:30:34 <Vorpal> So what good options are there hm? Adding in another external library seems annoying
17:30:57 <Vorpal> And I don't know what algorithms are good
17:31:37 <Deewiant> I used to have the mersenne twister just rolled in as one file (since then it appeared in the standard library of the time)
17:31:46 <Deewiant> Most RNG's aren't that big, you can just drop them in
17:31:58 -!- myndzi has quit (Quit: .).
17:32:33 -!- myndzi has joined.
17:33:36 <Deewiant> E.g. xorshift* is quite good and something like 10 lines: https://en.wikipedia.org/wiki/Xorshift#Variations
17:33:50 <Vorpal> Why doesn't random() in libc use it then?
17:35:53 -!- myndzi has quit (Client Quit).
17:35:56 -!- myndzl has joined.
17:36:02 <Deewiant> man 3p random suggests that a specific algorithm is required
17:37:22 -!- myndzl has quit (Client Quit).
17:37:32 -!- myndzi has joined.
17:37:35 <Deewiant> Oh and there's arc4random in libbsd, which is good
17:37:52 <elliott> just use /dev/random and fuck everything
17:38:12 <Deewiant> But it's also a CSPRNG, I don't know how it compares to /dev/urandom in speed
17:38:45 <Vorpal> Ah
17:40:59 <Vorpal> Deewiant, Well, libbsd is not universal (cfunge does optionally use strlcpy/strlcat from it, if not found it uses it's own copy of those instead)
17:41:26 <Deewiant> Yes but you're allowed to depend on things :-P
17:41:52 -!- nortti has changed nick to lawspeaker.
17:42:01 -!- lawspeaker has changed nick to nortti.
17:42:11 -!- myndzi has quit (Client Quit).
17:42:29 -!- myndzi has joined.
17:42:31 -!- myndzi has quit (Remote host closed the connection).
17:42:40 <Vorpal> Yes, but no reason to do it if I don't need to. Anyway I want a fast algorithm
17:42:56 <Vorpal> Mersenne twister (while not a CSPRNG) is fast isn't it?
17:43:07 <Vorpal> and that xor thing
17:43:39 -!- myndzi has joined.
17:43:51 <elliott> Deewiant: it's fast enough that openbsd could make random() use it
17:44:55 <Deewiant> Yeah sure, /dev/random on Linux is the only thing that's actually "slow" in some absolute sense
17:45:08 <elliott> oh this is cfunge we're talking about :P
17:45:15 <elliott> better use xorshift for the speeeeeeeed
17:45:51 <Deewiant> /dev/urandom pushes some 17 MiB/s on this box and how likely is that to bottleneck even a randomness-heavy Funge program
17:45:52 <Vorpal> Hm arc4random doesn't allow initializing with a fixed seed to cause a repeat?
17:46:46 <Vorpal> That is annoying, since I use that feature for fuzz testing (to ensure I test the same program when I run it normally and then under valgrind)
17:46:48 <elliott> Deewiant: I guess if it doesn't slow down mycology or fungot he won't care
17:46:48 <fungot> elliott: you probably want anyway) to find where the code is not. it just means that if your program uses them to debug a hq9+ program if he can't help you
17:47:12 <Vorpal> elliott, hah
17:47:14 <Deewiant> Vorpal: You need to provide a dummy /dev/urandom for arc4random_stir :-P
17:47:22 <elliott> a dummy getentropy too
17:47:24 <elliott> if it's using that
17:47:27 <elliott> which I hope it is
17:47:39 <Vorpal> Deewiant, that sounds a lot more annoying than #define FUZZ_TESTING causing srandom() to use a static value
17:47:43 <boily> @metar CYQB
17:47:44 <lambdabot> CYQB 301700Z 25012G17KT 25SM FEW040 FEW170 M17/M24 A3033 RMK SC1AC1 AC TR SLP277
17:47:53 <Deewiant> elliott: The manpage just says "arc4random_stir() function reads data from /dev/urandom"
17:47:57 <elliott> (it probably even calls it directly sine I don't think there's any libc wrapper yet)
17:47:58 <Vorpal> elliott, is that a system call? I don't have a man page for it
17:48:11 <elliott> Deewiant: yeah but the openbsd people wanted getentropy added specifically I think
17:48:14 <elliott> at least, it comes from openbsd
17:48:15 <Deewiant> Vorpal: It's a rather recently added syscall
17:48:23 <Deewiant> Depending on your kernel you might not have it yet
17:48:25 <Vorpal> Oh that thing
17:48:28 <Vorpal> wasn't it openssl?
17:48:33 <elliott> Vorpal: it's /dev/urandom that works in a chroot etc. and doesn't use an fd and can block if the entropy pool hasn't been filled yet
17:48:35 <Vorpal> 3.13, who knows
17:48:46 <elliott> (not the same as /dev/random, /dev/random starts blocking again for ~no reason even once it has entropy)
17:48:47 <Deewiant> Vorpal: Re. fuzz testing you can of course define your randomness function to use a different RNG when fuzzing
17:49:31 <Vorpal> Deewiant, well yeah that works I guess, just revert to the old random() with fixed srandom() in that case
17:49:48 <Deewiant> elliott: TBH I don't see why they didn't fix /dev/random instead
17:50:27 -!- AndoDaan has quit (Quit: bbl).
17:50:31 <elliott> Deewiant: that still doesn't work inside chroots (think containerisation) and uses an fd
17:50:42 <Vorpal> Deewiant, that could be missing in a chroot, or you could have used up all your file descriptors
17:50:46 <elliott> there are actual cases of programs falling back to bad entropy when they run out of fds that openbsd ran into IIRC
17:51:11 <elliott> "bad entropy" is one of those "bad Xs" that means "not X"
17:51:13 <Deewiant> chroots could just populate their /dev appropriately... but yeah the fd issue is a good point
17:51:37 <elliott> also it's faster I think?
17:51:43 <elliott> since it skips a lot of overhead
17:51:51 <Deewiant> Yeah it should be
17:51:58 <elliott> I mean it's not like linux is exactly a paragon of syscall minimalism / everything is a file
17:52:03 <Vorpal> Oh god, cmake I hate you. Never again will I use cmake for a project.
17:52:05 <elliott> so they might as well just provide it this way
17:52:18 <Deewiant> Vorpal: What's a good alternative?
17:52:26 <Vorpal> Deewiant, well that is the issue, there isn't one
17:52:30 <Deewiant> elliott: I still wonder about my question though, just without the "instead"
17:52:38 <Vorpal> Deewiant, autoconf + tup maybe?
17:52:51 <Deewiant> Vorpal: auto* is not a good alternative in my mind :-P
17:53:06 <Vorpal> Deewiant, well it is easier to do some of the stuff I'm doing with that actually.
17:53:07 <elliott> Deewiant: I don't know. I guess whoever's in charge of /dev/random doesn't understand information theory?
17:53:32 <elliott> Deewiant: it's probably easier to keep it broken and hope everyone forgets about it than to force programs to check whether /dev/random is okay or not
17:53:52 <Deewiant> elliott: I think it's pretty clear that wasn't the case originally but by now and especially with getentropy you'd think something would change...
17:54:06 <Deewiant> Er, was the case* that that person didn't understand
17:54:08 <Vorpal> elliott, Why did it block even when there is entropy btw?
17:54:22 <elliott> Vorpal: because you can "run out of entropy" (you can't)
17:54:25 <Deewiant> elliott: I'd still fix it but call it deprecated, there are programs that read from only it
17:54:47 <Deewiant> Although maybe all the major ones are switching to getentropy as soon as it's available
17:54:58 <elliott> Vorpal: (I've seen that analogised as "running out of key" when encoding a lot of messages with a stream cipher)
17:55:36 <Vorpal> elliott, didn't it use entropy to seed a generator? Or did it just return the entropy directly as the random data?
17:55:43 <Vorpal> I guess the latter case could break stuff
17:55:46 <elliott> it feeds it through a CSPRNG yes
17:56:08 <Vorpal> Then you can't run out as far as I understand indeed (though I'm no expert in this area)
17:56:09 <elliott> it even keeps adding entropy later, which is harmless and sort of very minorly good but not really necessary at all
17:56:21 <elliott> it's just its entropy estimate goes down when you read from /dev/random
17:56:23 <elliott> for some reason
17:56:42 <Deewiant> Vorpal: http://www.2uo.de/myths-about-urandom/structure-no.png
17:56:54 <elliott> the problem with /dev/urandom is that it doesn't block when you *do* want it to (at boot, before there's a reasonable (~128 bits) amount of entropy)
17:57:11 <elliott> but /dev/random blocks after that too
17:57:25 <elliott> on e.g. FreeBSD, /dev/{u,}random are the same and block at boot and never otherwise
17:57:33 <elliott> linux will never do that though because backwards compatibility >_<
17:57:42 <Vorpal> Heh
17:58:18 <Vorpal> Deewiant, that looks like it sometimes just returns the entropy pool data raw?
17:58:19 <Deewiant> Hmm, alias /dev/{u,}random to sockets that talk to /dev/random on a FreeBSD box?
17:58:26 <Vorpal> Deewiant, hah
17:58:59 <elliott> /dev/random does go through the CSPRNG do, or at least so I've heard... if that diagram suggests otherwise I'd be inclined to not believe it
17:59:04 <elliott> *too
17:59:09 <Deewiant> Vorpal: Oh whoops wrong one, http://www.2uo.de/myths-about-urandom/structure-yes.png
17:59:29 <Deewiant> The one I linked earlier was the "what you might think" version
18:00:01 <elliott> nice
18:00:02 <Vorpal> Hm
18:00:08 <elliott> deliberately misleading diagram with no big red warning sign on it
18:00:19 <elliott> how many reddit/HN comments has it been linked from to support an argument
18:00:26 <Deewiant> It has "no" in the filename, you'd think that's enough
18:01:07 <Deewiant> It says "[a]n incorrect view" almost immediately before it on the HTML (in red, even) but yes, not in the image itself
18:01:38 <elliott> I feel like if you show people the wrong version first it's the one they'll remember...
18:02:24 <Deewiant> Maybe
18:03:58 -!- Sprocklem has quit (Ping timeout: 244 seconds).
18:05:26 <Jafet> "Counting entropy"
18:05:53 <elliott> there's a little gnome in the kernel who pushes a button whenever it sees a bit that surprises it <_<
18:06:36 <Jafet> I really, really don't want gnome in the kernel
18:20:33 <Vorpal> Jafet, don't worry, it will be systemd instead
18:24:01 <Vorpal> Deewiant, an issue with arc4random_uniform is that it is 32-bit, cfunge can have 64-bit cells.
18:25:02 <Vorpal> What would a good way to generate a 64-bit random value with arc4random be? For the case of whole bytes, arc4random_buf could be used.
18:25:14 <Vorpal> But I don't know for the case of [0,max]
18:25:26 <Vorpal> elliott, ^
18:25:28 <Jafet> arc4 is 8-bit
18:25:35 <Vorpal> u_int32_t
18:25:35 <Vorpal> arc4random_uniform(u_int32_t upper_bound);
18:25:40 <Vorpal> Doesn't look like it?
18:25:50 <Vorpal> Or the man page is lying
18:25:57 <Jafet> I see
18:26:21 <Jafet> You can, of course, construct a 64-bit random in parts
18:29:04 <Vorpal> Jafet, what is a good way to do it though? For a specific upper bound between 2^32 and 2^64?
18:29:18 <Deewiant> Vorpal: Use arc4random_buf to generate 64 bits in one go?
18:29:22 <Vorpal> Sorry, for an arbitrary rather than specific
18:29:40 <Vorpal> Deewiant, But I don't want to do % after to limit it to an upper bound. I'm asking for that specific case.
18:30:00 <Vorpal> How do I best limit it to a a range [0,n] for any n
18:30:01 <Deewiant> Well if your upper bound fits in less bytes then pass a smaller length to arc4random_buf
18:30:09 <Deewiant> And then you'll have to use %
18:30:23 <Vorpal> Deewiant, and if my n is a number that isn't a power of 2?
18:30:26 <Jafet> I suspect that this arc4random_uniform uses rejection sampling
18:30:31 <Vorpal> Ah
18:30:49 <Vorpal> So it takes an indeterminate amount of time perhaps.
18:30:58 <Vorpal> arc4random_uniform() will return a uniformly distributed random number less than upper_bound. arc4random_uniform() is recommended over construc‐
18:30:59 <Vorpal> tions like “arc4random() % upper_bound” as it avoids "modulo bias" when the upper bound is not a power of two.
18:31:02 <Deewiant> Vorpal: Then toss the result if it's in an uneven range
18:31:14 <Vorpal> Deewiant, fair enough
18:31:57 <Deewiant> (Is "rejection sampling" the fancy term for that?)
18:32:49 -!- adu has joined.
18:35:56 -!- dts|pokeball has joined.
18:36:49 <Jafet> If by "that" you mean rejection sampling, yes
18:37:56 <Jafet> You could just write a uint64_t version of http://svnweb.freebsd.org/base/head/lib/libc/gen/arc4random.c?view=markup#l270
18:38:58 <Jafet> I'm surprised that they actually allow an infinite loop there
18:39:14 <Deewiant> That's a clever min
18:39:52 <Jafet> (Or at least not-yet-known-to-be-finite, given that this is arc4 output.)
18:40:03 <Vorpal> Yeah that seems bad
18:40:19 <Vorpal> For cfunge it won't matter, but imagine what that will do to a real time system
18:40:28 <Vorpal> But then again I doubt freebsd is a real time OS anyway
18:41:24 <Jafet> I'm not sure if the kernel uses that function
18:41:51 <Vorpal> I think OpenBSD does at least
18:41:58 <Vorpal> Or maybe not that function, but arc4
18:42:07 <Vorpal> Pretty sure /dev/random on OpenBSD is arc4-based
18:49:37 -!- rade has quit (Ping timeout: 255 seconds).
19:04:49 -!- kallisti has quit (Ping timeout: 245 seconds).
19:14:17 -!- Guest36924 has joined.
19:15:11 <Guest36924> hello
19:16:21 -!- Guest36924 has left.
19:19:01 -!- nycs has joined.
19:20:39 -!- `^_^v has quit (Ping timeout: 245 seconds).
19:29:41 -!- shikhin_ has joined.
19:32:08 -!- rade has joined.
19:32:50 -!- shikhin has quit (Ping timeout: 250 seconds).
19:55:12 -!- shikhin_ has changed nick to shkhn.
19:56:50 -!- shkhn has changed nick to shikhin.
20:06:10 -!- nycs has quit (Quit: This computer has gone to sleep).
20:09:55 -!- nycs has joined.
20:44:05 -!- MoALTz has joined.
20:51:16 -!- oerjan has joined.
20:54:37 -!- augur has quit (Ping timeout: 240 seconds).
20:59:12 -!- augur has joined.
21:01:23 -!- augur_ has joined.
21:03:24 -!- nycs has changed nick to `^_^v.
21:05:04 -!- augur has quit (Ping timeout: 255 seconds).
21:12:00 -!- Patashu has joined.
21:26:55 -!- oerjan has quit (Quit: ZZZZ).
21:42:00 -!- zzo38 has joined.
21:48:30 -!- _2_Leenz2 has joined.
21:48:34 <_2_Leenz2> Haii
21:48:37 <Vorpal> <Jafet> You could just write a uint64_t version of http://svnweb.freebsd.org/base/head/lib/libc/gen/arc4random.c?view=markup#l270 <-- that is rather interesting code
21:48:47 <Vorpal> I wonder why it works actually
21:48:52 <Vorpal> Will have to look into that
21:49:00 <_2_Leenz2> Hai :D
21:49:44 <Vorpal> Jafet, specifically the claim that p > 0.5
21:49:51 -!- _2_Leenz2 has quit (Client Quit).
22:06:56 <int-e> Vorpal: simple math. if upper_bound <= 2^31 then min < 2^31 because min < upper_bound; otherwise, min < 2^31 becaues 2^32-upper_bound < 2^31.
22:07:45 <int-e> so (2^32-min) / 2^32 > 2^31/2^32 = 0.5
22:08:17 <Vorpal> Hm, that will scale to 64-bit I presume? I think it is way too late for me to implement this given that I can't figure this out
22:09:02 <int-e> sure.
22:09:12 <Vorpal> Just replace u_int32_t, and then use arc4random_buf(&my64bitint, 2) instead of arc4random()
22:09:53 <Vorpal> Deewiant, btw did you test that randomness thing with efunge too? If so, how did it fair?
22:09:56 <int-e> looks plausible (didn't check the API)
22:10:14 <Deewiant> Vorpal: Nah, only CCBI and cfunge
22:10:30 -!- Phantom_Hoover has quit (Ping timeout: 265 seconds).
22:10:38 <Vorpal> Deewiant, Do you still have the code for it?
22:11:01 -!- Phantom_Hoover has joined.
22:11:46 <Deewiant> Not sure but it would be pretty easy to recreate anyway
22:12:40 <Deewiant> $ cat rng.b98
22:12:43 <Deewiant> 4v > 0v >$'@*\88+*+\4*++,
22:12:44 <Deewiant> >#v? 1>\1-:!#^_
22:12:47 <Deewiant> > 2^
22:12:48 <Deewiant> > 3^
22:12:51 <Deewiant> I think that's it
22:13:02 <Deewiant> Seems to generate something pretty random-looking at least
22:13:27 <Vorpal> What test did you use did you say?
22:13:32 <Deewiant> dieharder
22:13:48 <Deewiant> http://www.phy.duke.edu/~rgb/General/dieharder.php
22:15:42 <HackEgo> [wiki] [[Budget]] http://esolangs.org/w/index.php?diff=41561&oldid=41559 * BCompton * (+10) Stub
22:16:28 -!- adu has quit (Quit: adu).
22:53:22 <Vorpal> In file included from ../../src/prng.c:33:0:
22:53:22 <Vorpal> void arc4random_addrandom(u_char *dat, int datlen);
22:53:25 <Vorpal> Massive fail :P
22:53:30 <Vorpal> err
22:53:33 <Vorpal> /usr/include/bsd/stdlib.h:52:27: error: unknown type name ‘u_char’
22:53:36 <Vorpal> That bit
22:54:23 -!- ^v has joined.
22:55:35 <Vorpal> Can't find a header with it either...
22:56:29 -!- tswett has quit (Ping timeout: 245 seconds).
23:03:42 -!- `^_^v has quit (Quit: This computer has gone to sleep).
23:04:47 -!- ^v has quit (Quit: Leaving).
23:07:06 -!- mihow has quit (Quit: mihow).
23:11:13 <Vorpal> Deewiant, arc4random is indeed very fast, I did some quick tests with it. It is slightly slower than the built in random() % 4
23:11:31 <Vorpal> I basically did "build/release/cfunge examples/prng.b98 | wc -c & sleep 5; killall cfunge; sleep 0.1; echo" a few times over and averaged the results
23:12:30 <Vorpal> 1548288.5 for arc4 (with 4 passed to proper modulo handling function) vs 1617920.9 for random() % 4
23:12:42 <Vorpal> That is not too bad at all
23:28:56 -!- adu has joined.
23:33:02 <zzo38> When trying to edit c2 wiki I get "Suspicious source (tor.ahbl.org)". Do you know what that is?
23:34:25 <Vorpal> zzo38, Oh, fun... I heard about this. Basically tor.ahbl.org *was* a DNS blacklist for Tor exit nodes. But it shut down recently. The result is that it returns that all IPs are exit nodes...
23:34:40 <Vorpal> You need to contact the admin of that wiki I suspect
23:38:38 <zzo38> SQLite uses ARCFOUR for random number generators. What do the numbers 1548288.5 and 1617920.9 mean exactly?
23:39:18 <Vorpal> zzo38, Should be obvious from the command line?
23:39:29 <Vorpal> build/release/cfunge examples/prng.b98 | wc -c & sleep 5; killall cfunge; sleep 0.1; echo
23:39:55 <Vorpal> It is the average of 5 runs of that
23:40:19 <zzo38> You didn't tell me it is the average.
23:40:22 <Vorpal> Highly unscientific measurement of course, but good enough to show that the performance is only slightly worse
23:40:29 <Vorpal> zzo38, I did
23:40:31 <Vorpal> <Vorpal> I basically did "build/release/cfunge examples/prng.b98 | wc -c & sleep 5; killall cfunge; sleep 0.1; echo" a few times over and averaged the results
23:40:37 <zzo38> O, OK
23:40:54 <Vorpal> I didn't tell you it was 5 times
23:41:21 <zzo38> The average of what, the output of wc -c or what, and what does prng.b98 do exactly?
23:42:08 <Vorpal> zzo38, that is the program Deewiant provided earlier
23:42:24 <zzo38> OK
23:42:26 <Vorpal> Just a few lines above
23:42:39 <Vorpal> zzo38, And yes the output of wc -c.
23:42:44 <Vorpal> What else is there?
23:42:47 <Vorpal> The job ID?!
23:42:53 <int-e> Vorpal: funny, I'd always do it the other way around; output a fixed number of characters and time that. (either by putting a loop in the program or by using head -c)
23:43:02 <zzo38> O, so is it checking how many characters it can output in 5 seconds?
23:43:21 <Vorpal> int-e, well that works too. Probably better too. Didn't want to rewrite the program though
23:43:34 <Vorpal> head -c would have worked yes
23:43:55 <zzo38> int-e: That is what confused me too, although I would have done yet another different way
23:44:04 <Vorpal> int-e, except what does that do with full buffering? Pretty sure full buffering is going on
23:44:14 <Vorpal> Err that was badly worded
23:44:57 <zzo38> Put the timing in the program itself or time how many times you can execute the program or something like that, is what I have done in my own cases
23:45:07 <int-e> Vorpal: well, are you sure your program flushes its buffer when its killed? it comes down to that... in any case I'd make sure the count is not too small
23:45:22 <zzo38> That is mainly the confusion I have had with it
23:45:47 <zzo38> Although it is obvious what you have done now, I just didn't notice quite at first
23:46:03 <Vorpal> int-e, well if it didn't I should get various multiples of fixed sizes every time, no?
23:46:32 <int-e> Vorpal: perhaps.
23:48:12 <Vorpal> Deewiant, dieharder does not run fast :/
23:50:31 <zzo38> If the range of the random numbers aren't a power of two then you need to do something else; what I have done in such case is to first take the number of bits needed, and then if the number is too big try again until it is not too big.
23:53:27 -!- pallokolmio has joined.
23:53:32 <zzo38> What is done by the card DIGGER in Pokemon cards is basically an optimization of this algorithm for the case: if random(0 to 2) < 2 then hits your own card else hits opponent's card. Since the bit1 is 0 then it is known true you needn't read the next bit.
2014-12-31
00:05:28 <Vorpal> What good build server solutions are there?
00:06:31 -!- aloril_ has quit (Read error: Connection reset by peer).
00:16:40 <Vorpal> Deewiant, you never test kt :/
00:17:09 -!- adu has quit (Quit: adu).
00:31:54 <Vorpal> @tell Deewiant What should 2kt (ip going right) do if both calls to t fail? Should the IP be reversed once then k aborted or should it be reversed twice (thus spawning no child but in effect not reversing the thread either).
00:31:55 <lambdabot> Consider it noted.
00:32:08 -!- adu has joined.
00:34:56 -!- aloril has joined.
01:06:13 <Vorpal> night
01:14:05 <Vorpal> @tell fizzie That s wrapping bug is also fixed now. I don't remember if you found any other bug.
01:14:05 <lambdabot> Consider it noted.
01:16:45 -!- augur_ has changed nick to augur.
01:29:44 -!- shikhin_ has joined.
01:32:44 -!- shikhin has quit (Ping timeout: 245 seconds).
01:36:11 -!- arjanb has quit (Quit: zzz).
01:39:08 -!- AndoDaan has joined.
01:52:23 -!- adu has quit (Quit: adu).
01:52:43 -!- G33kDude has joined.
01:55:17 -!- GeekDude has quit (Ping timeout: 256 seconds).
01:55:21 -!- G33kDude has changed nick to GeekDude.
02:03:03 -!- GeekDude has quit (Read error: Connection reset by peer).
02:03:14 -!- GeekDude has joined.
02:06:57 -!- adu has joined.
02:10:14 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds).
02:11:10 -!- Phantom_Hoover has joined.
02:15:43 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
02:39:25 -!- GeekDude has joined.
02:39:28 -!- GeekDude has quit (Changing host).
02:39:28 -!- GeekDude has joined.
02:46:08 -!- _1_rafmont2 has joined.
02:55:37 -!- AndoDaan has quit (Ping timeout: 244 seconds).
02:57:50 -!- _1_rafmont2 has quit (Remote host closed the connection).
03:09:36 -!- Phantom_Hoover has quit (Remote host closed the connection).
03:28:20 <zzo38> I am working on making a game with OHRRPGCE, but it has problems so when I make the sequel probably I will use SQL instead (SQL is also sometimes called "sequel", but that has nothing to do with it).
03:29:04 -!- GeekDude has quit (Quit: AdiIRC is updating to v1.9.6 Beta Build (2014/12/30) 32 Bit).
03:29:29 -!- GeekDude has joined.
03:47:35 <zzo38> This book my sister gave me for Christmas present has its own symbols for musical intervals which I have not seen elsewhere; a circle means a perfect unison, a square means a perfect fourth, a triangle means a major third, four circles joined together means augmented fourth, etc.
03:54:38 -!- shikhin_ has quit (Ping timeout: 265 seconds).
04:10:09 -!- oren has quit (Quit: Lost terminal).
04:12:23 -!- boily has quit (Quit: BLAZING CHICKEN).
04:12:32 -!- CADD has joined.
04:12:32 -!- CADD has quit (Client Quit).
04:13:06 -!- CADD has joined.
04:17:42 -!- adu has quit (Quit: adu).
04:25:36 -!- adu has joined.
04:29:02 <zzo38> This book also uses glyphs for planets, which I have not seen elsewhere, too.
04:30:10 <newsham> it's hip to be a perfect fourth
05:01:12 -!- bb010g has quit (Quit: Connection closed for inactivity).
05:09:42 -!- Solace has joined.
05:10:03 <Solace> (y=(ln(x/m-sa))/r^2))
05:16:42 <Solace> guys its a w+ln(|N|))=ln(|ap^2H+e^ar|)+ln(|y|) :0
05:20:57 <elliott> o...okay
05:22:04 <zzo38> What is that for?
05:23:12 <Solace> happy new years
05:23:53 <zzo38> It is not quite yet the new year, it is soon
05:24:11 <zzo38> And then after that it will soon be Epiphany (the end of the Christmas season)
05:24:52 <Solace> for me it is
05:28:49 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
05:42:44 -!- augur_ has joined.
05:45:39 -!- augur has quit (Ping timeout: 245 seconds).
06:04:13 -!- mitchs has quit (Quit: mitchs).
06:20:23 -!- oerjan has joined.
06:27:57 -!- nys has quit (Quit: sleep).
06:37:28 -!- Patashu has quit (Ping timeout: 255 seconds).
06:38:50 -!- augur has joined.
06:39:30 -!- bb010g has joined.
06:41:58 -!- augur_ has quit (Ping timeout: 255 seconds).
06:57:37 -!- InvalidCo has quit (Ping timeout: 240 seconds).
06:57:44 -!- InvalidCo has joined.
06:57:44 <oerjan> `unidecode ‐
06:57:45 <HackEgo> ​[U+2010 HYPHEN]
06:57:52 <oerjan> fiendish
06:58:04 <oerjan> (i see a blank square)
06:59:42 <Jafet> > fix $ printf "HYPHEN%sMINUS"
06:59:43 <lambdabot> No instance for (GHC.Show.Show a0)
06:59:43 <lambdabot> arising from a use of ‘M50235812057197137065544.show_M50235812057197137065...
06:59:43 <lambdabot> The type variable ‘a0’ is ambiguous
06:59:54 <Jafet> > text $ fix $ printf "HYPHEN%sMINUS"
06:59:59 <lambdabot> mueval: ExitFailure 1
07:01:45 -!- InvalidCo has quit (Ping timeout: 244 seconds).
07:06:38 <oerjan> > var $ fix $ printf "HYPHEN%sMINUS"
07:06:39 <lambdabot> HYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPHENHYPH...
07:06:56 <oerjan> (text is strict in the whole string passed)
07:08:43 <oerjan> :t text
07:08:44 <lambdabot> String -> Doc
07:09:07 <oerjan> or at least its spine, it's part of a text formatting system so needs to know the width.
07:09:48 <oerjan> > take 50 . text $ ['A'..'z'] ++ repeat 50 undefined
07:09:49 <lambdabot> Couldn't match type ‘Text.PrettyPrint.HughesPJ.Doc’ with ‘[a]’
07:09:49 <lambdabot> Expected type: GHC.Base.String -> [a]
07:09:49 <lambdabot> Actual type: GHC.Base.String -> Text.PrettyPrint.HughesPJ.DocCouldn't matc...
07:09:57 <oerjan> oops
07:10:12 <oerjan> > take 50 . show . text $ ['A'..'z'] ++ repeat 50 undefined
07:10:13 <lambdabot> Couldn't match expected type ‘t0 -> [GHC.Types.Char]’
07:10:13 <lambdabot> with actual type ‘[a0]’
07:10:19 <oerjan> NOW WHAT
07:10:32 <oerjan> oh
07:10:38 <oerjan> > take 50 . show . text $ ['A'..'z'] ++ replicate 50 undefined
07:10:40 <lambdabot> "ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqr"
07:10:45 <oerjan> yep, only the spine
07:11:30 <oerjan> Jafet: ^
07:12:54 -!- InvalidCo has joined.
07:13:01 <Deewiant> Vorpal: dieharder isn't that slow but that Befunge RNG is :-P cfunge manages around 370 KiB/s on this box (vs. e.g. 'cat /dev/urandom' doing 17 MiB/s)
07:15:34 <Deewiant> Vorpal: Re. kt, rule of thumb: k doesn't special-case things. If your k works and your t works, whatever happens happens, the double-reverse sounds right. I hope Mycology tests k enough these days that it passes only the "obvious" non-special-casing implementation or something hopefully-obviously overcomplicated. (Rule of thumb to Funge-98 programmers: don't use k on instructions that might fail. Also don't
07:15:36 <Deewiant> use kt because nobody wants to deal with that.)
07:16:19 <Jafet> > text "ä"
07:16:20 <lambdabot>
07:16:27 <oerjan> don't cross the kt boundary
07:16:39 <elliott> Deewiant: what does t do again?
07:16:45 <Deewiant> elliott: Fork thread
07:17:42 <oerjan> oh, new golfing problem
07:18:06 <oerjan> (it's the cp boundary these days, i hear)
07:18:13 <oerjan> (you shouldn't cross that either)
07:18:31 <Deewiant> Boundaries are generally meant to not be crossed, otherwise they wouldn't be there
07:18:31 <oerjan> (ok so it's actually K-Pg)
07:19:46 <oerjan> Jafet: it's only simple text layout formatting, i think it has no idea about unicode... note that it didn't even look at the undefined characters above
07:19:50 <Jafet> Don't cross the pg boundary either
07:20:02 <Jafet> :t sizedText
07:20:03 <lambdabot> Int -> String -> Doc
07:21:23 <oerjan> it's mainly just for indentation and side-by-side stuff, last i checked it didn't even have a combinator for a rectangular table.
07:22:32 <oerjan> > text + ()
07:22:33 <lambdabot> Couldn't match expected type ‘GHC.Base.String
07:22:33 <lambdabot> -> Text.PrettyPrint.HughesPJ.Doc’
07:22:33 <lambdabot> with actual type ‘()’
07:22:57 * oerjan did that to make it display the module name
07:23:14 * oerjan discovers you cannot do /me inside parentheses
07:24:01 <Deewiant> Time to rally for CTCP PARENTHETICAL_ACTION
07:24:52 <elliott> you can just do
07:24:57 <elliott> (<CTCP>ACTION this<CTCP>)
07:26:10 <Jafet> What is (*elliott this)
07:26:27 <elliott> did that actually work
07:26:48 <elliott> <CTCP>ACTION hopes your client actually supports this<CTCP> -- it's such a beautiful mess!
07:28:22 <Jafet> As opposed to ugly messes, like mirc colours
07:33:15 <zzo38> My client displays all of those things; it won't display mIRC colors though
07:35:54 <Solace> ( 67 , 88 ) 7.00 ( 86 , 6 ) I think my server is gonna die
07:36:06 <Solace> farewell maybe
07:37:44 -!- coppro has quit (Ping timeout: 245 seconds).
07:42:07 -!- MoALTz has quit (Quit: Leaving).
07:45:47 -!- shikhin has joined.
07:52:36 -!- SopaXorzTaker has joined.
07:52:36 -!- SopaXorzTaker has quit (Changing host).
07:52:36 -!- SopaXorzTaker has joined.
07:57:50 <oerjan> elliott: i think zzo38's client is the only one which does.
07:58:05 <elliott> yeah I guess Jafet was joking :p
07:58:50 <oerjan> yay i got a golfing solution in first
07:59:01 <oerjan> now to wait to see it thrashed
08:01:42 <Jafet> African dictator of the hill
08:12:36 <int-e> oerjan: 102. 79.
08:12:56 <oerjan> NOOOO i was just going to submit a 102
08:13:35 <oerjan> argh compile error
08:14:06 <oerjan> wait wat
08:15:21 <oerjan> bah fixing that made it 103 instead
08:15:36 <oerjan> (really stupid, mistyped <- as -)
08:16:26 <oerjan> int-e: AAAAAAAA not cheating, i presume?
08:16:41 <oerjan> oh well i did predict thrashing
08:17:00 <Taneb> Aaaaaah
08:17:08 <Taneb> My sinuses are in poor condition right now
08:17:13 <oerjan> ah.
08:17:35 <int-e> oerjan: not cheating. would I ever?!
08:17:44 <oerjan> Taneb: we're golfing here, please don't go on tangents.
08:17:50 <oerjan> int-e: yes hth
08:18:11 <oerjan> although 73 is too short to be cheating on this, i think
08:19:50 <oerjan> i guess this means a completely different algorithm is called for.
08:20:06 <oerjan> i didn't even have any guard splits this time!
08:23:12 <oerjan> hm despite length you somehow have more symbols than me
08:23:56 <oerjan> i suppose because i used several alphanum builtin functions
08:25:29 <oerjan> maximum and zipWith are pretty long
08:30:33 <int-e> well, you did ask to be trashed, I was happy to oblige ;)
08:30:39 <oerjan> OKAY
08:37:56 <int-e> giddy, too
08:38:13 <int-e> but now afraid of henkma
08:40:22 <Solace> is there any site where I can make a .edu student email
08:40:28 <Solace> or are they just assigned
08:42:32 <elliott> you have to be a student first...
08:44:16 <Solace> This is what I've been.trying to tell this guy
08:44:24 <Solace> GOD DAMMIT
08:44:27 * Solace sobs
08:44:50 <int-e> "this guy"
08:45:07 <Solace> some guy who wants a java ide session
08:45:23 <Solace> I've been telling him...
08:45:29 <Solace> I think he's trolling me
08:47:02 <oerjan> there was a time when you could have reached me via oerjan@nuts.edu
08:47:30 <Solace> when was that!
08:48:13 <oerjan> our university's (which is not in the us) computer club (of which i'm still a member and through i'm currently irc'ing) managed to get it assigned to them
08:48:25 <Jafet> Fiendish
08:48:26 <oerjan> back in the '90s
08:48:44 <Solace> omfg
08:48:55 <Solace> I was a infant
08:48:59 <Solace> an*
08:49:26 <oerjan> this happened after someone noted that the obvious english translation of our newly reorganized university's new name was Norwegian University of Technology and Science
08:50:09 <Jafet> Hmm, they do have ntnu.edu.
08:50:12 <oerjan> they then wisely chose to make the official translation Science and Technology instead.
08:50:25 <Solace> So
08:50:33 <oerjan> Jafet: don't you mean ntnu.no
08:50:46 <Solace> you've been through a lot of code before I'm guessing oerjan
08:51:03 <Jafet> http://ntnu.edu
08:51:19 <oerjan> but not before our computer club (actually one of two, the two merged parts of the university had different ones which still survive) grabbed it
08:51:30 <oerjan> Jafet: whois claims it doesn't exist...
08:51:51 <Jafet> More fiendish
08:51:52 <Solace> it exists
08:52:11 <Jafet> What's the registration authority for .edu?
08:52:23 <oerjan> Jafet: that would probably be something the whole university got, though
08:52:34 <oerjan> the main domain is ntnu.no
08:52:55 <oerjan> getaddrinfo(whois.educause.edu): No address associated with hostname
08:53:22 <oerjan> Jafet: i think back then at least, it wasn't officially us-restricted
08:53:45 <Solace> I'm moving to Sweden
08:53:58 <Solace> its like a very non violent place
08:54:31 <Solace> its almost as if its the...
08:54:33 <oerjan> Jafet: oh wait it was just an intermittent whois failure, found it now
08:54:35 <Solace> Twilight zone
08:54:49 <oerjan> norway is also rather nonviolent
08:54:51 <Jafet> Heh, the .edu registrar has a list of suspended domains at https://net.educause.edu/edudomain/delinquent.asp
08:55:26 <Solace> Is the norwegian language easy to learn?
08:55:50 <Solace> coming from English speaking countries
08:56:05 <oerjan> Solace: well it's related to english, and has easier spelling...
08:56:13 <oerjan> although we do have genders
08:56:43 <Solace> what do genders have to with language ?
08:57:07 <oerjan> Solace: um you don't know any languages with grammatical gender?
08:57:08 <Solace> Also do you have to roll r's in Norwegian?
08:57:32 <Solace> I cannot do that even if I was about to get murdered
08:57:52 <Solace> mind you the mind is very powerful?
08:58:02 <oerjan> Solace: if you learn to speak "normalized eastern norwegian", then you have to roll rs. but in western dialects you can use an uvular r instead
08:58:20 <Solace> I cannot
08:58:40 <oerjan> dialects are btw as i've mentioned before a major challenge when using norwegian in practice
08:59:11 <oerjan> because for strange historical reasons, we're one of the few nations in the world that _don't_ normalize our speech
08:59:22 <Solace> everytime I try and roll an r
08:59:28 <Solace> it comes out as whoosh
08:59:38 <oerjan> Solace: just be glad you're not learning czech hth
08:59:53 <Solace> ill just learn Japanese
08:59:53 <oerjan> (r hacek, one of the hardest sounds in the world)
09:00:09 <Solace> and well
09:00:16 <Solace> I can use a throat r
09:00:37 <Solace> fuck I'm such a failure at noises
09:00:55 * Solace is trying to roll an r atm
09:02:18 <oerjan> i assume by throat r you mean what i called uvular above
09:02:25 <Solace> I think everytime I try I kinda stop breathing out of my mouth and then out my nose
09:02:46 <Solace> or just stop breathing
09:03:43 <Solace> nope I can't roll an r
09:03:50 * Solace fails life
09:04:03 <oerjan> OKAY
09:04:53 <Solace> wait does it really make a difference if I use and English r?
09:05:06 <oerjan> just learn the bergen dialect. no r rolling and one less gender than everyone else
09:05:15 <oerjan> Solace: you'll probably be understood
09:05:42 <oerjan> (also the dialect of our prime minister)
09:05:42 <Solace> ok
09:06:02 <Solace> I over react a lot
09:06:58 <Solace> I made a recall thing for my bot that lets me bring back certain things and sentences people have said if I state a month and channel
09:07:13 <Solace> without breaking my irc
09:07:59 <oerjan> on the flip side, sweden is a lot easier to get into than norway. although this is slowly dooming their government to collapse as the anti-immigration party gets steadily stronger, so probably won't last many more years.
09:08:37 <Solace> Why is Norway hard to get into?
09:09:00 <oerjan> it's not that norway is so hard, it's that sweden is unusually easy.
09:09:13 <Solace> do you want to keep that whole no war forever and ever title forever?
09:09:21 <oerjan> for a european country
09:09:26 <oerjan> Solace: wat
09:10:16 <int-e> not engaging in wars does sound like an excellent plan
09:10:26 <oerjan> the idea that norway is peaceful is looking more and more like a myth and hypocritical
09:11:20 <int-e> @metar LOWI
09:11:21 <lambdabot> LOWI 310850Z VRB01KT 3000 -SN BR FEW005 SCT010 BKN035 M02/M02 Q1032 R08/49//95 NOSIG
09:11:49 <oerjan> it broke down with the kosovo war in the 90s, and since then we've been involved militarily in iraq, afghanistan and libya.
09:12:22 <oerjan> also we have a very big weapon industry for our size
09:12:59 <oerjan> the politicians still get flack for trying to avoid the word "war", though
09:13:03 <int-e> oh good, it's supposed to stay below 0C
09:13:14 <oerjan> @metar ENVA
09:13:15 <lambdabot> ENVA 310850Z 30009KT 9999 VCSH FEW025 SCT041 BKN098 07/04 Q1014 NOSIG RMK WIND 670FT 28014KT
09:13:36 <oerjan> i think most of the snow and ice has washed away by now
09:14:01 <int-e> here it's snowed quite a bit tonight
09:15:34 <oerjan> *flak, it seems
09:16:12 <oerjan> monday was very slippery
09:16:35 <oerjan> then they put on gravel
09:17:23 <oerjan> (on the sidewalks)
09:17:31 <Solace> Is it bad if I just imagined you slipping around
09:17:50 <oerjan> no, although i managed to avoid falling
09:18:07 <Solace> I think ny heater vent is broken
09:18:14 <Solace> I'm dying of the cold
09:18:23 <oerjan> r.i.p.
09:19:12 <oerjan> last end of summer it the heating was broken here. thankfully it got fixed before it got really cold.
09:19:16 <oerjan> *-it
09:22:56 <fizzie> @metar EFHK
09:22:56 <lambdabot> EFHK 310850Z 28009KT 9999 BKN007 04/02 Q1008 NOSIG
09:23:02 <fizzie> It was M20 last time I did that.
09:23:07 <fizzie> Now it's plus four.
09:26:24 -!- coppro has joined.
10:15:43 -!- adu has quit (Quit: adu).
10:29:06 -!- MoALTz has joined.
10:31:32 <oerjan> that's a bit better
11:49:00 -!- irctc613 has joined.
11:51:48 -!- irctc613 has quit (Client Quit).
11:53:24 -!- perrier___ has quit (Read error: Connection reset by peer).
12:06:41 <Vorpal> oerjan, what is?
12:06:42 -!- SopaXorzTaker has quit (Remote host closed the connection).
12:07:52 <int-e> 90 < 103
12:08:03 <oerjan> Vorpal: http://golf.shinh.org/p.rb?Kimariji
12:08:03 <int-e> http://golf.shinh.org/p.rb?Kimariji
12:08:17 <Vorpal> Ah
12:08:24 <oerjan> still 17 characters to beat
12:10:01 <oerjan> still need yet another algorithm
12:13:05 <myname> that is a neat problem
12:21:38 <oerjan> oops, filtering an infinite list to find the length of the result doesn't work
12:31:31 -!- shikhin_ has joined.
12:32:26 -!- Phantom_Hoover has joined.
12:34:38 -!- shikhin has quit (Ping timeout: 250 seconds).
12:50:10 -!- Solace has quit (Quit: Connection closed for inactivity).
12:50:30 <olsner> @metar
12:51:41 -!- MoALTz has quit (Ping timeout: 272 seconds).
12:52:07 <olsner> int-e: it might be nice if @metar remembered what you metared last
12:52:43 <olsner> ooh, and @metar <nick> could give you what they metared last (assuming it's their local airport)
12:53:02 <Taneb> @metar EGNT
12:53:02 <lambdabot> EGNT 311220Z VRB01KT 9999 FEW025 08/04 Q1023
12:54:19 <olsner> @metar ESSL
12:54:19 <lambdabot> ESSL 311220Z AUTO VRB02KT 9999NDV FEW110/// 05/03 Q1018 R29/19//95
12:56:04 <int-e> olsner: I'm not convinced; for your own use, you could just make an alias in your client.
12:58:25 <olsner> I can just never remember what my ICAO code is
13:06:01 -!- CADD has quit (Remote host closed the connection).
13:11:51 -!- MoALTz has joined.
13:16:59 <Jafet> linux manual for readdir_r:
13:16:59 <Jafet> name_max = pathconf(dirpath, _PC_NAME_MAX);
13:16:59 <Jafet> if (name_max == -1) /* Limit not defined, or error */
13:16:59 <Jafet> name_max = 255; /* Take a guess */
13:16:59 <Jafet> len = offsetof(struct dirent, d_name) + name_max + 1;
13:17:00 <Jafet> entryp = malloc(len);
13:18:24 <myname> i want to put -2 in there
13:20:19 <int-e> waaaait a second...
13:21:23 <int-e> This is all wrong. "_PC_NAME_MAX: returns the maximum length of a filename in the directory path or fd that the process is allowed to *create*" with an explicit note stating " Files with name lengths longer than the value returned for name equal to _PC_NAME_MAX may *exist* in the given directory." (emphasis mine)
13:22:15 <myname> what the hell
13:22:28 <myname> how do they get there?
13:24:44 <Jafet> In the same vein, ntfs-3g can create filenames that Windows refuses to open or remove.
13:24:48 <int-e> http://pubs.opengroup.org/onlinepubs/009695399/functions/readdir_r.html states "Either the {NAME_MAX} compile-time constant or the corresponding pathconf() option can be used to determine the maximum sizes of returned pathnames."
13:25:32 <Jafet> linux manual for pathconf: "Some returned values may be huge; they are not suitable for allocating memory."
13:29:37 <elliott> hurd defines the path maxmimum things to like some ridiculously huge value I think
13:29:43 <elliott> *maximum
13:29:54 <elliott> like max 32-bit value or something
13:29:56 <Jafet> Good thing no one uses it, then
13:31:10 <int-e> http://elliotth.blogspot.co.at/2012/10/how-not-to-use-readdirr3.html suggests to just use readdir()
13:31:22 <elliott> int-e: that guy's name really fucks with me
13:31:36 <elliott> I see it every now and then and I'm like b-buh???
13:31:49 -!- shikhin_ has changed nick to shikhin.
13:32:45 <Jafet> E. Hurd
13:34:24 <Jafet> int-e: nice, there's a race too
13:34:26 <int-e> and http://womble.decadent.org.uk/readdir_r-advisory.html points out that the suggested usage, even if the returned limit is safe, has race conditions
13:35:02 <int-e> So it's really just a horrible API.
13:35:15 <oerjan> racist usage
13:36:06 <Jafet> The academic community prefers "racy" hth
13:36:14 <int-e> and unfortunately, "The readdir() function need not be reentrant. A function that is not required to be reentrant is not required to be thread-safe."
13:36:40 <oerjan> who needs to readd irs, anyway
13:37:22 <int-e> oerjan: updatedb
13:37:57 <oerjan> good, that b was far too out of date
13:38:58 <int-e> the name is really original, but it updates the database of for "locate" (which personally, I use a lot)
13:39:28 <Jafet> There are irs up tedb?
14:25:18 -!- FreeFull has quit (Ping timeout: 264 seconds).
14:36:58 <J_Arcane> O_o Haskell on the JVM: https://github.com/Frege/frege
14:39:38 <myname> yeah, still no aur package
14:42:38 <Jafet> `cc char buf[9]; printf("%d", sscanf("", "[]", buf));
14:42:43 <HackEgo> ​/tmp/a.c:1:21: error: expected declaration specifiers or ‘...’ before string constant \ /tmp/a.c:1:27: error: unknown type name ‘sscanf’
14:43:11 <Jafet> `cc int main(void) { char buf[9]; printf("%d", sscanf("", "[]", buf)); return 0; }
14:43:15 <HackEgo> ​/tmp/a.c: In function ‘main’: \ /tmp/a.c:1:31: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] \ /tmp/a.c:1:44: warning: incompatible implicit declaration of built-in function ‘sscanf’ [enabled by default] \ -1
14:44:06 <Jafet> `cc #include <stdio.h> \ int main(void) { char buf[9]; printf("%d", sscanf("", "[]", buf)); return 0; }
14:44:06 <HackEgo> ​/tmp/a.c:1:20: warning: extra tokens at end of #include directive [enabled by default] \ /usr/lib/gcc/x86_64-linux-gnu/4.7/../../../x86_64-linux-gnu/crt1.o: In function `_start': \ (.text+0x20): undefined reference to `main' \ collect2: error: ld returned 1 exit status
14:44:34 <oerjan> Jafet: use \n not \
14:44:59 <Jafet> Hmm
14:45:15 <oerjan> it's a substitution done by the command itself, not related to HackEgo's normal output
14:45:29 <Jafet> `` function f { echo "$@" }; f "a\nb"
14:45:29 <HackEgo> bash: -c: line 1: syntax error: unexpected end of file
14:46:25 <Jafet> `` function f() { echo "$@"; }; f "a\nb"
14:46:25 <HackEgo> a\nb
14:46:35 <oerjan> Jafet: the `cc command, that is.
14:46:43 <Jafet> `cat bin/cc
14:46:43 <HackEgo> ​#!/bin/sh \ echo "$@" > /tmp/a.c && gcc /tmp/a.c -o /tmp/a.out && /tmp/a.out
14:47:55 <oerjan> hm
14:48:10 <Jafet> `` bash -c 'echo "$@"' 'a\nb'
14:48:10 <HackEgo> No output.
14:48:40 -!- FreeFull has joined.
14:48:48 <Jafet> `` f() { echo "$@"; }; f 'a\nb'
14:48:48 <HackEgo> a\nb
14:49:11 <Jafet> `` sh -c 'f() { echo "$@"; }; f '\''a\nb'\'''
14:49:11 <HackEgo> a \ b
14:49:18 <Jafet> Fantastic
14:49:59 -!- nys has joined.
15:12:41 -!- boily has joined.
15:13:14 <boily> @metar CYQB
15:13:14 <lambdabot> CYQB 311500Z 26011KT 15SM FEW013 FEW030 M17/M21 A3018 RMK SF1SC1 SLP229
15:14:27 <oerjan> boily: you need to change your name to freezy hth
15:20:19 <oerjan> @metar ENVA
15:20:20 <lambdabot> ENVA 311450Z 10006KT 9999 FEW001 BKN085 03/03 Q1011 NOSIG RMK WIND 670FT 21010KT
15:20:29 -!- supay has changed nick to supay_afk.
15:20:55 <oerjan> and here all the snow is washing away
15:21:19 <boily> hellørjan.
15:21:37 <boily> we had our snowmelt happen just before christmas, then everything went down. mainly temperatures.
15:21:45 <oerjan> ciely.
15:25:02 <fizzie> We got all the snow just a day or three before Christmas, and now it's going. It's like someone ordered a white Christmas, but nothing more than that.
15:25:09 <boily> one benefit of a solid M17 outside is that cold tap water is very cold. nothing like a refreshing scottish shower ^^
15:25:37 <oerjan> AAAAAAAAAAAAAA
15:25:38 <fizzie> http://outside.aalto.fi/img/temp.month.png like that
15:25:45 <boily> oerjan: AAAAAAAAA?
15:26:20 <boily> fizzie: neat.
15:26:27 * oerjan does not want scottish showers
15:27:52 <boily> I usually can't get them at home because of... hmm... peculiarities with the unusual tap, but when I'm at my parents, aaaaaah :)
15:28:39 <boily> (ah! apparently the Finns have “avantouinti”.)
15:29:49 <oerjan> AAAAAAAAAAAAAAA
15:30:52 <oerjan> i've read that trondheim has a sea bathing society which also is open during winter
15:33:10 <oerjan> found a brief youtube video (not winter afaict) https://www.youtube.com/watch?v=V-i_ZLL-_80
15:33:40 <oerjan> oh this is winter https://www.youtube.com/watch?v=20dtoVoHppY
15:35:21 -!- SopaXorzTaker has joined.
15:35:21 -!- SopaXorzTaker has quit (Changing host).
15:35:21 -!- SopaXorzTaker has joined.
15:37:03 -!- AnotherTest has joined.
15:40:02 <boily> Ils sont fous ces Norvégiens...
15:40:41 <oerjan> :D
15:41:06 <oerjan> i heard a mention of 1.5 celsius water temperature
15:41:25 <boily> I heard people talking. mine eyes glazeth over very much...
15:41:35 * boily should study germanic languages more...
15:42:03 <shachaf> goodfternoonoily
15:43:47 <boily> shachar tahara'im tovim.
15:43:56 <boily> s/\bt/tz/
15:44:51 <shachaf> shachar?
15:45:01 * shachaf tries to figure out whether that's a pun or a mistake
15:46:17 <boily> I portmanteaued to the best of my ability >_>'...
15:46:42 <shachaf> shachar means dawn hth
15:47:08 -!- scoofy has joined.
15:47:48 <shachaf> also portmanteaus are v. popular in hebrew
15:48:00 <shachaf> but i'm not sure what you were going for there
15:48:32 <boily> well, http://omniglot.com/language/phrases/hebrew.php lists the aforementioned phrase as “good afternoon”, and I tried to esthetically merge shachaf into it.
15:49:51 <shachaf> oh, i see
15:50:08 <shachaf> It's not actually afternoon.
15:50:25 <boily> darn.
15:50:30 -!- nortti has changed nick to lawspeaker.
15:50:37 -!- lawspeaker has changed nick to nortti.
15:51:21 <oerjan> the Dawn of the Seagull
15:51:44 <oerjan> this year's big eco-horror movie
15:52:22 -!- dts|pokeball has quit (Ping timeout: 245 seconds).
15:58:40 -!- nortti has changed nick to lawspeaker.
16:00:05 -!- shikhin has changed nick to shikhit.
16:01:05 -!- lawspeaker has changed nick to nortti.
16:04:52 -!- bb010g has quit (Ping timeout: 272 seconds).
16:08:01 -!- arjanb has joined.
16:13:27 -!- bb010g has joined.
16:21:07 <fizzie> Pow, ka-pow.
16:21:20 <oerjan> wat, ka-wat
16:21:25 <fizzie> oerjan: Fireworks.
16:21:28 <oerjan> ah.
16:21:44 <oerjan> not much of that here yet
16:22:01 <fizzie> Well, our laws allow them from 18:00, and it's 18:21 here now.
16:22:08 <fizzie> oerjan: Also, ice swimming is a real big tradition in Finland.
16:22:15 <oerjan> i know
16:22:24 * Melvar has decided he needs to read this disassembly …
16:22:30 <Melvar> Where do I learn how?
16:22:32 -!- AnotherTest has quit (Remote host closed the connection).
16:23:03 <Melvar> (x86_64)
16:23:56 <shachaf> Learn how to read x86_64 generated code?
16:24:49 <J_Arcane> fizzie: yup, the explosions have begun here as well.
16:25:14 <Melvar> I mean, my proximal problem is, what do the parens mean exactly.
16:25:31 <Melvar> Wow that sentence was broken.
16:25:43 <shachaf> In AT&T syntax?
16:25:53 <Melvar> How do I tell that?
16:26:04 <shachaf> If you're using GNU tools it's probably AT&T syntax.
16:26:07 <Melvar> It has % on the registers.
16:26:14 <shachaf> http://en.wikibooks.org/wiki/X86_Assembly/GAS_Syntax
16:26:36 <Melvar> Thank you.
16:26:39 <shachaf> Parentheses mean dereference, e.g. (%rax) means something like "*rax" in C.
16:26:43 <J_Arcane> assembly makes my brain hurt
16:26:54 <shachaf> But there are a bunch of extra syntax bits.
16:27:19 <shachaf> I guess that page explains it.
16:27:54 -!- ais523 has joined.
16:28:27 -!- SopaXT has joined.
16:28:27 -!- SopaXT has quit (Changing host).
16:28:27 -!- SopaXT has joined.
16:28:30 <oerjan> it appears that the official children fireworks will be at 7 pm
16:29:14 -!- SopaXorzTaker has quit (Read error: Connection reset by peer).
16:29:23 <ais523> "children fireworks"?
16:29:29 <fizzie> disp(%base,%index,scale) is (in pseudo-C) *(%base + scale*%index + disp), where scale is one of 1, 2, 4, 8, %base and %index are registers, and disp is an immediate displacement.
16:29:33 <fizzie> (To summarize.)
16:29:52 <oerjan> ais523: ok "family"
16:30:13 <shachaf> Yes, I was going to type what fizzie typed but then I saw that the page I linked to said the same thing.
16:30:14 <oerjan> trondheim has an official firework
16:30:39 <shachaf> If you write simple C code you can read the x86 that your favorite compiler turns it into.
16:31:42 <tromp_> if it's really simple you can jit-compile it with https://github.com/EarlGray/c4
16:31:51 <oerjan> (there's also a bigger one at midnight, of course)
16:34:05 <Melvar> Hrmf, garbage pointer? Though this test looks weird …
16:34:13 <oerjan> they started having that after they outlawed private fireworks in the city center
16:35:16 -!- MoALTz has quit (Quit: Leaving).
16:38:49 <Melvar> Nope, the test is fine, must be a garbage pointer …
16:38:56 <fizzie> oerjan: Is it like the kind of thing where you strap a baby to a rocket and fire it up?
16:48:19 -!- shikhit has changed nick to shikhin.
16:52:01 <oerjan> fizzie: i dunno i have never seen it close up hth
16:52:02 -!- SopaXT has quit (Remote host closed the connection).
16:52:04 -!- mihow has joined.
16:52:34 -!- callforjudgement has joined.
16:52:48 -!- SopaXorzTaker has joined.
16:52:48 -!- SopaXorzTaker has quit (Changing host).
16:52:48 -!- SopaXorzTaker has joined.
16:53:51 <shachaf> oerjan: if fireworks are outlawed only outlaws will have fireworks hth
16:55:40 <oerjan> shachaf: i take it you are referring to the recent wave of arson in trondheim tdnh
16:56:17 -!- ais523 has quit (Ping timeout: 256 seconds).
16:56:52 -!- callforjudgement has changed nick to ais523.
16:56:57 <shachaf> i wasn't aware of that wave sfnh
16:58:04 <oerjan> one of the most stylish old pubs in the city got burned down :(
16:58:55 <oerjan> ("old", it was from the 50s or 60s or thereabouts)
17:01:31 -!- CADD has joined.
17:03:52 -!- InvalidCo has quit (Ping timeout: 255 seconds).
17:05:22 -!- adu has joined.
17:12:28 <fizzie> Your fires were mentioned in the Finnish news.
17:12:43 <fizzie> We're a bit closer, admittedly.
17:13:02 <shachaf> Finnish news? Isn't that a song by Noël Coward?
17:13:46 <oerjan> pizza est
17:15:16 <shachaf> I've been informed that Norwegian pizza is the best.
17:15:37 <oerjan> indeed!
17:15:47 -!- supay_afk has changed nick to supay.
17:16:11 <oerjan> at least they caught the pub arsonist, he was lurking around before and the neighbors spotted him
17:16:54 <oerjan> but it's not clear whether they got the one in the suburbs
17:19:26 * boily fears a lutefisk pizza
17:19:51 <oerjan> i haven't heard of that, i think
17:20:08 <oerjan> my dad in youngers tried to serve me both fish pizza and brunost pizza, though
17:20:15 <oerjan> *in younger years
17:20:22 <boily> youngers.
17:20:23 <oerjan> wtf happened to those letters
17:20:36 <fizzie> I thought it was a place.
17:21:18 -!- InvalidCo has joined.
17:21:38 <fizzie> I.e., you have one dad in Youngers, and another in Olders.
17:22:16 <oerjan> sounds like it would be in flandern somewhere
17:23:04 <oerjan> *flanders
17:23:10 <oerjan> ...
17:23:40 <oerjan> (it's actually flandern in norwegian)
17:24:37 <olsner> flandern sounds like it would be spelled with a v originally
17:24:40 <boily> wikipédia redirects flandern to flanders.
17:25:04 <oerjan> olsner: indeed
17:25:11 <olsner> boily: have you tried lutefisk?
17:26:19 <boily> not yet!
17:26:40 <oerjan> hm they have this reality show in norway where norwegian-americans compete to get to meet their family roots. i'm pretty sure lutefisk tasting would be one of the tests.
17:27:01 <oerjan> (i haven't watched it though, and don't have a tv)
17:27:05 <olsner> boily: I think lutfisk is going out of style, you might have to hurry before they stop making it
17:27:20 <olsner> (in sweden, that is, maybe it's still going strong in norway)
17:28:34 <oerjan> hm the english wikipedia has a page but it's very brief except for lists https://en.wikipedia.org/wiki/Alt_for_Norge
17:28:47 <fizzie> olsner: How about surströmming?
17:29:39 <oerjan> surströmming only exists due to continued military subsidies hth
17:30:13 <boily> weaponized surströmming. *shudders*
17:30:38 <olsner> it seems more popular than lutfisk, since it appears in shops every year (and is prominently displayed)... which is odd, lutfisk is perfectly edible though completely tasteless, almost the complete opposite of surströmming
17:34:49 <oerjan> of course it's in the shops here http://www.matvareguiden.no/bilder_store/5829.jpg
17:37:36 <oerjan> (that's the christmas packaging of norway's main microwave dinner brand hth)
17:38:02 -!- dts|pokeball has joined.
17:39:04 -!- Solace has joined.
17:40:35 -!- dts|pokeball has quit (Read error: Connection reset by peer).
17:41:37 -!- dts|pokeball has joined.
17:48:01 -!- MoALTz has joined.
17:50:55 <Vorpal> oerjan, well there is bacon in that, so that helps
17:51:54 <oerjan> bacon always helps
17:52:14 <oerjan> and is standard lutefisk condiment afaiac
17:57:54 <olsner> I only ate lutfisk once, I thought the standard condiment was white sauce and pepper
17:58:31 <oerjan> no wonder lutefisk is dying out in sweden hth
17:58:44 <olsner> indeed
18:08:16 -!- GeekDude has joined.
18:16:52 <Solace> what is lutfisk
18:20:08 <olsner> lye-treated fish
18:20:32 <Solace> ah
18:20:46 <olsner> (lut = lye, fisk = fish)
18:21:03 <scoofy> is it good?
18:25:40 <oerjan> delicious hth
18:25:54 * oerjan carefully hides his evil cackling
18:31:42 -!- shikhin_ has joined.
18:35:45 -!- shikhin has quit (Ping timeout: 265 seconds).
18:36:00 -!- shikhin_ has changed nick to shikhin.
18:36:24 -!- callforjudgement has joined.
18:38:01 -!- callforjudgement has quit (Read error: Connection reset by peer).
18:38:06 -!- scarf has joined.
18:38:13 -!- ais523 has quit (Disconnected by services).
18:38:16 -!- scarf has changed nick to ais523.
18:42:32 -!- GeekDude has quit (Ping timeout: 250 seconds).
18:44:31 -!- callforjudgement has joined.
18:45:00 -!- ais523 has quit (Read error: Connection reset by peer).
18:48:36 -!- callforjudgement has changed nick to ais523.
18:50:15 <Solace> ono
18:50:38 -!- AndoDaan has joined.
18:53:14 -!- GeekDude has joined.
18:57:51 -!- dts|pokeball has quit (Ping timeout: 244 seconds).
19:00:22 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
19:01:08 -!- GeekDude has joined.
19:15:25 -!- mihow has quit (Quit: mihow).
19:26:30 -!- mihow has joined.
19:36:29 -!- MoALTz has quit (Quit: Leaving).
19:41:27 -!- MoALTz has joined.
19:43:23 -!- oerjan has quit (Quit: leaving).
20:04:16 -!- GeekDude has quit (Read error: Connection reset by peer).
20:09:04 <AndoDaan> Idea for an esoteric programming language: "2014". Has no executable commands but if and implementation is run, and it's 2014, it output "Hello, World!"
20:09:31 <ais523> AndoDaan: so if it isn't written quickly, the language is useless?
20:09:52 <AndoDaan> Completely.
20:10:41 <AndoDaan> Maybe until 12 014. I don't know how computers will use dates then, so it might mess up.
20:11:12 <Taneb> y12k problem
20:11:34 <AndoDaan> Not my problem.
20:13:30 <AndoDaan> Maybe not completely useless. Imagine: http://i.imgur.com/BO7rmKK.jpg Start up the old "2014" and say "hth"
20:14:07 <int-e> `` sha256sum <<<'int main(){}'
20:14:08 <HackEgo> 7364d3748f78f2937d0c5381c90d3b12c46b11966dae15673d34cfac955cec5f -
20:15:03 <int-e> Let C-7364d3748f78f2937d0c5381c90d3b12c46b11966dae15673d34cfac955cec5f be C with the syntactic restriction that every source file miust have an SHA256 hash equal to 7364d3748f78f2937d0c5381c90d3b12c46b11966dae15673d34cfac955cec5f...
20:19:40 <int-e> (The language is "cryptographically secure"; it is (almost certainly) TC, but writing exploitable code in it is close to impossible.)
20:20:33 <fizzie> Insert a backreference to the tedious C-and-TC discussions here.
20:21:02 <int-e> security claim: [4~.well, modulo compiler bugs..
20:21:09 <fizzie> (Maybe a footnote or something, when they publish the #esoteric book.)
20:22:33 <int-e> I guess I'm too practically minded to not consider C a TC language. In fact I expect that logically speaking, C does not exist; a standard that big is sure to contradict itself in several places.
20:30:02 <Taneb> `2014 AndoDaan
20:30:02 <HackEgo> Hello, world!
20:30:28 <AndoDaan> Awesome. Thanks!
20:30:44 <boily> `2014?
20:30:44 <HackEgo> ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: 2014?: not found
20:30:48 <Taneb> I am not very good at HackEgo, it took me a few tries to get that in properly
20:30:56 <Taneb> `cat bin/2014
20:30:56 <HackEgo> ​#!/bin/sh \ if [ $(date +%Y) = "2014" ] \ then echo "Hello, world!" \ fi
20:31:38 <int-e> (If not, all I need to make C TC is to specify that we run the same C code with the same input on an infinite series of machines with increasing pointer sizes, until it terminates. A bit unfortunately, this seems to imply that size_t's range grows without bound...)
20:32:31 <AndoDaan> Taneb: I appreciate it. That was funny, and unexpected.
20:32:42 <Taneb> :)
20:33:31 <Taneb> "logically speaking, C does not exist" out of context #esoteric
20:44:07 -!- CADD has quit (Remote host closed the connection).
21:00:23 -!- ais523 has quit (Read error: Connection reset by peer).
21:00:26 -!- callforjudgement has joined.
21:01:59 -!- scarf has joined.
21:02:13 -!- scarf has changed nick to ais523.
21:06:02 -!- SopaXorzTaker has quit (Remote host closed the connection).
21:06:43 -!- callforjudgement has quit (Ping timeout: 264 seconds).
21:21:49 <boily> @metar CYQB
21:21:50 <lambdabot> CYQB 312100Z 26007KT 25SM FEW030 FEW240 M13/M20 A3007 RMK CF1CI1 SLP190
21:25:29 <boily> @metar ENVA
21:25:29 <lambdabot> ENVA 312050Z 09007KT 9999 BKN044 03/02 Q1010 RMK WIND 670FT 17011KT
21:25:38 <boily> @metar ESSB
21:25:38 <lambdabot> ESSB 312120Z AUTO 25008KT 9999 BKN004/// 03/02 Q1015
21:25:46 <boily> @metar EFHK
21:25:47 <lambdabot> EFHK 312120Z 26007KT CAVOK 04/02 Q1010 NOSIG
21:25:57 <boily> ah! very warm in Helsinki!
21:26:11 <Vorpal> Somehow I own 518 games on Steam. How did that happen.
21:26:45 <Vorpal> I looked this up when I saw on the front page "already in your library" for a game I have no idea how I bought. (BioShock Infinite)
21:26:56 <Vorpal> Must have been a humble bundle or something
21:35:52 -!- callforjudgement has joined.
21:37:54 <Vorpal> Yep, the 2K bundle
21:40:10 -!- Solace has quit (Quit: Connection closed for inactivity).
21:40:19 -!- ais523 has quit (Ping timeout: 264 seconds).
21:40:59 -!- callforjudgement has changed nick to ais523.
21:41:48 <int-e> Vorpal: Thanks, that makes me feel a bit better about the 150ish games that I have on Stream (too many humble bundles)
21:42:37 <int-e> Otoh, I bought the 2K one for Bioshock Infinite, so I was unlikely to forget that.
21:42:57 <int-e> (but I still haven't played it)
21:43:53 <Vorpal> int-e, I have 101 humble bundles apparently
21:44:07 <Vorpal> int-e, I bought it for X-COM: Enemy Unknown
21:44:08 <int-e> wait, what...
21:44:21 <Vorpal> I don't care about Infinite, maybe 1 and 2 though
21:44:30 <Vorpal> Much more interesting from the videos I have seen
21:44:30 <int-e> oh right, the weekly ones have been going on for a while, it's plausible.
21:44:38 <Vorpal> yes
21:44:45 <Vorpal> int-e, also book ones, I got a couple of them
21:45:30 <Vorpal> int-e, btw if you need some extra keys of some games I believe I can gift those. I have two *spare* Fez keys
21:45:34 <Vorpal> And a lot more
21:45:35 <int-e> Oh, you checked the HB site. I don't have an account there.
21:45:48 <int-e> Fez is nice (but I got it with some HB)
21:46:10 <fizzie> I guess I can count myself as a modest bundler/steamer with a library size of 98.
21:46:21 <Vorpal> fizzie, that is only slightly behind me
21:46:37 <int-e> I think that's games, not bundles.
21:46:41 <Vorpal> int-e, yes? I looked at the progress bar for loading the home page, and it said "loading order 5 out of 101"...
21:46:52 <Vorpal> Ah
21:47:03 <fizzie> Yes, 98 games.
21:47:13 <Vorpal> fizzie, How many bundles=
21:47:15 <Vorpal> s/=/?/
21:47:23 <fizzie> 14.
21:47:33 <int-e> Vorpal: you can buy humble bundles without making a HB account; All I have is a mailbox full of links to the bundle pages.
21:47:43 <int-e> So counting bundles is a bit tricky.
21:47:45 <Vorpal> Ah
21:47:54 <Vorpal> int-e, Can you redeem to steam nowdays though?
21:48:04 <Vorpal> Thought it tied into your account nowdays
21:48:38 <int-e> no, you can redeem to whatever account you're logged in with on steam
21:48:56 <int-e> and in the early bundles, you got steam keys to copy and paste
21:49:02 <Vorpal> Well yes
21:50:29 <int-e> hmm 30 bundles + 5 individual humble store thingies.
21:51:13 <Vorpal> Never bought anything on the humble store
21:54:09 <int-e> let's see. I bought Trine (Trine 2 was nice), The Dream Machine Chapter 4 there (must've been cheaper than in the Steam Store), Antichamber (same price as on Steam, but DRM-free, as far as I recall), and Papo & Yo (hmm. I forgot). So only four things, actually.
21:55:11 <Vorpal> Right
21:55:53 -!- boily has quit (Quit: DIMENSIONAL CHICKEN).
21:56:11 <Vorpal> I bought both Trine through an early humble bundle. Bought Trine 2 way before it was in a humble bundle. Directly on steam I think.
21:56:26 <fizzie> I've bought Antichamber when it was 1.69€ in the Humble Store.
21:56:31 <int-e> I prefer gog.com.
21:56:34 <Vorpal> Bought Antichamber a few days after release, because it looked that amazing
21:56:39 <Vorpal> And it was amazing
21:56:43 <Vorpal> int-e, same, when possible
21:56:50 <Vorpal> Going to buy Witcher 3 from gog of course
21:57:07 <Vorpal> Anyway I got antichamber through a later humble bundle
21:57:20 <Vorpal> Papo & Yo the same I think?
21:57:27 <Vorpal> Never played that one, looks interesting though
22:02:37 <fizzie> `2014 just testing
22:02:38 <HackEgo> Hello, world!
22:02:43 <fizzie> Not aware of the user's time zone, I see.
22:02:52 <int-e> `date
22:02:53 <HackEgo> Wed Dec 31 22:02:50 UTC 2014
22:04:16 <fizzie> What's the strftime specifier for Swatch Internet Time?
22:04:50 <int-e> Vorpal: I think Papo & Yo is really well made, has unusual and interesting game mechanics ... but it also tells a disturbing story which may or may not affect how you'll like the game, it's hard to tell in advance.
22:09:46 <AndoDaan> Happy New Year to you then, fizzie.
22:09:54 <Vorpal> int-e, Eh, disturbing as in dark? I'm usually fine with that
22:10:39 <Vorpal> int-e, after all Witcher 2 is a dark and dreary world, and it is one of the games I love most
22:14:50 <Deewiant> Merry uusi vuosi från Fin lande
22:15:03 <Taneb> What are you doing there
22:16:03 <Deewiant> Partaking in the merriment
22:16:16 <int-e> Vorpal: I don't think that's the right word.
22:16:58 <Vorpal> int-e, huh, not sure what you mean then, will be interesting.
22:17:23 -!- dts|pokeball has joined.
22:25:35 -!- sebbu2 has joined.
22:25:57 -!- augur_ has joined.
22:26:12 -!- sebbu2 has quit (Changing host).
22:26:12 -!- sebbu2 has joined.
22:26:44 -!- MoALTz_ has joined.
22:28:09 -!- dianne_ has joined.
22:28:17 -!- MoALTz has quit (Ping timeout: 240 seconds).
22:29:37 -!- jix_ has joined.
22:34:20 -!- augur has quit (*.net *.split).
22:34:21 -!- sebbu has quit (*.net *.split).
22:34:21 -!- dianne has quit (*.net *.split).
22:34:21 -!- scounder has quit (*.net *.split).
22:34:21 -!- skarn has quit (*.net *.split).
22:34:21 -!- jix has quit (*.net *.split).
22:34:22 -!- newsham has quit (*.net *.split).
22:34:23 -!- pikhq has quit (*.net *.split).
22:39:40 -!- adu has quit (Quit: adu).
22:41:07 -!- skarn has joined.
22:44:53 -!- GeekDude has joined.
23:01:21 -!- scounder has joined.
23:02:16 -!- mihow has quit (Quit: mihow).
23:03:20 <AndoDaan> `2014
23:03:21 <HackEgo> Hello, world!
23:04:26 <ais523> that thing's only going to work for another hour
23:04:33 <ais523> we should write a wiki page about it
23:06:19 <AndoDaan> You think so? I like the joke language, but I wouldn't clog up the wiki with just silly things.
23:06:42 -!- mihow has joined.
23:06:43 <ais523> I think it makes a good philosophical point
23:07:11 <olsner> `2014
23:07:12 <HackEgo> Hello, world!
23:07:20 -!- mihow has quit (Client Quit).
23:08:32 <AndoDaan> "languages"* and "I wouldn't want"*
23:08:43 <AndoDaan> I must be tired.
23:09:03 <ais523> put it this way: it's more thoughtprovoking than the average BF derivative
23:09:20 <AndoDaan> But yeah, I guess there are many examples of time constrained languages.
23:09:33 <AndoDaan> aren't* dammit.
23:09:52 <AndoDaan> I can't think of any actually.
23:09:55 <ais523> it's the extremely limiting time that makes it interesting
23:10:05 <ais523> arguably http://esolangs.org/wiki/Schroedilang if I've spelled that correctly
23:10:11 <ais523> but that'd only be useful if the description wasn't blatantly lying
23:10:36 <ais523> I'm racing to get this description done in 2014, too
23:11:12 <AndoDaan> Ha. 2014 has imprinted its nature upon you
23:13:02 <HackEgo> [wiki] [[2014]] N http://esolangs.org/w/index.php?oldid=41562 * Ais523 * (+1093) new article
23:13:16 <ais523> I'll put it on the joke language list, though
23:14:15 <AndoDaan> Yeah.
23:14:20 <HackEgo> [wiki] [[Joke language list]] http://esolangs.org/w/index.php?diff=41563&oldid=41274 * Ais523 * (+147) /* General languages */ +[[2014]]
23:14:35 <ais523> `2014 still 2014?
23:14:36 <HackEgo> Hello, world!
23:14:37 <AndoDaan> "(and, presumably, years before 2014, although it will never be possible to tell)" brilliant. I didn't consider that.
23:14:47 <ais523> that was one of my later additions to the page
23:15:24 <int-e> `cat bin/2014
23:15:25 <HackEgo> ​#!/bin/sh \ if [ $(date +%Y) = "2014" ] \ then echo "Hello, world!" \ fi
23:15:36 <int-e> the reference implementation excludes years before 2013, hth
23:15:45 <int-e> *2014
23:16:06 <AndoDaan> Quite a poetic description, as far as these things go. Thanks for that, ais523.
23:16:24 <ais523> thanks
23:16:31 <ais523> I think I saw the poetry in it, so I decided to write the article
23:16:37 <ais523> int-e: that isn't a reference implementation
23:16:40 <ais523> that's just an implementation
23:17:08 <olsner> you can't really tell what any previous implementations did, since that's the first known implementation
23:17:25 <ais523> hmm
23:17:38 <ais523> what about programs that did nothing, and became permanently decomissioned before 2014 started
23:17:42 <ais523> *decommissioned
23:17:44 <ais523> are those 2014 interps?
23:17:44 <Vorpal> Happy new year!
23:18:17 <ais523> Vorpal: you live in UTC+00:43?
23:19:20 <Vorpal> ais523, no I live in UTC+1, so it is now 00:19
23:19:31 <Vorpal> ais523, however, I was busy during the actual moment, with family
23:19:34 <olsner> I would say not, unless they were trying to be
23:19:52 <ais523> OK, new esolang: all programs are interps for this esolang
23:19:58 <olsner> they could be used as 2014 interpreters though?
23:19:58 <ais523> what a program means depends on what runs it
23:20:18 <Vorpal> ais523, that sounds meta
23:20:29 <ais523> yes
23:20:41 <Vorpal> ais523, also like a joke
23:20:45 <olsner> Omnimetalang?
23:21:24 <Vorpal> ais523, though there are UTC+nn:30 and similar laces
23:21:25 <Vorpal> places*
23:21:35 <int-e> Given a time machine, 2014 is/was/will be Hello-world-complete.
23:21:36 <Vorpal> India for example is offset by a half-hour iirc
23:21:49 <Vorpal> `2014
23:21:50 <HackEgo> Hello, world!
23:21:55 <ais523> "hello world complete" is a pretty low computational class
23:21:56 <Vorpal> Well it depends on timezone
23:22:23 <pallokolmio> 20:22 here
23:22:37 <pallokolmio> the fun is still ahead
23:23:24 <Taneb> Where is GMT-3?
23:23:41 <ais523> -3 would imply the extreme east edge of the Americas
23:23:45 <pallokolmio> i thinki'm on the other side of the world
23:24:00 <ais523> or something else that vertically lined up with that
23:24:08 <pallokolmio> this is gmt-5
23:24:16 <pallokolmio> *-i think
23:24:22 <Taneb> So it's 18:24 there?
23:24:46 <ais523> it's 23:24 right now in UTC
23:25:03 <pallokolmio> it's 20:24
23:25:10 <int-e> Nepal (GMT+05:45) and Chatham Islands (GMT+12:45, +1 in summer (yes, DST!)) are the best time zones.
23:25:16 <pallokolmio> but daylight saving is in the other direction
23:26:06 <Taneb> pallokolmio, that makes it distinctly GMT-3
23:28:14 <pallokolmio> oh right gmt means greenwich mean time. maybe this is too complicated for me
23:28:41 <pallokolmio> currently it's -3 i guess
23:28:58 <pallokolmio> and in your summer its -5
23:29:30 <Taneb> Is that... Brazil?
23:29:57 <int-e> I guess technically, GMT=UTC+0; the former is a time zone, while the latter the standard time that time zones are based off.
23:31:13 <ais523> I thought GMT and UTC differed in leap second handling?
23:31:15 <ais523> maybe not
23:31:51 <int-e> no, that UTC and TAI
23:31:58 <int-e> *that's
23:33:08 <pallokolmio> chile
23:33:32 <Vorpal> tor 1 jan 2015 00:33:32 CET
23:33:41 <Vorpal> wrt what time it is
23:39:14 <Taneb> GMT+1
23:39:35 -!- adu has joined.
23:39:43 -!- dts|pokeball has quit (Ping timeout: 264 seconds).
23:43:34 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds).
23:46:14 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
23:58:15 <ais523> `2014 while I still can
23:58:16 <HackEgo> Hello, world!
23:58:25 <AndoDaan> `2014
23:58:26 <HackEgo> Hello, world!
23:58:38 <Taneb> `2014
23:58:38 <HackEgo> Hello, world!
23:58:39 <AndoDaan> phew.
23:58:50 <Taneb> Is there a prize for last `2014 of 2014?
23:58:55 <ais523> I doubt it
23:59:05 <ais523> but we should probably all spam `2014 at the boundary, just in case
23:59:08 <AndoDaan> ha,I was actually thinking about that.
23:59:14 <AndoDaan> `2014
23:59:15 <HackEgo> Hello, world!
23:59:22 <Taneb> `2014
23:59:22 <HackEgo> Hello, world!
23:59:25 <AndoDaan> `2014
23:59:25 <HackEgo> Hello, world!
23:59:58 <Taneb> `2014
23:59:58 <HackEgo> Hello, world!
23:59:59 <ais523> `2014
23:59:59 <HackEgo> Hello, world!
←2014-11 2014-12 2015-01→ ↑2014 ↑all