00:00:07 olsner: nah you just need walls tall enough that the kids cannot get over hth 00:00:09 -!- GreyKnight has quit (Ping timeout: 265 seconds). 00:00:34 Or there are multiple Ints. 00:00:38 taint tracking is just a really poor analogy for monads (of course it's one /application/ of monads, as ais523 pointed out) 00:00:45 newtype Sandbox = Box Sand 00:01:01 i wish this analogy would die but my efforts to kill it have been unsuccessful and I gave up on trying 00:01:12 -!- GreyKnight has joined. 00:01:16 it is the kind of fundamentally misleading analogy that is also immediately appealin 00:01:19 g 00:01:22 yeah, an M Int might have 0, 1, or more Ints inside 00:01:26 fguhguhuhghluhruhfff 00:01:30 what does "inside" mean 00:01:34 @quote analog(y|ies) 00:01:35 lilac says: * lilac looks forward to Cale explaining category theory by analogy to Call of Duty 00:01:38 does (Foo -> Int) have Ints inside it 00:01:38 (In fact, [Int] is pretty much a literal definition of "might have 0, 1, or more Ints inside") 00:01:39 it might have an infinite number of Ints! 00:01:45 technically it has as many ints as Foo has elements 00:01:49 elliott: yes, I guess 00:01:50 but this is not a very useful way of reasoning about things 00:02:03 elliott: const 0 00:02:07 sometimes it is 00:02:07 (IO Int) has as many Ints inside as there are sequences of interaction with the real world(!) 00:02:13 which is an awfully gigantic number 00:02:16 when I translated a computable-reals library from Haskell to Verity 00:02:20 and also, with something like (Foo -> Int), "|Foo| ints" is misleading 00:02:24 we represented lists as functions 00:02:25 since they can all be "the same Int" etc. 00:02:32 (this can be relevant, in fact, for performance: sharing) 00:02:51 yes although that's an implementation property and not a language property 00:02:54 `quote this week 00:02:56 Haskell spec doesn't guarantee sharing :( 00:02:58 366) 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 00:03:04 that was the program that lead to quote 366 00:03:11 the technique works, but it's not exactly efficient 00:03:15 The haskell spec at http://haskell.org/ghc does 00:03:32 kmc: feature IMO 00:03:55 which monad is (Foo -> Int), btw? Reader? 00:04:11 not having Haskell names memorized can be a problem when talking to Haskell programmers 00:04:34 sure, Reader, but it could easily be part of the definition of another monad 00:04:43 wasn't thinking of it as the "entire thing" when I said it 00:04:45 indeed 00:04:58 Foo -> Int can't be a monad 00:05:04 (->) Foo is Reader 00:05:06 * elliott thinks ML programmers should know this stuff too 00:05:12 Jafet: well, yes 00:05:12 Or (->) Foo 00:05:31 Foo -> Int can be a monad with its type argument filled in, though 00:05:33 Yes, two identical monads 00:05:39 elliott: sure, but ML programmers don't use the same name 00:05:56 what do you call reader? 00:06:00 also monads are less everywhere in ML than in Haskell because everything's effectively in IO 00:06:12 elliott: I don't know, not sure I've given it a name before now 00:06:29 writing the extra params by hand is what I normally do, even though I probably shouldn't :( 00:07:11 well, (->) is often the most convenient way to use reader in Haskell 00:07:23 I flat out do not understand Racket's continuation model 00:07:24 :( 00:07:31 I think monads can help tons in ML as well as Haskell 00:07:34 I think the Jane Street people agree 00:07:38 anyway we all agree that #haskell is usually wrong and none of us know how to fix it :( 00:07:46 elliott: F# has monads, of course they had to change the name 00:08:02 What do they call them in F#? 00:08:04 just like every other practical application of FP 00:08:14 in 2013 I'd like to see people stop "implementing monads" 00:08:18 kmc, not sure, but I vaguely recall that the syntax used for those is also usable for some non-monad thing? 00:08:18 kmc: I help all the time 00:08:19 "computation expressions" and "workflows" 00:08:31 because they inevitably completely neglect Applicative etc. 00:08:37 and make something half-way and useless 00:08:40 you've really got to synergize your workflows to leverage new paradigms 00:08:47 elliott. yes. 00:09:28 2013: Arrow in javascript 00:09:47 2014: Monads... in C 00:09:58 i already implemented call/cc in C++ 00:09:59 JavaScript already has monads. It's just the Builder Pattern. 00:10:00 as have other people 00:10:02 can't we just cut to the chase and implement monads in hardware 00:10:02 I guess the main problem with monads and applicatives and the like is the "now you have two problems" issue 00:10:06 2015: Monads in x86 ASM 00:10:06 Didn't you hear that talk? 00:10:15 they're generic patterns that apply in lots of cases 00:10:18 shachaf: is this troll 00:10:33 ais523: one might say that they are... design patterns 00:10:34 FreeFull gets me 00:10:34 and so people feel pressured to implement things where a pattern applies using the pattern, for genericness 00:10:44 and now you have to understand the pattern as well as the way it's used 00:10:53 of course the difference is that in Haskell a design pattern goes in the standard library and in Java a design pattern goes in a thick dead-tree book to be typed in by hand 00:10:57 kmc: I think Crockford did say at the end of the talk that it was an example of moands or something. 00:11:00 or into your IDE if you're lucky 00:11:09 kmc: That's not really fair. 00:11:13 no it's not 00:11:16 the real question is why anyone listens to crockford in the first place 00:11:20 There's a lot of Haskell lore for how to make things. 00:11:27 indeedh 00:11:29 indeed 00:11:31 And a lot of repeated patterns in all sorts of places. 00:11:39 -!- Bike has quit (Quit: leaving). 00:11:48 yeah but i think the community is better at recognizing these as problems, and trying to solve them 00:11:58 also, I'm not sure I like the way Haskell mixes error handling into monads 00:11:59 resulting in 10 conduit libraries, 10 lens libraries, etc 00:12:09 There's 10 lens libraries but there's only 1 lens libraries. 00:12:14 like, the mathematical definition of monads doesn't require them to understand error handling 00:12:16 There may be 10 libraries that provide lenses, but there's only one lens library. 00:12:18 The others are kind of pathetic. 00:12:19 and for some, like Reader, it doesn't make sense 00:12:20 of course that itself is a problem 00:12:22 you mean fail? does anyone like fail? 00:12:25 yeah 00:12:30 dunno everything is fucked 00:12:30 how is fail defined in Reader anyway? 00:12:31 ais523: Nobody likes fail. "deal with it" 00:12:35 in that if you integrate lens into your "workflow" it does about 50x more than any other lens package does 00:12:37 10 == 1 00:12:39 gotta learn about how to blow up nuclear power plants using MS SQL 00:12:41 monqy, the people who keep trying to translate from Haskell straight into X seem to like it 00:12:43 ais523: Probably fail = errpr? 00:12:43 because it isn't even primarily about lenses 00:12:44 * Sgeo facepalms 00:12:54 ais523: barely anyone even uses fail 00:12:58 @src Reader fail 00:12:58 Source not found. I've seen penguins that can type better than that. 00:13:01 50x longer type errors than any other lens library 00:13:03 guaranteed 00:13:04 it's there as a compromise nobody is happy about for historical reasons 00:13:08 I guess 00:13:08 but you can just ignore it exists in practice 00:13:14 enlarge your type error 400% 00:13:16 it'd make more sense to have a FailableMonad m 00:13:24 we already have that 00:13:28 for things like Either and IO which really can fail sensibly 00:13:33 elliott: yeah, it's called Monad 00:13:35 no 00:13:36 everyone knows the obvious answers 00:13:36 elliott: We used to, in Haskell 1.4. 00:13:39 yes 00:13:40 are lambdabot's insults from http://www.opensource.apple.com/source/sudo/sudo-17/sudo/ins_csops.h 00:13:43 MonadZero is gone, though. :-( 00:13:49 it's one of haskell 98's several regressions 00:13:55 but the solutions are all basically obvious 00:13:59 the haskell committee: I liked their earlier work better 00:13:59 shachaf: is that like half a MonadPlus? 00:14:02 kmc: Seems that way. 00:14:06 ais523: Yep. 00:14:13 (also MonadPlus is basically just a Monad that's also a Monoid, right?) 00:14:17 ais523: Early Haskell used it in a lot of places where it now uses "fail". 00:14:24 ais523: It's not really the same. 00:14:31 MonadPlus is Monad plus two operations and also nobody agrees on what laws they have 00:14:36 It's a different kind, for one. And the instance is able to do different things. 00:14:39 elliott: :) 00:14:40 Also all monads are monoids. 00:14:42 @src Reader 00:14:42 Source not found. Listen, broccoli brains, I don't have time to listen to this trash. 00:14:48 @src Reader (>>=) 00:14:49 Source not found. Do you think like you type? 00:14:54 @src Control.Monad.Reader fail 00:14:54 Source not found. :( 00:15:02 stop expecting @src to be reasonable 00:15:07 You know the thing where people expect @src to work? 00:15:09 (I totally just guessed the package name there) 00:15:13 That thing keeps happening. 00:15:23 @src lambdabot 00:15:23 Source not found. :( 00:15:28 @src is a text file that people made by hand. 00:15:36 @src 00:15:37 src . Display the implementation of a standard function 00:15:40 @src 0 00:15:40 Source not found. Where did you learn to type? 00:16:23 kmc: genericLength xs = tailRecursive xs id 0 where 00:16:45 kmc: s/.*/http://web.mit.edu/nelhage/Public/sudo / 00:16:57 oh that's longer 00:17:45 why would sudo have an insult library? 00:17:55 to insult people 00:18:01 yeah but why does it need to do that? 00:18:06 to insult people 00:18:21 elliott: insulting people can't be the reason for itself 00:18:28 since when 00:18:36 I should enable insults for this machine 00:18:39 and I've never seen sudo insult anyone 00:18:55 unless you count the "this incident will be reported" thing 00:19:12 * ais523 is a little worried about sudo's security attitude 00:19:16 maybe it's configurable 00:19:38 hmm, especially because it's possible to write a wrapper for sudo that allows you to test if things are possible without the incident being reported 00:19:48 there's a command-line option to query whether something is sudoable 00:21:09 can it be disabled in config? 00:22:37 -!- greyooze has joined. 00:22:46 ais523: you can set the insults flag on in your sudoers file 00:23:24 it is off by default (but why would anyone want *that*?) 00:23:36 when does it insult people? 00:23:54 -!- GreyKnight has quit (Ping timeout: 240 seconds). 00:23:57 only if they give the wrong password AFAIK 00:24:00 -!- greyooze has changed nick to GreyKnight. 00:24:22 echo 'nethack on' >> /etc/screenrc 00:24:34 -!- carado has quit (Ping timeout: 246 seconds). 00:25:26 Jafet: Why would you ever need that, when it's automatically turned on by default because of your ~/.nethackrc? 00:25:42 (Or by the existence of $NETHACKOPTIONS.) 00:26:19 Other users do. 00:26:43 That was the global "you". 00:26:54 GreyKnight: hmm; deliberately failing the password check is the way you cancel a command if you realised you screwed it up 00:27:03 and part of the reason sudo password prompts is to give you a reason to consider 00:27:08 I've been known to control-c the password check before now 00:27:38 (another reason for the password prompt is so that you don't try to sudo something on the wrong physical machine; I have different sudo passwords on my own laptop and on nethack4.org, and I've definitely tried to run something as root on the wrong machine before now) 00:28:52 Also I checked the only copy of the firmware of my VDSL2 box that can be found in the interwebs, the one for a different ISP (Sonera), and the cmsCli_authenticate there actually forwards to cmsDal_authenticate (which I think is the web admin interface authentication), instead of hardcoding root:public and ztedebug:ztedebug; I suppose my ISP has just wanted to make the telnet interface not ... 00:28:58 ... available for us customers. (They also don't provide any firmware downloads anywhere; they just remote-push it over TR-069 when they feel like it.) 00:29:49 ais523: your zsh prompt is supposed to tell you which machine you're on 00:29:55 Jafet: oh, my bash prompt does too 00:30:02 just sometimes I don't notice it 00:30:13 you tend to mentally filter it after a while 00:32:17 -!- GreyKnight has quit (Ping timeout: 255 seconds). 00:32:28 %F{red}%B%m%b%f 00:33:35 -!- GreyKnight has joined. 00:35:19 Hmm apparently I already added "Defaults insults" to my sudoers, but I am not getting insulted ._. 00:35:31 oh, maybe I compiled it with them off... 00:35:37 Hmm, a problem with my model is that Qoppa wouldn't be able to generate require and provide forms for itself 00:35:40 I think 00:43:33 -!- sebbu2 has joined. 00:43:34 -!- sebbu2 has quit (Changing host). 00:43:34 -!- sebbu2 has joined. 00:45:19 Ubuntu 'sudo' package contains a patch called "typo-in-classic-insults.diff". 00:45:59 (It corrects "You type like i drive." into "You type like I drive.".) 00:46:09 -!- sebbu has quit (Ping timeout: 260 seconds). 00:46:37 that's not a typo............ 00:47:46 Also funny: http://sprunge.us/ehCY 00:47:48 -!- nooga has quit (Ping timeout: 248 seconds). 00:47:53 Or is that "funy". 00:48:53 (I can't also help noticing that the insults aren't localized.) 00:49:05 this SCADA talk is honestly kind of boring 00:49:25 because the takeaway message is that SCADA systems are vulnerable to well-known attack classes from the early '00's 00:49:50 buffer overflow, XSS, insecure ActiveX plugins, default passwords, bad password hashing 00:50:00 translating phrases will not end well 00:50:03 they just seem to be 20 years behind on basic security practices 00:50:12 Why is "broccoli brains" more PC than "burrito brains"? 00:50:31 burritos are macintosh only 00:50:47 fizzie: if they localized the insults they would have to create a new setting for northern norwegian, and where would we be then... 00:51:13 oerjan: no_NO_No? 00:51:21 something like that 00:51:25 norwegian sure does make me say no 00:51:25 oerjan: Better off? 00:51:26 becuse it sucks 00:51:28 like oerjan 00:51:30 excellent locale name 00:51:56 oerjan: i didnt mean it sorry 00:52:02 elliott: O KAY 00:52:08 we all love you oerjan 00:52:10 oerjan: lets friends 00:54:01 hooray 00:54:59 nope 00:55:21 coppro: U MEAN 00:56:51 -!- GreyKnight has quit (Ping timeout: 240 seconds). 00:59:46 oh come /on/ 00:59:50 -!- GreyKnight has joined. 00:59:53 how am I meant to set a good example for my students 00:59:58 when the Java API is so full of bad examples 01:00:19 use a GoodExampleFactory 01:00:28 for instance, something I just discovered: java.io.File.listFiles() returns null on I/O error 01:00:31 rather than throwing an exception 01:00:33 why? 01:00:40 this is completely bad practice for Java 01:00:50 ais523: just point it out as a bad example 01:00:52 oh wait, you're supposed to *be* a GoodExampleFactory. In that case I guess you'll need a GoodExampleFactoryFactory. 01:01:11 coppro: yeah, except that the students are meant to be able to find it in the API themselves 01:01:15 and use it 01:01:20 and it being a bad example makes the exercise worse 01:01:44 do something different that doesn't make listFiles useful? 01:01:50 you can't test that they understand exception handling 01:01:56 if the method doesn't actually throw exceptions 01:02:03 olsner: yeah, I'm going to have to, I think 01:02:07 ais523: it *can* throw a SecurityException (which just raises more questions) 01:02:11 and that would have been such a good exercise, too :( 01:02:15 GreyKnight: it's unchecked 01:02:15 I've never used listFiles in Java, so obviously it's not useful 01:02:27 I was basically going to ask "write ls -R in Java" 01:03:00 haha, java.io.File.listRoots() is even better 01:03:02 " Unlike most methods in this class, this method does not throw security exceptions. If a security manager exists and its SecurityManager.checkRead(java.lang.String) method denies read access to a particular root directory, then that directory will not appear in the result." 01:03:41 /golfclap 01:04:06 ais523: Some kind of a policy to not throw IO exceptions from File? Most of the other methods don't, either. (Though createNewFile does.) 01:04:13 this is one of the worst designed Java APIs I've ever seen 01:05:04 OK, new exercise: rewrite File so that it doesn't suck 01:05:07 (I'm not even sure I'm joking here) 01:05:08 haha 01:05:16 It's also kinda old. 01:05:17 no, I think that's a great exercise actually 01:05:28 especially since it's not clear that a security exception is right for listRoots 01:05:30 it'd need to be trimmed down, there's a lot of stuff in File 01:05:33 createNewFile has a "success/failure" boolean return *and* an IOException for a specific kind of failure 01:06:22 oh getCanonicalPath() can throw an IOException too 01:06:38 I debated about whether to mention that. 01:06:45 But things like mkdir can't. 01:06:59 It's just a true/false/SecurityException. 01:07:22 hmm 01:07:27 like, if you're operating on a large number of directories, and one givens an exception, what's the right call? 01:07:39 I think Perl understands what it's doing a little better here, with the distinction between Dir::Cwd and IO::File 01:07:40 do you lose the rest of the information for the security exception? 01:07:58 coppro: well a File only represents one directory 01:08:05 so if you want to operate on a large number, you use a loop 01:08:10 and then you get a separate return/exception for each 01:08:19 -!- sebbu2 has quit (Ping timeout: 248 seconds). 01:08:42 ais523: I think I am on board with your "rewrite File" idea :-) 01:08:55 ais523: sure 01:08:59 ais523: but listRoots is static 01:09:04 and it is asking for all roots that exist 01:09:38 the problem is that there are really three states: exists and accessible, exists and inaccessible, and inaccessible 01:09:59 If you're not supposed to get a File object to an inaccessible directory, then what do you do? 01:10:03 coppro: hmm, I'm not even sure if there's enough information in File to correct it 01:10:08 (if you can, then it's just *exceptionally* poor design) 01:10:25 what happens if you call .exists() on a File object that represents a file inside an unreadable directory, for instance? 01:10:34 the documentation doesn't say 01:10:57 probably an exception 01:10:57 "IO exception" is the only sane answer; "returns false" seems to be the only possible answer given the stated API 01:11:03 I can find out, I think 01:11:05 yeah 01:11:08 I think having a File object for an inaccessible file is fine, you can create them from paths after all 01:11:20 olsner: definitely 01:11:20 You can get a File object for any String. 01:13:05 (The File(String) constructor can only throw a NullPointerException.) 01:13:21 $ xargs < T.java 01:13:23 maybe it throws NPE for inaccessible stuff 01:13:23 public class T { public static void main(String[] args) { boolean b = new java.io.File(/root/t.txt).exists(); if (b) System.out.println(true); else System.out.println(false); } } 01:13:24 $ java T 01:13:26 false 01:13:28 ais523: xargs < ???????? 01:13:38 elliott: it replaces newlines wiht spaces 01:13:41 *with 01:13:46 and so is quite useful for sending the program to IRC 01:13:49 also, new java.io.File(/root/t.txt) 01:13:51 is that really valid syntax? 01:14:03 huh, it seems to have eaten all the double quotes 01:14:04 in the file 01:14:08 useful indeed. 01:14:09 as well as replacing newlines with spaces 01:14:18 presumably it got shell dequoted 01:14:19 why would it do that? 01:14:36 ais523: lol 01:14:42 The default command *is* echo. 01:14:46 xargs reads items from the standard input, delimited by blanks (which can be protected with double or single quotes or a backslash) or newlines 01:14:49 Why wouldn't it eat quotes? 01:14:50 seems that it's xargs that dequoted it 01:14:59 and that xargs is specifically designed to eat quotes 01:15:05 echo wouldn't dequote it because a shell isn't involved 01:15:56 -!- sebbu has joined. 01:16:02 I still get false even if I try a file that actually exists 01:16:03 as expected 01:16:13 (that's in an unreadable directory) 01:16:53 xargs does treat quotes and backslashes specially unless you provide the -0 option 01:17:21 GreyKnight: then it doesn't treat newlines specially 01:17:25 er -0 isn't useful here 01:17:34 ignore me it's late 01:18:36 xargs -d'\n' doesn't dequote. 01:18:58 bah, I was just coming to say that :< 01:19:06 you could just do tr -d'\n'... 01:19:17 er tr -d '\n' 01:19:19 I didn't think tr unescaped 01:19:22 or tr '\n' ' ' maybe 01:19:29 wouldn't that just delete backslashes and ns? 01:19:41 TIAS 01:19:58 huh, it does indeed work 01:19:59 works 01:20:03 \o/ 01:20:15 $ tr '\n' ' ' < T.java 01:20:17 public class T { public static void main(String[] args) { boolean b = new java.io.File("/root/typescript").exists(); if (b) System.out.println("true"); else System.out.println("false"); } } 01:20:23 deletes the final newline as well, so it's not quite as handy as xargs 01:20:34 (now I'm wondering /why/ /root/typescript exists) 01:20:54 It possibly won't coalesce multiple blanks either. 01:21:00 ais523: "vi" it and find out 01:21:22 or just l 01:21:34 although, hmm 01:21:58 huh 01:22:01 it contains a uname 01:22:08 and a wc -l of /etc/shadow 01:22:14 and an exit 01:22:27 I think I know why, it was to prove a point on reddit 01:22:29 CSI: Linux 01:23:48 There doesn't seem to be an obvious way to tell xargs "I want the arguments to be items separated by any whitepace like you do normally, except with no special handling of quotes/backslashes", since -d can only take a single delimiter, and in any case wouldn't coalesce multiple consecutive ones. 01:26:49 -!- greyooze has joined. 01:27:18 -!- GreyKnight has quit (Ping timeout: 276 seconds). 01:30:49 -!- greyooze has changed nick to GreyKnight. 01:31:11 -!- jiella1 has joined. 01:33:19 GreyKnight: i would watch that 01:33:47 hopefully it would keep the same technical accuracy and nuanced character development of the original 01:34:09 what is the linux equivalent of the magical purple light which makes things glow if they have been involved in a crime 01:34:14 -!- jiella has quit (Ping timeout: 240 seconds). 01:34:31 not to mention the magical computers 01:34:39 kmc: nmap?? 01:34:48 cowsay 01:35:20 `addquote what is the linux equivalent of the magical purple light which makes things glow if they have been involved in a crime kmc: nmap?? 01:35:24 899) what is the linux equivalent of the magical purple light which makes things glow if they have been involved in a crime kmc: nmap?? 01:35:51 elliott: When are you going to rewrite the quote thing? 01:36:04 I still have the code I started to write before you told me to stop because you would do it instead. 01:36:13 (Or do I? I might've lost it.) 01:36:19 (It probably has some name like q.py.) 01:36:43 $ wc -l qdb.py 01:36:43 120 qdb.py 01:37:00 So? 01:37:08 Are you actually going to do it? 01:37:45 rewrite it in qoppa plz 01:38:12 Python is insufficiently esoteric for this august venue :-I 01:38:36 bsmnt_bot felt reasonably eso, at least 01:38:48 anyone remember bsmnt_bot? 01:38:56 zeptobot was python and yes 01:40:03 Request: a bot whose *commands* are esoteric in nature 01:40:15 storkbot 01:41:48 GreyKnight: this is a january venue 01:41:57 wait six months and try again 01:43:44 what is storkbot 01:43:57 i wonder if qoppa counts as an esolang 01:43:58 or kernel etc 01:44:02 probably a useless question to ask 01:44:42 -!- jiella1 has quit (Quit: Leaving.). 01:44:56 i think a qoppa article on the wiki would be at home 01:45:15 I wish I could use Racket's eval so that Qoppa expression could expand into a Racket macro and have that be evaluate 01:45:17 evaluated 01:47:53 "How do I install new Firefox on this Windows 3.1 CNC machine? Because Internet Explorer 3 won't open Facebook." 01:48:05 Hmm, actually, I could change the evaluation handler so that it distinguish between Qoppa evaluation and Racket evaluation 01:48:22 Although, wait, that could be a bad idea 01:48:56 kmc: "here's a pound, get a marginally newer machine" ? 01:49:31 GreyKnight: I don't think even new CNC machines would necessarily run new OSes 01:49:41 they're the sort of machine that you design with an OS once 01:49:46 and then leave it there forever 01:49:52 kmc: But is it a functionalang? 01:50:51 disclaimer: I didn't actually look up what CNC meant and just made a facile joke 01:51:05 (I did now) 01:51:52 @google cnc 01:51:59 http://en.wikipedia.org/wiki/Numerical_control 01:51:59 Title: Numerical control - Wikipedia, the free encyclopedia 01:52:02 whats a cnc 01:52:15 elliott: command 'n' conquer hth 01:52:33 elliott: computer numerical control machine 01:52:43 That too. 01:52:45 whats that 01:52:46 they're basically robots designed to move drills sideways in precisely controlled patterns 01:52:54 oh 01:52:56 kind of like me 01:53:01 allowing you to cut arbitrary shapes out of a piece of material 01:58:19 -!- GreyKnight has quit (Ping timeout: 256 seconds). 01:58:56 -!- copumpkin has joined. 01:59:44 -!- GreyKnight has joined. 02:07:36 it's not necessarily moving a drill sideways 02:07:40 that would be a CNC mill 02:07:54 there are also CNC lathes, laser cutters, vinyl cutters, waterjets, plasma cutters, etc 02:08:07 3D printers 02:08:12 oh right 02:08:13 elliott: can you cut a mandelbrot set out of paper? 02:08:15 CNC milling is what I'm used to 02:08:21 because I used to have access to a CNC mill 02:08:30 oerjan: did you mean ais523:? 02:08:35 and you can cut out an approximation of one 02:08:40 CNC machines aren't perfectly accurate, though 02:08:57 no, i meant elliott, since he claimed to be kind of like such a robot 02:09:02 oh right 02:09:11 oerjan: i am a mandelbrot set 02:09:15 ooh 02:09:16 irl 02:09:26 cool mandel bro 02:09:33 that _would_ explain why you don't want taneb to see you 02:09:46 how so? 02:09:47 @ask atriq have you seen any mandelbrot sets around hexham? 02:09:48 Consider it noted. 02:09:52 I look like this: http://slbkbs.org/sb/1.png 02:09:58 I suppose you already know that, though. 02:11:19 i'm not even going to click that link again 02:11:28 `pastlog never meet 02:11:59 2009-10-22.txt:03:47:55: I am saddened that I could never meet him or Borges 02:12:13 `pastlog elliott.*never meet 02:12:18 `pastlog duck 02:12:25 2011-09-12.txt:19:31:50: Phantom_Hoover: I and Taneb can never meet. <-- wait, wouldn't it be ok as long as it is nowhere near hexham? 02:12:25 2007-04-01.txt:05:52:38: -nod- what did you think I meant by duck typing? 02:12:40 close enough 02:13:08 elliott is elliott and taneb is taneb, and ne'er the twain shall meet 02:13:31 Phantom_Hoover: why must they mix mark twain into a kipling quote, i wonder 02:14:25 possibly because kipling did so himself 02:14:30 but WHY 02:15:33 i never got the log question answered, i think 02:18:11 -!- sebbu3 has joined. 02:18:12 -!- sebbu3 has quit (Changing host). 02:18:12 -!- sebbu3 has joined. 02:18:18 -!- sebbu has quit (Ping timeout: 272 seconds). 02:18:37 unless it was oerjan: there'll be ferries 02:19:18 but i suspect that was a response to an earlier line 02:21:50 -!- Nisstyre-laptop has joined. 02:24:44 -!- sebbu3 has quit (Ping timeout: 260 seconds). 02:26:44 -!- 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?"). 02:29:25 Arc-Koen's quit message is hilarious 02:29:30 *Arc_Koen 02:29:44 I wonder if it's original or a quote from somewhere 02:31:00 it's obviously a quote from a seedy place google doesn't reach 02:32:44 it looks vaguely like an attempt at invoking rule 34 (or possibly rule 35) 02:33:07 -!- Vorpal has joined. 02:34:04 it's from here 02:34:09 (so, oerjan is correct) 02:34:49 `pastlog sapphire orbs 02:34:56 2012-12-11.txt:21:22:25: the struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own 02:34:58 yay 02:35:08 I should have guessed the author, really 02:35:23 Fiora's good at that sort of thing :) 02:35:27 oh god my terrible joke has become a quit message 02:35:50 has done for some time :-U 02:36:03 `welcome Fiora 02:36:06 Fiora: 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:36:37 i wish i had your talent for shitty fanfic 02:36:39 Fiora: it's an awesome joke 02:37:01 I can do okay fanfic (I hope?) too 02:37:09 the point where fanfic rolls over from bad into being good again is actually quite close to the typical average of fanfic 02:37:20 so close, in fact, that it's met by chance quite a lot 02:37:33 (I don't know if this is because I'm easily amused, or because typical fanfic is really shitty) 02:37:37 (possibly both) 02:38:16 it's also very close the the point at which it becomes unironically publishable 02:38:48 Phantom_Hoover: isn't that just because most publishers have no sense of irony? 02:38:48 Phantom_Hoover: at which side? 02:39:11 both 02:40:10 speaking of published fanfiction, I saw this the other day 02:40:11 http://www.amazon.com/Gamer-Girl-Mari-Mancusi/dp/014241509X 02:40:36 and apparently some people I knew had actually read it from the library and it's exactly as hilariously bad mary sue fic as it looks 02:41:37 you mean this was in a brick and mortar library 02:41:42 yes 02:41:48 we're doomed 02:41:55 probably YA section or something between the animorphs and redwall? 02:41:59 hmm… the mary sue phenomenon is probably the reason roleplaying games actually have rules 02:42:05 (also the reason they have munchkins) 02:42:34 lol, on a page that has graphics intended for use of games, a list of games it might be useful for: 02:42:35 "Sokoban (Please don't make this game again) 02:42:35 " 02:42:35 i think the reason roleplaying games have rules is because it's so obvious they need them that everyone just sort of accepted it 02:42:38 http://www.lostgarden.com/2007/05/dancs-miraculously-flexible-game.html 02:42:40 "Readers will guess the identity of Sir Leo long before Maddy does" <-- already did -_- 02:42:47 @wn mary sue 02:42:49 *** "mary" wn "WordNet (r) 3.0 (2006)" 02:42:49 Mary 02:42:49 n 1: the mother of Jesus; Christians refer to her as the Virgin 02:42:49 Mary; she is especially honored by Roman Catholics [syn: 02:42:49 {Mary}, {Virgin Mary}, {The Virgin}, {Blessed Virgin}, 02:42:51 [10 @more lines] 02:42:58 mary is a total mary sue 02:43:25 @wn sue 02:43:25 *** "sue" wn "WordNet (r) 3.0 (2006)" 02:43:25 Sue 02:43:25 n 1: French writer whose novels described the sordid side of 02:43:25 city life (1804-1857) [syn: {Sue}, {Eugene Sue}] 02:43:25 v 1: institute legal proceedings against; file a suit against; 02:43:27 [3 @more lines] 02:43:56 shachaf: a "mary sue" is a stereotypical fanfiction original character that is often a self-insert, steals the spotlight, and soon the universe is revolving around her (or him) 02:43:59 "And even more importantly, she begins reaching out to potential friends by starting a manga club and entering /Gamer Girl/ in a prestigious writing contest." <-- wait, so the character is *such* a blatant self-insert that she included the book inside itself? 02:44:14 sometimes even in non-fanfiction, characters exhibiting hordes of mary sue cliches show up, so people call them sues too 02:44:24 it's actually the fanfic version of GEB 02:44:38 It's fanfics all the way down. 02:44:47 for example, eragon 02:44:50 entire book is marty stu 02:44:59 @google tv tropes mary sue 02:45:01 http://tvtropes.org/pmwiki/pmwiki.php/Main/MarySue 02:45:01 Title: Mary Sue - Television Tropes & Idioms 02:45:30 What's eragon? 02:45:40 "Eragon is the first book in the Inheritance Cycle by Christopher Paolini, who began writing at the age of 15." 02:45:46 it's between dragon and fragon 02:45:58 Is the age of the author the most important fact about the book? 02:46:12 (this was basically my line of thought when i first saw the title) 02:46:24 With such glowing reviews as "This is, bar none, the worst book I have ever read in my life." and "It has everything which makes a teen book amount to nothing.", how can I turn this opportunity down? 02:48:55 "This is supposed to be a story of how gamers should be accepted as normal people and other related issues, but instead comes off as a descent into madness not unlike the works of H.P. Lovecraft." 02:48:55 These reviews are a source of endless* entertainment 02:49:07 (* endlessness not guaranteed) 02:49:08 much more so than the book, even as a so-bad-it's-good 02:49:20 Eragon was a really popular YA series that sort of piggybacked off the popularity of harry potter and similar series 02:49:29 it's terribly written, it's written by like, a teenager 02:49:38 @wn YA 02:49:38 No match for "YA". 02:49:40 young adult 02:49:44 there's a review of dance with dragons on amazon that is basically better than the book in every way 02:49:52 it even got made into a major movie 02:50:10 someone I knew in high school actually bought a copy and read it with a red pen, marking every instance of terrible grammar and awful writing, and that was how she enjoyed it 02:50:14 * oerjan now imagines the review got made into a major movie 02:50:27 oerjan: and get reviewed 02:50:49 Fiora: Isn't that a bit depressing? 02:50:58 ? 02:51:02 Consider all the things you could do instead of pointing out just how other things are terrible. 02:51:24 I think it was also practice for her, because she was an aspiring author and fanfic writer and did a lot of editing 02:51:29 awww, that review got removed 02:51:40 Phantom_Hoover, D: 02:51:41 and, plus. guilty pleasure 02:51:49 kinda like how reading My Immortal can be incredibly funny 02:51:51 or the Eye of Argon 02:52:01 Fiora, i hear it has elves 02:52:15 MST3K, red pen style 02:52:35 http://voxday.blogspot.co.uk/2012/05/cynics-summary.html aha! 02:52:53 slightly more happens in this review than the actual book 02:53:18 "The game within the book (Fields of Fantasy) is a spin off of WoW (in case you didn't know this is World of Warcraft)." Pet hate: people who use abbreviations and then expand them for you in case you didn't know. 02:53:50 the book was 959 page long...? jesus 02:54:01 *pages 02:54:06 in the uk it's two books 02:54:46 so's storm of swords, the difference is that in terms of stuff that happens storm of swords is like half the series 02:54:53 http://www.ayudasystems.com/Jobs wow brogrammer much? 02:55:09 Pro grammar 02:55:22 "Pro ASP.NET in C# 2012" 02:55:29 women are just another material perk, like gym membership and fancy espresso 02:55:31 Sgeo: I kind of want to make Sokoban with those tiles now just to be contrary 02:55:32 That'll work wonders with the macbook 02:56:20 kmc: the women are for giving massages, clearly 02:56:31 and making the espresso 02:56:37 "Gym membership" 02:56:43 and playing the foosball with 02:57:06 Women also cure myopia 02:57:09 As you can see 02:57:17 kmc: Does it say that? 02:57:39 Jafet, the trick is to have the woman report what she's seeing 02:58:10 it doesn't say that, just strongly implies 02:58:26 "appeals to the notion that" 02:58:51 I must be missing it. 02:59:01 Oh, do you mean the picture? 02:59:05 yes 02:59:50 also it's a canadian company but they still flash US$100 bills? 02:59:57 Ah, I skipped past that. Fair enough. 02:59:59 it's all about the robert bordens baby 03:00:31 "all you can eat snacks" with a picture of doritos 03:00:32 kmc: "Ex-Microsoft Software Engineer" 03:00:33 The Right Honourable Sir 03:00:36 there is so much stereotypical awful in there 03:01:13 wow what is this 03:01:28 that sounds like the worst place to work 03:01:37 also their "encryption engine" appears to be a simple substitution cypher 03:01:40 Apparently, a person in Redmond, WA is called upon to give the opinion that this is the best job in Montreal, QB 03:02:18 Fiora: like a perfect little ball of wretched :-U 03:02:20 GreyKnight: it is probably meant to be easy, as a kind of FizzBuzz thing 03:02:28 nice touch having SOS in morse code as part of the logo 03:02:44 "So yeah, we're hiring" 03:02:47 GreyKnight: yeah, but it's kind of scary how many places I've heard of being like that 03:02:59 I'm lucky I managed to find a better one, but 03:03:06 most programming job applicants cannot program at all, which doesn't make sense until you factor in that the average programming job applicant is much less skilled than the average programming job haver 03:03:16 kmc: indeed 03:03:56 that makes sense 03:03:57 touché 03:04:10 did I ever mention the friend of mine who delivered to a blizzard office? 03:04:54 don't think so 03:05:03 she had a food delivery/catering job at the time so she got to go to a lot of local tech companies and stuff. the blizzard place was like a frat house, with a middle area with giant TVs and tons of snacks, trash all over the place 03:05:06 Apparently one of the job perks is "$1000 in cash". What, ever? 03:05:06 Worst pay scale 03:05:08 the only woman she saw was the receptionist 03:05:31 I bet they get work done there, though 03:05:39 GreyKnight: haha 03:06:00 I think if I had to try and concentrate on code somewhere with a TV and table football... there would be some murders. 03:06:00 As einstein said, a trashy house indicates a trashy mind 03:06:09 yeah I mostly do not encounter these brogrammers, iHipsters, etc. in real life 03:06:16 maybe because i don't get out much 03:06:21 maybe because I live in Boston and not SF bay area 03:06:25 i think i share a kitchen with one 03:06:37 I think it's an environment thing. like. there seem to be workplaces that are covered in them, and also workplaces with none 03:06:40 like, they congregate and attract each other 03:06:41 fortunately he's still in the larval state 03:06:42 yes 03:06:44 like attracts like 03:06:49 kmc: wait is this a "thing"? I thought this was an isolated incident 03:06:58 that's what I always think when I see the rockstar ninja job ads 03:07:07 "do i want to be working with the kinds of people who respond positively to this ad" 03:07:12 GreyKnight: which? brogrammers? 03:07:14 GreyKnight, of course it's a thing 03:07:18 O_O 03:07:19 it's a big deal 03:07:37 http://thenextweb.com/us/2012/03/20/sqoot-loses-sponsors-following-misogynistic-description-of-their-api-jam-event/ 03:07:42 I also mostly do not encounter them. 03:07:47 Okay... thankfully they don't seem to have spread over here much... YET 03:08:09 it was the same in the dot com boom, what do you get when you have a sudden expansion in an industry with no developed sense of professionalism? 03:08:11 GreyKnight: even outside of like, the most frattish awful guys. have you ever had the joy of accidentally looking at a comment thread on hacker news >_>; 03:08:12 I'd better stock up on defences just to be sure 03:08:41 I try not to read comments in general, they are the same the net over :o) 03:08:57 http://geekfeminism.wikia.com 03:09:18 it's a great place to go if you need a guy to explain to you why sexism doesn't actually exist! 03:09:26 or maybe tell you why rape jokes are /totally okay/ 03:09:26 wow the sqoot thing 03:09:37 straight white men with self-diagnosed asperger's are the /real/ persecuted minority! 03:09:59 i saw that as a defense of sexual harrassment at CCC 03:10:00 ...Please explain to me how a live DJ will help me code 03:10:07 CCC? 03:10:14 "well we didn't get laid in high school, of COURSE we hate women! you can't blame us!" 03:10:28 chaos communication congress 03:10:29 Self-diagnosed asperger syndrome 03:10:34 big european hacker con 03:10:38 (also they supply lots of alcohol? Quality code, coming up!) 03:10:42 That should go in the handbook 03:11:30 -!- DHeadshot has quit (Ping timeout: 272 seconds). 03:11:54 I didn't get laid in high school, and ... I hope I don't act like a jerk towards women 03:12:01 :/ I think sometimes I do though 03:12:11 :( 03:12:21 Sgeo when has airing your insecurities here ever actually helped 03:12:41 Sometimes I act like a jerk towards people in general but I don't think I single out women 03:12:47 I was worse in middle school though 03:13:22 -!- GreyKnight has quit (Remote host closed the connection). 03:13:26 hmm, tar pits are actual pits of tar: http://en.wikipedia.org/wiki/Tar_pit 03:13:41 yes 03:13:56 We should get one in here. 03:13:58 -!- GreyKnight has joined. 03:14:01 did you think it was a hypothetical example or something 03:14:11 like a chocolate teapot 03:14:20 olsner: really :-I 03:14:29 Guacamole pit 03:14:30 Wait, chocolate teapots aren't chocolate teapots? 03:14:42 of course not 03:14:45 why would you make one 03:14:53 it would be as useless as... well, you know 03:14:56 Sgeo: you're a total jerk to me :/ what with constantly forgetting to tell me about homestuck updates 03:14:59 to make your tea gross 03:14:59 you awful awful person :< 03:15:10 Chocolate milk jug 03:15:20 So are there any more bits of fail like this ayuda business? 03:15:33 it's your own fault for stealing fizzie's nick prefix 03:15:39 Sgeo: Every time you tell people about updates, I feel pain. 03:15:46 I was trying to think of something witty to say about the "learn magic tricks" but I can't come up with anything :< 03:16:06 Sgeo: i bet it's because shachaf isn't on "the list" and he wants you to tell him about the updates too 03:16:09 GreyKnight: yes, I think there are loads of places exactly like that 03:16:17 monqy, I did that once 03:16:31 GreyKnight, how about the fact that you can't impress your colleagues with them because they already know the trick, and you can't use it to pick up women because you already get one with the job. 03:16:55 Sgeo: Hmm, you should tell me about giantitp.com comic updates instead. 03:17:09 shachaf: it actually updated! At last 03:17:10 tell everyone about perry bible updates 03:17:19 don't even ask 03:17:21 GreyKnight: I saw that. 03:17:24 shachaf, update as of new year's eve! 03:17:35 Sgeo: OK, now tell me when the next one happens. 03:17:58 doesn't this thing have an RSS feed that you can subscribe to or something? 03:17:59 I have a Twitter account that tweets when it updates 03:18:10 Phantom_Hoover: I was going for something along the lines of "Oh, you know a magic trick? That's adorable. Let me show you (amb)..." 03:18:13 olsner, so does Homestuck 03:18:14 have they actually accomplished anything in the last... 6 months? 03:18:14 But please don't tell monqy or elliott or Fiora or Taneb 03:18:19 Or any of "those people" 03:18:19 let's optimize this notification system out of #esoteric 03:18:29 who's "those people" 03:18:33 monqy: you 03:18:38 :0 03:18:40 -Onotifications 03:18:46 ¹ 03:18:47 woah am i those people 03:18:54 nooodl: no 03:18:56 hi nooodl 03:18:57 nooodl, aren't you monqy 03:18:59 just checking... 03:19:04 yes that's why i asked 03:19:06 -!- sebbu has joined. 03:19:07 -!- sebbu has quit (Changing host). 03:19:07 -!- sebbu has joined. 03:20:51 ooh! speaking of tar, "The ninth drop is expected to fall in 2013." (http://en.wikipedia.org/wiki/Pitch_drop_experiment) 03:21:04 let's hope the webcam works this time 03:21:35 shachaf: it actually updated! At last <-- you know it's been long between updates when the comic itself lampshades it 03:21:55 That would be good. The grass here doesn't grow very beautifully. 03:22:31 When was the 8th drop? 03:22:33 The grass doesn't grow on trees, you know. 03:22:48 Sgeo: 2000 03:22:52 Ah 03:22:58 Sgeo: the wiki page has the whole list of drops 03:23:01 experiment started in 1927 03:23:11 oh 03:23:41 Sucks that it wasn't recorded 03:24:50 -!- Phantom_Hoover has quit (Remote host closed the connection). 03:25:08 > (2013-1927)/9 03:25:09 9.555555555555555 03:26:04 nah obviously when the drop is caught falling, the world ends. that's how these things work. 03:28:14 Ok, time for me to learn comonads 03:28:47 -!- DHeadshot has joined. 03:30:34 why aren't there a glut of comonad tutorials >:-( 03:30:35 oerjan: there's a big increase in drop time since they installed air conditioning in the late eighties 03:30:44 aha 03:31:31 FreeFull: actually I guess *you're* supposed to teach the tutorial writer about comonads 03:31:35 GreyKnight: because while everyone makes a monad tutorial, they just _read_ comonad tutorials 03:31:55 * cotutorial 03:36:04 -!- zzo38 has joined. 03:37:18 -!- mig22 has joined. 03:39:12 `quote 234 03:39:14 234) !bfjoust sm3 < Score for Deewiant_sm3: 43.4 03:39:53 !bfjoust sm4 << 03:40:06 ​Score for shachaf_sm4: 0.0 03:40:09 shachaf: the scoreboard was bugged when that happened 03:40:21 Sure, but my version is upgraded. 03:40:24 It's not just a clone. 03:42:17 !bfjoust fnord >+<[+-] 03:42:21 ​Score for oerjan_fnord: 8.7 03:50:19 Sgeo: I also worry about being subconsiously sexist :/ 03:51:18 oerjan: you might be better off using ()* rather than [] there 03:51:28 that way you're not wasting a cycle on zero testing 03:51:51 I think everyone has some level of subconscious sexism, racism, and the like, and it's sort of our job to try to catch ourselves the best we can 03:51:56 i think if you never worry about it at all, you are probably sexist 03:51:57 !bfjoust fnord >+<(+-)*-1 03:51:58 yep 03:52:01 ​Score for oerjan_fnord: 6.2 03:52:09 hmm, maybe not :) 03:52:13 I've been familiar with feminist principles for years, but I still catch internalied-misogyny thought processes sometimes 03:52:19 and have to go like stupid fiora stop it no no no no no 03:52:56 !bfjoust maybe_better_than_oerjan_fnord >+<(.+-)*-1 03:53:00 ​Score for ais523_maybe_better_than_oerjan_fnord: 11.5 03:53:04 hmm 03:53:10 but yeah. worrying is good <_< 03:53:17 within reason :) 03:53:24 i am also the kind of person who worries about everything 03:53:32 "But at this phase, the all-male society of bit-heads that made up the power structure of Black Sun Systems said that the face problem was trivial and superficial. It was, of course, nothing more than sexism, the especially virulent type espoused by male techies who sincerely believe that they are too smart to be sexists." 03:53:34 a bit of worrying, at least! 03:53:55 "My feeling about nonsexist English is that it is like a foreign language that I am learning. I find that even after years of practice, I still have to translate sometimes from my native language, which is sexist English. I know of no human being who speaks Nonsexist as their native tongue. It will be very interesting to see if such people come to exist. If so, it will have taken a lot of work by a lot of people to reach that point." 03:55:02 Nonsexist English is much easier than nonsexist Hebrew. 03:56:02 what is the "face problem"? 03:57:02 Not particularly relatedly, did you read Chiang's _Liking What You See_? 03:57:07 http://www.clarku.edu/welcome/placement/pdf/reading.pdf 03:57:59 shachaf: yes! thanks for sending that to me as well :) 03:58:07 GreyKnight: putting good faces on avatars in a 3D world 03:58:10 Ah, I might've mentioned it before. 03:58:15 that look realistic and not all uncanny-valley 03:58:18 it's a quote from Snow Crash 03:58:24 -!- Vorpal has quit (Ping timeout: 276 seconds). 03:58:31 "At the time, both of them were working on avatars. He was working on bodies, she was working on faces. She was the face department, because nobody thought that faces were all that important-they were just flesh-toned busts on top of the avatars. She was just in the process of proving them all desperately wrong." 03:59:13 I can see why good face models are important although I don't see what it has to do with sexism particularly? 04:00:03 Humans have a whole brain section dedicated to just faces 04:01:32 -!- nooodl has quit (Ping timeout: 272 seconds). 04:04:25 you could read the book 04:04:53 it doesn't particularly have to do with sexism 04:05:04 I read the book but it was quite a long time ago. 04:05:14 Perhaps I shoould read it again? 04:05:17 it's just that the guys thought the thing she was working on was unimportant, partially due to sexism 04:05:22 it's not especially relevant to the plot 04:05:26 but it's a good book and you should read it 04:05:38 i quoted it just for the last sentence 04:05:52 "male techies who sincerely believe that they are too smart to be sexists" 04:05:59 regarding the merits of worrying about this :) 04:06:21 we programmers tend to think of ourselves (and the rest of the world) as computers, following programs 04:06:41 and since we know intellectually to avoid prejudice, we think that of course we will act that way 04:06:50 but brains are imprecise computers 04:06:59 -!- Bike has joined. 04:07:25 http://en.wikipedia.org/wiki/Intrusive_thoughts is another useful concept 04:07:57 'Many people experience the type of bad or unwanted thoughts that people with more troubling intrusive thoughts have, but most people are able to dismiss these thoughts... London psychologist Stanley Rachman presented a questionnaire to healthy college students and found that virtually all said they had these thoughts from time to time, including thoughts of sexual violence, sexual punishment, "unnatural" sex acts, painful sexual prac 04:09:10 are you using that as an example of brains being "imprecise", or with respect to "internalized misogyny" 04:09:32 I'm not a psychologist, but I'd imagine that any thought that someone would intellectually think is "bad" would come up in intrusive thoughts 04:09:48 both really 04:10:31 having racist thoughts does not make you racist any more than having murderous thoughts makes you a murderer 04:10:32 I can imagine lots of rusty nails emerging from my flesh everywhere 04:10:42 the important thing about intrusive thoughts isn't so much the content as the inability to get rid of them, sgeo. 04:10:58 the idea of the mind as a single indivisible agent is pretty bogus 04:11:03 the mind is a committee, if not a whole bureaucracy 04:11:16 something something minsky 04:11:29 sometimes the part that we perceive as the executive agent needs to yell at the other bits to keep them in line 04:11:32 or just ignore them 04:12:41 I sometimes blame the book "Well Wishing" for giving me the idea that my thoughts, if left unchecked, might cause actual harm magically, and thus an urgent and uncomfortable need to mentally yell at myself any time I have a "bad" thought, rather than just ignoring it 04:12:46 Usually what you can do is just think about something else 04:13:02 yeah, that's probably not good Sgeo 04:13:06 i am also not a psychologist 04:13:10 (shocker to you all, i'm sure) 04:13:18 maybe it's just me but i find that self-help books are really, really bad for anything psychological 04:13:38 maybe you have intrusive antiintrusive thoughts, sgeo! 04:14:49 i wonder if "hipster racism" and the like is a not-entirely-benign coping mechanism for dealing with intrusive racist thoughts 04:15:00 "hipster racism"? 04:15:12 I was about to ask too but then decided "maybe I'll let that one lie" 04:15:18 http://jezebel.com/5905291/a-complete-guide-to-hipster-racism 04:15:21 * GreyKnight has uncovered enough bizarreness for one day 04:16:21 oh, the thug life article, i remember reading that. 04:16:39 basically, being racist as a joke because 'everyone knows' you're not racist 04:16:48 that 'everyone knows' is usually based on something like "i'm smart" or "i voted for obama" 04:16:57 also i feel a bit uncomfortable with using "intrusive thoughts" to refer to the non-insanity-related normal condition, but i guess it's kosher 04:17:32 Bike: well that article seems to think so anyway 04:17:32 This author sure loves exclamation marks 04:17:35 but it's just a wikipedia article 04:18:00 yeah, that's what i meant. it's just like how i get antsy when people talk about "insane" or "OCD" casually i guess 04:18:06 yeah 04:18:16 i see what you mean 04:19:04 "ADD" and "aspergers" get used that way too 04:19:28 aspergers has the whole internet diagnosis thing going for it too :/ 04:19:32 yeah 04:19:47 i think there's a fair amount of that with ADD and OCD too 04:20:05 aspergers is no longer a disorder recognized by the APA 04:20:13 or whatever that doctors' association is called 04:20:14 i know that I have some obsessive-compulsive tendencies, but it doesn't really get in the way of my daily life, so I guess there's no 'D' 04:20:25 every time I leave the house I check about 5 times that the stove is off 04:20:25 OCD is an anxiety disorder 04:20:33 coppro: is it autism spectrum now? 04:20:33 ok, that could qualify 04:20:35 kmc: yes 04:20:42 in fairness, it has been found to be not-off more than once 04:21:00 is it that OCPD is what people usually think of as "OCD" or... i forget. 04:21:01 one time I lived with a guy with serious for-reals ADHD and he would do things like turn the stove on, forget to light the burner, and then wander off to his room 04:21:15 like, if you just like to organize things neatly because you think they look better, that's not OCD 04:21:18 even if you do that a lot 04:21:27 i figure an extra 30 seconds of my time towards the house not burning down is an ok investment and so I don't fight it too hard 04:21:52 «this Tweet from Zooey Deschanel: "Haha. :) RT @Sarabareilles: Home from tour and first things first: New Girl episodes I missed. #thuglife." See, it's hilarious, because we aren't thugs—we are darling girls, and real thugs are black people who do crime!» 04:21:53 yes, i suppose it's the "compulsive" part, where you find it hard to stop even if you want to 04:21:54 coppro: yeah that's what i meant, people using it casually to refer to things that are nowhere near medical conditions. 04:21:56 I don't get it. 04:22:08 -!- Nisstyre has quit (Read error: Connection reset by peer). 04:22:08 Don't get what? 04:22:23 Which part of that is racist? 04:22:40 the last sentence is meant to explain it 04:22:48 i think that's not really an egregious example 04:23:04 The idea is that "thug life" is being used to refer to things we don't think of as stereotypically "thuggish", i.e. black. 04:23:17 @wn thug 04:23:18 *** "thug" wn "WordNet (r) 3.0 (2006)" 04:23:18 thug 04:23:18 n 1: an aggressive and violent young criminal [syn: {hood}, 04:23:18 {hoodlum}, {goon}, {punk}, {thug}, {tough}, {toughie}, 04:23:18 {strong-armer}] 04:23:27 buuuuut that particular sentence is the one part of the article that's been pasted over and over and argued about anyway 04:23:30 dictionaries are not great guides to racism 04:23:32 * shachaf isn't trying to play dictionary here in particular. 04:23:43 Bike: OK, I haven't read the article before. 04:24:02 Bike: No, it's not OCPD. A few manifestations of OCD stereotype the disorder, which causes people to misunderstand the fact that it's an anxiety disorder characterized by irresitable urges to perform specific, usually-irrational actions so as to relieve the anxiety. This leads to people both failing to understand what OCD sufferers are experiencing and believing that things may be OCD when they are not. 04:24:04 I didn't think you did, I'm just saying you're not the only one who read that part and thought "what?". 04:24:06 OK, it's discussed in comments there, I see. 04:24:36 in britain they argue about whether "chav" is classist but not whether it's racist, 'cause chavs are white too 04:24:45 also in britain they actually think about classism 04:24:54 here in the USA we jump to racism even when the racial factor is an incidental correlate 04:25:06 which is great for the racists in power by the way 04:25:15 coppro: the stereotyping is what i meant. it's like how "schizophrenia" is used to refer to DID or "autism" means Rain Man. I just don't know much about OCD 'cos I don't have it :/ 04:25:17 OCPD I suppose can also be mistaken for OCD due to the stereotype 04:25:20 really great for the oligarchy in general 04:26:19 but the primary OCD stereotype (performing certain actions irrationally), in my experience, is not found in OCPD sufferers, and people who refer to it simply don't know that OCPD exists 04:26:21 ugh that shitty show on FOX where kiefer sutherland's autistic kid has MAGIC POWERS! and saves the world in 44 minutes every time 04:26:32 Bike: I have neither, but I have had girlfriends with both. 04:26:33 they had a Magic Negro too 04:26:37 (not at once) 04:26:43 i think that show was pretty close to a Media Representations Studies bingo card 04:26:44 haha. 04:26:59 kmc: wow, what the fuck? 04:27:34 to be fair they do portray him as a really hard kid to deal with and not /just/ a special magical snowflake 04:28:40 coppro: interesting 04:28:51 this is like swearing being the stereotypical manifestation of tourette's 04:29:06 OCD is really really distinctive 04:29:56 from my experience, OCPD is more like someone who has a really precise view of how things should be and can get somewhat easily upset when that view is violated 04:30:05 (often at the person upsetting the view) 04:30:44 I suppose I should read my friend's posts on what having OCD is like to be less of an ass in the future 04:30:53 OCPD is the television stereotype of OCD 04:31:14 Jafet: Not even. 04:31:26 i think that's what coppro's been saying isn't true for a few minutes now, jafet 04:32:00 Jafet: Because OCPD sufferers don't do have irrational compulsions, and a few of those (like counting) are part of the OCD stereotype 04:32:05 *don't have 04:32:25 Okay 04:32:36 So, it's possible for someone to have OCD and OCPD simultaneously 04:32:39 in theory 04:32:44 I can't imagine what that would be like, though 04:33:03 obsessive stereotype disorder 04:33:05 One of the characteristics of OCD is that the sufferer usually is aware that the compulsions are irrational 04:33:07 well, OCPD is a personality disorder, they're in totally different clusters 04:33:22 by contrast, OCPD tends emphatically not to have that 04:33:31 so the two combined would be... interesting 04:33:40 do you have experience in clinical psychology, coppro? 04:33:40 distressing. 04:33:52 girlfriends, even better 04:33:53 kmc: no, this is personal experience 04:33:57 Well, someone could perceive their tidiness as normal, and their habits as unnatural 04:34:01 Bike: -_- 04:34:04 Jafet: yes, it's true 04:34:13 kmc: (it's what he said earlier) 04:34:23 But tidiness can be a symptom both of OCD and OCPD, but with different root causes 04:34:27 hang on a sec 04:36:14 having close contact with someone with a mental disorder is probably the second best way to learn about it, though 04:36:41 The "hipster racism" article was a bit confusing in places, mostly due to stuff that probably makes sense to Americans. I don't like the writing style though. 04:37:37 Bike: In OCD's case, third best after having it. Probably not the same for OCPD though. 04:37:57 oh boy is it time for a game of Ask an American? 04:38:00 -!- TeruFSX has joined. 04:38:15 yeah, having it doesn't seem to do much good, but i suppose it's different if your problem isn't based on denying you have a problem 04:38:18 i enjoy answering questions about my weird country 04:39:14 GreyKnight: yeah the writing style is not the best, I think it's trying pretty hard to capture the attention of people who are indifferent or hostile to the message 04:39:18 I kind of don't really want to know :-U 04:39:32 oh but i'm curious about what was confusing :( 04:39:33 oh well 04:39:44 (every time I play Ask An American I usually go away with a sadface) 04:40:08 asking about institutional prejudice will surely be different! 04:40:24 A cheery subject if ever I heard one 04:40:33 well, cultural prejudice really 04:40:46 let's say little of column A, little of column B 04:42:00 I found the article pretty annoying even though I don't think I disagree with the basic point it's trying to make. 04:42:45 that happens with jezebel a lot, I think. 04:43:03 In my limited experience, yes. 04:43:05 The name of the site doesn't really inspire confidence :-U 04:43:12 there are probably better articles 04:43:20 that's just the first one that comes up, and does explain what the basic problem is 04:43:31 GreyKnight: eh? 04:44:23 Jezebel (the famous one, anyway) was a fairly unpleasant and vicious person 04:45:29 "cross me and I'll destroy your character and maybe kill you if you're lucky" sort of thing 04:46:01 I would guess that it's named after the negative epithet for women, but i haven't checked... 04:47:04 hm well that comes from the same source I guess 04:47:16 probably. but in a higher degree. 04:47:37 (she was also famous for being a bit overly fond of her appearance) 04:51:58 maybe they are trying to do the "turn it into a positive term" thing? I can't say it seems like a good idea, some things should just be thrown away and not recycled :-/ 04:52:34 I'm kind of surprised that you think of the Biblical figure instead of the insult first. That's new to me. 04:52:53 I am not aware that it's an insult. 04:53:01 hmmmmm. 04:53:03 I knew a cat by that name, and she was a nice cat. 04:53:03 @wn jezebel 04:53:04 *** "jezebel" wn "WordNet (r) 3.0 (2006)" 04:53:04 Jezebel 04:53:04 n 1: wife of Ahab who was king of Israel; according to the Old 04:53:04 Testament she was a cruel immoral queen who fostered the 04:53:04 worship of Baal and tried to kill Elijah and other prophets 04:53:05 Who knows, they might be jez ebel to do it. 04:53:06 of Israel (9th century BC) 04:53:08 2: a shameless impudent scheming woman 04:53:13 Guess I lose! 04:53:16 maybe it's more common in Bikeland? 04:53:30 I've been reading too many old books. 04:53:38 i didn't know that it was an insult either, though i would have guessed 04:53:43 maybe not old enough :-) 04:54:14 I don't actually remember what Jezebel did anyway, it's been forever since i read any of the OT 04:54:21 perhaps it has to do with the fact that women who demand equal treatment are seen as impudent and scheming 04:54:28 perhaps it's just a cool sounding word 04:54:48 i looked on their site for a bit about the name but rapidly ran out of give-a-fuck 04:54:59 yeah their wikipedia article is pretty unhelpful too 04:55:31 "people of color" is an irritating phrase. 04:55:51 why? 04:56:02 I read it as "non-albinos" :-U 04:56:16 Imagine that I declared that every apple that isn't green is an "apple of color". 04:56:21 man, things are really different outside of the US. 04:56:45 well, no, "white is also a color!" is a thing here, maybe i'm just not used to it yet 04:57:21 Bike: well, also in actual use it seems to basically lump together lots of unrelated groups into "non-whites" 04:57:28 which is presumably not the intent but is still kind of uh when you realise it 04:57:33 Bike: I'm not sure what you mean. 04:57:35 no, that's the intent 04:57:44 in the USA politicians love to stereotype by race 04:57:56 it's supposed to unify the various groups hurt by racial oppression (in the US) 04:58:00 say something about immigration in spanish, there, you've checked off "the Hispanic vote" and can go back to ignoring them 04:58:04 which is, well, non-whites. 04:58:21 shachaf: Dunno, just that learning about the NAACP in history class the name never bothered me. 04:58:24 never mind that some of those people are illegal immigrants and some of them are upper middle class third generation americans 04:59:04 Bike: Huh. You would get weird looks using terminology like that round here really (disclaimer: I haven't tried). 04:59:37 I think it's mostly seen as a bit old-fashioned. 05:00:13 I kind of want to see a native American running for president sometime on a "let's get rid of all the immigrants" platform. But it turns out he means ALL! (this is kind of lulzy) 05:00:20 Especially since racism is over now and all. 05:02:52 i enjoyed http://jezebel.com/5959154/is-america-ready-for-a-white-male-secretary-of-state 05:03:26 that picture is going to give me nightmares 05:03:42 the chin... the chin... it comes... 05:03:47 whoa, it's like an onion article :D 05:03:49 :D 05:03:59 though even less subtle, somehow 05:06:11 TL;DR 05:06:45 it's basically just taking the usual "is America ready for a [minority] [governmental position]" articles and turning it around 05:07:04 actually I stopped reading the Onion for similar reasons, I guess I want my jokes in snappy soundbites these days 05:07:45 I don't even *own* an ipod! 05:07:47 "How can we hope to maintain healthy relationships with our European allies when John Kerry can't sit in a sauna with Angela Merkel, Danish Prime Minister Helle Thorning-Schmidt, Lithuanian President Dalia Grybauskaitė, and Jóhanna Sigurðardóttir, the Prime Minister of Iceland?" 05:08:18 Didn't Sigurðardóttir get impeached or something? 05:08:37 oh, apparently not. 05:08:38 no that was the president, i think, who was male 05:09:07 actually wait I have one of the wee square ones with no screen (I didn't pay money for it mind) 05:09:10 ♥ iceland 05:09:31 * GreyKnight has no idea what a country does with both a Prime Minister *and* a President 05:09:35 hm wait no prime minister, but the previous one 05:09:36 "He has served as President since 1996; he was unopposed in 2000, re-elected for a third term in 2004, re-elected unopposed for a fourth term in 2008 and re-elected for a record fifth term in 2012" hm 05:09:39 what kmc said 05:09:40 Ah. 05:09:48 i should go back 05:09:56 how can you not love a place with such an awesome language 05:10:00 http://en.wikipedia.org/wiki/Geir_Haarde 05:10:04 i'll go with you 05:10:09 GreyKnight: you should read up more about how government works, then 05:10:12 it's quite sensible 05:10:12 Do you speak Icelandic? 05:10:25 -!- hagb4rd has quit (Ping timeout: 256 seconds). 05:10:33 i speak english, which is practically the same thing 05:10:36 coppro: I know how government works, just not that type of government 05:11:03 it's a pretty common type of government... 05:11:30 GreyKnight: I mean government generally 05:11:30 "The Landsdómur is a special high court in Iceland which was established in 1905" "The court has assembled for the first time in 2011" I like it! 05:12:17 I don't know how general governance can shed any light on something that specific to a particular model... 05:12:23 https://www.youtube.com/watch?v=MADc0vCd52o 05:12:40 GreyKnight: head of state and head of government, it's pretty general 05:12:58 i think iceland should go back to their old form of government :D 05:13:15 A better idea would be to learn more about that particular kind of government 05:13:15 However I am already reading about other things 05:13:16 they hold a thing every year and this time, they invite the world 05:13:17 You mean the one libertarians love? 05:13:24 vikings? 05:13:24 Oh, that. 05:13:39 quintopia: Apparently their parliament is still called the Althing! 05:13:48 GreyKnight: no, learn about government generally 05:13:59 GreyKnight: Because then the system makes sense and you have learned more 05:14:04 Bike: but its not the same !!!! 05:14:34 elliott, monqy Fiora 05:14:39 quintopia: it's those damn new "christian" people, making all them newfangled governments everywhere 05:14:50 christiania 05:14:51 nope :-U 05:14:52 Bike almost clarified it (he didn't specifically mention that President is head of state but I assume this one) 05:15:00 no Thursday without Thor! 05:15:07 or should I say Þor? 05:15:29 So you see now I understand and didn't need to learn any generalities. Only a specific thing, like I said. 05:15:55 governmental category theory: something that needs to exist 05:16:15 \o/ 05:16:30 hmm I might give a happy \o/ as well since Þ is my second-favourite letter. But not sure. Also I am beginning to sound like zzo38 for some reason. 05:16:53 kmc: Þór 05:16:57 ah 05:17:05 thørjan 05:17:24 norwegian doesn't have Þ for what it's worth 05:17:38 _our_ parliament is called the Storting. 05:17:40 takørjan? 05:17:56 oerjan: cognate? 05:18:30 Bike: sure, both are from the same old norse concept 05:18:39 yeah, thing / þing / ding / ting is a germanic word for a governing assembly 05:18:42 yay 05:19:03 GreyKnight: where are you from? 05:19:08 iceland has the Alþingi which is the oldest extant parliamentary institution in the world 05:19:17 first held outside in 930 AD 05:19:32 do they still hold it outside 05:19:36 no 05:19:49 :( 05:19:58 they have a nice little house in reykjavík 05:20:09 coppro: Norn Iron 05:20:16 http://en.wikipedia.org/wiki/Al%C3%BEingish%C3%BAs 05:20:22 iirc it's a surprisingly small house 05:20:24 the Alþingishúsið 05:20:30 It's just not the same 05:20:32 yes, on the other hand it's a surprisingly small country 05:20:36 Oh, that is pretty small. 05:21:11 it's probably incorrect to anglicize đ as d isn't it 05:21:47 Wait, what's the difference between đ and ð 05:22:02 oh i typed the wrong one 05:22:30 oh, they're just totally different letters. cool 05:22:31 how the bloody hell do i type ð 05:22:39 yeah i don't think đ is in icelandic 05:22:40 altgr-d here 05:22:44 don't have an altgr 05:22:49 got a compose key instead 05:22:49 http://en.wikipedia.org/wiki/Turkish_Abductions 05:23:05 idea: USB AltGr key 05:23:11 compose þ d, clearly 05:23:17 just plug it in and enjoy the wonders of AltGr 05:23:22 GreyKnight: brushed metal, sell it for $50 to mac users 05:23:32 GreyKnight: what 05:23:39 northern ireland? 05:23:46 kmc: It seems that my uncle is moving to the Bronx. 05:23:52 possibly with a soft backlight 05:23:52 coppro: http://en.wikipedia.org/wiki/Norn_Iron 05:24:08 I'll have to find a new transportation route! 05:24:10 why does vietnamese of all things have đ... which, of course, I don't know how to type 05:24:20 it's pronounced "Norn Iron" akshully 05:24:41 because tiếng Việt has every latin diacritic as a matter of principle 05:24:55 hm i should look up who the hell designed modern vietnamese 05:25:02 including stacking them high, apparently 05:25:23 i'm guessing somebody french. i will blame the french for the machine-gunned-looking alphabet 05:25:47 designed by Pierre Q. Diacritic 05:26:03 friedrich h. coca-cola 05:26:12 I mean er Pierre Q. Díäcrìtĩc 05:26:30 "It is based on the Latin script (more specifically the Portuguese alphabet[1])" gah 05:26:58 Portugal is *like* France 05:27:34 I keep forgetting that Portugal did things on the world stage back in the day. Imperializing shit all over the damn place I tells ya. 05:27:40 yep 05:27:54 they had a peace treaty with Spain mediated by The Freaking Pope 05:28:01 I just thought "oh, france, they killed vietnamese people for a few decades, i can probably blame them right" 05:28:42 * GreyKnight imagines The Freaking Pope is an actual title due to capitalisation 05:28:53 oh, christian missionaries. that's pretty obvious really. 05:28:59 or as he's known today, @pontifex 05:29:07 ". These informal efforts led eventually to the development of the present Vietnamese alphabet, largely by the work of French Jesuit Alexandre de Rhodes" i am vindicated! 05:29:16 somebody should make twitter accounts for historical psychotic-bastard-style popes 05:29:34 alexander vi's is actually a sex tips blog 05:29:47 This might be the lack of sleep talking, but coproduct injections are pretty funny 05:30:13 `addquote This might be the lack of sleep talking, but coproduct injections are pretty funny 05:30:15 nobody expects the cypriot injunction 05:30:19 900) This might be the lack of sleep talking, but coproduct injections are pretty funny 05:30:37 i think the most abstract thing that i've found really hilarious is the proof of the law of the excluded middle using continuations 05:30:51 I haven't seen that 05:30:55 That's a nice proof. 05:31:04 I remember when kmc explained it in #haskell. 05:31:06 "back in the day" 05:31:48 is there a link for it? 05:31:53 http://en.wikipedia.org/wiki/Dictionarium_Annamiticum_Lusitanum_et_Latinum So, end blame: France. And cointuitionistic proofs or something something 05:32:05 GreyKnight: basically, you claim "A is false", i.e. "A -> Void", and then when somebody calls your bluff by calling that function with a value of type A, you use the continuation to go back in time and claim that A was true all along, with their value as evidence 05:32:57 :-D 05:33:33 proof by virtue of I'm always right even if I have to mangle the spacetime continuum to pull it off 05:33:35 in pseudo-haskell: callCC (\k -> Left (\v -> k (Right v))) 05:33:47 :t callCC (\k -> Left (\v -> k (Right v))) 05:33:49 Occurs check: cannot construct the infinite type: 05:33:49 t0 = Either (b1 -> t0) b0 05:33:49 In the return type of a call of `k' 05:33:56 FOUL 05:33:57 kmc: Did you see Oleg's DNE thing, by the way? 05:34:03 in pseudo-haskell 05:34:06 @quote oleg 05:34:06 oleg says: Unfortunately, once it became clear that the ideas are working out, the motivation fizzled. 05:34:13 @quote Oleg 05:34:13 Oleg says: We show how to program with the law of excluded middle. We specifically avoid call/cc, which is overrated. 05:34:15 it ignores the fact that continuations are not functions, for clarity 05:34:20 oerjan: we need pseudolambdabot for this one 05:34:44 kmc: You can write a function :: forall a. (forall m. Monad m => ((a -> m F) -> m F)) -> a 05:34:48 Where F is Void 05:35:00 neat 05:35:04 :t \k -> Left (\v -> k (Right v))) 05:35:06 parse error on input `)' 05:35:11 :t \k -> Left (\v -> k (Right v)) 05:35:13 (Either a b1 -> t) -> Either (b1 -> t) b 05:35:18 That gives you an actual a in the end, not that weak (a -> r) -> r nonsense. 05:35:26 We show how to program with the law of excluded middle. We specifically avoid call/cc, which is overrated. 05:35:35 :t callCC (\k -> return (Left (\v -> k (Right v)))) 05:35:36 MonadCont m => m (Either (b1 -> m b) b1) 05:35:40 http://okmij.org/ftp/Computation/lem.html 05:35:44 @ty callCC (return . fix) 05:35:45 MonadCont m => m (m b) 05:35:52 oh right 05:36:01 @let getCC = callCC (return . fix) 05:36:01 :t callCC (\k -> return (Left (k . Right))) 05:36:03 MonadCont m => m (Either (b1 -> m b) b1) 05:36:03 Defined. 05:36:07 getCC is great. 05:36:12 :t getCC 05:36:14 MonadCont m => m (m b) 05:36:23 It gives you the current continuation. 05:36:24 neat 05:36:34 madness 05:36:34 It's more powerful than callCC, of course. 05:36:41 You can do infinite loops and things with it. 05:36:45 :t do { k <- getCC; k 3 } 05:36:46 (Num a, MonadCont ((->) a)) => a -> b 05:36:47 (That's why you need fix to define it.) 05:36:48 more powerful...? 05:36:58 How about a nice juicy shift/reset pair? 05:37:15 you can't return things, though? 05:37:20 i mean there's no way to get a 'b' in 05:37:43 Cont on its own is maybe not as interesting as ContT with something else. 05:37:56 k <- getCC gives you a sort of goto label. 05:37:56 perhaps shachaf means "more powerful" to be "differently powerful" 05:38:11 You can then use the action it gives you to jump back to that point. 05:38:45 It's not very interesting from the logic perspective, as far as I can tell. :-) 05:39:00 I think monochrom wrote about it. 05:39:04 @google trebla callCC 05:39:05 http://www.vex.net/~trebla/haskell/cont-monad.xhtml 05:40:45 You can probably extend this to passing information without too much trouble. 05:41:29 left as an exercise for the reader 05:41:58 It's basically just trivial. 05:42:45 `quote 144 05:42:47 144) It's like mathematicians, where the next step up from "trivial" is "open research question". "Nope... No...This problem can't be done AT ALL. This one--maybe, but only with two yaks and a sherpa. ..." 05:46:17 i see 05:47:52 So where does a research question about making proving identities trivial fall 05:48:31 you need those yaks for the yak wool 05:48:36 The law of excluded middle states that every proposition is either trivially true or trivially false. 05:48:51 Bike: I'd answer your query, but unfortunately that's an open research question. 05:49:15 That doesn't mean that you shouldn't answer, just that your answer will be a great publishing opportunity. 05:49:26 shachaf: TLDR all mathematics is useless, let's go to the beach QED 05:49:44 shachaf: checkmate intuitionists! 05:49:47 that's an actual position, you know (except less caricatured) 05:50:13 which "that"? 05:50:33 all propositions are trivially true or false, therefore lolmath 05:50:49 unfortunately i forget the name because "trivialism" is something else entirely 05:50:53 There should be a "No Pronouns Day". No Pronouns Day would be a good time, I think. I would enjoy No Pronouns Day. 05:50:55 "For each problem in section B, either prove that the problem is in P or that it's NP-complete. (Extra credit for doing both.)" 05:51:06 GreyKnight: you? 05:51:28 GreyKnight: I wouldn't be around to enjoy No Pronouns Day, duh 05:51:36 kmc: lol. 05:51:49 Which webcomic is "checkmate" from 05:52:06 I thought "checkmate atheists" was just a meme. 05:52:12 Jafet: chess? 05:52:32 oh poop 05:52:36 Oh, it's not from a webcomic 05:52:39 Free monads are also "pretty nifty??" 05:52:42 http://knowyourmeme.com/memes/checkmate-atheists 05:52:48 shachaf: you get what you pay for 05:52:58 related: http://pbfcomics.com/99/ 05:53:01 kmc: What about cofree comonads? 05:53:03 kmc: hey no fair i was going to link that 05:53:11 edwardk likes those, I think. 05:53:50 why is homestuck so great lately 05:53:59 Aw, "checkmate" was a joke. Well, at least I have Atheist Nightmare to keep me warm 05:54:09 kmc: except, um, that page sucks, it doesn't explain anything 05:54:57 i like http://knowyourmeme.com/memes/good-guy-lucifer 05:55:30 I should check to see if their Ron Paul article has gotten less hilarious. 05:55:40 ron paul: apply directly to the forehead 05:56:23 "On February 22nd, 2012, opponent Rick Santorum aggressively shook Paul’s hand during the GOP candidate debate." ehhhh not quite the same 05:56:32 "The week before the caucus, Paul had the most Twitter mentions as well as the most new YouTube subscribers." 05:56:49 kmc: oh wait, i got the wrong page 05:57:30 http://i1.kym-cdn.com/photos/images/masonry/000/228/139/18qv.jpg now we're talkin'. 06:02:15 -!- TeruFSX has quit (Ping timeout: 276 seconds). 06:09:28 so, i'm readng chaitin's book on the diophantine thing, and he uses lisp with single-character variable names, in APL's character set. is there a reliable test to see if i'm actually in some caricatured hell? 06:09:52 `quote < Bike> so, i'm readng chaitin's book on the diophantine thing, and he uses lisp with single-character variable names, in APL's character set. is there a reliable test to see if i'm actually in some caricatured hell? 06:09:53 No output. 06:10:10 coppro: WRONG FORMAT 06:10:22 also wrong command 06:11:06 what is the right format 06:11:12 `addquote so, i'm readng chaitin's book on the diophantine thing, and he uses lisp with single-character variable names, in APL's character set. is there a reliable test to see if i'm actually in some caricatured hell? 06:11:16 901) so, i'm readng chaitin's book on the diophantine thing, and he uses lisp with single-character variable names, in APL's character set. is there a reliable test to see if i'm actually in some caricatured hell? 06:11:16 happy? 06:11:19 `quote 06:11:20 882) i bet a blog post complaining about ");});});" syntax in JavaScript and comparing it unfavorably to Lisp would get approximately one billion comments on hacker news but at what cost? your very soul, kmc! 06:11:24 HAPPY HAPPY 06:11:26 !oerjan addquote < Bike> so, i'm readng chaitin's book on the diophantine thing, and he uses lisp with single-character variable names, in APL's character set. is there a reliable test to see if i'm actually in some caricatured hell? 06:11:27 -!- copumpkin has quit (Ping timeout: 252 seconds). 06:11:32 two quotes? wow i'm internet famous 06:11:38 no just one 06:11:39 `quote 06:11:41 634) characters in tv series should learn to check the timestamp before they get their hopes up... *no chance* this will work at 10 minutes into the episode 06:11:44 :( 06:11:47 you are not allowed to be internet famous 06:11:57 `quote 06:11:59 40) I spent the last minute or so killing myself repeatedly 06:12:05 ooh, I like that one 06:12:08 btw 06:12:14 we are approaching the 10th (!) anniversary of logs 06:12:23 -!- copumpkin has joined. 06:12:28 is there gonna be a party? 06:12:35 yes 06:12:44 will you stand as a candidate in your home riding? 06:12:48 will it be a good party or a bad party 06:12:50 hm, at least he uses lexical scope. small mercies 06:12:52 what's a riding 06:13:21 http://en.wikipedia.org/wiki/Electoral_district_(Canada) 06:13:24 when-it's-time-to-party-we-will-party-hard 06:13:24 monqy: it will be a caricatured hell party. this does not answer your question. 06:13:28 ♫ [HEAD BANGING] ♫ 06:13:50 like a march, only different 06:14:13 coppro: Can I stand as a candidate in my home circonscription? That sounds, like, totally cooler. 06:14:50 Bike: ok 06:15:24 ⍞ PARTY HARD ⍕ 06:15:27 haha, no dotted pairs either 06:15:47 what are those characters? 06:15:48 party hard, let's go shopping 06:16:05 kmc: APL FUNCTIONAL SYMBOL QUOTE QUAD etc 06:16:18 GreyKnight: the latter is eval, apparently 06:16:22 Bike, who is "he" 06:16:32 kmc: quote quad and format 06:16:43 Sgeo: chaitin 06:16:53 no execute is ⍎ 06:17:04 ok 06:17:08 kmc: you are american 06:17:12 what is the past tense of kidnap 06:17:15 sorry you're wrong greyknight i've got the book like right here 06:17:20 Bike, better yet: Link? 06:17:29 Um, I think I pirated this? I forget. 06:17:30 kidnoop 06:17:40 Oh, wait, are you actually talking about Chaitin of Chaitin's constant defining a Lisp? 06:17:47 coppro: stockholmed 06:17:52 well, yes, is there another one 06:17:56 kmc: also panic 06:18:07 (i suppose there is. I don't know much about... shit i don't even know where he's from. argentina?) 06:18:17 Sgeo: the book is "Algorithmic Information Theory", boringly enough 06:18:31 Why am I surprised that he's still around 06:18:32 ? 06:18:36 This is pretty old. 06:18:43 Nowadays he's busy being insane. "metabiology" 06:19:08 GreyKnight: apparently in his thing ⍎ is eval with timeout. The More You Know. 06:19:35 -!- oerjan has quit (Quit: ZZZ). 06:20:47 Bike: which book? Perhaps this is a point of variance between APLs (?) 06:20:58 coppro: kidnapped? paniced? 06:21:19 GreyKnight: I wasn't kidding when I said he was using Lisp but with one character names in APL characters. 06:21:30 @wn panicked 06:21:30 *** "panicked" wn "WordNet (r) 3.0 (2006)" 06:21:31 panicked 06:21:31 adj 1: thrown into a state of intense fear or desperation; 06:21:31 "became panicky as the snow deepened"; "felt panicked 06:21:31 before each exam"; "trying to keep back the panic- 06:21:32 [3 @more lines] 06:21:46 GreyKnight: if you gimme the del character real fast i can give you a code sample. 06:22:24 it's kind of crazy that no verb fails to have the "ing" form for the progressive aspect 06:22:34 ∇ 06:23:04 coppro: really, none? 06:23:14 not a one 06:23:24 not even "be", which is the most irregular verb by far 06:23:27 Oh so you're not actually in APL? Your characters may mean something different then, perhaps Chaitin got mixed up himself :-) 06:23:39 GreyKnight: (⍎('(1))('(('(∇(x)x))a))) 06:23:41 (it has three forms more than any other verb) 06:23:58 "be" "is" "are" "were" "was" "being" "been" "am" 06:23:59 Bike: nasty 06:24:18 bonus: (∇(x)x) is actually a lambda expression 06:24:53 so he uses ⍎ for eval? 06:25:17 Eval with timeout. The first argument, i.e. ('(1)), means to halt the eval if a second function application is hit. 06:25:27 (there are no actual numbers) 06:25:29 (fuck) 06:26:33 does ('(1)) break down into something meaningful or is it a magic incantation? 06:27:06 It's an encoded numeral. One element list, so it means 1. 06:27:59 this looks wacky, I think I would need to read the book for context 06:28:04 It doesn't really have anything to do with APL I think. He mentions it was "the biggest character set he could find" or something. 06:28:11 how did we get onto this 06:28:13 oh yeah 06:28:19 Me! All me! Mwa hahahaha 06:28:51 as you can see I am not wrong B-) 06:29:22 "The biggest problem in communication is assuming it has taken place" :-D 06:29:27 well, yeah. the closest i've gotten to APL is reading A Programming Language enough to be annoyed at one-indexed arrays, and staring at J's installer 06:31:48 oh, wow, he actually uses "m-expressions" too. "wacky" is not enough for this. 06:32:29 1-indexing is natural with mathematical matrices, APL arrays probably are genealogically closer to them than to "computer" arrays 06:32:53 * Sgeo should try to read about m-expressions 06:32:56 remember back when M-expressions where a thing 06:33:06 *were (kill me) 06:33:43 although fexprs are making a comeback so maybe M-expressions will too?? 06:33:55 Racket has support for "@-expressions" 06:34:00 Not sure if that's the proper term 06:34:09 GreyKnight: I know they are (re APL), i just found it annoying for bad reasons 06:34:24 i should probably try the book again. i'm less shitty with matrices now, anyway. 06:34:33 compromise: 0.5-based arrays 06:35:49 old joke 06:36:16 old Bike 06:36:42 old chaf 06:36:45 ⍴⍴⍴Bike = 1 06:39:07 ⍴⍴⍴reduce, gently down the stream 06:39:54 Rho, rho, rho of X // Always equals 1 // Rho is dimension, rho rho rank // APL is fun! 06:40:06 -!- GreyKnight has quit (Quit: ⍎fungot). 06:44:35 you spent far too much time on that 06:44:48 also you messed up the tune 06:45:12 "row row row reduce // gently down the page // one mistake and you'll be baked // so check at ev'ry stage! 06:55:47 * Sgeo is currently strugging with how to provide functions non-statically 06:56:29 what? 06:57:56 As in, I evaluate with eval a define form that defines a function. How do I expose this function to other Racket modules 06:58:53 you can't define toplevel (or uh modulelevel) functions in eval? that seems implausible 06:59:24 When I tried, I got provide: not at module level in: (provide x) 06:59:42 I can define them all right. Just not have them importable from the rest of Racket 07:00:26 I don't really want it to be a one-way street, would be nice to write Racket code that could call Qoppa functions 07:00:39 practical! 07:05:27 -!- esowiki has joined. 07:05:31 -!- esowiki has joined. 07:05:32 -!- esowiki has joined. 07:06:04 -!- esowiki has joined. 07:06:09 -!- esowiki has joined. 07:06:09 -!- esowiki has joined. 07:06:44 -!- esowiki has joined. 07:06:49 -!- esowiki has joined. 07:06:49 -!- esowiki has joined. 07:07:25 -!- esowiki has joined. 07:07:29 -!- esowiki has joined. 07:07:29 -!- esowiki has joined. 07:08:05 -!- esowiki has joined. 07:08:09 -!- esowiki has joined. 07:08:09 -!- esowiki has joined. 07:08:45 -!- esowiki has joined. 07:08:49 -!- esowiki has joined. 07:08:49 -!- esowiki has joined. 07:09:25 -!- esowiki has joined. 07:09:29 -!- esowiki has joined. 07:09:29 -!- esowiki has joined. 07:10:05 -!- esowiki has joined. 07:10:09 -!- esowiki has joined. 07:10:09 -!- esowiki has joined. 07:10:45 -!- esowiki has joined. 07:10:49 -!- esowiki has joined. 07:10:49 -!- esowiki has joined. 07:11:25 -!- esowiki has joined. 07:11:29 -!- esowiki has joined. 07:11:30 -!- esowiki has joined. 07:12:05 -!- esowiki has joined. 07:12:09 -!- esowiki has joined. 07:12:10 -!- esowiki has joined. 07:12:45 -!- esowiki has joined. 07:12:49 -!- esowiki has joined. 07:12:50 -!- esowiki has joined. 07:13:25 -!- esowiki has joined. 07:13:29 -!- esowiki has joined. 07:13:30 -!- esowiki has joined. 07:14:05 -!- esowiki has joined. 07:14:09 -!- esowiki has joined. 07:14:10 -!- esowiki has joined. 07:14:35 -!- esowiki has joined. 07:14:36 -!- glogbot has joined. 07:14:37 -!- glogbackup has left. 07:14:38 -!- EgoBot has joined. 07:14:39 -!- esowiki has joined. 07:14:40 -!- esowiki has joined. 07:16:30 -!- Gregor has joined. 07:21:19 -!- hagb4rd has joined. 07:24:43 @ask gregor can we add apps.google.com to the whitelist so hackego can fetch some services on it? also it would be cool if the result of fetch (the response itself) would be put out on the stdout enabling the user to pipe it to other shell progs. what do you think? 07:24:44 Consider it noted. 07:24:49 Bike, I think I have an answer, although it kind of sucks: Provide a function capable of reaching into the Qoppa environment for the specified function. 07:25:02 require won't wor... I can make require work 07:25:06 You're right, that does suck. 07:25:18 Maybe #racket could tell you something better? 07:25:27 n/m. I don't know if require can be made to work with that 07:25:54 I asked on #racket , I think people are asleep 07:32:41 hagb4rd: `fetch has no whitelist, and currently sandboxed apps have no external access at all. 07:32:41 Gregor: You have 1 new message. '/msg lambdabot @messages' to read it. 07:35:47 gregor: what do you mean by no external access at all? i just would like to use my own rest-services, serving json data for example.. and pipe them to other shell progs 07:36:05 but oerjan mentioned some restrictions 07:36:20 and whitelist 07:36:34 hagb4rd: There used to be an HTTP proxy with a whitelist. 07:36:39 There's not right now, I borked it. 07:36:49 aw ok 07:38:39 gregor: so, the other thing is the output itself. for now it returns the name of the file the response is saved to, right? but imho it'd be more efficient to directly push it to the stdout 07:39:12 hagb4rd: "stdout" doesn't make any sense. fetch doesn't run in the sandbox, and can't be used from the sandbox. It's totally isolated. 07:41:38 okay.. i'm not sure about the restrictions or conventions of that sandbox you're talking about. but it _would make sense_ to have the possibility of using external webservices.. don't see security risks there 07:43:28 but if i get you right fetch is one of hackegos special functions 07:43:48 not directly running the shell 07:43:50 right? 07:44:03 `ls bin 07:45:07 in the shell/sandbox 07:47:54 gregor: however the result of fetch is saved somewhere in that sandbox, isn't it? 07:49:16 Yes, it's definitely a good idea to have it possible to use external services, but that would have nothing to do with `fetch. 07:49:23 It is /designed/ to give such access, it's just broken. 07:49:29 Squeak enough and I may even fix it. 07:49:40 superb 07:49:43 thank you 08:04:15 It almost makes sense though not being able to mutate the functions a module provides 08:04:21 At least, in a static language it makes sense 08:05:01 when you're at the repl defining functions, what module do they go in? 08:05:16 I think those are in the top-level 08:05:19 Outside of any module 08:13:20 -!- epicmonkey has joined. 08:19:39 -!- Taneb has joined. 09:07:07 -!- Bike has quit (Quit: leaving). 09:32:00 shachaf: that short story reminded me of Idoru for some reason 09:45:40 -!- nooga has joined. 09:56:18 -!- zzo38 has quit (Remote host closed the connection). 10:00:07 -!- AnotherTest has joined. 10:00:23 Hello 10:25:46 -!- Taneb has quit (Ping timeout: 255 seconds). 10:29:00 -!- Taneb has joined. 10:33:58 -!- monqy has quit (Quit: hello). 11:11:38 -!- sebbu2 has joined. 11:13:15 -!- sebbu has quit (Ping timeout: 260 seconds). 11:18:46 http://www.reddit.com/r/ruby/comments/161mik/whys_site_is_back_up_link_to_discussion_on_hacker/ 11:23:31 Why does everyone use DH instead of FHMQV? 11:24:21 ? 11:25:08 note: dh = diffie-hellman, fhmqv = fully hashed menezes-qu-vanstone 11:25:28 I don't see any reason not to, considering performance and security 11:28:55 -!- Nisstyre-laptop has quit (Ping timeout: 240 seconds). 11:43:06 -!- VorpalPhone has joined. 12:07:54 -!- sebbu2 has changed nick to sebbu. 12:17:41 -!- Vorpal has joined. 12:24:24 -!- copumpkin has quit (Ping timeout: 272 seconds). 12:25:04 -!- copumpkin has joined. 12:41:51 sgeo: what is that boulvard talk you are linking to and _why? 12:43:25 boulvard talk? 12:43:44 boulevard 12:44:03 Could you repeat what I said, I'm not sure what you're referring to 12:44:16 http://www.reddit.com/r/ruby/comments/161mik/whys_site_is_back_up_link_to_discussion_on_hacker/ 12:44:53 _why renewed his domain name and put a weird puzzle on it 12:45:25 I have no idea what boulevard is or how (s)he/it comes into play 12:47:51 -!- nooodl has joined. 12:48:22 boulevard-talk is is another word for gossip 12:48:51 "Gossip is idle talk or rumor about the personal or private affairs of others. It is one of the oldest and most common means of sharing facts, views and slander. This term is used pejoratively by its reputation for the introduction of errors and variations into the information transmitted, and it also describes idle chat, a rumor of personal, or trivial nature." 12:49:24 Ah 12:49:46 Also, I managed to misread _why as asking why? 12:49:52 That's disturbing on my part 12:50:03 that was kind of a word play ;) 12:50:06 i must admit 12:50:10 I still don't get the whole thing with _why 12:50:22 people trying to stalk him down and so on seemed incredibly creepy 12:59:10 http://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/Hans_Weiditz09.jpg/800px-Hans_Weiditz09.jpg <-- this one is called "gossip women and the devil".. 16th century 12:59:53 yes ceepy is the right word i guess 13:04:22 Fiora: that just happens to celebrities generally, I think 13:06:46 the dark side of fame 13:07:12 was he really that famous? I never even heard of him before the drama >_>; 13:08:20 me neither 13:10:01 that's why i orginally asked sgeo about his link. i thought it may be someone once hanging around here 13:10:37 or sth else related 13:10:49 He was a famous Ruby person 13:11:16 fair enough 13:11:20 :p 13:11:36 clearly the problem is with the ruby fandom 13:12:58 I remember back when I was famous 13:13:53 ^rot13 Taneb 13:14:15 all bots are on strike 13:14:26 It's nothing that great 13:14:57 was trying to stalk your real identity 13:15:29 "Taneb" is a portmanteau of reverses of the first three letters of my name and my brother's name 13:15:47 cool.. pretty secure 13:16:03 My alt nick, "Ngevd", is my initials 13:16:21 Plus an E that was almost one of my initials 13:16:30 my name is... a fire emblem character whose name I liked 13:16:36 I live in the same town as elliott 13:16:49 Who I believe gets his nick from the fact that it's his name 13:17:20 My nick is based off my first and last name 13:17:29 Actually, I think these days my real name is rather public, so 13:17:45 Sgrawny Eomer 13:17:53 Seth Gold 13:18:05 It feels so weird to say that in cha 13:18:05 chat 13:20:08 well it is. now you're not safe from all the gropies waiting outside your door 13:20:20 *groupies 13:21:56 though famous nerds don't have groupie fans i guess (not meaning you in first case sgeo :) 13:22:15 I'd hate to have gropies waiting outside my door 13:22:24 Actually... 13:22:29 I think that's happened 13:22:35 Fiora: Which short story? Chiang? 13:22:43 Yeah 13:22:49 the one you posted 13:22:53 I have not read Idoru. 13:23:11 it's basically about a japanese virtual super-idol that takes over pop culture I think 13:23:31 it's probably doubly wonderful reading it with modern context 13:23:44 given that the prediction (partially) came true 13:32:39 -!- VorpalPhone has quit (Quit: Bye). 13:37:47 Edvard Grieg looks like Mark Twain 13:37:50 Idoru!idoru@freenode/utility-bot/ex-server/idoru 13:40:04 I'm ambivalent about opengl 2+. On one hand, it doesn't do any matrix operations for you. On the other hand, I just figured out that my program doesn't need any matrix operations. 13:40:48 On the other hand, if I try to bend that far I will break... 13:40:55 On the other hand... there is no other hand. 13:40:56 No! 13:41:10 on the gripping hand! 13:41:23 On the other hand is my other hand 13:41:44 On the other hand is your foot. Would you please move it? 13:41:47 jafet: no matrix operations? how is that? how do you do transformations without matrix operations? and now don't say tensor-operations 13:42:12 My program just computes the texture. 13:42:18 quarternions? 13:42:51 jafet: back to the roots: what program are we talking about anyway? 13:42:55 I use opengl as a high-performance hardware-accelerated texture display platform. 13:43:12 I could "easily" define a language that is just Racket except able to easily use Qoppa functions without wrapping the name in some function explicitely 13:43:30 That's kind of a sucky way to approach interop though 13:43:32 interesting.. so in that case the transformations are just two-dimensional? 13:43:41 There are no transformations. 13:43:42 Not interoping with Racket, but rather interoping with a Racket-like language 13:43:48 I just write one quad directly into screen space. 13:43:55 Or technically, clip space. 13:44:01 okay 13:44:16 Wait, hmm, I have a "better" idea 13:44:35 @quote premature.general 13:44:35 ksf says: ...premature generalisation is the root of all procrastination. 13:44:36 A require transformer, that ... is that a legal way to write a require transformer 13:51:43 Two plausible approaches: New language for interop with Qoppa, and require transformer that requires functions from Qoppa to be explicitly listed 13:53:44 Hmm, the latter might not work so well 13:53:51 require transformers are ... hmm 13:56:59 hm, what sort of partition table is normally used on ARM based linux systems? I assume it isn't MBR-based, that seems silly 14:21:15 Some of them do GPT, I think. 14:22:02 hm okay 14:23:31 -!- carado has joined. 14:33:58 huh, why does the processor affect how the disk is partitioned? 14:43:14 sgeo: i don't know anything about racket, but why do you want to implement interop-ability from "within" and not by using a standard interface like a webservice? i don't see how you want to manage "real" interopability by not using services, and wonder if ever someone did this successfully 14:44:41 It's like using a library. You don't make a webservice to use a library 14:45:00 In Racket, you can make libraries and programs in different languages 14:45:06 ah ok 14:45:26 and.. does it work? 14:45:58 are they compiled to rudementary common language like the ILM code in .net? 14:46:28 or even down to assembler? 14:47:01 They're compiled to Racket 14:47:08 maybe it's worth to give it a look.. 14:47:17 (approximately) 14:48:08 The toenails, on the other hand, never grow at all. 14:48:28 -!- impomatic has joined. 14:58:58 -!- mig22 has quit (Quit: mig22). 15:05:02 -!- Nisstyre-laptop has joined. 15:18:55 -!- TeruFSX has joined. 15:20:21 quintopia: now I am tempted to fix all the american english elsewhere on that page :P 15:22:16 If you like Kernel, maybe you'll love #%kernel! 15:22:27 (Note: Kernel and #%kernel are unrelated) 16:02:05 -!- Nisstyre-laptop has quit (Quit: Leaving). 16:06:57 hm, anyone know a good lightweight HTTP server that supports SSL and CGI (or SCGI, FastCGI, any of them will do)? With lightweight I mean really lightweight btw. Going to run it on an embedded linux system. 16:07:18 won't need to be super fast, low memory usage is more important 16:09:58 are you sure nginx isn't lightweight enough? 16:10:30 elliott, no, I'm performing initial research. Since the hardware has not yet arrived, I can't yet test myself. 16:10:38 thttpd might work, modulo bitrot 16:10:38 Just trying to figure out what alternatives exist atm 16:10:46 what embedded system is it out of curiosity 16:11:02 elliott, RPi, but it will be running quite a few other things than just the web server 16:11:24 pretty sure raspberry pi is more than capable of running something like nginx yeah 16:11:46 its probably in the repos and stuff since it just uses debian? 16:11:51 elliott, thing is, it will be handling torrents too (legal only of course), to an external usb disk. Pretty sure that will use up quite a few resources 16:12:09 at the very least in the form of file cache 16:12:15 legal only im sure 16:12:19 indeed 16:12:32 oh and openvpn, and irc bouncer. 16:12:32 anyway that doesn't sound like the kind of thing that would differ between httpds 16:13:18 hm? 512 MB RAM is not much when you are dealing with some multi-GB file downloads at the same time over torrent. That disk cache will be quite well used I suspect 16:13:29 i mean 16:13:30 but yeah I guess I'll start with ngnix and see how it works 16:13:39 it doesn't sound like what webserver you use would really impact how bad that is 16:14:04 well, it would possibly free up a few MB extra for other stuff. That was what I was considering 16:16:10 ooh nginx has spdy support? Nifty. 16:17:10 elliott, out of curiosity, what is your opinion on iptables, the various *bsd firewalls and so on? I heard a lot of people complaining about the complexity of iptables. 16:18:28 -!- KingOfKarlsruhe has joined. 16:18:56 i literally know nothing about firewalls 16:19:03 i have not done a single thing to solidity's 16:19:21 solidity's? 16:19:26 what's that 16:19:43 esolangs.org server 16:19:46 ah 16:20:19 usually I just set up ufw these days. But I don't think that will be enough on the rpi, given how I want to handle OpenVPN. 16:20:40 yeah, I just use ufw 16:20:46 it's just a front end to iptables 16:20:52 but a much neater one than iptables(8) itself 16:21:43 ais523, any clue how messy it would be to mix in additional rules that ufw can't express, for marking packages (to be used by ip rule later on to use different routing tables for different stuff) 16:21:56 Vorpal: probably messy enough that you shouldn't use ufw 16:21:57 -!- nooga_ has joined. 16:22:00 it's not designed for that situation 16:22:02 yeah I guess so 16:22:11 but using raw iptables is fairly annoying 16:22:23 s/packages/packets/ 16:24:21 -!- nooga has quit (Ping timeout: 248 seconds). 16:25:51 old question from Vorpal: write a quick one. Keep it minimal and don't write it in a language that uses a lot of memory 16:26:18 AnotherTest, write a quick web server on my own? Err, no thanks. 16:26:32 too much work, I have better stuff to do 16:26:39 really not that much work 16:26:47 if you don't care much about efficiency or features, web servers aren't hard to write 16:26:51 AnotherTest, I need https, since I will access it from the public internet 16:27:04 Vorpal; use a library that handles HTTPS 16:27:04 but the stock available ones will be much better than what you could quickly write on your own 16:27:07 like boost.asio 16:27:07 hm 16:27:13 boost? You are kidding me? 16:27:17 why would I want C++ 16:27:25 Because it doesn't use a lot of memory 16:27:30 hah 16:27:36 you said "lightweight", I thought "C++" 16:27:45 AnotherTest: you can make that statement about some special cases of C++ generally 16:27:46 boost does use quite a bit actually. 16:27:47 but not of Boost 16:28:18 The server I have here - using boost.asio uses... 16:28:20 (let me see) 16:28:29 we use it at work, and it sure eats quite a bit of memory based on the profiling results. 16:28:54 AnotherTest, asio is async io I presume? You can do that just fine in plain C 16:28:57 without any optimization (running debug mode even): 100kib 16:29:31 But I just started it, it should be more 16:29:38 the issue with boost is that due to all the templates, for every variant you end up using, you get another copy of the code. 16:30:03 so the binary size grows much quicker than it would have if it just used void* or whatever instead of templating 16:30:19 But the development time would rise for void* 16:30:22 (STL suffers from that too to some degree, but boost seems worse) 16:30:39 AnotherTest, not really. Compile time would be reduced 16:30:47 thus reducing useless time wasted on that 16:31:31 I never have real problems with compiling taking long 16:31:46 AnotherTest, I have had link times for the final binary of over a minute 16:31:52 if you just put the heavy stuff in a different compilation unit, there should be no problem 16:31:53 in debug configuration 16:32:03 oh link times 16:32:27 well I have link times of 1s or something, project is well over 10k lines of code using boost and templates 16:32:30 AnotherTest, well, we need to link statically since we are targeting embedded. 16:32:50 You could debug with dynamic? 16:33:09 AnotherTest, well, not really, it would break stuff. 16:33:22 can't talk about specifics there really 16:33:35 well then I can't really suggest a lot 16:33:48 anyway, I do disagree that you should use void* rather than templates 16:33:48 AnotherTest, anyway, the project I work on is over 2m loc, not including external libraries such as boost 16:34:11 Wouldn't void* reduce run-time efficiency due to casting anyway? 16:34:43 (note: not sure about that at all) 16:34:44 AnotherTest, a cast would be a no-op from assembly POV 16:34:54 unless you are actually converting the data (say, int to float) 16:35:04 Yes, true 16:35:07 casting a pointer to another pointer would definitely be a no-op 16:35:22 although maybe you could reduce 2 M loc to 1 M loc by using templates 16:35:54 if you have 2 m loc you have other problems 16:35:54 AnotherTest, btw, including shared_ptr brings in around 200 include files if you count recursively iirc 16:36:04 and also probably it is not worth the time to make it 1m loc 16:36:27 elliott: you should have done that before, of course 16:36:39 elliott, or you have a very complex system. It is actually fairly well structured into modules and such. It is just that there is so many modules. 16:37:36 Vorpal: yes, although I'd rather that than have to use raw pointers the whole time 16:37:41 although maybe you could reduce 2 M loc to 1 M loc by using templates <-- we do use a lot of templates, that is in part what is killing the compile time. 16:37:49 i don't think i know of any system remotely that large which i wouldn't consider overcomplicated for historical reasons or else preoccupied with dealing with problems it doesn't have to (like being in too low level a language) 16:38:03 I'm sure the chance on bugs and memory leaks is smaller when using stuff like shared_ptr 16:38:08 elliott, well since it is C++ it obviously is in a low level language 16:38:58 elliott, but we have real time requirements, which back when the system was initially created meant something like C or C++. The release binary size is just around 10MB iirc. 16:39:19 bbl, food is ready 16:39:20 Vorpal: using C++ doesn't mean you have to use it low-level as in constantly using naked pointers and void* 16:39:23 sounds like it doesn't have to be 2m loc 16:39:30 AnotherTest: it sounds like you have never used C 16:39:39 you can do data abstraction without using (void *) in C just fine 16:39:48 Yes you can 16:39:56 although you have other methods in C++ 16:39:56 the standard FILE type is abstract and you never need to use (void *) 16:39:59 you can even do oop 16:40:05 so stop talking about (void *) because it's a complete strawman 16:40:26 elliott: 1) he suggested using void* 2) no need to write C code in C++ 16:41:38 anyway Vorpal, if this is an embedded system, I'm not sure if you will find any lightweight webserver that can be easily embedded 16:41:58 (1) fine, i didn't read the entire thing. (2) what 16:42:22 also "elliott: you can even do oop", not true at all, whatever you say 16:42:31 it is, sorry 16:42:34 oop is very simple 16:42:41 it involves some noise in C 16:42:47 often it is worth it though 16:42:56 of course the noise gets bigger and bigger if you try and do it exactly like C++ 16:43:02 You cannot do true OOP without inheritance, encapsulation and polymorphism 16:43:05 but that's unreasonable and not what "OOP" means at all 16:43:14 haha if you think OOP requires inheritance... 16:43:17 hahahaha 16:43:20 of course you can do inheritance in C, I've done it!! 16:43:25 lol people who think they know what oop means 16:43:26 That's my definition of OOP. 16:43:28 but it sounds like you have no idea about what OOP means outside of C++_ 16:43:31 inherit, ants 16:43:36 so how about stop telling people who do know 16:44:03 elliott: like in C? a language that doesn't even claim to support the OO-paradigm 16:44:09 lololol 16:44:10 back 16:44:21 it is literally irrelevant whether a language "claims to support a paradigm" 16:44:24 ^ 16:44:29 what matters is whether you can do it or not and whether it brings benefits 16:44:34 sounds like it doesn't have to be 2m loc <-- probably. Especially if it wasn't C++ 16:44:37 you can code any paradigm in any language, really 16:44:37 sometimes, in C, an object-oriented approach does 16:44:46 sometimes it's too awkward to use a certain paradigm in a certain langauge 16:44:50 that's not true here 16:45:00 it's awkward in some ways but any C family language is pretty awkward at lots of things 16:45:15 elliott: It is not directly supported by the C language, so it's probably not a great idea to ignore that fact and do it anyway 16:45:17 Screw that, I'm gonna try to write a functional program in brainfuck 16:45:26 anyway Vorpal, if this is an embedded system, I'm not sure if you will find any lightweight webserver that can be easily embedded <-- hm? That was for a separate thing from work embedded. 16:45:29 AnotherTest: what 16:45:34 thats like 16:45:35 what 16:45:41 you clearly have no idea whether it's a good idea or not 16:45:44 because you've clearly never done it 16:46:00 and also if you really constrict your thinking to exactly what the language designers advertised the language as being then woow like what the fuck 16:46:00 Because if I want to write OO code, I use an OOP. 16:46:06 object oriented programming isn't some magic feature you have to support in the language 16:46:11 its a set of techniques 16:46:21 C predates the naming of these techniques as "OOP" so no shit it doesn't "claim to support them" 16:46:23 but they work just fine 16:46:24 Yes, but you generally want those techniques to be supported 16:46:33 if you really want an introduction see like http://www.yosefk.com/blog/oo-c-is-passable.html or whatever god I don't care 16:46:36 "an OOP"???? 16:46:41 ok seriously 16:46:48 when you have no idea what you're talking about 16:46:50 one of the main causes to the problems of C++ is that while it had some decent ideas, it decided to add them on top of C. Not such a good idea IMO 16:46:51 just stop arguing 16:46:54 elliott: why do you hate OOPs 16:46:57 its embarrassing 16:47:01 lots of people want one! 16:47:09 elliott: seriously, an OOP was referring to an OO programming language 16:48:12 elliott, do you hate other O*Ps? 16:48:18 but yeah, making typos is definitely something that can never and should never hppen 16:48:25 *happen 16:49:31 -!- Arc_Koen has joined. 16:50:10 elliott: Also, it's not like that blog you linked me to provides the universal truth, everyone can write whatever shit they want on the internet 16:50:18 yes 16:50:22 you're demonstrating that very well right now 16:51:05 heaven forbid i link you to the blog of someone fairly well-known who actually works on large C and embedded systems to help you educate yourself though 16:51:22 Well, who knows, maybe I am; but there is no way you can say that you are not 16:51:32 I haven't been looking at this discusison, has it gone downhill? 16:51:34 *discussion 16:51:44 he also wrote a criticism of C++ that you have maybe heard of http://yosefk.com/c++fqa/, not exactly the most objective thing ever but certainly it has several good points 16:51:49 ais523: it started downhill and dug underground 16:51:56 C++ works for me, I use C++. 16:52:03 C works for you, you use C. 16:52:06 I don't really care. 16:52:08 i actually don't like C btw 16:52:15 it's just you keep saying bullshit and passing it off as obvious truth 16:52:21 when it is blatantly false 16:52:24 so you should really stop doing that please 16:52:30 I like C for when you're trying to do C's job 16:52:36 it is quite rare that you have to do C's job, though 16:52:53 I am not convinced that C++ is optimal for anything 16:53:07 elliott: sure it has some good critics, but it also has things that are simply not true 16:53:12 yes, C++ has serious flaws 16:53:29 any tool has flaws, but that doesn't mean it's entirely bad 16:54:17 This thing: better than some other things, and hence good 16:54:57 have you actually read it? you didn't seem to have any idea who wrote what I linked and it has only been like two minutes since I linked the C++ FQA 16:55:06 which I disagree with on numerous accounts but you can hardly claim he does not know his way around C++ and C thoroughly 16:55:07 ais523, I pretty much agree with that. C++ does add some neat stuff, like virtual methods. Yeah, very neat. And namespaces. Quite useful for a large project. Maybe a few other things that I didn't think of. 16:55:27 actually, I think my opinion is: C++ is only optimal for compatibility with other C++; and C is still optimal for C-like things, has been for years, and it's a huge shame that it has no serious competitors 16:55:30 * ais523 is rooting for Rust 16:55:53 hm, what language is Rust? 16:56:01 it's the New Cool Thing 16:56:10 C++ is never optimal for anything 16:56:21 but it's good enough for everything 16:56:26 Vorpal: it's Mozilla trying to make a better language for systems programming 16:56:35 hm, interesting 16:56:39 it's mostly comparable to C in terms of features, but a lot safer 16:56:49 oh? 16:56:54 this sounds wonderful 16:57:01 like, unless you explicitly use unsafe pointers, there's no way to write a memory leak or use-after-free 16:57:08 ah 16:57:12 I hope rust manages to get out of the experimental-undocumented-language-without-libraries phase 16:57:19 well, at least, they have more documentation than most languages like that right now 16:57:24 (it gives you scoped, unique, and garbage-collected pointers, which will be useful in most cases) 16:57:26 elliott: so do I 16:57:26 ais523, how easy is it to interface with existing C code and such though? 16:57:36 Vorpal: it's a design goal to have an easy FFI for C 16:57:43 the unsafe pointers exist specifically for that, I think 16:57:59 ais523, okay... so what about when you are writing your GC in Rust? 16:58:15 you don't, the standard library has the GC 16:58:25 ais523, assume I'm using Rust to write a kernel for the moment 16:58:25 but doesn't use it unless you use GCed pointers 16:58:42 they're still a little unclear on what sort of GC it is, the language is still in quite early stages 16:59:05 Vorpal: you're not going to be able to get away without writing a runtime system for any even vaguely modern systems language, really 16:59:07 I would need some inline asm probably, and support for doing manual memory management (don't want to GC that DMA area now do I?) and so on. 16:59:09 systems language =/= kernel language 16:59:14 systems language = *systems language* 16:59:17 hm 16:59:29 elliott, so what good alternatives are there to C (with some asm) for kernels? 16:59:30 not to say a systems language is necessarily a bad fit for writing a kernel 16:59:34 but hey you need to write asm to boot a C kernel too 16:59:44 indeed, I said C with some asm 16:59:58 Vorpal: I don't think there are any 17:00:03 but I'm not saying Rust would be a bad cohice 17:00:11 just it'd require more asm/C/whatever boilerplate 17:00:16 elliott, anyway I could think of a way to skip asm for booting. Would require the hardware to setup a nice initial state though 17:00:26 people write more systems-language stuff than kernels though 17:00:41 far more high-performance network servers etc. in the world than kernels 17:00:41 true 17:01:12 Vorpal: oh i forgot 17:01:15 elliott, so what good alternatives are there to C (with some asm) for kernels? 17:01:18 @ 17:01:56 have any of you looked at the RPI boot sequence btw? It is weird: The GPU on the SoC loads code from a ROM that reads a file from the first partition of the sdcard, which sets up the RAM (previously only L2 cache was available), and loads the kernel. Then it starts the ARM core. 17:02:46 (well it is a bit more complex, iirc there are two boot loaders, where the second one can read ELF and such, but won't fit into L2) 17:02:58 pretty crazy design anyway 17:03:01 Vorpal: btw I actually did start to half-design a language suitable for kernel programming in my head once 17:03:05 it was pretty good 17:03:11 oh 17:03:14 unfortunately I'm not smart enough to figure out the type system or the memory management 17:03:24 hm 17:03:25 but you should totally use that if it ever starts existing 17:03:34 elliott, what is the issue with memory management there? 17:03:44 https://www.youtube.com/watch?v=_iSzgi2VhDw 17:03:49 well it was going to have a linear type system (like ais523's hardware language!!!) 17:03:52 (okay his is affine w/e w/e w/e) 17:04:15 you basically need to have a couple of types of memory management, don't you? Manual, and GC, possibly you want some refcounted as well for some stuff 17:04:16 and use that to give predictable resource management that wouldn't require a GC 17:04:27 you do need some manual stuff, for low level 17:04:36 i was also going to have explicit representation of closures as existential types 17:04:38 elliott: haha, I was going to correct you with "actually affine" :) 17:04:38 oh, interesting 17:04:48 which lets you separate the code-function-pointer part of a closure from the data it bundles with it 17:04:55 ais523, what is an affine type system? 17:05:03 sort of like you can do in C by defining a closure type with a function taking the closure data and the data to go with it 17:05:09 but safer/more automatic 17:05:18 Vorpal: a type system where you can only use the argument to a function at most once in the function's body 17:05:23 elliott, hm okay 17:05:30 if you want to use it more than that, you have to call a duplicating function explicitly to copy the argument 17:05:39 anyway it was closer to ML or Haskell or ATS (an interesting systems programming language) or whatever than C 17:05:41 ais523, err, why? 17:05:47 but the idea was to have it be comparable to C or C++ in terms of "runtime overhead" 17:05:48 I guess Underload's technically affine, you need to use : to copy data 17:06:03 with something sort of like C++'s "opt-in" abstraction penalties 17:06:11 Vorpal: it helps loads to have copying explicit when you're reasoning about things that might be awkward to copy 17:06:18 like, say, physical hardware circuits 17:06:18 ais523, so if I want to do square(int i), it would need return dup(i)*dup(i)? 17:06:26 or wait 17:06:28 but i was very adamant about keeping lambda syntax, higher-order functions, first-class modeling of effects etc. 17:06:32 ADTs, 17:06:41 it'd be defined as let square = \i.dup (*) 17:06:44 err 17:06:47 square = dup (*) 17:06:56 compile-time bounds checking... 17:07:00 ais523, that looks forthish 17:07:01 or square = \i.dup (\i1.\i2.i1*i2) i 17:07:18 :t join (*) 17:07:19 Num a => a -> a 17:07:23 actually in Verity the dups are inferred, not explicit 17:07:25 ais523: dup is join for the reader monad :) 17:07:28 ais523, anyway wouldn't dup already consume the argument? So now you had i', but since i was already used by dup? 17:07:37 Vorpal: dup gives you two copies of the argument 17:07:38 and consumes it 17:07:41 so you can use those two copies once 17:07:41 Vorpal: yeah, dup consumes the argument, but it gives you two copies back 17:07:42 ah okay 17:07:46 makes sense 17:07:56 anyway yeah you don't actually have to write code this way, the compiler can figure it out for you 17:07:57 it's also by far the hardest part of the standard library to implement 17:08:10 I think I'm a leader in the field of automatically inferring where to put the dups 17:08:16 my language would have an advantage over ais523 in terms of how lenient the thing it's targetting would be :) 17:08:35 -!- DHeadshot has quit (Read error: Connection reset by peer). 17:08:47 ais523, hm what were you targeting then? 17:08:52 elliott: yeah, for my applications, it has to be strict for a reason :) 17:08:53 verilog? 17:08:56 vhdl I think 17:08:58 ah 17:09:04 Vorpal: hardware; the intermediate hdl hardly matters 17:09:09 we're actually using a mix of VHDL and Verilog 17:09:23 * elliott has internalised the meanings of "affine" and "relevant" thanks to edwardk 17:09:36 ais523, I don't know verilog, but vhdl at least I'm pretty sure doesn't require you to duplicate signals all that much? 17:09:54 elliott, affine as in affine transformations? Or affine in the sense that we are using it now? 17:09:57 Vorpal: you're missing the point 17:10:05 you can't give two sets of inputs to a circuit simultaneously 17:10:09 and expect it to be able to parse them 17:10:23 hm, true 17:10:36 previous research attacked the "two" 17:10:46 we're currently working on the "simultaneously", hope to get that paper out in the next couple of weeks 17:10:52 -!- DHeadshot has joined. 17:10:57 Vorpal: affine as in the same sense that is used in linear logic 17:11:08 elliott, hm okay 17:11:11 but the meaning is closely related in "affine transformation", I think 17:11:36 linear: one; affine: zero or one; relevant: one or more 17:11:43 for languages: "uses of your argument" 17:11:57 ais523, couldn't you solve the issue of two sets of input by inlining the function into the parent function, thus creating separate copies of the circuitry? Or am I completely missing your point here? 17:12:00 this has come up in lens 17:12:12 there, it's "parts of a traversal" 17:12:30 a linear traversal has one part always, so it's a lens 17:12:36 ais523, like: both x and y calls foo, if x and y can run at the same time, you need separate copies of foo 17:12:39 an affine traversal has zero or one parts, so it's a lens that can fail, a partial lens 17:12:40 Vorpal: sure, but inlining everything tends to lead to exponential blowup 17:12:43 you have stated the problem quite neatly 17:12:48 a relevant traversal has one or more parts, so you know it's non-empty 17:12:52 stating the solution is not so trivial 17:12:59 hm true 17:13:14 ais523, but if those two foo are actually used at the same time, don't you always end up needing separate copies? 17:13:17 yes 17:13:25 but they aren't always actually used at the same time 17:13:45 so you are trying to tackle the problem of detecting if they are used at the same time or not? 17:14:19 elliott, what do you mean with lens here? Not the optical kind I presume? 17:14:56 The Haskell kind, presumably 17:15:06 Vorpal: http://lens.github.com/, http://hackage.haskell.org/package/lens 17:16:23 * Vorpal tries to find somewhere on those links that describes what a lens actually *is*. 17:16:48 Vorpal: no, just of duplicating the bits that need to be duplicated 17:17:03 Vorpal: it's a store comonad coalgebra! 17:17:11 quick, \x.(x||x);((x;x)||(x;x)), how many copies of x do you need and which go where? 17:17:14 Vorpal: you can watch edwardk's two-hour video 17:17:14 Vorpal, first class accessors 17:17:25 ais523, ouch 17:17:54 Vorpal: doesn't look so trivial any more when you give examples like that 17:18:06 Taneb, hm, thanks. That makes some vague sense. I really only used the basics of haskell. I have very little knowledge of all the libraries that exist. 17:18:24 Vorpal, then they made them ridiculous 17:18:34 heh 17:18:38 Vorpal: basically haskell's record system sucks 17:18:48 you can imagine defining the idea of a "first-class field" 17:18:58 that sounds neat 17:18:59 data Field whole part = (whole -> part, whole -> part -> whole) 17:19:01 elliott: "No, because C++ classes don't support aggregate initialization. "(from your link); actually that's not true. Initialization lists do just this 17:19:02 > preview _left (Left 10) 17:19:04 Just 10 17:19:07 *initializer 17:19:11 elliott, but the syntax for it looks annoying indeed 17:19:11 > preview _left (Right 10) 17:19:12 Nothing 17:19:12 firstTupleElement = (\(a,b) -> a, \(a,b) a' -> (a',b)) 17:19:20 lens is basically this 17:19:23 but generalised a lot 17:19:25 ah 17:19:28 and with a better representation and lots of nice operators and stuff 17:19:29 makes sense 17:19:37 and it turns out lenslikes have wide applications beyond just field accessors 17:21:02 > [Left 1, Right 'a', Left 6] & traverse . _left *~ 2 17:21:04 [Left 2,Right 'a',Left 12] 17:21:38 > [Left 1, Right 'a', Left 6] ^.. left 17:21:39 Couldn't match expected type `[Data.Either.Either 17:21:40 ... 17:21:47 > [Left 1, Right 'a', Left 6] ^.. _left 17:21:49 Couldn't match expected type `[Data.Either.Either 17:21:49 ... 17:21:50 > [Left 1, Right 'a', Left 6] ^.. traverse . _left 17:21:52 [1,6] 17:21:55 Blarg 17:22:04 elliott is better at lens than I am 17:22:15 To be fair, elliott is better at most things than I am 17:22:22 ?ty traverse . _left 17:22:23 (Functor (k (a -> f b)), Applicative f, Traversable t, Prismatic k) => k (a -> f b) (t (Either a c) -> f (t (Either b c))) 17:22:30 Except maybe genealogy and socialising and cosplay? 17:22:33 Deewiant: it has a nicer type in 3.8 :p 17:22:46 really the issue for a "causal" haskell user, is that there is SO MUCH STUFF. 17:22:56 elliott: Before Prismatic? 17:23:04 Or what 17:23:05 Deewiant: 3.8, *after* Prismatic 17:23:07 well, after new Prismtaic 17:23:11 *Prismatic 17:23:13 we vastly simplified it 17:23:18 Ah, okay 17:23:19 traverse._left 17:23:19 :: (Control.Applicative.Applicative f, Traversable t) => 17:23:19 (a -> f b) -> t (Either a c) -> f (t (Either b c)) 17:23:25 now it just degrades to a regular old traversal 17:23:36 Dammit, I was halfway through typing that out 17:23:43 traverse._left :: Traversable t => Traversal (t (Either a c)) (t (Either b c)) a b 17:24:03 (_left itself looks like (Applicative f, Prismatic p) => p a (f b) -> p (Either a c) (f (Either b c))) 17:24:18 we moved the overloading inwards 17:26:16 elliott: I'm not going to continue to read this "C++FQA", because the critics in their apply to both C and C++, and because many of things in there are exaggerated, or not entirely true. It's really just annoying to read and doesn't provide anything I have not heard before. I really don't see why someone would waste his time doing that. 17:26:26 *in there 17:26:33 i literally don't care one bit whether you read it or not 17:26:45 don't send the link then 17:28:31 okay seriously... shut up 17:28:36 this is completely ridiculous 17:28:44 hi 17:29:30 elliott: no need to be an arrogant ass that doesn't care about anyone or something like that 17:30:31 "NEXT THURSDAY: Trent infiltrates the Swedish virtual pedicab-racing scene to take down a crew of restaurant terrorists" 17:33:43 kmc: "job description: restaurant terrorist" 17:34:29 job description: virtual pedicab-racer 18:03:38 -!- atrapado has joined. 18:05:47 heh, this was nice :D http://www.youtube.com/watch?v=3RBSkq-_St8 18:14:36 -!- fungot has joined. 18:25:53 kmc, what is the context of that? Is there any? 18:54:46 -!- TeruFSX has quit (Ping timeout: 252 seconds). 18:55:30 -!- TeruFSX has joined. 19:00:30 -!- Bike has joined. 19:01:46 it's from NTSF:SD:SUV:: 19:07:30 -!- Bike has quit (Ping timeout: 255 seconds). 19:10:13 FUCK:THESE:SHORTCUTS:: 19:10:33 thats the joke hagb4rd 19:10:41 aw 19:10:47 muahrhr 19:12:05 -!- Bike has joined. 19:14:57 -!- ais523 has quit. 19:22:10 -!- KingOfKarlsruhe has quit (Quit: ChatZilla 0.9.89 [Firefox 17.0.1/20121128204232]). 19:24:28 -!- sebbu has quit (Ping timeout: 252 seconds). 19:28:51 `clear 19:29:02 hagb4rd, that makes very little sense 19:29:14 now.. that was a joke 19:30:17 @tell ais523 hard copy grammar book acquired. proceeding to learn English again 19:30:17 Consider it noted. 19:30:42 let's just start over again 19:30:45 -!- hagb4rd has left. 19:30:50 -!- hagb4rd has joined. 19:34:02 -!- Taneb has quit (Remote host closed the connection). 19:34:51 -!- sebbu has joined. 19:34:51 -!- sebbu has quit (Changing host). 19:34:52 -!- sebbu has joined. 19:35:14 -!- impomatic has quit (Quit: http://ukcaves.com). 19:35:19 @squeak gregor have you managed to fix the service interface already? 19:35:19 Unknown command, try @list 19:35:56 and where is hackego? 19:39:24 -!- HackEgo has joined. 19:44:49 -!- oerjan has joined. 19:45:44 -!- sebbu2 has joined. 19:46:53 -!- sebbu has quit (Ping timeout: 255 seconds). 19:47:00 -!- sebbu2 has changed nick to sebbu. 19:49:17 "The biggest problem in communication is assuming it has taken place" :-D 19:49:48 the second biggest is people not being around when you want to comment on them. 19:49:59 hth. 19:50:03 we shall quote this 19:50:31 i shall assume GreyKnight will read this. 19:50:36 but i'm afraid of this empty space thing i did not understand 19:51:34 -!- Nisstyre has joined. 19:51:49 space, so vast and incomprehensible. 19:52:05 absolutely :> 19:53:38 two spaces between quoted lines. only one space on each side of [...] ellipses. no space between nicks and the surrounding <>'s. 19:55:22 this does not apply recursively within the quoted lines themselves, they should be literal as far as possible. 19:55:47 (you may use [...] to elide things there too.) 19:56:15 `quote 19:56:20 288) I think she either likes me, is neutral towards me, or dislikes me 19:56:41 `quote < 19:56:43 1) EgoBot just opened a chat session with me to say "bork bork bork" \ 2) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 3) that's where I got it rocket launch facility gift shop \ 4) GKennethR: he sh 19:57:02 alright 19:57:13 those are all wrong of course 19:57:23 since they are older than the quoting standard 19:57:32 well, 2 and 3. 19:57:47 `run quote " <" 19:57:49 1) EgoBot just opened a chat session with me to say "bork bork bork" \ 2) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 3) that's where I got it rocket launch facility gift shop \ 4) GKennethR: he sh 19:57:56 `run quote " [<]" 19:57:58 1) EgoBot just opened a chat session with me to say "bork bork bork" \ 2) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 3) that's where I got it rocket launch facility gift shop \ 4) GKennethR: he sh 19:58:17 why the _heck_ does that catch 1, i'm trying to exclude it 19:58:24 `run quote "[ ][<]" 19:58:25 1) EgoBot just opened a chat session with me to say "bork bork bork" \ 2) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 3) that's where I got it rocket launch facility gift shop \ 4) GKennethR: he sh 19:58:31 oh wait 19:58:42 the grepping happens after the line numbers are added, of course 19:59:06 `run quote "[^)] <" 19:59:07 2) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 3) that's where I got it rocket launch facility gift shop \ 5) His body should be given to science. He's alive :P Even so. \ 6) `run quote "[^)] <" | tail 19:59:25 871) < zzo38> What is portable way of load/save floating points in files, using a C code? < kmc> #ifndef __STDC_IEC_559__ #error Here's a nickel, kid. Buy a real computer. #endif \ 874) Conext coyou'll cotell come cothat coyou cocan't coprefix coeverything cowith co"co". pikhq: coof urse conot! \ 878) The winter solstic 19:59:29 It's all so worng. 19:59:32 AAAAAAAAAAAA 19:59:35 Look at that 871. 19:59:47 the horror, the horror! 19:59:54 i was trying to look at the last ones since they are generally better D: 20:00:28 `quote 900 20:00:30 900) This might be the lack of sleep talking, but coproduct injections are pretty funny 20:02:39 `run sed -i '871s/\( *\)< /\1\1 No output. 20:02:47 `quote 871 20:02:48 871) What is portable way of load/save floating points in files, using a C code? #ifndef __STDC_IEC_559__ #error Here's a nickel, kid. Buy a real computer. #endif 20:05:24 sadly the no-recursion exemption means you cannot make a substitution that fixes the whole database automatically 20:05:51 -!- zzo38 has joined. 20:08:04 -!- AnotherTest has quit (Quit: Leaving.). 20:19:12 -!- impomatic has joined. 20:20:26 -!- Phantom_Hoover has joined. 20:23:50 `url quotes 20:23:51 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes 20:24:53 `quote 1 20:24:55 1) EgoBot just opened a chat session with me to say "bork bork bork" 20:24:58 oh christ i've been 18 for less than a day and already i'm turning into a Wine Person 20:25:19 So, the quotes are still renumbered every time one is deleted, right? 20:25:37 yes 20:25:47 imo delete 1?? 20:25:58 1 isn't very good. 20:26:44 `quote 11 20:26:46 11) "You're at that stage in your life where you're going to want to do some things in private." --my mom 20:26:54 }:| 20:27:15 Meeh. 20:27:17 `delquote 11 20:27:21 ​*poof* "You're at that stage in your life where you're going to want to do some things in private." --my mom 20:27:29 um... 20:27:50 `help 20:27:51 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/ 20:27:58 elliott: i declare edit war! 20:28:03 tswett.................... 20:28:16 shachaf: what??? 20:28:22 `run echo $PWD 20:28:23 ​/hackenv 20:28:44 i would like to point out that i am currently editing the entire quote database by hand, and if you start an edit war now i'm going to completely ignore it 20:29:10 why are you doing tha 20:29:11 t 20:29:20 `quoerjan 20:29:22 6) what, you mean that wasn't your real name? Gosh, I guess it is. I never realized that. \ 15) 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! \ 18) In an alternate universe, ehird 20:29:29 Hey, that worked. 20:29:57 `cat bin/quoerjan 20:29:59 quote oerjan 20:30:04 Phantom_Hoover: because it's messed up 20:30:12 `allquotes 20:30:13 1) EgoBot just opened a chat session with me to say "bork bork bork" \ 2) Hmmm... My fingers and tongue seem to be as quick as ever, but my lips have definitely weakened... More practice is in order. \ 3) that's where I got it rocket launch facility gift shop \ 4) GKennethR: he sh 20:30:26 `run echo 'allquotes | grep oerjan | shuf' > bin/quoerjan 20:30:28 and because he's a good boy 20:30:29 No output. 20:30:30 `quoerjan 20:30:31 230) oerjan: Tell us what (a(b{c}d)*2e)%2 expands to <-- ababcdbcdedbabcdbcdede, i think oerjan: What - the - fuck \ 371) i never meta turing. he died before i was born. \ 15) oerjan: are you a man, if there weren't evil in this kingdom to you! you shall find bekkler! executing program. please let me g 20:31:00 `quoerjan 20:31:02 376) as i was filled with zzo38 mystery at the moment i saw quintopia: I am at Canada. \ 657) if only alonzo church would have anticipated the computer terminal... itidus20: What do you think it would be if he did so? i just plucked his name at random [...] if only the marquis de sade would 20:31:24 `quoerjan 20:31:26 684) oerjan: Hey, what's your country code for telephonistic dialling from the outside world? fizzie: +47 oerjan: Ooh, you're, like, right next to Sweden there. I... guess you are geographically, too. \ 145) it's not obvious from quantum mechanics that you can destroy a universe arbitrarily. \ 375) < 20:31:28 Good quotes. 20:32:14 please don't just delete quotes that don't miss context 20:32:43 `run hg diff -c 895 | patch -R 20:32:48 patching file quotes 20:35:56 -!- carado has quit (Ping timeout: 246 seconds). 20:36:13 @tell ais523 Can you point me to use cases of ?{} and %%s in actual code? 20:36:13 Consider it noted. 20:36:13 ababc dbc de, dbabc dbc de, de 20:38:09 "According to Nick Herbert, a PhD from Stanford University, if quantum physics is a realistic explanation for the universe, then telepathy is possible." Is this like saying how Einsteinian relativity can permit time travel because some of its solutions permit it? 20:38:09 zzo38: You have 2 new messages. '/msg lambdabot @messages' to read them. 20:38:11 ?messages 20:38:12 oerjan said 23h 42m 38s ago: http://en.wikipedia.org/wiki/Principal_homogeneous_space seems to include your concept if you use the integers as the group 20:38:12 oklopol said 23h 41m 48s ago: crazy talk 20:43:57 `help 20: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/ 20:44:21 zzo38: i guess the known laws of quantum physics just don't exclude the possibility of 'telepathy'.. but they do not proove them in any way 20:44:38 *ti 20:44:42 aarg 20:45:18 however it's difficult enough to communicate using words 20:45:51 `fetch http://oerjan.nvg.org/quotes 20:45:58 2013-01-06 20:45:57 URL:http://oerjan.nvg.org/quotes [108182/108182] -> "quotes.1" [1] 20:46:14 `run mv quotes.1 quotes # Fix general formatting 20:46:17 No output. 20:46:57 `quote 1 20:46:58 1) I used computational linguistics to kill her. 20:48:42 `url quotes 20:48:44 http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes 20:51:06 hagb4rd: Well, yes, I know, they do not prove them in any way. 20:52:12 But do you know how some people have figured out how relativity to permit time travel possibly? 20:52:24 I read that in another book. 20:53:51 well there was a young lady named bright. whose was much faster than light. she departed one day, in a relative way. and returned on the previous night ;) 20:54:01 actually: no 20:54:09 time travel poetry! 20:54:33 *whose speed 20:54:39 oh you were actually talking about time travel 20:55:01 hagb4rd: how can a speed be faster than light 20:55:06 -!- carado has joined. 20:55:32 it's like saying icecream is hungrier than me! 20:55:38 well we can slow down light to the speed of a bike.. but i guess that wouldn't help 20:56:02 `fetch http://oerjan.nvg.org/quotes 20:56:06 2013-01-06 20:56:04 URL:http://oerjan.nvg.org/quotes [108153/108153] -> "quotes.1" [1] 20:56:28 `run mv quotes.1 quotes # Some more formatting errors 20:56:31 No output. 20:56:45 hmmm well if I remember well the first time we encounter the team rocket in pokemon version yellow they said "Time rocket... fleeing as fast as light!" or something and the last time you beat them they say "Team rocket... fleeing as fast as a big bike!" or something 20:58:16 well time travel is not very much my discipline.. you should talk to zzo38 who's reading a book about it now 20:59:53 eh what 21:01:15 I didn't say I am reading a book about it now. I said I read books in the past, some of which include some stuff about such things. 21:01:55 yes.. exactly. sorry zzo38. 21:03:05 a _true_ expert would have read them in the future. 21:03:17 lol 21:03:23 `run gccrun 'printf("hello world\n");' 21:03:24 bash: gccrun: command not found 21:03:27 sucks 21:04:10 !c printf("hello world\n"); 21:04:15 hello world 21:04:17 kmc: hth 21:06:00 -!- lifthrasiir has quit (Ping timeout: 265 seconds). 21:08:11 -!- epicmonkey has quit (Ping timeout: 272 seconds). 21:09:18 But what about the unification! 21:09:24 `interp c printf("hello world\n"); 21:09:34 protip: that won't work 21:09:42 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 21:09:48 That's just silly. 21:11:16 -!- md_5 has joined. 21:11:30 ooh shiny 21:11:51 anyone know of any Glass interpreters other than the reference C one? 21:12:27 md_5: if you're just looking for esoteric oop languages, try java 21:12:38 I have an unpublished half-finished one. (Or maybe it was a compiler.) ((That's not very helpful.)) 21:13:18 thanks SirCmpwn , although I was kindof going for esolang-ception 21:13:26 where the glass interpreter was java :P 21:13:35 -!- Phantom_Hoover has quit (Ping timeout: 240 seconds). 21:13:56 there are brainfuck interpreters in brainfuck, right? 21:14:02 maybe I should include one in my IRC bot 21:14:31 -!- lifthrasiir has joined. 21:15:41 -!- Phantom_Hoover has joined. 21:15:47 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 21:15:48 There are, yes; there's six listed in http://esolangs.org/wiki/brainfuck#Self-interpreters 21:15:54 -!- Phantom__Hoover has joined. 21:16:20 make it an optimizing compiler. gotta have speed 21:16:29 That's probably awib, then? 21:16:48 (awib is also written in brainfuck.) 21:17:13 http://www.hevanet.com/cristofd/dbfi.b 21:17:16 Admittedly it only targets like x83-32-Linux, C, Ruby, Go and Tcl, so it's pretty limited. 21:17:18 thats probably the smallest one 21:18:09 awib cheats 21:18:15 they don't use straight-up brainfuck 21:19:48 What does that mean? 21:20:06 it means you can put their source into a standard brainfuck interpreter and it won't work 21:20:07 it's way down crooked 21:20:22 it means they have brainforeplay 21:20:50 that would be an outstanding name for a brainfuck preprocessor 21:20:52 SirCmpwn: Pretty sure it does? 21:20:58 are you sure you were using a compliant interpreter? 21:20:59 elliott: go read their code 21:21:05 elliott: I didn't even run it 21:21:19 I was under the impression that it does run just fine under a (suitable) bf interpreter. 21:21:27 SirCmpwn: I see nothing amiss skimming over http://awib.googlecode.com/svn/builds/awib-0.3.b 21:21:41 (well, except the gratuitous ASCII art) 21:22:00 that's after some processing 21:22:11 https://code.google.com/p/awib/source/browse/trunk/awib-skeleton.b 21:22:40 Just looks like #includes to me. 21:22:41 Plus comments. 21:22:56 * elliott doesn't think that really counts as cheating. 21:23:06 % where b = (bytecode OK ? 1 : 0) and Mm = maximum loop depth 21:23:15 I'm pretty sure that is a comment. 21:23:15 this looks like considerably more than just a comment of some sort 21:23:20 % 20(0) T *0 b (code) 0 M m 21:23:20 % where b = (bytecode OK ? 1 : 0) and Mm = maximum loop depth 21:23:25 It's showing what the tape is at that point. 21:23:30 And what b and Mm represent. 21:23:35 hmm 21:23:46 https://code.google.com/p/awib/source/browse/trunk/util/bfpp.py 21:24:10 alright, not entirely cheating, then 21:32:14 comments are _so_ cheating 21:32:52 What was the bot that used one of the EsoInterpreters to do something? 21:33:28 thutubot for underload? 21:33:43 That sounds very possible. 21:34:47 With uload.b, I guess. 21:35:15 I think I also tried it out with fungot, and it could run (x)S but nothing much more complicated than that, due to the resource limits. 21:35:16 fizzie: a hard drive 21:35:51 ^show 21:35:52 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 21:35:54 Would you like to play Arimaa with flat pieces with roman numbers I to VI on it? 21:35:56 ^show ul 21:35:57 >,[>,]<[<]>[<+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[>>>>[>] 21:36:00 I suppose it's that. 21:37:14 -!- lifthrasiir has quit (Read error: Operation timed out). 21:37:26 Also, it could be played on intersections, with the trap squares marked with stars. 21:38:45 even when the expected behavior is to fail horribly, my bot fails to fail 21:39:24 let'm join 21:39:26 trying to direct program flow into the PING handler, which currently doesn't bother cleaning up, which in theory should just break everything when it gets a PING 21:39:39 but nope, it just merrily continues executing like nothing went wrong 21:39:52 I'd let him join, but the server won't ping me if it makes a peep 21:39:57 -!- lifthrasiir has joined. 21:41:05 so anyway I was looking for a language I could use to script Java. It must have variables and functions with parameters. 21:41:25 try befunge 21:41:29 it sort of has those things 21:41:56 -!- Mr_Darcy has joined. 21:42:15 md_5: APL if you hate yourself 21:42:31 md_5: APL pretends not to be esoteric, though 21:42:46 What do you want to script Java, though? What are you trying to make? 21:42:57 a joke 21:43:22 -!- zzo38 has quit (Remote host closed the connection). 21:43:22 hello 21:43:40 poor zzo38.. it's not his day 21:44:00 hm, i wonder where one would get an APL compiler nowadays 21:44:10 -!- asiekierka has quit (Excess Flood). 21:44:17 -!- asiekierka has joined. 21:44:43 ⎕←{⍵/⍨~{⍵∨≠\⍵}⍵∊'<>'}txt 21:44:46 actual APL code 21:44:50 and they say it isn't a joke 21:45:21 ^bf <+++++++++++++++++++++++++++++++++++++++++. 21:45:21 ) 21:46:32 befunge doesnt really have functions 21:47:06 md_5: the fact that you want functions means you're in the wrong channel 21:47:20 lots of languages have them 21:47:23 just not with paramaters 21:47:40 Just go back to basics. Straight-up lambda calculus. 21:47:45 SirCmpwn: NOT TRUE. we'll let him use unlambda just fine. 21:47:45 md_5: why not use IRP 21:47:56 Or lack of lambda calculus, that works too. 21:48:43 -!- impomatic has left. 21:48:43 -!- impomatic has quit (Quit: impomatic). 22:05:20 -!- atrapado has quit (Quit: Abandonando). 22:16:02 well fuck 22:16:15 of course the error I've spent 15 minutes looking for comes from a comma in a comment 22:16:32 how commadic 22:17:17 could have used a preprocessor!! 22:17:30 then I wouldn't be able to claim it runs on vanilla brainfuck 22:18:10 the brainfuck community would be simply apalled with you. 22:18:51 -!- Phantom__Hoover has quit (Read error: Operation timed out). 22:18:51 there's a brainfuck community? 22:19:08 that's the joke. 22:19:58 ^bf <+++++++++++++++++++++++++++++++++++++++++. <-- shouldn't that terminate on the Vorpal: why would it? 22:20:19 since it moves off the edge of the tape 22:20:24 -!- Mr_Darcy has left. 22:20:32 ^bf +++++++++++++++++++++++++++++++++++++++++. 22:20:32 ) 22:20:40 most interpreters (including the reference one) underflow the pointer 22:20:58 SirCmpwn, hm, how would that work on an infinite tape though 22:21:13 go to -1? 22:21:29 with an infinite tape, it'd continue to negative infinity as well 22:21:30 well, infinite in one direction: [0, +inf) 22:21:30 Vorpal: that was what i was checking, but fungot apparently is bidirectional 22:21:31 oerjan: x&4 extracts one bit: the fnord. told it to join the jix club now with my own solution. ( of course not. i dare you to 22:21:46 oerjan, hm 22:21:55 x&4, the fnord bit. 22:22:11 simpler to implement, naturally, and befunge can give it an entire line to itself 22:22:40 elliott, amusing that x&4 wasn't turned into fnord, it was apparently mentioned more than once... 22:23:42 night → 22:25:27 oerjan: It's a loopy tape. 22:25:30 -!- Vorpal has quit (Read error: Operation timed out). 22:25:58 Wraps around on both edges, has I think a thousand cells or something like that. 22:26:07 -!- bfbot has joined. 22:26:19 (That's not an unheard-of implementation choice either.) 22:26:37 bfbot, make me a sandwich, please. 22:27:05 huh, channel messages are broke 22:27:10 doesn't break execution, though 22:27:45 oerjan: (It's not a whole line because of memory usage concerns.) 22:28:18 okay 22:28:48 -!- bfbot has quit (Read error: Connection reset by peer). 22:28:49 ...wouldn't bf command limits take care of that automatically anyhow :P 22:28:59 [ ,. ---------- ] 22:29:08 goal: read until \n, output what's read 22:29:13 doesn't work :( 22:29:50 oerjan: For brainfuck, probably, since you can't waste that much memory in one cycle. 22:30:04 SirCmpwn: is the cell 0 before you start the loop? :P 22:30:11 ah-ha 22:30:26 that might be it 22:31:25 ^bf -[>+],[.,]!wrapped around and terminated 22:31:25 wrapped around and terminated 22:32:17 I realized that, with very minor modification, my bot can work on two bytes of memory 22:32:47 how do you store "PRIVMSG" in two bytes? 22:32:50 -!- TeruFSX has quit (Ping timeout: 246 seconds). 22:33:04 you don't 22:33:20 read a byte, "is it P", continue 22:33:25 read a byte, "is it R", continue 22:33:27 etc 22:33:45 oerjan: works, thanks! http://i.imgur.com/tcmVu.png 22:34:00 -!- Phantom__Hoover has joined. 22:34:22 I'd like to know where my <> mismatch is, though 22:35:15 hm matching <'s and >'s may not be a common editor feature :P 22:35:35 I'm talking about the memory pointer being in the 65000 range 22:35:41 it underflowed at some point 22:37:19 well are you using "balanced" [] loops, such that every loop is always supposed to be exited in the same cell as it's entered? if so checking it is essentially a bracket matching problem. 22:37:34 yes, more or less 22:37:44 my "if" statements work differently 22:37:49 (there are bf idioms which don't use that, but if you are only using 2 cells you're unlikely to be using them) 22:37:53 ah. 22:38:10 my two cells are general working and stdin 22:38:19 -!- monqy has joined. 22:38:31 read a value -> subtract expected -> set working to 1 22:38:42 then, if zero, the "not expected" handler is run and sets working to zero 22:38:54 then the "expected" handler is skipped because it uses working as the determining factor 22:39:36 don't you mean "if nonzero" 22:40:02 maybe 22:40:49 ok but none of that requires non-balanced loops. 22:52:44 ^bf ,[>>+<< [->>+<<[<+>->>-<<[->+<]]>[-<+>]<] <] >>>[->]<+<+<+<+<+<+<+<+[ ++++++++++++++++++++++++++++++++++++++++++++++ .>]!a 22:52:45 /00////0 22:52:55 oops 22:53:19 ^bf ,[>>+<< [->>+<<[<+>->>-<<[->+<]]>[-<+>]<] <] >>>[->]<+<+<+<+<+<+<+<+[ +++++++++++++++++++++++++++++++++++++++++++++++ .>]!a 22:53:19 01100001 22:53:23 oerjan is the expert in low-cell BF 22:53:45 what is the goal here? 22:54:02 to output that number? 22:54:16 that's supposed to print in binary 22:54:21 oh, I see 22:54:50 ^bf ,[>>+<< [->>+<<[<+>->>-<<[->+<]]>[-<+>]<] <] >>>[->]<+<+<+<+<+<+<+<+[ +++++++++++++++++++++++++++++++++++++++++++++++ .>]!! 22:54:51 00100001 22:55:01 looks like it works 22:55:04 ^bf ,[>>+<< [->>+<<[<+>->>-<<[->+<]]>[-<+>]<] <] >>>[->]<+<+<+<+<+<+<+<+[ +++++++++++++++++++++++++++++++++++++++++++++++ .>]! 22:55:04 00000000 22:55:05 yep 22:55:53 it's tweaked from my collatz function idea 22:57:29 -!- zzo38 has joined. 22:58:42 hi zzo38 23:03:40 Hello. Any question? 23:03:58 just saying hi 23:08:17 fixed the mismatch :) 23:08:24 I take it back :| 23:08:30 -!- Phantom__Hoover has quit (Ping timeout: 272 seconds). 23:08:52 I fixed *a* mismatch 23:09:38 -!- Phantom__Hoover has joined. 23:13:00 there, found the other 23:28:06 no longer can use two cells 23:28:14 I wrote the channel name into a buffer on channel messages 23:29:45 -!- Frooxius has joined. 23:45:17 -!- carado has quit (Ping timeout: 246 seconds). 23:48:52 Well, I'm going to take the intersection of three ordered infinite lists 23:49:04 And I'm wondering why according to google nobody else has done it 23:51:15 At least not in haskell 23:52:43 you can just write the intersection of two... 23:53:06 then since the intersection of two ordered lists is ordered, you can take the intersection of that list and another list 23:53:52 Yeah, I figured that 23:54:10 elliott: ok but what about the intersection of FOUR infinite lists 23:54:25 I wasn't looking for three lists specifically, just lists 23:56:30 ^bf >[-]<[-]++++++++++[>++++++++<-]>. 23:56:30 P 23:56:39 I figure you can always just get rid of the smaller element 23:56:41 ^bf >[-]<[-]++++++++++[>++++++++<-]>++. 23:56:41 R 23:56:51 And if the elements are equal, you put that in the intersection list 23:57:22 Of course that would only work for lists growing upwards 23:57:33 You can tell whether it grows upwards or downwards easily. 23:57:47 Yeah, but I'm too lazy to implement that =P 23:57:52 isn't that intrinsic to the order... 23:59:33 FreeFull: ...it's as simple as direction (a:b:_) = compare b a