â†2011-10-05 2011-10-06 2011-10-07→ ↑2011 ↑all
00:00:05 <oerjan> hm comments on a postcard has passed 1000 comics.
00:05:16 * oerjan looks at draak's speech bubble in today's (well, yesterday's) iwc
00:05:19 <oerjan> oh dear.
00:11:24 -!- pikhq has joined.
00:14:20 -!- pikhq_ has quit (Ping timeout: 255 seconds).
00:14:31 <Gregor> OK, still alive. My curry hasn't killed m.e
00:14:33 <Gregor> *me.
00:14:43 <Gregor> (Yet)
00:30:16 -!- augur has quit (Remote host closed the connection).
00:30:55 -!- Sgeo|web has quit (Ping timeout: 252 seconds).
00:39:04 -!- clog has quit (Ping timeout: 252 seconds).
01:04:33 -!- augur_ has joined.
01:06:31 -!- augur_ has quit (Remote host closed the connection).
01:11:11 -!- Sgeo|web has joined.
01:12:55 * Sgeo|web mumbles something about having written 52 lines of Java-style Ruby when I could have done what I wanted in maybe 2 lines of Python
01:14:55 <Sgeo|web> List comprehensions. Not useless.
01:19:14 <Madoka-Kaname> What's this something?
01:19:24 <Madoka-Kaname> Doesn't ruby have filter, map, etc?
01:20:03 <Sgeo|web> What about cleanly combining two lists?
01:20:04 <Sgeo|web> cards = [((suit0, rank0), (suit1, rank1)) for suit0 in range(0,4) for rank0 in range(0,13) for suit1 in range(0,4) for rank1 in range(0,13) if (not (suit0 == suit1 and rank0 == rank1)) if (suit0==0) if (rank1==0)]
01:20:20 <Sgeo|web> The way I have two fors there
01:22:25 * oerjan counts four
01:23:10 <Sgeo|web> Erm, oops, yeag
01:24:23 <oerjan> that restricts suit0 and rank1 to be 0, doesn't it...
01:24:38 <Sgeo|web> https://gist.github.com/acda932ef3b2c6840f9c is the Ruby code I ended up writing
01:24:48 <Sgeo|web> oerjan: yes, that's the intent
01:25:18 <oerjan> why select them from a range first, then?
01:27:04 -!- kmc has joined.
01:27:50 <Sgeo|web> Trying to model the situation without thinking about it too much, I guess
01:28:39 <oerjan> mhm
01:31:32 <Sgeo|web> Is that line horrible, or are the Ruby people just bad at reading it?
01:34:14 <oerjan> > [c | c@(c0@(0,_), c1@(_,0)) <- range (((0,0),(0,0)),((3,12),(3,12))), c0 /= c1]
01:34:15 <lambdabot> [((0,0),(1,0)),((0,0),(2,0)),((0,0),(3,0)),((0,1),(0,0)),((0,1),(1,0)),((0,...
01:34:54 <oerjan> > length [c | c@(c0@(0,_), c1@(_,0)) <- range (((0,0),(0,0)),((3,12),(3,12))), c0 /= c1]
01:34:56 <lambdabot> 51
01:35:31 <Sgeo|web> I could attempt to understand that I guess, but I'd never be able to write that
01:35:32 <Sgeo|web> :/
01:35:39 * oerjan cackles evilly
01:35:53 <Sgeo|web> I guess that's why the Ruby people were complaining?
01:35:53 <oerjan> it uses the Ix class for array subscripts :P
01:36:39 <oerjan> which incidentally has a very compact range command which works for tuples
01:37:11 <tswett> Did not copy; say again please.
01:38:04 <oerjan> the range method for the Ix class gives you a "rectangular" range when used on tuples, which is just what you want here
01:38:15 <oerjan> > range (1,4)
01:38:17 <lambdabot> [1,2,3,4]
01:38:27 <oerjan> > range ((1,1),(3,3))
01:38:29 <lambdabot> [(1,1),(1,2),(1,3),(2,1),(2,2),(2,3),(3,1),(3,2),(3,3)]
01:38:48 <oerjan> well it's argument is always a tuple, i mean the fields of that tuple
01:38:50 <Sgeo|web> I understand my list comprehension perfectly
01:38:51 <oerjan> *its
01:39:22 <oerjan> well those work in haskell too, i just got carried away with making it even shorter
01:40:07 <Sgeo|web> I mean, the Ruby people are saying one-liners should be succint and easy to understand, not just one-liners for the sake of being one-liners
01:40:19 <Sgeo|web> But to me, my list comprehension IS succint and easy to understand
01:40:38 <oerjan> yeah
01:42:13 <Sgeo|web> Probably I'm treating Ruby unfairly by having my first draft be in it
01:44:26 <oerjan> i'm pretty sure there's a straightforward translation of the list comprehension to ruby using maps, filters and the like, just as the official haskell desugaring of them
01:45:21 <Sgeo|web> oerjan: What's the straightforward translation of the multiple fors?
01:45:59 <oerjan> @undo [((s0, r0),(s1, r1)) | s0 <- [0..3], r0 <- [0..12], s1 <- [0..3], r1 <- [0..12], not (s0 == s1 && r0 == r1), s0 == 0, r1 == 0]
01:46:00 <lambdabot> concatMap (\ s0 -> concatMap (\ r0 -> concatMap (\ s1 -> concatMap (\ r1 -> if not (s0 == s1 && r0 == r1) then if s0 == 0 then if r1 == 0 then [((s0, r0), (s1, r1))] else [] else [] else []) [0 ..
01:46:00 <lambdabot> 12]) [0 .. 3]) [0 .. 12]) [0 .. 3]
01:47:10 <oerjan> hm @undo used if's rather than filters
01:47:52 <oerjan> i don't know what in ruby corresponds to concatMap (i think in scala it's called flatmap)
01:48:43 <oerjan> something that works similarly to .each on your code, but concatenates the result
01:48:51 <oerjan> *in
01:48:58 <Sgeo|web> collect?
01:49:04 <Sgeo|web> Wait, no
01:49:17 <Sgeo|web> @src concatMap
01:49:18 <lambdabot> concatMap f = foldr ((++) . f) []
01:49:30 <oerjan> it's also concat . map
01:49:51 <Sgeo|web> :t concat
01:49:52 <lambdabot> forall a. [[a]] -> [a]
01:49:56 * Sgeo|web is having a derp moment
01:50:16 <oerjan> concat flattens one level of a list
01:51:30 <Sgeo|web> .flat_map aka .collect_concat
01:52:24 <oerjan> ok so
01:54:34 <Sgeo|web> (0...4).flat_map { |s0| (0...13).flat_map { |r0| (0...4).flat_map { |s1| (0...13).flat_map { |r1| ((s0, r0), (s1, r1))}}}}
01:54:39 <Sgeo|web> That's rather ugly
01:55:01 <Sgeo|web> And not the whole thing
01:55:06 <Sgeo|web> And I haven't actually tried it
01:55:13 <oerjan> pretty much, yes, except with a test inside |r1|
01:55:35 <Sgeo|web> I could put the test outside it, .filter at the end
01:55:38 <oerjan> why three . 's?
01:55:50 <Sgeo|web> three . makes it open on the end
01:56:06 <Sgeo|web> (0...4) excludes the 4, (0..4) includes it
01:56:16 <oerjan> yes, but inside you have all the variables you need to test on in scope
01:56:35 <oerjan> already
01:56:49 <Sgeo|web> Not sure how to filter while inside there...
01:57:18 <oerjan> you return an empty list of any test fails, otherwise a single element list
01:57:21 <oerjan> *if any
01:58:11 <oerjan> like that @undo result above
01:58:40 <oerjan> except the nested if's could be replaced by && or whatever ruby calls it
01:58:57 <Sgeo|web> (0...4).flat_map { |s0| (0...13).flat_map { |r0| (0...4).flat_map { |s1| (0...13).flat_map { |r1| !(s0 == s1 && r0==r1) && s0==0 && r1==0 ? ((s0, r0), (s1, r1)) : []}}}}
01:58:59 <Sgeo|web> Like that?
01:59:31 <oerjan> except you are not returning a list in the succeeding case
01:59:58 <Sgeo|web> (0...4).flat_map { |s0| (0...13).flat_map { |r0| (0...4).flat_map { |s1| (0...13).flat_map { |r1| !(s0 == s1 && r0==r1) && s0==0 && r1==0 ? [((s0, r0), (s1, r1))] : []}}}}
02:00:05 <oerjan> yeah
02:01:01 <oerjan> i don't really know ruby but that looks plausible
02:01:07 <Sgeo|web> Syntax error
02:01:14 <Sgeo|web> Expecting a = somewhere
02:02:45 <oerjan> ouch well i don't know about that, maybe it requires a statement instead of an expression somewhere?
02:03:41 -!- clog has joined.
02:03:46 <Sgeo|web> http://www.ruby-doc.org/core/Array.html#method-i-permutation I keep getting suggestions to use this, but, sadly, I can't figure out how
02:04:40 <Sgeo|web> Maybe with zipping somehow?
02:04:55 <oerjan> that would be more like if you wanted a list of all possible entire deck shufflings, i think
02:05:01 <oerjan> which would be horribly inefficient
02:05:19 <oerjan> (maybe universe-heat-death inefficient)
02:05:35 <Sgeo|web> http://www.ruby-doc.org/core/Array.html#method-i-product
02:05:52 <Sgeo|web> That's... pretty much what I want, except for needing to filter afterwards
02:05:56 <oerjan> oh wait, maybe if you specify n = 2
02:08:56 <Sgeo|web> <x0F_> (0...4).to_a.product((0...13).to_a).reject_if { |combination| #your_reject_criteria }
02:09:09 <oerjan> Sgeo|web: what about [0...4].product([0...13]).permutations(2).to_a
02:09:40 <oerjan> still needs a final filtering for your actual test
02:10:18 <oerjan> well [] or () i don't know
02:10:28 <Sgeo|web> What's the permutations() fort?
02:11:06 <oerjan> to get two unequal elements of the product in order
02:11:25 <oerjan> basically the product constructs a deck, then the permutations draws two cards from it
02:12:01 <Sgeo|web> Ooh, cool
02:13:09 <oerjan> (or rather, constructs all possible two card drawings)
02:14:37 -!- augur has joined.
02:27:10 -!- MDude has changed nick to MSleep.
02:29:19 -!- derrik has joined.
02:36:27 -!- kmc has quit (Ping timeout: 248 seconds).
02:50:59 -!- Sgeo|web has quit (Ping timeout: 252 seconds).
03:00:28 -!- kmc has joined.
03:26:04 -!- CakeProphet has joined.
03:26:04 -!- CakeProphet has quit (Changing host).
03:26:04 -!- CakeProphet has joined.
04:10:57 -!- augur has quit (Remote host closed the connection).
04:28:14 -!- lambdabot has quit (Ping timeout: 260 seconds).
04:33:15 -!- augur has joined.
04:44:50 -!- lambdabot has joined.
04:55:02 -!- derrik has quit (Quit: left).
05:00:14 <oerjan> @hoogle [a] -> [[a]]
05:00:15 <lambdabot> Data.List inits :: [a] -> [[a]]
05:00:15 <lambdabot> Data.List permutations :: [a] -> [[a]]
05:00:16 <lambdabot> Data.List subsequences :: [a] -> [[a]]
05:09:24 <pikhq> Hmm. I wonder what in Linux still uses bogomips.
05:09:44 <oerjan> the bogino accelerator
05:10:07 <pikhq> Oh, *that's* what requires the busy-wait?
05:11:13 <oerjan> yeah but it's ok because the boginos make up for it; they travel faster than bullshit
05:11:37 <oerjan> and i don't think i need to explain how fast _that_ is.
05:11:56 <pikhq> Ah, yes, the true physical limit.
05:12:55 -!- hagb4rd has joined.
05:14:53 <hagb4rd> steve jobbs is dead?
05:17:19 <oerjan> no. a different guy with a very similar name is, though.
05:17:42 <oerjan> ...i think i must be particularly annoying today.
05:18:04 <hagb4rd> hi oerjan. he was young. do you know how he died?
05:18:16 <oerjan> cancer, as expected
05:18:21 <hagb4rd> aw
05:18:27 <hagb4rd> thanks..i see
05:19:02 <pikhq> Such a jerky constellation.
05:19:18 <pikhq> Also a really annoying tropic.
05:19:30 <oerjan> pikhq: yeah that's why i'm a jerk
05:20:31 <oerjan> maybe i should travel to the sahara. at least i'd then be on tropic.
05:21:20 <hagb4rd> but dont try to travel throgh the sahara
05:21:29 <oerjan> why not?
05:22:00 <hagb4rd> its a dry place
05:23:26 <hagb4rd> and you could get killed by fundemantalists
05:23:33 <hagb4rd> :p
05:23:53 <oerjan> tragic
05:24:11 <hagb4rd> drama
05:24:32 <hagb4rd> its like comedy and tragedy isnt it
05:25:07 <oerjan> something like that
05:36:57 -!- pikhq_ has joined.
05:39:19 -!- pikhq has quit (Ping timeout: 255 seconds).
05:40:17 -!- Ngevd has joined.
05:40:24 <Ngevd> Aaaah!
05:40:43 <Ngevd> That was an "Aaaah!" of shock, not of discovery, btw
05:41:01 <Ngevd> What's happened to my Ubuntu!?
05:41:41 <augur> http://www.flickr.com/photos/clickandclash/5658641596/in/set-72157626584908000
05:42:02 <Ngevd> Probably not, but good try
05:42:04 <oerjan> Ngevd: gremlins
05:42:14 <Ngevd> The bar at the top is light gray!
05:42:27 <Ngevd> Loads of images have changed!
05:43:53 <oerjan> sounds like gremlins all right
05:44:09 <Ngevd> The one to change bluetooth options is broken!
05:44:13 <Ngevd> Which is okay, I don't use Bluetooth
05:45:15 <Ngevd> This is because I was the only person who liked Unity, isn't it?
05:45:30 <oerjan> they came for the bluetooth, but i did not speak up, for i did not use bluetooth.
05:49:09 <Ngevd> I AM GOING TO WRITE A STRONGLY WORDED LETTER TO THE FIRST SOUTH AFRICAN IN SPACE
05:55:52 <oerjan> what did the poor guy do
06:04:53 <oerjan> oh, right.
06:06:44 -!- Sgeo|web has joined.
06:06:55 <Sgeo|web> How does the 3kb IOCCC OS work?
06:08:47 <pikhq_> Probably by exploiting many curious properties of x86.
06:12:01 <Sgeo|web> If the mouse pointer goes off the left hand side of the screen it will reappear on the right, and vice-versa. If it goes off the top or bottom, it will go and corrupt some memory.
06:12:44 <Sgeo|web> http://www.ioccc.org/2004/gavin.hint
06:20:00 <pikhq_> It's probably not using paging, and not bounds-checking the VGA framebuffer.
06:20:04 <pikhq_> That'd pretty much do it.
06:20:51 * Sgeo|web wonders if it's possible to run the sort of Linux running on the ... wait, the js Linux emulator probably isn't emulating x86
06:22:46 <Sgeo|web> Oh, he does emulate an x86 o.O
06:22:51 <Sgeo|web> What was Gregor working on?
06:24:45 <oerjan> ^def test bf >>,[[-<<[->++<]>[-<+>]>]<<+>>,]<<.
06:24:45 <fungot> Defined.
06:24:55 <oerjan> ^test
06:24:55 <fungot> <CTCP>
06:25:08 <oerjan> wat
06:25:14 <oerjan> oh right
06:25:49 <oerjan> ^def test bf >>,[<<+>>[-<<[->++<]>[-<+>]>],]<<.
06:25:49 <fungot> Defined.
06:25:52 <oerjan> ^test
06:25:52 <fungot>
06:26:04 <oerjan> ^test
06:26:11 <oerjan> er
06:26:19 <oerjan> ^test
06:26:27 <oerjan> grmbl
06:27:25 <oerjan> ^test
06:27:25 <fungot>
06:27:31 <oerjan> ^test
06:27:57 <oerjan> ^bf .+[.+]
06:28:03 <oerjan> ^bf +[.+]
06:28:03 <fungot> <CTCP>.. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ ...
06:28:25 <oerjan> ^test <CTCP>
06:28:26 <fungot> 0
06:29:10 <oerjan> ^test <CTCP><CTCP>
06:29:10 <fungot> p
06:29:46 <Sgeo|web> Ooh, Internet connectivity in JSLinux is possible
06:29:49 <oerjan> > showIntAtBase 2 intToDigit 48 ""
06:29:49 <lambdabot> "110000"
06:29:59 <oerjan> > showIntAtBase 2 intToDigit 48 "p"
06:30:00 <lambdabot> "110000p"
06:30:06 <oerjan> er
06:30:17 <oerjan> > showIntAtBase 2 intToDigit (ord 'p') ""
06:30:18 <lambdabot> "1110000"
06:30:32 <oerjan> ^test <CTCP><CTCP>
06:30:32 <fungot> b
06:30:37 <oerjan> > showIntAtBase 2 intToDigit (ord 'b') ""
06:30:38 <lambdabot> "1100010"
06:32:18 <oerjan> Sgeo|web: wasn't gregor using MMIX or something like that
06:32:28 <oerjan> there were Ms in the name, anyhow
06:32:45 <Sgeo|web> MIPS?
06:32:54 <oerjan> or that.
06:34:09 -!- GreaseMonkey has joined.
06:56:31 <fizzie> It was jsmips, yes.
06:58:55 <fizzie> JSLinux is different, though.
06:59:10 <fizzie> It seems to emulate a full x86 system with all the hardware, and run a real Linux kernel on that.
06:59:28 <fizzie> JSMIPS OTOH just emulates Linux syscalls, if I recall correctly.
07:06:29 * Sgeo|web wonders how one goes about making a /dev/clipboard like that
07:09:25 * Sgeo|web wonders how implementable X would be
07:09:32 <Sgeo|web> >:D
07:16:16 -!- monqy has quit (Quit: hello).
07:34:04 -!- oerjan has quit (Quit: leaving).
07:34:06 -!- myndzi has quit (Ping timeout: 260 seconds).
07:35:49 -!- nooga has joined.
07:41:12 -!- myndzi has joined.
08:55:54 -!- SimonRC has quit (Ping timeout: 252 seconds).
08:58:58 -!- sebbu has quit (Read error: Connection reset by peer).
08:59:33 -!- ais523 has joined.
08:59:41 -!- sebbu has joined.
09:02:21 -!- SimonRC has joined.
09:09:46 -!- pikhq has joined.
09:10:09 -!- pikhq_ has quit (Ping timeout: 256 seconds).
09:21:58 <ais523> hmm, I've just discovered that none of Excel/Gnumeric/OpenOffice/LibreOffice are installed on my computer here at owrk
09:21:59 <ais523> *work
09:22:04 <ais523> and they sent me a .xls file to open
09:22:23 * ais523 opens it on their laptop
09:38:11 * ais523 edits it in OpenOffice, then prints it on "generic printer", then opens the resulting PostScript file on the work computer to print it
09:38:20 <ais523> yay for the invention of PostScript
10:11:39 <Vorpal> heh, it started raining outside and in minecraft at the same time.
10:12:25 <Vorpal> ais523: btw, why pdf when postscript exists?
10:12:35 <Vorpal> sure, pdf is based on ps
10:12:42 <Vorpal> but still, why introduce pdf
10:16:40 -!- ais523 has quit (Read error: Connection reset by peer).
10:17:59 -!- ais523 has joined.
10:32:33 -!- Zuu has quit (Read error: Connection reset by peer).
10:35:49 -!- GreaseMonkey has quit (Quit: The Other Game).
10:36:58 -!- Zuu has joined.
10:51:46 -!- Phantom_Hoover has joined.
10:52:02 <Phantom_Hoover> What are the haps my friends
11:04:21 <Phantom_Hoover> OK, SpaceChem has single-handedly made the £8 I spent on the latest Humble Bundle worthwhile.
11:05:37 <fizzie> Vorpal: Standardized font embedding, compression by default (okay, .ps.gz can happen), but probably mostly because not everyone wants a real(tm) programming language as the page description language. (For one thing, it's possible to extract a single page out of any PDF file; it's not possible in general to do the same to a PostScript file.)
11:06:18 <Phantom_Hoover> Surely it's /possible/, just inefficient.
11:06:24 <Vorpal> fizzie: ah
11:06:55 <Vorpal> Phantom_Hoover: they added yet another game?
11:06:56 <Vorpal> heh
11:07:04 <Vorpal> Phantom_Hoover: what sort of game is it?
11:07:19 <Phantom_Hoover> Vorpal, erm, have you played Codex of Alchemical Engineering?
11:07:42 <Vorpal> Phantom_Hoover: never even heard of that. Sounds interesting.
11:07:54 <fizzie> Phantom_Hoover: I'm not even sure it's possible. E.g. think of a postscript document which prints out a random number of pages on each interpretation. (I believe PostScript has a source of randomness built in.)
11:08:05 <Vorpal> "Download .deb" <-- only .deb? Come on.
11:08:17 <Phantom_Hoover> Vorpal, SpaceChem is a game based on fake chemistry.
11:08:23 <Vorpal> heh
11:08:34 <Phantom_Hoover> You have atoms input on one side, and you program two robots to move them around and bond them.
11:09:35 <Vorpal> nice
11:10:19 <Vorpal> is .deb the one based on cpio or is that .rpm?
11:10:54 <fizzie> Vorpal: .deb is the one that's an ar archive that contains two archives inside it.
11:11:21 <fizzie> (The inner ones are tarballs compressed either wtih gzip, bzip2 or nowadays I think also lzma/xz are allowed.)
11:12:19 <fizzie> (Other archive is the one unpacked into /; the other one is the control directory, with metadata and installation scripts and such.)
11:13:56 <fizzie> You can "ar x blah.deb data.tar.gz" (or one of the other extensions) and then you're left with a regular tarball.
11:14:04 <fizzie> I should probably buy that last bundle too.
11:14:33 <fizzie> I wasn't so sure about just Frozen Snoozers, but this last addition sounded interesting.
11:16:10 <Vorpal> wtf, my laptop randomly discharged the battery when unplugged and turned off
11:16:18 <Vorpal> how strange
11:26:46 <Phantom_Hoover> fizzie, hey, Frozen Synapse sounds pretty good.
11:30:11 <fizzie> It does, I'm just not sure it's my cup of tea, and it annoyed me to call it a "bundle" when there was just one game.
11:31:55 <Phantom_Hoover> Just make sure that no money goes to the guy who made Trauma.
11:35:18 <fizzie> Did you "play" it?
11:35:56 <fizzie> (Is there even a money slider for it?)
11:37:21 <fizzie> I like the sliders; they're like this illustrative example of how you can't have your cake and eat it too: you can't drag them all up to eleven. It's a zero-sum game, playing with them.
11:37:47 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
11:39:48 -!- Phantom_Hoover has joined.
12:20:21 -!- Ngevd has quit (Quit: Leaving).
12:20:33 -!- Ngevd has joined.
12:21:10 <Ngevd> Hello!
12:38:37 -!- nooga has quit (Ping timeout: 260 seconds).
12:40:13 <Ngevd> ais523, wiki spam
12:40:45 <ais523> Ngevd: thanks for the alert
12:42:17 <Ngevd> No problem
12:48:25 <Ngevd> How hard would it be to get something through the W3C?
12:52:33 <Ngevd> Like an XML thingy for defining programming languages
12:56:11 -!- derdon has joined.
12:56:58 <Ngevd> I've just realised
12:57:08 <Ngevd> I have never heard the tune to 99 bottles of beer
12:57:19 <Ngevd> Is it anything like 10 green bottles?
13:30:33 -!- nooga has joined.
13:38:36 <ais523> I haven't heard it either, IIRC
13:42:22 <Phantom_Hoover> I've heard it briefly on The Simpsons.
13:42:31 <Phantom_Hoover> It's not 10 green bottles.
13:42:37 <Ngevd> Okay
13:47:55 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
13:49:06 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
13:49:26 <Ngevd> > 1/0
13:49:26 <lambdabot> Infinity
13:49:32 <Ngevd> > div 1 0
13:49:33 <lambdabot> *Exception: divide by zero
13:49:39 <Ngevd> HOW CURIOUS
13:53:03 <ais523> >1/(1/0)
13:53:10 <ais523> > 1/(1/0)
13:53:11 <lambdabot> 0.0
14:02:44 <Ngevd> brb
14:02:49 -!- Ngevd has quit (Quit: Leaving).
14:08:32 -!- Ngevd has joined.
14:20:19 -!- Phantom_Hoover has joined.
14:20:19 -!- Phantom_Hoover has quit (Client Quit).
14:20:30 -!- copumpkin has joined.
14:23:58 -!- Phantom_Hoover has joined.
14:24:11 <ais523> > 1/(-1/0)
14:24:12 <lambdabot> -0.0
14:24:14 <Phantom_Hoover> Welp, SpaceChem has me stuck.
14:24:29 <Ngevd> Haven't got the new humble bundle yet
14:24:56 <Ngevd> Busy installing a crappy version of a crappy programming language to play with the vaguely decent features
14:25:55 <Phantom_Hoover> Oh god please don't turn into Sgeo please please please.
14:26:22 <Ngevd> Why would I turn into Sgeo?
14:26:30 <Ngevd> Turning into Taneb is much more fun
14:26:34 -!- Ngevd has changed nick to Taneb.
14:26:34 <Phantom_Hoover> Because that's what Sgeo stereotypically does.
14:27:23 <Taneb> But yeah, having VB2010 express installed may come in handy.
14:27:56 <Phantom_Hoover> Sure, you say that, but before you know it you're learning a new language each week.
14:28:07 <Taneb> VB was my first language
14:28:16 <Taneb> Back when it sucked worse
14:30:05 <Taneb> Dammit microsoft, I don't need Microsoft SQL Server 2008 R2 Management Objects
14:33:57 <Phantom_Hoover> Yes you do.
14:37:40 <shachaf> Everyone needs a few Microsoft SQL Server 2008 R2 Management Objects in their life.
14:45:02 -!- derdon has quit (Remote host closed the connection).
15:11:39 -!- MSleep has changed nick to MDude.
15:13:03 -!- elliott has joined.
15:18:24 * Phantom_Hoover starts suspecting he didn't get something about SpaceChem.
15:19:55 <Phantom_Hoover> Syntheses with more than a couple of bonds are so... *ugly*.
15:21:46 <Phantom_Hoover> You have to loop around loads because the closest thing to flow control is syncing.
15:22:53 <elliott> I think the "all my solutions are ugly and overcomplicated" thing is a common Spacechem experience.
15:23:10 <Phantom_Hoover> :(
15:23:13 <Phantom_Hoover> I mean, take ammonia.
15:23:32 <Phantom_Hoover> That's the same process, bonding an N to an H, three times.
15:24:17 <Phantom_Hoover> You can't make one waldo move the hydrogens, because you can't move over the same path in the same direction without looping back.
15:26:49 -!- augur has quit (Remote host closed the connection).
15:30:50 <Taneb> Bye
15:32:40 -!- ais523 has quit (Remote host closed the connection).
15:35:39 -!- Taneb has quit (Ping timeout: 260 seconds).
15:36:20 <elliott> Phantom_Hoover: Behold my mess: http://sprunge.us/MOPJ
15:37:16 -!- tac-tics has joined.
15:40:49 -!- yukari has joined.
15:42:07 -!- yukari has left ("I'm a happy Miranda IM user! Get it here: http://miranda-im.org").
15:43:50 <elliott> Phantom_Hoover: Come on, you have to admire xs <- liftIO . atomically $ sequence =<< map (\(k,v) -> (,) k <$> readTVar (playerPosition v)) . filter (\(k,_) -> k /= entityID) . M.toList . snd <$> readTVar (serverPlayers st).
15:46:55 <elliott> 23:41:33: <Sgeo|web> Steve Jobs died
15:46:55 <elliott> 23:44:01: <Gregor> Oh?
15:46:55 <elliott> 23:44:11: <pikhq_> Sure enough.
15:46:55 <elliott> 23:44:14: <Gregor> You seem to have beat Google News.
15:46:55 <elliott> 23:44:36: <pikhq_> It seems to have literally just happened.
15:47:01 <elliott> I'm not implying anything, but...
15:47:37 <elliott> 23:48:34: <Gregor> Welp, Jobs managed to capture our attention for three minutes.
15:47:37 <elliott> 23:48:36: <Gregor> That's pretty good, really.
15:47:37 <elliott> [...]
15:47:37 <elliott> 23:53:16: <Gregor> OK, I am seriously terrified by this curry ... PLEASE DON'T BURST INTO FLAMES ... I'M SORRY THAT I'VE ANGERED THE COCONUT OIL GODS ...
15:47:43 <elliott> I'm just saying...
15:48:04 <elliott> 23:56:24: <oerjan> "Gregor has a preternatural talent for creating wonderfully salient and laisse-faire compositions alluding to the bourgoisie sensibilities of the current American zeitgeist."
15:48:05 <elliott> 23:57:01: <oerjan> someone else can do the remaining 78
15:48:05 <elliott> 23:57:41: <oerjan> (no, i'm not sure what all those words mean)
15:48:05 <elliott> 23:58:14: <Gregor> oerjan: Good! Gettin' there!
15:48:13 <elliott> Gregor: The remaining seventy-eight words are all "dicks". HTH
15:49:10 <elliott> 01:20:04: <Sgeo|web> cards = [((suit0, rank0), (suit1, rank1)) for suit0 in range(0,4) for rank0 in range(0,13) for suit1 in range(0,4) for rank1 in range(0,13) if (not (suit0 == suit1 and rank0 == rank1)) if (suit0==0) if (rank1==0)]
15:49:18 <elliott> Sgeo|web: ugly, and wider than any editor window
15:49:45 -!- tac-tics has left.
15:49:50 <elliott> 01:54:34: <Sgeo|web> (0...4).flat_map { |s0| (0...13).flat_map { |r0| (0...4).flat_map { |s1| (0...13).flat_map { |r1| ((s0, r0), (s1, r1))}}}}
15:49:50 <elliott> at least it's shorter than the python
15:50:31 <Phantom_Hoover> Steve Jobs is dead?
15:50:57 * Phantom_Hoover wonders how happy he can be without being a complete dick.
15:51:25 <Phantom_Hoover> "Bloomberg accidentally published Jobs' obituary in 2008. Arik Hesseldahl of BusinessWeek magazine opined that "Jobs isn't widely known for his association with philanthropic causes", compared to Bill Gates' efforts."
15:51:32 <elliott> Phantom_Hoover has steadfastly avoided all forms of news and internet media all day.
15:51:41 <elliott> Also probably 0 happies; I don't think Jobs has done anything actually malicious.
15:52:00 <Phantom_Hoover> This is sooooo close to Alfred Nobel's story.
15:53:43 <elliott> 05:18:04: <hagb4rd> hi oerjan. he was young. do you know how he died?
15:53:44 <elliott> 05:18:16: <oerjan> cancer, as expected
15:54:00 <elliott> I would have been impressed if he managed to die of something else right after taking a long leave and then stepping down because of obvious health reasons.
15:55:54 -!- monqy has joined.
15:56:28 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
15:56:39 <elliott> 06:20:51: * Sgeo|web wonders if it's possible to run the sort of Linux running on the ... wait, the js Linux emulator probably isn't emulating x86
15:56:40 <elliott> 06:22:46: <Sgeo|web> Oh, he does emulate an x86 o.O
15:56:40 <elliott> 06:22:51: <Sgeo|web> What was Gregor working on?
15:56:40 <elliott> mips
15:56:47 <elliott> 06:32:18: <oerjan> Sgeo|web: wasn't gregor using MMIX or something like that
15:56:49 <elliott> it was mmix firts
15:56:50 <elliott> first
15:56:51 <elliott> then mips
15:57:16 <elliott> 10:12:35: <Vorpal> sure, pdf is based on ps
15:57:16 <elliott> 10:12:42: <Vorpal> but still, why introduce pdf
15:57:19 <elliott> Vorpal: pdfs cant infinite loop
15:57:47 <hagb4rd> ellitott: nico died in a car accdident two weeks after she succesfully cured her heroin dependancy
15:58:08 <Vorpal> elliott: oh right
16:01:05 <hagb4rd> http://www.youtube.com/watch?v=UNI8CGaT_jk
16:01:11 <elliott> "curing a heroin dependency" sounds a bit more psychological than cancer :P
16:09:08 <hagb4rd> however terrible it swill get us all soon enough
16:11:29 -!- Phantom_Hoover has joined.
16:11:52 <elliott> Phantom_Hoover.
16:12:03 -!- 64MAAM69P has joined.
16:12:04 <elliott> xs <- liftIO . atomically $ sequence =<< map (\(k,v) -> (,) k <$> readTVar (playerPosition v)) . filter (\(k,_) -> k /= entityID) . M.toList . snd <$> readTVar (serverPlayers st)
16:12:06 <elliott> Start admiring.
16:12:16 <Phantom_Hoover> I worked out what it was that I didn't get about SpaceChem.
16:12:57 <elliott> Start
16:12:57 <elliott> ad
16:12:58 <elliott> mi
16:12:58 <elliott> ring
16:13:36 <Phantom_Hoover> Oh god my eyes
16:13:36 <Phantom_Hoover> http://www.jamesaltucher.com/2011/02/10-unusual-things-i-didnt-know-about-steve-jobs/
16:13:43 <Phantom_Hoover> Reddit stop making me read stupid things
16:14:09 <monqy> i almost clicked but then i stopped myself and then i read that it was stupid and then i felt glad about my decisions
16:14:16 <Phantom_Hoover> " I actually think Jobs is probably the most charitable guy on the planet. Rather than focus on which mosquitoes to kill in Africa (Bill Gates is already focusing on that), Jobs has put his energy into massively improving quality of life with all of his inventions."
16:14:25 <Phantom_Hoover> Charity.
16:14:30 <Gregor> lol
16:14:56 <Phantom_Hoover> http://www.jamesaltucher.com/2011/02/living-life-is-better-than-dying-in-college/
16:15:05 <Phantom_Hoover> help i'm being sucked into a whirlpool of stupid
16:15:30 <elliott> http://4.bp.blogspot.com/_mT_OPhlZxz4/TFcoXMbG9SI/AAAAAAAAABQ/8a9g3PEsBF4/s320/college+misery+matrix.jpg
16:15:35 <elliott> I don't see the relation to the Matrix.
16:16:06 <Gregor> "I'm already getting tired of that commercial where John Hodgman brags about how he's a PC and is alive."
16:16:16 <Gregor> ♥ Onion :P
16:16:17 <Phantom_Hoover> http://www.jamesaltucher.com/2011/01/8-alternatives-to-college/
16:16:20 <elliott> "3) He made the game “Breakoutâ€"
16:16:25 <elliott> Phantom_Hoover: I like the part where Woz did that instead.
16:16:50 <elliott> Designer(s)Nolan Bushnell (conception),
16:16:50 <elliott> Steve Bristow (conception),
16:16:50 <elliott> Steve Wozniak (prototype)
16:16:59 <Phantom_Hoover> Wait until he waves away Jobs lying to Wozniak and cheating him out of his earnings.
16:17:07 <elliott> "The same year, Alcorn assigned Steve Jobs to design a prototype. Jobs was offered US$750, with an extra $100 each time a chip was eliminated from the prospected design. Jobs promised to complete a prototype within four days.
16:17:07 <elliott> Jobs noticed his friend Steve Wozniak—employee of Hewlett-Packard—was capable of producing designs with a small number of chips, and invited him to work on the hardware design with the prospect of splitting the $750 wage. Wozniak had no sketches and instead interpreted the game from its description. To save parts, he had "tricky little designs" difficult to understand for most engineers. Near the end of development, Wozniak considered moving
16:17:07 <elliott> the high score to the screen's top, but Jobs claimed Bushnell wanted it at the bottom; Wozniak was unaware of any truth to his claims. The original deadline was met after Wozniak did not sleep for four days straight. In the end 50 chips were removed from Jobs' original design. This equated to a US$5,000 bonus, which Jobs kept secret from Wozniak, instead only paying him $375.[1][2][3][4][5][6]"
16:17:37 -!- 64MAAM69P has quit (Remote host closed the connection).
16:18:04 <elliott> "I think from now on I’m going to be a pescetarian, just because Steve Jobs is one. Except when I’m in Argentina. In Argentina you have to eat steak."
16:20:11 <Phantom_Hoover> "The 'selfish' prick has obviously made contributions to improve the lives of millions through his products' competitive superiority, and deserves to direct that $40B as he sees fit... can anyone argue they would spend it better than Jobs?"
16:21:17 <elliott> But seriously though, let's stop reading this crap, it's not even amusingly bad.
16:21:41 <elliott> Boring HWN this week.
16:23:11 <Phantom_Hoover> http://www.youtube.com/watch?v=hLVsIpejFgM
16:23:20 <Phantom_Hoover> This has single-handedly made it worthwhile.
16:28:05 -!- augur_ has joined.
16:34:07 -!- Ngevd has joined.
16:35:41 <Vorpal> wait a second, is a .deb an ar archives with .tar.gzs in it?!
16:36:00 <Ngevd> Hello!
16:36:20 <elliott> Vorpal: only one .tar.[compression]
16:36:25 <elliott> although hmm
16:36:28 <elliott> maybe control is a tar too
16:36:32 <Vorpal> yes
16:37:01 <Vorpal> elliott: problem: they added a new game to the last bundle, called SpaceChem. I'm having problems trying it out because the download is a .deb, no other options offered
16:37:18 <elliott> I know what SpaceChem is.
16:37:21 <Vorpal> and I'm trying to figure out how to extract the files from it
16:37:24 <elliott> Vorpal: Just use alien.
16:37:33 <elliott> It can convert between deb, rpm, slackware tgz, ...
16:37:51 <Vorpal> elliott: but what about arch linux packages?
16:37:51 <elliott> Probably the slackware tgz will be the most useful for you.
16:37:53 <Vorpal> yeah
16:38:06 <elliott> Vorpal: But basically, the .tar.gz in an .ar is the root directory.
16:38:16 <Vorpal> how strange
16:38:16 <elliott> So just get that out and do whatever the Arch equivalent of checkinstall is.
16:38:20 <elliott> Why?
16:38:25 <elliott> How else would you do it?
16:39:00 <Vorpal> well, I'm not sure I would use a ar wrapper around the .tar.gz, I might do something like a .tar.gz with, say, a install-script directory and a file tree directory + a metadata file in it
16:39:06 <Phantom_Hoover> Yesssssss, finally got the ammonium synthesis done.
16:39:50 <Phantom_Hoover> (In case anyone else makes the same mistake I did, the "add bond" instruction adds bonds between all atoms on bonding tiles, not just the one under the waldo.)
16:40:24 <Vorpal> elliott: well it installs everything in /opt/ in a clean way, just adds a menu entry and a symlink outside that
16:40:31 <Vorpal> so should be easy to get that package working
16:40:33 <Ngevd> Buyinh humble bundle
16:40:36 <elliott> Vorpal: I'd just untar it.
16:40:42 <elliott> Vorpal: If it's in /opt you don't need it in the package manager.
16:40:45 <Vorpal> elliott: indeed
16:41:20 <Vorpal> elliott: with "to get that package working" I meant the .deb, as in that I don't need an arch linux package
16:41:29 <Vorpal> the menu entry I don't need
16:41:33 <elliott> ar x ...; tar xf -C / foo.tar.gz
16:41:40 <elliott> erm
16:41:42 <elliott> -C has to come first
16:41:46 <elliott> tar has the worst invocation syntax ever
16:42:05 <Vorpal> XD
16:42:29 <Ngevd> Bundle bought
16:42:32 <Vorpal> elliott: I did tar xf data.tar and then sudo mv opt/zawtflongname /opt :P
16:42:37 <elliott> Ngevd: FOR HOW MUCH
16:42:45 <elliott> Vorpal: Well, there's that, yes.
16:42:56 <Vorpal> elliott: easier than tar syntax :P
16:43:26 <Ngevd> FIVE WHOLE DOLLARS
16:44:05 <Vorpal> wait what? it opens a youtube link in firefox to an embedded .swf version, giving me a download prompt
16:44:07 <Vorpal> how weird
16:44:07 <Ngevd> ...The soundtrack for Frozen Synapse is more memory than the actual game
16:44:43 <Vorpal> Ngevd: you mean the download size? Yeah I think it contains some bonus tracks that didn't actually make it into the game
16:44:53 <Ngevd> Aaah
16:45:43 <Vorpal> [355225.880924] sr0: CDROM not ready. Make sure there is a disc in the drive. <-- huh, why is launching SpaceChem doing that
16:46:19 <shachaf> elliott: What are you network serving?
16:46:52 <shachaf> Oh, it's Minecraft, isn't it?
16:47:12 <Phantom_Hoover> Ngevd, don't play Frozen Synapse I will sad :(
16:47:38 <Ngevd> I REFUSE TO UNSAD A GHOSTLY VACUUM CLEANER/US POLITIAN
16:47:41 <elliott> shachaf: Yes, yes it is.
16:47:52 <shachaf> MINECRAFT IS THE DEVIL
16:47:56 <elliott> shachaf: Yes, yes it is.
16:47:58 <Vorpal> Phantom_Hoover: why? I like Frozen Synapse
16:47:59 <Vorpal> it is cool
16:48:19 <shachaf> elliott: Your next response is just going to be the same as your previous two.
16:48:29 <Ngevd> Apparently there's been snow today
16:48:30 <Phantom_Hoover> Vorpal, I can't play it though.
16:48:54 <Phantom_Hoover> Snow be comin' in earlier every year.
16:49:33 <Ngevd> SYNAPSE INSTALLED
16:50:02 <elliott> shachaf: No, no it's not.
16:50:20 * shachaf set elliott up with a question he couldn't go wrong at.
16:50:22 <Vorpal> Ngevd: where?
16:50:40 <Vorpal> shachaf: minecraft is awesome
16:50:52 <Ngevd> Vorpal: my computer
16:51:06 <Vorpal> Ngevd: no I meant the snow
16:51:19 <Ngevd> High lying areas
16:51:19 <elliott> Vorpal: No it's not.
16:52:49 <Ngevd> I can't get on Frozen Synapse :(
16:53:05 <elliott> Ngevd: HAHAHAHAHA JUST LIKE PH
16:53:25 -!- ais523 has joined.
16:53:26 <Ngevd> What's my key?
16:53:41 <Vorpal> elliott: okay minecraft is fun, but could be better. Sure
16:54:40 <elliott> Ngevd: how should we know?
16:54:57 -!- Ngevd has quit (Read error: Connection reset by peer).
16:55:05 -!- Ngevd has joined.
16:55:25 <Ngevd> Where can I find my key?
16:56:00 <Ngevd> Found it!
17:01:00 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
17:03:44 <ais523> significant areas of Canada have lost all internet access, it seems, due to the only satellite in range malfunctioning
17:04:04 <Ngevd> Bye
17:04:06 -!- Ngevd has quit (Quit: what a big quitter he is, eh?).
17:04:18 <ais523> I suppose this'll lead to an argument between me and elliott as to just how essential Internet access is
17:04:34 <ais523> affects telephone too, so it could be quite bad
17:04:50 <elliott> Internet access isn't quite at the essential stage yet.
17:05:14 <elliott> But IIRC there are already quite a lot of forms in some countries that can't actually be done offline
17:06:27 <ais523> they tend to assume at least ready access to public libraries, I think
17:06:37 <ais523> or the ability to turn up to government offices and use computers there
17:07:27 -!- Phantom_Hoover has joined.
17:07:29 <elliott> ais523: the fact that you can access something at a library doesn't make it non-essential :P
17:07:35 <elliott> it just means it's not essential /and/ hard to access
17:07:37 <elliott> erm
17:07:42 <elliott> it just means it's essential /and/ not hard to access
17:07:43 <Phantom_Hoover> So has anyone else played SpaceChem yet.
17:07:44 <ais523> elliott: indeed, but it offers an alternative access route for it
17:08:33 <elliott> it's not an alternative, it's still using the internet
17:08:41 <elliott> (and an long-term internet outage would still affect it)
17:08:47 <elliott> (unless libraries get their internet via magic)
17:08:51 <ais523> indeed
17:09:21 <ais523> the ironic thing is, that in the modern world, an Internet outage could easily be worked around if it didn't affect the telephone system
17:13:02 <ais523> when Egypt's internet was cut, there was a French ISP giving Egyptians free dial-up access, for instance (on the basis that they were hardly using their dial-up capability for anything else nowadays)
17:13:52 <elliott> heh
17:14:00 <elliott> ais523: that only works until dial-up becomes completely unusable
17:14:10 <elliott> I doubt Egyptian protesters were using IRC
17:14:23 <ais523> elliott: dial-up is enough for most of the basic things people need the Internet for
17:14:27 <ais523> just turn off images and scripts
17:14:30 <ais523> if web browsing
17:14:30 <elliott> it is for now
17:14:36 <elliott> ais523: scripts?
17:14:39 <elliott> ok, so now facebook and twitter don't work
17:14:54 <elliott> those were used extensively in the relevant protests (well, I don't know about Egypt in particular)
17:14:55 <ais523> wow, they're really coded that badly?
17:15:11 <ais523> I'm pretty sure at least Twitter works without scripts; it's just that the #! URLs don't
17:15:30 <elliott> you can't post without scripts, I don't think
17:15:31 <elliott> ais523: coding for people without scripts turned on is like coding for people whose browsers just don't understand <insert common HTTP header here> nowadays
17:15:36 <elliott> ais523: it's unfortunate, yes
17:15:43 <elliott> but it's also true
17:15:58 <ais523> I dislike scripts because they give a lot more scope for pages to act in bad-UI ways
17:16:08 <elliott> ais523: "it's unfortunate"
17:16:10 <ais523> like hanging, not obeying typical UI conventions, etc
17:16:13 <elliott> I don't like the web's scripting model
17:16:32 <elliott> but the web really won't be usable without scripting turned on for that much longer, as unfortunate as that is
17:17:07 <elliott> (a lot of the blame lies in the fact that it can be pretty annoying to write something that works fully without scripting but just works more fluidly with scripting turned on; the web is very badly architectured, as is obvious)
17:19:25 <elliott> So does the reality distortion field evaporate now, or does it move on to someone else?
17:21:13 <ais523> we'll have to observe Apple fans to check
17:21:33 <elliott> Who says it'll affect Apple fans this time?
17:21:49 <elliott> Ooh, this would be a good Doctor Who villain.
17:21:55 <ais523> it wouldn't be /the/ reality distortion field if it didn't affect Apple
17:22:00 <ais523> it'd be a different reality distortion field
17:22:08 <elliott> ais523: it only affected Apple fans because Steve Jobs was at Apple, duh
17:24:33 <ais523> I'm not certain it was Steve Jobs who created it
17:24:45 <ais523> he was just in charge of working out where to distort
17:26:49 <elliott> ais523: If it's passing on to somebody else, it's probably been around for millennia.
17:26:54 <elliott> OK this is starting to REALLY sound like a Doctor Who villain.
17:27:10 <ais523> so the villain's a sentient concept?
17:27:13 <ais523> that sounds pretty doctor who-appropriate
17:36:01 <Phantom_Hoover> `quote
17:36:07 <HackEgo> 251) <zzo38> Maybe they should just get rid of Minecraft. If more people want it someone can make using GNU GPL v3 or later version, with different people, might improve slightly.
17:36:45 <Phantom_Hoover> I have finally made a reaction in SpaceChem that I'm proud of.
17:37:11 <elliott> "I call it... love."
17:39:23 <Vorpal> ais523: where does the context for that discussion start?
17:39:58 <Vorpal> <Phantom_Hoover> So has anyone else played SpaceChem yet. <-- a bit, kind of cool but not really my type of game.
17:40:38 <ais523> Vorpal: with Steve Jobs' death
17:40:44 <ais523> we were discussing the Reality Distortion Field
17:41:02 <elliott> <Vorpal> Steve Jobs died?? I am literally a hermit and have no idea what human civilisation is.
17:41:12 <elliott> (IT SURE WILL BE EMBARRASSING IF I PREDICT THIS INCORRECTLY)
17:41:37 <Vorpal> ais523: he died!?
17:41:42 <Vorpal> ais523: when?
17:41:43 <elliott> ais523: Hey, I was right.
17:41:49 <Vorpal> and what will happen to Apple now hm
17:41:57 <ais523> Vorpal: some time between today and yesterday
17:42:04 <elliott> Vorpal: He'd already stepped down.
17:42:07 <ais523> I saw you also missed him stepping down as CEO of Apple; that was months ago
17:42:08 <Vorpal> elliott: I know
17:42:16 <Vorpal> ais523: no I didn't
17:42:18 <elliott> Exactly nothing will happen beyond the stock price plummeting and then going back up the next day.
17:42:21 <elliott> That already happened.
17:42:21 <Vorpal> but well, he was still there
17:42:43 <Vorpal> ais523: it is just that it seemed to go from HTTP headers to Steve Jobs suddenly.
17:42:47 <elliott> Vorpal: People don't take many months of leave and then step down as CEO saying that the time has come when they are no longer able to do their duties for the company... without it being health-related.
17:42:48 <Vorpal> that is why I got confused
17:42:52 <Vorpal> well, scripting & http headers
17:43:01 <Vorpal> elliott: indeed
17:43:12 <elliott> Anyone who didn't see this coming is pretty naive, although admittedly I was expecting it to take longer.
17:43:19 -!- augur_ has quit (Remote host closed the connection).
17:43:43 <Vorpal> elliott: yeah I was seeing it, but I was expecting it maybe next year or so
17:43:52 <Vorpal> not so suddenly
17:44:04 <shachaf> Vorpal: I heard you have no sense of humor once.
17:44:10 <shachaf> Or was it me who didn't have one?
17:44:14 <Vorpal> shachaf: don't listen to elliott
17:44:30 <shachaf> elliott: Should I listen to Vorpal?
17:44:35 <elliott> shachaf: He has as much a sense of humour as he has scrollback.
17:44:36 <Vorpal> shachaf: maybe
17:44:40 <elliott> That's something both me and Vorpal can agree on.
17:44:53 <Vorpal> elliott: well yes, I have 1000 line scrollback in this irc client
17:44:55 <Vorpal> per channel
17:45:08 <elliott> shachaf: Vorpal has no scrollback and never, ever misses context.
17:45:11 <elliott> s/misses/gets/
17:45:15 <elliott> See, now we've shifted the disagreement.
17:45:19 <Vorpal> elliott: no the original was correct
17:45:28 <Vorpal> mostly
17:49:04 <Phantom_Hoover> Vorpal, wait, you didn't like SpaceChem you are the worst.
17:49:40 <Phantom_Hoover> Vorpal, you don't act like it.
17:50:25 <Phantom_Hoover> <Vorpal> <whoever, 5 seconds ago> Thing that makes complete sense if you read the last line. <-- I don't get it, context?
17:50:58 <elliott> Phantom_Hoover: ?
17:51:22 <Phantom_Hoover> elliott, it's a short play demonstrating how Vorpal doesn't have scrollback.
17:51:36 <elliott> Phantom_Hoover: WHOOOOSH
17:52:22 <Vorpal> <Phantom_Hoover> Vorpal, wait, you didn't like SpaceChem you are the worst. <-- I think it is a good game. No doubt about that
17:52:38 <Vorpal> but it is not my type of game.
17:53:43 <Vorpal> Phantom_Hoover: I'm saying that it is a good game in it's genre. But that I don't really enjoy playing that genre.
17:54:44 -!- augur_ has joined.
17:59:08 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
17:59:33 -!- calamari has joined.
17:59:46 -!- pikhq_ has joined.
17:59:59 -!- pikhq has quit (Ping timeout: 256 seconds).
18:04:44 -!- Ngevd has joined.
18:05:18 <Ngevd> Hello!
18:06:08 <Ngevd> It is my personal belief, which may not be accurate to reality, that the wiki moves slowly and not many interesting languages are created all that often
18:06:59 <Gregor> Waaah?
18:07:09 <Ngevd> I want more esolangs
18:07:50 <Gregor> Then write more esolangs.
18:08:01 <Ngevd> I wrote the newest esolang
18:08:48 <Gregor> Gee, the owner of codu.net is offering it to me for $250.
18:09:06 <Gregor> Value to me: none
18:09:47 <Ngevd> I would buy it and pretend to be someone called Richard Grieg
18:09:55 <Ngevd> But I have not enough money to do such
18:12:27 <Ngevd> "Codu is the personal page of Richard Grieg, a programmer and college student from Portland, Dorset, currently at Patna, and so living in Western India. He (I) will be posting some arbitary projects to this page. If you are interested in Grieg's academic career, got o his academic page."
18:13:44 -!- MDude has quit (Ping timeout: 258 seconds).
18:13:46 <Ngevd> Also, is your hat page representative of the ones you wear often?
18:14:01 <Gregor> I wear all of my hats at random intervals.
18:14:08 <Ngevd> I have three hats
18:14:17 <Ngevd> All of which I have worn approximately twice
18:14:32 <Gregor> Well then you fail at hats.
18:14:40 <Ngevd> Yes I do
18:15:13 <calamari> I have two hats, I win at failing
18:15:27 <calamari> :P
18:16:25 -!- Phantom_Hoover has joined.
18:17:49 <Gregor> Well, that depends.
18:17:50 <Gregor> Both of you: How many of those are baseball caps?
18:17:58 <Ngevd> One is a cricket cap
18:18:03 <Ngevd> That's pretty close
18:19:21 <calamari> 2
18:19:46 <Ngevd> It's an Australia cap
18:19:55 <Ngevd> I bought it when I was in Australia
18:20:26 <elliott> I buy all of my Australia caps in Finland.
18:20:49 <Ngevd> Good choice; they're cheaper there
18:21:22 <calamari> I buy all my chinese electronics in USA.. oh wait
18:21:36 <Ngevd> ...
18:29:22 -!- augur_ has quit (Remote host closed the connection).
18:30:08 -!- Gregor has set topic: Welcome to the international hub for exoteric voodoo programming design and deployment! | computed jumps... the topic. | 12345678^&!* | http://codu.org/logs/_esoteric/.
18:39:31 <ais523> hey, my mother's Windows machine, the version of Firefox on it cannot download executabel files, the download gets cancelled as soon as it tries
18:39:39 <ais523> it's clearly capable of downloading in general, because it can show web pages
18:39:42 <ais523> *executable
18:39:45 <ais523> any idea what's going on?
18:39:53 <ais523> IE has similar issues
18:40:19 * pikhq_ puts on his Windows cap
18:40:22 <pikhq_> Reinstall.
18:40:37 <Phantom_Hoover> You put on your robe and Windows cap?
18:40:39 <ais523> there are no rescue disks to reinstall from
18:40:58 <pikhq_> *blink*
18:41:03 <Phantom_Hoover> Download Firefox again through IE?
18:41:22 <pikhq_> Not even the utterly moronic "burn your own rescue disks so we can save on 5¢" thing?
18:41:31 <ais523> pikhq_: they weren't made
18:41:46 <ais523> Phantom_Hoover: even IE refuses to download, although in a rather wider range of ways
18:41:49 <pikhq_> And, lemme guess, the thing to make them is no longer accessible?
18:42:02 <ais523> I remember I eventually managed to download MSE via it
18:42:12 <ais523> pikhq_: I'm not sure; I'm not entirely sure if I'd trust it to still /work/ after this long
18:42:12 <pikhq_> Okay, then.
18:42:15 <Phantom_Hoover> ais523, use whatever Windows calls wget?
18:42:24 <ais523> Phantom_Hoover: it doesn't have a wget-alike, as far as I know
18:42:24 <pikhq_> Phantom_Hoover: Windows doesn't ship with such a program.
18:42:29 <pikhq_> It does have ftp, though.
18:42:35 <ais523> it /does/ have FTP, that's how I installed Firefox in the first place
18:42:38 <pikhq_> i.e. ftp(1)
18:43:03 <elliott> ais523: some AV?
18:43:04 <ais523> well, it isn't (1) on Windows
18:43:15 <ais523> elliott: it uses microsoft security essentials
18:43:16 <pikhq_> It's still ftp(1), even if they neglect to include the man pages.
18:43:24 <pikhq_> It is literally BSD ftp.
18:43:54 <ais523> another clue, perhaps, is that Firefox doesn't seem to save any information between sessions
18:44:03 <ais523> oh, this is all running not-as-admin, btw, and is IIRC Vista
18:45:32 <pikhq_> Hmm. Not-as-admin? There's a chance the user account got far too limited.
18:45:37 <elliott> ais523: I mean some AV could block executable downloads
18:45:47 <ais523> elliott: ah, right
18:45:57 <ais523> but the only AV that I'm aware is on there currently is MSE, which wouldn't
18:46:03 <ais523> there was previously Norton on there, IIRC
18:46:05 -!- pikhq has joined.
18:46:09 <ais523> perhaps it's left some tendrils behind
18:46:10 <pikhq> Hmm. Not-as-admin? There's a chance the user account got far too limited.
18:46:19 <ais523> it's just a default admin account
18:46:20 <pikhq> Though, as this is a home machine owned by your mother, I wonder how that could happen.
18:46:43 <pikhq> Oh, wait. *NORTON*
18:47:01 <ais523> it came with Norton!
18:47:16 <pikhq> Norton is *nasty*.
18:47:22 <ais523> yup
18:47:33 <elliott> ?hoogle isPrefixOf
18:47:33 <lambdabot> Data.ByteString isPrefixOf :: ByteString -> ByteString -> Bool
18:47:33 <lambdabot> Data.List isPrefixOf :: Eq a => [a] -> [a] -> Bool
18:47:34 <lambdabot> Data.ByteString.Char8 isPrefixOf :: ByteString -> ByteString -> Bool
18:47:34 <pikhq> Any idea which version?
18:47:40 -!- Phantom_Hoover has quit (Ping timeout: 248 seconds).
18:49:39 <ais523> pikhq: hmm, probably 2008's or 2009's
18:49:54 -!- pikhq_ has quit (Ping timeout: 245 seconds).
18:50:44 <pikhq> I'd suggest looking for any remaining tendrils of that most horrible thing.
18:54:32 -!- augur_ has joined.
18:56:06 <elliott> hmm... we always feed the first element of the buffer in, and then discard it, and we only ever add one element to the buffer
18:56:09 <elliott> and the buffer is initially empty
18:56:15 <elliott> ais523: the buffer never gets more than one element, right? :P
18:56:44 <ais523> I think so
18:56:47 <elliott> testing seems to prove that :P
18:56:51 * elliott replaces Seq with Maybe
19:22:50 <elliott> ais523: You should name my branch
19:23:05 <ais523> elliott: Norton
19:23:11 <elliott> ais523: That's a rubbish name for my branch
19:24:57 -!- Phantom_Hoover has joined.
19:25:06 -!- Phantom_Hoover has quit (Changing host).
19:25:06 -!- Phantom_Hoover has joined.
19:25:14 <elliott> hmm, I guess I'll either call it remove-iterio, remove-iteratees, no-iterio, no-iteratees, handle-io or handles
19:28:07 <elliott> ais523: If you pick without using dice, I'll give you a cookie.
19:28:18 <ais523> elliott: what does it do?
19:28:26 <elliott> ais523: branches "do" things?
19:28:44 <ais523> elliott: what do the changes in the branch that aren't in other branches do?
19:28:48 <elliott> heh
19:29:07 <elliott> ais523: convert it from using the iteratee model from the iterIO package to straight handle-based IO
19:29:30 <ais523> probably handle-io, then
19:29:46 <ais523> probably better to describe a branch by what it does rather than by what it doesn't
19:29:48 <elliott> -io just looks so weird, especially the lowercase
19:30:04 <ais523> not to me, in this font
19:30:06 <elliott> and, well, technically the iteratee code uses handles too, just not /directly/ in the main loop
19:30:16 <elliott> ais523: it looks weird because IO should always be uppercase >:(
19:32:49 <elliott> ais523: oh well, the branch probably won't ever escape my computer
19:33:10 <elliott> I'll create it, do my commits, and merge it back in without a commit and then push if all goes well :P
19:33:18 <elliott> (and delete it if I don't like it)
19:34:57 <elliott> In the background you can hear ais523 grumbling about removing merge commits.
19:41:57 -!- augur_ has quit (Remote host closed the connection).
19:44:08 <CakeProphet> elliott: codeville merge: good merge or best merge?
19:44:40 <elliott> pcvd merge is interesting, certainly.
19:44:45 <elliott> Why do you ask?
19:44:51 <elliott> Codeville is very dead.
19:45:11 <CakeProphet> I was mostly just seeing what your opinion was, as I really don't know anything about it.
19:45:17 <CakeProphet> I've just been reading about VCS
19:46:57 <elliott> CakeProphet: If you want some culture shock, read http://www.gnu.org/software/gnu-arch/tutorial-old/arch.html and http://www.monotone.ca/docs/Tutorial.html.
19:47:39 <CakeProphet> Works on Whole Trees arch keeps track of whole trees -- not just individual files.
19:47:42 <CakeProphet> wow!
19:48:15 <elliott> CakeProphet: arch was the first non-expensive-and-proprietary DVCS.
19:48:15 -!- Ngevd has quit (Ping timeout: 260 seconds).
19:49:40 <elliott> Oh, wait.
19:49:45 <elliott> CakeProphet: You should probably read http://www.gnu.org/software/gnu-arch/tutorial/index.html instead.
19:49:47 <elliott> It's better-formatted.
19:50:03 <elliott> And has largely the same content.
19:51:31 <CakeProphet> do I have to?
19:51:41 <elliott> Yes.
19:53:50 <CakeProphet> how about a
19:54:05 <CakeProphet> VCS where merging just literally superimposes the two files
19:54:18 <CakeProphet> into a... superimposed file thing.
19:54:26 <CakeProphet> and that would be okay somehow.
19:54:36 <CakeProphet> ... :)
20:02:34 -!- Ngevd has joined.
20:06:53 -!- erdosjr has joined.
20:07:00 <Ngevd> Oh, Open University
20:07:12 <Ngevd> "Unlike other operating systems, Linux operating systems use Linux"
20:07:18 <elliott> Ah yes.
20:07:27 <elliott> erdosjr: hi erd[symbol i can't type]s
20:07:35 <elliott> did you bring the Book?
20:07:36 <elliott> `? welcome
20:07:38 <HackEgo> Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: http://esolangs.org/wiki/Main_Page
20:07:41 <erdosjr> hello elliott
20:08:01 <erdosjr> what book?
20:08:32 <elliott> http://en.wikipedia.org/wiki/Paul_Erd%C5%91s#Biography, six paragraphs in. :p
20:08:45 <ais523> <Ngevd> "Unlike other operating systems, Linux operating systems use Linux"
20:08:52 <ais523> I don't really have a comment on that, I just wanted to quote it
20:09:09 <elliott> That's what `addquote is for :P
20:09:14 <erdosjr> ehh.
20:09:33 <ais523> `addquote [in the context of Open University] <Ngevd> "Unlike other operating systems, Linux operating systems use Linux"
20:09:35 <HackEgo> 702) [in the context of Open University] <Ngevd> "Unlike other operating systems, Linux operating systems use Linux"
20:10:28 <Ngevd> Why can't linux.org and open.ac.uk play nice?
20:10:33 <elliott> linux.org?
20:10:40 <elliott> Don't you mean kernel.org? :p
20:11:51 <Ngevd> EXACTLY
20:11:53 <elliott> CakeProphet: Enjoying your GNU arch tutorial?
20:12:08 <Ngevd> Aargh!
20:12:10 <Ngevd> A giant gnu!
20:12:35 <elliott> [handle-io 19c942a] Convert packet analysis code to handle-based IO XXX WRITE MORE HERE
20:12:54 <elliott> ais523: scapegoat needs a way to create canary commits, that can't be pushed without forcing
20:13:06 <elliott> and that can be easily amended :P
20:13:16 <ais523> elliott: what's your intended use case?
20:13:24 <elliott> ais523: [handle-io 19c942a] Convert packet analysis code to handle-based IO XXX WRITE MORE HERE
20:13:34 <elliott> Not accidentally pushing things like that, and being able to give them reasonable commit messages easily :P
20:14:11 <ais523> in that case, it should probably treat working trees as a special case of that sort of commit
20:14:54 <Ngevd> START THE CLOCK
20:15:05 <elliott> ais523: do you mean working tree or index?
20:15:18 <elliott> (unlike most git-haters, I think the working tree/index distinction is incredibly useful)
20:15:24 <ais523> elliott: I mean working tree
20:15:34 <ais523> as in, what's physically on the filesystem
20:15:40 <elliott> ais523: well, IMO sg doesn't need a model of that
20:15:47 <ais523> hmm, perhaps
20:15:56 <ais523> I think the index is a useful thing to have, /but/ it shouldn't be used by default
20:16:02 <elliott> ais523: it's just that, the sg tool has to offer /some/ way to modify the index commit
20:16:09 <ais523> being able to half-commit changes to the index is great
20:16:12 <elliott> and it does that by using the filesystem
20:16:15 <elliott> ais523: I disagree.
20:16:16 <ais523> but it's not the usual case
20:16:20 <elliott> ais523: If you phrased it this way, I would agree:
20:16:37 <elliott> "I think commit should have -a on by default iff the index is an empty changeset."
20:16:41 <elliott> ais523: but then I'd disagree
20:17:00 <elliott> and say it should be equivalent to "sg add; sg commit-index-to-branch" or something
20:17:03 <elliott> in that case
20:17:11 <elliott> (where "sg add" is "darcs record" to the index)
20:17:17 <ais523> I think it should be equivalent to -p followed by commit
20:17:22 <ais523> *add -p
20:17:29 <Ngevd> I thought this linux was supposed to be damn tiny!
20:17:31 <elliott> ais523: that's what I said
20:17:37 <ais523> you didn't say the -p
20:17:39 <Ngevd> It's 50.6 whole megabytes!
20:17:41 <elliott> ais523: <elliott> (where "sg add" is "darcs record" to the index)
20:17:42 <Ngevd> WHEN ZIPPED!
20:17:48 <ais523> ah, OK
20:17:59 <elliott> Ngevd: try tiny core :P
20:18:14 <elliott> ais523: in which case, the index /is/ always used
20:18:22 <elliott> you're just not exposed to it if you try to run what would be a nop
20:18:25 <elliott> well
20:18:29 <elliott> I suppose you can commit an empty changeset
20:18:31 <elliott> but you wouldn't want to
20:18:38 <Ngevd> elliott: I'm following a course
20:18:40 <ais523> yep, it becomes an implementation detail except when you don't want it to be
20:18:45 <ais523> that's probably the best situation
20:18:47 <elliott> More like following a: HORSE.
20:19:04 <elliott> ais523: well, IMO sg's terminology and UI should follow its implementation as much as possible
20:19:15 <elliott> ais523: one of git's main flaws is that it tries to hide its implementation
20:19:20 <ais523> perhaps
20:19:21 <elliott> which just makes nothing make sense
20:19:26 <ais523> I don't think git's impl is that hidden
20:19:28 <elliott> because it bundles unrelated-in-git concepts into single commands
20:19:31 <ais523> it's just full of shortcut commands
20:19:32 <elliott> ais523: no, it isn't, but it tries to be
20:19:41 <elliott> ais523: yep, but the shortcut commands are alien to git itself
20:19:48 <elliott> and the low-level commands are huge a pain to use
20:19:51 <elliott> s/huge a/a huge/
20:22:09 <elliott> "Rearrange shit in MC.Host lol XXX FIXME"
20:22:13 <elliott> well, it's under fifty characters
20:22:19 <elliott> good commit message!
20:22:20 <Sgeo|web> I should probably check whether I'll be able to do my homework
20:22:49 * Sgeo|web vaguely wonders whether he writes good commit messages
20:23:01 <Sgeo|web> Hmm, I think some of mine have been along the lines of X, Y, Z, oh, and some other stuff
20:23:06 <Sgeo|web> Or "general stuff"
20:23:06 <Sgeo|web> So no
20:23:23 <elliott> Sgeo|web: you can't write good commit messages if you don't write good /commits/
20:23:42 <elliott> a comma is a commit smell, "other stuff" is like a commit /stench/
20:24:35 <ais523> elliott: comma between what you did and why you did it is OK, right?
20:24:49 <elliott> ais523: well, I was referring more to the subject line
20:24:58 <ais523> elliott: in the subject line
20:25:04 <Sgeo|web> Well, I need to figure out how to put away some of the stuff I did temporarily then test and check before commit, I guess
20:25:07 <Sgeo|web> :/
20:25:16 <elliott> ais523: not really; you only have fifty characters, so you should try and summarise both in one go
20:25:42 <ais523> oh, I ignore the 50-char limit
20:25:44 <ais523> is that bad?
20:25:48 <elliott> ais523: it's only for git, but yes
20:26:01 <pikhq> Wow. The tz databse is ended indefinitely.
20:26:12 <ais523> because the person maintaining it got sued
20:26:15 <elliott> ais523: (a) you make git log --oneline harder to use, (b) you break the git model of "commit message = subject line", (c) a whole host of things
20:26:16 <Sgeo|web> o.O um, what
20:26:18 <ais523> claiming that it was a copyvio from some atlas
20:26:22 <elliott> pikhq: neat
20:26:37 <ais523> not really, it's copyright trolling
20:26:44 <elliott> pikhq: link?
20:26:45 <Ngevd> Wow, you can run an operating system WITHIN AN OPERATING SYSTEM!?
20:26:45 <pikhq> Wonderful thing about this case is, in the US pure facts are literally uncopyrightable.
20:26:47 <ais523> timezones themselves, I doubt are copyrightable, no matter where you get the source from
20:26:54 <pikhq> http://article.gmane.org/gmane.comp.time.tz/4133
20:26:56 <Ngevd> This is like Inception, but actually vaguely confusing
20:27:01 <pikhq> ais523: In some jurisdictions they can be.
20:27:11 <elliott> ais523: anyway, the fifty-char limit is really nice because it means the summaries are actually /useful/
20:27:18 <pikhq> The US, where both the plaintiff and defendent are in, is not one of those jurisdictions.
20:27:27 <Sgeo|web> Ngevd: you can run an operating system within an operating system within an operating system, at least in theory. For some reason though, some VM software seems to balk at that
20:27:29 <elliott> ais523: and you only need to read the rest of the message to find out either (a) what the changes were in more detail, or (b) the full justification
20:27:30 <pikhq> So long as you don't copy the presentation of those facts, you're 100% in the clear.
20:27:53 <ais523> are timezones facts, though?
20:27:57 <pikhq> Yes.
20:28:04 <ais523> they're human constructs
20:28:14 <pikhq> It's still facts about human constructs.
20:28:16 <elliott> ais523: e.g. "Remove dependency on foobar to avoid GPL violation\n\nThe lawyers at quux industries sued us, so this removes the dependency on foobar. Instead of the frobnitz function, we hand-roll our own [etc.]"
20:28:35 <pikhq> The typical example of this is actually phonebooks.
20:29:01 <Sgeo|web> As are things like stuff about transistors
20:29:03 <pikhq> You are perfectly in the clear to mine all the numbers and names from a phonebook, and print your own phonebook, so long as you don't just copy the pages of the phonebook.
20:29:49 <pikhq> Of course, if this really *was* an issue, he could just redo the database using The World Factbook as a source.
20:30:01 <pikhq> Due to being a US government publication, it is in the public domain.
20:31:05 <elliott> ais523: I think sg should probably error out when things like commit messages go too far outside of standard guidelines (e.g. a commit message with lines over eighty chars) and require forcing to continue
20:31:18 <ais523> heh, perhaps
20:31:36 <elliott> maybe it should refuse to commit if your summary is less than fifteen chars or contains the word "stuff" :P
20:31:54 <elliott> If you try and commit with just the message "stuff", it actually erases all your changes and calls your parents.
20:32:17 <ais523> I don't think there should be such an easy method to delete data
20:32:22 <elliott> wow, git add -p refuses to prompt me about this hunk
20:32:27 <elliott> if I start it, it prints it and then just exits
20:32:34 <elliott> and when I had other hunks, it printed it and went on to the next one without prompting
20:35:55 <CakeProphet> elliott is all about the hunks
20:35:56 <ais523> ouch
20:36:06 <elliott> ais523: I just git added the file, in the end
20:36:09 <elliott> I think it's because it was one of those patch-patches
20:36:14 <elliott> with two indicator columns instead of one
20:36:19 <elliott> because it was a modification of something I had already added
20:38:06 <CakeProphet> so
20:38:07 <CakeProphet> what if
20:38:13 <CakeProphet> Wikipedia started using a VCS
20:38:24 <CakeProphet> so that you could branch an article, and make changes to it, and then merge back in when it's complete.
20:38:31 <CakeProphet> with the trunk being the main, visible article
20:38:47 <elliott> there are many vcs-based wikis
20:39:00 <elliott> the only reason wikipedia doesn't use one is because I don't even think there was a decent DVCS when mediawiki was written
20:39:26 <elliott> January 2002; that's only slightly newer than arch
20:39:28 <elliott> and older than darcs
20:39:40 <CakeProphet> wow weird.
20:40:03 <elliott> DVCS' only caught in popularity like three, four years ago, dude
20:40:27 <CakeProphet> wow weird.
20:44:03 <pikhq> Largely courtesy of git.
20:44:08 <Phantom_Hoover> Although you can blame them for about fifty other things, fortunately.
20:44:14 -!- augur_ has joined.
20:44:39 <pikhq> (even though Linux had been on Bitkeeper for longer...)
20:45:26 <elliott> Phantom_Hoover: Blame what?
20:45:36 <Phantom_Hoover> The MW guys.
20:45:52 <Phantom_Hoover> My point is, there's no shortage of good hate material for them.
20:45:53 <elliott> pikhq: BitKeeper made Linux development a bit of a laughing stock, didn't it?
20:45:55 <elliott> Proprietary and all.
20:45:56 <Ngevd> Week one of TI55 Linux: an Introduction complete
20:46:19 <Phantom_Hoover> Ngevd, did you get to go to tutorials at a local college
20:46:29 <Ngevd> I don't know
20:46:30 <Ngevd> maybe
20:46:32 <pikhq> elliott: Less so than it could have.
20:46:33 <Ngevd> I haven't
20:46:44 <pikhq> Linux was and still is on a patch-submission development model.
20:46:49 -!- Sgeo|web has quit (Ping timeout: 252 seconds).
20:47:10 <pikhq> Bitkeeper, like git after it, is being used as more of a "make Linus not hate juggling patches" tool.
20:47:56 <Ngevd> So, goodnight, IRC
20:48:01 <Ngevd> And thanks for all the fish!
20:48:03 -!- Ngevd has quit (Quit: what a big quitter he is, eh?).
20:48:46 <elliott> ais523: hmm, we need to figure out a good diff format for sg that encodes all the information in the actual commits
20:48:59 <elliott> as in, that's at least as human-readable as diff(1) output
20:49:05 <elliott> OK, I guess we don't actually need to
20:49:10 <ais523> it should probably be compatible with patch(1) in that case
20:49:18 <ais523> by putting the metadata in lines not starting with + - \ or diff
20:49:19 <elliott> since you can just include it as an effective binary blob (that happens to be textual)
20:49:21 <elliott> and then sg diff it
20:49:27 <elliott> ais523: or space
20:49:40 <ais523> oh right, for context
20:50:21 <elliott> ais523: actually, I suspect simply attaching a binary version of the packet, and making the diff the body of the email, is the best idea
20:50:28 <elliott> actually, no
20:50:31 <elliott> that's too exploitable
20:50:47 <elliott> I could send an innocuous patch to Linus-except-not-so-bright and they might sign it off based on a fraudulent diff
20:50:55 <elliott> I guess encoding the metadata into the diff is the best idea
20:51:07 <elliott> and have sg verify the diff parts when applying
20:51:19 <elliott> ais523: perhaps the metadata should be bunched up at the top of the file
20:51:21 <elliott> like git does:
20:51:25 <elliott> diff --git a/MC/Protocol/IO.hs b/MC/Protocol/IO.hs
20:51:25 <elliott> new file mode 100644
20:51:25 <elliott> index 0000000..3b2343b
20:51:25 <elliott> --- /dev/null
20:51:25 <elliott> +++ b/MC/Protocol/IO.hs
20:51:43 <elliott> that way, it'd look just like a regular diff with some additional lines before each file
20:52:02 <elliott> a bit annoying that it'll probably have to use multiple lines per change, though (because it should include the full hashes)
20:52:38 <elliott> ais523: actually, wait, it should probably just put all the metadata at the very end of the file
20:52:44 <elliott> that way, people can just ignore it, and sg can still verify the diff
20:52:49 <Phantom_Hoover> What stage of development is Scapegoat actually at, BtW?
20:53:03 <elliott> Phantom_Hoover: "not"
20:53:10 <elliott> I've been too busy doing other things, and there's still parts of the model to be worked out
20:53:21 <Phantom_Hoover> Which parts?
20:53:34 <elliott> Phantom_Hoover: that's a ridiculous question
20:53:39 <elliott> it's simply not a complete picture yet
20:57:12 <elliott> ais523: how do you split a commit into two with git rebase?
20:57:26 <ais523> I'm not sure you can
20:57:43 <ais523> other than reverting half of it, reverting the revert, then squashing the first revert backwards
20:57:47 <ais523> which is pretty hackish
20:58:09 <elliott> ais523: can't I just "edit" it (with --interactive) and do something there?
20:58:25 <ais523> not as far as I know, but possibly
20:58:32 <ais523> I'm not a git expert
20:58:37 <elliott> I need a git expert :'(
20:58:39 <elliott> Hey Deewiant :P
20:59:05 <Deewiant> edit and commit twice?
20:59:44 <Deewiant> I imagine that it only looks at HEAD so it should work
21:00:07 <elliott> Deewiant: "edit" leaves it already committed
21:00:09 <elliott> You're meant to --amend
21:00:17 <elliott> So the question becomes, how do I split the latest commit?
21:00:19 <Deewiant> amend and commit
21:00:37 <elliott> Deewiant: How can you /remove/ changes with amend?
21:00:58 <Deewiant> Well, easiest with reset --soft
21:01:08 <Deewiant> And then don't amend
21:01:21 <elliott> Then just commit twice?
21:01:22 <elliott> Alright
21:01:52 <elliott> Deewiant: My suspicion, though, is that that'll break the rebase
21:01:58 <Deewiant> Perhaps
21:02:00 <elliott> Because the hashes of the commits after will change
21:02:03 <elliott> And so it'll go how does pick
21:02:11 <elliott> For my fixing purposes:
21:02:13 <elliott> pick 2edb04a Rearrange shit in MC.Host lol XXX FIXME
21:02:13 <elliott> pick 14a2fbf Add an hPutPacket function to MC.Protocol.IO XXX FIXME FIXME
21:02:13 <elliott> pick 14f21e1 Convert the server to handle based IO and BANISH ITERATEES MWAHAHAHAHA XXX FIXME
21:02:13 <elliott> pick f9a7ca1 Eliminate dependency on iterIO
21:02:25 <Deewiant> Er no, the later commit hashes shouldn't change
21:02:47 <Deewiant> Commit hashes don't ever change
21:03:26 <elliott> Deewiant: Hmm, I guess I just don't get how branches have history in igt
21:03:26 <Phantom_Hoover> "RIP Steve Jobs, who recognized that beauty and technology can sit on the same pedestal." — Zach Weiner
21:03:27 <elliott> git
21:03:34 <Phantom_Hoover> Yes, Jobs invented this concept.
21:03:45 <Deewiant> Well I don't know where exactly the pointers live
21:05:02 <Deewiant> But what rebase does is it just reapplies the patches, creating (or trying to create) equivalent commits as previously but with a different history
21:05:05 <Deewiant> The old ones still exist
21:05:18 <Deewiant> So doing that kind of reset + double commit just creates two new commits
21:06:35 <elliott> Right
21:06:51 <Deewiant> NB: I could be wrong
21:06:53 <elliott> With sg, you have to re-create every commit after the first one you're modifying
21:06:56 <Deewiant> But this is my understanding :-P
21:06:57 <elliott> Because they have references to it that need to be updated
21:07:08 <elliott> And sg commits are immutable, and the hashes will change :P
21:07:16 <Deewiant> Yeah, and that's what's happening here as well
21:07:34 <Deewiant> But when you're in the rebase "edit" stage, you have no commits after the one you're modifying
21:07:40 <Deewiant> Because you're not on any branch
21:08:30 <elliott> Deewiant: Yeah, but I mean
21:08:41 <elliott> Deewiant: In git, the commits after the one you edit don't have to be recreated
21:08:46 <elliott> Because they don't hold references to other commits
21:08:52 <Deewiant> Yes they do
21:08:57 <elliott> They do?
21:09:08 <Deewiant> "Editing" is making a copy
21:09:29 <elliott> Yes
21:09:30 <Deewiant> So if you want the commits after that one to exist for your edited copy, you have to recreate them
21:09:41 <Deewiant> The old ones still exist, pointing to the unedited original
21:09:46 <elliott> No you don't, you just have to rewrite the set of commits in the branch?
21:09:53 <elliott> Hmm
21:09:56 <elliott> I guess git stores a parent commit
21:10:02 <elliott> How un-tarball-like of it
21:11:18 <elliott> Hmph
21:11:26 <elliott> I need a better word than "functions" to refer to top-level Haskell definitions
21:11:29 <elliott> Don't suggest "definitions"
21:11:35 <elliott> "Add functions for handle-based packet reading" -- makes sense
21:11:40 <elliott> "Add definitions for handle-based packet reading" -- doesn't really
21:11:53 <Deewiant> Say "export" instead of "add"
21:12:02 <Deewiant> Unless they're internal :-P
21:12:42 <elliott> Deewiant: It creates a new MC.Protocol.IO module
21:12:50 <elliott> "Export" would be exporting existing unexported definitions from a module
21:13:27 <Deewiant> "Export new"
21:13:47 <elliott> Why that, rather than "add"
21:14:03 <Deewiant> Implicitly top-level
21:14:31 <elliott> Is that meant to solve my problem with the message? :-P
21:14:40 <Deewiant> If you want :-P
21:15:04 <elliott> Deewiant: It doesn't, because the word "function" is still there
21:15:26 <Deewiant> What's wrong with it
21:15:26 <elliott> I would s/functions/support/, but that implies that the support is somehow exposed to the user via the resulting executable; it isn't even /used/ yet in this commit
21:15:37 <elliott> Deewiant: IO (PacketReader a) is not a function
21:15:43 <Deewiant> "functionality"
21:15:46 <elliott> getLine is not a function; hGetLine is, but that's incidental
21:16:03 <elliott> Deewiant: Isn't that code for "code"? :-)
21:16:07 <elliott> (Functionality for "code"?)
21:16:13 <elliott> "code" is tempting
21:16:18 <Deewiant> Well, isn't that what you're trying to say :-P
21:16:43 <elliott> "Add code for handle-based packet reading"; sounds good.
21:16:49 <elliott> Although I'd prefer the word "IO" was in there somewhere.
21:17:00 <Deewiant> I don't like the word "code" in general but that's just me
21:17:33 <elliott> Deewiant: I don't like it much, but I can't think of a better word for "code" :P
21:17:43 <elliott> I prefer "programming" for the activity, but "program" isn't appropriate
21:17:46 <Deewiant> "functionality"
21:17:56 <Deewiant> And as you say, "support" if it's exposed
21:18:00 <elliott> Deewiant: Oh yeah, I'm a programmer, I write functionality.
21:18:02 <elliott> I'm talking about in general
21:19:06 <Deewiant> Well, "programs" or "libraries" can typically be used
21:19:25 <Deewiant> Other than that I suppose it has to be "code" or "program code" for the pedants
21:20:47 <elliott> Deewiant: The file MC/Host contains ____. Fill in blank
21:21:06 <elliott> erm
21:21:09 <elliott> Deewiant: The file MC/Host.hs contains ____. Fill in blank
21:21:37 <Deewiant> Haskell code :-P
21:21:48 <elliott> Deewiant: Without using the word code :P
21:22:43 -!- copumpkin has quit (Quit: Computer has gone to sleep.).
21:22:45 <Deewiant> Nothing good comes to mind
21:23:33 <elliott> Deewiant: Lame
21:23:51 <Deewiant> Blame the language, not me :-P
21:24:17 -!- sebbu has quit (Ping timeout: 252 seconds).
21:27:43 <elliott> "Convert packet analysis code to handle-based IO"
21:27:46 <elliott> Hmph, I don't like "convert" there
21:27:49 <elliott> Deewiant: What's "code" in Finnish :P
21:28:04 <Deewiant> Equally bad
21:28:32 <elliott> Add equally bad for handle-based packet reading
21:30:20 -!- Nisstyre has quit (Ping timeout: 248 seconds).
21:30:37 -!- sebbu has joined.
21:30:37 -!- sebbu has quit (Changing host).
21:30:37 -!- sebbu has joined.
21:33:23 -!- erdosjr has quit (Ping timeout: 252 seconds).
21:35:23 <elliott> Deewiant: You should totally specify a word that isn't "convert" to use there
21:35:30 -!- Nisstyre has joined.
21:42:50 -!- zzo38 has joined.
21:45:05 -!- Phantom_Hoover has quit (Ping timeout: 260 seconds).
21:45:39 -!- copumpkin has joined.
21:46:59 <elliott> Deewiant is lame, I'll get ais523 to replace that word instead
21:47:08 <elliott> I would bother PH with it but he's just quit, hmph
21:47:22 <ais523> elliott: how silly do you want it to be?
21:47:30 <elliott> ais523: Preferably around 0 sillies
21:47:33 <ais523> "adapt"?
21:49:29 -!- pikhq_ has joined.
21:50:01 -!- Phantom_Hoover has joined.
21:50:04 -!- zzo38 has quit (Remote host closed the connection).
21:50:06 -!- pikhq has quit (Ping timeout: 258 seconds).
22:09:23 -!- Phantom_Hoover has quit (Remote host closed the connection).
22:09:23 -!- Jafet has joined.
22:19:40 -!- TeruFSX has joined.
22:22:30 <elliott> qa
22:23:12 <elliott> hey ais523
22:23:17 <elliott> @let foo = [1,3..10]
22:23:18 <lambdabot> Defined.
22:23:23 <elliott> > (length foo, length (map (/10) foo))
22:23:24 <lambdabot> (5,6)
22:23:36 <elliott> also logreading oerjan :P
22:30:22 <monqy> what
22:30:54 <monqy> how could this
22:30:55 <monqy> happen
22:31:00 <monqy> > foo
22:31:02 <lambdabot> [1,3,5,7,9]
22:31:05 <monqy> > map (/10) foo
22:31:07 <lambdabot> [0.1,0.3,0.5,0.7,0.9,1.1]
22:31:50 <monqy> ranges...
22:32:06 <monqy> or whatever cuased that
22:32:51 <elliott> monqy: Hey, you ruined it. :(
22:32:59 <monqy> ruined?
22:33:03 <elliott> (Example due to Conal.)
22:33:09 <elliott> monqy: Well, it's more obvious what the hell is going on now. :p
22:33:30 <monqy> it still confuses me
22:33:41 <elliott> I'll tell you in /msg.
22:33:50 <monqy> [1,3..10] is weird anyway
22:34:24 <monqy> oh I think I got it
22:34:30 <monqy> at least: maybe
22:34:33 <monqy> without looking at the message
22:34:50 <elliott> Look at it then :P
22:34:51 <monqy> oh my guess was different (weeps)
22:35:46 <calamari> > map (/0) foo
22:35:47 <lambdabot> [Infinity,Infinity,Infinity,Infinity,Infinity,Infinity]
22:35:50 <elliott> monqy: Anyway replace "convert" in " Convert packet analysis code to handle-based IO". >:|
22:35:54 <elliott> > map (`div` 0) foo
22:35:55 <lambdabot> [*Exception: divide by zero
22:36:03 <elliott> > length (map (`div` 0) foo)
22:36:04 <lambdabot> 5
22:37:36 <monqy> elliott: Change? modify?
22:37:43 <elliott> pikhq_: look at the guys who brought the tz db down: http://alabe.com/
22:38:07 <elliott> (they just bought the rights but still)
22:38:34 <monqy> and in the case of "modify" it would be "modify...to use"
22:39:22 <pikhq_> elliott: Oh, so it's a bunch of morons.
22:39:29 <monqy> what happened? baD?
22:39:38 <pikhq_> monqy: Lawsuit.
22:39:49 <monqy> who/what
22:39:58 -!- ais523 has quit (Read error: Connection reset by peer).
22:39:59 <elliott> monqy: I think I'll use "Migrate"
22:40:01 <elliott> monqy: and http://blog.joda.org/2011/10/today-time-zone-database-was-closed.html
22:40:06 <pikhq_> Alabe sued the maintainer of the tz database.
22:40:07 <elliott> the timezone database has been shut down
22:40:09 <monqy> elliott: that works too
22:40:19 <monqy> oh no :(
22:40:24 <pikhq_> Erm, astrolabe.
22:40:50 <pikhq_> monqy: This, incidentally, is a lawsuit that will almost *surely* result in Astrolabe being laughed out of court.
22:40:52 <elliott> Deewiant: Um
22:41:03 <pikhq_> It's a very simple misunderstanding of US copyright law.
22:41:03 <elliott> Deewiant: I just accidentally rebased right after rebasing and didn't manage to cancel it
22:41:11 <elliott> Deewiant: But made no changes
22:41:20 <elliott> Deewiant: How do I tell which tree is the right one (without bogus commit dates) in reflog
22:55:49 -!- variable has quit (Excess Flood).
22:56:23 -!- variable has joined.
22:56:24 -!- variable has quit (Changing host).
22:56:24 -!- variable has joined.
23:19:16 -!- pikhq has joined.
23:19:34 -!- pikhq_ has quit (Ping timeout: 256 seconds).
23:33:05 <CakeProphet> elliott:
23:33:09 <CakeProphet> oops
23:33:21 <CakeProphet> I love how people are commemorating Steve Jobs like he invented technology itself or something.
23:33:51 <Jafet> He invented everything except the internet, which was invented by Al Gore.
23:34:33 <elliott> Eh; he's in large part responsible for desktop computers actually being a thing, so it's not as if he didn't do anything.
23:34:42 <pikhq> Al Gore actually deserves rather a lot of credit for the Internet.
23:35:41 <pikhq> It came about as a direct result of his legislation.
23:35:42 -!- oerjan has joined.
23:36:36 <pikhq> He also ended up funding Mosaic.
23:36:50 <calamari> so what's the best iJoke for Jobs so far?
23:37:17 <elliott> hi oerjan
23:37:32 <elliott> oerjan: when you get to 22:23 in today's log, stop scrolling down and reading until you figure it out
23:37:37 <elliott> or at least bumble about confused in the channel for a while
23:39:54 <oerjan> well that is obviously a bug. my _guess_ is there's a rule which does map (/d) [a, b .. c] = [a/d, b/d .. c/d]
23:40:05 <oerjan> and which is unsound
23:40:46 <elliott> oerjan: Nope.
23:40:51 <elliott> oerjan: It is not a bug, and there is no unintentional behaviour.
23:40:54 <oerjan> > [0.1, 0.3 .. 1]
23:40:55 <lambdabot> [0.1,0.3,0.5,0.7,0.8999999999999999,1.0999999999999999]
23:41:04 <oerjan> > [1, 3 .. 10]
23:41:04 <lambdabot> [1,3,5,7,9]
23:41:05 <elliott> oerjan: Hint:
23:41:08 <elliott> :t foo
23:41:09 <lambdabot> forall t. (Num t, Enum t) => [t]
23:41:21 <elliott> Hint number two:
23:41:22 <elliott> :t (/)
23:41:23 <lambdabot> forall a. (Fractional a) => a -> a -> a
23:41:26 <elliott> Hint number final: Defaulting.
23:41:38 <oerjan> ooh
23:41:45 <oerjan> right
23:41:53 <oerjan> > [1, 3 .. 10 :: Double]
23:41:54 <lambdabot> [1.0,3.0,5.0,7.0,9.0,11.0]
23:42:27 <elliott> oerjan: thank Conal for that wonderful example :-)
23:43:43 <Jafet> Actually, that would be a bug in enumFromThenTo/Double.
23:43:59 <oerjan> Jafet: it is standard-defined behavior
23:44:10 <elliott> It's a bug in the Prelude.
23:44:22 <oerjan> and there is a large debate about it on haskell-cafe
23:44:25 <elliott> Jafet: But note that enumFromThenTo doesn't really have much defined semantics... at all.
23:44:50 <Jafet> Well, it clearly has the wrong semantics, even if we can't write down the correct one...
23:44:51 <elliott> oerjan: I liked the hierarchy of separate Enum and Range => Ix with Range being what .. expands to in that thread.
23:45:02 <oerjan> Jafet: the intention is to make it stable under rounding errors
23:45:05 <elliott> Where Float/Double are instances of Range but not Enum
23:45:08 <elliott> and Enum has to enumerate all values
23:45:16 <oerjan> > [1, 3 .. 1.0999]
23:45:16 <lambdabot> [1.0]
23:45:18 <elliott> and is generally designed for, well, enumerations
23:45:21 <oerjan> er
23:45:25 <oerjan> > [1, 3 .. 10.999]
23:45:26 <lambdabot> [1.0,3.0,5.0,7.0,9.0,11.0]
23:45:30 <elliott> That doesn't resolve the issue of where to stop
23:45:38 <elliott> But it does make [..] not be lawless and crappy :P
23:45:51 <elliott> oerjan: oh, and then tuples would be Range instances too
23:45:58 <elliott> I think
23:46:04 <elliott> something like that was said, anyway
23:46:29 <oerjan> elliott: that would be weird whether they work as Ix instances and especially if not
23:46:41 <elliott> oerjan: tuples are indices though
23:46:42 <oerjan> *as the
23:46:51 <elliott> oerjan: and the idea would be to have Range be a superclass of Ix
23:46:56 <elliott> and thus eliminate range from Ix
23:47:00 <oerjan> elliott: ah.
23:47:07 <elliott> and range would have all the finite methods of Enum but with different names, IIRC
23:47:16 <elliott> whereby finite I mean, excluding things like enumFrom
23:47:17 <Jafet> (Enum a, Enum b) => Enum (a, b)
23:47:29 <elliott> Jafet: that's a filthy rotten lie
23:47:40 <elliott> or at least, it is if Integer stays an Enum instance
23:47:46 <Jafet> Huh?
23:47:57 <Jafet> They have the same cardinality.
23:47:58 <oerjan> Jafet: that doesn't work if b is not bounded
23:48:23 <oerjan> unless you want it to work like Ix, again
23:48:24 <Jafet> > [(x,y) | x <- [0..], y <- [1..x]]
23:48:25 <lambdabot> [(1,1),(2,1),(2,2),(3,1),(3,2),(3,3),(4,1),(4,2),(4,3),(4,4),(5,1),(5,2),(5...
23:48:36 <Jafet> Er, whatever
23:49:02 <elliott> oerjan: otoh Integer shouldn't be Enum
23:49:18 <elliott> oerjan: (it should be Range and Ix, though)
23:49:19 <Jafet> You people seem to want to repurpose Enum.
23:49:28 <elliott> Jafet: you people == general consensus on haskell-cafe
23:49:32 <elliott> Jafet: the problem is that Enum has two semantics
23:49:41 <elliott> Jafet: (a) to enumerate every value of the type (within a certain range)
23:49:48 <elliott> Jafet: (b) to do something reasonable in list notation
23:49:55 <elliott> these are contradictory: consider floats
23:50:04 <elliott> > [0.1,..]
23:50:04 <lambdabot> <no location info>: parse error on input `..'
23:50:06 <elliott> > [0.1..]
23:50:07 <lambdabot> [0.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,11.1,12.1,13.1,14.1,15.1,16.1...
23:52:01 <Jafet> Bah, can we all decide to redo Num first
23:52:19 <Jafet> Gotta paint the bike shed before the porch
23:52:45 <elliott> :D
23:58:01 <CakeProphet> elliott: much of the praise I'm hearing is "lol he invented the ipod"
23:58:24 <CakeProphet> but the desktop computer is a reasonable innovation. I didn't mean to say his life was without merit. :P
23:58:40 <elliott> He didn't, but I'd be sceptical of the claim that the iPod would have come into existence without him
23:58:52 <CakeProphet> just that he is being over-glorified in his death as people tend to do.
23:58:53 <elliott> The stuff attributed is a little overblown, but that's fame for you
â†2011-10-05 2011-10-06 2011-10-07→ ↑2011 ↑all