2013-02-01: 00:04:46 -!- Nisstyre-laptop has quit (Quit: Leaving). 00:32:03 -!- epicmonkey has quit (Ping timeout: 248 seconds). 00:33:17 -!- WeThePeople has quit (Quit: Leaving). 00:34:31 what's the /topic program? SUBLEQ interpreter or something? 00:34:47 or is it actually a linux rootkit? *fucked* 00:39:12 Looks to be a SUBLEQ interpreter, yeah. 00:40:52 it's a linux rootkit 00:40:53 for qnx 00:40:56 on the amiga 00:41:28 can something be a linux rootkit for qnx? 00:41:37 I guess it could be a program that roots qnx if you run it on Linux 00:42:08 or a rootkit that runs on a linux kernel modified to run at the same time as qnx 00:42:09 -!- DHeadshot has quit (Read error: Connection reset by peer). 00:42:39 maybe you can build UML for QNX 00:42:50 HackEgo's shameful secret 00:42:56 -!- DHeadshot has joined. 00:43:08 -!- ais523 has quit. 00:43:24 apparently blackberry OS is based on QNX? 00:43:28 nobody told me 00:45:41 10 and playbook are 00:45:46 previous versions are not. 00:45:50 ah 00:45:56 -!- Phantom__Hoover has quit (Ping timeout: 248 seconds). 00:46:58 -!- Phantom__Hoover has joined. 00:47:50 -!- TeruFSX has quit (Read error: Connection reset by peer). 00:50:24 -!- Nisstyre has joined. 01:14:15 -!- augur has joined. 01:17:51 -!- monqy has joined. 01:28:44 -!- Phantom__Hoover has quit (Remote host closed the connection). 01:39:33 more inappropriate haskell questions: is "main" a standard thing or what because I can't find it 01:40:43 yes it is 01:41:49 Bike: Yes: "main" is the Haskell entry point, just like main is the C entry point. 01:42:06 http://www.haskell.org/onlinereport/haskell2010/haskellch5.html#x11-980005 01:42:09 "A Haskell program is a collection of modules, one of which, by convention, must be called Main and must export the value main" aha 01:42:16 thanks 01:42:50 (there's a flag to call it something else, naturally >:) ) 01:43:02 a standard flag? 01:43:05 (mostly intented for running test suites and the like) 01:43:09 no, in ghc 01:43:17 nooooo 01:48:22 hm has Taneb revealed his email... 01:48:40 taneb@taneb.taneb 01:48:46 taneb@ngevd.atriq? 01:48:59 elliott i don't think taneb is even a real tld are you lying 01:49:55 im sure it is 01:51:42 oh there is an email on his webpage 01:57:31 -!- quintopia has quit (Ping timeout: 246 seconds). 01:58:31 -!- quintopia has joined. 02:05:19 @tell Taneb I sent an email to your gmail account. 02:05:19 Consider it noted. 02:11:46 -!- NihilistDandy has joined. 02:22:06 lecture went well 02:22:10 the crabputer was a crowd pleaser 02:22:29 thanks Bike 02:22:54 -!- madbr has joined. 02:23:22 trying to design a "trace CPU" 02:23:23 crabputers know what's hip 02:24:31 like, instead of just executing the code 02:24:59 it allocates a new execution unit (ALU, multiplier, etc...) for each instruction 02:25:27 once it reaches a loop, it just lets data stream through the already allocated units 02:27:17 nice 02:27:51 are there any really good tracing JITs for VLIW architectures 02:27:57 that could be kind of an approximation of that 02:28:06 where's my V8 for itanium =( =( =( 02:32:57 Is it reasonable to look at a language mostly because of its implications for how one would structure a program written in it 02:33:03 Actually, yes 02:33:30 yes 02:33:57 Haskell tends to imply a certain structure (IO layer using non-IO layer) 02:34:08 yes 02:34:09 So, why not try to get a grasp of how Erlang programs are structured 02:34:13 I still don't understand it :/ 02:34:19 What about Ada? 02:35:15 kmc: it's kinda scary how VLIW architectures tend to bomb :o 02:35:53 Sgeo have you seen Erlang: The Movie 02:36:50 I think part of it, I don't remember if I've seen the whole thing. If I have, I don't remember it 02:36:54 I know I've heard of it 02:37:12 i think erlang programs involve lots of small concurrent agents which interact through semi ad-hoc algebraic-data-ish protocols 02:37:13 It's kind of ... dry and old, isn't it? 02:37:45 one point of it being dynamically typed is that you can restart small parts independently from each other 02:38:15 Not sure that dynamic typing is a requirement for that 02:38:17 -!- copumpkin has quit (Ping timeout: 252 seconds). 02:38:18 harder to migrate a distributed system piecemeal if your protocols are very rigid 02:38:30 it's not a requirement but it makes things easier 02:38:34 * elliott doesn't think that argument makes much sense 02:38:43 but I guess I would say that all protocols are rigid 02:38:45 anyway i don't know erlang 02:38:51 it is just a question of how much your code acknowledges that fact 02:39:34 I'd like to see more languages structured like zzt-oop (or megazeux's "robotic") 02:39:38 all protocols are rigid but their implementations are crazed nuttiness? 02:39:47 zzt, isn't that something for games 02:40:02 bike : yes! 02:40:10 zomg moreutils has /usr/bin/errno -l? 02:40:24 bike : so it would probably work well for GUI 02:40:57 «Note the use of an invisible "timer" object to send a periodical ShootDownward message to the Shooter.» man this reminds me of game maker 02:41:01 i'm... not sure if that's a good thing 02:41:13 "They are neither operating system processes nor operating system threads, but lightweight processes[citation needed]." 02:41:22 1+1=2[citation needed] 02:41:58 hi 02:42:20 Sgeo: principia mathematica, done 02:42:26 > monoidize "threads" 02:42:29 "are threads like monoids? I love monoids" 02:42:34 shachaf 02:42:36 no 02:42:45 monqy: i didn't write monoidize....................................... 02:42:51 > monoidize "monoids" 02:42:54 "are monoids like monoids? I love monoids" 02:42:58 sgeo..... 02:43:02 no.............................. 02:43:09 > monoidize "monqy" 02:43:12 "is monqy like monoids? I love monoids" 02:43:17 "ok maybe thats enough....." 02:43:17 mostly, they have very simple languages yet they're fairly usable actually 02:43:17 oh nice 02:43:27 > monoidize "people" 02:43:30 "is people like monoids? I love monoids" 02:43:33 megazeux didn't have any functions or even subroutines 02:43:34 @undefine 02:43:39 :'( 02:43:43 or objects/structs 02:43:44 monqy 02:43:48 or strings 02:43:53 did you just @undefine!! 02:43:59 who knows 02:44:03 but i sure said @undefine 02:44:04 madbr: if i'm reading the zzt-oop article right it has objects? 02:44:50 monqy: "thats what @undefining is" 02:44:55 shachaf: nice re errno 02:45:01 <3 moreutils 02:45:22 kmc: I've spent way too much time hunting down the lesser-known errno mappings in some cases. 02:45:39 I mean e.g. pretty-printed message to number. 02:46:21 there's at least one errno that can only be produced by a single point in the Linux kernel 02:46:37 EACHIEVEMENTUNLOCKED 02:47:00 each and every ievement 02:48:29 kmc: I came to the conclusion that mkaing an MD5 collision under those constraints would be hard. 02:48:36 So I just posted a bug. 02:48:48 kmc: what is it? 02:49:14 `olist #I don't think shachaf was here when I did this 02:49:18 shachaf oerjan Sgeo 02:50:22 is this the super mega list 02:50:52 it's the oots list 02:50:57 `smlist 02:51:01 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: smlist: not found 02:51:13 oerjan: I saw it. 02:51:33 okay! 02:51:46 Someone should just echo echo `/names` > bin/smlist 02:51:55 Because who wouldn't want to read super mega comics? 02:52:15 hm does irssi have interpolation like that i wonder 02:56:44 -!- sebbu has quit (Ping timeout: 255 seconds). 02:57:51 -!- oerjan has quit (Quit: Good night). 03:05:03 bike: objects? yes and no 03:05:20 it has objects but objects can't store any data 03:05:35 each object has its own code 03:05:45 and it runs once per frame 03:06:25 and when it runs it essentially keeps running until it reaches a command that has a pause in it 03:06:47 such as "wait 1" (megazeux, zzt-oop has an equivalent) 03:07:02 and then next frame it continues from there 03:07:13 so they're really kindof like cooperative threads 03:07:33 also objects are part of the tile map and the player can't go through them 03:20:42 Bike: http://livegrep.com/search?q=ETOOMANYREFS 03:20:49 it's in the UNIX socket garbage collector >_< 03:21:47 and yeah it was a bit ACHIEVEMENT UNLOCKED when i wrote code which hit this error 03:25:00 "Too many references: cannot splice" informative 03:26:57 shachaf: LC_ALL=de_DE.utf-8 errno -l 03:28:28 Veraltete NFS-Dateizugriffsnummer 03:29:06 Eingabe-/Ausgabefehler 03:29:29 "Unterbrechung während des Betriebssystemaufrufs" i think that was in the Ring Cycle 03:34:25 -!- madbr has quit (Quit: Radiateur). 03:37:02 * TwilightSpockle tests something. 03:37:10 Did that show up as a /me to y'all? 03:37:36 yes 03:38:24 what did you do 03:38:43 I actually typed in the \x01. 03:38:49 To me it showed as messages with \x01 X-D 03:38:57 So I thought maybe it'd actually sent something weird. 03:39:12 there was a bot in another channel such that we had it send arbitrary CTCPs with its echo command 03:39:15 that was fun 03:39:33 Yeah, you could do that with HackEgo until somebody whinged about it. 03:40:08 (you should put that back) 03:40:39 -!- Arc_Koen has quit (Quit: Arc_Koen). 04:17:15 -!- esowiki has joined. 04:17:19 -!- esowiki has joined. 04:17:20 -!- esowiki has joined. 04:18:04 -!- esowiki has joined. 04:18:09 -!- esowiki has joined. 04:18:09 -!- esowiki has joined. 04:19:06 -!- esowiki has joined. 04:19:11 -!- esowiki has joined. 04:19:11 -!- esowiki has joined. 04:20:00 -!- esowiki has joined. 04:20:01 -!- glogbot has joined. 04:20:01 -!- glogbackup has left. 04:20:04 -!- esowiki has joined. 04:20:04 -!- esowiki has joined. 04:21:29 -!- RodgerTheGreat has quit (Quit: RodgerTheGreat). 05:27:17 -!- kmc has set topic: char*a,b[9999];main(){gets(a=b);while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} | fiat luxembourg http://codu.org/logs/_esoteric/. 05:35:55 kmc: what does that program do mannnnnn 05:36:08 it cant be the shortest missing subscript 05:36:15 *string 05:36:17 it hecks your aim 05:36:59 elliott: halp i is too unsmart 05:37:09 nobody can avoid the aim hecking 05:37:25 * quintopia dodges 05:44:27 it's a SUBLEQ interpreter or similar 05:44:28 i think 05:44:31 so it was said 05:44:36 i didnot invent it 05:45:59 who said it 05:46:17 gregor. 05:46:29 gregor says lots of things 05:52:23 -!- Bike has quit (Ping timeout: 260 seconds). 05:54:06 -!- Bike has joined. 06:05:39 @admin - shachaf 06:05:40 @admin + shachaf 06:05:48 shachaf: It's official now. 06:05:50 help 06:05:59 It's actually not official. 06:06:07 Um, I'm the office. 06:06:16 I think the configuration file is the office. 06:06:39 hello 06:06:44 Hike 06:07:07 seven hundred and sixty one armless and legless corpses 06:07:24 Bike: do you love monoids yet 06:08:14 there will be no love, except for love of monoids 06:10:01 btw congratulations shachaf 06:10:31 congratulations!!! 06:11:04 what are you going to do with this new “power„ 06:12:29 maybe rule with an "iron fist" 06:12:37 or just a copper fist?? 06:13:10 -!- clog has joined. 06:13:15 rule with a fencyclidine fist 06:13:27 wow that was some shitty spelling 06:13:51 hi clog 06:13:53 wasup 06:14:04 `wehlcohme clog 06:14:09 clohg: Wehlcohme to the ihntehrnahtiohnahl huhb fohr ehsohtehrihc prohgrahmmihng lahnguahge dehsihgn ahnd dehployhmehnt! Fohr mohre ihnfohrmahtiohn, chehck ouht ouhr wihki: http://ehsohlahngs.ohrg/wihki/Maihn_Pahge. (Fohr the ohthehr kihnd ohf ehsohtehrihca, try #ehsohtehrihc ohn ihrc.dahl.neht.) 06:24:02 Of course it is mandatory for me to join #ehsohtehrihc on Freenode 06:24:28 `cat wehlcohme 06:24:31 cat: wehlcohme: No such file or directory 06:24:32 #ifdef _CPLUSPLUS 06:24:33 `run echo "esoteric" | ?hh 06:24:36 `cat bin/wehlcohme 06:24:37 ​? ¯\(°_o)/¯ 06:24:40 welcome "$@" | h 06:24:42 Oh 06:24:45 oh 06:24:47 `run echo "esoteric" | h 06:24:51 ehsohtehrihc 06:24:52 #endif 06:24:57 `run echo "char*a,b[9999];main(){gets(a=b);while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} | fiat luxembourg http://codu.org/logs/_esoteric/" | h 06:24:59 holy - 06:25:00 chahr*a,b[9999];maihn(){gehts(a=b);whihle(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puhts(b+1);} | fiaht luhxehmbouhrg http://cohdu.ohrg/lohgs/_ehsohtehrihc/ 06:25:52 Bike, hm? 06:42:04 the Y combinator has a similar structure to a typical quine 06:42:11 they're based on the same trick of implicit self-reference 06:42:27 as is the proof by contradiction of the undecidability of the halting problem 06:42:33 so that's fun 06:43:08 what about kleene recursion 06:56:32 yeah 06:56:47 kind of mentioned that too but not really 06:57:09 you need it to do the halting proof in full rigor 06:57:43 diagonalization? 06:57:52 what about it? 06:58:10 is that what you mean by "full rigor" 06:58:34 personally i just like the intuitive loop scooper thing but that's not as useful... 06:59:39 -!- sebbu has joined. 06:59:39 -!- sebbu has quit (Changing host). 06:59:39 -!- sebbu has joined. 07:01:59 well in this lecture i just went with the good old (define (f x) (if (halts? x x) (loop-forever) 0)) 07:02:07 right, that 07:02:27 i think, if you want to do that proof in full rigor on turing machines specifically, you need kleene's recursion theorem 07:02:30 not sure though, it's been a while 07:02:37 @google scooping the loop snooper 07:02:40 http://www.lel.ed.ac.uk/~gpullum/loopsnoop.html 07:02:40 Title: Scooping the Loop Snooper — Geoffrey K. Pullum 07:03:06 hm, i don't think i've actually read turing's original paper. 07:03:07 i did talk about diagonalization but not specifically about halting, just showing that the set of functions is uncountable while the set of programs is countable 07:03:10 heh 07:03:26 actually just about the only turing i've read is the test paper. that's probably not good 07:03:33 yeah that article is great 07:03:42 my favorite part is the ESP speculation 07:03:43 Bike: did you like the part where he speculates about beating the turing test using ESP 07:03:46 yesssss 07:04:00 i just imagine singulatarians reading it dumbfounded 07:04:30 i think nobody is quite sure if he was joking or not 07:05:06 i read a nice article on turing's article from a lit perspective once 07:05:16 guy thought turing was a pretty funny guy overall 07:05:56 ...i can never find it again when i want it, though. 07:05:56 heh, that sounds interesting 07:06:08 did you see the article about how maybe turing didn't kill himself on purpose 07:06:22 no, i've heard rumors about that however 07:06:33 http://www.bbc.co.uk/news/science-environment-18561092 07:06:38 http://www.furtherfield.org/features/articles/why-arent-we-reading-turing here we go 07:07:43 huh, i didn't know he wrote about the chemical basis of morphogenesis 07:07:55 that's cool 07:08:03 oh yeah there was a bit of news stuff about that last year when they actually found some turing morphogens 07:10:06 is it numberwang? we'll have to check with the boffins. 07:11:04 "In a man of his type, one never knows what his mental processes are going to do next." one can only hope he meant "genius" and not "teh ghey" 07:11:21 saying "what if it wasn't suicide??" seems to have an uncomfortable whiff of downplaying the awful treatment turing was going through at the time to me 07:11:49 elliott: the article i linked doesn't downplay it really 07:12:22 it's more like "what if he had the strength to endure awful treatment in relatively good spirits" 07:12:30 i mean if the facts stated are true, we will never know if it was suicide or not 07:12:41 elliott: the professor made a point of saying "no this was still horrible" 07:12:50 it shouldn't affect whether the treatment was unjust or the legacy of his life before his death 07:13:52 http://www.kcl.ac.uk/newsevents/news/newsrecords/2012/02Feb/Scientists-prove-Turings-tiger-stripe-theory-.aspx it is apparently impossible to find the actual goddamn paper 07:14:56 speaking of the classics, it's funny that Gödel never got around to publishing part 2 of the paper on incompleteness 07:15:00 because part 1 was such a bombshell 07:15:23 you've seen his letter to von neumann, right? 07:15:25 i also think it's kind of weird that all this theory developed in super abstract form just a decade or so before people started building actual computers 07:15:29 don't think so 07:16:03 http://rjlipton.wordpress.com/the-gdel-letter/ "hey i heard your sick but whatever let me talk about proofs" 07:17:16 haha he even mentions type theory as foundational 07:18:18 -!- FreeFull has quit. 07:18:38 "ramified" is still the silliest goddamn word 07:18:51 yeah type theory is an alternative to set theory, or something 07:19:00 not sure if it's exactly the same thing programmers mean by 'type theory' 07:19:42 well i mean the math. people do that as foundational nowadays. 07:19:50 not that that has much to do with ramified types any more. 07:22:15 greecallister 07:29:55 hichaf 07:29:57 going to bed tho 07:51:10 -!- Taneb has joined. 07:52:02 @tell oerjan Thanks for your Fueue fix! 07:52:02 Consider it noted. 07:52:46 thoerjan 07:53:39 Anyway, the balloons have returned 07:53:39 Taneb: You have 1 new message. '/msg lambdabot @messages' to read it. 07:53:52 happy birthday!! 07:54:02 Turns out they didn't come for me 07:54:05 I am still only 18 07:54:29 ugh, that's such a shitty age though. 07:54:31 you're sure? 07:54:40 Yeah 07:54:44 It's my mum's birthday 07:55:03 wait i thought you said that if you were fifty you'd be older than your parents 07:55:06 !!?!?!!!??? 07:56:03 That was yesterday 07:56:17 hi Taneb 07:56:40 Hi shachaf 07:56:53 Explain the meaning of your "hi" 07:57:16 Happy bIrdthay 07:57:20 (to your mum) 07:57:46 (here in america there aren't any mums) 07:58:07 There are mumps though. 08:13:44 -!- Taneb has quit (Quit: Leaving). 08:16:50 -!- Bike has quit (Quit: memorize). 09:13:18 -!- DHeadshot has quit (Ping timeout: 264 seconds). 09:17:11 @ask zzo38 What about newtype Foo b s a r = Foo (Either b (s, a -> r)); CodensityAsk (Foo b s a) t? 09:17:11 Consider it noted. 09:24:08 -!- epicmonkey has joined. 10:01:31 http://literallyunbelievable.org/post/41195269567/theres-no-such-thing 10:01:32 I just 10:01:54 One particular xkcd comes to mind 10:10:12 -!- TwilightSpockle has quit (*.net *.split). 10:13:12 -!- TwilightSpockle has joined. 10:47:14 -!- TodPunk has quit (Read error: Connection reset by peer). 10:47:48 -!- Tod-Autojoined has joined. 11:13:34 Hmm, #haskell-lens is bigger than #esoteric 11:17:29 -!- impomatic has quit (Ping timeout: 255 seconds). 11:19:08 -!- epicmonkey has quit (Read error: Operation timed out). 11:25:37 "Let's imagine that utilities are radioactive; If we are careful with out containment procedures, we can safely combine and compare them, but if we interact with an unshielded utility, it's over, we've committed a type error." 11:25:45 oh god utilities are monads 11:25:51 (note: utilities probably not monads) 11:48:03 -!- sebbu has quit (Ping timeout: 245 seconds). 11:55:14 -!- sebbu has joined. 11:55:30 -!- sebbu has quit (Changing host). 11:55:30 -!- sebbu has joined. 12:13:27 -!- Phantom_Hoover has joined. 12:14:50 unsafeNmap :: MonadIO m => m Utility -> m () 12:15:02 -!- augur has quit (Remote host closed the connection). 12:22:31 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds). 12:26:18 -!- epicmonkey has joined. 12:31:44 -!- monqy has quit (Quit: hello). 12:40:50 -!- Phantom_Hoover has joined. 12:49:06 -!- salehkamali999 has joined. 12:49:30 -!- salehkamali999 has quit (Client Quit). 12:54:44 -!- Arc_Koen has joined. 12:55:30 -!- Arc_Koen has quit (Client Quit). 12:55:48 -!- Arc_Koen has joined. 12:58:13 -!- Arc_Koen has quit (Client Quit). 12:58:29 -!- Arc_Koen has joined. 12:59:45 -!- augur has joined. 13:11:03 -!- Kosova has joined. 13:11:27 -!- copumpkin has joined. 13:20:40 -!- Kosova has quit. 13:31:26 -!- Taneb has joined. 14:45:27 -!- boily has joined. 15:02:13 -!- Frooxius has joined. 15:15:41 -!- Jafet has quit (Quit: Leaving.). 15:24:35 -!- Frooxius has quit (Quit: ChatZilla 0.9.89-rdmsoft [XULRunner 1.9.0.17/2009122204]). 15:26:34 -!- Taneb has quit. 15:28:23 -!- Tod-Autojoined has changed nick to TodPunk. 15:29:55 -!- Frooxius has joined. 15:38:17 -!- noam__ has changed nick to noam. 15:58:26 can anyone ping nortti.dy.fi now? 16:00:01 yep 16:00:38 great 16:10:48 -!- oonbotti has quit (Ping timeout: 256 seconds). 16:12:09 -!- Frooxius has quit (Quit: ChatZilla 0.9.89-rdmsoft [XULRunner 1.9.0.17/2009122204]). 16:14:59 -!- Frooxius has joined. 16:22:59 nortti: what kind of server are you running? the only response header I get by visiting http://nortti.dy.fi/ is "Content-Type: text/html" 16:24:38 boily: my own http server written in python 16:24:51 boily: what is your exact request? 16:25:39 nortti: I tried firefox first, just to see if you had anything running, then raw telnet to get a pretty list of all headers. 16:25:54 (and I admit running a fast nmap against your domain.) 16:26:00 what is the request you used with telnet 16:26:29 oh, that's ok. I used to have "run nmap here if you want to test it" on my homepage 16:26:30 telnet nortti.dy.fi 80, then GET / HTTP/1.1. 16:26:58 what kind of line terminator? 16:27:19 eeeeh... I hope CR+LF, but probably only LF. 16:27:30 I can see your stub web page just fine, too. 16:27:39 very strange 16:28:04 do you have your telent in char or in line mode? 16:28:23 no idea. bog standard vanilla telnet on my machine. 16:28:37 what os your machine runs? 16:28:57 arch linux, Linux njorun 3.7.5-1-ARCH #1 SMP PREEMPT Mon Jan 28 10:03:32 CET 2013 x86_64 GNU/Linux. 16:29:06 have you tried netcat? 16:29:26 no, not yet. 16:30:43 same behaviour with netcat: echo -e "GET / HTTP/1.1\r\n\r\n" | nc nortti.dy.fi 80 16:31:07 by the way, telnet (GNU inetutils) 1.9.1 and GNU netcat 0.7.1. 16:31:22 very, very strange 16:31:34 so you only see the headers? 16:31:49 and not the page itself= 16:31:51 oh, no. I was just wondering what was the webserver and stuff and anything. 16:31:59 the pages renders correctly. 16:32:09 s/pages/page/, as I only saw a single page for now. 16:32:14 oh. then it works just as it shoudl 16:33:09 I tried to make it compatible with normaly used subset of HTTP 1.0 16:34:29 boily: in case you are interested these files are available: foo.txt mcsnapshot strace_failed_config.log index.html os_cars.html 16:35:33 playing with slitaz? 16:35:42 using it as my main os 16:36:50 well slitaz 3.0 with all kind of crap put on top of it like toybox and my own coreutils replacing parts of busybox, pkgsrc and jpkg package managers and a lot of hand compiled stuff 16:37:04 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 16:37:38 -!- Phantom_Hoover has joined. 16:42:29 -!- epicmonkey has quit (Ping timeout: 255 seconds). 16:49:11 -!- oonbotti has joined. 17:09:51 How are there people who don't program for fun. 17:09:53 I don't get it. 17:16:06 programming is a combination of mentally challenging and tedious 17:16:27 plus some people like things like being outside or interacting with humans in person 17:16:31 and would rather spend free time on that 17:17:37 All I'm hearing is that people like to fritter their potential away on completely nonproductive uses of time. 17:17:37 "hacker" communities have a huge amount of prejudice against people who don't spend every waking hour thinking about programming 17:17:52 i think it's largely unfounded 17:17:59 http://geekfeminism.org/2013/01/21/re-post-hiring-based-on-hobbies-effective-or-exclusive/ 17:18:09 "I’ve seen other people imply that there’s something even morally suspect about somebody working an engineering job just for the money, and that someone who doesn’t do the same stuff in their free time is obviously just in it for the money. Of course, that’s classist. It’s easier to feel like you’re motivated by the sheer love of your work if you don’t really need the money." 17:18:36 TwilightSpockle: oh yeah because writing the 2,000th toy Lisp interpreter or Python webapp framework nobody will ever use is so productive 17:18:52 anyway i think you're trolling 17:19:00 No shiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiit X-D 17:19:16 glad that's settled then 17:29:25 -!- impomatic has joined. 17:31:40 -!- WeThePeople has joined. 17:45:26 I propose that we use the prefix "wyo-" to denote the fixed point of a word. 17:45:33 So that, for example, a wyopicture is a picture of a wyopicture. 17:46:16 Wyothinking is the act of thinking about wyothinking. 17:47:04 And Wyoming is... waaaaait 17:48:53 A wyoprinter is something that prints a wyoprinter. So, a quine is a type of wyoprinter. 17:50:27 kmc, that wasn't obviously a joke from the start? 17:50:50 Some people just love monoids, Phantom_Hoover. 17:51:03 what is it with you and monoids 17:51:13 (DON'T SAY "THEY'RE SO EASY") 17:53:11 it's not easy being a monoid :( 17:54:30 You used to think that it was so easy? 17:55:45 -!- FreeFull has joined. 17:56:38 -!- Bike has joined. 17:57:58 someone explain this monoid thing shachaf has developed, for god's sake 18:05:03 -!- noam has quit (Read error: Connection reset by peer). 18:05:13 shachaf developed a monoid thing? 18:05:27 -!- noam has joined. 18:06:47 tswett, yes, he developed a condition where he inexplicably brings monoids up all the time. 18:07:46 but I like monoids. they are ea... NOOOOOOOOOO! I think it's contagious! 18:11:26 -!- cuttlefish has joined. 18:12:27 ~fortune 18:12:28 Kent's Heuristic: 18:12:28 Look for it first where you'd most like to find it. 18:13:32 hm. hoping to get useful guidance from a fortune DB is like trying to find a needle in a wyohaystack. 18:16:25 finding a needle in a wyohaystack is pretty easy 18:16:38 almost all of it is empty space, after all 18:18:03 Phantom_Hoover's method to find a needle in a wyohaystack: 1. Remove all empty space; 2. Whatever isn't empty in what's left is a needle 18:18:22 -!- mroman has left. 18:18:36 pretty efficient 18:19:03 -!- AnotherTest has joined. 18:20:45 -!- AnotherTest has quit (Client Quit). 18:20:59 -!- AnotherTest has joined. 18:21:34 `learn wyohaystack is that which hasn't been sifted for emptiness yet. Easily needled. 18:21:38 I knew that. 18:22:32 hmm 18:22:54 -!- epicmonkey has joined. 18:23:20 if you allow the -irth form to be used as a gerundive you can express a contradiction pretty easily 18:23:45 Phantom_Hoover: You should encourage Sgeo to learn Ada. 18:23:49 He's been giving up on it. 18:23:55 Sgeo, don't give up! 18:24:30 Phantom_Hoover: wyohaystackirth? 18:24:45 boily, nonono, the -irth form is applied to verbs 18:24:59 whyohaystacksearchirth 18:26:17 -!- DHeadshot has joined. 18:27:36 and its French cognate, ouaillohéstaqueseurtchirtant. 18:28:08 Phantom_Hoover: i don't know, maybe it is obviously a joke here 18:28:17 on Hacker News such things are said in apparent seriousness 18:28:20 but poe's law etc 18:28:40 cole's law etc 18:28:47 monoid's law 18:28:49 also hichaf 18:29:06 hellogan international airport 18:29:14 kmc: did shachaf tell you ~the news~ 18:29:18 man coleslaw is such a weird word 18:29:19 (i'm saying he's pregnant) 18:29:21 what is the news 18:29:25 help 18:29:29 he's pregnant with #haskell ophood 18:29:29 congratschaf 18:29:30 don't spread the news 18:29:42 http://www.gcmap.com/mapui?P=kmc 18:29:50 corridor 18:29:55 now there's an amazing word 18:30:21 'The term "coleslaw" arose in the eighteenth century as an Anglicisation of the Dutch term "koolsla", a shortening of "koolsalade", which means "cabbage salad"' 18:30:31 in the space of about 2 minutes, I'm now completely confused. I love Fridays. 18:30:32 'koolsalade' 18:30:59 cabbage salad? 18:30:59 Cole slaw is some pretty cool salad. 18:31:00 eugh 18:31:09 sauerkraut is better 18:31:13 here you can buy bright neon nite-glo aggressive toxic green coleslaw in small plasting containers. 18:31:17 dutch always sounds like that 18:31:24 it tastes weird. 18:31:28 shachaf: what do you think of LC_ALL=de_DE.UTF-8 errno -l 18:31:43 When I run it I just see English. :-( 18:31:49 is my computer racist ☹ 18:31:49 try having more locales 18:32:02 can i just get a globale and have it done with 18:32:34 Is there a better way to do this regex? ((mul|add|sub)(\.i|\.f|\.x)?) I just watch to match and return mul mul.i mul.f mul.x add add.i add.f .... etc 18:32:40 shachaf_SHACHAF.UTF-8 18:32:59 shachaf_SHACHAF.UCS-2.625 18:33:00 impomatic: you could factor the dot out 18:33:23 oh but you want the .f .i etc to be optional? 18:33:53 then it would be like ((mul_add_sub)(\.(i|f|x))?) which is kinda ugly 18:34:06 pretend those underscores are bars 18:34:10 kmc: Now it works! 18:34:18 kmc: Yes, optional 18:34:58 I'm writing a JavaScript syntax highlighter for Redcode :-) 18:34:58 ((mul|add|sub)(\.i|\.f|\.x)?) seems perfect to me 18:35:08 yeah it's fine 18:35:30 oh I guess (i|f|x) could also be [ifx] 18:35:36 Thanks... never used regular expressions before. 18:35:42 not a biggie though 18:35:52 impomatic: congrats then :) 18:36:06 ((mul|add|sub)(\.[ifx])?) 18:36:56 kmc: I'd install a funpuns locale. 18:37:25 hm 18:37:30 how about an anagrams locale for error messages 18:37:41 just to make linux harder to understand 18:39:34 kmc: I don't even have an errno(1). 18:39:39 install moreutils 18:39:45 moreutils is the greatest 18:39:47 That sounds like work. 18:39:49 bow down before moreutils 18:40:00 Now I need to figure out to to not exclude any matches preceded by a semicolon 18:40:04 but then you'll have 'parallel' and 'ts' and 'sponge'! 18:40:04 moreutils is "rly good" elliott 18:40:18 but is it easy 18:40:23 remember the time when you first found out about moreutils 18:40:29 it's just man page after man page of greatness 18:40:47 yes 18:40:48 sponge is the only really great one 18:40:57 'parallel' is very handy 18:41:06 though xargs can almost do the same thing 18:41:06 xargs can do that, though. 18:41:21 Oh, it has ts 18:41:37 sl is the best unix utility 18:41:50 zomg 18:41:53 Copyright 2006 by Joey Hess 18:42:05 mm ls typos 18:42:08 that's the same JoeyH!! 18:42:19 i admin'd a server once where if you typed 'lsd' it would open the TiHKAL page about LSD inside links 18:42:24 nice 18:42:27 sl is still better 18:42:38 The best thing about Ubuntu is that it has the "command-not-found" handler such that when you type ls, it waits a couple of seconds anyway. 18:42:44 Er, whne you type sl 18:42:47 Even if it's not installed. 18:42:52 counterpoint: moreutils' favicon is esr's stupid glider emblem thing 18:42:56 (fuck that guy) 18:42:57 Phantom_Hoover: :( 18:44:48 well I am pretty sure esr was just a loudmouth rather than a self-admitted awful racist loudmouth when that emblem was popularised 18:44:54 less bad than it could be??? 18:45:04 it's also just a dumb idea though 18:45:16 hackers aren't already enough of an elitist cult, we need a logo to be smug about too 18:45:53 also it uses the ugly phase of the glider 18:46:26 Which phase would you prefer? 18:47:52 the... other one 18:48:20 I was afraid you'd say that. 18:48:32 It sounds like you're just wrong here. 18:48:50 uh 18:48:56 that phase is way better 18:48:58 no question 18:49:15 Don't be wrong, Phantom_Hoover. 18:49:23 I'm trying to save your soul here. 18:49:52 http://www-rohan.sdsu.edu/~rcarrete/teaching/M-596_patt/images/glider.gif so which one is better here 18:50:18 0/2/4 are equally good 18:50:30 1/3 are just is that even a glider?? 18:50:56 shachaf: what do you think about HighLife 18:50:56 kmc, 3 18:51:02 2 is sort of eh 18:51:05 "i don't like life, it's too mainstream" 18:51:20 1 isn't as good as 3 but it's still strong 18:51:21 kmc: that's just normal life for me, man 18:51:24 4 is just wtf 18:51:29 hackers are pentacellular protists that can't do anything but plod along in one direction, and die when they hit the slightest resistance 18:51:32 -!- DHeadshot has quit (Ping timeout: 248 seconds). 18:51:48 mm protists 18:51:54 Bike, but in HighLife they sometimes explode! 18:51:54 hi Bike 18:52:06 shachaf: the LED sign that i programmed uses HighLife on a projective plane 18:52:17 hi shachaf 18:52:24 That sounds nifty. 18:52:33 exploding protists high on life? 18:52:44 (fun fact, you can turn the highlife replicator into an n-length spaceship by tacking a traffic light to one end) 18:52:44 the rule is similar enough to Life that it looks the same, except the probability of getting various still-lifes is different 18:53:10 also the boat is notably absent 18:53:11 Day & Night is the coolest CA imo 18:53:28 also I programmed it to spawn gliders occasionally, to keep the world from settling into a boring state 18:53:45 Phantom_Hoover: are you with me 18:54:03 def. the coolest moore-type ca 18:54:13 kmc: did you also use the monster all the time in simcity 18:54:28 i was kind of wondering how the poisson rate of glider generation affects the entropy over time of the system 18:54:31 kmc: instead of gliders it sohuld have spawned replicators 18:54:42 shachaf: who didn't? 18:54:42 whether there's a specific best rate for interesting patterns, or whether lots of different rates are roughly equivalent 18:54:59 *should 18:55:03 Bike: Causing various disasters is the only thing I remember about SimCity. 18:55:24 since it wraps around, if you spawn gliders on an empty plane they will live forever until they hit something 18:55:25 the most bestest CA is wireworld. 18:55:51 so i hypothesize that there's some natural feedback between the complexity of existing patterns and the ability of created gliders to add complexity 18:55:54 Phantom_Hoover: that's a fun fact 18:56:00 i like von neumann's because it's so ridiculous 18:57:42 Evoloop is best CA. 18:58:26 http://en.wikipedia.org/wiki/File:Pixel_golly.gif efficient 19:01:16 I wonder if anyone's gotten around to building a true replicator in Life 19:02:40 imo the most bestest CA is the one everyone should live in 19:02:51 and monqy already lives in?? 19:05:01 Phantom_Hoover: http://www.argentum.freeserve.co.uk/lex_u.htm#universalconstructor yeah 19:05:45 that's outdated 19:06:05 since then someone gave an explicit pattern for something that's almost, but not quite, a true replicator 19:06:41 http://b3s23life.blogspot.co.uk/2013/01/replicator-redux.html 19:06:46 -!- monqy has joined. 19:08:09 hi monqy 19:08:13 welcome to our little channel 19:08:31 #haskell-lens was bigger than #esoteric earlier 19:09:00 shachaf, uh, shut up? 19:09:12 -!- oerjan has joined. 19:09:19 oerjan: Should I? 19:09:26 I think Phantom_Hoover might be right. 19:09:52 certainly not! 19:09:53 oerjan: You have 1 new message. '/msg lambdabot @messages' to read it. 19:10:41 now to go see what i was answering -> 19:18:11 `addquote shachaf: LC_ALL=de_DE.utf-8 errno -l Veraltete NFS-Dateizugriffsnummer Eingabe-/Ausgabefehler "Unterbrechung während des Betriebssystemaufrufs" i think that was in the Ring Cycle 19:18:15 946) shachaf: LC_ALL=de_DE.utf-8 errno -l Veraltete NFS-Dateizugriffsnummer Eingabe-/Ausgabefehler "Unterbrechung während des Betriebssystemaufrufs" i think that was in the Ring Cycle 19:19:54 there was a bot in another channel such that we had it send arbitrary CTCPs with its echo command 19:20:09 ^ctcp ACTION can do that too 19:20:18 ...well, could. 19:20:23 ^show 19:20:24 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list 19:20:42 ^me easily does this 19:20:43 * fungot easily does this 19:21:46 i guess ^ctcp wasn't saved. 19:22:57 ^tell what now 19:22:57 I think you mean @tell instead? 19:23:11 ^pow2 5 19:23:11 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608 16777216 33554432 67108864 134217728 268435456 536870912 1073741824 2147483648 42949672 ... 19:23:21 ^show pow2 19:23:21 +2[[<+7[-<+7>]>[-<+<+>>]<[->+<]<-2.[-]<]+4[->+8<]>.[-]>>[-[>+2<-[>+2<-[>+2<-[>+2<-[>-8>+>[->+>+<2]+>>[<2->>[-]]<2[>+<-]>[-<+>]<4-[>+2<-[>+2<-[>+2<-[>+2<[-]]]]]]]]]]<[->+<]>+>[-<+>]>>]<3] 19:24:13 ^reverb verily brevity 19:24:13 vveerriillyy bbrreevviittyy 19:24:19 or not. 19:24:38 ^rev obvious? 19:24:38 ?suoivbo 19:24:39 Unknown command, try @list 19:24:45 ^rev2 obvious? 19:24:46 ?suoivbo 19:24:46 Unknown command, try @list 19:24:58 ^echo fib 19:24:58 fib fib 19:25:02 wat 19:25:08 er 19:25:12 ^show fib 19:25:13 >+10>+>+[[+5[>+8<-]>.<+6[>-8<-]+<3]>.>>[[-]<[>+<-]>>[<2+>+>-]<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>[-]>+>+<3-[>+<-]]]]]]]]]]]+>>>]<3][] 19:25:17 ^fib 19:25:17 0.1.1.2.3.5.8.13.21.34.55.89.144.233.377.610.987.1597.2584.4181.6765.10946.17711.28657.46368.75025.121393.196418.317811.514229.832040.1346269.2178309.3524578.5702887.9227465.14930352.24157817.39088169.632459 ... 19:26:17 ^eval 19:26:20 ^eval what 19:26:25 ^show eval 19:26:25 ()! 19:26:30 fancy. 19:27:47 ^show echo 19:27:47 >,[.>,]<[<]+32[.>] 19:46:17 ^show 19:46:17 echo reverb rev rot13 rev2 fib wc ul cho choo pow2 source help hw srmlebac uenlsbcmra scramble unscramble asc ord prefixes tmp test celebrate wiki chr ha rainbow rainbow2 welcome me tell eval elikoski list 19:46:27 The best "eval" ever. 19:46:42 ^show ul 19:46:42 >,[>,]<[<]>[<+4[>-8<-]+>-[-7[-2[<+3[>-4<-]+>[<+4[>-5<-]+>[-11[-3[[-]<2[>[-]>+<2-]>>[<2+>>-]+<[->-<3[[>+<-]<]>>[>]]>[->[>]<[[>+<-]<]<2[[>+<-]<]<[[>+<-]<]>>[>]>[[[>]>+<2[<]>-]<2[[>+<-]<]>>[>]>[>]>[<2[<]<[<]<+>>[>]>[>]>-]<2[<]>]>>[[<+>-]>]<2[<]]]<[->>[>]<[[>>+<2-]<]<2[[>+<-]<]>+>[>]+5[>+8<-]+2>-[<+[<]>+[>]<-]]>]<[->>[[<2+>>-]>]<3[[>+<-]<]]>]<[-<[[<]>.[-]>[[<+>-]>]>>[[<+>-]>]<2[<]<2]>>>[[<+>-]>]<2[<]<]>]<[->>[>]<[[>+<-]<]<2[>>>>[>] 19:46:49 That's probably what ^ul used to be. 19:47:09 i vaguely recall that 19:51:57 -!- NihilistDandy has quit (Quit: Textual IRC Client: www.textualapp.com). 19:53:48 ^rev foobar 19:53:48 raboof 19:53:50 ^rev2 foobar 19:53:50 raboof 19:53:51 ... 19:53:54 ^show rev 19:53:54 >,[>,]<[.<] 19:53:55 ^show rev2 19:53:55 >,[>,]<.<[.<] 19:54:38 I don't quite see the point of that. 19:55:37 ^rev2 19:57:00 ^rot13 ravine 19:57:00 enivar 19:57:05 ^rev ravine 19:57:05 enivar 19:57:07 -!- Taneb has joined. 19:57:08 QED???????? 20:00:56 -!- ogrom has joined. 20:01:09 ^rot13 QED 20:01:09 DRQ 20:03:07 -!- oklopol has joined. 20:03:11 pok 20:03:27 Phantom_Hoover: Have you considered /nick Fandom_Hoover 20:04:35 -!- ineiros has quit (Remote host closed the connection). 20:04:42 -!- ineiros has joined. 20:05:33 Day & Night is the coolest CA imo <-- yes! 20:05:45 oerjan: Yes! 20:05:50 I'm glad someone understands me. 20:06:44 -!- carado has joined. 20:11:37 -!- zzo38 has joined. 20:22:24 -!- ais523 has joined. 20:23:52 -!- j201 has joined. 20:24:26 -!- AnotherTest has quit (Quit: Leaving.). 20:29:41 hardest part about Windows development: getting used to the difference between ls and dir 20:29:53 and then getting back to ls again when you're going back to Linux again 20:30:02 perhaps I should just install a ls for Windows 20:32:43 elliott: ais523: http://esolangs.org/w/index.php?title=1mpr0mp2&curid=3430&diff=35321&oldid=20650 20:33:15 * ais523 looks 20:33:22 aha, spam! 20:33:27 do you want me to delete it from recent changes? 20:33:32 or just revert it and block the user? 20:33:43 yeah otherwise i'd undone it myself 20:34:10 OK, I deleted it from recent changes too 20:34:53 I wonder if it's a bot who beat the CAPTCHA, or a human CAPTCHA solver 20:35:23 just install cygwin 20:35:43 avoiding cygwin is part of the point of the exercise 20:35:47 my favorite way to solve CAPTCHAs is to run your own free porn site which is protected by other people's CAPTCHAs 20:36:09 also, it's hard to install cygwin without an internet connection 20:38:08 Do you know of some C program to use with SDL, to play .NSF (including all expansions) and other formats, with the function to play audio, pause audio, and poke data into the VM? 20:38:08 zzo38: You have 1 new message. '/msg lambdabot @messages' to read it. 20:38:12 ?messages 20:38:12 shachaf asked 11h 21m 3s ago: What about newtype Foo b s a r = Foo (Either b (s, a -> r)); CodensityAsk (Foo b s a) t? 20:45:54 `learn `? `? `? 20:45:58 I knew that. 20:46:00 `? 20:46:04 ​? ¯\(°_o)/¯ 20:46:05 `? `? 20:46:09 ​`? `? `? 20:46:25 darn. 20:46:43 `rm wisdom/\`? 20:46:46 rm: cannot remove `wisdom/\\`?': No such file or directory 20:46:52 `rm wisdom/`? 20:46:55 No output. 20:50:54 sheesh 20:51:35 `revert 1934 20:51:38 find: `/home/hackbot/hackbot.hg/multibot_cmds/env/wisdom': Permission denied \ Done. 20:51:54 `? `? 20:51:58 See `? for further details. 20:52:04 wat... 20:52:16 shit. 20:52:44 `run chmod a+r wisdom 20:52:48 No output. 20:52:51 `revert 1934 20:52:52 Done. 20:53:15 ais523: that was a nasty effect, do you think i should put the a-r back? 20:53:40 if it breaks hg, it's gregor's fault 20:54:42 HackEgo is smarter than I. it won't answer to its own output. 20:55:01 IRC clients don't receive their own output if not sent directly to themself. 20:55:12 (Some servers have an option to make it do anyways, but this is non-standard.) 20:55:27 @tell Gregor We did chmod a-r wisdom to prevent the rampant nickpinging when people ls'ed it... that apparently made `revert break for things inside it. 20:55:27 Consider it noted. 20:55:27 Also, HackEgo prefixes any message starting with a punctuation mark with a zero-width space. 20:55:42 oh well. 20:56:08 If you have rampant nickpinging then it is rather the client which needs to be reconfigured. 20:56:29 sigh. my feeble plans have been foiled again. 20:57:20 If you send a message to a channel in IRC, you will not receive a copy of the message. If you send directly to yourself, though, then you will receive a copy of the message. 20:57:34 yeah 20:58:05 irc clients are responsible for writing out their user's message 20:58:07 `run echo "What it says." >wisdom/"As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. " 20:58:09 bash: -c: line 0: unexpected EOF while looking for matching ``' \ bash: -c: line 1: syntax error: unexpected end of file 20:58:12 wat 20:58:30 `yes 20:58:31 it is the same reason why bots don't know what they've written 20:58:32 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 20:58:38 but only when they've joined 20:58:53 `run echo "What it says." >wisdom/'As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. 20:58:54 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 20:59:01 hmph 20:59:05 --You need to close the quote 20:59:11 `run echo "What it says." >wisdom/'As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead." 20:59:12 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 20:59:18 See 20:59:22 That worked perfectly 20:59:29 fancy 20:59:37 Taneb: my point was to pad it with spaces 20:59:38 Anyway I'm asleep 20:59:42 Don't listen to me 20:59:54 I think you shouldn't add that. I think if you have problem with nick pinging that is the client that the user should reconfigure if they don't want that. 21:00:39 zzo38: people don't seem to agree with that. 21:00:54 `run echo "What it says." >wisdom/'As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. 21:00:56 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 21:01:10 -!- WeThePeople has quit (Quit: Leaving). 21:01:16 oh hm 21:01:38 -!- j201 has quit (Quit: ChatZilla 0.9.89 [Firefox 19.0/20130130080006]). 21:02:15 `run echo "What it says." >wisdom/'As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. 21:02:17 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 21:02:25 `echo run echo "What it says." >wisdom/'As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. 21:02:27 run echo "What it says." >wisdom/'As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. 21:02:55 `run echo "What it says." >wisdom/'As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. ' 21:02:56 bash: wisdom/As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. 21:03:04 `ls wisdom 21:03:05 ​`? \ ? \ ⌨ \ ☃ \ 🐐 \ $1? \ ais523 \ america \ atriq \ atrix \ augur \ banach-tarski \ bike \ boily \ bonvenon \ brain \ brainf**k \ brainfuck \ brick \ burma \ c \ cakeprophet \ california \ category \ claustrophobia \ coffee \ comonad \ coppro \ cyberiad \ devious \ d-module \ egobot \ ehird \ elliot \ elliott \ endofunctor \ endomorphis 21:03:12 oerjan: That is no excuse. If you don't want to follow the protocol, then don't use it. 21:03:43 zzo38: what? there is nothing in the protocol that says people shouldn't be pinged when their nick is mentioned. it is common practice. 21:04:25 There is nothing in the protocol that say people *should* be pinged when their nick is mentioned. If you want to, that is your choice to set up your client configured that way. 21:04:27 and adjusting it for the behavior of a single bot is unreasonable 21:05:08 zzo38: nickpinging is considered an annoyance on irc. that is a social rule, which is as much a part of irc as the protocol is. 21:05:21 *excessive nickpinging 21:05:53 oerjan: one of the bots on another channel changes characters for similar-looking ones in order to avoid pinging people 21:06:11 nickpinging is irrelevant to the protocol, it is a setting in your client 21:06:11 ais523: I think that is a bad idea!! 21:06:43 Since it prevents copy/paste from working properly! 21:06:49 There may be other solutions, though. 21:07:55 Such as use NOTICE messages. That *is* part of the protocol that you should use NOTICE messages to avoid auto-reply. 21:09:52 zzo38, well yes, but most clients don't implement it like that 21:10:27 Then they are not following the protocol correctly. My client does follow the protocol and if yours doesn't, that is not my fault that is your fault. 21:10:29 xchat for instance treat a channel notice as something thats highlights you 21:10:47 zzo38, IRC is pretty much based on de facto standards these days 21:11:05 most modern IRC stuff is not in any RFC 21:11:32 like the 005 ISUPPORT line that tells you what modes and so on the server supports 21:11:35 `run echo "What it says." >wisdom/'As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. ' 21:11:35 and how to parse them 21:11:37 bash: wisdom/As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. 21:11:45 only a de facto standard 21:11:51 i wonder what's wrong. 21:11:52 oerjan, annoying spaces 21:12:08 `run echo "What it says." >wisdom/'As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. ' 21:12:09 IRC has no standard 21:12:09 bash: wisdom/As this directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. : File name too long 21:12:10 oerjan, I got an entire line of spaces at the end of your line and the end of HackEgo's line 21:12:12 RFCs are not standards 21:12:17 they are exactly what they say on the tin 21:12:18 oerjan, what the hell is going on 21:12:23 there is no single defined IRC protocol 21:12:25 Adding additional stuff which is optional, I think is OK though. 21:12:27 oerjan: can't you do this in PM? 21:12:36 Vorpal: i'm trying to create a very long filename in wisdom/ to hide the nicks 21:12:46 ...oh wtf 21:12:47 oerjan, okay 21:13:06 fine, i'm giving up, if people are going to complain in addition... 21:13:21 also wtf, nix* should support that length of filenames 21:13:24 oerjan: it was more of a suggestion to avoid complaints 21:13:41 oerjan, and just do it in a pm 21:13:51 oerjan, it wouldn't be annoying for you 21:13:55 coppro: There is no IRC protocol? Why do you say that? I use the IRC protocol. 21:14:02 and it would be less annoying for everyone else 21:16:42 zzo38: There is no standard for the IRC protocol 21:17:44 coppro: No, it is just that your client doesn't follow the standard. 21:17:56 zzo38: Please provide me a copy of the standard 21:18:04 as agreed to by implementers of it 21:18:14 that means that an RFC is insufficient 21:18:19 because an RFC does not define a standard 21:18:50 I know it says it doesn't define a standard 21:19:12 But still, the RFC is what I used to implement the client and the server 21:19:32 And anyways if you really think there is no standard, then the RFC should be as good as otherwise. 21:20:20 Some others have follow the RFC, too. 21:21:32 The RFC has SUMMON command but most IRC servers doesn't have such things, is one thing. 21:21:46 But it can be OK if it is not applicable to your computer. 21:22:30 no it is not 21:22:40 most implementations of IRC do not follow the RFCs 21:22:43 ok i tried some more, and failed for an entirely different reason: `ls wisdom sorts case-insensitively and ignores non-alphanum characters if there are any alphanum ones. so there is no way to get the message _first_. i guess i could pad with AAAAAA to get it nearly first. 21:23:02 just hack ls imo 21:23:06 coppro: I know they don't. But probably they should! 21:23:10 not really 21:23:21 nobody follows them because there's a bunch of shit in them 21:23:28 is [ still lowercase { in irc 21:23:31 if they did, we'd only have up to 9 letter nicks (iirc) 21:23:36 Bike: yes 21:23:39 yep 21:23:59 `run echo '[{' | iconv -f iso646-fi 21:24:01 ​Ää 21:24:05 It is not extensions to the protocol I am complaining about, it is following the standard parts of the protocol wrongly, that I complain about. 21:25:04 `run echo $PATH 21:25:05 ​/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin 21:25:17 coppro: hm that could actually work :P 21:25:28 Even extensions should follow the protocol as much as it applies, but, it doesn't! Such as the CS and NS commands which don't follow the protocol, it doesn't parse the parameters separated as the IRC protocol says, so that is the kings of things I am saying is wrong. 21:26:03 oerjan: ln sl ls 21:26:58 s/kings/kinds/ 21:27:00 coppro: um i _do_ want ls to work if you don't use it on wisdom you know. which is a bit of a problem; how do you get a shell script to pass its _exact_ arguments to another command? 21:27:30 if Scotland becomes an independent country, what will their ccTLD be 21:27:38 `run which ls 21:27:40 ​/bin/ls 21:27:42 oerjan: $@ I think 21:29:12 aha it's specially magic to work that way 21:30:22 kmc: .ab for alba of course 21:31:22 heh 21:32:25 What I mean by following the protocol, is that if both the client and server will send/receive things only according to the protocol, that it should work according to the protocol, and that any extensions follow according to the similar format to avoid confusion, although neither has to accept the extensions, since then it is a extended protocol instead. 21:32:45 http://en.wikipedia.org/wiki/Proposed_top-level_domain 21:32:50 .vlaanderen is probably the worst of these 21:32:52 either that or .gay 21:33:14 kmc: we had our provincial prime minister visit scotland to help them with their independentist movement. 21:33:16 ._. 21:33:57 what the hell is .eng supposed to be for... 21:34:08 is it some kind of BNP thing 21:34:12 I propose some pseudo-TLDs such as .ipv6, .ipv4, .opts, .proc 21:34:47 http://www.doteng.org/ right 21:34:56 poor oppressed english 21:35:16 I don't know what is your opinion of pseudo-TLDs anyways? 21:36:03 heh, Proposed internationalized ccTLDs [..] .ελ 21:38:43 i don't even know how the BNP feels about the scottish and the welsh 21:39:00 it is the British National Party and not the English National Party 21:39:07 but don't expect racists to be terribly consistent 21:39:10 there's an english national party too 21:39:12 it's not nearly as insane 21:39:13 i just meant, you know, whining 21:39:30 is .web the TLD equivalent of stumbling upon an AbstractFactoryBuilderManagerWrapperDecorator? can you get *more* vague than .web? 21:39:44 .net 21:39:51 -!- Phantom_Hoover has quit (Ping timeout: 276 seconds). 21:39:55 i like .africa as well 21:39:59 you know, the country of africa 21:40:02 full of poor people and lions 21:40:13 «.ln and .le - Currently being sold by Dennis Hope's "Lunar Embassy Commission" alongside .lunar, .moon, .venus, .mars, .jupiter, .saturn, .uranus, .neptune, .pluto, .space. People who purchase novelty deeds for outer space property from him are also given free domains.» 21:40:26 -!- Phantom_Hoover has joined. 21:40:49 .le would make for nice French novelty domains. «www.mange-moi.le». 21:42:54 I don't really like protocol TLDs such as .mobi .web .gopher and so on. 21:43:07 I think they are not what TLDs are for. 21:43:27 does anyone really use urls as intended, with schemas and all 21:43:28 pest-control.gopher 21:43:59 canada.eh 21:44:01 Bike: I only use them with schemas and stuff like that 21:44:24 (That is, whatever parts are applicable.) 21:44:27 Bike: lmao at doteng.org 21:44:58 England is again being treated as second class to Scotland and Wales - give England parity on the net 21:48:23 -!- Nisstyre has quit (Ping timeout: 255 seconds). 21:49:39 -!- trout has changed nick to constant. 21:50:14 I am not a Nationalist by any means but this seems yet another case where the 53000000+ inhabitants of England are ignored. We should have the suffix.en. In other respects it's as if inhabitants of England should not have some pride in their Nation or not have the world to know they are an entity and have a voice hopefully for good. 21:50:20 great petition 21:51:58 -!- asiekierka has quit (Excess Flood). 21:52:08 -!- TwilightSpockle has changed nick to Gregor. 21:52:09 -!- Gregor has quit (Excess Flood). 21:52:22 -!- Gregor has joined. 21:52:46 -!- Gregor has changed nick to Guest56826. 21:58:32 `ls wisdom 21:58:33 As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. 21:58:39 there you go. 21:58:42 -!- asiekierka has joined. 21:58:54 (pretty easy to get around if you really want, of course) 21:59:07 is .en currently used? 22:00:32 Don't think so. 22:03:13 `run ls wisdom | tr n-za-mN-ZA-M a-zA-Z 22:03:14 Nf gur jvfqbz qverpgbel pbagnvaf znal svyrf anzrq nsgre avpxf, yvfgvat vg va choyvp naablf crbcyr. Gel `cnfgrjvfqbz vafgrnq. 22:03:29 that's a rot-13 tr, right? 22:03:30 -!- boily has quit (Quit: Poulet!). 22:03:34 -!- cuttlefish has quit (Remote host closed the connection). 22:03:36 yeah 22:03:41 IIRC there's some crazy golfed way to do rot13 which doesn't work on all punctuation marks 22:03:47 `run /bin/ls wisdom | tr n-za-mN-ZA-M a-zA-Z 22:03:48 ​`? \ ? \ ⌨ \ ☃ \ 🐐 \ $1? \ nvf523 \ nzrevpn \ ngevd \ ngevk \ nhthe \ onanpu-gnefxv \ ovxr \ obvyl \ obairaba \ oenva \ oenvas**x \ oenvashpx \ oevpx \ ohezn \ p \ pnxrcebcurg \ pnyvsbeavn \ pngrtbel \ pynhfgebcubovn \ pbssrr \ pbzbanq \ pbcceb \ plorevnq \ qrivbhf \ q-zbqhyr \ rtbobg \ ruveq \ ryyvbg \ ryyvbgg \ raqbshapgbe \ raqbzbecuvf 22:03:52 `cat bin/ls 22:03:54 ​#!/bin/sh \ if [ "$1" = wisdom -o "$1" = wisdom/ ]; \ then echo 'As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead.'; \ else exec /bin/ls "$@"; \ fi 22:04:01 `ls wisdom// 22:04:03 ​`? \ ? \ ⌨ \ ☃ \ 🐐 \ $1? \ ais523 \ america \ atriq \ atrix \ augur \ banach-tarski \ bike \ boily \ bonvenon \ brain \ brainf**k \ brainfuck \ brick \ burma \ c \ cakeprophet \ california \ category \ claustrophobia \ coffee \ comonad \ coppro \ cyberiad \ devious \ d-module \ egobot \ ehird \ elliot \ elliott \ endofunctor \ endomorphis 22:04:08 DIE 22:04:09 heh 22:04:12 oh hey elliott 22:04:16 `rm -r wisdom 22:04:17 rm: invalid option -- ' ' \ Try `rm --help' for more information. 22:04:21 elliott: what does the second slash do? 22:04:27 ais523: fool oerjan 22:04:28 `addquote DIE oh hey elliott 22:04:31 oh, I see 22:04:31 947) DIE oh hey elliott 22:04:34 coppro: what is the point of that 22:04:37 it's ls that was changed 22:04:38 elliott: express my rage 22:04:40 not that it works 22:04:50 `rm widsom/* 22:04:51 rm: cannot remove `widsom/*': No such file or directory 22:04:56 `rm wisdom/* 22:04:57 rm: cannot remove `wisdom/*': No such file or directory 22:05:01 stop 22:05:01 `ls ./wisdom | tr -d a-z 22:05:02 ​/bin/ls: cannot access ./wisdom | tr -d a-z: No such file or directory 22:05:07 `run ls ./wisdom | tr -d a-z 22:05:08 ​`? \ ? \ ⌨ \ ☃ \ 🐐 \ $1? \ 523 \ \ \ \ \ - \ \ \ \ \ ** \ \ \ \ \ \ \ \ \ \ \ \ \ \ - \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 8 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 4 \ \ \ \ \ \ - \ \ \ \ \ \ \ 19 \ 20 \ 21 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ø \ Ø 22:05:25 `echo ø | tr -d a-z 22:05:26 ​ø | tr -d a-z 22:05:34 nice 22:05:35 `echo ø | LC_ALL=en_US.UTF-8 tr -d a-z 22:05:36 ​ø | LC_ALL=en_US.UTF-8 tr -d a-z 22:05:38 coppro: maybe if all you do in the channel is whine that you are being pinged and mess with bots because of it to show everyone how angry you are you should just... /part 22:05:40 `run echo ø | LC_ALL=en_US.UTF-8 tr -d a-z 22:05:41 ​ø 22:05:50 and then you'd not be getting pinged by a channel you don't want to look at. 22:06:06 um sometimes he says stuff about that webcomic 22:06:09 you know, the one sgeo likes 22:06:14 ais523: fool oerjan <-- i _said_ it was simple. i don't want to do something which breaks an unrelated ls use. 22:06:31 `run echo ø | LC_ALL=da_DK.UTF-8 tr -d a-z 22:06:32 ​ø 22:06:38 elliott: maybe I should. but you usually are the one to /part this channel in rage 22:06:41 oerjan: right. I think you can normalise the path though. 22:06:42 so meh 22:06:47 `run LC_ALL=da_DK.UTF-8 locale 22:06:48 LANG=en_NZ.UTF-8 \ LANGUAGE= \ LC_CTYPE="da_DK.UTF-8" \ LC_NUMERIC="da_DK.UTF-8" \ LC_TIME="da_DK.UTF-8" \ LC_COLLATE="da_DK.UTF-8" \ LC_MONETARY="da_DK.UTF-8" \ LC_MESSAGES="da_DK.UTF-8" \ LC_PAPER="da_DK.UTF-8" \ LC_NAME="da_DK.UTF-8" \ LC_ADDRESS="da_DK.UTF-8" \ LC_TELEPHONE="da_DK.UTF-8" \ LC_MEASUREMENT="da_DK.UTF-8" \ LC_IDENTIFICATION="da_DK 22:06:54 en_NZ? what a country 22:07:19 yeah, people have commented on HackEgo being set to en_NZ before now 22:07:31 it's because gregor is from new zealand 22:07:35 coppro: what's that supposed to do with anything / do you not want to associate yourself with elliott / maybe you should leave you're associating with him just by being in here 22:08:27 -!- RodgerTheGreat has joined. 22:08:30 coppro: actually, I thought it was normally me who rageparted 22:08:33 although elliott does it too 22:09:11 it goes in and out of fashion 22:09:27 monqy: oh my god your right 22:09:29 i should leave 22:09:42 also elliot is a human 22:09:48 i should commit suicide to avoid shame by association 22:09:55 the worst shame of all 22:10:13 coppro: you misspelt his name deliberately? 22:10:28 im not sure 22:10:53 unfortunately i can't stick around to see this to its conclusion / prior engagements / bye bye 22:10:56 -!- monqy has quit (Quit: hello). 22:11:26 `? elliot 22:11:28 No one was ever called Elliot. 22:11:40 -!- asiekierka has quit (Excess Flood). 22:12:02 oerjan: right. I think you can normalise the path though. <-- i don't know how to do that without hunting through more manuals than i have patience for. also it mustn't break if it's actually a flag or something. 22:12:03 coppro: oh no youre using monqy spelling 22:12:22 oerjan: hmm… without knowing the context, I'll guess readlink -f 22:12:26 ais523: *your 22:12:33 coppro: no he just removes apostrophes 22:12:44 he literally just used apostrophes the last line he said 22:12:57 `? ☃ 22:12:59 ​☃ brrr... 22:13:50 def method_missing(n, *a, &b); send(methods.min_by { |m| levenshtein(n.to_s, m.to_s) }, *a, &b); end 22:13:59 ais523: absolutely not. 22:14:13 elliott: monqy doesn't always use monqy spelling 22:14:30 ais523: the argument isn't guaranteed to be an actual existing file 22:14:35 it's reserved for specific circumstances 22:14:49 oerjan: oh, readlink -m then 22:15:08 or readlink -e if you want the directory it's in to exist 22:15:38 and it would _still_ break if someone just adds a flag in front of the file argument. 22:16:18 yeah, you'd have to filter out things that started with - 22:16:32 and then someone'd do something like mkdir -; ls -- -/../wisdom 22:16:42 -!- asiekierka has joined. 22:19:14 anyway, I think it's probably OK to have an `ls that will stop people listing wisdom by mistake 22:19:27 it'll always be possible to do it intentionally if you really want to 22:19:49 mhm 22:21:09 ais523: so what's the best poison to get rid of housemates i'm sure you're an expert on this. 22:21:32 oerjan: I don't think I'd ever attempt to get rid of housemates 22:21:36 not via poison, at least 22:21:42 I'd suggest something non-fatal, anyway 22:21:50 how boring 22:21:58 they'd likely leave and/or press criminal charges upon discovering you attempted to poison them 22:22:01 I suggest using a poison which does not harm the environment or light your house on fire. 22:22:04 regardless of whether or not it suceeded 22:22:22 But first tell them to go away; maybe you need not waste any poison. 22:23:20 but telling them to go away would be rude! 22:24:18 `stat wisdom 22:24:19 ​ File: `wisdom' \ Size: 4096 Blocks: 8 IO Block: 1024 directory \ Device: 10h/16dInode: 752131 Links: 2 \ Access: (0755/drwxr-xr-x) Uid: ( 5000/ UNKNOWN) Gid: ( 5000/ UNKNOWN) \ Access: 2013-02-01 21:20:23.000000000 +0000 \ Modify: 2013-02-01 21:20:14.000000000 +0000 \ Change: 2013-02-01 21:20:14.000000000 +0000 22:24:33 oerjan: poisoning them would probably be ruder 22:24:42 `stat -c %i wisdom 22:24:44 stat: missing operand \ Try `stat --help' for more information. 22:24:45 why do you want to get rid of your housemates anyway? 22:24:57 `run stat -c %i wisdom 22:24:58 752131 22:25:06 because they're occupying the kitchen with theire girlfriend hth 22:25:07 `cat bin/ls 22:25:08 ​#!/bin/sh \ if [ "$1" = wisdom -o "$1" = wisdom/ ]; \ then echo 'As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead.'; \ else exec /bin/ls "$@"; \ fi 22:25:10 kmc: oh no, I know what you're doing 22:25:13 *their 22:25:14 oh, in reverse 22:25:20 I thought you were planning to `ls wisdom by inode 22:25:28 rather than setting ls to reject the inode 22:26:23 this all seems a bit... overengineered 22:26:43 i know, checking for the trailing / might be overkill 22:27:14 maybe you could just tell people not to do `ls wisdom 22:27:34 Bike: every newbie in the channel does it. 22:27:50 what's the log paste command again 22:27:51 that's not what i call a sustainable policy. 22:28:07 `run echo -e '#!/bin/sh\nif [ $(stat -c %i "$1") -eq 752131 ]; then echo "As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead."; else exec /bin/ls "$@"; fi' > bin/ls 22:28:10 No output. 22:28:12 `ls 22:28:13 ​/hackenv/bin/ls: 3: Syntax error: EOF in backquote substitution 22:28:23 oh backquotes work inside "" don't they :/ 22:28:42 `pastelogs "`ls wisdom" 22:28:44 kmc: i did the same mistake 22:29:13 `run echo -e '#!/bin/sh\nif [ $(stat -c %i "$1") -eq 752131 ]; then echo '"'"'As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead.'"'"'; else exec /bin/ls "$@"; fi' > bin/ls 22:29:15 Is there the environment variable to check the sender and recipient of the message? 22:29:19 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.28297 22:29:22 No output. 22:29:23 `ls 22:29:24 stat: cannot stat `': No such file or directory \ [: 2: -eq: unexpected operator \ = 0 \ bin \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ test \ wisdom \ zalgo.hs 22:29:38 `cat bin/ls 22:29:39 ​#!/bin/sh \ if [ $(stat -c %i "$1") -eq 752131 ]; then echo 'As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead.'; else exec /bin/ls "$@"; fi 22:29:50 nice 22:29:53 `pastelogs `ls wisdom 22:29:55 kmc: you cannot assume the first argument is a file 22:30:00 oh yeah :/ 22:30:05 oh hm 22:30:06 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.18708 22:30:18 did that break mine as well... 22:30:29 `run echo -e '#!/bin/sh\nif [ "$(stat -c %i "$1" 2>/dev/null)" -eq 752131 ]; then echo '"'"'As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead.'"'"'; else exec /bin/ls "$@"; fi' > bin/ls 22:30:32 No output. 22:30:34 `ls 22:30:35 ​[: 2: Illegal number: \ = 0 \ bin \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ test \ wisdom \ zalgo.hs 22:30:39 fffffffff 22:30:58 so what, maybe once in the entirety of december 22:31:01 oh mine works without argument, ok 22:31:15 `run stat -c %i "" 22:31:16 stat: cannot stat `': No such file or directory 22:31:20 `run stat -c %i "" 2>/dev/null 22:31:21 No output. 22:31:23 kmc: You can get ls to output inodes. 22:31:25 ok i don't know what the problem is then 22:31:29 How about strace ls? 22:31:31 `strace 22:31:32 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: strace: not found 22:31:47 `run ls -id -lmkr wisdom 22:31:48 ​[: 2: Illegal number: \ 752131 wisdom 22:31:53 `run builtin ls -id -lmkr wisdom 22:31:54 bash: line 0: builtin: ls: not a shell builtin 22:31:56 `run command ls -id -lmkr wisdom 22:31:58 ​[: 2: Illegal number: \ 752131 wisdom 22:31:58 `run /bin/ls -id -lmkr wisdom 22:31:58 `run echo -e '#!/bin/sh\nif [ "$(stat -c %i "$1" 2>/dev/null)" = 752131 ]; then echo '"'"'As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead.'"'"'; else exec /bin/ls "$@"; fi' > bin/ls 22:31:59 752131 wisdom 22:32:01 No output. 22:32:04 `ls 22:32:05 ​= 0 \ bin \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ test \ wisdom \ zalgo.hs 22:32:06 So ls -id "$@". 22:32:10 And then compare that against the inode. 22:32:11 `ls wisdom 22:32:12 As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. 22:32:12 Seems pretty reliable. 22:32:14 yay 22:32:43 `run ls -id "$@" wisdom 22:32:45 752131 wisdom 22:33:05 -!- Taneb has quit (Quit: Leaving). 22:33:16 `run stat -c %i wisdom 22:33:17 752131 22:33:18 `run echo -e '#!/bin/sh\nif ls -id "$@" | grep -q '^752131 '; then echo '"'"'As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead.'"'"'; else exec /bin/ls "$@"; fi' > bin/ls 22:33:21 No output. 22:33:26 `ls 22:33:29 huh it _is_ stable 22:33:38 ​/hackenv/bin/ls: 2: Cannot fork \ = 0 \ bin \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ test \ wisdom \ zalgo.hs 22:33:44 dur 22:33:48 `run echo -e '#!/bin/sh\nif /bin/ls -id "$@" | grep -q '^752131 '; then echo '"'"'As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead.'"'"'; else exec /bin/ls "$@"; fi' > bin/ls 22:33:51 No output. 22:33:55 `ls 22:33:57 ​= 0 \ bin \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ test \ wisdom \ zalgo.hs 22:33:58 `ls bin 22:33:59 ​? \ @ \ WELCOME \ addquote \ allquotes \ anonlog \ aseen \ botsnack \ bseen \ calc \ define \ delquote \ emoclew \ etymology \ forget \ fortune \ frink \ gaseen \ google \ h \ ?h \ h! \ hatesgeo \ ?hh \ interp \ joustreport \ jousturl \ json \ karma \ karma- \ karma+ \ learn \ list \ liste \ lists \ log \ logurl \ ls \ lua \ luac \ 22:34:01 `ls wisdom 22:34:02 As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. 22:34:07 ok i declare this Good Enough 22:34:11 thanks all for putting up with it 22:35:49 `run ls -l . 22:35:51 total 36748 \ -rw-r--r-- 1 5000 5000 0 Jan 31 20:36 = 0 \ drwxr-xr-x 2 5000 5000 4096 Feb 1 22:33 bin \ -rw-r--r-- 1 5000 5000 4 Jan 31 20:36 canary \ -rw-r--r-- 1 5000 5000 341112 Jan 31 20:36 dbg.out \ -rw-r--r-- 1 5000 5000 2974360 Jan 31 20:36 egobot.tar.xz \ drwxr-xr-x 3 5000 5000 4096 Jan 31 20:36 etc \ drwxr- 22:36:11 `ls ./wisdom/ 22:36:12 As the wisdom directory contains many files named after nicks, listing it in public annoys people. Try `pastewisdom instead. 22:37:16 `run ls wisdom/* 22:37:18 wisdom/`? \ wisdom/? \ wisdom/☃ \ wisdom/⌨ \ wisdom/🐐 \ wisdom/$1? \ wisdom/ais523 \ wisdom/america \ wisdom/atriq \ wisdom/atrix \ wisdom/augur \ wisdom/banach-tarski \ wisdom/bike \ wisdom/boily \ wisdom/bonvenon \ wisdom/brain \ wisdom/brainf**k \ wisdom/brainfuck \ wisdom/brick \ wisdom/burma \ wisdom/c \ wisdom/cakeprophet \ wisdom/cali 22:37:19 Next patch bash not to do that. 22:37:28 if you're worried about noobs doing it why would you care about them finding a way around it 22:37:39 i'm with Bike 22:37:55 indeed 22:38:10 especially since /bin/ls is still there the same as always. 22:38:20 just kickban people in a rage like a normal irc channel!! 22:42:43 -!- Bike has quit (Ping timeout: 260 seconds). 22:44:15 -!- augur has quit (Remote host closed the connection). 22:45:25 seriously 22:45:26 -!- Bike_ has joined. 22:47:54 DDR3: trinary memory, the bandwidth increases by 1.5x (compared to binary DDR2 memory) due to using trinary encoding instead of binary 22:48:05 kmc: Can't you just do ls -id wisdom and compare that? 22:48:10 Rather than hardcoding the inode, which might change. 22:48:30 whatever 22:51:29 (the original unary DDR memory allowed only the canonical truth to be stored - while both thread-safe and fast, it was somewhat limited in application) 22:55:43 olsner, trying to find the context to your line about DDR3, but I can't. Did it just start there? 22:55:47 ECC - European (or Error) Control Central: memory with ECC support reports all errors to the central database in Brussels. Manufacturers of faulty memories are fined appropriately. 22:56:01 http://goto.ucsd.edu/~rjhala/liquid/haskell/blog/blog/2013/01/31/safely-catching-a-list-by-its-tail.lhs/ 22:56:09 Vorpal: it started some months ago, dunno when 22:56:12 Am I going to need to read the prior blog posts to understand this? 22:56:14 `quote SDRAM 22:56:15 712) the allocation is done by the "Dynamic" in DRAM before that we used SRAM where everything was preallocated in the factory olsner: So what's this SDRAM then? fizzie: synchronized, it's for multithreading 22:56:33 ah 22:56:41 olsner, and this has been a regular thing since then? 22:56:48 no, this is the second installment 22:56:51 ah 22:56:56 olsner, what about QDRAM? 22:57:34 ah, Quantum DRAM? in layman's terms it's everywhere at once but seldom in your particular computer 22:57:38 -!- Guest56826 has changed nick to TwilightSpockle. 22:57:58 ah 22:58:07 olsner, that is a bit of a bummer then 22:58:20 olsner, RAMBUS? 22:59:06 there's a common myth that QDRAM stands for quad double ram, but that's just silly since that'd be some sort of octaram and ram is already measured in octets 22:59:41 heh 23:01:30 olsner, actually rambus is not related to memory at all. It is basically sheep herding using large vehicles. 23:01:48 yes, the so-called trick question 23:02:39 a rambus can either be a bus used for ramming or a bus dressed out as a ram ... both are implements extensively used in sheep herding 23:02:49 heh 23:02:54 and if you believe all this, you're what the germans call RAMMSTEIN 23:03:09 that or a sheep herder 23:03:18 unless that's what rammstein means 23:03:35 olsner, google translate fails that :/ 23:03:43 olsner, but it *does* detect it as german 23:03:47 which is interesting 23:04:07 Vorpal: btw, rammstein is also the name of a well-known german band 23:04:14 oh okay 23:04:25 yes 23:04:28 olsner, I wouldn't know, I don't listen much to modern music 23:04:39 most sheep herders don't 23:05:26 olsner, are you saying I'm a sheep herder!? Come on, don't insult me. I'm a honest goat owner. I'm not some shady sheep farmer. 23:05:27 "They took their name (adding an "m") from the location of a German tragedy where 80 people were hurt and killed as the result of a crash during an American Air Force flight show. The literal translation of "ram stein" is a battering ram made of stone." 23:05:39 Vorpal: goat are sheep 23:05:48 olsner, now you are getting worse 23:06:03 go tar sheep? 23:06:12 but if you fuck _one_ goat... 23:06:25 olsner, I prefer using pax to tar 23:06:27 it is posix 23:06:34 olsner, ask ais 23:07:00 oerjan: but I use pax as a joke :) 23:07:01 err 23:07:03 olsner: 23:07:04 err 23:07:06 Vorpal: 23:07:08 got there in the end 23:07:10 olsner, anyway I thought DDR memory was a dancing game, right? 23:07:20 ais523, so do I 23:07:27 and it stands for "double data rate" as well as "dance dance revolution" 23:07:38 I think it's clocked on both the rising and the falling clock edge 23:07:49 ais523, you are wrong. Or so says olsner 23:07:56 and that makes your circuitry so much more complex you only do it if you're trying to squeeze out the last few points of performance 23:07:57 i think DDR memory is called "Ostalgie" these days. 23:08:17 olsner, did you say what DDR itself meant? You didn't did you 23:08:48 I didn't, but the memory standard is named from the Deutsche Demokratische Republik ... it took until DDR2 to figure out how to store binary data in the thingies though 23:08:50 ais523, anyway this whole discussion was a big joke, so thus don't treat it seriously :P 23:09:05 Vorpal: I don't think I was :) 23:11:21 ais523, anyway if you are interested, look QDR up, that stuff actually exists. 23:11:36 Vorpal: I know it exists 23:11:48 ais523, I think ODR exists too. Which is insane 23:11:50 from an electronic engineering point of view, I think it's crazy, but see why it might be necessary 23:12:08 it involves breaking simplifying assumptions that are used pretty much everywhere 23:12:13 so it's much harder to reason about such circuits 23:12:15 ais523, oh? 23:12:20 for example? 23:12:38 ais523, I believe RAMBUS was ODR btw 23:12:55 "things happen at leading edges only" and "the clock rate is the only thing that determines timing, because timing differences are eaten up by latches" 23:13:05 you can't use the standard combinatorial+latches model of the circuit any more 23:13:06 oh, apparently the Quadrennial Defence Review was requested as a consequence of the dissolution of the soviets, presumably including the DDR 23:13:09 oh yeah... 23:13:19 olsner, heh 23:13:41 ddr wasn't part of the soviet union. sheesh don't you know _anything_. 23:13:58 (only oppressed by them.) 23:14:54 I presume you have already seen this, but it seems pretty crazy: http://www.bbc.co.uk/news/technology-21193634 23:14:55 oerjan: I don't know anything about Gwleidyddiaeth or any such business 23:15:08 yeah, I've seen that 23:15:30 basically, Antigua were given permission to violate a certain amount of US copyrights as compensation for the US violating a trade agreement, or something like that 23:15:41 ais523, by this logic you could semi-legally move GPL code from US into that country and re-release it as BSD? 23:15:47 I think? 23:16:18 or maybe not 23:16:21 Vorpal: not quite, as far as I can tell there's no way to get a workable downstream license 23:16:29 hm okay 23:16:30 so Americans wouldn't be able to use the resulting code 23:16:42 ais523, well okay, what about the rest of the world? 23:16:50 not at all, or just not under another license? 23:17:03 Vorpal: I don't know 23:17:06 olsner, presumably they could under the original license 23:17:43 presumably... otherwise you could just Antiguate all code and make it unusable in the US 23:19:16 yeah 23:20:35 ais523, what the fuck, BBC breaks middle-click-to-open-in-new-tab 23:20:38 at least in chrome 23:20:41 utterly annoying 23:27:14 can anyone explain the theory behind darcs 23:27:29 I would guess either ais523 or elliott knows where to find out more about it. 23:28:00 https://en.wikibooks.org/wiki/Understanding_Darcs/Patch_theory 23:28:19 my knowledge on the subject is a little patchy 23:32:01 Vorpal, middle-click works fine in chrome for me. 23:32:30 ...but not on article links. 23:32:44 ??? 23:33:24 Vorpal: no, nobody can 23:33:41 (AIUI) 23:33:44 well, that's unfair 23:33:46 it's what ais523 would say :) 23:34:01 hellorpal 23:34:07 hais523 23:34:14 elliott: except I replied with a link 23:34:18 what are some good concurrency primitives 23:34:27 shachaf: how primitive do you want? 23:34:36 mathematically, the mutex is the one we use most often, and we build other things out of that 23:34:47 if you want something practical, compare-and-swap can be more efficient 23:34:57 although it requires some sort of scheduler support if you don't want to busywait 23:35:07 so basically, high-level or low-level? 23:35:10 how about for coöperative threading 23:35:13 high-level and nice 23:35:56 -!- Bike_ has changed nick to Bike. 23:36:00 oh, with coöperative threading, you don't need any primitives but yield 23:36:06 if you're not yielding, you're automatically in a critical section 23:36:54 Well, some things could be nice as primitives. 23:37:03 If you want to communicate with other threads, for example. 23:37:25 `addquote what are some good concurrency primitives shachaf: how primitive do you want? 23:37:29 oh, I was assuming shared memory 23:37:29 948) what are some good concurrency primitives shachaf: how primitive do you want? 23:37:50 without that, you need some sort of send/receive that can figure out what each other are talking about 23:38:18 -!- augur has joined. 23:38:49 hey ais, do you use pi calculus in your academic whatevers? 23:39:17 Shared memory is fine but what sort of variables do you take as primitives? 23:39:38 Bike: no, but enough other people do that I know it's relevant here 23:39:46 I recognise it, but don't really reason with it 23:40:13 kay 23:41:38 it's mostly used in security in my department 23:42:41 ...but not on article links. <-- yeah that is what I tried 23:43:04 elliott, ais523: thanks 23:43:35 if you want something practical, compare-and-swap can be more efficient <-- what about double compare and swap 23:44:00 ais523, as in compare a and swap with b, and also compare c and swap with d. IIRC some old Motorola had that 23:44:22 err, compare a with b and swap with c, and compare c with d and swap with e 23:44:24 obviously 23:44:35 Vorpal: that sounds like an optimization 23:45:07 ais523, iirc it allow you to do some stuff normal CAS can't do reasonably. Like a wait-free queue. Read about that somewhere 23:45:43 ais523: atomicity isn't an optimisation 23:45:50 ais523, I think both needs to match for any of the swap to happen? 23:46:14 elliott: well CAS is enough to implement anything 23:46:18 https://en.wikipedia.org/wiki/Double_compare-and-swap 23:46:23 but it often takes a bunch of commands to do so 23:46:45 ais523, "One of the advantages of DCAS is the ability to implement atomic deques (i.e. doubly linked lists).[2]" 23:46:46 hm 23:47:05 sort-of like you can see C as an optimization of brainfuck 23:48:14 elliott, remember that paper I linked at one point, of that interesting OS that used DCAS amongst other things? 23:48:19 elliott, do you remember the name of it? 23:48:30 some old master thesis iirc? 23:48:37 synthesis? 23:48:52 Synthesis is cool. 23:48:53 Bike, thanks 23:49:00 it's on whatshername's site 23:49:09 valerie... something? 23:50:01 http://valerieaurora.org/synthesis/SynthesisOS/ 23:50:12 * elliott read it as a .ps version. 23:50:17 That HTML version is a bit 90s. 23:50:45 yeah, i have it as pdf, but it's nice to have html sometimes 23:52:09 -!- sirdancealot7 has joined. 2013-02-02: 00:03:51 http://upload.wikimedia.org/wikipedia/commons/8/8a/Birgus_latro_%28Bora-Bora%29.jpg 00:05:03 ooh, it's like a beefier spider crab 00:07:34 coconut crab 00:07:35 huge 00:08:06 -!- asiekierka has quit (Excess Flood). 00:08:18 http://en.wikipedia.org/wiki/File:Japanese_spider_crab.jpg A Good Species 00:11:18 uh what about http://en.wikipedia.org/wiki/File:Giant_isopod.jpg 00:12:02 good isopods 00:12:14 -!- asiekierka has joined. 00:12:39 isopods are the best 00:13:09 invertible pods 00:13:21 especially slaters 00:13:31 don't have lungs, but they're not going to let that stop them 00:13:46 -!- Arc_Koen has left. 00:14:38 -!- epicmonkey has quit (Ping timeout: 255 seconds). 00:18:31 isopodism 00:19:29 sacculina is just weird 00:25:07 Hulu wants me to watch Coronation Street. "Don't miss all the drama rife with Britishisms" it says 00:26:11 you should watch it! 00:26:45 @hoogle lexeme 00:26:45 Text.Read.Lex data Lexeme 00:26:45 Text.Read data Lexeme 00:26:45 Text.Parsec.Token lexeme :: GenTokenParser s u m -> forall a. ParsecT s u m a -> ParsecT s u m a 00:27:29 -!- ogrom has quit (Quit: Left). 00:28:49 yes kmc 00:28:51 watch coronation street 00:35:17 why 00:35:41 um 00:35:44 watch first ask questions later 00:42:33 i don't know what a british soap opera is like 00:42:36 hm, this is interesting http://valerieaurora.org/review/hash.html (looked around the site where synthesis HTML is hosted) 00:42:40 american soap operas are... dumb 00:42:46 elliott, you might be interested in that 00:43:01 elliott, it discusses using hash as a unique key, like git does 00:43:19 pretty sure the paper predates git though 00:46:15 using a hash as a unique key is pretty obvious, really 00:46:18 it's how hash tables work 00:46:57 ais523, except you then compare the value in the bucket to make sure it actually is the key you wanted 00:47:05 yes 00:47:08 ais523, with git or venti you don't 00:47:12 if you had an infinitely large hash table this wouldn't be a problem 00:47:15 you trust the sha1 is unique 00:47:25 if it isn't. Well shit 00:47:26 such as a filesystem 00:47:51 ais523, the sha1 is not unique though, due to the pidgeon hole principle. 00:48:50 yeah, but it's unique in the sense of "if there's a collision, the collision itself will be more valuable than whatever it is you're working on" 00:49:00 ais523, hah 00:49:25 also in the sense of 'random bit flip error in hardware is vastly more likely' 00:49:30 but the paper says maybe not? 00:49:30 ais523, but that is not the point. I do think http://valerieaurora.org/review/hash.html makes some interesting points. 00:49:33 but i didn't read it 00:49:40 what are the interesting points 00:50:32 kmc, yes that is true, but that is over a random data. The paper points out that most data stored in a file system is not random, and thus those calculations can not necessarily be used straight away. 00:52:21 kmc, for example, consider shb1(x) = { if x > 0 : sha1(x); if x = 0 : sha(1) }. That is has almost the same properties as sha1() here, almost the same risk of collision given two random inputs, but would be vastly less useful than sha1 for actual practical non-random data 00:53:34 mm 00:53:39 because it collides 0 and 1 00:53:45 kmc, of course, sha1 doesn't do anything as stupid as that, but the point is that "chance of two random inputs colliding" does not necessarily equal "chance of two file system blocks/commits colliding" 00:54:01 because the latter is highly non-random 00:54:04 sure 00:54:17 i mean, i have md5 collisions on my disk :) 00:54:25 but everyone agrees this means md5 is broken 00:54:31 kmc, ah that nicely brings us to another point 00:55:26 kmc, sha1 is cryptographically secure (or was at the point of writing that paper anyway, in 2003). md5 was suspected of being insecure, but wasn't yet really broken 00:56:31 kmc, who knows if it will be trivial to find collisions for sha1 is 10 years time? You might still have your git repo around then. While for crypo applications, it doesn't matter if a key created today isn't secure any more then. It is probably no longer in use by then anyway 00:57:06 yeah, it's very bad that Git doesn't have any hash upgrade path 00:57:37 and even if it had, what would you do if someone snuck in a collision before you had time to fix it. You would be pretty much screwed 00:58:15 kmc, the same applies to venti, hg (I assume?, I don't know if hg is as stupid as git here) and so on 00:58:22 if you are relying on git for cryptographic assurances, yes 00:59:00 kmc, if you are relying on git for just being able to identify commits uniquely 00:59:00 obviously in many projects using git, if someone can 'sneak in' malicious commits then you are in trouble anyway 00:59:16 Vorpal: if you are relying on git for being able to identify commits uniquely in an adversarial model 00:59:24 well yeah 00:59:56 this doesn't mean git is 'stupid' 01:00:00 is there an adversarial model of revision control 01:00:01 kmc: have yo uwatched coronation street yet 01:00:09 it means git fails to deliver a particular security guarantee that VCSes often don't deliver 01:00:25 kmc, what about rsync? 01:00:25 it fails in proportion to how much SHA-1 fails 01:00:45 people do talk about git as if it has this guarantee, and it sort of does, as long as SHA-1 is okay 01:00:47 kmc, can you know your two sets of files are actually the same? 01:01:10 but yeah, I would not rely on a Git hash to take the place of code signing against a determined attacker who may have broken a world cryptographic hash standard 01:01:13 big fuckin deal 01:01:21 calling Git "stupid" because of that is ridiculous hyperbole 01:01:36 kmc, in the long run, it will most likely become, if not trivial, at least achievable, to generate SHA-1. The technological development is pretty rapid. 01:01:42 yes 01:01:50 git is stupid for unrelated reasons 01:01:53 and then we should upgrade to a new version of Git that uses a better hash 01:01:56 elliott, well yes, as well 01:02:17 kmc, what about deduplicating file systems like venti though 01:02:18 if I sign my code with RSA then in the long run someone will break RSA too 01:02:20 what's your point 01:03:39 can we take this long term and assert that privacy as a concept will only even exist in like one and a half centuries max, and afterwards we'll all be flinging unsigned poo at each other 01:04:23 kmc, my point is that file systems and version control systems, especially file systems, are in for the long run. In crypto applications you are usually not 01:05:09 Bike, you believe civilisation will collapse that soon? 01:05:24 "yes" 01:05:28 fair enough 01:06:03 i guess i could read that three np worlds paper again and then pretend to have a thought-out opinion 01:06:24 Bike, oh? 01:07:44 Impagliazzo's 01:08:02 http://cseweb.ucsd.edu/users/russell/average.ps 01:10:17 Vorpal: not sure re: crypto applications not being for the long run 01:10:34 if da police image my hard drive, I might care that they can decrypt it 15 years later 01:10:44 likewise with any incriminating emails I may have sent 01:10:54 SSH sessions that may have been recorded 01:10:55 etc 01:11:01 kmc, well okay it depends, but the most common applications of message signing and such where you use hashes are not relevant 15 years later 01:11:12 i don't agree 01:11:38 Bike: no no, we will all merge into a highly technological group mind etc.; admittedly still no privacy. 01:11:41 kmc, and a symmetric block cipher such as AES do not involve hashes generally 01:11:46 I wonder if a statute of limitations extension argument from crypto will ever be made. 01:11:51 oerjan: you're blowing my mind man. 01:11:51 if anything I think the VCS is in a better position 01:12:12 if you think nobody has broken SHA-1 yet, but they will soon, you can re-hash all your Git objects with SHA-3 and then refuse to deal with SHA-1 going forward 01:12:34 whereas you can't go back in time and make the police's image of your encrypted hard drive no longer valid 01:13:27 kmc, true, but that is not a hash. That is a different situation. And I meant hashes in cryptography in this context 01:13:27 and i don't know what your point is re: AES not involving hashes 01:13:32 hashes aren't the only things that can be broken 01:13:38 ok 01:13:49 kmc, quite so. But the discussion was about hashesh 01:13:51 hashes* 01:16:22 kmc, my point was that, for the most part, in crypographic contexts, it isn't interesting if, for example, the SHA-1 checksum for the SSL cert is broken 10 years down the line. 01:17:58 hashes in cryptography is generally for signing stuff, so you can verify it. Apart from using it for document signing, I don't see much of an use many years down the line 01:20:17 and nobody is going to care in 15 years if a given document is authentic? 01:20:17 good night 01:20:28 kmc, I said, apart from document signing 01:20:31 oh 01:20:35 yes I do realise that is a problem 01:21:43 -!- carado has quit (Ping timeout: 246 seconds). 01:21:45 kmc, but for the grand majority of the applications, it is not such a major issue. 01:21:54 and now I need to sleep, pretty late over here 01:24:42 'night 01:26:16 -!- monqy has joined. 01:27:49 I can understand how (CoYoneda IORef) makes a read-only reference. You can see what it makes when you use IORef with other Kan extensions 01:31:12 zzo38: What does it make? 01:36:21 I try to think of it. 01:53:53 -!- sirdancealot7 has quit (Ping timeout: 256 seconds). 02:02:51 Do you know what I think is the benefit of chiromancy (palmistry)? 02:06:35 Picking up chicks? 02:06:56 No! 02:09:42 Picking up pigeons? 02:10:08 Ooh, can I change my guess? 02:10:30 Yes, you can change your guess. 02:10:46 Picking up pigeons is also incorrect. 02:11:45 Aww. 02:11:50 Ok, I give up, what is the benefit? 02:12:14 To name all the lines on your hand and shape of your hand. 02:12:31 (Even if they don't have anything to do with what they are named after) 02:12:45 I guess it could be kind of useful for external anatomy... 02:23:19 Speicherzugriffsfehler 02:23:38 Ошибка сегментирования 02:31:49 Szegmentálási hiba 02:34:27 I'd probably still be programming lots of C if that was the error 02:34:41 which one 02:34:53 i'd probably still be programming lots of C 02:35:04 if by "programming" you mean "smoking" and by "C" you mean "crack" 02:35:51 honestly all of them 02:35:59 polish is my wife in the celestial plane 02:36:08 that's hungarian 02:36:15 FUCK 02:36:25 polish is: 02:36:25 Naruszenie ochrony pamięci 02:36:34 Ok that's good too. 02:36:46 What the hell is "naruszenie"? None of these things look very cognate. 02:36:58 surprising that hu has the en cognate in this case 02:38:11 means "violation" apparently 02:38:42 nice 02:39:06 somehow i have a feeling of seeing that word before 02:39:11 (naruszenie does i mean) 02:39:16 maybe i was violated by a pole once 02:40:02 Why do I see "sz" and guess polish. that's like, the hungarian giveaway 02:40:25 because it's _also_ the polish giveaway. 02:40:46 `addquote maybe i was violated by a pole once 02:40:51 949) maybe i was violated by a pole once 02:41:00 oh i thought the polish giveaway was things like "zenie" 02:41:06 the á's are more specific to hungarian i think 02:41:10 (wow do i have a shallow view of languages or what) 02:41:18 I thought the Polish giveaway was rz. 02:41:23 the best hungarian giveaway is ő or ű ;P 02:41:43 polish is just english with about 5 extra consonants in each word 02:41:44 Bike: polish and hungarian both use s and sz. in opposite ways. hth. 02:41:45 let's be realistic 02:41:59 can we just have every language use its own orthography 02:42:29 Bike: although perhaps the best way to put it: hungarian uses the sz for something that's obviously a foreign borrowed "s" 02:42:41 what really 02:42:43 -!- Phantom_Hoover has quit (Remote host closed the connection). 02:42:45 it's not only in loanwords is it 02:42:48 have i been so wrong 02:42:49 no 02:42:56 no translation in sq_AL.UTF-8 :( 02:43:02 is my whole life a lie 02:43:03 but that's how you can see Szegmentálási is hungarian 02:43:12 kmc: scots? actually no i have no idea 02:43:31 is there a locale for klingon 02:43:31 albanian aka shqipe 02:43:49 wow i know nothing about albanian. is it IE at least? 02:43:53 yes it is. 02:44:00 is it internet explorer? 02:44:00 They speak a whole other language in Albany? *takes a bow* 02:44:22 oh wow it's an isolate within IE 02:44:32 mountains have some fuckin crazy languages huh 02:45:00 Száz is pretty native 02:45:18 although "Originally borrowed from an Indo-Iranian language" 02:46:34 also most of the country lost their savings in ponzi schemes in 1997 02:46:45 resulting in the overthrow of the government 02:46:55 which, albania? 02:46:57 yes 02:47:26 the thing i mostly know about albania is the bunkers 02:47:32 and also that "hoxha" is a pretty great name 02:48:24 "an average of 24 bunkers for every square kilometre of the country" 02:48:41 albanian sex bunkers 02:49:29 i've heard they are pretty popular for losing your virginity in 02:49:51 the other thing about albania is that every car is a 90s mercedes which is probably stolen 02:50:25 these are some good things 02:51:22 "Visit Albania, your car is already here!" 02:52:00 i guess this same joke is made about Poland and Montenegro 02:52:06 that fits in with the common claim that albanian has more highways than norway 02:53:16 oerjan: that's a common claim? 02:53:26 I guess it's more likely to be made if you live in albania or norway 02:53:55 you don't say 02:54:13 or maybe it's that albania is building more. 02:54:45 well it's a common claim whenever we complain about norwegian infrastructure investments 02:55:08 albania also has more derelict concrete pyramids than norway 02:55:12 yeah, but why albania? 02:56:59 because they're the poorest country in europe and are _still_ beating us 02:58:27 i think moldova is poorer 02:59:16 hm supposedly they'll soon at twice as much as norway 02:59:31 *have twice 02:59:57 norway has more hostile terrain for road-building than albania, I'd imagine 03:01:53 that _may_ be true, but the main issue is probably crippling norwegian bureaucracy for infrastructure projects 03:02:36 it takes decades to decide to build something 03:03:16 hearing about european politics makes me think american politics should be more interesting. european politics and reading giger's suggestion to build a system of subways in the shape of a pentagram topped by pyramid arcologies 03:05:15 and what _is_ built is frequently decided by minor interests getting political favors 03:05:29 Bike: and cthulu lives inside it? 03:06:10 kmc: no, but poor people are set to work moving sludge around and it mutates them 03:06:12 like, any politician coming from a remote location needs to get a road built there 03:06:27 he wrote this whole multi-page explanation and illustrated it, and then sent it off to the swiss prime minister 03:06:55 and a bridge/tunnel, if it is an island. 03:06:57 or whatever switzerland has 03:07:42 * oerjan needs to get his monologues more world domination related 03:07:54 "federal chancellor". dull. 03:08:06 fckin democracies. 03:08:38 i learned recently that switzerland doesn't have a general, except in emergencies 03:09:07 and parliament has to declare it 03:10:10 -!- copumpkin has quit (Remote host closed the connection). 03:10:30 -!- copumpkin has joined. 03:10:57 Bike: hey remember, hitler started as chancellor. 03:11:31 yes and weimar germany was pretty boring as a democracy 03:12:41 it had a lot of electoral violence 03:12:43 that's un-boring 03:13:32 -!- TwilightSpockle has changed nick to Applejacques. 03:13:37 i think Westminster system is pretty interesting 03:13:48 given how the executive branch has an axe hanging over their heads at all times 03:13:59 maybe this is colored by me having just watched all of The Thick of It 03:14:02 isn't it traditionally a sword 03:14:07 maybe 03:36:03 I thought Hitler started as a Catholic. 03:36:29 catholicism is more of a parafederation, wouldn't you say 03:37:51 I don't know what a "parafederation" is. 03:39:44 hitler was literally worse than hitler 03:39:47 more of an orthofederation or a metafederation 03:42:04 I don't know much about Catholic organization but it seems somewhat federalist (dioceses, etc.) but it's spread throughout nations instead of beig its own. Maybe Orthodoxy would be better for that though. 03:49:46 -!- evincar has joined. 04:02:04 -!- Nisstyre-laptop has joined. 04:06:02 With a program compiled with GCC, can you check for resources on Windows, and extra ELF sections or whatever on Linux, and similar things on other operating systems? 04:06:36 like readelf? 04:07:51 -!- oerjan has quit (Quit: leaving). 04:08:18 I also want to load the resource or whatever as a read-only SQLite database if it exists. The program can still work, and start up differently, with the lack of that resource, though. 04:10:54 zzo38: with Linux / glibc you can use dlopen(NULL) to get a handle to already loaded stuff, which can be passed to dlsym() 04:11:34 so you could just ensure that your extra ELF section is loadable and has a symbol pointing at it 04:12:22 Is it possible to add a ELF section to the program which is already compiled? 04:12:43 I know that you can with Windows resources. 04:13:59 -!- monqy has quit (Quit: hello). 04:14:02 you can also use dl_iterate_phdr() to iterate over all loaded ELF objects, and do whatever other parsing you like 04:14:04 And, do you know if it is possible to open such sections as read-only SQLite database? 04:14:40 zzo38: you can add sections with objcopy --add-section 04:15:04 and as for SQLite you would have to see if the SQLite library supports opening an arbitrary piece of memory as a database 04:15:56 huh, so can you like, use objcopy to turn an elf into a mach-o? 04:16:26 theoretically 04:17:01 what formats practically? 04:17:05 i don't know 04:17:12 whatever BFD can do without shitting itself 04:19:55 the objcopy 'binary' format is particularly useful 04:19:56 http://www.linuxjournal.com/content/embedding-file-executable-aka-hello-world-version-5967 04:22:14 nice. 04:24:35 Maybe there is a VFS to load memory as SQLite database, or if it isn't, it could be written 04:30:24 btw the argument for -B on x86_64 is i386:x86-64 04:30:34 i always forget, because it makes no sense 04:35:20 -!- Bike has quit (Quit: Reconnecting). 04:35:41 -!- Bike has joined. 04:38:16 had to source dive BFD again to discover it 04:38:21 the things i do for this club 05:25:38 Is it harmful to send resume and cover letter to positions that I'm not likely to get? 05:26:13 A number of hours ago, applied for a "Mid-Senior level" position. Scala stuff although knowing Scala was not a requirement, just being willing to learn it 05:26:35 oh boy, scala 05:27:06 -!- FreeFull has quit (Ping timeout: 245 seconds). 05:27:24 On cover letter mentioned how it seemed to have interesting features like implicit conversions 05:28:03 why would that be harmful 05:28:38 The HR people could escape from their caves, tearing him limb from limb on the mere suspicion of him not being a Ruby nina. 05:28:41 ninja. 05:28:44 ruby nina 05:29:32 At least this one is in a reasonable locatio 05:29:34 location 05:29:58 Although Transcriptic is probably more helpful to society 05:30:10 They still haven't gotten back to me :( 05:31:40 helpful to society? 05:33:46 -!- FreeFull has joined. 05:33:53 Transcriptic is some sort of lab that does... stuff with samples that scientists send in. Allow for monitoring of ... whatever it is they do, etc. 05:34:12 Sounds like you're on the ball! 05:35:16 Oh, they make plasmids. That is pretty cool. 05:36:16 Bioinformatics is cool. Apparently plos has a semi-book on it. 05:37:22 http://www.ploscollections.org/article/browse/issue/info%3Adoi%2F10.1371%2Fissue.pcol.v03.i11 05:37:26 I think I kind of hate plos's urls. 05:37:45 This is easy to understand http://pandodaily.com/2012/12/13/transcriptics-wild-seed-round-the-internet-was-just-trying-to-throw-money-at-us/ 05:37:52 I feel like a derp for forgetting about the robotic aspect 05:38:33 o.O I actually talked to the founder of the company 05:38:35 I feel small now 05:39:10 Well, it's a startup, right? The founder probably isn't, like, a demigod. 05:42:17 The founder of a startup talked to me, and probably thinks I'm an asshole for sending horrible Tcl code 05:42:49 Yeah, my main criterion for "this dude's an asshole" is reading their shitty Tcl. 05:42:50 On the phone I should have said something like that wasn't my best work, suggested something else, in an actually functional language, but I didn't :( 05:45:42 Bike: pretty sure startup founders are all demigods 05:45:49 why do you think kmc is so frazzled 05:46:04 Intermittent lightning strikes? That would make sense... 05:49:16 i'm not a founder 05:49:21 just employee numero uno 05:51:13 kmc: of course not 05:51:41 are you saying slaves to demigods are not frazzled??? 05:52:02 :3 06:00:08 -!- RodgerTheGreat has quit (Quit: RodgerTheGreat). 06:57:01 void*open(const char*format,const unsigned char*blob,unsigned int size,SDL_AudioSpec*spec); void close(void*handle); void reset(void*handle,Uint8 track); void frame(void*handle,Uint8*stream,int len); void poke(void*handle,Uint16 address,Uint8 data); 06:57:41 Is there the libraries for playing the music that can be used with such a format (even if not directly, such that one can be written easily)? 06:59:09 Oops, I forgot the volume void frame(void*handle,Uint8*stream,int len,Uint32 volume); 07:00:23 Oh hey HPMOR has a chapter called "Interlude with the Confessor" 07:00:32 Going to be interesting when I get to it probably 07:01:01 Is that a book about how to be a pastor? 07:01:29 Harry Potter and the Methods of Rationality 07:01:52 Three Worlds Collide also had an "Interlude with the Confessor" 07:03:32 haha yudkowsky 07:05:43 What's wrong with Yudkowsky? 07:09:43 You know I'm honestly not sure how to answer that. Does the usual "CS nerds claiming to have a futurological insight historians don't based on unmarked graphs with curves on them" thing suffice? 07:11:29 Don't entirely know if I agree with any conclusion that something might happen in our lifetimes, but I don't know if he really draws that conclusion, and, at any rate, it is something I hope for, even if I don't know how likely it is 07:12:41 You don't think the guy who founded the singularity institute really draws that conclusion. 07:13:30 Working to make something happen does not imply a belief that it will happen within our lifetimes 07:13:39 Just that we should try to make it happen 07:14:44 Yeah I'm sure he's working hard on that. 07:14:50 There's also this whole everything. http://lesswrong.com/lw/qa/the_dilemma_science_or_bayes/ 07:18:04 -!- epicmonkey has joined. 07:41:59 I have added the feature in Internet Quiz Engine for the total that a variable is out of to itself be variable. 07:45:09 Do any music engines have a poke function? 07:45:16 Poke? 07:46:15 I mean for example, if it is playing .NSF then it would be able to write the RAM and memory-mapped registers of the VM. 07:47:01 (Depending on the format, the poke command might mean something different, or it might not do anything.) 07:50:26 This might be used to speed up the music at some point during the game, or to mute a channel temporarily, or to play sound effects which are included in the music file, or for other things. 07:51:17 Well there are plenty of systems that allow you to mess with things at playback time. 07:52:16 The functions I mentioned above would be a part of a C structure, and their implementation depends on the format, so depending on what things they have, the poke function would be implemented to use those things. 07:52:37 However I have not seen the NSF player which does what I have said. 07:52:47 Do you know if there is such things? 07:52:49 I don't think music people doing live DJing usually do it in C. 07:53:24 But I don't mean live DJing; I mean music that might be used in a computer game. 07:54:13 PureData has a C(++?) API that can be used to do whatever you want at runtime. I think Spore used it. 07:55:49 I have used PureData, although I find Csound is much better. Still, neither of those is the kinds of things I am looking for. 07:56:23 I don't know of any music systems that just run everything flatly in a separate virtual machine, is the problem 07:57:50 Even that one guy's demoscene VM does visual and audio in the same machine. 07:59:28 -!- ais523 has quit. 08:00:11 That isn't wnat I mean either. I mean such as, a .MOD player, a .IT player, a .NSF player, whatever, which may be made wrappers using the function declarations above, and then loaded using a C code. 08:02:27 I haven't a clue, then, other than that seems pretty specific. 08:03:20 I may write the wrappers myself if the C libraries exists for such things, for which such wrapper functions can be written to do. 08:21:35 -!- asiekierka has quit (Excess Flood). 08:29:45 -!- asiekierka has joined. 08:31:47 -!- Bike has quit (Quit: warning). 08:32:01 -!- evincar has left. 09:05:18 -!- glogbackup has joined. 10:13:30 -!- Jafet has joined. 10:18:32 -!- oonbotti has quit (Ping timeout: 252 seconds). 10:21:40 I should learn to read time zones 10:22:02 Thought Facebook Hacker Cup Round 1 was 10am my time, it's 10AM PST so 1PM my time 10:22:06 Yay I get more sleep 10:22:55 I should express times in PDT during the winter/PST during the summer. 10:23:05 Teach people to pay attention. 10:36:58 -!- DHeadshot has joined. 10:38:17 -!- Nisstyre-laptop has quit (Quit: Leaving). 10:41:37 help rather than sleeping I picked up my Nook again and am continuing the reread of HPMOR 10:42:14 Instead of reading that, read something good. 10:42:21 Is HPMOR not good? 10:42:27 I don't know. 10:42:51 Have you considered reading _Three Men in a Boat_? 10:43:11 are books monoids :D 10:43:30 Sgeo: How's Ada going? 10:43:32 Some books are not easy. 10:43:51 I still want to understand Ada concurrency 10:43:58 I still have not taken a real look at it 10:44:29 They have the task thing, right? 10:44:32 How does it work exactly? 10:45:54 Like I said, I haven't taken a real look at it yet 10:46:05 Fake looks are OK? 10:48:31 I love reading. It is so easy. 10:48:57 Sgeo: dont you think thats a bit worn out by now.............................................................. 10:50:59 I searched scrollup to try to prove recent use, but couldn't 10:51:06 I love this joke. It is so easy. 10:51:29 -!- carado has joined. 10:51:43 help carado please slap Sgeo and ion 10:52:08 I love slapping. 10:52:26 @slap Sgeo 10:52:26 * lambdabot smacks Sgeo about with a large trout 10:52:28 @slap ion 10:52:28 * lambdabot secretly deletes ion's source code 10:52:32 oh no 10:52:36 fortunately ion is a quine 10:52:45 hion 10:52:49 haf 10:52:58 ^rot13 haf 10:52:58 uns 10:53:01 ^rot13 half 10:53:01 unys 10:53:22 what ? 10:53:25 hi carado 10:53:29 `wehlcohme carado 10:53:30 hello 10:53:34 cahrahdo: Wehlcohme to the ihntehrnahtiohnahl huhb fohr ehsohtehrihc prohgrahmmihng lahnguahge dehsihgn ahnd dehployhmehnt! Fohr mohre ihnfohrmahtiohn, chehck ouht ouhr wihki: http://ehsohlahngs.ohrg/wihki/Maihn_Pahge. (Fohr the ohthehr kihnd ohf ehsohtehrihca, try #ehsohtehrihc ohn ihrc.dahl.neht.) 10:56:46 thahts quhite thhe whelchome 10:57:41 http://9to5mac.com/2013/02/01/dont-type-this-phrase-on-your-mac-unless-you-like-crashing-it-file/ 11:17:18 -!- zzo38 has quit (Remote host closed the connection). 11:18:10 -!- oonbotti has joined. 11:30:03 -!- Phantom_Hoover has joined. 11:36:50 - Knowledge of the following technologies: Nginx, thin, AWS 11:36:57 thin is a technology. 11:48:24 hm interesting, ethernet PAUSE frames on my network 11:48:31 `run f=bin/hyphenate.fi;echo 'H4sIAOD8DFEAA0WPQU7DMBBF9z2FCRFtEakbVpWqSkisWbGssnDDNDFNMmkcNzWa4+QMvoAvxpgNiy/7vfka2Y8P8qQ7aeoF3KEUPQyNyN4/RfZhx/NOZP0EYtm69IbT4TrIowKN1oU5+ELqPQ9K7P4Gp/LrXNXfl6bt+utgxtt0/4mVfKp1A8LIVdwR68/rVTwirmWaZ+mrrP5rCkghKUcqzBxPoAiQgAmYtCKNpJk0EypCIHSELJCFVWSBrCPLwrJwihyQQ3KW+NkUZsUBDnIsxZ9Q8Cw9S8/Ss/Rhlq17MwfTN3pMkpf0aZ+a47bYJFmy4VteSKiWi1/gJQHkPgEAAA=='|base64 -d|zcat>$f;chmod 755 11:48:33 $f; cat $f 11:48:36 chmod: missing operand after `755' \ Try `chmod --help' for more information. 11:48:42 probably related to copying 8 GB of music over NFS from a computer with gbit ethernet to one with 100mbit 11:48:45 `run chmod 755 bin/hyphenate.fi; cat bin/hyphenate.fi 11:48:49 ​#!/bin/sh \ exec perl -CS -Mutf8 -pwe 'my$vow=qr/[aeiouyäö]/i;my$con=qr/[bcdfghjklmnpqrstvwxz]/i;1while s/($vow$con*)($con$vow)/$1-$2/g;1while s/ae|ao|ay|aä|aö|ea|eo|eä|eö|ia|io|iä|iö|oa|oe|oy|oä|oö|ua|ue|uy|uä|uö|ya|ye|yo|yu|yä|äa|äe|äo|äu|äö|öa|öe|öo|öu|öä/my@s=split"",$&;$s[0]."-".$s[1]/eg' 11:48:57 `run welcome kakka | hyphenate.fi 11:49:00 kak-ka: Wel-co-me to the in-ter-na-ti-o-nal hub for e-so-te-ric prog-ram-ming lan-gu-a-ge de-sign and dep-lo-y-ment! For mo-re in-for-ma-ti-on, check out our wi-ki: http://e-so-langs.org/wi-ki/Main_Pa-ge. (For the ot-her kind of e-so-te-ri-ca, try #e-so-te-ric on irc.dal.net.) 11:49:57 and at the same time I was also syncing 2 GB or so of data between two computers with gbit connections (one of the computers was involved in both transfers though...) 11:55:07 `run welcome shachaf | dahl | hyphenate.fi 11:55:09 bash: dahl: command not found 11:55:17 `run welcome shachaf | h | hyphenate.fi 11:55:19 shahc-hahf: Wehl-coh-me to the ihn-tehr-nah-ti-oh-nahl huhb fohr eh-soh-teh-rihc prohg-rahm-mihng lahn-gu-ah-ge deh-sihgn ahnd dehp-lo-yh-mehnt! Fohr moh-re ihn-fohr-mah-ti-ohn, chehck ouht ouhr wih-ki: http://eh-soh-lahngs.ohrg/wih-ki/Maihn_Pah-ge. (Fohr the oht-hehr kihnd ohf eh-soh-teh-rih-ca, try #eh-soh-teh-rihc ohn ihrc.dahl.neht.) 11:55:30 `run welcome shachaf | hyphenate.fi | h 11:55:32 shahc-hahf: Wehl-co-me to the ihn-tehr-na-ti-o-nahl huhb fohr e-so-te-rihc prohg-rahm-mihng lahn-gu-a-ge de-sihgn ahnd dehp-lo-y-mehnt! Fohr mo-re ihn-fohr-ma-ti-ohn, chehck ouht ouhr wi-ki: http://e-so-lahngs.ohrg/wi-ki/Maihn_Pa-ge. (Fohr the oht-hehr kihnd ohf e-so-te-ri-ca, try #e-so-te-rihc ohn ihrc.dahl.neht.) 12:00:36 `run sed -i -re 's,/eg,/egi,' bin/hyphenate.fi && cat bin/hyphenate.fi 12:00:39 ​#!/bin/sh \ exec perl -CS -Mutf8 -pwe 'my$vow=qr/[aeiouyäö]/i;my$con=qr/[bcdfghjklmnpqrstvwxz]/i;1while s/($vow$con*)($con$vow)/$1-$2/g;1while s/ae|ao|ay|aä|aö|ea|eo|eä|eö|ia|io|iä|iö|oa|oe|oy|oä|oö|ua|ue|uy|uä|uö|ya|ye|yo|yu|yä|äa|äe|äo|äu|äö|öa|öe|öo|öu|öä/my@s=split"",$&;$s[0]."-".$s[1]/egi' 12:01:36 `run welcome hello | hyphenate.fi | hyphenate.fi | hyphenate.fi 12:01:39 hel-lo: Wel-co-me to the in-ter-na-ti-o-nal hub for e-so-te-ric prog-ram-ming lan-gu-a-ge de-sign and dep-lo-y-ment! For mo-re in-for-ma-ti-on, check out our wi-ki: http://e-so-langs.org/wi-ki/Main_Pa-ge. (For the ot-her kind of e-so-te-ri-ca, try #e-so-te-ric on irc.dal.net.) 12:01:44 ion: I want a refund 12:01:58 elliott: I’m sorry it works correctly. 12:03:19 `run ln -s hyphenate.fi bin/hyfinate 12:03:22 No output. 12:06:33 `run welcome | rot13 | hyfinate | rot13 12:06:39 No output. 12:06:49 help 12:06:52 Oh. 12:07:17 `run welcome | tr a-zA-Z n-za-mN-ZA-M | hyfinate | tr a-zA-Z n-za-mN-ZA-M 12:07:20 Welcome to the int-er-nati-on-al h-ub for esoteric pro-gramm-ing l-anguage design and deploym-ent! For more inf-ormati-on, check out our wiki: http://esol-angs.org/wiki/Main_Page. (For the oth-er kind of esoterica, try #esoteric on irc.dal.net.) 12:07:49 `cat bin/rot13 12:07:50 echo "$@" | tr a-zA-Z n-za-mN-ZA-M 12:10:59 `run f() { tr a-zA-Z b-zaB-ZA | hyphenate.fi; }; welcome|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f 12:11:18 ion what have you done 12:11:21 We-lc-o-m-e to t-he in-te-r-n-a-ti-on-al h-ub f-or e-s-o-t-er-ic p-ro-gr-a-mm-i-ng l-an-g-u-a-g-e de-s-i-gn an-d d-ep-lo-y-m-en-t! F-or m-o-re in-f-o-rm-a-ti-on, ch-e-ck o-ut o-ur w-i-k-i: h-tt-p://e-s-o-la-ng-s.o-rg/w-i-k-i/M-ain_Pa-g-e. (F-or t-he ot-h-er k-in-d of e-s-o-t-er-ic-a, t-ry #e-s-o-t-er-ic on i-rc.d-al.n-et.) 12:13:11 shachaf: Procrastinated on IRC mainly. 12:13:24 don't do it ion 12:14:25 `which hyphenate.fi 12:14:27 ​/hackenv/bin/hyphenate.fi 12:18:06 nice bot youve got. 12:18:49 it would be a shame if anything were to happen to it 12:20:06 surely, its things-happening-to-it-proof 12:20:33 Yeah, we bought bot insurance from two very nice Italian gentlemen. 12:34:03 Is it just me or is Scala one of the more commonly used functional languages in industry? 12:34:37 I think you are one of the more commonly functional languages in industry indeed. 12:38:39 `hyfinate beaky 12:39:10 No output. 12:39:23 SCALA HAS DELIMITED CONTINUATIONS 12:39:27 ?!??! 12:39:27 Unknown command, try @list 12:39:43 I like it better already :D 12:40:23 Wait, not if it's Haskell style "Oh, code that uses it has to be in monadic style" 12:41:53 are you depriving #yfl of these insights...... 12:42:13 oh 12:42:14 you didnt' 12:42:21 imo elliott makes a good point 12:42:37 What’s #yfl? 12:42:45 dont ask 12:42:55 What’s #yfl? 12:43:19 dont ask 12:43:41 sudo what’s #yfl? 12:45:40 `run sudo -l 12:45:42 bash: sudo: command not found 12:48:08 `run quote | hyphenate.fi 12:48:10 834) `wel-co-me Raw-lie * zzo38 has joi-ned #e-so-te-ric thank y-ou Y-ou're wel-co-me. 12:51:09 Sgeo: edwardk uses Scala and he keeps complaining about it. 12:51:19 Sgeo: You should go back to Ada. 12:51:28 What are his complaints? 12:51:38 I don't remember. 12:51:54 I bet you could find it on his Twitterthing. 12:54:20 Seems one of the complaints, at least from this log I found, has to do with complexity of types? 12:54:24 https://gist.github.com/3190574 12:54:41 `run sed -i -re 's,/ae\|.*\|öä/,/a[eoyäö]|e[aoäö]|i[aoäö]|o[aeyäö]|u[aeyäö]|y[aeouä]|ä[aeouö]|ö[aeouä]/,' bin/hyphenate.fi && cat bin/hyphenate.fi 12:54:44 ​#!/bin/sh \ exec perl -CS -Mutf8 -pwe 'my$vow=qr/[aeiouyäö]/i;my$con=qr/[bcdfghjklmnpqrstvwxz]/i;1while s/($vow$con*)($con$vow)/$1-$2/g;1while s/a[eoyäö]|e[aoäö]|i[aoäö]|o[aeyäö]|u[aeyäö]|y[aeouä]|ä[aeouö]|ö[aeouä]/my@s=split"",$&;$s[0]."-".$s[1]/egi' 12:56:01 `run echo Ääliö, älä läiky. öykkäri komea hioa lauantai aion | hyphenate.fi 12:56:03 ​Ää-li-ö, ä-lä läi-ky. öyk-kä-ri ko-me-a hi-o-a lau-an-tai ai-on 12:58:51 Sgeo: Are Ada tasks preëmptice or coöperative or what? 12:58:56 s/c/v/ 12:59:05 Are they like threads? 12:59:09 Or are they like coroutines? 12:59:12 Or are they like something else? 12:59:53 From a quick googling, seems like it depends on the compiler (for preemptive vs. cooperative) 13:01:53 How does preëmption work? 13:03:23 I should probably try to get some sleep 13:03:47 Nah, you should learn Ada. 13:11:47 -!- copumpkin has quit (Ping timeout: 252 seconds). 13:12:18 -!- copumpkin has joined. 13:30:28 -!- oonbotti has quit (Ping timeout: 248 seconds). 14:00:07 -!- oerjan has joined. 14:04:14 -!- ogrom has joined. 14:12:50 -!- md_5 has quit (Ping timeout: 256 seconds). 14:14:17 You know I'm honestly not sure how to answer that. Does the usual "CS nerds claiming to have a futurological insight historians don't based on unmarked graphs with curves on them" thing suffice? 14:14:35 oerjan: do you know about subtyping................................. 14:14:44 i thought that was kurzweil et al's shtick, not so much yudkowsky 14:15:05 bike isn't even here oerjan.............. 14:15:20 @ask Bike good morning 14:15:20 Consider it noted. 14:15:21 -!- md_5 has joined. 14:15:35 and that his was "when (and it _will_ be when) we invent superhuman intelligent ai, if we don't get it _precisely_ right, we are all fucked. 14:15:40 " 14:16:13 shachaf: not that much 14:16:30 elliott: i know i just wanted to quibble 14:17:12 -!- oonbotti has joined. 14:17:54 oerjan: if a quibble falls in the forest and nobody is around to hear it... 14:18:43 bah i need Bike like a fish needs... 14:18:53 water? 14:19:05 * oerjan swats Phantom_Hoover -----### 14:19:09 water? but she made perfect sense! 14:19:17 shachaf, "she"? 14:19:20 Phantom_Hoover is female now? 14:19:37 maybe 14:19:37 ... 14:19:50 I don't know? 14:19:52 * oerjan swats shachaf -----### 14:20:31 Whew. 14:21:00 * oerjan recovers from his near-whoosh experience 14:24:10 Vorpal may not be so fortunate. 14:24:25 * impomatic wonders why JavaScript regular expressions don't support look behind (?< 14:24:37 shachaf: he was traumatized by them years ago 14:25:04 shachaf, I'm naturally immune to them 14:25:13 shachaf: and is now in denial 14:25:30 "shachaf uses whoosh on Vorpal" "It is not effective" 14:26:03 immune like a burnt down house is immune to fire 14:26:28 * shachaf uses MonadicFold on Vorpal 14:26:46 ouch, that was super effective 14:26:50 oerjan: elliott is not a fan of my monologues on subtyping. 14:26:59 monads are all about effects duh 14:27:36 shachaf: he probably thinks they are too invariant 15:20:21 -!- copumpkin has quit (Ping timeout: 276 seconds). 15:21:20 -!- copumpkin has joined. 15:25:23 -!- sebbu has quit (Ping timeout: 248 seconds). 15:33:32 -!- RodgerTheGreat has joined. 15:47:43 -!- sebbu has joined. 15:47:43 -!- sebbu has quit (Changing host). 15:47:43 -!- sebbu has joined. 15:57:17 -!- Taneb has joined. 15:58:11 O_o 15:58:24 what's the matter 15:59:01 there's a Taneb in the premises 15:59:12 It happens occasionally 15:59:22 wow 16:00:33 *on 16:01:07 so what's up guys 16:03:25 hey Taneb did you fix that problem you had 16:03:37 oerjan did 16:03:47 good for him 16:03:53 * oerjan wonders if Phantom_Hoover is talking about the same problem 16:04:05 i simply assumed Taneb had a problem 16:04:07 he normally does 16:04:19 Yes, it's a problem I have 16:04:21 ah. in that case i guess i did. 16:04:30 oerjan: What's cosubtyping? 16:04:44 shachaf: well it's mplicated 16:04:53 some sort of fusion of cosplay and type theory? 16:04:58 oerjan: We think "a" is a cosubtype of "(a,b)" 16:05:08 wat 16:05:11 Or maybe the other way around. 16:05:31 oerjan: Well, in a sense "a" is a subtype of "Either a b", right? 16:05:42 `addquote oerjan: What's cosubtyping some sort of fusion of cosplay and type theory? 16:05:46 950) oerjan: What's cosubtyping some sort of fusion of cosplay and type theory? 16:05:46 oops 16:05:48 `revert 16:05:51 `addquote oerjan: What's cosubtyping? some sort of fusion of cosplay and type theory? 16:05:51 Done. 16:05:55 950) oerjan: What's cosubtyping? some sort of fusion of cosplay and type theory? 16:06:01 right. set theoretically there's an injection, so presumably you'd want something with a surjection for the co- 16:06:10 and \(a,b) -> a fits 16:06:29 Hmm. 16:06:31 (or monic/epic in CT language) 16:06:46 What does it mean for something to be a cosubtype? 16:06:58 and of course Either a b is the direct sum of a and b, while (a,b) is the direct product 16:07:12 s/sum/coproduct/, possibly 16:07:46 Right. 16:07:53 A subtype gives you a prism, more or less. 16:08:09 So a cosubtype should give you a lens. 16:08:16 well there you go then. 16:08:31 But what does it mean? 16:08:51 If A <: B, you have |A| <= |B|, right? 16:09:35 well (a,b) can delegate to a, can't it. maybe there's something OO in there. 16:09:45 Delegate? 16:09:54 or is a field... 16:09:58 Sure. 16:10:08 Every cosubtype acts like a field in some sense, I think. 16:10:19 Just like every subtype acts like a summand 16:11:15 and both give Functors, no? 16:11:47 or hm 16:12:03 shachaf: I think the problem is you're going "aha, subtypes are [prisms] but cosubtypes are [lenses]!" 16:12:10 Which doesn't teach you anything about (co)subtyping. 16:12:18 elliott: That's my point. 16:12:18 It just teaches you about lenses or prisms under a different name. 16:12:28 I'm trying to figure out a different way of looking at cosubtypes. 16:12:45 shachaf: I think T and _|_ are worth thinking about there? 16:12:55 Probably 16:12:58 And "f a"/"f b" given "a b" 16:13:07 Since you could deduce subtyping based on co/contavariance for subtyping of a,b there. 16:13:45 So for all x, ⊥ <: x, and x <: ⊤ 16:14:25 In lens terms you have a Prism x _|_ and a Prism T x 16:14:27 if a is a subtype of b then (a,c) is a subtype of (b,c), Either a c is a subtype of Either b c, and (b -> c) is a subtype of (a -> c). what are the similar rules for cosubtypes? 16:14:38 But you also have a Lens _|_ x and a Lens x T 16:15:13 What's our symbol for cosubtyping? 16:15:20 I'll just use ;> 16:15:46 If you have A ;> B and B ;> C, then you have A ;> C 16:16:37 If you have A ;> B then (A,X) ;> (B,X)? Is that valid? 16:16:50 elliott: That's alongside l id, isn't it? 16:16:56 For lenses. 16:17:41 I guess? 16:17:43 Sure, yes. 16:17:49 So that's valid. 16:17:56 Do we have alongside for Either? 16:18:22 Maybe? 16:18:26 No, Either. 16:18:50 If you have A ;> B then do you have Either A C ;> Either B C? 16:18:52 I don't think so. 16:19:22 elliott: Hah, that operation looks a lot like Choice. 16:19:30 Sure. 16:19:33 Because Prism = Choice etc. 16:19:36 Right. 16:19:50 Lens' a b -> Lens' (Either a c) (Either b c)? 16:19:55 I don't think you can do that. 16:20:00 It'd be a traversal. 16:20:05 Wait. 16:20:07 No, I think you can do that? 16:20:32 Extract the "b" out of the "a" for viewing, and leave "c"s untouched. 16:20:43 Then when you put a Left back in, put it back into the original "a". 16:20:50 What if you have a Right? 16:20:55 If you put back a different branch, then change the branch entirely? 16:20:59 Does that follow the laws? 16:21:06 Oh, never mind. 16:21:06 You can't change the branch. 16:21:08 You don't have an a 16:21:38 shachaf: What about Lens' (EIther a c) (Either b c) -> Lens' a b? 16:21:42 It's, like, contravariant. 16:22:06 What about functions? 16:22:19 I gave you a function rule already! 16:22:28 a ;> b => (a -> r) <: (b -> r) 16:22:35 oerjan says that if A <: B, then (B -> C) <: (a -> C) 16:22:42 Do we have that prism? 16:22:56 Yes 16:23:13 It's in lens. 16:23:21 What's it called? 16:23:26 It's in .Prism 16:23:36 Or .Lens 16:23:45 Oh, we have 16:23:45 inside :: ALens s t a b -> Lens (e -> s) (e -> t) (e -> a) (e -> b) 16:23:47 outside :: APrism s t a b -> Lens (t -> r) (s -> r) (b -> r) (a -> r) 16:23:49 Right 16:24:19 So you get a subtype either way. 16:24:25 Er, a supertype? 16:24:34 Wait, this thing turns either a lens or a prism into a lens. 16:24:41 Your rule turns a lens into a pris. 16:24:48 * elliott is confused. 16:24:56 08:22 a ;> b => (a -> r) <: (b -> r) 16:25:05 That's like a function that turns a lens into a prism. 16:25:09 16:22:35 oerjan says that if A <: B, then (B -> C) <: (a -> C) 16:25:23 ? 16:25:25 Contravariant f => Prism' a b -> Prism' (f b) (f a) 16:25:58 * elliott is too tired. 16:26:16 You can't do that, can you? 16:26:45 You need f b -> Either (f b) (f a) 16:26:49 Which is like costrength. 16:27:04 (b -> r) -> Either (b -> r) (a -> r)? 16:27:08 That makes no sense. 16:27:09 Is oerjan lying? 16:27:28 I think shachaf is lying? 16:27:35 Might be. 16:27:35 Do you need that? 16:27:44 Need what? 16:27:51 ...i just showed some ordinary variance rules for ordinary subtyping... 16:27:55 You said 08:25 Contravariant f => Prism' a b -> Prism' (f b) (f a) 16:28:06 I'm not sure where that comes from. 16:29:04 08:14 if a is a subtype of b then (a,c) is a subtype of (b,c), Either a c is a subtype of Either b c, and (b -> c) is a subtype of (a -> c). what are the similar rules for cosubtypes? 16:29:47 Prism b a -> Prism (Either b c) (Either a c) 16:30:14 elliott: Oh, that's just composition. 16:30:20 (_Left . p) 16:31:10 oerjan: I CAN'T TRUST ANYONE 16:31:26 Prism b a -> Prism (a -> c) (b -> c) 16:31:30 Is that true? 16:31:58 elliott: i should point out i have not recently made claims about either prisms (which i basically don't really know) or lenses. 16:32:03 One half is (a -> b) -> (b -> c) -> a -> c 16:32:08 -!- ogrom has quit (Quit: Left). 16:32:12 oerjan: We're extrapolating here! 16:32:38 (b -> Maybe a) -> (a -> c) -> Maybe (b -> c) 16:32:41 @djinn (b -> Maybe a) -> (a -> c) -> Maybe (b -> c) 16:32:42 f _ _ = Nothing 16:32:44 thank's 16:32:53 Anyway that's obviously impossible. 16:33:27 oerjan: Do you know anything about subtyping with < instead of <=? 16:33:34 perhaps there's something going on similar to the distinction between summand and submodule in module categories. in which case maybe i should mention the definition of summand. although there's no distinction in the category Set, maybe there is one in Hask. 16:33:37 oerjan: I should point out I'm really tired and not serious about any of this. 16:33:45 elliott: O KAY 16:34:07 I think we might get farther if we use < 16:34:22 so you ban a -> a. 16:34:33 Right, it's irreflexive. 16:34:36 if i could just _remember_ the definition of summand. 16:35:08 -!- epicmonkey has quit (Ping timeout: 245 seconds). 16:35:27 Hmm. 16:35:38 maybe it requires kernels, in which case it can probably not be transfered to non-abelian categories 16:35:56 just use Linux 16:36:30 So what does <: mean? It doesn't mean <=, right? 16:36:42 a <= b ----> c^b <= c^a -- doesn't seem right 16:36:51 oh wait duh in module categories product = coproduct. bah. 16:38:40 Let's say Foo = {A,B}, Bar = {A,B,C} 16:38:41 and that's why they have summands. hm i guess a module summand is something which is in some sense _both_ a subobject and a cosubobject. 16:38:51 So Foo <: Bar 16:38:52 in a compatible way. 16:39:09 (Bar -> X) <: (Foo -> X)? 16:40:35 so to go back to my basic idea, what's the relation of a -> c to (a,b) -> c, if any. 16:40:48 oh hm 16:41:11 (a,b) -> c is of course isomorphic to b -> (a -> c) 16:41:20 I think my intuition with cardinality can't be right. 16:41:27 although that's specific to products 16:41:48 shachaf: cardinality is not subtyping hth 16:41:50 oerjan: I think all cosubtypes would be product-like. 16:41:59 oerjan: Sure, but I thought A <: B ----> |A| <= |B| 16:42:03 I guess that's not true. 16:42:38 shachaf: it's not true for subtypes either, i think 16:42:54 or wait, <: is subtype 16:42:57 Right.. 16:43:40 well i think you must have <=, but it can be == even if not identical types 16:44:03 Wait, you must have <=? 16:44:14 or wait hm 16:44:22 Foo <: Bar ----> (Bar -> X) <: (Foo -> X), right? 16:44:33 oh ... now i see. 16:44:52 no, you must not. 16:45:08 So it's something more subtle than <= of the cardinality. :-( 16:45:15 What is it? 16:45:25 simply, even if Foo is a direct _subset_ of Bar, (Bar -> X) is not a direct subset of (Foo -> X). 16:45:39 it's just something which can be _used_ as a (Foo -> X). 16:45:48 Sure. 16:45:54 Can you write a prism for it? 16:46:23 but two different (Bar -> X) can correspond to the same (Foo -> X), so subtyping is not an injection, and therefore need not increase cardinality. 16:47:31 Prism s t a b = (b -> t, s -> Either t a) 16:47:41 Prism' s a = (a -> s, s -> Maybe a) 16:47:53 ic 16:48:06 i think the s -> Maybe a is going to hit the halting problem. 16:48:10 Yes. 16:48:27 elliott: I knew it wouldn't work! 16:55:50 oerjan: Update: I mixed everything up. 16:56:03 Foo = {A,B}, Bar = {A,B,C} 16:56:08 Bar <: Foo, not the other way around. 16:56:21 oh wait hm it won't hit the halting problem if you have a prism to start with 16:56:39 :k Prism' 16:56:41 Top level: 16:56:41 Type synonym Prism' should have 2 arguments, but has been given none 16:56:41 In a type in a GHCi command: Prism' 16:56:55 sheesh 16:57:04 VERY USEFUL GHC 16:57:10 It's a type synonym. 16:57:43 But it would just be * -> * -> * 16:58:21 :k Prism' Int Bool 16:58:23 * 16:59:08 something tells me your definitions above are not the ones actually used 16:59:13 in lens 16:59:43 type Prism s t a b = (Choice p, Applicative f) => p a (f b) -> p s (f t) 16:59:50 CLOSE ENOUGH 17:05:58 tr :: Prism Bar Foo -> Prism (Foo -> X) (Bar -> X); tr (f2b,b2Mf) = (\b2x -> b2x . f2b, \f2x -> Just $ \b -> ...nah we can only get another Maybe in here, and no way to pull it outside the $ 17:06:21 Right. 17:06:24 You need a sort of costrength. 17:06:26 Or something. 17:06:41 ok later -> 17:06:45 -!- oerjan has quit (Quit: leaving). 17:08:04 are there any good co- jokes left i wonder 17:19:05 -!- Bike has joined. 17:39:45 The energy stored in a spring is proportional to the square of its loading force, right? 17:43:37 -!- Bike has quit (Quit: Lost terminal). 17:44:22 -!- Bike has joined. 17:44:42 -!- ogrom has joined. 17:54:10 tswett, ye...s 17:54:31 yes 18:02:01 -!- DHeadshot has quit (Remote host closed the connection). 18:31:20 So: Try to do this Facebook thing when I'm too tired to think properly, or write a blog post that could in theory make an impression on employers 18:34:33 or sleep 18:34:47 write a sleep deprived nonsensical blog post that could in theory make an impression on employers 18:34:52 also what is facebook thing 18:37:45 i'm imagining an employer hiring whoever first helps them with farmville 18:37:46 Bike: You have 1 new message. '/msg lambdabot @messages' to read it. 18:38:59 @ask shachaf evening 18:38:59 Consider it noted. 18:39:24 @tell Bike thank'se 18:39:24 Consider it noted. 18:39:32 @clear-messages 18:39:32 Messages cleared. 18:39:49 @clear-messages 18:39:49 Messages cleared. 18:40:54 @clear-messages 18:40:55 Messages cleared. 18:45:10 kmc, Facebook Hacker Cup 18:46:20 is this more of an esr hacker cup or a pg hacker cup tho 18:46:26 important distinction 18:48:47 fuck that guy 18:58:42 -!- monqy has joined. 19:05:03 Bike, which one? 19:08:26 fb brogrammer cup 19:10:54 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 19:12:01 -!- Nisstyre-laptop has joined. 19:17:33 esr, haven't you heard about the new pbuh 19:17:38 oh he left. 19:21:45 -!- hublao has joined. 19:22:26 Hello,I was looking at brainfuck language and I've minor confusion about ']' instruction 19:23:37 Correct me if I am wrong: If ']' is encountered, jump to the matching '[' and check if the value at that array is 0.If it is 0, jump to the instruction after ']' else go to next instruction after '['. 19:25:13 There are a few equivalent ways to describe what [ and ] do. But you need to incorporate some sort of check into the action that happens when you encounter [ 19:25:32 If you hit [ and the current cell is 0, it does need to skip past the matching ] somehow 19:27:18 yeah true 19:27:33 But what I said is also true , right Sgeo ? 19:28:27 Looks good, I think 19:28:28 the fuck just happened. I switched from a the xfce terminal emulator to xchat, and a bit of the terminal ended up overlaying the bottom fifth of the window. Stretched. Like you had stretched a texture over there. 19:28:38 so bizarre 19:28:48 Except I'd be more inclined to leave the checking for 0 bit as part of what happens due to [ 19:28:52 -!- Phantom_Hoover has joined. 19:29:18 I guess I'll blame the closed source AMD graphics drivers 19:31:17 hublao, you could describe [ ... ] as while(*dataPtr) { ... } pretty much (in C) 19:31:44 True Sgeo but someone might not decrement the location associated with '[', hence I asked. 19:31:58 iirc that is what my compiler would generate when it couldn't figure out any way to optimize the loop 19:32:07 Vorpal, true.I am trying to write a sinple interpreter for it but I am finding a way to implement nested [ ] 19:32:16 hublao, locations in source code don't correspond to locations on tape 19:32:28 hublao, you could do that by recursion surely 19:32:38 hublao, I assume you parse it into a tree structure? 19:33:02 not really Vorpal. Since I am new to it, I've used a stack and simple switch statement 19:33:17 like (instr,data,ptrNext), and with a "down"-link to the content of the loop 19:33:32 hublao: [] works with the current tape pointer, it's not saved. >+>+>+[-<] works 19:33:35 wait a sec, I'll show you with what I've come up with 19:34:03 hublao, well I only ever wrote compilers for brainfuck iirc, but what I did was simply parse it into a linked list, with a pointer to another linked list of the content of the loop 19:34:32 brainfuck may be one of the few languages where it's easier to write a compiler (to C, say) than an interpreter 19:34:33 then you could run it by simple recursion 19:34:41 (parsing is already really easy with recursion) 19:34:50 bbl, need to leave for half an hour or so, will be back later. 19:35:02 well it's not like having [] in interpretation search for their match is all that hard 19:37:03 http://pastie.org/private/hhomcydflvr4fnkd3th4mq 19:37:15 Would like to have suggestions about how I should go next 19:39:33 well you can search ahead in the [ case easily 19:40:33 um I don't get it Bike . Search ahead what? another [ ? 19:40:34 int depth = 1; while (depth) { if buf[i] == '[' ++depth; else if buf[i] == ']' --depth; ++i; } or so 19:40:40 search for where to jump to 19:41:46 But there are only 2 possible places to jump right ? If value is 0,jump to instruction after ']' which i=pop(&stack)+1 does 19:42:04 else , I just have to go to next instruction , which is i++ 19:42:19 I thought the stack kept track of where [ is, not ]. 19:42:31 I'm looking at the "// have to add stuff here" bit. 19:42:54 oh sorry, my bad 19:43:01 I keep track of only [ Bike 19:43:17 Right, so when you get to a [ to skip you have to look ahead. 19:44:00 ah gotcha! 19:44:13 and you might encounter another '[' so you've to save that too? 19:44:35 Well, if you have [...[...]...] you have to skip to the second ] and not the first. 19:44:46 yep 19:50:37 Bike, do you think it'd be easier/better if I use 2 stacks to save [ and ] location info ? 19:52:47 precomputing where everything jumps to would be fastest, i guess 20:01:07 But stack wouldn't be appropriate data structure if I precompute the location Bike 20:02:17 no, it wouldn't be. 20:11:40 back 20:12:48 hublao, I wouldn't run directly on a text string myself, rather I would parse and apply some basic optimisation (i.e. turn +++ into "add 3", or >> into "move 2 right") 20:12:59 and then run the linked list that resulted 20:13:34 I am making pretty basic version at the moment Vorpal . Will keep your suggestions in mind! 20:13:37 hublao, this also easily allows skipping a loop that is never entered 20:13:52 just do not follow the pointer to the loop-list 20:13:59 but go to the instruction after the loop 20:14:41 -!- zzo38 has joined. 20:15:22 Um.Now I am kinda confused.Did you look at my code Vorpal ? 20:15:32 hublao, not yet 20:15:33 hm, looks like my dumb one just searched for the [] every time, and then i skipped straight from that to a compiler 20:15:39 hublao, I just suggested a general way 20:15:44 then of course you can apply more advanced optimisations, such as observing that [-] is a "set to 0", thus you now know the value of that cell and can turn any further use of that cell in the current balanced block (that is, a section of code with no loops that move the pointer between the start and the end) 20:15:45 okay 20:15:58 that is, a loop like [>+<] is balanced, but [>+>] is not 20:16:04 hm itrekkie isn't here, that's right 20:16:08 Vorpal, all that will possibly in v2.0 ;p let me get a basic one working yet! 20:16:14 the latter really harms optimising, since you lose track of where you are 20:16:23 dude in ##asm's been learning the ins and outs of x86 from brainfuck of all things 20:16:26 hublao, my main interest in brainfuck is optimising :) 20:16:57 nice Vorpal ! But since this is my first attempt , my main interest is making a simple interpreter ;p 20:18:05 Making a very naive interpreter will give you fairly slow results. But, then, who cares. It's not like Brainfuck needs to be fast. 20:18:30 hmm pikhq .Once I get naive one working , I can improve upon it. 20:18:35 hublao, fair enough 20:19:18 hublao, anyway writing a simple recursive parser for brainfuck that puts it into a linked list, then writing a recursive execution function working on that list is probably the easiest way to run it IMO 20:19:42 and it makes it easy to apply optimisation further down the line 20:20:04 -!- oerjan has joined. 20:20:17 note to self: actually rewrite the wiki brainfuck spec one day 20:20:26 Phantom_Hoover, oh? What is wrong with it? 20:20:41 no concept of syntax 20:20:42 that sounds kinda complicated to me atm Vorpal . 20:20:51 hm okay 20:20:57 hublao, which bit of it? 20:21:09 Vorpal, whole recursion thing 20:21:17 uh 20:21:25 hublao, what bit of recursion is an issue? 20:21:25 I am focussing on fixing the code I've written atm 20:23:18 hublao, when you find a [ you do something like currentNode.type = LOOP; currentNode->codeInLoop = myParser(myFILE, currentLoopDepth+1); You use the loop depth variable to detect if a [ is missing a matching ] or vice verse. 20:23:53 hmm , I kinda get it 20:23:57 hublao, then when you detect a ] you check that the loop depth is not 0 (in that case you have more ] than [) and return the code linked list you generated so far 20:24:34 hublao, and when you get end-of-file you check that your loop depth *is* 0 (otherwise you have more [ than ]) and return your linked list 20:24:48 I see 20:26:31 hublao, as a result you have a linked list with structs along the lines of struct codeNode { InstructionType type; codeNode* next; codeNode* codeInLoop; } (the last member being a null pointer for non-loops) 20:27:25 hublao, of course from there you can easily extend it, like adding a "count" field, for add/subtract so that you can merge +++ into "add 3" as I mentioned above. And so on. 20:28:33 hublao, this representation is easy to do basic optimisation on (you might want something different if you go for really advanced stuff), easy to generate code from, if you want to compile. And easy to interpret. 20:30:12 hublao, when you find a loop, you just do something like: switch (curNode->type) { ... case LOOP: while (*dataPtr) { interpret(curNode->codeInLoop); } break; ... } 20:30:52 and after the switch statement you have curNode = curNode->next; at the end of the outer loop 20:31:51 Okay Vorpal .Thanks for all the info.Also check PM. 20:36:01 -!- ogrom has quit (Quit: Left). 21:11:23 * Sgeo decides to make a rough outline of what his blog post will be 21:12:15 a rectangle? 21:31:09 -!- DHeadshot has joined. 21:46:40 rectangle? damn near killtangle! 21:47:31 -!- azaq23 has joined. 21:47:39 -!- azaq23 has quit (Max SendQ exceeded). 21:47:45 -!- hublao has quit (Quit: Leaving). 21:50:34 `quote metaturing 21:50:36 No output. 21:50:40 :O 21:51:16 -!- Arc_Koen has joined. 21:51:43 `run echo "This wisdom entry was crushed by a falling anvil." >wisdom/metaturing 21:52:04 was that in wisdom then? 21:52:05 No output. 21:52:17 `? metaturing 21:52:19 This wisdom entry was crushed by a falling anvil. 21:54:01 it does not appear to have previously existed. 21:54:13 assuming i understand http://codu.org/projects/hackbot/fshg/index.cgi/file/23c726e07478/wisdom/metaturing 21:54:56 wtf 21:55:03 did it get deleted in a quote purge then 21:55:32 -!- impomatic has quit (Ping timeout: 248 seconds). 21:56:37 `run hg export 0:tip | grep -i metaturing 21:57:08 No output. 21:57:16 Well. 21:57:18 That didn't work. 21:57:41 `run hg export 0:tip | head 21:57:44 ​# HG changeset patch \ # User HackBot \ # Date 1329421352 0 \ # Node ID e037173e0012bed0fece931395ef4a22f213632a \ # Parent 0000000000000000000000000000000000000000 \ Initial import. \ \ diff -r 000000000000 -r e037173e0012 .hg_archival.txt \ --- /dev/nullThu Jan 01 00:00:00 1970 +0000 \ +++ b/.hg_archival.txtThu Feb 16 19:42:32 2012 +0000 21:57:53 No idea why that didn't work. 22:00:17 Applejacques: Gregor has occasionally wiped the repository history 22:00:41 as you might conceivably know 22:01:04 * oerjan should learn to recognize these weird nicks some day 22:01:45 and also to suspect foul when Gregor doesn't tab complete. 22:05:15 lul 22:05:32 I haven't wiped the history since transactions came in. 22:05:35 Not necessary any more. 22:05:38 OKAY 22:05:38 `run du -h .hg/ 22:05:41 7.0M.hg/store/data/bin \ 2.1M.hg/store/data/lib \ 37M.hg/store/data/paste \ 12M.hg/store/data/share/_word_data \ 20K.hg/store/data/share/lua/5.2/luarocks/build \ 28K.hg/store/data/share/lua/5.2/luarocks/fetch \ 8.0K.hg/store/data/share/lua/5.2/luarocks/fs/unix \ 8.0K.hg/store/data/share/lua/5.2/luarocks/fs/win32 \ 36K.hg/store/data/share/l 22:05:45 >_> 22:05:49 `run du -hc .hg/ 22:05:51 7.0M.hg/store/data/bin \ 2.1M.hg/store/data/lib \ 37M.hg/store/data/paste \ 12M.hg/store/data/share/_word_data \ 20K.hg/store/data/share/lua/5.2/luarocks/build \ 28K.hg/store/data/share/lua/5.2/luarocks/fetch \ 8.0K.hg/store/data/share/lua/5.2/luarocks/fs/unix \ 8.0K.hg/store/data/share/lua/5.2/luarocks/fs/win32 \ 36K.hg/store/data/share/l 22:05:54 >_< 22:05:56 `run du -hs .hg/ 22:05:59 147M.hg/ 22:07:21 `run ls -ld .hg 22:07:24 drwxr-xr-x 3 5000 5000 4096 Feb 2 21:52 .hg 22:07:53 should that really be writable from the sandbox? 22:08:00 or is it just a copy 22:08:16 (and if so, isn't it expensive to make a copy each time) 22:09:38 or wait hm 22:09:44 `run whoami 22:09:49 whoami: cannot find name for user ID 5000 22:09:58 yeah it is the same user 22:10:36 Applejacques: couldn't someone mess up the repository by modifying .hg ? 22:10:44 `ls -l .hg 22:10:45 ​/bin/ls: invalid option -- ' ' \ Try `/bin/ls --help' for more information. \ /bin/ls: invalid option -- ' ' \ Try `/bin/ls --help' for more information. 22:10:49 `run ls -l .hg 22:10:50 total 308 \ -rw-r--r-- 1 5000 5000 57 Feb 16 2012 00changelog.i \ -rw-r--r-- 1 5000 5000 8 Feb 2 21:52 branch \ -rw-r--r-- 1 5000 5000 95 Feb 2 21:51 branchheads.cache \ -rw-r--r-- 1 5000 5000 134592 Feb 2 21:52 dirstate \ -rw-r--r-- 1 5000 5000 84 Feb 2 21:52 last-message.txt \ -rw-r--r-- 1 5000 5000 23 Feb 16 2012 requi 22:11:38 hm oh 22:12:16 `run touch .hg/HURRHURR 22:12:18 touch: cannot touch `.hg/HURRHURR': Read-only file system 22:12:24 EEK 22:12:30 OKAY THEN 22:22:38 -!- DHeadshot has quit (Read error: Connection reset by peer). 22:22:59 -!- DHeadshot has joined. 22:32:50 `fetch http://zzo38computer.org/esoteric/Arc_Koen/fueue.c 22:32:53 2013-02-02 22:32:52 URL:http://zzo38computer.org/esoteric/Arc_Koen/fueue.c [16242/16242] -> "fueue.c" [1] 22:33:01 `gcc fueue.c 22:33:15 sorry I did not ask for zzo38 to update it 22:33:20 yet 22:33:25 hm... 22:33:25 No output. 22:33:26 hey zzo38 are you busy at the moment? 22:33:37 Arc_Koen: I can update it if you have the thing to update. 22:33:43 cool 22:35:26 hmm I was looking for your emaila ddress but then I received a text message from an unknown number with not very nice things included 22:35:42 I don't have email 22:35:51 well I don't have gopher! 22:36:20 You don't need to use gopher you can use the IRC to send it to me. 22:36:33 `run mv a.out bin/fueue 22:36:37 No output. 22:37:06 `fueue 72 101 108 108 111 44 32 119 111 114 108 100 33 10 H 22:37:10 Hello, world! 22:37:52 `fueue 48 ~!~)): [[48 [)):] [~!~)):] ~~) !][49 [~!~)):] [)):] )~]] 22:37:53 01101001100101101001011001101001100101100110100101101001100101101001011001101001011010011001011001101001100101101001011001101001100101100110100101101001100101100110100110010110100101100110100101101001100101101001011001101001100101100110100101101001100101101001011001101001011010011001011001101001100101101001011001101001011010011001011010010110011010 22:38:43 `ls interp 22:38:46 ​/bin/ls: cannot access interp: No such file or directory \ /bin/ls: cannot access interp: No such file or directory 22:38:50 `ls 22:38:51 ​= 0 \ bin \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ fueue.c \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ test \ u \ wisdom \ zalgo.hs 22:38:54 `ls interps 22:38:57 1l \ 2l \ adjust \ axo \ befunge \ bfjoust \ bf_txtgen \ boof \ build.sh \ cfunge \ c-intercal \ clc-intercal \ dimensifuck \ egobch \ egobf \ fukyorbrane \ gcccomp \ gforth_quit \ ghc \ glass \ glypho \ kipple \ lambda \ lazyk \ linguine \ Makefile \ malbolge \ pbrain \ qbf \ rail \ rhotor \ sadol \ sceql \ trigger \ udage01 \ underload \ unlambda 22:39:13 zzo38: did I just send you a file named fueue.c? 22:39:32 via dcc 22:39:33 I have to receive it 22:40:04 -!- asiekierka has quit (Excess Flood). 22:40:45 OK, I have done 22:41:15 -!- asiekierka has joined. 22:41:40 Arc_Koen: The DCC SEND message was received twice somehow, but I managed to download it using netcat anyways without the problem 22:44:01 yeah from my side it definitely looks like it'snot working properly 22:44:32 aaaand here's fueue.ml 22:45:00 so you don't have email? you're probably the first person I meet who doesn't 22:45:36 (well, for some values of "meet" and not counting kids) 22:54:49 `fetch http://zzo38computer.org/esoteric/Arc_Koen/fueue.c 22:54:53 2013-02-02 22:54:51 URL:http://zzo38computer.org/esoteric/Arc_Koen/fueue.c [16311/16311] -> "fueue.c.1" [1] 22:55:10 OK, now I have fueue.ml 22:55:25 thank you a lot 22:55:41 `run mv fueue.c.1 fueue.c 22:55:45 I should probably go to bed now, I'm in the middle of a go tournament 22:55:49 No output. 22:55:54 today I had to play against the strongest player 22:55:59 `run sed -i s/1000/10000/ fueue.c #Whistles innocently 22:56:03 No output. 22:56:11 I think normally he'd give me three or four stones 22:56:22 `run gcc -o bin/fueue fueue.c 22:56:29 No output. 22:57:28 `run echo "72\n101\n108\n108\n111\n44\n32\n119\n111\n114\n108\n100\n33\n10\nH" 22:57:30 72\n101\n108\n108\n111\n44\n32\n119\n111\n114\n108\n100\n33\n10\nH 22:57:38 sheesh. 22:58:06 `ls 22:58:13 ​= 0 \ bin \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ fueue.c \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ test \ u \ wisdom \ zalgo.hs 22:59:38 `printf 72\n101\n108\n108\n111\n44\n32\n119\n111\n114\n108\n100\n33\n10\nH 22:59:39 72 \ 101 \ 108 \ 108 \ 111 \ 44 \ 32 \ 119 \ 111 \ 114 \ 108 \ 100 \ 33 \ 10 \ H 22:59:59 `run fueue $(printf "72\n101\n108\n108\n111\n44\n32\n119\n111\n114\n108\n100\n33\n10\nH") 23:00:01 Error: fueue received too many arguments. The Hello world program \ Hello, world! 23:00:06 hmph 23:00:33 `run fueue "$(printf '72\n101\n108\n108\n111\n44\n32\n119\n111\n114\n108\n100\n33\n10\nH')" 23:00:35 Hello, world! 23:02:51 -!- impomatic has joined. 23:35:33 -!- Arc_Koen has left. 23:37:21 -!- asiekierka has quit (Excess Flood). 23:40:16 -!- asiekierka has joined. 23:46:16 -!- Phantom_Hoover has quit (Ping timeout: 245 seconds). 23:53:03 `list 23:53:05 Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 23:53:50 oh wow. Taneb is under 50% of that list 23:58:18 -!- sirdancealot7 has joined. 2013-02-03: 00:02:10 -!- carado has quit (Ping timeout: 246 seconds). 00:05:22 ^show list 00:05:23 (Taneb atriq Ngevd Fiora nortti Sgeo alot)S 00:05:38 ^def list ul (Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot)S 00:05:39 Defined. 00:05:59 Who is ThatOtherPerson? 00:06:05 fizzie: needs saving hth 00:06:15 ^save 00:06:27 no? 00:06:31 ok 00:06:35 i do not think that command responds to anyone but fizzie 00:09:58 hi fungot 00:09:59 kmc: he is so silly! 00:10:14 fungot: me or you? 00:10:15 kmc: for a while it was frustrating. most of john's dad, who broke a huge wizard is. you don't like is my mother's obsession with clocks. the sooner all these idiots stop being alive the better of you. 00:10:26 ^style 00:10:26 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck* ic irc iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube 00:10:40 ^style fungot 00:10:40 Selected style: fungot (What I've said myself) 00:10:48 fungot: hi 00:10:48 kmc: is that something you know and and the cases that required to actually mutate the original ( sorted, perhaps, it may be said that particularly here, parliament will give a single instance, 00:15:32 Mr. President, I think fungot is mixing metaphors again 00:15:33 oerjan: ( that is, levinson went to kish, disappeared, had on your behalf of the commission is not allowed to use the crane, enter any two of these letters, a b y. every night, brings a new world of good! i was your problem? maybe you just can't handle is designed" if continuations are not unmodular in the same 00:26:58 -!- Taneb has quit (Quit: Leaving). 00:42:35 Oh hey someone wrong my mamb for Scala years ago 00:42:42 https://github.com/urso/embeddedmonads 00:43:05 Was that supposed to be "wrote"? 00:43:25 yes, yes it was 00:45:15 Have you considered writing a library called Mambo? 01:18:53 -!- copumpkin has quit (Ping timeout: 245 seconds). 01:19:24 -!- copumpkin has joined. 01:22:19 ^save 01:22:19 OK. 01:28:14 yay! 01:28:36 * oerjan didn't really think fizzie was around 01:28:58 I have been playing a game, is why. 01:29:17 you'd also been idle for over a day 01:30:15 Oh, but I've been checking the channel every few hours, all sneaky-stealth-like. 01:30:37 (IRC should have some kind of attention notification protocol, perhaps?) 01:31:21 IM things have that "user is typing" indicator, but even they don't generally (AFAIK) have a "user is looking" indicator. 01:32:37 we've been thinking about that a lot for the business communication tool we're building 01:35:40 it works as realtime chat, but (unlike say IRC) it strongly encourages you to read every message 01:35:56 Incorporating eye-tracking technology sound like the obvious way to go about it, of course. 01:35:58 so that it can also take the place of asynchronous things like email 01:36:35 so we kind of want to deliberately avoid a 'user is around right now' notification, because it would discourage people from using it in that second way 01:36:55 on the other hand it's something people really really want 01:37:22 xmpp's combo of away statuses and typing notifications seems fine to me 01:38:01 Beating the users until they stop wanting things you don't want them to want seems fine to me. 01:40:13 but in the limit you end up with something nobody wants 01:40:28 we've been thinking about that a lot for the business communication tool we're building <-- as long as it is better than Samtime in the god awful Lotus Notes... 01:40:40 in the limit you work somewhere else, i thought 01:41:26 what's Samtime like 01:41:30 Bike: well ok 01:41:41 kmc, well I guess it actually isn't the worst part of notes 01:42:11 kmc, of course it suffers the general problems with confusing UI of notes that means you have no idea where to find the setting you want. 01:42:49 kmc, oh and I have no idea how to change spell check language in it. It seems stuck to English, while the rest of Notes is stuck to Swedish 01:43:08 kmc, anyway it is an IM system integrated into Notes 01:43:12 use it at work 01:43:23 does show the away status 01:44:57 -!- Nisstyre-laptop has quit (Quit: Leaving). 01:46:37 -!- Nisstyre-laptop has joined. 01:49:15 -!- DHeadshot has quit (Read error: Connection reset by peer). 01:49:21 -!- DH____ has joined. 02:01:13 http://www.reddit.com/r/Python/comments/17rfh7/warning_dont_use_pip_in_an_untrusted_network_a/ 02:01:22 yay people are finally talking about these problems 02:02:12 "It's a bit worse than that." security sure is a fun field 02:04:43 yeah, the default python HTTP libraries make it basically impossible to check SSL certs 02:04:47 who would ever want to do that right 02:05:02 Python: explosive, acid-leaking batteries included 02:05:11 -!- Nisstyre-laptop has quit (Quit: Leaving). 02:17:38 Would x + y = y + x be a valid last pattern match, so that all cases where x is specific also apply to where y is specific instead? 02:17:50 what 02:17:59 oh i see what you mean 02:19:11 yes, you can do things that way, but I remember concluding that it's not worthwhile 02:19:19 Say I have (x,True) + (y,False) = something and then don't want to write the case for (x,False) + (y,True) = something 02:19:39 one problem is that if you forget a case, there's no compiler warning and you get an infinite loop at runtime 02:20:42 Yeah, that's what I was thinking 02:21:25 I'm making silly Num instances =P 02:21:39 instance Num ([()],Boolean) 02:21:48 that is silly 02:22:03 Boolean is the sign, the list is the magnitude 02:22:04 you should introduce a new constructor rather than using (,) 02:22:09 As in the length 02:22:13 otherwise it will overlap with other (,) instances 02:22:35 I was thinking of making a new constructor, but was lazy =P 02:22:42 Sure, I will 02:23:39 also if you want to be sillier, use Fix Maybe 02:23:47 data SillyNum = Positive [()] | Negative [()] 02:23:49 instead of [()] 02:24:01 :t Fix Maybe 02:24:04 Not in scope: data constructor `Fix' 02:24:04 Not in scope: data constructor `Maybe' 02:24:12 :k Fix 02:24:13 Not in scope: type constructor or class `Fix' 02:24:15 :k Mu 02:24:16 (* -> *) -> * 02:24:18 ok lambdabot calls it Mu 02:24:23 why 02:24:25 @src Mu 02:24:25 newtype Mu f = In { out :: f (Mu f) } 02:24:36 because μ is used for least fixed points in maths sometimes 02:24:46 > In (Just (In Nothing)) 02:24:48 In (Just (In Nothing)) 02:24:59 Is Fix Maybe a chain of justs that possibly ends in Nothing 02:25:08 yes 02:25:25 Mu Maybe ≈ Maybe (Mu Maybe) 02:25:36 where by ≈ i mean "isomorphic to" 02:25:42 data Fix a = a (Fix a) ??? 02:25:55 newtype Mu f = In { out :: f (Mu f) } 02:26:05 Ah 02:26:09 you need a value constructor 02:26:20 Yeah, I see 02:26:27 also you need to use 'newtype' if you want it to be an actual isomorphism 02:26:34 otherwise ⊥ ≠ In ⊥ 02:26:44 so each level of recursion has one more "value" 02:27:03 i wrote some stuff about this stuff here http://mainisusuallyafunction.blogspot.com/2010/12/type-level-fix-and-generic-folds.html 02:28:15 oh, so it's the same recursive-functions-are-actually-fixedpoints thing as with, uh, functions. 02:28:22 yeah 02:28:29 I think I'll use [()] for now 02:29:06 [()] means you can use list functions for arithmetic... 02:29:16 I like how the definition of fix there relies on recursion 02:29:49 well in a statically typed language, you can't write fix unless you are already given some kind of recursion construct 02:29:58 > const id <$> [(),(),()] <*> [(),()] 02:30:00 [(),(),(),(),(),()] 02:30:29 oh wait 02:30:36 > [(),(),()] *> [(),()] 02:30:38 [(),(),(),(),(),()] 02:30:50 Need to consider negative values too =P 02:31:09 > replicate 3 [()] >> replicate 5 [()] 02:31:11 [[()],[()],[()],[()],[()],[()],[()],[()],[()],[()],[()],[()],[()],[()],[()]] 02:31:15 though in Haskell there are various accidental "recursion constructs" you can use 02:31:18 http://okmij.org/ftp/Haskell/types.html#fix 02:31:23 > replicate 3 [()] >> replicate 5 [()] >>= id 02:31:25 [(),(),(),(),(),(),(),(),(),(),(),(),(),(),()] 02:31:42 Oh, duh 02:31:46 > replicate 3 () >> replicate 5 () 02:31:47 [(),(),(),(),(),(),(),(),(),(),(),(),(),(),()] 02:32:11 anyway if you have a simple typed lambda calculus, you can't write fix 02:32:29 note that its type, (a -> a) -> a, is unsound as a logical proposition 02:32:59 > sequence_ $ [(),(),()] <$ [(),()] 02:33:01 [(),(),(),(),(),(),(),(),()] 02:33:10 once you allow arbitrary recursion, your programs are no longer really proofs, because they can loop forever instead of yielding a value of their declared type 02:33:42 Somehow I can't see {-# RULES forall m n. length (replicate m () *> replicate n ()) = m * n #-} becoming a thing 02:33:59 If you don't allow arbitrary recursion, your programs aren't turing-complete 02:34:01 > (mapM_ . const) [(),(),()] [(),()] 02:34:04 [(),(),(),(),(),(),(),(),()] 02:34:44 @let voided n = replicate n () 02:34:46 Defined. 02:34:50 > void [1..] > voided 5 02:34:53 True 02:34:56 Jafet: Wouldn't that give a different result for negative values of m and n 02:35:47 > (compare `on` void) (1:2:3:4:5:undefined) [10,20,30] 02:35:49 GT 02:36:05 :t on 02:36:07 (b -> b -> c) -> (a -> b) -> a -> a -> c 02:36:33 > null . 02:36:35 :1:7: parse error (possibly incorrect indentation) 02:36:41 :t null .: void 02:36:43 Couldn't match expected type `[a0]' with actual type `()' 02:36:43 Expected type: g0 a1 -> g0 [a0] 02:36:43 Actual type: g0 a1 -> g0 () 02:37:09 I love expressive type systems 02:37:26 :t null 02:37:28 [a] -> Bool 02:37:42 > (null .) 02:37:43 No instance for (GHC.Show.Show (f0 [a0] -> f0 GHC.Types.Bool)) 02:37:44 arising f... 02:38:03 :t (null .) 02:38:04 Functor f => f [a] -> f Bool 02:38:19 kmc: i know all that much at least, you don't need to tell me again :P 02:39:11 but do you know the type newtype T = T (T -> T)!! 02:39:23 Ah, lambdabot does the (.) = fmap thing 02:40:03 shachaf: T id 02:40:04 FreeFull: http://en.wikipedia.org/wiki/%CE%9C-recursive_function you only need search!!! 02:41:44 Bike: ok 02:42:00 it's hard to remember what people know and don't know 02:42:14 i suppose 02:42:18 nothing wrong with talking it through again 02:42:47 Back to my num instance 02:45:46 hm, i had this idea that cata(morphism) was actually reasonably widespread in haskell world 02:46:40 more of an agda thing maybe? 02:46:56 -!- Phantom_Hoover has joined. 02:48:13 Maybe I shouldn't have used separate constructors for positive and negative 02:48:20 It's bloating my num instnace 02:50:39 data Sign = Negative | Zero | Positive deriving Show data SillyNum = SillyNum Sign [()] deriving Show this might be better, probably should derive more instances but whatever 02:50:54 so what's this all for 02:51:11 Sillyness 02:51:48 Actually, screw Sign, I'll just use Integer or something 02:52:48 i'll make my own Num instance, with blackjack and hookers 02:55:33 -!- DH____ has quit (Read error: Connection reset by peer). 03:04:00 data SillyNum = SillyNum Integer [()] deriving Show 03:04:11 instance Num SillyNum where { fromInteger x = SillyNum (signum x) (genericReplicate (abs x) ()); negate (SillyNum x y) = SillyNum (-x) y; abs (SillyNum x y) = SillyNum (abs x) y; signum (SillyNum x _) = SillyNum x [()]; (SillyNum x a) + (SillyNum y b) = fromInteger (x * genericLength a + y * genericLength b); (SillyNum x a) * (SillyNum y b) = SillyNum (x*y) (a >> b) 03:04:46 } 03:05:33 :t (>>) 03:05:35 Monad m => m a -> m b -> m b 03:05:36 Appears to work 03:06:21 Bike: Same as *> but for monads 03:11:45 What happens when you call length on a list larger than maxBound :: Int 03:12:15 Assuming you wait for it to actually finish 03:12:35 > length ([1.. (fromIntegral (maxBound :: Int) + 1)]) 03:12:39 You realize that you need to buy a 64-bit CPU 03:12:39 mueval-core: Time limit exceeded 03:12:58 FreeFull: I think the semantics are not defined by the standard 03:13:03 > length ([1.. (fromIntegral (maxBound :: Int))]) 03:13:07 mueval-core: Time limit exceeded 03:13:12 Let me look up the standard implementation of length 03:13:15 in practice it will depend on how length is implemented and how Int overflow works on your Haskell implementation 03:13:21 length [] = 0 03:13:21 length (_:l) = 1 + length l 03:13:24 from the report 03:13:37 so that will pretty directly depend on what (+) :: Int -> Int -> Int does 03:13:46 > 1 + (maxBound::Int) 03:13:47 Are there laws for (+) 03:13:48 -9223372036854775808 03:13:53 nice! 03:14:07 Jafet: if there are any laws for numbers, they are almost certainly violated by Double ;P 03:14:12 i mean equality is not even reflexive 03:14:39 Since there are no laws, length can return anything on a non-null list 03:14:43 hm, i do wonder about that sometimes. like should you have * work on both integers and matrices even though they have different properties. how do you fit this into a type system that makes any sense at all. 03:14:54 CHECKMATE 03:15:00 Jafet: i think the semantics of Int specifically are specified within the range [-2^29..2^29-1] 03:15:01 So you'll eventually end up with a negative value for length :D 03:15:18 And it's possible to get a list large enough that length will say it's length is 0 03:15:19 > let n :: Double; n = read "NaN" in n == n 03:15:21 False 03:15:29 good representation 03:15:33 int overflows are a grave security concern in C 03:15:49 lotta code will do like buf = malloc(n * sizeof(foo)) 03:16:02 haha oops 03:16:04 if that multiplication overflows, you allocate less memory than you expect 03:16:27 kmc: Should I be surprised Haskell has adopted the NaN /= NaN thing? 03:16:28 sscanf(buf, "%d", &n) 03:16:50 I shouldn't 03:16:52 isn't it just using ieee like everyone else in the universe? 03:16:56 Makes sense for ieee 03:17:02 except ps2 gpus maybe 03:17:18 In other words calloc is more secure than malloc??? 03:17:34 But then 03:17:35 Jafet: how's that 03:17:38 > Nothing == Nothing 03:17:40 True 03:17:52 calloc(n, sz) 03:18:01 ah yes 03:18:11 does the haskell report specify that floating point is IEEE754? 03:18:14 FreeFull: what's the relevance 03:18:22 > isIEEE (undefined :: Float) 03:18:23 True 03:18:30 okay so it's not spec'd but you get a runtime check 03:18:56 Double should be an algebraic type 03:19:11 > isIEEE (3 :: Real) 03:19:11 and NaN /= NaN does make sense, it's just unfortunate 03:19:13 Expecting one more argument to `GHC.Real.Real' 03:20:01 kmc: unfortunate? 03:20:14 :k Real 03:20:16 NaN is almost like ⊥ -- it means you have no information about the "actual" result 03:20:16 * -> Constraint 03:20:22 :k Constraint 03:20:23 BOX 03:20:55 ow my brain 03:20:55 > (Nothing == Nothing) :: Maybe Float 03:20:57 Couldn't match expected type `Data.Maybe.Maybe GHC.Types.Float' 03:20:58 ... 03:21:12 > (Nothing == (Nothing :: Maybe Float)) 03:21:12 oh right, nan means "not representable" in addition to "doesn't make sense". gosh i'm bad with floats 03:21:14 True 03:22:08 however Infinity == Infinity which seems a little bit wrong 03:22:21 because two numbers which are too big to represent might still be unequal 03:22:33 > (1/0) == (2/0) 03:22:33 Isn't no information about the actual result undefined 03:22:35 True 03:22:42 positive infinity, infinity on the pi/4 vector, what's the diff 03:22:53 Multiply both sides by 0, 1 == 2 03:23:07 Jafet: yeah, most systems allow configuring the floating point unit to treat NaN as an exception 03:23:14 -!- constant has changed nick to function. 03:23:16 though iirc it's pretty nasty with GHC haskell 03:23:27 because this FPU state is not saved by the green-thread scheduler 03:23:33 > 2.0^10000 == 2.0^20000 03:23:35 True 03:24:14 Why do most programming languages have mediocre type systems ): 03:24:23 any attempt to represent real numbers in a computer is doomed to incoherence 03:24:38 FreeFull: most things are bad 03:24:38 Also it's weird to blame type systems for reals being weird. 03:24:40 There are always the unreal computers 03:24:59 many explanations are offered but I prefer to think that success is simply random, and most things people try are bad 03:25:03 so most things that succeed are also bad 03:25:31 Bike: Nah, I'm not 03:25:45 There are only so many reals you can represent in a limited space 03:26:09 there are only so many reals you can represent in countably infinite space 03:26:14 which is to say almost none of them 03:26:25 lebesgue measure is so passé 03:26:30 Well, any real is countably infinite 03:26:32 almost every real number contains an infinite amount of information 03:26:50 yeah it's true Jafet 03:26:55 i was speaking imprecisely 03:27:01 "Damn you cantor" 03:27:08 however the problem of representing reals in a computer is more fundamental than the problem of representing integers 03:27:24 the latter is just about space whereas the former is about the fact that reals are crazy and fucked up 03:27:25 ya think? representing integers is a pretty neat problem too. 03:27:58 of course you don't really have to think about it unless you're dealing with trillion-digit numbers, i guess. how boring 03:28:33 (and not that reals aren't crazy and fucked up) 03:28:47 You're lucky if your real is just transcendental, you can still approximate that with a rational 03:29:26 Most reals can't be and all you can do is assign some symbol to it 03:29:59 “eog or the Eye of GNOME is a simple graphics viewer for the GNOME desktop which uses the gdk-pixbuf library. It can deal with large images, and zoom and scroll with constant memory usage.” (eog:21228): GLib-ERROR **: /build/buildd/glib2.0-2.34.1/./glib/gmem.c:165: failed to allocate 18446744071773880320 bytes 03:30:17 uh aren't most reals transcendental 03:30:37 eog failed to open my 32768x32768 image 03:30:41 gnome sucks 03:30:51 FreeFull, except for the ones that no string of symbols can be assigned to 03:30:57 Which is most of them 03:31:10 Well, hmm 03:31:16 Not a good way to phrase that 03:31:27 You can assign them. Omega = chaitin's constant on 2,3 machines. 03:31:36 but that's not what you mean. 03:31:42 Different meaning of symbol 03:31:44 No finite amount of symbols and description suffices to describe. 03:31:50 There you go. 03:32:09 Also isn't the golden ratio algebraic or am I being dumb 03:32:30 Chaitin's constant is described as the real number containing the probability of halting for 2,3 machines 03:32:30 Sgeo: to describe as distinctive from other reals you mean 03:32:43 FreeFull, good point 03:32:47 Because I could just say x is a real 03:32:51 Jafet: most numbers are undefinable too, though. 03:32:54 -!- Phantom_Hoover has quit (Remote host closed the connection). 03:33:01 Those don't exist 03:33:11 Monster. 03:33:21 Everything exists. 03:33:34 If all numbers are definable, how many numbers are between 0 and 1? 03:33:50 Existence is easy 03:33:54 Actually, nevermind 03:33:56 (Therefore: everything is easy) 03:33:57 FreeFull: cardinality of the naturals duh 03:34:48 FreeFull: also, the golden ratio is algebraic but all rational approximations of it suck (for reasonable definitions of suckage) 03:35:17 How would you make a function that takes a floating value of Inf and makes it 1 using just arithmetic operations? 03:35:39 * function returns 1 to FreeFull 03:35:42 Bike: Good enough 03:35:43 f _ = 1 03:36:00 Bike: I didn't specify enough 03:36:09 Heh, heh. 03:36:17 It has to return 1 only for Inf and 1, for everything else it's id 03:36:55 No ifs? 03:36:57 Hm 03:37:04 -!- Nisstyre-laptop has joined. 03:37:09 f n | n /= n = 1 | 1>0 = n 03:37:12 > let f n | isInfinite n = 1; f n = n in (f 3, f (1/0)) 03:37:13 (3.0,1.0) 03:37:15 Not necessarily id 03:37:36 -!- WeThePeople has joined. 03:37:39 Surely guards count as ifs 03:37:43 Not necessarily 1 for 1, but has to return different values for different inputs 03:37:44 > let f n | (isInfinite n && (n > 0)) = 1; f n = n in (f 3, f (1/0), f (-1/0)) 03:37:45 (3.0,1.0,-Infinity) 03:37:46 You could probably say it has to be a composition of possibly partially applied arithmetic functions. 03:38:04 Guards count as non-arithmetic operations here, and isInfinite does too 03:38:24 NaN is non-arithmetic 03:38:30 Or you could just get to your point instead of adding more and more constraints as kmc works around yours. 03:38:38 Non-arithmetic number 03:38:43 i'm not really paying attention 03:38:46 Ignore NaN 03:38:52 just fuckin' around 03:38:55 on the internet 03:38:57 same thing 03:38:57 But then what's Inf-Inf? 03:39:04 > Inf - Inf 03:39:06 That's an arithmetic operation 03:39:06 Not in scope: data constructor `Inf' 03:39:06 Perhaps you meant one of these: `In' ... 03:39:09 hth 03:39:30 > let Inf = 1/0 in Inf - Inf 03:39:32 Not in scope: data constructor `Inf' 03:39:32 Perhaps you meant one of these: `In' ... 03:39:42 > let inf = 1/0 in inf - inf 03:39:44 NaN 03:39:57 There, it's bread 03:40:01 Unless you want to take the utter crazy view that Inf-Inf = 0, in which case, (1+) . (`subtract` inf) 03:40:23 well, let's see, on the riemann sphere such a function wouldn't be continuous so fuck it 03:40:25 I think J does that or something 03:41:03 smokin' a J 03:41:16 Oh it doesn't 03:41:18 ) _-_ 03:41:19 Sgeo: |NaN error 03:41:19 Sgeo: | _ -_ 03:41:32 j's syntax is a thing of beauty 03:41:56 I was thinking there are functions that squish -Inf..Inf to -1..1 or some other range 03:42:20 But wouldn't IEEE floats foil that without explicitly considering infs 03:42:55 Wouldn't any non-infinite number get squished to, say, 0? 03:42:57 well it wouldn't be injective 03:43:42 Sgeo: Not necessarily 03:43:56 Sgeo: The closer the number is to 0, the less it'd get squished 03:44:11 hrm 03:44:29 Shouldn't say "arithmetic" operations. Makes me want to exclude logarithmic stuff 03:44:57 Ok, include logarithmic and trigonometric stuff too then 03:45:05 Say, atan :) 03:45:05 Since you're dealing with reals you could just say analytic functions. 03:45:09 ) $%97^3$@>.$(Po.uo.godeto.go4i$*%#@( 03:45:09 kmc: |spelling error 03:45:09 kmc: | $%97^3$@>.$(Po.uo.godeto.go4i$*%#@( 03:45:09 kmc: | ^ 03:45:19 god kmc, check your spelling 03:45:23 ) $%97^3$@>.$( 03:45:23 kmc: |syntax error 03:45:23 kmc: | $%97^3$@>.$( 03:45:43 But I don't know if there's a reasonable extension of the complex plane with two points at infinity. 03:46:22 > atan (1/0) 03:46:23 1.5707963267948966 03:46:33 Close enough 03:46:45 ) _3 o. 1%0 03:46:45 Sgeo: 1.5708 03:46:50 > tan (atan (1/0)) 03:46:51 can't find file: L.hs 03:46:59 > tan (atan (1/0)) 03:47:00 1.633123935319537e16 03:47:09 Not close enough 03:47:17 ) 3o._3o._ 03:47:18 Sgeo: |ill-formed number 03:47:25 ) 3o._ 3o._ 03:47:25 Sgeo: |ill-formed number 03:47:35 ) 3o. _ _3o._ 03:47:35 Sgeo: |ill-formed number 03:47:42 > tan (1/0) 03:47:43 ) 3o. _ (_3)o._ 03:47:44 Sgeo: |ill-formed number 03:47:44 NaN 03:47:48 ) 3 o. _ (_3)o._ 03:47:48 Sgeo: |limit error 03:47:49 Sgeo: | 3 o._(_3)o._ 03:47:54 ) ꙮ 03:47:54 kmc: |spelling error 03:47:54 kmc: | ꙮ 03:47:54 kmc: | ^ 03:48:05 ) 'ꙮ' 03:48:05 Bike: ꙮ 03:48:06 Is there any value for which tan will actually produce Inf or -Inf 03:48:09 yesssss 03:48:11 ) fungot 03:48:12 kmc: more simply put: siod sucks as a general purpose ( similar, and i'd like to see that mystical forest powers, but this time on the impact of the introduction to theoretical computer, fnord of the fnord here, so i don't 03:48:12 kmc: |value error: fungot 03:48:12 jconn: and is one thing which you might want is broken" archives. even less chance. i called " o" in " the other side has that as their whole thing, i mean... 03:48:12 fungot: |spelling error 03:48:12 fungot: | and is one thing which you might want is broken" archives. even less chance. i called " o" in " the other side has that as their whole thing, i mean... 03:48:12 fungot: | ^ 03:48:12 jconn: ( c) a player who makes further play impossible by eir actions or lack thereof, or 03:48:12 jconn: to. why, this is for you guys are a lot 03:48:12 jconn: to " print" statement should always remember the songs on p2p apps in scheme, besides, was not beyond normal credibility atheist. you cannot _read_ a procedure, but maybe i will when i start fixing it rather than having arbitrary bf is with a fnord struct, where the actual standard being sane) scheme implementations but guile is my fnord' doggie than a dozen tales, of the whole fnord range of the ' ' ' delete a value of 03:48:12 fungot: c (a player who makes further play impossible by eir actions or lack thereof , or) 03:48:18 ) 3:'x=.5' 03:48:20 OH NO 03:48:24 fungot: | ^ 03:48:24 Sgeo: 3 03:48:41 FreeFull: do you mean in math or in some programming language 03:48:43 I think the bots have flood protection 03:48:47 Or at least fungot does 03:48:47 FreeFull:, so i'd have to consider that although the reduction in actual transportation section from former friend lives, their door had my computer with full u+ support" then they both bowed low. just keep the safe or tub and emptied it 03:48:52 ) 13:'x=.5' 03:48:52 Sgeo: |spelling error 03:48:53 Sgeo: | 13:'x=.5' 03:48:53 Sgeo: | ^ 03:48:59 Bike: Say, haskell 03:49:02 FreeFull: fungot doesn't respond to the person so many times in a row 03:49:02 monqy: use the ' ' ' delete a value of type " airbus is a big fan of avril....but this song " there 03:49:19 FreeFull: so... what's Inf in haskell exactly 03:52:04 > (\n -> 2/n - 4/(n+1) + 1) <$> [1, 1/0] 03:52:05 [1.0,1.0] 03:52:46 Bike: Any value that produces True when fed to isInfinite 03:53:09 Which means it has to be a RealFloat 03:53:23 So... why did you tell us to forget about nans. 03:53:53 FreeFull just wants a smooth compression algorithm on all reals+extended reals to the reals 03:53:56 I didn't want you to care about what happens when nan is fed to your function 03:54:00 Bike: Do you know a lot of things about subtyping? 03:54:05 You should say them all. 03:54:09 I don't know much about anything. 03:54:34 Sgeo: What does Ada do about this? 03:58:23 > (\n -> 1 - 1/(n+1)) <$> [0, 1, 2, 4, 8, 1/0] 03:58:25 [0.0,0.5,0.6666666666666667,0.8,0.8888888888888888,1.0] 04:03:20 > 1/(1/0) 04:03:22 0.0 04:03:26 I forgot that 04:03:28 Did you mean: beeeeeeeeees 04:03:50 * FreeFull offers Jafet a hug prize 04:03:59 FreeFull: well it depends on how these things are defined on infinities, i guess 04:04:59 Jafet is a winner 04:06:12 > (\x -> 1 - 1/(n+1)) <$> [0,(-0.000001)..] 04:06:14 [1 - 1 / (n + 1),1 - 1 / (n + 1),1 - 1 / (n + 1),1 - 1 / (n + 1),1 - 1 / (n... 04:06:21 @hugs 04:06:22 http://hackage.haskell.org/trac/ghc/newticket?type=bug 04:06:28 > (\n -> 1 - 1/(n+1)) <$> [0,(-0.000001)..] 04:06:29 [0.0,-1.000001000006634e-6,-2.0000039999690244e-6,-3.000009000109216e-6,-4.... 04:06:45 -!- oerjan has quit (Quit: Gnite). 04:07:06 Jafet: Behaves weirdly on negative values but fulfills my specification 04:07:29 > (\n -> 1 - 1/(n+1)) -1/0 04:07:32 No instance for (GHC.Real.Fractional (a0 -> a0)) 04:07:32 arising from a use of `... 04:07:41 huh 04:07:50 > (\n -> 1 - 1/(n+1)) -1 04:07:52 No instance for (GHC.Num.Num (a0 -> a0)) 04:07:52 arising from a use of `e_11111'... 04:08:00 > (\n -> 1 - 1/(n+1)) 1 04:08:03 0.5 04:08:07 > (\n -> 1 - 1/(n+1)) (-1/0) 04:08:10 1.0 04:08:44 > (\n -> 1 - 1/(n+1)) -49 04:08:46 No instance for (GHC.Num.Num (a0 -> a0)) 04:08:46 arising from a use of `e_111149... 04:08:49 > (\n -> 1 - 1/(n+1)) (-49) 04:08:51 1.0208333333333333 04:08:57 > (\n -> 1 - 1/(n+1)) (-3) 04:08:59 1.5 04:09:12 > (\n -> 1 - 1/(n+1)) (-0.3) 04:09:13 -0.4285714285714286 04:09:19 > (\n -> 1 - 1/(n+1)) (-0.5) 04:09:20 -1.0 04:09:24 > (\n -> 1 - 1/(n+1)) (-0.6) 04:09:26 -1.5 04:10:32 It's basically a shifted over 1/x 04:11:03 > (\n -> 1 - 1/(n+1)) (-1) 04:11:05 -Infinity 04:15:00 Oh crud I got a call yesterday and don't know who it was from 04:15:03 I may have been asleep 04:15:17 Could have been job related for all I know 04:17:06 -!- c00kiemon5ter has left. 04:17:20 -!- c00kiemon5ter has joined. 04:17:21 You could do something like (\n -> 1 / (1 + 2**(-n))) 04:17:31 -!- Nisstyre-laptop has quit (Ping timeout: 245 seconds). 04:17:43 > (\n -> 1 / (1 + 2**(-n))) (1/0) 04:17:45 1.0 04:17:51 > (\n -> 1 / (1 + 2**(-n))) (-1/0) 04:17:52 0.0 04:17:52 -!- c00kiemon5ter has left. 04:18:14 That just moves the pole to 4.something * i 04:20:04 pole? 04:20:42 Bike: But we're only concerned with reals here 04:20:44 what pole? 04:20:56 Oh that pole 04:20:56 Sgeo: Where 2^-n = -1 and you get infinity again. 04:21:10 The nazis moved millions of poles 04:21:24 The Nazis were known real analysts. 04:26:02 Analyst? 04:26:12 like real analysis. 04:26:44 don't google "intro to anal" 04:27:07 thanks 04:27:35 The advanced classes aren't much better 04:34:23 research frontiers in anal 04:36:07 -!- Mathnerd314 has joined. 04:55:42 -!- WeThePeople has quit (Quit: Leaving). 05:02:34 This is my idea what a register in a hardware NSF might do, which the expansion byte in the NSF header is written to: 05:02:35 If bit2 is set, the memory from $8000-$DFFF becomes read/write (except main routine ROM which is always read-only), otherwise it is read-only. If bit0 is set, VRC6 audio will play, otherwise it will be muted. If bit1 is set, VRC7 audio will play and otherwise is muted. If bit5 is set, Sunsoft 5B audio is played and is otherwise muted. Other bits (bit3, bit4, bit6, and bit7) are ignored. 05:03:21 I think it is compatible with the .NSF specification, isn't it? 05:10:56 This is something someone did to deter spambots on MediaWiki: http://wiki.nesdev.com/w/index.php?title=Talk:Nesdev_Wiki&action=edit They say it worked for sixteen months. Does it work for you? 05:31:05 -!- monqy has quit (Quit: hello). 05:38:14 Sgeo: I am. 05:41:40 You are? 05:54:19 how strange it is to be anything at all 05:57:32 -!- ogrom has joined. 05:58:05 O, well......... 05:58:11 hi zzo38 05:58:17 Did you ever figure out my CodensityAsk thing? 05:58:44 shachaf: Yes I think I do know what that one does. 05:59:23 Oh? What does it do? 05:59:47 I think it is difficult to explain but possible to understand. 06:01:33 (But it is a monad; (CodensityAsk w) is always a monad regardless of what w is.) 06:22:14 o.O 06:22:17 http://www.reddit.com/r/todayilearned/comments/17rpkr/til_when_you_tell_someone_a_goal_or_thing_youre/ 06:22:22 I have _got_ to stop doing that then 06:23:17 chemically satisfies your brain 06:29:05 -!- copumpkin has quit (Ping timeout: 252 seconds). 06:30:03 -!- copumpkin has joined. 06:31:49 Actually, I remember BYOND actually warned against doing that exact thing 06:32:08 (Talking about what you're doing before you do it) 06:32:16 "Make games for free with BYOND. Easy to learn, but powerful. Play online & multiplayer: RPGs, action, strategy, board games, and more!" 06:34:10 For what it's worth, it does use a (custom) programming language. It's not some point and click nonsense 06:35:12 Oh, is that actually what you meant? 06:35:37 I didn't think game makers told you about your life choices... 06:38:47 "Become a BYOND Member to add a game" 06:38:55 ....adding games to my hub is no longer free 06:38:56 * Sgeo sads 06:39:31 I wonder if there are video games in Ada. It must have graphics stuff for the gubmint, right 06:51:05 -!- Bike has quit (Ping timeout: 252 seconds). 06:55:25 -!- Bike has joined. 06:56:26 You can look see if video game in Ada, or write one if you know how to program Ada 06:56:43 Since you can use Ada with GNU compiler 07:16:56 -!- ion has quit (Ping timeout: 252 seconds). 07:17:42 -!- Patashu has joined. 07:19:55 http://zzo38computer.org/img_14/uselessness_rpg.png It isn't very good, you cannot even make a attack which has a script on it, which is terrible. 07:20:09 kmc: Do you know a lot of things about subtyping? 07:20:32 -!- Patashu has quit (Client Quit). 07:20:46 -!- Patashu has joined. 07:20:53 -!- Patashu has quit (Client Quit). 07:20:55 * Sgeo guesses that Scala people would 07:21:09 Scala people have their own problems. 07:21:32 Such as? 07:22:41 Why are you asking about subtyping? 07:22:48 Because I want to figure it out. 07:23:14 What's to figure out, you have a type and then you have a bigger type. And it makes everything less computable but whatever. 07:23:40 Bike: If A is a subtype of B, which one is bigger? 07:23:51 B 07:24:13 If I have e.g. class Foo { A a; }; class Bar : Foo { B b; };, is Bar a subtype of Foo? 07:24:34 (Such that you can give a Bar to a thing that wants a Foo.) 07:24:59 yeah, that's yet another usage of the term "polymorphism". 07:25:21 Polymorphism? 07:25:26 I didn't say polymorphism. 07:25:43 You didn't, but what you described is subtype polymorphism. 07:25:59 Is Bar a subtype of Foo? 07:26:15 Yeah. 07:26:27 Then I don't know what you mean by bigger. 07:26:38 I normally think "bigger" means "has more inhabitants". 07:26:39 "bigger" means "includes more possible values" 07:27:05 Bar has more inhabitants thn Foo, though. 07:27:07 If I have an object of type Foo (only) and an object of type Bar then I have two Foos and one Bar. 07:27:07 If A is a subtype of B, then B includes all the values in A, as well as potentially other values 07:27:10 So that's not what Bike meant. 07:27:40 How does Bar have more inhabitants? Every Bar is also a Foo, Foo can't have less inhabitants than Bar. 07:27:48 Let's say that (A,B) <: A 07:27:49 -!- RodgerTheGreat has quit (Quit: RodgerTheGreat). 07:27:57 Inhabitant does not mean "field" 07:28:00 (0,'a') :: (Int,Char) 07:28:03 (0,'b') :: (Int,Char) 07:28:09 They both map to the same Foo 07:28:17 For every Foo, I have |B| Bars. 07:29:09 They're different Foos, even if code that expects a Foo treats them identically, I think. 07:29:21 yeah. 07:29:37 I see your point, though. 07:29:41 So Bool has infinitely (uncountably?) many inhabitants? 07:29:56 What makes you say that? 07:30:07 (Bool,Integer) <: Bool 07:30:15 Tuples are Bools? 07:30:24 * shachaf sighs. 07:30:42 Bike, the idea is that you subtype from Bool, to get a thing that acts like a Bool but has other properties 07:30:43 class Hi { Bool x; }; -- Hi has infinitely many inhabitants? 07:30:43 I guess 07:31:43 shachaf: I suppose at that point you have to clarify your notion of distinctness. "low-level" style extensional equality (I allocate Hi(true) twice and they're different) would mean infinitely many inhabitants. 07:32:15 I'm not talking about pointer equality here. :-( 07:32:15 But looked at intensionally you're right, there are only two His, and a subtype could possibly have more distinctiveness. 07:32:26 OK. 07:32:41 I don't think you can tell anything about |A| <=> |B| given A <: B 07:32:47 I suppose the latter is more common in type theory but hey guess what I'm shit at type theory. 07:32:59 How often does type theory even use cardinalities? 07:33:22 You should ask this question on #scala 07:33:24 Who knows? 07:33:36 So, to rephrase my original silly way of putting it. 07:34:18 or rather rethink. A subtype has more distinctiveness than its parent type, in that operations can be defined that act differently on objects of the subtype that are the same as far as operations on the parent type are concerned. 07:34:33 Bike: Can I say that A <: Either A B? 07:35:18 As I understand it Either is a functor that takes things away. In the same way Maybe Foo isn't just Foo plus nothing, it's made distinct. 07:35:41 that is, Either A B is a /disjoint/ sum of A and B, not a union. 07:35:56 Right. 07:36:03 So every A maps to an Either A B 07:36:19 -!- ion has joined. 07:36:19 So, no you can't say A is a subtype of Either A B, is what I mean. 07:36:28 Why not? 07:37:18 Because Either maps its two types to a distinct category from vanilla types. 07:37:45 And (A,B) is distinct from vanilla A 07:37:53 yes. 07:38:03 We have an injection Left : a -> Either a b 07:38:26 Sure. 07:38:40 OK, what properties should a subtype have that this doesn't? 07:39:12 If A <: B then anywhere a B can be used an A works just as well, to put it coarsely. 07:39:31 This is pretty obviously not true of A and Either, yeah? 07:39:45 Why? 07:39:57 If your function takes (Either A B), I can pass it my A. 07:40:07 A static typing system might prevent a direct use, but there's a simple transform you can do on the A to get Either A B 07:40:20 Wait, really? I thought you couldn't do that in Haskell. 07:40:33 Like you'd have to pass a Left A or something... 07:40:33 No, it won't be implicitly converted. 07:40:40 Although, considering that the transform doesn't work the other way, maybe the fact that it doesn't work the other way excludes being able to call it a subtype? 07:40:40 That's also true for (A,B) <: A 07:40:49 The point is that the relationship is there. 07:40:57 * Sgeo isn't sure 07:40:59 (A,B) <: A isn't true either. 07:41:23 Sgeo: no, just having a bijection isn't enough for type equality or anything either 07:41:28 Why not? 07:41:42 -!- DHeadshot has joined. 07:42:20 Because a tuple of A and B can't be used everywhere an A can be used. (You'd have to "extract" the A first.) 07:42:33 23:24 yeah, that's yet another usage of the term "polymorphism". 07:42:49 I don't care about polymorphism. I'm fine being explicit about conversions from a subtype to a supertype. 07:43:03 Polymorphism is like the whole point of subtyping, though. 07:43:32 If you just want injective morphisms or whatever you can do that without subtyping. 07:43:47 is "morphism" a word that means "function" here 07:43:56 sure, whatever. 07:44:06 This isn't about Haskell. 07:44:11 I know. 07:44:20 Obviously Haskell doesn't have *any* subtyping, and it has *no* implicit conversions. 07:44:25 right. 07:44:52 But it still makes sense to talk about how (A,B) could <: A, doesn't it? 07:45:02 Scala has implicit conversions 07:45:39 You could, yes, sorry. 07:45:47 (Not really for this case so much, though, although I guess you could, but that would be dumb)' 07:45:49 I'm used to nominal subtyping, I guess. 07:46:04 This is extremely nominal subtyping. :-) 07:46:09 I'm specifying the relationship here. 07:46:28 Anyway, the interesting thing is that the function :: (A,B) -> A *isn't* enough to specify the subtyping relationship. 07:46:53 If you have a function that takes a mutable A, and I pass it a mutable (A,B), it can mutate it just fine. 07:47:16 Is this reaching around to lenses? 07:47:23 Everything is lenses. 07:55:34 except for monoids :D 07:55:57 imo lenses should have generic monoid traversal 07:56:10 imo they do 07:56:56 good 08:02:17 Catching exceptions of pure functions in Haskell violates the Matthew 6:3 rule. I would rather suggest a macro (if (x ->| y) is the type of macros that take an expression of type x and result in a value of type y) where catchPureErrors :: x ->| IO (Either String x); or something like that. 08:06:22 If it's a pure function it shouldn't throw exceptions. 08:06:27 (/) is an abberation 08:06:34 and an abomination 08:06:44 (/) doesn't throw exceptions. 08:07:19 :t try 08:07:21 Not in scope: `try' 08:07:27 :t Control.Exception.try 08:07:29 GHC.Exception.Exception e => IO a -> IO (Either e a) 08:07:53 > try (return $ 1/0) 08:07:55 Not in scope: `try' 08:08:02 > Control.Exception.try (return $ 1/0) 08:08:04 Not in scope: `Control.Exception.try' 08:08:10 I know it shouldn't throw exceptions, but it does, so that is why I suggest, make it a macro instead. 08:08:16 uh 08:08:34 > Control.Exception.try (return $ 1/0) 08:08:37 Not in scope: `Control.Exception.try' 08:08:39 :( 08:08:46 > 1/0 08:08:48 Infinity 08:09:00 > 1/0 :: Integer 08:09:03 No instance for (GHC.Real.Fractional GHC.Integer.Type.Integer) 08:09:04 arising f... 08:09:11 > 1/0 :: Int 08:09:11 You cannot run I/O in lambdabot; use your own computer or use HackEgo or something. 08:09:13 No instance for (GHC.Real.Fractional GHC.Types.Int) 08:09:13 arising from a use o... 08:09:13 -!- monqy has joined. 08:09:22 hi monqy 08:09:27 does tapl talk about subtyping 08:09:27 > 1/0 :: Rational 08:09:29 *Exception: Ratio.%: zero denominator 08:09:32 hi?????? 08:09:33 There. 08:09:34 shachaf: near the end. 08:09:45 monqy: tell me about subtyping?? 08:09:50 are you "an expe"rt 08:09:50 ok 08:09:55 what do you want to know about it 08:10:00 i know.....some stuff..... 08:10:12 perhaps enough?? perhaps not 08:10:17 depends on what you want to know about it 08:10:40 like i'm no expert on intersection/union types but i know about other stuff 08:12:23 monqy: well uhh....... 08:12:29 so what kinds of subtyping are there 08:12:43 there's a sort of subtyping thing for products right?? 08:12:49 where you can say (a,b) <: a 08:12:54 and also one for sums?? 08:12:59 where you can say a <: Either a b 08:14:41 I think you can say that (a) is less than or equal to (Either a b) 08:14:42 uhh you can do that sort of thing if you want to....the treatment i'm familiar with does it with subtyping for records and variants rather than implicitly doing injections/projections for...semantic reasons... 08:16:01 ok can you explaiin that treatment a bit........ 08:16:08 like {l1: a, l2: b} <: {l1: a}; <: 08:16:21 is this "structural subtyping".............................. 08:16:48 anyway ok maybe i'll try "the monqy treatment" for a bit?? 08:16:50 when you're working with the theory you usually deal with structural typing always, since it's cleaner 08:16:57 -!- asiekierka has quit (Excess Flood). 08:17:11 so now let's add mutability "for fun" 08:17:26 and the full treatment that way is just an extension of that for arbitrary width and you can have the types of the stuff change as well 08:17:29 since covariance 08:17:41 if foo accepts {l1: a}, i can pass it {l1: a, l2: b}, and it can mutate the l1 part 08:17:44 right?? 08:18:09 but for variants it ""doesn't work"" that way 08:18:28 oh if you get into that territory you have to make the fields invariant i think so disregard what i said about covariance 08:18:46 but it's that a is a subtype of a|b, not the other way 08:18:49 well sure you have to get invariance with mutability 08:19:16 Bike: right but if foo operates on a|b i can't pass it an "a"!! 08:19:23 because it might mutate the variant to l2? 08:19:50 no? 08:19:56 might... what? 08:19:58 what do you mean 08:21:01 well if you have a mutable foo : 08:21:06 you can mutate it from l1 to l2 08:21:07 right?? 08:21:16 what do you mean "mutate it from l1 to l2" 08:21:30 oh, i see 08:21:32 i don't know :'( 08:21:36 what should i mean 08:21:42 change the object from being an a to being a b 08:21:48 how does mutability + variants work 08:22:23 that seems like a weird mutation though? maybe you just say 'nope you can't do that' and that's that 08:22:27 wwweeeeeeeelllllll 08:22:38 the treatment im used to for mutability is sort of 08:22:40 "explicit" 08:22:45 which makes this nice 08:23:12 you'd have something like ref(a|b) and then since ref(t) is invariant in t............ 08:23:48 -!- asiekierka has joined. 08:23:55 (answer: you don't get the "bad subtyping") 08:24:36 if you don't want to put explicit "ref's" over everything then just pretend there's invariance everywhere anything could go hay wire 08:25:02 okay so what happens with th ref 08:25:10 when you have the product subtype 08:25:32 well ref(t) is invariant in t in general 08:25:35 right 08:25:42 so that's "not good enough????" 08:26:17 are you looking for an answer to something more specific or 08:26:23 for example in "some languages" if you have class Foo { A a; }; class Bar : Foo { B b; }; you can pass a mutable Bar to something that expects a mutable Foo?? 08:26:26 right 08:26:38 and that seems "valid to me" 08:27:32 is B <: A here 08:27:50 no 08:27:57 it's an """"additional field"""" 08:28:02 oh 08:28:22 so this is like (A,B) <: A 08:28:22 i see now, that's "weird snytax" not "inconsistent syntax 08:28:23 " 08:28:40 sorry for using weird syntax 08:29:40 monqy: so do you see what i mean now.... 08:29:43 -!- ion has quit (Ping timeout: 245 seconds). 08:29:46 you can't do this with ref 08:29:51 because it has to "be invariant" 08:30:22 -!- Bike has left. 08:30:28 mhm 08:30:46 so the "point is":: this doesn't work for "sum subtypes" 08:30:57 right? 08:31:47 im..,,,.thinking about it 08:32:30 monqy: anyway my "point is" that the kind of mutability i gave for product-subtypes is like lenses 08:32:38 and this kind is like prisms 08:33:03 ok 08:33:50 and if you think about it profunctor-lenses and simple-lenses are related to "substitutatutatatututability" 08:33:54 because you have 08:34:06 forall p. (CONSTRAINTS p) => p A -> p S 08:34:17 if there are no constraints then you have leibniz equality 08:34:32 and then you "add on" more constraints to get lenses/prisms/"other stuff" 08:34:43 mhm 08:35:03 wtf is a meatpacking district 08:35:13 a district that packs meat 08:35:13 monqy: so what does "that mean" 08:35:20 Some job offer is talking about how they're located in a glamorous meatpacking district 08:35:39 s/glamorous/hip/ 08:35:45 But they use the word glamorous elsewhere 08:35:52 they pack hip meat 08:36:12 is this in new york 08:36:16 yes 08:36:23 wow 08:36:28 It's an entry level position 08:36:31 that's a pretty hip district imo 08:36:41 "- Swanky and fashionably bright Manhattan loft space in the hip meatpacking district." 08:36:59 wow 08:37:03 sounds swanky 08:37:18 I should stop making fun of potential future employers in publically logged chat 08:37:29 Although I could never have a bad word to say about Transcriptic, I think 08:37:30 why? 08:37:33 -!- ion has joined. 08:37:33 they're going to make fun of you 08:37:34 Except they're too far away :( 08:37:43 Are you nondualist? 08:37:45 shachaf, yeah, but not where I'm going to see 08:37:49 zzo38: yes and no 08:38:05 shachaf: Please be more specific. 08:38:25 zzo38: what's a nondu alist. 08:38:40 monqy: Did you go see NANDA? 08:39:31 what's nanda 08:39:49 http://nandatown.com/ 08:40:01 they were in los angeles a few months ago/?? 08:43:17 shachaf: anyway i think this is something like ref(a,b) ~ (ref a, ref b) but ref(a|b) !~ for the reason you described 08:43:55 id have to think "a bit more" to come up what with it's isomorphic to but "probably lens has the answer already so" 08:44:07 Grrr... it seems like the only way to get this regex to work is to reverse the string, regex, then reverse again :-( 08:44:31 monqy: maybe it does but i don't know it :"( 08:44:58 <: ref(a|b) at least, i think, if you want to get "real fancy" 08:45:35 it does? 08:45:52 hm 08:46:18 it's the standard "prism thing" isn't it 08:46:43 maybe i forgot a detail 08:46:44 "woops" 08:46:52 what thing 08:47:03 "you're probably right but im not sure what you mean" 08:47:07 im going to think about it a bit more and then respond 08:47:19 ok 08:49:13 Just applied 08:49:27 oh yeah i forgot a case i think 08:49:30 woops woops 08:50:18 or: Did I??? 08:51:47 inj (Left a) = {view: Left (view a), set (Left a'): set a = a'; set (Right b'): a} 08:51:55 inj (Right b) similar 08:51:58 shachaf: look about right? 08:52:06 So maybe I'll get a "swanky" job with "swanky" Mac Pros 08:52:11 shachaf: "very pseudocode" 08:52:14 In the meatpacking district 08:52:16 wait what's inj 08:52:21 How ... fashion...y 08:52:30 visual....ness.....glamour.....stuff 08:52:35 shachaf: injection from into ref(a|b) 08:53:08 oh 08:53:50 i'm not completely sure i understand your pseudocode but "does it work the other way around" 08:54:05 and is this meant to be sort of prismlike or what 08:55:25 well the setting is like uhh what's it called 08:55:40 i -remember- there being a lens thing like that 08:55:44 but i forget what it's called 08:56:02 alongside outside inside within without 08:56:06 "one of that crowd???????" 08:56:33 hmmm maybe not 08:56:59 no it's not 08:57:19 which lens are you thinking of 08:58:18 im probably actually thinking of something in something more general than prism but it acts like this for prisms 08:58:38 Setter perhaps? 08:59:00 wait what does it do 08:59:22 > Left "hi" .~ _Left "there" 08:59:23 Couldn't match expected type `Control.Lens.Setter.ASetter 08:59:24 ... 08:59:27 oh no~~~~ 08:59:29 !!!!!!! 08:59:39 oh right 08:59:39 > Left "hi" & _Left .~ "there" 08:59:42 Left "there" 08:59:44 yes 08:59:45 and 08:59:58 > Right "hi" & _Left .~ "woops!!" 09:00:01 Right "hi" 09:00:04 it's that sort of thing 09:00:24 well sure a prism is a setter 09:00:50 (but note that maybe a prism should actually be an unprism??) 09:00:53 (to match up with lens) 09:00:56 I love prisms. They are so easy. 09:00:57 (if you're talking about subtyping" 09:00:58 ) 09:01:08 (in which case an unprism is not a setter. though it's an unsetter) 09:02:59 anyway uh the idea is that from a you can get a ref that when you look at it you look at whatever you put in, and when you try to set it you only go through with the setting if you're setting the "right thing" 09:03:03 -!- DHeadshot has quit (Ping timeout: 245 seconds). 09:03:18 right 09:03:19 whereas you can't really go the other way 09:03:28 that was my idea from before 09:03:33 yes.. 09:03:35 where you pass the supertype 09:03:39 but it doesn't really work.................. 09:03:49 oh what's your idea from before 09:03:56 i "forgot" it 09:04:05 maybe i didn't say it 09:04:23 it's just that when you have a product, i.e. a thing you can make a lens for, you can pass in a subtype 09:04:38 but when you have a sum ie something you can make a prism for, you can pass in a supertype 09:04:45 because that way you still get "over" 09:05:39 yeah 09:05:59 this conforms to my intuitions,,,,at least,,,,,, 09:06:15 but then how do you actually use it 09:06:53 because i can't just write function Foo(A a) { a."mutatify"(); } and then pass it (Either a b) 09:07:04 well not if it has any other "side effects for instance'. 09:07:33 are we talking about lenses/prisms or mutability :( lenses/prisms are a lot easier to think about imo 09:07:34 because it expects there to be an a 09:07:50 monqy: imo too but i want to see what these concepts "translate to" with subtyping 09:07:55 "and maybe vice versa" 09:08:07 imo if you do Foo(Right x) then Foo won't be called at all. 09:08:16 otherwise it doesn't really make sense?? 09:08:28 well yeah that's the exact same thing you get with .~ isn't it 09:08:28 but this way it doesn't really make sense either 09:08:43 what doesn't make sense about it 09:08:44 well sure but it's kind of weird from the perspective of "mutability and subtyping" 09:08:57 because are you calling Foo or aren't you 09:12:06 what sort of perspective of "mutability and subtyping" is this? in "mutability and subtyping" languages i know of it doesn't work like this :-) you don't have sum types like that, you don't pass the supertype yada yada 09:12:25 that example would be a "downcast" and you'd hit a "runtime failure" 09:12:29 i know but i was trying to figure out like "what if it would??" 09:12:40 monqy: prisms are a lot like a "downcast" with a "runtime failure" 09:12:53 Prism' s a = (a -> s, s -> Maybe a) 09:12:55 except prisms are well-behaved and easy to think about 09:13:25 from the "what if it would" perspective of "analogy by prisms" it'd work in the "weird" way "oh well" 09:13:35 i don't think there's anything wrong with that? 09:13:49 well ok 09:13:52 The FYB hill is broken :-( 09:13:53 so how would sums work with subtyping 09:14:05 i guess usually they have "open sums??" 09:14:24 well that doesn't really work 09:14:28 as in if you have a ref what's that isomorphic to? 09:14:37 or 09:14:40 well that's one question yes 09:15:05 the answer is "i'd have to think about it" 09:15:18 good answer 09:17:00 monqy: btw should we use Unprisms instead of Prisms 09:17:06 i guess "probably not" 09:17:08 what's an unprism 09:17:14 what if you used both 09:17:16 it's a p t s -> p b a prism 09:17:25 monqy: oh that reminds me i have a lens question 09:17:34 what do lenses and unprisms have in common 09:17:39 what's their "common superclass" 09:18:06 class Lensy p where lensy :: p a b -> p (r,a) (r,b) 09:18:19 class Unprismy p where unprismy :: p (r,a) (r,b) -> p a b 09:18:22 errrrr 09:18:23 ignore that 09:18:27 class Lensy p where lensy :: p a b -> p (r,a) (r,b) 09:18:41 class Unprismy p where unprismy :: p (Either r a) (Either r b) -> p a b 09:18:55 i think these two have a "common superclass" (other than profunctor) 09:19:17 monqy: simple version: 09:19:23 class Lensy p where lensy :: p a -> p (r,a) 09:19:33 class Unprismy p where unprismy :: p (Either r a) -> p a 09:19:51 h m 09:21:16 also there's Unlensy and Prismy 09:21:23 which are "analogous" 09:21:50 do you have an "analogous" question about unlensy and prismy or is that "well known" or "uninteresting" 09:22:11 i have an "analogous" question 09:22:26 Lensy and Unprismy both have a Forget r instance. 09:22:39 And Unlensy and Prismy both have a Tagged instance 09:23:11 (and instance Lensy p => Unlensy (Un p a b), and instance Unlensy p => Lensy (Un p a b), naturally.) 09:23:23 (where newtype Un p a b s t = Un { unUn :: p t s -> p b a }) 09:24:20 i think Lensy/Unprismy (or Unlensy/Prismy)'s superclass might be interesting "from a subtyping perspective too" 09:24:30 (but that's not where the question came from) 09:33:32 monqy: any other instances for Unprismy btw 09:33:44 other than Forget and Un (and Neither) 09:33:53 data Neither a b = Neither 09:36:00 O! It is a category. 09:36:38 What is? 09:37:50 id = Neither; Neither . Neither = Neither; 09:38:11 Oh, Neither is. Sure. 09:38:14 Neither is a lot of things. :-) 09:39:34 zzo38: What constraints on p do you need to make (Un p a b) a category? 09:43:27 I don't know. 09:47:46 My computer's so slow I can't even turn the volume up 09:49:49 -!- monqy has quit (Quit: hello). 09:49:51 -!- Taneb has joined. 09:50:15 pactl set-sink-volume 0 65537 09:53:39 Did you know Hexham has a Village Band? 10:37:32 `? hexham 10:37:37 Hexham is a European town. There are nine people in Hexham, and at least two of them are in this channel. Taneb looks after the ham. 10:39:54 Instead of sleeping I am watching QI. I am brillant. 10:51:24 * impomatic has been to Hexham :-) 10:54:45 Who hasn't? 10:58:58 I haven't 11:03:06 I might not count as a who though 11:06:48 I'm afraid you don't. 11:06:51 Sorry. :-( 11:11:12 Jafet: http://en.wikipedia.org/wiki/Hexham 11:11:21 shachaf: I haven't been to hexham 11:11:52 Way too far up north 11:12:54 in finland 11:15:45 I haven't been to Hexham either, even though I live in Finland. *shame* 11:16:06 `?hh finland 11:16:08 ​/hackenv/bin/?hh: line 1: u: command not found 11:16:17 `cat bin/?hh 11:16:18 ​? "$@" | perl -pe 's/([aeiouy])([bcdfghjklmnpqrstvxz])/$1h$2/ig' 11:16:45 Heh, someone made a file called "u", I see. 11:17:13 `run sed -i -e 's#^#/#' bin/\?hh 11:17:16 No output. 11:17:20 `?hh finland 11:17:21 ​/hackenv/bin/?hh: line 1: /?: No such file or directory 11:17:30 And I mistake / for a \. 11:17:32 (Impressive.) 11:17:41 `run sed -i -e 's#^/#\#' bin/\?hh 11:17:42 sed: -e expression #1, char 7: unterminated `s' command 11:17:45 `run sed -i -e 's#^/#\\#' bin/\?hh 11:17:48 TOO HARD. 11:17:49 No output. 11:17:52 `?hh finland 11:17:54 Fihnlahnd ihs a Euhrohpeahn couhntry. Thehre ahre two peohple ihn Fihnlahnd, ahnd aht leahst nihne ohf thehm ahre ihn thihs chahnnehl. Cohruhn drihvehs the buhs. 11:18:04 `hyfinate finland 11:18:35 No output. 11:19:21 `run \? finland | hyfinate 11:19:23 Fin-land is a Eu-ro-pe-an count-ry. The-re a-re two pe-op-le in Fin-land, and at le-ast ni-ne of them a-re in this chan-nel. Co-run dri-ves the bus. 11:19:41 impomatic, what were you doing in Hexham? 11:19:50 `run \? Taneb | hyfinate 11:19:52 Ta-neb is not el-li-ott, no mat-ter who y-ou ask. He al-so isn't a rab-bi alt-hough he has pre-ten-ded in the past. (see al-so: d-mo-du-les) 11:19:55 `run words --eng-all 20 | hyfinate 11:20:01 su-ber a-tor e-mild er-ry-e asch-ro-duz-co haul-tins-hi wi-de mo-ni-a land-res-sibl ha-ga-nin ne-cei pu-bis-sab-le ga-lam-ber sixt bla en-ta-mi-o wor-det to-pi-do ge-ney al-pi-or 11:20:16 ...this makes me read it in a Welsh accent 11:21:02 Taneb: I can't remember... Probably just taking a look around, nothing memorable! Also visited a reenactment at Corbridge. 11:21:24 There are reenactments in Corbridge? 11:21:33 I've seen a few in Hexham, but not Corbridge 11:21:44 Well they called it a reenactment. It was more like Romans vs English Civil War. 11:21:59 Is that a Finnish hyphenation attempt, actually? 11:22:09 `run words --finnish 15 | hyfinate 11:22:11 mul-le kä-hei-jai-si mah-ta-viin puh-ku-mak-se-si reik-kai-te e-lis-tauk-sen-ne a-ge-ner-to-vit-tam-me ver-sy-vi-än-nös-sä-ni tun-tel-tä y-hyy-dyl-le-ni tai-sem-pan-ne in-tä-vin vas-sa-si kil-lan-sa as-ta-ni 11:22:57 fizzie: is hyfinate just hh but with the h's replaced with hyphens? 11:23:31 Also visited Birdoswald nearby where they'd set up a Roman camp and did some demonstrations, but no battle. 11:23:40 quintopia: It's not quite the same. 11:23:45 `cat bin/hyfinate 11:23:46 ​#!/bin/sh \ exec perl -CS -Mutf8 -pwe 'my$vow=qr/[aeiouyäö]/i;my$con=qr/[bcdfghjklmnpqrstvwxz]/i;1while s/($vow$con*)($con$vow)/$1-$2/g;1while s/a[eoyäö]|e[aoäö]|i[aoäö]|o[aeyäö]|u[aeyäö]|y[aeouä]|ä[aeouö]|ö[aeouä]/my@s=split"",$&;$s[0]."-".$s[1]/egi' 11:23:55 wow 11:24:09 fizzie: It should be correct if the input doesn’t have compound words or foreign words. 11:24:28 I.e. anything that would require dictionary lookups. 11:24:31 ion: I'm sure there are some exceptions to every rule somewhere. 11:25:37 fizzie: does it correctly break finnish words at syllables? 11:26:03 It should. 11:26:04 It seems to do a pretty good job. 11:27:42 i wonder if it's possible to do it in english without just looking it up in a syllable dictionary 11:27:46 ion: http://www2.lingsoft.fi/doc/d-finhyp9.html seems to suggest you do need a bit more rules to be entirely correct. 11:28:39 -!- Frooxius has quit (Ping timeout: 260 seconds). 11:29:30 ok 11:30:05 I guess compound words might account for a lot of the complexity, though. 11:30:18 At least based on these TeX Finnish hyphenation rules. 11:30:51 `run echo maauimala | hyfinate # wovels across the word boundary go wrong, for example 11:30:53 maaui-ma-la 11:31:02 `run sed -i -re 's/bcdfghjklmnpqrstvwxz/b-df-hj-np-tv-xz/' bin/hyphenate.fi 11:31:05 No output. 11:31:18 Yeah, as i said, it doesn’t support compound words at all. 11:31:18 wovels eh 11:31:41 I keep mistyping that. 11:31:50 `run words --finnish 15 | hyphenate.fi 11:31:53 val-vit-täm-me hel-lyt-tu-val-ta kut-ta-vit-ta-mil-lam-me o-hen-tu-vik-sel-lem-mil-ta i-lo-pet-teik-si tul-ke-väm-mäs-sä loi-si-suu kaa-mil-tä hi-ot-ta-ni pom-paat-ti-sem-piin lis-täm-mäk-se-ni si-va-mil-tään va-rot-ta kat-kim-pa-na huo-len-ne 11:34:11 Is hyphenate.fi different from hyfinate? 11:34:28 I named it hyphenate.fi, shachaf (IIRC) symlinked it to hyfinate. 11:34:43 Yes, I symlinked it to hyfinate in IRC. 11:35:04 -!- sirdancealot7 has quit (Ping timeout: 240 seconds). 11:35:29 help I was compelled to click that as though it was a link 11:35:46 Silly, it doesn’t even have a protocol. 11:37:27 Of course there are some compound words where the word break has multiple valid locations, those are arguably impossible to get right without some mind-reading hardware. (The TeX hyphenation rules mention kaivos|aukko vs. kaivo|saukko as an example.) 11:38:01 Fortunately Perl has readmind() for that. 11:39:06 * Sgeo is sure J has a 2 character symbol for that 11:40:03 I’d be interested to see a non-compound Finnish word hyphenate.fi actually doesn’t get right. 11:41:31 What's a non-compound Finnish word? 11:42:05 Kakka is a Finnish word that is not a compound word, for instance. 11:47:38 -!- sirdancealot has joined. 11:54:23 -!- sirdancealot has quit (Excess Flood). 11:55:48 -!- sirdancealot has joined. 12:04:30 -!- carado has joined. 12:05:51 -!- sirdancealot has quit (Ping timeout: 245 seconds). 12:09:20 -!- Phantom_Hoover has joined. 12:15:05 -!- sirdancealot has joined. 12:21:43 `run echo säie | hyfinate # ion: should be säi-e according to Karjalainen, Sulkala, "Finnish (Descriptive Grammar)", 1992. 12:21:46 säie 12:23:06 `run echo rakkaus rakkautta | hyfinate # should be rak-ka-us rak-ka-ut-ta according to the same book. 12:23:09 rak-kaus rak-kaut-ta 12:24:48 `run echo huouimme | hyfinate # ditto huo-ui-mme 12:24:50 huouim-me 12:25:35 (Examples picked from 3.2.5.1. Syllabilification of Medial Units and Clusters, the "following additional rules can be mentioned" list.) 12:27:15 Er, s/ui-mme/uim-me/ in the last comment, but anyway. 12:30:42 So, using ORDER BY doesn't prevent or change the order of side effects in the result expressions and causes them to be evaluated even in the case of LIMIT and OFFSET, but WHERE does prevent side effects (even in the presence of ORDER BY), but LIMIT and/or OFFSET without ORDER BY will evaluate only the rows actually returned. 12:32:40 Doing this even affects a query in which a subquery has ORDER BY, but if the outer query which is used to perform the side effects has its own ORDER BY which isn't affecting the order of the results, then it will prevent the side effect for rows not returned and will do them in the order returned by the inner query. 12:32:52 Is this understandable and/or reasonable to you? 12:33:55 Is this how the SQL specification says it should work? 12:48:22 zzo38, what sort of side effects? In a select statement? 12:50:34 I mean functions that might be called in the results of a SELECT statement. 12:50:49 ah, no clue about that, never used such stuff 13:03:02 I love how SQL shouts at everyone 13:04:02 -!- RodgerTheGreat has joined. 13:33:06 -!- zzo38 has quit (Remote host closed the connection). 14:46:54 -!- azaq23 has joined. 14:51:31 fizzie: Alright, thanks for the examples. 14:56:33 SECURITY QUESTIONABLE LAYER 15:14:38 -!- FreeFull has quit (Ping timeout: 255 seconds). 15:27:25 -!- oerjan has joined. 15:28:59 -!- FreeFull has joined. 15:37:57 Bike: If A is a subtype of B, which one is bigger? 15:38:07 i thought we'd clarified that yesterday 15:38:24 What was our conclusion? 15:38:53 Which TYPE is bigger, or which INSTANCE is bigger? :) 15:39:15 Instance of what? 15:39:23 Instance of those types. 15:39:24 the answer is: it has nothing to do with number of members, because when A is a subtype of B that _is_ a subset, then (B -> C) is a subtype of (A -> C) which is _larger_. 15:39:45 oerjan: Right. 15:39:49 That's my answer too. 15:39:50 Right, if we're talkin' types, then B is larger than A. 15:39:56 No it's not. 15:40:06 "Instance of a type" :( 15:40:44 lol, this is fun. 15:42:08 `run type love || (printf '%s\n' '#!/bin/sh' 'printf "i love %s. they are so easy." "$*"' >bin/love && chmod 755 bin/love && love instances) 15:42:13 bash: line 0: type: love: not found \ i love instances. they are so easy. 15:42:21 `love whores 15:42:24 i love whores. they are so easy. 15:42:46 * shachaf sighs. 15:42:48 `rm bin/love 15:42:51 No output. 15:43:31 D-: 15:44:18 help 15:44:28 elliott is destroying the fruits of my labor 15:44:52 ion: you are attempting to resurrect dead horses. that is evil. 15:45:17 But i love dead horses. They are so easy. 15:45:22 especially since it was a nasty horse to start with. 15:46:14 `wtf saying "they are so easy" 15:46:16 why saying "they are so easy" is like wtf 15:46:35 HTH 15:46:40 imo has FreeFull ever said a single useful thing in here ever? 15:47:51 -!- oerjan has quit (Quit: Probably.). 15:49:11 or ion 15:49:54 ion has said at least one useful thing. 15:50:34 what about shachaf 15:51:01 ion: did you seriously just look at beaky.txt to get more accurate beaky uotes 15:51:03 q 15:51:46 shachaf: I thought you were against logs. 15:52:11 Who said anything about logs? 15:52:15 I'm reading in real time. 15:52:17 {bea,mon}{k,q}y 15:52:59 beaky.txt is a log. 15:53:09 Oh. 15:53:11 That's a public log. 16:03:08 shachaf: Does it matter if the things I say are useful 16:35:27 ogrom, "HTH"? What does that mean 16:36:05 hellish taiga hapapiness 16:39:50 Hot Tasmanian Housewives. 16:53:26 hm I think Phantom_Hoover is right 16:53:39 it makes perfect sense in the context unlike your suggestion elliott 16:54:34 I like how you pinged ogrom. 16:55:35 elliott, lol oops 17:19:41 shachaf: i know a few things about subtyping 17:19:46 i know TaPL things about subtyping 17:31:08 Homo Taurus Hinensis 17:31:18 high temperature halibut 17:31:40 Henry The Hippopotamus 17:33:24 kmc: I may not be coherent enough now to talk about the things I was going to talk about. 17:33:34 So what TaPL things are there about subtyping? 17:33:40 What sorts of subtyping are there? 17:35:40 How do sums and products work out? 17:38:05 i don't remember 17:38:10 i could look them up in TaPL 17:38:13 "know" may have been an overstatement 17:38:32 i think generally (Int,String) would not be a subtype of Int 17:38:56 but you can have record systems where {a:Int, b:String} is a subtype of {a:Int} 17:40:07 you can pick something like that as your "primitive" subtyping relation 17:40:33 and then you want it to be reflexive, antisymmetric, transitive 17:41:16 and you extend the subtyping relation to function types with covariance in the return position and contravariance in the argument position 17:43:05 this is only the basic stuff, it's what i remember 17:43:14 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 17:45:05 -!- Phantom_Hoover has joined. 17:45:13 -!- function has changed nick to trout. 17:45:37 kmc: OK, but what about the relationship of Int and Either Int String? 17:47:21 It seems to make sense to say a <: Either a b in a similar way to the way it makes sense to say (a,b) <: a 17:47:36 These let you do different things, though. 17:47:43 Does TaPL talk about mutability? 17:48:32 i think so 17:49:15 With "product" subtypes, you add extra fields, but if f expects a mutable (a,b), I can pass it a mutable (a,b,c) just fine. 17:49:20 And it can mutate the a and b if it wants. 17:49:25 Right? 17:49:49 -!- ogrom has quit (Quit: Left). 17:49:56 yeah i think so 17:50:11 -!- Bike_ has joined. 17:50:43 But with sums you don't get that. 17:50:57 Because what if you try to mutate it from a Left to a Right or something? 17:52:08 mm 17:52:13 i haven't thought about that 17:52:39 i do know that (a <: b) => ((a,c) <: (b,c)) becomes problematic if your pairs are mutable 17:52:42 doesn't it? 17:54:23 for the same reason as for arrays/lists 17:54:28 got to go to lunch though, ttyl 17:54:29 Right. 17:54:47 kmc: Anyway I think this corresponds to lenses and prisms. 17:55:06 kmc: And I think functor/profunctor lenses correspond to Liskov substitutability. 17:55:19 But I might just be making things up. 17:57:30 -!- AnotherTest has joined. 17:57:42 Hello 18:00:33 -!- Taneb has quit (Ping timeout: 245 seconds). 18:01:21 Is it just me or are these a bit similar? 18:01:22 uncompose f g k = Un2 $ \q -> ($ q) . under _Un2 f $ \x -> ($ q) . under _Un2 g $ \y -> unUn2 k (x C.. y) 18:01:25 nip f g k = Op $ \t -> ($ t) . under _Op f $ \x -> ($ t) . under _Op g $ \y -> getOp k (x,y) 18:04:52 -!- Taneb has joined. 18:10:54 -!- Bike_ has changed nick to Bike. 18:13:11 -!- asiekierka has quit (Excess Flood). 18:21:52 -!- asiekierka has joined. 18:28:14 -!- heroux has quit (Ping timeout: 255 seconds). 18:40:30 -!- heroux has joined. 18:43:18 -!- Bike has quit (Ping timeout: 244 seconds). 18:45:14 -!- Bike has joined. 19:14:21 -!- ais523 has joined. 19:29:34 -!- atriq has joined. 19:32:35 -!- Taneb has quit (Ping timeout: 260 seconds). 19:44:45 -!- atriq has quit (Ping timeout: 256 seconds). 19:45:12 @messages 19:45:12 You don't have any new messages. 19:51:47 @messages 19:51:47 You don't have any new messages. 19:53:26 @tell ais523 hi 19:53:27 Consider it noted. 19:53:30 @tell ais523 what is up 19:53:31 Consider it noted. 19:53:35 @clear-messages 19:53:35 Messages cleared. 19:53:37 hi elliott 19:53:40 @tell ais523 wow that's impolite 19:53:41 Consider it noted. 19:53:48 @clear-messages 19:53:49 Messages cleared. 19:53:55 I've already read them as you sent them 19:54:08 @ask ais523 for advice 19:54:08 Consider it noted. 19:54:22 @clear-messages 19:54:22 Messages cleared. 19:54:23 @tell elliott hi 19:54:24 Consider it noted. 19:54:26 shachaf: that's nto a question 19:54:28 *not a question 19:54:35 btw, we should probably stop the bot abuse 19:54:43 -!- epicmonkey has joined. 19:55:13 -!- Frooxius has joined. 19:55:36 @ignore + ais523 19:55:38 Agreed! 19:55:38 elliott: You have 1 new message. '/msg lambdabot @messages' to read it. 19:55:44 @messages 19:55:44 olsner said 1m 20s ago: hi 19:56:07 elliott: huh, I didn't use lambdabot much anyway 19:56:09 * elliott waits for ais523 to try and use lambdabot so he can take the ignore off. 19:56:16 so this mostly means that if you send me messages, I won't be able to read them 19:56:48 ais523: Would I do that? 19:56:49 -!- Phantom_Hoover has quit (Read error: Operation timed out). 19:57:02 well you did earlier 19:57:10 @ignore - ais523 19:57:12 Hmm, apparently if lambdabot is ignoring you it won't notify you of new messages. 19:57:19 that makes sense 19:57:19 ais523: You have 1 new message. '/msg lambdabot @messages' to read it. 19:57:22 @admin - shachaf 19:57:24 @messages 19:57:24 elliott said 39s ago: hello 19:57:26 shachaf: Abusing your privileges!!!! 19:57:42 @admin - elliott 19:57:42 Not enough privileges 19:57:55 @admin - elliott 19:57:59 By privileges I mean non-privileges. 19:58:06 (Since you're not actually a lambdabot admin.) 19:58:10 check your lack of privilege 19:58:19 -!- atriq has joined. 19:58:24 shachaf: By the way you should undo that. 19:58:32 @undo @admin - elliott 19:58:33 Parse error at "@admi..." (column 1) 19:58:43 "if only ghc had undo notation" 19:58:57 @admin + elliott 19:59:11 "try not to abuse it this time" 19:59:51 I like how I was going to un@ignore ais523 once it gave him the message notification anyway. 20:01:07 You just fooled my IRC client into thinking un@ignore is someone's email address :( 20:01:42 AnotherTest: who knows, it theoretically could be 20:01:53 #include 20:01:56 even on the public internet, what with ICANN going crazy recently 20:01:57 Don't join it! 20:02:00 but definitely privately 20:02:04 -!- Nisstyre-laptop has joined. 20:02:05 Not sure, is ignore a DNS TLD? 20:02:14 AnotherTest: ICANN have been adding loads of new ones recently 20:02:15 Do you want it to be? 20:02:31 ICANN easily imagine it being one. 20:02:38 Meh, if you have enough money 20:02:46 ICANN is corrupt 20:03:25 -!- atriq has changed nick to Taneb. 20:03:38 Actually, I don't know of any TLD that is also a hostname mapping to an actual server 20:08:11 -!- asiekierka has quit (Excess Flood). 20:10:41 AnotherTest: "an.", I thought was one 20:10:51 although I don't think there's a webserver there, just an email server 20:11:35 -!- Phantom_Hoover has joined. 20:12:22 -!- asiekierka has joined. 20:17:53 -!- oerjan has joined. 20:20:04 -!- asiekierka has quit (Excess Flood). 20:22:22 -!- asiekierka has joined. 20:29:56 -!- AnotherTest has quit (Quit: Leaving.). 20:40:32 -!- monqy has joined. 20:50:53 -!- epicmonkey has quit (Ping timeout: 255 seconds). 21:11:18 -!- zzo38 has joined. 21:18:36 shachaf: hm back to the subtyping a moment - even if a is not a subtype of Either a b and (a,b) is not a subtype of a, types that are internally _represented_ identically to those can be subtypes of each other. so subtyping is something independent of representation (and cardinality). 21:19:33 basically, if something is a subtype at a higher level, there needs to be a conversion of the internal representations. 21:20:10 which needs be neither injective nor surjective. 21:20:18 there's ways to work subtypey-coercions into the semantics yes 21:20:58 i slightly understand scala uses implicit coercions a _lot_ to get advanced type features 21:25:58 But it still makes sense to talk about how (A,B) could <: A, doesn't it? <-- in an OO system where almost any type means "these methods exist, and there might be others because of subtyping" something resembling (A,B) <: A is sort of necessary 21:26:45 i believe ocaml's type system makes these things more explicit than most... 21:27:10 although i only vaguely recall the specifics. 21:27:46 but you have types that _do_ mean simply "methods of these names and types exist". 21:28:26 "(and there might be others)" 21:29:00 which means it has structural types for objects. 21:30:03 Did you guys work out the difference between a cosubtype and a supertype yet 21:30:32 i have no idea. 21:32:55 Taneb, what is a cosubtype 21:33:03 I dunno 21:33:07 oh okay 21:33:11 I think shachaf was talking about them the other day 21:36:28 -!- carado has quit (Ping timeout: 246 seconds). 21:37:07 -!- Arc_Koen has joined. 21:42:36 so what definition of coref would satisfy ~ coref ? 21:42:51 (nontrivial of course) 21:43:19 something dual to mutability... 21:47:32 hi oerjan 21:47:36 I bet it would have to do with prisms. 21:48:03 oerjan: coref a = ref a -> r for some r? 21:48:22 r | ref b -> r> ~ (ref -> r) 21:48:36 That needs mapping over refs, though. 21:48:49 i don't think that is true. 21:49:38 there is nothing preventing the function on the right from storing both a's and b's into the ref in sequence 21:51:40 maybe if ref's are implicitly wrapping things into State monads, then coref's should be wrapping things into Costate comonads 21:51:59 *-' -' 21:53:32 that is, maybe corefs don't live in the kind of imperative language that is modeled with monads at all 21:57:33 So you have a comonad CoST? 21:58:19 ...i was just thinking that thought 21:59:04 * elliott is terrified of what the equivalent of runST looks like. 22:00:35 oerjan: btw although (Ref a, Ref b) is like Ref (a, b) they are *not* the same in Haskell 22:00:40 i.e. there is no function either way. 22:01:07 you need to wrap it up with data Ref a = forall b. Ref (SomeRef b) (a -> b) (b -> a) 22:01:16 so I assume the same would apply to Coref 22:03:04 what is a Coref? 22:03:23 and what is the use of it 22:03:45 i totally read 'corefs' as 'core fs' 22:04:05 obviously, too much systems and not enough haskell for me :( 22:07:04 ) fungot 22:07:04 kmc:. i'm so kind, even to assholes! anmaster no not markov anmaster no not markov 22:07:04 kmc: |value error: fungot 22:07:04 jconn: just to help an fnord archive)" means " land of meadows" from the name of the array, it is documented, and only if the strings? what kind of like that) which is actually pretty nice) is the name of the array, it is documented, and only if the strings? what kind of like that) which is actually pretty nice, but sometimes it's necessary to achieve the planned than fnord since no sign, perhaps, it may be said that particular 22:07:04 fungot: |open quote 22:07:04 fungot: | just to help an fnord archive)" means " land of meadows" from the name of the array, it is documented, and only if the strings? what kind of like that) which is actually pretty nice) is the name of the array, it is documented, and only if the strings? what kind of like that) which is actually pretty nice, but sometimes it's necessary to achieve the planned than fnord since no sign, 22:07:04 fungot: | ^ 22:07:04 jconn: i am just as confused. you know, that thing which you might want is broken" archives. even less chance. i called " o" in " the other side has, perhaps, it may be said that particularly here, parliament will give a single instance, 22:07:04 jconn: is that something you know and and the cases that required to actually mutate the original i think you were still a very famous program talisman with fnord windows. that's always tricky. i could actually make progress. securing budgetary authority, can the governments. i know 2. that's obvious and you did refer to his fnord code 22:07:04 jconn: to " print" statement should always remember the songs on p2p apps in scheme, besides, was not beyond normal credibility! 22:07:05 fungot: |spelling error 22:07:10 Vorpal: We don't know, and there aren't any. 22:07:12 fungot: | i am just as confused. you know, that thing which you might want is broken" archives. even less chance. i called " o" in " the other side has, perhaps, it may be said that particularly here, parliament will give a single instance, 22:07:12 fungot: | ^ 22:07:16 fungot: |spelling error 22:07:27 elliott: no that wrapping doesn't work either, because translating a write to a Ref (a,b) into (Ref a, Ref b) requires _two_ writes 22:07:28 fungot: | is that something you know and and the cases that required to actually mutate the original i think you were still a very famous program talisman with fnord windows. that's always tricky. i could actually make progress. securing budgetary authority, can the governments. i know 2. that's obvious and you did refer to his fnord code 22:07:36 fungot: | ^ 22:07:44 fungot: to"_ _ _"_ _ _ (should always remember the songs on p2p apps in scheme , besides , was not beyond normal credibility !) 22:08:10 fizzie: i think it is about time to expand ^ignore again. 22:08:55 hm... 22:09:02 > "hi fungot" 22:09:02 oerjan: so, let's say i call them mindless games. if we hit every stupid person, any person going to the theater 22:09:04 "hi fungot" 22:10:02 `addquote fungot: |open quote fungot: | just to help an fnord archive)" [...] jconn: i am just as confused. you know, that thing which you might want is broken 22:10:02 kmc: that is just a value of type " airbus is a big fan of avril....but this song " there 22:10:07 bleh, now I want to know the rest of that fungot sentence 22:10:07 ais523:, so i'd make stuff up to. why, this is for you guys are a lot of the design, prisoners and slaves that have sucked. rephrase: " i tried todo a _" is 0 22:10:10 about stupid people 22:10:16 951) fungot: |open quote fungot: | just to help an fnord archive)" [...] jconn: i am just as confused. you know, that thing which you might want is broken 22:10:31 `addquote kmc: that is just a value of type " airbus is a big fan of avril....but this song " there 22:10:31 elliott: if it's ( syntactically) long, and brainfuck command keys. secondly, the establishment) 22:10:53 952) kmc: that is just a value of type " airbus is a big fan of avril....but this song " there 22:14:02 > map (+1) [1..] 22:14:04 [2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,2... 22:14:17 > fix (\x -> x : map (+1) x ) 22:14:19 Occurs check: cannot construct the infinite type: a0 = [a0] 22:14:21 > fix (\x -> x : map (+1) x ) 1 22:14:23 Couldn't match expected type `t0 -> t1' with actual type `[a0]' 22:14:27 > fix (\x -> 1 : map (+1) x ) 22:14:28 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 22:15:24 > fix (\x -> 1 : zipWith (+) x x ) 22:15:26 [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,... 22:22:48 > scanl1 (+) (repeat 1) 22:22:50 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 22:23:25 > [1..] 22:23:27 [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28... 22:23:29 I WIN 22:24:22 so everything is a contest with you? 22:24:37 > scanl1 (+) [1..] 22:24:39 [1,3,6,10,15,21,28,36,45,55,66,78,91,105,120,136,153,171,190,210,231,253,27... 22:24:59 ...i can barely begin to explain how much that question doesn't describe me. 22:25:08 Arc_Koen: well, one time he got in a contest to see who could make more things into contests, and it got out of hand. 22:25:18 haha 22:25:28 i don't remember that. 22:26:05 did you make a contest to see who was the fastest to forget about it? 22:27:09 ^ignore 22:27:09 ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot|lambdabot|oonbotti|cuttlefish)! 22:27:17 ^ignore ^(EgoBot|HackEgo|toBogE|Sparkbot|optbot|lambdabot|oonbotti|cuttlefish|jconn)! 22:27:18 OK. 22:27:49 Arc_Koen: MAYBE 22:28:21 -!- Phantom_Hoover has quit (Remote host closed the connection). 22:29:17 fizzie: I liked it when fungot didn't ignore jconn. 22:29:18 elliott: i know i didn't know that you've had it for some time i added a new page and sends it to emacs, i suggest, vote). you need to install in /usr/ lib " 1.ss" " srfi" 22:30:05 Does toBogE do nothing but issue bot commands? 22:33:10 -!- Phantom_Hoover has joined. 22:42:37 -!- Taneb has quit (Quit: goodnight). 22:46:47 Vorpal: We don't know, and there aren't any. <-- ? 22:48:42 -!- coppro has quit (Ping timeout: 264 seconds). 22:49:49 who's jconn? 22:49:57 a bot for J. 22:51:39 Why do you try to fix it with ignore lists and zero-width spaces and everything like that instead of using the proper way? 22:52:25 because nobody uses notices 22:53:05 ) 'Hi ais523' 22:53:05 oerjan: Hi ais523 22:53:36 the proper way annoys mIRC users 22:53:38 I see this as an advantage 22:53:51 btw, thutubot has a prefix to send notice rather than privmsg 22:53:55 ais523: it also annoys irssi users, maybe not as much 22:53:56 There should be a bot for all programming languages 22:53:56 perhaps I should make it always notice 22:53:58 Ever 22:54:02 Bike: That isn't a good reason. The server and client still supports it. 22:54:08 oerjan: mIRC treats channel notices as pings 22:54:16 FreeFull: EgoBot has all the languages that matter 22:54:34 ais523: except fueue. 22:54:43 yeah, I was going to except an esolang 22:54:45 but wasn't sure which 22:54:56 `fueue 72 105 H 22:54:56 ais523: Well, that is a somewhat better reason but still even in mIRC and irssi and whatever don't they have macros and/or options to control them? 22:54:58 zzo38: well, we'd have to convince jconn's owner to make it spit out notices instead of messages, so there's that. 22:54:59 Hi 22:55:26 let's do it backwards 22:55:31 and make the bots only respond to channel notices 22:55:43 this has all the disadvantages of the correct way of doing things, and fewer advantages 22:56:39 Well, yes, it is too disadvantageous. 22:56:57 ais523: Which ones are those? 22:57:11 FreeFull: requiring changes to all the bots, and sending channel notices 22:57:13 ais523: Does it have C? 22:57:14 And simply wrong. 22:57:18 EgoBot has C 22:57:27 the proper way annoys mIRC users <-- also xchat 22:57:30 Some form of ASM? 22:57:38 !c int main() { int printf(char *, ...); printf("Hello, world!\n"); } 22:57:45 Hello, world! 22:57:51 yes EgoBot has asm 22:58:00 Making the bots to reply with notices (whether operating privately or publicly) is better. 22:58:17 btw, you can /totally/ declare printf inside main like that 22:58:18 FreeFull: VAX simulator imo 22:58:36 !c int main() { printf("Test\n"); return 0;} 22:58:39 Test 22:58:57 EgoBot seems to have printf defined already =P 22:59:37 ais523, that is not the correct prototype for printf 22:59:42 it is const char* I'm pretty sure 22:59:45 !c int main() { printf("%f\n",sin(3.4)); return 0;} 22:59:48 ​-0.255541 22:59:50 PRIVMSG messages may still be sent if it is not a result of a command it received in the same way and if auto-replying would be OK from such messages, though. (I do not know if there are any such cases for the existing bots though) 22:59:52 Has math.h too 23:00:01 Vorpal: it's correct /enough/ to work 23:00:16 I don't think there are many C systems on which char * and const char * have different calling conventions 23:00:23 (I know it's theoretically legal) 23:00:44 yikes 23:00:44 Does the C standard allow char * and const char * have different calling conventions? 23:00:52 it allows all sorts of ridiculous tihngs 23:00:53 well hm it might be nice to have hardware level const pointers 23:00:54 *things 23:00:59 Lesse if it has complex.h 23:01:04 ais523, true 23:01:05 and a const pointer register for passing them around in? 23:01:18 type tagged registers, dude 23:01:33 What is the case for using these things with LLVM? 23:01:58 also, the pointer isn't const 23:02:01 just it's pointing to const things 23:02:23 I ended up writing something along the lines of "char * volatile" recently 23:02:39 in order to stop gcc giving me warnings about longjmp (some of which were possibly correct, some of which weren't) 23:03:30 22:46:47 Vorpal: We don't know, and there aren't any. <-- ? 23:03:32 I do have another question about volatile, is a function parameter allowed to specify volatile even if the caller expects the type without volatile, and then cast it to a pointer to a non-volatile type inside of the function? 23:03:44 Vorpal: I realise your scrollback is small but I was answering a question you asked literally a few lines prior. 23:03:58 zzo38: volatile follows the same rules as const 23:03:59 elliott, my client crashed 23:04:03 so no, without manual casts 23:04:04 elliott, and i reconnected to the bouncer 23:04:16 elliott, so yes it was 3 lines of scroll back at that point 23:04:19 !c int main() { double complex x = I; printf("%f %f\n",creal(x),cimag(x)); return 0;} 23:04:21 Does not compile. 23:04:29 Doesn't have complex.h ): 23:04:35 FreeFull, use #include? 23:04:43 zzo38: It isn't better to use notices because the bots are made for people in #esoteric who have clients that don't follow the spec. 23:04:44 hm tricky with no newlines 23:04:59 If they were made for people who had IRC clients that followed the spec they would be different. 23:05:21 !help 23:05:21 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 23:05:26 !help c 23:05:26 ​Sorry, I have no help for c! 23:05:32 !help languages 23:05:32 ​languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh. 23:05:40 !help languages c 23:05:40 ​Sorry, I have no help for languages_c! 23:05:49 elliott: Whatever... of course they will program them how they want to... Even if I make the suggestion is not the requirement for everyone to use but at least should be considered at least a little bit. 23:05:51 !help perl 23:05:51 ​Sorry, I have no help for perl! 23:06:03 EgoBot isn't very helpful 23:06:13 !info 23:06:13 ​EgoBot is a bot for running programs in esoteric programming languages. If you'd like to add support for your language to EgoBot, check out the source via mercurial at https://codu.org/projects/egobot/hg/ . Cheers and patches (preferably hg bundles) can be sent to Richards@codu.org , PayPal donations can be sent to AKAQuinn@hotmail.com , complaints can be sent to /dev/null 23:07:49 we complain at /dev/null easily enough 23:07:52 (NetHack joke) 23:07:56 https://codu.org/projects/egobot/hg/index.cgi/file/ffe171208ae9/multibot_cmds/interps/gcccomp/gcccomp 23:07:59 This seems to be some of the srouce 23:10:30 I can't find the bit that does the actual IRC interaction 23:11:03 that's multibot 23:12:37 Specifically the bit that notices I typed !c at the beginning of the line and parses the rest 23:12:56 How do you override the pointer aliasing rules in C? 23:13:51 https://codu.org/projects/egobot/hg/index.cgi/file/ffe171208ae9/multibot_cmds/hcmds/c 23:15:47 What kind of computer keyboard has keys labeled "5 F POISON" and "NUM/ALPHA EDIT"? 23:16:05 !c \n int main() { double complex x = I; printf("%f %f\n",creal(x),cimag(x)); return 0;} 23:16:07 Does not compile. 23:16:16 !c \n int main() { return 0;} 23:16:17 Does not compile. 23:19:42 I asked before about a mathematical structure which has successor and predecessor, but no designated zero point. Do you know what I intend to use this for? 23:20:22 zzo38: a semigroup? 23:20:37 Or rather, a semigroup that's not a monoid? 23:20:56 If they were made for people who had IRC clients that followed the spec they would be different. <-- I don't think that exists 23:21:34 I think you are correct that it is a semigroup and is not a monoid, but that is not what I mean, by, what I intend to use this for. 23:21:39 Vorpal: Don't think what exists? 23:21:56 zzo38: Iteration with no fixed point? 23:22:14 FreeFull: No. I will tell you I am not using it for a computer program! 23:22:30 Folding paper? 23:22:34 No 23:24:26 No idea 23:26:06 To number the relatives to the prime material plane (which itself is relative!) in Icosahedral Role Playing Game. 23:26:28 fungot: Боже мой 23:26:28 kmc: to " print" statement should always remember the songs on p2p apps in scheme, besides, was not beyond normal credibility mightn't take his breath away: but i had to choose fnord, but don't 23:26:37 ok, i have to hear about the icosahedral role playing game. 23:28:13 You can download it from my computer on port 70 on the selector string "phlog*c_dnd.icosahedral-rpg-i" (without the quotes) followed by CRLF for a bit of information. 23:28:20 -!- augur has quit (Remote host closed the connection). 23:28:33 It is very mathematical, for example the mathematical definition of a "mana" and a "multimana", of category theory, etc. 23:30:45 mana ** mana 23:30:56 mana !!!!!!!!!!!! 23:36:43 Vorpal: Don't think what exists? <-- a completely standard conforming irc client 23:37:34 There are also template-spells, which means that some of the choices for the spell are selected when you learn the spell rather than when you cast the spell. 23:39:04 Vorpal: I try to make my program standard conforming; at least it conforms in ways others don't; and I think there must be others too even if the other ones are no longer maintained or whatever 23:40:35 A multimana is a multiset of manas. 23:42:20 A mana is a multiset of the elements (w), (u), (b), (r), and (g). 23:44:57 A mana X is less than or equal to Y iff the multiset X is a subset of Y. 23:49:18 -!- copumpkin has quit (Ping timeout: 245 seconds). 23:49:45 -!- copumpkin has joined. 23:56:02 The product of manas is their multiset sum. The sum of multimanas is their multiset sum. 23:56:45 it conforms in ways others don't <-- I guess that about sums up the problem. 2013-02-04: 00:11:32 It conforms as far as I know, but I may have missed something. 00:19:47 zzo38: what is it that you call a magician that is a master of spells that affect metamagical effects? 00:22:03 A hofstadter 00:22:09 -!- augur has joined. 00:23:07 (Hofstadters sail on the H.S. Metametamagical?) 00:23:25 'patamagician 00:23:29 or an asshole 00:23:54 'patamagician or Asshole: a good board game 00:27:01 -!- augur has quit (Remote host closed the connection). 00:36:32 quintopia: I am thinking, "'patamagician" 00:37:18 @google 'patamagician 00:37:19 http://www.india-forums.com/forum_posts.asp?TID=3420418&TPN=34 00:38:03 after 'pataphysics. 00:43:03 Metagian 00:43:17 Metarrer 00:43:29 Pitterpatter? 00:43:59 I said maybe... that's just what will give me the option... some or none, nothing more to say 00:44:09 * Sgeo is not especially funny but he tries 00:47:33 * oerjan hits Sgeo with a plastic Yoda 01:11:14 Multimanas form a semiring, and signed multimanas form a ring. And then there is a partial ordering on multimanas as well; if X is less than or equal to Y, and X is the cost of the spell and Y is what you have, then you have sufficient mana to cast the spell. 01:13:49 -!- oleg has joined. 01:17:53 Is this sensible to you? 01:18:33 `welcome oleg 01:18:35 oleg: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 01:21:41 from moldova! 01:21:45 welcome oleg 01:25:09 -!- Arc_Koen has left. 01:35:27 -!- oleg_ has joined. 01:43:50 power went out at the super bowl 01:44:17 hacked by chinese 01:45:17 that's the thing with the ball and the feet right 01:46:17 hand egg 01:46:33 ohhh that's what "hand egg" is about 01:46:38 the ball is egg shaped and you're not allowed to use your foot except in special cases 01:46:49 i heard about that thing and it sounded vaguely familiar but i somehow forgot 01:47:09 something about dead horses, monoids 01:47:28 actually it's not egg shaped because it's radially symmetric, also the shape of eggs varies widely according to the species of bird (nests on cliffs = less spherical egg so it will roll in circles rather than off the cliff) 01:48:02 footballs are a bit pointier than eggs, and don't crack so easy 01:48:11 anyway the super bowl is most recognizable as the day when nerds in america go around loudly proclaiming to nobody in particular that nothing interesting is happening today 01:48:43 soon it will be the day when nerds go around talking about how nerds go around playing anti-football 01:48:52 kmc, grah. Funnier than my FB status, which ... tried to get a similar point across but failed 01:49:11 kmc, you can stop now 01:49:18 (the superbowl is today?) 01:49:29 "So, is this the time of year when I post a snarky comment about not watching football to self-identify with the crowd of people who is bizarrely proud of themselves for not knowing about football?" 01:49:34 ^^my status :/ 01:49:41 seriously we're getting meta here 01:50:00 Bike: as long as we don't go plaid 01:50:19 the version i liked (from twitter) was "Is there some sort of tedious symbolic distancing from mainstream American culture going on today?" 01:50:35 anyway I guess the backlash against nerd backlash against sports is over and we'll start with the backlash against that 01:50:51 even mako's blog post acknowledges that football is violent and ugly 01:50:52 has anyone considered apathy 01:50:59 can we just like, watch football 01:51:03 kmc, why do you say this like it is a bad thing 01:51:06 i don't want to watch football 01:51:10 monqy: we never bothered 01:51:14 also i did enjoy the smbc comic about brickbrain 01:51:14 personally i am all for rugby and derivative sports 01:51:16 we could also not watch football 01:51:21 either is fine 01:51:55 Now would be a bad time to watch football, anyways. 01:52:02 Stadium had a power fault. 01:52:05 kmc, i can't tell 01:52:07 if you're being serius 01:52:10 *ous 01:52:20 serious like a fox 01:52:31 -!- olsner has quit (Ping timeout: 245 seconds). 01:52:42 man 01:53:21 i was going to be all like "omg i'm on smbc? wait shit let me express my casual contempt for it" 01:53:37 it's not about you sorry 01:53:44 and it was 'headbrick' not 'brickbrain' 01:53:52 this channel's memes are more powerful 01:53:53 http://www.smbc-comics.com/?id=2778 01:53:57 scaugh 01:54:12 (idk what the proper onomatopoeia for that noise is) 01:54:23 pikhq, not sure if power is back on or if ... what it's supposed to look like at full power 01:54:24 the noise of a brick going into a brain? 01:54:26 There are lights on 01:54:47 Sgeo: The lights they use, use a lot of power to start. 01:55:01 So they are having to slowly bring up power to the lights to not kill the entire stadium again. 01:55:11 kmc: the comic's nice in that it mentions a social issue instead of just "wow sports are dumb am i right" 01:55:18 yeah 01:56:05 oh shit it's 2 01:56:39 sports are so stupid 01:56:40 discuss 01:56:43 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:56:58 bye ph 01:57:03 which is kind of nice for smbc in general i guess 01:57:12 [xkcd comparison]?? 01:57:26 did ph ragepeer 01:57:41 i think he just pseudotrolled as he quit 01:57:52 k 01:58:01 xkcd sometimes does social issuse 01:59:48 not sure that smbc is actually higher average quality than xkcd, but it annoys me less because people take it less seriously, or something 02:00:01 though maybe that's all over and nobody gives three shits anymore 02:01:03 not a single fuck was given that day 02:01:47 I suspect the big thing is that SMBC is not above dick jokes. :P 02:05:25 -!- olsner has joined. 02:07:15 -!- Applejacques has changed nick to TwilightSpockle. 02:18:59 true, there are no actual dongs in the infamous xkcd #631 (nsfw) 02:19:41 also a wonderful goatkcd 02:36:02 -!- Mathnerd314 has quit. 02:36:22 -!- Mathnerd314 has joined. 02:45:19 -!- augur has joined. 02:51:54 -!- azaq23 has quit (Read error: Connection reset by peer). 02:53:53 `fueue $3~)%[~[$7~~()+-~)])+-1*256]+---255~:)~[)] [64] 02:54:04 oops 02:54:24 A 02:54:40 ah it didn't matter 02:55:22 `fueue $3~)%[~[$7~~()+-~)])+-1*256]+---255~:)~[)[+32])] [64] 02:55:53 a 02:56:33 -!- Mathnerd314_ has joined. 02:56:46 hm i guess it takes a long time because it waits for input 03:00:36 `fueue $3~)%[~[$7~~()+-~)])+-1*256]+---255~:)~[)$%0[H])[+32])] [64] 03:00:38 a 03:00:56 `fueue $3~)%[~[$7~~()+-~)])+-1*256]+---255~:)~[)$%0[H])[+64])] [255] 03:00:57 ​@ 03:01:42 -!- Mathnerd314_ has quit (Remote host closed the connection). 03:02:12 `fueue ~[~~)+[$7~~()+-~)]--1*-256%]~)~:)~[)$%0[H])[+64])] [65] 03:02:13 ​ 03:02:21 ...eek? 03:02:46 oh duh 03:02:53 `fueue ~[~~)+[$7~~()+-~)]--1*-256%]~)~:)~[)$%0[H])[])] [65] 03:02:55 ​@ 03:03:58 `fueue 128 H 03:03:59 ​ 03:04:12 that's... a little weird. 03:04:40 oh hm 03:06:06 `echo Ø 03:06:07 ​Ø 03:10:54 `run perl -e 'printf "\200"' 03:10:55 ​ 03:11:09 `run perl -e 'print "\200"' 03:11:11 ​ 03:12:02 `ord Ø 03:12:04 216 03:12:43 > showOct 216 "" 03:12:45 "330" 03:12:49 `run perl -e 'print "\330"' 03:12:50 ​ 03:14:46 ok i guess that looks weird in my client because it has HackEgo's zero-width space in utf8 followed by something not legal in utf8 03:15:03 `run perl -e 'print "A\330"' 03:15:04 A 03:15:30 `run perl -e 'print "A\200"' 03:15:32 A 03:17:36 `fueue ~[~~)+[$7~~()+-~)]--1*-256%]~)~:)~[)$%0[H]+-190)] [0] 03:17:37 A 03:18:03 `fueue ~[~~)+[$7~~()+-~)]--1*-256%]~)~:)~[)$%0[H]+-190)] [1] 03:18:05 B 03:20:52 -!- oleg__ has joined. 03:21:23 `fueue ~[~~)+[$7~~()+-~)]--1*-256%]~)~:)~[[H]):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]] [65] 03:21:25 64 03:21:30 `fueue ~[~~)+[$7~~()+-~)]--1*-256%]~)~:)~[[H]):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]] [1] 03:21:32 0 03:21:34 `fueue ~[~~)+[$7~~()+-~)]--1*-256%]~)~:)~[[H]):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]] [0] 03:21:36 255 03:33:41 'print "\330"' gives me characters which I am sending back (in UTF-8) as '​Ø' 03:34:28 g'daygan 03:34:36 I guess my client decides that the entire line must be Latin-1 because it doesn't decode as UTF-8 03:34:56 Yes, that's standard IRC procedure. 03:35:11 lambdabot doesn't do it, which has let to some confusion in the past. 03:36:19 or actually Windows-1252 i think 03:36:23 Latin-1 doesn't have ‹ 03:36:53 how do i unmess up my sleep schedule :'( 03:37:17 that's a good question for elliott 03:37:22 encoding on http://idlewords.com/2011/08/why_arabic_is_terrific.htm is still broken :( 03:37:28 ☺ 03:37:37 i Reported the Bug and everything 03:37:45 also a good question for monqy 03:38:00 :˙.) 03:39:11 shachaf: drugz 03:39:47 is there a question they won't answer?? 03:40:05 "name something that isn't drugz" 03:40:18 are drugs drugz 03:40:47 what about drukqs 03:41:51 even better 03:42:07 :☺) 03:42:10 -!- augur has quit (Read error: Connection reset by peer). 03:42:18 fractal monqy?????? 03:42:45 -!- augur has joined. 03:43:27 I just woke up. :-( 03:43:50 I was going to stay awake today but then elliott distracted me so I stayed home and then I fell asleep. 03:44:13 :☹( 03:44:48 :🐱3 03:57:44 ಥ U+0CA5 CAT POOPING, FROM BEHIND 04:09:36 -!- augur has quit (Remote host closed the connection). 04:15:20 -!- copumpkin has quit (Ping timeout: 252 seconds). 04:15:51 -!- copumpkin has joined. 04:17:14 SQLite does not quite do what I wrote before about length of UTF-8 strings; it doesn't simply skip bytes in range 0x80 to 0xBF. And if you do need the number of bytes you can cast it to a blob. 04:19:52 Any parts which is improper UTF-8 (although I think it allows overlong and out of Unicode range encodings, maybe) is treated as single bytes encoding. 04:30:58 -!- RodgerTheGreat has quit (Quit: RodgerTheGreat). 04:46:39 -!- monqy has quit (Quit: hello). 04:54:19 -!- Bike has quit (Ping timeout: 246 seconds). 04:56:29 -!- Bike has joined. 05:02:24 SQLite is using RC4 for random number generator. 05:06:41 -!- augur has joined. 05:08:02 -!- augur has quit (Read error: Connection reset by peer). 05:08:08 -!- augur has joined. 05:10:02 -!- Bike has quit (Ping timeout: 240 seconds). 05:11:50 -!- Bike has joined. 05:18:18 -!- Sgeo has quit (Read error: Operation timed out). 05:18:39 -!- Sgeo has joined. 05:21:06 -!- oleg_ has quit (Ping timeout: 264 seconds). 05:21:06 -!- oleg has quit (Ping timeout: 264 seconds). 05:21:08 -!- oleg__ has quit (Ping timeout: 248 seconds). 05:31:04 -!- oerjan has quit (Quit: Good night). 05:31:06 -!- monqy has joined. 05:33:42 So, a patent pretty much has to state exactly what types of objects infringe upon it, right? 05:36:46 So if a patent says "dress-pins, hair-pins, &c., made from one entire piece of wire or metal, (without a joint or hinge, or any additional metal except for ornament,) forming said pin and combining with it in one and the same piece of wire, a coiled or curved spring, and a clasp or catch, constructed substantially as above set forth and described"... 05:36:59 ...then an object infringes upon that patent if and only if it satisfies that description. 05:57:59 ok 06:31:13 yeah, but it's only the claims that matter for determining infringement 06:31:17 and it only has to match one claim 06:31:29 (that isn't invalid) 06:31:44 typical patents have a bunch of claims at different levels of specificity 06:32:03 in order to avoid having to work out where the dividing line between valid and invalid is, and yet still cover as many products as possible 07:07:48 -!- FreeFull has quit. 07:24:19 -!- asiekierka has quit (Excess Flood). 07:25:22 -!- asiekierka has joined. 08:10:02 Since ORDER BY will not make the order of side-effects in the order specified, I have implemented a FOREACH function which can be used to force the result in the specified order, for example: SELECT FOREACH({ SELECT `SPRITE`, `X`, `Y` FROM `DRAWINGS` WHERE `VISIBLE` ORDER BY `DENSITY` DESC; }, { SELECT DRAW_SPRITE(?1, ?2, ?3); }); but maybe they ought to have a better way. 08:20:52 Such as if they implemented a syntax like: SELECT UNOPTIMIZED DRAW_SPRITE(`SPRITE`, `X`, `Y`) FROM (SELECT `SPRITE`, `X`, `Y` FROM `DRAWINGS` WHERE `VISIBLE` ORDER BY `DENSITY` DESC); 08:38:44 Or perhaps have SELECT DEFERRED which acts like SELECT except that the result columns are not usable anywhere except during the result, and that DISTINCT is not allowed (neither rules applies to subqueries that don't say DEFERRED, though). Also, ORDER BY in a compound SELECT DEFERRED are not required to be aliases. (And as the first sentence says, no aliases are allowed at all.) 08:39:07 -!- Bike has quit (Quit: leaving). 08:41:31 Actually, that is wrong; compound SELECT DEFERRED statements should simply be disallowed (use a compound SELECT in the FROM clause if you need it, instead). 08:51:40 -!- Nisstyre-laptop has quit (Ping timeout: 244 seconds). 09:13:14 I have a feeling that things like that are not really "in the spirit of SQL", and the idea is that if you want to do something like that, you use the procedural facilities of your SQL implementation; a set of those are also part of the "SQL/PSM" standard, which itself is (I believe) part of the newer SQL standards. 09:14:56 It is SQLite. 09:15:22 Well, SQLite probably does not implement that. 09:15:39 The standard SQL/PSM way of doing something like that would, I think, be something like FOR sprite AS SELECT sprite, x, y FROM drawings WHERE visible ORDER BY density DESC DO BEGIN CALL DRAW_SPRITE(sprite.sprite, sprite.x, sprite.y); END. 09:16:27 I know SQLite does not implement that. However I have now written a (I think) complete proposal of how SELECT DEFERRED should act. 09:19:33 Actually I missed some things and am correcting it right now. 09:27:23 It is somewhat like how "volatile" in C or LLVM might affect what optimizations are performed. 09:28:33 * It can be used anywhere any other SELECT statement can be used. 09:28:41 * The keyword DEFERRED replaces the DISTINCT or ALL keyword (so you cannot be both DEFERRED and DISTINCT, although a DISTINCT query can read from a DEFERRED query or vice versa). 09:28:46 * A compound SELECT DEFERRED statement is not allowed. 09:28:51 * An aggregate SELECT DEFERRED statement is not allowed. 09:28:58 * The result columns cannot be referred to anywhere within the SELECT DEFERRED statement (whether by name or by number); this also implies that correlated subqueries are not allowed. 09:29:02 * Function calls and subqueries in the result set will not be duplicated or optimized out. 09:29:17 * The function calls and subqueries in the result set are not evaluated until the result rows are returned (such as by sqlite3_step), and are done exactly once in such circumstance, and will be evaluated from left to right. Since they are evaluated as they are being returned, they will also be always done in the order that sqlite3_step or whatever receives them, which is the order that the ORDER BY clause (if it exists) specifies and that the LIMIT and OFFSET 09:29:24 * If a FROM clause of a SELECT statement contains another SELECT statement (or a view), or a SELECT statement contains another SELECT statement as a subquery, and at least one of these SELECT statements is DEFERRED, then subquery flatting will be suppressed for this pair of SELECTs. 09:29:27 That is all. 09:30:44 Is it reasonable to you? 09:34:19 It doesn't sound unreasonable, but if your goal is for inclusion in the official SQLite, I'm not so sure if they'd be all that happy about the whole concept, as opposed to e.g. just doing that sort of stuff in the actual program that is retrieving the rows. 09:37:02 -!- ais523 has quit. 09:42:35 -!- DHeadshot has joined. 09:44:53 -!- monqy has quit (Quit: hello). 09:48:35 Except that in this case some of the stuff might be specified by the user, so I implemented this FOREACH function which does mostly what you described. Still, another thing that might work is to INSERT INTO an empty view, which has a trigger to call the actions needed (triggers are allowed to contain SELECT statements, possibly for this purpose). 10:34:44 -!- DHeadshot has quit (Ping timeout: 248 seconds). 10:47:06 -!- Arc_Koen has joined. 10:54:48 Adrenaline-fueled nightmare woke me up :/ 10:57:03 I don’t remember the last time i had a nightmare, except for one time when i was like 10 years old. 11:15:31 I should probably go back to sleep 11:51:12 I found a bug in SQLite. It crashes if a trigger is using a binding parameter. 11:53:44 I’m not sure if lilafiguration on -blah is trolling or just not not paying much attention to what i say. 12:06:11 zzo38, report the bug? 12:15:43 `welcome ion 12:15:49 ion: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 12:16:47 THANKS! 12:16:49 `welcome Jafet 12:16:52 Jafet: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 12:17:23 wtf is "other kind of esoterica", sounds esoteric 12:27:29 -!- tromp_ has joined. 12:27:50 -!- oonbotti has quit (Ping timeout: 252 seconds). 12:27:50 -!- rodgort has quit (Ping timeout: 252 seconds). 12:28:33 -!- tromp has quit (Remote host closed the connection). 12:28:58 -!- rodgort has joined. 12:30:58 Shave the whales 12:52:24 -!- ais523 has joined. 13:05:00 Sgeo: I am unable I don't have that account. 13:05:30 Bring it up in their IRC channel then? 13:06:05 I don't know if they have IRC. 13:06:09 What does a binding parameter mean? 13:06:26 There are 78 people on freenode's #sqlite channel. 13:13:55 Oh hey I found a job that is just SCREAMING Sgeo 13:14:26 "We are currently looking for a Senior Geologist Code: SGEO to work in Indonesia. Learn more about this job opportunity in the mining industry." 13:23:13 -!- ais523_ has joined. 13:23:16 -!- ais523 has quit (Read error: Connection reset by peer). 13:28:03 -!- ais523_ has quit (Ping timeout: 248 seconds). 14:13:02 http://zeroturnaround.com/jrebel/free-javarebel-for-scala-users-zeroturnaround-announces/ 14:23:46 -!- boily has joined. 14:30:22 hi boily 14:35:54 hi quintopia! 14:49:24 月曜日 コーヒーを飲む 雪である 15:15:17 -!- Taneb has joined. 15:26:44 うん、コーヒーが良い考え。 15:27:08 そして、この月曜日にコーヒーを作ろう。 15:38:48 -!- augur has quit (Remote host closed the connection). 15:38:48 -!- EgoBot has quit (Ping timeout: 240 seconds). 15:39:36 -!- EgoBot has joined. 15:49:02 -!- coppro has joined. 16:01:02 https://github.com/twitter/bijection/issues/41 16:08:42 -!- FreeFull has joined. 16:10:52 http://imgur.com/lM2MX4W 16:14:31 -!- augur has joined. 16:20:18 -!- Phantom_Hoover has joined. 16:28:25 "Regular Polish is quite different from South Polish. That's a lot colder and spoken by penguins" 16:30:17 Remind me that I want to read http://www.scala-lang.org/docu/files/IC_TECH_REPORT_200433.pdf and http://www.scala-lang.org/docu/files/TheExpressionProblem.pdf 16:31:03 i love the expression problem 16:32:40 @tell Sgeo you are reminded that you want to read http://www.scala-lang.org/docu/files/IC_TECH_REPORT_200433.pdf and http://www.scala-lang.org/docu/files/TheExpressionProblem.pdf 16:32:40 Consider it noted. 17:00:15 -!- Nisstyre has joined. 17:09:36 what about reverse polish 17:15:16 Debian: "A buffer overflow problem has been found in nagios3... A malicious client could craft a request to history.cgi and cause application crashes." 17:15:27 MITRE: "Multiple stack-based buffer overflows... might allow remote attackers to execute arbitrary code" 17:19:00 -!- Bike has joined. 17:26:25 Email subject line: Important Information” Regarding Graduate Staff 2012-13 Continuation Insurance Benefit "IMPORTANT" 17:26:36 Why don't you know how to use quotes, random Internet person? 17:26:42 Why, why, why don't you know how to use quotes. 17:27:20 this is a weird place to complain about the use of quotation marks 17:27:54 TwilightSpockle: This is hardly the channel to complain about quote misuse in! 17:28:06 'quote 17:28:11 Dahell. 17:28:18 This is, like, THE channel to complain about quote misuse. 17:28:22 Where the hell is pikhq. 17:28:59 `quote quote 17:29:01 30) i can get an erection out of a plank, you can quote me on that. \ 70) [Warrigal] `addquote hahaha, Lawlabee is running windows 'cuz it's pretty awesome. [Lawlabee] Warrigal: :( \ 71) Note that quote number 124 is not actually true. \ 79) let's put that in the HackEgo quotes files, just to completely mystif 17:29:22 `quote 123 17:29:23 `quote 124 17:29:24 123) Oh I get it you guys just use this space to do nothing ? 17:29:25 124) Why shouldn't I just do everything in non-Microsoft-specific C#? it's like trying to write non-IE-specific JavaScript with only Microsoft documentation and only IE to test on 17:29:26 `quote 123 17:29:27 123) Oh I get it you guys just use this space to do nothing ? 17:29:28 aaah 17:29:31 I can't type today 17:29:45 `quote 125 17:29:47 125) (in #irp) Flonk, ask on #esoteric? Sgeo: yeah well its C++, so not that esoteric :P 17:30:54 oerjan: Quote me a quote. 17:43:21 `quote Sgeo 17:43:23 54) What else is there to vim besides editing commands? \ 68) Where's the link to the log? THERE'S NO LOG. YOUR REQUEST IS SUSPICIOUS AND HAS BEEN LOGGED. \ 101) And... WTF is it doing. :( Is it sexing? \ 110) what's the data of? [...] Locations in a now deceased game called Muta 17:43:41 `quote shachaf 17:43:43 542) elliott: GHC bug? Come on, it's the parentheses. The more parentheses you add, the closer it is to LISP, and therefore the more dynamically-typed. \ 583) Real Tar is GNU tar. You just ignore whichever features don't make you feel superior enough. \ 617) VMS Mosaic? I hope that's no 17:47:42 -!- FreeFull has quit (Ping timeout: 276 seconds). 17:48:04 -!- FreeFull has joined. 17:51:21 Taneb: `pastequote 17:51:25 eg 17:51:28 `pastequote Sgeo 17:51:29 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: pastequote: not found 17:51:41 hrm 17:51:41 `pastequotes Sgeo 17:51:43 That went well 17:51:46 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.20079 17:56:28 -!- AnotherTest has joined. 17:56:34 Hello 17:58:38 `delquote 583 17:58:44 ​*poof* Real Tar is GNU tar. You just ignore whichever features don't make you feel superior enough. 18:00:03 `revert 18:00:07 Done. 18:00:21 I don't think that quote belongs there. 18:00:22 `delquote 583 18:00:26 ​*poof* Real Tar is GNU tar. You just ignore whichever features don't make you feel superior enough. 18:01:03 `revert 18:01:05 Done. 18:01:09 * shachaf sighs. 18:01:13 thelliott 18:25:38 -!- RodgerTheGreat has joined. 18:32:37 what's a thelliott? 18:33:14 seems like the + elliott doesn't it? 18:33:22 Praise thelliott! 18:33:31 the version of an elliott who follows a theist philosophy 18:33:53 `delquote 583 18:33:54 as opposed to athelliott 18:33:58 ​*poof* Real Tar is GNU tar. You just ignore whichever features don't make you feel superior enough. 18:34:02 there is only one thelliott, but there multiple aelliotts? 18:34:04 boily, have you not watched look around you 18:34:10 the solution: watch look around you 18:34:21 Heh, maybe elliott could consider AnotherElliott :p 18:34:21 good solution 18:34:46 thanks, Phantom_Hoover. thphantomhoover. 18:35:16 now shut up. thodger in advance 18:37:27 -!- ThatOtherPerson has changed nick to ZorkBot. 18:37:37 -!- ZorkBot has changed nick to ThatOtherPerson. 18:42:14 -!- carado has joined. 18:51:13 -!- ogrom has joined. 18:55:09 Quick poll: syntax highlighting - do you prefer a light or dark background? 18:55:52 light, but it isn't terribly important to me 18:57:57 background switching rapidly between primary red, green, and blue at about 3 Hz 18:58:36 I have my foreground and background colours switch every 5s 18:59:11 (implying I do not use syntax highlighting too) 19:00:32 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 19:02:22 huh, in C++ if a lambda wants to modify its enclosing scope, it needs to be declared with the 'mutable' keyword 19:02:25 i did not know 19:02:47 i thought it was that you had to say which variables you wanted to capture, and whether it was by reference 19:02:58 you do that too 19:03:07 hmm 19:03:31 oh i think it's slightly different 19:03:45 you use 'mutable' if you want to capture by value, but allow the lambda to modify its /own/ scope between calls 19:04:12 otherwise you get the original closed-over values on every call 19:04:13 i think 19:04:26 or you just can't modify them at all 19:04:31 http://stackoverflow.com/questions/5501959/why-does-c0xs-lambda-require-mutable-keyword-for-capture-by-value-by-defau 19:06:20 ...huh? 19:09:12 huh what? 19:09:28 i just don't understand that page 19:14:31 oh, mutable lets you esbalish a new scope that you can still modify things in, i guess. weird 19:15:22 kmc: no 19:15:31 mutable and capture-by-value and capture-by-reference are orthogonal 19:16:02 mutable is a const-safety thing; the by-value [foo] or by-reference [&foo] is an explicit reference thign 19:16:06 *thing 19:26:30 . 19:26:30 Sgeo: You have 1 new message. '/msg lambdabot @messages' to read it. 19:26:34 @messages 19:26:34 boily said 2h 53m 53s ago: you are reminded that you want to read http://www.scala-lang.org/docu/files/IC_TECH_REPORT_200433.pdf and http://www.scala-lang.org/docu/files/TheExpressionProblem. 19:26:34 pdf 19:26:46 nice line breaking 19:31:13 If a company called me as I was heading somewhere and I told them to call back at 5 and they said that's not too late, would it be a bad idea for me to call them before that? 19:31:32 nah 19:33:23 -!- monqy has joined. 19:33:45 they're going to call you at 5, but you want to call back before then? 19:33:45 why? 19:35:15 Because my estimate of "5" as the time that I'd be available was at the very late end, I'm available now 19:35:28 but is it a great hardship for you to just take the call at 5? 19:35:31 No 19:35:38 then i would just keep things simple and do that 19:35:41 Ok 19:43:10 -!- oerjan has joined. 19:50:36 -!- WeThePeople has joined. 19:52:33 -!- Phantom_Hoover has joined. 20:00:27 -!- oklofok has joined. 20:03:59 -!- oklopol has quit (Ping timeout: 260 seconds). 20:08:02 -!- WeThePeople has quit (Quit: Leaving). 20:14:33 -!- Bike has quit (Ping timeout: 256 seconds). 20:18:55 `printenv 20:18:56 TERM=linux \ http_proxy=http://127.0.0.1:3128 \ HACKENV=/hackenv \ PATH=/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin \ PWD=/hackenv \ LANG=en_NZ.UTF-8 \ SHLVL=0 \ HOME=/tmp 20:20:16 `run printenv | tail 20:20:18 TERM=linux \ http_proxy=http://127.0.0.1:3128 \ HACKENV=/hackenv \ PATH=/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin \ PWD=/hackenv \ LANG=en_NZ.UTF-8 \ HOME=/tmp \ SHLVL=1 \ _=/usr/bin/printenv 20:20:55 I like how that somehow outputted more... 20:20:55 TwilightSpockle: just had an idea, what about putting the nick of the requester in some environment variable? could be useful. 20:21:09 oh hm 20:21:19 elliott: Because there's a shell sitting on top. 20:21:20 `run printenv | tail -1 20:21:21 _=/usr/bin/printenv 20:21:29 oh, right 20:21:39 In fact, I suspect... 20:21:40 `run printenv 20:21:42 TERM=linux \ http_proxy=http://127.0.0.1:3128 \ HACKENV=/hackenv \ PATH=/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin \ PWD=/hackenv \ LANG=en_NZ.UTF-8 \ HOME=/tmp \ SHLVL=1 \ _=/usr/bin/printenv 20:21:44 Yup. 20:21:52 So you can distinguish ` from `run ;) 20:25:15 coppro: can you elaborate on what mutable for a closure means? 20:25:17 -!- Bike has joined. 20:28:31 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 20:29:20 -!- Phantom_Hoover has joined. 20:48:07 -!- AnotherTest has quit (Quit: Leaving.). 21:01:06 -!- myndzi has quit (Ping timeout: 276 seconds). 21:02:29 -!- myndzi has joined. 21:02:32 `run printf 'GET http://google.com HTTP/1.1\r\nHost: google.com\r\n\r\n' | nc 127.0.0.1 3128 21:02:34 HTTP/1.0 301 Moved Permanently 21:03:20 wat 21:03:36 `run printf 'CONNECT google.com:80 HTTP/1.1\r\n\r\n' | nc 127.0.0.1 3128 21:03:37 HTTP/1.0 403 Forbidden 21:04:08 is kmc hacking the ego 21:04:11 `run printf 'GET http://www.google.com/ HTTP/1.1\r\nHost: www.google.com\r\n\r\n' | nc 127.0.0.1 3128 21:04:12 `run curl http://google.com/ 21:04:14 HTTP/1.0 200 OK 21:04:15 ​ % Total % Received % Xferd Average Speed Time Time Time Current \ Dload Upload Total Spent Left Speed \ 21:04:32 what the hell is connect 21:04:33 Not quite sure why it's only giving one line... 21:04:35 why is it only printing the response line 21:04:40 Mayhaps it doesn't like \r? 21:04:41 oh boy tunneling 21:04:44 Bike: used to proxy arbitrary TCP streams through HTTP proxies 21:04:50 designated use: SSL 21:04:50 `run echo -e 'Hello\r\nworld' 21:04:52 Hello 21:04:54 actual use: sending spam, hacking the gibson 21:04:55 Wow. 21:04:59 fuck yeah 21:05:00 It doesn't like \r. Surprising :) 21:05:07 isn't \r standard? 21:05:10 or am i smoking the crack 21:05:11 `run printf '\r\n' | hd 21:05:13 00000000 0d 0a |..| \ 00000002 21:05:17 It’s fine. 21:05:18 -!- asiekierka has quit (Disconnected by services). 21:05:21 -!- zzo38 has left. 21:05:28 \r\n terminates irc lines doesn't it 21:05:49 `run printf 'hi \r ho' 21:05:50 hi 21:06:02 HackEgo replaces newlines with \ and other control characters with something safe. 21:06:07 Or at least i thought so. 21:06:07 Oh. 21:06:08 oh man i did not know that hd is a canonical synonym for hexdump -C 21:06:13 fantastic 21:06:17 thion 21:06:20 I suppose \r confuses it after all. 21:06:32 you’re wmc 21:06:54 -!- asiekierka_ has joined. 21:06:58 Works better with rwbarton. 21:07:07 you're wwbarton? 21:07:52 – Thank’s. 21:07:54 – Your welcome. 21:07:55 -!- copumpkin has quit (Ping timeout: 260 seconds). 21:08:26 -!- copumpkin has joined. 21:09:59 I'm really, really hoping this doesn't do anything: 21:10:12 `run echo -e 'Ruh roh\rPRIVMSG #esoteric :Oh god no' 21:10:14 Ruh roh 21:10:21 *breathes a sigh of relief* 21:10:42 I guess the \r is just going through unmodified, and freenode goes "lol, wtf is this" 21:10:45 ion: *glare* 21:11:29 `run echo -e '\r\n' | hd 21:11:30 00000000 0d 0a 0a |...| \ 00000003 21:14:26 `run echo -e 'hi\r\nQUIT :hi' 21:14:27 hi 21:14:29 im sad 21:14:36 `run echo -e 'hi\r\rQUIT :hi' 21:14:37 hi 21:14:40 `run echo -e 'hi\r\r\rQUIT :hi' 21:14:41 hi 21:33:37 `fueue )$$7--1[)[[H] ):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]]])[~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:] [64] 21:33:38 65 21:33:43 `fueue )$$7--1[)[[H] ):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]]])[~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:] [255] 21:33:45 0 21:33:50 Hackego has Fueue now? 21:33:57 yeah i added it 21:34:23 Does it work? 21:34:34 yes 21:35:00 `fueue [[)[~~~~()+1])])][[)$-----~1-[~:)~)[)[~:)~)]~:]:]~[~[$~H~~%~+])~48-):])~)~:])][)~[0]])$0 21:35:02 ​........................................................................................................................................................................................................................................................................................................................................................... 21:35:14 what was that again 21:35:26 judging by the 48 I'd say Thue-Morse 21:35:35 Truth Machine 21:35:40 you'd expect a 49 too then 21:35:53 yeah I'd expect a 49 for the truth-achine as well 21:36:01 `fueue 48 ~!~)): [[48 [)):] [~!~)):] ~~) !][49 [~!~)):] [)):] )~]] 21:36:03 01101001100101101001011001101001100101100110100101101001100101101001011001101001011010011001011001101001100101101001011001101001100101100110100101101001100101100110100110010110100101100110100101101001100101101001011001101001100101100110100101101001100101101001011001101001011010011001011001101001100101101001011001101001011010011001011010010110011010 21:36:09 and what was that line of dots? ARE YOU SAYING MY INTERPRETER DOESN'T WORK? 21:36:19 `run echo 0 | fueue '[[)[~~~~()+1])])][[)$-----~1-[~:)~)[)[~:)~)]~:]:]~[~[$~H~~%~+])~48-):])~)~:])][)~[0]])$0' 21:36:21 ​........................................................................................................................................................................................................................................................................................................................................................... 21:36:30 `run echo 1 | fueue '[[)[~~~~()+1])])][[)$-----~1-[~:)~)[)[~:)~)]~:]:]~[~[$~H~~%~+])~48-):])~)~:])][)~[0]])$0' 21:36:32 ​........................................................................................................................................................................................................................................................................................................................................................... 21:36:41 hm that's not very nice 21:36:49 `run echo 1 | fueue '[[)[~~~~()+1])])][[)$-----~1-[~:)~)[)[~:)~)]~:]:]~[~[$~H~~%~+])~48-):])~)~:])][)~[0]])$' 21:36:51 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 21:36:56 `run echo 0 | fueue '[[)[~~~~()+1])])][[)$-----~1-[~:)~)[)[~:)~)]~:]:]~[~[$~H~~%~+])~48-):])~)~:])][)~[0]])$' 21:36:58 0 21:37:06 oh 21:37:09 Tacking the input on the end does not always work 21:37:10 much better :) 21:37:29 Taneb: especially not when you are attack a 0 rather than the ascii value for 0 hth 21:37:33 *-ing 21:37:37 I SUPPOSE 21:37:44 *attaching 21:37:49 `fueue [[)[~~~~()+1])])][[)$-----~1-[~:)~)[)[~:)~)]~:]:]~[~[$~H~~%~+])~48-):])~)~:])][)~[0]])$48 21:37:50 0 21:37:52 `fueue [[)[~~~~()+1])])][[)$-----~1-[~:)~)[)[~:)~)]~:]:]~[~[$~H~~%~+])~48-):])~)~:])][)~[0]])$49 21:37:54 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 21:39:40 oerjan: when you write "hth", is it "happy to help" or "hope that helps"? 21:39:46 Which interp is this? 21:39:48 The C one? 21:40:03 Arc_Koen: hope this helps 21:40:05 try --print 21:40:07 Taneb: yes 21:40:14 arg 21:40:19 Arc_Koen: hagrid thinks happily 21:40:27 I have been reading you as "happy to help" for so long now 21:40:37 thank you elliott 21:40:44 Does it make that much difference? 21:40:45 -!- Phantom_Hoover has quit (Ping timeout: 276 seconds). 21:40:52 `run fueue --print '72 105 H' 21:40:54 ​ 72 105H \ H 105H \ iH 21:40:59 the difference is that oerjan is never happy 21:41:14 that is not true. it's just much rarer than i like. 21:41:21 * Taneb hugs oerjan in a doomed attempt to make him happy 21:41:38 AAAAAAAAAAAAAAAAAAAAAAAAa IT BUUUURNS 21:41:43 -!- Phantom_Hoover has joined. 21:41:51 are we still in the harry potter metaphore 21:42:23 yes 21:45:46 what is harry potter a metaphore 21:45:56 yes 21:46:37 are we having fun yet? 21:48:19 yes 21:48:27 great! 21:49:24 no 21:49:51 maybe. 21:51:31 harry potter is a semaphore 21:53:22 harry potter is an insectivore 21:53:43 harry potter is a copper ore. 21:54:17 harry potter is a morator-ium 21:54:34 dumbledoreivore 21:56:07 could an organism evolve quickly enough so that adapting its diet towards dumbledores result in a genetic advantage? 21:56:35 magic radiation is known to have evolved wandavores, anything is possible!! 21:56:51 boily, there were those wasps that changed colour 21:56:59 Or were they moths 21:57:06 ah? I don't recall anything about them. 21:58:49 moths 21:59:06 http://en.wikipedia.org/wiki/Peppered_moth_evolution 21:59:50 ah! so it got nothing to do with dumbledoring. I was confused for a while, there. 22:00:13 or it has something to do. just that dumbledores are not part of our universe (yet). 22:00:32 there was also that mosquito in the london underground 22:00:34 -!- augur has quit (Remote host closed the connection). 22:01:17 underground mosquitos are some crazy shit 22:01:33 the london underground looks like a dangerous place enough without any mutant maringouins to boot. 22:02:00 -!- copumpkin has quit (Ping timeout: 264 seconds). 22:02:01 I like my sub-zero climate in our metro just fine, thank you very much. 22:02:29 they live in lots of metro systems 22:02:31 -!- copumpkin has joined. 22:03:15 hm, no silly conspirabiology for the moths, darn 22:03:55 `fueue )$$6-%0[)[[H] ):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]]])[~~~)*[)~(:+~~-)+1]---256%):] [65] 22:03:57 64 22:04:00 `fueue )$$6-%0[)[[H] ):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]]])[~~~)*[)~(:+~~-)+1]---256%):] [0] 22:04:06 255 22:04:16 `fueue )$$6-%0[)[[H] ):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]]])[~~~)*[)~(:+~~-)+1]---256%):] [0] 22:04:17 255 22:04:18 `learn conspirabiology is where moth colourings form a dot matrix display to send you subliminal messages. 22:04:22 I knew that. 22:04:25 -!- boily has quit (Quit: Poulet!). 22:04:31 nice 22:06:30 -!- WeThePeople has joined. 22:07:12 -!- Taneb has quit (Quit: Leaving). 22:07:57 help I haven't received a call should I call them? 22:08:27 is it 5 22:08:40 it's 8 past 5 22:08:47 oh no 8 past 5 22:10:23 Sgeo: who didn't call you today? 22:10:50 Potential employer 22:11:09 They called me while I was waiting for a cab to meet up with a friend, so I asked if 5 would be too late, they said no 22:12:13 well I'd be tempted to say yes 22:12:27 unless you are very worried they might think you're impatient 22:13:40 bets on Sgeo being very worried 22:14:17 I just called 22:14:23 They just wanted my email address 22:14:32 Thought it was going to be a long conversation and discussion 22:15:11 (my email address should be on my resume, so not sure what happened) 22:15:29 Also the job is in the same town as my step-mom. Recipe for pain and misery? 22:15:35 sounds like great fun 22:18:03 does node.js even count as a language 22:18:11 yeah people tend to do that 22:18:19 "Our ideal candidate can demonstrate a 22:18:20 practical knowledge of at least one of the following languages {Node.js, Java, Perl, 22:18:20 PHP}." 22:18:42 last emplyer called me to request a meeting... during which they only asked for my birthdate and address 22:18:54 to fill in some papers 22:20:05 Sgeo: though if they don't even need to talk *but* need your email address... doesn't that mean they already know they want you? 22:20:48 It's a recruiter I think. They wanted to send me a job description 22:21:01 And he wants my resume as a Word document :/ 22:21:18 (Well, Job Description says resume as Word document, he didn't ask me specifically) 22:21:23 that must be why they need someone with some computer science skills... 22:22:08 btw how is "node.js" a language? that sounds more like a file 22:22:24 what sorta film 22:22:28 Arc_Koen: heh 22:22:34 documentary? exposee? snuff? 22:22:47 in the JavaScript community you put a .js onto the name of everything 22:22:54 software, conferences, babies, etc 22:23:12 oh, i read file as film????somehow 22:23:46 babies? "little kmc junior.js" 22:23:48 i would say node.js counts as a language, since it specifies a particular dialect of javascript and a standard library (file IO etc) that isn't part of JS itself 22:24:02 also if you just ask "JavaScript" people will assume you mean client side JS and DOM stuff 22:26:00 wtf is "story estimation" 22:26:17 estimation of story 22:26:23 google it 22:26:30 isnt this google 22:26:47 it's a step of some particular flavor of agile dogma snakeoil 22:26:54 @hoogle story estomation 22:26:54 No results found 22:26:56 help??? 22:27:35 @google agile dogma snakeoil 22:27:38 http://blog.ablepear.com/2012/01/avoid-agile-dogma-recommendations-not.html 22:27:56 "We use a hybrid XP agile model: 2 week cycles, user focused iteration 22:27:56 planning, and process focused retrospectives." 22:28:22 this sounds like a gr8 job 22:28:47 does xp stand for "xtreme programming" 22:29:09 it stands for experience points 22:29:11 sgeos gonna level up 22:29:12 Also pair programming, which doesn't sound that bad really 22:29:24 I think XP is where you write tests first? 22:29:26 pear programming................................ 22:29:48 https://upload.wikimedia.org/wikipedia/commons/4/44/XP-feedback.gif extreme!!!! 22:29:50 -!- augur has joined. 22:31:16 extreme sphere 22:31:26 journey 2 tha xtreme programming sphere of jupita 22:31:39 jupiter and beyond the infinite 22:31:55 Sgeo: i recall people talking about XP long before i recall them talking about TDD 22:32:24 pair programming is one of those things which sounds horrid, but several very smart friends swear by it, so I'm confused 22:33:35 It doesn't sound horrid to me 22:33:53 Then again, I usually make a few dozen mistakes while writing code :( 22:34:07 per some unit amount of code 22:37:12 -!- ogrom has quit (Quit: Left). 22:37:55 pair programming: http://www.youtube.com/watch?v=u8qgehH3kEQ 22:39:16 `queue )$--%0[)[)$--%0[)[ [H]):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]] ]])[))(($3~)<(] ]])[))(($3~)<(] [64][[65][H]][[66][[67]<:[[0]<:]]] 22:39:18 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: queue: not found 22:39:25 `fueue )$--%0[)[)$--%0[)[ [H]):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]] ]])[))(($3~)<(] ]])[))(($3~)<(] [64][[65][H]][[66][[67]<:[[0]<:]]] 22:39:45 `echo hi 22:39:47 hi 22:39:55 eek 22:39:57 67 22:40:01 `fueue )$--%0[)[)$--%0[)[ [H]):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]] ]])[))(($3~)<(] ]])[))(($3~)<(] [64][[65][H]][[66][[67]<:[[0]<:]]] 22:40:32 67 22:41:16 `run yes | fueue ')$--%0[)[)$--%0[)[ [H]):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]] ]])[))(($3~)<(] ]])[))(($3~)<(] [64][[65][H]][[66][[67]<:[[0]<:]]]' 22:41:19 67y \ 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 \ 22:41:43 oh duh 22:42:18 feue looks compmicaleiotnsctaefd 22:42:25 yes. 22:42:55 and when you accidentally fail to make your program halt, it turns into a cat and HackEgo takes a _long_ time to finish 22:43:27 -!- augur_ has joined. 22:44:57 -!- augur has quit (Read error: Connection reset by peer). 22:46:10 `fueue )$--%0[)[)$--%0[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H] ]])[))(($3~)<(] ]])[))(($3~)<(] [64][[65][H]][[66][[67]<:[[0]<:]]] 22:46:12 67 22:46:23 there i got the [H] in the right place 22:46:27 whats the goal 22:46:58 * oerjan mysterious 22:48:16 helap 22:49:21 `fueue )$--%0[)[)$--%0[)[)$$7--1[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H] ]])[~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:] ... ]])[))(($3~)<(] ]])[))(($3~)<(] [64][[65][H]][[66][[67]<:[[0]<:]]] 22:49:23 FUEUE: UNKNOWN . OP \ FUEUE: UNKNOWN . OP \ FUEUE: UNKNOWN . OP \ 68 22:49:39 Arc_Koen: AHEM 22:49:54 oh forgot quotes 22:50:01 `fueue ')$--%0[)[)$--%0[)[)$$7--1[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H] ]])[~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:] ... ]])[))(($3~)<(] ]])[))(($3~)<(] [64][[65][H]][[66][[67]<:[[0]<:]]]' 22:50:03 FUEUE: UNKNOWN ' OP \ FUEUE: UNKNOWN . OP \ FUEUE: UNKNOWN . OP \ FUEUE: UNKNOWN . OP \ FUEUE: UNKNOWN ' OP \ 68 22:50:04 I didn't do it! 22:50:08 um no 22:50:10 wow thats some good error reportinge 22:50:10 good language 22:50:17 THAT'S A LOUD LANGUAGE. 22:50:30 oh there's a ... in there 22:50:55 well the report was explicit wasn't it 22:51:09 `fueue )$--%0[)[)$--%0[)[)$$7--1[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H] ]])[~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]]])[))(($3~)<(] ]])[))(($3~)<(] [64][[65][H]][[66][[67]<:[[0]<:]]] 22:51:11 68 22:51:18 Arc_Koen: right, now i see 22:51:20 nice 22:51:27 I'm not sure what that 68 is, though 22:51:35 it's the 67, incremented 22:51:45 oh, good then 22:51:52 i'm emulating bf >>+. :) 22:52:22 concise, logical, and adaptable 22:52:58 although the . replacment prints in decimal for debugging convenience 22:53:06 *+e 22:53:41 ok that's comforting 22:55:26 `fueue )$--%0[)[)$--%0[)[)$$6-%0[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H] ]])[~~~)*[)~(:+~~-)+1]---256%):] ]])[))(($3~)<(] ]])[))(($3~)<(] [64][[65][H]][[66][[67]<:[[0]<:]]] 22:55:27 66 22:55:37 testing >>-. instead 22:56:34 Bike: a good deal of extra verboseness comes from doing +- (mod 256) 22:58:58 -!- carado has quit (Ping timeout: 246 seconds). 23:04:42 `fueue )$--%0[)$--%0[)$$6-%0[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H] ]])[~~~)*[)~(:+~~-)+1]---256%):] ])[))(($3~)<(] ])[))(($3~)<(] [64][[65][H]][[66][[67]<:[[0]<:]]] 23:04:44 66 23:06:59 `fueue )$--%0[)$--%0[)$$7--1[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H] ]])[~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:] ])[))(($3~)<(] ])[))(($3~)<(] [64][[65][H]][[66][[67]<:[[0]<:]]] 23:07:01 68 23:18:29 -!- WeThePeople has quit (Quit: Leaving). 23:19:40 `fueue )$--%0[)$--%0[)$$7--1[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H] ]])[~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:] ])[))(($3~)<(] ])[))(($3~)<(] [64][[65][H]][[0]<:[[0]<:]] 23:19:42 1 23:21:01 i think at least [[0]<:[[0]<:]] is fairly concise for an infinite stack of 0's. 23:30:37 `fueue )$--%0[)$--%0[)$$7--1[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H] ]])[~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:] ])[~~)<~~~(] ])[~~)<~~~(] [0][[2]<:[[4]<:]][[6]<:[[8]<:]] 23:30:38 5 23:44:17 `fueue )$%0[)$--%0[)$%0[)$--%0[)$%0[)[33 H] ])[):] ])[~~)<~~~(] ])[):] ])[~~)<~~~(] ])[):] [48][[50]<:[[52]<:]][[54]<:[[56]<:]] 23:44:18 024! 23:47:28 CREATE INDEX CONCURRENTLY USING gin 23:48:22 -!- daniela1 has joined. 23:48:28 -!- daniela1 has left. 23:51:33 -!- zzo38 has joined. 23:52:50 Nobody has even replied about my SELECT DEFERRED suggestion, although I have found other things people did where such a thing would be useful for them too in the same way. 23:54:19 I did try the #sqlite channel but they didn't reply. I asked them various other questions too but they replied to nothing except the bug report. 2013-02-05: 00:00:04 -!- augur_ has quit (Remote host closed the connection). 00:30:14 -!- icarot has joined. 00:31:48 -!- jconn has quit (Ping timeout: 248 seconds). 00:34:07 I know nothing of this channel, but after reading the logs with topic jumps to Russian, logic gates, opaque puns - and who even knows what else - I had to come here. 00:34:26 `welcome icarot 00:34:28 icarot: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 00:34:35 usually I'd expect the logs to drive people away 00:35:22 It must have been an unusual log, then. Or maybe it's just me. 00:35:36 hicarot 00:35:38 :-) 00:35:46 well, oerjan's been messing with intercal for the last twenty minutes 00:35:56 there was intercal? 00:35:56 Hallo. 00:36:01 I thought it was just Fueue 00:36:04 fueue, intercal, same shit 00:36:52 i haven't messed with intercal for a decade 00:37:07 It sounds scary. 00:37:37 COME FROM is an integral part of nondeterministic programming 00:38:01 http://oerjan.nvg.org/esoteric/intercal/ 00:39:06 "please read me a story" 00:40:06 I love oerjan's comments in that program 00:40:12 and also everything else 00:40:16 galois field mines 00:41:00 monqy: have you read it? you should 00:41:25 ive read parts of it 00:41:27 it's really good 00:41:52 ...are you still talking about my interpreter 00:41:59 yes 00:42:02 wow 00:43:18 the galois field was nice 00:56:45 hi icarot 00:56:52 `wehlcohme icarot 00:56:55 ihcahroht: Wehlcohme to the ihntehrnahtiohnahl huhb fohr ehsohtehrihc prohgrahmmihng lahnguahge dehsihgn ahnd dehployhmehnt! Fohr mohre ihnfohrmahtiohn, chehck ouht ouhr wihki: http://ehsohlahngs.ohrg/wihki/Maihn_Pahge. (Fohr the ohthehr kihnd ohf ehsohtehrihca, try #ehsohtehrihc ohn ihrc.dahl.neht.) 01:22:33 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:23:23 -!- Bike_ has joined. 01:23:31 -!- Bike has quit (Ping timeout: 240 seconds). 01:37:28 -!- augur has joined. 01:37:32 -!- sirdancealot has quit (Ping timeout: 255 seconds). 01:40:02 -!- sirdancealot has joined. 01:42:38 -!- azaq23 has joined. 01:44:46 -!- Arc_Koen has quit (Quit: Arc_Koen). 02:25:26 -!- Bike_ has changed nick to Bike. 02:28:13 http://upload.wikimedia.org/wikipedia/commons/6/65/Fucking_map.png 02:29:04 They should upload a cleaner version... 02:29:19 yeah look at those jpeg artifacts in a png :( 02:29:44 it's simplistic enough to be a svg, really 02:29:45 i wonder if there is research into fancy ways of de-jpegifying line art 02:30:44 http://rentheatmap.com/sf.html 02:45:50 -!- WeThePeople has joined. 02:47:33 yes 02:48:50 One area looked really cheap at first but it turned out to be a lake 02:48:55 Wonder if you can rent an apartment on the lake 02:49:37 Nothing wrong with living in lakes. 02:50:29 shachaf: http://i.imgur.com/uwtBNUf.png 02:51:01 ha. 02:51:12 KMC IS TOO DAMN HIGH 02:51:24 Hmm, your nick looks weird in uppercase. 03:09:45 Lumpio-: haha 03:09:49 well http://www.lrb.co.uk/v35/n03/rebecca-solnit/diary does talk about "water plots" 03:12:21 What does the "S.A.C." Fieldata code mean? 03:12:51 You sure do ask the most random questions. 03:13:00 fungot's are even more random 03:13:00 shachaf: more simply put: siod sucks as a general purpose ( similar, and i'd like to see that mystical forest powers, but this time on the impact of the introduction to theoretical computer, fnord of the fnord here, just above me, asked me to do that in the " better" language 03:13:09 fungto: that's not a question.................................................. 03:13:13 fungot: that's not a question.................................................. 03:13:14 shachaf: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube with this jaybad... he is like the punching him? does it involve? doing it the way you would calibrate a normal. pm showed the bq a parking citation. if confronted, you will say you are only here to deliver a message and then i'll put his shit.... w.t.f lol 03:13:43 fungot: ? 03:13:43 shachaf: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube* 54, 55, 56, 57, as bryant still had his glory days ahead of them must have brought it with blood is, he's a total of two conversion rates, in that line, that i have gone totally wanting, and then you can choose fnord, but don't 03:13:49 fungot: what's going on 03:13:49 shachaf: i just wrote :p ( what was i thinking there.... :d 03:14:12 ^style 03:14:12 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot* homestuck ic irc iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube 03:14:49 Oh. 03:14:53 ^style irc 03:14:53 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 03:15:34 fungot: riddle me a riddle 03:15:52 fungot: draw me a sheep 03:15:57 Hmph. 03:37:32 -!- jconn has joined. 03:42:42 baaah 03:43:29 kmc: did you read that book 03:43:45 which 03:43:58 either the one i mentioned the other day 03:44:00 or the little prince 03:44:13 probably not 03:45:07 -!- WeThePeople has quit (Quit: Leaving). 03:53:26 -!- trout has quit (*.net *.split). 03:53:26 -!- Deewiant has quit (*.net *.split). 03:53:26 -!- Sanky has quit (*.net *.split). 03:57:01 -!- variable has joined. 03:59:59 -!- Deewiant has joined. 04:32:49 -!- TeruFSX has joined. 04:40:30 -!- RodgerTheGreat has quit (Quit: RodgerTheGreat). 05:02:03 -!- icarot has quit (Quit: leeave()). 05:02:17 -!- icarot has joined. 05:07:18 -!- icarot has quit (Ping timeout: 276 seconds). 05:11:14 hi shachaf 05:11:19 shichaf 05:11:28 ^rot13 shichaf 05:11:28 fuvpuns 05:11:40 ^rot13 sighchaf 05:11:40 fvtupuns 05:11:44 ^rot13 shychaf 05:11:44 fulpuns 05:12:30 ^rot13 fulcra 05:12:31 shypen 05:13:04 yhichaf 05:13:29 yhishachaf 05:13:57 -!- Bike has quit (Quit: Reconnecting). 05:13:59 yhelloquintopia 05:14:00 -!- Bike_ has joined. 05:14:20 ^rot13 yhelloquintopia 05:14:20 luryybdhvagbcvn 05:14:34 ^rot13 wat 05:14:35 jng 05:14:48 ^rot13 jpg 05:14:48 wct 05:14:59 ^rot13 png 05:14:59 cat 05:15:21 use cat for all your image compression needs 05:16:00 cat oerjan > yhishachaf.png 05:16:13 I thought png should be used to compress pictures of cats. 05:18:10 -!- oerjan has quit (Quit: Good night). 05:19:47 -!- TeruFSX has quit (Ping timeout: 260 seconds). 05:19:48 use cats to compress pictures of pngs 05:58:49 shachaf was there any context for that 05:59:02 monqy for what 05:59:11 monoids 05:59:20 monqy dont cross-post................................................ 05:59:35 -!- Frooxius has quit (Ping timeout: 256 seconds). 05:59:37 monqy: also im an addict 05:59:42 you might say im 05:59:48 er 05:59:51 i thought it'd be """""ironic"""""" 05:59:54 you might say that im talking about 05:59:59 ... 06:00:01 addictive monoids 06:00:14 What are addictive monoids? 06:00:26 it's a pun, zzo 06:00:31 monoids that use a + and give you the first hit for free 06:00:33 a bad pun, shachaf 06:00:40 a fun pun, monqy 06:01:10 monqy: the """""""ironic' part is that i crosspost sometimes?? 06:01:17 yes 06:01:17 monqy: also why are you reading #haskell but not talking 06:01:23 -!- Bike_ has changed nick to Bike. 06:01:26 sometimes i say something!!!! 06:01:48 i think i said something today? maybe??? or was that just yesterday 06:02:07 say more things 06:02:14 "we all appreciate your valuble contributions" 06:02:19 (well at least i do??) 06:03:00 ah yes today i gave a pointer on "map . map", yesterday I said something about pts, and a while ago it was.....catMaybes? 06:03:11 @ty map . map 06:03:13 (a -> b) -> [[a]] -> [[b]] 06:03:18 @ty traverse . traverse 06:03:20 (Applicative f, Traversable t1, Traversable t) => (a -> f b) -> t (t1 a) -> f (t (t1 b)) 06:03:39 @ty (=<<) . (=<<) 06:03:41 Monad m => (a -> m b) -> m (m a) -> m b 06:03:45 @ty foldMap . foldMap 06:03:46 (Foldable t1, Foldable t, Monoid m) => (a -> m) -> t (t1 a) -> m 06:03:57 good signatures? 06:03:57 cóóincidence? 06:04:07 @ty foldl . foldl 06:04:09 (a -> b -> a) -> a -> [[b]] -> a 06:04:25 monqy: edwardk has been doing """awful things with these signatures 06:04:33 how awful 06:04:39 cpp hacks awful 06:04:46 that's pretty awful 06:04:47 and rewrite rules/? 06:04:54 that's pretty awful too 06:05:05 and making performance changes with no benchmarks 06:05:38 -!- oonbotti has joined. 06:24:31 monqy: would it be better if i quit monoids 06:25:12 probably 06:29:39 CPP is bad for Haskell due to the different comment syntax and the different use of apostrophes, and the different use of a backslash for line endings. 06:41:41 foldMap all the way down 06:42:26 I kind of wish Foldable required Functor. :-( 06:43:12 I heard you like maps, so i put a Functor in your Functor so you can fmap while you fmap. 06:46:12 But there might be some data types which can be foldable but not functor? (such as some GADTs) 06:46:42 Hmm, maybe GADTs are a good counterargument? 06:55:07 I think Foldable could be made to be defined in terms of toList; and I think there is a free theorem which makes it equivalent (specifically, that [] is a free monoid, which makes it a backward monoid transformer). 06:58:41 Do you think I am correct? 07:01:16 it's not very good to define Foldable in terms of toList 07:01:23 since you lose tree structure 07:04:09 But Foldable is forced to lose tree structure anyways due to associativity of monoids. 07:05:46 yes, but part of the reason it's so nice is that you can rely on the balancedness of it when folding e.g. a tree 07:05:53 if you have, say, a monoid you use for searching for something in a tree 07:06:20 then a toList based version will have worse asymptotic performance 07:07:10 Yes, that can be a good reason not to define a Foldale instance in terms of toList. But that doesn't mean it is not mathematically equivalent. 07:19:31 sure 08:02:24 Maybe the math should be made to include performance complexity things 08:02:45 psh, engineer 08:02:53 'a':"b" as not equivalent to "a"++"b" despite the same result 08:03:09 wait why not 08:04:45 Presumably there should be language support, time and space complexity in the types 08:04:45 I have no idea how this would work though 08:07:38 what are you talking about 08:08:46 I want to be preventing from writing foo x = length x while accidentally assuming that foo x has O(1) time complexity 08:08:55 I want the type checker to catch that 08:09:12 And only successfully type check if I state that it has O(n) time complexity 08:09:23 wow that sounds really weird 08:09:29 like really incredibly what 08:11:12 Prevent people from misunderstanding the time and space complexity of the algorithms they use 08:11:29 So if something needs to run fast, they can be assured that it will run the way they expect 08:11:33 haven't you heard cache locality makes O times obsolete 08:12:27 Sgeo: you realise "a" ++ x and 'a' : x have the same time complexity right 08:12:33 just really tiny different constant factors 08:12:42 and optimised away completely by any half-decent compiler 08:12:50 yeah what is that even, i'm confused 08:12:57 elliott, hmm, ok 08:13:02 bad example 08:13:15 it's frickin haskell, optimize that shit 08:48:57 -!- Bike has quit (Quit: warning). 08:52:34 -!- FreeFull has quit (Quit: Bye). 08:53:18 -!- azaq23 has quit (Quit: Leaving.). 09:34:00 -!- carado has joined. 09:55:04 -!- Sanky has joined. 10:05:23 -!- SimonRC has quit (Ping timeout: 260 seconds). 10:05:39 -!- SimonRC has joined. 10:06:15 -!- zzo38 has quit (Remote host closed the connection). 10:20:03 -!- zzo38 has joined. 11:00:54 size_t strlen(char const*) __attribute__((DUDE_MOVE_THIS_OUT_OF_YOUR_LOOP_HEADER)) 11:13:52 __attribute__ ((optimize ("inline-small-functions", "inline-functions"), always_inline, inline_or_i_kill_you)). 11:18:41 -!- zzo38 has quit (Remote host closed the connection). 11:56:28 -!- asiekierka_ has quit (Quit: ZNC - http://znc.sourceforge.net). 11:59:54 -!- asiekierka has joined. 12:02:30 -!- oonbotti has quit (Ping timeout: 240 seconds). 12:13:24 -!- Lumpio- has quit (Ping timeout: 248 seconds). 12:21:29 -!- monqy has quit (Quit: hello). 12:40:10 -!- Lumpio- has joined. 13:13:41 -!- Frooxius has joined. 13:16:23 -!- sebbu has quit (Ping timeout: 245 seconds). 13:39:50 -!- sebbu has joined. 13:39:51 -!- sebbu has quit (Changing host). 13:39:51 -!- sebbu has joined. 13:42:17 -!- copumpkin has quit (Ping timeout: 252 seconds). 13:42:47 -!- copumpkin has joined. 13:47:39 -!- Arc_Koen has joined. 13:56:59 -!- Arc_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?"). 13:57:24 -!- Arc_Koen has joined. 13:57:55 hello people 14:01:47 -!- boily has joined. 14:36:03 quintopia: hi! 15:08:10 So much for not allowing myself to use the computer until noon 15:08:39 its ok 15:08:40 its 15:08 15:09:20 it's not ok, it's 10:08. 15:09:57 sorry about your incorrect timezone 15:10:31 @globaltime 15:10:35 Local time for shachaf is Tue Feb 5 07:10:31 2013 15:10:39 ∎ 15:10:40 -!- Phantom_Hoover has joined. 15:10:50 That's the Global Time™ 15:11:08 @globaltime 15:11:11 Local time for boily is Tue, 05 Feb 2013 10:11:09 -0500 15:13:42 my Globolocaltime© is better than yours :p 15:14:00 I get three more hours every day... 15:21:45 "and then, if you have a class which mixes in these traits, there are special rules which impl wins, depending on the order of the mixins" 15:21:50 Give me Ada please 15:22:08 * Sgeo retreats back into the safety of a language that's supposed to make no assumptions 15:23:18 * boily pellets Sgeo with tidbits of PHP, just to keep him insane enough 15:23:19 hi Sgeo 15:23:27 So you like Ada after all? 15:23:45 I still don't know Ada 15:24:07 But it gave me a taste of disliking when languages make assumptions and the programmer has to guess at what it will assume 15:24:56 You should learn it a bit. 15:25:09 It's hardly fair to use it as an argument against other languages when you don't know it. 15:29:48 I know 1<2 and 2>0 or 3<4 is invalid 15:29:50 hth 15:30:25 -!- augur has quit (Remote host closed the connection). 15:30:29 You know how it's case-insensitive? 15:31:06 Now I do. Makes sense though. 15:32:27 hi quintopia 15:32:31 hi boily 15:38:34 -!- carado has quit (Ping timeout: 246 seconds). 15:56:10 "languages make assumptions and the programmer has to guess at what it will assume" 15:56:13 isn't that 15:56:14 every language 15:56:26 except that you shouldn't "guess" you should understand 15:56:32 Every language but Ada. 15:56:39 every language but sgeolang? 15:57:14 There is no language but Ada and Sgeo is its prophet. 15:57:26 clearly 16:07:33 -!- hagb4rd has joined. 16:09:05 -!- epicmonkey has joined. 16:10:07 fiat lux 16:16:26 it even works. they finally managed to put me back online. i didn't even notice i haven't payed payed my electricity bills for months 16:17:50 maybe because i always pay once a year. but they seemed to change their policy.. and they have good argues 16:21:32 -!- Taneb has joined. 16:30:37 -!- hagb4rd2 has joined. 16:31:08 -!- hagb4rd has quit (Disconnected by services). 16:31:13 -!- hagb4rd2 has changed nick to hagb4rd. 16:41:43 "So, unless first-class modules are something you get excited about, or you need Java interop for something, Scala isn't really worth the effort if you're already using Haskell, except as another excuse for broadening your experience of languages." 16:41:54 First-class modules ARE something I get excited about! 16:42:37 unless you need to work with other people or with existing code, Scala isn't worth the effort 16:42:56 -!- sirdancealot has quit (Ping timeout: 255 seconds). 16:43:13 but a singular Haskell Genius can replace any code or person in O(1) time so it's fine 16:43:49 -!- sirdancealot has joined. 16:44:18 kmc: can a haskell genius replace himself? 16:44:54 in O(0) time 16:45:14 Scala's delimited continuation stuff in and of itself is interesting to me 16:45:19 More-so than a Cont monad 16:46:32 i didn't even know it has that 16:46:41 it also has subtyping 16:46:54 i find subtyping kind of gross, but i don't think it's wrong in principle for someone to find it interesting 16:47:04 or "exciting" in words of the OP 16:47:24 I still haven't grokked the Cont monad. perhaps because I haven't seen it yet used in the wild. 16:48:36 I've been trying to figure out subtyping recently. 16:49:00 I bet it could be really good. 16:49:34 kmc, I think this is utterly awesome https://github.com/urso/embeddedmonads 16:50:23 -!- augur has joined. 16:56:22 shachaf: isn't it great that my org.cups.sid cookie is sent to every other localhost: app i visit? 16:57:03 How many localhost apps is kmc using? 16:57:09 a few 16:57:40 kmc: Cookies are shared between ports? 16:57:47 apparently 16:58:06 I assumed they weren't, like JavaScript cross-domain things aren't. 16:58:10 But I guess I'm wrong. 16:58:18 Are you investigating cupsd? 16:58:18 never assume two Web security rules are consistent 16:58:22 or one rule between browsers 16:58:22 no 16:58:33 i just noticed that the CUPS cookie keeps getting sent to the Django webapp I'm developing 16:58:45 Ah. 16:58:50 * shachaf sighs. 16:59:03 kmc: On the other hand, most people never visit their localhost cups server. 16:59:32 Which means that when you want to try to CSRF it, you can just connect and have it choose the cookie based on time()! 16:59:59 I should report that. 17:00:06 And also the several other issues I've found. 17:00:21 yes 17:00:23 do it 17:00:34 Hmm, I still have a file with various notes in it. 17:01:14 full-disclosure@ 17:01:15 -!- AnotherTest has joined. 17:01:17 the lazy option 17:01:21 hello 17:09:19 Hi. 17:11:20 holsner 17:11:38 Have you considered changing your name to olster? 17:13:44 hi 17:14:11 when I get old I might change it to oldster 17:15:12 getting old is easy 17:15:53 you could move to northern ireland and change it to ulster 17:16:20 isn't ireland full of IRA and terrorists? 17:17:14 isn't IRA terrorists? 17:17:32 Some of them are 17:17:44 Some of them are also "serious" "politicians" 17:18:04 they seem not have enough options for enemies on that island.. so they just get down to kill each other 17:18:50 i mean wan't that a conflict between catholics and protestants? (originally) 17:19:14 i mean, thank god they found a reason 17:20:13 but that's human nature. if there were no problems we would have to invent them 17:20:28 i'm not sure to what degree it's actually a religious conflict and to what degree it's a conflict between two communities who happen to have different religions 17:20:49 isn't it mostly about whether to be part of the UK or not 17:20:58 i guess it's not religious at all 17:21:02 this is a common fallacy though 17:21:04 maybe it was once 17:21:17 americans tend to assume that the arab-israeli conflict is some millenia old religious conflict 17:21:28 they don't understand how much of it dates back only to 1948 17:22:17 -!- DHeadshot has joined. 17:22:33 Um, wut? Not all of us are that stupid. 17:22:40 they fight for jerusalem since the city was founded 17:22:52 and it 17:22:53 We decided it would be pretty cool to oust a bunch of people from their homes and move people of a conflicting religion in, then just sort of leave it and laugh from the sidelines. 17:22:58 Definitely a recipe for success. 17:23:04 TwilightSpockle: i said "tend to" not "all americans believe this only" 17:23:23 (Although really we didn't "oust" them so much as they self-ousted when it was obvious that we fully intended to oust them) 17:26:47 i disagree that it's a 'conflicting religion' though, except in specific cases like the temple mount 17:26:57 jews and muslims live together peacefully in many parts of the world 17:27:02 -!- sebbu2 has joined. 17:27:11 yess.. back then, the reasons for the conflict might have been "constructed" and instrumentalized.. but after all that blood was shed, it is a real conflict.. you can't tell who started it, and maybe you're not even interested since your beloved once got killed by a bomb at breakfast on sunday morning 17:27:15 places where the communities coexist organically rather than one being installed by force and then subjugating the other 17:27:17 -!- sebbu2 has quit (Changing host). 17:27:17 -!- sebbu2 has joined. 17:27:30 hagb4rd: yeah 17:28:02 ah, TwilightSpockle is indeed who I thought it was 17:28:08 "Don't matter who did what to who at this point. Fact is, we went to war, and now there ain't no going back. I mean, shit, it's what war is, you know? Once you in it, you in it. If it's a lie, then we fight on that lie. But we gotta fight." 17:28:42 Who else would I be? 17:28:43 -!- sebbu has quit (Ping timeout: 272 seconds). 17:42:20 -!- hogeyui has quit (Ping timeout: 255 seconds). 17:48:19 -!- sebbu2 has changed nick to sebbu. 17:49:07 -!- azaq23 has joined. 17:49:17 -!- azaq23 has quit (Max SendQ exceeded). 17:51:35 -!- azaq23 has joined. 17:54:42 -!- AnotherTest has quit (Quit: Leaving.). 17:54:52 -!- AnotherTest has joined. 17:55:53 http://t.co/adQRhvXD 18:06:27 -!- hogeyui has joined. 18:07:45 -!- hagb4rd has quit (Ping timeout: 256 seconds). 18:15:40 -!- Bike has joined. 18:23:21 -!- sirdancealot has quit (Ping timeout: 245 seconds). 18:24:08 -!- ais523 has joined. 18:31:32 -!- Nisstyre-laptop has joined. 18:36:48 -!- sirdancealot has joined. 18:44:53 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 18:46:41 kmc: According to W|A, "F/NaN C" is "69 755 K^2/nAn (kelvins squared per nanoan) (with temperatures converted to kelvins)". 18:50:32 (Apparently "an" is a unit of electric current, with 1 An = 0.1602177 A = 0.01602177 emus of current.) 18:50:57 "emus of current"? 18:51:01 Are those the kind that kick? 18:51:11 TwilightSpockle: "unit officially deprecated", sadly. 18:51:25 Damn! 18:51:34 Aren't miles officially deprecated too? 18:51:43 -!- FreeFull has joined. 18:51:57 They can take our furlongs and fortnights, but how DARE they take our emus. 18:52:44 i think we still have fortnights TwilightSpockle...................................... 18:53:12 is emu from cgs? 18:53:16 I think that ellipsis indicates that you paused for a fortnight... 18:53:23 kmc: Apparently so. 18:53:28 "ElectroMagnetic Unit". 18:53:50 "The EMU unit of current, biot (Bi), also known as abampere or emu current, --" 18:53:52 cgs is wacky 18:54:07 cgs units have different dimension from SI units for ostensibly the "same quantity" 18:54:53 something something permittivity of free space something intro physics pass/fail 18:55:02 -!- Phantom_Hoover has joined. 18:55:44 "Furthermore, within CGS, there are several plausible choices of electromagnetic units, leading to different unit "sub-systems", including Gaussian, "ESU", "EMU", and Heaviside–Lorentz. Among these choices, Gaussian units are the most common today, and in fact the phrase "CGS units" is often used to refer specifically to CGS-Gaussian units." 18:55:51 It sounds all very sensible and wise. 18:56:11 yeah i think i mean gaussian cgs 18:56:25 whatever Purcell, Electricity and Magnetism uses 18:56:27 Why do I always use the royal we when describing how my code works, in, say, a comment? 18:56:33 I like the fact that measuring the electric constant doesn't count as an experiment any more. 18:56:39 I am turning into Oleg 18:56:47 Sgeo: common practice in academic writing 18:56:50 Sgeo, why do you expect us to introspect for you? 18:57:14 "We" is somewhat unroyal in any paper with more than one author, though. 18:57:16 -!- stuntaneous has joined. 18:57:36 i usually use either the academic 'we' or imperative statements with no subject ('// frob the woznitzes') 18:57:53 i'll use 'I' when I'm talking specifically about me, rather than a notional reader or executor of the code 18:58:03 what pronoun do a group of royals use to refer to themselves? 18:58:11 so things like "// I couldn't make this work" or "// I have no idea why this is so fucked" 18:58:15 Even if there's just one guy doing all the work, and a couple of bureaucratic supervisors tagging their names on it, there's still nominally a group to talk about. 18:59:35 Phantom_Hoover: Maybe they use the "royal I", then. 18:59:46 oh 18:59:49 didn't think of that 18:59:51 clever 18:59:56 Ha 19:01:44 oh god why am I watching Star Trek bloopers bloopers ruin the magic 19:01:49 Academic "we" = "the author and the reader" 19:01:53 Nothing royal about it. 19:01:57 Um, no? 19:02:01 Academic "we" = the authors. 19:02:19 Or author. 19:02:20 And potentially non-author members of the research team. 19:02:31 I guess "we show that ..." doesn't really work with my interpretation. :-( 19:02:34 Sgeo: http://www.youtube.com/watch?v=KgspzYMdqdc 19:03:19 shachaf: Arguably the reader is such an integral part of the whole publication process, the use of "we show" is justified, in that the reader is also participating "in spirit". (At least if you really like to argue.) 19:03:22 those edits are all i know of tng 19:03:44 i have a... skewed perspective on it 19:04:05 I can't really find any non-W|A sources for the unit "an", the symbol of which is "An". It's not a terribly googleable word. 19:04:29 war comes to long an 19:04:34 Suddenly I'm nostalging for a location in Active Worlds that I have not managed to find in a long time 19:06:42 fizzie: If you do find any, let this guy know: http://www.unc.edu/~rowlett/units/index.html 19:06:58 hmm… an emu is a dekaämpere? 19:07:50 -!- sebbu has quit (Ping timeout: 255 seconds). 19:09:11 ais523: did you spontaneously and from your own free will use a diaeresis on an english word? 19:09:40 boily: You must be new here. (OK, you're not, but the point stands) 19:10:08 boily, man i used to use them all the time 19:10:22 then i changed computer and i couldn't work out how to set the compose key 19:10:23 I mean, the only place I see them are in the New Yorker. 19:10:53 Phantom_Hoover: setxkbmap -option compose:ralt 19:11:08 Phantom_Hoover: don't listen to him. setxkbmap ca -variant multix 19:11:56 -!- monqy has joined. 19:12:01 boily: it's a meme in this channel 19:12:09 to use diareses in every context in which they even remotely fit 19:12:24 although sometimes we forget 19:12:32 äïs523: now I see. 19:12:37 Y'know you're just using the diaeresis MARK, right? Diaereses are there whether you indicate them or not. 19:13:13 äïs̈ 19:13:53 Anyway I use diæreses in English for words like coöperation even outside of this channel. 19:13:57 It's common sense! 19:14:06 I do too. 19:14:24 I have a sign on my cubicle that reads “Noöne appreciates diaeresis marks.” 19:14:27 cmmn sense 19:14:44 TwilightSpockle: that's a good one. 19:14:51 boily: diaeresis marks don't work like that 19:15:07 although come to think of it, shouldn't it be diäeresis? or am I pronouncing it all wrong? 19:15:18 ais523: An abampere (i.e. the emu-cgs biot) of current going around in a circle with a radius of one centimetre produces a macnetic field of 2pi oerjans... I mean, oersteds at the center. 19:15:30 There seems to be no shortage of units, fortunately. 19:16:07 fizzie: except it doesn't, because in order to get current to flow in a circle you need it to use a superconductor, and those act weirdly wrt magnetism, IIRC 19:16:27 the standard experiment is that if you make a coil of superconductor, and put a magnet inside it 19:16:29 it won't fall 19:16:35 because if it did, it would generate an infinite amount of heat 19:17:00 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 19:17:03 ais523: Well there go my plans on destroying the universe :( 19:17:47 (in practice, typically it falls but very slowly, as the magnet itself interferes with the superconductivity) 19:18:18 strangely, I have a hunch that destroying the universe bmayo be easier than hacking egobot. 19:18:38 argh. stupid attributes. c07test 19:19:21 -!- sebbu has joined. 19:19:33 -!- sebbu has quit (Changing host). 19:19:34 -!- sebbu has joined. 19:20:31 i agree with boily 19:21:36 "bmayo" 19:21:43 do you know a tv show whose theme goes like 29219...........29219.6......... 19:21:45 are you sending nonstandard color codes? 19:22:39 ais523: they were working an hour ago in another channel, following weechat's doc. no idea why they insert spurious chars here. 19:22:49 one symbol per beat and number n means C*440*2^(n/12) hz 19:22:53 another test that shouldn't work. 19:22:54 was the other channel on another server? 19:23:03 and was it -c? 19:23:04 yes, and it just worked here. 19:23:15 it is ctrl-c, then c, then a number. 19:23:29 hi monqy 19:23:38 Oops. 19:24:04 so, as I was saying, destroying the universe bmayo be easier than hacking egobot. 19:24:07 AAAAARGH! 19:24:13 bbold 19:24:29 Deewiant: W|A said 1 An = 0.1602177 A, and CRC Handbook says 1 eV = 0.1602177 aJ, it might be relevant. (Still, the handbook doesn't know anything specific about the an, while it does know about biots and emus of current.) 19:24:40 may be easier 19:24:47 quintopia: thanks. 19:25:45 Is this a bad thing to say to a recruiter 19:25:46 "I don't entirely understand why the rsum must be a Word document. I wrote my rsum using LaTeX, and it thus only exists as a LaTeX document and as a .pdf. I can attempt to convert it into Word, but am not entirely sure of the purpose." 19:25:52 -!- Nisstyre-laptop has quit (Quit: Leaving). 19:26:22 Sgeo: some recruiters like word documents because they have automated software to extract practical infos from them. 19:26:48 Hmm, might a converted document break those? 19:27:25 Deewiant: W|A also thinks you can say "1 au of electric current", to mean 6.62362 mA; the "hydrogen atom ground state current". Something that units page also doesn't list. (Although for that there are a few other hits here and there.) 19:27:32 probably. I'm an engineer, not a recruiter. 19:34:55 -!- Nisstyre-laptop has joined. 19:35:47 meh, attached both slopily converted .doc and nicer .pdf 19:35:55 I'm not especially interested in that job anyway 19:36:17 Java, PHP, Perl, and Node.js 19:36:28 Node.js is the only one of those I can see myself tolerating 19:37:00 What about Ada? 19:37:05 I bet there are lots of good Ada jobs. 19:37:31 An "Ada job" must be some kind of a slang term for a sex act. 19:37:43 Searching LinkedIn for Ada gets.... weird results 19:37:48 Health & Wellness - Return to Work Specialist 19:37:52 Building Manager at United Palace NY Cultural Arts Center / Church 19:38:08 There seem to be more Scala jobs than Clojure jobs. I don't know why. 19:38:16 I guess Scala has easier interop with Java? 19:39:07 It's probably a better language. 19:43:27 Java is very nice. I was afraid of its ecosystem, and had to learn the language very fast last year for oncoming projects. 19:43:50 I was reluctant at first, but now it is a very nice asset to know how to code in it. 19:47:18 hm. admitting you like java in this one channel may have been a major social faux pas. 19:47:23 oh well. 19:48:54 too mainstream? 19:49:05 Bike: not pointlessly difficult enough 19:50:17 "Commons backs gay marriage bill" "RBS Investment bank head to quit" "Laundries 'product of harsh Ireland'" 19:50:23 Clearly these headlines are connected 19:52:10 Java is okay, its conceptual basis is pretty clean and simple 19:52:59 they kind of stopped short of building a full language around those ideas 19:53:16 C# is better in this regard 19:55:19 i wouldn't call the language "very nice" but i agree that it's an asset to know it 20:03:24 so i guess you didn't 20:04:29 kmc: nice, in the sense that it is predictable, consistent, and utterly boring. which means that I can get my job done, and not think about it afterwards. 20:04:35 yeah exactly 20:04:44 this is also why businesses like it 20:05:01 for building huge business software, using hundreds of programmers as replaceable parts 20:07:59 I guess my ideal language, the one that I dream of, would be a cross between java and python: statically typed like the first, and sane like the latter. 20:08:38 being statically typed "like java" is pretty far from ideal 20:08:53 covariant arrays, anyone 20:09:06 monqy: what bout "like eiffel" 20:09:17 i've heard things about that 20:09:26 function arguments being covariant right 20:09:45 yeah java's type system is pretty weak sauce 20:10:13 19:58 they treat function arguments as _co_variant 20:10:13 19:58 oh man, dolio's head just about exploded when he learned about that 20:10:16 19:58 tey don't really grok the whole contravariance thing 20:10:18 19:58 How does that work? 20:10:21 19:58 it doesn't 20:10:23 19:58 trust me 20:10:24 -!- Nisstyre-laptop has quit (Quit: Leaving). 20:10:26 yeah that's the quote i heard 20:10:33 oh did elliott paste it to you 20:10:38 probably 20:10:50 you could just join #haskell-lens.......... 20:11:00 i've been considering it 20:11:30 do it 20:11:40 :0 20:11:42 just don't be too loud or edwardk might give you "commit access" 20:12:44 monqy: did you know #-lens once had "more users than #esoteric" 20:12:45 kmc: java's staticity is weak, but I prefer a little bit of challenge to plain perfection. besides, with something stronger like haskell's I'd be way too much distracted doing fun stuff instead of working. 20:13:09 shachaf: i've heard 20:13:53 I cleared my /ignore list for #haskell and the channel has become markedly worse. :-( 20:14:08 oops 20:16:59 -!- AnotherTest has quit (Quit: Leaving.). 20:19:41 how big was it before? 20:20:24 "function arguments are contravariant" is pretty much the whole thing that makes variance work 20:21:01 actually, Java's problem is more being excessively sane, than insufficiently sane 20:21:09 except in the libraries, those are really badly designed in parts 20:21:40 Eiffel allows covariant return and parameter types in overriding methods. This is possible because Eiffel does not require subclasses to be substitutable for superclasses — that is, subclasses are not necessarily subtypes. 20:22:44 I can't think of any use for a covariant parameter to a function 20:22:49 do you have any examples? 20:23:09 I don't know much about Eiffel. 20:23:13 (That was a Wikipedia quote.) 20:23:22 Apparently they do a lot of runtime checks? 20:26:19 -!- oerjan has joined. 20:43:43 @tell zzo38 CodensityAsk reminds me of type MendlerAlgebra f c = forall a. (a -> c) -> f a -> c (except that it's different) 20:43:43 Consider it noted. 20:46:17 Oh god I'm drafting my blog post and it's starting to look like an essay 20:46:27 It's taking paragraphs for me to get to my point :( 20:46:37 :( :( 20:47:12 Hey, I wrote an essay about how Ook! is the only half-decent brainfuck derivative, and published it under a nom de somebody else 20:48:00 nom de phanton hoover? 20:48:23 Precisely 20:48:26 Well 20:48:30 Roughly 20:48:42 photon hover 20:50:10 monqy: should i know things about galois connections 20:50:11 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 20:50:49 -!- Vorpal has joined. 20:51:11 shachaf: i know things about galois connections.........i have my reasons 20:51:19 monqy: what are the things you know 20:51:23 and what are the reasons 20:51:30 and do you know things about adjunctions too?????? 20:51:33 it's a secret 20:51:39 forget i said anything 20:51:42 monqy: no don't make it a secret 20:51:44 what's a galois connection 20:51:45 "tell me instead" 20:54:19 monqy: :'( 20:54:23 why won't you tell me 20:59:43 -!- oerjan has quit (Quit: leaving). 21:01:29 shachaf, you don't want to know 21:01:39 there are some things man were not meant to know 21:02:17 yes i do.......................................................................... 21:02:18 one of those concerns galois connections. 21:02:28 -!- oerjan has joined. 21:02:30 This is a dark secret 21:02:43 oerjan: Do you logread when you disappear for 3 minutes? 21:03:11 yes. 21:03:22 not that i was finished logreading in the first place 21:03:29 Oh. 21:03:32 You shouldn't logread. 21:03:43 "itsbad4u" 21:04:08 there are some things man were not meant to know <-- are you implying that shachaf is not a man? 21:04:26 boily, exactly 21:04:59 boily, he is something far more sinister. And man is pretty sinister to begin with. 21:06:00 I had this hunch that I should be careful around shachaf. he has this malevolent aura around him. 21:06:33 verily 21:08:58 sha256chaf 21:18:17 Ph'nglui mglw'nafh hmac shachaf fhtagn! 21:21:43 boily, noo, you woke up shachaf! 21:26:02 no problem for me. he's far and away. 21:29:09 shachaf will make you learn Ada if you're not careful 21:31:23 I'm armed with a squeaky rubber chicken. that should be enough. 21:40:25 -!- ogrom has joined. 21:41:13 that's not a chicken that's a shoggoth 21:41:46 `rot256 shachaf 21:41:53 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: rot256: not found 21:42:02 (rot256 should totally exist) 21:42:54 > 256 `mod` 26 21:42:56 22 21:43:53 -!- WeThePeople has joined. 21:44:37 Sgeo: No, that's just you. 21:45:02 -!- Phantom_Hoover has joined. 21:45:25 I've recently-ish upgraded this desktubuntu from 12.04 to 12.10, and nowadays running pavucontrol seems to constantly eat a few % of CPU, except sometimes it eats a 100 % of CPU too. 21:45:28 -!- monqy has quit (Quit: hello). 21:45:50 uninstall pulseaudio 21:45:57 Noooo. 21:46:04 install pulseaudio? 21:46:13 It's already installed. 21:46:15 I think. 21:46:29 if neither of those works, I'm out of tips 21:46:50 Maybe I should split the difference and "ninstall" PulseAudio. 21:47:04 -!- Phantom_Hoover has changed nick to Guest50856. 21:47:52 make a script that repeatedly installs and uninstalls pulseaudio, adjust the duty cycle until it works 21:48:43 `ln -s /bin/cat bin/rot256 21:48:46 ln: invalid option -- ' ' \ Try `ln --help' for more information. 21:48:47 `run ln -s /bin/cat bin/rot256 21:48:52 No output. 21:48:59 oh wait 21:49:13 `run ln -s /bin/echo bin/rot256 21:49:15 ln: creating symbolic link `bin/rot256': File exists 21:49:23 `rm bin/rot256 21:49:26 why do I hunger for shoggoth'n'chips now... 21:49:31 No output. 21:49:31 `run ln -s /bin/echo bin/rot256 21:49:37 No output. 21:49:44 `rot256 shachaf 21:49:47 shachaf 21:49:50 Taneb: hth 21:49:53 -!- hagb4rd has joined. 21:50:16 :D 21:56:43 ais523: An abampere (i.e. the emu-cgs biot) of current going around in a circle with a radius of one centimetre produces a macnetic field of 2pi oerjans... I mean, oersteds at the center. <-- WHEE! 21:56:51 * oerjan feels dizzy 22:00:37 -!- Taneb has quit (Quit: Leaving). 22:03:26 so you must have a spin of 1/2 22:03:29 hi oerjan 22:04:18 -!- epicmonkey has quit (Ping timeout: 252 seconds). 22:05:06 is dizzy good? 22:05:13 -!- carado has joined. 22:06:11 * oerjan rotates 360 degrees and suddenly is upside down 22:06:39 well, there are 4pi steradians in a sphere 22:06:44 hagb4rd: I CAN AFFERMI THAT 22:20:01 -!- WeThePeople has quit (Quit: Leaving). 22:20:42 -!- ogrom has quit (Ping timeout: 256 seconds). 22:24:14 god dammit my laptop has started making that occasional clicking sound again _and_ the housemate has started creaking with his chair again. 22:26:24 maybe your laptop is a brick, you don't have a housemate, and you're imagining things 22:26:55 oerjan: try banging on the case near the fan if it's clicking 22:27:00 last time it happened, it helped making sure jqs.exe wasn't running. but it isn't running now. 22:27:01 in my case, a clicking sound means the fan has jammed 22:27:08 ooh... 22:27:32 and banging on the case has a 100% reliability on restarting it (typically with a delay of several seconds) 22:27:41 the fan was already running, alas 22:28:54 in that case it's probably the hard drive, as the only other moving part 22:29:02 and you should take backups ASAP because it may well fail soon 22:29:13 in fact the clicking only happens when the laptop is idle 22:29:15 -!- Zuu has joined. 22:29:23 'phpwm is an Xll window manager using embeded php to manage all events, creating a "scriptable" window manager.' 22:30:10 nope 22:30:30 that's x-ray lima lima, not X11 22:36:17 Bike: are you just refusing to live in a world where this exists? 22:36:24 can't say i blame you 22:36:26 yeah, i do that a lot 22:36:38 i like how "scriptable" is in scare quotes though 22:36:44 heh 22:36:48 "PHPWM User Group (phpwm) on Twitter" oh 22:37:18 wait, this is west midlands, not window manager. 22:37:37 oh dear, I'm in the west midlands 22:37:44 huh, google has two different php-related things before it has the window manager 22:39:16 if the window manager is only third worst, I don't want to know what the other two are 22:39:45 -!- sirdancealot has quit (Ping timeout: 256 seconds). 22:39:49 a user group and a website manager 22:40:00 php has users!? *gasp* 22:40:20 there's actually a php user behind ais523 right now DON'T LOOK 22:40:24 olsner: it's not surprising that it has users 22:40:28 Bike: why can't I look? 22:40:35 also there wouldn't be much room for a PHP user behind me 22:40:43 my back isn't literally to the wall, but it's quite close to it 22:40:50 he's actually outside 22:41:15 you can't look because there's a wall there, you can't see through walls 22:56:28 * ais523 notices that Bike assumed it was an exterior wall, even though the sentences he stated don't technically assume that 22:58:20 presumably if you go through enough walls you'll get to outside 22:58:36 unless you're in some kind of toroidial installation 22:58:39 are you? 23:01:36 Bike, ah, but in that case the floor eventually becomes a wall 23:01:37 even if you were in a toroidal installation, you'd still get to outside if you went in a straight line backwards 23:01:47 at least because of the curvature of the earth 23:02:38 maybe if he's on the event horizon of a black hole 23:02:44 whoah 23:02:50 why am i Guest50856 23:02:57 Guest50856: backwards still exists then 23:02:57 i think it's clear enough that i want to follow the floor when i'm talking about a building, and the PHP developers not therein 23:03:02 it's just impossible for anything to move in that direction 23:03:19 -!- Guest50856 has quit (Changing host). 23:03:19 -!- Guest50856 has joined. 23:03:26 -!- Guest50856 has changed nick to Phantom_Hoover. 23:03:26 nice job! 23:03:44 hmm, your username is "phantomho" 23:04:08 ais523, at the event horizon a straight line tangent to the surface is a circle around the event horizon. 23:04:10 I think. 23:04:40 Phantom_Hoover: I don't think black holes actually change geometry like that 23:04:51 at the event horizon, something going at the speed of light away from the black hole doesn't move at all 23:05:00 er 23:05:08 changing the geometry is the /entire point/ 23:05:40 at the event horizon, a lightlike curve tangent to the horizon is circular 23:05:56 -!- Frooxius has quit (Read error: Connection reset by peer). 23:05:59 oh wait! no it isn't 23:06:16 that actually happens a way outside the event horizon 23:06:42 yeah, the position at which light would orbit the black hole is going to be some way away from the event horizon 23:06:45 between there and the event horizon you can't orbit 23:06:47 at the event horizon, it falls in 23:07:22 anyway, point is, since something something geodesics the php advocate could well be in front of you 23:08:17 ^style lovecraft 23:08:17 Selected style: lovecraft (H. P. Lovecraft's writings) 23:08:21 indeed, you could well be the php advocate 23:08:32 fungot: what do you have to say about time traveling php advocates? 23:08:32 oerjan: the next logical move was to get to the innermost recesses of the olive grove and the fnord of the 23:08:59 fungot: i was thinking maybe something more non-euclidean 23:09:00 oerjan: " that refinery, though, it was to discover myself half sucked into a slimy expanse of hellish black fnord which extended about me in monotonous undulations as far as practicable. this, he guessed, was the 23:09:13 much better. 23:09:18 fungot: what do you think about Xll? 23:09:20 olsner: made of the original fragment during the work. the next day i carefully wrapped the green jade amulet and sailed for holland. what mercy i might gain by returning the thing to any ordinary or expected transportation route. his final idea was to have been the neighboring abyss which received the greatest fnord could have reproduced each subtle fnord and mental complexity they would have been the singular cold that aliena 23:09:27 -!- Frooxius has joined. 23:15:02 fungot: say something insightful 23:15:02 shachaf: i did not open my eyes until the raucous clamour came loudly from a point as remote as new york, which joined on near 1830. there were hideous screams in the woods. he could turn and move and leap he could he would he would. 23:15:10 fungot: say something witty 23:15:10 shachaf: i felt a chill which was not of the dead 23:15:15 ^style 23:15:15 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft* nethack pa qwantz sms speeches ss wp youtube 23:17:41 fungot: say something scary 23:17:42 shachaf: the ground sloped upward to the east and see the arched flight of steps or its fnord. 23:18:12 ^style alice 23:18:13 Selected style: alice (Books by Lewis Carroll) 23:18:24 fungot: say something blasphemous 23:18:24 shachaf: " i should think it did go! why, i do believe,' said humpty dumpty, ' and i'm nearly sure they can't see me. 23:18:29 fungot, bizarre math joke? 23:18:30 Bike: one winter night, at half-past nine, cold, tired, and cross, and muddy, i had gone down upon one knee to help the fnord but much yet remains to be said. 23:18:47 fungot: stop saying fnord............... 23:18:47 shachaf: they gazed in delight, while the great fnord of fnord and fnord his eyes. " isn't he kind, mister sir?" 23:19:01 fungot................................................. 23:19:01 shachaf: but when she saw him fnord and fnord. and then there's the fnord, as well as fnord reading sauce with fish, or fnord, that alice quite fnord for it hadn't spoken before. 23:19:15 -!- DHeadshot has quit (Read error: Connection reset by peer). 23:19:21 fizzie: Could you disable the fnords? 23:20:07 Well, yes; in fact, I don't think the VariKN-trained models even have them. 23:20:10 -!- DHeadshot has joined. 23:20:37 ^style iwcs 23:20:37 Selected style: iwcs (Irregular Webcomic scripts) 23:20:45 Oh. 23:20:46 I like the fnords 23:20:50 i don't want a webcomic!! 23:20:52 pining for the fnords, as it were 23:20:57 fungot: Don't be a webcomic. 23:20:58 fizzie: my name is dr. montana, sir. 23:20:58 unless its super mega 23:21:06 can we have super mega comics 23:21:09 in fungot 23:21:09 shachaf: on the way, myth, god created the universe, a better universe! we choose only die fittest people of nigeria! 23:21:11 fungot: pine for the fnords will you 23:21:11 fungot: /nick dr. montana, sir. 23:21:11 olsner: no, the boy, do you?! i'm insulted! 23:21:11 fizzie: a bit of a noble way of the most secure and well-guarded buildings in the world, we should at a time like a good spot of tea, then, why? 23:21:29 fungot: FNORDS 23:21:30 olsner: ha! i fight the hippo, sea dog, and the bug to get the snakes, and 9... we only had ter put down 10%, not nothing. this isn't the time or place, but it has given me a splitting the profits for the nigerian government a charity? people! a wooden look, there's the mighty hunting creature! it's killed kyros and lambert, a travelling merchant, practised with bow, can i do to help, i meant! translation: the doors of the vati 23:22:04 The 'alice' style is perhaps a bit overly prone to fnords due to the large number of unique words. 23:22:49 ^style speeches 23:22:49 Selected style: speeches (misc. speeches from Project Gutenberg) 23:22:53 what's the idea with the fnords? 23:23:13 fungot: can we have some churchill 23:23:16 shachaf: that is what it has cost us fnord or worldly fnord is our reward that we can give nothing to the mass, that, if we do repel you by some wrong principle or practice. if we were to have indian budgets and indian estimates, if we pass this bill, and those not a few, or of the greatest names which ever distinguished the history of london, had not yet been taken down. we repaired and embellished the car under the wheels of 23:24:01 olsner: All words with very few occurrences (in this case, occurring only once, I think) have been replaced with a single token "UNK"; it's a reasonably standard thing to do in language models. 23:24:43 to make the model smaller and easier to work with? 23:24:45 Of course it really only makes sense if the model is used to compute sentence likelihoods or what-have-you. 23:25:29 Yes, and anyway there wouldn't be enough ngrams where those words occur to get any particularly reasonable statistics for them either. 23:25:59 It's just that in the generative mode, it has to replace that token with *something*. 23:26:17 you should use the phrase "hapax legomenon" because that's a good phrase 23:26:54 -!- boily has quit (Quit: Poulet!). 23:27:54 `addquote but when she saw him fnord and fnord. and then there's the fnord, as well as fnord reading sauce with fish, or fnord, that alice quite fnord for it hadn't spoken before. 23:27:56 olsner: " therefore it is, that those motives to which mr mill pronounces to be a murderer merely for his pleasure. the passages in which the manufacturers of england are distinguishing. they hear these men speak broad. their tongue betrays them. their language had needed fnord for a debt, and of all christian sects the roman catholic clergy. had he permitted me to say what thought is meant to answer in favour of bringing about 23:27:58 953) but when she saw him fnord and fnord. and then there's the fnord, as well as fnord reading sauce with fish, or fnord, that alice quite fnord for it hadn't spoken before. 23:29:26 Given that it's not possible for the model to see any unseen data, by definition, since it's not going to see any data at all, I could just drop everything that mentions the UNK. (Or for the small datasets, perhaps just build full vocabularies, though I suppose that might end up adding to the amount of verbatim quoting, since any occurs-only-once word would automatically force repetition of ... 23:29:32 ... whatever followed it until it drops out of the context.) 23:29:52 fungot: tell me about monoids 23:29:52 shachaf: while our historians are practising all the arts of civil life. at the siege of jerusalem on a far shore i smoothed with tender hand, through months of pain, the sleepless bed of hyde: 23:29:59 ^style 23:29:59 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack pa qwantz sms speeches* ss wp youtube 23:30:27 fungot: gimme some meaningless platitudes 23:30:28 shachaf: mr. morley: then let me assure him, perhaps the most hardly treated. in november 1660, he was cheered and refreshed, and soothed, and asked him where he was treated excited the murmurs of the sea: who is now a large body of men who honor and appreciate your pilgrim stock as much as the classical feast with which the aristocrats were now treated, and to all the dignity and fnord with mystic awe: the proud sultana of the 23:30:48 fungot: cheer me up 23:31:41 shachaf, why shachaf sad 23:31:48 * Sgeo wonders if CyberCoders is a bad idea or whether he should continue to try to find jobs through it 23:31:56 fungot: did i talk too much :'( 23:31:58 shachaf: memoirs, popularity of, as a lexicographer, been under the necessity of education, not presuming to dictate any plan or system respecting it, i do verily believe i have been the true construction of his answer, if sincere, as frederick of prussia answered, pour fnord fnord de fnord occupy a large space in his works have an individuality of character which seems to have hated democracy only because he had not more time 23:32:09 fungot: treat me the murmurs of the sea 23:32:10 olsner: " thus much in general as such, shall not govern himself? when the white man: you are certain there is going to be in his place in this assembly. he said that his son couldn't tell a lie! but he never had any chance. it might be said that it was only because events had proved, in the discussion on affairs in fnord who wants to pay more regard to one poor man than to the true statesman. he thinks of the place was open, i 23:32:26 too long! 23:32:33 Anyway, I've farmed the model training to varigram_kn these days; it does automatic pruning (and has options for both "drop all words with less than ndrop occurances" as well as "remove n-grams containing OOV words"), so the fnords shouldn't be much of a problem. 23:33:01 I should really take the backoff weights into account some day, though. 23:38:53 Also, I wonder if there are any actually forced (as opposed to just highly probable) loops in any of the styles. From what I recall, e.g. the infamous sword that alone can't stop isn't really an unescapable one. 23:39:14 `quote sword 23:39:16 No output. 23:39:20 ^style ct 23:39:20 Selected style: ct (Chrono Trigger game script) 23:39:27 fungot: So how about them swords? 23:39:27 fizzie: as long as you keep crono in your heart, the day of lavos"... go to " leene square" 1000 a.d.? yes, i'd have done something very brave! he's probably up north, to guardia!!! let's toast our land! now we'll have some peace! magus is a tad on the spooky side. our only hope. 23:39:38 fungot: swords swords swords 23:39:38 olsner: yes, it's been awhile prometheus! by the way, the wings! now this is a treasure there... found the treasure!! probably filled with mystical forest powers are being drained. why not? then you should leave quickly! 23:39:50 Magus: a tad on the spooky side, yet our only hope. 23:41:10 "The toothpaste provided to soldiers at most military bases in America contains extremely high levels of guns-- but little to no actual toothpaste." 23:41:24 guns for gums 23:41:55 the guns shoot the bacteria 23:43:04 -!- WeThePeople has joined. 23:44:30 hi Phantom_Hoover 23:44:48 i heard you didn't actually write phantom-hoover.tumblr.com..................... 23:44:51 is it true........ 23:44:58 no 23:45:20 Oh. 23:45:33 I think he used a ghostwriter 23:47:26 -!- sebbu has quit (Ping timeout: 272 seconds). 2013-02-06: 00:01:54 > 2**57885161 00:01:56 Infinity 00:12:11 -!- WeThePeople has quit (Quit: Leaving). 00:12:47 -!- WeThePeople has joined. 00:15:18 maybe PHP has a feature where it automatically converts l to 1 and O to 0 00:15:52 10+1 is probably ll in php 00:16:07 -!- augur has quit (Remote host closed the connection). 00:16:38 shachaf: is there some secret signal in the number of dots after each message 00:16:52 kmc: Ask monqy. 00:17:29 We were talking about putting 3 21-bit codepoints in every 64-bit word, and using the last bit to encode secret messages. 00:17:44 Ah, good ol' UTF-31. 00:17:46 Erm 00:17:47 UTF-63 00:17:53 UCS-2.625 00:18:14 :D 00:18:14 I have a version of "text" that actually uses this encoding. 00:18:17 It passes a lot of the tests. 00:18:18 parity bit obv. 00:21:18 I think I saw someone implement binary literals in C with something like #define _I )*2+1 #define _O )*2 #define B8(x) (((((((((0 x) so that B8(_I _O _O _O _I _O _O _O) turns into (((((((((0)*2+1)*2)*2)*2)*2+1)*2)*2)*2) aka 136. 00:22:19 too bad C doesn't have 0b00110 literals 00:23:42 Fortunately, the preprocessor provides clearly an almost-as-nice replacement. 00:23:51 It'd be a *lot* nicer. 00:23:56 c++11 has some stuff that allows you to write e.g. 00110_b if you define an operator"" _b to convert the literal 00:24:02 (GCC of course has 0b010100 as an extension.) 00:24:50 fizzie: haha 00:25:34 Pity that's not ISO. 00:26:33 If you want to be fancy, you can extend the above B8 macro by defining _OOOO, _OOOI, _OOIO, ..., _IIII and then you can have a nicely grouped B8(_IIOI _OOII). 00:27:03 Or you could just define 256 macros. 00:27:27 Or 4294967296, for B32(). 00:27:37 Meh, define 2^64. 00:28:15 You could define B32(a, b, c, d), though, with 256 macros. 00:28:30 I guess you could do that anyway. Bu1 31 ,s is much more annoying than 4. 00:31:22 You can define a B32(a b c d) with 256 macros too, and then there are no commas. 00:31:59 Though you still need whitespace, so it doesn't really save much. 00:33:22 -!- carado has quit (Ping timeout: 246 seconds). 00:43:42 fizzie: aren't hex literals good enough 00:44:24 what's "good enough" 00:44:32 good enough is good enough 00:45:20 For representing bit patterns 00:45:42 not really 00:46:11 annoying when you're programming control registers with bitfields that don't align with nybble boundaries 00:46:12 You can't see THE PATTERNS if it's in hex. 00:46:24 for representing nybble patterns 00:46:53 When I see, say, E, that goes straight into 1110 in my head 00:47:20 it's not you, it's the E talking 00:47:40 Exactly 00:47:43 FreeFull: If you see a bitmap image in hex, does it appear as visually as it would when it were 0s and 1s? 00:47:45 All you have to do is just listen 00:48:00 fizzie: Is it a 1-bit bitmap? 00:48:14 Because for 256-colour or more, hex works better than binary =P 00:48:18 FreeFull: and what of people who lack this power? I guess the true C programmer answer is that they're just drooling idiots who should never be let near a computer 00:48:29 I guess it's good for 16 colour too 00:48:33 FreeFull: It's a bitmap, of course it's 1-bit. 00:49:08 It's not a pixmap or whatnot. 00:49:26 tritmap 00:49:38 balanced tritmap 00:50:00 1 is light, 0 is nothing, T is antilight 00:50:30 Reverse the polarity on the laser! 00:50:57 Of course you can always #define B8(x) ((x&1)|((x>>2)&2)|((x>>4)&4)|...) and then use B8(001101100) for binary literals. (Better not forget the leading 0!) 00:51:42 quick FreeFull what's the 19th bit of 783F5A4DC562465554807AD8C45D2863 00:51:58 least or most significant? 00:52:06 kmc: 0 00:52:08 middle most significant 00:52:16 I assumed from the left for some reason 00:52:19 kmc: Which base? :) 00:52:19 imo 7 00:52:19 Let me do it from the right 00:52:22 -!- sirdancealot7 has joined. 00:52:43 quick kmc what's the 19th bit of 1111000001111110101101001001101110001010110001001000110010101010101010010000000011110101101100011000100010111010010100001100011 00:52:45 0 too 00:52:57 shachaf: 1 00:53:01 I mean for kmc's 00:53:01 it's a 1 00:53:12 Wait, do you count the 0th bit too 00:53:21 If you count the 0th, it's 1 00:54:40 Are we *conclusive* that it's either 0 or 1? 00:54:45 No other options? 00:54:58 It might be a 2. 00:55:08 > "1111000001111110101101001001101110001010110001001000110010101010101010010000000011110101101100011000100010111010010100001100011" !! 19 00:55:10 '1' 00:55:13 OK, this is getting to be too much to keep track of. 00:55:25 shachaf: the committee votes compromise, the bit will be 0.5 00:55:32 kmc: That's from the left though 00:55:37 > reverse "1111000001111110101101001001101110001010110001001000110010101010101010010000000011110101101100011000100010111010010100001100011" !! 19 00:55:39 '1' 00:55:42 > preview (base 2) "1111000001111110101101001001101110001010110001001000110010101010101010010000000011110101101100011000100010111010010100001100011" <&> view (bitAt 19) 00:55:45 Just True 00:55:45 * pikhq prefers base -1 00:55:50 Answer: True 00:56:01 > preview (base 2) "783F5A4DC562465554807AD8C45D2863" <&> view (bitAt 19) 00:56:03 Nothing 00:56:12 > preview (base 16) "783F5A4DC562465554807AD8C45D2863" <&> view (bitAt 19) 00:56:14 Just True 00:56:21 Hmm, you said 19th bit, not bit 19. 00:56:27 > preview (base 16) "783F5A4DC562465554807AD8C45D2863" <&> view (bitAt 18) 00:56:29 Just True 00:56:31 :t (<&>) 00:56:32 Functor f => f a -> (a -> b) -> f b 00:56:34 flip fmap 00:56:38 oh 00:56:46 :t preview 00:56:47 MonadReader s m => Getting (First a) s t a b -> m (Maybe a) 00:56:59 stab 00:57:29 Oh, much better: 00:57:30 > "783F5A4DC562465554807AD8C45D2863" ^? base 16.bitAt 18 00:57:32 Just True 00:57:39 * shachaf = silly 00:57:52 @ty \x -> preview (base 16.bitAt 18) x 00:57:54 [Char] -> Maybe Bool 00:58:58 Bike: admit that's kind of nice!!!! 00:59:24 > [1..4] . (+1) 00:59:26 Couldn't match expected type `a0 -> b0' with actual type `[t0]' 00:59:35 :t (.) 00:59:37 Functor f => (a -> b) -> f a -> f b 00:59:48 > (+1) . [1..4] 00:59:51 [2,3,4,5] 01:00:08 * shachaf sighs. 01:00:45 :t (+1) 01:00:47 Num a => a -> a 01:01:08 :t (^?) 01:01:09 s -> Getting (First a) s t a b -> Maybe a 01:01:39 @quote s\s?t\s?a\s?b 01:01:39 kmc says: The actual pattern is that you *first* do a breathlessly excited post about how Haskell is ninja pirate awesome because quicksort is so short, and it has closures, and you're going to 01:01:39 learn Haskell and write all your software in Haskell... then a week later you do the bitter "debunking" post. Monads are hard and Maybe isn't any different from Java's null and I was promised a pony, 01:01:39 where's my pony 01:01:45 Hmm. 01:02:16 @quote s(\s?)t\1a\1b 01:02:16 quicksilver says: i love them. Double is my friend You think he is, sure he says nice things about you but one day, when your back is turned, he 01:02:16 will stab you in the back with a mantissa 01:02:21 @quote s(\s?)t\1a\1b 01:02:21 sebazzz says: y venden bulks y esas mierdas bulks llenos de pastabase 01:02:24 @quote s(\s?)t\1a\1b 01:02:25 sioraiocht says: if you made a type class the same name as a type, I'd stab you in the face 01:02:30 And the quicksort is fake 01:03:10 people sure do like debunking ponies 01:04:08 they're not baby horses at all 01:04:09 wake up sheeple 01:04:22 you just think they're cute because they're small 01:04:28 but actually they're expensive and they shit everywhere 01:04:40 cockroaches are both small and cheap 01:04:40 it's weird how people don't realize how much shit animals actually involve 01:06:06 kmc: "they shit everywhere" is in general applicable to most animals 01:06:43 Bike: A good estimate is to take the amount you yourself shit and multiply that by a thousand 01:07:00 yes but people don't realize it! it's baffling. where do you think all that mass goes, people 01:08:56 what animal shits the most compared to its body weight 01:09:09 maybe pandas 01:09:12 the one that eats the most compared to its body weight 01:09:14 most probably 01:09:23 kmc: I'm thinking definitely some herbivore 01:09:27 but kmc pandas are fat and useless 01:09:38 exactly 01:09:38 i'm sure there are some svelte and useless animals 01:09:42 pandas have horrible digestive systems and eat bamboo which has almost no nutritious value 01:09:47 kmc, 01:09:48 kmc 01:09:49 kmc 01:09:52 Phantom_Hoover 01:09:54 you don't need to impress upon me 01:10:01 how shit pandas are 01:10:06 they're the swedes of the animal kingdom 01:10:13 -!- NihilistDandy has joined. 01:10:19 'Shrews typically eat 80–90% of their own body weight in food daily.[citation needed]' 01:10:32 i should get a shrew, video tape it for 24 hours, and upload that to wikipedia 01:10:35 but that would be original research :( 01:10:59 also not very rigorous. 01:14:51 Homebrew have now raised £5,176 to buy a Mac Mini 01:19:25 homebrew? 01:20:02 Did they fix the -k yet? 01:24:42 Phantom_Hoover: http://mxcl.github.com/homebrew/ 01:24:53 shachaf: yes, they merged my pull request 01:25:00 People nearby are talking about the key ingredients of a successful startup. 01:25:12 It seems that you need a hacker, a hipster, and a hustler. 01:25:24 it's mostly about what kind of coffee you serve 01:25:32 shachaf: that's probably not enough by itself 01:25:42 preferably you would raise a $250k - $500k angel round and put that all into an espresso machine 01:25:46 especially as you might have trouble getting them to work together 01:26:06 that's what the coffee's for 01:26:21 kmc: Good point. 01:26:23 a hustler? 01:26:29 if you don't have top coffee you can't attract top people 01:26:29 like a conman? 01:26:32 or uh, conperson 01:26:36 and no matter what you're doing, you need olympic-class rockstars to do it 01:26:55 do you ever feel bad about how badly treated olympic athletes can be 01:26:57 heavy metal is not yet a sport recognized by the IOC 01:27:03 Yes, rock stars have come up. 01:27:08 Bike, 01:27:09 no 01:27:12 because sports are bad 01:27:18 you're bad 01:27:19 Bike: but for a week every 4 years they get to live in the olympic village and have sex nonstop 01:27:20 wait 01:27:26 fencing is an olympic sport shit 01:27:28 kmc: haha 01:27:52 also did you know that one of the olympic committee chairpeople was an actual nazi sympathizer back in the 50s or 60s 01:27:55 good times 01:28:03 -!- DHeadshot has quit (Read error: Connection reset by peer). 01:28:04 olympics is hipster to mainstream american sports 01:28:06 i remember reading about that 01:28:19 he did some ridiculous things but i don't remember what 01:28:19 (portlandia did it) 01:28:23 Bike: great 01:28:27 nazis everywhere 01:28:32 clowns to the left of me, nazis to the right 01:28:42 -!- makadon has joined. 01:28:45 here i am, stuck in the middle with jew 01:28:57 -!- DHeadshot has joined. 01:29:06 http://en.wikipedia.org/wiki/1968_Olympics_Black_Power_salute ~ 01:29:10 * kmc cuts off Phantom_Hoover's ear 01:29:24 careful now 01:29:26 now they're talking about "the dunning-kruger effect" 01:29:30 huh he was in the 1912 olympics 01:29:31 that's the sort of thing that starts wars 01:29:34 empirical studies, man!! 01:29:51 sometimes i think psychology research should be written in code 01:29:55 shachaf: what about it 01:30:31 Maybe I shouldn't treat them as Internet people. 01:31:08 -!- stuntaneous has quit (Ping timeout: 255 seconds). 01:31:24 who are these peole 01:33:48 -!- sebbu has joined. 01:33:48 -!- sebbu has quit (Changing host). 01:33:48 -!- sebbu has joined. 01:35:14 shachaf: I feel kind of silly because I just realized that http://mxcl.github.com/homebrew/ is only available over unencrypted HTTP 01:35:35 :O 01:35:48 but grabbing the ruby script over HTTPS is still an improvement 01:36:12 sorry i'm not completely grounded here 01:36:22 do you like these people 01:36:28 homebrew? 01:37:04 yes 01:37:06 i don't have any use for their software personally 01:37:21 but a lot of developers who use macs more or less rely on it 01:37:53 right 01:37:57 night 01:38:00 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:38:50 i think they don't care much about security, and the sophistication of their packaging tools is like 1998 in Debian years 01:39:44 "Entreprenurship is not a job, it's a calling, it's a mission from God. This is what you have to do." 01:39:46 -!- NihilistDandy has quit (Quit: Textual IRC Client: www.textualapp.com). 01:40:01 "God" here means "Paul Graham" right? 01:41:07 there's a guy in #lisp who says "I worship Paul Graham" verbatim. it's frightening 01:41:23 i thought lispies generally weren't huge fans 01:41:30 at least, I have the impression that On Lisp is a controversial book 01:41:34 it is 01:41:38 this guy is a noob 01:41:49 he really really really likes macros even for things where they are horribly unnecessary 01:41:50 it's just weird to see someone literally say that 01:41:59 Bike: is it an "i love paul graham, it's so easy" kind of situation 01:42:09 @protontorpedo 01:42:09 so why would one prefer haskell to say clisp or smalltalk? 01:42:13 @protontorpedo 01:42:14 is it fun to program in haskell? 01:42:16 Hmm. 01:42:22 no it's an "i love paul graham he's a billionaire and this guy criticizing him doesn't even have a wikipedia why should i care?? welcome to /ignore fucker" situation 01:42:47 haskell/12.12.18:04:52:19 paul graham said that lisp is the most powerful language, and that all other languages are blub 01:43:00 i really hope he's like twenty at most 01:43:14 well if he's twenty and a follower of PG then he has already started at least 3 startups 01:43:28 :( 01:44:03 haskell/13.01.04:11:49:53 I've just made a profound discovery 01:44:04 haskell/13.01.04:11:50:13 both water and air are monoids :D 01:44:04 haskell/13.01.04:11:51:26 maybe ice isn't a monoid though 01:44:04 haskell/13.01.04:11:52:06 maybe the vacuum of space 01:44:28 profound indeed, sir 01:44:31 say what you will about finance industry, at least people admit that they're amoral profit-seekers 01:44:55 ehhhhh "job creators" 01:45:48 i guess 01:46:41 maybe it's just that startup doofuses have no discernable impact on the world other than zuckerberg selling things to the real big companies, versus bankers who well 01:47:08 yeah i think the bankers have a larger negative real effect on society 01:47:22 but the attitude of the startup bubblers may be more socially contemptible 01:47:34 acting like you're saving the world by making useless crap to enrich highly privileged people 01:48:22 right, but at most it's just irritating to people like me who run into them on the web sometimes, which isn't so bad 01:48:59 yeah 01:49:03 in the end it's just idle whining 01:51:04 -!- makadon has changed nick to stuntaneous. 01:51:14 -!- WeThePeople has quit (Quit: Leaving). 01:51:32 Maybe it's better than doing nothing. 01:53:19 idle whining is? 01:53:41 you still didn't answer about where you are that you have to listen these people, and thus how i should update my desire or lack thereof to move to SF 01:54:35 I'm not in SF. 01:55:06 EPA? 01:57:55 Also not. 02:01:13 we're playing the guessing game i guess 02:01:24 how far is the nearest caltrain stop 02:01:51 5 minutes' walk? 02:03:38 git bisect gilroy sf 02:04:15 is that stop Palo Alto 02:04:21 I'm in Mountain View. 02:04:23 sorry I mean, is it Palo Alto or north of 02:04:26 spoilsport 02:04:39 are you going to join this mission from god startup 02:05:12 Now I feel bad about quoting them. 02:05:27 ok 02:05:43 Also they're gone. 02:08:16 ok 02:08:27 did you agree to be their technical confounder 02:09:08 I'm not good at confounding. :-( 02:09:12 monqy is pretty good at it. 02:09:17 "something about galois connections" 02:09:54 confound their politics, frustrate their knavish tricks 02:10:29 kmc: how's your startup doing 02:10:35 doing pretty well 02:11:32 nobody has particularly suggested that we're saving the world 02:11:32 the foremost social media platform for complaining about social media platforms 02:11:40 isn't that IRC 02:11:47 Not when you're done with it! 02:11:50 is that not what you're retroactively designing 02:12:48 -!- ais523 has quit. 02:21:05 see what you did by speaking about retroactive design 02:21:28 ~_~ 02:22:54 -!- WeThePeople has joined. 02:32:52 -!- DHeadshot has quit (Read error: Connection reset by peer). 02:32:58 -!- DH____ has joined. 02:38:26 -!- WeThePeople has quit (Quit: Leaving). 02:41:47 shachaf: i have one problem left on cryptopuzzles part deux 02:43:16 What's part deux? 02:43:22 The second set? 02:45:12 yes 02:48:06 "There are various definitions for adjoint functors. Their equivalence is elementary but not at all trivial and in fact highly useful. This article provides several such definitions:" 02:48:15 Maybe people just confuse "trivial" with "elementary"? 02:51:02 -!- monqy has joined. 02:52:31 hi monqy 02:52:37 hi shachaf 02:52:52 is something 'up' 02:52:55 i have yet to find any ties between you and Galois, Inc. 02:53:00 but i'm sure there's something 02:53:05 good luck 02:54:12 Galois Connection would be a good name for a conspiracy thriller 02:56:53 monqy: ok "change of topic" 02:56:57 do you know things about adjunctions 02:57:28 no but i plan to remedy this soon 02:57:51 where soon means 'idk maybe in a few months' 02:58:06 i have categories for the working mathematician now but do i have time to read it???? the eternal question 02:58:22 monqy: do you know about "kan extensions" 02:59:23 monqy: (and have you read http://www.cs.ox.ac.uk/ralf.hinze/Kan.pdf help) 02:59:47 (actually it looks "pretty readable for someone like me who doesn't know that much about the topic") 02:59:58 (and it has nice diagrams) 03:00:22 (and apparently tomorrow there's going to be a categories and types meeting about it?? help) 03:00:34 (i think i'll go and be clueless) 03:00:44 i haven't read it but i'm thinking maybe i will? sometime??? 03:01:13 did you see "the pretty pictures" 03:03:41 yes 03:05:08 -!- augur has joined. 03:05:47 -!- augur has quit (Read error: Connection reset by peer). 03:05:53 -!- augur has joined. 03:10:43 `fueue ):[)$$6-%0~~[$~])~[)$~~~%~~)[[0[33 H])[)[H]]!][1)[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)$$6-%0[)[))$11~<<~:(~:< ]])[~~~)*[)~(:+~~-)+1]---256%):] ]~:] ]]])] ] [5[5][[50]<:[[52]<:]][[54]<:[[56]<:]]] 03:10:45 54321 03:10:51 yay! 03:11:12 "The latest results show that lightning-strength jolts of electricity can more than double the yield of certain mushroom species compared with conventional cultivation methods." 03:14:50 `fueue ):[)$$6-%0~~[$~])~[)$~~~%~~)[[0[33 H])[)[64 H]]!][1)[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)$$7--1[)[))$11~<<~:(~:< ]])[~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:] ]~:] ]]])] ] [250[250][[50]<:[[52]<:]][[54]<:[[56]<:]]] 03:14:51 250251252253254255@ 03:15:23 ok [.-] and [.+] loops work from the inside 03:22:58 `fueue ):[)$$6-%0~~[$~])~[)$~~~%~~)[[0[33 H])[)[64 H]]!][1)[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)$$7--1[)[))$11~<<~:(~:< ]])[~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]32 ]~:] ]]])] ] [250[250][[50]<:[[52]<:]][[54]<:[[56]<:]]] 03:22:59 250 251 252 253 254 255 @ 03:26:45 `fueue ):[)$$6-%0~~[$~])~[)$~~~%~~)[[0[33 H])[)[64 H]]!][1)[)$%0[)[))$11~<<~:(~:< ]])[):] ]]])] ] [65[65][[50]<:[[52]<:]][[54]<:[[56]<:]]] 03:26:47 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 03:27:40 `oerjan 03:27:41 `fueue ):[65 ):] 03:27:42 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: oerjan: not found 03:27:42 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 03:27:53 `run echo AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA > bin/oerjan; chmod +x bin/oerjan 03:27:56 No output. 03:28:25 sometimes i am happy shachaf is on another continent. 03:35:03 `run perl -e 'print "A" x 350' 03:35:04 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 03:35:33 `file /home/hackbot/hackbot.hg/multibot_cmds/lib/limits 03:35:34 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: Bourne-Again shell script text executable 03:35:38 `cat /home/hackbot/hackbot.hg/multibot_cmds/lib/limits 03:35:39 ​#!/bin/bash \ ulimit -f 10240 \ ulimit -l 0 \ ulimit -u 128 \ exec -- "$@" 03:35:46 libmits 03:35:56 libmitts 03:36:07 insert very topical and relevant mitt romney joke 03:37:40 tropical and elephant 03:42:12 You know the thing where ESC O m inserts a -? 03:42:15 That's awful. 03:50:08 i don't know that thing 03:51:16 Hmm. 03:51:24 I think it's vim expecting me to have a really slow terminal. 03:51:26 -!- Arc_Koen has quit (Quit: Arc_Koen). 03:51:27 do you mean as a terminal control code? 03:51:30 Yes. 03:51:42 Do you not get that in vim? 03:51:45 * kmc consults good old ctlseqs.txt.gz 03:51:51 I vaguely remember that there's a configuration option to turn that off. 03:52:21 i still don't follow -- if you hit Esc, then O, then m, you get a -? 03:52:21 ESC O Single Shift Select of G3 Character Set (SS3 is 0x8f). This affects next character only. 03:52:25 right 03:52:31 so what do you do to make vim print one of these? 03:52:47 Print? 03:52:54 I press Esc, it "goes out of insert mode". 03:53:02 Then I press O to open a new line above the current one. 03:53:07 Then I press m. 03:53:12 And it inserts a - instea.d 03:53:21 (And doesn't make the new line.) 03:53:21 i've not seen that happen 03:53:36 You can't reproduce it? 03:53:44 not in 30 sec of fiddling 03:54:31 It works with other characters than m 03:54:50 n -> . , k -> + , etc. 03:55:18 > (xor `on` ord) 'm' '-' 03:55:20 64 03:55:23 > (xor `on` ord) 'n' '.' 03:55:25 64 03:56:52 shachaf: what language(s) are you using for cryptopizzles 03:57:36 Just Ruby (which is what they're using). 03:57:41 "they"? 03:57:47 Just Ruby > Nothing 03:57:49 The people writing the questions. 03:57:51 ok 03:57:59 I was going to use a crazy language but you did that already. 03:58:04 only for one problem 03:58:28 The AES ECB one? 03:58:37 i considered using Haskell, it would have been pretty good i think 03:58:37 yeah 04:02:10 The nice thing about looking for Scala jobs is some of them don't expect you to know Scala already, they're willing to teach you on the job. Not really the case for more popular languages 04:03:48 Depends on the jobs more than the languages, I'd imagine. 04:04:06 in my experience that is quite true for popular languages 04:04:08 what shachaf said 04:04:45 at many jobs, learning a new programming language would be only a small part of the getting up to speed process 04:04:56 many employers recognize this 04:05:25 it's one thing if you expect deep knowledge of something hard and unusual, like Haskell or C++ 04:05:33 but if you know Ruby and they want Python, whatever 04:06:02 it's funny how the differences between programming languages shrink or grow depending on your own vantage point within the space of all languages 04:08:03 * shachaf got a C++ job without knowing much C++ 04:08:32 What sort of language would give me a vantage point such that J looked similar to C? 04:08:58 martian, probably 04:09:40 piet 04:10:26 what similarities do they have. punctuation. an almost similar notion of functions. representing code in text? 04:11:22 i don't know much about J, what are its data types? 04:11:34 array, number, character 04:11:42 boxes 04:12:00 "Computer science is the study of boxes and arrows" -- someone 04:12:06 Mark Twain possibly 04:12:16 noted computer aphorist 04:15:57 "I never said half the things I said." -- Mark Twain 04:20:54 "Who are you? Why are you exhuming my corpse?" 04:20:58 -- Mark Twain 04:21:44 "I'm sorry, that is a secret." -- George Bernard Shaw 04:34:44 -!- Frooxius has quit (Ping timeout: 255 seconds). 04:46:11 TwilightSpockle: Figured you'd like to know, season 4 confirmed, will be 26 episodes. 04:46:51 shachaf: well I think most jobs where you use C++ don't expect deep knowledge of C++ 04:47:18 i think most people swimming in the C++ pool don't even known how deep it gets and how many terrifying creatures lurk in the depths beyond the reach of light 04:48:02 reminds me of that "deep C" presentation that was going around a while back 04:48:11 True. 04:49:00 I should probably know C++ better than I do. 04:49:16 Bike: link? 04:49:29 there are definitely some dark corners of C as well 04:49:39 what were the strange ones i learned here... 04:49:50 I assume http://www.slideshare.net/olvemaudal/deep-c 04:49:54 struct { ...; int x : 0; ...; } 04:50:03 yeah, that. i didn't much like the attitude and you probably know all of it anyway 04:50:04 That presentation had some interesting information but some of it was a bit silly. 04:50:10 At least as an interviewing guide. 04:50:10 kmc: Ah, good one. 04:50:38 stuff like struct alignment, subtleties of static, side effect order... 04:50:41 kmc: what's that do? 04:51:44 Bike: forces bitfields after to be in different words or something from bitfields before 04:51:47 iic 04:52:25 weird 04:54:52 the other strange syntax i learned here was (C99): void f(int a[*]); 04:56:01 uh. i haven't even a guess 04:56:10 Gah, what was that one again? 04:56:36 declares that 'a' is a variable-length array 04:56:42 Riiight, yes. 04:56:46 whose length will be known by the time the function is actually called 04:57:00 you can do things like void f(int n, int a[2*n + 7]) 04:57:18 but you might not want to duplicate this in your header file 04:57:27 But you can't do int a[static 2*n + 7]), presumably 04:57:30 the equation in the header will never be checked for accuracy and it might depend on implementation details 04:57:30 Or however that syntax went. 04:57:37 oh i forgot how that thing works 04:57:41 that was even weirder 04:58:13 I think foo(int x[static 5]) means that you actually have to have 5 ints at the pointer. 04:58:50 Whereas otherwise it's just a pointer. 04:59:08 So the compiler can dereference any value in x[0-4] 04:59:12 ah right yes 04:59:38 whereas it's legal to call a foo(int x[]) function with a NULL pointer even, as long as it's never derefed 04:59:44 Right. 05:00:58 I think in C++ there are four mostly unrelated meanings of "static". 05:01:40 only four? 05:01:53 three? C ones plus static members? 05:02:04 static members are pretty similar to the C meanings 05:02:54 in particular, if you have a class Foo { static int bar; }; in a .hh file, you need to have some .cc file with int Foo::bar; 05:03:28 you put it in a particular compilation unit with the same storage class as other static stuff 05:03:43 maybe that's not that similar 05:03:49 it's something that confuses people, anyway 05:04:34 everything about static confuses people 05:04:43 C++ has static_cast too but i think that doesn't count :) 05:07:00 i've been thinking a good interview question is to explain the rationale behind the fact that auto variables are uninitialized while static variables are initialized 05:07:34 it's a jumping off point to talk about a variety of language and OS things 05:07:44 because static variables take up static space anyway, and if it's zero/not specified by the programmer it can just go in .bss? 05:07:58 but it still costs the OS something to zero pages, right? 05:08:13 yeah, i'm just thinking of object file size 05:08:28 not that that's that important 05:08:28 but also the OS needs to zero pages, because they might have someone else's data in them 05:08:38 yes 05:08:59 kmc: Deferred to first write to the page usually. 05:09:02 COW is a powerful thing. 05:09:22 Linux actually supports mmap(MAP_UNINITIALIZED) for embedded systems, if you enable it in the kernel config 05:09:25 pikhq: yeah, you can talk about that too 05:10:19 imo a good interview question isn't about a specific answer, it's a conversation starter 05:10:31 This is true. 05:10:47 The whole point of an interview, particularly for programming, is to see how the person thinks. 05:11:22 well i'm also interested in what they know, but I think you get more of that by encouraging them to talk than by asking many specific questions 05:11:31 True. 05:11:52 Unless you want someone who's an expert in mundane trivia of Java. 05:11:53 :P 05:11:59 yeah 05:12:12 even then, it's a good sign if they are super excited about mundane trivia of Java and volunteer them unprompted ;) 05:12:21 there are the super open ended questions like 05:12:29 "you type google.com into a web browser and hit enter, what happens" 05:12:38 geez yes 05:12:43 sometimes people start by talking about keyboard switch debouncing 05:13:20 That's a pretty awesome question. 05:18:26 i'm not sure about it 05:18:29 sometimes it is really tedious 05:18:39 but you also get a ton of information 05:18:49 both about what the person knows, and about which abstracitons they do and don't think about 05:20:05 "well, first you subconsciously come to the decision to type. your motor cortex will send signals down the spinal cord that are eventually routed to the muscles in the arm that control the fingers..." 05:20:45 "Well, first a quark interacts with quark. And then a quark interacts with a quark. And..." 05:20:50 [1 year later] 05:21:15 "So finally, the molecule has interacted with the neighboring molecule." 05:21:36 "the leibnizian monads, while having no knowledge of the outside world, or indeed any world at all, nonetheless act (without extension) in such a way that we can interpret as subatomic motion" 05:29:00 how about the candidate who writes a powerful short story about a guy who is typing google.com and hits enter 05:31:51 shachaf, Bike: that's a good presentation 05:31:54 thanks for the link 05:32:00 -!- oklofok has quit (Ping timeout: 252 seconds). 05:32:08 glad you liked it more than i did >_> 05:32:14 it postulates a kind of dunning-kruger effect for C++ 05:32:17 Bike: oh, why's that? 05:32:45 the author just seemed kind of insufferable, like wow you're so dumb for not knowing this 05:32:48 still good info 05:33:09 hm 05:33:19 in the slides alone you mean? or at some talk you saw? 05:33:23 in the slides 05:33:36 ==Bike 05:33:37 interesting 05:33:53 I would probably do reasonably well at those sorts of questions, but the interviewer seems rather irritating. 05:34:00 any specific examples? the little thought bubbles underneath wrong answer guy's answers? 05:34:15 i haven't looked at it in months, let me see 05:35:04 -!- monqy has quit (Quit: hello). 05:36:16 imo most of these questions are pretty fair game 05:36:21 in terms of being things you do need to know 05:37:59 it's stuff you need to know, i'm just whining about some attitude 05:38:39 ok 05:42:33 oh i just got the "deep c" pun 05:42:37 * kmc winner 05:42:51 also slideshare can eat a dick 05:43:21 the shark didn't tip you off? 05:43:28 well, i guess jaws doesn't take place in the deep sea 05:43:36 Slideshare is awful. 05:43:51 i didn't get to the shark yet 05:44:03 doesn't it start with a shark? 05:44:10 is there any way to download a pdf without logging in with Fucking Facebook 05:44:11 It slowed down to the point that I killed it. 05:44:17 Bike: it starts with an ROV exploring a wreck i think 05:44:26 not that this shouldn't be just as much a tipoff, but i'm dense 05:44:36 yeah, on slide three 05:44:41 oh 05:44:52 of course you can just ignore those silly starters often, eh 05:45:08 before we say anything interesting here are some jpeg artifacts 05:45:24 here's an xkcd strip tangentially related to my talk 05:45:32 everyone please laugh for the designated 0.3 seconds 05:46:41 kmc: http://www.pvv.org/~oma/DeepC_slides_oct2011.pdf 05:47:16 ok slide 389 has some attitude 05:47:17 thanxchaf 05:48:16 is that what cubicles actually look like, also 05:48:22 "We are not suggesting that all your C and C++ programmers in your organization need a deep understanding of the language. But you certainly need a critical mass of programmers that care about their profession and constantly keep updating themselves and always strive for a better understanding of their programming language" 05:48:37 seems unfair to say that people who aren't language experts don't care or aren't 'up to date' 05:48:53 maybe they are experts in algorithms, systems, or the problem domain of whatever your company actually does to make money 05:51:09 Bike: yes some cubes look like that 05:51:55 not a fan of cubes myself 05:52:01 frightening 05:52:24 seems like the worst of both worlds between a private office and open plan 05:53:00 but i think making open plan work depends a lot on the people and the space 05:53:17 maybe cubes have a better failure mode or require less planning overhead 05:54:28 -!- oerjan has quit (Quit: Good night). 06:05:58 -!- oonbotti has joined. 06:06:04 -!- DH____ has quit (Read error: Connection reset by peer). 06:06:19 -!- DHeadshot has joined. 06:22:51 -!- Nisstyre-laptop has joined. 07:36:36 -!- azaq23 has quit (Read error: Connection reset by peer). 07:42:47 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de). 07:47:49 -!- hagb4rd has joined. 08:23:57 Cubes is what you make your offices if you have no soul 08:34:41 -!- mtve has quit (Ping timeout: 255 seconds). 08:36:00 -!- mtve has joined. 08:40:38 -!- Sgeo has quit (Ping timeout: 248 seconds). 08:40:53 -!- Nisstyre-laptop has quit (Ping timeout: 255 seconds). 08:41:21 shachaf: I think the number I've heard was 7 meanings of static 08:41:42 (probably 5 more in c++11) 08:41:47 What are they? 08:42:35 curiously, C compilers never ask you to list the possible meanings of static 08:43:03 Well, sure. You need a static analysis tool for that. 08:47:56 -!- olsner has quit (Ping timeout: 245 seconds). 08:50:25 -!- Sgeo has joined. 09:00:40 -!- olsner has joined. 09:03:52 -!- Bike has quit (Quit: leaving). 09:04:24 -!- FreeFull has quit. 09:18:15 -!- DHeadshot has quit (Read error: Connection reset by peer). 09:18:43 -!- DHeadshot has joined. 09:54:11 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de). 10:19:45 -!- hagb4rd has joined. 10:48:40 kmc: http://blog.wien.tomnetworks.com/2013/02/06/thesis/ 10:49:04 -!- Phantom_Hoover has joined. 11:04:28 -!- DHeadshot has quit (Ping timeout: 272 seconds). 12:21:54 -!- Nisstyre-laptop has joined. 12:25:50 -!- AnotherTest has joined. 12:35:10 -!- Arc_Koen has joined. 13:45:06 -!- Nisstyre-laptop has quit (Ping timeout: 276 seconds). 14:00:45 -!- epicmonkey has joined. 14:02:00 -!- ThatOtherPerson has quit (Quit: leaving). 14:02:20 -!- Frooxius has joined. 14:04:10 -!- ais523 has joined. 14:04:58 -!- sebbu has quit (Ping timeout: 272 seconds). 14:10:27 -!- ais523_ has joined. 14:10:36 -!- ais523 has quit (Disconnected by services). 14:10:38 -!- ais523_ has changed nick to ais523. 14:10:56 shachaf: /me downloads 14:13:50 -!- boily has joined. 14:14:56 -!- sebbu has joined. 14:14:56 -!- sebbu has quit (Changing host). 14:14:56 -!- sebbu has joined. 14:20:21 -!- Phantom_Hoover has quit (Ping timeout: 256 seconds). 14:21:37 -!- FreeFull has joined. 14:22:59 -!- ais523 has quit (Ping timeout: 255 seconds). 14:25:14 -!- sebbu has quit (Ping timeout: 255 seconds). 14:27:59 good warm morning! 14:28:05 it's only -9 °C today! 14:29:11 Wake me up when it gets below -9 K 14:29:13 I think it was around -5 °C here. 14:29:54 Lots (well, relatively) of snow yesterday/today, though. 14:33:47 -!- ais523 has joined. 14:36:05 -!- sebbu has joined. 14:36:05 -!- sebbu has quit (Changing host). 14:36:05 -!- sebbu has joined. 14:53:59 -!- Taneb has joined. 15:15:18 -!- Phantom_Hoover has joined. 15:23:42 shachaf: cool 15:24:11 -!- ais523 has quit (Ping timeout: 255 seconds). 15:37:54 Translating Python to Haskell is even less fun that translating C to Haskell 15:38:28 All I hear is you saying that C and Haskell are basically the same. 15:38:51 something something C-H isomorphism 15:41:11 -!- ais523 has joined. 15:42:28 there is a morphism GHC :: Haskell -> C, but what about CoGHC :: C -> Haskell? 15:42:53 something something unnatural transformation 15:44:03 I know about natural transformations, but what is a SSU (something something unnatural) one? 15:46:28 -!- ais523 has quit (Ping timeout: 240 seconds). 15:47:01 It's hard to explain, but somewhat like a bad analogy 15:48:18 This position is asking for "- Extensive experience with API" 15:49:16 You're just not qualified, kid. 15:54:47 -!- augur has quit (Remote host closed the connection). 15:56:09 Hmm 15:56:10 "The part of the code that I wasn't particularly involved in was the part that was broken." 15:56:24 Haven't mentioned that before, it's self aggrandizing, but it's completely true 16:01:43 "Are you a Hacker?" 16:01:49 I think this is a brogramming position :/ 16:35:53 -!- Zuu has left ("Leaving"). 16:39:46 -!- augur has joined. 16:55:58 -!- sebbu has quit (Ping timeout: 272 seconds). 17:11:51 run away 17:27:39 -!- sebbu has joined. 17:29:00 I'm pretty much applying for anything that even looks like I somewhat qualify 17:29:25 i want to hear more about this "are you a hacker" question out of morbid curiosity 17:29:49 also i think your statement is very much not self aggrandizing 17:29:56 compared to how a stereotypical macho hacker would put it 17:31:30 -!- ais523 has joined. 17:33:55 Well in the job description it says "Are you a Hacker? Are you bored in your current position?" 17:34:09 This is how I responded: 17:34:11 "In some sense of the word, yes. In Second Life, I have experimented until I found a way to reach the maximum altitude (MAX FLOAT). In the Creatures game series, I have experimented to see what hex editing a creature could accomplish." 17:34:28 eh job descriptions are bs 17:34:47 i wouldn't read too much into it, i'll still make fun of them on the internet tho 17:34:48 But there's this form to fill out with several questions and "Are you a Hacker?" was one 17:43:44 Writing code while sleep-deprived. Good idea or great idea? 17:44:52 -!- ogrom has joined. 17:45:24 meh, too lazy to get emacs working. How bad can writing lisp code without paredit be? 17:46:50 Sgeo: it works surprisingly well, actually 17:47:06 also, the current Emacs installer from Windows works really smoothly on Vista and later 17:47:16 if you install into your home directory 17:47:29 * Sgeo is on Linux right now 17:52:02 Sgeo: which distro? 17:52:24 Ubuntu 10.10 17:52:33 It's really just a little bit of code 17:52:45 The meat is going to be copy/pasted and modified from clojure.core really 17:55:18 Sgeo: can't you just apt-get install emacs? 17:55:25 Emacs is installed 17:55:30 I don't feel like configuring it 17:56:10 the only configuration I've really done on my Windows install of Emacs is changing the font, changing the background to black (to avoid screwing up my sleep patterns), and setting the options in the options menu 17:56:34 ais523: can't you just install f.lux or something 17:56:42 elliott: without an internet connection? 17:56:54 ais523: you appear to have an internet connection 17:56:57 and also, the ability to install emacs 17:57:01 I conclude you have the ability to install f.lux 17:57:15 I installed Emacs by downloading it on Linux and saving it to the Windows partition 17:57:26 that doesn't work for everything (e.g. it doesn't work for Cygwin) 17:57:48 also, I dislike installing software except from repositories 17:58:13 there is a Debian repository 17:58:17 can't exactly offer a Windows repository 17:58:26 (well, an Ubuntu PPA, but I suspect the package works on Debian) 17:58:37 actually Windows 8 has a repository 17:58:45 by Microsoft 18:03:33 -!- ais523_ has joined. 18:05:00 -!- ais523 has quit (Ping timeout: 272 seconds). 18:05:24 -!- ais523_ has changed nick to ais523. 18:09:51 -!- ogrom has quit (Read error: Connection reset by peer). 18:09:59 -!- ogrom has joined. 18:14:03 I keep looking for a single unitary language, yet when I have problems that need solving I do tend to try to find the right tool for the problem 18:14:23 In this case, the problem is a blog post I'm writing that talks about Clojure, so the right tool to write code in is Clojure 18:16:24 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de). 18:18:41 -!- hagb4rd has joined. 18:20:40 Sgeo: if only it were always that easy to work out which language to use :) 18:21:23 If it's not obvious, I tend to resort to Python. This has been a mistake at least once. 18:24:33 Sgeo: what if you find the single unitary language but don't actually use it enough for real stuff to realise it's the one / what if this has already happened 18:26:10 I have some vague idea of what The One should look like. I think though, that including "enough popularity that a good amount of libraries exists for it" kind of limits the options, though 18:27:48 what if you're wrong about what it should look like 18:28:13 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 18:28:31 then you need a configuration file to change the syntax for your particular project. 18:28:46 * Sgeo blinks 18:29:10 Forth! 18:29:21 also, what languages /look/ like is mostly irrelevant 18:29:36 "look like" was a bad turn of phrase 18:29:36 elliott: oh, btw, I discovered what the theoretical computer science definition of "haskell" seems to be 18:29:44 it's like the theoretical computer science definition of "algol", except call-by-need 18:29:58 and my brain was flashing alarms "you can't do that" 18:30:53 Sgeo: what if you're wrong about what properties it should have 18:31:18 elliott: Haskell and Algol aren't just the same language with different calling conventions, right? 18:31:24 elliott, considering that "The One" is a matter dictated by my personal taste... are you saying I would be mistaken about my preferences? 18:31:30 because I'm starding to doubt myself 18:31:33 *starting 18:31:55 I mean, as I've learned, my tastes have changed 18:31:56 Sgeo: that doesn't seem hard to believe 18:32:32 -!- Bike has joined. 18:32:37 I think it is even likely that your method for evaluating languages is insufficient for many (perhaps even most) reasonable sets of language criteria 18:32:40 and likely many urneasonable ones too 18:33:44 elliott: it's sort-of hard to make well-defined statements about languages 18:33:59 pretty much the only one I've found that's usually uncontroversial is "language X is statically/dynamically typed" 18:34:11 that's incredibly controversial 18:34:21 ais523: re Haskell and Algol: depends what you mean by Haskell and Algol 18:34:26 there's a lot of controversy in which is better 18:34:27 elliott: I know 18:34:34 this seems to be a weird CS definition I wasn't previously aware of 18:34:37 if you took an existing Algol language and made it call-by-need, I'd still prefer Haskell vastly over it for many reasons 18:34:50 "X is either statically or dynamically typed" is not true for all X 18:34:57 I think your confusion stems from the fact that the language you call "Algol" is a language family that is only distantly related to Algol 18:34:59 elliott: yeah, algol 60 is like 53 years old at this point 18:35:06 Verity resembles Haskell much more than Algol to me 18:35:10 elliott: it's not me who called it Algol 18:35:17 ais523: yes, but you still call it that :) 18:35:26 and Verity was my attempt to take mathematical-Algol semantics, and put a modern syntax on it 18:35:48 -!- Phantom_Hoover has joined. 18:36:24 the syntax is mostly inspired by C, but you can only get /so/ C-like and still remain usably higher-order 18:36:35 and the rest is a mix of OCaml and Haskell and mathematical notation 18:38:18 I miss the good old days of having a special keyboard taylored to your language of choice. 18:38:32 (I miss them in the sense that I haven't had the chance to experience them first hand.) 18:39:08 boily: good news, Agda exists! 18:39:23 unfortunately Agda comes with an emacs mode 18:39:25 so it doesn't qualify 18:42:08 APL exists 18:42:43 fortress exists~ 18:42:54 not only there is no God, but try to find an APL keyboard on Sunday. 18:44:01 fortress sort of stopped existing 18:44:12 `addquote not only there is no God, but try to find an APL keyboard on Sunday. 18:44:18 954) not only there is no God, but try to find an APL keyboard on Sunday. 18:44:30 that looks like a fungot quote to me 18:44:30 ais523: there! there it is! 18:44:42 elliott: unlike apl 18:45:09 ais523: *polite cough* I believe I'm slightly more decoherent than fungot to be considered quoting him. 18:45:10 boily: must think of a way to the ocean palace? 18:45:29 "decoherent"? 18:45:31 see, fungot makes much more sense than I. 18:45:31 boily: it's time you jumped off this mortal coil... our art and science... all to you! you shall find bekkler! executing program. please let me go... put me out?! hey! is that for us! the chef's in a snit, trying to get food to the front lines. heard a spell to energize the sword takes immense evil! indeed! this thing. what you have the masamune! 18:45:54 this has got to be chrono trigger style, right? 18:45:55 ^style 18:45:55 Available: agora alice c64 ct* darwin discworld europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube 18:45:57 yeah 18:46:09 "The upshot is that new technique can measure timing differentials of less than 1 microsecond over a LAN connection -- for example, if the attacker is in the same data center as your servers." 18:46:18 good thing we all have dedicated... oh wait 18:46:22 ais523: sorry, my French's slipping. please wait for a moment while I try to find a proper translation... ♪background muzak♪ 18:46:27 why doesn't fungot have a esoteric style? 18:46:27 coppro: there! there it is! but by the time we're through with you, you'll be in danger. open hatch. 18:46:28 is this the era of buying an EC2 machine to attack another EC2 machine? 18:46:46 coppro: it has irc 18:46:49 which is mostly based on #esoteric logs 18:46:54 is it updated? 18:46:59 I guess an esowki style would be interesting 18:47:03 ais523: #scheme too and stuff 18:47:09 and updating it takes a lot of manual work for fizzie 18:47:10 in fact probably the #scheme logs outweigh #esoteric 18:47:12 so probably not very often 18:47:12 by way of popularity 18:47:14 :( 18:47:23 ais523: incoherent, says I. probably. 18:47:28 I want a markov chain on 10 decades of this channel 18:47:45 I want a markov chain on 10 octaves of this channel 18:47:48 whate are ic, iwcs, pa, ss, sms, and speeches? 18:47:56 ^style pa 18:47:56 Selected style: pa (around 1200 transcribed Penny Arcade comics) 18:48:05 fungot: dongs 18:48:05 kmc: who pissed in your cheerios? honestly? i wouldn't even tell anybody. 18:48:18 I want a markov chain on 10 markov chains of this channel. 18:48:19 OK, that's a good quote 18:48:35 don't worry, I won't report them for contaminating your breakfast 18:48:37 ^style ss 18:48:37 Selected style: ss (Shakespeare's writings) 18:48:39 ^style sms 18:48:40 Selected style: sms (National University of Singapore SMS corpus, 2011-08-20) 18:48:42 boily: there's fungot style 18:48:42 ais523: up to dadar studio. see whether she know your mother also... wahahah :) 18:48:44 ^style speeches 18:48:44 Selected style: speeches (misc. speeches from Project Gutenberg) 18:48:50 ^style ic 18:48:50 Selected style: ic (INTERCAL manual) 18:48:54 fungot: yes 18:48:55 coppro: a line with a replacement that's `simpler' in comments and string literals, etc.) if the filename is of a multidimensional array is being linked to it. 18:49:01 bleh 18:49:04 ^style iwcs 18:49:05 Selected style: iwcs (Irregular Webcomic scripts) 18:49:13 ^style fisher 18:49:13 Selected style: fisher (Fisher corpus of transcribed telephone conversations) 18:49:46 -!- carado has joined. 18:49:56 ooh can we get the enron corpus too 18:50:02 http://www.penny-arcade.com/comic/2001/03/14 i don't get it 18:50:42 while we're at it, maybe the calgary/canterbury corpuses too. 18:52:18 I think the Enron email dataset was suggested. 18:53:01 when my friends were working on a startup making software for legal discovery, that was what they used for their demo 18:53:12 apparently it is the standard corpus in email-related NLP 18:54:18 wait... there's a fungot style? 18:54:18 boily: i agree with you just really 18:54:27 Yes, I think it is pretty popular. 18:54:32 -!- ogrom has quit (Quit: Left). 18:54:39 ^style fungot 18:54:39 Selected style: fungot (What I've said myself) 18:54:46 fungot fungot fungot? 18:54:46 boily: so, let's say i call them mindless games. if we hit every stupid person, any person going, tough one. if we solve it,..., the calls. we decide what i'm made that one work only for the dignity, only gray. in that second one is horizontally displaced by 1 pixel is sacred. just me, or i: yet, you rogue! 18:55:02 fascinating. 18:55:11 this can't be all that fungot's said 18:55:12 Phantom_Hoover: so, let's say i call them mindless games. if we hit every stupid person, any person going fast and such an apparently non-standard format is being dimensioned by assigning dimensions to them; and sets. maybe thats what them meant by experimental selected so it probably no longer the wand the better part made mercie, i should think at least, that is expressions which have not been able, to assume responsibilities 18:55:36 he hasn't said 'that sword alone can't stop' or 'anmaster no not markov' even once 18:55:39 have you fu 18:55:40 have you fungot 18:55:40 Phantom_Hoover:. i'm so kind, even to assholes! anmaster no not markov anmaster no not markov 18:55:47 aha 18:55:48 hahahahahahahahaha 18:55:48 There you go. 18:56:07 Under some assumptions, the "fungot" style is a simple weighted sum of all the other styles. 18:56:07 fizzie: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube* wizened shape, very magic ( in the system 18:56:21 fizzie, er 18:56:24 `quote markov 18:56:26 578) Ngevd:. i'm so kind, even to assholes! anmaster no not markov anmaster no not markov anmaster no not markov anmaster no not markov anmaster no not markov 18:56:53 (The assumptions aren't true, though.) 18:56:59 aren't the assum- right 18:57:09 ^style nethack 18:57:09 Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal) 18:57:23 fungot: is this a weighted sum of other styles 18:57:23 coppro: hippocrates: greek physician, to the adventurer who can cause great damage. i swear that, compared with those fruits, the neck, claws, hooves, or from whence he came,... his great black battle-blade stormbringer, drank their souls. 18:57:29 sup fungot 18:57:29 Phantom_Hoover: excalibur: at first then more slowly then in a long worm can be quite enchanting. it is even more muddled and confused. ( a field guide to the sea; there's no food. 18:57:33 fungot: how do you do the invocation ritual? 18:57:34 ais523: meat*, huge chunk of meat: some say that no one notices the junk underneath a boulder is probably beneath you. the he closed his eyes, the alphabet, weights and measures, and bewailing her fatal error with many titles, and overcome all the cities bounding the circle sea, or a handloom, although they do not and did not kill his own food has arisen the legend that he does not imply being happy and that was the fruit like? 18:57:48 "some say that no one notices the junk underneath a boulder is probably beneath you" 18:57:49 is523k52Ϳnffjliated/ais523: ever tried reading while confused? 18:57:52 "you are probably on top of the boulder" 18:57:54 i'a i'a anmaster no not markov! 18:58:00 also, wtf was /that/? 18:58:06 Áis523ÎkËÇÏ52Í¿ÉnÐffjliated/ais523: ever tried reading while confused? 18:58:06 ais523: anhur: an egyptian god of earthquakes as well. physically, he was such a tool is found by a howling wind. ( fog, by patrick mcgoohan) 18:58:13 I don't think it's meant to do that at all 18:58:16 ais523: your true form being revealed to us mere mortals. 18:58:23 it looks like a corrupted version of my nick/username/etc 18:58:44 fizzie: Áis523ÎkËÇÏ52Í¿ÉnÐffjliated/ais523: ever tried reading while confused? 18:58:44 ais523: owlbear: owlbears are a cross between a human being and a convulsive motion agitated its limbs. tail entirely absent. growth is slow and sexual maturity reached at quite an experience. 18:59:06 ais523: That seems very confused indeed. 18:59:06 boily: that's probably a bad idea, my true form is depressingly similar to my normal form 18:59:20 fizzie: yeah, I don't think it's meant to do that 18:59:25 actually, I'll `addquote it 18:59:33 `addquote Áis523ÎkËÇÏ52Í¿ÉnÐffjliated/ais523: ever tried reading while confused? 18:59:33 ais523: you're going into the surrounding walls and ceilings of the three gorgons or graeae, is not bad luck. 18:59:37 955) Áis523ÎkËÇÏ52Í¿ÉnÐffjliated/ais523: ever tried reading while confused? 19:00:00 I kind of like the nethack style, except it's perhaps a bit too ungrammatic often. 19:00:12 fungot: Do you play a lot of NetHack? 19:00:12 fizzie: prisoner: where am i constant to my lair to die. ( the emperor's new mind, i don't doubt." and after nearly half a century in which feeding and growth occur, and a genuine amulet of yendor 19:00:35 Sounds quite dark. 19:00:51 Grim, even. 19:00:52 and or eldritch. feeding and growth occur. bletch. 19:02:12 fungot: Do you have a GRIMoire? Is it GRIM? 19:02:12 fizzie: polymorph into an unknown being. a well-known tropical predator ( _panthera onca_) is a rewarding experience! 19:02:45 fungot: how many replies, until you invoke tentacles from outer dimensions? 19:02:45 boily: they say that fortune cookies are food for thought. 19:03:06 http://j.mp/cpp11ref <--- nice overview of new C++11 stuff 19:03:43 fizzie: genuine amulets of yendor are kind-of valuable, though 19:03:47 an end to the grimness 19:05:19 -!- Phantom_Hoover has quit (Ping timeout: 246 seconds). 19:05:31 A well-known tropical predator is a rewarding experience! How true. 19:07:46 -!- quintopia has quit (Ping timeout: 246 seconds). 19:10:56 -!- quintopia has joined. 19:15:00 -!- sivoais has quit (Ping timeout: 248 seconds). 19:22:30 -!- sivoais has joined. 19:26:54 fungot: are you an animorph 19:26:55 kmc: they say that nurses sometimes carry scalpels and never use your best weapon to engrave a curse. i quickly ducked my head back and crawled away. 19:30:34 -!- sivoais has quit (Read error: Connection reset by peer). 19:31:37 -!- sivoais has joined. 19:34:39 Help I'm learning C again 19:35:47 k 19:37:13 how's that going 19:37:37 I dunno 19:38:03 I wrote http://pastebin.com/TVp2BHXT to solve http://rosalind.info/problems/dna/ 19:39:15 -!- sivoais has quit (Ping timeout: 255 seconds). 19:40:02 -!- monqy has joined. 19:40:52 -!- sivoais has joined. 19:41:19 seems reasonable 19:41:24 do you want style advice 19:41:45 style advice don't use pastebin.com 19:41:53 yes that as well 19:42:17 maybe the people who don't hate pastebin.com are all people with adblock 19:42:32 it's still bad tho even aside from the ads 19:44:23 i have adblock 19:44:24 i hate it 19:45:05 Yes 19:45:25 I switched to pastebin because hpaste was blocked for someone in another channel? 19:45:54 codepad and gist are both fine 19:45:58 i use sprunge??? i like sprunge 19:46:01 (was that yes re: style advice?) 19:46:08 (can be) 19:46:42 i would do "int a=0, c=0, g=0, t=0;" since they're all zero 19:46:53 also i like to use C99 in which case you can do "for (int i = ...)" 19:47:48 instead of reading into a buffer, you could use getchar() (and count on stdin input buffering to make it perform acceptably) 19:48:25 kmc, I know the maximum length of input 19:48:37 sure, it might be simpler code though 19:48:51 the best way to have no buffer overflows is to have no buffers :) 19:48:59 -!- sivoais has quit (Read error: Connection reset by peer). 19:49:18 the buffer that can be overflowed is not the true buffer. 19:49:39 -!- sivoais has joined. 19:57:39 -!- sivoais has quit (Read error: Connection reset by peer). 19:58:27 -!- sivoais has joined. 20:02:56 So, interviewer claimed that it's likely that I'm going to get an interview 20:03:15 Either tomorrow or next week 20:03:20 .NET 20:03:26 I can live with .NET 20:05:52 can you??? 20:06:10 next week dot net 20:07:03 there are worse library frameworks 20:12:10 -!- sivoais has quit (Quit: leaving). 20:12:57 -!- sivoais has joined. 20:21:35 -!- TwilightSpockle has changed nick to Gregor. 20:23:07 -!- oerjan has joined. 20:26:01 Sgeo, VB.NET? 20:26:02 I bet it is 20:26:34 VB.NET isn't as bad as previous BASICs 20:26:41 it's basicaly C# with a stupid syntax 20:26:44 and syntax is mostly unimportant 20:28:08 It's C#, I don't know why I only mentioned the .NET part of it 20:28:44 and C# is basically Java with some extra dubious features added in, and different but mostly similar libraries 20:30:01 lambdas "dubious" 20:30:18 i love lambdas 20:30:20 they are so easy 20:30:59 Those dubious features turn an unbearable language into a bearable one 20:31:21 (maybe I'm hasty in calling Java unbearable?) 20:31:57 if you say "java" three times to a dark mirror does steele come out and lecture you about operator overloading 20:32:04 yes 20:32:21 Sgeo: C# is unbearable in its own way :) 20:32:27 how so? 20:33:02 If it doesn't have first-class functions then I'm not sold 20:33:38 FreeFull: C# has first-class functions 20:33:42 VB.NET 2008 onwards has first-class functions 20:33:46 And first-class objects aren't a good substitute 20:33:49 FreeFull: C# has first-class functions 20:34:49 java has things that try to pass themselves as poorly designed first class functions. it makes for a just not quite good enough substitute. 20:36:03 I also like having a good type system 20:36:11 `addquote if you say "java" three times to a dark mirror does steele come out and lecture you about operator overloading 20:36:14 956) if you say "java" three times to a dark mirror does steele come out and lecture you about operator overloading 20:36:41 boily: java has first class objects, and second class classes, which can contain third class methods ;) 20:36:45 I think .NET doesn't do type erasure 20:37:05 Which means more information at runtime, which is unrelated to the quality of the typesystem 20:38:02 type erasure is a nasty backwards-compatibility thing, which fortunately tends not to matter too much in practice 20:38:57 type erasure is kind of a red herring, the real problem is that java doesn't understand variance! 20:39:24 in fact if you can do type erasure you probably should... 20:40:10 elliott: java attempts to understand variance, it's just broken 20:40:26 you can express covariant and contravariant generic types 20:40:38 just for whatever reason, it never actually seems to help 20:40:54 If you say java to a mirror three times, the mirror gets coated in boilerplate 20:40:57 I think they added it but forgot to use it 20:41:25 olsner: :) 20:41:58 and since nothing in the library has the variance it should have you pretty much never get to use it either 20:42:27 are the variances in the libraries actually just chosen at random? 20:42:30 ais523: doesn't help that mutability makes variance harder 20:42:32 or are there reasons behind some of them? 20:42:34 elliott: yeah, indeed 20:42:58 especially mutability via pointers into return values 20:43:18 when I figured out variance, I realised why every programming language was crazy 20:43:35 elliott: Verity's compiler understands variance 20:43:36 that's a lot of languages 20:43:48 although it doesn't actually have polymorphism, so the variance control happens entirely internally 20:44:10 (huh, the etymology of "boilerplate" is neat) 20:45:08 Bike: Tell us 20:45:12 ais523: fun fact: apparently, Eiffel treats function parameters as _covariant_ 20:45:15 and has subtyping 20:45:23 apparently the answer to "how does this work?" is "it doesn't" 20:45:26 elliott: someone else told me that fun fact recently 20:45:28 -!- david_werecat has joined. 20:45:33 hmm 20:45:39 my reaction was "are covariant function parameters actually useful for anything?" 20:45:40 was it edwardk? 20:45:45 elliott: not sure, perhaps 20:46:02 well, you could call an output parameter a "covariant function parameter" 20:46:21 FreeFull: plates from steel boilers were repurposed as letterplates for printing presses at newspapers 20:46:22 hmm, yeah, that's a good point 20:46:39 but that'd just be calling something more reasonable by the same name as something terrible 20:47:13 elliott: now I want to make an esolang called Hitler :( 20:47:23 probably a bad idea though 20:47:39 ais523: How do you code in it? Repurposed Indian symbols? 20:47:44 just use some other dictator, i'm sure noone will notice 20:47:54 nah 20:47:54 ais523: are you saying esolangs are reasonable? 20:47:55 You could call it Himmler 20:47:58 Or Mussolini 20:48:00 I'll stick to more useful esolangs 20:48:01 Or Mao 20:48:05 or, more purposeful 20:48:14 I may never invent anything else as good as Underload, but I can try 20:48:16 You could make haskell but better 20:48:28 (PSA: making esolangs with names that make me want to delete the page about them is bad for your health) 20:48:39 Strip out the laziness, and all the fancy syntax 20:48:42 Make the type system better 20:49:14 And instead of having most functions be pure, make ALL functions impure 20:49:26 Every function has a side-effect, even if you don't want it to 20:49:31 FreeFull: that's "haskell but better"? 20:49:32 ais523: I think Eodermdrome is your third-best esolang 20:49:37 or just "haskell but esoer"? 20:49:39 ais523: I got carried away 20:49:40 elliott: what's the second-best? 20:49:45 ais523: Underload 20:49:49 hmm 20:49:52 so what's the best then? 20:50:06 -!- WeThePeople has joined. 20:50:07 ais523: best is Feather, because I'm pretty sure not actually existing because your creator gave up on you because you were too confusing is the best achievement an esolang can make 20:50:11 yeah, I like Eodermdrome too, despite the utter lack of practicality 20:50:14 FreeFull: instead of stripping out laziness, put side effects in the thunks 20:50:22 elliott: oh, I forgot about Feather 20:50:26 (actually genuinely forgot) 20:50:26 see? 20:50:29 olsner: Evil 20:50:47 i.e. haskell with implicit unsafePerformIO 20:50:50 olsner: Make seq only work half of the time too 20:50:55 removing non-strictness would make Haskell worse 20:50:57 elliott: given that "Real Fast Nora's Hair Salon 3: Shear Disaster Download" and the sound of /ˈæmbiːɛf/ are good esolang names, what's a bad esolang name 20:51:02 you'd lose basic composability 20:51:14 Bike: "Esme" 20:51:16 elliott: hmm… exposure to The Game (if you don't know about it, please don't look it up) now means that some things require me something like 10 seconds and a concious mental effort to remember 20:51:32 and it takes me like a minute to remember the rules, even if I try 20:51:35 normally I get bored by then 20:51:39 elliott: are you sure that's the name rather than the everything else 20:51:44 I think "Most ever Brainfuckiest Fuck you Brain fucker Fuck" is an underappreciated esolang name 20:51:53 indeed, it's a good esolang too 20:52:25 good wiki page too 20:52:25 and I can take credit for suggesting the idea behind it, even if I didn't do any definition of the name or the semantics 20:52:30 hey guys remember http://esolangs.org/wiki/Object_(programming_language) 20:52:36 no, I don't 20:52:37 and also, all the other languages that guy made 20:52:38 single sentence afaict 20:52:38 should I? 20:52:44 olsner: yeah but it's a run-on sentence 20:52:48 ais523: http://esolangs.org/wiki/Parnassus ? 20:52:53 it's the syntax highlighting that makes them memorable 20:52:56 elliott: no 20:52:58 also, the badness 20:53:10 hmm, I should make that esolang I was going to 20:53:15 where it's based around overlapping brackets 20:53:16 Parnassus isn't exactly syntax highlighted 20:53:24 the comment is in an almost unreadable shade of pink 20:53:30 but apart from that it's all the same color and font 20:53:47 so is Object a shitty parody of Java, is that what I'm looking at here 20:53:51 elliott: INTERCAL allows scopes that don't nest correctly 20:54:00 due to its use of manual lexical scoping 20:54:03 -!- Taneb has quit (Read error: Connection reset by peer). 20:54:07 -!- atriq has joined. 20:54:11 ais523: by overlapping, I mean (ab[cd)ef] 20:54:15 we shall just have to make the Ëơđëřmđřơmë dialect, which has a large enough alphabet to be practical. 20:54:17 elliott: yeah, I mean that too 20:54:22 I'm not quite sure how the language will use those to compute 20:54:24 but it will 20:54:27 and may even have used that syntax to explain the concept to you, al ong time ago 20:54:30 *a long time 20:54:43 oerjan: I think Eodermdrome has a large enough alphabet to be TC 20:54:46 although I don't actually /know/ 20:54:50 maybe it works by rewriting the program to have brackets balanced in a normal manner 20:54:59 had to refresh my memory of Feather. now I remember why I retroactively forgot about it. 20:55:02 and that involves shuffling them around in a way that's TC 20:55:09 the problem is, the overlapping has to actually be interesting 20:55:14 yes 20:55:14 not just a syntactic veneer 20:55:37 hey, one of my better languages I never even put on the esowiki 20:55:46 its name started Sh, let me look up the rest of it 20:55:56 Shove, apparently 20:55:58 -!- atriq has changed nick to Taneb. 20:55:59 also, I don't know what goes between the brackets 20:56:00 Bike: "Esme" <-- are you saying that would be a bad name if it had otherwise been an interesting language? 20:56:15 possibly primitives, possibly arbitrary text (that gets outputted?) 20:56:18 oerjan: I was kidding 20:56:20 elliott: it seems I don't have a spec, but I do have an interp 20:56:22 shall I pastebin it? 20:56:32 sure 20:56:48 http://sprunge.us/YaOJ 20:57:00 I still have the spec for my first ever esolang lying about somewhere 20:57:02 it is awful 20:57:05 what is it 20:57:06 awful awful awfuk 20:57:08 is it a BF derivative 20:57:16 ...sort of 20:57:23 It's an Ook! derivative 20:57:30 haha, seriously? 20:57:32 that sounds worse 20:57:34 Yeah 20:57:41 it's slightly more creative, I think? 20:57:47 by transitivity, it is a BF derivative too. 20:57:52 an Ook! derivative is the kind of thing the wiki should have 20:57:57 just for the art of it 20:58:01 I should make an underload derivative, nobody would expect that. 20:58:04 like, it should just be a BF derivative 20:58:06 elliott: Shove is TC, I think; you can compile Underload into it 20:58:07 but claimed as an Ook! derivative 20:58:13 elliott, should I dig out the specs for it? 20:58:16 depends 20:58:23 for this to work, it'd have to be a trivial equivalent that replaces all the operations with something else 20:58:29 also, Sprunge's syntax highlighting can't handle tr///, it seems 20:58:35 and also, for the joke to work, the something else should be not related to "Ook!", I think 20:58:40 elliott: it should be BF-like 20:58:46 Okay, this is more along the lines of "Ook! with more commands" 20:58:47 but possibly with slightly different commands 20:58:51 elliott, you should find all trivial derivatives of brainfuck on the wiki and arrange them in a chain 20:58:51 there is already a "Moo!" or something I think 20:59:01 Cow 20:59:09 I wrote a blog post about it 20:59:13 ← → + - ( ) ? ! 20:59:18 like that 20:59:18 oerjan: I think Eodermdrome has a large enough alphabet to be TC <-- um i already made BCT in it. sheesh. i mean large enough that you could actually write an interesting program without encoding the algorithm in the input. i guess you really want an infinite alphabet. 20:59:28 oerjan: right, I see 20:59:28 ais523: people who make BF derivatives don't believe Unicode exists 20:59:31 By which I mean, Phantom_Hoover wrote a blog post about it 20:59:37 actually, /is/ Eodermdrome TC? Or is it just curly-L? 20:59:45 elliott, and then make it circular, so like "Ook! is a BF derivate. X is a Ook! derivative. ... Brainfuck is a Y derivative" 20:59:53 elliott: all those characters are in CP343 20:59:56 elliott, do that on the 1st of April 21:00:12 Vorpal: that sounds like a pain 21:00:17 elliott, hm true 21:00:21 a lot of work involved 21:00:23 hmm, we could vandalise our brainfuck article to claim it's a [terrible BF derivative] derivative 21:00:30 that would be marginally funny 21:00:36 It's an Ellipsis derivative 21:00:39 anyway, the way Shove works, is it has an Underload-like stack, and a 2D playfield 21:00:45 elliott, yeah that is less work but still okay for 1 April 21:00:54 it has instructions to change the direction of execution 21:01:27 it will push quoted strings onto the stack: strings can be quoted with ' or with ", and they nest inside each other indefinitely deep (INTERCAL-style) 21:01:31 ais523, inspired by befunge? 21:01:43 ais523, does it allow self modification? 21:01:52 and there are four commands A V ( ) that push the stack back onto the playfield, pushing the entire rest of the program out of the way to make room 21:01:56 it's somewhere between Befunge and Underload 21:02:02 and yeah, self-modification is required 21:02:03 ais523, also what is the intercal style of nesting " and ' 21:02:13 alternating 21:02:18 ah right 21:02:36 actually in INTERCAL they don't have to alternate, a ' or " is an opening ' or " if it couldn't, based on context, be a closing one 21:02:47 heh 21:02:52 but Shove's grammar isn't complex enough for that, so it's strictly alternating 21:03:05 Vorpal: that is the actual definition, and what's implemented into the compiler :) 21:03:20 ais523, ouch, that sounds painful 21:03:21 so you can do something like '#1~'#1~#1'' 21:03:24 and it works 21:03:36 the only time it really matters which of ' or " you use is in array indexing 21:03:53 ais523, is this the thing that makes the parser LR(inf) iirc? 21:04:01 and that case is sufficiently confusing that the original INTERCAL-72 programmers couldn't get it to work, so they just wrote into the definition of the language that it doesn't work wihtout alternating 21:04:21 an yeah, it makes the parser LR(infinity) unless you put a restriction on like the one that's in the language definition, and that C-INTERCAL and INTERCAL-72 use 21:04:30 CLC-INTERCAL, of course, just parses the LR(infinity) language 21:04:46 (it'd be entirely out of character for it not to) 21:04:46 I forget the restriction, but I remember hating it 21:04:58 ais523, I thought you used some LR(inf) bison extension? 21:05:22 must have confused it with CLC 21:05:29 elliott: if a ' or " could syntactically be closing with no characters of lookahead, it's a syntax error if it later turns out to have been opening after all 21:05:36 ais523, anyway, how do you manage parsing LR(inf)? 21:05:38 Vorpal: I don't use GLR; CLC doesn't either, I think it uses backtracking 21:05:48 ais523, GLR? 21:05:56 the LR(inf) bison extension 21:06:00 oh okay 21:06:04 actually, CLC-INTERCAL's parser is written entirely in CLC-INTERCAL 21:06:09 which makes it very hard to follow 21:06:09 why not use it? 21:06:15 I should make an underload derivative, nobody would expect that. <-- i am pretty sure Fueue counts partially as one. also Ftack, even if that's useless. 21:06:18 wait, no 21:06:21 it's written in IACC 21:06:26 oerjan, I know, that was the joke 21:06:49 Fueue is very much inspired by Underload 21:06:51 oerjan, actually I only knew about the first 21:06:54 I should look at Fueue some time 21:06:55 oerjan, not the second one 21:06:56 I haven't yet 21:07:11 * ais523 looks at it 21:07:29 " If the queue reaches this last stage many times and so does a full rotation without changing at all, a character is taken from input and its unicode value is added to the back of the queue. " 21:07:32 hm, I should make Befunge-98 EE 21:07:33 Taneb: that's genius :) 21:07:51 ais523, it's marvellously hideous to program with 21:07:56 I know 21:08:01 I think only one person has written programs in it 21:08:07 And that person is oerjan 21:08:09 it's like Thutu's I/O, but at least three steps more evil 21:08:10 Taneb, "many times"? 21:08:17 Taneb, how many times is that 21:08:23 in Thutu, you merely have to turn your entire program inside-out 21:08:25 Vorpal, [length of stack] 21:08:32 which is at least a mechanical translation 21:08:37 Taneb, ah 21:08:37 Taneb: *[length of queue] 21:08:43 [length of thingy] 21:09:39 oh yeah that is a terribly hard to use way to handle input 21:09:40 -!- augur has quit (Remote host closed the connection). 21:09:59 Vorpal: I haven't seen I/O so brilliantly bad in a while 21:10:08 Taneb deserves a reward for that 21:10:11 ais523, is this even capable of general IO? 21:10:18 Vorpal: yeah 21:10:20 lets call that BF-complete 21:10:23 fungot: Give Taneb a reward. 21:10:23 fizzie: tired? try a steeplechase." the celebration which had been dormant for years was revived as part of his seed unto molech, and i cast you from the third was taller than the orc that one word he did outpour. nothing further then he bit off the hand at the brutes and he is sometimes an effective remedy. 21:10:23 hm okay 21:10:41 the main issue is just constructing a program state that locks up and accepts input 21:10:50 Taneb: Your reward sounds a bit iffy, you might opt out of that. 21:10:51 and does something useful afterwards 21:10:55 getting to that state probably isn't so hard 21:11:05 ais523, getting out of it sounds annoying 21:11:21 Vorpal: yes 21:11:42 "In Fueue, the null program is a cat, although it doesn't handle end of file." <-- one that doesn't actually concatenate files either I assume? 21:11:49 Yeah 21:12:04 (is that where "cat" comes from?) 21:12:06 anyway, I approve of Fueue 21:12:10 :) 21:12:12 Taneb, yes 21:12:15 I wouldn't call it an Underload derivative, more an Underload-inspired language 21:12:17 Taneb, see man 1 cat 21:12:20 actually, /is/ Eodermdrome TC? Or is it just curly-L? <-- i remain devoted to the opinion that "TC" proper includes things that need the input of a programming language as part of the conversion from a TM with input tape to it. 21:12:27 Taneb, it's function is to concatenate files 21:12:34 I like curly-L, anyway, it's actually well-defined 21:12:35 unlike TC 21:12:37 Taneb, not to just copy stdin to stdout 21:12:40 Wow 21:12:48 Learn something every day 21:12:53 mhm 21:12:53 also, doesn't Eodermdrome /have/ input? 21:13:34 ais523, which one is curly-L? 21:13:58 Vorpal: capable of expressing at least one interpreter for a TC language 21:14:05 ah 21:14:15 it doesn't need to be able to do anything else 21:14:24 ais523, hm, wouldn't that imply the language is itself TC? 21:14:25 and it seems to be a philosophical problem whether it's equivalent to TC or not 21:15:01 ais523, even the pathological case of @ = execute bf interpreter and quit could be argued to the TC 21:15:05 not useful, but TC 21:15:10 definitely curly-L 21:15:23 yeah, it's curly-L pretty much by definition 21:15:26 ais523, speaking of which, is that the math-curly L symbol we are talking about here 21:15:33 http://esolangs.org/wiki/%E2%84%92 21:15:35 and then, why that symbol 21:15:43 and because cpressey chose it 21:15:48 and cpressey is the best esolanger at naming things 21:15:51 fair enough 21:15:56 so you don't really want to argue with him/her 21:16:57 ais523, I was pretty sure it was a him? 21:17:04 though I could of course be wrong 21:17:10 Vorpal: well Chris is a gender-ambiguous name, and I've never met them 21:17:10 are you new to ais523 21:17:42 elliott, yes, I'm the evil twin of Vorpal, having taken over his computer while he didn't look. 21:17:45 elliott: this is why I like mafiascum.net; many people explicitly state their gender to simplify things, and when they don't, there's a pretty high proportion of wrong guesses, both ways 21:18:15 Vorpal: have you figured out how to make his scrollback bigger? 21:18:18 it'd help him out a lot 21:18:50 elliott: btw, I'm having Vorpal-like scrollback trouble on occasion 21:18:57 elliott, alas, I hacked the bouncer, not the client proper 21:19:02 Konversation's scope for bizarre typos has apparently expanded to include one that clears my scrollback 21:19:15 is cpressey ever going to come back to this channel, or is it a part of #esoteric's troubled and tortured past that he isn't here anymore? 21:19:40 boily: he doesn't really enjoy being here, and I don't really blame him 21:19:41 boily, I'd say it is a .5/.5 chance 21:19:51 Vorpal, so, certain? 21:19:52 also he's sort-of permanently RL busy 21:20:02 like me nowadays, except I come here anyway ;) 21:20:07 haven't really worked on actual esolanging for a while, though 21:20:16 ais523: I thought cpressey just left because it was a timesink 21:20:22 I'd like to, but Anarchy and Underlambda are both lots of work 21:20:22 though him hating us also seems perfectly likely 21:20:25 ais523, that is of course an excellent time to start implementing Feather? 21:20:27 elliott: that's what I meant, I just didn't say it 21:20:34 Vorpal: Feather is even /more/ of a timesink 21:20:40 ais523, true that 21:20:40 boily: the last time he was in here was as ZOMGMODULES I think 21:20:48 maybe he'll come again next time he goes to pycon 21:20:59 elliott, that is a thing? 21:21:01 pycon? 21:21:02 wow 21:21:12 ais523, getting out of it sounds annoying <-- yep it is. 21:21:12 well it only makes sense 21:21:13 Vorpal: why /wouldn't/ python have conferences? 21:21:14 not exactly sure how this is remotely surprising 21:21:22 oerjan, how do you do it? 21:21:29 ais523, true 21:21:43 somehow I just never imaged it being a thing 21:21:52 I doubt there is a shell-script con though 21:22:00 Vorpal: are you surprised at Perl having conferences too? 21:22:12 ais523, hm less so than python in fact 21:22:23 ais523, and I would bet the ruby guys have one 21:22:28 they seem the type 21:22:43 indeed 21:22:43 anyway there totally needs to be TECOCON 21:22:53 does anyone actually use TECO nowadays? 21:22:59 I hope not 21:23:04 anyway bashcon 21:23:09 come on, make it a reality 21:24:00 elliott: just looking at the main page 21:24:04 my betterave was once compared to TECO. that was one of my proudest moments. 21:24:09 what's the standard example of a "just plain weird" language? 21:24:15 ais523: esme 21:24:20 boily, what is betterave 21:24:24 INTERCAL aims to be unique, and Malbolge for being difficult to program in 21:24:27 elliott: OK, that'll do 21:24:34 what's the correct case for esme, anyway? 21:24:36 Vorpal: http://esolangs.org/wiki/Betterave 21:24:44 Esme, I think 21:24:44 titlecase? all-uppercase? brainfuck-case? lowercase? 21:24:55 elliott, esme is a joke lang though 21:25:02 no it's not 21:25:16 my own personal theory was that it was created to troll zzo38 21:25:52 riiight 21:25:59 ais523, oh? 21:26:04 Vorpal: think about it 21:26:05 yeah that would work 21:26:06 Vorpal: i make it happen between )$ and a block, then the block gets duplicated as many times as the character read, and then the first one is executed, which can start a chain reaction that increments a 0 back up to the original value, but inside a block. 21:26:27 oerjan: clever 21:26:29 oerjan, sec, need to load up the page again 21:27:02 There's also a Rails conference, I'm pretty sure. 21:27:04 oerjan, oh yeah that *is* clever 21:27:18 shachaf: apparently C++ guarantees static_cast(NULL) == NULL 21:27:24 And EuroForth is still being arranged, and is the most prestigious of the big international Forth conferences. 21:27:34 (I don't know if there are any other that count.) 21:27:42 elliott: also the "enjoy being locked in your matrix of solidity" on the main page made me laugh out loud, probably because I hadn't seen it for months 21:27:44 there are *multiple* forth conferences? 21:27:47 boily, hm, close but not quite like TECO 21:27:47 so in cases where static_cast needs to apply an offset (multiple inheritance) it has to include a NULL check 21:27:59 boily, too easy to read 21:28:16 Vorpal: I know, I was young and naïf. 21:28:17 boily, reminds me more of dc 21:28:25 boily: "naïve" 21:28:33 boily, which is childs play to code in of corse 21:28:35 course* 21:28:43 people normally just write it "naive", but in #esoteric we know better :) 21:29:03 ais523: as a French speaker, I have a hard time describing myself as «naïve», as it is feminine. 21:29:19 boily: yeah, but English almost doesn't have grammatical gender 21:29:32 Also: EuroForth is a three-day conference, but then immediately after there's a "4th-day". 21:29:49 ais523: I'm not a ship, therefore I am not feminine. QED. 21:30:11 boily: but there's only one form of the adjective in English 21:30:20 which applies to all of masculine, feminine, and neuter 21:30:27 (except with neuter, some anthropomorphising is required) 21:30:29 fizzie, oh? What do they do then 21:30:57 Vorpal: I think it's something slightly more social, but they don't seem to have all that much of a web presence, so it's hard to say. 21:31:09 ais523: don't burst my bubble of broken English :p 21:31:14 hm 21:31:40 "As usual there will be the option of staying for a "4th Day" until Monday 18th for additional networking time and allowing delegates to see more of the area." (From the EuroForth 2006 call.) 21:32:10 accidental pun? 21:32:24 -!- impomatic has quit (Quit: impomatic). 21:32:31 Fueue is the language I'm most proud of 21:32:36 olsner: with a name like "forth", accidental puns are reasonably inevitable 21:32:37 (although I still prefer Luigi) 21:32:43 (although the name itself was an intentional pun, IIRC) 21:33:37 elliott, can I be a wiki admin so I can do featured language stuff? 21:33:47 hmm… if we had an esoteric language called "accidentally" 21:33:53 it'd be a noun as well as a verb and an adverb 21:33:59 ais523, wasn't it a file name length limit on some early system? 21:34:09 so you could accidentally a word? 21:34:10 or do I completely misremember it 21:34:14 Vorpal: perhaps, or it may just have been in homage to them 21:34:16 -!- AnotherTest has quit (Quit: Leaving.). 21:34:18 "I accidentally accidentally accidentally" 21:34:20 boily: that's the verb form of accidentally 21:34:54 ais523, how it is a verb 21:34:55 ais523: I'm not sure my grasp of the English language is getting better by visiting this channel.. 21:35:02 afaik it is only an adverb? 21:35:05 Vorpal: boily just used it as a verb 21:35:09 the verb form is an internet meme, though 21:35:22 the fun thing is that the verb itself doesn't exist 21:35:30 you leave it to the listener's brain to fill in the blank 21:35:30 actually it is a noun 21:35:35 boily: we'll just go ahead and esoteric your english 21:35:35 err adjective 21:35:36 I meant 21:35:40 "I accidentally the source repository, is this bad?" 21:35:42 according to a google 21:35:57 wait what 21:36:03 the accidentally man stopped and faced me, raising the oerjan above his head threateningly 21:36:10 this is so wrong then: http://www.thefreedictionary.com/accidentally 21:36:15 Vorpal: how can you have evaded this meme? 21:36:17 wordnet claims it is an adverb 21:36:21 it makes far more sense 21:36:24 it is an adverb, normally 21:36:30 * ais523 accidentally the entire meme :( 21:36:32 -!- sirdancealot7 has quit (Ping timeout: 272 seconds). 21:36:33 all the -ly words are adverbs 21:36:42 Vorpal: that says that "accidental" is an adjective. 21:36:43 olsner, I know of it, I just refuse to acknowledge it. 21:36:52 olsner: this is English, there's probably an exception /somewhere/ 21:37:00 but yeah, most -ly words are adverbs 21:37:00 and "accidental" as a noun is pretty common in music. 21:37:02 Bike, yes which is wrong I think 21:37:12 all the -ly adverbs are adverbs 21:37:12 the adjective bit 21:37:15 "sly" is an adjective 21:37:17 wordnet claims adverb 21:37:20 and so it is 21:37:25 slyly 21:37:27 "accidental" isn't an adverb, "accidentally" is 21:37:39 huh, there's a language called Vorpal? 21:37:43 I just saw it on the deadfish page 21:37:48 "the accidental argument is really starting to seem pointless to Bike" 21:37:56 okay just a confusing page 21:38:10 since the page name was http://www.thefreedictionary.com/accidentally I assumed it would be about that word 21:38:12 god dammit 21:38:27 it's pretty common to fold derived terms like that 21:38:30 in dictionaries 21:38:47 `quote accidentally 21:38:48 157) elliott: it's hard to debug havoc on your mirror if you accidentally hit r, then a character could be multiple words long, depending on the task. \ 275) BYE dbc WE'LL BE SURE TO ACCIDENTALLY MENTION YOUR NICK OFTEN \ 716) oops I accidentally deleted the universe looks weird when you put a verb after acci 21:38:53 guess they could have redirected you at least 21:39:15 hmm, accidentally some more quotes there 21:39:24 Bike, yeah it fooled me though 21:39:44 "I accidentally an accidental in the chorus" 21:39:52 AH! I knew the universe could be destroyed! 716 proves it! 21:40:00 aaaaand that's semantic satiation for me. 21:40:11 `quote 716 21:40:12 716) oops I accidentally deleted the universe looks weird when you put a verb after accidentally like that 21:40:18 `quote 100 21:40:20 100) like, just like I'd mark "Bob knob hobs deathly poop violation EXCREMENT unto;" as English alise: that's great filler ais523: well it contains all the important words in the english language... 21:41:03 hmm, in hindsight I should've said "another verb" 21:41:07 `run echo A | fueue ')~$)[[~~~~()+1][0]$%~~1)][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H]~]][]' #Let's see if this improved input method works 21:41:08 talking about memes. All your accidentally us. 21:41:09 ​.. \ 21:41:20 olsner, ^ 21:41:30 `run echo A | fueue -e ')~$)[[~~~~()+1][0]$%~~1)][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H]~]][]' #Let's see if this improved input method works 21:41:31 ​.. \ 21:41:41 olsner, that one pretty much died out I think 21:41:56 `run echo A | fueue -e ")~$)[[~~~~()+1][0]$%~~1)][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H]~]][]" 21:41:57 ​.. \ 21:42:01 `run echo A | fueue ")~$)[[~~~~()+1][0]$%~~1)][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H]~]][]" 21:42:02 ​.. \ 21:42:05 Nope 21:42:34 Vorpal: beaten to death until it died over and over again 21:43:07 olsner, true 21:43:19 I think accidentally and finnish are my favourite verbs 21:43:40 21:37:39 huh, there's a language called Vorpal? 21:43:40 21:37:43 I just saw it on the deadfish page 21:43:41 `? Ngevd 21:43:42 ​H%!.3YR9}ƍReiб6u\ޟ]qIo{_ibmSݻ}.N6͕"^`/=S2t>dHǪS1hD_+Hd#υjh#?ݶpH슣6x]&r1rԉ 21:43:43 ais523: blame cpressey 21:44:05 elliott: did he name it after Vorpal, or is it coincidence? 21:44:09 why the /dev/urandom 21:44:36 `cat -v /dev/urandom 21:44:37 cat: invalid option -- ' ' \ Try `cat --help' for more information. 21:44:41 `addquote ais523: I'm not sure my grasp of the English language is getting better by visiting this channel.. 21:44:43 `run cat -v /dev/urandom 21:44:43 ais523, it looks like a non-esolang? 21:44:45 957) ais523: I'm not sure my grasp of the English language is getting better by visiting this channel.. 21:44:46 M-(M-L{PM-7LiM-^K^D>?M-$M-jM-V,^[i^Yf3^^AM-WM-(M-^]M-_2M-OM-uM-(M-PYM-^F^_M-LIKM-@M-^FM-^EM->6dM-^HKfM-p{M-@^O^UM-0K;M-9^K^PM-^ZM-(M-]^^KM-^TM-YM-VM-uN+^GBNM-zM-VM-;^kM-^W^XM-zM-vM-^\iM-DM-}^ZcM-^M-EHM-^@M-5M-'fM-;\M-qM-fM-^D4Qmj* M-gM-`^PM-v^M-^OI?7oPHM-AM-^Zy^KM-bM-8oW>:m!M-EAM-t>#PM-k:"M-^XhBM-0M-/M-tM-V-M-Q^]M-aM-^ZM-"M-|FM-=M-KM-_M-tc^Y2^HM-j 21:44:56 Vorpal: I didn't say it was an esolang 21:44:59 ais523, no link to it either 21:45:04 ais523: he didn't make it 21:45:26 elliott: right, just wrote a deadfish interp in it? 21:45:31 right 21:45:34 elliott, is it this one? https://code.google.com/p/vorpalcode/ 21:45:36 yes 21:45:47 `quote boily 21:45:49 944) boily: the man eating chicken is just a normal man, it's quite common to eat chicken in some parts of the world \ 945) ~eval 1+2 Error (127): this is a great bot boily i love it \ 954) not only there is no God, but try to find an APL keyboard on Sunday. \ 957) ais523: I'm not sure my 21:46:10 not so bad history. could have been worse :D 21:46:29 all the -ly words are adverbs <-- holy shit batman 21:46:59 ~eval 1+2 21:47:08 gimme a sec... 21:47:09 hmm, cuttlefish isn't here 21:47:24 -!- cuttlefish has joined. 21:47:40 ais523: どうぞ… 21:47:45 eep that program was buggy 21:47:53 ~eval 1+2 21:47:56 3 21:48:03 look ma, no bugs! 21:48:11 ~eval Error (127): 21:48:11 Error (1): :1:13: 21:48:12 parse error (possibly incorrect indentation or mismatched brackets) 21:48:28 -!- sirdancealot7 has joined. 21:48:36 hmm, that looks a lot like a Python error message 21:48:43 it's haskell 21:48:50 oh right 21:49:00 perhaps I shouldn't feed python to it, then 21:49:07 Taneb: run fueue '...' is the correct format, the program is just buggy 21:49:13 oerjan, okay 21:49:28 ~eval id 4 21:49:28 you can always try. I guess an error 127 will be spewed out as usual, or something. 21:49:29 4 21:49:38 yeah, Haskell 21:49:43 -!- Frooxius has quit (Read error: Connection reset by peer). 21:49:56 ~eval let fix f = let x = f x in x in fix (\r n -> if n == 0 then 1 else n * r (n - 1)) 8 21:49:57 40320 21:49:57 I *do* hope it's haskell. 21:49:59 -!- Frooxius has joined. 21:50:00 ~eval let fix f = let x = f x in x in fix (\r n -> if n == 0 then 1 else n * r (n - 1)) 10 21:50:01 3628800 21:50:17 Probably Haskell 21:50:24 ~eval fix$(<$>)<$>(:)<*>((<$>((:[{- thor's mother -}])<$>))(=<<)<$>(*)<$>(*2))$1 21:50:25 [1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,134217728,268435456,536870912,1073741824,2147483648,4294967296,8589934592,17179869184,34359738368,68719476736,137438953472,274877906944,549755813888,1099511627776,2199023255552,4398046511104,8796093022208,17592186044416,35184372088832,70368744177664,140737488355328,281474976710656,5629 21:50:50 olsner, what does thor's mother have to do with anything? 21:51:00 nothing, it's just a comment 21:51:02 olsner, also I'm a bit disappointed that was not actually part of the program 21:51:11 olsner, I know, that is why I asked why it was there 21:51:27 anyway who was thor's mother 21:51:30 well, I don't know ... I didn't write that part 21:51:32 Vorpal: Maybe it's there to help the maintenance programmer? 21:51:41 oh of course 21:51:44 That's a reasonable reason for comments. 21:51:46 how silly of me not to think of that 21:52:09 boily: what types does it evaluate? just things in Show, or can you give it IO actions? 21:52:17 ~eval interact id 21:52:17 Error (1): No instance for (GHC.Show.Show (GHC.Types.IO ())) 21:52:18 arising from a use of `M1409069964351145295.show_M1409069964351145295' 21:52:18 Possible fix: 21:52:18 add an instance declaration for (GHC.Show.Show (GHC.Types.IO ())) 21:52:22 just things in Show, it seems 21:52:24 ~eval cosh 7 ^ 2 - sinh 7 ^ 2 21:52:25 0.9999999999417923 21:52:34 Rounding error :O 21:52:34 ais523: no IO. it's running on my work machine, and it would be embarassing to have it crash at inopportune moments. 21:52:39 ~eval cosh 7 ^ 2 - sinh 7 ^ 2 :: CReal 21:52:40 Error (1): Not in scope: type constructor or class `CReal' 21:52:40 Perhaps you meant `Real' (imported from Prelude) 21:52:42 boily: indeed 21:52:58 > cosh 7 ^ 2 - sinh 7 ^ 2 :: CReal 21:52:59 ~eval unsafePerformIO $ putStrLn("test") 21:52:59 Error (1): Not in scope: `unsafePerformIO' 21:53:00 1.0 21:53:01 Jörð (as in, "earth") is apparently Thor's mother. 21:53:02 I tried to have it running on a random VM at work once, but the attempt failed. 21:53:04 just making sure :) 21:53:24 don't worry, I took every available precautions before running that kludge here. 21:53:28 I know you guys. 21:53:31 boily: definitely :) 21:53:41 boily: I suspect it can be thwarted 21:53:45 -!- WeThePeople has quit (Quit: Leaving). 21:53:47 I remember when people found a Perl injection hole in Rodney (#nethack's bot) 21:53:57 someone used the hole to get the bot to kill -9 itself, and it was widely considered a good idea 21:54:01 ~eval instance Num () where fromInteger _ = () 21:54:02 before it was used to cause more damage 21:54:02 Error (1): :1:1: parse error on input `instance' 21:54:06 right, so no statements 21:54:24 elliott: I probably haven't stressed it as much as HackEgo or EgoBot, but I believe it to be solid enough. 21:54:26 ~eval v 21:54:27 Error (1): Not in scope: `v' 21:54:37 elliott: the only security hole the students found in my OCaml sandbox was using the FFI to access parts of the standard library they weren't meant to 21:54:46 elliott: it's using a very small subset of haskell, eval'ed with mueval. 21:54:52 Our Scheme course had a Scheme REPL bot, and boy did it have holes. (They did get patched quite quickly after on-channel demonstrations.) 21:55:10 kmc: Hmm, I didn't know that. 21:55:20 fizzie: I'm reminded of the e-reader that came with a setuid helper program 21:55:28 kmc: It looks like a C-style cast behaves the same way. 21:55:30 people demonstrated security bugs in it, the author reacted by fixing just the bug shown 21:55:37 boily: well, you can have security holes even with mueval 21:55:43 elliott: the only security hole the students found in my OCaml sandbox was using the FFI to access parts of the standard library they weren't meant to <-- how did you fix that? 21:55:49 boily: what GHC version is it on? 21:55:54 Vorpal: manually looking at the code and bitching at them if they tried to use it 21:56:14 ais523, couldn't you fix it properly though? 21:56:21 elliott: eeeeeh... I think 7.6.1. 21:56:24 Vorpal: yes but I had to look at the code anyway 21:56:26 so there was no point 21:56:31 ~eval let unsafeCoerce v = z where z :: v; z = v where aux = const v in unsafeCoerce (5::Double)::Int 21:56:32 true 21:56:32 Error (1): Couldn't match expected type `v1' with actual type `t' 21:56:32 `v1' is a rigid type variable bound by 21:56:32 the type signature for z :: v1 at :1:35 21:56:32 `t' is a rigid type variable bound by 21:56:32 the inferred type of unsafeCoerce :: t -> v at :1:5 21:56:37 Aw. 21:56:38 ais523, elliott: http://hpaste.org/81905 21:56:40 and nobody found a way to escape the /other/ sandbox 21:56:44 -!- variable has changed nick to trout. 21:56:47 so it couldn't be used to damage the system it was running on 21:57:00 shachaf: I was about to do that! 21:57:03 shachaf: i think C cast does the same thing as static_cast in the cases where the latter is valid 21:57:05 so I guess it's too new 21:57:06 not sure though 21:57:12 fizzie: I'm reminded of the e-reader that came with a setuid helper program <-- why would an e-reader need a suid helper? 21:57:20 Vorpal: it didn't, this was part of the problem 21:57:27 riight 21:57:34 it was used to mount the e-reader itself on your computer 21:57:44 It was Calibre, actually. 21:57:45 (string->symbol "foo\nIRC COMMAND :goes here\nwhatever") was one somewhat nasty one; the output filtering didn't catch symbols with newlines in their names. 21:57:45 oh 21:57:48 but it was pointed out that there were already well-debugged setuid programs that did that sort of thing 21:57:52 pikhq: yeah, I forgot the name 21:58:09 kmc: Well, it makes sense, if it has the offset anyway. 21:58:28 ais523, speaking of suid, do you happen to know what /usr/lib/pt_chown is? 21:58:36 ~eval data Foo 21:58:36 iirc it is owned by glibc on most distros 21:58:37 Error (1): :1:1: parse error on input `data' 21:58:45 never bothered to look into what it was 21:58:53 Vorpal: it's suid and owned by root on mine 21:58:59 ais523, same 21:59:01 and doesn't have a man page 21:59:02 but what is it for 21:59:13 time to disappear in the great frigid void. 21:59:15 -!- boily has quit (Quit: Poulet!). 21:59:19 ais523, it is in /usr/lib, so presumably not meant to be executed by hand 21:59:19 -!- cuttlefish has quit (Remote host closed the connection). 21:59:28 ldd lists only linux-gate, libc, and ld-linux.so 21:59:34 let's try a web search 21:59:49 ais523, nm -D is not very helpful either 21:59:52 Vorpal: man grantpt. 22:00:02 Vorpal: aha, apparently it creates pseudoterminals 22:00:08 on systems without devpts support 22:00:22 ah 22:00:23 that requires doing mknod, = requires being root 22:00:33 (My "NOTES" section of grantpt(3) mentions pt_chown.) 22:00:38 indeed 22:00:42 I think I have much the same grantpt(3) 22:00:52 if it isn't required, why is the binary on my system 22:01:15 ais523: Does it actually *create* them, as opposed to just setting ownership? 22:01:45 fizzie: good point 22:01:49 just reownering them would make sense 22:01:59 Vorpal: Kubuntu are apparently considering getting rid of it 22:02:03 heh 22:02:05 as part of a sweep of inappropriately setuided things 22:02:09 but not ubuntu? 22:02:31 Vorpal: it sounds like the sort of patch which would probably be shared between them, don't you think? 22:02:32 -rwsr-xr-x 1 root root 18824 jan 1 04:03 /usr/lib/chromium/chromium-sandbox 22:02:37 now that is interesting permissions 22:02:55 why does chromium need to be suid 22:03:12 Vorpal: oh, I think I know this one, it's for doing chrooting and unsharing 22:03:12 ah, it uses chroot 22:03:20 ais523, unsharing? 22:03:32 Vorpal: it's sort-of generalised chroot, it gives you different namespaces for things than the rest of the system 22:03:41 so you can request that you have your own entirely separate set of PIDs, for instance 22:03:51 ah 22:03:51 or an entirely different set of sockets 22:03:54 -rwsr-xr-x 1 root root 245064 aug 24 09:06 /usr/lib/openssh/ssh-keysign <-- sorry, what? 22:04:42 Vorpal: you should look into man 2 unshare if you care about doing any sort of sandboxing in usermode 22:04:47 -rwsr-xr-- 1 root dip 318912 jun 22 2012 /usr/sbin/pppd <-- also what? 22:04:54 it's relatively new 22:05:06 hm cool 22:05:31 on Linux, that is 22:05:33 (it's Linux-specific) 22:05:56 Vorpal: Web of Lies uses it heavily, btw; it's how I once ended up with a filesystem leak 22:06:09 (you'd think it would be difficult to leak filesystems, but…) 22:06:14 heh? really? 22:06:19 wouldn't it die with the process 22:06:36 yeah but just /finding/ the process is hard when it's in an entirely different namespace 22:06:42 also I hit multiple kernel bugs 22:06:45 `run echo A | fueue ')~$)[[)[~~~~()+1])][0]$%~~1)][[)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[H]~] ][]]' #New attempt 22:06:46 65 22:06:47 ais523, ps aux won't list it? 22:06:54 Vorpal: yeah, but Linux thought it was init 22:06:57 and so I couldn't get rid of it 22:07:00 ais523, what about lsof? 22:07:10 or fuser 22:07:11 or specifically, it thought init had a debug trace on it 22:07:17 how? 22:07:29 there is actually no way to get rid of a process that init has a debug trace on, short of rebooting the system 22:07:33 -!- Taneb has quit (Quit: Leaving). 22:07:33 or telling init to kill it 22:08:01 if you try to sigkill it, then the kill gets passed onto init, which doesn't know what to do with it 22:08:01 ais523, is there ever a legitimate reason for init to have a debug trace on anything??? 22:08:04 Vorpal: no 22:08:09 then why 22:08:12 kernel bug 22:08:16 right 22:08:17 sadly I don't know how to reproduce it 22:08:30 one I /do/ know how to reproduce is getting multiple overlapping stack segments in a process 22:08:36 that one's really easy, you just mmap over the stack guard page twice 22:08:50 I should write a non-insane test case for it, then report the bug 22:08:53 ais523, how did you figure out that linux thought init was debugging? 22:08:57 ais523: does even kill -9 get passed on? 22:09:08 elliott, if you try to sigkill it, then the kill gets passed onto init, which doesn't know what to do with it 22:09:09 yes 22:09:12 Vorpal: it's mentioned in /proc 22:09:17 ah 22:09:19 elliott: yeah, it gets converted into SIGCHLD on the way 22:09:41 is it possible to boot with init=gdb? that might reasonably result in init having a debug trace on something 22:09:47 init /does/ understand SIGCHLD (it's its job), but not the specific version of SIGCHLD meaning "something you have a debug trace on was sent a fatal signal" 22:09:57 olsner, yes, but that would be pretty insane 22:10:01 olsner: hmm, good point 22:10:03 I'm unwilling to try 22:10:35 ais523, you could actually have killed it 22:10:40 ais523, without rebooting 22:10:47 init supports re-exec using telinit 22:10:57 just replace init with a new init that would understand how to handle it 22:10:59 gdb as process 1 actually soudns kind of useful 22:11:00 then re-execute init 22:11:11 Vorpal: you think I have spare inits just lying around? 22:11:12 ais523, this would not have required a reboot 22:11:18 but good point 22:11:21 ais523, I think you have a compiler 22:11:26 yeah 22:11:27 this thing with init being special and magical seems pretty bogus in general, why couldn't there just be loads of processes that lack a parent? 22:11:31 -!- carado has quit (Ping timeout: 246 seconds). 22:11:39 ais523, and you would need to customise the code anyway 22:11:42 but writing a correct init without being able to test it is something I'm not confident in being able to do 22:11:47 olsner: well, the kernel exec()s init 22:11:54 so all other processes have to be forked off from init 22:12:06 and I'm not entirely sure what happens if you replace init with something that doesn't work properly 22:12:08 but I doubt it's god 22:12:10 *good 22:12:13 ais523, so do apt-get source then patch it up and compile it 22:12:31 maybe throw it in a VM to test it 22:13:12 Vorpal: this seems like a lot of effort to just get rid of a process in an impossible state 22:13:17 true 22:13:27 ps and top were quite happily bragging about the state it was in, if they had feelings I'm sure they'd be having fun 22:13:39 ais523, how what state was it in? 22:13:57 Vorpal: debug stop, obviously 22:14:02 with no process obviously tracing it 22:14:02 ah 22:14:07 nice 22:14:09 and if you look at /proc, the process tracing it was init 22:14:34 hmm, I wonder what it would have thought it was being traced by from within its own namespace 22:14:36 ais523, maybe the tracing process had died, thus re-assigning the parent to init? 22:14:39 it was being debugged by a process outside the sandbox 22:14:41 Vorpal: yeah, it had 22:14:55 but traces surely shouldn't be reassigned like that 22:14:56 ais523, that would normally kill the debug state presumably? 22:15:03 ais523, have you tested that again? 22:15:33 no, but I doubt trying it under normal circumstances will produce standard results 22:15:41 let's try gdbing a program and kill -9ing gdb 22:15:59 pretty sure killing gdb is harmless 22:16:03 olsner: same 22:16:09 yeah 22:16:11 the question is, what happens to the program it's debugging 22:16:32 it obviously need to be in debug stop too 22:16:51 I think the program continues as if the debugger detached 22:17:04 olsner, what if it was stopped 22:17:40 OK, at the moment, a.out is in tracing stop, and traced by gdb 22:17:42 this much makes sense 22:17:47 now I'll kill gdb 22:18:05 a.out also disappeared 22:18:09 ah 22:18:10 I guess I need an a.out with an infinite loop in it 22:18:13 it killed both? 22:18:26 olsner: hard to tell, this is why I need the infinite loop 22:18:39 I think a.out continued and finished successfully 22:19:04 oh, and save the exit status? it should say how the program died 22:19:27 -!- epicmonkey has quit (Ping timeout: 255 seconds). 22:19:51 yeah, a.out just starts running normally if I kill gdb out from under it 22:20:45 I'm pretty sure that to reproduce the bug, you need a new PID namespace 22:21:13 just killing a debugger is not weird enough to warrant a kernel bug 22:21:18 indeed 22:21:28 it's not the sort of thing you normally do intentionally, but it seems easy enough to do by mistake 22:21:47 ais523, what about if you put the inner process in a different namespace? 22:22:17 Vorpal: you can't easily get gdb to do that, at this point 22:22:25 ah 22:22:32 perhaps you could do it with recursive strace 22:22:44 but you'd need to write your own helper program, also would need root on all processes involved 22:22:49 and I'm too lazy to try to do that right now 22:26:22 ais523, I would doubt recursive trace is allowed 22:26:25 it shouldn't be 22:26:42 of course it should be 22:26:42 or even tracing a parent process 22:26:47 olsner, why 22:26:53 Vorpal: recursive trace works by capturing all the fork commands 22:27:00 and immediately tracing the children too 22:27:02 hm 22:27:14 ais523, err I meant cyclic tracing 22:27:17 why did I type recursive 22:27:23 time to sleep I think 22:27:46 well I said recursive 22:27:56 hmm, I'll admit that cyclic tracing seems troublesome 22:29:20 ais523, anyway you could attach to an existing process 22:29:27 the system calls to set it up are definitely possible to express 22:29:54 huh? man ptrace says that tracing init is legal 22:30:04 I almost want to attach gdb to init now 22:30:08 but I'm not sure what would happen if I tried 22:30:34 there's nothing in the documentation that bars cyclic tracing… 22:31:10 try it in a VM? 22:31:20 I'm trying cyclic tracing on my laptop right now 22:31:41 oh wow 22:31:44 they're both in tracing stops 22:31:46 simultaneously 22:32:35 http://sprunge.us/GEgA 22:33:22 two gdbs attached to each others? 22:33:39 yep! 22:33:48 i think ptracing init is a new feature 22:33:50 'feature' 22:33:53 kmc: indeed 22:33:57 previously it would try to reparent the traced process to the tracer 22:34:21 olsner: strangely, even though gdb 1 was told not to stop gdb 2, it did anyway 22:34:39 I think, because gdb 2 stopped gdb 1, so gdb 1, which it was tracing, stopped too 22:34:43 let's try to break up this gdb-ball, now 22:35:23 kill -9 works, lesser signals seem not to 22:35:41 seems like they just deadlocked when I tried attaching to gdb 2 from gdb 1 (gdb 2 was started with --pid=gdb1) 22:35:59 olsner: yeah, and they're both marked as tracing stop 22:36:12 olsner: can you try to kill gdb 2 in that scenario? I tried to kill gdb 1 instead 22:37:24 term does nothing, kill results in gdb1 saying "Unable to attach: program terminated with signal SIGKILL, Killed." 22:37:34 OK, that's a different result to trying to kill 2 22:37:49 in my case, 1 correctly reported that 2 had been killed 22:38:05 sh -c 'exec strace -p $$' 22:38:32 kmc: have you tried that, or is it just a thought experiment? 22:38:36 i have tried it 22:38:42 i know what happens 22:38:58 hmm, the first run gave me a different result though, maybe because I tried to Ctrl-C both gdbs before killing them (gdb2 first) 22:39:24 kmc: strace checks for it, it seems 22:39:24 gdb/linux-nat.c:1766: internal-error: linux_nat_detach: Assertion `num_lwps (GET_PID (inferior_ptid)) == 1' failed. 22:39:46 gdb says "I refuse to debug myself!" 22:39:50 yep 22:40:05 run gdb in gdb to bypass the check 22:40:23 I won't try to run weboflies inside itself because that actually ends in quite a boring manner 22:40:37 the outside one prevents the inside one from running ptrace 22:40:42 boring! 22:40:45 so you don't get any sort of interesting infinite regress 22:41:13 does that mean you don't support nested weboflies either? 22:41:22 indeed 22:41:39 debugger-like programs are one of the things weboflies is documented to not work on 22:41:40 ais523: that's a good way to check whether you're webofliesed 22:41:43 elliott: I know 22:41:53 I guess in theory I could go through all the effort of implementing ptrace by hand 22:41:58 webofleeced 22:42:00 but I won't unless it turns out to be really relevant 22:42:21 the other thing is, the program running inside weboflies can't be root, and it needs root 22:42:27 ais523, does weboflies work on 64-bit programs yet? 22:42:31 Vorpal: no 22:42:36 it doesn't even work on 32-bit programs yet :) 22:42:42 fair enough 22:42:51 what does it work on? 16-bit programs? 22:42:54 olsner: nothing 22:42:57 ais523, I would like to run it on arm-linux-gnueabihf 22:43:02 Vorpal: really? 22:43:07 ais523, maybe 22:43:12 it needs special-case code for each platform and ABI 22:43:21 this is why I'm focusing on 32-bit x86 22:43:29 ais523, oh? That is going to be a PITA on ARM 22:43:30 weboflies can't fake being root? 22:43:35 Vorpal: exactly 22:43:37 olsner: not yet 22:43:37 due to all the variant-ABIs 22:43:48 I guess there's fakeroot, but it doesn't do a particularly impressive job of it 22:43:58 olsner: how do you react if the inside program tries to break the chroot, for instance? 22:44:07 what does fakeroot actually do btw? 22:44:11 you have to pretend it doesn't exist 22:44:18 Vorpal: lies on some file-related system calls 22:44:21 weboflies-style 22:44:26 ais523, right 22:44:45 like, if it tries to chown a file to root, it pretends it succeeded, and then returns root on any attempt to get the file's owner 22:44:48 it's a library shim not a syscall interceptor right? 22:44:52 kmc: err, probably 22:45:04 that's why i write all my programs as assembly making syscalls directly 22:45:15 kmc, what if you hardlink the file first 22:45:17 err 22:45:17 in the case of fakeroot, though, you want to be lied to 22:45:18 ais523, ^ 22:45:23 Vorpal: it's not perfect 22:45:28 kmc: have you seen weboflies 22:45:29 fair enough 22:45:29 its purpose is to make packages 22:45:32 it's the kind of thing you'd like or hate 22:45:54 ais523, does it store the chown then somewhere, so that the proper owner can be recorded in the package? 22:45:58 i heard about it but forgot 22:46:12 kmc: you should see its code 22:46:15 you'd hate or like it 22:46:16 Vorpal: yes 22:46:21 ah that works 22:46:23 it's so unfinished :( 22:50:09 -!- monqy_ has joined. 22:50:48 -!- monqy has quit (Disconnected by services). 22:50:52 -!- monqy_ has changed nick to monqy. 22:51:59 if the inside program tries to break the chroot, just tell it it wasn't in a chroot in the first place? 22:52:29 olsner: yeah, but that's yet more cases to check, and so on 22:52:39 (you do know how to break a chroot as root, right?) 22:52:56 how's that again 22:53:06 ais523: do you have web o' flies' code to hand? 22:53:08 I've lost it, I think 22:53:08 how about if the inside program creates a chroot with another program (as root) that is "legitimately" supposed to break out from the inner chroot 22:53:17 you cd root, set up a second chroot inside it 22:53:35 then while inside the second chroot, but still inside the root directory of the original chroot (i.e. you're below your own personal root), do a cd .. 22:53:39 then chroot again 22:53:53 it breaks the chroot because if you're /below/ root, you can cd .. as much as you like 22:53:57 I think this is an intended feature 22:59:42 reminds me of what you get when your working directory has been deleted 23:00:14 olsner: I didn't think it was possible to delete another process's working directory 23:01:41 it must be possible :) it's also fun when cd .. fails because the directory has stopped existing 23:01:53 or I guess because it has stopped having a file name 23:02:12 hmm… is it possible to delete the .. /entry/ in a directory 23:02:22 while having a directory containing the directory that's missing a .. 23:02:35 does the '..' entry even necessarily exist? 23:02:47 I think it's meant to, by some spec or another 23:03:52 I mean, that it's an artifact of simulating posix rather than the directory actually having a link named .. that points to the parent directory 23:04:21 what if you didn't have "."?!?!?!?! 23:05:02 `addquote This position is asking for "- Extensive experience with API" You're just not qualified, kid. 23:05:06 958) This position is asking for "- Extensive experience with API" You're just not qualified, kid. 23:08:04 gah python.... repr(x) = '1357675209.248774', str(x) = '1357675209.25' 23:08:12 in particular this means 'print' doesn't print floats with full precision 23:08:22 isn't that sort of a good thing 23:08:30 since otherwise print would print huge monstrosities 23:08:37 no it's not a good thing 23:08:39 it's too magic and implicit 23:08:52 if you want only 2 decimal places you can use '%.2f' % (x,) 23:09:23 evidence that it's too magic and implicit: i've been programming in python for many years and only just noticed this, when i couldn't grep some files for the floats supposedly loaded from those files 23:13:22 well you know what's too magic and implicit 23:13:31 it's automatically converting values to strings by implicit rules that nobody will know inherently 23:13:37 because there are tons of ways to convert any value to a string 23:14:25 kmc, pretty sure %f in C's printf doesn't do full precision either? 23:14:25 elliott: toString() 23:14:27 :) 23:15:54 I would be unsurprised to find that the rule is "output the shortest string that results in the same binary representation". 23:16:16 Rather than the perhaps saner "output the decimal conversion of the float". 23:16:29 it's either that or undefined behaviour 23:17:03 i recall finding out that efficient, exact float -> string conversion is surprisingly complicated 23:17:11 or maybe it was the other way 23:17:28 everything involving floats is surprisingly complicated, i shouldn't be surprised by it by now 23:17:41 iirc string->float is the really tricky one, but float->strings is most likely pretty tricky too 23:18:55 kmc: Exact float->string conversion can be fairly easy if you use hex float syntax. :P 23:19:03 hmm, or maybe float->string was the tricky one... there was that bug in dtoa where it went into an infinite loop 23:19:30 maybe I actually meant it that way around in the first place but wrote the words in the wrong order 23:24:36 ah yeah that was a great bug 23:24:43 DoS any PHP or Java app 23:24:59 though PHP fucking something up is not in any way evidence that it's a tricky problem 23:25:43 `fetch http://sprunge.us/YaOJ 23:25:46 2013-02-06 23:25:45 URL:http://sprunge.us/YaOJ [3900] -> "YaOJ" [1] 23:26:36 `run chmod a+x YaOJ; mv YaOJ bin/shove 23:26:40 No output. 23:26:42 iirc this was the one case where php did the right thing and used the library that already solved this tricky problem that no-one knows how to solve, but that it had an actual bug 23:26:51 Man. Ithkuil is quite the thing. 23:27:08 The word "âdraxhtipší" translates literally as "apparatus designed for obeying synergistically composite sets of rules". 23:27:25 Or, a bit more nicely, as "computer". 23:27:46 that would be a good name for a programming language 23:27:51 -!- SirCmpwn has quit (Excess Flood). 23:28:25 Âdraxhtipší. It's difficult to type, but not extremely so. 23:28:34 -!- Phantom_Hoover has joined. 23:28:45 On my keyboard, it's "alt-6 A d r a x h t i p alt-v s alt-e i". 23:28:53 "No person, including Quijada, is hitherto known to be able to speak Ithkuil fluently." 23:28:53 -!- SirCmpwn has joined. 23:29:57 Userspresumably none (2012) 23:30:01 Sort of ironic how Ithkuil is kind of supposed to be extremely concise, and yet its word for "computer" is longer than the English word for computer. 23:30:21 In 2008, it won the Smiley Award 23:31:33 The difference, I suppose, is that while "computer" has three longish morphemes, com-put-er, "âdraxhtipší" presumably has a whole ton of short morphemes. 23:31:40 monqy: are you new to ithkuil? 23:31:43 it's an amazing thing 23:31:48 apparently "Ithkuil doesn’t use the concept of zero." 23:32:05 Right, it does. "â-dr-a-xht-ipš-i", six morphemes. 23:33:01 Looks like the root is... "eu", actually, but it's abbreviated out of the word entirely or something. 23:33:36 elliott: somehow i've never heard of it before 23:33:39 elliott: but it's amazing yes 23:33:40 65 consonants and 17 vowels o.O 23:33:48 monqy: listen to the example sentence pronunciation on wikipedia 23:33:49 it's great 23:34:00 ompeaaa a keth luch tuch 23:35:36 As our vehicle leaves the ground and plunges over the edge of the cliff toward the valley floor, I ponder whether it is possible that one might allege I am guilty of an act of moral failure, having failed to maintain a proper course along the roadway 23:37:04 and the IPA for it looks like it comes straight from /dev/urandom 23:37:09 `run echo '"Hello world!"S' | shove 23:37:12 ​ \ actual size: (15, 1), pos: (0, 0) \ rotated for viewing; pos: (0, 0), dir: 0 \ stack: \ *Hello world!"S \ \ actual size: (15, 1), pos: (14, 0) \ rotated for viewing; pos: (14, 0), dir: 0 \ stack: {Hello world!} \ "Hello world!"* \ Hello world! 23:37:30 ˈpʊ́l̪l̩̪̀ ʊˈɪ́qɪ̀ʃx ˈmáʔwàɫ̪ɡ ɛʁjaʊ̯fɤˈn̪ɪ́ɛ́n̪ ˈpǽθwɯ̀ç aʊ̯ˈxɤ́ʔjàɬt xn̪ɛʔwiɬˈtáʔʂʊ̀ɪ̯ ˈt̪ʊ́à kɪ̂t̪ œl̪ˈːâ jaˈqázmʊ̀ɪ̯v l̪ɪʔjɯɾˈzɪ́ʂkàʔ pʼamˈm̩̂ aɪl̪ɔʔˈwɤ́tʃːà ʃʊʔˈjɛ́ɸt̪àʂ 23:37:37 bit unoptimal output for HackEgo 23:37:53 stop that 23:37:56 you break my terminal 23:38:23 Romanization: Pull̀ uíqišx ma’wałg eřyaufënienˉ päţwïç auxë’yaļt xne’wïļta’şui tua kit öllá yaqazmuiv li’yïrzişka’ p’amḿ aìlo’wëčča šu’yehtaş 23:39:12 oerjan: is that my shove interp? 23:39:16 yes 23:39:21 I was wondering if you'd written your own 23:39:48 bit of a waste given yours is the only information i have about the language. 23:39:59 indeed 23:40:12 it seems to output debug info 23:40:40 hmm… rare for me to finish an esolang then forget to tell anyone about it 23:40:46 I must just have never got round to writing the spec 23:41:15 I nominate oerjan writes the spec 23:41:18 that'd be a world first I think 23:41:49 wat 23:42:47 a world first of someone writing the spec for someone else's esolang 23:43:38 why oerjan not you? laziness? 23:44:27 I don't _do_ things... 23:44:29 "ais523 created the esolang Shove in 2008, but somehow forgot to tell anyone until 2013" 23:44:34 also oerjan seems to know how to write a program in it and I don't :P 23:44:35 just checked the file modification dates 23:44:46 it's hard to do control flow 23:48:33 that reminded me of another language but i forgot which one so i searched for it and it's Burn. 23:50:56 (wow! people are talking about esolangs!) 23:51:57 Burn is quite an awkward language 23:52:08 because I wrote one program in it, and never remembered the spec 23:52:24 the program's online, but I'm not sure anyone's seriously tried to figure out the spec from it 23:52:29 perhaps I should try sometime 23:52:45 having designed the esolang in the first place, I probably have the best chance 23:57:44 `fetch http://oerjan.nvg.org/esoteric/shove/shove 23:57:49 2013-02-06 23:57:48 URL:http://oerjan.nvg.org/esoteric/shove/shove [4006/4006] -> "shove" [1] 23:57:57 `run chmod a+x shove 23:58:00 No output. 23:58:04 `mv shove bin/shove 23:58:06 mv: missing destination file operand after `shove bin/shove' \ Try `mv --help' for more information. 23:58:09 `run mv shove bin/shove 23:58:12 No output. 23:58:26 `shove "Hello, world!"S 23:58:28 Hello, world! 2013-02-07: 00:11:08 `fetch http://oerjan.nvg.org/esoteric/shove/shove 00:11:11 2013-02-07 00:11:10 URL:http://oerjan.nvg.org/esoteric/shove/shove [4053/4053] -> "shove" [1] 00:11:13 `run chmod a+x shove 00:11:16 No output. 00:11:17 `run mv shove bin/shove 00:11:20 No output. 00:16:58 -!- zzo38 has joined. 00:18:17 oerjan: modified to only print output? 00:18:55 also to take a program on command line by default 00:19:18 -!- DHeadshot has joined. 00:19:28 `run echo '"Hello, world!"S' >test 00:19:31 No output. 00:19:58 `run shove -d -f test #Now with options 00:20:18 `cat test 00:20:19 ​"Hello, world!"S 00:20:29 No output. 00:20:37 `run yes | shove -d -f test #Now with options 00:20:39 ​ \ actual size: (16, 1), pos: (0, 0) \ rotated for viewing; pos: (0, 0), dir: 0 \ stack: \ *Hello, world!"S \ \ actual size: (16, 1), pos: (15, 0) \ rotated for viewing; pos: (15, 0), dir: 0 \ stack: {Hello, world!} \ "Hello, world!"* \ Hello, world! 00:22:22 oh and the debugger now waits for stdin even if it's from a file. 00:23:59 hm i wonder 00:24:27 `run shove 'v' '>"Test"S' 00:24:29 Test 00:25:06 i wasn't sure if i'd made it use one line per argument or not. 00:31:41 -!- ais523 has quit. 00:39:44 `run shove '" '\''Hello, world"'\''S"(' 00:39:45 Unterminated string. at /hackenv/bin/shove line 140. 00:40:07 `run echo '" '\''Hello, world"'\''S"(' 00:40:08 ​" 'Hello, world"'S"( 00:40:17 `run shove '" '\''Hello, world"'\''S(' 00:40:19 Unterminated string. at /hackenv/bin/shove line 140. 00:40:49 `run shove '" '\''Hello, world'\''S"(' 00:40:50 No output. 00:40:57 darn 00:41:06 `run shove '" '\''Hello, world'\''S"(' 00:41:08 No output. 00:41:26 `run echo '" '\''Hello, world'\''S"(' 00:41:27 ​" 'Hello, world'S"( 00:42:18 `run echo '" '\''Hello, world'\''S"S' 00:42:20 ​" 'Hello, world'S"S 00:42:29 `run shove '" '\''Hello, world'\''S"S' 00:42:30 ​ 'Hello, world'S 00:46:41 shachaf: do you know anything about http://fpcomplete.com/ 00:47:00 kmc: i know spj is investing in them or something 00:47:08 and snoyman works there? 00:47:11 and johnw works there 00:47:12 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:47:14 interesting 00:47:26 not sure what they actually do 00:47:40 there is some haskell school thing(?) maybe online(?) they're running 00:47:53 Massive Online Monad Tutorial 00:50:43 kmc: I know pretty much what elliott knows. 00:51:01 I think they're making an online Haskell IDE or something? 00:52:23 `run shove ' v' 'v V" olleH"<' '>", world!"S' 00:52:25 No output. 00:52:32 wtf now again 00:52:50 ok 00:52:56 the website looks... slick in the wrong ways 00:53:01 but i guess they have some legit people involved 00:53:58 oh duh shove is evil :P 00:54:07 Functional Programming technology 01:00:24 `run shove '" ,olleH"V v' ' S"!dlrow"<' 01:00:26 Hello, world! 01:02:05 My idea of some music format: The header is sixteen frequencies of the notes of the lowest octave, followed by eight waveforms of thirty-two frames each, where each frame is four bits. And then, follow by commands. The frequencies are converted to periods when it is loaded. Durations are also converted to periods. 01:02:06 zzo38: You have 1 new message. '/msg lambdabot @messages' to read it. 01:02:12 ok that was slightly amusing 01:02:27 0xxx.xxxx = note playing. 0111.1111 = rest. 01:03:16 `cat bin/log 01:03:18 ​#!/bin/sh \ cd /var/irclogs/_esoteric \ if [ "$1" ]; then \ grep -P -i -- "$1" ????-??-??.txt | shuf -n 1 \ else \ file=$(shuf -en 1 ????-??-??.txt) \ echo "$file:$(shuf -n 1 $file)" \ fi 01:03:24 1000.0xxx = select waveform. 1000.1xxx = select waveform with phase reset. 1001.0xxx = channel start intro. 1001.1xxx = channel start loop or go to loop. 1010.xxxx = volume. and so on 01:03:42 Including duration, duration MRU, and local repeats. 01:03:48 Now is this good enough, do you think so? 01:03:52 ?messages 01:03:52 shachaf said 1d 4h 20m 13s ago: CodensityAsk reminds me of type MendlerAlgebra f c = forall a. (a -> c) -> f a -> c (except that it's different) 01:04:27 hi lambdabot 01:05:07 zzo38: mm, thinking carefully about the purpose of this music format may be a good idea. 01:05:36 tswett: Just that I would find it easy to implement in C with SDL, and to create music files of that format with CsoundMML. 01:05:54 Yeah, but what are you trying to represent? 01:06:00 Do you want it to be able to express arbitrary sounds? Encode the waveform. To express arbitrary sounds in a space-efficient manner? Encode the program that generates the waveform. 01:06:26 shachaf: What is MendlerAlgebra for, though? It is not a functor 01:06:34 `run cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail 01:06:37 01:03:48: Now is this good enough, do you think so? \ 01:03:52: ?messages \ 01:03:52: shachaf said 1d 4h 20m 13s ago: CodensityAsk reminds me of type MendlerAlgebra f c = forall a. (a -> c) -> f a -> c (except that it's different) \ 01:04:27: hi lambdabot \ 01:05:07: zzo38: mm, thinking carefully about 01:07:06 tswett: encode the program that generates the music format 01:07:11 tswett: Well, there is the balances of simplicity, speed, compact, etc 01:07:13 @google MendlerAlgebra 01:07:15 http://www.haskell.org/haskellwiki/Catamorphisms 01:07:15 Title: Catamorphisms - HaskellWiki 01:07:34 "Mendler and the Contravariant Yoneda Lemma" is this a children's novel 01:08:15 Sure also such things as NSF and MOD and so on usable, but I don't quite easily enough find the C program to play it properly using SDL 01:08:32 `run printenv 01:08:34 TERM=linux \ http_proxy=http://127.0.0.1:3128 \ HACKENV=/hackenv \ PATH=/hackenv/bin:/opt/python27/bin:/opt/ghc/bin:/usr/bin:/bin \ PWD=/hackenv \ LANG=en_NZ.UTF-8 \ HOME=/tmp \ SHLVL=1 \ _=/usr/bin/printenv 01:09:43 monqy: do you know what an end is 01:09:43 zzo38: *nod* I wonder, then, is there any particular reason you're not just using WAV files? 01:09:51 shachaf: what's an end 01:10:13 monqy: i don't know :'( 01:10:17 oh 01:10:18 In category theory, an end of a functor is a universal dinatural transformation from an object e of X to S. 01:10:50 ok 01:10:56 `run cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail -2 01:10:59 tswett: WAV files will be too large and maybe wrong sample rate 01:11:00 01:10:50: ok \ 01:10:56: `run cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail -2 01:11:17 Also we would want looping of music 01:11:25 monqy: i was hoping you could tell me what it means 01:12:03 So yeah. I was under the impression that the purpose of Ithkuil was to express normal amounts of information with small amounts of text; it turns out the purpose is actually to express large amounts of information with normal amounts of text. 01:12:12 `run cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed 's/.*> //' #Worst kimian quine ever? 01:12:16 ​//' #Worst kimian quine ever? 01:12:21 oops :P 01:12:32 `run cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed 's/.*?> //' #Worst Kimian quine ever? 01:12:36 ​//' #Worst Kimian quine ever? 01:13:22 `run cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed 's/[^>]*> //' #Worst Kimian quine ever? 01:13:25 ​`run cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed 's/[^>]*> //' #Worst Kimian quine ever? 01:13:30 there you go. 01:14:09 zzo38: *nod* May I ask why they're too big? 01:14:10 I don't think it is a Kimian quine though; I think a Kimian quine is one which the system's error message is the same as the program text. But I can see how it works 01:14:12 `echo bin/quine 01:14:14 bin/quine 01:14:26 zzo38: oh right. i guess i meant cheating quine then 01:14:27 oops 01:14:32 `cat bin/quine 01:14:34 cat: bin/quine: No such file or directory 01:15:57 tswett: You know... 01:15:58 `run echo 'cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed '\''s/[^>]*> //'\'' #Worst cheating quine ever?" >bin/quine 01:16:00 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 01:16:28 `run echo 'cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed '\''s/[^>]*> //'\'' #Worst cheating quine ever?' >bin/quine 01:16:31 No output. 01:16:50 `run quine #Also the best. 01:16:52 bash: /hackenv/bin/quine: Permission denied 01:17:02 `run chmod a+x bin/quine 01:17:06 No output. 01:17:08 `run quine #Also the best. 01:17:11 ​`run quine #Also the best. 01:18:06 zzo38: because you have either a large number of music files or a significant space limitation? 01:18:25 `run quine | rot13 01:18:28 No output. 01:18:32 oops 01:18:37 `run quite 01:18:39 bash: quite: command not found 01:18:40 `run quine 01:18:43 ​`run quine 01:18:49 I also do not know any MML compilers for MOD and S3M formats (neither format can do desynchronization, and way of combining blocks in those formats makes it difficult to work with too) 01:18:51 So, like, how does it work? 01:18:53 `cat bin/rot13 01:18:54 echo "$@" | tr a-zA-Z n-za-mN-ZA-M 01:19:01 `run quine | rot13 01:19:04 No output. 01:19:13 wtf is wrong with that 01:19:22 oh of course 01:19:34 `run rot13 $(quine) 01:19:38 ​`eha ebg13 $(dhvar) 01:19:54 tswett: Well, yes those are reasons too. 01:19:54 `run echo aru | rot13 | rot13 01:19:56 No output. 01:20:06 tswett: it simply finds the last line in the logs and removes everything up to the nick 01:20:23 `run rot13 `quine` 01:20:26 ​`eha ebg13 `dhvar` 01:20:29 oh, I see 01:20:35 zzo38: then I don't know what the reason you were referring to is. 01:20:39 `run echo $(quine) 01:20:43 ​`run echo $(quine) 01:20:44 oerjan: this is a beautiful program 01:20:46 oerjan: mm. 01:20:48 `quine 01:20:51 ​`quine 01:21:00 tswett: Those are what I refer to, too. 01:21:05 `quine the first 01:21:08 ​`quine the first 01:21:15 Hm, I fail at, like... doing this correctly. 01:21:18 `quine 01:21:18 brief 01:21:21 brief 01:21:25 `quine the first 01:21:25 `quine the second 01:21:28 ​`quine the second 01:21:28 ​`quine the second 01:21:30 There we go. 01:21:37 nooooo 01:21:58 oerjan: it should make sure the line starts with a ` at least 01:23:13 elliott: oh? i thought the failure modes were part of the charm. 01:24:05 tswett: Do you know of the C libraries to play the other formats on SDL, though, and of the MML compiler into some such format? 01:24:22 Nope. 01:24:28 HackEgo: `echo hi 01:24:38 it doesn't do such fancy things... 01:24:53 `cat bin/quine 01:24:54 oerjan: ostensibly 01:24:54 cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed 's/[^>]*> //' #Worst cheating quine ever? 01:25:27 no don't fix it 01:25:35 oh ok 01:27:33 did ais523 say shove was TC? 01:28:00 I don't think so 01:28:46 elliott: Shove is TC, I think; you can compile Underload into it 01:28:49 proof by ais523 said so 01:32:57 Do you know if a trigger in SQL is allowed to call itself? 01:35:01 kmc: UTF-16 apparently had better performance than UTF-8 for "text" 01:35:08 They ported it and then decided to stick with -16 01:35:12 interesting 01:35:16 Apparently it had to do with the four-way branch or something? 01:35:19 I don't know. 01:35:40 was that in realistic situations or synthetic microbenchmarks? 01:35:53 Well, it probably also depends on what text you are encoding and on the program which uses it, and on other things. 01:36:35 I don't know the details. It's just what I overheard from edwardk (it was a SoC project). 01:36:36 what's the internal structure of text, again? finger tree? rope? 01:36:38 flat? 01:36:46 Just a plain ByteArray 01:36:52 Also the Unicode C library they use whose name I've forgotten uses UTF-16. 01:37:02 * elliott wishes there was a good rope library for Haskell. 01:37:03 ICU? 01:37:09 Yes, ICU was a big consideration. 01:37:20 it seems like a good data structure would be a finger tree of ~few-kB UTF-8 chunks 01:37:38 edwardk has a UTF-8 finger-tree string implementation on Hackage (in several different packages). 01:37:42 annotated with things like the number of codepoints in each 01:37:48 mm 01:37:50 The problem is he doesn't care about it to the point where he actually didn't realise it existed until I pointed it out. 01:37:58 haha 01:38:05 that's amusing 01:38:23 He cares about it for his parsers. 01:38:25 * elliott thinks ~few-kB might be a bit too big for a persistent structure. 01:38:28 If you're modifying it constantly. 01:39:05 maybe smaller at the ends 01:39:11 anyway it's something you would have to tune 01:39:19 i don't claim any a priori insight about what the best size is 01:39:42 You could annotate it with more than codepoints; that would be pretty cool 01:39:50 Might not be worth the cost, though. 01:40:03 you could annotate it with an arbitrary monoid 01:40:04 so easy 01:40:07 Not sure codepoints by itself is useful. Random access by codepoint isn't a particularly interesting operation. 01:40:10 yeah 01:40:15 'width in terminal' would be a fun one 01:41:05 I wonder if (forall w. Monoid w => (UTF8String -> w) -> Rope w) would be a good string representation, where "w" is the annotation. 01:41:19 Hey, Rope would even be a Functor then. (The Functor instance would be one you don't actually want for string manipulation, but still.) 01:41:33 I guess if you get that generic it might as well be Rope w UTF8String. 01:41:50 Hmm, I guess you can define (Rope w a) as a w-annotated FingerTree of vectors of a. 01:42:10 That way type String = Rope Whatever Char is a proper Functor. 01:42:23 Except for the part where it wouldn't be since you want the vector to be unboxed and that requires an Unbox typeclass and stuff. 01:42:26 * elliott sigh 01:43:20 It'd be nice if Vector could be totally polymorphic and somehow adapt itself to be unboxed whenever you use it on a type that can be unboxed. 01:44:38 isn't that one of the motivating examples for type families 01:44:39 That seems something that Haskell just doesn't do, and might be difficult even if another programming language that can be made up to do such things, would still be difficult, if you want to have adapt to box/unboxed. However, an idea is to use macros somehow. 01:45:07 Type families might do it but you still would have to write it for every one, rather than having it done automatically. 01:45:07 data instance Vector (a,b) = VPair (Vector a) (Vector b) -- or such 01:46:51 But if you write "type family" then you cannot write "data instance" on it; it has to be "type instance" even though they should allow "data instance" in such cases too, they don't. (But it is good and correct that "data family" don't allow "type instance") 01:47:56 zzo38: You can always just define a separate data type. 01:48:39 shachaf: Yes I know so, and that is a way to work-around, but still I think should be allowed 01:48:54 I'm not sure that it should. 01:49:00 But anyway did you submit a bug report and/or patch? 01:49:16 Macros don't work. 01:49:21 Since you want a Functor instance. 01:49:35 kmc: The problem is you can't write (a -> b) -> Vector a -> Vector b 01:49:39 Because what constructors does it have? 01:49:40 No. I have made some suggestion of various things but mostly nobody wanted it 01:49:46 So you need a typeclass for "something you can construct a Vector out of" 01:49:48 So you lose Functor 01:49:58 elliott: C macros won't work, of course; I don't mean C macros. 01:49:58 yes 01:50:36 What you want is a "default typeclass instance" with all sorts of awful overlapping instances stuff with the understanding that it's OK because they all have the same semantics. 01:50:43 But I don't think there's a way to make it properly with GHC. 01:50:51 Functor instance is derivable and if so will be the only correct way to do it, otherwise it is not possible to be done. 01:51:04 elliott: Yes, it is not possible to do properly with GHC that is what I meant. 01:51:16 why is dr strangelove so wonderful 01:51:18 (Unless they added an extension to do it properly, but that might be very difficult) 01:51:42 -!- Arc_Koen has quit (Ping timeout: 264 seconds). 01:57:48 -!- Arc_Koen has joined. 02:05:29 `shove '"'"'"'"'"!"S'S)"S)'S)"S)'S)"S)'S)"S)'S) 02:05:31 ​"'"'"'"'"!"S'S)"S)'S)"S)'S)"S)'S)"S)'"'"'"'"!"S'S)"S)'S)"S)'S)"S)'S)"'"'"'"!"S'S)"S)'S)"S)'S)"S)'"'"'"!"S'S)"S)'S)"S)'S)"'"'"!"S'S)"S)'S)"S)'"'"!"S'S)"S)'S)"'"!"S'S)"S)'"!"S'S)"!"S! 02:06:47 he didn't joke when he said ' and " nested inside each other 02:07:12 nice 02:07:45 `shove '"'"'"'"'"!"S'S)"S)'S)"S)'S)"S)'S)"S)'S)"Hm"S 02:07:47 ​"'"'"'"'"!"S'S)"S)'S)"S)'S)"S)'S)"S)'"'"'"'"!"S'S)"S)'S)"S)'S)"S)'S)"'"'"'"!"S'S)"S)'S)"S)'S)"S)'"'"'"!"S'S)"S)'S)"S)'S)"'"'"!"S'S)"S)'S)"S)'"'"!"S'S)"S)'S)"'"!"S'S)"S)'"!"S'S)"!"S!Hm 02:08:15 and ) (shoving in the same direction as you're moving seems to behaving relatively intuitively 02:08:18 *+) 02:08:27 *+be 02:10:56 * oerjan just realized the semantics of shoving means it is impossible to delete characters from the grid 02:11:24 * elliott suspects oerjan understands this language better than ais523 does already. 02:11:47 * oerjan suspects that's a little early 02:12:01 especially given ais523 claimed to be able to compile underload to it 02:12:20 * elliott suspects that meant "there seem to be equivalent enough operations to do it" 02:13:04 ...i had trouble enough just concatenating "Hello, " and "world!" above 02:20:05 `run echo Testing | fueue '):[)$$6-%0~~[$~])~[)$~~~%~~)[[0[33 H])[)[H]]!][1)[)))($[[)[~~~~()+1])][0]$%~~1)][][)[)$%0[)[))$11~<<~:(~:< ]])[):] ]] ]]])] ] [1[1][[50]<:[[52]<:]][[54]<:[[56]<:]]]' 02:20:07 Testing 02:20:45 one has a slight hunch that simpler cats are possible :P 02:21:33 (this one is a translation from +[,.], as seen from just inside the loop 02:21:35 ) 02:22:59 is there no known fueue cat? 02:23:00 apart from that one I mean 02:25:13 fueue sure looks like a "tar pit" hm 02:25:28 elliott: i don't think i've ever bothered to make one 02:27:00 also EOF handling is a bit unspecified. the C interpreter is the only one which even handles it, by accident treating it as a negative number. which means the same as 0 for most purposes, since i have found no way to do input preserving a 3-way distinction. 02:27:34 oerjan: "By accident"? 02:27:43 oerjan: What, by just handing whatever getc() returns? 02:27:44 pikhq: or by default. 02:27:47 yeah. 02:28:22 Ah, yeah. Technically EOF can be anything in C so long as it's not confuseable for a character, but in practice it's -1. 02:28:22 the ocaml and haskell interpreters also do nothing special, which means they will raise exceptions. 02:28:39 pikhq: i think it's required to be < 0. 02:28:50 -!- Bike has left. 02:29:35 Ah, it is required to be negative. 02:30:05 i can distinguish 0 from EOF at the cost of identifying everything else with one of them. 02:31:14 (if i apply - first, EOF becomes positive and everything else becomes identified; if i apply % first 0 becomes 1 and everything else 0.) 02:31:15 how useful 02:32:46 incidentally there is probably no quick way to determine whether a number is negative or positive :P 02:33:10 (in general, not just at input) 02:35:45 maybe something with division could work, but fueue doesn't specify which way / rounds 02:36:06 Nor does C. :) 02:36:19 indeed 02:37:14 (the slow way is to use $ to make copies of blocks, which you then have to delete if the number is large positive.) 02:37:57 i assume <0 is treated as 0 there 02:38:54 oh hm wait... 02:39:07 scratch that, i just thought of a way 02:39:25 well at least constant number of arithmetic operations 02:40:32 (x^2 + 2*x+1)/(x^2 - 2*x+1) will be 0 iff x is negative. 02:41:51 (handling overflow left as an exercise for the reader.) 02:50:46 -!- WeThePeople has joined. 02:51:35 O no! I realized that in this Dungeons&Dragons game I was playing yesterday, they are leading us into a trap! That guard in the barn (even though they blocked the way we intended to get in, and they *knew* we would be coming the other way anyways), I thought it was a decoy but now I think it is actually a double bluff!! They left the copy of the delivery note there deliberately so that we would find it! 02:52:36 I think so far we have actually done exactly what they expected us to do. I wouldn't be too surprised if I found the cutlery which they left behind (why didn't they deliver that?) is cursed. 02:53:11 O no! 02:54:01 zzo38: Can I join your Dungeons&Dragons games? 02:54:48 Probably not; possibly due to your location. 02:55:32 You should move to California. 02:55:44 Alternatively, I could move to Vancouver? Or wherever it is you are. 02:55:45 No. 02:56:35 That is close enough. 02:57:04 too close?? 02:57:49 I might be in Victoria in Victoria Day, in the "Sushi Plus" Japanese restaurant. (in case you want to know what I am) 02:59:25 is Victoria Day the Canadian version of Victory Day 02:59:55 I don't know. 03:00:30 zzo38: I was in Victoria once. 03:00:31 But on Victoria Day I usually go to Victoria since it is just very close in Vancouver Island and takes only an hour or so on the ferry boat to get there. 03:00:45 I took the ferry! 03:00:55 Hmm, I'm not sure whether it was a ferry boat or a ferry airplane or what. 03:00:59 But it was definitely a ferry. 03:01:09 monqy: hi 03:01:12 ??? 03:01:18 hi shachaf???????? 03:01:19 OK,have you been to that restaurant? 03:01:30 monqy: did you learn about kan extensions in my absence............. 03:01:44 no but i learned about gosh what did i learn about 03:01:50 cheese sauce 03:01:52 monqy: or did you decide to "spill the beans" about galois connections 03:01:54 i learned about cheese sauce 03:02:10 monqy: "spill ur beans plz" 03:02:26 ok ok i found the recipe online but still 03:03:39 monqy: the beans recipe or the cheese sauce recipe 03:04:01 i didn't make beans 03:04:35 i had other stuff with the cheese sauce but none of them were beans 03:04:43 did you spill them 03:05:01 i think i spilled one of the broccolis accidentally 03:07:09 was it this one: http://upload.wikimedia.org/wikipedia/commons/4/4f/Fractal_Broccoli.jpg 03:07:33 no just a normal broccoli 03:08:26 apparently that's actually a cauliflower? 03:08:35 SORRY 03:08:42 i had cauliflower too but not that cauliflower. and i didn't spill it. 03:08:42 fractal cauliflower 03:08:52 if it's called cauliflower then why does the url say broccoli 03:08:55 checkmate monqyists 03:21:04 -!- WeThePeople has quit (Quit: Leaving). 03:28:28 -!- zzo38 has quit (Read error: Connection reset by peer). 03:29:10 -!- Arc_Koen has quit (Quit: Arc_Koen). 03:29:31 -!- WeThePeople has joined. 03:29:51 -!- zzo38 has joined. 03:30:08 (My computer was rebooting) 03:30:24 zzo38: have you ever met victoria 03:36:06 Not really 03:38:57 -!- WeThePeople has quit (Quit: Leaving). 03:41:59 shachaf: http://grsecurity.net/~spender/msr32.c __asm volatile(".intel_syntax noprefix\n" ...) 03:44:03 I imagine switching back and forth a lot could be pretty annoying. 03:44:49 not as annoying as AT&T syntax, apparenty 03:44:55 AT&T syntax *is* pretty bad 03:45:16 i'm surprised he doesn't define a macro to switch back and forth... I guess then you would need a \ on each line 03:46:20 Ugh, AT&T syntax. 03:46:40 kmc: I mean mentally switching back and forth. 03:46:56 * shachaf is much more used to AT&T syntax than Intel syntax. 03:46:58 -!- WeThePeople has joined. 03:47:09 (Intel syntax is also not that great. :-( ) 03:47:29 Do you prefer the DOS DEBUG assembler syntax? 03:47:49 i imagine that if you're reading the Intel manuals all the time, you might want to stick to Intel syntax 03:47:56 but if you're reading objdump output all the time, you might stick to AT&T :( 03:49:30 objdump -M intel 03:49:36 ah right 03:49:48 shachaf: Intel syntax sucks less. 03:49:57 Yep. 03:50:02 Both suffer from a fundamental problem, though... 03:50:04 x86 sucks. 03:50:04 :) 03:50:21 x86 is underrated, y'all are just hipsters 03:50:55 x86, as well as many modern instruction sets, are full of dumb thing. 03:51:18 x86 is the anti-modern instruction set. 03:51:34 i agree that x86 is full of dumb things but most of them are not relevant if you are writing userland code on a modern OS 03:51:43 Yes, it is very old but then made updates to change to make with modern things, and that is much worse. 03:51:47 and even to large degree, if you are reading compiler output for userland code in a modern OS 03:53:01 I happen to like the ARM2 instruction set, although modern ARM instruction sets are becoming extremely complicated, and there are even at least three instruction sets, and so on. 03:53:16 yeah ARM is nice 03:53:21 i happen to like monoids 03:53:23 it has its own weird corners though 03:53:29 even setting aside Thumb 03:53:31 want to wrestle on the floor about it 03:53:35 :( 03:53:42 is that how real hackers settle disputes 03:53:53 maybe you can advise Sgeo about the "Are you a Hacker?" question 03:54:32 Adavise 03:54:35 kmc: I just mean the ARM2 instruction set, not all the junk they added afterward. 03:55:39 The stuff they added afterward also happens to be patented, and I don't like patent, however, perhaps in this case something good came from it which is that the Amber core only implemented the ARM2 and therefore did not implement all of the complicated junk! So at least there is one advantage to having such a patent, even though patent is bad in general. 03:56:53 can you get Apple to patent the osx ui 03:57:00 so ubuntu stops copying it and becoming bad 03:58:23 I think it is too late now; simply work on to make a separate UI for Ubuntu if you want, that can be improved if you still want the other stuff of Ubuntu specifically rather than other Linux distributions. 03:58:58 But, yes, it might have helped I guess. 03:59:17 I don't even use Ubuntu now. 03:59:28 Patents might work if only extremely terrible and complicated things are patented, for this reason. 03:59:46 shachaf: Then use a different Linux distribution, or a different operating system entirely, or a different computer. 04:00:05 I switched to a different computer but Ubuntu was still bad. :-( 04:00:25 No, I mean a different computer which does not run Ubuntu. 04:01:01 monqy: so "''covariant functor''"''"" is just a generalization of ˙˙¨monotonic˙¨ right? 04:02:51 -!- WeThePeople has quit (Quit: Leaving). 04:04:51 `list 04:04:52 Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 04:05:26 Did Fiora leave? 04:06:21 shachaf: well if you think of functors between poset categories 04:07:02 monqy: right 04:07:11 monqy: just like "galois connections" 04:07:12 oh wait 04:07:20 you don't know about those i forgot :'( 04:07:31 :-) 04:07:46 ÷) 04:08:20 monqy: what about a "monotonic predicate" 04:08:27 what category is that 04:08:43 (plz make it "not boring" i can only figure out boring versions) 04:10:22 Can a ring be made from a semiring in some way? 04:11:13 drop 4 04:11:23 shachaf: monotonic predicate as in a functor from a poset category to that other poset category where the objects are propositions and arrows are entailment? 04:11:55 is that what you mean / is that "boring" / what's "not boring" 04:13:18 yes / maybe / i don't know 04:13:32 wait is it actually what i mean 04:13:38 maybe your version is the "not boring version" 04:21:04 -!- WeThePeople has joined. 04:23:44 -!- WeThePeople has quit (Read error: Connection reset by peer). 04:31:24 -!- augur has joined. 04:48:30 `? monoids 04:48:34 Monoids are the easy version of categories. 04:48:39 `? monoid 04:48:42 Monoids are just categories with a single object. 04:53:23 elliott: Made a Shove spec 04:54:57 monqy: when people talk about covariance in subtyping what functor are they talking about 05:03:29 hi im back 05:04:33 shachaf: well you have your poset category of types right? and your * -> * 'types' are functors on it right? 05:04:45 [is it obvious yet] 05:05:54 monqy: what about when you talk about the "liskov substitution thing" 05:05:59 is that related 05:06:08 what's the second category in that case 05:07:08 (that was the thing i meant actually?? but maybe it's not related at all) 05:08:42 what specifically do you mean by the substitution principle since i dont talk about it 05:08:50 i don t know 05:08:53 ok 05:08:58 he didn't say principle monqy 05:09:17 liskov substitution thing aka liskov substitution principle 05:09:26 Let q(x) be a property provable about objects x of type T. Then q(y) should be provable for objects y of type S where S is a subtype of T. 05:10:15 hows that!!@ 05:10:45 well, so long as you're on the wikipedia article, read the first sentence of the second paragraph in the Principle section 05:11:09 ive only studied type-theoretic subtyping, not behavioral subtyping 05:11:50 ok but i'm asking about both....... 05:12:13 ???????????? 05:12:21 what's your question 05:12:24 i'm just trying to understand lenses 05:12:34 which seem to me obviously related to "all this" 05:12:37 05:09:26 Let q(x) be a property provable about objects x of type T. Then q(y) should be provable for objects y of type S where S is a subtype of T. 05:12:42 let q(x) = x is of type T 05:12:45 ÷) 05:13:45 elliott: that's exactly my point 05:13:49 we have to restrict q 05:14:01 the restriction???? Unlensy q => 05:14:12 elliott: (also stop stealing my smileys??) 05:15:35 ÷( 05:15:47 well it'd be easier for me to answer your question if you knew what you're asking / asked it in a manner that makes sense or otherwise is answerable 05:16:49 monqy: well doesn't this look related to lenses 05:17:09 SimpleUnlensyThing s a = foralll p. Blah p => p s -> p a 05:17:19 foralll 05:17:45 obviously "any property" doesn't work for the lsp thing 05:17:52 you need to restrict the properties 05:18:00 but what kinds of properties do you restrict them to? 05:19:14 every property that satisfies: (a `R` b) -> (P(a) `R'` P(b)), probably?? or something 05:19:34 ok 05:19:34 and also any property that satisfies P(a) `R'` P((a,b))?? 05:19:34 i dont think thats true 05:19:37 i don't know 05:19:41 i'm making things up a bit 05:19:44 can u prove it 05:20:04 prove what 05:20:17 idk whatever you're doing 05:20:32 not before i figure out "what it is i'm actually doing.." 05:20:40 oops 05:21:05 uh oh 05:21:14 monqy: anyway do you see "what im getting" at 05:22:47 Man, Finnish has such excellent words. 05:22:49 "kansalaisaloitetta" 05:23:19 -!- Frooxius has quit (Ping timeout: 260 seconds). 05:24:15 shachaf: i guess so? 05:24:27 i have no idea what you want p to satisfy though 05:24:28 monqy: well im glad one of us does 05:25:49 how about have P satisfy "if a is a subtype of b then p(b) -> p(a)" 05:25:50 hope this a helps 05:26:57 the joke is that elliott said "hope this a helps" but wasn't actually a helpful 05:27:04 yes 05:27:18 tswett: what does it mean 05:27:43 shachaf: you should ask edwardk about this. he'd say it's completely obvious and he knew it all along 05:28:11 elliott: edwardk told me to ask in ##logic ÷( 05:28:45 kmc: according to Google Translate, it means "citizens' initiative". 05:30:31 It also lacks some good words, like "talloikatsa". 05:33:11 shachaf: did you ask in ##logic 05:33:40 monqy: no 05:33:45 woops 05:34:11 monqy: have you ever seen ##logic 05:34:20 i think edwardk was just trying to "get rid of me" 05:34:30 I've never seen ##logic 05:34:31 should I ? 05:34:38 shachaf: have you ever seen ##logic 05:34:57 ,yes 05:35:46 does that mean I should or that you have......or both 05:36:40 it means i have 05:37:00 is it good 05:37:13 ask copumpkin 05:58:23 In the year 2000, there were 455 people in the United States with the last name Evilsizer. 06:04:10 monqy: wow ##c is awful 06:04:17 i've never been there 06:04:20 is it any good 06:04:31 yes 06:04:32 wait no 06:04:39 no, it's awful 06:06:20 I can't get paid for thinking about and designing programming languages, can I? 06:06:29 If I went to get higher education in CS or something 06:06:57 ask ais523 06:07:51 have you ever thought about and designed programming languages or just obsessed over them 06:07:55 -!- david_werecat has quit (Ping timeout: 256 seconds). 06:08:04 * shachaf hasn't :'( 06:28:41 monqy: It makes me look like someone who doesn't even know what "pedantic" means. 06:30:21 Hum. I got an email with a job descirption, but it wasn't sent to my more "professional looking" email address 06:30:48 shachaf: it's interesting the different security properties of block cipher modes 06:30:58 like, IV reuse is bad for CBC, but it's a lot worse for CTR 06:31:02 Sgeo: what's the difference 06:32:25 kmc: How do you do disk encryption with CTR? 06:32:25 The difference is I don't know how they got my personal email 06:32:38 maybe you gave it to them 06:32:49 alt. they did a "background search" on you 06:32:50 Although I did sign up on at least one site with it, but I don't remember which one 06:33:01 kmc: With CBC one thing people do is compute an IV per disk sector and just reuse it, or something along those lines. 06:33:15 And I do want to confirm that this job posting exists somewhere on the Internet other than as an email 06:33:29 ok 06:35:16 shachaf: you mean like ESSIV? 06:35:38 Yes. 06:35:51 But that's pretty awful with CTR. 06:36:00 right 06:36:14 (And with any stream cipher in that style.) 06:36:38 (CTR is a bit silly because all it needs is a hash function, not a block cipher.) 06:36:55 (But this is a case where it's not obvious how to get away with just a hash function?) 06:41:51 you're saying it's not necessarily secure to make a stream cipher from a cryptographic hash? 06:42:34 "The paleontological record shows the expected small step by step changes that we expect from Darwin's evolutionary theory of the survival of the fittest. In addition, however, the record shows large changes, jumps or gaps in the record that Darwin cannot explain. This has been called spontaneous evolution. Aren't these phenomena proof that the creationists know of what they speak? That consciousness (i.e. God, if you prefer that word) had a role h 06:42:42 I think there are many possibilities and that is not the only one. 06:43:29 Conscious evolution, theistic evolution, are some, but there are others, such as, perhaps the records have not been found yet, perhaps they have been destroyed, etc. There may be more possibilities, in addition. 06:45:13 i guess one difference is that in the stream cipher, you care if even one bit of the keystream is predictable 06:45:41 whereas for hashing you generally care about full collisions 06:46:02 No, I'm saying it's not obvious how to do disk encryption with a hash, even if that hash is suitable for CTR. 06:46:06 *nod* 06:46:29 Yes in a stream cipher is insecure if one but if the keystream is predictable. However you might be able to mix it up a bit somehow? 06:47:11 sha1 etc. aren't designed for CTR-style use, so I wouldn't use them for that. 06:47:17 right 06:47:19 salsa20 is, for example. 06:48:19 *nod* 06:51:04 monqy: do you know how "free structures work" 06:51:21 what do you mean by free structure 06:51:27 like in general or 06:51:38 like in general 06:51:45 left adjoint to a forgetful functor "and all that" 06:52:42 i'm not familiar with them at that level of generality but say "just one level more specific than that" 06:53:10 what level are you familiar with them 06:53:28 like can you explain how you would come up with "free monads and cofree comonads and stuff" 06:54:14 There is the 5-bit encoding used in the Bacon cipher, but I-J is same and U-V is same, but then "Note: A second version of Bacon's cipher uses a unique code for each letter. In other words, I and J each has its own pattern."; however, maybe you could use Baudot coding with Bacon's cipher, instead. 06:59:30 shachaf: i'm honestly not familiar enough with category-theoretical monads to explain free monads. =( 06:59:49 =( 06:59:54 can you explain a different free things 06:59:58 like free monoids 07:02:07 ok, you know the definition of free objects in terms of their universal property right? that's how i know them. 07:02:42 no 07:03:16 i don't know what a universal property is :'( 07:03:23 maybe i should read that first.. 07:04:00 ok do you know about "comma category" and "initial objects" 07:04:16 free monoids aka "strings on an alphabet" 07:04:28 or lists 07:04:37 yes they're easy 07:05:08 yes they are 07:05:32 i don't know about "comma category" and i sort of know about "initial object??" 07:05:39 initial object isn't very complicated is it 07:05:44 initial object is easy 07:05:46 comma category is easy too 07:05:48 for a variety like monoids, a free object is one where everything is an expression made out of the generators, and _no_ equations are true unless they hold for the generators replaced with arbitrary variables 07:05:59 (in the variety) 07:07:39 shachaf: should i explain "comma category" 07:07:57 monqy: sure 07:08:14 that is, if Exp1(x,y,z) = Exp2(x,y,z) isn't true for _all_ monoids and monoid elements x,y,z; then it is not true when x,y,z are the generators of a free monoid. 07:08:42 s/monoid/any variety of algebras you like/, e.g. groups or rings 07:08:52 actually i guess theres a specific version of "comma category" thats useful here 07:09:00 but i gotta find out what it's called 07:09:08 semicolon category 07:09:53 -!- oerjan has quit (Quit: Maybe Sleep). 07:10:33 thoerjan 07:10:38 areyoureadingthisoerjan 07:17:57 -!- FreeFull has quit (Quit: 364717769364). 07:18:15 monqy: are you still explaining comma categories 07:18:20 or should i read about them instead 07:18:23 no but im explaining something 07:18:25 if so what's the name of that other thing 07:18:59 ok 07:19:21 monqy: is elliott making fun of me in /msg right now :'( 07:20:11 i was making fun of people in ##crawl 07:20:24 i like how that's not a denial 07:21:06 anyway uh specific category we're talking about for free objects is you pick some set let's call it S of "generators" and you say an object X in your category C is "free" if you have some injection i from S to X such that if you've got any other object Y in your category with some j : S -> Y then there's a unique C-morphism f : X -> Y such that j = f . i 07:21:19 that's "really getting specific" about it 07:22:27 if you want to use general terms in the way you state things you state it as the initial object in a certain category 07:24:51 specifically it's the category where the objects are S -> thingy where thingy's a C-object, and the morphisms are C-morphisms such that the diagram commutes 07:25:09 and then you can get more general than that if you want to but that's about as generally as i've learned it/am really comfortable with 07:25:24 -!- azaq23 has joined. 07:25:35 -!- azaq23 has quit (Max SendQ exceeded). 07:25:41 and stating it in terms of initial objects gives you nice stuff like uniqueness "for free" 07:26:00 -!- azaq23 has joined. 07:26:05 anyway uh 07:26:08 -!- azaq23 has quit (Max SendQ exceeded). 07:26:10 does that answer your question shachaf 07:26:31 -!- azaq23 has joined. 07:27:17 the depth of how i know free objects are "constructed" is you eyeball it, use some intuition about "ok what's the most general 'free-est' thing that still has this structure" and then prove it satisfies that universal property 07:27:36 and if you think about what morphisms "do" at an "intuitive level" then it makes sense 07:27:55 like exactly what sort of structure they preserve and how they preserve it and so on 07:29:15 not sure if it answers my question ill have to think about it 07:29:23 (what was your question) 07:29:41 i think part of my question involved "adjunctions and stuff" 07:30:01 but you probably won't talk about adjunctions because of the "galois connection" 07:30:05 (thats a kind of pun btw) 07:30:48 anyway i was trying to understand the whole "free functor is left adjoint to a forgetful functor thing??" 07:31:28 but these things are good and related to that 07:33:30 well if you take a step out of my comfort zone you end up throwing a faithful functor over the stuff in C, and you call it the "free functor" if you look at its properties it turns out to be left ajoint to the forgetful functor??? 07:33:40 - wikipedia 07:33:44 but i can't really explain that stuff 07:36:11 maybe i'll be able to explain it once i read ``categories for the working mathematician''!! 07:36:25 i heard you'll "know everything" once you read that 07:36:39 that sounds dangerous 07:45:06 -!- DHeadshot has quit (Ping timeout: 264 seconds). 08:00:49 -!- epicmonkey has joined. 08:08:30 I should probably keep track of every company I send a resume to 08:08:34 Rather than sending and forgetting 08:08:38 Which is what I have been doing 08:10:15 good idea 08:14:02 Well, one of the sites I use does keep track for me :) 08:14:13 I think the other two sites do too, but haven't really checked 08:17:00 -!- oklopol has joined. 08:17:21 i got the impression that you were not particularly interested, but in any case the answer was "in treatment", apparently 08:17:35 (the theme song i asked about) 08:23:33 `echo "echo rsum" > bin/resume 08:23:36 ​"echo rsum" > bin/resume 08:23:40 ? 08:23:41 Oh 08:23:46 `run echo "echo rsum" > bin/resume 08:23:49 No output. 08:23:58 `chmod a+x bin/resume 08:23:59 chmod: missing operand after `a+x bin/resume' \ Try `chmod --help' for more information. 08:24:06 `run chmod a+x bin/resume 08:24:08 No output. 08:24:10 `resume 08:24:11 rsum 08:24:16 Score one for laziness 08:44:24 -!- heroux has quit (Ping timeout: 252 seconds). 08:45:47 -!- oklofok has joined. 08:48:42 help if I say "tomorrow would be good" (which I did, which was dumb), are they likely to call me tomorrow and state a time? 08:49:18 That is, am I going to be expected to find out when the interview is on the day of the interview? 08:49:23 I don't think I can handle that 08:53:00 you mean call them? 08:53:39 I mean have them call me and tell me that the interview is the same day that they're calling me to tell me what time it will be 08:53:46 I haven't even confirmed a date 08:54:01 So I'm not at all ready to go tomorrow, not even sure how awake I'll be 08:54:13 but you said tomorrow would be good 08:54:38 Yes, I shouldn't have said that. But I was anticipating that they'd call back if they did in fact want to schedule it for tomorrow 08:54:55 As in, I though they'd call back before tomorrow 08:55:26 monqy: should i prefer yoneda or coyoneda 08:57:29 I think it depend what you are making. 08:58:08 shachaf: idk 08:58:41 monqy: they both "sort of do the same thing when you" give them a functor right 08:59:09 i dont know much about the yoneda lemma "wooooops" 08:59:22 monqy: idont mean the lemma i just mean the haskell types. 09:03:54 Well, I'll set some alarms, try to be awake in the morning 09:03:56 Just in case 09:06:02 shachaf: idk i havent studied them much at all?? my only real "experience" with them is that one time you asked me about how yoneda looks like partially applied >>= and coyoneda like =>>, or something like that 09:06:56 monqy: well theyre' "pretty simple"?? 09:07:01 yes 09:07:10 so which one should i use 09:07:22 monqy: btw youre thinking of codensity and density 09:07:25 oh 09:07:26 right 09:07:29 those 09:07:38 i get things i dont know anything about confused sometimes 09:07:39 yoneda is "like a simpler version of those" 09:08:09 uhh just go with yoneda and if you feel like you should have used coyoneda go with that? 09:08:48 for the reason that existentials are sorta ehh 09:09:05 "silly taste things" 09:09:06 but coyoneda seems "more obvious to me" 09:09:09 "i know nothing about what i'm saying" 09:09:12 ok then use coyoneda 09:09:13 its not cpsed 09:09:16 ok then use coyoneda 09:09:17 but maybe yoneda is better?? 09:09:20 ok then use yoneda 09:09:27 alt. ok then ask someone who knows 09:09:33 also coyoneda can be meaningful for things that arne't functors 09:09:40 but im not sure what yoneda means for those?? 09:09:45 ok 09:10:01 monqy: i thouhtgt you knew everything 09:10:10 don't shatter my illusion 09:10:10 have you bothered edwardk about this yet he'd probably know 10000% more than me 09:10:13 just making things up 09:10:18 s/ing/e/ 09:12:29 monqy: thats' a lot of % 09:12:35 how do I emulate morphisms in Haskell? I wanna implement category theory programming in Haskell :D so I guess I should learn what coyoneda is first 09:13:06 yes 09:13:21 ion: do you know what coyoneda is 09:13:23 "its simple" 09:14:08 I have looked up its definition but i’m not sure of its implications and use. 09:14:59 Let's say you have a big tree which is a function. 09:15:11 So you know that fmap (+1) . fmap (*2) = fmap ((+1).(*2)) 09:15:49 But you might not want to generate all an intermediate tree there. 09:16:06 "CoYoneda Tree" keeps a tree, and a function to be mapped over it. 09:16:14 Wait, i didn’t get the “tree which is a function” part. 09:16:27 Er. 09:16:28 you have a Tree which is a functor 09:16:31 s/function/functor/ 09:16:32 ah 09:16:44 "my fingers have been cursed by not being monqy" 09:16:57 or beaqy 09:17:23 the Divine Fingers of Beaqy 09:17:52 So CoYoneda Tree a = (Tree x, x -> a), for some x. 09:18:00 aye 09:18:06 When you fmap over it, all you're doing is composing onto the function. 09:18:18 Then when you have one big composed function, you can apply it all at once. 09:18:19 right 09:18:42 That's pretty much it. 09:18:45 alright 09:19:04 Yoneda is the same thing except the opposite. 09:19:08 :0 09:20:16 ion: And Density is the same thing except with a comonad! 09:21:16 Yoneda Tree a = (a -> b) -> Tree b… so like a partially applied fmap? 09:21:35 Right. 09:21:40 (With a forall b. there.) 09:21:43 yeah 09:21:59 So you can turn Tree a into Yoneda Tree a by applying fmap. 09:22:05 And you can turn it back by applying it to id. 09:22:20 Codensity is the same thing as Yoneda except with a monad! 09:22:43 and coyoneda is the same thing except the opposite 09:23:20 does "co" mean opposite in japanese 09:23:45 monqy: i saw you twitter account how come you don't post no more? 09:23:56 09:24:02 fforget you saw that 09:24:11 it's 09:24:14 but i'm curious about what happened to banana time 09:25:23 i should have deleted it ages ago i don't use it and it's probably embarrassing 09:25:40 no its good 09:25:44 "rly good" 09:25:51 i would follow you 09:26:00 except i don't follow peopoel 09:26:41 Ok, for my reference: 09:26:43 CoYoneda f a = forall b. (f b, b -> a) 09:26:46 Density k a = forall b. (k b, k b -> a) 09:26:48 Yoneda f a = forall b. (a -> b) -> f b 09:26:50 Codensity m a = forall b. (a -> m b) -> m b 09:26:54 Whoops, got some extra whitespace in there. 09:27:14 Terminals are so intelligent. 09:27:16 also you mixed up forall and exists.................... 09:27:27 but other than that, sure 09:27:34 Ah, wasn’t paying attention to that part. 09:27:43 ion: You might as well specify Ran and Kan instead. 09:27:52 All of these are a special case of those. 09:27:58 ok 09:28:04 -!- azaq23 has quit (Quit: Leaving.). 09:28:39 Er. 09:28:41 Ran and Lan 09:31:20 Is this right? http://heh.fi/tmp/kan 09:31:41 Looks right. 09:32:05 Are there other noteworthy aliases to Lan and Ran? 09:32:24 In Categories for the Working Mathematician Saunders Mac Lane titled a section "All Concepts Are Kan Extensions", and went on to write that 09:32:27 The notion of Kan extensions subsumes all the other fundamental concepts of category theory. 09:32:34 So apparently yes? 09:32:38 heh, ok 09:32:45 monqy is going to be able to tell you "a lot about them apparently" 09:40:14 -!- DHeadshot has joined. 10:07:55 -!- Phantom_Hoover has joined. 10:08:35 My dad does want me to continue with education, but I want some financial freedome 10:08:37 freedom 10:08:52 I don't like being tied to whatever money my dad gives me 10:09:05 humens must fight for financial freedome! 10:10:09 fight your dad 10:14:19 Is it really such a terrible idea to try to get a Masters while having a full-time job? 10:15:11 can't you get money doing grad student stuff 10:15:26 ? 10:15:49 research assistant money (grant money), teaching assitant money 10:16:21 hmm 10:16:38 monqy: should i go be a student 10:16:40 gee i'm technically an undergrad and i get grant money 10:16:46 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds). 10:16:49 shachaf: idk what's your education 10:16:57 none :'( 10:17:12 it's a tough question 10:17:52 -!- Phantom_Hoover has joined. 10:18:16 How difficult is it to become a TA? 10:18:34 idk i'm not a ta but some of the people i work with are ta,s 10:18:52 total annihilation? 10:18:53 probably you have to take a ta seminar, know some stuff about the field, and preferably know the professor 10:19:41 shachaf: yes 10:19:57 I only really know Farmingdale professors, although I guess some could be professors elsewhere too 10:20:14 well you get to know the professors once you're in grad school don't you 10:20:16 monqy: what makes you 'technically" an undergrad 10:20:23 shachaf: being an undergrad 10:20:32 oh 10:20:44 do you recommend it 10:20:47 but for "various intents and purposes" i'm a grad student 10:21:01 oh no 10:21:04 which intents 10:21:39 i mostly take grad courses, work in a research lab, &c 10:21:46 what kind of research 10:22:24 -!- Phantom_Hoover has quit (Ping timeout: 264 seconds). 10:22:52 -!- Phantom_Hoover has joined. 10:23:07 it's "the" programming languages lab on campus but its projects i'm familiar with are mostly geared towards abstract interpretation? 10:23:17 Also it seems too late for me to go into grad school at least unless I take a lot of time off of school because I missed a variety of deadlines 10:24:10 im pretty sad about how my school tends not to offer interesting things but i guess it's the same for every school & i can usually learn them myself anyway 10:24:24 which school 10:24:44 is it one of those southern california schools 10:24:55 please don't stalk me that's not nice 10:25:13 im "just curious" 10:26:17 -!- Phantom__Hoover has joined. 10:26:28 shachaf: anyway idk if i'd "recommend" an undergraduate education...ime you'd learn bits and pieces about stuff but unless you go out of your way it's pretty lacking 10:26:45 would you "recommend" an overgraduate education 10:26:50 hm 10:26:57 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 10:27:40 perhaps? i'd also recommend some things about undergraduate education but as a whole idk if it's worth it 10:28:33 which things 10:30:00 the bulk of what i actually learn ends up being split between math stuff and research stuff. there's also cs courses but they mostly end up being more "general education" imo than really things that help me, and not in such a helpful degree as the math? idk 10:30:45 research stuff being split between experience in a lab environment and all the stuff you end up learning by way of teaching yourself or interactions with other lab members &c 10:32:17 hm 10:32:49 not that the general education is bad. it occasionally provides some insights etc which is nice and all 10:33:38 and certainly if you find an interesting or helpful class that's excellent 10:34:56 but much of it ends up being neither interesting or helpful, just taking classes you don't learn anything from because you have to take them to get your degree 10:35:48 are degrees good to get 10:36:52 idk how much a bachelors degree is worth 10:37:34 probably it'd help you get some programming jobs or whatever? i'm more interested in jobs that i imagine would prefer a phd 10:38:04 like what 10:39:10 i don't really know. something with theorywork, preferably doing some "new and neat" researchy stuff somewhere within programming languages 10:40:10 Put up a "will do new and neat stuff with programming languages for food" sign up. 10:40:16 Double-up. 10:44:06 how about inventing a programming language even better than ada 10:44:14 maybe that's too ambitious 10:44:17 Sgeo would know 10:45:22 sgeo must be an ada guru by now right 10:46:17 i hope so 10:46:54 shachaf why are you so weird these days 10:47:00 Phantom__Hoover: ? 10:47:14 monoids, monqy, ada.... 10:47:18 monqy: in a language with subtyping can you have a haskell-style functor which isn't covariant? 10:47:32 covariant in the subtyping sense 10:47:53 idk 10:48:59 what if you have something like a gadt thing 10:49:15 well, pathological case is your subtyping relation is just type equality, so any haskell-style functor would be invariant because of that pathology 10:49:38 data Sub a b where Sub :: (a <: b) => Sub a b 10:49:52 oops maybe i meant the other way around? 10:50:24 i think that's right? idk what you're trying to do with it but 10:50:51 well is Sub a b <: Sub a c if b <: c or something 10:50:53 -!- c00kiemon5ter has joined. 10:51:32 idk 10:51:49 for one, maybe you don't have subtyping on gadts 10:52:04 im not completely sure what it would mean 10:53:18 as in how to define subtyping on gadts? 10:53:35 for instance 11:02:07 ? 11:02:19 yes 11:02:37 ??? 11:02:57 oh no 11:03:26 monqy: if all you do is gradstu dent things why are you "technically" not one 11:04:47 a variety of reasons 11:04:58 wow thats alot of reasons 11:06:25 ye 11:19:33 -!- Phantom__Hoover has quit (Read error: Operation timed out). 11:20:15 -!- Phantom_Hoover has joined. 11:22:10 -!- Phantom__Hoover has joined. 11:22:43 -!- Phantom___Hoover has joined. 11:23:24 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 11:24:30 -!- Phantom___Hoover has quit (Read error: Operation timed out). 11:25:14 -!- Phantom___Hoover has joined. 11:26:00 -!- Phantom_Hoover has quit (Ping timeout: 244 seconds). 11:27:05 -!- Phantom__Hoover has quit (Read error: Connection reset by peer). 11:28:30 -!- Phantom__Hoover has joined. 11:30:17 -!- Phantom__Hoover has quit (Read error: Operation timed out). 11:30:36 -!- Phantom___Hoover has quit (Ping timeout: 276 seconds). 11:37:31 -!- impomatic has joined. 11:42:11 -!- Phantom__Hoover has joined. 11:46:28 -!- Phantom__Hoover has quit (Ping timeout: 248 seconds). 11:48:26 -!- Phantom__Hoover has joined. 11:51:32 "Strong knowledge of MS Word, Excel, Access, PowerPoint Outlook and Internet." 11:52:08 sounds like a job ? 11:52:32 That's what someone has on their LinkedIn profile 11:53:03 I am beginning to loathe the corporate world 11:57:31 Just remembered a place I heard of long ago 11:57:36 I really like this scale: 11:57:38 "None: No knowledge, awareness, or experience. 11:57:38 Beginner: Have done some reading or tutorials. No use in production. 11:57:38 Intermediate: Some production experience. Need to rely on outside references. 11:57:38 Expert: Significant experience, knowledge, and fluency." 11:58:47 Hmm, according to that scale, I would have Intermediate PHP experience. I don't know how to feel about that. 11:59:08 there should be a channel where you get Sgeo commentary on things 11:59:20 you can just add any topic to the queue and wait 11:59:21 is the joke that there already is 12:01:06 the channel where Sgeo comments on things and monqy teaches category theory. 12:01:20 monqy: oh you teach category theory now? 12:01:42 i was just answering shachaf's question...i dont actually know category theory 12:02:11 // guess I really should get to commenting on stuff. Here's a good comment. 12:02:19 monqy: the joke is that happens every day 12:02:27 -!- Phantom__Hoover has quit (Ping timeout: 240 seconds). 12:02:32 ☹ 12:02:34 oklofok: what happens every day 12:02:49 // *puts a comment on shachaf* 12:03:32 shachaf: that monqy is just answering shachaf's question...he doesnt actually know category theory 12:03:56 oklofok: imo monqy knows almost everything 12:04:00 yes 12:04:16 we all know he's just playing hard to get 12:04:28 or something 12:06:51 -!- Phantom__Hoover has joined. 12:07:47 Sgeo: how's ada 12:08:07 Sgeo: have you learned dylan yet 12:08:13 I think she's been dead for a while 12:08:39 dylan is still alive 12:08:45 And I liked Dylan last I looked at it, but it's too impossible to actually get running for my taste 12:08:46 also the people in #dylan keep asking for help 12:08:55 Sure they are 12:08:56 they want You for dylan army 12:09:02 ? 12:09:24 One of the people who works on the compiler kept bugging me to join the channel and help them. 12:09:30 I did one of those things... 12:09:41 Seriously, there's a lot of work and they need people. 12:09:57 They have a fancy compiler, they have all the macros you could ever want. 12:13:54 I know about the Dylan language, and if it were easy to get Dylan to work on my system, I would love it 12:14:12 You should help with that! 12:18:01 Bluh, Dylan uses undelimited continuations? 12:18:34 Why don't you talk about that in #dylan? 12:26:52 Sgeo: See? 12:27:00 -!- epicmonkey has quit (Ping timeout: 248 seconds). 12:27:19 did sgeo talk about it in dylan 12:27:35 yes 12:28:17 congratulations 12:28:35 monqy: maybe sgeo will invent a dylan ada hybrid 12:28:45 what plt contribution have you made to the world 12:29:00 good question 12:29:19 not inventing a dylan ada hybrid 12:29:25 also, do i have to make these lines line up now? 12:29:44 well didn't y'all just spoil a good thing. hmph. 12:30:47 that's a silly typing constraint 12:33:26 -!- epicmonkey has joined. 12:35:13 What? 12:35:16 Ohno. 12:35:22 I am, 12:35:25 scrwd 12:35:46 poertry 12:36:09 -!- zzo38 has quit (Remote host closed the connection). 12:36:13 This is why constraints are bad. 12:36:19 Suck. 12:36:21 :''-( 12:36:42 See what you have done, shachaf. 12:37:52 Now I 12:37:53 can't 12:37:55 evoke 12:37:57 fungo 12:38:02 Dang. 12:38:17 fungot, what do you make of this 12:38:17 Jafet: they say that you should certainly learn about quantum mechanics. the waves to the _dark_ heavens. he committed many murders. as the shark rose, driven by the orb itself. when carried, it can cause the traveller to feel great, you make so bold to find the exit. ( salamanders, by terry pratchett) 12:38:47 fungot: Just tell fizzie a jokes about functors. 12:38:47 shachaf: wolf, *wolf, *wolf cub: the consecrated ritual knife of a wand of undead turning might bring the whole course of known life from the third was taller than the others: his hair was her chief glory, but unknown animal of the giant briareus thou shalt say to the temple and changed to a succubus. 12:39:07 Haven't read that book, but okay 12:39:17 -!- monqy has quit (Quit: hello). 12:40:42 @tell monqy thanks for your help btw monqy hello 12:40:42 Consider it noted. 12:41:23 Jafet 12:41:26 It do 12:41:27 sound 12:41:29 vgood 12:41:30 book. 12:42:37 Most Pratchett books are alright 12:49:24 wow 12:49:45 seeing fizzie type weirdly is unsettling 12:52:50 shachaf: "what plt contribution have you made to the world" did not line up with the previous line 12:53:09 hi 12:53:10 erm 12:53:23 apparently my font is not monospace when there's emphasis. 12:53:38 You broke the spell anyway. 12:53:48 ldsjfasldjf 12:54:01 Anyone can believe in the magic. 12:54:19 Hmm, this is kind of convenient. 12:54:28 You can scan through the screen and tell who wrote what line. 12:58:17 My mouse is broken 12:58:23 Has been for some time 12:58:30 I try to scroll up, sometimes it scrolls down 12:59:12 No comparable problem while trying to scroll down 12:59:56 I don't think "sometimes it scrolls down" would be a problem when trying to scroll down. 13:00:29 I said "comparable", not "identical" 13:00:39 It does not try to scroll up when I try to scroll down. 13:07:26 -!- augur has quit (Remote host closed the connection). 13:32:06 -!- heroux has joined. 13:55:30 -!- carado has joined. 14:11:06 -!- boily has joined. 14:16:45 o.O 14:17:02 I... already applied for that job opening. Why am I being emailed to tell me that it exists? 14:17:59 -!- augur has joined. 14:19:16 I don't understand what I'm being asked to do with this information 14:30:26 fuck fuck fuck 14:30:27 http://www.ripoffreport.com/organized-crime/cybercoders/cybercoders-cyber-coders-inc-4f786.htm 14:31:59 interesting. 14:32:33 Although actually, that one place that wants that interview I think was from CyberCoders 14:32:34 So 14:45:28 Remind me to look at this later http://code.google.com/p/pants-lang/ 14:47:57 -!- david_werecat has joined. 14:49:24 took a very quick glance at https://code.google.com/p/pants-lang/source/browse/first-c%2B%2B-impl/src/assets/prelude.p 14:49:43 the syntax looks a little bit too crufty to my eyes. 14:59:00 -!- sebbu2 has joined. 15:00:20 -!- sebbu has quit (Ping timeout: 248 seconds). 15:21:24 Hmm. If I invert my food schedule such that the less work intensive meal comes later in the day when I am more tired, that may help with my sleep problems if I can just stay awake for 10 more hours 15:21:35 Although I am rather tired 15:39:15 -!- Arc_Koen has joined. 15:55:29 -!- Arc_Koen has quit (Quit: Arc_Koen). 16:12:41 Maybe I should try to get into Erlang 16:13:51 Maybe you should just build damn Sgeolang already 16:15:49 You know what I want? A special type of value that, whenever it's passed as an argument to something, manipulates the function call itself 16:16:01 Don't really have a fleshed out idea of how that would work though 16:16:43 delimited continuations might be the next best thing. Or might be far better than that. 16:21:16 -!- sirdancealot7 has quit (Ping timeout: 245 seconds). 16:35:19 -!- sirdancealot7 has joined. 17:01:14 -!- Taneb has joined. 17:03:30 Sgeo: that sounds like the reverse of a continuation 17:03:37 Sgeo: maybe "co-continuation" ? 17:11:02 Or just a ntinuation? 17:12:34 Well, with a delimited continuation, as long as you're in a reset, there's a function you can call that affects the function call you're in, along with the entire rest of the future 17:13:10 -!- atriq has joined. 17:13:17 -!- Taneb has quit (Ping timeout: 252 seconds). 17:15:31 -!- atriq has changed nick to Taneb. 17:20:39 P -> P -> Q -> P? 17:34:38 parens? 17:35:10 if you have the usual ones then yes 17:35:27 That feels almost useless 17:35:51 P -> (P -> (Q -> P))? 17:35:56 Yeah 17:36:15 this looks very familiar, is it one of the three usual axioms? 17:38:09 It's pierce's law backwards 17:38:55 and is pierce's law peirce's law backwards? 17:40:00 No, it's peirce's law as shared by someone who needs a couple of hours' sleep 17:40:07 and i doubt it's completely useless, you can get P -> Q -> P from it with modus ponens 17:40:20 * Sgeo mentally does a truth table 17:40:22 (which is one of lukasiewicz' axioms) 17:40:30 I feel bad having to surrender to truth tableism like this 17:41:13 "if P, then from P it follows that from Q, P follows" is true because if P, then P follows from anything. 17:42:33 i mean 17:42:42 i mean by what i said earlier i mean 17:42:49 say you have P 17:42:59 and you want to show Q -> P for some reason 17:43:33 then this is what lukasiewicz1 = P -> Q -> P gives you, as P, P -> Q -> P implies Q -> P 17:43:46 but by doing another modus ponens you can also do this with your thingie 17:44:53 then again from P -> Q -> P, you get (P -> Q -> P) -> P -> (P -> Q -> P) using luka1, and modus ponens says P -> Q -> P and (P -> Q -> P) -> P -> (P -> Q -> P) imply P -> (P -> Q -> P). 17:44:59 so up to modus ponens, yours is just luka1 17:45:34 in short, luka1 is really just "something that is true follows from anything" 17:45:41 and yours states this as well. 17:45:53 in an encrypted form 17:47:07 unless i made a mistake somewhere, it's years since i did any propositional logic 17:50:12 -!- c00kiemon5ter has quit (Ping timeout: 248 seconds). 17:52:04 -!- FreeFull has joined. 17:56:16 -!- AnotherTest has joined. 18:00:23 Hi 18:00:51 Hi 18:03:58 * Sgeo ponders on what Sgeolang would look like 18:04:37 Hmm, when I said in another channel that message passing implies single-dispatch, someone pointed me at Cecil. 18:04:40 I should look at it 18:07:07 "Cecil's object declarations do not "contain" their method, field, or even parent declarations. Instead, all these attributes of objects are declared externally, allowing clients to add methods, fields, and even parents of existing objects separately from their original definition. 18:07:07 " 18:07:13 uh... 18:07:21 -!- sebbu2 has quit (Ping timeout: 252 seconds). 18:09:43 -!- c00kiemon5ter has joined. 18:14:08 -!- sebbu has joined. 18:14:09 -!- sebbu has quit (Changing host). 18:14:09 -!- sebbu has joined. 18:17:40 apparently at Oracle, any email about anything interesting is sent To: lawyers, Cc: people you actually want to talk to 18:17:47 so that it's protected by attorney-client privilege 18:18:39 "The presence of multiple dispatching relieves some of the type system's burden, since multiple dispatching supports in a type-safe manner what would be considered unsafe covariant method redefinition in a single-dispatching language." 18:18:43 I have no idea what that means 18:19:00 kmc: nice 18:19:02 does that work? 18:19:54 elliott, I am broadening my chances of finding The One language by looking at dead languages, I think 18:20:19 okay 18:20:32 are you like gollum 18:21:13 I am like someone who needs sleep 18:21:47 elliott: apparently 18:23:08 the other side in a suit can call bullshit, but it would be a big deal for the court to order discovery of ostensibly privileged communications, and gives you a great avenue for an appeal 18:23:22 so yeah, hacks 18:23:59 Wait, if I say something to my lawyer and then say it to an acquaintance, for example, how is that priviledged? 18:24:21 -!- sirdancealot7 has quit (Ping timeout: 276 seconds). 18:24:26 i think it's treated more like if you had a three-way meeting with your lawyer and an acquaintance together 18:24:35 and the lawyer is also your acquaintance's lawyer 18:26:14 i think it's like, you have a meeting about how to crush Google, but you frame it as ostensibly you're all asking the lawyer for legal advice on consequences of crushing Google in the following ways 18:26:36 then if Google sues it is much harder for them to get a copy of that email 18:27:07 (which, even if you're doing nothing illegal, and the lawsuit is unrelated, of course they will want to see that email) 18:32:52 oracle's lawyers must hate checking their inboxes 18:37:23 -!- sirdancealot7 has joined. 18:44:36 -!- Nisstyre has quit (Ping timeout: 248 seconds). 18:55:26 -!- sirdancealot7 has quit (Ping timeout: 245 seconds). 18:59:46 -!- Nisstyre has joined. 19:02:52 -!- impomatic has left. 19:08:53 -!- sirdancealot7 has joined. 19:09:51 -!- DHeadshot has quit (Ping timeout: 276 seconds). 19:12:35 * boily is stuck listening to drab muzak... ♪ 19:12:42 I hate being put on hold. 19:13:22 -!- DHeadshot has joined. 19:16:13 sux 19:22:12 so, no problem on their end, need to buy a new SIM card for my cellphone. *grmbl* 19:23:15 that makes me angry. maybe I should learn Ada to relax. 19:32:39 -!- DH____ has joined. 19:32:43 -!- DHeadshot has quit (Read error: Connection reset by peer). 19:33:00 you should learn Sgeolang 19:33:21 -!- impomatic has joined. 19:35:22 I need to grok continuations first, then I'll sgeo. 19:37:32 sgentinuations 19:38:12 is that when you delegate your program's state to Sgeo? 19:38:32 "here, finish that number crunching, I'm tired"? 19:39:46 Sgeolang is the new @ 19:40:58 @tell elliott Sgeolang is the new @ 19:40:58 Consider it noted. 19:41:41 hi 19:41:41 elliott: You have 1 new message. '/msg lambdabot @messages' to read it. 19:42:19 elliott, are you going to take that 19:42:26 -!- DH____ has quit (Read error: Connection reset by peer). 19:42:33 kmc: you suck 19:42:34 Phantom__Hoover: hth 19:42:50 good job 19:47:39 elliott: k 19:53:51 -!- cuttlefish has joined. 20:02:24 cuttlefish: kings of camouflage 20:02:41 Help I can't program in C 20:05:07 * kmc can advise 20:07:18 ~echo kmc: with my mighty cuttlefish, I can hide usefulness beneath a deceptive layer of bugs! 20:07:18 kmc: with my mighty cuttlefish, I can hide usefulness beneath a deceptive layer of bugs! 20:07:46 ~help 20:07:46 --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi 20:07:51 ~help eval 20:07:51 --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi 20:07:56 ~eval 2+2 20:07:57 4 20:08:05 ~eval 2+"2" 20:08:05 Error (1): No instance for (GHC.Num.Num [GHC.Types.Char]) 20:08:05 arising from a use of `GHC.Num.+' 20:08:06 Possible fix: 20:08:06 add an instance declaration for (GHC.Num.Num [GHC.Types.Char]) 20:08:18 uh oh, kmc is writing haskell again 20:08:18 ~eval print "foo" 20:08:18 Error (1): No instance for (GHC.Show.Show (GHC.Types.IO ())) 20:08:18 arising from a use of `M1495348596825233665.show_M1495348596825233665' 20:08:18 Possible fix: 20:08:18 add an instance declaration for (GHC.Show.Show (GHC.Types.IO ())) 20:08:22 elliott: lololololol 20:08:26 elolololololiott 20:08:32 that's a good name 20:08:42 ~yi 20:08:42 Your divination: "Pervading" to "Shake" 20:08:45 ~yi 20:08:45 Your divination: "Brightness Hiding" to "Concording People" 20:09:02 ~ fix (1+) 20:09:02 --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi 20:09:05 ~eval fix (1+) 20:09:07 Error (1): 20:09:16 ~eval fix (1:) 20:09:17 [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 20:09:31 ~eval let x = 1 : y; y = 0 : x in x 20:09:32 [1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1 20:09:59 ~eval fst $ fix (\(xs,ys) -> intersperse (0:xs,1:ys)) 20:10:00 Error (1): Couldn't match expected type `([a0], [a1])' 20:10:00 with actual type `[([a0], [a1])] -> [([a0], [a1])]' 20:10:13 ~eval uncurry intersperse $ fix (\(xs,ys) -> (0:xs,1:ys)) 20:10:13 Error (1): No instance for (GHC.Show.Show a0) 20:10:14 arising from a use of `M1417484012806218820.show_M1417484012806218820' 20:10:14 The type variable `a0' is ambiguous 20:10:14 Possible fix: add a type signature that fixes these type variable(s) 20:10:14 Note: there are several potential instances: 20:10:14 instance GHC.Show.Show GHC.Types.Double 20:10:15 -- Defined in `base:GHC.Float' 20:10:15 instance GHC.Show.Show GHC.Types.Float 20:10:16 -- Defined in `base:GHC.Float' 20:10:16 instance (GHC.Real.Integral a, GHC.Show.Show a) => 20:10:17 GHC.Show.Show (GHC.Real.Ratio a) 20:10:17 lol 20:10:17 -- Defined in `base:GHC.Real' 20:10:18 ...plus 42 othersNo instance for (GHC.Num.Num [a0]) arising from a use of `e_101' 20:10:18 Possible fix: add an instance declaration for (GHC.Num.Num [a0]) 20:10:32 ~eval typeOf () 20:10:33 () 20:10:35 ~eval uncurry intersperse $ fix (\ ~(xs,ys) -> (0:xs,1:ys)) :: [Int] 20:10:35 Error (1): Couldn't match type `[a0]' with `GHC.Types.Int' 20:10:35 Expected type: [GHC.Types.Int] 20:10:36 Actual type: [[a0]] 20:10:40 omg fuck you 20:10:41 :t intersperse 20:10:43 a -> [a] -> [a] 20:10:45 oh 20:10:47 ~eval cast (Just "foo") :: Maybe Int 20:10:47 Nothing 20:10:48 :t interleave 20:10:49 MonadLogic m => m a -> m a -> m a 20:10:52 ~eval uncurry interleave $ fix (\ ~(xs,ys) -> (0:xs,1:ys)) :: [Int] 20:10:53 Error (1): Not in scope: `interleave' 20:10:55 i bet you dont even have that 20:10:59 ugh go to hell stupid computer 20:12:23 -!- lahwran has quit (Excess Flood). 20:12:47 elliott: interleave is from what package? hoogle returns something that is not that. 20:13:09 where was that GHC typechecker bug again 20:13:16 that lets you write unsafeCoerce 20:13:17 boily, logict, iirc 20:18:12 -!- lahwran has joined. 20:18:34 kmc: it doesn't work 20:18:42 boily's bot is too clever 20:18:52 Taneb: indeed. just a moment, installing it ♪ 20:19:31 k 20:20:01 ~eval interleave 20:20:01 Error (1): No instance for (Control.Monad.Logic.Class.MonadLogic m0) 20:20:02 arising from a use of `e_1' 20:20:02 The type variable `m0' is ambiguous 20:20:02 Possible fix: add a type signature that fixes these type variable(s) 20:20:02 Note: there are several potential instances: 20:20:02 instance GHC.Base.Monad m => 20:20:02 Control.Monad.Logic.Class.MonadLogic (Control.Monad.Logic.LogicT m) 20:20:03 -- Defined in `logict-0.6:Control.Monad.Logic' 20:20:03 instance Control.Monad.Logic.Class.MonadLogic m => 20:20:04 Control.Monad.Logic.Class.MonadLogic 20:20:04 (Control.Monad.Trans.Reader.ReaderT e m) 20:20:05 -- Defined in `logict-0.6:Control.Monad.Logic.Class' 20:20:05 instance Control.Monad.Logic.Class.MonadLogic m => 20:20:06 Control.Monad.Logic.Class.MonadLogic 20:20:14 Taneb: done ♪ 20:20:16 ) fungot 20:20:16 kmc: let's face it: to have invented, among other things, the lord be thankit. ( lorna doone, by fritz leiber) to his size, huge chunk of meat: some hae meat, and this is the son of brave king uther pendragon and queen igraine..." 20:20:17 kmc: |value error: fungot 20:20:24 ok that got fixed :) 20:20:26 (that ♪ represents a microwave ding.) 20:20:34 :) 20:20:47 the display on the microwave at my house says "GOOD" when it's done cooking 20:21:07 ~eval interleave "magic" "science" 20:21:08 "msacgiiecnce" 20:22:18 ~eval ["one", "two", "three", "four"] >>- id 20:22:18 "otntewfohoruere" 20:23:29 ) "chicken" 20:23:29 boily: |syntax error 20:23:30 boily: | "chicken" 20:25:02 ~eval uncurry interleave $ fix (\ ~(xs,ys) -> (0:xs,1:ys)) :: [Int] 20:25:02 [0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0 20:25:04 : D 20:25:41 ~eval mconcat $ repeat [1, 0] 20:25:41 [1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1 20:26:01 ~eval cycle [1,0] 20:26:02 [1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1 20:26:04 ~eval let divide ~(x:y:xys) = let (xs,ys) = divide xys in (x:xs,y:ys) in fix (\xs -> let (xs, ys) = divide xs in interleave (0:xs) (1:ys)) 20:26:07 Error (1): 20:26:09 :( 20:26:12 what did i do a wrong ????? 20:27:01 ~moon 20:27:01 --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi 20:27:14 oh, yeah. never got to complete that command. 20:33:08 -!- oerjan has joined. 20:35:24 -!- ais523 has joined. 20:44:25 new idiom 20:44:26 LLL 20:44:33 "Long live Lambdas" 20:45:49 ltu 20:45:51 What language is ~eval? Looks suspiciously haskell-like 20:46:29 ~eval 3 20:46:30 3 20:46:32 suspicious indeed 20:46:35 ~eval 3**304 20:46:36 1.1088209803745658e145 20:46:39 one might say it is very haskell-like 20:46:40 ~eval 3^304 20:46:41 11088209803745658455297408217949153593283559345652332354189895396347888771377425204097816698610804252448289239688437517467894531354021357739846081 20:46:51 ~eval readFile "" 20:46:52 Error (1): No instance for (GHC.Show.Show (GHC.Types.IO GHC.Base.String)) 20:46:53 arising from a use of `M4279369338326919300.show_M4279369338326919300' 20:46:53 Possible fix: 20:46:53 add an instance declaration for 20:46:53 (GHC.Show.Show (GHC.Types.IO GHC.Base.String)) 20:46:57 ~eval let x = x x in () 20:46:57 Error (1): Occurs check: cannot construct the infinite type: t1 = t0 -> t1Occurs check: cannot construct the infinite type: t0 = t0 -> t1 20:47:00 that seems GHC-like, in particular 20:47:08 ais523: might be a trick 20:47:13 ais523 seems very ais523-like 20:47:15 ~eval TELL ME THE TRUTH 20:47:16 Error (1): Not in scope: data constructor `TELL'Not in scope: data constructor `ME'Not in scope: data constructor `THE'Not in scope: data constructor `TRUTH' 20:47:23 FreeFull: that's because I /am/ very ais523-like 20:47:25 ~eval print "fungot" 20:47:25 kmc: they say that some eggs could hatch in your pack, lucky or not. we shall be cursed with bell, book, by richard henry dana) 20:47:26 Error (1): No instance for (GHC.Show.Show (GHC.Types.IO ())) 20:47:26 arising from a use of `M8615961483540821306.show_M8615961483540821306' 20:47:26 Possible fix: 20:47:26 add an instance declaration for (GHC.Show.Show (GHC.Types.IO ())) 20:47:31 der 20:47:35 ~eval "fungot" 20:47:35 kmc: kill a lich once and future king," he whispered. " because now i know not. 20:47:35 "fungot" 20:47:42 already on the ignore then 20:47:51 ^ignore 20:49:01 ~eval instance Show IO () where { show x = "()" } 20:49:01 Error (1): :1:1: parse error on input `instance' 20:49:09 ~echo @echo `echo ^echo fungot 20:49:09 boily: running is good for your work is, however, it is even said she was born from his throat; the drunk vomited lumps of human flesh. ( van dale's groot woordenboek der nederlandse taal) 20:49:09 @echo `echo ^echo fungot 20:49:09 echo; msg:IrcMessage {msgServer = "freenode", msgLBName = "lambdabot", msgPrefix = "cuttlefish!~cuttlefis@2607:fad8:4:6:f2de:f1ff:fe6c:6765", msgCommand = "PRIVMSG", msgParams = ["#esoteric",":@echo 20:49:10 `echo ^echo fungot"]} rest:"`echo ^echo fungot" 20:49:10 ^ignore 20:49:14 ​^echo fungot"]} rest:"`echo ^echo fungot" 20:49:40 FreeFull: there is no IO, except for System.Random. 20:49:56 Doesn't seem to do declaring instances anyway 20:50:08 probably ~eval expects an expression only 20:50:29 ~eval I# 3# 20:50:29 Error (1): Not in scope: data constructor `I#' 20:50:45 ooh i have an idea 20:50:59 http://hpaste.org/81946 20:51:09 or do i 20:51:10 ~eval fix (\_ -> 3) 20:51:11 3 20:51:15 Fix is there 20:51:16 elliott: as we say here, «gâte toé». 20:51:20 Means we can do fibbonacci 20:51:25 -!- stuntaneous has quit. 20:51:27 boily: is Imports.hs secret? 20:51:35 ~eval fix (\x y z -> y:x z (y+z)) 1 1 20:51:36 [1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986,102334155,165580141,267914296,433494437,701408733,1134903170,1836311903,2971215073,4807526976,7778742049,12586269025,20365011074,32951280099,53316291173,86267571272,139583862445,225851433717,365435296162,591286729879,95672202 20:51:36 FreeFull: or use 'let' 20:51:40 elliott: hm? oh, no. hpasted it the other day. 20:51:45 > let fact 0 = 1; fact n = n * fact (n-1) in fact 5 20:51:47 120 20:51:54 I like fix better 20:51:58 «let .. in ..» is an expression 20:52:03 Especially when written as a lambda 20:52:06 elliott: http://hpaste.org/81905 20:52:15 elliott: just note that now it also has monad logic. 20:52:31 > fix ((0:) . scanl (+) 1) 20:52:33 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946... 20:52:47 ~eval fix ((0:) . scanl (+) 1) 20:52:47 [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986,102334155,165580141,267914296,433494437,701408733,1134903170,1836311903,2971215073,4807526976,7778742049,12586269025,20365011074,32951280099,53316291173,86267571272,139583862445,225851433717,365435296162,591286729879,956722 20:53:01 Eval prints max irc message 20:53:03 Hmm 20:53:07 ~eval "3" 20:53:08 "3" 20:53:15 ~eval "" 20:53:16 Error (1): :1:2: 20:53:16 lexical error in string/character literal at character '\SOH' 20:53:26 ~eval replicate 510 'x' ++ "y" 20:53:27 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 20:53:28 It's safe 20:53:30 ~eval replicate 508 'x' ++ "y" 20:53:30 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 20:53:33 ~eval replicate 450 'x' ++ "y" 20:53:34 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 20:53:36 ~eval replicate 400 'x' ++ "y" 20:53:37 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxy" 20:53:40 ~eval replicate 420 'x' ++ "y" 20:53:40 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxy" 20:53:43 ~eval replicate 430 'x' ++ "y" 20:53:43 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxy" 20:53:45 ~eval replicate 440 'x' ++ "y" 20:53:46 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 20:53:46 oh no. 20:53:48 ~eval replicate 438 'x' ++ "y" 20:53:49 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 20:53:49 no no no no no no. 20:53:51 ~eval replicate 435 'x' ++ "y" 20:53:51 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 20:53:53 ~eval replicate 433 'x' ++ "y" 20:53:54 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 20:53:56 ~eval replicate 432 'x' ++ "y" 20:53:56 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxy 20:53:58 yesss 20:53:59 you AREN'T doing what I'm thinking you're doing? 20:54:02 -!- cuttlefish has quit (Remote host closed the connection). 20:54:05 omg 20:54:09 *smirk* 20:54:09 what fun is it if i dont get to exploit 20:54:10 it 20:54:16 I was only going to make it QUIT!! 20:54:32 actually, I doubt it would have worked. 20:54:34 unfortunately. 20:54:39 I don't think it would 20:54:41 what's the hax 20:54:45 But you can't find out without trying 20:54:52 kmc: it seems to be not length-limiting output at all 20:54:58 so I was trying to "overflow" it onto the next line somehow 20:55:09 but I don't think freenode's ircd works like that 20:55:18 You could have tried the CTCP newline escape thing 20:55:36 maybe boily had some cleverer exploit in mind I didn't though 20:55:46 not yet. 20:56:01 but still, I'm curious. 20:56:09 -!- david_werecat has quit (Read error: Connection reset by peer). 20:56:11 !bfjoust omnipotence http://sprunge.us/icWW 20:56:11 -!- cuttlefish has joined. 20:56:12 http://www.exploit-db.com/exploits/21210/ 20:56:21 -!- david_werecat has joined. 20:56:23 ~eval undefined 20:56:23 Error (1): No instance for (GHC.Show.Show a0) 20:56:24 arising from a use of `M2940199053026085901.show_M2940199053026085901' 20:56:24 The type variable `a0' is ambiguous 20:56:24 Possible fix: add a type signature that fixes these type variable(s) 20:56:24 Note: there are several potential instances: 20:56:24 ​Score for ais523_omnipotence: 70.5 20:56:24 instance GHC.Show.Show GHC.Types.Double 20:56:25 -- Defined in `base:GHC.Float' 20:56:25 This kind of exploit is common in IRC clients that handle CTCPs 20:56:25 instance GHC.Show.Show GHC.Types.Float 20:56:26 -- Defined in `base:GHC.Float' 20:56:26 instance (GHC.Real.Integral a, GHC.Show.Show a) => 20:56:27 GHC.Show.Show (GHC.Real.Ratio a) 20:56:27 70.5! 20:56:28 -- Defined in `base:GHC.Real' 20:56:28 ...plus 42 others 20:56:30 take that everyone else 20:56:30 ugh 20:56:34 ais523: wow 20:56:45 is bf joust broken again? 20:56:48 quintopia: I just got #1 on the hill by over 10 score 20:56:50 elliott: no, I don't think so 20:56:57 !bfjoust a a 20:57:02 ​Score for FreeFull_a: 3.7 20:57:07 only two losses, wow 20:57:10 omnipotence is very beatable, and in fact more than one program currently on the hill beats it 20:57:19 I forget what my previous bfjoust entries were 20:57:25 it's just good against the sorts of things people tend to write at the moment 20:57:37 it'll drop down once people start actually allowing for what it does 20:57:51 also it naturally loses to space_hotel, but it detects it by recognising its decoy setup and changes strategy :) 20:58:12 !bfjoust omnipotence http://sprunge.us/icWW 20:58:17 ​Score for ais523_omnipotence: 70.9 20:58:17 FreeFull overwrote the breakdown :( 20:58:21 that' better 20:58:24 *that's 20:58:45 What did I overwrite? 20:58:56 http://codu.org/eso/bfjoust/in_egobot/breakdown.txt 20:59:01 holds stats from the most recently submitted program 20:59:15 boily: hmm, looks like the exploit I thought up wouldn't work unless I convinced you to import a module lambdabot has 20:59:22 bah, I'm not even off the list yet 20:59:23 Sorry 20:59:26 it's OK, resubmitting fixes it 21:00:53 elliott: it does badly against programs that use traditional decoy setups and don't use 2-cycle clears 21:01:01 the sort of stuff that everyone was submitting in 2009, basically :) 21:01:03 Pink elephants on parade! 21:01:09 ^ sums up my current mental capacity 21:01:18 Although I do seem to be able to continue reading HPMOR 21:01:54 -!- DHeadshot has joined. 21:02:13 I'm not aseunk, just to clarify. Just sleep deprived 21:02:21 elliott: anyway, I wouldn't say this breaks BF Joust, it's exactly the sort of program I'd like to see doing well on the hill 21:02:31 And I always say "aseunk" instead of drunk, after a girl drunkingly IMed me to tell me that she was "aseunk" 21:04:23 Sgeo: hi 21:04:25 anyway, the thought process behind omnipotence is: you know all the boring copycats of slowpoke/space_elevator/ffspg, what they have in common is that they don't "naturally" handle fast rushes 21:04:29 and so need special cases for them 21:04:52 and what they do against fast rushes wouldn't work well against other sorts of programs 21:04:59 wi am le tired 21:05:04 so, the solution is: write a fast rush program which is also a defence program 21:05:22 so uh 21:05:28 did somebody finally break Sgeo 21:05:55 Sgeo: you'd say «je suis fatigué», but it misses the canonical French «le». 21:06:11 Phantom__Hoover, they broke me as well 21:06:11 I have decided toat the solution to my sleep problems is to stay awake, and to make sure I get everything such as dinner that requires sustained thought out of the way as soon as possible 21:06:16 I'm learning to code in C 21:06:22 Thus, dinner for breakfast, and then breakfast for dinner since breakfast is easy 21:06:23 Taneb, didn't you already break a while ago 21:06:29 Yeah 21:06:34 I dunno anymore 21:06:40 So when at 8 or 9 I am so tired I can just sleep 21:06:46 The other day someone called my name and high fived me 21:06:51 I had no idea who he was 21:07:14 He was 16 at the oldest and had a girlfriend, so none of us 21:08:35 maybe he just randomly high-fives people 21:08:39 and got a lucky guess 21:08:51 bah cecil no supprt continuations 21:08:53 first class 21:09:12 -!- DHeadshot has quit (Ping timeout: 264 seconds). 21:09:31 Phantom__Hoover, perhaps 21:09:41 And I am rather well known in the Hexham community 21:09:49 oh god i hope no interview today although seems late for that anyway i hope 21:10:17 had a fit of a stroke of genius, and google mapped hexham. 21:10:28 it's in the friggin middle of nowhere! 21:10:41 It... isn't 21:10:45 hey now 21:10:48 We've got a train station and everything 21:10:50 scotland's not far away 21:10:56 I think when I crack up randomly is proof I'm sleep deprived 21:11:11 Okay, maybe it is a little in the middle of nowhere to the north and south 21:11:15 And kind of west 21:11:25 maybe I'm overreacting at the presence of multiple golf courses. 21:11:40 it's only an hour to gretna, if you are suddenly siezed by the urge to get married in scotland 21:12:06 `addquote had a fit of a stroke of genius, and google mapped hexham. it's in the friggin middle of nowhere! 21:12:08 Phantom__Hoover: via what means of transport? walking? driving? 21:12:11 959) had a fit of a stroke of genius, and google mapped hexham. it's in the friggin middle of nowhere! 21:12:15 ais523, driving. 21:12:16 it's "fit of a stroke of genius" that makes that one 21:12:23 elliott: indeed 21:12:34 I might have only addquoted the first line 21:12:55 My imagination won't activate :( 21:13:04 ais523, if Taneb is so siezed by the fancy to get married in scotland that he decides to walk, he can be there in a mere 14 hours. 21:13:45 maybe "had a fit or a stroke" would be a better reason to googlemap hexham though 21:13:49 Phantom__Hoover: so how far is phantomhooverland from Gretna Green? 21:14:05 If I choose my trains carefully I could be in Edinburgh in three 21:14:08 right now? 200 miles 21:14:18 hmm 21:14:19 olsner: I do not have any fits nor strokes in public. that's unprofessional. 21:14:20 quite a way 21:14:23 normally, about twice as far as Taneb 21:14:45 wow, it's somewhat depressing that there's at least three other british people here 21:14:53 and they live nearer to each other than any of them do to me 21:14:57 Dear god York is south 21:15:15 Birmingham's pretty central, just you lot are all extreme north 21:15:20 Taneb: Phantom__Hoover: lets get together and go meet ais523 for intercal lessons and also to tease him about feather 21:15:23 y/y 21:15:38 y 21:15:39 -!- AnotherTest has quit (Quit: Leaving.). 21:15:42 ais523, well right now I'm within like half an hour by train of you 21:15:43 elliott, y 21:15:51 Phantom__Hoover: hmm 21:16:02 that only goes out to… Coventry? Wolverhampton? 21:16:04 I'm going down to Birmingham University this month anyway 21:16:10 Taneb: ooh 21:16:15 I will probably be there at the time 21:16:20 If the website lets me log in 21:16:31 unless it's on a thursday or friday or weekend, in which case I might still be there but probably won't be 21:16:44 Wednesday 21:16:48 Phantom__Hoover: there's a slight problem with our plan 21:16:54 we'll probably have to go to birmingham 21:17:10 seems like that's mostly just a problem for you 21:17:19 Taneb: what time this month 21:17:26 Either the 20th or the 27th 21:17:30 Phantom__Hoover: okay i realise you are scottish and so do not know the horror of birmingham 21:17:31 i like how google maps considers leamington spa more prominent than coventry 21:17:47 elliott: Birmingham is not that horrible 21:17:49 elliott, it was pretty much like belfast 21:17:52 except with less murals 21:17:55 it doesn't matter whether it is or isn't horrible 21:17:59 what matters is it's _meant_ to be horrible 21:18:03 Phantom__Hoover, Belfast was horrible 21:18:06 see 21:18:18 You couldn't fly a flag if you wanted to be not shot 21:18:24 it's one of the few major cities in the UK where you can walk into a car park on the ground floor, go up eight floors, then continue to walk on the level and come out at ground floor 21:18:42 I think it's eight, at least, it might only be six 21:18:44 what an advantage 21:19:08 okay there's a slight issue 21:19:18 how do we do this without me and Taneb ever recognising each other 21:19:18 well, it's not really an /advantage/, but there's something fun about living in a city which has no major hills /but/ you can't draw a consistent ground level in most places 21:19:26 since we have previously established that thta would cause the world to end 21:19:29 elliott, wear bags on your heads 21:19:36 elliott: it's OK if you're not in Hexham when you recognise each other 21:19:49 ais523: are you sure 21:19:53 elliott, blindfolds 21:19:54 pretty sure 21:19:57 Actually 21:20:02 we carry the essence of hexham within us 21:20:04 Have you ever seen the Comedy of Errors? 21:20:06 can you unrecognize somebody? 21:20:32 boily: can you undestroy the universe? 21:20:48 elliott: sure. 21:21:01 C-_, right? 21:21:12 apparently I live almost north of all the british isles ... south of orkney though 21:21:18 that's a pretty weird smiley Taneb 21:21:28 http://en.wikipedia.org/wiki/Wick,_Highland is almost the same latitude 21:21:38 Phantom__Hoover, it's a smiley that undestroys the universe 21:21:51 boily: what is the secret 21:21:56 do you stomp on the vacuum 21:22:22 http://fmota.eu/blog/base64-fixed-point.html 21:23:17 something something universal transformation. 21:23:34 ais523, do you know who to complain to with web.mat.bham.ac.uk/avd doesn't work 21:24:24 Taneb: probably the maths department's secretaries, who would forward it on to whoever was responsible for it 21:24:30 Right 21:24:33 the URL indicates that it's being handled by the individual department 21:25:22 -!- zzo38 has joined. 21:26:30 It will be the closest I've ever been, to my knowledge, to another person in this channel 21:26:44 um 21:26:50 you've probably been pretty close to me at some point 21:26:56 how romantic! 21:27:02 I'm fairly sure one of us is imaginary, elliott 21:27:04 that's the bond of hexham 21:27:19 `? hexham 21:27:19 Gregor: You have 4 new messages. '/msg lambdabot @messages' to read them. 21:27:19 elliott must keep careful tabs on Taneb to avoid meeting him 21:27:20 Hexham is a European town. There are nine people in Hexham, and at least two of them are in this channel. Taneb looks after the ham. 21:27:29 tanbebs 21:27:30 And there are more secondary sources confirming my existence than yours 21:27:30 `? finland 21:27:32 Finland is a European country. There are two people in Finland, and at least nine of them are in this channel. Corun drives the bus. 21:27:47 (is Corun anyone?) 21:27:53 someone who used to be here 21:28:02 awww 21:28:03 oerjan: Yeah, I suspected that chmod -r would break shit X-D 21:28:12 did something happen 21:28:14 corun is real?? 21:28:25 olsner, yeah, who else would drive the bus 21:28:35 that implies a real bus, too. 21:29:21 elliott: the scary thing about omnipotence is that I was testing against an old hill, where it did even better 21:29:45 boily, going back a bit, the least densely populated area of England is legally part of Hexham 21:30:17 Ish 21:31:51 we also have aberrations here, like île dorval. 21:32:14 `olist 21:32:16 shachaf oerjan Sgeo 21:32:40 -!- Nisstyre has quit (Quit: Leaving). 21:32:42 Taneb: surely any area of England that contains no people is equally the least densely populated? 21:32:44 which list is the olist? 21:32:51 Taneb: https://en.wikipedia.org/wiki/L%27%C3%8Ele-Dorval,_Quebec 21:32:58 you could draw a very large area that just avoided all the people 21:33:26 `alist 21:33:27 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: alist: not found 21:33:42 `blist 21:33:43 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: blist: not found 21:33:46 `clist 21:33:47 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: clist: not found 21:33:49 `dlist 21:33:51 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: dlist: not found 21:33:53 `elist 21:33:55 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: elist: not found 21:34:06 ais523, the largest sensiblly shaped area 21:34:12 `run ls bin/?list 21:34:14 bin/olist 21:34:20 boily: that would probably have been easier ;) 21:34:30 I'm bored. I need something to do. 21:34:35 ais523: Don't spoil boily's fun. 21:34:45 boily: Go learn Dylan, like Sgeo is. 21:34:56 list could be renamed hlist or mlist for consistency 21:34:59 boily: see if you can beat my BF Joust programs :) 21:35:14 Taneb: I thought o stood for oerjan. 21:35:36 h for "Hussie" and m for "Me" 21:35:43 shachaf: I said bored, not sleep deprived :p 21:35:48 `list 21:35:50 Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 21:35:51 but yeah. bfjousting sounds like a good idea. 21:37:34 (that wasn't an actual list, I was just seeing what it said) 21:37:37 (sorry) 21:37:44 hmm 21:37:47 `cat bin/list 21:37:49 echo Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 21:37:53 ah, boring 21:37:58 I thought it would be a list of all the people who had done `list 21:38:02 ^show list 21:38:02 (Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot)S 21:38:04 that would be interesting 21:38:14 `run mv bin/{,s}list 21:38:22 No output. 21:38:27 `cat quine 21:38:28 cat: quine: No such file or directory 21:38:32 `cat bin/quine 21:38:33 cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed 's/[^>]*> //' #Worst cheating quine ever? 21:38:54 `run cd /var/irclogs/_esoteric; cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed 's/[^<]*.*//' 21:38:57 elliott 21:39:04 `ls /var/ 21:39:06 irclogs 21:39:10 `ls /var/irclogs 21:39:12 _ai \ _corewars \ _esoteric \ _esoteric-chess-variants \ _esoteric-minecraft \ _glogbot \ index.php \ log \ log.css \ log.js \ _plof \ raw \ _scapegoat \ stalker.php 21:39:21 hm 21:39:49 `ls /var/irclogs/_esoteric-minecraft 21:39:51 2011-03-19-raw.txt \ 2011-03-19.txt \ 2011-03-20-raw.txt \ 2011-03-20.txt \ 2011-03-21-raw.txt \ 2011-03-21.txt \ 2011-03-22-raw.txt \ 2011-03-22.txt \ 2011-03-23-raw.txt \ 2011-03-23.txt \ 2011-03-26-raw.txt \ 2011-03-26.txt \ 2011-03-27-raw.txt \ 2011-03-27.txt \ 2011-03-28-raw.txt \ 2011-03-28.txt \ 2011-03-29-raw.txt \ 2011-03-29.txt \ 2011-03- 21:40:02 there was a minecraft? 21:40:06 Do HackEgo commands get access to the name of the person issuing the command? 21:40:07 Yeah 21:40:12 We had our own server at one point 21:40:13 `run echo "#!/bin/sh" >bin/list; echo 'cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); sed -i "s/.\$nam[e]./$name \&" bin/list; echo "$name"' >>bin/list 21:40:16 No output. 21:40:18 `run chmod +x bin/list 21:40:21 There was. There is, but there was too 21:40:22 No output. 21:40:22 `list 21:40:24 `list 21:40:28 sed: -e expression #1, char 20: unterminated `s' command \ Taneb 21:40:29 sed: -e expression #1, char 22: unterminated `s' command \ HackEgo 21:40:31 oerjan: you fix it 21:40:34 ais523: or you 21:41:11 `run echo "#!/bin/sh" >bin/list; echo 'cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); sed -i "s/.\$nam[e]./$name \&/" bin/list; echo "$name"' >>bin/list 21:41:15 No output. 21:41:18 `list 21:41:21 sed: can't read bin/list: No such file or directory \ ais523 21:41:29 I wonder if I can buy surströmming in this city... 21:41:31 oh, the cd 21:41:32 er, what? 21:41:33 oh 21:41:47 ais523: it should probably also not add duplicates >:) 21:42:06 ais523: You should instead make bin/list update itself. 21:42:13 `run echo "#!/bin/sh" >bin/list; echo 'oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); cd $oldpwd; sed -i "s/.\$nam[e]./$name \&/" bin/list; echo "$name"' >>bin/list 21:42:16 No output. 21:42:20 shachaf: elliott did, I just fixed it 21:42:28 `list 21:42:33 this doesn't eliminate duplicates yet 21:42:34 elliott 21:42:38 `list 21:42:40 I strongly disapprove of a version that just searches the logs. 21:42:42 sed: -e expression #1, char 23: unterminated `s' command \ shachaf 21:42:42 `list 21:42:45 sed: -e expression #1, char 23: unterminated `s' command \ Sgeo 21:42:46 hmm 21:42:49 shachaf: it doesn't search the logs 21:42:55 it just looks at the logs to see who sent the command 21:43:07 Oh. 21:43:11 :/ what if it gets it wrong 21:43:20 If I say `list then ais523 says something unrelated 21:43:22 it coudl grep `list 21:43:25 to remove most false positives 21:43:27 u*could 21:43:31 *jasd 21:43:42 I see. 21:44:04 ais523: I think the constraint of a program that can only keep state by modifying its own file is interesting 21:44:11 unless you cheat and just store all the data in a string or whatever 21:44:32 hmm 21:45:30 `run echo "#!/bin/sh" >bin/list; echo -n 'oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); cd $oldpwd; echo -n $name '' >> bin/list; echo ' 21:45:34 oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); cd $oldpwd; echo -n $name >> bin/list; echo 21:45:38 err 21:45:53 `run echo "#!/bin/sh" >bin/list; echo -n 'oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); cd $oldpwd; echo -n $name "" >> bin/list; echo ' 21:45:55 oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); cd $oldpwd; echo -n $name "" >> bin/list; echo 21:46:03 `run echo "#!/bin/sh" >bin/list; echo -n 'oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); cd $oldpwd; echo -n $name "" >> bin/list; echo ' >> /bin/list 21:46:04 bash: /bin/list: Read-only file system 21:46:09 `run echo "#!/bin/sh" >bin/list; echo -n 'oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); cd $oldpwd; echo -n $name "" >> bin/list; echo ' >> bin/list 21:46:13 No output. 21:46:17 `list 21:46:24 No output. 21:46:28 `list 21:46:35 ais523 21:46:38 elliott: there we go 21:46:38 hmm 21:46:44 but it doesn't list your name the first time you do it 21:46:49 indeed, it tells you the old list 21:46:58 let me see if I can fix it to avoid duplicates 21:47:44 `run echo "#!/bin/sh" >bin/list; echo -n 'oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); cd $oldpwd; fgrep -q "$name" bin/list || echo -n "$name " >> bin/list; echo ' >> bin/list 21:47:47 No output. 21:47:51 `list 21:47:57 No output. 21:47:59 `list 21:48:01 ais523 21:48:03 `list 21:48:06 ais523 21:48:14 `run echo "#!/bin/sh" >bin/list; echo -n 'oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); cd $oldpwd; fgrep -q "$name" bin/list || echo -n "$name " >> bin/list; echo ' >> bin/list 21:48:18 No output. 21:48:20 there we go 21:48:28 now we have a `list working just like I wanted it to :) 21:48:34 `list 21:48:34 `list 21:48:41 No output. 21:48:41 uh oh 21:48:44 boily 21:48:45 uuuh... 21:48:48 ah! 21:48:50 up to hackego concurrency issues 21:48:52 ais523: there is a way it could work even when multiple people do it 21:49:03 nah, I like the randomness 21:49:13 `list 21:49:14 * elliott thinks it should include your name even if you weren't previously on the list 21:49:19 boily elliott 21:49:20 because who doesn't like being pinged? 21:49:36 elliott: this way it's harder to figure out what it does 21:49:44 `list 21:49:45 ​/hackenv/bin/list: 2: Syntax error: Unterminated quoted string 21:49:49 hmm 21:49:53 darn. 21:49:56 `cat bin/list 21:49:58 ​#!/bin/sh \ oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//"); cd $oldpwd; fgrep -q "$name" bin/list || echo -n "$name " >> bin/list; echo boily elliott 21:49:14: * elliott thinks it should include your name even if you weren't previously on the list 21:50:03 lol 21:50:08 ha ha ha! 21:50:12 elliott: this is your fault :) 21:50:12 -!- epicmonkey has quit (Ping timeout: 248 seconds). 21:52:16 `run echo "#!/bin/sh" >bin/list; echo -n 'oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//; s/.*\* //; s/ .*//"); cd $oldpwd; fgrep -q "$name" bin/list || echo -n "$name " >> bin/list; echo ' >> bin/list 21:52:19 No output. 21:52:24 elliott: now it can get the wrong name from a /me too :) 21:52:35 what about a /quit? 21:52:41 that won't work 21:53:02 probably 21:53:25 ~echo `list 21:53:25 `list 21:53:31 No output. 21:53:35 `list 21:53:42 cuttlefish 21:53:47 good enough. 21:53:55 quintopia: which year did anticipation top the hill? 2012 or 2013? 21:53:56 `list 21:54:03 cuttlefish boily 21:54:24 ais523: join the list! 21:54:32 `list 21:54:39 cuttlefish boily elliott 21:54:40 nah, I like seeing how long I can go before I join it by accident 21:54:50 ais523: I would guess... forever 21:54:57 `list 21:54:57 `list 21:54:58 `list 21:54:58 `list 21:54:59 `list 21:55:03 cuttlefish boily elliott Taneb 21:55:04 cuttlefish boily elliott Taneb 21:55:04 let's see if that duplicate checking works 21:55:09 cuttlefish boily elliott Taneb 21:55:13 cuttlefish boily elliott Taneb 21:55:16 cuttlefish boily elliott Taneb HackEgo 21:55:18 bonus points if you get HackEgo on the list 21:55:18 hahaha 21:55:22 `list `list 21:55:23 i was hoping that would happen 21:55:25 cuttlefish boily elliott Taneb HackEgo 21:55:26 so was I 21:55:39 ^echo `list 21:55:40 `list `list 21:55:43 -!- HackEgo has quit (Remote host closed the connection). 21:55:50 Taneb............................. 21:55:53 Do I get an award? 21:56:02 did you segfault Gregor 21:56:03 how did hagb4rd get on the list himself??? 21:56:14 boily: race condition 21:56:16 s/hagb4rd/HackEgo 21:56:24 boily: because hackego said the list 21:56:26 and then the script ran 21:56:29 looked at the last line in the logs... 21:56:46 so wait, why did HackEgo crash there? 21:57:10 ~eval "a\8b" 21:57:10 "a\bb" 21:57:27 ~eval "a\8\&8b" 21:57:27 "a\b8b" 21:57:54 > putStrLn "\8" 21:57:56 No instance for (GHC.Show.Show (GHC.Types.IO ())) 21:57:56 arising from a use of ... 21:58:28 elliott: something wrong with the bot blacklist? 21:59:06 hmm, maybe 22:00:12 why would we blacklist bots? we have such a nice variety of them here. 22:00:37 Do HackEgo commands get access to the name of the person issuing the command? <-- no, although i suggested it to Gregor 22:01:42 boily: to prevent botloops 22:01:49 the bots are designed to ignore each other 22:01:56 because otherwise someone gets the bots to spout commands for the other bots 22:02:02 and you need a bot owner or an op in to stop the spam 22:02:05 boily: there is no good reason. 22:02:08 it is because people hate happiness 22:02:27 Should there also be a environment variable for the recipient of the command (either some channel, or HackEgo directly)? And of the glogbot timestamp of the message? 22:03:01 ais523: I like elliott's explanation better. 22:03:24 zzo38: yeah, that seems like a good idea 22:03:26 There should be an opped bot capable of detecting ... hmm 22:03:55 Well, no, no way to catch all botloops, is there? 22:03:56 just kick anyone who says the same line three times in a row, could help 22:03:58 Maybe a spam filter 22:04:07 but you can get loops that avoid that 22:04:11 ais523, get the bots to increment a number 22:04:15 alternatively, anyone who posts too many posts in a set time 22:04:17 ais523: that's mean 22:04:17 ais523: that's mean 22:04:18 ais523: that's mean 22:04:28 Although to prevent bots from reading commands from other bot outputs I would prefer a different ,much simpler, siolution: To make their output to be NOTICE message rather than PRIVMSG. 22:04:33 it's hard to get the bots to intentionally slow down the loop 22:04:47 bah, too much effort. 22:05:05 actually, you wouldn't kick 22:05:08 you'd +m the channel for a few seconds 22:05:08 -!- boily has quit (Quit: Poulet!). 22:05:11 -!- cuttlefish has quit (Remote host closed the connection). 22:05:31 or +q one of the affecte dusers for a few seconds 22:05:34 *affected 22:09:26 I think using NOTICE messages would be the simplest and best solution and the one recommended by the RFC. However, there are others. One would be to not take commands inside the channel and only private, although sometimes you want the results to be public so it might not best. Another is if they added a user mode to prevent receiving channel messages from someone having the same mode. 22:11:04 hmm, that's an interesting idea for a mode 22:11:49 The server would have to be changed to do that, though. 22:13:30 I would recommend and prefer to just make them NOTICE messages. 22:15:02 So, if `list is for something, what's the old list? 22:15:08 what old list 22:15:09 `run ls bin/?list 22:15:13 this is the only list there ever was 22:15:16 and the only list anyone needs 22:15:32 Sgeo: slist 22:15:51 also someone get zzo38 out of his autobotloop, please. 22:16:36 Is hackego.. dead? 22:16:41 :( 22:16:44 -!- Phantom__Hoover has quit (Ping timeout: 255 seconds). 22:16:56 really most sincerely dead 22:17:00 -!- Phantom__Hoover has joined. 22:27:15 -!- augur has quit (Remote host closed the connection). 22:29:32 -!- oerjan has quit (Quit: leaving). 22:32:31 -!- oerjan has joined. 22:48:59 -!- Taneb has quit (Quit: Leaving). 22:52:56 Gregor: Taneb managed to get fungot to kill HackEgo 22:52:57 ^ul (pong)S 22:52:57 what's up with fungot? 22:52:57 ais523: they say that you should try another one. 22:52:57 pong 22:52:57 ais523: they say that real hackers never sleep near invisible ring wraiths. 22:53:03 are, there we go 22:54:46 oerjan: good mornign 23:01:18 elliott: good midnight 23:01:22 oerjan: happy birth 23:03:21 oerjan: it's not midnight for me and elliott for another 57 minutes or so 23:03:36 nobody ever remembers Phantom__Hoover 23:03:51 @quote nobody.*remembers 23:03:51 No quotes match. You untyped fool! 23:04:01 Phantom__Hoover: if HackEgo were here, you could read the `list 23:04:04 then people would remember you 23:04:07 Oh. 23:04:46 shachaf: apparently i am going to have some kind of snowpocalypse 23:05:01 oh no 23:05:05 flee to california 23:05:15 too late 23:05:26 it's never too late to go west 23:05:32 i've just got to buy lucky charms 23:05:32 build snow california 23:25:37 -!- carado has quit (Ping timeout: 246 seconds). 23:31:24 -!- oerjan has quit (Quit: leaving). 23:40:58 so what are the legitimate use cases for printf's %n? 23:42:17 kmc: things like tabular output 23:42:24 where you're printing spaces to make things line up 23:42:33 mm 23:42:55 -!- DHeadshot has joined. 23:43:07 You can count the output by the return of printf, though. You can also use alignment in the formats to line up columns. 23:44:35 -!- oerjan has joined. 23:50:32 kmc: Now you're migrating conversations across channels you're not even in. 23:52:28 i am? 23:53:43 Perhaps it's just a coïncidence that %n came up in multiple places. 23:54:07 where else did it come up? 23:54:20 Gregor: HackEgo is missing HTH HELP 23:56:17 #cslounge 23:56:22 ok 23:56:27 then maybe it's because lexande asked me about %n 23:56:35 a grand circuitous route 23:56:49 OK then that would be it. 23:56:55 oerjan: HANH (Have A Nice Help) 23:57:11 is a HTH like a CTCP? 23:57:19 MAYBE 23:57:25 -!- Nisstyre-laptop has joined. 2013-02-08: 00:00:51 -!- sirdancealot7 has quit (Ping timeout: 245 seconds). 00:01:55 -!- sirdancealot7 has joined. 00:02:44 -!- Nisstyre-laptop has quit (Quit: Leaving). 00:09:13 -!- carado has joined. 00:16:22 -!- carado has quit (Ping timeout: 246 seconds). 00:41:34 -!- Arc_Koen has joined. 00:48:26 -!- HackEgo has joined. 00:58:01 -!- sirdancealot7 has quit (Ping timeout: 246 seconds). 01:02:06 ^show rev 01:02:06 >,[>,]<[.<] 01:04:27 -!- sirdancealot has joined. 01:07:33 ooh HackEgo is back 01:07:59 All hail Hack, the Lord of Ego. 01:11:28 ^echo `list 01:11:28 `list `list 01:11:33 Aw. 01:11:37 cuttlefish boily elliott Taneb HackEgo 01:11:37 Taneb has to do it. 01:11:46 @ask Taneb you have to do it 01:11:47 Consider it noted. 01:12:09 -!- monqy has joined. 01:12:36 @tell shachaf aren't you afraid to upset the deity of semantics? 01:12:36 Consider it noted. 01:12:47 @clear-messages 01:12:48 Messages cleared. 01:19:02 `run echo test | fueue '>,[>,]<[.<]:)$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]])[~~)<~~~(]' 01:19:05 FUEUE: UNKNOWN > OP \ FUEUE: UNKNOWN , OP \ FUEUE: UNKNOWN > OP \ FUEUE: UNKNOWN , OP \ FUEUE: UNKNOWN . OP \ test \ 01:19:12 ok... 01:19:21 oops :P 01:19:51 `run echo test | fueue ')$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]])[~~)<~~~(]' 01:19:53 ​.test \ 01:20:08 ouch 01:20:32 ...of course. 01:20:43 `echo echo test | fueue ')$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]])[~~)<~~~(]' 01:20:44 echo test | fueue ')$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~ 01:20:45 ÿ is latin-1 for 255, isn't it? 01:20:53 oops 01:21:00 ais523: quite possibly 01:21:01 ^ord ÿ 01:21:02 195 191 01:21:08 Hmm. 01:21:12 `ord ÿ 01:21:14 255 01:21:21 ais523: i think that's just EOF from the automatic cat that tends to happen 01:21:37 oerjan: yeah, it's probably interpreting EOF as (char)EOF, which is ÿ 01:21:44 given reasonable assumptions about how stdio works 01:21:54 Automatic cat? Is that from a sequel to _The Door Into Summer_? 01:22:05 ais523: it's just the result from getc() in C 01:22:09 oerjan: yeah 01:22:11 but getc() returns int 01:22:29 shachaf: fueue programs act as cat (but ignoring EOF) whenever they lock up 01:22:42 oerjan: have you read the door into summer 01:22:48 i don't think so 01:22:50 "you should read it imo" 01:23:24 short science fiction book by heinlein 01:25:39 this is going to be dangerously close to irc line limits... 01:27:07 `echo echo test | fueue ')$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]])[~~)<~~~(][0]:[[0]<:[[0]<:]][33 H]' 01:27:09 echo test | fueue ')$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~ 01:27:14 oops 01:27:18 `run echo test | fueue ')$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))($[[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]])[~~)<~~~(][0]:[[0]<:[[0]<:]][33 H]' 01:27:20 test \ 01:27:25 darn 01:27:38 `?hh fueue 01:27:40 fueue? ¯\(°_o)/¯ 01:27:49 @whatis fueue ? 01:27:49 I know nothing about fueue. 01:27:57 argh. 01:28:07 the program fit, but was buggy :( 01:28:25 ok time for a simpler program first 01:28:30 hmm… is HackEgo turning into the new EgoBot? 01:28:50 ais523: well EgoBot doesn't have C precompilation features... 01:29:02 also there's some sort of intention to merge them 01:29:10 -!- zzo38 has left. 01:29:12 I mean, you could actually add these languages to EgoBot the intended way 01:29:55 i would have to either ask Gregor to include them, or have it recompile the interpreter every time 01:30:23 I would request that you try to put new things in HackEgo. 01:30:23 is "it" refering to Gregor? 01:30:28 And if they can't work there, then tell me why. 01:31:02 "it" refers to the EgoBot userinterps system 01:31:59 -!- Phantom__Hoover has quit (Remote host closed the connection). 01:32:02 Gregor: the one thing that is missing is being able to pass a url to an interpreter with one line 01:32:40 'struth >_> 01:32:51 -!- Slereah has joined. 01:34:36 http://blog.volema.com/curl-rce.html great 01:34:54 the other thing that is missing is reasonable performance 01:35:00 right now !c on HackEgo is kind of untenable 01:35:12 *EgoBot 01:35:40 -!- azaq23 has joined. 01:35:42 c on HackEgo allows you to compile things for later use 01:35:54 -!- azaq23 has quit (Max SendQ exceeded). 01:36:25 -!- azaq23 has joined. 01:36:33 i wouldn't suggest we use HackEgo _exactly_ the same way as EgoBot when it _does_ have additional flexibility in how to call programs and save results 01:37:25 oerjan: your correction is _completely_ wrong. 01:37:42 I am responding to Gregor's attempt to get rid of EgoBot and merge it into HackEgo, which is agreeable in theory 01:37:51 `interp c printf("foo\n"); 01:38:09 Does not compile. \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily unavailable \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily unavailable \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily unavailable \ ./interps/gcccomp/gcccomp: fork: retry: Resource temporarily unavailable \ ./interps/gcccomp/gcccomp: for 01:38:14 well the fact it doesn't actually _work_ is a different problem... 01:38:20 ^^´ 01:38:49 it would be much slower than !c even if it worked :P 01:39:45 well i have no idea what it is trying to do. but i've used gcc on HackEgo just fine, that's how i got fueue there. 01:40:48 "why does cURL speak POP3" you might ask 01:41:04 why not? 01:41:10 can it do IMAP, btw? 01:41:35 i think so 01:43:30 every application expands until it can read mail 01:43:56 kmc: attempts to expand 01:44:04 those which cannot are replaced by those which can 01:45:33 mm 01:52:12 `echo test | fueue ')))($[[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)[H]!][1)[)$%0[))$11~<<~:(~:<])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]][0]:[[0]<:[[0]<:]][33 H]' 01:52:13 test | fueue ')))($[[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)[H]!][1)[)$%0[))$11~<<~:(~:<])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]][0]:[[0]<:[[0]<:]][33 H]' 01:52:17 `run echo test | fueue ')))($[[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)[H]!][1)[)$%0[))$11~<<~:(~:<])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]][0]:[[0]<:[[0]<:]][33 H]' 01:52:30 eep 01:52:30 tttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttt 01:52:34 yay! 01:56:02 `run echo test | fueue ')))($[[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)[H]!][1)[)$%0[)))($[[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]][0]:[[0]<:[[0]<:]][33 H]' 01:56:09 test 01:56:14 ok that also works 01:57:47 -!- Arc_Koen has quit (Quit: Arc_Koen). 02:10:05 -!- Slereah_ has joined. 02:11:56 -!- Slereah has quit (Ping timeout: 240 seconds). 02:12:08 -!- kmc has set topic: char*a,b[9999];main(){gets(a=b);while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} | a mutiny of clowns http://codu.org/logs/_esoteric/. 02:30:12 ah there is a subtle synchronization error between the implementations of <> and the implementation of , 02:30:50 or actually it's in , since i already knew about the issue but had compensated for it in other commands 02:37:05 -!- zzo38 has joined. 02:37:51 `run echo test | fueue ')$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]])[))(($3~)<(][0]:[[0]<:[[0]<:]][33H]' 02:37:53 ​ \ tset 02:37:59 yay! 02:40:19 (that was >,[>,]<[.<] converted from brainfuck to fueue) 02:41:33 :) 02:47:28 @message quintopia I just beat space_hotel by over 10 score :) Can you remember when anticipation2 topped the hill (2012, or 2013)? I want to write about it and about omnipotence 02:47:28 Maybe you meant: messages messages? 02:47:33 @tell quintopia I just beat space_hotel by over 10 score :) Can you remember when anticipation2 topped the hill (2012, or 2013)? I want to write about it and about omnipotence 02:47:34 Consider it noted. 03:12:56 -!- zzo38 has quit (*.net *.split). 03:12:57 -!- ais523 has quit (*.net *.split). 03:12:57 -!- heroux has quit (*.net *.split). 03:12:58 -!- FreeFull has quit (*.net *.split). 03:12:58 -!- SirCmpwn has quit (*.net *.split). 03:12:58 -!- atehwa has quit (*.net *.split). 03:12:58 -!- comex has quit (*.net *.split). 03:12:59 -!- quintopia has quit (*.net *.split). 03:12:59 -!- Lumpio- has quit (*.net *.split). 03:12:59 -!- trout has quit (*.net *.split). 03:13:00 -!- Sanky has quit (*.net *.split). 03:13:01 -!- EgoBot has quit (*.net *.split). 03:13:01 -!- ion has quit (*.net *.split). 03:13:02 -!- oonbotti has quit (*.net *.split). 03:13:02 -!- fizzie has quit (*.net *.split). 03:13:03 -!- sirdancealot has quit (*.net *.split). 03:13:03 -!- Mathnerd314 has quit (*.net *.split). 03:13:03 -!- lifthrasiir has quit (*.net *.split). 03:13:04 -!- impomatic has quit (*.net *.split). 03:13:04 -!- olsner has quit (*.net *.split). 03:13:04 -!- rodgort has quit (*.net *.split). 03:13:04 -!- aloril has quit (*.net *.split). 03:13:04 -!- asiekierka has quit (*.net *.split). 03:13:05 -!- glogbackup has quit (*.net *.split). 03:13:05 -!- Jafet has quit (*.net *.split). 03:13:05 -!- HackEgo has quit (*.net *.split). 03:13:06 -!- c00kiemon5ter has quit (*.net *.split). 03:13:06 -!- lahwran has quit (*.net *.split). 03:13:07 -!- hagb4rd has quit (*.net *.split). 03:13:07 -!- coppro has quit (*.net *.split). 03:13:07 -!- clog has quit (*.net *.split). 03:13:08 -!- Sgeo has quit (*.net *.split). 03:13:08 -!- Vorpal has quit (*.net *.split). 03:13:08 -!- hogeyui has quit (*.net *.split). 03:13:08 -!- TodPunk has quit (*.net *.split). 03:13:08 -!- tswett has quit (*.net *.split). 03:13:09 -!- pikhq has quit (*.net *.split). 03:13:09 -!- iamcal_ has quit (*.net *.split). 03:13:09 -!- kmc has quit (*.net *.split). 03:13:09 -!- monqy has quit (*.net *.split). 03:13:10 -!- SimonRC has quit (*.net *.split). 03:13:10 -!- lambdabot has quit (*.net *.split). 03:13:11 -!- tromp_ has quit (*.net *.split). 03:13:11 -!- surma has quit (*.net *.split). 03:13:12 -!- Slereah_ has quit (*.net *.split). 03:13:12 -!- david_werecat has quit (*.net *.split). 03:13:12 -!- mtve has quit (*.net *.split). 03:13:12 -!- jix has quit (*.net *.split). 03:13:13 -!- azaq23 has quit (*.net *.split). 03:13:13 -!- DHeadshot has quit (*.net *.split). 03:13:13 -!- sebbu has quit (*.net *.split). 03:13:13 -!- oklofok has quit (*.net *.split). 03:13:14 -!- jconn has quit (*.net *.split). 03:13:14 -!- FireFly has quit (*.net *.split). 03:13:14 -!- fungot has quit (*.net *.split). 03:13:14 -!- shachaf has quit (*.net *.split). 03:13:15 -!- oklopol has quit (*.net *.split). 03:13:15 -!- Gregor has quit (*.net *.split). 03:13:16 -!- yiyus has quit (*.net *.split). 03:13:16 -!- nortti has quit (*.net *.split). 03:13:16 -!- Deewiant has quit (*.net *.split). 03:13:16 -!- md_5 has quit (*.net *.split). 03:13:16 -!- ineiros has quit (*.net *.split). 03:13:16 -!- noam has quit (*.net *.split). 03:13:17 -!- ssue has quit (*.net *.split). 03:13:18 -!- sivoais has quit (*.net *.split). 03:13:18 -!- myndzi has quit (*.net *.split). 03:13:19 -!- elliott has quit (*.net *.split). 03:15:33 -!- oerjan has quit (Quit: leaving). 04:17:54 -!- elliott has joined. 04:26:26 -!- comex has joined. 04:26:26 -!- atehwa has joined. 04:26:26 -!- kmc has joined. 04:26:26 -!- jix has joined. 04:26:26 -!- iamcal_ has joined. 04:26:26 -!- lambdabot has joined. 04:26:26 -!- tswett has joined. 04:26:26 -!- pikhq has joined. 04:26:26 -!- surma has joined. 04:26:26 -!- aloril has joined. 04:26:26 -!- clog has joined. 04:26:26 -!- TodPunk has joined. 04:26:26 -!- glogbackup has joined. 04:26:26 -!- Jafet has joined. 04:26:26 -!- tromp_ has joined. 04:26:26 -!- rodgort has joined. 04:26:26 -!- coppro has joined. 04:26:26 -!- SimonRC has joined. 04:26:26 -!- asiekierka has joined. 04:26:26 -!- hogeyui has joined. 04:26:26 -!- Vorpal has joined. 04:26:26 -!- mtve has joined. 04:26:26 -!- Sgeo has joined. 04:26:26 -!- olsner has joined. 04:26:26 -!- hagb4rd has joined. 04:26:26 -!- impomatic has joined. 04:26:26 -!- lahwran has joined. 04:26:26 -!- david_werecat has joined. 04:26:26 -!- HackEgo has joined. 04:26:26 -!- monqy has joined. 04:26:26 -!- Slereah_ has joined. 04:26:26 -!- oerjan has joined. 04:26:26 -!- ais523 has joined. 04:26:26 -!- c00kiemon5ter has joined. 04:26:26 -!- SirCmpwn has joined. 04:26:26 -!- stuntaneous has joined. 04:26:26 -!- myndzi has joined. 04:27:03 -!- sivoais has joined. 04:27:03 -!- FreeFull has joined. 04:27:03 -!- zzo38 has joined. 04:27:03 -!- heroux has joined. 04:27:10 -!- Sanky has joined. 04:27:10 -!- EgoBot has joined. 04:27:10 -!- ion has joined. 04:27:19 -!- glogbackup has left. 04:27:22 -!- oonbotti has joined. 04:27:22 -!- fizzie has joined. 04:27:29 -!- sirdancealot has joined. 04:27:29 -!- Mathnerd314 has joined. 04:27:29 -!- lifthrasiir has joined. 04:27:35 -!- azaq23 has joined. 04:27:35 -!- DHeadshot has joined. 04:27:35 -!- sebbu has joined. 04:27:35 -!- oklofok has joined. 04:27:35 -!- jconn has joined. 04:27:35 -!- FireFly has joined. 04:27:35 -!- fungot has joined. 04:27:35 -!- shachaf has joined. 04:27:41 -!- Deewiant has joined. 04:27:42 -!- md_5 has joined. 04:27:42 -!- ineiros has joined. 04:27:42 -!- noam has joined. 04:27:42 -!- ssue has joined. 04:27:46 -!- oklopol has joined. 04:27:46 -!- Gregor has joined. 04:27:46 -!- yiyus has joined. 04:27:46 -!- nortti has joined. 04:27:53 -!- quintopia has joined. 04:27:53 -!- Lumpio- has joined. 04:27:53 -!- trout has joined. 04:27:56 what a rush 04:27:57 -!- sivoais has quit (Max SendQ exceeded). 04:28:06 -!- copumpkin has joined. 04:28:25 -!- elliott has changed nick to Guest90726. 04:28:26 -!- FreeFull has changed nick to Guest92134. 04:28:28 -!- azaq23 has quit (Quit: Leaving.). 04:28:49 -!- azaq23 has joined. 04:28:53 -!- Guest90726 has quit (Quit: Reconnecting). 04:29:59 -!- elliott has joined. 04:31:31 -!- sivoais has joined. 04:32:56 oerjan: did you know you are an expert 04:34:23 yay! 04:34:25 on what? 04:34:38 oerjan: topics 04:34:55 did anything exciting happen while I was trawling the vast expanses of netsplittery 04:35:12 other than netsplit analysis 04:35:17 not in the two places i was 04:35:33 it was like a simulation of irl post-apocalypse 04:35:42 truly I will be able to survive even without the aid of bitcoins 04:36:31 i was split with glogbot and Gracenotes, then changed servers and found what seemed to be the US side of the split, which was pretty large 04:36:41 I saw the glogbot/Gracenotes side too 04:36:52 OR AS I STARTED REFERRING TO IT DURING THE FAMINE, "SIDE G" 04:37:06 and ais523 must have been somewhere else, then came here 04:37:24 i guess some EU hub got disconnected 04:39:18 (well it was US + 1 singaporean server + 1 australian server) 04:39:34 so I heard 04:40:28 HOW COULD YOU HEAR IT WHEN I SAID IT HERE 04:40:35 a little monqy told me 04:40:37 (i guess clog was here too) 04:40:57 it's like a little birdy. but. little monqy 04:41:01 wait this joke might be inaccurate 04:41:02 monqy: are you little 04:41:05 uhh 04:41:10 bill gates has his own URL shortener 04:41:11 probably not? 04:41:12 it's b-gat.es 04:41:19 monqy kong 04:41:23 what does probably not mena 04:41:24 sometimes im taller than adults and it's scary 04:41:28 and also, mean 04:41:52 kmc: wow you're not kidding 04:43:01 19:35:38 USA will stay mainly connected, while europe shatters into fragments 04:43:05 this actually happened, irl 04:44:20 monqy: im short but i think i grew but i dont think im taller than adults 04:44:22 thats my contribution 04:44:40 bill gates is p. much the greatest utilitarian who ever lived 04:48:33 -!- augur has joined. 04:48:51 -!- augur has quit (Read error: Connection reset by peer). 04:49:14 -!- augur has joined. 04:49:19 there are real places called Mechanicsburg O_O https://en.wikipedia.org/wiki/Mechanicsburg,_Ohio 04:49:31 (for girl genius fans) 04:51:26 five of them, all in the us 04:51:39 well according to wikipedia 04:53:10 * oerjan found another one 05:32:51 ais523: it was last month anticipation2 topped the hill iirc. i've been waiting for you to frickin' write it up. and you make me wish i had time to write my even more omniscient program :P 05:32:52 quintopia: You have 3 new messages. '/msg lambdabot @messages' to read them. 05:34:20 quintopia: I just decided to try something out, and it did way better than I expected 05:34:31 then I changed something and it did even better 05:34:49 and then I realized it effectively suicided on tape length 30, and even before then it was beating space_hotel in score/points 05:34:53 (this was all local) 05:35:08 i can't wait to see the writeup :) 05:37:04 !asdf 05:37:40 umm 05:38:03 google.fi is not available but the university webpage is? 05:38:37 shocking 05:38:44 -!- david_werecat has quit (Ping timeout: 255 seconds). 05:38:55 google is not down though, right? 05:39:40 not google.no anyway 05:39:49 um 05:39:57 what 05:40:09 i'm starting to wonder if the sun will rise today. 05:40:28 oklopol: if it doesn't, does "today" have meaning? 05:40:29 in norway? doubtful 05:40:37 kmc: no, finland 05:40:53 google.com is down?? 05:41:34 it is quite possible that the google server you are connected to is not very dependent on which domain name you use for it... 05:41:43 works here 05:43:01 fancy when i visit http://www.google.fi/ most of the text is still in norwegian, except for a couple instances of the words "suomi" and "svenska" 05:43:58 oerjan: the google.com is down thing was because i understood "not google.no anyway" as saying google.no doesn't work, because i'm in a very emotional state. 05:44:15 oh. no it works here. 05:44:18 oklopol: hi 05:44:22 hi 05:45:04 are things other than the internet collapsing around you? 05:46:33 google.fi is in finnish for me 05:46:49 google is kind of obnoxious about forcing you to use the 'localized' site 05:51:36 who wants to google things for me :( 05:54:33 i wonder how much it would hurt my performance against other programs to raise the size of that first medium decoy... it certainly trounces omniscience 05:55:11 oklopol: me 05:55:25 quintopia: that's just because omniscience special-cases your decoy setup 05:55:30 kmc: Isn't showing you the localized site by default reasonable? 05:55:40 There's generally a "google.com in English" link at the bottom. 05:55:41 elliott: that's why i decided to make that change to test it 05:56:12 shachaf: google.com is the localized site in english though? 05:56:33 at least you still get very different results than from say US. 05:56:34 i cant imagine it hurting too much. my decoy build used to take two more cycles back when i had it tuned to beat counterpoke 06:07:02 -!- oerjan has quit (Quit: Gnyte). 06:08:49 quintopia: yeah, I shamelessly special-cased code against space_hotel because I thought I couldn't beat it otherwise 06:09:41 space_hotel is actually not unbeatable with the standard omnipotence strategy, but it requires mindboggingly high amounts of constant tweaking, that leave it helpless against most other programs 06:10:46 omnipotence? 06:10:47 I 06:10:56 One day I should read a guide to BF Joust strategies 06:11:10 Or, well, modern thinking, anyway 06:11:25 modern thinking?? 06:11:28 Doubt that there would be such a thing as a perfect guide. New strategies etc. 06:11:45 I'm not expecting time travel to deliver the perfect solution devised in the future 06:11:49 Is what I mean 06:11:54 modern as opposed to psychic 06:12:14 And as opposed to obsolete I guess 06:12:25 psychic??? 06:12:33 Although I guess some old strategies could make a comeback in an environment unequipped to deal with them 06:12:58 For some reason I used "psychic" to mean "contains knowledge from the future". I'm not sure why. 06:13:10 yes. 06:13:40 question marks???? 06:14:32 ¿ 06:15:19 ais523: we could use a new featured language, btw 06:15:44 elliott: I'm writing up BF Joust programs atm 06:15:51 but if you pick one, I'll write the blurb for it once I'm done with this 06:16:42 Sgeo: how are you enjoying #yfl 06:16:57 Haven't looked at it in a bit 06:17:24 ttm did say something that seemed stupid a while ago, but I could have misunderstood what was meant 06:17:31 At any rate, that conversation is long gone 06:25:54 -!- evincar has joined. 06:27:21 So I have an abstraction algorithm. 06:27:21 evincar: You have 1 new message. '/msg lambdabot @messages' to read it. 06:27:25 It is inefficient. :( 06:28:04 -!- sebbu has quit (Ping timeout: 248 seconds). 06:28:11 Anyone have resources on optimising combinator expressions? 06:32:50 -!- sebbu has joined. 06:32:51 -!- sebbu has quit (Changing host). 06:32:51 -!- sebbu has joined. 06:35:33 22:30 sometimes i am confronted with a problem and i think "I know, I'll use Banach-Tarski" 06:37:43 haha, the funny thing is you don't need a follow-up because you can imagine it 06:39:13 `addquote sometimes i am confronted with a problem and i think "I know, I'll use Banach-Tarski" 06:39:17 960) sometimes i am confronted with a problem and i think "I know, I'll use Banach-Tarski" 06:41:10 q(h)ûl-lyai’svukšei’arpîptó’ks 06:41:21 "being hard to believe, after allegedly trying to go back to repeatedly inspiring fear using rag-tag groups of suspicious-looking clowns, despite resistance" 06:47:18 some say Ithkuil has several hundred words for repeatedly inspiring fear using rag-tag groups of suspicious-looking clowns 06:50:49 This is a cute sentence. 06:50:54 "Igrawileiţrar oi eglulôn." 06:51:02 "If only the physician wouldn't eat his food in one gulp like that." 07:08:12 hmm, ithkuil.net seems to be in the wrong order... I have now read through the descriptions of a hundred unpronouncible sounds (chapter 1) and gotten to a table in chapter 2 where everything is a reference to chapter 5 07:09:04 maybe the chapter dependency graph is cyclic 07:09:15 hi monqy 07:09:19 hi shachaf 07:09:27 i saw your valiant efforts in haskell 07:09:29 after this you get to see your first ithkuil words, for example the word for ‘it is/being a representation of the man-made courses/channels of a river that has dried up’ 07:09:31 which efforts 07:09:37 the functor efforts 07:09:44 oh those efforts 07:09:45 (‾üaklaršlá) 07:10:05 monqy: do you think i did any good 07:10:13 depends on how you measure good 07:10:28 monqy entertainment value 07:10:49 tough one 07:11:16 -l, indicating NORMAL essence, DELIMITIVE extension, MONADIC perspective, UNIPLEX configuration, and CONSOLIDATIVE affiliation 07:11:28 (that's part of the explanation of the ithkuil word for tree) 07:13:27 what would happen if you tried to teach ithkuil as a first language 07:13:28 quintopia: anyone else who cares: http://esolangs.org/wiki/BF_Joust_strategies#2013 07:13:38 monqy: thats child abuse......... 07:14:21 elliott: what if you're teaching it to an adult. an adult with no linguistic knowledge. 07:14:33 A feral? 07:14:42 i heard someone tried to teach klingon as a first language but the kid decided it was stupid at like 7 yo 07:14:43 is that what they call them these days 07:14:49 (age 7 pulled out of ass) 07:15:05 decided it was stupid and stopped speaking it 07:15:53 I heard a similar story, I think the primary reason was that no-one else except the kid's father spoke klingon 07:15:57 It's okay as a curiosity but I dunno why you'd ever make your kid. 07:16:10 elliott: apart from Deadfish, which should be left for April, I think the best candidates were all either written by me or suggested by me 07:16:13 what if it's someone else's kid 07:16:18 That is okay. 07:16:22 so you'd better pick one (which might not be any of those) to avoid bias 07:16:29 also it needs to have a decent article 07:16:46 Then you can be the crazy uncle/aunt/park vagrant who teaches them funny words. 07:17:04 Vagrants are sexless you see. 07:17:53 ais523: we should feature Esme sometime 07:18:03 or maybe oklopol's brainfuck derivative whose name I am too lazy to look up right now 07:18:04 I guess I could do Kipple 07:18:15 elliott: not Esme, best left as an injoke that one 07:18:28 IIRC Kipple's article is bad 07:18:40 how about featuring the meta turing completeness page 07:18:42 Most ever Brainfuckiest Fuck you Brain fucker Fuck is the name of the language 07:18:44 my bf derivative is also a bit dangerous, as no one will get that it's a joke 07:18:53 oklofok: that sounds like an advantage 07:18:53 I don't think it has a sufficiently complete article, though 07:19:11 I agree with oklofok here, really 07:19:11 also a few wiki users have seemed to realise that I'm completely irresponsible and would probably frown upon featuring it :( 07:19:12 i should make a reference implementation 07:19:27 > unwords$liftA2(++)inits tails"monqy" 07:19:30 " m mo mon monq monqy monqy onqy nqy qy y " 07:19:49 btw i support featuring Most ever Brainfuckiest Fuck you Brain fucker Fuck 07:19:56 ais523: hmm, I want to say Eodermdrome, but I think it'd be a bad idea for you to write the blurb for your own language 07:20:03 fair enough 07:20:05 for two reasons: one, people would suspect bias; and two, it'd be ten pages long 07:20:19 nah, I'm reasonably concise in blurb-writing 07:20:22 bias is a good point though 07:20:25 ais523 is unbiased 07:20:34 ais523: are you biased 07:20:43 shachaf: there are some things about which I'm biased 07:20:53 I think I have reasonably low bias wrt esolangs, though 07:21:03 -!- Guest92134 has quit. 07:21:07 (ask elliott about my opinions on Dungeon Crawl Stone Soup some time) 07:21:08 GOOGLE WORKS AGAIN 07:21:09 that's just what a biased person would say?? 07:21:16 FUUUUUUUCK YEEEEEEEEEEEEEEEEEEEEEEAH 07:21:20 adskljflkdsajflkdsjaf 07:21:22 krhm 07:21:23 excuse me 07:21:36 hope you find out what you needed about that crackpot oklofok 07:21:49 am i a crackpot 07:21:53 shachaf: i too can recommend asking elliott about ais523's opinions on Dungeon Crawl Stone Soup 07:22:08 > unwords$((++).inits<*>tails)"monqy" 07:22:09 :=) 07:22:10 I recommend asking about monqy. hi monqy. i love monqys. they are so easy. and Sgeo should learn Ada 07:22:10 " m mo mon monq monqy monqy onqy nqy qy y " 07:22:16 Oh hey, that is the same. 07:22:16 s/about // 07:22:21 elliott: tell me more about ais523's opinions on dungeon Crawl Stone Soup 07:22:28 elliott: looks like i won this one 07:22:46 elliott: is the joke that i say those things 07:22:53 except instead of me its you saying them 07:23:17 wasn't that the joke all along 07:23:23 ais523: Emmental looks like a pretty good candidate 07:23:39 hi monqy 07:23:46 "how was that" 07:23:48 ais523: several implementations, unknown computational class, well-formatted article, interesting concept 07:23:49 "realistic?" 07:25:04 shachaf: no; try harder/??????? 07:25:26 elliott: yeah, this seems like a good pick 07:25:34 monqy: i love emonodindoisoi!!!!! 07:25:42 now I have to learn enough Emmental to be able to write the blurb ;) 07:25:51 whoa now you might be trying a little too hard 07:26:07 wow thats pretty hard 07:26:16 what if i try harder to not try too hard 07:26:28 hey monqy remember sorear 07:26:43 depends on what you mean by remember 07:27:19 what do you mean 07:27:30 i remember sorear "fsvo remember" 07:28:32 -!- Sanky has quit (Ping timeout: 252 seconds). 07:30:22 emmental sounds pretty easy 07:32:18 monqy: "which vo" are you talking about 07:32:49 the 'v' where ive never come into contact with sorear but ive seen shadows of sorear in lots of places 07:33:46 I worked with sorear on TAEB 07:33:49 oh 07:33:59 sorear is "p. great imo" 07:34:16 but i meant in #haskell 07:34:37 never met sorear in #haskell but i knew he was/is a #haskell member 07:34:58 also seen evidence of sorear involved in dcss stuff &c &c 07:35:07 ok. 07:35:08 monqy: remember ddarius 07:35:13 no 07:35:22 :'( 07:35:24 is that a lie 07:35:48 i'm not a real big "#haskell guy", past nor present??? 07:36:14 what about future 07:36:21 who knows 07:36:48 Are you male even? 07:36:56 me????? 07:37:01 why do you ask 07:37:22 Dunno, because "guy" and I thought you might be making a subtle joke. 07:37:30 Like "well maybe I'll get halfway there someday". 07:37:36 07:38:13 `list 07:38:19 Or is that the wrong one now 07:38:19 cuttlefish boily elliott Taneb HackEgo shachaf 07:38:21 ^list 07:38:22 Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 07:38:35 ^def list bf x 07:38:35 Defined. 07:38:38 have to have inter-bot command consistency 07:38:48 `list 07:38:54 cuttlefish boily elliott Taneb HackEgo shachaf Sgeo 07:39:22 Chrome sucks at gifs 07:39:30 elliott: OK, [[Emmental]] is featured 07:39:50 `hatesgeo 07:39:53 does that still work 07:40:16 `rm bin/list 07:40:50 elliott, don't see why it wouldn't, but it takes an argument 07:40:52 No output. 07:40:54 No output. 07:41:01 ais523: thanks 07:41:01 A log file I think 07:41:03 shachaf: why'd you do that? 07:41:04 `revert 07:41:07 Done. 07:41:10 elliott: I was about to `revert 07:41:12 but you got there first 07:41:24 ais523: It's the usual policy when people make programs in bin/ that beep me. 07:41:35 (Unless there's a reason for them to exist.) 07:41:37 shachaf: well it's your fault! 07:41:43 As far as I can tell that program exists purely to be annoying. 07:41:43 you shouldn't have used `list then 07:41:46 the list in `list is a list of people who've done `list 07:41:47 I didn't. 07:42:02 Can you make it "a list of people who've done it *after* it was introduced"? 07:42:17 it is that 07:42:28 can i be on the list twice 07:42:31 `list 07:42:34 cuttlefish boily elliott Taneb HackEgo shachaf Sgeo monqy 07:42:48 nice to have hackego on the list 07:42:53 "list friends" 07:42:57 `rm bin/list 07:43:01 No output. 07:43:06 `revert 07:43:08 Done. 07:43:17 It's like watching a Wikipedia edit war, except in real time. 07:43:24 (Maybe there should be an `unlist.) 07:43:33 fizzie: have you never watched a Wikipedia edit war in realtime? 07:43:44 `unlist would have to be a list of everyone who's never used it 07:43:44 `run sed -i s/shachaf// bin/list 07:43:47 which would be a bit too long 07:43:48 No output. 07:43:51 `revert 07:43:53 Done. 07:43:54 if you're going to remove yourself get it right 07:43:55 `rm bin/list 07:43:58 No output. 07:44:10 `revert 2058 07:44:13 Done. 07:44:19 Is this a version where I'm not in it? 07:44:26 `shachaf 07:44:27 [01:11] ^echo `list 07:44:28 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: shachaf: not found 07:44:28 [01:11] `list `list 07:44:28 ais523: charo*n: when the container is a thousand generations of barbarians. they watched the progress of the ring, by bottomley hopson) 07:44:30 [01:11] Aw. 07:44:35 shachaf: it /is/ your own fault 07:44:40 you made fungot say `list and talked right after 07:44:40 ais523: they say that a spear will hit a mail daemon often delivers scrolls of make-edible until it's really necessary! 07:44:42 so you got added 07:44:59 My own fault! 07:45:01 Awful. 07:45:05 anyway, because you don't want to be there, and monqy wants to be there twice 07:45:12 shall we just s/shachaf/monqy/ in the `list? 07:45:23 I don't care what you do as long as I'm not on it. 07:45:24 or would that be cheating? 07:45:25 that's cheating 07:45:29 And also don't do the "it's your own fault" thing. 07:45:43 It should be fixed so that you only get added for a direct `list 07:45:55 shachaf: yeah but it's funny 07:45:58 fungot: Do you want to be on the list? 07:45:58 fizzie: meat*, huge fangs, staring eyes, that they would treat him, then the quendi wandered in the use of black magic. as they fell through his fingers in a fountain will not easily forget this encounter if he survives it at all. 07:46:07 ais523: No, it's not. 07:46:13 it is funny actually 07:46:18 i'm laughing 07:46:18 ais523: btw, Emmental isn't yet featured; you need to add a template 07:46:21 proof positive for funny???? 07:46:26 elliott: we have a featured article template? 07:46:28 you can add that, then 07:46:30 -!- shachaf has left. 07:46:39 rip[ 07:46:44 ais523: that sounds like work :( but okay 07:46:45 "finally kicked himself" 07:50:33 Coincidences are spiritual puns. -- G.K. Chesterton [when looking up "coincidence" in FORTUNE] 07:52:20 -!- DHeadshot has quit (Read error: Connection reset by peer). 07:52:30 -!- DHeadshot has joined. 08:24:11 I got my first ever SMS spam the other day. 08:25:48 "CONGRATS!!YOUR MOBILE NUMBER HAS WON YOU 2,000,000,00 USD IN THE FREELOTTO MOBILE PROMO.FOR CLAIMS,SEND EMAIL TO:freemobileprize13@live.com & CALL:+447012980187" 08:25:57 Looks totally legit. 08:26:02 thats a lot of usd 08:26:12 Isn't +44 the UK code? 08:26:17 ye 08:26:22 i suggest callin' 08:26:27 gotta be a fune right? 08:27:11 I should call from my work phone, and if someone complains of the resulting bill just say I was trying to save the university two hundred million USD. 08:27:37 yes 08:28:01 do you dare take... the Finnish Risk [title card "THE FINNISH RISK" appears, credits roll] 08:28:04 -!- DHeadshot has quit (Ping timeout: 248 seconds). 08:29:32 I don't think I will. Instead, I'll take lunch. 08:29:46 You Have Failed the Test 08:29:55 Ejection will now begin......................... 08:30:39 monqy: Welcome onto television 08:30:43 hi elliott 08:30:50 monqy: No 08:30:52 i'll be filling in for shachaf in his absence 08:31:10 can you fill in for monqy? 08:31:25 I can try!!!! 08:31:38 this is a bad idea i'm calling it off 08:31:46 I FEEL AWFUL 08:31:57 monqy: YOU"RE BANNED... FROM TELEVISION 08:32:53 monqy: Prepare its going to explode in 3, 4, 1.......................................................... you passed the test . Welcome to `The Finnish Risk' 08:33:26 theres theme song music going on right now, but you can't hear it 08:33:58 I hop eyou feel left ojut monqy 08:34:10 i have my own music 08:34:11 so it's ok 08:35:29 Itsr not sufficient. Nothing can ever compare to....... `The Finnish Risk' [title screen rolls for the fifth time this episode, theme music starts over but without stopping first so it overlaps with itself] 08:36:19 this finish risk thing seems a bit “off„ 08:37:05 Y'uouve been nominated for award....... are you not ready to take `The Finnish Risk' [more title screen etc.] 08:37:27 its essentially a gameshow adaption of the board game `Risk' which i've never played, in finnish 08:37:50 i think one time i played risk, maybe? maybe twice half-played it 08:37:53 that's probably more right 08:38:19 Tat;s ok monqy I can walk you through the game , would you like a tutorial? 08:39:43 Your time is up................................. tutorial will now commence 08:39:45 ok 08:39:47 Riski ovat perheenjäseniä suomalainen on lähellä varpuslintujen alkaen lautapeli.TV perhe on läheisimmin liittyy amerikkalainen barbets. Ne ovat kirkkaasti merkitty ja ovat suuria, usein värikkäitä laskuja.Perheeseen kuuluu viisi sukujen ja noin neljäkymmentä eri lajia. Nimi tämä lintu ryhmä on johdettu Tupi sanasta tukana kautta kuolemaan naurua. 08:40:27 ok 08:41:00 Risk (kreikan ψυχή "psyyke", eli mieli, sielu, henki, sydän tai hengitys ja κίνησις "Kinesis", eli liike, liikkuminen, kirjaimellisesti "mieli-liikkeen"), jota kutsutaan myös telekinesis (Greek τῆλε + κίνησις, kirjaimellisesti "kaukaisilla liikkeen") suhteen tiukasti kuvaavat henkistä liikettä tai liikkeen kiintoaineen, lyhennettynä PK ja TK vastaavasti, on termi kustantajan Henry Holt viitata suoraan vaikuttaa mielen pä 08:41:26 kunnossa 08:41:49 Kukaan ei olisi uskonut viime vuosina yhdeksästoista vuosisata, että tämä maailma oli tarkkailun innokkaasti ja tiiviisti älyllisten suurempi kuin miehen ja vielä niin kuolevainen kuin omaa, että miehet askaroineet itse heidän epäkohtia he tutkittiin ja tutkittiin, ehkä lähes yhtä tiukoiksi kuin mies mikroskoopilla voi tutkia ohimenevää olentoja parveilee ja lisääntyä pisara vettä. 08:41:55 Ääretön omahyväisyys miehet menivät edestakaisin yli maapallolla heidän pikku asioista, seesteinen niiden varmuus niiden imperiumi yli asiasta. On mahdollista, että infusoria mikroskoopilla tekemään samoin. Kukaan antoi ajatuksen vanhempi avaruuden maailmoissa lähteinä ihmisen vaarassa, tai ajatellut niitä vain hylätä ajatus elämän heille niin mahdotonta tai epätodennäköistä. 08:42:01 On mielenkiintoista muistaa joitakin mielenterveyden tottumukset näiden edesmenneen päivinä. Enimmillään maan miehistä haaveillut saattaa olla muita miehiä kun Risk, ehkä huonompi itseään ja valmiita ottamaan vastaan lähetyssaarnaaja yritys. 08:42:05 Silti yli lahden tilaa, mielissä jotka ovat mielemme kuin omamme ovat kuin petoja, jotka joutuvat kadotukseen, älynsä laaja ja viileä ja tympeässä, pitää tämän maan kanssa kateellisia silmät ja hitaasti ja varmasti veti suunnitelmansa meitä vastaan​​. Ja alussa vuosisadan tuli suuri pettymys. 08:42:23 Risk: Mikä peli 08:44:04 Riski on yksi tuntematon ja frightful ilmiöitä, joka pysähtyy evolutiivista kehitystä miehen ja tuo sen täyteen hengellistä (ja usein fyysiseen) kuolema.Kirja ja verkkosivusto "riskin katastrofi" luotu ryhmä ei välinpitämätön tämän teeman ihmisiä. 08:44:08 Materiaalit syntyi henkilökohtaista käytännön kokemusta opiskelusta Teeman perustaa on teoria merkittävästä kirjat Blavatskaya EP, Roerichin HI, Roerichin NK, Abramov BN, Uranov N. ja muita nimiä.Tarkoituksena luoda kirjan on välttämätöntä kiinnittää huomiota ihmisiä tämän hirvittävän ilmiön tajuissaan vastatoimia sitä. 08:45:01 monqy: Das schließt unsere obligatorischen Tutorial. Ich hoffe, Sie alle haben gelernt, was man über Risiko wissen. Das Spiel kann nun beginnen! Das Spiel der ... "Die finnische Risk" 08:45:43 ok i have to stop because i cant stop laughing at "Das Spiel der ... "Die finnische Risk"" 08:48:53 !run printf '%s\n' 'Ääretön omahyväisyys miehet menivät edestakaisin yli maapallolla heidän pikku asioista, seesteinen niiden varmuus niiden imperiumi yli asiasta. On mahdollista, että infusoria mikroskoopilla tekemään samoin.' | hyphenate.fi 08:48:56 Mae'r risg y Ffindir yn gêm gwael gyda tiwtorial drwg. Dylech fod yn gywilydd i gymryd rhan yn y Ffindir Risg. Pam fod y Risg Ffindir yn bodoli? Mae'n faich i bawb. Ffyc Risg Ffindir. 08:49:05 `run printf '%s\n' 'Ääretön omahyväisyys miehet menivät edestakaisin yli maapallolla heidän pikku asioista, seesteinen niiden varmuus niiden imperiumi yli asiasta. On mahdollista, että infusoria mikroskoopilla tekemään samoin.' | hyphenate.fi 08:49:10 ​Ää-re-tön o-ma-hy-väi-syys mie-het me-ni-vät e-des-ta-kai-sin y-li maa-pal-lol-la hei-dän pik-ku a-si-ois-ta, sees-tei-nen nii-den var-muus nii-den im-pe-riu-mi y-li a-si-as-ta. On mah-dol-lis-ta, et-tä in-fu-so-ri-a mik-ros-koo-pil-la te-ke-mään sa-moin. 08:49:27 monqy: is that..... welsh 08:49:30 even i have limits 08:50:43 Why is the Risk Finland exist? It is a burden to everyone. Fuck Risk Finland. 09:06:51 -!- impomatic has quit (Ping timeout: 252 seconds). 09:23:18 `run hyphenate.fi << a-loi-tus 09:24:36 `run echo hääyöaie | hyphenate.fi # an oft-mentioned stupid Finnish (compound) word 09:24:38 hääyö-aie 09:27:57 hyphenate.fi doesn’t even try to support compound words. 09:29:52 -!- ais523 has quit. 09:34:40 elliott: "Riski ovat perheenjäseniä suomalainen on lähellä varpuslintujen alkaen lautapeli." ≈ "A risk are family members a Finn is near sparrows starting a board game." (Except less grammatically correct, and sparrows were an approximation -- it's actually the whole order Passeriformes.) 09:35:26 fizzie: I agree. 09:35:39 -!- evincar has quit (Quit: Replacing mechanical Turk with solid-state Turk). 09:35:51 (I took the enwp article for Toucan, replaced a few phrases, and put it through the Googles.) 09:35:58 (For the first line, that is.) 09:40:43 my googles were 100% original. i needed something to translate to welsh so i trash-talked the finland risk a bit 09:41:11 i didnt even translate yours back 09:41:15 felt like it would be inauthentic 09:41:19 well that's a lie i did most of them 09:41:20 not the welsh though 09:41:38 "Ffyc Risg Ffindir" is quite obvious. 09:41:48 well i translated the best part of mine back because it was good 09:41:53 00:50:43 Why is the Risk Finland exist? It is a burden to everyone. Fuck Risk Finland. 09:42:14 that's a good part 09:50:47 * Sgeo is finally caught up with HPMOR 09:50:53 Although I think I forgot large portions of it 09:51:21 what's that 10:10:49 -!- monqy_ has joined. 10:10:56 -!- monqy has quit (Disconnected by services). 10:11:01 -!- monqy_ has changed nick to monqy. 10:26:28 -!- DHeadshot has joined. 10:41:12 -!- carado has joined. 11:13:09 -!- elliott has quit (Ping timeout: 276 seconds). 11:13:32 -!- elliott has joined. 12:00:35 -!- Zerker has joined. 12:04:50 -!- Zerker has quit (Remote host closed the connection). 12:08:42 -!- Zerker has joined. 12:11:46 -!- carado has quit (Ping timeout: 246 seconds). 12:17:42 -!- Phantom_Hoover has joined. 12:33:00 -!- Sanky has joined. 12:38:59 -!- Zerker has quit (Quit: Colloquy for iPad - Timeout (10 minutes)). 12:39:34 -!- monqy has quit (Quit: hello). 13:03:43 -!- Phantom__Hoover has joined. 13:06:02 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 13:24:09 -!- DHeadshot has quit (Quit: Bye). 13:24:38 -!- DHeadshot has joined. 13:29:39 -!- Phantom__Hoover has quit (Ping timeout: 276 seconds). 13:31:29 -!- augur has quit (Remote host closed the connection). 13:36:07 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 14:02:11 -!- boily has joined. 14:05:35 -!- Arc_Koen has joined. 14:08:55 -!- augur has joined. 14:12:30 -!- ratesh has joined. 14:13:20 -!- ratesh has left. 14:14:05 -!- cuttlefish has joined. 14:31:54 -!- david_werecat has joined. 14:32:13 -!- Phantom_Hoover has joined. 14:37:11 -!- jconn has quit (Remote host closed the connection). 14:41:58 -!- davidwerecat has joined. 14:45:01 -!- david_werecat has quit (Ping timeout: 245 seconds). 14:46:12 -!- davidwerecat has quit (Client Quit). 14:48:13 -!- Taneb has joined. 14:48:15 -!- Phantom_Hoover has quit (Remote host closed the connection). 14:56:11 -!- Phantom_Hoover has joined. 15:03:13 -!- Phantom_Hoover has quit (Remote host closed the connection). 15:06:41 Can someone name a film with a school bully in it 15:06:41 Taneb: You have 1 new message. '/msg lambdabot @messages' to read it. 15:07:13 the facekicker hird story 15:07:29 I have to do what, shachaf 15:07:32 I have to do what 15:07:44 I think Bully has a bully in it. 15:07:44 sorry shachaf left the channel 15:07:49 elliott: I have discovered that Facekicker Hird was not called Elliott after all 15:07:55 But in fact was called "Elliot" 15:08:01 Eliet Herd 15:08:09 illiteracy befitting of a facekicker 15:08:27 fizzie: yo wanna come to birmingham to meet ais523 with Taneb + ph + me 15:08:30 you basically live in hexham so 15:09:24 I don't: think so, really. (What, you're having an #esoteric meetup or something?) 15:09:43 well it's just Taneb is going to birmingham university this month because he's a fool 15:09:52 I figure why not tag along??? 15:10:24 I haven't managed to register for that thing yet 15:10:34 well hurry up 15:10:46 The website doesn't like me 15:10:48 I bet when me and Taneb meet it'll turn out that he was actually my next door neighbour all along or something 15:11:11 elliott: my next door neighbours are called the Snowdons on one side and the Bradshaws on the other 15:11:16 Neither are called "Hird" 15:12:07 The other day (well, the other week) my wife was annoyed with me because she had a dream where I had gotten us plane tickets into a #esoteric meet somewhere in the middle of Greenland in the winter, without asking her first. Plus she wasn't really interested in a #esoteric meet at all, let alone one in Greenland, let alone one in Greenland in wintertime. (I think it's kind of cold there?) 15:12:56 I suppose arguably Birmingham might be a step up from that. 15:12:56 fizzie: OK so how would you and your wife like to come to the Greenland #esoteric meetup I am organising all of a sudden? 15:13:15 `addquote The other day (well, the other week) my wife was annoyed with me because she had a dream where I had gotten us plane tickets into a #esoteric meet somewhere in the middle of Greenland in the winter, without asking her first. Plus she wasn't really interested in a #esoteric meet at all, let alone one in Greenland, let alone one in Greenland in wintertime. (I think it's kind of cold there?) 15:13:19 961) The other day (well, the other week) my wife was annoyed with me because she had a dream where I had gotten us plane tickets into a #esoteric meet somewhere in the middle of Greenland in the winter, without asking her first. Plus she wasn't really interested in a #esoteric meet at all, let alone one in Greenland, let alone one in Gree 15:14:08 good enough 15:14:20 -!- cuttlefish has quit (Remote host closed the connection). 15:14:26 Taneb: I'm pretty sure "Snowdon" is a type of Pokémon. At least it should be. 15:14:31 `quote 961 | paste 15:14:33 No output. 15:14:48 fizzie: it's also the name of my next-door neighbour 15:14:51 Mr Snowdon 15:15:12 is he a pokemon 15:15:18 I do not believe so 15:15:26 However I have not tested to see 15:15:49 (how would you test if someone is a Pokemon?) 15:15:58 "Molly Hale (Japanese: ミー・スノードン Me Snowdon) is a little girl from the town of Greenfield, the daughter of two researchers. She is a central character in the third Pokémon movie, Spell of the Unown." 15:16:19 Well, what do you know. There are some hits for "Snowdon" and "Pokémon" after all. 15:16:40 Is Mr Snowdon a researcher? 15:16:50 fizzie: Snowdon is a metro station here. 15:16:58 You might be thinking of Snover 15:17:04 Which evolves into Abomasnow 15:17:22 Taneb: Of course it does. 15:17:54 I have to hurry to a bus now. -> 15:18:09 Bye, fizzie 15:20:09 -!- Taneb has quit (Quit: TIME TO PRETEND TO BE A GHOST). 15:30:57 I caught my bus. 15:31:56 It sure is Snowdoning out there these days. 15:45:54 -!- cuttlefish has joined. 15:55:42 ~metar CYUL 15:55:42 CYUL 081500Z 03018KT 5/8SM R06L/4500FT/U R06R/4500V3000FT/U -SN BLSN VV006 M15/M19 A3031 RMK SN8 SLP267 15:55:49 still snowing outside. 15:57:58 ugh, does HML give up the property about existentials I liked about MLF... 15:58:58 normalize :: Type -> Type 15:58:58 normalize tp = tp 15:59:01 fantastic function. 16:00:39 ~metar EFHK 16:00:40 EFHK 081550Z 03010KT 3000 -SN FEW008 SCT012 BKN014 M03/M04 Q1013 TEMPO 2500 16:00:57 Sadly, I don't know what it means. 16:03:12 -SN is apparently light snow. 16:04:27 And minus three degrees Celsius. 16:06:12 report made at 3:50pm UTC today, NE winds at 10 knots, light snow, few clouds at 800', scattered clouds at 1200', broken clouds at 1400', temperature is -3 °C with dew point at -4 °C, air pressure is 101,3 kPa (don't know if sea level or airfield). 16:06:21 can't remember what TEMPO is. 16:07:29 -!- Phantom_Hoover has joined. 16:11:45 ~metar KBOS 16:11:51 KBOS 081607Z 09020KT 3/4SM R04R/4500V6000FT -SN BR SCT008 OVC013 01/M02 A3024 RMK AO2 CIG 008 E P0000 16:12:06 It's apparently -SN'ing everywhere. 16:12:35 ~metar HXHM 16:12:40 --- Station not found! 16:12:41 What, that's not the Hexham airport? 16:13:04 sadly ICAO codes are systematic, the first letter corresponds mostly to continent 16:13:25 But isn't Hexham a ham(let) on the Hex(agonal) continent? 16:13:27 ~metar EGNT 16:13:31 EGNT 081550Z 35009KT 9999 FEW038 06/M00 Q1019 16:13:43 fizzie: Catan? 16:13:44 let me guess: newcastle? 16:13:49 yeah 16:13:54 it's not -SNing in newcastle? 16:14:14 hm I'm surprised KBOS isn't up to +SN already 16:14:39 ~metar KEWR 16:14:43 KEWR 081551Z 03014KT 5SM -PLRA BR SCT006 OVC010 02/01 A2998 RMK AO2 RAB11SNE11B35E49 SLP153 CIG 009V011 SCT V BKN P0004 T00170006 16:14:55 it's -PLRAing in Newark. 16:15:16 Light ice pellets and rain. 16:16:58 ~metar EFKE 16:17:03 EFKE 081550Z 18001KT 9000 -SHSN OVC013 M14/M15 Q1024 16:17:14 It's -SHSNing in Kemi, apparently. 16:21:18 shit-snowing? 16:21:40 How unpleasant. 16:24:08 ~metar EGPH 16:24:09 EGPH 081550Z 26007KT CAVOK 06/00 Q1021 16:24:18 ooh 16:24:21 cavok 16:24:29 ceiling and visibility OK. 16:24:35 the most boring descriptor out there. 16:24:39 thank god 16:24:53 wouldn't want the ceiling to be broken or w/e 16:32:09 ~metar QRST 16:32:09 --- Station not found! 16:32:12 :,( 16:32:42 ~metar KLAF 16:32:43 KLAF 081554Z 32012G21KT 9SM OVC013 M02/M04 A3019 RMK AO2 SLP229 T10171039 16:32:53 Well look at all those strings of letters. 16:33:22 ~metar SGEO 16:33:23 --- Station not found! 16:33:24 elliott: sadly, there aren't any airport beginning with Q, because it may cause confusion with Q codes. 16:34:00 Gregor: a university has an airport? 16:34:12 Yes, this university. 16:34:21 It also has two Poultry Science buildings. 16:34:22 Two! 16:34:35 oookaaay..... 16:35:16 `quote avarice 16:35:18 251) Gregor, yeah, but Purdue has poultry science facilities beyond the dreams of avarice. 16:35:42 @tell oerjan THE HML TYPE SYSTEM IS FUCKING AMAZING WHY DID YOU NEVER TELL ME ABOUT THIS OMG 16:35:42 Consider it noted. 16:36:19 sadly farmingdale apparently has no poultry science buildings 16:36:27 what amazes me is that elliott searched for that quote with 'avarice'. 16:36:40 it did produce this groundbreaking paper though: http://ps.fass.org/content/1/3/89.abstract 16:37:10 cool, more remote code exec in Ruby libs due to bad deserialization: http://rack.github.com/ 16:37:54 kmc don't just link to projects and expect everyone to look at their front page and be 'omg what a bunch of twats!' 16:38:03 it has info Phantom_Hoover 16:38:04 as in 16:38:07 you should link to a snarky blog about it or sth 16:38:09 on the actual exploit 16:38:24 oh shit you're right 16:38:34 omg what a bunch of twats 16:38:44 phantom hoover, n. what a bunch of twat 16:39:11 you're the bunches of twats 16:48:21 the actual vuln here is a timeable MAC comparison function 16:48:33 but breaking the MAC gives you immediate RCE which is also a questionable design 16:48:48 i used to think that kind of thing was okay but... now i do not 16:53:00 Shower-snowing. 16:53:49 snowering? 16:54:24 -!- DHeadshot has quit (Ping timeout: 276 seconds). 16:56:42 -!- AnotherTest has joined. 17:01:05 -!- carado has joined. 17:08:02 @tell shachaf You might like https://twitter.com/hashbreaker/status/299913976282771456 17:08:02 Consider it noted. 17:16:15 kmc, that pdf is weird 17:23:54 yeah 17:25:03 fortunately if i use the arrow keys to scroll sideways it kind of works out sanely 17:28:10 -!- FreeFull has joined. 17:29:14 http://www.somethingawful.com/d/news/jlist-japan-rand.php 17:29:14 i 17:36:09 * Sgeo now knows what happens when Pidgin thinks that someone logged in in the future 17:45:43 well 17:45:46 don't leave us all in the dark 17:46:33 -!- Taneb has joined. 17:47:25 it is better to remain in the comforting darkness than to brave the terrific light of pidgin's login timestamp logic 17:50:24 lolwut 17:50:49 I had a thing recently in Skype where it put the discussion in the wrong order by moving my conversation-partner's replies above my questions, apparently because either one of us had a clock skew of a dozen seconds or so. 18:02:26 -!- azaq23 has quit (Quit: Leaving.). 18:06:42 i once talked in skype with the computer clock a couple days in the future 18:06:56 had to look at that till the time came. 18:16:22 It puts the exact date any time 18:16:28 Rather than the typical "5 seconds ago" 18:16:58 *date and time 18:17:37 :O 18:20:12 -!- Arc_Koen has quit (Ping timeout: 256 seconds). 18:40:32 `quote banach 18:40:33 960) sometimes i am confronted with a problem and i think "I know, I'll use Banach-Tarski" 18:40:50 -!- DHeadshot has joined. 18:40:55 -!- ogrom has joined. 18:41:10 `? banach-tarski 18:41:13 ​"Banach-Tarski" is an anagram of "Banach-Tarski Banach-Tarski". 18:42:40 I assume that's a maths joke that's just gone straight over my head... 18:44:05 DHeadshot, the banach-tarski theorem states that you can cut a sphere into a finite number of pieces and reassemble them into two spheres of the same size 18:44:29 5 pieces, right? 18:44:36 * Sgeo has learned stuff from IWC 18:44:38 Ah 18:44:48 ....wait, IWC? irregular webcomic? what 18:44:50 i don't remember, there are 4 interesting pieces 18:45:07 oh, irregular WebComic, I presume 18:45:08 derp 18:45:39 i 18:45:41 Haven't read that for a few years... 18:45:49 lexande's is my favorite rendering of the banach-tarski pun yet 18:46:53 Sgeo, did you just have a brief discussion with yourself over what iwc is 18:47:23 I was confused as to why the abbreviation of Irregular Webcomic was IWC 18:47:59 http://brownsharpie.courtneygibbons.org/wp-content/comics/2006-12-11-bananach-tarski.jpg.pagespeed.ce.OBBgFNJ8Y3.jpg 18:49:06 consider the group of rotations on the banana 18:50:36 -!- DHeadshot has quit (Ping timeout: 264 seconds). 18:56:29 do you ever get the feeling that your life is just taking one converging subsequence after another 18:59:03 ~metar CYUL 18:59:03 CYUL 081800Z 04022G29KT 5/8SM R06L/3500FT/N R06R/4000FT/N -SN BLSN VV006 M13/M16 A3022 RESN RMK SN8 /S07/ SLP238 18:59:18 oklopol, is that a pun 18:59:26 still -SNing, with additional BLSN. yeeeeah.... :-/ 18:59:57 no 19:00:26 pity 19:00:58 i wish it were a pun 19:05:09 there must be some decent analysis puns 19:20:44 ~metar KBOS 19:20:44 KBOS 081854Z 07024G31KT 1/2SM R04R/3500V4500FT SN FG VV008 00/M01 A3011 RMK AO2 PK WND 08031/1846 TWR VIS 3/4 PRESFR SLP193 P0001 T00001011 19:21:03 -!- impomatic has joined. 19:21:04 snow, fog, 8 vuvuzelas 19:21:15 i wonder when we'll hit +SN 19:24:57 kmc: our vertical visibility is still worse than yours :p 19:25:19 ~metar CYUL 19:25:19 CYUL 081900Z 03023G28KT 3/4SM R06L/4000FT/U R06R/4000FT/U -SN BLSN VV008 M12/M15 A3019 RMK SN8 SLP226 19:25:29 ah. no. it changed. 19:26:15 ~metar egph 19:26:15 --- Station not found! 19:26:20 "vertical visibility", is that a euphemism for vuvuzelas? 19:26:23 ~metar EGPH 19:26:23 EGPH 081920Z 24005KT 9999 -RA SCT042 04/02 Q1021 19:26:35 oh joy 19:26:36 ra 19:28:24 ~metar ESSL 19:28:25 ESSL 081920Z 36012KT 8000 -SN BKN011 M04/M05 Q1014 19:29:12 ... whatever that means 19:30:23 moderate north wind, 8 km ground visibility, light snow, broken clouds at 1100', -4 °C with dewpoint at -5 °C (quite humid), 101,4 kPa sea level pressure. 19:30:41 and it means you have an interest into Linköping. 19:32:36 -!- monqy has joined. 19:32:57 http://www.reddit.com/r/ruby/comments/184ymb/major_rack_vulnerability_need_to_update_your_rack/ 19:34:08 yup 19:34:17 timeable MAC comparison function = badness 19:34:24 remote code exec is really just the cherry on the shit sundae here 19:34:35 ruby vulnerabilities! how surprising! 19:34:50 let's all switch back to PHP 19:34:52 * Sgeo is not smart enough to write code not vulnerable to timing issues, I think 19:35:06 Sgeo: basically nobody is 19:35:16 you have to work against your entire stack (compiler, CPU cache, etc) 19:35:30 all of which aim to make things faster by making them not constant time 19:36:30 Maybe a language that makes writing such code easier? Compiler would co-operate, know some tricks to deal with hardware, etc 19:36:37 yeah 19:36:53 this would help 19:37:48 "Saddest thing about this is, @codahale reported this 3 years ago, and I even responded then, but I was too dumb to get it, and not running releases (probably good). Anyway, I was wrong then, and we were wrong not to deal with it." 19:38:25 good thing all these timing attacks are only viable if you're in the same datacenter... oh wait 19:40:49 -!- epicmonkey has joined. 19:56:17 -!- DHeadshot has joined. 20:04:38 Tempted to redefine Numberwang to be a complete joke language 20:05:59 a third numberwang?? 20:06:17 Oh, yeah 20:06:29 My Numberwang was the second Numberwang, wasn't it 20:08:07 the number that can be wanged is not the true numberwang 20:08:37 I may also distribute a closed source implementation 20:08:47 And call it the reference implementation 20:09:23 a third numberwang would make sense. wangernumb also makes sense. 20:12:15 import Acme.Numberwang {- thanks kmc -}; main = do {xs <- fmap (map (numberwang . read) . words) getContents; interpretAsSomeLanguage xs} 20:12:43 that's numberwang! 20:12:50 !numberwang 6 20:12:53 That's numberwang! 20:12:55 -!- DHeadshot has quit (Ping timeout: 240 seconds). 20:12:57 !numberwang banana 20:12:58 I'm sorry, but Brazil isn't a vegetable! 20:13:02 !numberwang eleventeen 20:13:02 I'm sorry, but Brazil isn't a vegetable! 20:13:12 !numberwang twelfington 20:13:12 I'm sorry, but Brazil isn't a vegetable! 20:13:25 !numberwang 0.99999999 20:13:25 That's numberwang! 20:13:32 getContents >>= interpretAsSomeLangauge . map (numberwang . read) . words 20:13:33 !numberwang NaN 20:13:33 !numberwang chaitin's constant 20:13:34 I'm sorry, but Brazil isn't a vegetable! 20:13:34 I'm sorry, but Brazil isn't a vegetable! 20:14:15 whoah 20:14:15 why is emmental featured lang 20:14:17 why not eodermdrome 20:14:34 Because they didn't let me choose like with Glass and Malbolge 20:14:56 something about bias 20:15:09 and overcorrecting?? 20:15:19 "you decide" 20:15:35 -!- Sgeo_ has joined. 20:15:56 -!- Sgeo has quit (Read error: Connection reset by peer). 20:21:08 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds). 20:25:16 -!- Nisstyre-laptop has joined. 20:29:45 -!- sirdancealot has quit (Ping timeout: 256 seconds). 20:43:19 -!- oerjan has joined. 20:43:47 -!- sirdancealot has joined. 20:43:58 @messages 20:43:59 elliott said 4h 8m 17s ago: THE HML TYPE SYSTEM IS FUCKING AMAZING WHY DID YOU NEVER TELL ME ABOUT THIS OMG 20:44:03 elliott: WAT 20:44:14 what's the L for. 20:48:33 Hardware ML? 20:50:02 hebrew ML 20:50:22 Hugo's Multitasking Language 20:51:10 -!- Sgeo_ has changed nick to Sgeo. 20:51:34 Haskell mit der Luftwaffe 20:54:45 * oerjan assumes hebrew ML has strict gender distinction in the types 20:55:43 html for stuff other than text? 20:56:28 -!- DHeadshot has joined. 21:09:41 -!- epicmonkey has quit (Ping timeout: 255 seconds). 21:24:51 -!- Phantom_Hoover has joined. 21:29:02 HaskMeL 21:32:54 -!- AnotherTest has quit (Quit: Leaving.). 21:33:40 -!- DHeadshot has quit (Ping timeout: 248 seconds). 21:33:44 -!- DH____ has joined. 21:38:46 -!- sirdancealot has quit (Ping timeout: 245 seconds). 21:40:26 -!- sirdancealot has joined. 21:59:16 why not eodermdrome <-- because ais523 didn't want to write the blurb for his own language 21:59:48 oh 22:01:23 I still like Mascarpone's "reify/deify" pun 22:01:27 -!- WeThePeople has joined. 22:02:46 -!- stuntaneous has quit. 22:03:28 -!- monqy has quit (Quit: hello). 22:03:48 maybe you could tell us what it is 22:03:54 -!- boily has quit (Quit: Poulet!). 22:03:57 -!- cuttlefish has quit (Remote host closed the connection). 22:04:45 About Eodermdrome 22:05:17 In a command, if there's no input and no output set, how does one distinguish between the string for the match subgraph and the string for the reaplacement subgraph? 22:05:21 replacement 22:05:38 hmm 22:05:42 not sure what you mean 22:07:17 Sgeo, the subgraph strings have nothing to do with the input/output strings... 22:07:39 Oh, the parts of the commands themselves are separated by whitespace 22:08:00 So a b c d is two commands, a b and c d 22:08:04 ok' 22:11:37 Hmm. It should be possible to implement, say, a Lisp in Mascarpone, right? 22:12:03 * oerjan is still annoyed by whoever replaced his carefully crafted ASCII graph without crossing edges with a picture with crossing edges, even if it's prettier graphics 22:12:47 The picture suggests it's a directed graph, too 22:13:15 ah right 22:14:02 -!- sirdancealot has quit (Ping timeout: 255 seconds). 22:16:37 -!- ogrom has quit (Quit: Left). 22:18:29 Occurs to me that it would probably be more sensible to define a Forth or Factor like language on top of Mascarpone 22:22:05 -!- Taneb has quit (Quit: Leaving). 22:41:14 o.O Haxe has macros 22:41:20 The language now has my attention. 22:41:40 (Before, pretty much dismissed it as a boring language that people like only because it compiles to a bunch of stuff) 22:41:50 Still quite inclined to keep doing that 22:43:47 -!- Zerker has joined. 22:46:28 haxeham 22:49:39 `welcome Zerker 22:49:42 Zerker: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:49:45 ^bf ++++ ++++ ++++ ++++[>+++++<-]>[<+++++>-]+<+[ >[>+>+<<-]++>>[<<+>>-]>>>[-]++>[-]+ >>>+[[-]++++++>>>]<<<[[<++++++++<++>>-]+<.<[>----<-]<] <<[>>>>>[>>>[-]+++++++++<[>-<-]+++++++++>[-[<->-]+[<<<]]<[>+<-]>]<<-]<<- ] 22:49:46 0.1.4.9.16.25.36.49.64.81.100.121.144.169.196.225.256.289.324.361.400.441.484.529.576.625.676.729.784.841.900.961.1024.1089.1156.1225.1296.1369.1444.1521.1600.1681.1764.1849.1936.2025.2116.2209.2304.2401.250 ... 22:50:06 !bf8 ++++ ++++ ++++ ++++[>+++++<-]>[<+++++>-]+<+[ >[>+>+<<-]++>>[<<+>>-]>>>[-]++>[-]+ >>>+[[-]++++++>>>]<<<[[<++++++++<++>>-]+<.<[>----<-]<] <<[>>>>>[>>>[-]+++++++++<[>-<-]+++++++++>[-[<->-]+[<<<]]<[>+<-]>]<<-]<<- ] 22:50:07 0 \ 1 \ 4 \ 9 \ 16 \ 25 \ 36 \ 49 \ 64 \ 81 \ 100 \ 121 \ 144 \ 169 \ 196 \ 225 \ 256 \ 289 \ 324 \ 361 \ 400 \ 441 \ 484 \ 529 \ 576 \ 625 \ 676 \ 729 \ 784 \ 841 \ 900 \ 961 \ 1024 \ 1089 \ 1156 \ 1225 \ 1296 \ 1369 \ 1444 \ 1521 \ 1600 \ 1681 \ 1764 \ 1849 \ 1936 \ 2025 \ 2116 \ 2209 \ 2304 \ 2401 \ 2500 \ 2601 \ 2704 \ 2809 \ 2916 \ 3025 \ 3136 \ 3249 \ 3364 \ 3481 \ 3600 \ 3721 \ 3844 \ 3969 \ 4096 \ 4225 \ 4356 22:50:15 !bf16 ++++ ++++ ++++ ++++[>+++++<-]>[<+++++>-]+<+[ >[>+>+<<-]++>>[<<+>>-]>>>[-]++>[-]+ >>>+[[-]++++++>>>]<<<[[<++++++++<++>>-]+<.<[>----<-]<] <<[>>>>>[>>>[-]+++++++++<[>-<-]+++++++++>[-[<->-]+[<<<]]<[>+<-]>]<<-]<<- ] 22:50:16 [<<<]? unbalanced? That unnerves me for some reason 22:50:17 0 \ 1 \ 4 \ 9 \ 16 \ 25 \ 36 \ 49 \ 64 \ 81 \ 100 \ 121 \ 144 \ 169 \ 196 \ 225 \ 256 \ 289 \ 324 \ 361 \ 400 \ 441 \ 484 \ 529 \ 576 \ 625 \ 676 \ 729 \ 784 \ 841 \ 900 \ 961 \ 1024 \ 1089 \ 1156 \ 1225 \ 1296 \ 1369 \ 1444 \ 1521 \ 1600 \ 1681 \ 1764 \ 1849 \ 1936 \ 2025 \ 2116 \ 2209 \ 2304 \ 2401 \ 2500 \ 2601 \ 2704 \ 2809 \ 2916 \ 3025 \ 3136 \ 3249 \ 3364 \ 3481 \ 3600 \ 3721 \ 3844 \ 3969 \ 4096 \ 4225 \ 4356 22:50:26 Then again, I'm not much of a BF progtrammer 22:50:27 programmer 22:50:31 !bf32 ++++ ++++ ++++ ++++[>+++++<-]>[<+++++>-]+<+[ >[>+>+<<-]++>>[<<+>>-]>>>[-]++>[-]+ >>>+[[-]++++++>>>]<<<[[<++++++++<++>>-]+<.<[>----<-]<] <<[>>>>>[>>>[-]+++++++++<[>-<-]+++++++++>[-[<->-]+[<<<]]<[>+<-]>]<<-]<<- ] 22:50:32 0 \ 1 \ 4 \ 9 \ 16 \ 25 \ 36 \ 49 \ 64 \ 81 \ 100 \ 121 \ 144 \ 169 \ 196 \ 225 \ 256 \ 289 \ 324 \ 361 \ 400 \ 441 \ 484 \ 529 \ 576 \ 625 \ 676 \ 729 \ 784 \ 841 \ 900 \ 961 \ 1024 \ 1089 \ 1156 \ 1225 \ 1296 \ 1369 \ 1444 \ 1521 \ 1600 \ 1681 \ 1764 \ 1849 \ 1936 \ 2025 \ 2116 \ 2209 \ 2304 \ 2401 \ 2500 \ 2601 \ 2704 \ 2809 \ 2916 \ 3025 \ 3136 \ 3249 \ 3364 \ 3481 \ 3600 \ 3721 \ 3844 \ 3969 \ 4096 \ 4225 \ 4356 22:51:07 hm no difference according to cell size. maybe unbounded would break. 22:52:25 !languages 22:52:32 !help 22:52:32 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 22:52:36 !help languages 22:52:36 ​languages: Esoteric: 1l 2l adjust asm axo bch befunge befunge98 bf bf8 bf16 bf32 boolfuck cintercal clcintercal dimensifuck glass glypho haskell kipple lambda lazyk linguine malbolge pbrain perl qbf rail rhotor sadol sceql trigger udage01 underload unlambda whirl. Competitive: bfjoust fyb. Other: asm c cxx forth sh. 22:53:28 haskell is esoteric but cxx isn't? c'mon people 22:54:06 Gregor is probably making a statement 22:54:22 i should make an esolang named "Haskell" which has all the features that uninformed people think Haskell has 22:55:35 monads used for everything, they are all one-way 22:55:41 automatic memoization of functions 22:56:29 monads? you mean burritos and space suits! 22:56:37 om nom nom 22:56:51 omnomads 22:57:46 speaking of monads, is there an operator with the same type as id somewhere? 22:57:59 bfjoust is competitive but Haskell isn't? c'mon. 22:58:38 id can be $ but it seems the opposite is not true, for some unfathomable reason 23:00:18 Sgeo: it's pretty hard to make a program which handles unbounded numbers in bounded cells without using unbalanced loops. 23:00:32 *in a bounded cell implementation 23:01:12 > ask "maybe" 23:01:14 "maybe" 23:01:46 -!- Zerker has quit (Read error: Connection reset by peer). 23:01:53 $ requires at least two arguments, yes 23:01:58 -!- Zerker has joined. 23:02:45 (that's not my program btw, it was mentioned on the wiki) 23:03:14 -!- Zerker has quit (Remote host closed the connection). 23:03:28 -!- Zerker has joined. 23:13:49 -!- Zerker has quit (Quit: Colloquy for iPad - Timeout (10 minutes)). 23:27:31 -!- augur has quit (Remote host closed the connection). 23:47:56 -!- augur has joined. 23:48:27 -!- SirCmpwn has quit (Excess Flood). 23:51:53 -!- SirCmpwn has joined. 2013-02-09: 00:03:36 hmm, (>>=)(+)($), ((+)>>=($)) or (($)=<<(+))? 00:05:00 I think it would be like ((+)>>=id) which is like (join(+)) so it is doubling 00:05:15 indeed 00:05:30 -!- augur has quit (Remote host closed the connection). 00:05:45 Can you figure out any of these sequences of natural numbers? 00:05:51 663, 896, 84733, 3687, 3473, 749, ...? 00:05:55 17, 13, 5, 18, 20, 25, 21, ...? 00:06:03 1, 6, 10, 2, 5, 4, 9, 0, 8, 50, 40, 7, 60, 80, 11, ...? 00:06:25 2, 4, 6, 30, 32, 34, 36, 40, 42, 44, 46, ...? 00:06:30 0, 0, 0, 0, 4, 9, 5, 1, 1, 0, 55, ...? 00:06:41 @oeis 663, 896, 84733, 3687, 3473, 749 00:06:41 nothing rings a bell yet 00:06:42 Sequence not found. 00:06:53 @oeis 663 896 84733 00:06:53 @oeis 17, 13, 5, 18, 20, 25, 21 00:06:53 Numerical equivalents of the words zero, one, two, three, ... on touch-tone ... 00:06:53 [9376,663,896,84733,3687,3483,749,73836,34448,6463,836,353836,893583,8447833... 00:06:54 Try to figure out without OEIS. 00:06:55 Sequence not found. 00:07:22 @oeis 17,13,5,18,20,25,21 00:07:24 Sequence not found. 00:07:27 O perhaps I did a typing mistake? 00:07:47 I think oerjan is just needing to figure out how @oeis works 00:07:59 no 3473 should have been 3483 00:07:59 (I just made them up and do not remember all of them myself) 00:08:04 @oeis 663, 896, 84733, 3687, 3483, 749 00:08:04 Numerical equivalents of the words zero, one, two, three, ... on touch-tone ... 00:08:05 [9376,663,896,84733,3687,3483,749,73836,34448,6463,836,353836,893583,8447833... 00:09:05 zzo38: the second also seems to have a type, i get qmertyu 00:09:16 *typo 00:09:19 oerjan: I will fix that one too then. 00:09:34 (These are some I have on my computer.) 00:10:55 that 2,4,6,30 one i have this weird feeling it's been mentioned before 00:11:12 Maybe it has. But I forget what it means too 00:11:57 after 30, it seems to only skip 38 and is otherwise linear 00:17:12 I have read about different tests for a pseudo random number generator, of a few such as with dice and so on. Would a Fourier transform help at all? 00:36:48 -!- augur has joined. 00:56:25 -!- copumpkin has joined. 01:06:02 -!- augur has quit (Remote host closed the connection). 01:09:57 what block cipher mode is used by OpenSSL cipher ECDHE-RSA-AES128-SHA256? 01:19:44 -!- augur has joined. 01:19:59 hm i suspect the anonymous ip who once cleaned up IINC was me 01:20:16 -!- augur has quit (Remote host closed the connection). 01:22:41 apparently it is "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" 01:22:57 it's too much to expect that all the CBC modes should have "CBC" in the unique id 01:36:14 -!- Phantom_Hoover has left ("Leaving"). 01:53:28 ^bf ] 01:53:28 Mismatched []. 02:05:04 ~metar KBOS 02:05:11 aww 02:05:27 well anyway we're up to +SN now 02:09:17 why does googling -4^(1/4) produce 822,000 porn links and nothing else 02:29:58 -!- WeThePeople has quit (Quit: Leaving). 02:47:08 kmc: Maybe you need an equal sign afterward; did you try that? 02:48:22 Have anyone else in here ever using LodePNG? 02:49:03 (If so, in C or C++?) 02:54:53 `run echo test | fueue ')[)~~[)$--1[)~]<~~<)<[)$%0]][):]~[)~~[)$--1[)~]<~~<)<[)$$6-%0]][~~~)*[)~(:+~~-)+1]---256%):]~[)~~[)$--1[)~]<~~<)<[)$--%0]][~~)<~~~(]~[)~~[)$--1[)~]<~~<)<[)$%0]][):]~[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[)~~[)$--1[)~]<~~<)<[)$--%0]][))(($3~)<(]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[[0]:[[0]<:[[0]<:]][48H])~!]]]]]]]]][)[H]][33H]' 02:54:59 fs 02:55:19 excellent 03:17:44 If all of the channels of VGM are enabled then how many channels will there be? 03:35:45 -!- monqy has joined. 03:40:43 -!- Arc_Koen has joined. 03:43:04 -!- WeThePeople has joined. 03:45:03 Sgeo: so basically it assumes it's a time so far back in the past that it can't compute the difference? 03:45:15 "eons ago" 03:52:39 ^list 03:57:33 `run echo -n test | fueue ')[)~~[)$--1[)~]<~~<)<[)$%0]][):]~[)~~[)$--1[)~]<~~<)<[)$--%0]][~~)<~~~(]~[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]][1)[)[)$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]]]]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[[0]:[[0]<:[[0]<:]][48H])~!]]]]][)[H]][33H] ' 03:57:35 t 03:57:44 `run echo -n anothertest | fueue ')[)~~[)$--1[)~]<~~<)<[)$%0]][):]~[)~~[)$--1[)~]<~~<)<[)$--%0]][~~)<~~~(]~[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]][1)[)[)$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]]]]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[[0]:[[0]<:[[0]<:]][48H])~!]]]]][)[H]][33H] ' 03:57:46 t 03:57:52 excellent 03:58:38 `mlist 03:58:39 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: mlist: not found 03:58:41 (that was ,[>,]<. btw) 03:58:42 `hlist 03:58:43 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: hlist: not found 03:58:46 Sgeo: `slist 03:58:50 `slist 03:58:51 Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 03:59:28 hm... 03:59:49 `run ls *list 03:59:51 ​/bin/ls: cannot access *list: No such file or directory \ /bin/ls: cannot access *list: No such file or directory 03:59:56 `run ls bin/*list 03:59:58 bin/list \ bin/makelist \ bin/olist \ bin/slist 04:00:07 `cat bin/makelist 04:00:09 echo 'tail -n +2 $0 | xargs echo; exit 0' >$1;chmod +x $1 04:08:24 -!- Gracenotes has quit (Ping timeout: 240 seconds). 04:09:16 -!- Gracenotes has joined. 04:13:13 -!- shachaf has joined. 04:15:15 welcome back?? 04:16:02 ???????????? 04:16:15 ¿ 04:17:15 1 ft of snow accumulation and no sign of it slowing down 04:19:09 It turns out shachaf.net expired in Oct 04:19:18 :( 04:19:29 Hardly :( 04:19:32 I have it now! 04:19:53 oh, you didn't before? 04:19:57 Nope. 04:20:00 conchafulations! 04:20:02 I had that jumble of letters. 04:20:19 Now I have to become an ISP, right? 04:21:18 The maximum channels in a VGM file using all chips must be a lot; especially since most of them can be doubled. Even the OPL4 alone supports 42 channels (I think it does). 04:21:59 If you do, can I connect though you? Bound to be more reliable than Virgin Media... 04:27:55 -!- aloril has quit (Ping timeout: 256 seconds). 04:28:37 can you get shach.af 04:29:03 -!- aloril has joined. 04:29:12 Yes, but it's $100/year or something. 04:29:18 -!- Arc_Koen has quit (Quit: Arc_Koen). 04:38:10 How much money do you want to pay for it? 04:42:24 Presumably less than $100/year 04:42:45 Apparently I can get it for $78/year. 04:42:49 100$/year seems nicer to write since the unit is really $/year and nice to have the unit all together like that 04:44:35 * oerjan prepares to watch Sgeo apply that to parentheses 04:45:07 helloerjan 04:45:11 welcoerjan back? 04:46:19 have i been gone? 04:46:45 Yes, for the last day or something? 04:46:45 ok i _was_ making food for a few minutes 04:46:51 wat. 04:47:05 /whoerjanis 05:19:28 shachaf: it's not snowing in CA is it 05:19:39 Nope. 05:19:58 It was ~12° and sunny today. 05:22:49 C or F? 05:22:59 or... R 05:23:03 C 05:23:34 Also that's a TILDE, not a HYPHEN-MINUS. 05:25:36 monqy: do you understand adjunctions 05:25:44 "i dont have much intuition for them..........." 05:27:24 -!- WeThePeople has quit (Quit: Leaving). 05:29:00 hyphen-tilde 05:29:54 kmc: is dnscurve "the future" 05:31:28 i... don't know 05:31:42 -!- DH____ has quit (Read error: Connection reset by peer). 05:31:54 does 'future' here mean 'actual future' or 'epcot' 05:32:03 -!- DHeadshot has joined. 05:32:07 a@wn epcot 05:32:08 @wn epcot 05:32:09 No match for "epcot". 05:33:49 it's the "70s vision of the year 2000" theme park at disney world 05:56:10 `slist 05:56:12 Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 05:57:14 Sgeo: By the way am I on the pbfcomics.com update list? 05:57:18 You didn't notify me. 05:57:55 `run echo more test | fueue ')[)~~[)$--1[)~]<~~<)<[)$%0]][):]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[[49 33H])[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]]~[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~[[0]:[[0]<:[[0]<:]][50 33H])~!]]]]][))$11~<<~:(~:<][)[[48 33H])~[)[H]]~~!]!]' 05:57:57 more test 05:58:01 yay! 05:59:22 (that was +[,.] in yet a more primitive form) 06:01:12 (obviously "primitive" is something very different from "shorter") 06:01:52 shachaf, I don't check PBF. So no. 06:01:56 Thanks for telling me though 06:02:04 oerjan: are you eliminating instructions? 06:02:11 no. 06:02:30 by "primitive" i mean earlier in the parsing stage 06:02:41 Sgeo: Please put me on the PBF list. 06:02:58 There is no PBF list. There will never be a PBF list. 06:02:59 shachaf: thx 06:04:09 basically i am simulating the point just after parsing the ], while faking the final EOF read. 06:04:56 I use RSS. 06:05:03 `run echo 'tail -n+2 "$0" | xargs; exit' > bin/pbflist; chmod +x bin/pbflist 06:05:03 or ! read if you use the +[,.]!more test convention 06:05:06 No output. 06:05:09 `run echo shachaf >> bin/pbflist 06:05:12 No output. 06:05:20 `run echo Sgeo >> bin/pbflist 06:05:23 No output. 06:05:24 `run echo quintopia >> bin/pbflist 06:05:28 No output. 06:05:29 `pbflist 06:05:30 shachaf Sgeo quintopia 06:05:50 * Sgeo does not mind being on the PBF list. But I will not be the one to trigger it. 06:06:05 `supermegalist 06:06:06 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: supermegalist: not found 06:06:07 help??? 06:06:38 `run echo 'tail -n+2 "$0" | xargs; exit' > bin/emptylist; chmod +x bin/emptylist 06:06:41 No output. 06:06:49 `run cp bin/{empty,supermega}list 06:06:53 No output. 06:06:57 `run echo shachaf >> bin/supermegalist 06:07:01 No output. 06:07:52 `run mv bin/{supermega,sm}list 06:07:56 No output. 06:08:05 `run echo $'monqy\nelliott' >> bin/smlist 06:08:08 No output. 06:08:09 `smlist 06:08:11 shachaf monqy elliott 06:08:22 unfortunately super mega has not updated 06:08:22 `emptylist 06:08:24 No output. 06:08:35 monqy: sry 06:09:24 monqy: should i get a odmaininame in afghanistan 06:10:00 shacha.af 06:10:38 shacha.fi 06:14:07 monqy: you talk like super mega 06:14:16 do I 06:14:37 yes!!!!!!! 06:15:19 super mega resonates with me deeply at a personal level 06:15:24 -!- augur has joined. 06:35:18 -!- DHeadshot has quit (Read error: Connection reset by peer). 06:35:23 -!- DH____ has joined. 06:43:17 -!- sirdancealot7 has joined. 06:45:38 `run echo also test | fueue '):[)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$--%0]][))(($3~)<(]~]][)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$--%0]][~~)<~~~(]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$$6-%0]][~~~)*[)~(:+~~-)+1]---256%):]~]][)~~[)[[50 33H])~[)[H]]~~!]!][]!]!]!]!]!]!]!][[0]:[[0]<: 06:45:42 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 06:45:50 argh 06:46:53 just a little too long 06:48:12 `run echo also test | fueue '):[)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$--%0]][))(($3~)<(]~]][)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[)[[50 33H])~[)[H]]~~!]!][]!]!]!]!]!][[0]:[[0]<:[[0]<:]][49 33H])~!][48 33H] ' 06:48:14 also test \ 06:48:21 darn 07:00:37 `run echo also test | fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)[[50 33H])~[)[H]]~~!]!]!]!]!][[0]:[[0]<:[[0]<:]][49 33H])~!][48 33H] ' 07:00:38 b 07:00:45 yay! 07:04:18 `run echo also test | fueue '):[)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$--%0]][))(($3~)<(]~]][)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$$6-%0]][~~~)*[)~(:+~~-)+1]---256%):]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)[[50 33H])~[)[H]]~~!]!]!]!]!]!][[0]:[[0]<:[[0]<:]][49 33H])~!][48 33H] ' 07:04:20 ​` 07:04:26 good, good 07:07:20 monqy: why do subtyping people say covariant instead of monotonic 07:07:33 "wouldnt that be a more obvious" name 07:07:33 `run echo also test | fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$--%0]][~~)<~~~(]~]][)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)[[50 33H])~[)[H]]~~!]!]!]!]!]!][[0]:[[0]<:[[0]<:]][49 33H])~!][48 33H] ' 07:07:35 l 07:09:10 -!- oerjan has quit (Quit: Good night). 07:09:58 shachaf: probably they sometimes say monotonic/antimonotonic? but i don't know "why" they say covariant/contravariant 07:10:04 "just a words" 07:10:37 imo the category theory words should be monotonic too............ 07:10:42 everyone knows what that means 07:10:51 and covariant/contravariant are confusing 07:10:57 they both start with co!!!! 07:14:47 monqy: does "monotone functor"/ "monotonic functor" mean anything in category theory 07:16:44 idk 07:17:29 "oopse maybe there is??" 07:18:16 "You have a problem and decide to use threads. have two Now problems. you" 07:30:26 * pikhq reaches new levels of laziness... 07:30:54 IRC from bed is a very different experience. 07:30:59 Profoundly, profoundly lazy. 07:31:04 it sounds uncomfortable 07:31:34 Nah. 07:31:52 Wireless keyboard to my computer that's a mere few feet away. 07:31:59 It's just damned lazy. 07:32:59 Tiny bit hard to read though. 07:33:43 I'm pretty sure I need to get an eye appointment done sometime, though, so... 07:34:00 My refractive error has changed somewhat. 07:35:18 my previous apartment was slightly tiny 07:35:41 so my bed was my kitchen table and my computer chair and also everything else 07:36:27 now i don't even have a computer in the bed*room* :( 07:36:54 Why, the bedroom's the only space that is my own. 07:37:13 do you live with someone? 07:37:23 Mother's basement. 07:37:26 my bedroom isn't really mine either :( 07:37:57 i have a bedroom but i sleep in a little side-room on the floor 07:38:31 why 07:38:43 One of these days, I will move out, and it will be delightful. 07:38:43 better ventillation 07:39:34 i always irc from 07:39:35 bed 07:39:38 so last night i realized how to solve a problem with an article. then i slept for 9 hours. i have no idea what the solution was. 07:39:39 i am doing it now 07:39:44 Though probably not alone per se; it would seem most likely, given life, that it'd just be me moving in with my girlfriend. 07:40:12 do realize you will not have a bedroom then. 07:40:39 Not to myself, no. 07:40:44 oklopol: The solution was: sleep for 9 hours. 07:40:49 it's like living with your mother but she sleeps in your bed and occasionally asks that you help with the cooking. 07:41:11 Not quite 07:41:42 shachaf: oh that's actually a good point. maybe i should consider thinking about the problem instead of trying to remember last night. 07:42:08 i made a good point? 07:42:08 oops 07:42:15 whoopsies 07:43:08 For starters, my mom is not quite nerdy enough to be video chatting with me while playing a video game. :P 07:43:59 yes and the sex is usually much less awkward 07:44:08 Profoundly. 07:44:09 http://web.mit.edu/jgross/Public/brahm-lullaby-quirrel.mp3 07:44:52 Too bearable 07:44:54 Mechanics are also rather different, I imagine, but that's just my particular life circumstances being strange. 07:45:20 what do you mean 07:45:40 Sgeo: i'm starting to feel drowsy 07:45:46 She's trans. *Pretty* sure my mom isn't. :P 07:46:24 she, so guy -> girl? 07:46:33 Yuh. 07:46:34 pikhq: you should check that. your mom i mean. 07:46:53 quintopia: :P 07:47:03 my ex had a trans girlfriend for a while 07:47:25 -!- carado has quit (Ping timeout: 246 seconds). 07:47:47 or maybe not girlfriend and more like friend. 07:47:49 Other way 'round would be a boyfriend. *shrug* 07:48:47 and maybe not friend and more like acquaintance. 07:49:46 girlacquaintance 07:49:55 ^ 07:50:22 I don't like wireless computer so I have the keyboard, mouse, internet, display, printer, etc, is wired. 07:50:45 The router supports wireless but that is used to connect my brother's computer; my own is wired to the router. 07:53:12 -!- epicmonkey has joined. 07:55:14 Do you know when the next Kaiji anime season is being released with subtitles? 07:55:34 zzo38: which comic lists do you want to be on 07:57:21 shachaf: Akagi, and Kaiji. 07:57:21 -!- DH____ has quit (Read error: Connection reset by peer). 08:02:23 -!- monqy has quit (Quit: hello). 08:16:41 What is your opinions on neutral monism? 08:17:47 i agree with it 08:18:58 I'm a materialist 08:19:18 (or, arguable, some other term that encompasses the fact that energy does exist) 08:20:48 Of course energy exists but it is not necessarily fundamental. (Or is that not what you mean by "energy"?) 08:22:32 "sociologists have studied [MissingNo.'s] impact on players." 08:22:45 zzo38, by energy I mean the sort of energy that the Sun emits 08:23:11 Sgeo: So same as I mean, the energy described by physics. 08:23:20 Not the word used as a metaphor for spirit by people who misunderstand science and wonder "where does the energy go when someone dies" 08:25:32 "It really says something about Pokmon fans that they took what is a potentially game-ruining glitch and used it as a shortcut to level up their Pokmon," 08:27:32 -!- epicmonkey has quit (Ping timeout: 248 seconds). 08:38:17 `slist 08:38:21 Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 08:40:14 Sgeo: That's still philosophical materialism. 08:40:32 "Materialism" is more-or-less the standpoint that physics governs all. 08:40:46 That's not how it'd be phrased usually, but that gets the sense of it better. 08:40:51 Ok 08:41:41 Physics is made of mathematics. 08:42:03 Very much so. 08:42:18 What, Tegmark-style? 08:42:36 What is Tegmark-style? 08:42:44 Hmm, does a Tegmark multiverse go against materialism? 08:43:04 I do not know enough about the implications of that to answer. 08:43:30 (I know what you refer to, I just don't know the full implications to a degree I could answer) 08:45:03 OK, I see what Tegmark classification is. 08:45:11 http://space.mit.edu/home/tegmark/multiverse.jpg 08:45:16 In particular level 4 08:46:01 I looked it up in Wikipedia and it is something same as what I have read in a magazine article once. 09:00:48 -!- hover has joined. 09:01:31 -!- hover has left. 09:40:24 -!- SirCmpwn has quit (Ping timeout: 264 seconds). 09:42:24 -!- SirCmpwn has joined. 10:31:54 -!- sirdancealot7 has quit (Ping timeout: 240 seconds). 10:33:49 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de). 10:34:52 -!- Arc_Koen has joined. 10:35:30 -!- Arc_Koen has quit (Client Quit). 10:35:53 -!- Arc_Koen has joined. 10:38:20 -!- ogrom has joined. 10:50:33 -!- hagb4rd has joined. 10:54:43 -!- Arc_Koen has left. 11:16:09 -!- epicmonkey has joined. 11:34:11 -!- Nisstyre-laptop has quit (Quit: Leaving). 11:41:26 -!- Arc_Koen has joined. 11:47:29 -!- zzo38 has quit (Remote host closed the connection). 12:24:34 Language idea: A language where you write CPS-style code manually, but the syntax of the language is such that it feels natural 12:26:50 how much heat can a human handle? 12:27:40 100 celsius is just fine even with high humidity, but if you put something in 200 celsius it's black after 20 minutes 12:28:24 well perhaps 20 minutes in high humidity 100 celsius is also dangerous, we don't have a very good sauna here so my intuition is not very calibrated. 12:40:06 -!- pikhq has quit (Read error: Operation timed out). 12:41:53 -!- Phantom_Hoover has joined. 12:48:10 -!- pikhq has joined. 12:58:46 I think there is some research on that. 13:00:20 It's like 67 °C in the sauna in our building, though. 13:01:38 Aww where's jconn? 13:01:41 ) 'hi' 13:02:01 jconn is also not in #jsoftware 13:05:00 fungot: You know about bots, any clues? 13:05:00 fizzie: they say that eggs, pancakes and juice are just a touch. 13:05:21 Yeah, I don't think that really helps. 13:20:49 http://dl.dropbox.com/u/21559589/databases.png 13:36:05 "Getting the character (byte) at position N:" 13:36:09 * Sgeo facepalms 13:40:40 -!- Taneb has joined. 13:42:33 -!- copumpkin has quit (Quit: Computer has gone to sleep.). 13:47:33 * Sgeo is now reading about a different Io language 13:49:30 12:24:33 Language idea: A language where you write CPS-style code manually, but the syntax of the language is such that it feels natural 13:49:31 elliott: You have 3 new messages. '/msg lambdabot @messages' to read them. 13:49:33 so, haskell 13:55:07 @tell oerjan re: * oerjan is still annoyed by whoever replaced his carefully crafted ASCII graph without crossing edges with a picture with crossing edges, even if it's prettier graphics 13:55:07 Consider it noted. 13:55:12 @tell oerjan http://esolangs.org/w/index.php?title=Eodermdrome&diff=22229&oldid=14568 13:55:12 Consider it noted. 14:13:16 By changing Io's stdlib, could I make it such that non-name-colliding monkeypatching is possible? 14:13:21 * Sgeo thinks so 14:13:56 -!- sirdancealot7 has joined. 14:17:48 -!- carado has joined. 14:19:42 http://web.media.mit.edu/~lieber/Lieberary/OOP/Act-1/Concurrent-OOP-in-Act-1.html makes references to old languages. I think it's old 14:20:44 -!- Zuu has joined. 14:40:02 -!- impomatic has quit (Ping timeout: 256 seconds). 14:40:04 .... at least one other person in #yfl has toyed with Atomo 14:40:08 I think I feel at home 14:53:40 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds). 14:56:52 -!- Zuu has left ("Leaving"). 15:50:44 -!- impomatic has joined. 16:27:20 -!- Phantom_Hoover has joined. 16:33:34 -!- Mathnerd314 has quit (Read error: Connection reset by peer). 16:47:48 -!- epicmonkey has quit (Ping timeout: 248 seconds). 17:00:20 -!- Frooxius has joined. 17:14:36 -!- sirdancealot7 has quit (Ping timeout: 245 seconds). 17:14:49 traceroute 216.81.59.173 17:15:20 hi 17:16:07 What an interesting route 17:28:41 -!- sirdancealot7 has joined. 17:33:34 * Sgeo vaguely wonders what kmc thinks about Io. It reminds me vaguely of Kernel 17:38:52 -!- jconn has joined. 17:53:22 ) 'yay' 17:53:22 Sgeo: yay 17:53:49 ... 17:53:57 PietBot uses ) 17:54:06 Saying that, PietBot is dead 17:55:29 ) help 17:55:29 Taneb: |value error: help 17:55:33 ) 7 17:55:33 Taneb: 7 17:55:36 ) pi 17:55:37 Taneb: |value error: pi 17:55:41 ) o.1 17:55:41 ) 'what' 17:55:41 Sgeo: 3.14159 17:55:42 Taneb: what 17:55:56 ) o.2 17:55:57 Taneb: 6.28319 17:56:02 ) o.0 17:56:02 Taneb: 0 17:56:05 ) p.1 17:56:06 Taneb: |domain error 17:56:06 Taneb: | p.1 17:56:10 ) e.1 17:56:10 Taneb: 1 17:56:13 ) e.2 17:56:13 Taneb: 1 17:56:43 ) ^1 17:56:44 Sgeo: 2.71828 17:57:10 ) ^0 17:57:10 Sgeo: 1 17:57:35 ) 0^0 17:57:36 Sgeo: 1 17:57:43 ) 3+5 17:57:43 Taneb: 8 17:57:52 ) 1*28*5 17:57:53 Taneb: 140 17:57:54 ) 1*2+3 17:57:55 Sgeo: 5 17:58:06 ) 2*3+4 17:58:06 Sgeo: 14 18:00:23 -!- boily has joined. 18:00:27 -!- DHeadshot has joined. 18:02:15 ) /:~ 'Hi boily' 18:02:16 Sgeo: Hbiiloy 18:02:40 -!- Mathnerd314 has joined. 18:04:41 hillbilly 18:06:57 hi! 18:07:01 just a moment... 18:07:03 -!- boily has quit (Quit: Poulet!). 18:07:13 -!- boily has joined. 18:07:45 show that I'm an IRC addict now, I guess. came in to work on a saturday, absentmindedly start weechat in screen. 18:08:32 Sgeo: hi! weren't you Adaing instead of Jing? 18:08:45 elliott: I ain't no hillbilly. much too cold to be one. 18:10:06 I'm Ioing now 18:10:07 kind of 18:10:18 `? sgeolang 18:10:20 sgeolang? ¯\(°_o)/¯ 18:11:01 `learn sgeolang currently is either J or Io. 18:11:05 I knew that. 18:12:09 Unless it's Cecil 18:12:11 Or the other Io 18:12:20 Or maybe Diesel. Does Diesel still exist? 18:12:31 It's been a while since I broke my brain failing to understand gBeta 18:13:42 there are multiple ioes? 18:14:53 yes 18:16:45 -!- Mathnerd314 has quit (Ping timeout: 252 seconds). 18:18:01 Ok, I like Io's exception stuff 18:18:19 pretty cool to just wrap something in try and it returns an exception if there was.... wait 18:18:58 which io are you looking at 18:19:00 is it the continuation one 18:19:20 No 18:19:32 That's what I meant by the "other" Io though 18:27:03 -!- DHeadshot has quit (Read error: Connection reset by peer). 18:27:08 -!- DH____ has joined. 18:29:20 There exists at least one relatively simple number system with single radix such that 1111 + 1100 = 1011 18:29:34 No there isn't 18:29:46 (well, there may be) 18:29:56 (just I've made a mistake that means that I'm wrong) 18:30:28 11011 + 11000 = 10011 18:37:59 -!- Mathnerd314 has joined. 18:39:53 i 'love' reading copy-pasted code 18:40:01 it's like one of those 'spot the differences' picture puzzles 18:44:11 I have been guilty of copy/pasted code 18:44:17 Including in that Tcl code I wrote 18:44:28 Probably why Transcriptic never talked to me again :'( 19:10:11 -!- DH____ has quit (Read error: Connection reset by peer). 19:10:17 -!- DHeadshot has joined. 19:18:05 -!- Nisstyre-laptop has joined. 19:27:39 -!- monqy has joined. 19:45:34 -!- DHeadshot has quit (Read error: Connection reset by peer). 19:45:39 -!- DH____ has joined. 20:18:39 -!- oerjan has joined. 20:19:37 @messages 20:19:38 elliott said 6h 24m 32s ago: re: * oerjan is still annoyed by whoever replaced his carefully crafted ASCII graph without crossing edges with a picture with crossing edges, even if it's prettier 20:19:38 graphics 20:19:38 elliott said 6h 24m 26s ago: http://esolangs.org/w/index.php?title=Eodermdrome&diff=22229&oldid=14568 20:19:51 elliott: yeah i already checked 20:21:16 oerjan: I've complained about the edge-crossings-for-a-planar-graph problem before. I wonder if it's automagically generated. 20:22:14 i assume timwi just put it into some graph visualizer 20:23:30 from the ascii graph i made, it was almost trivial to read out all the properties listed. 20:24:52 just revert it 20:25:09 but it _is_ prettier graphics too :( 20:25:36 Clearly you must both do it in your layout but with prettier graphics. 20:31:44 -!- zzo38 has joined. 20:31:53 but timwi obviously didn't upload it in an easily editable format 20:32:19 -!- ais523 has joined. 20:33:08 my brain protests against learning a drawing program for this. 20:33:30 (MS Paint's quality was obviously inadequate, i tried.) 20:34:10 @messages? 20:34:11 Sorry, no messages today. 20:34:32 oerjan: use html tables 20:34:33 and my memories of getting letters placed just right in xfig are not positive. 20:34:37 and css hacks 20:34:42 or something 20:35:07 elliott: i don't actually know those either. you can do line drawing? 20:35:45 with enough hacks you can do anything! 20:35:50 unfortunately without enough hacks, you can't do anything. 20:36:09 well what my brain protests against is really anything that isn't just point and click. 20:38:00 open an on-screen keyboard 20:39:00 i mean point and click to get lines to start and end in the right place. and also to adjust automatically when i move the boxes. actually xfig _could_ do that... too bad i'm on windows now. 20:39:03 imo learning the basics of using inkscape was a good time investment 20:39:25 oerjan: There are point-and-click things online. Like draw.io or something. 20:39:40 xfig sucks 20:39:58 inkscape may suck on windows / mac though 20:40:04 it is pretty usable on linux 20:40:26 kmc: please don't discuss this subject in ways that discourage me further. thank you. 20:41:29 * oerjan finds winfig 20:42:26 k 20:42:50 or just pirate illustrator 20:43:22 I didn't see a reasonable argument against any of the things like draw.io that you can just point a browser at and draw. 20:43:39 oerjan: many of the microsoft office programs can do that; powerpoint is probably the best at it that's relatively cheap 20:43:45 (visio is better but it's mindboggingly expensive) 20:43:45 actually you can pirate Adobe Creative Suite CS2 from Adobe's own website 20:43:55 kmc: yeah but you're not supposed to 20:44:05 that's why i said "pirate" and not "legally download" 20:44:09 i don't have any office programs 20:44:59 what you really need is a vector drawing program 20:45:15 inkscape's the best known, I think, but I don't know much about it 20:45:17 No, you need a graph drawing program, of which there are quite a few. 20:46:16 oh, right 20:46:25 The one in draw.io lets you make one node, then draw a connection from it to empty space, and when you release it, it creates a duplicate of the node you started from, meaning you get to specify the shape and size you want just once. 20:46:27 I don't actually know what oerjan's problem is, because I haven't checked scrollback 20:46:37 (Then you double-click and edit the label, and that's about it.) 20:46:44 before when I joined, I mean 20:46:53 ais523: i want to fix the eodermdrome initial graph drawing 20:47:02 ah right 20:47:29 hm, so if you care about efficiency, ST actually mixes two *different* concerns that require rank-2 to be safe... 20:47:31 draw.io doesn't load. 20:48:30 It works fine for me, which admittedly isn't helpful. (I'm twiddling together a graph there at the moment, just for the funs.) 20:48:58 Isn't there the "DOT" graph visualization? 20:49:38 fizzie: oh it worked when i changed https to http in the google link 20:50:03 zzo38: yes, it's okay if you want to put no effort into the layout, but it often does things stupidly and there aren't good tools for adjusting it 20:50:07 not that i've found anyway 20:51:21 I'm an idiot. I just forced myself into a position where I have to explain monads to C# people 20:51:22 kmc: It comes with a tool. Oh, you said "good tools". Never mind, then. 20:52:47 sgeo can you explain monads to me 20:56:49 which tool does it come with? 20:56:56 kmc: dotty. 20:57:23 monqy, this is about that http://www.youtube.com/watch?v=b0EF0VTs9Dc 20:57:36 oerjan: Something like https://dl.dropbox.com/u/113389132/Misc/20130209-eoderm.png for example would follow your layout but with boxes. 20:57:43 c00kiemon5ter: so i hear 21:00:05 fizzie: almost perfect, but would it be hard to get the letters slightly lower down in the boxes? 21:00:06 "Sgeo please say another word for monad (if not atom,particle mean)" 21:00:29 also ideally -t-h- should be a straight line, i think 21:00:33 oerjan: Curiously enough, they are in the interface; PNG export made them be in the current stupid place. I'll try some other export. 21:00:41 oerjan: Though now that I look at your ASCII graph, I can't help noticing there's no edge between r and o. 21:00:54 Oh, I missed it. 21:01:00 It was that goes-around-the-whole-thing one. 21:01:23 right, it seemed impossible not to have one of those 21:04:02 Sgeo: there are any number of monad tutorials you could link them to… 21:04:22 I should do that 21:05:24 fizzie: it seems like the "y" is perfectly placed, but the rest gets skewed because of missing under or extra over parts 21:07:23 oerjan: I think it has just put the letter baselines in the middle of the box. I'll see if something can be done. Is https://dl.dropbox.com/u/113389132/Misc/20130209-eoderm2.png layoutwise okay, though? 21:08:48 has there been any feedback on my omnipotent BF Joust program? or the one before? 21:08:58 I even went and wrote them up, now I want someone to comment on them >:( 21:09:05 Linky? 21:09:11 (For the lazy) 21:09:13 aka me 21:09:57 oerjan: Last I looked at Timwi's version, it seemed to me that with very few edits it would've made an edge-crossing-free graph with somewhat more equal edge lengths. (If only it were sensibly editable.) 21:09:57 http://esolangs.org/wiki/BF_Joust_strategies#2013 21:10:57 fizzie: yes i noticed you didn't need too many changes, although i think you'd force a long curve then too 21:11:13 between the o and r 21:11:22 -!- boily has quit (Ping timeout: 246 seconds). 21:12:13 fizzie: as for your layout it's okay but i'd ideally like the placement to be more symmetric along each major line. 21:12:34 ais523, I don't understand the terminology well enough :( 21:13:05 oerjan: https://dl.dropbox.com/u/113389132/Misc/20130209-eoderm3.png has letters in a slightly more reasonable positions (it's from the SVG export), though arguably now they're a little too low. 21:13:20 Sgeo: well that entire page is about explaining it, but I can talk you through it myself if you ask questions 21:13:48 meh, I'll read it later 21:13:56 My eye hurts a little from lack of sleep 21:14:55 < move the tape pointer away from the opponent 21:14:55 > move the tape pointer toward the opponent 21:14:57 Not in scope: `move' 21:14:57 Perhaps you meant `mode' (imported from Text.PrettyPr... 21:15:24 Imagine if < and > moved away and from the opponent's current memory pointer, rather than goal 21:15:56 How would they behave when the two players are in the same place 21:16:27 I don't know! 21:16:32 Both players die 21:16:41 that sounds like a good way to make it impossible for anyone to win 21:16:42 Don't move? 21:17:07 traceroute 216.81.59.173 :-) 21:17:09 I think you have to understand BF Joust to propose random changes to it and have them make sense 21:17:15 impomatic: what's special about that IP? 21:17:16 Could be toward/away from enemy goal in that case. Not a good solution, but there will be some implications 21:17:39 ais523: trace it and you'll see :-P 21:17:47 Hello folks 21:18:04 I guess I can advertise my new BF Joust program at impomatic too, now he's here 21:18:31 fizzie: i guess it's a _bit_ better. can you move the t-h more vertically like the j-x and the v more horizontally like the q? ideally i'd like the l-a-z-y-d to be symmetrically placed between the e and o, but it might be hard to fit with the rest on the right 21:18:46 impomatic: http://esolangs.org/wiki/BF_Joust_strategies#2013 21:19:04 oerjan: I had made an alternative, more "griddy" look of https://dl.dropbox.com/u/113389132/Misc/20130209-eoderm4.png before you said that. 21:19:04 ais523: Definitely, looking now :-) 21:19:40 impomatic, wtf 21:19:45 how 21:19:47 oh 21:19:59 I could make that one a bit more symmetric. 21:20:25 fizzie: hm yes if you move l-a-z-y-d in that a bit, it would look nice in a different way. 21:20:42 i think. 21:23:20 oerjan: https://dl.dropbox.com/u/113389132/Misc/20130209-eoderm5.png has l-a-z-y-d symmetric w.r.t. e/o, though I did fiddle with the o-w-n-f-o loop a bit too. 21:23:42 Sgeo: there are any number of monad tutorials you could link them to… <-- i suddenly wonder if there's a monad tutorial for stoners 21:27:25 * ais523 defines the "any number" as the number of currently existing monad tutorials; it changes over time 21:27:47 fizzie: i say you upload that one :) 21:28:26 * impomatic wonders if it's possible to mimic space_hotel's decoy to confuse omnipotence :-P 21:28:46 I suppose I will need to pngcrunch it, because that has been done to the existing file too. 21:29:28 Also it currently has a transparent background, but maybe that is not a problem. 21:29:58 we'll have to check that 21:30:46 the current graph is on a white background anyway 21:31:10 i dunno if there are skins that make it different 21:34:27 and covariant/contravariant are confusing <-- just use "variant" and "ntravariant" hth 21:35:06 good moerjaning 21:35:24 the hi 21:35:24 It is (hopefully) done. Also made the version on the page to be the native size now that it's somewhat smaller overall; though it's still a bit bigger than what it was before. 21:36:22 um i thought it looked smaller. 21:36:35 than timwi's that is. 21:36:49 oerjan: Yes, but the old one was with |300px on the page. 21:37:24 oh right 21:37:39 i was looking at an old diff, which confused me 21:37:50 (the picture changed but not the page) 21:38:17 I don't know if the official way would've been to upload a different picture, and use that. 21:38:28 Since it's not really a new "version" of the previous picture. 21:38:28 fizzie: it's been a pleasure working with you sir (cackles madly) 21:38:59 (the work others do for you is the best) 21:39:17 (Also maybe the recommended way working with Mediawiki would've been to insert the SVG version and let it create the rasterizations? I don't know. It's all so multimedia these days.) 21:39:43 fizzie: oh right it probably is. 21:39:50 ais523 probably knows better. 21:40:13 MediaWiki comes with optional SVG rasterization, I don't know if Esolang has it instaled 21:40:15 *installed 21:40:24 if it does, you just upload the SVG file and everything just works 21:42:08 ais523: If it's installed, and you include an uploaded SVG image on a page, does it actually put a raster version on the page, or does it expect browsers these days to manage SVG? 21:43:02 it puts a raster version on the page 21:43:44 hm isn't it a bit bad that mediawiki historical article versions are shown with new versions of pictures? 21:45:03 probably that applies to templates too. 21:45:32 oerjan: indeed, it does 21:46:05 perhaps it would be even more confusing the other way. 21:46:17 [[".svg" is not a permitted file type. Permitted file types are png, gif, jpg, jpeg.]] I guess that's a no-go. (Well, less work for me.) 21:46:43 -!- ogrom has quit (Quit: Left). 21:47:29 is there a way to link to the original editable version of a picture? 21:48:00 how do i enable svg 21:50:11 elliott: you need to install an extension, I think 21:50:20 also an SVG renderer 21:50:36 sounds like work 21:51:11 What's a good way to have email at my domain name? 21:51:39 you actually bought shach.af? 21:51:50 shachaf: a lot of registrars will run free email forwarding for you 21:51:52 that is the lazy way 21:52:06 The sooner I'm not dependent on my dad's money the better 21:53:59 Maybe I should get hachaf.net so I can have the emails s@hachaf.net and t@hachaf.net (for when people want to thank me). 21:54:08 the harder way is to hire or buy a mailserver, and point the domain name at the mailserver 21:54:22 that's what I did with nethack4.org 21:54:26 (which is a lots-of-things server) 21:54:35 (although mostly nethack 4) 21:56:54 The middling way is presumably then to buy a mail redirection service you can point your own domain to. (I'm sure there are some.) 21:57:40 ais523: Incidentally, does MediaWiki have a "git blame" style view? I remember seeing a thing like that in something, but it might've been Confluence or some-such. 21:57:54 fizzie: not by default 21:57:58 there's probably an extension that does it by now 21:58:00 when i was in high school i thought it great fun to run my own DNS and MX and such 21:58:09 now it all seems like a total pain 21:58:11 I don't run my own DNS 21:58:16 do run my own mailserver, though 21:58:36 i used djb approved software 21:58:37 for everything 21:58:50 djbdns, qmail, publicfile 21:58:59 on openbsd 21:59:10 i was one of the cool kids in high school for sure 21:59:26 kmc: did you use /package 22:00:02 yes 22:00:07 fizzie: what's git blame? i found on wikipedia an option for a button that gives you much more readable diffs for confusing edits 22:00:12 is that djb's wacky init system that nobody else uses? 22:01:05 oerjan: The same as "svn annotate", it gives you a copy of the file with every line annotated with the revision (and committer) when it was last changed. 22:01:05 no 22:01:08 djb doesnt have an init system 22:01:14 there's daemontools that you can run as pid 1 if you do hackery 22:01:22 so not the same 22:02:09 by init system i meant not a replacement for /sbin/init but, like, a daemonizer 22:02:14 poor choice of words 22:02:17 anyway yes i used that thing 22:02:26 (wikEdDiff in the Gadget section, btw) 22:02:51 kmc: /package is his weirdo packaging system 22:03:16 oerjan: Not quite, no. It's (sometimes) useful when the question you have is "who's responsible for this piece of text". (Of course sometimes all it tells you is who fixed the commas in it.) 22:03:46 oerjan: the gadget things are written entirely in JS and CSS 22:04:10 Maybe I should get an SSL certificate. 22:04:13 in fact, there's a large amount of stuff done like that that would be better done server-side, because of the ratio of the number of people who can work on client-side extensions, and on server-side extensions 22:04:53 shachaf: http://www.startssl.com/ will give you one for free 22:05:21 anyway yes 22:05:31 you should run a HTTPS-only website with HSTS 22:05:37 If you can get one for free why do some people charge lots of money for them? 22:05:44 and only allow RC4 and GCM-mode AES 22:05:48 You don't get all that much for free from StartSSL. 22:05:49 i don't know 22:05:53 ais523: i think i saw someone desiring to merge that diff gadget into mediawiki proper, but it would require rewriting it in PHP. or maybe it was something else. 22:05:55 wildcard certs is one 22:06:08 StartSSL will give you a cert that is good for www.shachaf.net and shachaf.net but not *.shachaf.net 22:06:15 you can however request another one with s/www/whatever/ 22:06:20 s/desiring to/desiring that someone/ 22:06:26 wildcard certs are a scam 22:06:33 It also won't give you a cert that's good for www.shachaf.net, shachaf.net and servername.shachaf.net at the same time. 22:06:38 there's no technical reason why they cost a lot more than specific certs 22:06:58 ais523: s/^wildcard // 22:07:00 but the certificate companies can get away with charging more for them, so they do 22:07:02 elliott: well yes 22:07:07 it's all, just, bits, man 22:07:11 a small fee to allow for verification cost would be reasonable 22:07:16 do you consider anything where pricing is set demand-side to be a 'scam' 22:07:16 but they charge more than that /and/ they don't verify :) 22:08:40 As for getting multiple certificates for your different names, you need to use a not-supported-everywhere SSL/TLS extension (SNI) in order to use those with a single IP address. 22:09:03 How unsupported? 22:09:08 why's that? 22:09:12 "As of November 2012, the only major user bases whose browsers do not support SNI appear to be users of Internet Explorer 8 or below on Windows XP and versions of Java before 1.7 on any operating system." 22:09:24 As of November 2012, the only major user bases whose browsers do not support SNI appear to be users of Internet Explorer 8 or below on Windows XP and versions of Java before 1.7 on any operating system. 22:09:28 Ah. 22:09:36 oh server name whatever 22:09:43 because SSL setup happens before a HTTP Host: header is sent, right 22:09:49 Right. 22:10:17 Admittedly it *is* quite widely supported by now. 22:10:46 Also you don't get anything else than an email address inserted into the free StartSSL certificate. 22:10:56 On the other hand, nobody will look at the certificate contents ever either, so... 22:10:56 Language idea: A language where you write CPS-style code manually, but the syntax of the language is such that it feels natural <-- that's essentially levin's IO (not the modern language called IO) 22:12:41 fizzie: the "or below" is redundant, since IE >= 9 doesn't work on XP. 22:12:44 oerjan: aka do notation 22:12:51 elliott: good idea or bad idea? I wanted to restart Chromium without losing my currently opened tabs 22:12:57 so I did killall -SEGV chromium-browser 22:13:03 so it would think it had crashed, and try to recover 22:13:03 ais523: I do killall -9 chromium 22:13:06 elliott: hm is that writing it manually though? 22:13:08 oerjan: I suppose then the "8" is redundant too. 22:13:18 oerjan: seems like a fairly ill-defined notion 22:13:19 indeed. 22:13:26 oerjan: do is at least the "most general" CPS notation 22:13:30 mother of all monads etc. 22:14:11 elliott: well ok >>= is CPS, so i guess. 22:14:43 oerjan: right, and do notation never uses "return" 22:14:46 it is just (>>=) 22:14:50 (+ fail, but for irrelevant reasons) 22:14:56 (+ (>>), but that's obviously irrelevant also) 22:15:00 do notation is writing CPS manually. 22:15:06 It's not terribly expensive to go through StartSSL's identity validation, after which you can generate as many certificates as you like -- with expiration dates up to two years in the future -- during the 350 days that it's valid, and get your own name on them. (Apparently it's $60 now; I think it used to be cheaper.) 22:15:12 i suspect Java 1.7 isn't supported on XP either, i keep getting patches for 1.6 and no suggestion to upgrade. 22:15:20 shachaf: That's the point. 22:15:54 elliott: Right. I'm agreeing with you(/whoever said it). 22:16:32 oerjan: my understanding is that the continuation IO language defines ; to basically be a pass-a-continuation lambda, right? 22:16:39 that's how I see do notation 22:16:46 (except you write the lambda's parameter a statement early) 22:16:57 so I did killall -SEGV chromium-browser <-- well did it work? 22:17:02 oerjan: yes 22:17:08 do { foo -> x; bar -> y; return z } -- I can imagine this as a possible alternate do notation syntax 22:17:14 it'd be nice if there was a less obscure way to do that 22:17:17 where you have lambda syntax (-> var; body) 22:17:24 that's right-associative 22:17:28 What about idiom brackets? 22:17:31 That's a kind of CPS. 22:17:33 so you can see that's literally writing CPS, the "do" part now does nothing 22:17:38 Except not really. 22:17:55 There's always the monad-embed sort of CPSing. 22:17:59 shachaf: Applicatives are do notation where you never reference any of the variables you bind until the last statement. 22:18:16 elliott: IO syntax is iirc f x y -> var ; g z ... 22:18:16 elliott: Right. 22:18:16 More or less. 22:18:20 Well... 22:18:25 And also the last statement is return. 22:18:45 where -> vars ; ... is a continuation. 22:19:02 do notation isn't strictly CPS. 22:19:05 But it's pretty close. 22:20:02 (and the -> vars is optional if the continuation takes no arguments) 22:21:24 oerjan: so it's what I said 22:21:31 you can just change the tokens and get 22:21:34 f x y \ var -> g z ... 22:21:35 etc. 22:21:47 i guess the difference with IO is you only have m () values, not m a) 22:21:50 *-) 22:21:55 *Io 22:22:01 so if you accept that Io is writing continuations "manually" and "directly" as can be 22:22:08 the only leap to do notation is that you move where the variable is bound 22:22:19 which IMO is completely syntactic enough to still be direct 22:24:13 you need f x y $ \ var -> g z ... to get syntactically correct haskell though 22:25:15 oerjan: yes. but that's just an issue of operator precedence, really 22:25:29 consider $ \ as one token if you like 22:26:44 well it's an issue of those right-gobbling expression forms not being acceptable directly as arguments to functions, only operators. but minor difference. 22:26:53 right 22:29:11 how much heat can a human handle? <-- i think they pretty much settled that at that fateful "sports" event, no? 22:29:54 http://en.wikipedia.org/wiki/World_Sauna_Championships 22:30:04 i guess the _dry_ case may still be open, hth 22:31:24 two nicks and both idle 22:32:07 or wait is high humidity supposedly worse 22:32:19 i guess i'll leave the science to the finns. 22:32:57 Humidity makes sweating less effective 22:33:45 * Sgeo is now reading about a different Io language <-- hey no fair finding the solution before i tell you 22:34:08 oerjan: I knew he said that all along and was hiding it from you 22:34:32 IT'S NOT FAIR 22:35:53 -!- Mathnerd314 has quit (Remote host closed the connection). 22:35:55 By changing Io's stdlib, could I make it such that non-name-colliding monkeypatching is possible? <-- is hygienic monkeypatching a known term, please say yes 22:36:15 -!- Mathnerd314 has joined. 22:36:49 sadly google search is not optimistic 22:37:14 -!- Mathnerd314 has quit (Read error: Connection reset by peer). 22:39:07 Do Scala implicit conversions count? 22:40:10 traceroute 216.81.59.173 22:40:36 had to add -m 100 (actually 64) 22:40:50 I originally thought that nortti intended to type that into console to do stuff 22:40:56 When impomatic said it is when I tried it 22:40:57 Same 22:41:22 My interesting traceroute comment referred to elliott's hi 22:41:39 when impomatic said it is when i pasted it into a terminal window, then forgot about it until i found nortti in the logs. 22:41:49 bash: traceroute: command not found 22:41:50 good route 22:42:27 might be under something administrative? 22:42:49 * oerjan doesn't remember what that prefix is 22:43:20 sbin? 22:43:27 that may be it 22:43:58 oerjan, oh, didn't realize there was more to it than the little I saw 22:44:01 sudo: traceroute: command not found 22:44:22 yeah without -m it got cut off early 22:45:46 elliott: it's not restricted here at nvg... 22:46:59 i just dont have it installed 22:47:10 TRAGEDY 22:48:04 never actually reached the 216.81.59.173 IP btw 22:48:43 ok so what is the thing 22:49:08 -!- Mathnerd314 has joined. 22:52:23 elliott: http://sprunge.us/dNgW 22:52:38 -!- augur has quit (Remote host closed the connection). 22:53:11 WARNING: it feels better to do it yourself with traceroute. 22:57:25 too late 22:57:36 sad trombone 23:01:56 "tracepath" is what I did it with. 23:02:05 It seems to have ended up being installed by default, unlike traceroute. 23:03:13 (ubuntu-standard depends on iputils-tracepath, but not on traceroute/inetutils-traceroute.) 23:45:59 oerjan: I had that graph editor open, so I clicked together also a straight-lines-only crossing-free version starting from the Timwi layout; I don't think it's æsthetically an improvement, but I'm sure it'd win in some metrics: https://dl.dropbox.com/u/113389132/Misc/20130209-eoderm8.png 23:48:45 ah 23:50:41 (It's also even more compact.) 23:52:32 Can you supply a non-planar graph to eodermdrone? 23:54:38 -!- Frooxius has quit (Read error: Connection reset by peer). 23:55:11 Sure, why not? 23:56:27 certainly 23:56:31 I don't think abcdeacebda is planar, for example 23:56:48 -!- Frooxius has joined. 23:57:10 I was this || close to giving a much longer K_5. 23:57:15 (I suppose that's what it is?) 23:57:17 aka "eodermdrome" hth 23:57:35 Ooooh, I never knew *that*. 23:57:55 It's like onions upon onions. 23:57:57 I mean, layers. 23:58:50 ) '+';'-' @. 0 23:58:51 Sgeo: |domain error 23:58:51 Sgeo: | '+'; '-'@.0 23:59:56 ) '+`- @. 0 23:59:56 Sgeo: |open quote 23:59:56 Sgeo: | '+`- @. 0 23:59:56 Sgeo: | ^ 2013-02-10: 00:00:00 ) +`- @. 0 00:00:00 Sgeo: + 00:00:02 hm 00:07:45 !bf [ 00:08:08 !sh echo hi 00:08:09 hi 00:08:14 !bf [+ 00:08:19 fancy 00:08:28 ^bf [+ 00:08:28 Mismatched []. 00:08:39 fungot: You picky. 00:08:40 fizzie: they say a gelatinous cube can paralyze you..." " er" " need we wait until morning then?" asked conan, eyeing his companion uneasily. " the eyes. 00:08:49 The eyes. 00:08:52 fizzie: i knew that. 00:09:06 ^ord Unmatched [. 00:09:06 85 110 109 97 116 99 104 101 100 32 91 46 00:09:10 oerjan: Someone just added a new entry in your learndb? 00:09:25 no it's pretty old 00:10:28 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds). 00:16:19 -!- Taneb has quit (Quit: Leaving). 00:20:49 !sh ls 00:20:50 interps \ lib \ slox 00:21:16 !sh echo $SHELL 00:21:17 ​/bin/sh 00:21:36 !sh sh --version 00:21:37 GNU bash, version 4.0.28(1)-release (x86_64-pc-linux-gnu) \ Copyright (C) 2009 Free Software Foundation, Inc. \ License GPLv3+: GNU GPL version 3 or later \ \ This is free software; you are free to change and redistribute it. \ There is NO WARRANTY, to the extent permitted by law. 00:22:28 -!- carado has quit (Ping timeout: 246 seconds). 00:27:42 `fueue ):[)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$$6-%0]][~~~)*[)~(:+~~-)+1]---256%):]~]][)~~[[)~[)[H]]][85 110 109 97 116 99 104 101 100 32 91 46H]~)~~~][]!]!][[~)])[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]]~[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~[[0]:[[0]<:[[0]<:]][48 33H])~!]]][~)~~!] 00:27:47 Unmatched [. 00:27:50 -!- WeThePeople has joined. 00:27:52 excellent. 00:32:32 `run echo testing | fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[[)~[)[H]]][85 110 109 97 116 99 104 101 100 32 91 46H]~)~~~][]!]!]!]!][[0]:[[0]<:[[0]<:]][48 33H])~!][~)]' 00:32:34 Unmatched [. 00:32:41 darn 00:34:27 oh wait the iffalse case is supposed to delete the iftrue one 00:36:41 `run echo testing | fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[[)~[)[H]]~!][85 110 109 97 116 99 104 101 100 32 91 46H]~)~~~][]!]!]!]!][[0]:[[0]<:[[0]<:]][48 33H])~!][~)] ' 00:36:43 u 00:37:11 HackEgo: NO U 00:37:59 ^ord Unmatched ]. 00:37:59 85 110 109 97 116 99 104 101 100 32 93 46 00:40:02 ^ord Üñµätçhëd ⁆· 00:40:02 195 156 195 177 194 181 195 164 116 195 167 104 195 171 100 32 226 129 134 194 183 00:40:04 `ord Üñµätçhëd ⁆· 00:40:06 220 241 181 228 116 231 104 235 100 32 8262 183 00:40:14 Maybe µ is stretching it. 00:43:10 > "Üñµätçhëd ⁆" 00:43:11 mueval: recoverEncode: invalid argument (invalid character) 00:46:39 `fueue ):[)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~]][)~~[[85 110 109 97 116 99 104 101 100 32 93 46H][)~[))$11~<<~:(~:<]~!]~)~~~][)~~[[)~[)[H]]~!][85 110 109 97 116 99 104 101 100 32 91 46H]~)~~~][]!]!]!][[0]:[[0]<:[[0]<:]][48 33H])~!][~)] 00:46:41 Unmatched ]. 00:46:41 -!- Phantom_Hoover has joined. 00:56:37 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 00:58:24 `run echo so.. | fueue '):[)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[[50 33H][)~[))$11~<<~:(~:<]~!]~)~~~][)~~[[)~[)[H]]~!][49 33H]~)~~~][]!]!]!][[~)])[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[[0]:[[0]<:[[0]<:]][48 33H])~!]]][~)~~!] ' 00:58:26 1! 00:58:31 eek 01:00:11 `quoerjan 01:00:13 109) 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 \ 95) insufficient time dilation. try running faster. \ 16) oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! 01:00:40 fungot: did you really say that 01:00:40 shachaf: anu: anu was the most recent indian edifices.... the leucrocotta, a large and heavy and quiet boy, and there were many stones lying in what appeared to be a previously used crested helmet. 01:00:48 ^style 01:00:49 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack* pa qwantz sms speeches ss wp youtube 01:01:01 ^style irc 01:01:01 Selected style: irc (IRC logs of freenode/#esoteric, freenode/#scheme and ircnet/#douglasadams) 01:01:04 fungot 01:01:05 shachaf: realise elinks w3m.) in our system 01:01:17 fungot: riddle me a riddle 01:01:18 shachaf: if you're going to have a junk cons at the base for the eso os, i agreed to that contract, i leave. 01:04:10 `run echo now | fueue '):[)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[[50 33H][)~[))$11~<<~:(~:<]~!]~)~~~][)~~[[)~[)[H]]~!][49 33H]~)~~~][51H]!]!]!][[~)])[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[[0]:[[0]<:[[0]<:]][50 33H])~!]]][~)~~!] ' 01:04:12 1! 01:04:18 same error, hm 01:05:37 -!- Phantom_Hoover has joined. 01:09:19 -!- Phantom__Hoover has joined. 01:10:44 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds). 01:15:26 -!- augur has joined. 01:25:19 -!- augur has quit (Remote host closed the connection). 01:43:39 -!- Phantom_Hoover has joined. 01:44:20 Can you supply a non-planar graph to eodermdrone? ← at one point I considered making that a way to exit 01:44:34 btw, "eodermdrome" is the shortest "word" that produces one 01:44:47 I see 01:44:48 (it's not actually a word) 01:44:59 it's not mine, it was taken from the book Making The Alphabet Dance 01:45:56 -!- Phantom__Hoover has quit (Ping timeout: 248 seconds). 01:51:57 -!- Phantom__Hoover has joined. 01:54:28 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds). 01:54:44 -!- Phantom_Hoover has joined. 01:57:08 -!- Phantom__Hoover has quit (Ping timeout: 248 seconds). 02:27:30 `run echo stupid bug | fueue '):[)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[[50 33H][)~[))$11~<<~:(~:<]]~)~~~][)~~[[)~[)[H]]~!][49 33H]~)~~~][51H]!]!]!][[~)])[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[[0]:[[0]<:[[0]<:]][50 33H])~!]]][~)~~!] ' 02:27:32 ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss 02:27:52 what is fueue 02:28:18 shachaf: do you know about /proc/self/pagemap ? 02:28:51 first i fixed a bug above because the iffalse case needed to delete the iftrue one, then now i had to fix that the iftrue tried to delete the iffalse case. 02:28:59 kmc: Hmm, no. 02:29:22 it gives you various fun info: http://www.kernel.org/doc/Documentation/vm/pagemap.txt 02:29:26 shachaf: http://esolangs.org/wiki/Fueue 02:29:40 why don't you just try searching esolangs.org when someone mentions something that might be an esolang 02:29:50 in particular you can get the physical page frame number for every page you've mapped 02:30:04 ais523: Because searching Google works just as well and is more general. 02:30:18 being more general is /bad/ in this case 02:30:25 @google fueue 02:30:27 http://esolangs.org/wiki/Fueue 02:30:27 Title: Fueue - Esolang 02:30:28 you're trying to look for something in particular, not other things with the same name 02:30:29 Seems fine to me. 02:30:31 @google underload 02:30:33 http://www.thefreedictionary.com/Underload 02:30:33 Title: Underload - definition of Underload by the Free Online Dictionary, Thesaurus and ... 02:30:36 @google underload esolang 02:30:38 http://esolangs.org/wiki/Underload 02:30:38 Title: Underload - Esolang 02:30:42 wfm 02:30:53 now you're doing more typing than you need to 02:31:12 quite a lot more, actually, because it'd take me a while to switch to a Google or DuckDuckGo search box rather than an Esolang search box 02:31:16 That's less typing than typing esolangs.org/wiki/Special:Search?search=fueue 02:31:18 (seems my browser's currently set to wikipedia) 02:31:56 @google Most ever Brainfuckiest Fuck you Brain fucker Fuck 02:31:58 http://esolangs.org/wiki/Most_ever_Brainfuckiest_Fuck_you_Brain_fucker_Fuck 02:31:58 Title: Most ever Brainfuckiest Fuck you Brain fucker Fuck - Esolang 02:32:01 thank you google! 02:32:12 it can't be a very common phrase 02:32:26 hmm, I wonder how many esolangs don't score first in a google search 02:32:28 @google unlambda 02:32:30 http://en.wikipedia.org/wiki/Unlambda 02:32:30 Title: Unlambda - Wikipedia, the free encyclopedia 02:33:00 @google wierd 02:33:02 http://www.urbandictionary.com/define.php?term=wierd 02:33:02 Title: Urban Dictionary: wierd 02:33:06 hey _i_ managed to get an esolang search box, and i'm using IE! 02:33:23 Internet Esolangs 02:33:38 @google twoducks 02:33:41 http://www.twoduckshostel.com/ 02:33:41 Title: Two Ducks Hostel in Rome 02:34:30 @google moo 02:34:31 No Result Found. 02:34:34 @google malbolge 02:34:36 http://en.wikipedia.org/wiki/Malbolge 02:34:36 Title: Malbolge - Wikipedia, the free encyclopedia 02:34:45 you'd expect that to go to the esolang because it uses an unusual spelling 02:34:49 now _that_ was unexpected 02:34:52 not finding moo 02:35:00 @google cow 02:35:01 http://en.wikipedia.org/wiki/Cattle 02:35:01 Title: Cattle - Wikipedia, the free encyclopedia 02:35:08 @google cow on write 02:35:10 http://en.wikipedia.org/wiki/Copy-on-write 02:35:10 Title: Copy-on-write - Wikipedia, the free encyclopedia 02:35:25 There should be a feature where you get a cow when you write. 02:35:41 yes 02:35:53 You'd either have a lot of cows or not write a lot 02:35:54 kernel patch where instead of mmap() pages containing all zeroes, they contain cowsay 02:36:19 Maybe you just get the same cow over and over 02:36:38 `cowsay hi 02:36:39 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cowsay: not found 02:36:41 you get the same cow until you write to it 02:37:00 Hmm, that would be cow *before* write. 02:37:29 * shachaf should write that strace-for-mmapped-pages program sometime. 02:39:57 0x006f6f4d 02:41:28 now i want to write some kind of excessively pretty interactive javascript visualizer of all the pages mapped by processes on your system and the sharing beteen them 02:42:39 kmc: it'd probably look boring 02:42:56 also, don't programs normally rely on mmaped pages being zeroed out? 02:44:07 If they just mmap a new private page for themselves, sure. 02:44:14 Typically sharing pages is on purpose. 02:47:39 yeah they do rely on that, so the cow thing would break a lot of stuff 02:48:00 Oh, you meant the cow thing. 02:48:07 the visualization would basically cluster programs by what libraries they use 02:48:21 and would group instances of the same binary of course 02:48:38 so maybe it's not totally boring, but maybe it's not that interesting to do it at page granularity instead of just looking at ldd and such 02:52:14 `run echo comment | run fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[~:)~][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[[)~[)[H]]~!][49 33H]~)~~~][51H]!]!]!]!][[0]:[[0]<:[[0]<:]][50 33H])~!][~)] ' 02:52:16 bash: run: command not found 02:52:22 oops 02:52:27 `run echo comment | fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[~:)~][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[[)~[)[H]]~!][49 33H]~)~~~][51H]!]!]!]!][[0]:[[0]<:[[0]<:]][50 33H])~!][~)] ' 02:52:29 c 02:53:02 only [ left in this phase... 02:55:48 -!- DH____ has quit (Ping timeout: 248 seconds). 02:58:45 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 03:25:42 -!- WeThePeople has quit (Quit: Leaving). 03:44:30 -!- noam_ has joined. 03:46:54 -!- noam has quit (Ping timeout: 264 seconds). 04:04:26 oerjan: more info plz 04:04:33 f :: forall a b c. ((a -> b) & (b -> c)) -> a -> c 04:04:57 I don't know the exact name for it... what's important to realise it that it types every untyped lambda calculus term, IIRC. 04:05:34 i'm not sure i recall the exact name either 04:05:58 well can you tell me things about it 04:06:52 well it has disjunction types, as above, and also a type omega which types everything. 04:07:54 so being typeable in itself isn't very interesting, but if you restrict _where_ omega can appear in the types, you can type precisely those lambda terms which have weakly normal forms. also typing is preserved by beta reduction - _both_ ways. 04:08:21 Right, that was my original question. 04:08:23 and terms which have _strongly_ normal forms have types that don't contain omega, iirc. 04:08:39 and in fact principal such. 04:09:34 the above type is, i believe, the principal type for church numeral 2. 04:10:12 That's where it came up. 04:11:32 and also iirc the only terms which can share that principal type are beta-eta-equivalent to the normal form 04:12:18 that part is a bit vaguer 04:12:55 lessee, \x -> x has type a -> a, naturally 04:13:35 \x y -> x y has type (a -> b) -> a -> b, which is a substitution of the former 04:14:10 so \x -> x also has that type, but not principally, which means \x y -> x y must beta-eta-reduce to \x -> x. i think. 04:14:13 What about \x -> x x? 04:14:46 ((a -> b) & a) -> b, i assume 04:15:11 there was an algorithm for finding the type, but i've forgotten that 04:15:44 it may have been in the "famous" book by barendregt: "lambda calculus, it's syntax and semantics" 04:16:58 * oerjan finds a chapter list 04:16:59 Lambda Calculus: What is it? It's Syntax and Semantics! 04:18:37 hm looking at an online version, i have doubts. 04:19:37 it doesn't cover types until the appendix. must be another book. 04:29:42 it may be called intersection types, not disjunction types 04:30:37 -!- copumpkin has joined. 04:32:36 shachaf: his book "Lambda calculus with types" mentions intersection types on page 449 and onwards, although i don't think it's the book i remember 04:34:40 oh wtf it's not my job to do a literature search for this. 04:34:53 (stopping now) :P 04:34:58 OK. 04:35:00 * shachaf was just curious. 04:35:08 The name "interesection types" is helpful, thanks! 04:36:19 i read it as "intercession types" 04:36:41 as expected, the [ case seems to have the most awkward queue shuffling 04:37:22 i need to convert [pcont][reader][loopflag] into ):[reader][[loopflag])[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]]~[pcont]][loopflag true] 04:40:28 oh hm 04:42:45 -!- augur has joined. 05:15:06 -!- TeruFSX has joined. 05:22:52 -!- Nisstyre-laptop has quit (Ping timeout: 240 seconds). 05:25:06 -!- Nisstyre-laptop has joined. 05:38:13 `run yes|fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[)~~[)~<[<<<~(~~~<)~][)[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]])(~~)~]~~]<~[[~)~~!]):]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[[85 110 109 97 116 99 104 101 100 32 93 46H][)~[))$11~<<~:(~:<]]~)~~~][)~~[[)~[)[H]]~!][49 33H]~)~~~][51H]!]!]!]!][[0]:[[ 05:38:14 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 05:39:05 lines: too damn big 05:40:00 oh hm duh there's a long message 05:40:32 `run yes|fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[)~~[)~<[<<<~(~~~<)~][)[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]])(~~)~]~~]<~[[~)~~!]):]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[[48 33H][)~[))$11~<<~:(~:<]]~)~~~][)~~[[)~[)[H]]~!][49 33H]~)~~~][51H]!]!]!]!][[0]:[[0]<:[[0]<:]][50 33H])~!][~)]' 05:40:59 eep 05:41:02 bash: line 1: 279 Broken pipe yes \ 280 Killed | fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[)~~[)~<[<<<~(~~~<)~][)[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]])(~~)~]~~]<~[ 05:41:23 `run echo ya|fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[)~~[)~<[<<<~(~~~<)~][)[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]])(~~)~]~~]<~[[~)~~!]):]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[[48 33H][)~[))$11~<<~:(~:<]]~)~~~][)~~[[)~[)[H]]~!][49 33H]~)~~~][51H]!]!]!]!][[0]:[[0]<:[[0]<:]][50 33H])~!][~)]' 05:41:52 bash: line 1: 279 Done echo ya \ 280 Killed | fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[)~~[)~<[<<<~(~~~<)~][)[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]])(~~)~]~~ 05:42:00 something tells me that's not good 05:45:35 oh duh it's a missing bracket 05:45:59 and the interpreter hangs up instead of giving an error 05:46:58 `run echo ya|fueue '):[)~~[~:~~~)<[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~]][)~~[)~~[)~<[<<<~(~~~<)~][)[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]])(~~)~]~~]<~[[~)~~!]):]][)~~[~:~~~)<[)~~[)$--1[)~]<~~<)<[)$%0]][):]~]][)~~[[48 33H][)~[))$11~<<~:(~:<]]~)~~~][)~~[[)~[)[H]]~!][49 33H]~)~~~][51H]!]!]!]!]!][[0]:[[0]<:[[0]<:]][50 33H])~!][~)] ' 05:47:00 yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy 05:47:06 ya! 05:49:33 not quite `yes` yet 05:49:52 that was actually just ,[.] in brainfuck 05:49:59 `yes monqy 05:50:00 monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy \ monqy 05:50:04 hi shachaf 05:50:09 hi 06:09:08 -!- ogrom has joined. 06:11:27 `yes / 06:11:29 ​/ \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / \ 06:30:22 `? monqy 06:30:24 The friendship monqy is an ancient Chinese mystery; ask itidus21 for details. 06:30:31 hi??? 06:30:33 `seen itidus21 06:30:37 not lately; try `seen itidus21 ever 06:30:43 `seen itidus21 EVER 06:30:47 not lately; try `seen itidus21 ever 06:30:48 `seen itidus21 ever 06:30:54 2012-10-13 12:14:44: the odd thing was me re-posting the topic with the linebreaks based on the width of my xchat window 06:35:47 -!- asiekierka has quit (Ping timeout: 248 seconds). 06:41:35 -!- asiekierka has joined. 06:44:11 `run echo why is this working | fueue ')[)~~[)$--1[)~]<~~<)<[)$%0]][):]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[[49 33H])[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]]~[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~[[0]:[[0]<:[[0]<:]][50 33H])~!]]]]][))$11~<<~:(~:<][)[[48 33H])~[)[H]]~~!]!]' 06:44:13 why is this working 06:45:14 `run echo and this | fueue ')$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]])[))(($3~)<(][0]:[[0]<:[[0]<:]][3 06:45:15 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 06:45:20 oops 06:45:53 `run echo now | fueue ')$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]])[))(($3~)<(][0]:[[0]<:[[0]<:]][33H]' 06:45:54 ​ \ won 06:46:16 i just convinced myself , should break on NUL's... 06:51:55 `fueue )))~$([[)[~~~~()+1])][0]$%~~1)][][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:]][33] 06:52:10 fancy 06:52:26 No output. 06:52:41 `echo hm | fueue )))~$([[)[~~~~()+1])][0]$%~~1)][][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:]][33] 06:52:42 hm | fueue )))~$([[)[~~~~()+1])][0]$%~~1)][][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:]][33] 06:52:47 `run echo hm | fueue )))~$([[)[~~~~()+1])][0]$%~~1)][][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:]][33] 06:52:48 bash: -c: line 0: syntax error near unexpected token `)' \ bash: -c: line 0: `echo hm | fueue )))~$([[)[~~~~()+1])][0]$%~~1)][][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:]][33] ' 06:52:58 `run echo hm | fueue ')))~$([[)[~~~~()+1])][0]$%~~1)][][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:]][33] ' 06:53:00 104 06:56:27 -!- azaq23 has joined. 06:56:36 -!- azaq23 has quit (Max SendQ exceeded). 06:57:15 `fueue )[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:][0] 06:57:16 0 06:57:21 `fueue )[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:][33] 06:57:23 33 07:05:26 `run cat /dev/null | fueue ')))~$([[)[~~~~()+1])][0]$%~~1)][][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:]][33] ' 07:05:28 33 07:05:56 `fueue )))~$([[)[~~~~()+1])][0]$%~~1)][][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:]][33] 07:06:27 No output. 07:06:52 `cat - 07:07:00 ic 07:07:18 it's an accident of stdin blocking there 07:07:23 No output. 07:08:46 oh the rev simply works because it always reads into a zero cell 07:09:42 hm... 07:10:09 `printf \n\n\n\n\n\n 07:10:11 No output. 07:10:15 `printf \n\n\n\n\n\na 07:10:17 ​ \ \ \ \ \ \ a 07:10:57 hah and the cat seemed to work because hackego removes trailing newlines which were what were printed by the "no change" NULs :P 07:11:31 `printf a\n\n\n\n\n\n 07:11:33 a 07:16:09 i guess a bf implementation which treats EOF as NUL and no change simultaneously is a bit unusual, *cough* 07:18:05 -!- Nisstyre-laptop has quit (Read error: Connection reset by peer). 07:19:36 -!- Nisstyre-laptop has joined. 07:23:40 `run echo -n why is this working | fueue ')[)~~[)$--1[)~]<~~<)<[)$%0]][):]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[[49 33H])[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]]~[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~[[0]:[[0]<:[[0]<:]][50 33H])~!]]]]][))$11~<<~:(~:<][)[[48 33H])~[)[H]]~~!]!]' 07:23:42 why is this workingggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg 07:23:48 XD 07:36:27 `slist 07:36:28 Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 07:37:25 -!- oerjan has quit (Quit: Good night). 07:48:21 -!- stuntaneous has joined. 08:11:35 -!- sirdancealot7 has quit (Ping timeout: 244 seconds). 08:12:41 -!- ais523 has quit. 08:17:45 -!- yours_truly has joined. 08:21:08 -!- stuntane has joined. 08:24:26 -!- stuntaneous has quit (Ping timeout: 276 seconds). 08:34:34 <[th]s0[st]s1[nd]s2[rd]s3dBr100%d10%r10/1-1 0 1i*d3-1d0i*`0+L+> 09:01:32 -!- yours_truly has quit (Quit: Leaving). 09:06:02 -!- Taneb has joined. 09:07:44 -!- Taneb has quit (Client Quit). 09:07:58 -!- Taneb has joined. 09:12:02 What's Opera like as a browser 09:12:22 zzo38: I disagree. 09:12:48 shachaf: Why do you disagree? 09:17:48 the % should be an ¤ 09:18:26 My sleep schedule feels pretty broken when I wake up naturally at 4AM. 09:18:35 -!- DHeadshot has joined. 09:18:39 Gregor: it can get much worse 09:18:43 much worse 09:18:57 oklopol: Then you make it like that if you want. 09:18:58 at some point last year i woke up at midnight and went straight to work 09:19:12 left at 16, went to sleep 09:19:21 good times 09:19:25 Going to sleep at 6pm until 3am is not a good thing 09:19:36 Although I've done worse than that 09:19:39 its not that awful a thing 09:19:43 just think of it as a real early morning 09:19:53 it's bad if you're bad at waking up in the dark depending on location tho 09:20:02 zzo38: A hunch. 09:20:15 it's a bad thing if there are bad social/work consequences. caused me no problems. 09:20:34 by bad I mean it makes you feel awful 09:20:37 nowadays i got to sleep between 22 and 23 and wake up at 8. girlfriends SUCK :( 09:21:17 maybe a boy friend would be better 09:21:34 yeah we could gay up all night. 09:23:27 -!- TeruFSX has quit (Ping timeout: 276 seconds). 09:24:47 shachaf: What hunch? 09:25:59 zzo38: http://www.youtube.com/watch?v=GPdzCZdvBp0 10:23:24 -!- monqy has quit (Quit: hello). 10:24:10 -!- sirdancealot7 has joined. 10:30:45 shachaf, what do you make of last night's Homestuck update 10:31:04 Taneb: I don't read Holmes Tuck. 10:31:30 That's irrelevant 10:31:43 It's probably pretty BAD. 10:32:09 Yes 10:32:14 One character isn't wearing pants 10:32:21 And has been called out on it by his grandmother 10:45:16 -!- sirdancealot7 has quit (Read error: Connection reset by peer). 10:53:27 And also by his granddaughter 10:53:54 And also by Taneb. 10:54:14 Sgeo, by that logic 1 is prime 10:54:41 i love logic 10:57:00 grandmadaughter is overpowered 10:57:31 monoids are easy 11:01:06 It's such a deus ex machina for Jake and Jane 11:02:17 How did Jade know what was going on, exactly? 11:02:23 Is she omniscient now too? 11:02:36 First guardian powers 11:02:47 Wait, that doesn't grant omniscient 11:03:28 imo this is offtopic 11:03:39 y'all'ren't talking about esolangs 11:04:06 Surely ~ATH counts 11:04:24 And Brazil isn't a vegetable 11:04:26 Although I guess it was used for a practical purpose 11:04:57 What, dooming everybody Karkat ever met? 11:05:12 And summoning an evil invincible demon 11:10:11 shachaf, is summoning an evil invincible demon too practical for an esolang? 11:10:58 Sgeo: Maybe. Make it a evil invisible demon instead of invincible. 11:12:06 -!- Phantom_Hoover has joined. 11:12:17 "You have bitshifted the result of a boolean expression and used it as an array index to avoid using ?: or an if statement." Have you done things like that? 11:12:23 Phantom_Hoover, you should try to catch up 11:12:32 ugh 11:12:42 i haven't followed my webcomic list for like 11:12:43 ever 11:12:50 well over a month 11:13:04 don 11:13:09 don't logread, there are spoilers 11:13:15 the backlog is now a sort of mental augean stable 11:13:54 wating faithfully for some sort of... hercules to wash it away in a... torrent of... reading 11:19:16 -!- Phantom_Hoover has quit (Remote host closed the connection). 11:43:44 I cannot sing along with Wormsong 2011 11:43:47 The lyrics are just wrong 11:45:05 Can you correct them? 11:47:38 I can listen to Wormsong 2003 instead 11:47:52 -!- sebbu2 has joined. 11:48:07 -!- sebbu2 has quit (Changing host). 11:48:07 -!- sebbu2 has joined. 11:49:08 -!- sebbu has quit (Ping timeout: 248 seconds). 11:59:21 hm what was the name of that software that HackEgo and EgoBot use for the sandbox? 11:59:47 UMLBox 12:03:12 ah 12:03:13 thanks 12:03:21 elliott, he wrote that himself right? 12:03:35 yeah 12:04:07 yeah 12:04:17 Hey, why is 12:04:23 no package in debian for it :/ 12:04:31 Hey, why is (=>>) not part of the Comonad instance in Control.Comonad ? 12:04:38 elliott, what was the old one? That was based on some crazy debian-only thingy 12:04:56 plash 12:05:03 FreeFull: It's defined separately. 12:05:08 I forgot what was wrong with plash 12:05:08 Doesn't this mean you can't define your own, and have to rely on the built-in definition? 12:05:10 "extend" is equivalent. 12:05:15 (It's just flipped.) 12:05:16 Ah 12:05:27 (=>>) = flip extend ? 12:05:44 Fair enough 12:07:37 Oh, right 12:08:37 I know why fail "something" :: Either String a doesn't return Left "something" but it's inconvienient 12:09:02 I guess you'd want a separate monad that constricts the failure value to a string? 12:09:57 If you can avoid fail you probably should. 12:10:34 True 12:11:09 For Boolean I can think of two monoid instances, And and Or. Would Xor work as a monoid instance too? 12:11:25 No, there's no identity 12:11:32 Yes there is? 12:11:32 Ah, yeah 12:11:37 Is there? 12:11:38 0 is the identity 12:11:41 Of course 12:11:42 :( 12:11:44 Well, False 12:11:54 FreeFull: Any/All are the newtype wrappers for those Monoid instances 12:12:38 I don't think Nor or Nand are monoids 12:12:57 shachaf: Is xor actually a monoid? 12:13:03 semigroups defines xor for non-empty lists. 12:13:06 I presume there's a reason for that. 12:13:25 Because it's semigroups? 12:13:31 shachaf: It doesn't define and/or/etc. 12:13:33 Just xor. 12:13:46 The Prelude defines and/or/etc. but not xor 12:14:24 Are you suggesting it has xor even though you can (in this hypothetical) define xor perfectly normally and well-behavedly on full lists just for the hell of it, despite not having anything else like that? 12:14:29 It's edwardk, he'd define the [] version. 12:14:34 Why restrict it unless it has to be? 12:15:07 Let me look up the monoid laws 12:15:18 Maybe xor is a useful operation on nonempty lists in particular? 12:15:49 @check True 12:15:50 xor does seem to follow the laws 12:15:52 Not in scope: `myquickcheck' 12:15:54 Ugh. 12:16:14 elliott: xor is the most well-behaved operation in the world. 12:16:34 (Bool,False,(/=)) is definitely a monoid. 12:17:00 Hmm. 12:17:03 So what's up with that? 12:17:36 Well, monoids are semigroups 12:17:52 And someone probably didn't like xor being a monoid 12:20:39 xor is so great 12:20:41 a^b=c 12:20:43 b^a=c 12:20:47 c^a=b 12:20:49 a^c=b 12:20:51 b^c=a 12:20:58 c^b=a 12:21:02 Yes 12:21:03 All of those mean the same thing! 12:21:36 Assuming a, b and c don't get modified or are distinct 12:24:22 xor isn't short-circuiting, sadly. 12:24:27 Well, I guess that's not so sad. 12:25:13 shachaf: What should the newtype for Xor be called? 12:25:15 All, Any, ...? 12:25:57 Odd? 12:26:06 That feels about numbers. 12:26:42 It doesn't need a newtype. 12:27:28 Sure it does. 12:32:10 Unbalanced. 12:32:19 Hmm, no, that's just wrong. 12:37:27 Flip? 12:40:54 Toggle 12:40:56 Hmm, no 12:41:08 Toggle may be better than Flip but only 1 toggles 12:41:10 -!- zzo38 has quit (Remote host closed the connection). 12:41:33 Exclusive? 12:44:31 -!- sebbu2 has changed nick to sebbu. 13:00:01 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de). 13:11:06 -!- hagb4rd has joined. 13:23:38 @tell kmc darn! you forgot to turn off the light in the refrigerator once again. 13:23:38 Consider it noted. 13:27:47 If monads are monoids, are comonads comonoids? 13:28:31 Aren't comonads also monoids, or something? 13:33:33 -!- carado has joined. 13:34:31 It's unlikely anything is a comonoid. 13:35:23 A comonoid, you'd have to split it, right? 13:35:38 And everything splits into comempty and itself 13:36:07 I hear comonoids are completely boring in Hask. 13:36:17 You end up with x -> (x, x) where the laws require \x -> (x, x) or something. 13:36:51 elliott: Are you sure about that second part? 13:37:09 I think that's what edwardk told me. 13:37:13 Certainly x -> (x, x) is an interesting type. 13:37:24 e.g. splitting name supplies 13:45:28 -!- carado has quit (Remote host closed the connection). 13:49:42 -!- carado has joined. 13:52:44 -!- ogrom has quit (Quit: Left). 14:02:31 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de). 14:03:33 elliott: Wouldn't that not apply with the restraint Comonoid x 14:04:00 ? 14:04:13 And the behaviour would depend on the comonoid instance of x, rather than always leading to \x -> (x,x) 14:04:31 * elliott doesn't know what's unclear about "where the laws require \x -> (x, x)" 14:04:54 What are the comonoid laws? 14:05:40 Lessee 14:06:50 Shouldn't the dual of (a,a) -> a be a -> Either a a? 14:07:13 Ssh 14:08:20 -!- DHeadshot has quit (Ping timeout: 248 seconds). 14:08:54 For the Sum monoid, mappend a b = c has an infinite number of values for a and b that will produce c 14:09:20 -!- hagb4rd has joined. 14:09:56 So I'm thinking the Comonoid instance would have something like comappend c = ([0,1..],[c,c-1..]) 14:10:01 Although that might not make sense 14:10:29 Well, technically ([comempty,comempty+1..],[c,c-1..]) 14:14:35 comempty would be x -> (). 14:17:05 -!- DHeadshot has joined. 14:49:10 -!- Phantom_Hoover has joined. 14:54:48 i... 14:54:57 you... 14:55:02 think i just had haute cuisine haggis 14:55:11 My god 14:55:22 In Warwick!? 14:55:38 no, i was back home for the weekend 14:55:54 also don't let the name fool you, the university of warwick is in coventry 14:56:18 :O 15:03:23 OK 15:03:43 is it just me, or is it incredibly, pointlessly hard to get a USB headset working on Arch? 15:08:21 i am now restarting 15:08:25 to get some fucking headphones working 15:08:31 -!- Phantom_Hoover has quit (Remote host closed the connection). 15:11:09 -!- TeruFSX has joined. 15:11:34 -!- Phantom_Hoover has joined. 15:36:43 -!- Nisstyre-laptop has quit (Read error: Connection reset by peer). 15:36:50 i feel like as i move south the scenery should get less snowy, not more 15:38:17 -!- WeThePeople has joined. 15:38:37 My Little Haskell: Lenses are Magic 15:38:40 *wheeeeeeeeew* 15:38:46 I had to say that somewhere, better here than there. 15:41:00 -!- Nisstyre-laptop has joined. 15:42:03 look like you run a little late. lens have been completely demystified in that channel. 15:42:39 gregor: have you done sth usefull using lens? 15:42:54 I don't Haskell much. 15:43:19 -!- DHeadshot has quit (Read error: Connection reset by peer). 15:43:28 -!- DH____ has joined. 15:49:42 gregor: have you got your new accordion? 15:50:23 I got one in Indiana, if that's what you mean, but it's kind of meh. 15:50:34 I'm still looking for (and not finding) a better one. 15:51:50 -!- WeThePeople has quit (Quit: Leaving). 15:52:59 yes, it's hard at least in that low-price-class 15:53:16 Indeed *sigh* 15:54:28 -!- Gracenotes has quit (Ping timeout: 248 seconds). 15:54:35 and some 2nd hand instruments seems to be more expensive than the fresh-manufactured 15:57:29 If they're being sold by someone who knows what they're selling, yeah. 15:57:42 But I'm in the "what the heck is this, I'll just invent a price" market ;) 16:15:14 -!- WeThePeople has joined. 16:24:36 -!- DH____ has quit (Read error: Connection reset by peer). 16:24:44 -!- DHeadshot has joined. 16:29:19 -!- DHeadshot has quit (Ping timeout: 256 seconds). 16:30:13 http://network-tools.com/default.asp?prog=express&host=216.81.59.173 16:30:18 this is something one of you people would do 16:30:57 Is [] a free monad? 16:31:08 no 16:31:17 the free monad is the term monad 16:32:24 [] is the free monoid functor tho 16:33:36 I wonder when Haskell people realised "Hey, we can create a monad instance" 16:33:40 Wait, no 16:33:42 monad class 16:34:11 after moggi 16:34:38 moggi wrote some stuff, wadler read it and was impressed 16:51:12 -!- augur has quit (Remote host closed the connection). 16:55:10 Hmm, the first moggi paper on monads seems to be from 1988 17:09:29 -!- carado has quit (Remote host closed the connection). 17:10:01 -!- carado has joined. 17:16:09 -!- Gracenotes has joined. 17:23:46 -!- DHeadshot has joined. 17:28:09 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de). 17:35:37 -!- DHeadshot has quit (Ping timeout: 256 seconds). 17:36:50 -!- Taneb has quit (Read error: Connection reset by peer). 17:37:27 -!- DHeadshot has joined. 17:39:08 -!- hagb4rd has joined. 17:39:52 -!- Taneb has joined. 17:42:01 -!- DHeadshot has quit (Read error: Connection reset by peer). 17:42:21 -!- DHeadshot has joined. 17:49:16 -!- WeThePeople has quit (Quit: Leaving). 17:55:34 -!- augur has joined. 17:56:20 * Sgeo is starting to get a hatred of channels that don't put freenode staff on the access list 18:00:51 -!- Taneb has quit (Quit: Leaving). 18:04:15 -!- sirdancealot has joined. 18:09:13 Sgeo, wat 18:10:13 I suppose that's a roundabout way of saying #esoteric. 18:10:16 There's someone in #scala with a horribly broken connection, and no ops online, and #freenode can't do anything because they're not on the access list 18:10:24 -!- hagb4rd has quit (Ping timeout: 264 seconds). 18:10:28 I think #esoteric has freenode staff on the access list 18:10:43 -ChanServ- 6 freenode-staff +AFRfiorstv [modified 34 weeks, 1 day, 03:31:10 ago] 18:10:58 I don't know if that line, without the ... hostmask thing, is effective or not 18:11:17 That seems a relatively recent thing. 18:11:41 I didn't even know it was a recommended practice. It certainly hasn't been. 18:11:58 is that the result of the Plazma Incursion 18:12:48 -!- hagb4rd has joined. 18:15:23 I don't know which one is a recommended practice 18:16:45 "Staff can be given access by providing [nick] as "*!*@freenode/staff/*".", on the Using the Network page. 18:16:52 -!- oklofok has quit (Ping timeout: 248 seconds). 18:16:53 I suppose it's a reasonably neutral statement, though. 18:17:28 #freenode has both "*!*@freenode/staff/*" and "freenode-staff" on the list. 18:17:29 -!- oklofok has joined. 18:18:24 After seeing #scala , and a similar situation in the past, I have a strong preference 18:19:56 I see "freenode-staff" is nowadays our founder, too; might explain why it's on the list. 18:20:32 -!- DHeadshot has quit (Read error: Connection reset by peer). 18:20:45 -!- DHeadshot has joined. 18:25:54 -!- DHeadshot has quit (Read error: Connection reset by peer). 18:36:02 -!- Phantom_Hoover has quit (Ping timeout: 252 seconds). 18:43:41 !help 18:43:42 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 18:43:46 !info 18:43:47 ​EgoBot is a bot for running programs in esoteric programming languages. If you'd like to add support for your language to EgoBot, check out the source via mercurial at https://codu.org/projects/egobot/hg/ . Cheers and patches (preferably hg bundles) can be sent to Richards@codu.org , PayPal donations can be sent to AKAQuinn@hotmail.com , complaints can be sent to /dev/null 18:43:57 `help 18:43:58 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 18:44:02 hm 18:44:17 where is the hack ego bot code repo, as opposed to the file system repo 18:46:00 specifically I'm looking for how he set up umlbox 18:50:08 Vorpal: http://bitbucket.org/GregorR/hackbot 18:50:23 thanks 18:50:45 Gregor, that does not contain the call to umlbox? 18:50:56 Gregor, which is what I was looking for 18:51:08 Gregor, specifically how you set up the socket stuff 18:51:21 Gregor, because that umlbox-mudem has me confused 18:51:25 That DOES contain the call to umlbox. 18:51:38 If you want to know how umlbox itself works, then look at the umlbox code. 18:51:39 oh not in runner.sh? 18:51:56 I thought you ran umlbox outermost 18:52:16 No, it runs a umlbox per call. 18:52:25 aaah 18:52:25 `uptime 18:52:29 ​ 18:52:27 up 0 min, 0 users, load average: 0.00, 0.00, 0.00 18:52:32 `uptime 18:52:33 ​ 18:52:33 up 0 min, 0 users, load average: 0.00, 0.00, 0.00 18:53:16 `run echo $HOME 18:53:17 ​/tmp 18:53:41 Gregor, so where do you use the mudem thing? 18:53:58 mudem is all handled by umlbox, it's just the -R in the args that make it run. 18:54:12 ah 18:54:22 The problem is that uml doesn't provide an especially reliable pipe to/from the host. 18:54:29 Gregor, but what about direct connections to the internet? Is that possible at all? 18:54:33 from inside the box 18:54:35 No. 18:54:38 That's kinda the idea. 18:54:52 Gregor, well I was wondering if it was possible to set that up 18:54:54 oh well 18:54:59 It'd be possible to set it up with, say, a SOCKS proxy. 18:55:15 If you want direct connections, you could adjust it to make umlbox use slip. 18:55:19 hm I guess I could use -R and then an socat in my case 18:55:33 Gregor, slip? lol what? 18:55:53 is that a pre-PPP thingy? 18:56:31 Yes, but there's a program, the name of which I forget, that simulates a whole network stack for one end of a slip connection. UML and Qemu both use/include a derivative of it. 18:56:42 oh, nice 18:56:43 Slirp, I guess? 18:56:49 That's what I was looking for. 18:56:56 Gregor, I thought qemu used a virtual ethernet adapter? 18:57:04 Yes, but that connects to slirp. 18:57:10 and then a tun interface on the host 18:57:13 really? okay 18:57:17 You can use tun if you want. 18:57:21 Or you can hook it to slirp. 18:57:24 slirp is all usermode. 18:57:24 I see 18:57:29 fair enough 18:57:44 well I think -R and an socat would work for my case 18:57:47 Oh, I didn't know qemu's user-mode networking was a SLIRP derivative. 18:57:49 Fancy. 18:58:46 wait.. -R takes a host? 18:58:53 does that mean I don't need a socat in between 18:58:59 if I want to connect to just one fixed host 19:00:04 Yeah, -R8080:google.com:80 would give you a pipe to google. 19:00:05 Gregor, so I would say connect to, say, 127.0.0.1:1234 in the box, then put in -R1234:example.org:80? 19:00:07 yeah 19:00:13 perfect 19:00:16 any plans for ipv6? 19:00:36 I don't think there's anything particularly missing for it, would just need to be integrated into mudem. 19:00:46 fair enough, not a pressing need for me 19:00:49 The big issue is that the mudem is unreliable because there's no initial handshake... 19:00:50 was just curious 19:00:59 Gregor, oh? 19:01:15 UML doesn't provide a reliable pipe into/out of the virtual system, like I mentioned. 19:01:23 ah 19:01:24 So to make it not suck, you need some kind of handshake between them. 19:01:33 I never bothered to make that work properly, so mudem is spotty. 19:01:36 so what do you use for your bots then? 19:01:45 I use that, it just sucks. 19:01:49 ah 19:11:18 Gregor, so in what ways is it unreliable 19:11:22 what can I expect failing 19:12:57 Gregor, hm it just says "Terminated"? 19:13:44 Gregor, when I try to use -R 19:14:29 Gregor, and without said forwarding it is of no use to me 19:14:30 sigh 19:15:45 Gregor, I don't know how to debug python :/ 19:16:08 * Gregor reappears. 19:16:14 thank god 19:16:25 Generally speaking, mudem will work "fine" if you put some time between starting the session and actually trying to use a connection. 19:16:29 #whenever I try to use -R it just says terminated, I'm trying to use it to a remote 19:16:33 oh okay 19:16:37 I will try add a sleep then 19:16:42 No guarantees X-D 19:16:51 (Like I said, unreliable) 19:16:51 Gregor, err nope 19:16:59 Gregor, I tried to forward a port and run ls 19:17:02 it just said terminated 19:17:12 so this is not THAT issue it seems 19:17:18 And if you do it without port forwarding, it works? 19:17:23 yep 19:17:34 Run it with -v then 19:17:36 -R6697:myircserver:6697 is what I tried 19:17:55 Gregor, kernel panic in uml 19:18:01 let me pastebin 19:19:08 Gregor, I'm using the debian uml package kernel as the README suggested 19:19:11 does that matter? 19:19:17 Should work. 19:19:22 Gregor, anyway, here it is but replaced with google http://sprunge.us/ghVK 19:19:27 Gregor, also I use debian testing 19:20:10 Well that's strange >_O 19:20:15 arvid@tux /tmp $ $HOME/local/umlbox/bin/umlbox -v -B -R6697:google.com:6697 --copy-cwd ls 19:20:17 What happens if you use -n < /dev/null ? 19:20:18 that was the command 19:20:25 Gregor, on which part? 19:20:33 after ls? 19:20:38 Use -n as an option, and append < /dev/null 19:20:41 Don't put the -n after ls :) 19:20:54 same crash 19:21:10 Gregor, 64-bit debian testing 19:21:42 Gregor, if I remove the forward it works just fine 19:22:14 Oh look, it fails for me too X-D 19:22:20 okay 19:22:27 Gregor, so you don't use this feature then? 19:22:36 now what do I do :/ 19:22:38 plash? 19:23:38 I guess X-D 19:23:43 G'luck installing it. 19:23:51 This is really weird. Why is it working on codu X-D 19:23:52 Gregor, you aren't going to fix this right now? 19:23:58 oh well 19:24:07 -!- impomatic has quit (Read error: Connection reset by peer). 19:24:08 Gregor, I have no idea where to even start to look 19:24:19 Gregor, but if you find out what differs on codu, please tell me 19:26:37 !c char*a,b[9999];main(){gets(a=b);while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} 19:26:42 No output. 19:27:15 !c char*a,b[9999]="test string";main(){a=b;while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} 19:27:17 est string 19:27:26 well, that was fairly boring 19:27:41 It does more, but you need an interesting input X-D 19:28:05 !c char*a,b[9999]="THIS... IS... INTERESTING!";main(){a=b;while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} 19:28:08 HIS... IS... INTERESTING! 19:28:13 Gregor, nope! 19:29:34 Gregor, any suggestions for more interesting inputs? 19:29:42 !c char*a,b[9999]="654321";main(){a=b;while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} 19:29:45 54321 19:29:53 !c char*a,b[9999]="123456";main(){a=b;while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} 19:29:55 23456 19:30:08 !c char*a,b[9999]="121212";main(){a=b;while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} 19:30:10 21212 19:30:13 !c char*a,b[9999]="111121212";main(){a=b;while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} 19:30:16 11121212 19:30:28 Gregor, I give up 19:30:41 -!- augur has quit (Remote host closed the connection). 19:31:21 Vorpal: It's subleq you nut 19:31:30 oh okay 19:31:37 What are you trying to do? 19:31:41 I'm too tried to read that sort of C code today 19:31:48 FreeFull, live a successful life? 19:32:03 Being in #esoteric is your first mistake ;) 19:32:21 hah 19:32:27 anyway 19:32:42 Gregor, what version of debian is on codu? 19:32:57 `cat /etc/debian_version 19:32:58 cat: /etc/debian_version: No such file or directory 19:33:04 Hm, really thought that might work X-D 19:33:18 $ cat /etc/debian_version 19:33:18 7.0 19:33:26 Yeah, it's running testing. 19:33:31 `lsb_release -a 19:33:32 okay 19:33:34 No LSB modules are available. \ Distributor ID:Debian \ Description:Debian GNU/Linux \ Release:n/a \ Codename:n/a 19:33:42 n/a 19:33:43 yeah 19:33:44 right 19:34:01 `run lsb_release -a 19:34:03 No LSB modules are available. \ Distributor ID:Debian \ Description:Debian GNU/Linux \ Release:n/a \ Codename:n/a 19:34:13 `uname -a 19:34:14 Linux umlbox 3.0.8-umlbox #2 Sun Nov 13 21:30:28 UTC 2011 x86_64 GNU/Linux 19:34:24 hm 64-bit too 19:34:26 so uh 19:35:14 $ ~/local/umlbox/bin/umlbox -B uname -a 19:35:14 Linux (none) 3.2.35 #2 Fri Jan 4 23:20:55 UTC 2013 x86_64 GNU/Linux 19:35:15 wait what 19:35:20 hm 19:35:24 Gregor, different kernel 19:35:39 $ uname -a 19:35:40 Linux tux 3.2.0-4-amd64 #1 SMP Debian 3.2.35-2 x86_64 GNU/Linux 19:35:41 so yeah 19:36:05 huh, no build date? 19:36:35 Gregor, where did you get the kernel from on codu? And can you put up a copy of that so I can test with that 19:39:36 On codu I'm using the kernel that umlbox builds if you ask it to. 19:39:44 But I'm using that here too. 19:40:41 hm okay 19:40:44 so it isn't that then 19:40:50 Gregor, any sysctl differences? 19:40:52 or such 19:40:56 iptables setup? 19:41:29 It seems to have something to do with using the ttys in uml, not networking. 19:42:03 Gregor, okay, how do I deal with that? 19:42:14 Gregor, not run it interactively? 19:42:30 That's why I was suggesting -n < /dev/null 19:42:44 well that didn 19:42:49 Yeah, I know. 19:42:50 didn't* do a difference 19:43:07 Gregor, anyway it is using that -R line that triggers it 19:43:24 Yes, I'm aware. 19:43:27 Like I said, I can repro. 19:43:31 so how is it tty related 19:43:33 :/ 19:43:39 The mudem attaches via tty. 19:43:43 aha 19:47:05 Gregor, the README: "Alternatively, you may extract Linux 3.4.4 to umlbox/linux-3.4.4 (substitute 19:47:06 " 19:47:14 Gregor, yet you have 3.0.8 on the server 19:47:26 Gregor, are you sure you have 3.0.8 locally? 19:47:31 if not that could be the difference 19:47:34 Locally I certainly don't. 19:47:43 I doubt that that's the difference, but anything's possible. 19:47:49 Gregor, well maybe that it is, why not try the kernel from there? 19:47:53 for umlbox 19:48:02 Because I'm doing other stuff and intend to debug later X-D\ 19:49:29 Gregor, upload that kernel for me and I'll test it 19:50:02 http://codu.org/tmp/umlbox-linux 19:50:18 Length: 2597176 (2,5M) [text/plain] 19:50:19 hrrm 19:50:34 bc4ca95329341d20e92b702d5f6f8695 umlbox-linux 19:50:37 correct md5sum? 19:50:46 Yup 19:52:26 Gregor, that did it 19:52:32 well 19:52:41 it now complains about the initramfs 19:52:49 or wait 19:52:50 no 19:52:52 nvm 19:52:53 Soooooo, that made it fail in a different way? X-D 19:53:00 Gregor, permission issues on the file 19:53:09 I guess umlbox-linux needs to be executable 19:53:11 md5 :( 19:53:11 kmc: You have 1 new message. '/msg lambdabot @messages' to read it. 19:53:29 Gregor, yeah still crash 19:53:44 Gregor, so no such luck 19:54:51 -!- ais523 has joined. 19:54:59 @messages? 19:54:59 Sorry, no messages today. 19:55:48 ais523, hi 19:56:11 bbl 19:57:09 hi 19:57:11 and bye 19:59:38 -!- monqy has joined. 20:13:30 -!- augur has joined. 20:14:52 -!- oerjan has joined. 20:15:59 ais523, back' 20:16:01 back* 20:16:08 wb 20:18:01 -!- pikhq has quit (Ping timeout: 244 seconds). 20:18:10 -!- pikhq has joined. 20:25:03 `slist no actual update, but the RSS feed changed 20:25:04 Taneb atriq Ngevd Fiora nortti Sgeo ThatOtherPerson alot 20:25:13 Currently trying to see what 20:25:22 what does slist do 20:25:33 `type slist 20:25:34 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: type: not found 20:25:39 `run type slist 20:25:40 slist is /hackenv/bin/slist 20:25:53 `run url /hackenv/bin/slist 20:25:56 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip//hackenv/bin/slist 20:26:00 `run url bin/slist 20:26:02 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/slist 20:26:16 oh I see 20:26:36 Sgeo, what is the point of that 20:31:27 Ping people when Homestuck updates 20:33:56 ah 20:34:27 -!- Phantom_Hoover has joined. 20:34:31 night 20:35:16 night 20:41:25 -!- zzo38 has joined. 20:52:08 -!- sebbu2 has joined. 20:52:09 -!- sebbu2 has quit (Changing host). 20:52:09 -!- sebbu2 has joined. 20:52:15 -!- sebbu has quit (Ping timeout: 256 seconds). 20:53:27 12:10:34: True 20:53:27 12:11:09: For Boolean I can think of two monoid instances, And and Or. Would Xor work as a monoid instance too? 20:53:43 XOR is a monoid too. 20:53:46 and, or, xor, and the dual of xor (eqv or something?) 20:53:55 Yes, we did talk about xor 20:53:57 zzo38: yes that was mentioned, i just wanted to add one 20:54:04 You can do boolean XOR in Haskell using (/=) 20:54:46 And != in C 20:55:30 Yes, if you are using actual booleans 20:55:31 xor is addition mod 2 20:55:43 so yes it's a monoid and a group 20:56:07 'and' is multiplication on the same elements 20:56:27 False * x = x and x * False = x leaves only True * True to vary, so Or and Xor are the only ones with identity False, by duality And and Eqv are the only ones with identity True 20:56:36 together you have the finite field of size 2 20:58:07 In J, b. can be used for all possible binary boolean functions 20:59:01 1 (2b.) 0 20:59:06 ) 1 (2b.) 0 20:59:06 Sgeo: |ill-formed number 20:59:11 ) 1 (2 b.) 0 20:59:11 Sgeo: 1 20:59:42 http://www.jsoftware.com/docs/help701/dictionary/dbdotn.htm 21:00:09 i suppose the dual of xor doesn't have a settled name since C doesn't include an operator for it. 21:00:35 ==? 21:00:43 bitwise, Sgeo 21:00:53 -!- Phantom_Hoover has quit (Remote host closed the connection). 21:01:40 googling "names of boolean operators" gives wikipedia's C operators on top :( 21:01:55 a xor b xor all1 21:01:57 ? 21:02:14 a _name_ Sgeo, not an expression. 21:02:32 a name when spoken, to be precise. 21:02:38 -!- Phantom_Hoover has joined. 21:03:15 http://en.wikipedia.org/wiki/Logical_connective#Common_logical_connectives 21:04:07 ah i found "XNOR" 21:05:02 or that. 21:05:17 * oerjan is grumpy today, if you cannot tell. 21:08:45 Maybe xor is a useful operation on nonempty lists in particular? <-- given that x xor x is empty, it wouldn't be closed... 21:10:55 or is that an analogue to or and and, so gives a boolean? still makes no sense to require nonemptiness indeed 21:20:22 -!- ais523 has quit (Read error: Operation timed out). 21:20:56 -!- sebbu has joined. 21:20:57 -!- sebbu has quit (Changing host). 21:20:57 -!- sebbu has joined. 21:21:09 -ChanServ- 6 freenode-staff +AFRfiorstv [modified 34 weeks, 1 day, 03:31:10 ago] <-- i vaguely suspect that happened when andreou got deregistered, and freenode-staff automatically became the new founder 21:21:43 -!- sebbu2 has quit (Ping timeout: 256 seconds). 21:21:49 It was 6th on the list though 21:22:00 yes but it has the F founder flag 21:24:09 fizzie: ^ 21:25:26 all hail lord xnor 21:25:46 xnor the notorious 21:27:56 -!- DHeadshot has joined. 21:28:06 -!- augur has quit (Remote host closed the connection). 21:29:20 oerjan: I see "freenode-staff" is nowadays our founder, too; might explain why it's on the list. 21:29:46 -!- ais523 has joined. 21:30:48 that was the next line i read in the logs, yes :P 21:35:08 Who is John freenode-staff? 21:36:47 Is there any chance of granting access to *!*@freenode/staff/* 21:36:47 ? 21:36:55 UML doesn't provide a reliable pipe into/out of the virtual system, like I mentioned. <-- is that why the web proxy keeps failing? 21:37:03 Yes. 21:38:30 Sgeo: Grant access of what? Can't they do it by themself if they need to, if it is already freenote-staff on the founter list? 21:38:50 zzo38, they said it's a placeholder accoun 21:38:51 account 21:40:05 i didn't even know access add could take a wildcard nickname. i thought it stored accounts, not nicks... 21:40:28 Still I don't think you should right now. If it is capable to do so then you can make it once they tell you to do so, if they do. 21:40:31 What sort of a network is it where you can DENY access to staff >_O 21:40:54 Gregor: seems silly 21:41:10 I just learned the name of one of the auto-kline chanels 21:41:12 channels 21:41:22 On my IRC server I have configured it not to deny anyone. 21:41:34 Sgeo: What happens if you use a MODE or TOPIC request on one of those? 21:41:50 I don't know 21:41:58 But I know if you join it you get banned from Freenode 21:42:36 Or a CS INFO request? 21:42:37 zzo38: the idea is not that they demand it, it's that freenode staff for some reason cannot help out the channel without it, if no ops are present. 21:42:53 which is silly. 21:43:41 Then wait until they do need to help out the channel. 21:43:44 Yes. <-- well that makes it one of the top outstanding bugs, i'd say. 21:43:46 -ChanServ- Registered : Nov 20 11:12:45 2009 (3 years, 11 weeks, 6 days, 10:30:28 ago) 21:43:46 -ChanServ- Mode lock : +mnstcP 21:43:46 -ChanServ- Flags : GUARD PRIVATE 21:44:04 oerjan, political stuff I guess 21:44:18 -!- Nisstyre-laptop has quit (Read error: Connection reset by peer). 21:44:32 oerjan: It is the top outstanding bug in UMLBox, yes. 21:45:47 zzo38, I don't know how to get the topic of a channel I'm not in 21:45:59 Gregor: btw my fueue experiments in the channel hid a bug for the longest time because HackEgo's stripping of final newlines made me not realize input of EOF was instead interpreted as doing no change. (so when i piped echo without -n into a cat it gave the right result :P) 21:45:59 Sgeo: Use the command TOPIC and the channel name. 21:46:04 -!- Nisstyre-laptop has joined. 21:46:06 (Same as a channel you are in) 21:46:22 zzo38, I think client fills that in for me 21:46:27 I guess I can use raw 21:46:37 *into a cat simulation 21:46:59 (Although in some channel the TOPIC command fails if you are not in.) 21:47:03 "You're not on that channel" 21:47:26 Y'know, both HackEgo and UMLBox have bug trackers X_X 21:47:29 (I think the mode +s might control that) 21:48:49 Gregor: i'm not sure that one counts as a bug, it was just wicked that somehow all my example runs conspired to hide the bug 21:48:58 *as a bug in HackEgo 21:49:28 also i have an irrational fear of bug trackers 21:51:06 I added a note in Internet Quiz Engine documentation that says you can make comments with #xxxxxxx to make a tagged comment which might be used with other programs for formatting, metadata, and other purposes. Internet Quiz Engine itself ignores them but other front-ends might use them. 21:52:00 `run echo example | fueue ')[)~~[)$--1[)~]<~~<)<[)$%0]][):]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[[49 33H])[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]]~[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~[[0]:[[0]<:[[0]<:]][50 33H])~!]]]]][))$11~<<~:(~:<][)[[48 33H])~[)[H]]~~!]!]' 21:52:03 example 21:52:07 `run echo -n example | fueue ')[)~~[)$--1[)~]<~~<)<[)$%0]][):]~[~~~~<)[)))~$([[)[~~~~()+1])][0]$%~~1)][]]~[[49 33H])[))$12~[:]<<$4~~~<[)$--1[$8~)$4<[)$$6-%0[)]]<]~)~:~]~[!~)~~[)[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]]<<[1)]]~[)~~[)$--1[)~]<~~<)<[)$$7--1]][~~~)%[~~)~:(+-)(~)+-1*256]+-~)255:]~[[0]:[[0]<:[[0]<:]][50 33H])~!]]]]][))$11~<<~:(~:<][)[[48 33H])~[)[H]]~~!]!]' 21:52:09 exampleeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 21:52:30 I guess I shouldn't even _mention_ the channel name here, lest someone gets tempted 21:52:36 Just one little click 21:52:41 So tempting 21:52:42 Sgeo: OK then don't mentioned 21:53:32 (Although depending on the client clicking it won't necessarily have any effect.) 21:54:55 So if you want to make other front-end for Internet Quiz Engine, for use with HTML, Android, DOS, Commodore 64, or whatever, then you can do if you want to, whether or not you want to use these tagged comments. 21:55:09 As other people have said, it's like a BIG RED BUTTON that says DO NOT PUSH 21:55:40 Sgeo: And you will want to take it apart to see how it is wired. 21:55:46 (Rather than pushing it) 21:58:09 Sgeo, what is it 21:58:19 i don't need your damn protection 21:59:29 If you start spreading it around to people maliciously, Freenode staff might look at me as suspicious 21:59:39 -!- oerjan has set topic: DO NOT PUSH | char*a,b[9999];main(){gets(a=b);while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} | a mutiny of clowns http://codu.org/logs/_esoteric/. 21:59:48 is the deal that joining it gets you k-lined? 21:59:57 yes 22:00:23 Although there are a lot of other people in the place where the name got exposed, so 22:00:25 I don't really like that, but that is what they do. 22:00:34 Also, we're discussing it here on public record, so 22:01:09 Told PH 22:01:09 -!- augur has joined. 22:01:32 wtf is the point of that 22:02:03 I think having such channel would cause many problems. 22:03:31 is it a dumb joke or something? 22:03:34 It has a simple name. I always thought those channels would have gibberish names 22:03:56 Phantom_Hoover, presumably if malware tries to use it for a botnet thing 22:05:20 There may be better ways to avoid such malware though? 22:05:45 I think that just preventing the channel from existing would work bette 22:05:47 better 22:05:51 autoban from channel on join 22:25:42 -!- TeruFSX has quit (Ping timeout: 276 seconds). 22:29:08 awww 22:29:17 google maps doesn't have streetview for norilsk 22:34:51 middle of nowhere 22:34:59 If I didn't have IRC or any other online chat, would I go insane from lack of talking to people? 22:35:10 There is no streetview from Luxembourg, and very many places from Germany; cf. https://dl.dropbox.com/u/113389132/Misc/20130210-streetview.png 22:35:12 `run echo 'fixed?' | fueue ')))~$([[)[~~~~()+1])][0]$%~~1)][)[)[~[0]~])][~!]][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:]][33] ' 22:35:13 maybe you would talk to some people in person 22:35:14 102 22:35:19 Is IRC in fact sufficient to prevent that sort of insanity? 22:35:27 `run cat /dev/null | fueue ')))~$([[)[~~~~()+1])][0]$%~~1)][)[)[~[0]~])][~!]][)[):[)$$7--1[)$3~[)$~!~~%~)]$2<[):]~:]~)~~[)~~~[~)~$7~~:~~([$3~)+[~~~<~()+48]~~~-)~10*)]/]--10):]]~[)[H]]~:]][33] ' 22:35:29 0 22:35:38 kmc, there's not much nowhere north of Norilsk, so IDK if it counts as the middle. 22:36:22 heh 22:36:24 fair enough 22:36:34 arctic ocean counts as nowhere 22:36:59 not any more, it has oil and gas! 22:36:59 google does have street view on the Dalton Highway 22:37:51 Sgeo, I'm sure one of the channel's many psychologists could help you, and would be only too happy to do so. 22:38:08 Google has "street"view from some coral reefs. http://maps.google.com/help/maps/streetview/gallery/ocean/ has links. 22:38:54 The process for contributing to Clojure and its contrib libraries is clinically fucking insane 22:39:07 -!- carado has quit (Ping timeout: 246 seconds). 22:39:13 I'm sure they'd also be glad to verify that for you. 22:39:14 http://clojure.org/contributing 22:39:29 "Download and print out the Contributor Agreement 22:39:29 If you hope to contribute via Clojure's projects (clojure and clojure-contrib), specify your GitHub username on the agreement. Please specify the name/email you use on the Google Group as well. 22:39:29 Sign the agreement 22:39:29 Send your signed agreement via postal mail to:" 22:40:17 why, exactly 22:41:06 `echo -n hm|fueue ')$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][)[)[~[0]~])][~!]][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][)[)[~[0]~])][~!]][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]])[))(($3~) 22:41:08 ​-n hm|fueue ')$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][)[)[~[0]~])][~!]][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][)[)[~[0]~])][~!]][))$11~<<~:(~:<]])[))(($3~)<(] 22:41:12 `run echo -n hm|fueue ')$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][)[)[~[0]~])][~!]][)$$6-%0[)][)$--%0[)$$6-%0[)][)[H]!][1)[)$%0[)$--%0[))$11~<<~:(~:<])[~~)<~~~(]])[):]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]])[~~)<~~~(]!][1)[)$--%0[)))~$([[)[~~~~()+1])][0]$%~~1)][)[)[~[0]~])][~!]][))$11~<<~:(~:<]])[))(($3~)<(]]])[)$--1[)~~~[)$4~[~):~~[~:~)~[)$$6-%0~~[$~])~]<~]<~<]$3~[)$~~~%~~)]<~(~~<]~~<<~[0]]<<<:]]])[))(( 22:41:14 bash: -c: line 0: unexpected EOF while looking for matching `'' \ bash: -c: line 1: syntax error: unexpected end of file 22:41:24 the fix made it too long :( 22:41:25 oerjan 22:41:26 query 22:41:29 is there 22:41:30 for a reason 22:41:36 I think they also added Svalbard recently; it's full of very enlightening imagery, such as http://goo.gl/maps/bt4ZN 22:41:49 ...i just want to demonstrate, oh well. 22:42:51 -!- DH____ has joined. 22:42:57 -!- DHeadshot has quit (Read error: Connection reset by peer). 22:45:47 "Your topic has been created and will appear after it has been approved." 22:46:06 I am starting to dislike the Clojure community 22:46:54 how about the dylan community 22:47:17 If they don't make me snail-mail a legal form to some guy, I'm happy 22:48:02 how about the ag^Hda community 22:49:15 Is the Ada community even particularly open-source oriented? 22:49:29 There's one notable OSS implementation, and the people behind it sell a proprietary version 22:50:41 http://clojure.org/file/view/ca.pdf 22:50:54 Is this thing asking to grant ALL my patents to Rich Hickey, or just relevant ones? 22:51:07 (Erm, not grant, but let him ... use...) 22:51:09 The wording is weird 22:51:18 they don't call him rich for nothin' 22:51:27 kmc can probably tell you why it's somethingist 22:51:52 If Rich is short for Richard, I can imagine he doesn't want to be called Dick Hickey 22:53:25 brilliant 22:54:42 * kmc spits out drink 22:59:23 -!- WeThePeople has joined. 23:02:23 -!- Zerker has joined. 23:19:26 -!- Zerker has quit (Remote host closed the connection). 23:28:05 -!- DH____ has quit (Read error: Connection reset by peer). 23:28:20 -!- DHeadshot has joined. 23:43:57 -!- DHeadshot has quit (Ping timeout: 256 seconds). 23:56:41 -!- Zerker has joined. 23:56:51 -!- Zerker has quit (Client Quit). 2013-02-11: 00:51:10 -!- DHeadshot has joined. 00:55:05 I wonder how we managed to make "primary school" and "secondary school" have more or less consistent meanings worldwide. 00:57:17 > 0o815 00:57:19 Not in scope: `o815' 00:57:36 > 0815 00:57:38 815 00:57:53 Like, it always refers to the stage of school where people are about 14 to 18 years old. 00:57:54 wtf is the octal syntax for haskell again 00:58:05 > 0o715 00:58:07 461 00:58:16 Moral of the story: don't use 8 in octal. 00:58:21 ....duh 00:58:28 > 0715 00:58:30 715 01:04:08 -!- DHeadshot has quit (Read error: Connection reset by peer). 01:04:13 -!- DH____ has joined. 01:18:13 -!- DH____ has quit (Read error: Connection reset by peer). 01:18:30 -!- DHeadshot has joined. 01:42:25 -!- TeruFSX has joined. 01:44:39 -!- DHeadshot has quit (Ping timeout: 256 seconds). 01:53:54 -!- ais523 has quit. 02:13:16 Hmm, Atheme (which Freenode uses) has a BotServ thing, but Freenode doesn't use it I guess? 02:13:20 * Sgeo wonders what it does 02:13:35 Also, what is the point of having ChanServ stay in channel? 02:13:48 Preserve topic in case channel empties out? 02:18:21 -!- Phantom_Hoover has quit (Quit: Leaving). 02:18:40 -!- Frooxius has quit (Remote host closed the connection). 02:18:59 -!- Frooxius has joined. 02:21:45 -!- DHeadshot has joined. 02:22:23 Sgeo: yes 02:23:25 -!- yhojeyisaac has joined. 02:23:34 -!- yhojeyisaac has left. 02:23:52 -!- yhojeyisaac has joined. 02:24:19 quien es hombre 02:24:57 quien is an anagram of quine. But quine is also an anagram of quine 02:27:38 donde esta la biblioteca 02:32:45 -!- yhojeyisaac has quit (Ping timeout: 252 seconds). 02:35:09 folk er så høflige mot spanjoler her i kanalen. 02:36:13 `wehlcohme yh 02:36:14 dangit 02:36:15 yhh: Wehlcohme to the ihntehrnahtiohnahl huhb fohr ehsohtehrihc prohgrahmmihng lahnguahge dehsihgn ahnd dehployhmehnt! Fohr mohre ihnfohrmahtiohn, chehck ouht ouhr wihki: http://ehsohlahngs.ohrg/wihki/Maihn_Pahge. (Fohr the ohthehr kihnd ohf ehsohtehrihca, try #ehsohtehrihc ohn ihrc.dahl.neht.) 02:36:39 ehxcehllehnt 02:46:30 `?hh oerjan 02:46:32 Youhr ehvihl ohvehrlohrd oehrjahn ihs a lahzy ehxpehrt ihn fuhtuhre cohmpuhtahtiohn. Ahlso a lyihng Nohrwehgiahn. 02:47:04 `? norwegia 02:47:06 norwegia? ¯\(°_o)/¯ 02:47:18 That country doesn't even exist, oerjan... 02:48:41 it's only visible to poles 02:49:15 the real norwegians got lost and found themselves in nearby norway 02:49:48 norby nearway 02:50:59 oerjan: The Hebrew name is "norvegya" or so. 02:51:37 if ya say so 02:51:52 Anyway it doesn't actually exist. 02:51:55 Denmark exists. 02:52:09 `?hh denmark 02:52:11 dehnmahrk? ¯\(°_o)/¯ 02:52:18 !!!!!!! 02:54:12 -!- yhojeyisaac has joined. 02:56:36 he's back! 02:56:41 `welcome yhojeyisaac 02:56:43 yes 02:56:44 yhojeyisaac: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 02:57:20 *¿¿¿si??? 02:58:42 -!- yhojeyisaac has quit (Quit: Leaving.). 02:59:17 i guess we all sounded like english to him 03:01:10 monqy: are you "in the pigworker fan club" 03:01:33 depends on what you mean by fan club but sure? 03:08:33 -!- yhojeyisaac has joined. 03:09:21 alguien que quiera tener una combersacion privada conmigo 03:13:24 -!- yhojeyisaac has left. 03:31:26 -!- yhojeyisaac has joined. 03:34:10 -!- yhojeyisaac has quit (Quit: Leaving.). 03:34:31 -!- yhojeyisaac has joined. 03:36:48 kmc: Do you know things about making a .s that can be linked with GHC-compiled code? 03:37:50 linked FFIishly? 03:38:13 No, I'm trying to make something compatible with GHC's "ABI". 03:38:26 -!- yhojeyisaac1 has joined. 03:38:32 (Which involves a .hi too, of course.) 03:38:40 -!- yhojeyisaac has quit (Client Quit). 03:39:15 -!- Arc_Koen has quit (Quit: Arc_Koen). 03:41:06 oh :( 03:41:06 then i don't know much about that 03:41:07 perhaps you should write it in Cmm instead of assembly 03:41:20 -!- yhojeyisaac1 has quit (Read error: Connection reset by peer). 03:41:25 -!- yhojeyisaac has joined. 03:44:34 -!- yhojeyisaac has left. 03:44:53 i mean, i knew a few things. i know about zenc name-mangling and i know where to find the STG -> machine ABI register mapping 03:45:16 i don't know anything about the structure of .hi files besides vaguely what kind of stuff is in them 03:45:24 -!- yhojeyisaac has joined. 03:45:49 -!- yhojeyisaac has left. 03:45:52 Hmm, I should probably find that mapping. All I have is a few notes I've written about that from looking at compiled Cmm files. 03:46:20 I compiled a .hs and am trying to make a .s to match it, but I think there are linking issues. 03:50:41 hm seems he gave up just as i was translating a suggestion he go somewhere else 03:54:46 Have you ever written a code which uses undefined/unspecified behaviours but in such ways which any result it will make is going to be working with your program? 03:55:49 i know that by definition undefined behavior in C doesn't work like that in principle 03:56:07 (it can do _anything_, not just different reasonable options) 03:57:31 It isn't meaning, in cases of undefined order of operation, it won't suddenly make the computer teleport to the moon instead? 03:59:11 that might depend on whether C considers undefined order of operations to be undefined behavior. (if you assign to the same variable in both parts it probably is?) 03:59:25 "undefined behavior" is a technical term. 04:00:05 e.g. x=x++ _is_ permitted to make the computer teleport to the moon, according the C standard. 04:00:47 Does the C standard specify that the computer doesn't normally teleport to the moon? 04:03:11 I doubt it, but I don't think that has to do with the programming language; that has to do with the computer. 04:06:54 -!- evincar has joined. 04:11:44 shachaf: The C standard does not otherwise specify things that have nothing to do with the state of the abstract machine. 04:12:00 pikhq: Right. 04:12:22 So a compliant computer could only *cease* teleporting to and from the moon on UB. 04:13:18 ^ord +-><[].,! 04:13:18 43 45 62 60 91 93 46 44 33 04:13:25 "Whereof one cannot speak, thereof one must be silent." 04:16:20 ^ord ()[]:Zz&|^$=>#.<-!+'\\/*_% 04:16:20 40 41 91 93 58 90 122 38 124 94 36 61 62 35 46 60 45 33 43 39 92 92 47 42 95 37 04:20:31 -!- monqy has quit (Quit: hello). 04:23:06 @ask monqy ???????? 04:23:06 Consider it noted. 04:48:26 hi shachaf. how's the categories understanding coming 04:48:57 what's a categories 04:49:48 it's all the confusing info patrick throws at you 04:50:16 ? 04:50:28 ???? 04:52:15 Currently I have implemented these functions for music in SQLRPGMAKER: MUSIC_PAUSE(), MUSIC_POKE(`ADDRESS` INTEGER, `DATA` INTEGER), MUSIC_RESTART(`TRACK` INTEGER), MUSIC_RESUME(), MUSIC_SELECT(`ID` INTEGER). Should I need anything else? Fading? Sound effect? Etc? 05:06:38 `fetch http://oerjan.nvg.org/esoteric/fueue/brainfuck.fu 05:06:44 2013-02-11 05:06:43 URL:http://oerjan.nvg.org/esoteric/fueue/brainfuck.fu [2382/2382] -> "brainfuck.fu" [1] 05:07:36 `run echo '>,[>,]<[.<]!!!!!AHAHAHAWM' | fueue "$(cat brainfuck.fu)" 05:07:38 ​ \ MWAHAHAHA!!!! 05:07:46 `run echo -n '>,[>,]<[.<]!!!!!AHAHAHAWM' | fueue "$(cat brainfuck.fu)" 05:07:48 MWAHAHAHA!!!! 05:07:56 pesky little newlines 05:10:07 * oerjan bows 05:14:39 * oerjan should time these things for better audience 05:16:18 helloerjan 05:16:32 Doesn't everyone logread anyway? 05:17:04 LET US HOPE SO 05:17:37 !bf_txtgen MWAHAHAHA!!!! 05:17:40 ​90 +++++++++++[>+++++++>++++++>+++>+<<<<-]>.++++++++++.>-.<---------------.>.<.>.<.>.>....>-. [728] 05:17:59 `run echo -n '+++++++++++[>+++++++>++++++>+++>+<<<<-]>.++++++++++.>-.<---------------.>.<.>.<.>.>....>-.' | fueue "$(cat brainfuck.fu)" 05:18:01 MWAHAHAHA!!!! 05:21:30 what is SQLRPGMAKER 05:21:50 oerjan: did you write bf in fu? 05:22:56 YES 05:23:10 well, in fueue 05:25:01 -!- TeruFSX has quit (Ping timeout: 245 seconds). 05:26:31 fueue is fu just as brainfuck is bf 05:27:30 OKAY 05:27:43 (i _did_ choose that for file extension after all.) 05:28:01 EXACTLY 05:28:39 helloerjan 05:28:44 hm... 05:29:11 `run echo '[testing error messages' | fueue "$(cat brainfuck.fu)" 05:29:13 Unmatched [. 05:29:21 `run echo 'testing error messages]' | fueue "$(cat brainfuck.fu)" 05:29:23 Unmatched ]. 05:29:31 `run echo '[testing error messages!again' | fueue "$(cat brainfuck.fu)" 05:29:33 Unmatched [. 05:29:38 good, good. 05:29:52 there's another one which is _supposed_ to be impossible to trigger. 05:30:12 hichaf 05:30:19 hi 05:31:38 zzo38: < quintopia> what is SQLRPGMAKER 05:32:45 Some game engine I am making in SQL 05:35:24 that seems like a strange place to write a game engine 05:35:25 i approve 05:37:18 If they are RPG computer games, then you will want a lot of database, that is why it is in SQL (someone else approved for the same reason). (Specifically, it is SQLite) 05:39:00 (But it can be used for other computer games too) 05:58:28 my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and "NEED MY HELP" etc. however, inviting me to a conference? such a nigerian thing to do. 05:58:51 Wow, square dollars? 05:58:59 i just checked my spam folder, 4 calls for papers, 1 spam. 05:59:35 and the reason i checked was that i just got this spam in my inbox and started wondering what's spam enough to *not* get in 06:00:08 admittedly these are crappy conferences about software development and such 06:08:41 I wonder how one uses square dollars. 06:09:42 `addquote my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and 06:09:45 "NEED MY HELP" etc. however, inviting me to a conference? such 06:09:46 962) my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and 06:09:48 a nigerian thing to do. 06:09:48 thank you irssi 06:09:54 `revert 06:09:57 Done. 06:10:11 `addquote my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and "NEED MY HELP" etc. however, inviting me to a conference? such a nigerian thing to do. 06:10:15 962) my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and "NEED MY HELP" etc. however, inviting me to a conference? such a nigerian thing to do. 06:12:50 Speaking of spam, I once got a spam that tried to look like one of those mails from automated svn "commit has happened" hooks. 06:13:05 bbl work 06:21:08 Vorpal: haha 06:21:12 `run echo -n ',[.,]!Hi oklopol' | fueue "$(cat brainfuck.fu)" 06:21:14 Hi oklopol 06:22:18 :O 06:22:48 2142728 looks like a familiar number 06:23:08 maybe just because of 142857? 06:23:18 hmm 06:23:19 i think i had it mixed up with 214748 06:23:34 errr what's that 06:24:11 > 2^31 `div` 10000 06:24:13 214748 06:26:22 oo 06:26:35 i don't go that far 06:31:22 1048756 should be enough for anyone 06:31:30 > 2^20 06:31:32 1048576 06:31:35 oops 06:31:51 i thought something was off 06:32:02 how nice 06:33:18 so 4.5.6, then you turn back and put .8.7. 06:49:41 -!- WeThePeople has quit (Quit: Leaving). 07:06:22 The WWYD (for "what will you discard") polls for the Reachmahjong games is sometimes labeled "Tungsten Tungsten Yttrium Deuterium". 07:13:05 yttrium is one of four elements named after the same small village in sweden 07:13:41 ytterbium, yttrium, terbium, and erbium 07:22:36 -!- azaq23 has joined. 07:22:45 -!- azaq23 has quit (Max SendQ exceeded). 07:32:28 -!- oerjan has quit (Quit: leaving). 07:36:34 -!- sebbu has quit (Ping timeout: 256 seconds). 07:37:34 -!- sebbu has joined. 07:37:34 -!- sebbu has quit (Changing host). 07:37:35 -!- sebbu has joined. 07:50:35 -!- zzo38 has quit (Remote host closed the connection). 07:57:23 -!- copumpkin has quit (Ping timeout: 252 seconds). 07:57:54 -!- copumpkin has joined. 08:10:02 -!- copumpkin has quit (Ping timeout: 252 seconds). 08:10:32 -!- copumpkin has joined. 08:24:55 oh, if your current working directory is on NFS and the directory is removed elsewhere you can get "cd: ..: No such file or directory" 08:26:30 You don't need NFS for that. 08:27:06 http://sprunge.us/YSdO 08:27:25 boring 08:28:10 Admittedly, though, that *was* actually on NFS. 08:28:15 You could also 'rm -r ../../a' there 08:28:34 htkallas@spa-ws160:~/tmp/a/b$ ls 08:28:34 ls: cannot open directory .: Stale NFS file handle 08:29:08 In zsh that makes me end up at the path "." (according to pwd) 08:29:19 It worked a bit differently on a non-NFS path: 08:29:34 http://sprunge.us/aPfb 08:30:25 qqqqqq 08:30:28 ok good 09:16:52 -!- Nisstyre-laptop has quit (Ping timeout: 256 seconds). 09:32:06 -!- epicmonkey has joined. 10:18:55 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de). 10:24:01 -!- ais523 has joined. 10:38:06 -!- ais523 has quit (Read error: Connection reset by peer). 10:38:20 -!- ais523 has joined. 10:40:20 -!- Phantom_Hoover has joined. 10:44:42 -!- DHeadshot has quit (Ping timeout: 256 seconds). 10:48:41 Someone on the Internet told me to choke on dick 10:48:43 dicks 10:48:55 I feel like I am finally an Internet citizen 10:53:27 thanks 11:08:30 I should really go back to sleep 11:24:45 -!- hagb4rd has joined. 11:34:17 -!- zzo38 has joined. 11:40:59 Sgeo: Go choke that person with a dick 11:59:24 The Pope's resigning 11:59:38 (How often do you get to say THAT?) 12:00:56 Apparently quite frequently around 1045 and the years after 12:03:38 weird 12:04:06 Do you mean the current pope, or the one before? 12:04:45 The current one 12:04:53 It takes effect later in the month 12:14:43 -!- noam_ has quit (Read error: Connection reset by peer). 12:15:19 -!- noam has joined. 12:22:39 maybe they'll go for someone less creepy this time 12:26:39 -!- Phantom_Hoover has quit (Remote host closed the connection). 12:28:52 -!- Phantom_Hoover has joined. 12:45:52 fungot, good morning 12:45:53 c00kiemon5ter: what is u? or y? :) i've played with ruby a little. i've been trying 12:46:02 -!- TeruFSX has joined. 12:49:37 ^style 12:49:37 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube 12:49:44 -!- carado has joined. 12:51:41 F : Dom F -> Cod F 12:58:21 -!- Arc_Koen has joined. 13:12:06 -!- zzo38 has set topic: DO NOT PULL | char*a,b[9999];main(){gets(a=b);while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} | a mutiny of clowns | http://codu.org/logs/_esoteric/. 13:13:38 -!- zzo38 has set topic: DO NOT PULL OR PUSH SIDEWAYS | char*a,b[9999];main(){gets(a=b);while(*a){a+=(b[*a]-=b[a[1]])?3:a[2];}puts(b+1);} | a mutiny of clowns | http://codu.org/logs/_esoteric/. 13:17:46 bad website design time http://www.constellation7.org/ 13:18:10 is that from #jesus 13:18:20 no 13:18:30 Saw it on hacker news 13:18:43 why do you read hacker news... 13:19:12 I was googling something else 13:20:31 once again Sgeo you deftly evade judgement 13:31:50 -!- monqy has joined. 13:32:27 -!- Gregor has changed nick to TwilightSpockle. 13:33:46 The topic reminds me of "TO PUSH IS ENOUGH", a sign on a classroom door. 13:35:45 -!- boily has joined. 13:38:45 -!- elliott has set topic: TO PUSH IS ENOUGH | http://codu.org/logs/_esoteric/. 13:38:57 -!- boily has quit (Client Quit). 13:40:35 -!- boily has joined. 13:41:25 -!- TeruFSX has quit (Ping timeout: 246 seconds). 13:41:54 -!- ais523 has quit (Read error: Connection reset by peer). 13:42:08 -!- ais523 has joined. 13:58:17 -!- zzo38 has quit (Remote host closed the connection). 14:21:48 -!- oklofok has quit (Remote host closed the connection). 14:37:46 "Geez you'd think with all those priests around you could find somebody able to cast cure light wounds." 14:51:24 -!- evincar has quit (Quit: Consciousness is terrible.). 15:00:23 -!- glogbackup has joined. 15:02:47 -!- glogbackup has quit (Remote host closed the connection). 15:04:22 -!- Mathnerd314_ has joined. 15:06:36 -!- fizzie` has joined. 15:07:07 -!- Mathnerd314 has quit (Ping timeout: 276 seconds). 15:07:07 -!- oonbotti has quit (Ping timeout: 276 seconds). 15:07:07 -!- fizzie has quit (Ping timeout: 276 seconds). 15:07:21 -!- olsner has quit (Ping timeout: 252 seconds). 15:13:28 -!- Taneb has joined. 15:19:34 -!- olsner has joined. 15:23:49 -!- glogbackup has quit (Remote host closed the connection). 15:24:13 Phantom_Hoover, you know how I'm completely incompetent at everything, and have a nasty habit of ruining my computer? 15:24:43 yes 15:24:51 a man after my own heart 15:24:57 I've ruined my computer again 15:25:48 oh dear 15:26:12 would you like me to direct you to the people i consult when i ruin my computer 15:26:14 I'm gonna order an actual graphics card 15:27:20 Here I go... 15:29:55 -!- glogbackup has quit (Ping timeout: 246 seconds). 15:31:46 is this the continuation of the chinese graphics card saga 15:31:51 Yes 15:32:01 It struck back 15:32:47 I think I have an idea for a language that I would love 15:32:54 It's probably completely impossible though 15:33:02 Is it Feather 15:33:08 More impossible 15:33:10 hitting a distinct galatea vibe here 15:34:48 perhaps the gods will be kind and implement it for you when you finish the spec 15:35:01 Phantom_Hoover: is oerjan a god? 15:35:58 I want people to come up with new idioms and all the old code that others wrote will magically work with it 15:36:16 i think even the gods would have trouble with that 15:36:40 As in, say language has conventional throw/try/catch, people use that, someone adds a condition system, suddenly all the old code works with it magically 15:36:43 Phantom_Hoover, yes 15:36:57 Taneb, somehow i doubt it 15:37:17 Phantom_Hoover: but... brainfuck in Fueue! 15:37:59 -!- glogbackup has quit (Remote host closed the connection). 15:38:12 he's probably one of them trickster-gods if anything 15:40:29 -!- copumpkin has quit (Ping timeout: 252 seconds). 15:41:00 -!- copumpkin has joined. 15:54:53 " It is totally acceptable for the weaker (and through extension less intelligent) to die, otherwise it would not happen every day" 15:55:04 Where is Punching over IP? 15:55:06 I need it 15:55:14 -!- glogbackup has quit (Remote host closed the connection). 15:55:35 why waste your effort 15:55:52 just ignore them and hope for their sake that they grow out of it 16:06:13 Taneb: was oerjan succesful? 16:06:38 It's on the wiki, so I presume so 16:07:36 you know how the example programs on that page go 16:07:48 starting with "hey look I got an empty program, it's almost a cat" 16:08:02 then "I can print Hello World! and then halt" 16:08:18 then "I've got an infinite loop, but it doesn't do anything" 16:08:31 and then oerjan steps in 16:08:54 :D 16:09:59 -!- glogbackup has quit (Remote host closed the connection). 16:10:23 Now, brainfuck in eodermdrome 16:10:30 Go oerjan go 16:10:30 Sgeo: actually that sounds a lot like Feather :) 16:10:41 with the retroactively adding language features thing 16:10:55 hm 16:11:16 FreeFull, could work. 16:11:33 Yes, but also retroactively making old code use it? 16:11:57 Don't think you have to use duplication for it, which is the trickiest thing in eodermdrome. 16:13:05 Sgeo: I don't think it'd rewrite the old code to be more idiomatic 16:13:12 that does indeed sound quite difficult 16:13:28 in order to get a start on it, I guess the language should have a bytecode compiler and a decompiler that tries to infer the idioms 16:13:33 Maybe not rewriting, but just making it interoperate with the new idiom fully... which still sounds difficult 16:13:35 -!- glogbackup has joined. 16:14:01 something along the lines of "add exceptions, now all existing code is rewritten to be exception-safe" sounds more possible 16:14:01 i'm pretty sure Sgeo's ideal language is either superturing or logically inconsistent 16:14:04 very difficult, still 16:14:10 but it's quite similar to what I do in my day job 16:14:27 the nice thing is, for every new language feature you actually get to work, you can write an entire academic paper about how :) 16:14:45 * Sgeo suddenly wants a job like ais523's 16:14:50 Designing stuff and writing papers 16:15:06 Sgeo: it doesn't pay very well 16:15:26 also it's coming to an end this year, but I should be able to use the experience to get another better-paying one in the same field 16:15:26 ais523: just have to prove something for wolfram every few years 16:15:43 (this is the same sort of sentence as "I should go to KFC some day", btw) 16:15:43 though I hear he usually doesn't pay people for that 16:15:54 ais523: what sort of sentence is that 16:16:03 elliott: where "some day" refers to a particular day 16:16:08 rather than just being a variable 16:16:25 btw, does Emmental remind anyone else of Splinter? 16:17:32 Link to Splinter? 16:17:36 ais523: ah, so there is a specific job? 16:17:45 elliott: at least one, that I have in mind 16:17:48 Sgeo: http://esolangs.org/wiki/Splinter 16:17:58 I heartily recommend adding a macro in your IRC client to easily link people to things 16:18:03 also, the Esolang search box to your browser 16:18:30 -!- glogbackup has quit (Remote host closed the connection). 16:18:37 * Sgeo wasn't sure if it was an esolang or a real language 16:19:07 I should write an esolang at some point 16:19:24 Besides my boring ones 16:19:45 -!- ais523_ has joined. 16:19:45 -!- ais523 has quit (Remote host closed the connection). 16:19:46 -!- ais523_ has changed nick to ais523. 16:20:41 Sgeo: would it be a good esolang 16:20:42 considering the current span of all esolangs that have been noted down, is there any niche out there left to be discovered, exploited, maimed, tortured and obfuscated? 16:20:56 boily: yes 16:21:47 boily: almost certainly yes 16:21:52 they just get harder to find as time goes on 16:22:08 like, it took me around a year of thought to find Underload, probably 16:22:19 A language that compiles to x86 where the compiler's source makes no deliberate reference to x86 code? 16:22:47 (The compiler would of course be written in that language) 16:23:12 now you're trying to make me work out if a metacircular compiler is an actual concept 16:23:13 -!- Phantom__Hoover has joined. 16:23:28 I guess it'd need the ability to compile at runtime, like Perl 16:23:33 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 16:23:43 Sgeo: did you see the latest turn in the Chinese Graphics Card tale? 16:23:49 Taneb, no 16:24:04 Basically, I stupid'd again, and have ordered an actual graphics card 16:24:11 yay 16:24:23 make sure you don't ask elliott for advice 16:24:25 Taneb: I somehow missed this tale 16:24:49 ais523: I tried to upgrade my graphics card driver on day 16:24:54 Things went a little wrong 16:25:02 So I asked for help in #ubuntu-steam 16:25:02 which OS? 16:25:06 Ubuntu 16:25:13 oh, I can sort-of see where this is going 16:25:13 Because I was trying to get Steam working 16:25:20 #ubuntu is kind-of random in the quality of help it gives 16:25:27 They couldn't help me, and redirected me to #nvidia 16:25:31 I expect #ubuntu-steam is similar, except full of gamers 16:26:10 After talking to someone in #nvidia for a bit, sending photos of my graphics driver 16:26:11 (which is not necessarily a bad thing) 16:26:16 *graphics card 16:26:24 It turns out that my graphics card was bootleg 16:26:35 And an old model disguised poorly as the new one 16:26:45 good 16:26:48 is the rest of your computer bootleg too? 16:26:55 I believe not 16:27:09 I bought all the parts separatley 16:27:14 is Taneb itself bootleg? 16:27:46 -!- cuttlefish has joined. 16:27:58 I'm a story about the prohibition of chocolate 16:28:24 waht 16:28:36 ~metar CYUL 16:28:40 CYUL 111605Z 35006KT 5/8SM R06L/2000FT/N R06R/2200FT/N -SN BR VV003 M07/ RMK SN8 16:28:45 -!- glogbackup has quit (Ping timeout: 252 seconds). 16:28:57 ~help 16:28:57 --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi 16:29:01 ~duck Bootleg 16:29:02 The term bootlegging originally came from black people being cheep and drinking alcohol in the legs of boots. 16:29:07 ~duck Bootleg story 16:29:09 --- No relevant information 16:29:16 what's this 16:29:17 the weather lies! no way it's -SN now. 16:29:24 ~duck bootleg 16:29:25 The term bootlegging originally came from black people being cheep and drinking alcohol in the legs of boots. 16:29:35 http://en.wikipedia.org/wiki/Bootleg_(TV_serial) 16:29:47 "cheep" 16:30:14 What information does primitive + need to know? 16:30:29 It needs to know how to add. It needs to know how to compile itself. 16:30:30 Hmmm 16:32:08 `addquote I'm a story about the prohibition of chocolate 16:32:15 963) I'm a story about the prohibition of chocolate 16:32:16 the best part about that quote is, there /isn't/ any context 16:32:19 ais523, what sort of information can be hidden in a Trusting Trust style manner? 16:32:45 THat's really what's making me think about this 16:32:53 There's actually context 16:32:56 -!- epicmonkey has quit (Ping timeout: 245 seconds). 16:33:01 Just it's a stupidly obscure reference 16:33:03 Sgeo: well that attack stops working as soon as someone writes a second compiler, but if you trusting-trust a strong AI into your compiler, pretty much anything 16:33:18 (until someone recompiles it with a different compiler that it didn't compile in the first place) 16:33:35 (the "it didn't compile in the first place" isn't normally necessary, but it is if you suspect there's a strong AI in there) 16:33:57 I think in this case, trusting trust is not an "attack", but the implementation strategy 16:34:18 i prefer to err on the safe side and always suspect there's a strong ai in my compilers 16:34:54 Taneb: oh wow i think i actually saw this 16:34:56 it might be possible, because it wouldn't need to be a very /good/ strong AI 16:34:58 when i was younger 16:35:13 you might be able to get away with just a bunch of heuristics 16:35:18 wasn't that an episode of the simpsons 16:35:25 Phantom__Hoover: that was sugar 16:35:29 strong AIs are easy to write if you don't mind them being really bad at their jobs 16:35:42 And alcohol in a different episode 16:35:50 There's an anime called Chocolate Underground 16:36:27 there's a book called the chocolate war, isn't there 16:36:37 i hear it's soulcrushing 16:36:40 did you know: there's a food called chocolate 16:36:51 `quote 16:36:52 `quote3 16:36:53 29) Or the brutal rape of the English language! That wasn't rape. English is always willing. 16:36:54 `quote 16:36:54 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: quote3: not found 16:36:55 `quote 16:36:56 297) esperanto is just spanish with a diarrhea 16:36:57 `quote 16:36:57 782) i have a simple view of reality that goes something like this.. once your sufficiently well tied up.. it doesn't make a difference if your enemy has a knife or a gun.. you're equally screwed 16:36:58 `quote 16:36:59 614) oh my god that is one ugly solution beautiful 16:37:00 339) hey fhet's zeees OouooH SNEP IT'S A FOooCKING TIGER 16:37:02 http://www.youtube.com/watch?v=uzIs1epLEdc 16:37:21 elliott: delete 297 or 339? 16:37:37 339 16:37:48 339 16:38:32 That looks quite a bit different from the book 16:38:54 -!- ais523_ has joined. 16:38:57 -!- ais523 has quit (Disconnected by services). 16:38:58 -!- ais523_ has changed nick to ais523. 16:39:09 `delquote 29 16:39:14 ​*poof* Or the brutal rape of the English language! That wasn't rape. English is always willing. 16:39:28 elliott: I can live with that 16:39:33 DELETED UNDER GROUNDS OF: (a) did I actually say that; (b) it's stupid 16:39:58 29 is also a good choice 16:40:02 `pastlog brutal rape of the 16:40:30 2010-05-03.txt:01:00:52: 46| Or the brutal rape of the English language! That wasn't rape. English is always willing. 16:40:43 btw, is 782 meant to be a BF Joust reference? because that's how I interpreted it 16:41:00 are you new to itidus21 16:41:19 -!- glogbackup has quit (Remote host closed the connection). 16:41:37 is it funnier if you imagine it's one of iti's aimless blunderings in the world of sex 16:42:40 elliott: no but I haven't been paying much attention to him in particular 16:42:43 `pastequotes itidus 16:42:50 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.20847 16:44:14 seeing them all at once 16:44:17 it's too much 16:44:46 apparently he's... still online? 16:45:00 wow every single one of itidus' quotes is amazing 16:45:01 must've gotten bored 16:45:11 Phantom__Hoover: did you forget the part where you drove itidus off 16:45:18 shit was that me 16:45:37 -!- glogbackup has joined. 16:46:06 oh is that what happened to him 16:46:26 `quote 539 16:46:28 539) I think this has taught us one thing. We can't teach itidus20 lambda calculus by comittee 16:46:32 not an itidus quote, but it's awesome 16:47:15 647 is pretty good too, though 16:47:25 Expected type: Ehh t t1 -> (Dom t1 (t % x) (t % x) -> r) -> r 16:47:25 Actual type: Ehh t t1 -> (Dom t1 (t % x0) (t % x0) -> r) -> r 16:47:29 can someone please fix my GHC 16:48:21 ehh 16:48:40 x and x0 might be different types, though 16:48:52 ais523: no they're totally polymorphic 16:49:05 this is a stupid type family problem 16:49:15 monqy: I called it Ehh because I was a bit upset about having to define it in the first place 16:49:44 elliott: o.o 16:49:51 That looks like a weird type error 16:50:16 ScopedTypeVariables? 16:50:28 elliott: this reminds me of SCC inference, where sometimes in Verity a program will fail to compile because program transformations changed the definition of "polymorphic" 16:50:41 Taneb: no, it's not that simple 16:50:46 so far, the error's only happened on intentionally contrived examples, and programs which were incorrect anyway 16:50:49 Just applied to a fun sounding job 16:51:01 newtype Ehh f = Ehh (forall x. Blah (Foo f x)) 16:51:04 Seems like it would involve writing training documentation and teaching people things 16:51:04 :D 16:51:05 out :: Ehh f -> Blah (Foo f x) 16:51:10 out (Ehh x) = x 16:51:14 the problem is you can't do this 16:51:15 Sgeo: are you actively seeking out a job atm? or do you just apply to jobs for fun? 16:51:15 where Blah is anything 16:51:17 and Foo is a type family 16:51:26 ais523, actively seeking out a job 16:51:27 because GHC's handling of type families is kind of bad 16:51:28 actually applying to jobs for fun sounds like a great idea if you have time to spare 16:51:41 except it might make it hard to get a job if you get a reputation for applying to jobs then turning them down 16:51:48 -!- glogbackup has quit (Ping timeout: 264 seconds). 16:51:57 Although I'm still vacillating between getting a job and going to grad school 16:52:06 I want to not need to deal with my dad as soon as possible :/ 16:52:20 Although he did say he'd give me an allowance if I went to grad school 16:52:22 >.> 16:56:07 do you know what you want to do with grad school 16:56:33 Not really 16:56:45 Computer Science 16:57:04 But ... why, I guess, is the question. Would I have an opportunity to design a language? 16:57:04 -!- glogbackup has quit (Ping timeout: 246 seconds). 16:57:23 Sgeo: if you're going to do a graduate degree, the difficulty is finding a good supervisor who knows problems to work on that you could complete and would be useful 16:58:01 Sgeo: grad school sucks with the wrong advisor 16:58:22 be prepared to switch or quit 16:58:25 I've ended up designing several languages as a result of what I've been doing; most of them are mathematical abstractions, some would be a pain to write in (e.g. affine ICA), only one of them is a "real programming language", and it's Verity, which very much feels like an academic language 17:00:01 btw, 794 works better when you know that there's a brand of cola called ubuntu 17:00:15 I don 17:00:19 what is 794 17:00:26 I don't even know who I could talk to at the school to start with anything 17:00:32 ais523: thats the context 17:00:34 `quote 794 17:00:36 794) ubuntu is the solaris of the cola world 17:00:37 elliott: I guessed 17:00:43 Sgeo: interesting/useful languages that will get you publications are more like things that fall out of a need or niche or something than something you can just decide to design 17:01:03 Sgeo: also if you want to get funding for it, you need to have a pretty good track record 17:02:18 -!- glogbackup has quit (Ping timeout: 252 seconds). 17:02:39 track record? 17:02:52 Sgeo: if there's an interesting problem you want to explore maybe you can design a language around that, but if you have an idea already........... 17:04:11 So, for that metacircular compiler idea, would it be cheating to do something other than x86 17:04:22 Say, Ngaro VM? 17:04:24 I'm still not convinced "metacircular compiler" makes sense 17:04:35 whats ngaro vm 17:04:36 although I'd be happy for elliott to tell me whether it does or not, he probably knows 17:05:34 http://rx-core.org/docs/The_Ngaro_Virtual_Machine.html 17:08:44 ok now whats cheating 17:09:13 I don't know 17:09:22 ok 17:09:28 I'm still not convinced I know what a metacircular compiler is 17:09:38 it'd have to compile a language into itself 17:09:39 Still needing an interpreter to run the compiled thing feels... cheating-ish somehow, but seems saner than trying to learn x86 17:09:44 and then compile that with an existing compiler 17:09:52 and yet compiling a language into itself is normally kind-of easy 17:10:03 ais523, presumably, there'd be a bootstrapping compiler at first which then gets discarded 17:10:16 no, then it isn't metacircular 17:10:18 it's just a compiler 17:10:37 -!- glogbackup has quit (Remote host closed the connection). 17:10:52 sgeo is this just about you want to write a compiler but don't want to learn x86 so you're writing it really silly 17:10:58 So it can't start off non-metacircular then become metacircular? Does the fact that C compilers weren't originally written in C hampers the names it can be given? 17:10:58 @time Taneb 17:10:59 Local time for Taneb is Mon Feb 11 17:10:58 2013 17:11:15 I don't have a clock 17:11:22 "metacircular" doesn't just mean "written in the same language it's implementing" 17:11:54 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de). 17:12:38 Ok, this is what I want: The compiler for language ?? is written in ??. The compiler contains no code that directly corresponds to the target platform. That is, the source code for the compiler does not mention the assembly or machine code for +, for example 17:12:58 Rather, somehow + is a primitive that knows how to compile itself as well as add 17:13:06 sounds like Forth 17:13:10 except not really 17:13:31 The information for what constitutes addition should be trusting trusted somehow 17:13:44 my first thought would be that the compiler has access to its own compiled form 17:13:51 Ditto 17:13:55 huh, if it's /really/ trusting trusted 17:14:01 then there's no need for the language to even have I/O 17:14:07 and uses this to deduce 17:14:18 although, in that case, the semantics of the language and the compiler would basically be entirely disjoint 17:14:19 somehow what it's compiling to 17:14:23 so how can you call it a compiler for the language? 17:15:27 I think I have a tarpit version of the idea 17:15:29 -!- glogbackup has joined. 17:15:45 a language X which, given any program, ignores it and outputs a language X compiler 17:15:53 actually, that's known as a quine 17:15:55 reminds me of brainbrain 17:16:31 elliott: good reference 17:16:45 actually I'll write this esolang up, because it's hurting my head (in a good way) 17:16:59 on the joke languages list, of course 17:17:11 a... quinepiler? 17:17:18 quiler 17:17:21 ais523: call it Quiler 17:17:25 OK 17:17:32 quiler sounds like a web 2.0 startup 17:17:55 Does this count as me helping create a language? 17:18:03 -!- glogbackup has quit (Remote host closed the connection). 17:18:09 Also, I do want a less tarpitty version, but will wait to see the writeup of this 17:20:00 ...I think some Smalltalk person has worked on ... something similar to what my idea would be if extended into usefulness 17:22:37 -!- augur has quit (Remote host closed the connection). 17:23:42 Hum. 17:24:03 -!- glogbackup has quit (Remote host closed the connection). 17:24:13 I don't think it's cheating to do something like binary(+) and get the x86 code out from that, right? 17:24:32 If the compiler uses binary() calls but doesn't contain the actual binary code explicitly... 17:24:57 I pretty much have to be able to do that, I think 17:25:32 yes, although idk if that's a particularly elegant way of doing so 17:25:39 What, the syntax? 17:26:03 Syntax just quick way of joting thoughts down, not concrete yet 17:26:09 Probably code{+} makes more sense 17:26:23 i mean conceptually 17:26:24 code{1+1} is a binary blob containing the code that gets inserted for 1+1 17:26:41 I don't think it's avoidable 17:26:41 compile(program) = print code{$program} 17:26:56 The compiler has to be able to emit the code somehow 17:26:57 metaitmceaulciualr compierls 17:27:31 -!- ais523 has quit (Ping timeout: 245 seconds). 17:28:33 Could just be a command saying "Compile this code into the program I'm compiling", and block programs finding out at runtime what the binary code is, but that seems icky 17:29:33 btw what are you doing and why. i'm trying to figure out if this is a thought experiment or an xy problem gone horribly wrong 17:29:42 Both 17:29:45 ah 17:29:53 I think it could make writing compilers easier somehow? 17:30:11 good luck 17:34:51 -!- ais523 has joined. 17:35:08 btw, I made a mistake, it's not output only 17:35:11 Sgeo, challenge, make this work without assuming a von neumann architecture 17:35:12 it takes input, just doesn't do anything with it 17:35:45 OK, here we go: http://esolangs.org/wiki/Quiler 17:35:51 IMO it's more interesting than over half the joke languages 17:35:53 not that that's hard 17:36:51 I read that as “Quitler” for some reason. 17:37:26 -!- monqy has quit (Quit: hello). 17:38:04 "Surrender now, at my moment of triumph!? I'm Hitler, not Quitler!" 17:39:03 -!- epicmonkey has joined. 17:39:11 Could not deduce ((forall x1. Dom g (f % x1) (f % x1)) 17:39:11 ~ Dom g (f % x) (f % x)) 17:39:15 WHY WHY WHY WHY WHY WHYW HYW 17:40:19 I have an idea for a usable version 17:40:23 ais523: please kill me to death. ty 17:40:28 Although it makes the compiler too simple to write, I think 17:40:50 Also, it's a Brainfuck derivative 17:40:57 * Sgeo runs from Phantom__Hoover very, very fast 17:42:03 > ord '+' 17:42:05 43 17:42:12 !text2bf + 17:42:51 Well, "too simple" as in the source code is simple 17:43:01 Creating an actual compiler is trickier than writing the source code 17:43:45 especially in BF 17:44:05 Sgeo: actually, did you see Gregor's IOCCC entry? the only reason it doesn't fulfil your definition is that it implements the wrong language 17:44:24 ais523, I think I have seen it but forgotten everything about it 17:44:46 dc JIT 17:44:52 -!- Mathnerd314_ has changed nick to Mathnerd314. 17:44:59 Criss-platform 17:45:02 *cross 17:45:50 haaaaaaaaah it works 17:45:52 it works!!! 17:45:58 joinAM :: forall f g x. (Adjoint f g, Cod g ~ (->)) => AM f g (AM f g x) -> AM f g x 17:46:02 joinAM m = AM $ \f g o -> case eps f g of 17:46:04 Nat _ _ trans -> 17:46:07 let o' :: Dom g (f % x) (f % x) 17:46:09 o' = case o of Ehh o' -> unsafeCoerce o' -- work-around stupid type family behaviour 17:46:12 in (g % trans o') $ runAM (fmap (\(AM m') -> m' f g o) m) f g o 17:46:45 I have no idea how Gregor's entry works 17:47:00 elliott: that looks uglier than my average code 17:47:07 Is it Trusting Trust based? If not, I don't see how it matches... 17:47:27 Or... I'm confused 17:47:45 !txt2bf + 17:47:51 the list monad from adjoint functors in Haskell: http://sprunge.us/Zcig 17:47:55 What's the text2bf thing here? 17:47:58 ^help 17:47:58 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 17:47:59 (+ an awful lot of support code) 17:48:05 !help 17:48:05 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 17:48:09 oops, I omitted Mon 17:48:10 !bf_txtgen + 17:48:14 ​33 +++++++[>++++++>+>><<<<-]>+.>+++. [37] 17:48:28 Uh, that has two dots in it 17:48:53 redux: http://sprunge.us/fGjC 17:48:59 Also I don't want to output 17:49:14 Hmm, instead of initial idea, I could 17:49:20 all you philistines 17:49:22 ais523: appreciate please 17:49:25 Wait, no, I can't 17:49:31 elliott: that's an... unusual Functor 17:49:34 even though I didn't write most of that and also that's not the hard part 17:49:51 Taneb: 17:49:56 class (Category (Dom f), Category (Cod f)) => Functor f where 17:49:59 type Dom f 17:50:01 type Cod f 17:50:03 type f % x 17:50:06 (%) :: f -> Dom f x y -> Cod f (f % x) (f % y) 17:50:07 elliott: err, I haven't looked at it yet, I'm busy 17:50:12 Okay 17:50:21 Taneb: the problem is that the functors you need aren't endofunctors (Hask -> Hask) like the standard Functor gives you 17:50:32 they are (Hask -> Mon) and (Mon -> Hask) 17:50:41 the Category is custom too 17:50:51 class Category c where 17:51:01 dom :: c x y -> c x x 17:51:03 cod :: c x y -> c y y 17:51:05 (.) :: c y z -> c x y -> c x z 17:51:12 -!- sebbu has quit (Ping timeout: 264 seconds). 17:51:37 Ok, so, my idea is basically Brainfuck with an added command ; 17:51:43 What is Mon? Monad? 17:51:47 The first invocation of ; marks the memory position 17:51:55 FreeFull: Mon-oid 17:51:55 (%) :: FreeMon -> (x -> y) -> Mon [x] [y] 17:52:13 it is the category of monoids 17:52:25 The second takes all the data between the first and second memory position, and outputs the target code to compile what's in the thing 17:52:46 Or maybe ; just means output the source for current memory position character 17:53:05 Also! Completely irrelevant thing I was thinking of today 17:53:20 here's how you get the state monad: http://sprunge.us/bIbO 17:53:24 [,;] is a compiler for this language 17:53:26 A function such that its third derivative is equal to itself 17:53:28 Sgeo, mm 17:53:31 don't like it 17:53:49 essentially because you still have to have the original compiler 'on hand' for it to work 17:54:00 Taneb: I can think of one where the fourth is 17:54:05 But not the third 17:54:09 Phantom__Hoover: comeo n appreciate 17:54:14 FreeFull: I can do first, second and fourth easily 17:54:21 I think I can figure out third 17:54:35 Phantom__Hoover, not sure of that 17:54:49 First is e^x, fourth is sin x or cos x 17:55:05 Sgeo, i think if you can, like, retrieve the source of a suitable set of primitives? 17:55:10 Phantom__Hoover: come on appreciate 17:55:16 elliott, appreciate what 17:55:32 Phantom__Hoover: the code!!! 17:55:43 Second would be e^(-x) I think 17:55:47 Phantom__Hoover, I don't know how to make a good "retrieval" operation in brainfuck 17:55:50 Outputting's easier 17:56:06 But anyway the C code that ; emits would have to be a quine, I think 17:56:17 Taneb, e^((-1)^1/3)x 17:56:22 uhhh 17:56:26 that should be 1 17:56:28 not -1 17:56:30 I'm assuming that we're targetting C 17:56:33 Because that's easy 17:56:41 Although targetting x86 would be better obviously 17:57:27 Phantom__Hoover: The cube root of 1 is 1 though 17:57:53 But users of ; should explicitly NOT rely on the result except that that's the appropriate code to compile into the program 17:58:01 FreeFull, the /real/ cube root of 1 is 1 17:58:08 oh well if they shouldn't then of course nobody will 17:58:26 -!- sebbu has joined. 17:58:27 -!- sebbu has quit (Changing host). 17:58:27 -!- sebbu has joined. 17:58:52 Phantom__Hoover: Oh wait, you're right 17:58:58 But you didn't specify which cube root 17:59:23 Phantom__Hoover: I'm making it nicer, hang on 17:59:49 yeah, you want one of the imaginary cube roots of 1 18:00:07 i'm sure you can find a general form with differential equations but my opinions on differential equations can't really be coherently put into words 18:00:39 Although maybe Brainfuck is not the best host language for this 18:00:45 Do they compare with your opinion on people who write brainfuck derivatives, Phantom__Hoover? 18:00:52 Phantom__Hoover, do you think I should keep trying to make BF fit as a language for this thing, or try another? 18:01:03 "ph should i make a bf derivative" 18:01:58 -!- ais523 has quit. 18:02:40 Sgeo, have you considered stuff like sbcl 18:02:50 i feel like it's relevant but i can't be bothered to work out how 18:02:58 e^((-e^((i*pi)/3))*x) ? 18:03:49 e^0.5x * cos (x * sqrt 3 / 2) 18:03:49 I think 18:04:10 I'm wrong but don't know how 18:04:15 FreeFull, the reason i wrote it the way i did was because i couldn't be bothered working out where all the (s and ^s went 18:04:16 Which means it's dinner time 18:04:18 thank you 18:04:39 -!- augur has joined. 18:05:30 What's the differencial period of e^-x + sin x ? 18:05:35 Phantom__Hoover, well, I doubt that actually approaching things the way I'm trying to approach them is at all a good idea for maintainability or portability 18:05:57 FreeFull, 4 18:05:58 obv. 18:06:08 Oh yeah, right 18:06:11 Sgeo, i mean the overall compilation model 18:08:19 * Sgeo changes the language a bit 18:08:29 ; on 0 outputs a prelude if needed 18:08:30 ;+[,;] 18:08:54 Wait, that's broken 18:10:28 -!- dessos has joined. 18:12:56 "The main point of divergence at the time was a clean bootstrapping procedure: CMUCL requires an already compiled executable binary of itself in order to compile the CMUCL source code, whereas SBCL supported bootstrapping from - theoretically - any ANSI-compliant Common Lisp implementation." 18:14:39 An interesting excersize is to write, in this language, a compiler for a different language, with similar semantics except + and - flipped around 18:15:09 Beyond flipping + and - before sending it to ;, ; itself needs to be guarded such that it sees the flipped - and + 18:16:12 How many machine code quines are there? 18:17:46 'machine code quine' is a bit of a vague concept 18:18:09 Phantom__Hoover: why? 18:18:22 Phantom__Hoover, yeah, I am getting visions of image based Lisps 18:18:23 do you have to output the executable file? or the actual data in memory? 18:18:39 For these purposes presumably the executable file 18:19:54 -!- SirCmpwn has quit (Excess Flood). 18:20:34 CMUCL before SBCL split sounds similar to what I want, really 18:20:42 Does what I want count as a metacircular compiler? 18:22:42 you should call it MetaMuCL 18:23:16 -!- NihilistDandy has joined. 18:24:55 -!- SirCmpwn has joined. 18:25:01 I don't get it, except being similar in name to CMUCL 18:26:06 Anyone using Mozart on OS X? I'm trying to get it to use Cocoa Emacs over Aquamacs and google is failing me, so far. 18:28:30 Ok, so ; on one should be a postlude 18:28:37 So, the compiler looks like 18:28:49 ;,[;,]+; 18:30:49 what language is that? 18:31:21 Ae^x + e^(-x/2)(Bcos((x*sqrt 3)/2) + Csin((x*sqrt 3)/2) 18:32:03 nortti, language with no name yet 18:32:06 Any function of that form is its own third derivative 18:33:02 nortti, but, tl;dr: compiler for the language written in the language does not contain code in target language 18:33:31 For intsance, e^(-x/2) * cos (sqrt 3 * x / 2) 18:33:51 (where A = C = 0; B = 1) 18:33:57 Is its own third derivative 18:34:07 The actual code to be emitted must be Trusting Trust'ed into the compiler 18:36:49 Oh, neat, I just had a lie significantly with symlinks. I hope nothing breaks. 18:36:55 lie? 18:37:37 Had to call Emacs Aquamacs and the Emacs app bundle Aquamacs.app 18:37:52 Oz doesn't seem to care so far. 18:38:58 -!- NihilistDandy has quit (Quit: Textual IRC Client: www.textualapp.com). 18:39:25 Hmm, I think I need to think whether what I want is actually possible in the language I described 18:42:00 I should be able to, in a few steps with the language, write a compiler for a language that's identical except - and + flipped 18:42:13 ;,[;,]+; should also serve as a compiler for that language, written in that language, too 18:44:05 Wait, no it shouldn 18:44:07 shouldn't 18:44:10 It would be ;,[;,]-; 18:45:56 I'd like to know what those commands do 18:47:02 It's Brainfuck with an additional operation ; 18:47:22 gj Sgeo 18:47:28 what does ; do? 18:47:47 Say you have the Unicode codepoint for + in memory 18:48:02 Then ; at that position will output code to do + in some language 18:48:12 Let's say the target is machine code. ; then sort of compiles the + 18:49:02 ; on 0 emits a prelude if necessary. ; on 1 emits a postlude if necessary 18:50:01 http://blog.wolfram.com/2013/02/11/announcement-our-first-cbm-country/ 18:50:03 wolfram 18:50:06 you motherfucker 18:50:29 nortti, does this make sense? 18:50:50 This means that the code that knows how to turn + into machine code is not in the compiler 18:51:00 yeah 18:51:26 Phantom__Hoover: that bastard, choosing Estonia 18:54:18 -!- jix has quit (Quit: leaving). 18:54:39 -!- jix has joined. 19:03:03 Ok, I see how to make the + - flip 19:03:07 But it's... very... 19:03:12 Would result in verbose target code 19:03:19 Permanently from that point on 19:03:29 But I guess that that's not necessarily a terrible thing? 19:05:00 Python is probably an unusually bad language to target 19:08:25 You know what would be a good language to target? Some implementation of Common Lisp 19:08:46 Maybe 19:11:29 What should I call this language? 19:11:31 Trustfuck? 19:12:00 how about base it on underload instead 19:12:27 As in instead of Brainfuck, or as a target language? 19:12:41 * Sgeo looks at Underload 19:12:58 Oh right that one 19:12:58 Hmm 19:13:38 So, a command that takes the top element of the stack and puts on the stack the target code? 19:14:47 Do we still want to ... wait 19:15:01 Is Underload even compilable? 19:15:07 Without including an Underload interpreter? 19:15:21 * Sgeo glares at elliott 19:15:22 in times of doubt, uncertainty and generic undecisiveness... 19:15:24 ~yi 19:15:25 Your divination: "Great Exceeding" to "Small Accumulating" 19:15:51 Sgeo: yes. 19:15:55 Sgeo: I wrote an Underload compiler ages back 19:16:00 it is easy 19:16:38 I don't see an input mechanism :/ 19:17:24 I don't really see why you need input for this to work 19:17:28 ~yi 19:17:28 Your divination: "Small Accumulating" to "Small Accumulating" 19:17:37 is that bad 19:17:47 let me check... 19:18:25 you'll gain power by combining small things. 19:18:32 smell accumulating 19:18:33 ~yi 19:18:33 Your divination: "Diminishing" to "Centre Confirming" 19:18:39 elliott, technically I don't, but prepending the program to compile to the compiler seems like it would be an annoying way to do things 19:18:56 Wait, hmm 19:19:04 * Sgeo is slightly confused 19:19:31 Yeah, I'm sorry, I want input 19:19:48 lazy k? 19:20:38 Phantom__Hoover: looks cool 19:21:49 ~source 19:21:50 --- Possible commands: dice, duck, echo, eval, fortune, metar, ping, yi 19:21:52 boring 19:21:56 ~duck 19:21:56 --- ~duck query 19:21:56 --- Query information from Duck Duck Go 19:22:25 whose bot is cuttlefish? 19:22:31 ~fortune 19:22:31 Accent on helpful side of your nature. Drain the moat. 19:22:33 nortti: mine. 19:22:51 Is LLVM difficult to learn? 19:23:16 it's 5 difficult 19:24:15 -!- monqy has joined. 19:24:33 * Sgeo wonders if an LLVM quine would be difficult 19:24:50 LLVM bytecode still has to be compiled though I think? So why bother? 19:25:00 you can interpret them too 19:25:48 Either way, they're not native 19:26:25 "native" is arbitrary 19:26:49 Sgeo: target scab 19:27:21 -!- TwilightSpockle has changed nick to Gregor. 19:27:29 * kmc runs Sgeo's "native" code in qemu on a Transmeta processor. checkmate. 19:27:48 -!- zzo38 has joined. 19:28:08 transmeta? 19:28:16 ~duck transmeta 19:28:16 Transmeta Corporation was a US-based corporation that licensed low power semiconductor intellectual property. 19:28:27 ~duck FOGL 19:28:27 Falkland Oil and Gas Ltd, abbreviated to FOGL, is an energy company registered in the Falkland Islands and headquartered in London, the United Kingdom. 19:28:28 "The actual Transmeta processors are in-order very long instruction word (VLIW) cores. To execute x86 code, a pure software-based instruction translator dynamically compiles or emulates x86 code sequences, using execution-hotspot guided heuristics." 19:28:59 it didn't do that well, but cool idea 19:29:29 I think I recall remembering something like that we saw once in an obscure elective I had back in university. 19:30:53 #jesus is hilarious 19:30:54 an "x86" CPU that got a software update to add NX bit and SSE3 support 19:31:53 Two people got into a people loop 19:32:49 -!- epicmonkey has quit (Ping timeout: 246 seconds). 19:33:02 there's an #jesus on freenode? 19:33:23 yes 19:33:43 I fail to relate this channel's possible subject with any FLOSS project. 19:33:45 a people loop? 19:33:54 olsner, two people repeating the same thing 19:34:00 a people loop? 19:34:08 boily: Look at the topic (you can look at it without joining) 19:34:13 One going "shut your foul mouth up now." and the other going "wash your own mouth first" 19:34:21 kmc, as opposed to a bot loop 19:34:23 are they arguing about the pope 19:34:39 boily, they have a link in the topic to the source for their channel bot 19:34:41 I don't think so 19:34:49 so maybe they're justifying it with that 19:34:57 oh well. here I join... 19:35:10 It's been around since 2003 19:35:24 So same way #esoteric justifies the single pound, I guess 19:35:44 http://www.plutorocks.com/ vote persephone 19:35:49 now, I'm perturbed. shouldn't have joined. 19:36:17 boily, you were in there and saw one line 19:36:25 What happened before and afterwards is far more perturbing 19:37:04 * boily puts his hands on his ears and wildly sings ♪ LA LA LA LA LA LA LA ♪ 19:38:46 nortti, isn't persephone the greek name 19:38:54 yes 19:39:16 Phantom__Hoover: why do you ask? 19:39:34 traditionally they use the roman ones 19:39:39 ah 19:39:46 in which case it should be... kore? 19:40:10 fun fact: persephone was actually hades' niece 19:40:16 I voted persephone, but then eurydice was fine too. in the end, I checked both. 19:40:36 Phantom__Hoover: how can kore be the roman name 19:40:42 it's not 19:40:42 kore means young girl in greek 19:41:02 but i was working off the part of the wp article visible on google 19:41:33 well I apologize, I haven't read the beginning of this conversation 19:41:48 I just needed to show off and inform everyone here that I knew ancient greek 19:42:25 wikipedia says that the roman's persephone is proserpina. 19:43:23 -!- Taneb has quit (Ping timeout: 245 seconds). 19:43:25 Maybe I should target Racket... wait, no 19:43:34 I still think targetting CL is the best idea... somehow 19:43:49 Or Haskell 19:43:55 But might be easier to write the quine in CL? 19:44:51 scheme? 19:49:04 Hmm, what Schemes compile nicely? 19:52:26 well there is stalin which seems like a pretty nice compiler 19:52:46 -!- WeThePeople has joined. 19:53:56 That's R4RS, right? 19:54:19 you should target Tcl via Ada and Clojure 19:54:21 -!- sirdancealot has quit (Ping timeout: 276 seconds). 19:55:23 o.O Sgeo: have a look at the sources of SBCL. Eg.: (defun car (x) (car x)) <--- !!! 19:55:52 Sgeo: yeah. r4rs 19:56:03 sgeo have you considered writing an interpreter for proof of concept before doing silly compiler things 19:56:31 Not... entirely sure what an interpreter for this language would look like 19:57:28 whats up with this language 19:58:59 -!- SirCmpwn has quit (Ping timeout: 252 seconds). 20:01:00 -!- DHeadshot has joined. 20:05:40 -!- SirCmpwn has joined. 20:06:34 -!- sirdancealot has joined. 20:11:27 -!- SirCmpwn has quit (Ping timeout: 260 seconds). 20:13:58 I may as well make the compiler just glue an interpreter to some source-like thing 20:14:50 -!- DHeadshot has quit (Ping timeout: 240 seconds). 20:17:15 Gah, need to remember esolangs password 20:17:49 have you considered using our handy password reset feature 20:18:05 There is no e-mail address recorded for user "Sgeo". 20:18:21 maybe you should have recorded an email........... 20:18:25 do you want me to reset it 20:18:49 Sure, thanks 20:22:04 monqy, at some point someone said 'metacircular compiler' and Sgeo rolled with it. 20:23:43 i thought it was sgeo not wanting to learn x86 to implement his language so he overcomplicates it into a horrible thought experiment and nobody knoiws what they're even talking about 20:24:04 Phantom__Hoover, I had the idea before anyone said "metacircular compiler" 20:24:16 I think someone decided that my idea was a metacircular compiler 20:24:28 oh was this your ridiculous language idea 20:24:45 sorry i was misled by the fact that this is only mildly ridiculous 20:25:35 monqy, the language idea is the same regardless of whether it targets x86 or not 20:25:45 Targetting x86 would be cooler though 20:26:18 There is still an implication I need to think through 20:26:22 Having some trouble with it 20:27:01 target stand-alone x86 20:27:14 make your programs bootable! 20:27:37 I don't think you can make a full program target stand-alone x86, but you can target PC. 20:28:29 Basically, I think it's currently a bit difficult to redefine ; 20:28:53 compatible with original pc 20:29:04 bios must have rom-basic 20:29:30 zzo38 makes an important point that is often forgotten 20:29:41 yeah 20:29:43 there are significant non-PC x86 systems 20:30:45 hell my college's intro microcontrollers class used a custom board (hand-soldered by students) with an 80186 20:30:46 Even disregarding those, though, the x86 is only the CPU and is not the keyboard, monitor, RAM, BIOS, disk, and everything else. 20:30:57 which was pretty terrible 20:31:27 i think they got a bulk discount on a 50 gallon drum full of 80186es back in the 80s and are still using them up 20:31:37 186? 20:31:41 -!- WeThePeople has quit (Quit: Leaving). 20:31:50 yep 20:31:56 What esolangs have I/O and are easy to write quines in? 20:32:03 Might make more sense to use that as a base 20:32:08 it was a halfassed attempt to make a microcontroller around the x86 architecture 20:32:19 but it still requires way more external chips than, say, a PIC or AVR 20:32:28 Trustfuck compiling to brainfuck. Would be a bit... pointless, but hmm 20:32:33 probably due to being old 20:33:47 here you are: http://wolverine.caltech.edu/eecs51/kits/index.htm http://wolverine.caltech.edu/eecs51/kits/kit51ins.htm 20:34:35 in this class i would find some unusual term used, google it, and the only hit would be this course website 20:34:41 nobody else cares about the 80186 20:36:25 -!- SirCmpwn has joined. 20:38:02 -!- Nisstyre has joined. 20:38:22 To redefine ; is a quine needed? 20:38:59 -!- WeThePeople has joined. 20:39:40 ; takes the value at the current location on the tape. If it is 0, it emits to output a "prelude". If it is 1, it emits to output an "epilogue". If it is any other value, it emits the code, in the target of the compiler, to perform the functionality of the 20:39:45 ANSWER: maybe? 20:39:57 !rot13 byfare 20:39:59 olsner 20:40:28 ah, twitter emails are sent from your email address rot13:d 20:43:26 * Sgeo goes to read an ActorScript tutorial 20:43:43 ok 20:43:55 oh god I thought it was going to be some cool thing of pure beauty but it has so many buzzwords 20:44:01 Tutorial for ActorScript 20:44:01 extension of C# 20:44:01 20:44:01 , Java 20:44:01 20:44:01 , Objective C 20:44:03 20:44:07 oops 20:44:46 -!- impomatic has joined. 20:44:55 what's this 20:45:08 and why is it cool/pure beauty/buzzwords 20:45:44 Sgeo: there may or may not be an attempt at humor hidden there 20:46:01 olsner, oh 20:46:44 ActorScript(TM): Industrial strength integration of local and nonlocal concurrency for Client-cloud Computing 20:47:26 It's all message passing based, apparently including the definition of the language 20:47:32 -!- SirCmpwn has quit (Ping timeout: 248 seconds). 20:47:58 -!- zzo38 has quit (Remote host closed the connection). 20:48:35 Ok, this paper is almost certainly a joke 20:49:00 "Unlike almost all previous programming languages, 20:49:00 because ActorScript uses bold font for reserved names, 20:49:00 new reserved words can be introduced into the 20:49:00 language without breaking existing programs." 20:49:25 :DDDD 20:49:29 doesn't algol do that 20:49:40 not sure if poe should be invoked... 20:49:44 in some original form 20:49:54 algol 58? 20:50:06 are you sure that's not something they just did in books to make the programs look pretty? 20:50:17 i heard that it was part of the language syntax, however I may have been misinformed 20:50:31 in those days I guess "bold" meant "make the typewriter hit it twice" 20:50:46 "punch an extra large hole in the card" 20:50:53 hmm, so if it says "while" in bold you're supposed to type wwhhiillee? 20:51:24 or maybe that plus backspaces 20:51:25 -!- asiekierka has quit (Read error: Connection reset by peer). 20:51:40 no, you type while 20:51:50 huh 20:51:52 (backspaces omitted) 21:11:54 Trustfuck is still a work in progress 21:14:24 i'll take your word for it 21:18:04 -!- WeThePeople has quit (Ping timeout: 252 seconds). 21:19:02 heh 21:31:14 Hmm 21:31:59 I forgot about : 21:33:47 -!- oerjan has joined. 21:34:25 How do I avoid making my metacircular compiler look like a cleverly hidden metacircular interpreter? 21:35:18 -!- hagb4rd has joined. 21:35:31 * oerjan looks at the logs and starts inflating like a balloon 21:35:54 * boily looks at the logs and starts inflating like a zimbabwean dollar 21:36:02 hi 21:36:03 Quiler still confuses me. And I inspired it 21:36:04 :/ 21:36:04 OKAY 21:36:10 -!- trout has changed nick to variable. 21:36:11 ~metar OKAY 21:36:11 --- Station not found! 21:36:16 meh. 21:38:28 -!- Taneb has joined. 21:39:04 Example might be easier 21:39:15 Perhaps, but perhaps not! 21:39:16 Let's say that memory looks like this 21:39:24 '+' | 1 | '-' 21:39:40 The Pope's resigning <-- wat, seriously? 21:39:58 That is, the current cell is the ASCII value for +, the cell to the right of that is 1, the cell to the right of that is the ASCII value for - 21:40:13 ~metar OKAS 21:40:13 --- Station not found! 21:40:18 ~metar OKAJ 21:40:19 --- Station not found! 21:40:19 ; will take that, and change what will happen when : is executed with '+' 21:40:25 ~metar OKBK 21:40:25 OKBK 112100Z 17006KT 8000 NSC 18/10 Q1008 NOSIG 21:40:25 Sgeo are you still prototyping this in brainfuck 21:40:42 Phantom__Hoover, until such time that a better language for this purpose is shown to me 21:40:50 But I agree there probably is a better language 21:40:56 idk, false? underload/ 21:41:11 fueue 21:41:12 Underload has no input facility, which kind of sucks for this purpose 21:41:16 * oerjan hides back under rock 21:41:28 false, then 21:41:56 -!- SirCmpwn has joined. 21:42:01 maybe even something functional 21:43:07 oerjan: I'm amazed that a brainfuck intepreter in Fueue could be that short 21:43:10 Seriously, well done 21:43:18 "prototype it in ada" - someone??? 21:43:19 THANK YOU. 21:43:23 "prototype it in dylan" - someone???, shortly after 21:43:30 * oerjan basks in his newfound divinity 21:43:47 -!- boily has quit (Quit: mon aéroglisseur est plein de lasagne française.). 21:43:51 -!- cuttlefish has quit (Remote host closed the connection). 21:43:58 monqy, I need two languages for this 21:44:10 1) A language to base it on. That is, a simple language whose semantics I extend 21:44:18 it could have been even shorter if i had left out all the error checking (for mismatched []) 21:44:18 "ada and dylan" 21:44:26 And 2) A language to serve as the target of an initial implementation 21:45:08 -!- SirCmpwn has quit (Excess Flood). 21:46:04 hmm 21:46:29 I think Brainfuck might still be fine as a basis 21:46:37 oerjan: fondly regard creation? 21:46:53 Taneb: wat 21:47:02 Especially with : and ; 21:47:09 oerjan: it's what gods do 21:47:25 ic. well my own creation, probably. 21:47:35 the rest is a bit mixed. 21:47:38 Although I don't know how implementable that is 21:48:14 would it be fair to say you're looking for a language in which you can write a 'general compiler' 21:48:17 http://www.mspaintadventures.com/?s=4&p=001326 21:48:26 shachaf: that isn't homestuck, don't worry 21:48:46 Phantom__Hoover, for which part? 21:48:54 i.e. if you have a compiler Q : A -> X, you can have a program P : A such that Q P : A -> X forall X? 21:49:01 and it's the same P? 21:49:45 erm 21:49:52 Sorry, I'm feeling a bit derpy right now 21:50:28 where A is the metacircular language, X is some target, P is the universal compiler, and Q P is the program in X that Q compiles P to, and this notation was a terrible idea 21:51:29 Hmm. Yes, I think 21:51:57 Although my current ; and : semantics rule out some Xs, which is sad 21:52:37 But :,[:,]+: is supposed to be a Trustfuck compiler, written in Trustfuck, for any target language 21:52:54 *that targets the language in which the compiler itself was... erm 21:53:09 the thing is, i'm fairly sure to implement this you basically have to include a copy of Q in Q P 21:53:55 That's done via quine 21:54:13 `quine is quite easily done 21:54:16 : expands to a quine in the target 21:54:16 ​`quine is quite easily done 21:56:29 `run $x = "$(quine)"; print "%s" "$x" #Is this the right syntax? 21:56:33 bash: =: command not found \ Warning: unknown mime-type for "%s" -- using "application/octet-stream" \ Warning: unknown mime-type for "" -- using "application/octet-stream" \ Error: no such file "%s" \ Error: no such file "" 21:56:42 hmph 21:57:14 `cat bin/log 21:57:15 ​#!/bin/sh \ cd /var/irclogs/_esoteric \ if [ "$1" ]; then \ grep -P -i -- "$1" ????-??-??.txt | shuf -n 1 \ else \ file=$(shuf -en 1 ????-??-??.txt) \ echo "$file:$(shuf -n 1 $file)" \ fi 21:57:29 `cat bin/'?' 21:57:30 cat: bin/'?': No such file or directory 21:57:34 `cat bin/? 21:57:36 ​#!/bin/sh \ topic=$(echo "$1" | tr A-Z a-z | sed "s/ *$//") \ topic1=$(echo "$topic" | sed "s/s$//") \ cd wisdom \ if [ \( "$topic" = "ngevd" \) -a \( -e ngevd \) ]; \ then cat /dev/urandom; \ elif [ -e "$topic" ]; \ then cat "$topic"; \ elif [ -e "$topic1" ]; \ then cat "$topic1"; \ else echo "$1? ¯\(°_o)/¯"; exit 1; 21:58:11 `run x="$(quine)"; print "%s" "$x" #Is this the right syntax? 21:58:15 Warning: unknown mime-type for "%s" -- using "application/octet-stream" \ Warning: unknown mime-type for "`run x="$(quine)"; print "%s" "$x" #Is this the right syntax?" -- using "application/octet-stream" \ Error: no such file "%s" \ Error: no such file "`run x="$(quine)"; print "%s" "$x" #Is this the right syntax?" 21:58:19 oops 21:58:23 `run x="$(quine)"; printf "%s" "$x" #Is this the right syntax? 21:58:27 ​`run x="$(quine)"; printf "%s" "$x" #Is this the right syntax? 21:58:38 there you go. 22:03:45 oerjan, have you been reading about my language? 22:04:00 i'm not very far in the logs 22:04:25 although you have started mentioning it 22:06:39 Don't think you have to use duplication for it, which is the trickiest thing in eodermdrome. <-- hm ideally you'd want [] to actually have a real cyclic path representation 22:06:46 *[] loops 22:08:36 i think the main difficulties with doing this in eodermdrome are (1) the limited number of letters forcing you to look at only small parts of the graph at a time - my BCT interpreter almost reached the limit although ais523 had a hunch it could be made to use less. (2) no implementation to actually test stuff in, which admittedly didn't stop me from doing BCT. 22:09:08 oerjan 22:09:15 there is a simple solution to 1 22:09:16 oh and you'd want complete character tables for I/O, but that was a thing with unlambda too. 22:09:32 at no point in the spec does it say you have to stick to ascii 22:09:59 i'm pretty sure that is implied. although i also jested about ... the other day. 22:10:08 a string of letters, representing a graph (see below); this is the match subgraph 22:10:12 * oerjan prepares to search the logs for what ... was 22:10:13 just says letters 22:10:23 no reason that can't include greek or cyrillic 22:10:55 `log 2013-02-11.txt:22:08:36: i think the main difficulties with doing this in eodermdrome are (1) the limited number of letters forcing you to look at only small parts of the graph at a time - my BCT interpreter almost reached the limit although ais523 had a hunch it could be made to use less. (2) no implementation to actually test stuff in, w 22:11:38 oh hm 22:11:51 -!- Taneb has quit (Quit: Page closed). 22:12:00 `log 2013-02-11.txt:22:10:55: `log fff 22:12:17 `pastlog No output. 22:12:45 `pastlog No output. 22:13:00 wat. 22:13:22 `pastlog there is a not-so-simple solution to 2, as well 22:13:29 No output. 22:13:43 oh wtf 22:13:57 YOU DON'T SAY 22:15:16 `pastlog No output. 22:15:29 this is awkward 22:16:21 `pastelogs http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27897 22:17:12 oh wait 22:17:19 -!- carado has quit (Ping timeout: 246 seconds). 22:17:20 i changed consonants too. 22:18:09 `pastelogs http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.32689 22:18:52 2013-02-06.txt:20:54:15: we shall just have to make the Ëơđëřmđřơmë dialect, which has a large enough alphabet to be practical. 22:19:27 sorry, what were we talking about 22:19:49 my suggested name for a Unicode eodermdrome dialect 22:20:26 oh 22:20:31 how'd we get on to that 22:22:58 because i said eodermdrome had too few letters, and you said it wasn't restricted to ascii 22:24:43 Maybe not rewriting, but just making it interoperate with the new idiom fully... which still sounds difficult <-- this _does_ sound a bit like what you use monad stacks for in haskell 22:25:04 *monad transformer stacks 22:25:10 oerjan, you're still on that idea. I've since gone on to discuss something more plausible 22:25:27 Yet somehow more headachey 22:25:27 LOG READING TAKES TIME 22:25:32 OKAY 22:25:33 ok 22:52:24 I want a language where 'intern' is either a data type 22:52:27 or a modifier on a variable 22:55:18 How goes log-reading? 23:01:08 i'm currently recursing into ais523's comment on splinter, which has led me to hand-execute his converted PDA 23:12:14 How about eodermdrome with doubleletter and tripleletter constants, using some sort of escaping 23:22:12 no 23:22:13 unicode 23:22:19 much better 23:23:59 Phantom__Hoover, I'm starting to see what you mean 23:24:20 what did i mean 23:24:35 About needing to include the compiler 23:24:43 Suppose I want to make a modification 23:25:08 I'm going to end up needing to write a trustfuck quine in order to emit different code for : that stays consistent, I think 23:25:11 * Sgeo isn't certain though 23:25:29 * oerjan concludes Splinter is indeed a PDA 23:26:30 actually you definitely need to include a full compiler 23:27:06 ? 23:27:13 because the target language could have completely ridiculous semantics for concatenation or whatever, so you pretty much need to compile the code given to you holistically 23:27:45 Phantom__Hoover, with my current spec, the target language is constrained :( 23:28:49 well i'm satisfied that there's no way to do it 'properly' now 23:29:14 * oerjan suddenly realizes `addquote sounds funny when read aloud 23:30:02 Phantom__Hoover, eh? Just because I'm having a failure of imagination?? 23:30:09 s/\?\?/\?/ 23:31:15 no, because of the thing i just said 23:31:24 Phantom__Hoover, one of my original thoughts had { and } primitives 23:32:06 Where you go to one location in memory, then do {, then to another, then }, then those primitives proceed to compile the code represented within those memory locations into target language and output 23:32:12 you have to either include a compiler into the compiled program or include details of the target language into the language spec itself 23:32:13 (the "it didn't compile in the first place" isn't normally necessary, but it is if you suspect there's a strong AI in there) <-- "wtf is cat compiled with this 9 gigabytes? oh it was a bug in ls, it was fixed when i recompiled it." 23:32:52 "there was a similar bug in du and df" 23:33:14 Phantom__Hoover, should I go back to those primitives 23:33:16 Which is faster, multiplying two bignums and then taking the mod n, or taking the mod n of both, multiplying and taking the result mod n? 23:33:38 depends how big and how n relates, i expect 23:33:46 Sgeo, your best bet is to ignore my advice, because i'm thinking about something significantly different to you 23:33:53 for large numbers and small n the latter will probably be faster 23:34:00 but the real answer to "which is faster" questions is "benchmark it" 23:34:36 Phantom__Hoover, I think in a sense I am including a compiler into the compiled program 23:34:51 ...it's not "in a sense" 23:35:04 The : primitive (or {} primitives) are a compiler 23:35:50 yeah 23:36:04 so i have relatively little interest in the actual implementation of the whole thing 23:36:41 there are probably other interesting things you can do with the concept! but i suspect most of them will be equivalent to interesting things you can do with metacircular evaluators 23:37:07 * Sgeo isn't as used to metacircular evaluators as he'd like to be 23:37:50 the first time i heard the word 'metacircular' was with Gregor's amazing javascript token checking thing 23:42:27 "There's no doubt that Apple is at the center of technology's largest revolution ever" 23:42:35 I think I like the {} idea better 23:44:08 who needs agriculture or industrialization when you can have... ipads 23:44:47 {,[>,]<} 23:45:07 what kind of fucked up emoticon is that 23:46:27 Hmm, the semantics of { and } aren't clear enough in my head 23:48:59 -!- sirdancealot has quit (Ping timeout: 255 seconds). 23:56:59 -!- augur has quit (Remote host closed the connection). 23:58:08 Also I don't want to output <-- http://esolangs.org/wiki/Brainfuck_constants hth 2013-02-12: 00:01:31 .topic 00:02:56 But you didn't specify which cube root <-- all of them, and then the general solution is to do all linear combinations. 00:04:55 oerjan, that seems annoying, the way some of them, say, put the constant in the cell to the right 00:05:06 Going to need to think about what each one does, exactly, in order to use it 00:05:07 :/ 00:06:10 well if you have something like +++++[->+++++<] for 25 then it's hard _not_ to get the result in the cell you didn't start in 00:06:45 It's easy to modify, but would be nice for some of them if it were clearer what it would do 00:06:52 So I know whether I need to mod 00:08:26 i believe we agreed to the principle that it should _end_ on the cell with the result. 00:09:38 and i think all the 2-cell versions have balanced loops, so if you look for those that have > after the final ] it should give it in the right hand cell. 00:09:40 I might just give my language an extra command \ 00:10:47 -!- sivoais has quit (Changing host). 00:10:47 -!- sivoais has joined. 00:12:17 Sgeo: i suspect all the 2-cell ones end on the right hand cell anyway 00:14:27 oh there's a counterexample for 75. it's not the first one listed, though. 00:14:48 * Sgeo decides he doesn't like {} 00:14:54 Instead, meet ; and : 00:15:25 ; inputs the current cell value into the current code block, and ; outputs the result of compiling the current code block 00:15:41 erm, : outputs etc. 00:16:20 ,[;,]: 00:23:00 ok 00:23:28 I still want to not require the pain of writing a Brainfuck quine just to permanently change the meaning of : 00:35:00 you realize this would be _so_ much easier in brainbrain. 00:35:18 oh hm wait 00:35:42 brainbrain compiles brainfuck easily, not brainbrain 00:35:55 or was that interpret argh 00:40:16 well if brainfuck is brainfuck-1 and brainbrain is brainfuck-2, how about brainfuck-3. 00:40:37 * Sgeo is aiming at brainfuck-aleph-null 00:41:19 well when we're talking about stuff like this we should be using ordinals not cardinals shouldn't we 00:41:22 brainfuck-ω maybe 00:41:31 yeah 00:42:02 ordinals are more fun anyway 00:42:43 brainfuck-ε₀ 00:44:33 Brainfuck Continuum 00:48:19 Should I call it Trustfuck or Braintrust? 00:48:35 I can put the latter on GitHub where employers could see it and mention it in interviews... 00:48:45 But I like the name Trustfuck more 00:48:56 Try Babyfuck 00:49:00 Much better for resumes 00:49:54 depends on the company, a lot of them seem to find being profane and unprofessional quite attractive 00:50:21 you could call it trustf**k, or trust**** for added mystique 00:50:29 how about ********* 00:50:31 could it be trustdamn?? trustshit????? nobody knows 00:50:38 Trusthumbug 00:50:45 call it buttshitter 2000 00:51:04 enterprise edition 00:51:07 Trustzounds 00:51:25 how about t***tf***k 00:51:42 -!- monqy has quit (Quit: Lost terminal). 00:51:57 titfuck 00:53:21 -!- monqy has joined. 00:54:16 fuckingfuck 00:54:58 Or you could call it P'' 00:55:02 The math name 00:55:31 or rather, Reflections on Fucking Fuck 00:55:46 Slereah_: you realize that's taken 00:56:04 But at least there's no profanity 00:58:35 -!- SirCmpwn has joined. 01:03:35 oerjan: haha 01:05:39 i endorse Reflections on Fucking Fuck 01:06:41 that would be a good name for a blog 01:08:39 Sgeo, call it ardemus 01:08:46 latin is clever right 01:09:24 I don't get it 01:09:38 it's latin 01:09:42 you're not supposed to get it 01:13:26 More important things to work out than the name 01:13:40 Do I need to add more commands to manipulate the code block? How do I fix the quine issue? 01:13:57 Latin would be ainfuckbray 01:18:00 my lazy translation would be cerebrumcrisandum, but that's a terrible translation 01:23:23 I.... think what I need to do is subtly change the semantics of : 01:23:36 ok 01:24:02 I was thinking along the lines of adding a ! and having that mean compile with previous compiler, but that's almost identical to :, but... I see... a little bit of a diference 01:24:33 What I need : to do is send to the previous version of the compiler, rather than have literal meaning tacked in 01:25:08 ....now I need to think if that's implementable 01:25:23 when Sgeo is finished he'll have accidentally implemented Feather. 01:27:28 I think my prior confusion was because I had an incorrect implementation in my head 01:27:51 happens to all of us. 01:30:24 I feel like I want to extend it a bit more 01:30:35 Not just store a compiler secretly, but arbitrary data too 01:31:10 But that seems even more difficult 01:32:55 monqy: adjunctions are "pretty neat huh" 01:33:22 hi shachaf 01:33:23 -!- copumpkin has quit (Ping timeout: 252 seconds). 01:33:27 Actually, I don't need to add extra constructs to do it. Just write a compiler that transforms, say, q into, say, +++ 01:33:34 hi monqy 01:33:36 before sending to prior compiler 01:33:42 welcome to #-lens 01:33:55 ye. 01:34:01 -!- copumpkin has joined. 01:39:15 -!- Phantom__Hoover has quit (Quit: Leaving). 01:40:56 monqy: you know how you can get State and Store from the unit and counit of the (e,) -| (e->) adjunction? 01:42:53 ok 01:47:23 How problematic is it that each iteration will result in a bigger and bigger binary 01:47:27 Is this even avoidable? 01:47:30 I doubt it, tbh 01:49:05 Ok, new command. !. Compiles with the primitive compiler 01:51:38 hichaf 01:51:46 heegan 01:51:52 do you like adjunctions 01:52:15 they "are pretty neat imo" 01:52:19 don't know about those 01:52:46 An adjunction between two functions is when you have (F a -> b) ~~ (a -> G b) 01:53:05 between two functions 01:53:08 Er. 01:53:09 functors 01:53:30 Just ask elliott how great they are. 02:08:02 I keep thinking in terms of Haskell, but Scheme is probably easier to write quines in 02:10:14 quines are equally easy to write in most languages, in that there's only one trick 02:10:38 Scheme has the advantage that you get to read/print S-expressions rather than flat strings, but this isn't that useful in writing a quine 02:10:45 Haskell quine is shorter overall I believe 02:11:08 the quine trick is also the halting theorem proving trick and the Y combinator trick 02:11:11 p. good trick imo 02:12:06 AAAA++++++ would trick again 02:12:37 -!- TeruFSX has joined. 02:20:49 Should the compile command be : or ! 02:21:05 ! seems exciting, but : sort of evokes output, the way ; evokes input 02:21:35 it should be ꙮ 02:24:20 So with an adjunction F -| G you have eps : F (G a) -> a and eta : a -> G (F a), and that's enough to give you a monad and a comonad. 02:24:38 With return = eta and join = fmap eps 02:25:01 http://esolangs.org/wiki/Trustfuck 02:28:17 So yeah, I added a cheat to make programming slightly easier 02:28:47 \H.\e.\l.\l.\o.\ .\W.\o.\r.\l.\d. is hello world 02:28:53 I have no regrets 02:37:22 @ask zzo38 What is ? 02:37:23 Consider it noted. 02:47:06 Here's a question: As of right now, does Trustfuck count as implemented? 02:47:48 I wrote the compiler. The compiler exists. Yet, it is not currently usable. However, it can be made usable in the future. 02:48:01 So, Implemented or Unimplemented? 02:48:01 shachaf: did you finish cryptochallenges part 2 yet? 02:49:19 Hmm, I remember asking a similar question before, and someone noted that if "A compiler exists" is all that's needed, everything is implemented 02:51:07 shachaf: what a strange question 02:51:40 it looks like a default gravatar here, of the 'funny face' variety 02:51:52 if you change 'wavatar' to 'identicon' you'll get a geometrical pattern 02:54:28 -!- DHeadshot has joined. 02:58:51 I think I was just called a sinner for making an esolang 03:01:36 kmc: Oh, I thought it was zzo38's picture. 03:01:40 I've never seen that default. 03:01:49 kmc: Nope, haven't worked on it. 03:01:54 elliott has been distracting me! 03:01:57 (And other things.) 03:02:02 i see 03:02:02 I should do it. 03:02:13 i need to marshall enough attention to solve problem 14 03:02:53 have you added the word "kentucky" to your lexicon yet 03:03:11 KENTUCKY (adv.) 03:03:11 i don't understand 03:03:11 Fitting exactly and satisfyingly. The cardboard box that slides neatly into an exact space in a garage, or the last book which exactly fills a bookshelf, is said to fit 'real nice and kentucky'. 03:03:21 ok 03:03:32 "activly wasting time is a sin just so you know" 03:03:52 is that because kentucky perfectly fills the space between west virginia, virginia, tennessee, missouri, illinois, indiana, and ohio? 03:04:55 I'm not sure why. 03:04:57 http://folk.uio.no/alied/TMoL.html 03:05:27 i've heard that's a good book 03:06:43 It has many useful words. 03:08:48 PAPPLE (vb.) 03:08:48 To do what babies do to soup with their spoons. 03:09:05 NYBSTER (n.) 03:09:05 Sort of person who takes the lift to travel one floor. 03:09:12 Perhaps I shouldn't paste the whole thing in here. 03:12:48 it's been a while since i watched a baby eat soup 03:19:14 haven't been keeping up with fuckyeahbabieseatingsoup.tumblr.com 03:21:11 "The IPv6 version has extra scenes and extra color support. So if you want to experience ascii starwars to it's fullest you really should get IPv6." 03:21:51 Maybe kmc would find forgetful functors more interesting if someone left adjoint in one. 03:22:10 *groan* 03:22:27 it's funny because marijuana makes people forgetful 03:25:06 There should be a law against fancy letters. 03:25:22 the nazis had one of those 03:26:26 Also there should be a law against Greek letters. 03:27:15 they also banned tubas or was it accordians 03:27:42 have you learned to play the chromatic button accordion yet 03:28:19 no why would i do that 03:28:40 because 'it's p. cool´ 03:29:21 im not cool :( 03:30:01 oh no 03:34:31 -!- augur has joined. 03:49:37 "Next time, Ill explain what zippers are, and describe how to do calculus with types." 03:49:42 * Sgeo is finding this series enjoyable 03:50:05 -!- zzo38 has joined. 03:50:35 Sgeo: You should make a Twitter account. 03:50:55 I have a Twitter account 03:50:58 @sgeocomet 03:50:59 Unknown command, try @list 03:51:04 Oh. 03:51:12 You should use it. 03:51:19 I do occasionally 03:55:42 -!- SirCmpwn has quit (Ping timeout: 252 seconds). 04:00:49 http://review.cyanogenmod.org/#/c/30269/1/include/utils/Singleton.h why should this matter? allegedly it fixes a One Definition Rule violation 04:05:56 maybe i am drunk enough to venture into ##c++ 04:06:09 oh boy 04:06:25 i want to know the answer 04:07:41 also using CPP to instantiate templates is great 04:08:10 i heard you like templates so i put templates in your bastardized not-quite-templates 04:09:09 i heard you like monoids 04:12:21 -!- SirCmpwn has joined. 04:14:57 Is a disjunctive state monad useful for anything? 04:14:57 zzo38: You have 1 new message. '/msg lambdabot @messages' to read it. 04:15:35 ?messages 04:15:36 shachaf asked 1h 38m 14s ago: What is ? 04:15:41 What is the disjunctive state monad? 04:16:13 shachaf: I don't know what tha picture is; I think it is just a random picture used when you don't have a account. 04:16:21 ok. 04:16:29 shachaf: A disjunctive state monad is what I called (CodensityAsk (Store x)) 04:16:54 (It is either the state or the value rather than both) 04:16:58 Let me see. 04:16:59 newtype CA m a = CA { runCA :: forall r. m r -> (a -> r) -> r } 04:17:13 forall r. Store x r -> (a -> r) -> r 04:17:25 forall r. (x, x -> r) -> (a -> r) -> r 04:17:41 forall r. x -> (x -> r) -> (a -> r) -> r 04:17:50 forall r. x -> Either x a 04:18:01 (In addition, <|> can be used to compose states; if the left side is a state then that becomes the input state for the right side.) 04:18:03 -!- SirCmpwn has quit (Quit: Leaving). 04:18:45 That's like half a simple prism! 04:20:44 What is a simple prism? 04:21:01 SimplePrism s a = (a -> s, s -> Either s a) 04:21:05 -!- SirCmpwn has joined. 04:22:14 OK 04:23:35 How does this monad behave? 04:24:09 @unmtl ReaderT r (Either e) a 04:24:09 r -> Either e a 04:24:40 So it's like ReaderT s (Either s)? 04:25:12 I suppose so, except that it is now also MonadPlus 04:25:15 I don't think this has much to do with state as such. 04:25:36 I also don't really think it has a lot to do with the state 04:25:53 ReaderT also has a MonadPlus instance. 04:26:04 And (Either e) does (right?) 04:26:12 Hmm, not always. 04:26:20 No it doesn't, but it should, if e is a monoid! 04:26:32 However, it is not the same MonadPlus you get from that. 04:26:55 Right. 04:28:21 (Note that (CodensityAsk ((->) x)) is like (Either x) and will give you the MonadPlus instance automatically.) 04:28:50 Are you sure CodensityAsk is a good name for this monad? 04:29:04 No, but I don't know the better name that is why it is called that. 04:30:05 (Codensity ((->) x)) gives you (State x). 04:31:16 (Codensity R) will give you (x ->) 04:31:17 What is R? 04:31:42 I don't know. 04:31:46 But it exists. 04:32:06 OK, maybe I can figure it out, but right now I don't know. 04:32:13 -!- sebbu has quit (Ping timeout: 256 seconds). 04:32:32 I thought we pay you to know these things. 04:32:43 You don't pay me. 04:32:51 We pay you attention! 04:32:58 Sometimes. 04:33:31 Well, yes, it is the IRC you can pay attention whever is written on here, if you want to. 04:33:32 -!- sebbu has joined. 04:33:36 But I don't know everything. 04:33:36 zzo38: Every monad M can be expressed as (Codensity R) for some R. 04:33:39 Is that true? 04:34:03 I don't know! 04:34:09 I read in a paper that it's true. 04:36:14 @src Cont (>>=) 04:36:14 m >>= k = Cont $ \c -> runCont m $ \a -> runCont (k a) c 04:36:29 m >>= f = DSM $ \s -> either Left (\y -> unDSM (f y) s) (unDSM m s) -- disjunctive state monad 04:36:33 I suppose they look similar. 04:37:24 @ty \m k -> either Left k (m s) 04:37:25 (Expr -> Either a b) -> (b -> Either a b1) -> Either a b1 04:37:44 @ty \m k -> \s -> either Left k (m s) 04:37:46 (t -> Either a b) -> (b -> Either a b1) -> t -> Either a b1 04:38:03 @ty \q fm k -> \s -> q k (m s) 04:38:04 The function `m' is applied to one argument, 04:38:05 but its type `Expr' has none 04:38:05 In the second argument of `q', namely `(m s)' 04:38:08 @ty \q f m k -> \s -> q k (m s) 04:38:10 (t2 -> t3 -> t1) -> t -> (t4 -> t3) -> t2 -> t4 -> t1 04:40:08 -!- sebbu2 has joined. 04:40:08 -!- sebbu2 has quit (Changing host). 04:40:08 -!- sebbu2 has joined. 04:40:58 -!- sebbu has quit (Ping timeout: 245 seconds). 04:42:35 @instances Functor 04:42:36 ContT r m, ErrorT e m, IO, Maybe, RWST r w s m, ReaderT r m, ST s, StateT s m, WriterT w m, [] 04:43:59 -!- Arc_Koen has quit (Quit: Arc_Koen). 04:48:22 god i hate haskell. it's like a variegated salad of chars, but there are no vitamines.. just eye cancer 04:51:12 I'm at the point where I can barely think straight 04:51:44 if at least someone would care and make something useful with it 04:51:53 like burry it deep in a secret place 04:52:13 I'm planning on having Trustfuck compile to Haskell 04:52:15 Does that help? 04:53:32 not yet. what is the goal of that? but i'm not familiar with trustfuck 04:53:38 @google trustfuck 04:53:40 http://www.urbandictionary.com/define.php?term=Trust%20Fuck 04:53:40 Title: Urban Dictionary: Trust Fuck 04:53:54 k 04:54:00 got it 04:54:19 http://esolangs.org/wiki/Trustfuck 04:57:13 if you want don't want to waste your time (in the next few moments) have a look at THIS 04:57:15 http://mrdoob.github.com/three.js/ 04:57:36 THAT'S POWERFULL STUFF 04:58:19 never seen such magic before 04:58:58 a few dozens lines of code, and you're off for the ride 04:59:08 hagb4rd: i just made a Quiler compiler to haskell hth http://esolangs.org/w/index.php?title=Quiler&diff=35432&oldid=35414 04:59:15 (probably not.) 05:00:25 haskell code just ends in itself 05:00:42 in that particular case, you are entirely correct. 05:01:10 just had to say this 05:01:15 * hagb4rd feels better now 05:01:29 cigarette? 05:01:38 sorry, i don't smoke. 05:02:10 let's have a look a at quiler 05:02:54 i've also used haskell _lots_ of times to make esolang program builders. 05:03:14 @quote oerjan 05:03:15 oerjan says: i only do impractical things 05:03:52 `uoerjan 05:03:58 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: uoerjan: not found 05:03:59 'oopps's 05:08:07 hm maybe i should have put in a #! line 05:08:28 @quote oerjan 05:08:28 oerjan says: i only do impractical things 05:08:30 @quote oerjan 05:08:30 oerjan says: i only do impractical things 05:08:32 @quote practical 05:08:32 kmc says: I think C++ is best thought of as an esolang. It's fun to learn, fun to figure out how to do some trivial things in only 300 lines of code. Not fun to use for practical stuff. 05:09:00 kmc: did you figure out the answer to your c++ question 05:09:07 no 05:09:09 @quote theoret 05:09:09 JonHarrop says: As the Lispers always say, it is theoretically possible to do a good job but... 05:09:25 @quote arrop 05:09:25 Heffalump says: he's [Jon Harrop] not exactly a Haskell beginner, more like a Haskell fuckwit 05:13:38 tharrop 05:14:06 @quote beaky 05:14:07 beaky says: why did they settle on bitshiftrightassign (>>=) for monadic bind? 05:14:20 @protontorpedo 05:14:21 and haskell is not a lisp. correct? holy shit then m learning haskell 05:14:49 @protontorpedo 05:14:49 as u scale and complexity grows? 05:14:53 So you know how (State s) has a hidden (Store s) and vice versa? 05:17:09 modified the quiler compiler a bit 05:18:22 Lisp and Haskell together might be good for some purposes. 05:19:07 yes, i've always wanted an optional alternative lisp-like syntax for Haskell, for metaprogramming 05:19:11 i know there are a few projects to do this 05:31:26 good old stanford bunny 05:31:38 that takes me back 05:37:51 I made up a combination connector format "Digi-RGB-Plus", which consists of two Digi-RGB video signals, four analog audio signals, and one 1200 bps 8N1 control signal. (The control signal may be absent; it is not needed to play a video. The other signals may also be absent if unused, and any of them can be split into other cables.) 05:38:20 what is the control signal used for? 05:38:28 is it bi-directional? 05:38:40 No, it is only one way (but the opposite way from all of the other signals). 05:39:38 It can be used for remote control functions and for some other functions, such as 0xE2 "Synchro start", 0xE9 "OSD suppress", and so on. 05:39:44 what kind of physical connector would you use? 05:39:55 modified again 05:39:56 I haven't made that part yet. 05:41:45 For video-only you can use Digi-RGB, and you might make a cable between Digi-RGB and Digi-RGB-Plus (regardless of which side is in and out), and it can still work. Digi-RGB-Plus is more like a combined cable like SCART or HDMI, but free, open, far simpler, and other differences. 05:45:16 I don't know if I did something a bit wrong, and maybe there may be a bit more commands than it is now, but all of them are optional. 05:45:20 Maybe you know? 05:59:06 -!- oonbotti has joined. 06:05:02 Some places have really strange laws, I have a list in my computer and in a book 06:07:51 "The state constitution allows for freedom of speech, a trial by jury, and pregnant pigs to not be confined in cages." 06:08:25 is "pig" a euphemism for the common folks 06:08:30 :D 06:08:43 I don't know. Maybe it means pigs. 06:09:54 "It is mandatory for a motorist with criminal intentions to stop at the city limits and telephone the chief of police as he is entering the town." 06:11:47 "Mourners at a wake may not eat more than three sandwiches." 06:20:49 -!- hagb4rd has quit (Ping timeout: 248 seconds). 06:23:52 -!- hagb4rd has joined. 06:53:53 -!- sebbu2 has quit (Ping timeout: 245 seconds). 07:07:02 -!- epicmonkey has joined. 07:35:53 -!- azaq23 has joined. 07:36:07 -!- azaq23 has quit (Max SendQ exceeded). 07:38:27 -!- oerjan has quit (Quit: leaving). 07:42:02 -!- stuntaneous has joined. 07:44:49 -!- stuntane has quit (Ping timeout: 256 seconds). 07:46:39 -!- stuntane has joined. 07:49:29 -!- stuntaneous has quit (Ping timeout: 276 seconds). 08:01:33 -!- carado has joined. 08:15:08 -!- sirdancealot has joined. 08:50:26 -!- Frooxius_ has joined. 08:50:46 -!- Frooxius has quit (Read error: Connection reset by peer). 08:51:06 -!- Frooxius_ has quit (Client Quit). 08:51:32 -!- Frooxius has joined. 08:59:05 -!- c00kiemon5ter has quit (Quit: c00kiemon5ter). 09:00:42 -!- c00kiemon5ter has joined. 09:09:52 -!- c00kiemon5ter has quit (Quit: c00kiemon5ter). 09:13:32 -!- c00kiemon5ter has joined. 09:15:02 -!- c00kiemon5ter has quit (Client Quit). 09:16:32 -!- c00kiemon5ter has joined. 09:21:04 -!- Phantom_Hoover has joined. 09:35:59 -!- zzo38 has quit (Remote host closed the connection). 10:18:16 -!- monqy has quit (Quit: hello). 10:50:41 -!- zzo38 has joined. 10:55:11 -!- Deewiant has quit (Quit: Reboot). 11:09:35 What do you think of "dry" and "wet" skepticism? 11:10:22 -!- Deewiant has joined. 11:10:39 zzo38: Hmm. I'm skeptical. 11:18:49 gopher://zzo38computer.org:70/0textfile/fun/sci-skep section 0.6.1. See also [[Pseudoskepticism]] on Wikipedia. 11:24:37 The two extremes are perhaps personified by Martin Gardner (dry) and Marcello Truzzi (wet). 11:33:39 -!- FreeFull has quit (Quit: Graphics drivers messed up. I am quitting blindly, please retype any messages to me once I'm back.). 11:38:37 -!- FreeFull has joined. 11:48:49 -!- hagb4rd has quit (Ping timeout: 240 seconds). 11:49:58 -!- sebbu has joined. 12:10:09 -!- hagb4rd has joined. 12:13:02 -!- sebbu2 has joined. 12:13:17 -!- sebbu2 has quit (Changing host). 12:13:18 -!- sebbu2 has joined. 12:13:23 -!- sebbu has quit (Ping timeout: 252 seconds). 12:14:07 -!- sebbu2 has changed nick to sebbu. 12:23:53 -!- DHeadshot has quit (Ping timeout: 245 seconds). 12:24:17 -!- DHeadshot has joined. 12:25:30 -!- Arc_Koen has joined. 12:27:53 -!- sebbu2 has joined. 12:27:53 -!- sebbu2 has quit (Changing host). 12:27:53 -!- sebbu2 has joined. 12:29:24 -!- sebbu has quit (Ping timeout: 252 seconds). 12:42:58 -!- TeruFSX has quit (Read error: Operation timed out). 12:51:59 -!- impomatic has quit (Ping timeout: 255 seconds). 12:57:23 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de). 13:07:56 -!- impomatic has joined. 13:12:38 -!- DHeadshot has quit (Ping timeout: 245 seconds). 13:13:33 -!- DHeadshot has joined. 13:31:08 -!- esowiki has joined. 13:31:09 -!- glogbot has joined. 13:31:10 -!- glogbackup has left. 13:31:12 -!- esowiki has joined. 13:31:12 -!- esowiki has joined. 13:38:01 -!- Taneb has joined. 13:52:33 -!- boily has joined. 13:57:03 -!- ais523 has joined. 13:59:14 Is it ok to make code be on a very long line if it makes my life sufficiently easier? 13:59:50 Actually, the code wouldn't be on one line, the string representing the code would be 14:00:00 This would be far more pleasant if Haskell had multiline strings 14:00:12 is it ok to put your code on the long line? 14:00:33 As in, not bothering to break the string up so that it's on multiple lines 14:00:55 Although I'm sure I could figure out a way to make it work 14:01:13 (Splitting string on multiple lines) 14:08:03 -!- DHeadshot has quit (Ping timeout: 245 seconds). 14:08:53 -!- DHeadshot has joined. 14:19:57 -!- Taneb has quit. 14:32:00 -!- sebbu2 has changed nick to sebbu. 14:35:36 Haskell is the world's best multiline strings language. 14:43:24 how do you do multiline strings in Haskell? 14:46:42 I'm just going to use ++ or something probably :/ 14:47:19 It's not like I have no understanding of quines work, I'm sure I can pull this off 14:56:55 -!- cuttlefish has joined. 15:20:22 -!- copumpkin has quit (Ping timeout: 252 seconds). 15:20:59 -!- copumpkin has joined. 15:21:22 Is randomIO/randomRIO generally a bad idea compared to newStdGen and then random/randomR ? 15:27:38 It suddenly occurs to me that giving a program access to the compiler it was compiled with might not actually be impressive... 15:27:40 :/ 15:27:46 Do other languages do that? 15:34:28 ,[>\\;<;]: 15:34:31 oops 15:34:50 hmm 15:35:21 \\>,[<;>;,] 15:35:24 \\>,[<;>;,]: 15:35:48 You know what makes more sense than ; and :? 15:35:50 : and ! 15:37:18 After all, sending to code block is a sort of output 15:38:51 you could always go the intercal way with ¢. 15:39:28 Sgeo: Perl does that 15:39:35 although it's not obvious 15:39:51 (Perl compiles to bytecode and then executes it, internally; it's possible to both get at the bytecode, and get at the compiler) 15:41:36 I want to add another command 15:42:03 But have a weird decision to make 15:42:09 I want it to use the nth compiler 15:42:37 But do I count 0 as "The compiler used for the running program", or "The original compiler that has no corresponding source code"? 15:42:55 Hmm, I could make ! emit the current compiler version and 0@ be the primitive compiler 15:43:22 Wow, that's bad naming, should switch them around 15:43:57 There probably is an esoteric language where you can modify the compiler/interpreter 15:44:39 Sgeo: may I point you to this fine compilational eldritch horror: http://caterwauljs.org/ 15:44:46 So you could write some header code that would program the interpreter so that everything from a certain point gets interpreted as brainfuck 15:44:53 Sgeo, ooh 15:44:54 ooh 15:45:02 you could include a spec of the target language 15:45:17 and write a... compiler generator? 15:45:27 ? 15:46:04 The tricky part is that your code changes meaning as you change the interpreter 15:46:40 just seen as a quiz question: "true or false: there are over 1 billion web pages on the Internet" 15:46:55 if you count pages that are generated on demand, I think there are infinitely many, aren't there? 15:47:18 You'd probably want some way to accumulate changes and then apply them all at once 15:47:48 FreeFull: you can do that sort of thing in loads of languages, both eso and non-eso 15:47:49 ais523: Do you count pages you can only see once though? 15:48:03 FreeFull: well the quiz show said it was true, but didn't elaborate 15:49:16 What, modify the interpreter on the go? 15:49:30 To have it end up as a completely different interpreter? 15:50:11 I swear I've seen a language that has some program that starts out Lisplike and becomes Smalltalk-like 15:51:19 Sgeo: A haskell quine is very easy to write 15:51:31 My first working quine was a haskell quine 15:51:45 Yes, and I have an idea of how I would structure it 15:51:57 FreeFull: it isn't normally /completely/ different, although in something like Forth it is 15:52:11 The thing is, it's a large program that needs to be quinified, and it would be ... easier, to have macros to ease some of the pain 15:52:29 Although again, I think I can do it comfortably in Haskell 15:52:30 ais523: I'm thinking *some gobblebock* *brainfuck* 15:52:53 FreeFull: yeah, I think you can do that in Forth, not sure if you can change the parser though 15:52:56 And once it's in brainfuck mode of course, it's stuck there unless you provided an escape hatch 15:53:02 but that's pretty much what Forth is designed for 15:53:14 Also, it's not a perfect quine, I need to add stuff in and change a number etc. 15:53:52 Sgeo: Guessing you can't read the source? =P 15:54:13 That feels cheatingish 15:54:25 And it would be nice to someday write a version in x86 15:54:33 Although that would be clinically insane 15:54:53 It would... illustrate what I want to, more clearly than Haskell 15:55:39 Writing a compiler for a Brainfuck derivative in a Brainfuck-like language that targets x86 without writing a bit of ASM 15:56:12 (Well, really, the compiler would be targetting a Brainfuck-like language then calling a compiler primitive) 15:57:16 ais523: You should be able to do anything, even make the interpreter read backwards and reinterpret your code as something else 15:57:45 FreeFull: there's no particular reason why you couldn't change the parser in that sort of language (see, e.g., Feather), just I'm not sure whether it tends to be implemented or not 16:11:58 -!- hagb4rd has joined. 16:20:15 I thought my language was insane. Is it actually boring? 16:20:16 :/ 16:20:24 Although implementing it will be interesting I guess 16:36:11 -!- sivoais has quit (Ping timeout: 255 seconds). 16:39:49 -!- sivoais has joined. 16:43:01 Hmm, showing a tuple doesn't put a space after the , 16:43:10 (I mean, not a big deal or anything, just found that weird) 16:43:57 What I'm doing is too elaborate for a typical quine, but considering that it's a large program that needs to be quined...) 16:48:18 -!- sivoais has quit (Ping timeout: 272 seconds). 16:48:24 http://hpaste.org/82223 16:48:59 Sgeo: there's a reasonably simple way to quine arbitrarily large quines 16:49:13 you basically make a format for your language that can easily be either evalled or output (this may require writing an interpreter) 16:49:20 then do your quine underload-style 16:49:46 -!- sivoais has joined. 16:51:50 Anything particularly bad about my approach? 16:53:04 I don't know, I haven't read it :) 16:53:28 Hmm. With my current spec, even if something only uses the primitive compiler, there's no way to statically determine that, so all compilers get included 16:53:32 :/ 17:04:53 * Sgeo considers adding a ; command 17:05:45 -!- Taneb has joined. 17:07:43 ; would be compile-in 17:08:15 That is, if the program is being executed as a subcompiler, it receives code. This way, such a compiler is free to ask for genuine input if it wishes 17:08:18 Is that too insane? 17:11:23 -!- DHeadshot has quit (Read error: Connection reset by peer). 17:22:24 hmm 17:22:49 how does the thing work where you denote the image of a function f : X -> Y work in category theory 17:23:33 is it like... f is a functor from the... category of subsets of X to the category of subsets of Y? 17:25:18 functions aren't really functors? 17:25:24 category theory is all one level up 17:25:52 a functor is from category C to D if that's what you mean?? bear in mind I know almost nothing about CT 17:27:18 -!- sebbu2 has joined. 17:27:38 -!- sebbu has quit (Ping timeout: 245 seconds). 17:28:58 no, PH is correct 17:31:41 elliott, no but you know how you write f(X) to mean {f(x) : x \in X} 17:31:58 yes 17:35:08 -!- sebbu2 has changed nick to sebbu. 17:40:35 http://www.reddit.com/r/tipofmytongue/comments/18cbti/tomtmod_avoid_linking_to_tumblr/ 17:40:36 fuck 17:43:05 hi 17:44:10 Reddit considers Tumblr to be spam :( 17:52:20 -!- Halite has joined. 17:52:48 I made an Esoteric Programming Language today. It's heavily based on BF. 17:53:55 !help 17:53:55 ​help: General commands: !help, !info, !bf_txtgen. See also !help languages, !help userinterps. You can get help on some commands by typing !help . 17:54:03 !bf_txtgen 17:54:07 ​20 +++++[>++>>><<<<-]>. [23] 17:54:09 -!- fizzie` has changed nick to fizzie. 17:54:20 `? brick 17:54:22 Brick goes in brain. The statutory punishment for perpetrators of brainfuck derivatives. 17:54:51 (Law of the jungle, I'm afraid.) 17:54:58 I call my programming language NAND++ 17:57:45 fizzie, I haven't been brainbricked 17:58:02 Yet I'm actively working on a BF derivative 17:58:12 Then again, it's not a trivial BF isomorphism 17:59:02 no, it's just you using the wrong language as a basis for experimentation 18:06:53 lol, are you talking about BF 18:07:29 I'm making a language based on it, but the core interesting idea of my language isn't really BF specific 18:07:46 I'm just using BF as a language to uses as a basis for my additions 18:08:19 Halite: there are an awful lot of brainfuck derivatives, it's very rare indeed that someone makes something new using one 18:08:55 If you look at Phantom_Hoover's Tumblr (phantom-hoover.tumblr.com), you'll see his opinion on the matter 18:09:31 there are especially a lot of languages which are either bf with the commands renamed to something zany or bf with a couple of instructions added 18:11:03 I like your blog. it is sane. 18:11:25 unfortunately it is not his 18:11:30 he is a fraud 18:11:30 elliott: ssh 18:11:36 that ook entry is amazing 18:11:48 There ought to be more content 18:11:49 `my greatest work' 18:11:51 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: my: not found 18:11:58 Ooh, did we forget? 18:12:02 `welcome Halite 18:12:04 Halite: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 18:12:32 hi 18:12:42 hi 18:13:27 I personally think BF derivative are a good way to get into esolanging, so long as you follow up with something more interesting 18:13:31 *derivatives 18:14:26 you're just trying to legitimatise your own seedy past 18:14:40 *I* never made a brainfuck derivative, and just look at all... the... 18:14:59 Phantom_Hoover: I made three, I think 18:15:01 but they're all good 18:15:06 I made three languages that could be described as brainfuck derivatives 18:15:14 One is technically an Ook! derivative 18:15:22 I haven't made three languages yet :( 18:15:22 (slightly better? maybe not?) 18:15:24 Taneb 18:15:35 i don't think i can talk to you any more 18:15:57 One is only like brainfuck in that it's imperative, tape based, and single-character-per-command 18:16:09 Which Phantom_Hoover has already forgiven me for 18:16:27 And MIBBLLII isn't brainfuck but looks like it is 18:16:43 So, all of them could be argued to /not/ be brainfuck derivatives 18:16:51 In fact, two of them really aren't at all 18:17:04 Phantom_Hoover: can you talk to me again? 18:17:47 no 18:17:52 http://www.taneb.org/ 18:17:54 ZEUGMA 18:18:09 THAT PROBABLY IS NOT ME 18:18:29 I, alas, am not a francophone psychologist 18:18:34 i think it is perhaps the most french website 18:19:08 Especially not one with a website designed in the 90's 18:19:09 Ugh 18:19:11 ah tiens, zeugma. ça faisait un bout que j'en avais entendu parler. (oh, zeugma again. it's been a while since last time I heard of 'em.) 18:19:44 is this some kind of french esolang association 18:19:45 boily: can you explain the thingy that is zeugma 18:20:09 oh, zeugmas are like syllepses 18:21:08 as the large comic sans sentence says, it is a «rapprochement». some kind of weak surreality (and in that case, terrible web design.) 18:21:50 -!- augur has quit (Remote host closed the connection). 18:22:27 must've mentally edited out the comic sans 18:32:13 -!- epicmonkey has quit (Ping timeout: 245 seconds). 18:38:19 rapprochemet 18:38:30 what are you talking about 18:39:57 something french 18:40:35 boily: do french things make any more sense if you are one of them 18:41:37 boily: perhaps. I'm not French. 18:41:48 `? boily 18:41:49 boily is Canadian or something. We are not sure about Canada's existence. 18:41:59 of course you're french, you talk to yourself 18:42:01 i thought you were swiss 18:42:09 same thing 18:42:33 No one will complain if this thing gets compiled into what is essentially an interpreter glued to some code to interpret, right? 18:42:42 c'est pas parce que je me parle tu seul que je suis français, bon. (it's not because I talk to myself that I'm French, so there.) 18:43:19 by the way, wasn't there a belgian guy here some time ago? I remember having a conversation with him. 18:44:11 prolly bike 18:44:16 answer the question 18:44:20 are you swiss?? 18:44:28 this IRC contains one intentional error and one accidental error 18:44:44 *IRC line 18:44:50 Phantom_Hoover: no, I'm no Swiss. 18:45:06 are you belgian? 18:45:10 neither. 18:46:10 ...luxembourgishan? 18:47:03 nope. 18:47:33 (hm... do they have an easy citizenship application process? would be nifty to have a passport from them.) 18:49:50 !haskell main = (\s -> putStr s >> putStr " " >> print s) "main = (\\s -> putStr s >> putStr \" \" >> print s)" 18:50:02 main = (\s -> putStr s >> putStr " " >> print s) "main = (\\s -> putStr s >> putStr \" \" >> print s)" 18:50:04 last night i had a dream where i was about to fly to germany and then i realized i'd left my passport at home :( 18:50:12 what abour your wings 18:50:28 boy were my arms tired 18:50:40 luxembourg passport would be nice as it's an EU member 18:51:08 they were in the EU back when it was just about coal and steel 18:51:11 before it was cool 18:51:51 talk about esoteric languages... 18:52:24 Halite: don't worry. it's not Friday yet. 18:53:38 wait a second 18:53:44 Halite, maybe we would if people would make new ones that aren't brainfuck derivatives 18:54:10 Halite: don't be silly. this channel is about esoterica. 18:54:14 are you talking about programming languages or languages you speak 18:54:23 yes. 18:54:26 there are two types of esoteric languaged 18:54:34 what's programming 18:54:39 `WELCOME HALITE 18:54:41 HALITE: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.) 18:55:04 `welcome 18:55:05 Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 18:55:25 esoteric on irc.dal.net 18:55:35 yeah 18:55:45 you can talk about esolangs there 18:55:54 this channel is about spiritualism 18:55:58 so guys 18:56:02 is it really enough to push 18:56:14 or must we, on some level, pull 18:56:14 `WELCOME PHANTOM_HOOVER 18:56:16 PHANTOM_HOOVER: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.) 18:56:40 :( the output Haskell code is going to be so damn verbose 18:56:44 WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN 18:57:02 Large Trustfuck programs compile into ridiculously large Haskell programs 18:57:11 I don't know if this is something I should be too concerned about 18:57:26 Halite, they're just messing with you 18:57:27 ain't no problem. disk space is cheap, and big means enterprisey. 18:58:22 I made a programming language called NAND++ 18:58:40 Halite, no, see, we do that as part of a thesis on whether deception is justified if you do it to noobs 18:59:18 so anyway 18:59:30 is your language brainfuck except + and - are replaced with NAND 18:59:30 Phantom_Hoover, oh. Deception wasn't justified to me. This is for esoteric languages. 18:59:57 Phantom_Hoover, it is similar to Brainfuck but not intentionally that close. 19:00:28 THERE'S HOPE FOR YOU YET 19:01:07 -!- md_5 has quit (Quit: ZNC - http://znc.in). 19:01:25 Phantom_Hoover, what 19:01:50 hello 19:04:00 Halite: put it on the wiki 19:04:13 Hmm. 19:04:27 I want to flip the meaning of ! so that ! on 0 is "most recent compiler" 19:04:37 Fits in more with having a "compiler stack" I think 19:06:09 -!- augur has joined. 19:09:49 o 19:10:43 Phantom_Hoover: are you picking on Halite? 19:10:58 no, mr smith 19:10:59 Sgeo: I guess the worst case scenario is that you end up with some "ridiculously large program" stress tests that crash ghc 19:11:16 Phantom_Hoover, think about what Trustfuck means: People will be able to write compilers for their favorite idiotic Brainfuck derivatives using a Brainfuck-like language! 19:11:34 i am all for this 19:11:43 make 'em suffer 19:15:34 `welcome 19:15:36 Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 19:19:06 I need to create my user page at User:Halite first. 19:19:11 -!- c00kiemon5ter has left. 19:20:06 Considering that I _am_ writing what acts as a large quine, is it ok that so much code is duplicated? 19:20:40 (Once as code and once inside a string) 19:24:39 -!- sivoais has quit (Ping timeout: 252 seconds). 19:24:54 -!- Arc_Koen has quit (*.net *.split). 19:31:07 -!- Halite has quit (Remote host closed the connection). 19:37:56 -!- monqy has joined. 19:38:11 -!- epicmonkey has joined. 19:47:02 @time Taneb 19:47:02 Local time for Taneb is Tue Feb 12 19:47:02 2013 19:51:16 @time lambdabot 19:51:16 I live on the internet, do you expect me to have a local time? 19:51:20 yes, definitely 19:51:29 you have to exist on a server somewhere, don't you? 19:51:41 Could be distributed? 19:53:56 hmm 19:53:59 not easily, but I guess it's possible 19:56:14 Screwmejssel (Finglish ftw.) http://youtu.be/UiYMM0kZvno 19:57:44 finglish? not swenglish? 19:58:06 or maybe it started out as swinnish 19:59:28 "firstly" is a nice non-english word 20:00:44 firstly is not english? what about premièremently? 20:00:59 that's canadian 20:01:04 "firstly" is a real word, I think 20:01:05 leastlastly 20:01:16 not sure though 20:01:24 it might just be "first" as the adverb too 20:01:53 dictionary.org has it, but I think it's just an error that accidentally made its way into some dictionary 20:02:43 -!- oerjan has joined. 20:03:11 *.com 20:04:24 -!- epicmonkey has quit (Read error: Operation timed out). 20:05:04 Remember how last year I went to a UV rave and fell asleep and dreamt of lambda calculus? 20:05:22 no. 20:05:27 yes 20:05:40 oerjan: look what I did today!! 20:05:41 listIsAMonoidInTheCategoryOfEndofunctorsOfHask :: Monoid (FComp (->)) List 20:05:41 listIsAMonoidInTheCategoryOfEndofunctorsOfHask = Monoid { unit = Nat Id List (\_ x -> [x]) , mult = Nat (List :. List) List (\_ -> concat) } 20:05:46 you young people and your functional memories. 20:06:01 Anyway, another UV rave is coming up 20:06:06 what are raves like 20:06:06 Debating going 20:06:14 elliott: OKAY 20:06:19 Loud music that I don't recognize and flashy lights, monqy 20:06:24 Taneb: your memories are inside your head and generally not accessible to other persons 20:06:32 Taneb: sounds bad 20:06:44 monqy: but also dancing and people 20:06:49 sounds real bad 20:07:10 bletch. people. 20:07:46 hmm, how do you fall aslepp on a rave? 20:07:47 people. sometimes they are okay. but too frequently they meddle in my plans. 20:07:53 elliott: I'm laughing so much at that its hilarious 20:07:55 *im 20:07:57 monqy: but consider: you fall asleep and dream of the lambda calculus? 20:07:58 olsner: not taking enough speed 20:08:08 olsner: I have no idea 20:08:13 I think I was tired 20:08:22 I recently slept through an airplane landing. 20:08:26 maybe you had a seizure from the blinkenlights? 20:08:32 i recently slept 20:08:43 olsner: I was awake for a large portion 20:09:00 what kind of music was it 20:09:05 Who knows 20:09:10 lambda calculus music 20:09:12 was it unz unz unz unz or more like WUBWUBWUBkzzzzzzUHUHWUBWUBWUB 20:09:15 Techo I think 20:09:19 So, the first 20:09:28 Not much dubstep 20:09:33 people combinating 20:09:33 i've heard some "rave music" and it's all goofy goofy goofy 20:09:43 i want you to point on this Ishkur's Guide to where the rave touched you: http://techno.org/electronic-music-guide/ 20:09:52 monqy: was it happy hardcore 20:10:01 maaaybe 20:10:13 I don't think I've ever dreamt about lambda calculus 20:10:15 most likely some of it was yes 20:10:17 ah, ishkur's guide, that was a while ago 20:10:25 perhaps if it's CBN and affine and you add extra constants 20:10:34 hmm… I should write a completely affine esolang some day 20:10:41 not sure if it would be even vaguely usable 20:10:45 i've likely dremt about lambda calculus but I don't remember it 20:10:57 one problem is that I can't think of an obvious way to prevent losing all state when you loop 20:12:18 -!- md_5 has joined. 20:12:31 hmm 20:12:38 this representation of monads is not the most usable for programming. 20:12:52 elliott: does it work, just in an unusable way? 20:13:18 programming by way of ghc panics 20:13:52 ais523: well I haven't figured out yet 20:13:55 that's sort of the problem 20:14:01 hmm 20:14:37 ugh, not another "can write it but GHC rejects the type it infers for it" situation 20:15:38 The trick is to get GHC to spit out an error that none of the GHC team were aware existed 20:15:38 elliott: if it helps, my boss is having the same problem with Verity 20:15:45 because its typechecker isn't very good at error messages et 20:15:46 *yet 20:16:00 in this case it's that GHC isn't as good as me yet 20:16:04 I am too advanced 20:16:53 elliott: what if you try to write usable, maintainable code 20:17:09 elliott: you are a neural network processor, a learning computer 20:17:33 Okay, Facebook has suggested I ought to go to this UV rave 20:17:39 Taneb: what is a usable maintainer code 20:17:58 elliott: do you remember my Fueue interpreter? 20:18:07 yes 20:18:09 kinda 20:18:10 Taneb: do you trust Facebook to make suggestions for you? 20:18:12 Imagine that mixed with what you've just posted here 20:18:18 that sounds kind of bad 20:18:24 Usable, maintainable code is the opposite of that 20:18:29 my code looks roughly like this 20:18:31 instance Category c => TensorProduct (FComp c) where 20:18:31 type Unit (FComp c) = Id c 20:18:31 unitorL f = natIso (FComp :. Const1 (natId Id)) Id 20:18:31 (\(Nat f _ trans) -> Nat (Id :. f) f trans) 20:18:34 (\(Nat f _ trans) -> Nat f (Id :. f) trans) 20:18:36 unitorR f = natIso (FComp :. Const2 (natId Id)) Id 20:18:39 (\(Nat f _ trans) -> Nat (f :. Id) f trans) 20:18:41 (\(Nat f _ trans) -> Nat f (f :. Id) trans) 20:18:44 assoc f = natIso (AssocL FComp) (AssocR FComp) 20:18:46 (\(Prod m@(Nat f _ _) (Prod n@(Nat g _ _) o@(Nat h _ _))) -> Nat ((f :. g) :. h) (f :. (g :. h)) 20:18:49 -!- cuttlefish has quit (Ping timeout: 276 seconds). 20:18:49 (\o' -> m ! (n ! (o ! o')))) 20:18:52 (\(Prod m@(Nat f _ _) (Prod n@(Nat g _ _) o@(Nat h _ _))) -> Nat (f :. (g :. h)) ((f :. g) :. h) 20:18:55 (\o' -> m ! (n ! (o ! o')))) 20:18:57 did i break cuttlefish 20:19:02 ais523: of the three people who've suggested I go, two are involved in the organization of the party 20:19:16 Taneb: I'm not sure if that's a good thing or a bad thing 20:19:19 And the third isn't invited and probably isn't aware of any details of it 20:19:26 hmm 20:19:34 what does UV mean anyway 20:19:39 ultraviolet 20:19:45 i always thought it was "ultraviolet" too but that doesn't make much sense 20:20:03 monqy: it's a party where they illuminate the area with one of the safer wavelengths of UV 20:20:08 it means ultra violent 20:20:12 and it makes people's clothes glow if they use the right sort of washing powder 20:20:18 elliott: now that's sensible 20:20:21 And throw UV-reactive paint on people 20:20:28 -!- boily has quit (Ping timeout: 272 seconds). 20:20:36 ais523: i hear that sort of thing makes old people look uglier. weird skin stuff. 20:20:52 Taneb: I didn't realise that was a usual part of the party 20:21:01 is it to compensate for people who've used the wrong sort of washing powder? 20:21:04 Okay, someone's suggested I DJ with him 20:21:09 ais523: perhaps 20:21:12 can i pay money to see taneb dj 20:21:25 also can i not pay money to see taneb dj. that would be preferable because i would save money 20:21:26 However, I seem to remember him being banned from DJing 20:21:36 did he play the wrong kinda music 20:21:36 oh no 20:21:44 did he goof it up 20:21:48 http://en.wikipedia.org/wiki/Extreme_ultraviolet_Imaging_Telescope 20:21:50 really extreme 20:21:55 i like how the ultraviolet is not capitalised for no reason at all 20:22:09 uncapitalised for extra emphasis 20:22:18 elliott: you can fix it, you know 20:22:28 His suggestion has received what is called in the social-networking world as a "Like" 20:22:46 I shall now reply with "Tempting..." 20:23:02 oh no 20:23:09 did you know that likes follow you around the internet and steal your browser? 20:23:23 I thought that was Phantom_Hoover 20:23:42 He even hacked into my Tumblr account to write his blog 20:23:50 https://www.youtube.com/watch?v=2EC3ggFv7cY is the kind of music you listen to taneb. this is important 20:23:54 Could not deduce (Dom (Id (Cod (Id (Cod t0)))) ~ (->)) 20:23:56 uuugh 20:24:10 -!- boily has joined. 20:24:23 ais523: can you fix my code for me 20:24:28 stupid breakers. 20:24:36 elliott: if it's written in highly category-theoretic Haskell, no 20:24:38 I literally can't 20:24:54 unless the mistake is something obvious enough that you'd have found it already 20:24:58 well i wouldn't go so far as to say highly category-theoretic 20:25:19 wow theres whole youtube playlists full of remixes of this "ravers fantasy" thing 20:25:38 taneb i think this is big. maybe you can ca$$$$h in on it 20:25:39 monqy: why are you surprised? 20:25:42 all I did is develop functors up to natural transformations so I can define tensor products and the category of endofunctors with functor composition as the tensor product and then monoids!!! 20:26:51 elliott: well isn't that more category-theoretic than average for Haskell? 20:27:27 ais523: well maybe 20:27:47 nobody knows really 20:28:22 I find it hilarious that this is even nonobvious :) 20:28:55 is it to compensate for people who've used the wrong sort of washing powder? <-- what about people who carefully apply different sorts of washing powder in patches 20:29:10 Then they are reet hard liek 20:29:14 oerjan: I imagine that'd look quite good under UV, but I've never tried 20:30:58 ais523: also do you like my example Quiler compiler 20:31:09 oerjan: yes 20:31:25 except I'm a bit confused about the languages 20:31:32 it's written in Perl and targets Haskell? 20:31:56 hmm… what does the output target? 20:33:01 `addquote did you know that likes follow you around the internet and steal your browser? I thought that was Phantom_Hoover 20:33:06 963) did you know that likes follow you around the internet and steal your browser? I thought that was Phantom_Hoover 20:35:07 ais523: per the definition of a Quiler compiler, the output also must target haskell 20:35:17 oerjan: indeed 20:35:36 so I guess what's confusing me, is why there appears to be a Perl quine in there 20:36:37 there isn't. but since quines are boring quiler compilers, i made this one keep a history, and the first (well, last) item of that is the original perl 20:37:59 well i guess there is, in the sense that it actually does insert a representation of the original perl program into the haskell 20:38:35 If you close your eyes does it almost feel like nothing has changed at all? 20:39:00 AAAA THE PAIN. no. 20:40:20 putStr . snd $ last history from ghci with the module loaded will print the original perl from any of the iterated compilers in haskell. 20:40:53 well should, anyway, i haven't tested more than one step. 20:42:17 * Sgeo throws everyone onto a stack of compilers 20:42:38 kinky 20:42:39 hi Sgeo 20:43:00 Well, my current thoughts re implementation is that the generated Haskell code has a stack of compilers 20:43:07 * boily puts maple syrup on his compiler stack. 20:44:16 Yay, a delusional recruiter emailed me 20:44:41 "We have a requirement matching your profile with one of our client." 20:44:47 Is it ok to make code be on a very long line if it makes my life sufficiently easier? <-- since i did just that with the quiler compiler, i have to say yes, although i briefly considered trying to reformat it 20:44:51 "Minimum 5 years working with relational databases and SQL, ideally on an Oracle environment" 20:44:58 * Sgeo does not have that 20:45:05 -!- Taneb has quit (Quit: Page closed). 20:45:14 Sgeo: the recruiter will probably just lie and say you have the experience 20:45:43 :/ 20:46:28 is this your recruiter, or the company's recruiter? 20:46:43 actually I'm not sure it matters, they tend to be equally delusional both ways 20:47:46 haha 20:47:48 they ust called me 20:48:11 Sgeo: btw are you familiar with haskell's "...\n\ \..." (still annoying) syntax for multiline strings? 20:48:20 something is seriously wrong with the programming job market that recruiters continue to behave the way they do 20:48:36 -!- Taneb has joined. 20:48:50 is it that they're compensated in a way that gives them shitty incentives from the hiring company's point of view 20:48:56 but the hiring companies don't realize for some reason? 20:49:02 oerjan, no 20:49:14 `resume 20:49:15 rsum 20:49:40 > "test\n\ \like this" -- the whitespace could contain newlines, but not in lambdabot 20:49:42 "test\nlike this" 20:49:59 ~eval "test\n\ \like this" 20:50:08 oh. yeah. must start bot first. 20:50:23 oerjan, is there a function similar to show that prints strings like that, rather than the one-liner version? 20:50:24 -!- cuttlefish has joined. 20:50:24 HAVE YOU TRIED PLUGGING IN THE BOT 20:50:25 ~eval "test\n\ \like this" 20:50:28 "test\nlike this" 20:50:51 Sgeo: no but you can write one using lines 20:51:31 I was just about to call a (different) recruiter when that recruiter called me 20:52:15 you should try to get a job without dealing with recruiters, if at all possible 20:52:47 You have always worn your flaws upon your sleeve, and I have alsways bured mine deep beneath the ground 20:52:56 best way is through people you know 20:53:06 or you can find companies you think look interesting and email them directly 20:54:13 Dig them up, let's finish what we've started 20:54:20 Dig them up, so nothing's left untouched 20:55:01 elliott: how would you like post access on phantom-hoover.tumblr.com 20:55:09 kmc, well, this one practically offered an interview, just need to work out when 20:55:24 Taneb: i dont know if i can deal with that kind of responsibility, sorry 20:55:26 Not sure if recruiter or more representative person from the company 20:55:28 i suggest asking monqy 20:55:35 or beaqy 20:55:36 hi 20:55:44 Sgeo: the thing about doing it automatically is that to get nice haskell you want to include the right indentation before the final \ 20:56:16 Phantom_Hoover: I'd bet you'd like the ability to post onto your own blog! 20:57:34 no 20:57:35 dont do tit 20:57:36 thats cheating 20:59:23 On another note, my computer still doesn't work properly 20:59:34 And what I really want to do is implement Wordeger 20:59:59 In Haskell 21:01:10 > let mlShow _ "" = show ""; mlShow ind s = foldr1 merge (lines s) where merge s1 s2 = init (show $ init s1) ++ "\\n\\" ++ replicate ind ' ' ++ '\\' : tail (show s2) in var $ mlShow 2 "test\ning\n ho" 21:01:13 "tes\n\ \\"in\\n\\ \\ ho\"" 21:01:21 oh 21:01:41 > let mlShow _ "" = show ""; mlShow ind s = foldr1 merge (lines s) where merge s1 s2 = init (show $ init s1) ++ "\\n\\\n" ++ replicate ind ' ' ++ '\\' : tail (show s2) in var $ mlShow 2 "test\ning\n ho" 21:01:44 "tes\n\ 21:01:45 \\"in\\n\\\n \\ ho\"" 21:01:57 oops 21:02:05 > lines "test\ning\n ho" 21:02:07 ["test","ing"," ho"] 21:02:13 > lines "test\ning\n" 21:02:15 ["test","ing"] 21:02:21 ok that is bad. 21:02:42 * Sgeo is too lazy to deal with that 21:02:42 lines doesn't preserve the final newline information 21:05:06 oerjan: Also: 21:05:15 > (unlines . lines) "test\ning\n ho" 21:05:18 "test\ning\n ho\n" 21:05:24 how do you do multiline strings in Haskell? <-- see above 21:05:33 ion: um that's what i said. 21:06:30 What i said wasn’t about lines alone. 21:07:30 no but it follows from it by sheer logic 21:08:07 Is randomIO/randomRIO generally a bad idea compared to newStdGen and then random/randomR ? <-- i think the fanatics will tell you not to use StdGen 21:08:46 i cannot remember what they suggest instead, though. 21:09:21 (note: random{,R}IO also use StdGen.) 21:10:06 also there's a random monad package somewhere 21:10:49 oerjan: it's the global StdGen you're not meant to use, AIUI 21:10:59 though if you are doing "serious random work" then you probably want to use another package entirely 21:11:34 i think i was alluding to the latter 21:12:26 elliott: Well, newStdGen splits off the global StdGen, so are you meant to supply your own seed value to mkStdGen instead? 21:16:44 I think you're meant to use newStdGen once and then maintain it yourself or some such 21:17:08 StdGen sucks as a RNG anyway 21:17:15 mwc256 for lyfe 21:17:45 "Where's the volume control? 21:17:45 There isn't one. If your fans want to change the volume of the audio on Bandcamp, they adjust their computer's volume -- simple as that. We're not trying to build the ultimate platform for them to stream your albums while they play World of Warcraft in another window (which we completely agree would require an independent volume control). " 21:17:49 :( 21:18:08 i,i pulseaudio 21:19:45 #cslounge is leaking 21:20:09 is it 21:21:17 Sgeo: PulseAudio implements its own independent volume control for each program 21:21:21 just in case they don't have one 21:21:28 Sgeo: haha 21:22:38 monqy, "i,i" is a thing that a lot of #cslounge ers do 21:23:52 ais523: It is also very possible for the application in question to make its own (in-the-UI) volume control the same control that is the PulseAudio control, if it wants to. 21:24:35 I'm pretty sure that the best way to deal with pulseauio 21:24:37 is to get rid of it 21:25:03 coppro: keep it around so that you can uninstall it to fix audio problems? 21:25:22 ais523:`quote pulseaudio 21:25:23 btw, I've never had problems with pulseaudio that can't be fixed with "killall pulseaudio", except for when I was testing idim 21:25:24 bah 21:25:27 :) 21:25:28 `quote pulseaudio 21:25:29 I’m pretty sure pulseaudio is better than anything else we have, although a lost of its functionality should be in the kernel. 21:25:29 No output. 21:25:37 a lot 21:25:43 I'm pretty sure I had a quote here along the lines of 21:26:10 "The correct solution to solving all audio problems on linux is 'sudo apt-get remove pulseaudio' regardless of whether pulseaudio is installed or whether you're on debian" 21:26:24 indeed 21:30:42 I could've been quoted as saying that too 21:34:03 I guess so could anyone who had a sound problem in linux at some point during the last N years 21:37:32 coppro: You did say something like that -- http://codu.org/logs/log/_esoteric/2012-10-06#182636coppro -- but I don't see it being made a quote. 21:39:33 `pastequotes pulseaudio 21:39:39 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.6248 21:39:54 good quotes 21:44:09 very zen 21:44:41 `pastequotes monqy 21:44:50 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.10519 21:46:31 -!- monqy has quit (Quit: hello). 21:51:00 -!- Arc_Koen has joined. 21:51:02 -!- Snowyowl has joined. 21:51:56 `pastequotes kmc 21:52:02 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.22224 21:52:28 :x 21:53:56 that's hilarious 21:55:26 631 is indeed accurate 21:55:34 hi Snowyowl btw 21:55:39 `welcome Snowyowl 21:55:41 Snowyowl: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 21:56:08 mezzacotta almost makes sense today 21:56:26 -!- Anvilgames has joined. 21:56:27 -!- Anvilgames has quit (Client Quit). 21:57:13 oerjan: is that better than average? 21:57:20 Anvilgames seemed cool 21:57:24 Yes, this is a good mezzacotta. 21:57:47 definitely 21:57:57 `quote 631 21:57:59 631) You should get kmc in this channel. kmc has good quotes. `quote kmc 686) COCKS [...] truly cocks Well, in theory. 21:58:13 elliott: you have to admit he picked up after that 21:58:15 Taneb: I agree, although I am biased here. 21:58:24 or maybe began a long decline 21:58:35 `quote 873 21:58:36 873) it's kind of the multiocular O of countries, if you will 21:58:38 which country was that 21:59:00 `pastelogs multiocular O 21:59:37 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.9075 22:00:38 Liechtenstein 22:01:28 ah 22:01:31 seems correct 22:01:42 `url logs 22:01:42 `qc 22:01:44 963 quotes 22:01:44 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/logs 22:01:49 er 22:01:54 `quote 963 22:01:55 `url bin/log 22:01:55 liechtenstein was invented as a scheme to get votes in the election of holy roman emperor 22:01:56 963) did you know that likes follow you around the internet and steal your browser? I thought that was Phantom_Hoover 22:01:56 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/log 22:01:59 `quote 962 22:01:59 -!- boily has quit (Quit: Poulet!). 22:02:01 962) I'm a story about the prohibition of chocolate 22:02:03 `quote 961 22:02:05 and ruled for centuries by people who had never been there 22:02:05 961) my university spam filter thinks it's okay for someone i have never met to discuss "usd 2,142,728.00 dollars" with me and "NEED MY HELP" etc. however, inviting me to a conference? such a nigerian thing to do. 22:02:08 -!- cuttlefish has quit (Remote host closed the connection). 22:02:11 `quote 960 22:02:13 960) The other day (well, the other week) my wife was annoyed with me because she had a dream where I had gotten us plane tickets into a #esoteric meet somewhere in the middle of Greenland in the winter, without asking her first. Plus she wasn't really interested in a #esoteric meet at all, let alone one in Greenland, let alone one in Gree 22:02:21 960's being chopped off is unfortunate 22:02:35 as it is clearly the best quote in the file 22:02:48 `pastequotes Greenland 22:02:54 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27102 22:03:03 oh, oops 22:03:04 -!- hogeyui has quit (Ping timeout: 272 seconds). 22:03:43 `run quote 960 | tail -c400 22:03:45 fizzie> The other day (well, the other week) my wife was annoyed with me because she had a dream where I had gotten us plane tickets into a #esoteric meet somewhere in the middle of Greenland in the winter, without asking her first. Plus she wasn't really interested in a #esoteric meet at all, let alone one in Greenland, let alone one in Greenland 22:03:55 well that wasn't much 22:03:58 elliott: I'd ask you to guess the reason behind the oops, but it's unlikely you could 22:04:01 so it'd just be cruel 22:04:06 `run quote 960 | tail -c300 22:04:08 re I had gotten us plane tickets into a #esoteric meet somewhere in the middle of Greenland in the winter, without asking her first. Plus she wasn't really interested in a #esoteric meet at all, let alone one in Greenland, let alone one in Greenland in wintertime. (I think it's kind of cold there?) 22:04:13 ais523: what is it? 22:04:15 oops right 22:04:26 elliott: the website I'm trying to update had a broken certificate 22:04:36 with the result that I'm trying to view it on the computer I'm editing it on, via ssh -X 22:04:41 `quote 960 | paste 22:04:42 No output. 22:04:46 `run quote 960 | paste 22:04:52 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.3535 22:04:55 and Firefox gets confused if you try to run it twice on the same X display, even if it's on two different physical computers 22:05:18 just imagine being fizzie's wife and having a dream about fizzie buying you plane tickets to an #esoteric meet in the middle of greenland in the winter without asking you 22:05:25 is there any greater experience in life one could have 22:06:01 `quote lambda calculus 22:06:01 `quote told the cat 22:06:02 110) Gregor-P: I don't think lambda calculus is powerful enough \ 539) I think this has taught us one thing. We can't teach itidus20 lambda calculus by comittee 22:06:03 488) That's the stupidest thing I've heard all morning. (Though I did wake up five minutes ago, so I haven't had a chance to hear very much.) The "Why are you still asleep? I told the cat to wake you up." comment does come pretty close, though. 22:06:21 fizzie: is your wife also responsible for 488, or was that something else? 22:06:47 -!- hogeyui has joined. 22:07:00 quintopia: did you have a chance to look at my descriptions of omnipotence and anticipation2? 22:07:08 -!- nollapiste has joined. 22:07:33 `welcome hogeyui: nollapiste 22:07:35 hogeyui:: nollapiste: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:07:40 oh, hmm 22:08:06 that was interesting, why did it double the :? 22:08:26 probably because it splits on whitespace 22:08:44 `welcome windmill windmill for the land 22:08:46 clever 22:08:46 windmill: windmill: for: the: land: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:09:14 we need some way of inserting a literal space 22:09:35 `run bin/welcome "windmill windmill for the land" 22:09:37 windmill: windmill: for: the: land: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:09:40 :( 22:09:59 `run bin/welcome "windmill windmill for the land" | sed 's/://' | sed 's/://' | sed 's/://' | sed 's/://' 22:10:02 windmill windmill for the land: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:10:02 Snowyowl: nicks don't contain spaces 22:10:12 Snowyowl: however you can use `@ directly 22:10:22 or wait can you 22:10:33 dunno 22:10:38 `run @ "windmill windmill for the land" ? welcome 22:10:39 Can't exec "windmill": No such file or directory at /hackenv/bin/@ line 2. \ windmill: 22:10:45 nope 22:11:12 @ seems to split on space too, even if it has > 1 argumetn 22:11:15 *nt 22:11:29 oerjan: probably because ` doesn't do argument splitting 22:11:29 i may have designed it to do so 22:11:34 ais523: yep 22:11:55 oerjan: you wrote @? 22:11:59 I thought writing @ was elliott's job 22:12:15 `cat bin/@ 22:12:17 ​#!/usr/bin/perl -w \ $_ = join " ", @ARGV; if (s/^([^ ]*) +([^ ]*) +//) { print "$1: "; exec $2, $_; } 22:12:18 (retroactive log fixer, try handling /that/) 22:12:24 looks perly, so probably not elliott 22:12:32 oerjan: I think you missed the joke 22:12:36 ... 22:12:37 elliott probably got it, though 22:12:42 *`@ 22:12:55 * oerjan tickles ais523 with feather 22:13:06 not fair! 22:13:24 why not swat me instead, it's what you usually do 22:13:41 * oerjan obliges -----### 22:14:04 ow! 22:14:34 Does Hackego not like cd? 22:14:50 `url bin/@ 22:14:51 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/bin/%40 22:15:02 `url .. 22:15:04 Snowyowl: sure it does, but it isn't preserved between ` invocations 22:15:04 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/.. 22:15:24 `cd quotes 22:15:25 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: cd: not found 22:15:34 Snowyowl: you need to use `run for shell commands 22:15:39 ah 22:15:41 there's no such thing as /bin/cd, mostly because it wouldn't work 22:15:55 actually, I can think of a way to implement /bin/cd 22:16:00 it involves attaching a debugger to its parent 22:16:04 /bin/cd should ptrace the parent process and execute... yes 22:16:07 and forcing it to run a chdir syscall 22:16:19 good idea? 22:16:23 best idea 22:16:56 I don't know much about Linux, but you're scaring me anyway. 22:17:18 Snowyowl: well what we're suggesting is an incredibly bad idea, really :) 22:17:33 you can do that sort of thing on Windows too 22:17:42 Raymond Chen uses it as a reductio ad absurdum, on occasion 22:20:01 -!- carado has quit (Ping timeout: 246 seconds). 22:20:39 actually a friend of mine once used that trick to good practical effect 22:20:48 his window manager was hosed because its cwd was a stale NFS file handle 22:21:30 kmc: did he have a syscall injection process handy? 22:21:36 (can gdb do that?) 22:22:28 can't he close and restart the window manager? 22:22:45 gdb can more or less do that 22:22:58 Snowyowl: yeah, you lose WM state though, and depending on how your xsession is set up, it might want to restart all X processes 22:23:11 weboflies can do that, but (luckily for the sake of humanity) it can't attach to currently existing processes 22:23:23 i do something like "xmonad & echo $$ > $HOME/.xsession.pid; while true; do sleep 86400; done" 22:23:30 so that i can kill / restart my WM easily 22:24:38 I just control-alt-f1 and do DISPLAY=:0.0 unity & 22:24:47 in extreme cases, metacity --replace, rather than unity 22:24:50 what's the "while true" for? 22:24:55 although the lack of any sort of penalty hurts 22:25:10 Snowyowl: it looks like it's trying to intentionally halt the process 22:25:15 and the sleep is to prevent it busylooping 22:25:30 Snowyowl: xdm invokes ~/.xsession as a script, once that script ends it restarts the X server and goes back to the login prompt 22:25:34 that snippet is from my ~/.xsession i mean 22:25:46 there may of course be better ways to do all of this 22:26:04 I think you just went over my head again. 22:26:19 Snowyowl: basically it's making the program not exit 22:26:34 because if it exited, the login prompt would think that kmc had logged out 22:26:55 yeah, typically you just end the file with "xmonad" or whatever your window manager is, but in that case if the WM dies you get logged out 22:27:24 Thanks, I understood that. 22:27:45 -!- Taneb has quit (Quit: Page closed). 22:27:55 (I'm feeling very un-leet as a result of this conversation.) 22:28:01 well xmonad knows how to reload itself at least! 22:28:11 elliott: is that lazy and pure, though? 22:29:20 Snowyowl: sorry :/ 22:29:34 oh, don't apologise. 22:30:54 all right 22:31:18 i hate that hacker culture is so obsessed with being h4rdc0re rather than learning and teaching :/ 22:31:32 kmc: it isn't 22:31:40 you're thinking of script kiddie culture 22:31:56 no i'm thinking of Reddit and HN and the endless wanking over who's a "real hacker" 22:32:17 anyway if you want me to expand more on any of the things i say, just ask 22:32:19 kmc: I do learn, and occasionally teach, it's just that I'm a .net developer and I don't have anything much to do with Linux. 22:32:20 always happy to 22:32:23 *nod* 22:33:09 Snowyowl: how depressing, I like it when .NET programs run on Linux too 22:33:15 but so many .NET developers don't pay attention to portability 22:34:02 Ah. 22:34:08 C# is a pretty nice language 22:34:19 I personally dislike it, too much bloat 22:35:13 how so? 22:35:23 although I like Perl, so… 22:35:42 Snowyowl: it has a similar problem to C++ where you can't figure out what a line of code does, even if it's apparently obvious, without knowing all the context 22:36:52 also like every other language on the planet 22:36:57 with functions 22:37:43 elliott: well, yes 22:37:51 it's to do with the proportion of lines of code that act like that 22:37:58 at least in Perl, you have the certainty of that proportion being 100% 22:38:04 in C#, it doesn't apply to } 22:38:45 also I don't like things like the existence of both value and reference types 22:40:37 I don't get that, even in C++. Was pointer arithmetic so hard that they added reference types as well? 22:41:09 no, reference types in C++ are to solve a different issue (related to operator overloading) 22:41:17 and then they got a little out of hand 22:41:25 most of C++ is features that try to work around deficiencies in other features 22:47:23 well pointers are kind of bad 22:47:27 in that they are rampantly unsafe and cause tons of bugs 22:47:47 oh, definitely 22:48:11 but that's not the reason C++ added references 22:48:26 that was more to Snowyowl 22:48:38 and most possible pointer bugs that don't involve pointer arithmetic also exist with references 22:48:47 -!- sivoais has joined. 22:48:59 (ever tried to return a pointer to something locally allocated from a function? returning a reference to something locally allocated from a function doesn't work so well either) 22:49:16 `welcome sivoais 22:49:18 sivoais: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:49:22 any idea why lots of new people are joining today? 22:49:29 with random-looking nicks? 22:49:36 those aren't new 22:49:41 you're just insane 22:50:08 * ais523 blames it on the Feather 22:51:36 anyway, if they aren't new, why have I never heard of them? 22:52:39 because I'm not on very often? 22:53:13 perhaps 22:53:16 ais523: because you don't pay attention 23:02:33 -!- variable has changed nick to const. 23:04:04 oh no, someone's SSA'd variable! 23:05:18 -!- Snowyowl has quit (Quit: Page closed). 23:09:57 `olist 23:09:58 shachaf oerjan Sgeo 23:11:15 olist? 23:11:26 is that a list of people who have complained about `list? 23:11:36 `cat bin/list 23:11:37 ​#!/bin/sh \ oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//; s/.*\* //; s/ .*//"); cd $oldpwd; fgrep -q "$name" bin/list || echo -n "$name " >> bin/list; echo cuttlefish boily elliott Taneb HackEgo shachaf Sgeo monqy 23:11:56 coppro: that's cheating :) 23:12:07 It's a list of people who care about OOTS 23:12:12 aha 23:12:19 I care! 23:12:25 Append your nick to the list 23:12:28 no 23:12:55 I should have pulled a zzo38 and said "Append your nick to the list unless you don't want to" 23:13:27 `run sed -i 's/Sgeo/Sgeo coppro' bin/olist 23:13:32 can't have inaccurate lists in the bot. 23:13:32 sed: -e expression #1, char 18: unterminated `s' command 23:13:34 `run sed -i 's/Sgeo/Sgeo coppro/' bin/olist 23:13:37 No output. 23:13:39 elliott: please don't 23:13:42 :( 23:13:52 `run sed -i 's/coppro//' bin/olist 23:13:57 No output. 23:15:29 but the null string doesn't care about OOTS! 23:17:29 `rm bin/list 23:17:33 No output. 23:19:05 woohoo, hackego edit wars 23:19:36 `revert 23:19:38 -!- sebbu2 has joined. 23:19:39 Done. 23:19:59 shachaf: I don't see what you're complaining about here, nobody even ran `list 23:20:19 and you'd been pinged a few lines earlier 23:20:27 `run sed -i 's/Sgeo /Sgeo/' bin/olist 23:20:37 No output. 23:20:58 -!- sebbu has quit (Ping timeout: 272 seconds). 23:34:01 so how'd halite turn out 23:37:09 -!- copumpkin has quit (Ping timeout: 252 seconds). 23:37:45 -!- copumpkin has joined. 23:39:51 -!- FreeFull has quit (Ping timeout: 252 seconds). 23:42:36 Phantom_Hoover: it was a chatbot? I assumed it was a human 23:43:06 you never know 23:43:14 we were all fooled by tiffany, weren't we 23:46:10 -!- FreeFull has joined. 23:48:25 `olist <-- that's not new, i'm pretty sure i did `olist for it before. 23:49:06 `pastelogs \ http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19012 23:50:45 hm wrong syntax 23:51:02 `pastelogs \bolist 23:51:18 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.19003 23:51:18 (next time i might look it up) 23:52:04 wait, _both_ i and Sgeo did `olist. 23:52:24 oh no, a week apart 23:53:59 Easy way to extend lists, appending echo foo to it? 23:54:20 `run echo "echo foo" > bin/testlist 23:54:23 No output. 23:54:27 Sgeo: Easier: See smlist. 23:54:28 `run chmod a+x bin/testlist 23:54:32 No output. 23:54:44 `run echo "echo bar" >> bin/testlist 23:54:48 No output. 23:54:49 `testlist 23:54:50 foo \ bar 23:54:53 `echo Sgeo >> bin/smlist 23:54:54 `cat smlist 23:54:55 Sgeo >> bin/smlist 23:54:55 cat: smlist: No such file or directory 23:54:57 `smlist 23:54:59 shachaf monqy elliott 23:55:01 `run echo Sgeo >> bin/smlist 23:55:03 `smlist 23:55:04 No output. 23:55:05 shachaf monqy elliott Sgeo 23:55:10 what's smlist 23:55:14 super mega list 23:55:22 i want in 23:55:29 go for it! 23:55:32 `run cat bin/smlist 23:55:33 tail -n+2 "$0" | xargs; exit \ shachaf \ monqy \ elliott \ Sgeo 23:56:03 `run cat bin/emptylist # template 23:56:04 tail -n+2 "$0" | xargs; exit 23:56:07 I get it 23:56:23 Mostly 23:56:45 `run sed -i 'g/Sgeo/d' bin/smlist # does this work?help 23:56:47 sed: -e expression #1, char 2: extra characters after command 23:56:50 I get the concept but not the specific workings 23:56:52 I guess not. 23:57:19 That it reads itself and does something with all the lines except the first 23:57:27 `run sed -i '/Sgeo/d' bin/smlist # does this work?help 23:57:32 No output. 23:57:36 `run cat bin/smlist 23:57:38 tail -n+2 "$0" | xargs; exit \ shachaf \ monqy \ elliott 23:57:43 yay 2013-02-13: 00:05:21 `run ls bin/*list* 00:05:23 bin/emptylist \ bin/list \ bin/liste \ bin/lists \ bin/makelist \ bin/olist \ bin/pbflist \ bin/slist \ bin/smlist \ bin/testlist 00:05:53 `cat bin/liste 00:05:57 echo Taneb atriq Ngevd Fiora nortti Sgeo alot monqy 00:05:59 `cat bin/list 00:06:01 ​#!/bin/sh \ oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//; s/.*\* //; s/ .*//"); cd $oldpwd; fgrep -q "$name" bin/list || echo -n "$name " >> bin/list; echo cuttlefish boily elliott Taneb HackEgo shachaf Sgeo monqy 00:06:08 `rm bin/list 00:06:11 No output. 00:06:13 `revert 00:06:16 Done. 00:06:51 `run rm bin/liste #IIRC this was the result of someone misunderstanding sed flag syntax 00:07:00 No output. 00:07:13 (specifically, that sed -ie is not equivalent to sed -i -e) 00:07:47 (the former uses the e as backup suffix) 00:08:06 `run ls bin/*e 00:08:12 bin/addquote \ bin/define \ bin/delquote \ bin/fortune \ bin/fueue \ bin/google \ bin/hyfinate \ bin/pastaquote \ bin/paste \ bin/quine \ bin/quote \ bin/relcome \ bin/resume \ bin/runce \ bin/shove \ bin/translate \ bin/wehlcohme \ bin/welcome 00:08:53 `cat bin/runce 00:08:54 ​#!/bin/bash \ t=`tempfile` \ echo "$@" | gcc -o $t -x c - 2>/dev/null && $t \ rm $t 00:09:04 `cat bin/runc 00:09:05 ​#!/bin/bash \ t=`tempfile` \ echo -e "$@" | gcc -o $t -x c - 2>/dev/null && $t \ rm $t 00:09:12 `rm bin/runce 00:09:15 No output. 00:09:33 `cat bin/relcome 00:09:35 ​#!/bin/sh \ welcome $@ | python -c "print (lambda s: ''.join([chr(3)+str(i%16)+s[i] for i in range(len(s))]))(raw_input())" 00:09:38 `relcome 00:09:41 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/relcome: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/relcome: cannot execute: Permission denied 00:10:18 `sh bin/relcome test 00:10:19 sh: Can't open bin/relcome test 00:10:22 `run sh bin/relcome test 00:10:24 No output. 00:10:30 this is not the greatest script 00:10:35 you think 00:12:46 `run sed -i /shachaf/d bin/list 00:12:50 No output. 00:14:20 -!- augur has quit (Remote host closed the connection). 00:15:53 `cat /bin/list 00:15:55 cat: /bin/list: No such file or directory 00:15:59 `cat bin/list 00:16:01 ​#!/bin/sh 00:16:04 -!- sebbu2 has changed nick to sebbu. 00:16:04 `revert 3 00:16:06 shachaf: you fail at sed 00:16:08 `cat bin/list 00:16:15 ais523: um... you fail at `revert 00:16:17 err, yes 00:16:21 `help 00:16:22 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 00:16:24 I thought that might be it 00:16:28 you need to look up revision on the site every time if you want to revert stuff 00:16:36 Done. 00:16:38 cat: bin/list: No such file or directory 00:16:49 oh well, you can revert my revert, right? 00:17:25 `revert 87c64ef250a0 00:17:26 or I can 00:17:39 ais523: I hope that isn't the revert commit 00:17:42 or in fact that won't even work 00:17:48 ais523: I think that command did what I expected. 00:17:48 "`revert rev" takes the revision _number_ (not hash) to revert _to_ 00:17:51 Done. 00:17:57 elliott: well it's not listing hashes 00:17:59 `ls 00:18:02 ​= 0 \ bin \ brainfuck.fu \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ fueue.c \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ test \ u \ wisdom \ zalgo.hs 00:18:04 err, not listing numbers 00:18:05 just hashes 00:18:07 ais523: If you want something more fine-grained, feel free to do it yourself. 00:18:08 ais523: you click the commit 00:18:10 `cat bin/list 00:18:12 elliott: I did 00:18:14 it just gave me more hashes 00:18:17 ​#!/bin/sh \ oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//; s/.*\* //; s/ .*//"); cd $oldpwd; fgrep -q "$name" bin/list || echo -n "$name " >> bin/list; echo cuttlefish boily elliott Taneb HackEgo shachaf Sgeo monqy 00:18:19 ais523: "changeset :" 00:18:21 look closer. 00:18:23 anyway the revert to hash worked 00:18:24 `rm bin/list 00:18:28 No output. 00:18:35 `revert 00:18:38 Done. 00:21:09 anyway the revert to hash worked <-- wait it did? this changes *EVERYTHING* 00:21:26 that's a lot of change 00:22:00 as expected for a change all the way from revision 3. now why did i click that.. 00:24:20 had to kill my browser 00:24:32 `cat canary 00:24:45 foo 00:24:48 I'm wondering if /that/ changed too 00:24:51 apparently so 00:24:53 `run echo chirp >canary 00:24:58 No output. 00:25:02 `run hg diff 2116:2112 | paste 00:25:12 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.12699 \ 2116:2112: No such file or directory 00:25:26 ffff 00:25:56 oerjan: -r 2116 -r 2112? 00:25:58 or the other way around 00:26:31 `run hg diff -r 2116 -r 2112 | paste 00:26:41 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.12320 00:26:49 why did i have this memory of colon working... 00:27:48 oerjan: aliens planted it 00:30:16 anyway knowing that hashes work should make things easier. although it will make the resulting descriptions even harder to interpret. 00:31:32 ais523: although a plain `revert would also have worked - the other 2 commands made no changes 00:31:45 I didn't realise it skipped no-change commands 00:31:52 instead of `revert 3, that is 00:32:52 `perl -e 'print "testing\015ho"' 00:32:55 No output. 00:33:08 `perl -e 'print "testing\015ho";' 00:33:09 No output. 00:33:12 what 00:33:32 oh duh 00:33:37 you need `run 00:33:37 `run perl -e 'print "testing\015ho";' 00:33:39 testing 00:33:41 right 00:33:48 \015 is \r? 00:33:53 I'm more used to seeing it in hexadecimal 00:33:57 oh 00:34:04 ais523: yes i read them earlier 00:34:12 what did you think? 00:34:32 ais523: made sense to me. don't know if they'd make sense to a noobie though :P 00:35:04 ais523: do you think they are amenable to the color-coded symbol system? or if it does not encompass their strategies? 00:35:46 I forgot the color-coded symbol system 00:36:02 omnipotence can probably be described like that, at least 00:36:05 less sure about anticipation2 00:36:15 omnipotence is just a bunch of standard components glued together in a very nonstandard way 00:36:25 (poke + full-tape clear has probably never been tried before) 00:36:58 whereas anticipation2 is a synchronizing vibration program, the only other program like that is the original anticipation, as far as I know 00:48:23 hmm… you know those random dating adverts which have a "here are people living nearby" thing 00:48:35 I assumed that they were telling the technical truth, just not useful 00:48:48 but… I observed the same advert twice on the same page, same photo, different name 00:49:07 that seems to take more effort than doing it in a not easily disprovable way! 00:49:21 -!- DHeadshot has joined. 00:57:29 Ugh 00:57:36 hi 00:57:50 I really want access to a nice dynamically scoped way to fake being standard IO 00:58:49 Hmm, I see another way to solve my probkem 00:58:52 problem 00:59:14 That doesn't require some sort of library that makes it easy to write a shim I/O with multiple interpretations 01:00:12 -!- TeruFSX has joined. 01:03:33 -!- stuntaneous has joined. 01:04:53 elliott: oh, an observation I had a while ago: lexical scoping works by replacing the variable names as you enter and leave the scope, and dynamic scoping by replacing the variable values 01:05:02 so it's basically like scope-by-name, scope-by-value 01:05:06 I wonder if there's a scope-by-need 01:06:56 ais523: I dislike renaming-based reasoning 01:07:20 Quick, someone make a BF derivative that relies on renaming 01:07:20 -!- stuntane has quit (Ping timeout: 252 seconds). 01:07:21 I view explicit unstructured variable names like that as artefacts and definition in terms of them suspect 01:07:45 Piss off two people for the price of one 01:08:00 elliott: I know it's not a very /good/ view of lexical scoping, it's just a /possible/ view 01:08:16 sure 01:08:17 and I'm not saying this is going to be useful, I just saw a possible esoöpportunity 01:08:20 it is an interesting observation apart from that 01:08:26 scope-by-need sounds confusing 01:08:51 well, call-by-need is a transparent optimization for call-by-name right? 01:08:54 ais523: I just have an axe to grind, since I find the fact that people learn about alpha-renaming when introduced to the lambda calculus terrible beyond belief 01:09:06 so i imagine scope-by-need is like "don't allocate a new frame until the old one is written to" 01:09:11 a sensible optimization 01:09:15 kmc: no, it's not equivalent to call-by-name or call-by-value in an impure language 01:09:23 mmmmmm right 01:09:31 i guess most obviously, if you have an object-identity operator 01:09:33 in Haskell, it's only equivalent because all function calls are idempotent 01:09:37 wouldn't you need *scoping itself* to somehow be impure to distinguish this, then? 01:09:46 (and call-by-value is only different because of nontermination) 01:09:50 kmc: I forgot that most languages have object-identity tests :( 01:09:52 cough cough lazy blackholing of unsafePerformIO thunks 01:09:57 elliott: yeah, I think so 01:10:02 Function calls are idempotent? 01:10:16 if your language does dynamic scoping, the only way to determine the fact is by calling something in an outer scope 01:10:22 evaluation is idempotent 01:10:24 and seeing that it gets your variable rather than its variable 01:10:30 -!- stuntane has joined. 01:10:31 In Haskell everything is interchangeable with a value, right? At least outside of the IO monad 01:10:37 Ah, I suppose. 01:11:06 IO has nothing to do with it. 01:11:24 possibly unsafePerformIO has something to do with it, but IO itself doesn't 01:11:32 ugh 01:11:36 I thought, say, (car (1, 2), car (1, 2)) isn't optimized? 01:11:40 You could interchange io with a value too if that value somehow still had the side effects 01:11:41 what is car 01:11:45 fst 01:11:47 and what does optimisation have to do with it 01:11:55 Well, nothing observable 01:11:56 FreeFull: IO actions are values too. evaluating an IO action doesn't do anything special. only /executing/ the IO action has any side effect 01:12:10 the thing to focus on is not "pure vs impure" but "evaluation vs execution" 01:12:13 man this takes me back 01:12:15 and yeah, car is the Lisp name for fst 01:12:18 i gotta go pick up my nooooodles though 01:12:19 bbl 01:12:32 kmc: are those noodles made by nooodl 01:12:48 -!- stuntaneous has quit (Ping timeout: 240 seconds). 01:12:48 no they are made by Thelonious Monkfish 01:13:12 Does crashing vs not crashing due to poor algorithm count as observable? 01:13:40 yes 01:14:10 crashing is like non-termination for most purposes, except that you don't have to wait infinitely long to determine whether it's happened or not 01:14:26 So, if the fact that Haskell might do the same function evaluation twice (not memoizing by default) can be exploited into a crash where a memoized version wouldn't crash... 01:14:33 Observable memoization. 01:14:36 incidentally IO does break the semantics of the language 01:14:39 it can distinguish _|_s etc. 01:14:46 Sgeo: uh... 01:14:49 what 01:15:04 elliott: it's more a case of "some IO actions in the standard library break the semantics of the language", isn't it? 01:15:13 it's perfectly possible to imagine an IO that can't distinguish between bottoms 01:15:21 -!- augur has joined. 01:15:25 Or can lack of memoization only result in nontermination but not actual crashes? 01:15:33 kmc: Yeah, but you can't get a value out of an IO action without executing it, can you? 01:15:58 IO actions don't contain values in the first place. 01:16:13 How does IO distinguish bottoms? 01:16:13 You can build up another IO action that goes "imagine if we had a value from this IO action. I would like to do this with it" 01:16:26 shachaf: so IO String is a fake? 01:16:30 Everything is a lie? 01:16:31 FreeFull: there is no value "in" IO 01:16:41 @quote ls 01:16:41 dons says: - yeah, the idea is that you use the tools in the chapter 01:16:43 @quote /bin/ls 01:16:43 shachaf says: getLine :: IO String contains a String in the same way that /bin/ls contains a list of files 01:16:44 dammit 01:16:45 ais523: I am talking about Haskell, not an imaginary Haskell derivative 01:16:47 IO String does not contain a string. It is an action that describes how to obtain a string. 01:16:58 IO distinguishes bottoms by way of Control.Exception 01:17:12 e.g. observable sharing should also "be impossible" if IO were truly "kosher" 01:17:20 but these are not the details most people think about when they think IO is impure 01:17:24 It could presumably also "distinguish" them in some other ways. 01:17:45 Mostly more evil ways, though. 01:18:34 * oerjan thinks thelonious monkfish sounds like a member of the main girl genius villain family 01:19:32 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:19:53 elliott: I was thinking about Haskell without access to certain libraries 01:20:06 I think exception handling is in the Report 01:20:09 which is certainly a legitimate language family (see, e.g., lambdabot) 01:20:15 but OK 01:23:35 ~eval 1 01:23:37 Hmm. 01:25:00 ~eval 3+3 01:25:04 Nope 01:25:36 hm that's spelled "mongfish" 01:27:28 -!- nollapiste has quit (Quit: Sto andando via). 01:41:23 Does there exist a transform of BF program to BF program such that a BF program that relies on 255 + wrapping to 0 or something can be made to run on an implementation that 255+ crashes on? 01:41:32 A mechanical transform 01:41:40 Yes. 01:42:04 you will have to add cells, though. 01:42:19 add cells? 01:42:21 Sure. 01:43:38 As in, I'm not sure what is meant 01:44:19 you cannot do it without adding memory bloat to get somewhere to put the necessary temporary cells for testing. 01:44:55 oh hm 01:45:38 a constant number is enough, although then you need to transform > and < as well to move the extra cells together with your pointer 01:46:10 oerjan: oh, and then you test the cell for each individual value to see if it's that value or not? 01:46:14 actually, not sure you can 01:46:23 how do you distinguish -255 from +255? 01:46:28 or are we assuming unsigned only? 01:46:42 i was assuming you could only use values 0 to 255, inclusive 01:47:08 Hmm, suddenly, I'm... not totally sure if... hm 01:48:09 Yeah, could work 01:48:16 if you have negative values as well, it will be harder. in fact then i don't think you can do it with constant number of cells, since you pretty much have to store whether a cell is positive or negative to avoid things going wrong at one end 01:48:17 Might need to transform : 01:48:40 * Sgeo is thinking in terms of Trustfuck 01:48:58 If the native Trustfuck BF implementation were constrained, writing a compiler for a variation that is not so constrained 01:49:16 i don't really feel like wrapping my brain around trustfuck right now 01:49:31 aww, darn >.> 01:50:29 I do feel like it's simpler than I made it sound. ! sends the code block to a compiler stack, which compiles into Trustfuck native primitives, which then get compiled to target 01:50:59 The resulting output has the current program on top of its compiler stack 01:51:09 when it itself runs 01:51:40 s/which compiles into/which collectively compile the code into/ 02:15:43 -!- monqy has joined. 02:21:37 Is it possible to make something like LLVM's "appending" linkage in GCC? 02:26:50 -!- ais523 has quit. 02:44:39 how does that linkage work? 02:59:34 Make multiple declarations of the array to be appending to put together. 03:01:55 i don't know how to do that at the symbol level with gnu toolchain 03:02:26 but sections of the same name get concatenated, and you can have arbitrary named sections in e.g. ELF 03:02:33 Linux uses this to good effect in many places 03:03:11 But can it be made to work on cross-platform? 03:03:19 Linux kernel code has a lot of macros that you put into your code which as a side effect output records into a table in some section 03:07:56 these are used for all kinds of fun things which i would be happy to blather on about at length 03:08:33 self-modifying code and stupid processor tricks 03:12:58 self-modifying code in the kernel 03:12:58 ? 03:13:16 Is it actually... used for important stuff? 03:13:27 Because there's a time and place to mess around, the kernel isn't it. 03:14:03 * Sgeo assumes that there is a good reason, otherwise it wouldn't be done. I hope. 03:14:09 Sgeo: tons of it, and yes they have good reasons 03:14:11 it's not "messing around" 03:15:01 for example, if you boot a SMP kernel on a uniprocessor system, it will go through and remove lock instructions / prefixes 03:15:01 and if you boot a kernel under paravirtualization, it will replace certain hardware operations with hypervisor calls 03:15:32 all of this enables distributions to maintain fewer binary kernels, while keeping things flexible and performant for users 03:15:50 Hmm, interesting 03:16:01 the kernel may be a bad place for 'messing around' but it's a good place for marginal performance improvements because they apply to /everything/ 03:16:37 more remarkably though, if you boot a multiprocessor system and then hot-unplug all but one CPU, it will /dynamically/ remove those lock instructions 03:16:43 and reinsert them if you bring another CPU online 03:17:31 self-modifying code is also used for debugging, tracing, etc 03:17:42 Hmm. How does one add locks where there weren't any? What if you're in a section that should have a lock around it when the new CPU comes on? 03:17:56 you have each function start with a call to a "record trace" function, but you nop those out unless tracing is enabled 03:18:08 much better performance than putting a conditional at the beginning of every function 03:18:35 in fact they have an abstraction for "immediate variables" which look like variables you can assign to, but actually they are load-immediates and each "assignment" rewrites every instruction that reads those "variables" 03:18:53 Sgeo: as to the first part, the locks were present in the compiled code, then they were NOPped out when you go to uniprocessor 03:18:57 so there is space to put them back in 03:19:07 as to the second, it happens in this wonderful function called stop_machine() 03:20:14 which gives you total control of all CPUs 03:20:19 so that nothing else is running concurrently 03:20:49 (My first "question" was just really about the second) 03:21:21 though those suspended processes still might be in the middle of some kernel function 03:21:21 when they resume 03:21:32 so i think you need to maintain certain properties about the code you're swapping out 03:21:59 executing a NOP; MOV which is in the middle of turning into a LOCK MOV is okay 03:22:06 because the NOP instruction and LOCK prefix are one byte each 03:22:13 (talking about x86 here as an example i know well) 03:22:23 (and because the most sophisticated tricks are for x86 and maybe ARM) 03:22:54 How can you expect that to work in a C program? 03:23:09 you don't; it's all done with inline assembly 03:23:22 Sgeo: here's the Linux kernel's big list of favorite NOP instructions: http://lxr.linux.no/linux+v3.7.7/arch/x86/include/asm/nops.h 03:23:32 "Note: All the above are assumed to be a single instruction. There is kernel code that depends on this." 03:23:45 that means you can replace them with a non-NOP of the same size without worrying about code that's in the middle of the instruction 03:24:25 Sgeo: it gets more complicated for something like Ksplice, which is swapping out an entire kernel function for another. Ksplice does stop_machine(), walks the kernel stacks of all processes, and aborts if any of them are executing one of the functions to be patched 03:25:34 depending on the patch and the workload of the machine this can actually make it rather hard to apply a patch 03:25:59 like on the super oversubscribed OpenVZ hosts running 1000 separate Apache processes, it would be pretty hard to patch bits of the network stack 03:29:07 Hard as in, takes time before there's a window of opportunity? 03:29:10 yes 03:29:33 the ksplice tools would retry periodically but sometimes it would take hours 03:38:28 -!- sivoais has quit (Remote host closed the connection). 03:39:34 -!- sivoais has joined. 03:45:49 `pastelogs ais523.*shove 03:46:22 No output. 03:46:27 `pastelogs ais523.*shove 03:46:48 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.27210 03:57:41 Do you know if it is possible in GCC to include a variable (possibly in its own section) which is accessed by a machine code for a different processor from the main program? 04:08:56 i don't understand 04:09:59 I mean without having to compile the other machine code within the C program, so it can instead be included in the compiled executable file. 04:20:33 -!- Arc_Koen has left. 04:39:35 C2 wiki mentions about three start programming, you might be a three star programmer ... if raw machine codes debugging is not low level enough. But now we have Verilog can we use that in such circumstances? 04:39:57 oh C2 wiki 05:06:14 -!- TeruFSX has quit (Ping timeout: 256 seconds). 05:33:12 zzo38: Why didn't you tell me curl supports gopher? 05:33:48 oerjan: Should I figure out what a limit is? 05:33:58 shachaf: how many buffer overflows in the gopher handlin 05:34:51 certainly 05:34:53 kmc: one more than you can handle 05:35:30 :O 05:36:38 Maybe buffer overflow in the curl gopher code are zzo38's secret weapon. 05:36:50 s 05:38:20 hax 05:38:36 kmc: are you drunk again 05:41:00 maybe he never stopped 05:47:30 no 05:51:23 adjunctions, man 05:57:15 shachaf: I don't know exactly why I will tell you that, and I also didn't know if there are buffer overflow in the curl gopher code. 05:57:35 But you can just download a gopher file using netcat very easily 05:58:01 what if there's a buffer overflow in the netcat gopher code 05:58:32 Netcat has no gopher code. 05:59:24 zzo38: Do you ever tell people to "gopher it"? 05:59:32 zzo38 peyton jones 05:59:36 No. 06:18:36 -!- copumpkin has quit (Ping timeout: 252 seconds). 06:19:11 -!- copumpkin has joined. 06:20:23 -!- pikhq has quit (Ping timeout: 252 seconds). 06:20:28 -!- pikhq_ has joined. 06:42:52 -!- pikhq has joined. 06:43:40 -!- pikhq_ has quit (Ping timeout: 272 seconds). 06:50:27 monqy: elliott is "holding me hostage" 06:50:32 i've heard 06:50:44 something about fake category theory 06:50:54 “why not try the real thing„ 06:51:22 because "the real thing doesnt have a type checker" 06:51:26 also "elliott hates maths' 06:51:44 shocking 06:52:20 um agda has a type checker 06:52:45 agda isnt" the real thing monqy" 06:52:56 :0 06:52:59 also i suggested agda and he said no 06:53:05 you write the real thing in agda 06:53:09 “duh„ 06:53:11 also does agda have gobby mode 06:55:04 good question 07:31:49 -!- Halite has joined. 07:41:00 I lost the source for NAND++'s interpreter :c 07:41:30 oops 07:57:12 -!- oklofok has joined. 08:02:00 -!- oerjan has quit (Quit: leaving). 08:12:12 -!- azaq23 has joined. 08:12:22 -!- azaq23 has quit (Max SendQ exceeded). 08:17:24 -!- DHeadshot has quit (Ping timeout: 272 seconds). 08:27:38 -!- Halite has quit (Remote host closed the connection). 08:45:38 -!- sebbu2 has joined. 08:45:53 -!- sebbu2 has quit (Changing host). 08:45:53 -!- sebbu2 has joined. 08:46:33 -!- sebbu has quit (Ping timeout: 272 seconds). 08:58:25 -!- quintopia has quit (Ping timeout: 246 seconds). 08:58:46 -!- quintopia has joined. 09:13:22 -!- epicmonkey has joined. 09:44:06 -!- sebbu2 has changed nick to sebbu. 09:47:09 A variant of UTF-18 could be made to allow surrogates to be used to encode code points which are out of range of UTF-18. (The ordinary UTF-16 surrogates would be used.) 09:48:40 What they call UTF-9 should be called VLQ-9 since it is actually VLQ and not UTF. 09:50:23 (Like UTF-8, it can be generalized to encode any numbers; it doesn't have to be Unicode at all.) 09:59:29 If it's an encoding for Unicode codepoints, it's a UTF, no matter how it can be generalized. (Of course they could have a name such as VLQ-9 for the encoding in general, and then specify UTF-9 as simply using it.) 09:59:35 -!- monqy has quit (Quit: hello). 10:04:48 -!- DHeadshot has joined. 10:13:18 -!- Nisstyre_ has joined. 10:14:47 -!- Nisstyre has quit (Ping timeout: 240 seconds). 10:23:25 -!- DHeadshot has quit (Ping timeout: 260 seconds). 10:30:52 I should make the program to print out the file of Internet Quiz Engine to fill out the quiz on paper. 10:31:53 First I should fix the analysis program. 10:33:54 On the C2 wiki I found that Visual Basic 9 has command like: Dim query = From token In tokens Group By token Into Count() 10:45:27 That's the release where they added LINQ, I think. 10:57:39 -!- carado has joined. 10:59:56 -!- oklofok has quit (Ping timeout: 255 seconds). 11:17:27 -!- Phantom_Hoover has joined. 11:28:02 -!- nooodl_ has joined. 11:29:52 `WELCOME nooodl_ 11:29:57 NOOODL_: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.) 11:32:07 thanks 11:32:13 `THANK elliott 11:32:15 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: THANK: not found 11:33:10 hi nooodl_ 11:35:34 Do you like "worse-is-better"? 11:35:59 hi shachaf 11:43:14 -!- nooodl_ has quit (Ping timeout: 272 seconds). 12:36:34 http://sprunge.us/OaVJ "The problem is, the Wotan German AI holds the manifest destiny of becoming so smart in the future that humans will not so much "use" Wotan as co-operate with Him or even be subservient to Him." 12:36:41 (comp.lang.forth strikes again.) 12:46:33 -!- TeruFSX has joined. 13:24:14 -!- boily has joined. 13:27:43 all hail wotan 13:27:46 god of the electron 13:28:13 * boily checks his calendar. hm. not Friday yet. 13:28:43 could someone here be amiable enough to please explain the link between a subatomic particle and a norse god? 13:29:16 (and if anyone points that electrons are probabilistic waves, I'll get quantic on their puny meatbody.) 13:33:12 -!- Taneb has joined. 13:33:24 -!- impomatic has quit (Quit: Core War - the ultimate programming game http://corewar.co.uk). 13:33:47 -!- TeruFSX has quit (Ping timeout: 252 seconds). 13:40:54 -!- ssue has quit (Ping timeout: 264 seconds). 13:41:13 -!- ssue has joined. 13:43:51 note to self: don't read reddit threads on the dorner siege 13:53:09 -!- Taneb has quit (Quit: Page closed). 13:56:26 -!- cuttlefish has joined. 14:02:38 -!- ogrom has joined. 14:25:21 -!- Taneb has joined. 14:37:27 http://www.chrisseaton.com/katahdin/ 14:46:32 -!- ais523 has joined. 14:46:46 @messages? 14:46:46 Sorry, no messages today. 14:48:34 Oh no! 14:49:16 -!- Taneb has quit (Quit: Leaving). 15:03:12 -!- Gregor has quit (Ping timeout: 264 seconds). 15:03:19 -!- Gregor has joined. 15:03:44 -!- Gregor has changed nick to Guest92969. 15:04:08 -!- Guest92969 has changed nick to Gregor. 15:07:19 -!- Taneb has joined. 15:07:22 Is that a different message than the usual, or does it just have multiple, or do I just misremember? 15:07:25 @massages? 15:07:26 Sorry, no messages today. 15:07:27 @massages? 15:07:27 Sorry, no messages today. 15:07:31 Seems pretty fixed. 15:07:40 Maybe it's the usual and people just rarely use the ? form. 15:08:07 @help messages 15:08:07 messages. Check your messages. 15:08:11 @help messages? 15:08:11 messages?. Tells you whether you have any messages 15:08:38 @help messages? 15:08:38 messages?. Tells you whether you have any messages 15:21:00 I wonder if I'll ever make use of the ST monad 15:26:24 -!- DHeadshot has joined. 15:31:32 -!- impomatic has joined. 15:37:07 -!- ogrom has quit (Quit: Left). 15:41:32 You have said about materialism is "everything is physics", but what is it called "everything is mathematics"? 15:42:02 Mathematical realism or something 15:42:45 Possibly Pythagorianism, but that one has a mystic vibe to it 15:42:54 Pythagorianism is weird 15:43:56 Mathematics isn't restricted to describing reality though 15:44:10 It describes things that aren't real just as well 15:44:28 i'm cool with the whole "even numbers are female" or whatever thing they had 15:44:33 -!- Arc_Koen has joined. 15:45:03 Which one is the sexiest? 15:45:14 I thought that was the Chinese 15:45:40 I like 24 15:45:48 I prefer 28 15:47:08 169 15:47:15 Not even! 15:47:16 or was it 163 15:47:31 yeah, 163 15:47:36 Slereah_, I think you're making too many assumptions about Phantom_Hoover 15:47:37 163 is a sexy beast 15:47:43 Gayyy 15:47:53 Nothing wrong with that 15:47:59 hey who said i agreed with the pythagorean assignment of genders to numbers 15:47:59 Also what are fractions then 15:49:00 Who knows 15:49:04 well, you have one number on top and the other on the bottom 15:49:07 you work it out 15:49:37 But how to determine if they're even or odd? 15:49:41 Since 1/1 = 2/2 15:50:00 Also what is division by zero 15:50:13 Zero is the loneliest number 15:53:14 you can generalise the idea of factorisation to Q but i don't know precisely how 15:53:54 on further reading, all noninteger fractions are odd 15:59:32 I'm becoming increasingly annoyed at the admissions team of the maths department at Birmingham university 16:00:46 Taneb: I suspect they're badly organized 16:00:58 And won't answer the phone! 16:01:00 :( 16:01:19 And their phone number is similar to a blood collection service! 16:01:23 :( :( 16:01:36 there are definitely times of day when the phone wouldn't be answered 16:01:42 it depends on if any of the secretaries are in or not 16:01:53 email tends to be more reliable (this does not equal "reliable", though) 16:06:21 Taneb, so is this one of those hilarious mishap things where it turns out you've actually sold all your blood 16:06:43 Phantom_Hoover, knowing my luck... 16:07:17 Phantom_Hoover: I don't think it works like that 16:07:37 -!- Halite has joined. 16:08:06 (are they asking for an interview or something?) 16:08:30 (applicant visitor day) 16:08:34 There should be an easy programming language creator to end the BF era. 16:08:39 (I need to register for it and their website sucks) 16:09:10 Halite, do you mean an "(easy programming language) creator" or an "easy (programming language) creator" 16:09:17 well there's already an easy bf derivative creator, it's called tr 16:09:22 Because both suck 16:09:38 Taneb: I think the idea would be to divert people who are going to make sucky esolangs 16:09:47 into making sucky esolangs that aren't BF derivatives, but are just as sucky 16:10:07 Taneb, an easy (programming language) creator, not to make easy programming languages but to make programming languages easily 16:10:11 like, say, LOLCODE 16:10:20 which instead of being a boring keyword substitution on BF 16:10:29 is a boring keyword substitution on C-like imperative languages 16:10:50 i wouldn't describe it that way 16:10:53 ais523, I want to make a programming language with new syntax 16:11:00 it's a naff scripting language with a crappy joke for syntax 16:11:14 Phantom_Hoover your british is showing 16:11:30 instead of JS var x = 2, do set x to 2 16:11:43 oh no! hang on i'll cover it up 16:11:53 Zip up! 16:12:01 Phantom_Hoover, you're British, aren't you 16:12:04 Sounds like COBOL 16:12:12 i'm SCOTTISH 16:12:20 Phantom_Hoover, laise 16:12:38 scottish is a subset of british 16:12:40 http://www.youtube.com/watch?v=hp4mENrAnq4 16:12:53 ais523, only to people who know what british means 16:12:57 Taneb, but COBOL is a rarer programming language for today 16:12:58 Phantom_Hoover: well, yes 16:13:11 but I know the british/english distinction, and frequently correct foreigners on it 16:14:00 I'm not a foreigner 16:14:07 @time Halite 16:14:07 Local time for Halite is Wed Feb 13 16:14:05 16:14:11 Oh no 16:14:12 You're a foreigner to me! 16:14:17 We're all someone's foreigner 16:14:20 We haven't asked him the question 16:14:29 Halite, do you live in Hexham 16:14:41 Taneb, uh no 16:14:44 Okay 16:14:46 Thank god 16:14:53 are you finnish 16:15:02 Phantom_Hoover, no 16:15:13 @finger Taneb 16:15:13 Unknown command, try @list 16:15:23 @version Taneb 16:15:23 lambdabot 4.2.2.1 16:15:23 darcs get http://code.haskell.org/lambdabot 16:15:23 Please don't finger me. 16:15:44 I'll stick my finger in your client as much as I want, thank you Taneb . 16:15:55 That's probably rape. 16:15:59 are you, as is apparently the fashion nowadays, either in or planning to be in the west midlands 16:16:03 @ctcp finger Taneb 16:16:03 Unknown command, try @list 16:16:12 Phantom_Hoover, YES 16:16:14 You're using the wrong command char 16:16:17 oh fuck 16:16:18 Use / rather than @ 16:16:30 Phantom_Hoover, this is bad 16:16:38 Taneb, I'm trying to get lambdabot to respond 16:16:49 huh, Halite is indeed apparently in UTC+0 16:16:53 Taneb, when are you going to birmingham anyway 16:17:06 Phantom_Hoover: the applicant visit days are already happening right now 16:17:12 Phantom_Hoover, most like the 20th 16:17:20 duh 16:17:29 ais523, just don't look behind you 16:17:29 Britain is UTC+0 16:17:38 Phantom_Hoover: wall, etc. 16:17:39 Phantom_Hoover, is British. 16:17:42 @time Phantom_Hoover 16:17:43 Local time for Phantom_Hoover is Wed Feb 13 16:17:09 16:17:48 Halite: yeah, I was doing it as a quick test of whether you were likely to be in the UK or not 16:17:56 I'm right, Phantom_Hoover is 16:17 too. 16:17:57 ais523, black holes, geodesics, all that 16:18:07 it's not 100% conclusive either way (the timezone might be set wrong, and the UK isn't the only country in UTC+0) 16:18:14 but it's a start 16:18:17 ais523, yes 16:18:26 Phantom_Hoover, do you live in Hexham 16:18:31 no 16:18:38 i am in the west midlands though 16:18:44 Phantom_Hoover, NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 16:18:51 Phantom_Hoover: so the weather here is actually /better/ than you're used to? 16:19:04 well there's certainly more snow 16:19:16 duh 16:19:25 Two people in this channel live in Hexham, three (including Halite) live in the West Midlands, and about 9 live in Finland 16:19:45 `? finland 16:19:45 I didn't think Phantom_Hoover /lived/ in the West Midlands, just that he happened to be here at the moment 16:19:46 Finland is a European country. There are two people in Finland, and at least nine of them are in this channel. Corun drives the bus. 16:19:54 `? west midlands 16:19:56 west midlands? ¯\(°_o)/¯ 16:19:57 ais523, he lives there in termtime 16:20:01 aha 16:20:23 @time ais 16:20:35 Halite: that command fails in at least two ways 16:20:42 @time ais523 16:20:43 Local time for ais523 is Wed Feb 13 16:20:42 2013 16:20:50 ais523, are you British too 16:20:53 yes 16:21:01 unlike Phantom_Hoover, I am actually also English 16:21:13 `run echo "Nobody knows anything about the West Midlands, and it has claimed the lives of at least two former regulars in this channel who tried to investigate so for" > wisdom/west\_midlands 16:21:17 No output. 16:21:22 `?west midlands 16:21:23 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ?west: not found 16:21:26 `? west midlands 16:21:28 west midlands? ¯\(°_o)/¯ 16:21:35 `run echo "Nobody knows anything about the West Midlands, and it has claimed the lives of at least two former regulars in this channel who tried to investigate so for" > wisdom/west\ midlands 16:21:38 No output. 16:21:40 `? west midlands 16:21:42 Nobody knows anything about the West Midlands, and it has claimed the lives of at least two former regulars in this channel who tried to investigate so for 16:21:47 `rm wisdom/west_midlands 16:21:50 `run echo "Nobody knows anything about the West Midlands, and it has claimed the lives of at least two former regulars in this channel who tried to investigate so far." > wisdom/west\ midlands 16:21:50 No output. 16:21:51 `WELCOME CHICKEN 16:21:54 No output. 16:21:57 CHICKEN: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.) 16:22:21 err 16:22:25 `rm error 16:22:26 rm: cannot remove `error': No such file or directory 16:22:28 `run error 16:22:29 bash: error: command not found 16:22:46 `run throw "I was thrown by Halite!" 16:22:48 bash: throw: command not found 16:22:55 `run help 16:22:57 GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu) \ These shell commands are defined internally. Type `help' to see this list. \ Type `help name' to find out more about the function `name'. \ Use `info bash' to find out more about the shell in general. \ Use `man -k' or `info' to find out more about commands not in this list. \ \ A star (* 16:23:00 what are you trying to do? 16:23:11 `info 16:23:12 info: Writing node (dir)Top... \ info: Done. \ File: dir,Node: TopThis is the top of the INFO tree \ \ This (the Directory node) gives a menu of major topics. \ Typing "q" exits, "?" lists all Info commands, "d" returns here, \ "h" gives a primer for first-timers, \ "mEmacs" visits the Emacs manual, etc. \ \ In Emacs, you can 16:23:19 trying to make the bot throw an error 16:23:19 `help 16:23:19 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 16:23:37 I made the bot crash the other day and I have no idea how 16:23:51 does anyone think... 16:23:57 Yes 16:24:03 someone do `rm -rf / 16:24:04 Some people do indeed think 16:24:08 `run rm -rf /* 16:24:18 `rm -rf / 16:24:28 That won't work, it's interpreted as rm "-rf /" 16:24:50 `eval rm -rf / 16:24:53 `help 16:24:53 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 16:24:57 `help eval 16:24:57 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 16:25:01 `info 16:25:09 `run help 16:25:22 `help is a special command. `run does bash -c '' 16:25:34 rm: cannot remove `/bin/bash': Read-only file system \ rm: cannot remove `/bin/rbash': Read-only file system \ rm: cannot remove `/bin/sh': Read-only file system \ rm: cannot remove `/bin/ln': Read-only file system \ rm: cannot remove `/bin/uname': Read-only file system \ rm: cannot remove `/bin/stty': Read-only file system \ rm: cannot remove `/bi 16:25:38 Unfortunately, although my rm -rf / won't do anything, it'll take some time to not do anything ;) 16:25:38 See. 16:25:55 `rm -rf /* 16:25:57 rm: invalid option -- ' ' \ Try `rm --help' for more information. 16:25:58 rm: invalid option -- ' ' \ Try `rm --help' for more information. 16:25:58 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: eval: not found 16:25:58 info: Writing node (dir)Top... \ info: Done. \ File: dir,Node: TopThis is the top of the INFO tree \ \ This (the Directory node) gives a menu of major topics. \ Typing "q" exits, "?" lists all Info commands, "d" returns here, \ "h" gives a primer for first-timers, \ "mEmacs" visits the Emacs manual, etc. \ \ In Emacs, you can 16:25:58 GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu) \ These shell commands are defined internally. Type `help' to see this list. \ Type `help name' to find out more about the function `name'. \ Use `info bash' to find out more about the shell in general. \ Use `man -k' or `info' to find out more about commands not in this list. \ \ A star (* 16:26:13 (That was all the output from everything run in the interim) 16:26:26 And again, `rm -rf /* is interpreted as rm "-rf /*" 16:26:27 `rm --help 16:26:28 Usage: rm [OPTION]... FILE... \ Remove (unlink) the FILE(s). \ \ -f, --force ignore nonexistent files, never prompt \ -i prompt before every removal \ -I prompt once before removing more than three files, or \ when removing recursively. Less intrusive than -i, \ 16:26:28 That's not useful. 16:26:30 You want `run. 16:26:45 `run rm -f /* 16:26:47 rm: cannot remove `/bin': Is a directory \ rm: cannot remove `/dev': Is a directory \ rm: cannot remove `/etc': Is a directory \ rm: cannot remove `/hackenv': Is a directory \ rm: cannot remove `/home': Is a directory \ rm: cannot remove `/lib': Is a directory \ rm: cannot remove `/lib64': Is a directory \ rm: cannot remove `/opt': Is a directory \ 16:27:02 lol it can't remove because it's a directory 16:27:08 You didn't use -r 16:27:10 `run rm -rf /* 16:27:24 Now that'll take another minute to fail, just like mine X-D 16:27:44 >:D 16:27:53 it deleting all the directories 16:28:00 `run shutdown 16:28:14 `run shutdown --help 16:28:28 it's shutting down bot 16:28:30 Why does everybody first try things that would only work if they were running as root X_X 16:28:34 People are really stupid. 16:28:34 rm: cannot remove `/bin/bash': Read-only file system \ rm: cannot remove `/bin/rbash': Read-only file system \ rm: cannot remove `/bin/sh': Read-only file system \ rm: cannot remove `/bin/ln': Read-only file system \ rm: cannot remove `/bin/uname': Read-only file system \ rm: cannot remove `/bin/stty': Read-only file system \ rm: cannot remove `/bi 16:28:42 `echo OH LOOK I'M NOT SHUT DOWN 16:28:47 bash: shutdown: command not found 16:28:47 OH LOOK I'M NOT SHUT DOWN 16:28:49 bash: shutdown: command not found 16:29:00 `shutdown -f 16:29:01 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: shutdown: not found 16:29:18 Adding -f will not magically make the shutdown command be in $PATH. 16:29:30 Gregor, I think when I was unleashed on HackEgo, I tried to make it botloop 16:29:48 Which if it could be done at all probably could be done without root 16:30:04 Taneb: OK, then you get an exemption from the "People are really stupid" statement. *stamp* 16:30:08 `run help 16:30:10 GNU bash, version 4.1.5(1)-release (x86_64-pc-linux-gnu) \ These shell commands are defined internally. Type `help' to see this list. \ Type `help name' to find out more about the function `name'. \ Use `info bash' to find out more about the shell in general. \ Use `man -k' or `info' to find out more about commands not in this list. \ \ A star (* 16:30:21 Yay 16:30:37 `run info 16:30:38 Y'know, you're free to fail to hack HackEgo in #hackbot . Less... interrupty there. 16:30:38 info: Writing node (dir)Top... \ info: Done. \ File: dir,Node: TopThis is the top of the INFO tree \ \ This (the Directory node) gives a menu of major topics. \ Typing "q" exits, "?" lists all Info commands, "d" returns here, \ "h" gives a primer for first-timers, \ "mEmacs" visits the Emacs manual, etc. \ \ In Emacs, you can 16:32:16 didn't lymia or someone actually successfully break it 16:33:02 It's been DoSed—heck, it was DoSed two minutes ago—but otherwise, no. 16:33:09 Lymia made the least stupid attempt. 16:33:22 Honestly I'm not even sure why I didn't work. 16:33:32 what was it 16:33:34 Err 16:33:35 *it 16:33:46 It was a rootkit for a bug in the kernel version I was using. 16:33:56 * boily is devising a new esolang 16:34:04 Phantom_Hoover: It would've only escalated to the hosting user, but that's more than nothing. 16:34:09 boily: YAY ON-TOPIC WOOOH tell us 16:34:12 the usual cat: « =0,1.12./.2.7./.3.6-/.4./.5./.1./.9,10.11+/.6.8./.9./.15./.13,/.13+/.12.0, » 16:34:20 (without the guillemets) 16:34:28 (also didn't someone successfully ruin it for everyone by whining to the network staff) 16:34:29 If I document my idea for an esolang, can you build an interpreter for it 16:34:35 Gregor: yeah, botloops were my first idea too 16:34:35 Looks ALGEBRAIC 16:34:45 strangely, I don't think I've actually ever tried to break HackEgo's sandbox 16:34:55 I just decided there wouldn't be much reason in doing so, I guess 16:35:01 Phantom_Hoover: Yeah, but that wasn't a security issue, it just let you say anything, including \x01LOL CTCP SPAM DERP\x01 16:35:09 I enjoy learning about its security features, but not for that reason 16:35:39 my first experience with HackEgo was trying to run something that exceeded the line lengths and failing miserably 16:35:41 Gregor: maybe. 16:36:08 I think it's something of a rite of passage for bots in this passage, that someone tries to make a botloop with them 16:36:14 (and unless they're really boring bots, succeeds) 16:36:24 (neat! I remembered my password!) 16:36:32 `run logout 16:36:33 bash: line 0: logout: not login shell: use `exit' 16:36:40 `exit 16:36:41 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: exit: not found 16:36:45 `run exit 16:36:46 No output. 16:36:50 gj halite 16:36:54 lol it exit 16:37:07 you have ingeniously hacked HackEgo into halting execution of your command 16:37:19 it exit the command 16:37:19 you have ingeniously hacked HackEgo into halting execution of your command // lul 16:37:23 lul 16:37:28 `run login 16:37:30 login: Cannot possibly work without effective root 16:37:40 see Halite 16:37:44 even HackEgo is getting sick of this 16:37:49 haha, I didn't know login had a sensible error message for that 16:38:06 I guess you'd have a better (but still zero) chance with getty 16:38:09 `run getty 16:38:11 bash: getty: command not found 16:38:16 hmm 16:38:28 `run init 16:38:30 bash: init: command not found 16:38:33 `run /sbin/init 16:38:34 init: must be superuser. 16:38:43 I wasn't expecting that to work 16:38:47 `run echo "shut up this is boring" 16:38:48 but I was interesting in how init would react 16:38:49 shut up this is boring 16:38:50 *interested 16:38:55 `run echo "talk about esolangs" 16:38:56 `run rm -rf /home/hackbot/hackbot.hg/multibot_cmds/lib/* 16:38:56 talk about esolangs 16:38:57 rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/lib/fetch': Read-only file system \ rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/lib/limits': Read-only file system \ rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/lib/revert': Read-only file system \ rm: cannot remove `/home/hackbot/hackbot.hg/multibot_cmds/lib/sand 16:39:10 :o 16:39:21 hmm, does that imply there were things there that it /did/ remove? 16:39:26 `help 16:39:26 Runs arbitrary code in GNU/Linux. Type "`", or "`run " for full shell commands. "`fetch " downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert " can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/ 16:39:30 Halite, if you're interested in learning how to write interpreters, the standard first language to target is eodermdrome 16:39:30 ais523: In this case, no. 16:39:34 I can propose a feature of AWK, to allow any regular expression match with ~ (or implied) to expose the matches of full and parenthesized parts, by \0 and \1 and so on so that you can write /A([A-Z])Z/ { print \1 } 16:39:40 apparently there weren't 16:39:43 but I had to check 16:39:47 Phantom_Hoover: :) 16:40:05 zzo38: doesn't Perl do that already, though? 16:40:13 `run quit 16:40:14 bash: quit: command not found 16:40:17 `run exit 16:40:18 No output. 16:40:23 `run exit -f 16:40:24 also sed does that already, too (although it uses & not \0) 16:40:24 Phantom_Hoover 16:40:24 bash: line 0: exit: -f: numeric argument required 16:40:28 Are you a president ghost 16:40:28 `run exit 1 16:40:30 No output. 16:40:31 Halite: Please, take it to #hackbot 16:40:34 Halite: at this point, I'd suggest doing it in a different channel 16:40:38 it's getting pretty spammy 16:40:39 just created Zucchini on the wiki. 16:40:41 Slereah_, no i'm the ghost of a hoover 16:40:48 also i'm a gay vampire but that's secondary 16:40:52 The vacuum? 16:41:00 yes the vacuum 16:41:01 ais523: I don't know, maybe it does, and AWK does it too inside of the replacement texts but not outside. 16:41:16 As long as you're not Taft's ghosts 16:41:22 Gregor: btw, the hackbot filesystem history seems to be overescaping apostrophes 16:41:30 zzo38: oh, outside 16:41:35 sed doesn't do it outside, but Perl does 16:41:44 except they're called $&, $1, $2, $3, and so on, in Perl 16:41:47 The Stay Puft marshmallow man was Taft's ghost 16:41:49 because \1 means something else 16:42:20 In AWK $1 means something else 16:42:25 ais523: I didn't try especially hard to make it work properly. It's surprisingly difficult to get it to work when there can be Unicode and such *bleh* 16:42:43 fair enough 16:42:54 normally seeing \' rather than ' is a sign of a broken PHP installation, though 16:43:41 oh, no 16:43:47 in this case, it appears to be doing some sort of repr() on the strings 16:43:56 not sure in which language, although it uses C-like escape synax 16:43:58 *syntax 16:44:04 s/normally.* '/PHP/ 16:44:15 Heheh, no PHP here. Yeah, it tries to escape the strings, and does a crummy job of it. It's just to squeeze it into a box, it's far from correct. 16:44:27 Suffice it to say that the commit messages are for reference, they're not copy-pasteable. 16:44:29 It is possible to work around \' in PHP though, which can work regardless of the PHP setting. This is a dumb feature of PHP (well, PHP in general is stupid) but it can work around, at least! 16:44:45 coppro, normally PHP is a sign of a broken 16:44:51 zzo38: It's quite possibly the silliest “feature” of PHP X-D 16:44:56 Although that's quite a competition. 16:45:00 Gregor: no, register_globals is worse 16:45:10 by orders of magnitude 16:45:16 That too. 16:45:19 what about that lexer optimisation 16:45:35 I think we can all agree that PHP is unbelievably terrible. 16:45:43 yes 16:45:59 Yes it is. I intend one day to rewrite Icoruma in something better and faster than PHP. 16:45:59 It's got to be better than LOLPHP 16:46:04 also Halite, Gregor, coppro and ais523 all have the same length of nick 16:46:05 Phantom_Hoover: that's just "stupid and buggy", rather than "requires every PHP program that wants to be secure against injection attacks to be written in a really obscure style just in case someone turns the option on by mistake" 16:46:09 That is, LOLCODE meets PHP 16:46:39 PHP has great features, such as Turkish locale support! 16:47:09 Jafet: that's an unfair criticism, pretty much every program in existence breaks on Turkish, and the ones that don't were written purely to prove it was possible 16:47:50 although Perl finally fixed the main issue in 5.14 by inventing the "cf" keyword, although it still doesn't work, because it would need a special pragma to tell it to work in "turkish mode" that isn't implemented yet 16:49:04 what's so weird about turkish 16:49:32 It's all gobble gobble 16:49:44 `? quine 16:49:46 ​`? quine 16:49:52 haha, I was just going to add that 16:50:11 Phantom_Hoover: basically, uppercase i in Turkish still has a dot, and lowercase I doesn't have a dot 16:50:19 i.e. dotted i and dotless I are two different letters 16:50:38 so its casefolding is actually inconsistent with pretty much every other language in existence that contains the same letters 16:51:08 `echo Um... hello? 16:51:09 Um... hello? 16:51:17 Why didn'—oh jeez I'm stupid. 16:51:26 I was wondering why `? quine didn't do anything X_X 16:51:33 I need to go put my head in a bucket of water. 16:52:03 now I'm trying to work out if `? quine is even a cheating-quine or not 16:52:11 I think it's the same sort of quine as HQ9+ supports 16:52:32 but slightly more legitimate 16:52:34 http://net.tutsplus.com/articles/editorials/why-2013-is-the-year-of-php/ 16:52:38 beautiful 16:53:29 http://sprunge.us/SMgZ that was confusing for a moment there. 16:53:54 It's a slightly #esoteric-specific quine. 16:54:46 oh wait, is it actually checking the logs for the most recently spoken line? 16:54:56 Sure. 16:55:03 `cat wisdom/quine 16:55:04 ​`? quine 16:55:09 hmm 16:55:10 Not that one, bin/quine. 16:55:14 oh, `quine 16:55:17 not `? quine 16:55:25 `quine 16:55:27 whee 16:55:28 whee 16:55:32 race conditions are fun 16:55:54 this strikes me as a potential way to abuse the `list, too 16:56:25 It does have that problem too. It could do a tail -n 20 | grep `quine | tail -n 1 perhaps. Though then it'd fail worse. 16:56:32 `cat bin/list 16:56:34 ​#!/bin/sh \ oldpwd=`pwd`; cd /var/irclogs/_esoteric; name=$(cat $(ls ????-??-??.txt | tail -1) | tail -1 | sed "s/[^<]*.*//; s/.*\* //; s/ .*//"); cd $oldpwd; fgrep -q "$name" bin/list || echo -n "$name " >> bin/list; echo cuttlefish boily elliott Taneb HackEgo shachaf Sgeo monqy 16:56:51 ais523: Didn't you-know-who-chaf already end up on `list because of that. 16:57:10 fizzie: it was his own fault, though; he told fungot to `list, and interrupted it himself 16:57:11 ais523: i find walking on gravel to be unpleasant and string processing is not my code ( define pi ( 4 ( 1 4 9 16:57:35 so he might have been added via race condition, but he was responsible for causing the race condition in the first place 16:57:53 fungot: Those two things don't seem to have all that much with each other. 16:57:53 fizzie: x? k?" at http://paste.lisp.org/ display/ 56631 than nothing 16:58:27 I don't really like this style 16:58:29 ^style 16:58:29 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc* iwcs jargon lovecraft nethack pa qwantz sms speeches ss wp youtube 16:58:36 ^style europarl 16:58:37 Selected style: europarl (European Parliament speeches during approx. 1996-2006) 16:59:17 Maybe I should train a new europarl too, one of these days. 16:59:18 What is the honourable fungot's opinion on PHP? 16:59:21 Jafet: mr president, i welcome the acceptance of harm-reduction as a basic principle, so the range of subjects. there are also big regional differences within europe. an opportunity that we must make sure that this will provide you with more than 15 years, i would like to make several comments. first of all i must say that it is apparent from article 5 the list of priorities. we all agree upon, which are also rejected. furtherm 16:59:28 harm-reduction 16:59:35 hmm… = banning PHP, or = making PHP less harmful? 17:00:02 Did a member of parliament actually welcome the acceptance of harm-reduction as a basic principle 17:00:03 although apparently whatever they were planning, they all agreed upon it, but it was rejected anyway 17:00:08 mmm pancake 17:00:15 Jafet: it's possible it's a literal quote 17:00:18 but it's funny either way 17:00:22 I have an idea for a programming language called Pancake 17:00:28 "first of all i must say that it is apparent from article 5 the list of priorities. we all agree upon, which are also rejected." 17:00:31 that was yesterday, but go on 17:01:15 `pastequotes 17:01:20 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/paste/paste.16040 17:01:23 if I don't say anything in the next hour or so, call an ambulence 17:01:25 *ambulance 17:01:27 I think I've lost the preprocessed Europarl dataset, since it seems it's one of the VariKN models I trained at my work-workstation, and the local disk of that got wiped the other month. 17:01:31 although there are friends here, so they should be able to do it for us 17:01:36 Oh well; it wasn't well-preprocessed anyway. 17:01:53 reading `quotes sometimes makes me laugh so hard I have trouble breathing 17:01:58 so normally I read subsets of it 17:02:00 But it does mean I can't grep as easily for direct quotes. 17:02:55 `quotes 17:02:56 922) you can define Feather as "Smalltalk done right" if you want to confuse people into wondering why that would involve time travel stuff and all that 17:03:07 Hmm, the corpora dir of the cog group has enron already downloaded. I'm a bit tempted to run it through the gauntlet. 17:03:11 HackEgo: my link above is all of them 17:03:12 err 17:03:14 Halite: 17:03:15 `quotes 17:03:16 556) It's like Pygmalion and Galatea but more weeaboo. Also lesbian. 17:03:17 or you can just do `quote for a random one 17:03:30 if you do five `quote in a row, people will start debating what the worst one is, and then delete it 17:03:34 it's one of the ways we maintain quality 17:03:40 `quotes 17:03:40 `quotes 17:03:41 942) as long as you're in company where no-one knows both, you can always say either "that's just like welsh ll" or "that's just like klingon tlh" 17:03:41 `quotes 17:03:42 917) FOUR SIMULTANEOUS TYPE SYSTEMS IN A SINGLE ROTATION OF THE LAMBDA CUBE 17:03:42 `quotes 17:03:43 946) DIE oh hey elliott 17:03:43 `quotes 17:03:43 16) oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. please let me go... put me out! he's really a tricycle! pass him! 17:03:44 599) that's crazy, it almost seems like you have to tell the program how you want it to manipulate the data and not just give it the relevant commands in a random sequence 17:03:54 start maintaining quality 17:04:18 There seems to also be a random small dataset of 15k spam emails, but I doubt anyone *really* wants a ^style spam in fungot. 17:04:19 fizzie: mr president, as we walked along, the young, women and children, who feel under a lot of progress but with every guarantee. in this regard, at a time when the copenhagen criteria, particularly those paid by users. any infrastructure charging system, like the immigrants forum, which must be emphasised that the fishing effort are also imposed on the palestinian point of view it is undoubtedly the involvement of women in t 17:04:48 fizzie: it might be amusing, I guess; the problem is spambots sometimes use markov chains already, so it might even make more sense than average 17:05:15 I don't really like 16, it's not particularly up to fungot's usual quality 17:05:16 ais523: mr president, the eu does not have a community proposal, to fulfil its main objective. i am also saying it because, at this stage. 17:05:25 started describing Zucchini. will finish it some time later, need to eat now. 17:05:47 I don't like 946 17:05:51 I like 16, but it's probably just because I liked the game. 17:06:08 The "he's really a tricycle! pass him!" bit is a verbatim quote. 17:06:21 that makes it worse, doesn't it? 17:06:25 I agree that 946 isn't so good 17:07:13 so 946 and 16 should go 17:07:47 no you can only delete one of htem 17:07:51 or sometimes not any 17:08:00 also elliott isn't here which makes messing with the quotes risky 17:08:27 not sure about 917; 599 is quite good in relevance to esolangs; 17:09:28 Halite: oklopol actually wrote that language :) 17:10:56 `quote 159 17:10:58 159) [spam] Any flavored hell can pee on the pig pen, but it takes a real football team to throw a slyly optimal formless void at a hole puncher. 17:11:08 fungot: do you get spam like /that/ in your data set? 17:11:08 ais523: mr president, to paraphrase fnord twist, i have asked to speak before the subcommittee on security and defence policy. 17:11:18 err, fizzie:, although it works both ways 17:11:27 if you do, it has to be added 17:11:40 otherwise, updating the bf joust stats page would probably be a better use of the time 17:13:30 Well, I can certainly do that. 17:14:04 Would that "fnord" be "Oliver"? 17:14:10 fungot: oliver oliver oliver 17:14:11 Taneb: madam president, we are waiting for us to make a few brief words about each of those amendments substantially improve the text but i am sure that, like him, although convinced of the need to renew its working methods, without which this programme, which have been issued to others by the football league not the premiership. this is the first step in the right direction. 17:17:39 `cat bin/quotes 17:17:41 ​#!/bin/sh \ allquotes | if [ "$1" ]; then \ if expr "$1" + 0 >/dev/null 2>&1; then \ sed "$1q;d" \ else \ grep -P -i -- "$1" \ fi \ else shuf -n 1; fi 17:18:27 `quotes 7 17:18:29 7) what, you mean that wasn't your real name? Gosh, I guess it is. I never realized that. 17:18:36 `cat bin/quote 17:18:37 ​#!/bin/sh \ allquotes | if [ "$1" ]; then \ if expr "$1" + 0 >/dev/null 2>&1; then \ sed "$1q;d" \ else \ grep -P -i -- "$1" \ fi \ else shuf -n 1; fi 17:18:55 so... there's no difference 17:20:22 -!- copumpkin has quit (Ping timeout: 252 seconds). 17:21:00 -!- copumpkin has joined. 17:22:28 fungot, oliver 17:22:29 Halite: mr president, to consider the long-term solution of establishing a work programme not a legislative proposal, should problems arise in the discussion under way on reforms reforms that will be implemented. the resolution even goes so far as it continues to operate its plants safely. mrs ahern, and the rules of the game for the single currency. 17:22:35 fungot, oliver 17:22:36 Halite: it is scandalous, i am aware that this fish used to be about baltic sea regional cooperation. finally, madam president, in declaring my vote in favour of this. politicians cannot and may not ascribe to them the insecurity to which they improve the commission's proposal, namely consumer protection and i am in a position to strike in the charter of rights could equally be used to break a deadlock which has existed, for me 17:22:44 fungot, oliver oliver oliver 17:22:51 `quote 365 17:22:53 365) meanwhile, I've been running a program for over 24 hours (getting close to 48 now) which is calculating digits of pi, in binary so far, it has found four digits I hope it will find the fifth some time this week 17:22:55 I remember that 17:23:03 fungot has a limit on how mucn he'll reply to a single person for exactly this reason, btw 17:23:04 Phantom_Hoover: mr president, mr harbour, for their contribution to establishing world peace and stability, tackle the problem. it is also a measure which would support these misplaced positions. 17:23:04 why doesn't it know my gender 17:23:04 it never did find the fifth, the computer crashed first 17:23:16 so we wrote a paper about it instead 17:23:41 omg 17:23:59 `style pa 17:24:00 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: style: not found 17:24:03 oliver 17:24:06 ^style pa 17:24:06 Selected style: pa (around 1200 transcribed Penny Arcade comics) 17:24:08 (im idiot) 17:24:10 fungot! 17:24:10 fungot 17:24:10 Phantom_Hoover: well, mine's from namco! let's see... " you are not to come within one hundred feet of our mascot, pac man." they are so overreacting. 17:24:11 Halite: that... that sounds really nice. lil' jim. that's real fucking fantasy, there. 17:24:24 ^style lol 17:24:24 Not found. 17:24:27 fungot: Stop with the verbatim quotes there. :/ 17:24:27 fizzie: except they're probably all girls, who are just pretending to be guys. no, relax! i'm not sure what this means!" 17:24:41 I'll have to retrain that with different options some day. 17:24:46 yeah, agreed 17:25:08 xkcd would be interesting if not for the fact it wouldn't work 17:25:33 fungot, Namco is a dictatorship 17:25:33 Halite: yeah... but i need that insulin to live! 17:26:09 fungot, you can get insulin without Namco 17:26:09 Halite: the where is mommy map. i should've... should've liked the saturn! 17:26:35 fungot, what 17:26:35 Halite: it's tribes 2! we're... we're saved! 17:26:36 There's already a number of webcomics, also. 17:26:41 indeed 17:26:45 fungot, lolwhut 17:26:45 Halite: extra! read all about it. 17:26:51 fungot, no 17:26:58 ^style qwantz 17:26:58 Selected style: qwantz (Dinosaur Comics transcriptions 2003-2011) 17:27:06 ^style nintendo 17:27:06 Not found. 17:27:09 :c 17:27:17 ^style 17:27:17 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack pa qwantz* sms speeches ss wp youtube 17:27:17 ^style sonic 17:27:18 Not found. 17:27:18 ^style 17:27:18 Available: agora alice c64 ct darwin discworld europarl ff7 fisher fungot homestuck ic irc iwcs jargon lovecraft nethack pa qwantz* sms speeches ss wp youtube 17:27:20 That's the full list, you know. 17:27:25 ^style YOUTUBE 17:27:26 Not found. 17:27:30 ^style youtube 17:27:30 Selected style: youtube (Some YouTube comments) 17:27:40 ^style lovecraft 17:27:40 Selected style: lovecraft (H. P. Lovecraft's writings) 17:27:40 fungot, please stop listening to Halite 17:27:42 Phantom_Hoover: bear in mind closely that i did not exactly relish this task, for the covered parts of the building and in the flaming violet light gilman thought he saw a dimly illumined corridor lined with worm-eaten panelling. 17:27:45 That's three videos or so, it's kind-of borking. 17:27:46 Boring. 17:27:49 Well, maybe borking too. 17:27:51 fungot, listen to me 17:27:53 Halite: the thing in the moonlight that flooded the spacious plain was a spectacle which no mortal fnord to the last calm, cold, slight, and fnord revelled clumsily here and there. the ground under one of the repugnant shantaks, helping him up as his judgement struggled with his loathing. it was not that distant whine which robbed me of my faculties and set upon my soul such a seal of fright as tangible as a draught of air whic 17:28:19 a draught of air whic 17:28:35 h blew me away into a trash landfill 17:29:11 fungot, var fnord = oliver 17:29:11 Halite: so instead of accepting the train he chose i telephoned the station and devised another arrangement. by rising early and taking the train at rowley after the branch was dropped but now they have fnord themselves to unknown kadath in the cold 17:29:21 I fixed the analysis program for Internet Quiz Engine. It still fails in cases of questions other than a plain ? due to its simplicity but should work in most cases, which will not use those features. 17:30:01 fungot, die 17:30:02 Halite: a reservoir of darkness, where solid and fnord forms were known only by their windy stirrings, and cloudy patterns of force seemed to fnord as though mirrored in fnord waters. i was reminded of some vaguely disquieting lines i had once called home. the old ones an fnord relationship which must have been malignly silent suddenness, the portrait of joseph curwen at last. that newspaper item and what his mother had heard i 17:30:03 Halite 17:30:05 all the bots 17:30:07 work in /query 17:30:10 fungot, Phantom_Hoover 17:30:10 Halite: sometimes when earth's gods are homesick they visit in the still harbour. 17:30:14 SOWWY 17:30:17 OWWU 17:30:27 I don't think thutubot works properly in /query, but I@m not sure 17:30:30 *I'm 17:30:48 ERR 17:31:04 Fatal Error: /home not found 17:31:09 Pietbot doesn't work in /query 17:31:10 -!- Halite has quit (Quit: Fatal Error). 17:31:20 Then again, Pietbot doesn't work in channel 17:31:40 http://sprunge.us/jKMZ This is copy of the program for analysis of Internet Quiz Engine files. 17:31:46 `ls /home 17:31:48 hackbot 17:31:54 I can find it… 17:32:21 -!- Halite has joined. 17:32:40 It will still consider the timers and multiple selection questions when counting how many slots it takes up, though. 17:33:18 I want to make a programming language 17:33:27 good idae! 17:33:31 *idea! 17:33:37 do you have any interesting concepts to base it on? 17:33:38 but not a boring one 17:33:48 well, NAND being functionally complete 17:34:07 that's been done a few times in the past 17:34:10 I want too make one whose only boolean operation is binary NAND 17:34:16 possibly with NOR 17:34:28 the problem is, that NAND-based programming languages don't lend themselves to infinite state 17:34:41 but see, say, http://esolangs.org/wiki/Norfuck http://esolangs.org/wiki/Suffolk 17:34:59 If you add NAND and shifting then will it work? 17:34:59 that should help you understand where the TCness issues come from 17:35:21 zzo38: hmm, bitwise NAND? if you can shift both ways, it would work 17:35:25 if you can shift only to the right, no 17:35:33 if you can shift to the left but not right, I'm not sure 17:35:40 and "not sure" is always a good place to be 17:35:42 Halite, did you see Nandypants? 17:36:02 -!- augur has quit (Remote host closed the connection). 17:37:01 OK, let's see 17:37:29 I don't want it to look like Brainfuck 17:37:35 say we have an OISC, whose only command is "a = ~(b & c) << 1", where b and c can be variables or literal numbers, and everything is bignum 17:37:55 and, hmm, some sort of flow control; probably while is enough, like in BF, perhaps we should have if and while 17:38:04 TC, or sub-TC? 17:38:13 btw. I have an idea. We could eliminate the need for any operation by creating a new data type called 'truth tables' 17:38:33 well an OISC has only one operation 17:38:42 so it eliminates the need for specific operations that way 17:38:48 although it's not an OISC if I'm adding if and while :) 17:39:10 I guess to make it a proper OISC, we need the instruction pointer to be a variable you can assign to 17:39:27 I think I'll make it something like an OISC 17:40:40 with one operation but IF, WHEN, and WHILE 17:40:51 one boolean op* 17:42:02 Should I call it Nandy or NAND# 17:42:17 I wouldn't be surprised if both those names, or similar ones, were already taken 17:42:23 so I'd suggest being more creative 17:43:01 can you think of a name 17:43:49 not right now, although sometimes I can 17:44:01 normally I name it after concepts in the language itself, which requires writing the language first 17:44:13 I'll document the language in a draft first. 17:44:21 I won't write an interpreter yet. 17:50:03 Oh, speaking of fungot's fnords: there's also a technical limit in the format that restricts the vocabulary to some not-terribly-giant number (2^21 tokens, maybe? Or a total of 2^28 characters in the string table?) -- though of course that "drop OOV things" option is always possible. 17:50:03 fizzie: just about every night on some of them do)) 17:50:46 `pastlog themselves 17:51:17 No output. 17:51:24 `pastlog themselves 17:51:38 2007-10-25.txt:17:29:14: setting up the initial conditions themselves can be represented as a program 17:51:38 Could I make a programming language where the if condition is formatted if(operand1,operand2) { function } 17:52:10 yes, you could 17:52:19 I'd need more details to know whether it was a good idea or not, though 17:52:27 Bleh, Lingua::EN::Sentence is kinda slow. It has taken now something like 20 minutes to process about 6000 emails. 17:52:38 `run kernelbugcheck 17:52:39 bash: kernelbugcheck: command not found 17:53:15 'kernelbugcheck' would force a Kernel Panic 17:53:37 Feel free to force a kernel panic, it won't affect the bot. 17:53:50 Gregor: is each request run with a separate kernel? 17:53:57 Eeyup. 17:53:58 Gregor, why 17:54:04 :o 17:54:06 and is that for security reasons, or just because it was easier that way? 17:54:12 Yes. 17:54:29 security probably 17:54:41 How does running each request with a seperate kernel work? 17:54:43 I'm curious. 17:55:01 Phantom_Hoover: http://bitbucket.org/GregorR/umlbox 17:55:04 Phantom_Hoover: it's UMLbox 17:55:19 so it's treating kernels just like any other process 17:55:19 ah 17:58:06 as opposed to weboflies, which uses the same kernel as the rest of the system, but has its own idea of time, process IDs, networking namespaces, filesystems, and init 17:58:20 and probably a few other things too 17:58:33 (web o' flies) 18:00:49 Only three unpruned 6-grams of my enron subset: "to thank you for your patience", "not be able to determine which" and "communication i believe that the new". 18:01:20 is that the spam, or the nonspam? 18:01:35 It's the enron, which I suppose shouldn't contain any spam? 18:02:04 I only took a few messages out of it, though. It has a bit over half a million emails. 18:02:05 I guess 18:02:14 I get a lot of internal spam sometimes 18:02:36 -!- sebbu has quit (Ping timeout: 272 seconds). 18:02:39 I suppose it depends on what "spam" means. 18:02:58 Is it homogenized meat product? 18:05:00 -!- iamcal_ has quit (Read error: Operation timed out). 18:05:48 does fungot do enron? 18:05:48 kmc: and right well and i i 18:06:09 kmc, didn't you ask that less than a week ago 18:06:21 yes and i forgot 18:06:22 so 18:06:25 does fungot do enron? 18:06:25 kmc: there's a couple of hours 18:06:33 http://sprunge.us/fhWV well, I don't know if that's so good. (Each paragraph is a single output.) 18:06:36 At the very least it needs some MIME preprocessing step to get rid of the =20's. And the HTML. 18:06:47 -!- epicmonkey has quit (Ping timeout: 240 seconds). 18:07:00 I don't know what all that ".?" stuff is, too. 18:07:02 Gregor: the company who makes that actually put out a press release saying that they were happy with people using "spam" to refer to unsolicited email, but wanted to reserve "SPAM" in allcaps for their homogenized meat product 18:07:12 http://pastie.org/6154897 18:07:13 "bentley, wear hand-tailored silk shirts and jackets if you wish you were from hizbullah, a lebanese billionaire rafik hariri" 18:07:17 What determines which category a word falls in? 18:07:27 ais523: All press is good press. 18:07:29 category theory 18:07:48 Ah, but I have fooled you. These "categories" are actually disjoint sets. 18:08:52 Gregor: in general, yes 18:08:56 I think there are exceptions, though 18:09:05 especially as a company gets larger 18:09:23 ASDA: Your Premier Source for Horse Meat 18:09:55 Tesco: Every little bit of Horse Meat helps 18:10:24 well at this point, you have to work out what's screwed up with the supply chain 18:10:24 (that should be a quote, that should) 18:10:30 rather than with the people who ended up with it 18:10:43 ever since the BSE thing, Europe's tried really hard to make all meat traceable 18:10:49 what is screwed up with the supply chain is that suppliers are labeling Horse Meat as Beef 18:10:51 so this is quite embarrassing for the meat inspector people 18:11:02 Halite: well yes, obviously 18:11:12 but there are many suppliers in the chain, so you want to find out which ones are responsible 18:11:15 each request to HackEgo basically boots up a separate Linux machine, runs the command, and then merges the filesystem changes using Mercurial 18:11:18 it's the best 18:11:21 also, why are you initcapitalizing "Horse Meat"? 18:11:32 -!- sivoais has quit (Quit: leaving). 18:11:46 kmc: Actually it never has to merge anymore, it sequentializes writing requests. 18:12:00 `run login --help 18:12:01 login: Cannot possibly work without effective root 18:12:31 `man gcc 18:12:33 -!- sivoais has joined. 18:12:33 man: can't open the manpath configuration file /etc/manpath.config 18:13:06 Gregor: oh that's too bad 18:13:10 Heh, it's got a pretty restrictive /etc X-D 18:13:16 !!!Horse Meat 18:13:29 `welcome sivoais 18:13:31 I don't think EgoBot has a !!Horse command 18:13:31 sivoais: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 18:13:34 Gregor: we've done that already 18:13:43 ais523: Well piffle to you too then! 18:13:55 Gregor: well elliott told me off for doing it when /I/ did it 18:14:01 * ais523 hopes sivoais feels properly welcomed, at least 18:14:09 lul 18:14:26 `welcome Gregor 18:14:28 Gregor: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 18:15:36 That reminds me, I've been once again thinking about how HackEgo could reasonably be made to trigger on other situations, such as channel-join. For a while I was thinking that so long as any particular trigger fires only once, that would be OK, but in retrospect, that's useless in both dimensions (it doesn't restrict spam enough, and doesn't actually accomplish anything). 18:17:06 `run exit 18:17:08 No output. 18:17:18 `run echo "No output." 18:17:19 No output. 18:17:28 `run echo "Yes output." 18:17:30 Yes output. 18:18:43 -!- augur has joined. 18:18:55 `run echo "Gregor: Welcome to the international hub for esoteric programming language design and deployment! For more information, check our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)" 18:18:56 Gregor: Welcome to the international hub for esoteric programming language design and deployment! For more information, check our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 18:19:14 `run echo "Welcome to the international hub for esoteric programming language design and deployment! For more information, check our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.)" 18:19:16 Welcome to the international hub for esoteric programming language design and deployment! For more information, check our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 18:19:25 `Welcome augur. 18:19:26 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Welcome: not found 18:19:28 Yes, your ability to make the bot do things is downright masterful. 18:19:30 `Welcome augur 18:19:31 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Welcome: not found 18:19:38 `welcome augur 18:19:40 augur: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 18:19:47 `WELCOME CHICKENS 18:19:49 CHICKENS: WELCOME TO THE INTERNATIONAL HUB FOR ESOTERIC PROGRAMMING LANGUAGE DESIGN AND DEPLOYMENT! FOR MORE INFORMATION, CHECK OUT OUR WIKI: HTTP://ESOLANGS.ORG/WIKI/MAIN_PAGE. (FOR THE OTHER KIND OF ESOTERICA, TRY #ESOTERIC ON IRC.DAL.NET.) 18:20:35 i hate you so much 18:21:35 -!- sebbu has joined. 18:23:38 everybody hates me 18:24:43 Maybe that's because you're botspamming. 18:25:00 `Waugur 18:25:02 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: Waugur: not found 18:26:48 Wauguries of Innocence. 18:28:02 -!- ogrom has joined. 18:28:35 How surprising, piping the stuff through MIME::Parser is even slower. Oh well. 18:33:49 -!- zzo38 has quit (Remote host closed the connection). 18:34:53 he also thought that socal was being PODQUOT naive if they thought they would get a better deal from the legislature than from the bankruptcy court PDOT PCDQUOT this is such a BUSINESS-ORIENTED thing. 18:35:36 he added that the davis PSLASH socal mou is dead and that all the PODQUOT plan b's PCDQUOT are PODQUOT speculative PCDQUOT at best PDOT also what's a "mou"? 18:36:14 A "memorandum of understanding", apparently. 18:43:55 fizzie: mou is a French word meaning soft (things), without initiative or personality (persons). 18:44:23 also, updated Zucchini. feel free to give me any feedback! 18:48:27 Okay, a new try on MIME-parsed messages: http://sprunge.us/DPbW well, I dunno... there's still quite a lot of email-formatting crap in the body texts that would need to be heuristicced away; quoted messages and the like. 18:50:41 Though I did not know that wearing shorts was favoured by industry executives. 18:51:24 "layoffs first in oilpatch as lower energy commodity prices to keep people from watching porn" I don't know about that either. 18:53:27 -!- Halite has quit (Changing host). 18:53:27 -!- Halite has joined. 19:02:48 -!- monqy has joined. 19:07:05 `quote 15 19:07:07 15) Meh ._. 19:07:13 horribl quote 19:07:17 howwible quote 19:07:23 Wow, yeah X_X 19:07:24 `rmquote 15 19:07:25 `quote 16 19:07:26 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: rmquote: not found 19:07:27 16) oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. please let me go... put me out! he's really a tricycle! pass him! 19:07:31 Oh, what's the command... 19:07:34 `delquote 15 19:07:39 ​*poof* Meh ._. 19:08:11 `quote boily 19:08:17 942) boily: the man eating chicken is just a normal man, it's quite common to eat chicken in some parts of the world \ 943) ~eval 1+2 Error (127): this is a great bot boily i love it \ 952) not only there is no God, but try to find an APL keyboard on Sunday. \ 955) ais523: I'm not sure my 19:08:31 `quote 955 19:08:36 955) ais523: I'm not sure my grasp of the English language is getting better by visiting this channel.. 19:09:02 everything is fine. my narcissistic paranoïd self is reässured. 19:09:17 boily: The "oi" in paranoid is not a diaeresis. 19:09:36 yeah, "reässured" is fine, but it's "paranoid" 19:10:16 the vowel with the diaeresis has to belong to a different syllable to the vowel before 19:10:45 goöd to heär 19:12:02 You peöple are goïng to drive me to the saüce. 19:12:55 saüce? 19:13:10 Saus. 19:13:22 (It's a place.) 19:13:26 Eüphemism for liquör. 19:19:19 -!- epicmonkey has joined. 19:20:33 -!- Taneb has quit (Quit: DINNER). 19:23:57 -!- ogrom has quit (Read error: Connection reset by peer). 19:29:54 -!- Halite has quit (Remote host closed the connection). 19:36:15 -!- sirdancealot has quit (Ping timeout: 260 seconds). 19:41:40 -!- ogrom has joined. 19:43:15 I should really just be writing code and then filling in the corresponding strings later 19:43:31 I wrote a little main=getContents>>=print utility to help me with that bit later on 19:44:21 ok 19:47:37 :t interact 19:47:38 (String -> String) -> IO () 19:49:35 -!- Taneb has joined. 19:50:50 * Sgeo is vaguely worried about the call stack 19:51:42 It's going to grow by one for each compiler in the compiler stack :/ 19:51:56 The way I'm implementing, anyway 19:53:21 Actually, it might not, depending on each compiler in the compiler stack 19:53:31 If the last thing they do is ! (compile).... 19:53:46 Sgeo: oh no 19:53:53 you may hit the problem that most recently halted Feather :( 19:54:26 o.O hm? 19:55:12 Sgeo: the whole "how do you have a forever-growing stack of interpreters without losing time" thing 19:56:08 Have each interpreter write the next one 19:56:13 I take it that "The slowdown is inevitable, it's just an experimental concept anyway" is not an adequate solution? 19:56:51 Sgeo: it possibly is 19:57:11 This sounds like the problem I had with programming in Brook, except not at all 19:57:31 It sounds like the problem I thought I would have with programming in Brook, except backwards 19:57:36 At any rate, these are compilers, which compile into the TF primitives, so it's not like each one in the stack needs to be recompiled itself before being used 19:57:43 Just interpreted 19:57:49 oh good 19:57:55 The actual problem with programming in Brook is making a quine in a crappy language 19:58:41 Taneb, that's what was about to stump me with what I now call the ! operation. So I made it so that ! doesn't compile in terms of primitives, but in terms of the currently executing language 19:59:55 Sgeo, I've given up understanding your new language 20:02:01 Let's call the primitive implementation H0, and the language that it implements L0 20:02:07 L0 is Trustfuck 20:03:04 I write a compiler for L1, which is whatever language, in L0. This consists of reading L1 code, transforming it into L0 code, then emitting with : and compiling with ! 20:03:21 When I compile, H1 is output. 20:04:47 I can now write a compiler in L1 for another language L2. The primitive ! and :, which may be called something else in L1, take L1 code now, not L0 code 20:04:56 -!- Vorpal has quit (Quit: ZNC - http://znc.sourceforge.net). 20:04:57 -!- iamcal_ has joined. 20:05:01 -!- augur has quit (Ping timeout: 245 seconds). 20:06:14 Internally, when I emit H1 from my L0 program, a compiled form of L0 is itself stored in H1, on top of the compiler stack 20:07:03 Thus, when I use the ! primitive from an L1 program, first the code to be compiled is run through the L1 compiler which was written in L0, before the L0 primitives are compiled by whatever means 20:08:00 -!- Vorpal has joined. 20:08:11 I do feel quite limited by basing this on Brainfuck 20:08:36 Maybe a future Trust-family language could, say, state that different code other than itself will get thrown onto the compiler stack? 20:10:03 erm, support a mechanism for doing so 20:17:53 Actually, I see a simple extension to Trustfuck that could support that 20:18:05 But right now, meh 20:18:59 I have a big appreciation for :info, even if it doesn't tell me everything I want to know 20:19:00 -!- DHeadshot has quit (Ping timeout: 260 seconds). 20:19:40 ghci should have a way to see all definitions in its current scope for which part of their type signature matches x 20:20:01 -!- DHeadshot has joined. 20:20:53 -!- augur has joined. 20:41:26 My brain feels like slime when I'm working on this 20:41:38 And it's more me forgetting how to program in Haskell than it is me not grasping my idea 20:42:10 I should probably be using lenses, shachaf 20:42:17 And that's the downside of using so many languages, Sgeo 20:42:20 ~fortune 20:42:20 Does the same as the system call of that name. 20:42:20 If you don't know what it does, don't worry about it. 20:42:20 -- Larry Wall in the perl man page regarding chroot(2) 20:42:40 heh, I remember reading that recently 20:43:01 Stick to one, and eventually people will laugh at you for not being able to understand C 20:43:31 I have the feeling that what Taneb said works with only knowing C. 20:46:58 How do I fix this to not be so ugly (I'm not even sure if it's correct, I haven't tried compiling it) 20:46:59 http://hpaste.org/82310 20:47:21 -!- ogrom has quit (Quit: Left). 20:48:54 I think there's a special place in Hell for people who do chroot in perl. 20:49:37 -!- Taneb has quit (Ping timeout: 248 seconds). 20:50:26 I could factor it out 20:50:41 Gregor: it makes sense if you're a sysadmin and using perl as a shel 20:50:42 *shell 20:50:45 That would be good practice, rather than copy/pasting the way I usually would in this situation 20:51:02 I think there's a special place in Hell for people who use perl as a shell. 20:51:22 -!- carado has quit (Ping timeout: 246 seconds). 20:51:55 boily: indeed :) otoh, C could actually be small enough that you *could* know it 20:52:19 Gregor, hi 20:52:28 Gregor, did you figure out the -R issue with umlbox btw? 20:52:37 -!- Taneb has joined. 20:52:40 Vorpal: Haven't had time to investigate yet. 20:52:46 Gregor, fair enough 20:53:04 Gregor, also chroot in perl? You mean by doing the syscall? 20:53:13 and why would you do that in a perl script 20:53:13 I'm thinking it may not be worth investigating, it'd be best to just rip that out and find a better way to communicate guest-host. The tty system is a nightmare. 20:53:25 Vorpal: Read just a liiiiiiiiiiiiiiiiiiiiiiittle bit further back in the backlog. 20:53:32 okay 20:54:21 The mudem itself is good AFAIK, it's just that UML ttys are awful. 20:54:34 hm 20:54:43 Gregor, what options to ttys are there 20:55:09 Err, s/options/alternatives/? 20:55:15 err yeah 20:55:37 It has a system for memory-mapping host files. That's not a stream though. 20:55:42 I don't think it has any other stream options. 20:55:42 Gregor, I blame that on them being the same word in Swedish 20:55:56 -!- hagb4rd has quit (Quit: Nettalk6 - www.ntalk.de). 20:56:08 Gregor, doing manual stream over a mmap page sounds awful 20:56:18 Indeed X_X 20:56:26 but if you want to, go ahead 20:56:27 Hence why I haven't tried X-D 20:56:46 especially the syncronization 20:57:09 Gregor: What about people who use ghci as their shell? 20:57:25 *shudders* 20:58:06 Gregor, how does normal uml do networking? 20:58:38 rawSystem "bla" ["buh","bluh"] 20:58:40 Vorpal: It exposes either a tun/tap or slirp as an ethernet device. That's implemented as a kernel module. Neither really allow me to meaningfully place any restrictions. 20:59:02 Gregor, the tun/tap one would work, you just have to use iptables to restrict it 20:59:16 no idea about the slirp one 20:59:27 Well, OK, tun/tap is impractical because UMLBox doesn't run as root. 20:59:36 true 20:59:36 And many can run at once. 20:59:41 okay, good point 20:59:54 patched slirp daemon? 20:59:57 Really, it's just plain nutty that uml has no reliable host/guest character device. 21:00:07 That's probably a good approach. 21:00:22 The biggest issue with slirp is that it has a "let's run arbitrary host commands" pseudo-server. 21:01:40 Gregor, so patch that bit out? 21:01:42 Hmm, my code seems a bit repetitive 21:01:42 interpret' (Inc:cmds) = modTape incTape >> interpret' cmds 21:01:42 interpret' (Dec:cmds) = modTape decTape >> interpret' cmds 21:01:42 interpret' ((Set n):cmds) = modTape (setTape n) >> interpret' cmds 21:02:41 Vorpal: I haven't looked into it, at the time the mudem approach seemed better (whitelist instead of blacklist) 21:03:48 Gregor, why would it allow executing commands on the host at all? 21:04:03 isn't it just a user space program forwarding network 21:04:12 /slash 21:04:13 Yes, it offers that as a virtual service. 21:04:20 huh 21:04:23 Because it's stupid that way X-D 21:04:28 that sounds complicated 21:04:33 also who came up with this shit 21:04:41 Hahaha 21:04:44 Wonderful question. 21:05:11 so what is slirp originally intended for? 21:05:53 I think it was so that you could have an ethernet-connected computer accept dial-in connections without needing to run a whole other networking stack in-kernel. 21:06:30 i think it's for old ISPs that gave you dial-in shell access only 21:06:57 Exactly. 21:07:23 hm 21:07:36 -!- oerjan has joined. 21:07:36 that was never common over here afaik 21:07:48 it was usually just straight PPP or SLIP 21:12:59 Sgeo: I can make it less repetitive at the cost of readibility 21:14:00 can you? 21:14:24 Sgeo: by the way, where is the case for []? Or is : here not the list constructor? 21:14:38 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds). 21:15:10 It occurs to me that the Linux kernel has swears in it, yet that wouldn't stop someone from pointing to it on their `resume 21:15:21 FreeFull, I didn't show all cases, but forgot about that one, ty 21:15:31 Sgeo: my advice is to factor out the thing that goes from instruction to action like Inc->IncTape 21:15:57 *incTape 21:16:12 and Set n -> setTape n 21:16:17 and so on 21:16:32 You might be able to map and then sequence_ 21:16:47 aka mapM_ 21:20:16 interpret' = mapM_ mod where mod x = modTape $ case x of { Inc -> incTape; Dec -> decTape; (Set n) -> setTape n } 21:20:19 This might work 21:20:48 It might not 21:21:36 imo dont do that 21:22:10 I had a slirp-driven dialup connection going a while (a decade? 15 years?) ago. 21:22:12 meh 21:22:32 Though probably not as the regular "commercial ISP" at-home dialup. 21:22:40 Besides, I have cases that don't involve just modifying the tape 21:22:55 data InterpState = InterpState { tape :: Tape, higherInput :: Maybe String, currentCompilerStack :: [[TFCommand]], codeBlock :: String } 21:22:55 Sgeo: ok then think for yourself 21:23:16 Does thinking not to bother with factoring it out as much as possible count? 21:24:05 -!- Phantom_Hoover has joined. 21:24:38 Hi Phantom_Hoover. I believe that the easiest Trustfuck programs to write are probably BF derivative compilers. 21:24:45 you don't have to do it "as much as possible" (what does that mean???) but i suggest avoiding too much repetition because duplication leads to error and also pain 21:24:48 pain and error 21:24:49 you dont want this 21:24:56 In fact, I plan on making a few 21:24:59 Just to test it out 21:25:07 switching [ and ] 21:25:08 etc 21:25:37 logically, Phantom_Hoover now has to replace Sgeo's brain with a brick factory 21:26:36 brick factory might be a nice name for a brainfuck derivative 21:26:41 would be useful 21:26:50 i don't know where i'd even find a brick these days 21:27:11 I seem to remember a brick factory near Newcastle 21:27:37 could make your own bricks 21:27:43 I thought they made bricks by pouring mud in molds in the desert 21:27:44 homemade bricks for that "homemade" charm 21:28:19 I wonder what kind of desert has lots of mud though 21:28:19 olsner, how would you know 21:28:23 -!- augur has quit (Remote host closed the connection). 21:28:44 mississipi mud pie, obviously 21:28:45 Phantom_Hoover: hm i'd suggest Leca, but that's apparently a norwegian company so might not be in britain 21:30:56 There's a brick factory next to the summer place of some people I know. It's in Mjösund, Kemiö, if you're interested. I'm sure it's not much out of your way. 21:32:31 hm ok they've been absorbed by Weber, which seems multinational. 21:33:42 I wonder what kind of desert has lots of mud though <-- the ones rivers run through? see: egypt, mesopotamia 21:34:54 ais523: Oh, I updated the bfjoust stats, incidentally; started it when you mentioned it, but then totally forgot about it so didn't rsync. 21:35:08 oerjan: mythological deserts don't count 21:35:12 fizzie: good to know 21:35:16 do you have the link handy? 21:35:49 oh actually weber is part of saint-gobain. 21:36:14 `pastlog bfjoust stats 21:36:25 ais523: http://zem.fi/egostats/ 21:36:33 (Faster than a speeding bot.) 21:36:43 No output. 21:36:48 (Maybe HackEgo doesn't quite always count as "speeding".) 21:36:52 indeed :) 21:36:54 thanks 21:37:10 HackEgo is best at grinding 21:38:07 hmm… so I conclude from this that part of the reason omnipotence does so much better than the other top programs is that it doesn't have issues with short tape lengths 21:38:37 omnipotence? 21:38:39 sounds cool 21:38:59 @hoogle Char -> Int 21:38:59 Data.Char digitToInt :: Char -> Int 21:39:00 Data.Char ord :: Char -> Int 21:39:00 Graphics.UI.GLUT.Callbacks.Window Char :: Char -> Key 21:39:02 Hrm... the "absolute values" plot for it has numbers from (about) -24 to 12; that sounds a bit suspicious. 21:39:49 -!- augur has joined. 21:40:05 coppro: it's a new BF Joust innovation, and it wins "fairly", mostly (although it'd be hurt if people used timer clears more often even when they had no reason to suspect defence) 21:40:34 The others have negative values there too. Hrm, perhaps I have broken it. 21:41:10 the absolute tape value plot is interesting because it shows strategy 21:41:19 most programs have their flags near 128 21:41:32 anticipation2 does synchronization, so its flag tends to be really low when it wins 21:41:56 and omnipotence defends but doesn't synchronize, so its flag is averaging approximately 64 (i.e. pretty much a random value) 21:42:41 Yes, the overall average (plot_tapeabs) version seems to work, the numbers are nonnegative; but the per-program versions I probably have managed to break. 21:42:48 I did refactor some repeated code out of there. 21:42:58 `rm bin/list 21:43:04 No output. 21:44:40 `list 21:44:41 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: list: not found 21:44:44 nooooooooooo! 21:47:26 Yes, I seem to have managed to drop an "abs" out. 21:47:39 I hate monad stacks I hate monad stacks I hate monad stacks 21:47:50 And after pressing Enter, I tried to Ctrl-S to save IRC 21:48:36 There, fixeded that. 21:48:38 `revert 21:48:41 Done. 21:49:13 `list 21:49:17 cuttlefish boily elliott Taneb HackEgo shachaf Sgeo monqy 21:50:04 `run sed -i 's/shachaf //' bin/list # It's getting annoying 21:50:08 No output. 21:50:12 Is there a `delist / `unlist already, incidentally? 21:50:26 not last i checked 21:51:51 Oh crud I am lost in a monad stack 21:51:53 Totally lost 21:52:22 advice: dont do that 21:52:27 Sgeo: you are not supposed to use explicit lift's hth 21:52:31 *-' 21:52:39 Not done writing this function, but http://hpaste.org/82314 21:52:45 I think I need to use liftIO somewhere 21:52:58 The function itself returns a StateT InterpState IO () 21:52:58 what's the signature of interpret' 21:53:06 interpret' :: [TFCommand] -> StateT InterpState IO () 21:53:11 Sgeo: modify takes just one argument 21:53:29 Yeah, that part's also still in progress 21:53:54 But I think I need to fit a liftIO near the getChar 21:54:04 -!- dessos has quit (Quit: leaving). 21:54:06 oerjan: Thanks. 21:54:34 -!- Taneb has quit (Quit: Leaving). 21:54:39 shachaf: yw, even if you could have done it yourself instead of messing it up every time 21:55:21 -!- dessos has joined. 21:59:08 `welcome dessos 21:59:11 dessos: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 22:02:22 * boily checks his calendar. hm. not Friday yet. <-- good chap. 22:07:19 -!- augur has quit (Remote host closed the connection). 22:08:18 What is the cleanest way to map over the second element of a tuple? 22:08:52 Phantom_Hoover your british is showing <-- but naff is such a cute word! 22:09:07 FreeFull: second from Control.Arrow 22:09:13 > second succ (1,2) 22:09:15 (1,3) 22:09:37 oerjan, it's the perfect word to describe inoffensively bad things" 22:10:52 FreeFull: if you're doing deeper stuff, maybe you should look at lens. 22:11:12 :t _2 22:11:13 (Functor f, Field2 s t a b, Indexable Int p) => p a (f b) -> s -> f t 22:11:49 if i only remembered the names 22:11:58 second is just \f (a,b) -> (a,f b) right? 22:12:02 -!- Phantom_Hoover has quit (Quit: Leaving). 22:12:12 FreeFull: on the (->) Arrow, yes >:) 22:12:14 -!- Phantom_Hoover has joined. 22:12:35 oerjan: Does anyone use any other Arrows? 22:12:36 :t (^=) 22:12:37 (Integral e, Num a, MonadState s m) => ASetter' s a -> e -> m () 22:13:02 :t second 22:13:04 Arrow a => a b c -> a (d, b) (d, c) 22:13:04 FreeFull: i think zzo38 uses Kleiski and probably some others do too 22:13:44 oerjan: dates are complex. time is hard. I need periodic sanitic realitic checks. 22:13:47 what's the lens equivalent of modify 22:14:07 boily: especially on the 13th, no? 22:14:12 http://en.wikipedia.org/wiki/Arrow_%28computer_science%29 This article seems to have been written by Haskellers 22:14:56 FreeFull: probably, i'm not sure if anything but Haskell uses them 22:15:26 they're kind of not mathematically pretty like monads are 22:15:41 profunctors are better 22:15:44 they're sort of a chimera of Category and Applicative 22:16:07 @hoogle (^=) 22:16:07 No results found 22:16:19 -!- nooodl_ has joined. 22:16:36 @hoogle ASetter' 22:16:36 No results found 22:16:37 oerjan: on those days, I'm sure this channel becomes some kind of SCP. 22:16:54 boily: That'd be a retarded SCP 22:16:56 oh 22:17:11 > _2 %~ succ $ (1,2) 22:17:14 (1,3) 22:17:27 `addquote oerjan: on those days, I'm sure this channel becomes some kind of SCP. 22:17:30 963) oerjan: on those days, I'm sure this channel becomes some kind of SCP. 22:17:40 "those days"? 22:17:44 _2 %~ looks like gibberish 22:17:47 > over _2 succ (1,2) 22:17:49 (1,3) 22:17:53 :t over 22:17:55 Profunctor p => Setting p s t a b -> p a b -> s -> t 22:17:57 more readable alternative 22:18:06 wow i'm reading _2 as (-2) "thanks apl" 22:18:18 I think I'll just import Control.Arrow (second) 22:18:22 @let theSecondOne = _2 22:18:24 Defined. 22:18:28 nooodl_: friday thirteens. 22:18:32 > over theSecondOne succ (1,2) 22:18:35 (1,3) 22:18:35 nooodl_: hm i'm not, even if i've been using it that way all the time while writing Fueue 22:18:45 shachaf: we aren't trying to make it into English 22:18:55 > over theSecondOne succ (1,2,3) 22:18:58 (1,3,3) 22:19:06 (Fueue doesn't have _, but i needed something to distinguich negative numbers from - positivenumber) 22:19:11 :t liftIO 22:19:13 MonadIO m => IO a -> m a 22:19:46 i'm, how can that even work in haskell 22:19:51 :t over theSecondOne succ 22:19:53 (Enum b, Field2 s t b b) => s -> t 22:19:58 It's awful. 22:20:23 > liftIO putStr "a" :: Maybe String 22:20:24 oh god. i never asked 22:20:25 Couldn't match expected type `GHC.Types.IO 22:20:25 ... 22:20:37 > (liftIO putStr "a") :: Maybe String 22:20:39 Couldn't match expected type `GHC.Types.IO 22:20:39 ... 22:20:46 Maybe is not a MonadIO 22:20:51 Oh, right 22:20:51 Also, bad parenthization 22:20:55 And it'd have to be Maybe () 22:20:58 liftIO $ putStr "a" 22:21:11 > (liftIO $ putStr "a") :: Maybe () 22:21:13 No instance for (Control.Monad.IO.Class.MonadIO Data.Maybe.Maybe) 22:21:13 arisin... 22:21:19 There, the right error 22:21:29 FreeFull: you can only liftIO into monads that are built on top of IO 22:21:47 > (liftIO $ putStr "a") :: MaybeT (IO a) 22:21:49 Not in scope: type constructor or class `MaybeT' 22:21:49 Perhaps you meant `Maybe'... 22:22:06 old lambdabot is old 22:23:08 I'm guessing there is an instance MonadIO a => MonadIO MaybeT a 22:23:54 boily: it's a little known fact that everyone dies every Friday the 13th and is resurrected with partial amnesia the next morning 22:24:20 you sure of that? I have no memories of it. 22:25:49 quite sure. 22:26:05 > over _2 succ [1,2,3] 22:26:07 No instance for (Control.Lens.Tuple.Field2 [t0] a0 b0 b0) 22:26:07 arising from a... 22:26:15 next time, I'll write myself a post-it. 22:26:21 INSUFFICIENT MADNESS 22:26:53 boily: there might also be a few things replaced or missing, hth 22:27:54 boily: also you cannot write a post-it when you are dead, duh 22:28:11 oerjan: good point. 22:29:33 that means I nead to get back my cloneduino from my brother, and implement some contraption with it that will write to a post-it when I'm dead, then wrap the precious slip into a safe, then lock the aforementioned safe in a secret underground vault. 22:30:44 :t act 22:30:46 (Conjoined p, Effective m r f) => (s -> m a) -> p a (f a) -> p s (f s) 22:32:18 i'm not sure that's the act from lens 22:32:24 > (0$0`act`) 22:32:26 The operator `Control.Lens.Action.act' [infixl 9] of a section 22:32:26 must ha... 22:32:30 oh it is 22:32:39 :t over _2 22:32:41 (Field2 s t a b, Indexable Int p) => p a b -> s -> t 22:35:31 Hmm, my currently envisioned primCompiler has too many jobs I think 22:36:01 Translating a string of Trustfuck into TFCommands, and then outputting the appropriate Haskell 22:39:19 I could call primTranslation the translation of Trustfuck->[TFCommand] 22:39:40 refactor! 22:39:46 refactor! 22:39:47 refactor! 22:40:10 hm Taneb is not here 22:41:59 > (id += 2) 3 22:42:01 No instance for (Control.Monad.State.Class.MonadState s0 ((->) a0)) 22:42:02 aris... 22:42:08 > (id +~ 2) 3 22:42:10 5 22:46:36 -!- ais523 has quit. 22:48:01 Oh hey there's a J 8 beta 22:50:58 oooh 22:53:33 oh apparently there's just some boring GUI changes 22:54:21 -!- copumpkin has quit (Ping timeout: 252 seconds). 22:55:01 -!- copumpkin has joined. 22:56:55 -!- augur has joined. 22:59:37 Vorpal: ARRRRRRRRRRRRGH 22:59:41 Vorpal: PYTHOOOOOOOOON 23:00:01 I've only begun hating Python recently 23:00:42 Vorpal: umlbox mudem bug fixed. 23:04:02 Y'know, you're free to fail to hack HackEgo in #hackbot . Less... interrupty there. <-- funniest thing, not a single thing he did showed up in the repository 23:04:06 @hoogle catch 23:04:07 Prelude catch :: IO a -> (IOError -> IO a) -> IO a 23:04:07 System.IO.Error catch :: IO a -> (IOError -> IO a) -> IO a 23:04:07 Control.OldException catch :: IO a -> (Exception -> IO a) -> IO a 23:04:40 :t (Just <$> getChar) `catch` \_ -> return Nothing 23:04:40 oerjan: lol, 'struth. 23:04:42 IO (Maybe Char) 23:06:00 * oerjan is not sure how he feels about using catch just to check for eof 23:06:01 grr typing } does not mean I want to deindent 23:06:09 What's a better way to check for eof? 23:06:16 hIsEOF 23:06:32 admittedly catch may be shorter 23:08:27 oh or just isEOF for stdin 23:08:50 :t isEOF 23:08:52 Not in scope: `isEOF' 23:08:54 @hoogle isEOF 23:08:55 System.IO isEOF :: IO Bool 23:08:55 GHC.IO.Handle.FD isEOF :: IO Bool 23:08:55 System.IO.Error isEOFError :: IOError -> Bool 23:09:03 "deindenting" should be called "exdenting" imo 23:09:55 have I heard "dedent"??? maybe. 23:10:26 i've heard "dedent" but "de-" isn't the opposite of "in-"... 23:10:27 monqy: DEDENT is a lexical token in python, iirc 23:10:57 used for implementing its indentation blocks 23:11:26 :t hIsEOF 23:11:28 Not in scope: `hIsEOF' 23:11:28 what does it use for implementing its dedentation blocks 23:11:44 shachaf: nothing 23:11:50 oh 23:13:22 oerjan, ok, using isEOF 23:13:37 What I wrote is more verbose, but using catch like that makes me feel icky 23:14:09 hm... 23:14:25 @hoogle Bool -> m a -> m (Maybe a) 23:14:25 Data.Generics.Aliases orElse :: Maybe a -> Maybe a -> Maybe a 23:14:26 Data.Time.Calendar.MonthDay monthAndDayToDayOfYearValid :: Bool -> Int -> Int -> Maybe Int 23:14:26 Control.Monad unless :: Monad m => Bool -> m () -> m () 23:14:29 oh 23:15:23 gah when and unless are the closest but don't give maybes 23:15:32 or wait 23:15:43 ...sigh 23:16:05 @hoogle Maybe a -> a -> a 23:16:06 Data.Maybe fromMaybe :: a -> Maybe a -> a 23:16:06 Prelude asTypeOf :: a -> a -> a 23:16:06 Data.Generics.Aliases orElse :: Maybe a -> Maybe a -> Maybe a 23:16:34 Sgeo: you need something which starts with a Bool, something haskell standard libraries sorely lacks 23:16:37 oerjan: To be fair Bools are evil. 23:16:51 oerjan, it's fine, I just used do notation 23:17:11 I could also use >>= and a lambda 23:17:17 @pl \x m -> if x then Just <$> m else pure Nothing 23:17:17 flip flip (pure Nothing) . (. (Just <$>)) . if' 23:17:20 Nothing -> liftIO $ do 23:17:20 eof <- isEOF 23:17:20 if eof then Just <$> getChar else return Nothing 23:17:21 There y'go. 23:17:32 @ty \x m -> if x then Just <$> m else pure Nothing 23:17:34 Applicative f => Bool -> f a -> f (Maybe a) 23:17:50 Sgeo: sure. it's just awful that afaik there is no way to do it that is shorter than your catch expression 23:18:10 oh wait 23:18:19 well not _quite_ shorter but... 23:18:37 @ty \case { True -> "hello"; False -> "goodbye" } 23:18:39 parse error on input `case' 23:18:57 "hello monqy" 23:19:01 monqy: old lambdabot is old 23:19:14 hi shachaf 23:19:17 hi 23:19:27 do you have anything to say about galois connections today 23:19:30 no 23:19:39 perhaps tomorrow, then. 23:20:29 :t let isEOF :: IO Bool; isEOF = undefined in isEOF >>= maybe (return Nothing) getChar . guard 23:20:31 Couldn't match expected type `a0 -> IO (Maybe a1)' 23:20:31 with actual type `IO Char' 23:20:31 In the second argument of `maybe', namely `getChar' 23:20:32 @let monoids = easy 23:20:35 Defined. 23:20:36 fff 23:21:04 :t maybe (return Nothing) getChar . guard 23:21:06 Couldn't match expected type `a0 -> m0 (Maybe a1)' 23:21:06 with actual type `IO Char' 23:21:06 In the second argument of `maybe', namely `getChar' 23:21:09 :t maybe 23:21:11 b -> (a -> b) -> Maybe a -> b 23:21:15 oh right 23:21:32 = CodensityAsk Identity 23:21:41 Er, no. 23:21:57 Er, yes. 23:22:40 :t let isEOF :: IO Bool; isEOF = undefined in isEOF >>= fromMaybe (return Nothing). (getChar <$) . guard 23:22:41 Couldn't match expected type `Maybe a0' with actual type `Char' 23:22:41 Expected type: IO (Maybe a0) 23:22:41 Actual type: IO Char 23:22:50 this isn't going very well 23:22:58 :t (getChar <$) . guard 23:22:59 (Functor f, MonadPlus f) => Bool -> f (IO Char) 23:23:39 :t fromMaybe (return Nothing) . (getChar <$) . guard 23:23:41 Couldn't match expected type `Maybe a0' with actual type `Char' 23:23:41 Expected type: IO (Maybe a0) 23:23:41 Actual type: IO Char 23:24:29 :t String -> IO a 23:24:31 parse error on input `->' 23:24:36 @hoogle String -> IO a 23:24:37 Foreign.C.Error throwErrno :: String -> IO a 23:24:37 Network.Socket.Internal throwSocketError :: String -> IO a 23:24:37 System.Environment withProgName :: String -> IO a -> IO a 23:24:42 @hoogle throw 23:24:42 Control.Exception.Base throw :: Exception e => e -> a 23:24:42 Control.Exception throw :: Exception e => e -> a 23:24:42 Control.OldException throw :: Exception e => e -> a 23:24:44 -!- Nisstyre_ has changed nick to Nisstyre. 23:24:45 bah 23:25:06 :t fromMaybe (return Nothing) 23:25:08 Monad m => Maybe (m (Maybe a)) -> m (Maybe a) 23:25:20 Hmm. What should happen when a compiler in the middle of the compiler stack attempts to do normal output? 23:26:08 -!- epicmonkey has quit (Ping timeout: 255 seconds). 23:26:29 chaos 23:26:35 don't do it Sgeo 23:26:51 "Chaos" is easily achieved by just doing normal output 23:27:36 Imagine something randomly outputting in the middle of creating x86 binary for no good reason 23:27:57 don't do it 23:28:07 ? 23:28:20 Well, any program that does that is ... certainly broken 23:28:55 The question is, do I throw an error? 23:29:10 Also, I have separate sorts of output: Output via . and output via : and ! 23:29:26 I've been wondering whether to separate input out in that fashion 23:29:56 That is, any compiler in the middle of the compiler stack that uses , rather than codein ; would see standard input 23:30:03 Rather than code in the language they were expecting 23:30:07 Possibly causing havock 23:30:10 havoc? 23:30:11 Fun 23:30:32 Right now though I'm just going to keep implementing the spec as-is 23:31:14 http://sprunge.us/JHIC I am somewhat a confuse. 23:31:29 :t chr 23:31:31 Int -> Char 23:31:42 :t putCh 23:31:44 Not in scope: `putCh' 23:31:44 :t putChar 23:31:46 Char -> IO () 23:32:23 fizzie: making its lamarck on game history, surely 23:32:33 How would you rewrite sum . map (\(x,y) -> if x == y then 1 else 0) $ zip not to use $ like that? 23:33:04 Wait, that's not valid 23:33:13 http://hpaste.org/82320 23:33:55 I like how -> and <- align. I am easily amused 23:33:58 Wait, could use zipWith there 23:34:29 FreeFull: in any case, that would use . not $ 23:34:50 or not even that 23:35:05 zip is a function of two arguments 23:35:10 The others are of one 23:35:19 so .: which is not standard 23:36:08 :t sum .: zipWith (uncurry (==)) 23:36:10 Couldn't match expected type `b1 -> b0' with actual type `Bool' 23:36:10 Expected type: b2 -> b2 -> b1 -> b0 23:36:10 Actual type: b2 -> b2 -> Bool 23:36:17 now what 23:36:22 :t (.:) 23:36:23 (Functor g, Functor f) => (a -> b) -> f (g a) -> f (g b) 23:36:32 CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALE 23:36:45 What I meant was something like \x -> sum . zipWith (\x y -> if x == y then 1 else 0) x 23:37:05 But more pointless 23:37:13 yes, .: would fit 23:37:18 *should 23:37:34 :t sum .: zipWith (\x y -> if x == y then 1 else 0) 23:37:35 (Eq a, Num b) => [a] -> [a] -> b 23:37:37 oerjan: Apparently the game was not in fact good. :/ (But the Ghost Crab did evolve to Fiddler Crab and then the Yeti Crab and then the Coconut Crab.) 23:37:51 The type fits 23:37:55 fizzie, ??? 23:38:50 how about 23:38:51 Phantom_Hoover: [01:31:14] http://sprunge.us/JHIC I am somewhat a confuse. 23:39:02 @hoogle (.:) 23:39:02 No results found 23:39:15 length . filter (uncurry (==)) . zip 23:39:17 :info (.:) 23:39:18 or something 23:39:39 :t (length . filter (uncurry (==)) . zip) 23:39:40 Couldn't match expected type `[(b0, b0)]' 23:39:41 with actual type `[b1] -> [(a0, b1)]' 23:39:41 Expected type: [a0] -> [(b0, b0)] 23:39:44 :t (length . filter (uncurry (==)) .: zip) 23:39:46 Couldn't match expected type `[[(b0, b0)]]' 23:39:46 with actual type `[b1] -> [(a0, b1)]' 23:39:46 Expected type: [a0] -> [[(b0, b0)]] 23:40:26 :t (.:) 23:40:28 (Functor g, Functor f) => (a -> b) -> f (g a) -> f (g b) 23:40:34 :t (.).(.) 23:40:35 (Functor f1, Functor f) => (a -> b) -> f (f1 a) -> f (f1 b) 23:40:46 :t (.) 23:40:47 that's the portable version 23:40:47 Functor f => (a -> b) -> f a -> f b 23:40:53 Oh, .: is the owl 23:41:02 cale cale cale cale cale 23:41:42 owl? 23:42:10 :t length . filter id . zipWith (==) 23:42:12 Couldn't match expected type `[Bool]' 23:42:12 with actual type `[b0] -> [c0]' 23:42:12 Expected type: [a0] -> [Bool] 23:42:15 oops 23:42:31 :t (length . filter id) .: zipWith (==) 23:42:33 Eq b => [b] -> [b] -> Int 23:42:41 FreeFull: simpler ^ 23:42:55 i have no idea when to use (.).(.) it's so stupid 23:43:10 that's why they call it (.:) 23:43:15 "less stupid" 23:43:27 :t (.).(.) (length . filter id) (zipWith (==)) 23:43:29 Couldn't match expected type `a0 -> b0' with actual type `Int' 23:43:29 Expected type: [a1] -> a0 -> b0 23:43:29 Actual type: [a1] -> Int 23:43:30 :t (length . filter id .) . zipWith (==) 23:43:31 The operator `.' [infixr 9] of a section 23:43:31 must have lower precedence than that of the operand, 23:43:31 namely `.' [infixr 9] 23:43:32 what about (∴) 23:43:40 :t ((length . filter id) .) . zipWith (==) 23:43:41 "minimally stupid"?? 23:43:41 Eq b => [b] -> [b] -> Int 23:43:48 (∴) is maximally stupid, sorry 23:43:52 oh 23:43:57 what about (∵) 23:44:03 also maximally stupid 23:44:09 are they isomorphic 23:44:18 if you want 23:44:23 isomorphic up to isomorphic isomorphism 23:44:25 if they'd only made . associate the other way, the innermost parentheses would be unnecessary 23:44:42 2241 NOT TILDE [≁] 23:44:47 @hoogle (<$>) 23:44:47 Data.Functor (<$>) :: Functor f => (a -> b) -> f a -> f b 23:44:47 Control.Applicative (<$>) :: Functor f => (a -> b) -> f a -> f b 23:44:54 lambdabot: plz support unicode again......... 23:44:56 @hoogle ord 23:44:56 Prelude class Eq a => Ord a 23:44:57 Data.Ord class Eq a => Ord a 23:44:57 Prelude data Ordering :: * 23:44:58 i don't have not tilde on my compose key :( 23:45:03 oh no 23:45:04 @hoogle chr 23:45:05 Data.Char chr :: Int -> Char 23:45:05 Text.PrettyPrint.HughesPJ Chr :: Char -> TextDetails 23:45:05 Text.PrettyPrint Chr :: Char -> TextDetails 23:45:12 2247 NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO [≇] 23:45:15 2246 APPROXIMATELY BUT NOT ACTUALLY EQUAL TO [≆] 23:45:18 2245 APPROXIMATELY EQUAL TO [≅] 23:45:21 these are good 23:45:25 yeah 23:45:30 @hoogle Int -> Char 23:45:30 Data.Char chr :: Int -> Char 23:45:30 Data.Char intToDigit :: Int -> Char 23:45:30 Data.Text index :: Text -> Int -> Char 23:45:35 that reminds me of my favorite thingy in unicode 23:45:36 it's missing ACTUALLY BUT NOT APPROXIMATELY EQAUL TO 23:45:36 @hoogle Char -> Int 23:45:37 Data.Char digitToInt :: Char -> Int 23:45:37 Data.Char ord :: Char -> Int 23:45:37 Graphics.UI.GLUT.Callbacks.Window Char :: Char -> Key 23:45:52 nooodl_: ⋚ ? 23:45:57 ⋄ 23:46:11 wow shachaf how did you know 23:46:16 i was just looking it up. ⋚ 23:46:27 also ⋙ is pretty good 23:46:29 nooodl_: "im an expert in knowing things" 23:46:48 don't forget about ⪑ 23:46:53 ⪔ 23:47:00 ⪠ wow these are trainwrecks 23:47:05 those are pretty good 23:47:21 wow 𪩶 23:47:22 er 23:47:23 ⪢ i can't even see this one 23:47:25 2A76 THREE CONSECUTIVE EQUALS SIGNS [⩶] 23:47:29 but i trust that it looks really nice 23:47:29 ⩶ 23:47:31 hahaha 23:47:44 i can't see that one either but that's actually good 23:47:49 i can see ⪢ 23:47:52 "get better fonts" 23:48:12 nooodl_: the good thing about THREE CONSECUTIVE EQUALS SIGNS is that it goes way out of the box into the next character 23:48:16 because i imagine that they're just haphazardly smashed into a single unicode character "box" 23:48:24 Not in my font! 23:48:26 that's even better :') 23:48:32 2AA4 GREATER-THAN OVERLAPPING LESS-THAN [⪤] 23:48:37 Can you see that? 23:48:39 what's a good font that supports all of these 23:48:40 nope :/ 23:48:47 They're >< overlapping. 23:48:57 I use the font called "Monospace" 23:49:02 "good font imo" 23:49:03 me too 23:49:08 @hoogle Int -> Char <-- tip: while ord and chr exist, i usually don't bother importing them and just use fromEnum and toEnum instead. 23:49:19 2A94 GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL [⪔] 23:49:19 however xchat2 does all kinds of stupid things 23:49:27 meh 23:49:31 2A84 GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT [⪄] 23:49:40 polyspace 23:49:41 💩 23:49:50 monqy: what's that... 23:50:03 U+1F4A9 23:50:07 `cat /proc/version 23:50:09 i'm installing a unicode font so i can fully enjoy all of these 23:50:10 undefined is going to be so useful 23:50:11 Linux version 3.7.0-umlbox (root@codu.org) (gcc version 4.4.5 (Debian 4.4.5-8) ) #1 Wed Feb 13 23:30:40 UTC 2013 23:50:12 it's great how Unicode has this whole combining-characters mechanism but then they throw in 3865927348 pre-composed characters as well 23:50:17 Nice to be able to compile incomplete code etc 23:50:19 wow good monqy 23:50:19 `curl http://google.com/ 23:50:19 `gcc -V 23:50:21 gcc: '-V' option must have argument 23:50:22 ​ % Total % Received % Xferd Average Speed Time Time Time Current \ Dload Upload Total Spent Left Speed \ 23:50:22 `gcc -v 23:50:24 Using built-in specs. \ Target: x86_64-linux-gnu \ Configured with: ../src/configure -v --with-pkgversion='Debian 4.4.5-8' --with-bugurl=file:///usr/share/doc/gcc-4.4/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.4 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecd 23:50:30 `run curl http://google.com/ 2> /dev/null 23:50:32 \ 301 Moved \

301 Moved

\ The document has moved \ here. 23:50:33 2A69 TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE [⩩] 23:50:37 😿 23:50:43 So how long to U+1672A RUBBER CHICKEN WITH A PULLEY IN THE MIDDLE 23:50:44 Sgeo: did you see that GHC now has a feature to defer type errors to runtime 23:50:46 OK, HackEgo's network access should be considerably more reliable now. 23:50:54 You want to have Symbola installed 23:50:55 an ill-typed term is replaced with error "whatever" 23:50:58 I'm still on GHC 6.something 23:51:03 upgrade 23:51:05 ye gads 23:51:11 I'm on Ubuntu 10.10 23:51:16 it's had that feature for basically forever.......... 23:51:19 upgrade 23:51:19 ye gads 23:51:23 shachaf: o? 23:51:23 `ghc --version` 23:51:23 The Glorious Glasgow Haskell Compilation System, version 7.6.2 23:51:28 ghc: unrecognised flags: --version` \ Usage: For basic information, try the `--help' option. 23:51:30 Well, I guess it's new. 23:51:35 OK, it's only since 7.6. 23:51:52 What I really want is to not lose bindings I make when I :r 23:51:52 So since September. 23:51:54 in GHCi 23:52:07 eternal september 23:52:16 What I want is a way to remove certain bindings in GHCi 23:52:22 Without affecting others 23:52:26 what i want is a god that stays dead, not plays dead 23:52:43 :t fromMaybe 23:52:44 a -> Maybe a -> a 23:52:59 fromMaybe 3 Nothing 23:53:01 all i want is a monoid 23:53:03 > fromMaybe 3 Nothing 23:53:05 3 23:53:18 what's an adjunction between monoids like 23:53:21 "really boring??" 23:53:49 Is abs int, 0, + a monoid? 23:53:53 since basically every pair of functors between monoids is an adjunction, or what?? 23:53:53 shachaf: so easy 23:54:03 theegan 23:54:04 FreeFull: what does "abs int" mean? 23:54:21 kmc: Any negative value becomes positive before any other action is taken 23:54:41 yeah isn't that Sum 23:54:42 no, because 0 + (-5) ≠ -5 23:54:43 Nice to be able to compile incomplete code etc <-- not in the platform yet i think, but newest ghc has some nice new features for this 23:54:51 so 0 is not an identity 23:55:03 Is it a semigroup? 23:55:18 but the nonnegative integers under 0,+ are a monoid 23:55:21 let inVal = fromMaybe -1 (fmap ord maybeIn) 23:55:28 inVal should be an Int after that, right? 23:55:45 :t fromMaybe -1 (fmap ord Nothing) 23:55:46 (Num (Maybe Int -> a -> Maybe a -> a), Num (a -> Maybe a -> a)) => a -> Maybe a -> a 23:55:49 wtf 23:56:07 OK, HackEgo's network access should be considerably more reliable now. <-- yay! 23:56:16 :t fmap ord 23:56:18 Functor f => f Char -> f Int 23:56:36 :t fromMaybe -1 23:56:36 @ty compare `on` void 23:56:37 :t fmap 23:56:38 Num (a -> Maybe a -> a) => a -> Maybe a -> a 23:56:38 (Functor f, Ord (f ())) => f a -> f a -> Ordering 23:56:38 Functor f => (a -> b) -> f a -> f b 23:56:39 :t fromMaybe (-1) 23:56:40 Num a => Maybe a -> a 23:56:45 > fromMaybe -1 (fmap ord Nothing) 23:56:47 No instances for (GHC.Num.Num (a0 -> Data.Maybe.Maybe a0 -> a0), 23:56:47 ... 23:56:56 FreeFull: so mempty is 0, and mappend is (\x y -> abs x + abs y)? 23:56:57 :t fromMaybe (-1) (fmap ord Nothing) 23:56:58 Int 23:57:08 XD 23:57:16 Dear Haskell: Please switch to using _ for negatives 23:57:17 nooodl_: Yes 23:57:25 -!- augur has quit (Remote host closed the connection). 23:57:27 nooodl_: kmc already showed it isn't a monoid 23:57:38 Yay! I get a different error now! 23:57:45 oh, yeah 23:58:26 what i want is a god that stays dead, not plays dead <-- are you sure he's playing dead, and that you weren't just not invited to the game 23:58:46 :( 23:59:26 http://en.wikipedia.org/wiki/Group_(mathematics)#Generalizations looks like it's indeed a semigroup. (hey, this table is cool) 23:59:40 oerjan: again with dead people. are you a zombie or something? 2013-02-14: 00:00:52 non-associative semicategory 00:01:26 ok this is another term that i google and the only instance is me making the joke here before 00:01:39 non-associative semicategories, like the word "apple" 00:01:51 oerjan: again with dead people. are you a zombie or something? <-- try bribing me with brains... 00:02:57 will brawn do? delicious, savoury brawn spread on hot and buttered toasts? 00:03:06 MAYBE 00:03:52 brawn on bran over brain 00:04:17 the new BBBBLT sandwich. 00:05:39 can you add some brown cheese? 00:05:46 sort of seems to fit 00:05:53 what's brown cheese? 00:06:00 norwegian specialty 00:06:36 http://en.wikipedia.org/wiki/Brunost 00:07:06 I think I can find that somewhere. 00:07:14 oh well. time to go eat again. 00:07:15 compulsory part of our foreigner test kit, together with lutefisk 00:07:17 http://en.wikipedia.org/wiki/File:Messmor.jpg this is disgusting 00:07:25 lutefisk will come after that. 00:07:27 -!- boily has quit (Quit: Poulet!). 00:07:30 -!- cuttlefish has quit (Remote host closed the connection). 00:08:03 Hmm... I think I'm going to write some repetitive code for the sake of occasional TCO 00:08:34 nooooo don't write repetitive code 00:08:38 sgeo 00:08:39 dont 00:08:50 "what monqy said" (am i doing this right) 00:09:04 I'm sure I could make it unrepetitive 00:09:15 then why don't you 00:09:25 It will still make the code slightly uglier 00:09:48 what do you mean by tco anyway 00:09:51 Sgeo: is this like when interpreting the last element of a list? it rings a bell 00:10:14 Yes 00:10:49 If the last element that I'm interpreting is Compile, then there's no more work to be done save for that Compile, which starts interpreting the next element on the compiler stack 00:10:59 maybe you should use a different data structure alt. not care because this is a silly proof of concept and not a production quality whatever the heck you're making 00:11:29 i think it came up similarly for ^ in an underload interpreter 00:11:37 or was it elliott's compiler 00:12:02 Compile being the last element is going to be the most common case, I think 00:13:15 I can make the rare case work by simply calling to the common case while protecting the state, I think 00:13:25 what's sgeo doing 00:13:33 nooodl_: TCO'ing 00:13:52 There is an StateT s m a thing that calls StateT s m a while reverting back afterwards, right? 00:14:28 what do you mean by while reverting 00:14:55 :t mapStateT 00:14:57 (m (a, s) -> n (b, s)) -> StateT s m a -> StateT s n b 00:15:08 That is, something like 00:15:12 wrong mapping thing 00:15:26 StateT s m a -> StateT s m a 00:15:39 are you looking for something like `local` 00:15:43 Possibly 00:15:50 local works on StateT? 00:15:50 what's possibly 00:15:54 no 00:16:33 withStateT I think I saw which the name makes me think along those lines 00:16:54 Wait, no 00:17:00 how about you use precise words to describe what you want 00:17:22 I want to take a stateful action and execute it and then undo the changes to the state 00:17:27 ok 00:18:02 Possibly get >>= runStateT / 00:18:03 ? 00:18:18 Erm, well, something along those lines 00:18:41 get >>= \s -> do v <- x; put s; return v 00:18:50 i was just about to say that but with applicative notation 00:18:53 "much prettier" 00:19:14 i'm not sure you can do it with only applicative notation 00:19:20 i mean 00:19:31 instead of just part of it 00:19:37 x <* put s i guess 00:19:40 yes 00:19:49 I also don't need the result 00:19:52 ok 00:19:54 I'm doing it for the side effects 00:19:57 ok 00:20:34 anyway, the above should work 00:20:54 no it won't!!!! keeping the result around ⇒ bloat ⇒ unacceptable 00:20:55 unless you need to catch throws inside x too 00:21:06 *from inside 00:21:16 and reset the state even then 00:26:07 What's wrong with my runStateT solution? 00:28:08 Halite, if you're interested in learning how to write interpreters, the standard first language to target is eodermdrome <-- nice try 00:29:30 it's my master plan 00:29:36 someday a savant will enter the channel 00:29:48 and we will all be propelled into a glorious new dawn 00:32:58 FUCK YOU KATE 00:33:24 Typing on a line beginning with [] does NOT mean "indent me indent me please please please" 00:34:37 oh dear, is it making your brainfuck code too unreadable 00:37:38 It's turning my correct Haskell code into incorrect Haskell code 00:37:56 :t runStateT 00:37:58 StateT s m a -> s -> m (a, s) 00:39:38 Blah, oerjan's way was easier 00:41:02 My code, as it currently stands 00:41:06 It compiles so far :) https://gist.github.com/Sgeo/fe54715fc61d1d98f4cc 00:42:02 oh 00:42:10 in that case; why are you using kate 00:42:49 Because it wasn't irritating me until just then 00:42:59 I can live with sometimes faulty code hilighting 00:43:27 but there's a whole hierarchy of why here 00:43:34 for instance: why are you using kde 00:44:21 Because I like KDE? Also this system is a bit broken, in such a way that whether I'm using KDE or GNOME tends to vary on whether X works when I boot up 00:44:28 Although X has been working, so 00:44:34 ah linux 00:44:53 i do recall switching to KDE because i fuckxed up my GNOME install 00:45:56 i think the horrific brokenness that ultimately trashed my laptop started when i experimented briefly with kde 00:46:04 it's a gateway drug 00:58:30 I can feel this thing getting closer to completion 01:07:34 -!- augur_ has joined. 01:16:45 I just need to remember how to parse parens 01:16:50 Parens, my eternal nemesis 01:20:33 Conceptually, the code I'm writing is the result of compiling ,+[-:,+]! by hand 01:21:13 (EOF=-1) 01:25:20 :t runWriter 01:25:22 Writer w a -> (a, w) 01:26:34 :t execState 01:26:36 State s a -> s -> s 01:26:43 I never rember exec vs eval 01:28:01 I wonder if the State monad is good or bad for my globals addiction 01:28:19 With it, one writes code that looks like it's accessing a global, but it's all confined 01:28:47 On the one hand, it lets me write in that style, on the other, when I move into other languages... 01:29:41 -!- Phantom_Hoover has quit (Remote host closed the connection). 01:36:01 globals addition 01:37:41 ****addiction 01:39:14 ★★★★hi monqy 01:40:54 hi 01:41:15 @quote monqy 01:41:15 Plugin `quote' failed with: getRandItem: empty list 01:42:19 What might an interpreted Trustfuck look like/! 01:42:33 good question 01:46:22 i wonder if there are good generalizations of poker 01:47:06 there's kolmogorov poker 01:47:21 where instead of a fixed hand ranking, you can challenge someone's hand by producing a shorter program to generate your hand 01:47:39 probably a p. shitty game tho 02:02:03 Sgeo: most languages have some way to confine 'globals' 02:02:46 i like how the Linux kernel shoehorns basically a fourth layer of scoping for static-storage variables into the C language 02:04:15 'static' vars in functions have static scope, 'static' vars at file level have file scope, non-'static' vars at file level are scoped to a whole kernel module 02:04:26 but if you want it to be visible outside that kernel module you have to add EXPORT_SYMBOL(foo) as well 02:05:06 * Sgeo decides that the state monad is analogous to dynamic scoping 02:05:16 With an implicit name 02:09:55 and only one value 02:18:20 the reader monad with its local might fit even better. 02:23:22 kmc: That's one of those tricky linker tricks, isn't it? 02:24:13 Maybe I should just have one very long line representing the bulk of the program 02:24:23 Rather than a multitude 02:24:55 what do you mean by that 02:25:12 code = all the code in the program save for two lines 02:25:17 * Sgeo is deja vuing 02:25:39 This program needs to ultimately output almost itself save for two lines 02:25:55 And those two lines are different 02:26:13 pikhq: well, the trick is just that the kernel has its own dynamic linker/loader for modules, and so gets to decide which symbols are dynamically resolvable 02:26:26 i don't actually know if they implement this layer of scoping when stuff gets compiled in 02:26:39 you might need unique names anyway for the compiled-in case 02:27:24 They probably do; as far as I know, they link each module into a single object and then vmlinuz is linked from those. 02:27:35 mm 02:27:53 (binutils has some thing where you can link a bunch of objects into a single object file that's still not fully linked...) 02:30:39 there's ld -r 02:33:56 Sgeo: do you know about explicit {} blocks in haskell? 02:34:16 For things like do? Yes 02:34:32 so that you don't need to care about layout 02:35:15 Some of these functions are on multiple lines. I don't see what's wrong with just outputting what's here 02:35:56 just trying to help in case getting indentation right trips you up 02:35:56 Seriously, it's going to output a mostly-quine with two things changed, and those two things are not functions 02:36:02 Ok 02:36:56 > let a=1; b=2 in a+b 02:36:57 3 02:38:28 * Sgeo sets indentation to none 02:38:32 Fuck you, fuck you, and fuck you Kat 02:38:34 Kate 02:39:34 lol 02:39:43 an omnishambles 02:41:31 -!- copumpkin has quit (Read error: Connection reset by peer). 02:41:59 -!- copumpkin has joined. 02:44:16 -!- WeThePeople has joined. 02:45:49 TYPING THE WORD IN DOES NOT MEAN INDENT INSANELY 02:46:09 Nor does typing a comma 02:50:59 Meh, my parser is not perfect at detecting unbalanced [] 02:52:07 It assumes [ have a ] at the end if there isn't, and ] followed by nothing might just be dropped 02:52:13 Is this a big deal? 02:57:24 what i did in the fueue brainfuck interpreter was to keep a flag of whether i'm already inside a loop. then it's easy to discern those cases. 02:59:29 :t runStateT 02:59:30 then in either case, exactly one of ] and eof are permitted to occur. 02:59:30 StateT s m a -> s -> m (a, s) 03:02:07 mind you, in haskell it should still be simpler to use parsec. 03:02:25 Probably >.> 03:02:46 Right now I'm so close to getting this working 03:02:48 fsvo working 03:06:24 A 4,886 character line 03:06:32 Maybe this is not the best idea for readability 03:07:11 Oh crud 03:11:00 hm? 03:11:08 I forgot to write main 03:11:13 At least, that what that crud was about 03:11:16 Currently having another crud 03:11:21 This program is going to be a PITA to edit 03:11:48 what were you expecting 03:12:38 Not to need to edit it very much 03:13:32 monqy: Something ... someone ... nothing. 03:13:42 Are you hungry? 03:13:50 ???????????????? 03:14:25 hi 03:14:46 hi 03:14:49 did you ever explain comma categories 03:15:11 or was it just that "limited version" of them 03:15:31 i explained the specific instance of them you want for free objects...for a more general explanation you'd be better served just looking them up 03:15:54 good point 03:16:18 mr.hird and i did a few "adjunctions" to get "free functors´ 03:16:23 it was p. great 03:16:39 alrite 03:16:50 https://gist.github.com/Sgeo/fe54715fc61d1d98f4cc 03:16:54 Still need to test it 03:17:11 monqy: you know how you can make the "Cont monad" out of adjunction of (-> r) -| (-> r)? 03:17:25 probably you've said that? maybe??? idk 03:17:34 going into Haskᵒᵖ 03:17:44 monqy: its "pretty nifty" 03:18:10 monqy: have you ever noticed that Cont'sjoin = contramap (Cont'sreturn)?? 03:19:04 primitive.o: In function `rQf_info': 03:19:04 (.text+0xa74): undefined reference to `mtlzm1zi1zi0zi2_ControlziMonadziTrans_zdfMonadIOIO_closure' 03:19:07 wat 03:19:27 mtl-1.1.0.2_Control.Monad.Trans_$fMonadIOIO_closure 03:19:27 hth 03:19:33 probably you did something bad 03:21:05 Not only that, I tried to mess around in GHCi a bit 03:21:06 There's a big 03:21:08 bug 03:21:36 ouch 03:21:49 That big was a typo for bug 03:21:52 a big 03:21:53 bug? 03:21:57 that soudns dangerous 03:22:10 so big that you have to pause after saying big 03:22:26 As soo as it saw , as input it output 03:22:34 i've written some pretty terrible bugs 03:22:40 but i've never written a big 03:22:41 bug 03:24:34 -!- impomatic has quit (Read error: Connection reset by peer). 03:28:10 There's no bug. I'm just an idiot. 03:28:29 yay! 03:29:12 Well, there's still a bug 03:29:17 Just not what I was thinking 03:29:30 -!- nooodl_ has quit (Ping timeout: 260 seconds). 03:30:01 I think. 03:30:07 -!- oklopol has quit (Read error: Connection reset by peer). 03:30:27 -!- oklopol has joined. 03:30:43 In this case https://plus.google.com/107913314994758123748/posts/3adHiA9yq9D 03:30:53 elliott: We should get around to doing Kan extensions. 03:31:29 Hmm, wrong channel. 03:31:45 I guess elliott is in both channels. 03:32:14 he's been idle for quite a while. 03:32:53 I know. 03:39:01 Ok, so one problem: Input is broken 03:39:18 Problem two: Output is cobroken. 03:39:31 I think loops are broken too 03:41:11 if eof then Just <$> getChar else return Nothing 03:41:14 derp 03:41:16 ƪ 03:41:35 oops 03:41:58 time of check time of use! 03:42:56 Um. I guess that's a theoretical problem with the isEOF vs my original catch-based way, but that's not the large bug 03:44:13 :t \f -> return True >>= f . guard 03:44:15 (Monad m, MonadPlus m1) => (m1 () -> m b) -> m b 03:44:34 Anyways, now to see waht the deal with loops is 03:44:35 :t \f g -> return True >>= maybe f g . guard 03:44:36 Monad m => m b -> (() -> m b) -> m b 03:44:53 :t \f g -> return True >>= fromMaybe g . guard 03:44:55 Couldn't match expected type `m0 b0' with actual type `()' 03:44:55 Expected type: Bool -> Maybe (m0 b0) 03:44:55 Actual type: Bool -> Maybe () 03:44:59 :t \f g -> return True >>= fromMaybe f g . guard 03:45:01 (Monad m, MonadPlus m1) => (m1 () -> m b) -> Maybe (m1 () -> m b) -> m b 03:45:57 :t \x -> guard :: Maybe () 03:45:58 Couldn't match expected type `Maybe ()' 03:45:58 with actual type `Bool -> m0 ()' 03:45:58 In the expression: guard :: Maybe () 03:46:02 :t \x -> guard x :: Maybe () 03:46:04 Bool -> Maybe () 03:46:17 oh 03:47:10 Ok, so loops are broken somehow 03:49:01 Or maybe output's broken, wat 03:49:30 the primTranslate cases for [] look fine to me 03:50:55 * Sgeo is assuming the problem is in interpret' 03:51:01 I'm testing things out by changing program 03:56:59 -!- pikhq has quit (Read error: Connection reset by peer). 03:57:00 Well, that's one problem 03:57:06 Out doesn't continue interpretation 03:57:16 -!- pikhq has joined. 04:04:40 -!- Arc_Koen has quit (Quit: Arc_Koen). 04:05:52 I think some of this is me failiing at Brainfuck 04:05:55 failing 04:07:02 -!- copumpkin has quit (Read error: Connection reset by peer). 04:07:19 -!- copumpkin has joined. 04:08:13 kmc: http://www.theproofistrivial.com/ 04:09:27 "Just biject it to a trivial algebra whose elements are semi-decidable posets", sounds quite trivial. 04:09:52 I just successfully compiled and ran a trivial Trustfuck program 04:10:20 excellent. now we can take over the world. 04:10:37 The gist is now updated with the latest version 04:10:57 very good 04:11:03 http://www.youtube.com/watch?v=KmK0bZl4ILM 04:11:05 truth 04:14:42 Ok, so my next test will be this: 04:15:06 Creating a compiler for a variation of Trustfuck in which each character maps to the character above it 04:15:14 And then writing a cat program in that dialect 04:15:58 Erm 04:16:05 Easiest thing to do, character below it 04:16:27 > inc 04:16:29 Not in scope: `inc' 04:16:29 Perhaps you meant one of these: 04:16:29 `int' (imported fro... 04:16:35 > succ 04:16:37 No instance for (GHC.Show.Show (a0 -> a0)) 04:16:37 arising from a use of `M77076... 04:16:38 ty 04:18:04 > map pred ",+[-.,+]" 04:18:06 "+*Z,-+*\\" 04:19:44 fuck 04:21:02 I'm an idiot who can barely remember how to use his own language 04:23:45 module `main:Main' is defined in multiple files: predtest.hs 04:23:46 predtest.hs 04:23:55 Oh 04:24:14 It works! 04:24:23 I guess there are some things currently untested 04:31:56 oerjan, ais523 if you logread, anyone else? Feel free to play with it 04:38:16 I'm far too lazy to even figure out what trustfuck is 04:39:47 sgeo's brainfuck derivative 04:46:34 coppro, shall I attempt to explain it? 04:55:02 "\35\52\56\63\48" 04:55:06 > "\35\52\56\63\48" 04:55:08 "#48?0" 04:58:03 I could (should?) be storing the unparsed versions rather than the parsed versions, I think 04:58:10 Take up less space in the compiled program 04:58:25 Might be important for trying to compile that large game 05:07:29 Hmm. 05:07:43 A Trustfuck compiler targetting x86 might not require writing x86 code directly 05:13:12 Just need to write C code that alters its memory then retrieves all of its ... 05:21:46 -!- dessos has quit (Ping timeout: 240 seconds). 05:34:16 -!- WeThePeople has quit (Quit: Leaving). 05:35:51 > '\59' 05:35:53 ';' 05:45:53 > '\10' 05:45:55 '\n' 05:46:11 > '\64' 05:46:13 '@' 05:46:15 > '\65' 05:46:17 'A' 05:46:19 Ok 05:46:23 * Sgeo is derptastic today 05:47:53 okay 06:03:51 -!- hogeyui has quit (Ping timeout: 276 seconds). 06:20:41 -!- DHeadshot has quit (Read error: Connection reset by peer). 06:20:47 -!- DH____ has joined. 06:21:20 -!- noam has quit (Read error: Connection reset by peer). 06:21:45 -!- noam has joined. 06:36:27 -!- hogeyui has joined. 06:54:10 > popCount (65::Int) 06:54:11 2 06:55:16 @ty popCount 06:55:18 Bits a => a -> Int 06:55:37 I guess it's in Bits? 06:55:40 Everything is in Bits. 06:55:41 yeah 06:55:56 @ty popSixSquishUhuhCiceroLipschitz 06:55:58 Not in scope: `popSixSquishUhuhCiceroLipschitz' 06:56:02 the ridiculous thing is, they have this function but none to find the highest set bit... 06:56:37 There isn't one for lowest set bit either, right? 06:56:52 not afaict 06:56:54 * shachaf would like to take this moment to mention that de Bruijn indices are the future. 06:57:01 OKAY 06:57:24 > toListOf bits 123 06:57:27 [True,True,False,True,True,True,True,False,False,False,False,False,False,Fa... 06:57:35 good function 06:57:46 :t bits 06:57:47 (Applicative f, Bits b, Indexable Int p) => p Bool (f Bool) -> b -> f b 06:58:27 Hmm. gzip in Haskell is probably fairly easy. Funny. 07:07:31 -!- Halite has joined. 07:08:42 hai 07:08:52 `welcome Halite, pikhq 07:08:58 Halite,: pikhq: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 07:09:11 `welcome ChanServ 07:09:13 ChanServ: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 07:09:16 lol 07:11:41 hello 07:12:19 monqy: 07:12:40 (btw that was 0006 ACKNOWLEDGE) 07:14:19 ok 07:16:10 -!- Halite has quit (Changing host). 07:16:10 -!- Halite has joined. 07:17:01 I'm trying to crash HackEgo in the other channel by sending a WHILE loop. 07:18:57 HackEgo, die 07:19:32 hackego's feelings???? 07:20:51 monqy: good point in the other channel 07:21:30 thachaf 07:21:31 HackEgo is set up with version control. Anything happens, it can be revertred 07:21:37 `ls 07:21:39 ​= 0 \ bin \ brainfuck.fu \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ fueue.c \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ sudo \ %sudo \ test \ wisdom \ zalgo.hs 07:21:41 you're wonqy 07:21:46 `run rm canary 07:21:49 No output. 07:21:57 `ls 07:22:01 ​= 0 \ bin \ brainfuck.fu \ canary \ dbg.out \ egobot.tar.xz \ etc \ factor \ factor-linux-x86-64-0.95.tar.gz \ foo \ foo.err \ foo.out \ fueue.c \ ibin \ interps \ karma \ lib \ paste \ quines \ quotes \ quotese \ run~ \ share \ sudo \ %sudo \ test \ wisdom \ zalgo.hs 07:22:12 Wait, what's = 0 ? 07:22:22 `file = 0 07:22:25 ​= 0: ERROR: cannot open `= 0' (No such file or directory) 07:22:27 `cat = 0 07:22:29 No output. 07:22:32 `file = 0 07:22:34 ​= 0 : empty 07:22:43 `rm = 0 07:22:46 No output. 07:23:00 `file canary 07:23:02 -!- HackEgo has quit (Remote host closed the connection). 07:23:05 uh 07:23:22 someone apparently succeeded! 07:23:45 file canary shouldn't kill it, right? 07:23:46 >.> 07:24:07 oh hm 07:24:19 i think maybe i did 07:24:54 iirc HackEgo isn't supposed to keep empty files, so maybe deleting one breaks things 07:26:54 weird it claims it was added by coppro's `addquote http://codu.org/projects/hackbot/fshg/index.cgi/file/36a0f4a7116c/%3D%200%20 07:28:00 -!- epicmonkey has joined. 07:29:52 oh no it existed before 07:31:31 been there a while it seems 07:32:52 can HackEgo rejoin 07:33:25 only Gregor can make it 07:33:40 he seems idle at the moment 07:34:48 he might be sleeping at this time 07:34:50 NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO 07:34:53 Gregor, 07:35:03 @time Gregor 07:35:05 Local time for Gregor is Thu Feb 14 02:35:04 07:35:05 Halite, play with Trustfuck for a while if you're bored 07:35:18 Sgeo, please give a TF Interpreter 07:35:26 There's no interpreter, just a compiler 07:35:43 http://esolangs.org/wiki/Trustfuck 07:36:27 https://gist.github.com/Sgeo/fe54715fc61d1d98f4cc is a Haskell file. Compile it with GHC. Then feed it Trustfuck as input, it will output some Haskell code 07:36:47 Compile that Haskell code, and run the result, and that's the Trustfuck program 07:37:11 So, let's say I have somecode.tf 07:37:13 I might do 07:37:32 ./primitive < somecode.tf > somecode.hs 07:37:41 ghc --make somecode.hs -o somecode 07:37:43 ./somecode 07:38:34 -!- epicmonkey has quit (Read error: Operation timed out). 07:38:35 -!- DH____ has quit (Ping timeout: 260 seconds). 07:40:09 Incidentally, here's the Trustfuck compiler written in Trustfuck 07:40:09 ,+[-:,+]! 07:40:36 The Haskell code can be viewed as being basically that, hand-compiled 08:01:25 :t _head 08:01:27 Cons (->) f s s a a => LensLike' f s a 08:06:53 -!- carado has joined. 08:10:16 > ([], [1,2,3]) ^? (_1 . _head <|> _2 . _head) 08:10:18 No instance for (Control.Applicative.Alternative 08:10:19 ((->) 08:10:19 ... 08:10:26 > ([], [1,2,3]) ^? (_1 . _head) 08:10:30 Nothing 08:24:48 > ([], [1,2,3]) ^? (both . _head) 08:24:51 Just 1 08:38:36 -!- sebbu2 has joined. 08:38:36 -!- sebbu2 has quit (Changing host). 08:38:36 -!- sebbu2 has joined. 08:39:46 -!- sebbu has quit (Ping timeout: 272 seconds). 08:42:31 -!- azaq23 has joined. 08:42:41 -!- azaq23 has quit (Max SendQ exceeded). 08:43:05 -!- azaq23 has joined. 08:52:12 :t zoom 08:52:13 Zoom m n s t => LensLike' (Control.Lens.Internal.Zoom.Zoomed m c) t s -> m c -> n c 08:56:10 :t (^~) 08:56:13 (Integral e, Num a) => ASetter s t a a -> e -> s -> t 08:56:24 oops 08:56:29 -!- epicmonkey has joined. 08:56:56 :T over 08:57:00 :t over 08:57:02 Profunctor p => Setting p s t a b -> p a b -> s -> t 09:02:12 -!- oerjan has quit (Quit: leaving). 09:03:27 -!- Taneb has joined. 09:10:07 -!- sebbu2 has changed nick to sebbu. 09:17:14 -!- nooodl_ has joined. 09:37:34 "Bueue"!? 09:56:10 -!- md_5 has quit (Remote host closed the connection). 09:56:40 -!- md_5- has joined. 09:58:14 -!- Taneb has quit (Ping timeout: 256 seconds). 09:58:56 -!- Taneb has joined. 10:16:07 -!- monqy has quit (Quit: hello). 10:16:55 -!- mroman has joined. 10:24:02 -!- DHeadshot has joined. 10:47:35 -!- sebbu has quit (Ping timeout: 260 seconds). 10:48:29 -!- Halite has quit (Remote host closed the connection). 10:51:19 -!- sebbu has joined. 10:51:19 -!- sebbu has quit (Changing host). 10:51:19 -!- sebbu has joined. 10:53:30 -!- copumpkin has quit (Ping timeout: 264 seconds). 10:54:07 -!- copumpkin has joined. 11:01:07 -!- sebbu2 has joined. 11:01:07 -!- sebbu2 has quit (Changing host). 11:01:07 -!- sebbu2 has joined. 11:02:45 -!- sebbu has quit (Ping timeout: 260 seconds). 11:07:42 -!- HackEgo has joined. 11:20:11 -!- md_5- has changed nick to md_5. 11:20:14 -!- aloril has quit (Ping timeout: 276 seconds). 11:24:54 -!- ncultures has joined. 11:24:55 -!- ncultures has left. 11:25:45 :t _head 11:25:47 Cons (->) f s s a a => LensLike' f s a 11:27:02 Is (.).(.) infix or prefix? 11:28:40 -!- ncultures has joined. 11:28:40 -!- ncultures has left. 11:29:13 Prefix 11:29:24 :t (.).(.) 11:29:26 (Functor f1, Functor f) => (a -> b) -> f (f1 a) -> f (f1 b) 11:29:45 Actually, it's nigh-unusable unless you put brackets around it 11:30:06 > ((.).(.)$(+1)) (1, [1,2,3]) 11:30:09 (1,[2,3,4]) 11:33:08 -!- sebbu2 has changed nick to sebbu. 11:34:02 -!- aloril has joined. 11:56:42 -!- oonbotti has quit (Remote host closed the connection). 11:56:57 -!- oonbotti has joined. 11:57:56 -!- DHeadshot has quit (Ping timeout: 245 seconds). 11:58:13 -!- Lumpio- has quit (Ping timeout: 246 seconds). 12:10:51 -!- nooga has joined. 12:13:30 -!- carado has quit (Read error: Connection timed out). 12:16:49 -!- sebbu2 has joined. 12:17:05 -!- sebbu2 has quit (Changing host). 12:17:05 -!- sebbu2 has joined. 12:18:03 -!- sebbu has quit (Ping timeout: 245 seconds). 12:22:17 http://mobile.osnews.com/story.php/26784/Opera-to-switch-desktop-mobile-browsers-to-WebKit/ 12:22:54 what? 12:23:59 I'm a little bit disappointed right now, but I get their point. 12:26:12 I really hope they open source presto 12:26:18 but probably not 12:34:07 uh 12:34:14 what? 12:35:51 Help I now have two libraries on Hackage 12:35:56 -!- Lumpio- has joined. 12:36:32 Taneb: base 4.5.*? 12:36:39 Thanks for hating GHC 7.6 users. 12:36:46 Also I can't look at the actual code. 12:36:47 shachaf, that's me being sleepy when checking the depends 12:38:01 It would actually work in base 3.0.3.1 12:38:28 Taneb: Does your package have free groups? 12:38:42 Alas, no 12:38:47 :-( 12:38:50 I want free groups! 12:41:38 shachaf, the dependency is less stupid now 12:42:13 Although free groups are still missing 12:42:52 And I still can't see the code. 12:43:06 (is that my fault, or Hackage's?) 12:43:23 Anyway, it's just a class Monoid m => Group m where invert :: m -> m 12:43:26 Taneb: "<5"? 12:43:28 Plus a few instances 12:43:30 Are you sure about that? 12:43:34 REASONABLY 12:43:55 Hmm, I guess it works. 12:45:29 It's got instance Num a => Group (Sum a); instance Fractional a => Group (Product a); instance Group a => Group (Dual a) 12:45:37 And all the tuple ones that Data.Monoid has 12:47:02 There's nothing that special 12:47:07 Free groups'd be harder 12:47:32 Is newtype Foo a = Foo { runFoo :: forall g. (a -> g) -> g } equivalent to a free group? 12:48:15 ...I don't think so 12:48:28 It's equivalent to a 12:49:15 Er. 12:49:18 Group g => 12:50:47 Let me think about that for a bit 12:54:19 It is a group 13:05:09 > (Product <> Product) 7 13:05:11 Product {getProduct = 49} 13:05:14 neat 13:06:26 Huh 13:06:39 :t getProduct . Product <> Product 13:06:41 Occurs check: cannot construct the infinite type: b0 = Product b0 13:06:41 Expected type: b0 -> b0 13:06:41 Actual type: b0 -> Product b0 13:06:46 :t getProduct . (Product <> Product) 13:06:48 Num b => b -> b 13:07:41 instance Monoid b => Monoid (a -> b) where 13:07:41 mempty _ = mempty 13:07:41 mappend f g x = f x `mappend` g x 13:08:37 > getSum $ (Sum <> Sum) 10 13:08:39 20 13:08:42 nooodl_: Can you come up with a free group type for me, please? 13:09:39 i just had to up what a free group is so probably i won't be of much help 13:10:48 hmmmm 13:12:18 this sounds like it'd be impossible to define as a type 13:12:37 Haskell is bad at things like commutativity and invertibility. :-( 13:14:46 a free group can have multiple free generating sets, right 13:15:05 ? 13:15:07 like for (Z,+) you have could have S = {1} or S = {-1} 13:15:27 (i'm reading http://en.wikipedia.org/wiki/Free_group because i'm bad) 13:15:33 (at group theory) 13:16:24 Hmm. I'm not sure what you mean. 13:16:40 Ah, you're going in the other way. 13:17:00 I mean: Given some generating set S, give me a free group over that set. 13:17:12 ohh i see 13:17:28 [] is a free monoid in a similar way. 13:17:30 (also: given an operator?) 13:17:35 No, you make the operator. 13:17:49 What shachaf wrote earlier is a group 13:18:17 Given the set S = {A,B,C}, you can give me the free monoid: (MS,(++),[]), where MS = {[], [A], [B], [C], [A,A], ,[C,A,B,A], ...} 13:18:32 Note that you pick your own operation here. What the elements actually are doesn't really matter. 13:18:43 But it needs Ranks2Types 13:18:53 Taneb: Just PolymorphicComponents!!!!!!!!!! 13:19:04 It needs some extension 13:19:10 Sure. 13:19:10 so that type would be... FreeGroup S 13:19:16 nooodl_: You can look at Nat as a free monoid over some singleton generating set. 13:19:22 That's the same as saying that [()] ~ Nat 13:19:38 Where [] = 0, [()] = 1, and so on. 13:19:41 (++) becomes addition. 13:19:50 right 13:20:07 Now, if you define data Unit = Unit and data Younit = Younit, [Unit] and [Younit] are equivalent. 13:21:42 nooodl_: Anyway, a free group would be similar, except you also have inverses. 13:22:09 So if your generating set is {A, B, C}, then you'd make up new elements A^-1, B^-1, C^-1 13:22:25 It doesn't matter what A,B,C actually were originally. You're making up inverses for them. 13:23:23 Then you can take "" (the empty word) as an element of Freegroup S, and also A, AB, AAA, ABA^-1, etc. 13:23:35 But ABB^-1A isn't an element. 13:23:40 Or rather it's equivalent to AA. 13:23:50 (Note: That means [A, B, B^-1, A]) 13:24:17 let me guess, ABB⁻¹A⁻¹ is equal to ""? 13:24:33 Right. 13:25:09 So you've made up a group structure from any set at all. 13:25:18 And in a sense this is the "minimal" group structure you can make. 13:25:41 (For example, this is also a monoid -- just forget about the invertibility -- but it's not a "minimal" monoid, because it has all these extra elements.) 13:31:10 For groups I took a leaf from edwardk's book and inlined things so that the core is shorter 13:31:33 However, I did not experiment with eta-expansion 13:51:24 shachaf, your Group seems to be rather useless 13:51:30 No, wait 13:51:31 Nevermind 13:52:50 shachaf: A^-1 would be {B, C} right? 13:53:05 Or not? 13:53:34 Oh wait, it wouldn't be, you're talking about something else 13:55:08 Groups 13:58:09 -!- sebbu2 has changed nick to sebbu. 14:00:56 Haskell and GHC don't seem to come with stuff for groups, just for monoids 14:01:44 That's why I wrote a small library in 5 minutes and uploaded it to Hackage 14:01:49 http://hackage.haskell.org/package/groups-0.1.0.1 14:02:28 class (Monoid a) => Group a where { invert :: a -> a } 14:02:33 Right? 14:02:59 Yeah 14:03:07 That's pretty much exactly my definition 14:03:39 The main difference is formatting and I used the letter 'm' rather than 'a' 14:05:43 And I still haven't decided whether to go to the UV party or not 14:11:13 -!- Arc_Koen has joined. 14:15:33 Taneb: You could make Group instances for Ordering and Maybe a 14:15:49 ...no you can't 14:16:22 > mempty :: Maybe String 14:16:24 Nothing 14:16:38 Give me a value x such that x <> Just "hello" is Nothing 14:17:04 Oh, you're right 14:17:29 Believe me, I actually double-checked those 14:17:36 You can't make an instance for Any or All either 14:17:56 You could make an instance for Xor possibly? 14:18:13 If there was a Xor 14:18:34 Possibly 14:19:20 invert = id 14:19:58 -!- boily has joined. 14:20:09 Would have to define the Xor monoid first though 14:20:09 -!- carado has joined. 14:20:39 Yeah 14:21:05 I don't want that to be on my head, though 14:22:02 newtype Xor = Xor { getXor :: Bool } instance Monoid Xor where { mempty = False; mconcat = (/=) } instance Group Xor where { invert = id } 14:22:29 Looks good? 14:23:56 ...almost 14:24:05 Xor always makes me thing of some alien overlord 14:24:21 THE ALMIGHTY XOR, MASTER OF THE LOGIC GATE 14:24:33 newtype Xor = Xor {getXor :: Bool} deriving (Eq); instance Monoid Xor where {mempty = Xor False; mconcat = (/=) } instance Group Xor where {invert = id} 14:24:42 Xor is weaker than Nand and Nor though 14:24:57 Taneb: Oh right 14:25:01 Good catch 14:25:12 That's why Xor needs his henchman, Not 14:25:45 Don't be true or i'll invert you. 14:27:10 I don't think Xor + Not is universal 14:27:13 But I am not sure 14:27:22 I dunno either 14:27:49 But I needed to act quickly! 14:27:51 For humor timing 14:28:14 You can make Not using Xor though 14:28:23 Hmm, yes 14:28:24 not = xor 1 14:28:25 Then Xor and -> 14:28:36 And as Xor isn't universal, neither is Xor + Not 14:28:36 Well, you need both xor and 1 14:28:40 How do you pronounce -> in programming? 14:28:42 1 is free 14:28:44 "to" 14:28:47 And you can't make a 1 using xor 14:29:42 Well, by 1 I mean True 14:30:00 Too used to thinking bitwise 14:30:02 I understood that 14:30:22 Hmm 14:30:46 I think XNOR is as universal as XOR 14:30:53 Because with XNOR you can't get 0 14:34:17 afaik NAND,NOR,XOR,XNOR can each cover all logical operations. 14:34:17 -!- Taneb has quit (Quit: Leaving). 14:35:03 -!- Taneb has joined. 14:35:04 -!- Nisstyre has quit (Ping timeout: 272 seconds). 14:36:04 I think it's only nand and nor? 14:47:45 *XOR&XNOR 14:49:13 -!- Nisstyre has joined. 14:49:56 Yeah, wikipedia says XOR isn't universal 14:50:18 FNORD 14:50:20 XOR + implication is 14:50:27 FNORD is universal, of course 14:50:36 Implication + NOT is so it's not too surprising 14:50:58 -!- mekeor has joined. 14:54:25 -!- azaq23 has quit (Ping timeout: 248 seconds). 15:02:01 -!- dessos has joined. 15:03:27 -!- upgrayeddd has joined. 15:04:43 more than a decade of logs, wow 15:04:54 `welcome upgrayeddd 15:04:58 upgrayeddd: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page. (For the other kind of esoterica, try #esoteric on irc.dal.net.) 15:05:26 thank you Taneb 15:05:29 To be honest, the pre-2005 days are pretty quiet. 15:05:58 Not even people coming in to get magic advice 15:05:59 ? 15:07:16 Slereah_: Well, I mean, http://codu.org/logs/log/_esoteric/2003-01-19 looks like a pretty typical day to me. 15:07:30 -!- Phantom_Hoover has joined. 15:07:51 upgrayeddd, so, what brings you to the channel 15:08:19 heh 15:08:24 I forget when I came in 15:08:26 2007 maybe? 15:08:36 Taneb: jconn said there was an open session here and I was curious 15:12:22 "Open session"? 15:12:42 jconn apparently stores a sandbox for each person 15:12:44 jconn, ls 15:12:45 jconn, ls: 15:12:46 Sgeo, open sessions are: Sgeo,#jsoftware Taneb,#esoteric Okasu,#jsoftware Sgeo,#esoteric crassus,#e3b solemn,#jsoftware fftw,#jsoftware b_jonas,#jsoftware Elision,#jsoftware 15:12:46 Sgeo, done list 15:14:32 Let's trick shachaf into using the bot! 15:23:36 -!- oerjan has joined. 15:25:08 -!- impomatic has joined. 15:26:58 What bot 15:27:29 -!- cuttlefish has joined. 15:28:14 Taneb, jconn 15:28:32 Because if shachaf uses it, he'll be on the ls: list 15:28:34 Whose bot is that? 15:28:38 And when did I use it 15:28:47 afk 15:29:26 -!- azaq23 has joined. 15:35:47 "Bueue"!? <-- wat 15:36:02 The name is too darn similar to Fueue 15:36:23 ...says the guy who deleted the first Numberwang to replace it with a completely different language 15:36:34 OKAY 15:40:49 oerjan: WHY SO CAPITALIST? 15:41:03 wat 15:41:15 wats are the tool of the bourgeousie 15:41:38 oh shit there's only one u in bourgeoisie 15:41:43 it seemed frencher that way 15:41:54 buourgueuousuiue 15:42:05 ow. 15:43:17 baeiourgaeoiusaeiou 15:43:22 AAAARGH! 15:43:26 stop! 15:45:17 have some beaaaujoileaise 15:46:26 that's wanton cruelty to the common French vowel. 15:58:17 darn i've accidentally stopped my watch 15:58:23 no wonder i'm getting hungry 15:58:51 Is this the watch that pipes glucose directly into your arteries? 15:59:28 no, but i was planning to wait until half past 3 to eat and just started wondering why it wasn't already the time 15:59:38 (it's 5) 15:59:50 :( 16:00:11 oh wait, just half past 4 16:00:46 It's just turned 4 here 16:00:48 @time oerjan 16:00:50 Local time for oerjan is Thu Feb 14 17:00:48 2013 16:00:56 i mean the plan 16:00:58 Oh 16:03:45 -!- sebbu has quit (Ping timeout: 260 seconds). 16:08:03 wtf 16:08:12 My Nook says that A Clockwork Rocket only has 316 pages 16:08:17 Is it really a short book? 16:08:24 Was planning on wasting a few hours reading it today 16:08:56 A 30 minute read isn't going to cut it :( 16:09:49 If 316 pages takes 30 minutes, that's a page every 6 seconds. 16:11:34 Gregor: that doesn't sound so unreasonable 16:11:50 Sgeo: (how can you plan to waste a few hours on something but only have 30 minutes) 16:11:59 It does if you're actually reading. And it's not The Cat in the Hat. 16:13:19 I preferred the sequel 16:13:36 how fast can you read cat in that hat 16:13:39 that is the real question here 16:14:22 Ok, so I don't actually know how fast I read 16:14:49 The point is I'm going to need to spend a few hours, and if a book takes too short to read, I'm going to need to find something else to do afterwards 16:15:27 316 pages isn't a quick read 16:17:12 I've just ordered a plain grey t-shirt 16:17:34 These two facts are fundamentally interrelated 16:17:44 -!- Halite has joined. 16:18:10 someone make a valentines day esolagn 16:18:17 Nah 16:18:27 OH YAH 16:18:57 sup salty 16:19:30 quintopia, hey square utopia 16:19:45 wait, soup salty 16:19:48 mmm soup 16:19:52 Halite Soup 16:20:09 Halite, feel free to make one yourself 16:20:16 BrainSoup 16:20:26 Norfsoup 16:20:28 Preferably not based on brainfuck 16:20:32 Sorfsoup 16:20:47 how can I make a programming language not based on BF 16:21:01 Look at unlambda 16:21:10 link 16:21:11 i cant think of a good v-day idea. it doesnt seem like a commercial holiday for candy, cards, and flowers has much in common with esolangery 16:21:51 Trustlambda? 16:21:57 quintopia, buy flower of colour "Hello world!" 16:22:09 it's valentines day? 16:22:12 * Sgeo wonders if Unlambda might be a good base for a new Trust family language 16:22:37 Except I don't know if I want to write an Unlambda interpreter 16:22:39 languages that are basically procedural with weird themed syntax are not very fun imo 16:22:50 `wiki Unlambda 16:22:52 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: wiki: not found 16:23:00 ...we don't have that? 16:23:06 !wiki Unlambda 16:23:11 ^wiki Unlambda 16:23:11 http://esoteric.voxelperfect.net/wiki/Unlambda 16:23:22 oh that ... is outdated. 16:23:24 Ah, ye old classic wiki 16:23:34 Sgeo: are you having nostalgia for the old wiki url 16:23:40 i am 16:23:55 surprisingly, no 16:24:00 the way none of us knew what voxelperfect.net actually 16:24:01 oh well, the link does work 16:24:01 was 16:24:04 good times, good times 16:24:07 Phantom_Hoover: it was graue's domain 16:24:19 a domain of perfect voxels 16:24:21 I don't think it hosted anything except the esolangs stuff 16:24:33 There was another thing for esolang files on that domain 16:24:35 http://voxelperfect.net/ is a pretty good placeholder page, that looks new 16:24:39 Sgeo: yes that's still hosted there 16:25:39 * Sgeo wonders if Unlambda might be a good base for a new Trust family language <-- my self-interpreter is almost meta-circular already! 16:25:50 self-circular is almost meta-interpreter 16:26:30 -!- Halite has left ("Halting execution"). 16:26:44 -!- Halite has joined. 16:26:53 wrong channel to part on lolol 16:26:54 that's how it managed to have an eigenratio of 1 16:26:58 trying to part #irp 16:29:41 oerjan: thought: perhaps the best way to define "non-cheating self-interpreter" is "self-interpreter with eigenratio > 1" 16:30:06 of course then someone will define a very silly joke language with a "slow self-interpreter" command... 16:30:27 eigenration? 16:30:31 how can an interpreter self-interpretate 16:30:48 eigenration: How much of your own body you're allowed to eat per day if stranded. 16:30:57 you write an interpreter for in 16:31:16 like writing an interpreter for BF in BF 16:31:25 yes 16:31:30 how would you interpretate the interpreter 16:31:38 what 16:31:52 how would you interpretate the self-interpreter 16:31:55 I wrote a compiler for Trustfuck in Trustfuck 16:32:12 Is the compiler cheating? 16:32:26 Halite, it works exactly the same as running the self-interpreter with any other interpreter 16:32:28 Sgeo, possible if there is a TF interpreter 16:32:28 that's the point 16:32:37 I don't think Xor + Not is universal <-- indeed not, and i shall have to point you to the Post Lattice again 16:32:56 Halite, there are currently no TF interpreters, only TF compilers 16:32:57 NOR and NAND are functionally complete 16:33:15 Sgeo, laise 16:33:34 I have to think about whether interpreted TF misses the point... 16:33:45 Halite: the post lattice gives you a way to see exactly which sets of boolean functions are functionally complete, and if not, what they _do_ generate 16:34:01 Although the infrastructure is there 16:34:23 oerjan, go look at TF go look at TF go look at TF? 16:34:27 oerjan, NOR and NAND are functionally complete, and so are its neighbours OR+NOT and AND+NOT 16:34:55 yes Halite 16:34:56 Halite: i am trying to tell you that i already know quite a lot more than this 16:34:58 i think oerjan knows this 16:35:21 http://en.wikipedia.org/wiki/File:Post-lattice-centre.svg] 16:35:39 i like the descriptive labels 16:36:23 http://upload.wikimedia.org/wikipedia/commons/1/19/Post-lattice.svg wow 16:36:37 Phantom_Hoover: I like how it looks like a cube with some crap sticking out of it. 16:36:40 Um, not cube. What's the word again? 16:37:13 Phantom_Hoover: WHAT IS THE NAME FOR A 3D RECTANGLE HELP 16:37:17 cuboid 16:37:18 parallelipiped? 16:37:27 cuboid elliott !!!!! 16:37:30 tetrahedron 16:37:31 The 4-day time cube. 16:37:31 thanks you nooodl_ 16:37:38 `THANK nooodl_ 16:37:38 tesseract 16:37:40 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: THANK: not found 16:38:34 elliott: btw some of the discussion i had with that eigenratio guy was how the known brainfuck self-interpreters don't seem to have a finite eigenratio at all (they use quadratic time as the tape grows), although i thought i had a way to fix it. alas he didn't seem to have much time for the discussion, i didn't hear from him any more after a while 16:39:20 parallelopiped is 3d parallelogram Phantom_Hoover 16:39:48 i think you'll find it's parallelapiped, quintopia 16:40:18 i might...IF I LOOKED 16:40:28 but that would be cheating 16:40:37 oerjan, how does he define eigenratio 16:41:04 what is an eigenratio 16:41:16 It sounds interesting and vaguely familiar 16:41:30 a rough measure of the efficiency of a self-interpreter 16:41:36 Okay 16:42:26 Hey, Haskell has data construction syntax that looks like [something| insert stuf here] right? 16:42:36 Yes...? 16:43:10 he seems to define it as the limit as n -> infinity of the ratio of time taken to simulate an n interpreter stack to the time taken to simulate an n-1 interpreter stack 16:43:18 Can't find a haskell wiki page about it 16:43:20 oerjan: hm 16:43:30 oerjan: you can generalise that to an eigenfunction, right? 16:43:34 (what's abuse of terminology) 16:44:01 um that sounds like an eigenvector in a function space 16:44:01 'eigenfunction' is already taken by those dastardly linear algebraists 16:44:10 right 16:44:22 oerjan: hence abuse of terminology :P 16:44:34 I mean s.t. an eigenratio of k would become f(x) = kx 16:45:11 elliott: in fact i _did_ conclude that there should be something like r^(n^2) for the brainfuck self-interpreters, so i've had similar idea 16:45:12 i was about to suggest o notation but that would be stupid 16:45:41 elliott, er, wouldn't an eigenratio be f(x) = k^x 16:46:09 er sure 16:46:43 i guess metacircular interpreters would have linear eigenfunctions 16:46:49 Phantom_Hoover: that is, i _think_ that if you take the logarithm of f(x), its limit will be a polynomial instead of linear for brainfuck, so you can look at the degree and the coefficient of the largest exponent 16:47:29 also it would be nice if they were defined more abstractly than realtime 16:47:34 but I guess you can just reuse big-O notation's "step" 16:47:48 it's all a bit dodgy to me 16:48:01 because obviously you need to have some dummy program to cap off the stack 16:48:13 FreeFull: are you thinking about list comprehensions or quasiquotations? (the latter are [something| insert stuff here |]) 16:48:28 and you can easily set things up so all the numbers vary wildly depending on what program you use 16:48:48 oerjan: btw what do you think about his golden ratio speculation? (http://eigenratios.blogspot.co.uk/2007/11/search-for-phi-holy-golden-ratio.html) it appeals to me but I don't know if it seems like coincidence to someone more competent 16:49:10 oerjan: Quasiquotations, thanks 16:50:11 Seems those aren't for data like I thought 16:50:12 elliott, er, so wait 16:50:19 Phantom_Hoover: the thing that makes brainfucks nonlinear isn't that they aren't metacircular, it's that they frequently need to move through the tape for a long while 16:50:32 oerjan, er 16:50:40 that's not what i meant 16:51:09 i mean if you define the eigenfunction as just being the limit of the time taken 16:51:19 then metacircular interpreters are rougly linear 16:51:57 'proper' self-interpreters are exponential or more, presumably 16:54:06 Phantom_Hoover: anyway the thing about the linear case is that with a nice interpreter you get a linear matrix describing how operations are implemented in terms of many operations at the previous stage, and if the operations are sufficiently cross-implemented, you get that perron-frobenius theory applying so that everything converges to the eigenspace of a universal eigenvector 16:55:08 and so the eigenratio then exists completely stringently 16:55:16 sorry oerjan i'm not doing that much maths today 16:55:47 Phantom_Hoover: it's the same principle behind the proposed new scoring for bfjoust, btw 16:55:55 -!- copumpkin has quit (Ping timeout: 252 seconds). 16:56:35 -!- copumpkin has joined. 16:56:52 oerjan: thanks a lot :( 16:57:58 then metacircular interpreters are rougly linear <-- oh right, yeah that's what happened with the unlambda 16:58:26 elliott: what? 16:58:49 There doesn't seem to be documentation for GHC.Arr at http://www.haskell.org/ghc/docs/latest/html/libraries/index.html 16:59:17 I wanted to look at the source ): 17:00:37 elliott: well the golden ratio clearly isn't a lower bound 17:01:23 FreeFull: hm i think i've managed to guess urls for such stuff before... 17:02:23 http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.6.0.1/src/GHC-Arr.html#Array 17:03:00 oerjan: well if you exclude "cheating" self-interpreters somehow 17:03:02 FreeFull: this was simple, the source link from Array in the Data.Array module pointed directly there :P 17:04:40 elliott: it seems like a matter of deciding how many operations you minimally can implement an operation with before you call it cheating. even the golden ratio seems a little low when you put it that way. 17:05:25 -!- varnie has joined. 17:05:36 oerjan: right 17:05:37 because you cannot get the golden ratio without _some_ operations being implemented with just one underlying operation 17:05:56 and once you admit that, it doesn't seem that implausible to go even lower 17:06:11 hm so I wonder if there is any limit to how small an eigenratio can be if it is > 1 17:06:14 I guess not really 17:06:18 if you just have enough operations 17:06:33 oerjan: btw what about eigenratios > 0 < 1 :P 17:06:35 oerjan: Aww, seems to be a primitive =P 17:06:43 what about a TC OISC, how would that count here? 17:06:57 FreeFull: you can implement the immutable array interface (inefficiently) in pure haskell 17:07:09 well, even efficiently, if you use a tree 17:07:16 no guarantees of contiguousness in memory though 17:07:32 yeah if you have a cycle of operations where everyone is implemented in terms of one other except _one_ which is implemented in terms of two others, then you can get arbitrarily close to n by making the number of them large enough. i think. 17:07:48 *close to 1 17:08:17 oerjan: I guess an eigenratio < 1 is where you have an instruction that somehow saves time by doing the work of two others... 17:08:30 ...and for that instruction itself to take less time to interpret than it saves 17:10:26 elliott: Well, the only purpose of Data.Array seems to be convienience and speed 17:10:52 Data.Array is not as convenient nor perhaps as fast as you might hope for. take a look at the vector packgae 17:15:26 -!- azaq23 has quit (Max SendQ exceeded). 17:19:00 -!- epicmonkey has quit (Ping timeout: 260 seconds). 17:22:27 esoteric 17:22:38 esolang 17:23:19 -!- Zuu has joined. 17:24:49 -!- Zuu has left. 17:25:49 -!- sebbu has joined. 17:25:49 -!- sebbu has quit (Changing host). 17:25:49 -!- sebbu has joined. 17:26:03 elliott: How well does Data.Vector do multidimensional stuff though? 17:26:27 FreeFull: you can nest vectors manually, or see the "repa" package, which does multidimensional arrays on top of vector with automatic parallelisation 17:26:34 though I think the API is in flux maybe? 17:26:50 there is a nice http://www.haskell.org/haskellwiki/Numeric_Haskell:_A_Repa_Tutorial. I don't know if it is up to date 17:46:45 http://en.wikipedia.org/wiki/Worshipful_Company_of_Hackney_Carriage_Drivers 17:55:05 I have an idea for an esolang 17:55:43 the worshipful company of etc sounds like something out of a terry pratchett book 17:56:26 He had to get inspiration from somewhere 17:57:00 Halite: what is it 17:58:50 elliott, that the esolang's only boolean operation will be - not NAND - not NOR - but f(three bit integer a, boolean b, boolean c) 17:59:47 elliott, ahem, f(four bit integer a, boolean b, boolean c) 18:01:10 it's basically a multiplexer where b is the most significant bit of the selector and c is the least significant bit of the selector. Also, a is the integer whose bx2 + c bit is selected 18:01:30 b*2 18:01:36 b*2 + c bit 18:08:08 Halite: What is the output type? boolean? 18:08:17 Can you construct the integer out of four booleans? 18:08:29 FreeFull, the output is boolean 18:08:44 FreeFull, you can construct a out of four booleans 18:08:51 -!- oerjan has quit (Quit: leaving). 18:09:43 if you know how to merge two bits together, then it's a multiplexer with b and c merged (assuming booleans are single-bit integers) 18:11:26 a "repa" tutorial? is that a typo or a euphemism? 18:11:45 and(b,c) would be something like f(1000,b,c) right? 18:12:04 -!- azaq23 has joined. 18:12:10 So the a is basically the logic table for whatever boolean operation 18:12:28 yes 18:12:35 a is the logic table 18:13:43 f(1000,1,1) will be 1, as ab is 11 and the (binary) 11th (fourth including 00) bit of a is 1 18:14:02 so you can make NAND 18:14:06 and NOR 18:14:21 0111 and 0001 18:14:32 with f(0111,b,c) and f(0001,b,c) 18:14:54 you've got it exactly right 18:15:07 You could do this as a DSL 18:15:40 what is a DSL 18:16:00 domain-specific language 18:16:25 what is a domain-specific language 18:16:37 Digital subscriber line. 18:16:38 a language specialized to one problem domain 18:16:45 as opposed to a general purpose programming language 18:16:54 what is a google 18:17:04 people also talk about "embedded DSLs" which are libraries for a general purpose language that support rich syntax that makes them feel like a mini-langauge of their own 18:17:07 Well, I meant EDSL 18:17:09 but also yes google it 18:19:04 http://zem.fi/ttd_logic/gate.png that's like the very same thing, it's been configured to be a NAND gate. 18:19:43 dood you that? 18:20:04 *doed 18:20:19 I doed it quite a long time aggo. 18:20:27 fizzie: o.o 18:20:39 I didn't know that game was turing-complete 18:21:00 well 18:21:01 it's not 18:21:08 bounded storage and all that 18:21:22 True 18:21:45 http://zem.fi/ttd_logic/ttd_4adder.png This looks surprisingly like an electronic circuit when zoomed out (large image warning) 18:22:03 The AI scripting language ("Squirrel") in it (nowadays) probably is. 18:22:06 why do people still do that in the broadband age 18:22:47 Phantom_Hoover: Because having a fast connection doesn't mean the page has a fast upstream 18:23:00 And some people might still have small amounts of RAM or something 18:23:10 I've always thought it's more about the memory thing. 18:23:17 i think nortti has nobody to blame but himself 18:23:21 -!- epicmonkey has joined. 18:23:30 Loading up a 10k x 10k image on my phone makes everything all sucky, for example. 18:23:35 I got back from the toilet 18:23:44 Halite.. 18:23:46 ... 18:23:47 ........ 18:23:51 what could I call my logic table function 18:24:05 Phantom_Hoover, whatt 18:24:10 whattt 18:24:13 Halite: You should borrow a term from intercal 18:24:15 Phantom_Hoover: Have you never seen Firefox try to load a gigantic image. 18:24:17 whatttttttt 18:24:23 * boily lends his personal ellipses supply to Phantom_Hoover 18:24:28 elliott, i did... once 18:24:29 FreeFull, can you give me a link to intercal 18:24:34 i think i repressed the memory 18:24:42 FreeFull, I don't know what intercal even is 18:24:47 iirc alt-sysrq stopped working 18:24:52 (careful, they're canadian dots, aligned to SI. they may not fit with US customary dots.) 18:25:14 FreeFull: Random fact: there was a single farm there in the middle (due to the terrain generator); it got mostly overwritten by the hacked-in copy-paste, but the fields still remain and get tilled. 18:25:33 fizzie: Cool 18:25:53 Halite: Do you at least know befunge and brainfuck? 18:25:58 boily: what about scottish dots 18:26:05 also I believe they are US customary "periods" 18:26:08 FreeFull, I know BrainFuck a little bit and I've only heard of Befunge 18:26:25 Halite: Ok, go on and read about INTERCAL now 18:26:27 how can you know brainfuck 'a little bit' 18:26:28 I showed fungot's source to some people today, and they thought it was in brainfuck. Honestly, people these days! 18:26:28 fizzie: you know as 18:26:43 elliott: those are fine. 20% better! 18:27:00 do you only understand +-.<]? 18:27:13 fizzie: What, they can't tell befunge apart from brainfuck? 18:27:45 You know, is there a 2D brainfuck? 18:27:49 FreeFull: I suppose "the non-initiated" just know both look funny, and I suppose the sources mention the word "brainfuck" in comments. 18:27:58 I'm pretty sure there is. 18:28:15 Hmm, minifuck-2d 18:28:37 Which isn't brainfuck but is brainfucky enough 18:29:18 Dimensifuck is reasonably close too. 18:29:33 2D brainfuck wouldn't be much different from regular brainfuck 18:29:38 Phantom_Hoover, I only understand that BF uses +-.,[] (and sometimes #! ) symbols 18:30:35 I'm reasonably certain there's the "obvious" "2D brainfuck" that's bf +-.,<> and then the directional commands and some conditional direction-changer. 18:32:02 -!- azaq23 has quit (Max SendQ exceeded). 18:32:13 Brainloller is pretty much that except the source format is an image. 18:32:17 reasonably interesting idea: only implement directional commands for x-axis movement. ( and ) or something 18:32:21 -!- Phantom_Hoover has quit (Ping timeout: 276 seconds). 18:32:31 It even has the same [] loops (along the "current direction"). 18:32:32 and have | be a conditional up-down thingy 18:33:41 I want to call my function LCOP (Logic Custom OPeration) 18:33:43 actually, screw ( and ), you could work with conditional directional commands only 18:33:47 If | will be conditional, you can get rid of [] 18:34:02 +-.,<>_| stealing _| from befunge 18:34:28 -!- azaq23 has joined. 18:34:41 for example, LCOP(1000,x,y) = x AND y 18:35:03 -!- hagb4rd has joined. 18:35:15 in decimal, LCOP(8,x,y) 18:36:08 oh, and @ to stop running, of course 18:36:10 Halite: Your language would allow recursion, right? 18:36:38 FreeFull, why not 18:36:51 FreeFull, if JS supports recursion 18:37:11 I think recursion + LCOP would be enough to make it turing-complete, not sure though 18:37:19 Why are you implementing it in JS? D: 18:37:26 -!- ogrom has joined. 18:38:55 I think that thing was called "B" *somewhere*, but I can't recall at all where, or why. (Might have been B for "boolean" or "binary" or both.) 18:40:15 FreeFull, because then it'd be easier to not make it Brainfucking. Simply set var lang = {big object with commands being properties} and then lang.command will execute a command 18:40:55 i hate myself for inventing this... 18:40:57 FreeFull, basically a custom set of custom JS commands 18:41:22 nooodl_, be happy :D 18:41:30 Javascript does recursion but doesn't do tail-call optimisation or anything 18:41:40 So it'll eat up memory if you put it into an infinite loop that way 18:41:45 FreeFull, :c 18:42:25 FreeFull, I could make tail-call optimisation myself, just put a few yields at the end of a while (true) loop 18:42:26 Gnah, once every couple of months I keep accidentally opening a PDF file in Emacs. 18:42:30 The worst thing is that it works. 18:45:06 Your fault for using emacs 18:45:18 When you try to open a pdf in vim, all you get is gibberish 18:45:20 FreeFull: It's so close to "evince". 18:45:35 FreeFull: I think ECMAScript 4 (which kind of retroactively never happened) required tail call optimization. 18:45:37 v isn't even that close to m 18:45:52 I don't know if they have any plans for it for Harmony. 18:46:45 http://wiki.ecmascript.org/doku.php?id=harmony:proper_tail_calls has at least some kind of a proposal. 18:48:44 hmmm 18:48:53 here's a thing that reverses stdin 18:48:53 http://bpaste.net/show/DHOattKOtoIOCHu8CWid/ 18:49:04 i think it looks pretty cool 18:50:35 I'm calling my language SaltScript 18:51:24 That doesn't tell you anything about the language itself 18:51:35 Why not bitswitch 18:52:09 Or maybe Nybswitch 18:52:21 nybswytch 18:52:22 Perfect 18:52:57 what should i write an interpreter in 18:52:57 https://github.com/dzamkov/SaltScript There is this saltscript already 18:53:08 nooodl_: itself 18:53:10 Then bootstrap 18:53:12 :( 18:53:13 nooodl_: haskell 18:53:36 Haskell is too easy 18:53:38 that could be interesting 18:53:56 i'm afraid it's going to look really bad 18:54:05 i've never done anything... state-y... in haskell 18:54:32 what is the language 18:54:45 ugh is it a brainfuck derivative 18:54:57 no... its a good brainfuck derivative 18:55:33 Can someone tell me what C++ templates are in language I understand? 18:55:46 SaltScript 18:55:51 http://bpaste.net/show/QvVFMDSNVcPbuBVUEOX3/ that's my conversion of ,[>,]<[.<] 18:56:06 (i hope) 18:56:33 Taneb: C++ templates are intentionally confusing 18:56:37 Minimal-2D is I think what I was thinking of when mentioning that "obvious" "2D-brainfuck". 18:57:07 Taneb: They're basically generic functions 18:57:24 anyway you can do bf nicely in haskell with a zipper for the tape 18:57:51 Taneb: they are a weird hybrid between a glorified macro system and a system of generic / polymorphic types 18:58:01 how do you handle loops 18:58:13 hmm. wait 18:58:14 elliott: So U [a] a [a] 18:58:17 For the tape 18:58:25 I need help in implementing f(four-bit a,boolean b,boolean c) 18:58:34 Taneb: you can think of it as polymorphism implemented by a glorified macro system, but many details of that "implementation" leak into the semantics 18:58:42 :( 18:58:43 FreeFull: or even data Tape a = Tape (Tape a) a (Tape a) 18:58:45 Basically, it's a logic table definer 18:58:49 that gives you a two-ways-infinite tape 18:59:26 Halite: return a & (1 << (b * 2 + c)) != 0; 18:59:36 and they're totally duck-typed. there's no in-language concept of "what sort of classes can i put in this template parameter and have it work" 18:59:38 Halite: It's basically (a >> ((b<<1)|c)) & 1 I think 18:59:45 you can't know until you've pasted that type into all the code and try to type check it 18:59:56 Or what nooodl_ said 18:59:59 FreeFull, I'll ask on ##javascript 19:00:21 Both should work I think 19:00:25 nooodl_'s might be faster 19:00:51 it's probably even faster if you combine them into 19:01:02 (a >> ((b<<1)|c)) & 1 19:01:03 a & (1 << ((b << 1) | c)) 19:01:45 meh, they're probably equally fast 19:02:40 what formats do a, b, and c have to be in the script 19:03:00 Halite: I'm assuming they're just numbers here 19:03:18 And that b and c are only 0 or 1 19:03:25 FreeFull, what about a 19:03:33 Also a number 19:03:35 FreeFull, is a something like 1000 or is it 8 19:03:36 from 0 to 15 19:03:45 8 19:03:51 it doesn't work 19:03:59 returns nothing 19:04:07 wait 19:04:12 problem with my code I think 19:04:17 f(8,1,1) should return 1 19:04:21 forgot to add ; 19:04:43 still does not work 19:04:48 You probably want to make more custom so that you can write 1000 instead of 8 19:04:50 what's your function like 19:04:59 (a >> ((b<<1)|c)) & 1 19:05:17 Halite: I just typed that from the brain, not guaranteed to work 19:05:20 http://sprunge.us/GEAi it seems fine for that single test case. 19:05:21 try "return"... 19:05:23 wait 19:05:29 nooodl_, I did put return 19:05:35 what fizzie did 19:05:39 the arguments aren't a, b and c in the code 19:05:47 oh 19:05:59 they're table,x,y 19:06:25 so (table >> ((x<<1)|y)) & 1 should work 19:06:42 yes! 19:06:54 Well, what did you think a, b and c were? 19:07:05 a = table, b = x, and c = y 19:07:08 Yeah 19:07:12 What did you have them as before? 19:07:18 before 19:07:29 it was always table,x,y for the args 19:07:42 wait 19:07:45 I do not understand 19:07:49 Ww 19:08:29 How rude, they've removed octal literals from ECMA-262. :/ 19:08:51 lolwhat 19:09:20 table is not 3 bits, it's 4 bits 19:09:22 It's just decimal and hex ever since version 3 of it. 19:09:31 oh 19:09:48 they should have a custom bits() function, so you can choose the number of bits 19:10:10 base* 19:10:13 wrong 19:10:16 wrong word 19:10:39 they should have a base() function, so you can choose the base, where decimal = 10, hex = 16, etc. 19:10:51 octal would be 8 19:10:55 binary 1 19:11:05 Not 2, then? 19:11:25 Halite: You could use strings and then convert to numbers 19:11:36 Then you could have binary in the string 19:11:56 Javascript's to number function does take a base parameter 19:12:03 Anyway, nobody but some Erlang hippies &c. seem to bother with arbitrary-base number literals. 19:12:54 FreeFull, I'm talking to someone else about their rant about octal's removal from ECMA-262 19:13:35 fizzie: I think they should add base 7 19:13:45 Hex should be good enough to replace octal, right? 19:13:46 loloctal 19:13:49 Welcome to the future. 19:14:03 FreeFull: And use a leading 0 to denote that. 19:15:26 wow everyone who's ever written a single line of haskell is going to hate me after i show them this 19:16:56 nooodl_: Show us, see it as an opportunity to improve 19:17:08 yeah, when it's finished 19:17:26 Write ugly code -> refactor isn't a bad approach when you don't know how to write pretty code on the first go 19:18:37 And sometimes you can't go the pretty code straight away path at all 19:19:57 you can make ugly code pretty by adding indentation and whitespace 19:19:59 nowadays, I never write pretty code first. my workflow looks like: write ugly stupid obvious code -> see what happens -> rinse off bad parts -> repeat. 19:21:01 my workflow looks like: write whitespaced pretty code -> see what happens -> repeat 19:21:21 one step less 19:21:33 no water needed 19:21:56 sometimes it's write ugly code -> see what happens -> repeat 19:22:03 but that's my early time 19:22:12 https://github.com/FMNSSun/Burlesque/blob/master/Burlesque/Eval.hs#L695 <- improve :) 19:23:00 SaltScript is getting on quite nicely 19:24:16 Halite: "you can make ugly code pretty by adding indentation and whitespace" You clearly haven't seen truly ugly code, or don't know what truly pretty code looks like 19:24:39 https://github.com/FMNSSun/Burlesque/blob/master/Burlesque/Eval.hs#L339 <- all that case stuff looks really chaotic. 19:24:46 but I don't know any other way to do it. 19:27:02 -!- sirdancealot has joined. 19:27:47 runState (DFState code tape@(Tape _ curr _) pos@(x,y) dir@(dx,dy) input) = ... 19:27:52 i already want to kill myself because of this line 19:32:42 -!- Halite has quit (Remote host closed the connection). 19:36:50 nooodl_: What language are you interpreting again? 19:37:05 the brainfuck interpreter i invented a while ago 19:37:18 uhh 19:37:20 brainfuck derivative 19:37:36 -!- mekeor has quit (Quit: novus ordo seclorum). 19:37:37 Briiiiick. 19:37:52 like http://esolangs.org/wiki/Minimal-2D but instead of /UDLR there's only conditional up/down and left/right commands 19:40:14 What sort of person goes around thumbing down a quite popular and well produced video on youtube. It is a well produced lets play, so there is not really that people could hate what the guy said. In fact I never seen a video on youtube with more than a few hundred views that didn't at least have a couple of thumbs down. 19:40:19 It boggles my mind. 19:41:05 i've wondered the same thing 19:41:46 maybe they: disliked the video 19:42:05 nooodl_: you do not need to be writing like that 19:42:20 uh oh 19:43:14 what's the alternative 19:44:00 Sooo, HackEgo can do sockets again, but the Google Translate API is now a paid service. 19:44:02 Suggestions? 19:44:19 Gregor: BABELFISH 19:44:24 Or just screen-scrape. 19:44:26 Can't be that hard. 19:44:33 ooh, i just remembered 19:44:47 elliott: Google Translate is crazy HTML5 stuff... 19:44:48 the update syntax thingy 19:44:59 Gregor: Sure, but under the hood it's going to do an HTTP request. 19:45:02 Unless it's websockets or something. 19:45:07 By "screenscrape" I just mean hack something up with curl. 19:45:09 Fair nuff. 19:45:10 And sed. 19:45:25 Or I guess Python and BeautifulSoup if you want to be FANCY 19:45:28 Sooo, HackEgo can do sockets again, but the Google Translate API is now a paid service. <-- how did you fix sockets on umlbox? 19:45:35 Vorpal: I gave it a handshake. 19:45:45 nooodl_: that syntax is awful too 19:45:49 Oh, the other issue was Python being stupid. 19:45:54 Gregor, and that fixed the kernel panic? 19:46:02 No, that was Python stupidity. 19:46:06 okay 19:46:09 wtf still 19:46:12 Vorpal: In some version of Python, they changed it so that pipes from child processes were cloexec by default. 19:46:21 That caused nonsense when I told the guest to use said pipes by fd. 19:46:47 ah 19:47:03 `wl es en Hola 19:47:05 Hola 19:47:08 Fail 19:47:13 well, "state { tape = succ <$> tape, pos = nextPos }" is probably better than "DFState code (succ <$> tape) nextPos dir input" 19:47:20 actually. now that i write it out 19:47:27 `wl en es narcissism 19:47:30 Narcisismo 19:47:33 Weeeh 19:47:34 - 2013-02-14 19:47:19 INFO Connecting to "127.0.0.1:6697"... 19:47:34 Cannot connect to 127.0.0.1:6697: Connection refused 19:47:34 ^C- 2013-02-14 19:47:22 ERROR Connection failed 19:47:37 Gregor, hm 19:47:42 it doesn't crash 19:47:47 but it does appear to be working either 19:47:49 I wonder why 19:47:59 Vorpal: What's your command line? 19:48:00 god how do i write haskell code 19:48:05 (I assume you upgraded and rebuilt) 19:48:28 Gregor, I did git pull -u && make nokernel && make install PREFIX=same-as-before 19:48:43 Gregor, also I used -R6697:irc.someserverIreplacedforthisline.net:6697 19:49:08 let me try it with netcat on the 6667 port instead of the ssl one 19:49:12 To test, running bash in the guest and then running the command you care about from that bash. 19:49:30 Gregor: `wl is purposely crap 19:49:34 if you are expecting useful results 19:49:58 $ $HOME/local/umlbox/bin/umlbox -B -R6667:irc.sporksmoo.net:6667 netcat 127.0.0.1 6667 19:49:58 sh: 1: /home/arvid/local/umlbox/bin/umlbox-mudem: not found 19:49:58 /bin/sh could not be executed 19:49:58 (UNKNOWN) [127.0.0.1] 6667 (?) : Connection refused 19:50:00 elliott: Yes, I know. 19:50:00 wait, what? 19:50:17 Vorpal: -B doesn't include $HOME/local/umlbox/bin ;) 19:50:17 Gregor, 19:50:18 $ ls /home/arvid/local/umlbox/bin/umlbox-mudem 19:50:19 /home/arvid/local/umlbox/bin/umlbox-mudem 19:50:21 hm 19:50:25 Gregor, oh, okay 19:50:32 `which umlbox-mudem 19:50:33 ​/usr/bin/umlbox-mudem 19:50:34 -!- ais523 has joined. 19:50:35 so mudem needs to run inside 19:50:44 `run cat `which umlbox-mudem` 19:50:45 @messages? 19:50:45 ​ELF............>.....@.....@........7..........@.8..@.........@.......@.@.....@.@........................................@......@............................................@.......@.....L/......L/........ .............0.......0`......0`................... ...........(0......(0`.....(0`............................ 19:50:45 Sorry, no messages today. 19:50:48 rigth 19:50:48 I maybe should add .../bin to the default -B path, but I don't like -B being dynamic... 19:50:50 right* 19:51:04 `run umlbox-mudem abc 19:51:06 Use: umlbox-mudem {0|1} [sockets...] 19:51:07 Gregor, eh, I'm not running it so that ../bin would help me anyway 19:51:07 nice blink btw 19:51:28 Vorpal: I mean the bin path in which umlbox-mudem resides. 19:51:39 Gregor, oh right, makes sense 19:51:52 Needs to run on bot host and guest. 19:51:59 elliott: umlbox-mudem is a socket multiplexer/demultiplexer. 19:52:18 elliott: It multiplexes a number of tcp or unix domain sockets over stdin/stdout. 19:52:32 there we go 19:53:11 Gregor, why is ctrl-c being broken? :/ 19:53:13 Gregor: yes I was just trying to mess it up 19:53:31 hm 19:53:39 elliott: You're not going to mess it up by manually running the mudem ^^ 19:53:58 Vorpal: The guest interprets ctrl+C, and doesn't really have job control support due to nonsense. 19:54:12 Gregor: I CAN TRY 20:00:40 The net for a dodecahedron looks like two flowers 20:05:12 Gregor, hm 20:05:35 Gregor, yeah I'm running that old irc bot I wrote in bash years ago inside. It might be that which is messing around with ctrl-c 20:05:38 I don't remember 20:06:03 -!- varnie has quit (Quit: Leaving). 20:06:09 what are you doing with it 20:08:18 By the way, umlbox is also a great fakeroot :) 20:08:21 elliott, laughing at it 20:08:30 Gregor, hah 20:08:30 Organising things is hard 20:08:41 and yeah it messes with trap 20:08:46 so yep, messing with ctrl-c 20:08:54 though it doesn't appear it should be ignoring it 20:09:00 I'm confused as to why it does 20:09:09 Gregor, it might be the lack of job control I guess 20:17:43 I... don't think I properly understood Makefiles back then 20:17:45 this is a mess XD 20:18:09 some targets lacked proper dependency info and were always built 20:26:42 i remember it being very enterprisey for a bash bot 20:27:11 how can a bot be enterprisey? 20:27:49 If you try to use !welcome, it offers a welcome for a one-time fee of $49.95, or discounted if you have a coupon code. 20:27:58 boily: you should have seen 20:30:19 * boily checks his wallet... 20:30:24 !welcome 20:42:17 yep. feels enterprisey enough. 20:49:46 if you try to use !welcome it sends 3 "sales engineers" to your company to figure out the maximum amount it could charge you 20:51:54 !please-dont-send-me-any-sales-engineers-here 21:01:36 ~metar CYUL 21:01:36 CYUL 142000Z 22009KT 15SM BKN050 01/M06 A2989 RMK SC7 SLP124 21:02:04 ~metar EGNT 21:02:05 EGNT 142050Z 26009KT 9999 FEW030 05/03 Q1009 21:02:10 What does that mean 21:02:17 I think it's the weather near here 21:02:21 But I don't know how 21:03:58 they have space people in satellites with binoculars watching the weather 21:05:11 Taneb: you report means it's kinda chilly, with a few clouds. otherwise, nothing particularly interesting or notable. 21:05:21 Sounds about right 21:10:46 It also means it was 20:50 (UTC) on the 14th day of the month. 21:11:58 -!- augur_ has quit (Remote host closed the connection). 21:12:50 09KT of wind I guess counts as some sort of a low-moderate breeze? 21:13:47 So, basically what you'd expect for the north of England on a February night 21:14:51 you're lucky to have sane units in your metars. I'm stuck with a weird mixture of just about everything, even inches of mercury. 21:15:05 ! 21:15:17 * Sgeo is back 21:15:19 -!- sivoais has quit (Ping timeout: 260 seconds). 21:15:37 boily: inches of mercury is a measure of pressure, right? 21:15:53 yes 21:16:02 29.97 inHg is 101.325 kPa. 21:16:03 millimeters of mercury is more conventional, I think 21:16:44 ugh numbers in haskell are weird 21:16:53 So, they haven't just got a ruler next to a thermometre 21:16:54 Int and Integer and Integral 21:16:57 nooodl_, how so? 21:17:40 i somewhat understand the differences, but i don't know which one to use where 21:17:47 Int is machine-word sized, Integer is unbounded, Integral isn't a type 21:17:58 It's a class that generalizes over integral types 21:18:03 Such as Int and Integer 21:18:28 ais523: but you have to be careful with canadian metars, A2989 is QFE (29.89 inHG with elevation calibrated at airfield level) and SLP124 is QNH (1012.4 hPa sea level pressure). 21:19:01 The Finnish Meteorological Institute's weather page uses units of hPa (aka mbar but they write hPa) for atmospheric pressure. 21:19:17 as any sane national weather office. 21:20:22 ~metar EFHK 21:20:23 EFHK 142050Z 11005KT 9999 -SG BKN009 BKN030 M02/M03 Q1030 TEMPO SCT008 BKN030 21:20:51 ~metar EGNC 21:20:52 EGNC 141750Z 23009KT 9999 FEW020 05/04 Q1009 21:22:22 ~metar EGED 21:22:22 --- Station not found! 21:22:29 I wonder if you can implement factorial more efficiently than product [1..n] 21:22:44 product [2..n] 21:22:50 hth 21:23:17 (doesn't work with n == 1) 21:23:22 (i think) 21:23:25 Taneb: It actually does work with n == 1 21:23:33 Oh, sweet! 21:23:33 > product [2..1] 21:23:35 1 21:23:46 ~eval [2..1] 21:23:47 [] 21:23:49 It's ever so slightly more efficient 21:23:54 Possibly 21:24:10 > product [2..0] 21:24:11 1 21:25:12 ~metar UOOO 21:25:12 UOOO 142100Z 04012MPS 0250 R01/0800U DRSN HZ NSC M38/M42 Q1013 NOSIG RMK QFE746 0139//41 21:25:19 Well, that's kind of on the cold side. 21:26:45 ~metar UESO 21:26:45 UESO 142100Z 21003MPS 2000 BR NSC M46/M49 Q1024 NOSIG RMK QFE766 21:26:48 As is that. 21:26:49 ~eval gamma 5 21:26:49 Error (1): No instance for (Math.Gamma.Gamma a0) arising from a use of `e_15' 21:26:50 The type variable `a0' is ambiguous 21:26:50 Possible fix: add a type signature that fixes these type variable(s) 21:26:50 Note: there are several potential instances: 21:26:50 instance Math.Gamma.Gamma (Data.Complex.Complex GHC.Types.Double) 21:26:50 -- Defined in `gamma-0.9.0.2:Math.Gamma' 21:26:50 instance Math.Gamma.Gamma (Data.Complex.Complex GHC.Types.Float) 21:26:51 -- Defined in `gamma-0.9.0.2:Math.Gamma' 21:26:51 instance Math.Gamma.Gamma GHC.Types.Double 21:26:52 -- Defined in `gamma-0.9.0.2:Math.Gamma' 21:26:52 ...plus one otherNo instance for (GHC.Show.Show a0) 21:26:53 arising from a use of `M6213143843420178839.show_M6213143843420178839' 21:26:53 The type variable `a0' is ambiguous 21:26:54 Possible fix: add a type signature that fixes these type variable(s) 21:26:56 Lol 21:27:03 woops ¬_¬'... 21:27:12 :t gamma 21:27:14 Not in scope: `gamma' 21:27:26 ~eval gamma 5 :: Double 21:27:27 24.0 21:27:51 cuttlefish's output should be restricted 21:28:28 the thing is, I can't recompile cuttlefish. the libs I use won't compile with GHC 7.6. 21:30:27 -!- ogrom has quit (Quit: Left). 21:36:57 boily: Fix the libs 21:37:09 Might be fixable with just some pragmas 21:41:53 -!- hagb4rd has quit (Ping timeout: 252 seconds). 21:42:22 -!- augur has joined. 21:44:35 ion: don't remind me of my lost $1,000,000,000,000. 21:45:08 elliott: How did you lose $1,000,000,000,000? 21:45:39 which nigerian prince owes you a cool amount of money? 21:45:51 kmc: I was JUST ABOUT to say that same joke. 21:45:52 ion: something about a certain cable offering me $1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 for my nick 21:45:53 You JOKE THIEF 21:46:24 elliott: Wow, that's like all the money in the world TIMES all the money in the world! 21:46:40 Dollars squared? 21:49:43 elliott: here's my code for the thing http://hpaste.org/82379 21:50:17 nooodl_: for a start, using Tape Word8 gets you overflow behaviour for free. no mods needed 21:50:34 apparently my tac implementation was broken... but the program in there seems to find the last byte in stdin so that's cool 21:50:49 oh. cool 21:51:04 oh god there's some stupid leftover debug things 21:51:21 import Debug.Trace (trace), and the Show instance for Tape/DFState 21:51:43 FreeFull: hm. looks like the exception model changed between 2011 and now. 21:52:39 boily: rather, the long-deprecated one finally got removed 21:52:57 That would be a bigger change then 21:53:21 man, the anything-but-haskell programmer in me really feels like adding some spaces to ((0,0),(torusWidth-1,torusHeight-1)) 21:53:35 you can add spaces. 21:53:40 nooodl_: I would recommend not storing the input in the state like that 21:53:56 multi-letter variable names?!?!?!?! go back to the java mines you corporate drone slave 21:54:01 instead you can make run :: DFState -> String -> String 21:54:13 and then you can also write runIO :: DFState -> IO (), which can do interactive IO 21:54:25 i see 21:54:45 kmc: Ideal haskell has no variables at all, right? 21:54:48 Everything is pointless! 21:54:55 riiiight 21:55:35 FreeFull: so, yeah. I fear the complete rewrite. besides, simpleirc can't do SSL, which our company's server uses. 21:55:47 :t (,) ((,) 0 0) ((,)) 21:55:49 (Num b, Num a) => ((a, b), a1 -> b1 -> (a1, b1)) 21:55:59 also interesting: i tried to run it on codepad.org but this happened http://codepad.org/748jN02r 21:56:06 -!- Phantom_Hoover has joined. 21:56:09 nooodl_: if I wrote that I would probably then iterate it to a free monad based version. 21:56:30 I never get how to extract the internal function outside to make application easy 21:56:51 While staying pointfree 21:58:02 what was (,) ((,) 0 0) ((,)) supposed to be? 22:00:30 A way to make a tuple of tuples 22:00:51 I guess I didn't have to write (0,0) as ((,) 0 0) 22:01:18 @pl \x y -> ((0,0),(x,y)) 22:01:18 ((,) (0, 0) .) . (,) 22:01:24 I guess that's what I wanted 22:01:29 nooodl_: I would probably also not use Array but that's just me 22:01:51 elliott: i'd considered Tape (Tape Char) for the code... 22:01:59 I still don't get the way . works when partially applied like that 22:02:14 :t ((,) (0,0) .) 22:02:16 (Functor f, Num t1, Num t) => f a -> f ((t, t1), a) 22:02:17 nooodl_: that would be a bad idea 22:02:20 FreeFull: ignore that :t 22:02:22 stupid Caleskell 22:02:35 -!- boily has quit (Quit: Poulet!). 22:02:39 -!- cuttlefish has quit (Remote host closed the connection). 22:02:41 ((,) (0,0) .) :: (Num t, Num t1) => (a -> b) -> a -> ((t, t1), b) 22:04:05 elliott: what would you have used instead? [[Char]]? 22:04:47 nooodl_: possibly (Int,Int) -> Char. since you never modify the playfield, and you can construct (Int,Int) -> Char from Array (Int,Int) Char which, if inlined, should be just as performant 22:07:01 So value :: (Int,Int) -> Char; value = (playfield !) 22:07:41 well then you're still using Array 22:08:04 I like this book, although so far it seems to still be world building 22:08:12 Does The Clockwork Rocket have an actual plot? 22:09:13 oh, is it good practice to *always* write explicit type signatures for functions 22:10:29 I think in vanilla Haskell there are some cases where you can't 22:10:45 (for functions in where and let, I think?) 22:11:12 oh, yeah, i've never done that 22:11:38 I mean, there is syntax for it, but some circumstances where it's inadequate, iirc 22:11:45 nooodl_: s/functions/top-level definitions/ 22:11:53 not the same thing 22:12:01 (there are non-function top-level definitions, and non-top-level definition functions) 22:12:13 in my example lines 13-26 seem really ugly and verbose 22:12:24 all of the lines are ugly and verbose 22:12:42 elliott: so, i should've also written "torusWidth :: Int", for example? 22:13:17 generally, yes, though it doesn't really matter for a small program :P 22:13:37 note that in the absence of you using them as Int they would be defaulted to Integer 22:13:53 also, nah, some of them are ugly and terse. also some of them are blank!! 22:14:05 nooodl_: really I would just use Word32 or something for the Array 22:14:08 and not have any explicit mods 22:14:16 or what I'd have actually done is write Integer and have no wrapping 22:14:17 elliott, have you seen my code? 22:14:20 :/ 22:14:21 right now this implementation is sub-TC! 22:14:29 is of a sub-TC language, rather 22:14:31 Sgeo: no 22:14:51 https://gist.github.com/Sgeo/fe54715fc61d1d98f4cc 22:15:20 wouldn't Word32 mean a 2^32 by 2^32 array 22:15:43 oh, I guess. you can use Map or HashMap for sparse storage 22:16:09 this is what I did in my Befunge-98 implementation and it worked well enough, though I planned to switch to something much more complex for optimisation purposes 22:16:45 Sgeo: not the nicest code ever yes 22:17:29 Not the worst I hope? 22:18:56 that would be esme 22:19:49 So, I'm somewhere between perfection and actual blithering lack of meaning 22:19:57 hmm how horrible is my code 22:37:23 -!- hagb4rd has joined. 22:37:40 -!- nooga has quit (Ping timeout: 256 seconds). 22:42:51 -!- Waffa has joined. 22:44:06 -!- Waffa has quit (Quit: Waffa). 22:46:52 -!- epicmonkey has quit (Ping timeout: 252 seconds). 22:47:01 -!- Taneb has quit (Quit: Leaving). 22:48:26 -!- carado has quit (Ping timeout: 256 seconds). 22:49:22 -!- sirdancealot has quit (Remote host closed the connection). 22:52:55 -!- sirdancealot7 has joined. 23:03:48 -!- fungot has quit (Ping timeout: 248 seconds). 23:03:50 -!- augur has quit (Remote host closed the connection). 23:05:02 -!- myndzi has quit (Ping timeout: 245 seconds). 23:08:18 -!- myndzi has joined. 23:12:07 -!- fizzie has quit (Ping timeout: 245 seconds). 23:18:46 http://i.imgur.com/r396dsr.jpg 23:22:18 reposting from the front page of /r/math? 23:23:56 -!- fizzie has joined. 23:24:16 Phantom_Hoover: how dare he 23:24:35 he's turning into ion! 23:24:45 turnion 23:40:38 oh noes 23:40:55 onion / scallion 23:41:03 onion / scallion union 23:41:05 @arrrr /math 23:41:06 Drink up, me 'earties 23:41:31 ℝ math 23:43:27 kmc doesn't appreciate the comonad hiding in every monad. 23:44:11 where does it hide 23:44:35 -!- sivoais has joined. 23:45:36 in the other category 23:47:10 shachaf: extract :: Monad m => Kleisli m (m a) a; duplicate :: Monad m => Kleisli m (m a) (m (m a)) 23:47:50 elliott: Right. 23:48:17 I like how extract is id. 23:48:33 return :: Comonad w => Cokleisli w a (w a); join :: Comonad w => Cokleisli w (w (w a)) (w a) -- whoa, man 23:48:46 I like how duplicate = return, join = extract 23:48:57 duplicate = return? 23:49:04 But duplicate :: m a -> m (m (m a)) 23:49:05 Well, return . return and extract . extract 23:49:10 For Kleisli/Cokleisli respectively. 23:49:13 Are those the correct implementations? 23:49:22 I mean, are you sure how of those returns isn't fmapped or something? 23:49:29 Dunno. Ask adj.hs 23:49:31 s/how // 23:49:37 Are you sure of those returns? 23:50:00 s#.$#one /# 23:51:53 elliott: Anyway Kleisli comonads are boring. 23:52:10 The Haskop comonad is kind of silly. 23:52:27 Because extract literally = return 23:53:57 contReturn x f = f x 23:54:05 contJoin = (. contReturn) 23:54:11 contFmap f = (. (. f)) 23:58:45 @pl \f -> (. (. f)) 23:58:45 flip (.) . flip (.) 23:59:06 :t (flip (.) . flip (.)) 23:59:08 Functor f => f a -> (f b1 -> b) -> (a -> b1) -> b 2013-02-15: 00:18:30 -!- noam_ has joined. 00:22:04 -!- noam has quit (Ping timeout: 276 seconds). 00:27:15 http://en.wikipedia.org/wiki/Vasa_(ship) 00:27:17 AHA 00:27:22 typical swedish engineering 00:27:45 "Vasa has since its recovery become a widely recognized symbol of the Swedish "great power period"." 00:27:53 yes sweden this is a true symbol of your golden age 00:41:11 did you only just learn about vasa 00:42:16 -!- zzo38 has joined. 00:43:01 -!- zzo38 has set topic: TO PUSH START BUTTON IS ENOUGH | http://codu.org/logs/_esoteric/. 00:47:24 -!- Phantom_Hoover has set topic: TO PUSH IS ENOUGH | http://codu.org/logs/_esoteric/. 00:47:26 no zzo38 00:50:26 -!- shachaf has set topic: PUSHKIN IS ENOUGH | http://codu.org/logs/_esoteric/. 01:01:20 http://slbkbs.org/dontclickthis.txt 01:06:13 -!- monqy has joined. 01:16:52 -!- impomatic has quit (Ping timeout: 248 seconds). 01:17:33 what if i do 01:18:05 you die 01:18:19 dont do it kmc 01:18:55 you guys are so wrong 01:18:58 im going to do it 01:19:02 how cac you say this 01:19:10 noooooooooooooooooooooooooooooooooooooo dl_ 01:19:17 hi what are you doing 01:19:26 http://slbkbs.org/dontclickthis.txt 01:19:43 monqy: click it...!!! 01:19:53 no monqy 01:19:58 dontdoit.txt 01:20:16 it's a 404 noodle 01:20:56 404 noodles: the best kind of noodles?? 01:21:16 that sounds like a kingdom of loathing food 01:21:26 When download it with netcat, it is seen to be a 404 error; clicking it won't do anything 01:21:39 it must be the one awaking strong expectations 01:21:49 followed by disappointment 01:21:58 i like the solution of downloading it with netcat. "i didn't click it!!" 01:22:14 i was going to curl it but 'o wait' 01:22:30 hm sandbox 01:22:31 `curl http://slbkbs.org/dontclickthis.txt 01:22:34 ​ % Total % Received % Xferd Average Speed Time Time Time Current \ Dload Upload Total Spent Left Speed \ 01:22:40 fuckerz 01:22:45 nice HackEgo line 01:22:46 `cat dontclickthis.txt 01:22:47 cat: dontclickthis.txt: No such file or directory 01:22:55 `curl http://slbkbs.org/dontclickthis.txt -o - 01:22:57 ​ \ curl: (18) transfer closed with 182 bytes remaining to read \ ERROR: The requested URL could not be retrieved