00:00:54 Nobody? 00:01:19 crippled by not being written in C? 00:01:22 I don't get that at all 00:02:35 ais523: wasn't talking about that, but yeah 00:02:36 ais523: it 00:02:39 's clearly one of the 00:02:48 "the only portable language is C and all others are unnatural and crappy" retards 00:03:06 or perhaps the "but, if I want to compile from source I have to INSTALL A COMPILER!" retards 00:03:18 ais523: by "Nobody?" I meant: 00:03:19 [23:24] ehird: So, trial round 1 of Haskell Joust. Give me an expression of type (X -> Bool) where `newtype X = X (X -> Bool)`. The idea is that (f (X f)) is True, while (f anythingElse) is False; you can, of course, try to detect your opponent's interrogation techniques and fool them. 00:03:20 [23:25] ehird: Of course, you will be given (f (X otherOpponent)) for every other opponent and also (f (X f)). 00:03:48 what's f? 00:03:57 what we give you? 00:03:58 The expression you give me. 00:04:01 and what's X? 00:04:03 Sorry for not making that clear. 00:04:06 ais523: Read the line again. 00:04:20 newtype X = X (X -> Bool) 00:04:22 hmm... a new monad? 00:04:26 No... a new type. 00:04:40 I don't know enough haskell syntax to get what that newtype line is doing 00:04:40 If you don't understand it it's probably unwise to enter. 00:04:45 and yes, agreed 00:04:55 ais523: it defines a new type with X, with one constructor, X 00:05:02 taking a single argument of type (X -> Bool) 00:05:09 ais523: 'newtype' is just 'data', but can only have one constructor 00:05:15 It has slightly different semantics and is optimised away 00:05:27 ais523: You can pattern-match on f like: 00:05:36 (\(X f) -> f (X f)) 00:06:00 (of course, the above code will loop forever when passed itself, and likely loop forever when passed to other programs) 00:06:09 *pattern-match on X 00:08:15 f = const True -- I'm in the lead on this one 00:10:04 Deewiant: That's not an expression. 00:10:18 Deewiant: But as soon as someone submits another warrior you won't be. 00:10:32 You'll lose a point for (f (X other)) being True. 00:20:00 \g -> unsafePerformIO (openFile "foo" Write >>= hPutStr "foo" >>= closeFile) `seq` g `seq` unsafePerformIO (openFile "foo" Read >>= hGetContents >>= return . (== "foo")) 00:20:45 Denied :P 00:21:08 pikhq: not haskell code because unsafePerformIO is not a meaningful Haskell function 00:21:09 so there 00:21:13 :P 00:21:33 Anyone used the sphinx speech recog engine? 01:11:55 Dear Kinesis corporation: Make a split-style ergonomic Dvorak keyboard with a built-in TrackPoint-style cursor. It would be awesome. 01:12:45 Oh, and use really good keycaps. 01:13:09 Mechanical ones. No clicky sound. Springing or not, you decide. :P 01:13:24 i like clicky sounds 01:13:37 oklopol: they all click, but 01:13:38 maybe they could have them optionally... but still analog ofc 01:13:40 ever used a model M? 01:13:48 no 01:13:48 it's way louder than a typewriter 01:13:58 makes it unusable for me, I can't think over it 01:14:01 oh 01:14:15 anyway the model M uses mechanical tactile clicking switches 01:14:23 the best ones are mechanical non-clicking, tactile or not 01:14:33 I think I prefer non-tactile, but haven't alas used such a kb in person 01:14:43 but my model m is a bit too springy for me 01:23:42 -!- puzzlet has quit (Read error: 60 (Operation timed out)). 01:23:46 -!- puzzlet has joined. 01:24:02 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 01:28:46 -!- puzzlet has joined. 01:46:01 But the current round of Kinesis contour keyboards really discourage you from using the mouse 01:46:16 They're impossible to use one-handed, and you have to rest your hands in a specific way, so you'll try and avoid the rodent whenever possible 01:46:25 so an integrated nipple mouse would make them a lot better 01:51:49 -!- Sgeo has joined. 01:52:58 -!- puzzlet has quit (Remote closed the connection). 01:53:02 -!- puzzlet has joined. 01:58:54 Hmm, the Kinesis contour keyboards already use mechanical keyswitches 01:59:11 Tactile ones, and they say they provide "audible feedback" but every key does that, it might not be clicky. 01:59:43 So make them non-clicky if they are, and add a nipple pointer, and I'm sold 02:41:52 math is hard 02:42:15 i need to sleep now, nights. 02:42:16 -> 03:18:03 -!- oerjan has joined. 03:18:15 hi oerjan 03:18:23 morning 03:20:15 13:22:21 "in russia [at the time soviet], television watches YOU!" 03:20:15 13:22:30 which plays on (a) russian, (b) the soviet oppression 03:20:36 mind you i'm pretty half-sure russian doesn't _actually_ have OSV word order :) 03:20:43 er, OVS 03:20:47 it's free order, i think 03:20:55 maybe OVS is idiomatic 03:21:07 yeah but still probably SVO or SOV by default 03:21:24 -!- puzzlet_ has joined. 03:21:43 -!- puzzlet has quit (Remote closed the connection). 03:24:39 \g -> unsafePerformIO (openFile "foo" Write >>= hPutStr "foo" >>= closeFile) `seq` g `seq` unsafePerformIO (openFile "foo" Read >>= hGetContents >>= return . (== "foo")) 03:25:09 i think that is not required to perform the actions in the desired order 03:26:16 seq only means that both _will_ be evaluated, it doesn't guarantee the first is first. i vaguely recall reading ghc _sometimes_ may switch them 03:26:33 -!- jix has quit (Read error: 113 (No route to host)). 03:26:33 (assuming the first to run terminates) 03:27:36 `seq` g seems pointless 03:27:37 No output. 03:28:10 it will evaluate g at least 03:44:42 oh, and one more thing, each of the actions is only guaranteed at most one evaluation, globally, regardless of number of g's called. 03:45:05 *applied 03:45:09 *to 03:53:20 -!- ehird has quit. 04:13:57 -!- oerjan has quit ("leaving"). 04:34:35 -!- ehird has joined. 05:03:24 cool, I think I just perceived the fourth dimension :P 05:46:14 ... being able to see trough everything at once, without it being transparent. Information overflow 05:53:34 MizardX: no, I was just staring at a visualisation of a hypercube 05:53:48 and my eyes batted about, refocusing really quickly on each 3D perspective of it 05:53:59 and if it went fast enough, they all happened at once 05:54:07 and thus it was 4D, or so I perceived 06:01:30 Fun fact: the Apple IIc had a switch on the back to choose between QWERTY and Dvorak. 06:03:16 -!- Sgeo_ has joined. 06:15:46 Hi Sgeo_. 06:15:56 hi 06:16:15 Apparently, RoM doesn't have a smooth progress bar 06:16:29 It goes from 18% to 25% to 50% 06:17:01 (a) Thanks for not telling us what RoM is 06:17:02 (b) Thanks for telling us that? 06:17:13 You do realise we can't infer your context telepathically. 06:17:36 RoM == Runes of Magic 06:18:03 The way I saw it, the fact that it was Runes of Magic was tangental to the annoying progress bar on my screen 06:18:13 -!- oklokok has joined. 06:18:44 Sgeo_: However, we really, really don't care about the annoying progress bar on your screen in itself, so it's possible that the context of "RoM" would make it more interesting. 06:18:48 Also, if it's not relevant, just don't say it. 06:18:50 oklokok: hi 06:18:53 hi 06:25:49 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 06:27:01 -!- FireFly has joined. 06:28:53 -!- coppro has quit (Remote closed the connection). 06:29:48 -!- coppro has joined. 06:33:54 todo list to becoming an incomprehensible nerdy elitist: 06:34:09 - buy a kinesis contoured advantage keyboard 06:34:14 - hack a nipple mouse into it 06:34:15 - learn lojban 06:34:25 - switch to plan 9 06:34:26 -!- oklopol has quit (Connection timed out). 06:34:37 - IRC in lojban on kinesis contoured keyboard while mousing with the nipple mouse, from plan 9 06:35:21 - there is no step 6 06:41:08 -!- MigoMipo has joined. 06:43:54 -!- coppro has quit (Remote closed the connection). 06:44:26 -!- coppro has joined. 06:45:30 -!- BeholdMyGlory has joined. 06:48:07 -!- puzzlet_ has quit (Read error: 60 (Operation timed out)). 06:49:50 -!- puzzlet has joined. 06:53:27 - buy a kinesis contoured advantage keyboard <-- sounds cool, picture? 06:53:48 It's the canonical contoured keyboard: http://www.kinesis-ergo.com/images/kb_adv-wht720x442.jpg 06:55:00 ehird, hm... would take some time getting used to 06:55:18 Yes, apparently the learning curve is bigger than you'd expect. (So switch to Dvorak at the same time!) 06:55:48 I'd like to buy one. They have Model M-style keyswitches; mechanical and tactile. I think clicky (makes the sound), but I doubt as loud as Model Ms. I've sent off an email to their sales to ask. 06:55:51 ehird, oh and it looks so awkward it simply *must* be awesomely ergonomic 06:55:52 ;P 06:55:57 no numbad? 06:56:08 coppro: you press a key to turn the right side into a numberpad or something 06:56:24 but what are you doing writing out such long numbers? 06:57:21 ehird, how do you place your hands when using it? 06:57:27 http://www.kinesis-ergo.com/images/cont-above-hands-blk630x390.jpg 06:57:42 mhm 06:57:44 ehird: typing my password. which is calculated by the following algorithm: 06:57:47 They're terribly popular with the ergonomic crowd. 06:57:48 set n = 1 06:58:08 coppro: Singular? You only have one password? 06:58:11 Anyway, use a passphrase 06:58:16 ehird, yeah I can imagine that... 06:58:16 set m = the next n digits of pi 06:58:28 Pi as a source of random digits. Congrats, you're stupid. 06:58:31 set n = m 06:58:34 repeat pi times 06:58:44 Repeat... 3.14... times? 06:58:46 ehird, since it radiates "my owner is cooler than you and his other mouse is a trackball" 06:59:07 AnMaster: You seem very condescending without having used it or read about the design. 06:59:09 ehird: by now surely you've figured out that I have multiple passwords and that none of them are based on the digits of pi 06:59:23 coppro: I would have, were the world not full of idiots. 06:59:37 that algorithm gets pretty stupid pretty fast though 06:59:37 ehird, did I say it was bad? 06:59:47 the second iteration is 141 digits long 06:59:59 AnMaster: You're claiming that pompous jackasses use it and little else, and yes: "it looks so awkward". 07:00:33 ehird, sorry if it appeared that way. But I'm sure it would be perfect for a pompous jackass *as well*. 07:00:52 ehird, and yes it looks awkward so would take time getting used to 07:01:01 A pompous jackass could make an original IBM PC hip :) 07:02:39 AnMaster: Anyway, the main issue is that because of the position and huge difficulty (to the point of utter impracticality) of using it one-handed, the task-switching latency from keyboard to mouse and vice-versa becomes huge. 07:02:50 The best solution being a nipple mouse. 07:02:58 (integrated in the keyboard) 07:03:12 A pompous jackass could make an original IBM PC hip :) <-- yeah I guess so 07:04:03 ehird, also wouldn't a symbolics keyboard be even better? 07:04:25 not ergonomically, but I meant about it being hip 07:04:45 Considering that every single known user of a Symbolics keyboard to date has had a beard, probably not. :P 07:04:57 Hip is the wrong word anyway; Macs are hip. 07:05:04 I mean, uh, pompous douchbaggerific. 07:05:10 yeah better word 07:05:49 so the PDR quotient would be higher with that keyboard than a symbolics one you say? 07:06:04 I think so 07:06:08 ehird, plus, what exactly is wrong with a beard? 07:06:11 Symbolics keyboards are only cool for using a bunch of emacs modifiers 07:06:20 and emacs has a very negative PDR quotient 07:06:38 AnMaster: well, beards can be PDR+ (positive), but only very specific ones 07:06:42 ehird, TECO would have a positive PDR quotient I guess? 07:06:51 no, TECO is for people over the age of 40 07:06:58 ehird, RMS beard? A. Cox beard? 07:06:59 which implies around PDR- 1,000 07:07:27 AnMaster: not sure 07:07:54 http://www.amazon.com/NEC-Computers-LCD2490WUXI-BK-24-Inch-Widescreeen/dp/B000MT5J7I/ This monitor looks awesome. 07:07:56 nib mice are the best 07:07:57 `calc 1,047.40 $ in £ 07:07:58 1 047.40 US$ = 633.597484 UK 07:07:58 simple as that 07:07:59 The price less so. 07:08:29 ehird, iirc NEC monitors in general are often used as "reference monitors" in tests of cheaper monitors 07:08:33 coppro: actually, when used on their own (not while typing) they're several seconds slower than touchpads 07:08:46 they shine because they're seamless when mixed with typing 07:09:07 ehird: several seconds slower? 07:09:23 A number of ergonomic studies to compare trackpoint and touchpad performance have been done [8][9][10]. Most studies find that touchpad is slightly faster; one study found that "the touchpad was operated 15% faster than the trackpoint"[10]. Another study found that average object selection time was faster with a touchpad, 1.7 sec compared to 2.2 sec with a trackpoint, and object manipulation took 6.2 sec with a touchpad, on average, against 8.1 sec with trac 07:09:36 kpoint[11]. 07:09:36 hm 07:09:56 TrackPoints are good because of how they integrate with typing, and because you can move infinitely without repositioning. 07:10:00 ehird, speed for me: mouse > trackpoint > touchpad 07:10:06 (and because they're a lot easier on your hands) 07:10:09 but I never really liked touchpads 07:10:10 AnMaster: *perceived speed 07:10:21 Our humans are very fickle with time. 07:10:22 *Us 07:10:36 We often disagree with stopwatches. 07:10:55 ehird, well I tend to get ways done faster with the mouse though. and with touchpad I often end up with it going to the wrong place and needing adjustment after. 07:10:58 so hm... 07:11:14 err grammar 07:11:24 done way faster* 07:11:33 Is it just me, or are trackballs awful? 07:11:39 ehird, haven't tried one 07:11:41 so no idea 07:11:58 You have inaccuracy and slowness because you're spinning a ball, not positioning a mouse, and you have to reposition your fingers to keep it spinning, like a mouse. 07:12:07 Plus, you have to rest your finger/thumb on an awkward, sticking-out knob. 07:12:10 It's like the worst of all worlds. 07:12:16 "and you have to reposition your fingers to keep it spinning, like a mouse." <-- eh? 07:12:52 Uhh, you have to take your finger off the ball. 07:13:00 Otherwise you reach the edge. 07:13:08 ehird: trackballs are apparently more precise than mice, because people's thumbs are more precise than their arm muscles 07:13:16 ehird, yes true, but "like a mouse"? 07:13:19 ais523: mice are precise enough, though 07:13:23 AnMaster: well, more like a touchpad 07:13:25 do you mean like ths scrollwheel? 07:13:28 the* 07:13:30 no, you have to pick up the mouse 07:13:33 and move it to the middle of the pad 07:13:48 ehird, um. I don't use a pad 07:13:56 since it works perfectly on the desk 07:14:03 I assume that you have an infinitely large desk and infinitely extending arms. 07:14:04 natural wood 07:14:08 Otherwise, irrelevant; you have to reorient it. 07:14:13 ehird, very fast mouse acceleration 07:14:13 Also, really, nobody cares what your desk is made of. 07:14:33 ehird, about 8 cm to go diagonally across my monitor 07:14:55 You clearly live in continuous space, and can make infinite fine movements in one direciton without ever repositioning it. 07:16:01 with any amount of acceleration, you could recentre your mouse by moving it quickly in one direction then slowly in the other direction 07:16:06 interesting... apparently the winningest opening move in professional chess is Na3 07:16:08 ehird, well I seldom need to reposition it since I have about 8 cm across the screen and about 30 cm free between keyboard and the edge of the desk. 07:16:15 but you probably wouldn't want to 07:16:15 sure sometimes yes. but not often 07:16:27 AnMaster: Because you don't make lots and lots of very fine movements. 07:16:36 i.e., you don't really use a mouse to its limits. 07:16:43 ehird, depends on what I do. When image editing yet 07:16:45 yes* 07:17:14 other than that and browser I tend to use keyboard mostly 07:17:15 hm 07:17:29 I wonder if there are any matte LED IPS screens. 07:17:38 Apple's 24" Cinema Display is LED and IPS, but glossy. 07:17:43 IPS? 07:17:48 AnMaster: as opposed to TN. 07:17:52 LCD panel types. 07:18:04 ais523, Na3 hm *tries to visualise it* 07:18:28 coppro: probably statistical fluctuations, it isn't all that good a move, and it isn't played often as a result 07:18:29 IPS is different because you can actually distinguish colours on it, and you can tilt your screen and move your head around without turning the colours into an automatic acid trip. 07:18:29 ais523, wait, what chess notation is that? 07:18:38 AnMaster: Dude, coppro said it. 07:18:39 AnMaster: it's coppro who said it, and it's algebraic 07:18:41 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server"). 07:18:42 ais523: snap 07:18:43 oh right 07:18:44 misread 07:18:54 ais523: that's what I'm tempted to think 07:19:04 stop talking while I'm checking the nick before the text ;P 07:19:17 alternatively, it could simply be that it's such a bad move that the opponent rarely can deal with it 07:19:25 :D 07:19:33 or that people only play it against bad opponents? 07:19:54 -!- coppro has quit (Remote closed the connection). 07:19:56 *Na3* 07:19:56 ... I ... the ... you ... just ... and the ... 07:19:56 *has an aneurysm* 07:20:04 TIME PASSES 07:20:05 Checkmate! 07:20:09 dsjfkkkghl 07:20:24 well yes it looks like a bad move to me... but hm 07:20:34 -!- coppro has joined. 07:21:32 * ehird warbles 07:21:54 * AnMaster considers 4D mine sweeper 07:22:03 Consider 3D first. 07:22:08 ehird, been done already 07:22:18 You'd need X-ray vision. 07:22:31 what? 07:22:34 AnMaster: Then 4D minesweeper is just a bunch of 3D cubes that affect each other. 07:22:40 ehird, hm true 07:22:44 coppro: in 2d minesweeper, the whole field is made of blocks 07:22:51 so in 3d minesweeper, it's a solid cube of blocks all the way through 07:23:13 that's a rather bad interpretation of it 07:23:19 um, no 07:23:35 1d minesweeper = a line of blocks 07:23:38 no reason the blocks need to be opaque 07:23:40 2d minesweeper = a grid of blocks 07:23:44 3d minesweeper = a cube of blocks 07:23:50 4d minesweeper = a tesseract of blocks 07:23:58 coppro: i'm assuming gray blocks like 2d minesweeper 07:24:00 point is, it'd be solid 07:24:20 if 4d minesweeper is any easier than 4d Rubik's Cube, I might try it 07:24:44 it's probably best to do it as a big grid of 2d grids 07:24:49 as opposed to futzing about with 3d navigation 07:24:58 bbl 07:25:00 uni 07:25:33 -!- BeholdMyGlory has quit (Remote closed the connection). 07:29:09 * coppro wants to make an esolang based on Set 07:34:52 * ehird warbles 07:40:35 fizzie: ping. 07:42:52 Blong. Sorry, I'll have to leave in a few minutes, am already some two hours late for today's schedule. 07:43:23 fizzie: just wondering how your speech recog research stuff is, and if it's in any sort of product somewhere, due to last night's (shut up, it's night) musing: 07:43:34 A good use of a speech-to-text system: realtime notes. While coding you can jot things down without context-switching; just say it and it's done. While testing a UI you can analyse the results later to improve the UI when you go "ugh". 07:43:35 Preferably linked to a screen recorder w/ timestamps so you can see what the hell you're talking about later. I don't think any speech-to-text systems are good enough to be useful for this right now, unfortunately. 07:43:55 i know you've mentioned working on that sort of thingy 07:45:17 Oh yes, I saw that. Well, maybe for very informal notes, if you don't mind spending quite a lot of good working-time wondering what the heck "apply the cows here" means, when in reality you said "update the copy here". 07:45:51 fizzie: You aren't likely to have seen that; that's the musing from ~/gob, a summarisation of my IRC blatherings. 07:45:56 fizzie: But that sounds, uh, very bad. 07:46:04 I know the commercial products are better than that, at least. 07:46:17 (You get "update the nappy beer". :P) 07:46:38 The timestamps would let you listen, but that kind of defeats the point of skimming. 07:46:51 fizzie: would key-tapping result in "xkfkckfkcfkkpkfpptpfkckfppk"? :P 07:47:00 Okay, so maybe it isn't quite that bad. I don't really have a good feeling how well it'd work; I assume it would be of *some* use. 07:47:17 fizzie: you inspire me with confidence. i assume this isn't in any sort of downloadable/purchasable form? 07:47:22 *fill, not inspire 07:47:58 wow, someone actually uses BSD 4 07:48:07 on a server 07:48:15 Oh, I think you could reasonably easily handle a noise source like that, since it's known-in-advance. Noise robustness is general is really tricky, though, but maybe it wouldn't be such a problem in an application like that, unless you insist on doing your UI-testing-and-muttering-to-self-like-a-crazy-person in a crowded cafe or something. 07:48:36 :D 07:48:45 are you avoiding "i assume this isn't in any sort of downloadable/purchasable form?"? :P 07:48:55 s/\?"\?/"?/ 07:49:46 guess so :D 07:49:56 I don't think our recognizer, per se, is downloadable (it's not very productized (read: user-friendly)) or purchasable, but the state-of-the-art in commercial systems isn't lagging *too* far, I don't think. At some things they might even be ahead. 07:50:25 A lot of our research is done industry-funded, anyway. And at least the SONIC people from University of Whateveritwas have been pimping their recognizer around. 07:50:31 hard to get a commercial system for a non-OS X unixalike that you can plug into stuff and doesn't cost the world... 07:50:39 -!- FireFly has quit ("Later"). 07:52:00 maybe we just need to grow two extra arms 07:52:08 and learn how to think about two typings at once 07:52:14 hmm two extra arms would come in handy 07:52:18 like dual-monitors! 07:52:26 *dual monitors; - looks iffy with the plural 07:53:17 two monitors make one dual-monitor? 07:54:39 More like "dual-monitor configuration"; actually, the - looks weird there too. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 09:12:04 -!- puzzlet_ has joined. 09:25:01 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 09:31:27 Speaking of arms: http://www.hizook.com/blog/2009/08/03/high-speed-robot-hand-demonstrates-dexterity-and-skillful-manipulation 09:31:37 -!- immibis has joined. 09:40:44 "South Park is an incredibly dangerous movie for those who do not understand or are developing an understanding of the Gospel ....... INCREDIBLY dangerous. Some of the scenes in South Park reminded me so much of the image of demons screeching and dancing around a boiling cauldron as Satan gleefully looks on from the background as the demons pitch soul after soul after soul into the burning cauldron.." 09:55:37 MizardX: cooool 09:55:48 yawn 09:56:16 -!- oklokok has changed nick to oklopol. 09:56:21 no yawn, it was cool 09:56:21 yo oklopol 10:01:55 -!- immibis has quit ("ASCII a stupid question, get a stupid ANSI!"). 10:06:50 ais523: when did you last sleep? I think combining our sleep models will produce a mathematical sequence of some kind 10:07:13 ehird: from about midnight at the start of Sunday, to about 9pm on Sunday 10:07:37 ais523: hardcore. did you like rewire your brain? how can you be anything but incapacitated? 10:07:45 oh, wait 10:07:48 9pm sunday 10:07:59 yeah i've been awake longer than you :P 10:08:09 almost certainly I was asleep longer than you, though 10:08:25 ais523: 9 hours? naw, i slept ten 10:08:34 ehird: 21 hours 10:08:42 you're messing up 12-hour clock calculatiosn 10:08:49 oh 10:08:53 ais523: stop using 12-hour clocks ;P 10:08:55 *:P 10:09:10 i remember in the ninth grade this dude came to school on monday and asked us if it was really monday, he'd slept from saturday till monday morning 10:09:13 was it actually continuously 21 hours, I don't get how it's possible to be so tired 10:10:17 i mean i'm getting pretty tired and i could do 12 hours max 10:11:24 ais523: are you asleep :P 10:11:25 i've only slept 16.5 hours once, and 18 when i had a bad fever, but that doesn't count 10:11:29 no 10:12:30 but, 12 seems to be a relatively normal amount of sleep for me, so i'm fairly sure i'm still among sleepy sleepers 10:12:49 ais523: wanna answer my qs? :P i mean it takes kinda effort to... say things when i'm tired 10:13:06 ehird: oh, I'm not paying attention 10:13:07 oklopol: dude you're wasting 50%, 1/2, one whole half of your life! 10:13:14 ais523: :| 10:13:49 ehird: also when i'm awake, i usually do nothing, yet i seem to get more done than most people 10:14:04 oklopol: you could have twice as much time 10:14:06 well. i guess it's because i usually don't usually do nothing, just in the summer 10:14:22 i mean i remember when you thanked me for telling you about daylight time giving you another hour xD 10:14:37 well that is always nice 10:15:44 of course i'd like to sleep only a little, but it's too hard 10:15:45 well. uberman's still takes up to 3 hours of your day 10:16:00 uberman's is reported as quite easy once you get into it 10:16:04 3 hours is not that much 10:16:08 the Dymaxion guy did a similar schedule for most of his life 10:16:14 oklopol: yeah, but you go into REM sleep almost immediately 10:16:17 i'm never heard of the dymaxion guy 10:16:17 zipping through the other stages 10:16:23 ehird: i know the details 10:16:30 http://en.wikipedia.org/wiki/Buckminster_Fuller 10:16:36 a totally amazing guy who died. 10:16:42 he was *crazy*. 10:17:05 The Dymaxion Chronofile is Buckminster Fuller's attempt to document his life as completely as possible. He created a very large scrapbook in which he documented his life every 15 minutes from 1915 to 1983. The scrapbook contains copies of all correspondence, bills, notes, sketches, and clippings from newspapers. The total collection is estimated to be 270 feet (80 m) worth of paper. This is said to be the most documented human life in history. 10:17:32 dymaxion sleep schedule is uhh 10:17:55 every six hours 30min nap 10:18:07 -!- puzzlet has joined. 10:18:15 basically it's uberman's with four instead of six naps 10:18:21 and they're about ten minutes longer 10:18:27 uberman's is actually more like 2 hours, not 3 10:18:38 but more people do uberman's and it seems to work better 10:18:42 so it's the same amount 10:18:46 fancy diagrams: http://en.wikipedia.org/wiki/Polyphasic_sleep#Comparison_of_sleep_patterns 10:18:49 oklopol: no, one hour mor 10:18:49 e 10:18:55 uberman's is usually done with 20 minutes naps 10:18:57 thus why I said "up to 3" 10:19:04 it's actually 2, basically 10:19:19 but people adjusting to dymaxion tend to fall into deep sleep, iirc 10:19:21 and so wake up groggy 10:20:44 where do you get one more hour, 30 minutes every 6 hours is 2 hours a day, like uberman 10:21:07 Time magazine circa 194x :P 10:21:16 anyway, meh 10:21:20 uberman's is better 10:21:21 and more hardcore 10:23:00 oklopol: how long have you been awake 10:23:05 now? 10:23:07 err 10:23:09 5 hours maybe 10:23:12 i had an exam 10:23:27 oklopol: can you just skip forwards to about 20 hours sleepdep 10:23:33 i need you to have impaired judgment. 10:23:36 *judgement 10:24:02 CAN YOU ELABORATE ON THAT 10:25:09 oklopol: i wanna start uberman's and don't trust myself to do it :P 10:25:18 i should stop talking about things 10:25:23 it makes me thing 10:27:21 -!- Pthing has joined. 10:29:23 ehird: did you just predict Pthing's join 10:29:31 not...really 10:29:45 oh 10:30:14 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)). 10:30:33 ehird: you don't trust yourself to do it? 10:30:51 like, I'll just give up unless someone else's uberman success depends on me bothering them about it over IRC :P 10:30:53 irc is srs bzns 10:31:24 so you want an uberman irc buddy 10:31:50 that sounds so uncouth. 10:31:57 i want rational sleep-enabling codependence. 10:32:27 a "girlfriend" 10:32:27 i have a rather hectic schedule this fall, but i might try at christmas time 10:32:47 Pthing: ehird can't afford that 10:32:59 Pthing: girlfriends cannot appreciate the finer details of polyphasic sleep schedules 10:33:04 also oklopol is kind of not a girl. 10:33:09 (but only kind of) 10:33:10 they have some pretty good deals where you can pay in kind with methamphetamine 10:33:31 anyway oklopol hectic schedule sounds fun, i have a hectic schedule of waking up, fucking around on the internet and sleeping 10:33:45 sure girlfriends can appreciate the finer details of polyphasic sleep schedules 10:34:14 mine is the same, plus a year's worth of courses in a single period 10:34:33 oklopol: then it 10:34:35 's settled! 10:35:01 obvsly 10:37:03 [[Okay, here’s a development I didn’t expect: Commenter “Sharif” and a friend have been doing a polyphasic schedule that’s even more restrictive than Uberman.]] 10:37:05 O_O 10:37:15 "The Tesla schedule involves 20 minute naps every six hours instead of every four, with no core-nap or other sleep" 10:37:18 my lord 10:37:32 "More waketime, obviously. It's also more convenient than Uberman for those with 9-5 work/school (I only need to take one nap during my school day, for example)." 10:37:40 http://tesser.org/sleep/teslapattern/ 10:37:45 oklopol: let's do it. whereby it is that. 10:37:56 i'd be fine with uberman :P 10:38:15 oklopol: do you want to be uber or TESLA 10:38:47 anyway to live on 1+1/3 hours of sleep a day, it's like a dream come true 10:40:17 http://gill.tesser.org/ ;; this guy does 16 naps a day 10:42:16 oklopol: haha, he actually does 16 x 4 10:42:19 four. minutes 10:42:32 tesla is cooler though. 10:42:41 -!- M0ny has joined. 10:42:41 eventually we'll learn we can just not sleep. 10:44:07 -!- M0ny has quit (Read error: 131 (Connection reset by peer)). 10:46:30 -!- M0ny has joined. 10:55:22 ehird: the 16 naps thing doesn't seem to work 10:55:34 at least near near the beginning, just started reading 10:56:13 eh 10:56:17 i'm reading it in the wrong direction 10:56:27 they don't teach how blogs work at uni :\ 10:56:50 :D 10:57:06 oklopol: you read bottom to top, fun fact. 10:57:53 yeah i know, there are only two directions. 10:58:35 :D 10:58:57 oklopol: totally wrong 10:59:19 oklopol: vin and vount. 10:59:21 *vout 11:01:30 what's v 11:02:45 oklopol: rudy rucker's 4th dimension directions 11:03:01 hmm it's not vin i think 11:03:37 it's uh 11:04:03 vout and vinn. 11:04:08 analogy with out and in 11:04:17 back and forwards 11:04:20 ah 11:04:22 obviously 11:04:25 up and down (or down and up, w/e) 11:04:33 not that i still know what v is 11:04:40 they're just arbitrary words. 11:05:06 i'm sure v is from something 11:05:26 vokundblashhthptnorsthrptkhnot. 11:05:33 cute word for cute people! 11:08:43 iuhwfger 11:08:49 -!- ehird has set topic: vokundblashhthptnorsthrptkhnot http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://tunes.org/~nef/logs/esoteric/?C=M;O=D http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 11:12:46 http://www.google.com/search?hl=en&safe=off&client=safari&rls=en-gb&q=999999999999999-999999999999998&aq=f&oq=&aqi= 11:24:34 the NEC LCD2490WUXi-BK display looks ridiculously awesome 11:29:22 although the response-time is uncomfortably high, like all IPS displays 11:34:59 would be nice to have a ton of money to throw at, say, two Eizo displays ;-) 11:54:17 back at home 11:57:36 Hi AnMaster! 11:57:46 You like high-quality photography-grade displays, don't you? 11:58:16 ehird, well yes, sadly they tend to be expensive as hell 11:58:54 AnMaster: FEAST YOUR EYES: 11:58:55 http://www.amazon.com/NEC-Computers-LCD2490WUXI-BK-24-Inch-Widescreeen/dp/B000MT5J7I 11:59:14 ehird, isn't it same as you linked earlier 11:59:24 Yeeeeeeeees, but you weren't back at home then. 11:59:33 ehird, iirc NEC monitors in general are often used as "reference monitors" in tests of cheaper monitors 11:59:37 sure I was 11:59:46 You were at home, but you weren't BACK at home 11:59:59 ehird, ... 12:00:27 QED 12:01:45 http://www.mezzacotta.net/garfield/ <-- nice annotation to it 12:02:40 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)). 12:10:47 -!- puzzlet has quit (Remote closed the connection). 12:10:51 -!- puzzlet has joined. 12:11:10 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)). 12:15:38 -!- Dewi has quit (Remote closed the connection). 12:15:53 -!- puzzlet has joined. 12:27:10 -!- ais523 has quit (Read error: 104 (Connection reset by peer)). 12:32:06 -!- puzzlet has quit (Read error: 60 (Operation timed out)). 12:34:06 -!- puzzlet has joined. 12:39:03 ehird: I guess I'm still leading the joust? 12:39:07 Deewiant: :P 12:39:09 If not, how about const False 12:39:17 Do I get a point for every correct False? :-P 12:39:20 You're the only entry; want me to add const False? 12:39:29 How does the scoring work? 12:39:45 Identify non-opponent as False: +1 12:39:50 Identify yourself as True: +1 12:39:53 Anything else: -1 12:39:55 non-opponent? 12:39:55 Hmm, wait 12:39:59 er 12:40:01 opponent 12:40:02 BUT 12:40:07 Let's actually make it 12:40:13 Identify opponent as False: +1 12:40:18 Identify opponent as True: -1 12:40:29 Identify yourself as True: +0 12:40:36 Identify yourself as False: KRR DISQUALIFIED 12:40:47 So, (const False) immediately falls off. 12:40:51 (const True) stays at 0. 12:40:57 Okay 12:41:28 ehird: \(X f) -> not $ f (X (const $ f (X (const False)))) 12:41:43 Okay, now I actually gotta write code to run this 12:41:43 sec 12:41:47 :-) 12:41:54 I'll clean it up a bit, too; sec 12:42:54 Deewiant: Care to name your two warriors? So I can report scores. 12:43:06 Make it \(X f) -> not . f . X . const . f . X . const $ False 12:43:11 Hmm, names 12:43:28 May I suggest "naive" for (const True) 12:43:32 Or "kiddy" 12:43:32 Fine 12:43:46 Or "optimistic" 12:43:52 -!- jix has joined. 12:44:25 Call this one "invert" 12:45:59 Hmm, I guess "direct" is actually better: \(X f) -> f . X . const $ True 12:46:09 Or maybe not 12:46:10 Whatever 12:46:33 I'll add 'em all 12:46:58 -!- M0ny has quit. 12:49:16 Okay, let's try this 12:51:40 hmm 12:52:47 Hmm? :-P 12:54:01 joust.hs:11:58: 12:54:01 Couldn't match expected type `X' against inferred type `(a, b)' 12:54:01 In the second argument of `(.)', namely `fst' 12:54:02 In the first argument of `filter', namely `((/= n) . fst)' 12:54:02 In the second argument of `(.)', namely `filter ((/= n) . fst)' 12:54:02 wtf 12:54:19 You presumably have [X] 12:54:38 Instead of [(typeof n, something else)] 12:55:06 warriors :: [(String,X -> Bool)] 12:55:10 then sum . map (trial f) . filter ((/= n) . fst) $ warriors 12:55:14 We report, you decide 12:55:44 map (trial f . snd) ? 12:55:57 Good point, however 12:56:02 It's complaining about the filt- 12:56:04 oh 12:56:07 i get it 12:56:11 map is expecting a certain type 12:56:12 It's inferring something else from before 12:56:16 so it complains that filter isn't providing it 12:56:18 * ehird annotates trial 12:56:42 doesn't help the error, I'll just fit it 12:58:12 *Main> scores 12:58:12 [("Deewiant_naive",2),("Deewiant_invert",0),("Deewiant_direct",0)] 12:58:21 Deewiant: Your complicated strategies suck balls :P 12:58:31 How can naive possibly get 2? 12:58:45 hmm 12:58:48 oops 12:58:50 where trial f g = if f (X g) then 1 else -1 12:58:51 Shouldn't it be getting -2? :-P 12:58:53 Backwards land! 12:59:09 Deewiant: *Main> scores 12:59:10 [("Deewiant_naive",-2),("Deewiant_invert",0),("Deewiant_direct",0)] 12:59:14 It should get exactly -N where N is the number of opponents 12:59:25 If we take naive out of the equation: 12:59:25 *Main> scores 12:59:26 [("Deewiant_invert",-1),("Deewiant_direct",1)] 12:59:29 Yep 12:59:44 Hence 'I guess "direct" is actually better' 12:59:49 right 12:59:51 And after checking vs. naive, "maybe not, whatever" :-P 13:00:22 Deewiant: wouldn't direct be better if it started not .? 13:00:48 Probably, but it wouldn't be "direct" then ;-) 13:01:22 Go ahead and add it, call it "indirect" :-P 13:01:55 *Main> scores 13:01:55 [("Deewiant_naive",-3),("Deewiant_invert",-1),("Deewiant_direct",1),("ehird_indirect",1)] 13:02:00 Exciting!!! 13:02:17 I had it with not . originally, actually 13:02:22 :D 13:02:57 I took it off because the not . version misidentifies invert as True 13:03:17 * ehird wonders why there isn't a Bool->Int 13:03:18 0 or 1 13:03:26 ehird: fromEnum 13:03:34 doh 13:06:17 Still... I wonder how complicated a strategy can be if you're returning a boolean 13:06:27 X -> Int might be more interesting 13:06:49 Very complicated, actually 13:06:58 How does it respond to trivial functions? Mutations of itself? You? 13:07:16 By returning either True or False :-P 13:07:25 No shit 13:07:45 *Main> scores 13:07:45 [("Deewiant_naive",-4),("Deewiant_invert",-2),("Deewiant_direct",0),("ehird_indirect",2),("ehird_crisis",*** Exception: stack overflow 13:07:50 :-D 13:07:51 A good score! 13:08:57 crisis being (\(X f) -> f . X $ not . f)), perhaps with a not . at the front 13:09:02 But we need to bail out somehow, hmm 13:10:38 Bingo 13:10:41 ,("ehird_crisis", (\(X f) -> not . f . X $ \(X g) -> if g (X (const True)) then True else not $ f (X g)))] 13:10:45 *Main> scores 13:10:45 [("Deewiant_naive",-4),("Deewiant_invert",-2),("Deewiant_direct",2),("ehird_indirect",0),("ehird_crisis",2)] 13:11:08 I can't help but wonder if, in the long term, the scores will just be random :-P 13:11:25 Deewiant: I don't think so 13:11:32 Deewiant: Should I write a function to tally up each warrior's results? 13:11:45 If you want 13:15:54 ("Deewiant_naive",[("Deewiant_invert",True),("Deewiant_direct",True),("ehird_indirect",True),("ehird_crisis",True)]) 13:15:54 ("Deewiant_invert",[("Deewiant_naive",False),("Deewiant_direct",True),("ehird_indirect",True),("ehird_crisis",True)]) 13:15:55 ("Deewiant_direct",[("Deewiant_naive",True),("Deewiant_invert",False),("ehird_indirect",False),("ehird_crisis",False)]) 13:15:55 ("ehird_indirect",[("Deewiant_naive",False),("Deewiant_invert",True),("Deewiant_direct",False),("ehird_crisis",True)]) 13:15:57 ("ehird_crisis",[("Deewiant_naive",False),("Deewiant_invert",False),("Deewiant_direct",False),("ehird_indirect",True)]) 13:16:13 False/True being whether it thinks it's it or not 13:16:20 So False is a win, True is a lose 13:16:23 I'll make that clearer 13:16:35 ehird: Just print two lists: wins and losses 13:16:40 Good idea 13:17:48 ehird: crysis: \(X f) -> not . f . X $ \(X g) -> if g . X . const $ False then True else f . X $ g 13:17:58 Sec, lemme write this reporter first, then I'll add that 13:18:26 It just permutes crisis's results a bit 13:19:35 sec 13:20:20 Ooh, here we go 13:20:44 I need a name generator or something :-P 13:20:46 Deewiant: http://pastie.org/592988.txt?key=xhi1np88sh7mu7obm7pxw 13:20:57 Heh, direct wins 13:21:00 Yep 13:21:07 I have a winner, I need a name 13:21:13 Deewiant: mogul 13:21:16 tyrant 13:21:17 tycoon 13:21:28 I have one 13:21:29 Mogul is cute, I'll go with that: \(X f) -> not . f . X $ \(X g) -> if f . X . const . g . X . const $ True then True else f . X $ g 13:21:55 Does that make any more sense when you're not sleep deprived? 13:22:08 Deewiant: You win against every other one. 13:22:09 Wow. 13:22:11 Yep 13:22:17 Which is that a yep to 13:22:23 Yep, it's a winner, like I said 13:22:41 As for sense, beats me, I don't really think these through well :-P 13:22:51 ehird_interrogatorade (*** Exception: ehird_interrogatorade can't find itself 13:22:52 :( 13:23:01 Calling error? :-D 13:23:07 ,("ehird_interrogatorade", (\(X f) -> f (X (const True)) && not (f (X (const False)))))] 13:23:14 Oh 13:23:17 Trying to make direct not fail to naive :P 13:23:18 Heh 13:23:19 Ooh, wait 13:23:38 Hmm 13:24:00 Deewiant: Do you think recursion should be illegal? I think not, as you can just do let foo f' = ... in foo f 13:24:12 Why should it be 13:24:15 Dunno 13:24:57 ehird_interrogatorade (*** Exception: ehird_interrogatorade can't find itself 13:24:58 dammit 13:25:04 Hmm, I think the 'else' case in mogul never happens at least with the current set 13:25:24 Which makes sense, that's why it wins :-P 13:26:31 ehird_interrogatorade (*** Exception: ehird_interrogatorade can't find itself 13:26:35 Jesus christ fuuuuuuuuuuuck off 13:26:40 :-D 13:27:34 Ooh, I know 13:29:22 ehird: commie: \(X f) -> f (X $ const True) == f (X $ const False) 13:29:56 Beats all except naive, mogul still beats it though 13:30:09 I'll add one of my own and then post a new scoreboard 13:32:02 ehird_isometric (-8) 13:32:02 WINS: 13:32:02 LOSSES: Deewiant_naive Deewiant_invert Deewiant_direct ehird_indirect ehird_crisis Deewiant_crysis Deewiant_mogul Deewiant_commie 13:32:03 xD 13:32:08 Nice :-D 13:32:12 ,("ehird_isometric", (\(X f) -> let direct (X g) = f (X (const True)); indirect (X g) = not $ f (X (const True)) in f (X direct) || f (X indirect)))] 13:32:22 >_< 13:32:28 ehird_isometric (4) 13:32:28 WINS: Deewiant_invert Deewiant_direct ehird_indirect ehird_crisis Deewiant_crysis Deewiant_mogul 13:32:29 LOSSES: Deewiant_naive Deewiant_commie 13:32:29 Yay 13:32:36 ,("ehird_isometric", (\(X f) -> let direct (X g) = f (X (const True)); indirect (X g) = not $ f (X (const True)) in f (X direct) == f (X indirect)))] 13:33:32 Deewiant: http://pastie.org/592998.txt?key=7ivzfiflc8sn2eq7kh2c0a 13:34:20 Hmm, is commie equivalent to isometric? 13:35:00 Deewiant: They're equivalent iff (f (X $ const _)) == (f (X $ (\(X g) -> g (X (const _))))) 13:35:33 Yeah, not quite 13:36:50 Deewiant: Also, in mogul, "if x then True else ..." is "X || ..." 13:36:58 Yes, I know 13:37:13 You can do that simplification if you want; I didn't bother telling you after I noticed it 13:37:40 hippie: \(X f) -> f . X $ \(X g) -> (f . X . const . g . X . const $ True) /= (g . X . const . f . X . const $ False) 13:37:49 marxist: \(X f) -> not . f . X $ \(X g) -> (f . X . const . g . X . const $ True) == (g . X . const . f . X . const $ True) 13:38:13 Speaking of marks, these could be generated by a Markov chain :P 13:38:20 :-P 13:38:39 It'd probably beat us 13:38:51 Deewiant: http://pastie.org/593003.txt?key=cp78jsssqbyebtqynwfpoq 13:39:03 hippie is naively naive 13:39:10 :-) 13:39:20 Oh, mogul loses to marxist, nice 13:39:39 Deewiant: isn't (f (X (const True)) && f (X (const False)) a pretty good check for naive 13:40:25 assuming you've discounted other possibilities 13:41:12 Maybe 13:42:26 Can you put up source for these? I crashed GHCi, losing its state and history :-P 13:42:43 Sure, sec 13:42:45 -!- BeholdMyGlory has joined. 13:42:49 Deewiant: btw, the if in mogul IS triggered 13:44:17 sec 13:45:59 just testing something 13:46:05 meh 13:46:52 Deewiant: http://pastie.org/593012.txt?key=k1ts5epnjgvqdjrwwuu6g 13:46:59 Includes free, mature testing and analysis tool :P 13:47:03 :-P 13:47:03 Cheers 13:47:49 Also includes an extra ] on line 15 13:47:58 FOR FAMILY & FRIENDSHIP 13:49:52 For inspiration, you could always watch http://www.vimeo.com/5003279; it makes about as much sense as our "strategies" 13:50:43 what are you doing? 13:50:49 AnMaster: Haskell Joust 13:50:56 A game of self-identification and love! 13:51:04 heh 13:51:26 ehird, what is the goal? I mean "overwrite the opponent's memory" sounds a bit hard in haskell heh 13:51:43 AnMaster: Basically, you're given another warrior of the same type 13:51:49 And have to return True if it's you 13:51:51 or False if it's not 13:51:59 If you can't detect yourself as True, you're out of the game entirely 13:52:06 okay 13:52:08 Otherwise, +1 for correctly identifying a non-you as False 13:52:16 -1 for incorrectly identifying it as True (i.e., "this is me") 13:52:22 Hehe, I have one which beats mogul and nobody else 13:52:25 The X stuff is because the type is a = a -> Bool 13:52:32 (I.e. True for all but mogul) 13:52:33 So we need to wrap that 13:52:34 By saying 13:52:39 Deewiant: and itself 13:52:48 "Define a data type X with one constructor, X, taking a parameter of type X -> Bool". 13:52:50 ehird: No, it's True for itself 13:52:52 ehird, so the point of this is trying to look like other programs while being able to tell yourself apart? 13:52:56 Err, right Deewiant 13:53:01 AnMaster: Basically, yeah. 13:53:09 Fool opponents into thinking you're them; don't make the same mistake. 13:53:17 You can see the current warriors in my pastie 13:53:19 ehird, sounds fun. In what format to you see the other opponents? 13:53:28 AnMaster: As the haskell functions they are 13:53:30 Black box 13:53:32 aha 13:53:33 That's the fun 13:53:40 You have to poke it with specially-constructed functions 13:53:43 ehird, yes I can see how it works 13:54:02 ehird, any time limit / points for being faster than the opponent? 13:54:22 Do you see that in http://pastie.org/593012.txt?key=k1ts5epnjgvqdjrwwuu6g? But it's not automated right now, so I'll just ^C anything that lags. 13:54:26 Right now the scoreboard runs in 13:54:26 so you have to trade speed for accuracy or such 13:54:39 % time runhaskell joust >/dev/null 13:54:39 runhaskell joust > /dev/null 0.27s user 0.06s system 69% cpu 0.486 total 13:54:46 If we compile it, 13:54:53 ehird, any interesting strategies so far? 13:54:56 0.004s 13:55:00 AnMaster: Sure, see the paste 13:55:24 AnMaster: Note that . is function composition, and f $ x is (f x), except x can stretch out. 13:55:32 i.e., f $ g x is f (g x), not f (g) (x) 13:55:39 mhm 13:55:50 And const is a function that always returns the given value; i.e. K 13:56:00 so the table at the top is the warriors then hm 13:56:56 ,("Deewiant_invert", (\(X f) -> not . f . X . const . f . X . const $ False)) 13:56:57 hm 13:57:08 AnMaster: Current scoreboard: http://pastie.org/593020.txt?key=ab0r8excdmgjs96bpoyica 13:57:10 does that call the warrior and see what it thinks then decides the reverse? 13:57:18 It's: 13:57:27 because if not, that would be an interesting idea 13:57:35 AnMaster: that's just, 13:57:43 f (X (not . f)) 13:57:46 invert is uh 13:57:47 right 13:57:53 Deewiant: explain invert to him 13:57:59 ehird: no 13:58:04 eff you 13:58:14 I'm having too much fun with these things that beat exactly one dude 13:58:27 -!- oerjan has joined. 13:58:57 a household name, that 13:59:15 hi oerjan 13:59:18 Deewiant: Beating only one dude? 13:59:23 Rethink that statement :P 13:59:26 hi AnMaster 13:59:35 ehird: WINS: mogul LOSSES: everybody else 13:59:37 That type 13:59:43 Deewiant: Entrende 13:59:44 I had one for crisis, too, IIRC 13:59:51 Nah, I made it into a better one 13:59:53 Sec 14:00:41 ehird: ("Deewiant_meta", let a <-- b = not b || a in \(X f) -> f (X $ \(X g) -> g . X . const $ True) || f (X $ \(X g) -> (g . X . const $ True) <-- (f . X . const $ True))) 14:00:59 Where's <-- 14:01:02 oh 14:01:04 you define it 14:01:06 In your face 14:01:27 not b || a... surely that has a name 14:01:43 ehird, so const $ False means (const False)? which is a... um...? I'm guessing list or pair. 14:01:52 Application. 14:01:54 Of a function. 14:01:59 Same as "const False". 14:02:00 ah, right makes sense 14:02:03 Parentheses just group. 14:02:11 AnMaster: invert is: run the given function on a function that always returns False, then run it again on something that always returns what that just returned, then return the inverse of that result 14:02:11 const is a -> b -> a 14:03:06 Deewiant: I have an exceedingly silly idea which will be hideously long 14:03:08 ehird: a || not b is implication, which doesn't have a name but I typically call it (-->), hence that is (<--) 14:03:14 Er, not a || b 14:03:15 ehird, a . b . c would be (a (b (c))) right? 14:03:18 AnMaster: No. 14:03:21 Function composition. 14:03:28 AnMaster: That's a . b $ c, or a $ b $ c 14:03:33 a . b . c is (\x -> a (b (c x)) 14:03:42 ) 14:03:49 Deewiant: i think something like --> is defined in quickcheck 14:03:57 Possibly 14:04:03 except with weird semantics, not on just Bool 14:04:08 aha 14:06:12 ehird, X in there is the "own" warrior? 14:06:17 @hoogle length . filter 14:06:19 AnMaster: No. 14:06:21 Look at the first line. 14:06:22 uhu 14:06:28 hm 14:06:34 I explained all of this before you started asking. 14:06:35 ok it's a haskell type 14:06:38 Apparently you didn't listen 14:07:18 The X stuff is because the type is a = a -> Bool <-- aha right, missed that. 14:09:04 joust: ehird_whollyfuckingshit can't find itself 14:09:05 FUUUUUUUUUUUUUUUUUUUUUUUU 14:09:15 ehird: so what happens if a test goes into an infinite loop? 14:09:22 oerjan: I ^C 14:09:33 no, i mean what is the score? 14:10:18 ehird_whollyfuckingshit (0) 14:10:18 WINS: Deewiant_invert Deewiant_direct ehird_indirect ehird_crisis Deewiant_hippie Deewiant_meta 14:10:18 LOSSES: Deewiant_naive Deewiant_crysis Deewiant_mogul Deewiant_commie ehird_isometric Deewiant_marxist 14:10:19 :D 14:10:24 oerjan: The score is 14:10:31 ((your disk whirrs)) 14:10:34 AnMaster: invert is: run the given function on a function that always returns False, then run it again on something that always returns what that just returned, then return the inverse of that result <-- what is the logic behind that idea? 14:10:37 ((your CPU fan spins)) 14:10:38 etc 14:10:43 Deewiant, I mean, that warrior 14:10:56 Deewiant: Do you think it's kosher for one warrior to refer to the list of warriors? 14:10:58 as in, why did you think that would work well 14:11:06 Because right now this one line is 1164 characters 14:11:11 ehird: Not really, no 14:11:18 Oh well then 14:11:31 ehird: dammit, you are dense. what i mean is, is there a point in trying to make your opponent go into an infinite loop? 14:11:42 oerjan: Infinite loops are not handled in any way. 14:11:45 So, no. 14:12:07 Current scoreboard: http://pastie.org/593036.txt?key=k2yaglhjffsjs36jtcpgeg 14:12:18 AnMaster: I didn't, it's just a simple thing which works for itself and beats (const True). 14:12:24 Current code: http://pastie.org/593037.txt?key=yp0lk6yi5xgs14gpagi5w 14:12:27 Deewiant, heh 14:12:28 (WARNING: CONTAINS HUGE FUCKING LINE) 14:12:29 ehird: Consider sorting? 14:12:32 but what happens to the _scoreboard_ if a candidate tries that tactic? 14:12:39 AnMaster: It was my first idea after const True. 14:12:43 Deewiant: It's sorted according to newest warrior 14:12:52 oerjan: It doesn't get printed out because the program is in an infinite loop. 14:12:57 What's so hard for you to comprehend about this>? 14:13:00 ehird: Consider sorting by score, maybe in a summary at the top 14:13:01 trials :: String -> (X -> Bool) -> [(String,Bool)] 14:13:01 trials n f = map (\(n',g) -> (n',f (X g))) $ others n 14:13:05 It just won't terminate 14:13:14 Deewiant: A summary? Whyever? :P 14:13:25 trials n f = map (second $ f . X) $ others n 14:13:26 Anyway, but I'm doing it as a mapM_ and it's so simple! Bah. 14:13:36 ehird: To be able to see the ranking, dammit :-P 14:13:41 Deewiant: Also, fail. 14:13:47 That map won't work. 14:13:48 Also, fine. 14:13:56 Why not 14:14:05 Because it doesn't preserve the name 14:14:10 Oh, wait, it's that funky arrow stuff 14:14:17 second is not snd 14:14:23 :t sortBy 14:14:28 grr 14:14:44 ehird: so it is essentially disqualified? 14:14:59 oerjan: It blocks the whole thing and I remove it from the program. 14:15:10 i take that as a yes. 14:19:19 Deewiant: Scoreboard: http://pastie.org/593045.txt?key=81eqjha4erxadbubg1q3xq 14:19:32 Code: http://pastie.org/593046.txt?key=jtx9ruqiksyixdl8g2qq 14:19:42 whollyfuckingshit does amusingly well 14:24:59 -!- MigoMipo has joined. 14:26:08 Deewiant: Run out? :P 14:26:14 ehird: ("Deewiant_repetitive", \(X f) -> f . X . const . f . X . const . f . X . const $ True) 14:26:16 Snap 14:26:24 I think I'll stop there, though :-P 14:27:19 Deewiant: -1 14:27:25 Yep 14:27:26 0 locally 14:27:33 I was missing something, I guess 14:27:38 Deewiant: whollyfuckingshit? 14:27:51 Yeah, that 14:27:57 Deewiant: It's amazing, innit 14:28:40 It uses all the warriors you had and returns number of Trues >= number of Falses? 14:28:49 Yeah 14:29:11 ehird: biggusDickus = compare `on` uncurry score 14:29:26 Whatevs :P 14:29:30 = comparing (uncurry score) 14:29:32 I should get rid of the uncurries too 14:29:36 -!- Slereah_ has joined. 14:29:59 Hmm, does >= work better than > there 14:30:12 -!- Slereah has quit (Read error: 60 (Operation timed out)). 14:30:20 Deewiant: It errs on the side of caution for the sake of recognising itself 14:30:21 I'll try with > 14:30:35 joust: ehird_whollyfuckingshit can't find itself 14:30:46 ehird: Add another warrior so there's an odd number ;-P 14:30:55 const False 14:31:04 How about reptitive 14:31:10 *repetitive 14:31:48 ehird_whollyfuckingshit (7) 14:31:48 WINS: Deewiant_invert Deewiant_direct ehird_indirect ehird_crisis Deewiant_crysis Deewiant_mogul Deewiant_hippie Deewiant_marxist Deewiant_meta Deewiant_repetitive 14:31:49 LOSSES: Deewiant_naive Deewiant_commie ehird_isometric 14:31:51 Deewiant: Kickass. 14:31:54 :-) 14:32:22 I think repetitive is just sufficientnly weird 14:32:28 Scoreboard: http://pastie.org/593054.txt?key=xmko71rxpbvekzecg 14:32:32 Code: http://pastie.org/593053.txt?key=odlgsc4zehtwzbkn7uxua 14:32:40 The crazy thing is that the warriors are looking for THEMSELVES 14:32:49 So it's only identifying itself out of sheer luck :-) 14:32:57 Yep 14:33:08 (X,Y) are quite good at collectively determining that Z is not either of them, though. 14:33:35 Deewiant: It also reflects the general populace's ignorance wrt naive. 14:33:45 :-P 14:46:17 -!- FireFly has joined. 14:59:32 -!- puzzlet has quit (Read error: 60 (Operation timed out)). 15:01:25 -!- puzzlet has joined. 15:45:06 -!- jix has quit (Read error: 104 (Connection reset by peer)). 16:39:39 -!- sebbu3 has changed nick to sebbu. 16:57:05 -!- BeholdMyGlory has quit (Remote closed the connection). 17:03:00 -!- oerjan has quit ("leaving"). 17:19:19 -!- BeholdMyGlory has joined. 17:40:43 what's the command to locate an executable file? 17:46:51 which, where, whence 17:51:39 -!- MizardX has quit ("from __future__ import skynet"). 17:51:48 -!- MizardX has joined. 18:23:45 Deewiant, whence? 18:24:18 coppro, also type, it will tell you if the shell thinks it is a built in command or a shell function 18:25:19 AnMaster: whence cat --> /bin/cat 18:25:33 bash: whence: command not found 18:25:46 zsh-only then, presumably 18:25:54 Deewiant, a builtin in zsh? 18:26:04 type = whence -v 18:26:07 where = whence -ca 18:26:09 which = whence -c 18:26:13 Deewiant, type is POSIX though 18:26:24 which isn't 18:26:28 where isn't either 18:26:48 thanks 18:27:04 hmm 18:27:08 not whence 18:36:24 fast paced beeps during BIOS and no text on screen. hrrm 18:36:41 and of course the computer owner has no idea about where the manual is 18:36:46 I'd guess bad ram but who knows. 18:37:21 which kind of disproves xkcd today. There is more to being a geek that just that flowchart ;) 18:54:03 AnMaster: manual on the website, maybe? 20:09:35 -!- oklokok has joined. 20:16:17 -!- oklopol has quit (Read error: 145 (Connection timed out)). 20:27:48 -!- oklokok has quit (Read error: 104 (Connection reset by peer)). 20:27:58 -!- oklopol has joined. 20:49:28 -!- Sgeo has joined. 21:06:05 coppro, worth trying 21:36:28 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server"). 21:41:22 -!- olsner_ has joined. 21:55:24 -!- olsner has quit (Read error: 110 (Connection timed out)). 21:59:34 coppro, couldn't find one 22:11:12 night 22:28:14 -!- Sgeo has quit ("Leaving"). 22:35:15 so 22:35:24 I slept from 4pm - 7pm 22:35:31 my body thinks it's about 3-4pm 22:35:33 this is fun 22:36:55 it is about 3-4 pm 22:37:24 in the uk it's 22:36. 22:37:33 cool, someone adapted to uberman's at 15 22:37:41 proof that it cannot kill me! 22:42:09 -!- tom` has joined. 22:42:19 uberman's? 22:43:16 http://www.kuro5hin.org/story/2002/4/15/103358/720 is the canonical resource on it. 22:43:22 -!- tom` has left (?). 22:43:45 coppro: tl;dr how to be more awake and active than regular sleeping schedules on only 2 hours of sleep a day, split up 22:43:52 -!- puzzlet has quit (Remote closed the connection). 22:43:54 (...with large caveats) 22:43:55 -!- puzzlet has joined. 22:44:07 ah 22:45:01 but there's a large sentiment of "if you do it when you're under 18, bears will come out of the woods and maul your developmental process, turning you into the world's first bear-related retard" around the community, for obvious reasons 22:46:53 coppro: although the person's experience is questionable, since they also invented the tesla schedule 22:47:06 ah 22:47:09 which is uberman's, except instead of 6 x 20m every 4 hours, it's 4 x 20m every 6 hours 22:47:21 so it's entirely possible they're just naturally hardcor 22:47:21 e 22:47:23 coppro: also, ah. 22:47:41 seems to me the problem is you can't take naps in school usually 22:47:59 people have managed it, iirc 22:48:02 tesla obvs makes that easier 22:48:06 since you can plan the 6 hours around it 22:49:55 pretty stupid of me to want to try this really, as lack of sunlight depresses me 22:50:03 but i'm not sleeping properly, want more time and can always buy one of those fancy lamps 22:50:49 -!- FireFly has quit ("Later"). 22:50:49 -!- BeholdMyGlory has quit (Read error: 54 (Connection reset by peer)). 22:57:33 ("I'm not diabetic. Some people can't help it, they were born with lack of sunlight.") 23:01:11 I'm the same, but there's no way I could arrange for a nap during school, except during lunch, which is the best 30 minutes of the day 23:02:27 Found your own polyphasic school! :P 23:12:24 wow, the Eizo FlexScan S2242W can be rotated into portrait 23:12:28 too cool 23:15:55 -!- Gracenotes has joined. 23:39:38 -!- puzzlet has quit (Remote closed the connection). 23:39:43 -!- puzzlet has joined. 23:48:14 -!- GregorR_ has joined. 23:48:15 -!- GregorR_ has quit (Read error: 104 (Connection reset by peer)). 23:49:24 -!- GregorR has quit (Read error: 110 (Connection timed out)). 23:49:48 -!- GregorR_ has joined. 23:51:08 "Isn't Ubuntu kinda famous for lack of any GUI frontends?" 23:51:09 -!- GregorR_ has changed nick to GregorR. 23:51:11 (real quote) 23:51:39 O_O 23:51:52 Ubuntu, Slackware, what's the diff 23:52:06 GregorR: The latter is a BSD distro, duh