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