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