00:05:12 lol. 00:05:22 like verizonsuckssucks? 00:05:26 i wonder if that exists/still exists 00:08:40 i like many of the comics he lists as examples of crappy humor 00:08:43 :D 00:09:09 weird, since there's tons of crappy stuff 00:09:16 maybe i'm just weird..? 00:09:24 HARD TO SAY REALLY 00:10:48 GregorR: xkcdsucks looks awesome 00:11:21 actually some of them are among the really crappy ones 00:11:25 There are a few good points but it's mostly just whiny and neurotic. 00:14:26 -!- augur has quit (Read error: 54 (Connection reset by peer)). 00:14:26 -!- FireFly has quit ("Later"). 00:15:40 Carl said... 00:15:41 I like licking the hooker's ass. 00:15:41 Carl said... 00:15:41 Woah, wait a second, I didn't mean to type that here...ha ha, IGNORE ME PEOPLE. 00:15:47 -!- ehird has left (?). 00:15:50 -!- ehird has joined. 00:15:51 -!- ehird has left (?). 00:15:53 xkcdsucks has kinda bad humor as well. 00:15:54 -!- ehird has joined. 00:15:55 oops 00:24:33 also why refer to the alt text if you're going to replace it with your own, and not supply the original 00:24:51 especially as the picture doesn't link to xkcd 00:25:07 god xkcdsucks sucks 00:25:17 dude oklokok 00:25:19 it links to xkcd. 00:28:20 -!- ehird has quit (Remote closed the connection). 00:28:35 -!- ehird has joined. 00:29:37 WHAT 00:30:17 well i need to leave something for xkcdsuckssucks sucks 00:30:45 xD 00:30:52 http://1.bp.blogspot.com/_7sRArBiqnC4/ScMxbkOV7JI/AAAAAAAAASE/ildqFvzywaI/s1600-h/558+reworded.jpg <<< actually it links to this completely different thing 00:31:05 but i'm just reading a random post on the site 00:32:41 hmm guest posters 00:32:46 maybe that's why 00:43:02 okay this is a horrible site 00:49:08 okay reading the comments of 519 did make me kinda furious, bunch of whining kids 00:49:32 hmm, i see i didn't paste the xkcdsucks about 519 00:49:39 well. this was about that. 01:13:30 -!- jix has joined. 01:50:02 oklokok: also you suck, it's totally awesome 02:01:17 -!- Sneezle has quit ("good night, have fun o/"). 02:06:46 -!- jix has quit (Read error: 113 (No route to host)). 02:08:29 the one about 519 was stupid, the one about 558 was mostly justified, that's all i know, and that's enough, and you suck and all that god i'm tired. 02:08:39 sleap ~> 02:15:01 -!- Asztal has quit (Read error: 60 (Operation timed out)). 02:42:19 http://esolangs.org/w/index.php?title=Almost_impossible_to_learn_and_apply_esoteric_programming_language&curid=2932&diff=15213&oldid=15203 02:42:20 he's serious 02:44:23 That sounds like an exceptionally complex board/card/gambling game. 02:46:23 or, bullshit. 02:46:33 And I think the main problem with that is the completely incomplete description. Unlike Minimal, which was bullshit. 02:47:14 http://www.wolframalpha.com/input/?i=1+box+cheerios <-- look at the input interpretation 02:52:45 http://www.wolframalpha.com/input/?i=i+pounds+of+beef <-- ha 02:56:29 IMAGINARY BEEF 02:56:55 WHERE'S THE BEEF 02:58:02 http://www.wolframalpha.com/input/?i=i+grams+of+cake THE CAKE IS A LIE 02:58:39 I wonder if it would work with octonions and shi 03:00:09 -!- Robdgreat has quit ("leaving"). 03:00:12 Cheerios amount 1 box of herring WJW 03:00:37 What Jesus Would? 03:00:45 Wow Just Wow. 03:00:57 What Jesus would do that shit? :P 03:03:25 `wolfram 1 box of babies 03:03:36 1 box of babies \ \ Input interpretation: \ \ 1 box child \ Result: \ \ 1 box children \ \ Generated by Wolfram|Alpha (www.wolframalpha.com) on August 17, 2009 from Champaign, IL. © Wolfram Alpha LLC—A Wolfram Research Company \ \ 1 \ \ 03:03:42 ONE BOX CHILDREN 03:08:42 :D 03:08:51 `wolfram 1 laptop per child 03:08:57 $Failed \ \ 03:09:13 `wolfram e i e i o 03:09:20 eieio \ \ Input: \ \ o \ Exact result: 2 \ \ o \ \ Plot: 0.15 0.10 0.05 0.02 0.01 0.05 0.10 0.15 0.01 0.02 o from 0.02 to 0.02 \ \ Generated by Wolfram|Alpha (www.wolframalpha.com) on August 17, 2009 from Champaign, IL. © Wolfram Alpha LLC—A Wolfram Research Company \ \ 1 \ \ 03:14:43 -!- pikhq has quit ("NEW KERNEL ZOMG"). 03:38:19 -!- pikhq has joined. 03:38:26 -!- oerjan has joined. 03:39:09 who the heck is sinnax cossack 03:41:05 oerjan should sue him. <-- :D 03:41:16 `wolfram satan 03:41:24 satan \ \ Input interpretation: \ \ Satan animals \ Scientific name: \ \ Satan genus \ Taxonomy: \ \ kingdom phylum class order family genus \ \ Animalia animals Chordata chordates Actinopterygii ray finned fishes Siluriformes catfishes Ictaluridae north american freshwater catfishes Satan \ \ Other members of family 03:41:26 oerjan: Sinnax Cossack's, say it ten times fast WITH THE WRONG PRONUNCIATION 03:41:42 Thank you for adding that. 03:42:06 ah. 03:42:34 -!- pikhq has quit (Client Quit). 03:42:35 -!- GregorR has set topic: Sinnex Cohsek's Mathematical Emporium | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 03:43:02 actually i thought the cossack was a nice touch 03:43:08 -!- pikhq has joined. 03:43:19 -!- ehird has set topic: Sinnax Cossack's Mathematical Emporium | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 03:43:20 :| 03:43:22 oerjan: howso 03:43:29 -!- GregorR has set topic: Sinnex Cossack's Mathematical Emporium | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 03:43:35 as opposed to like Cossax 03:43:36 Hrm. 03:43:37 -!- ehird has set topic: Sinnax Cossack's Mathematical Emporium | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 03:43:39 it exists 03:43:46 Because it's an actual name? My problem with "Cossack" is the "Coss", not the "ack" 03:44:04 Look, it's a lame pun. Replace it entirely or leave it :P 03:45:06 you just imagine him riding in, savagely mathematicizing... 03:45:52 :D 03:46:05 I was imagining it as an old lady, actually. Lipstick. Looking into a crystal ball. 03:46:11 -!- GregorR has set topic: The Magnificent Mormo's House of Undies | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 03:46:22 Hand-written letters outside, with drapes: "SINNAX COSSACK'S MATHEMATICAL EMPORIUM & COMPANY" 03:46:40 -!- ehird has set topic: The Magnificent Mormon's House of Undies | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 03:46:58 Erm 03:47:09 ehird: You broke it 03:47:17 Define broke; it 03:47:18 The Magnificent Mormo is the leader of the Mormon religion. 03:47:34 -!- GregorR has set topic: The Magnificent Mormo's House of Undies | http://tunes.org/~nef/logs/esoteric/?C=M;O=D. 03:47:42 Momo, from the Michael Ende book... 03:48:28 Mormor, which means maternal grandmother in norwegian (and probably swedish) 03:48:53 `translatefromto sv en mormor 03:48:55 grandmother 03:49:03 Well played sir. 03:49:48 the swedish are even bigger than us on composing names of relatives from parts, using it for uncles and aunts as well 03:50:11 `translatefromto sv en farbror 03:50:13 Uncle 03:50:38 Hah, that even sounds like "father brother" :P 03:50:59 which of course it is 03:51:28 `translatefromto sv en morbror 03:51:30 uncle 03:51:45 `translatefromto sv en brorson 03:51:46 nephew 03:51:58 `translatefromto sv en brorbror 03:52:00 brother brother 03:52:02 `translatefromto sv en farfarbrorsonson 03:52:04 grandfather's brother's grandson 03:52:04 `translatefromto sv en Oh, bror! 03:52:06 Oh, brother! 03:52:09 Oh, bother. 03:52:22 `translatefromto sv en brorsonfarsonbrorfarbrorson 03:52:24 brorsonfarsonbrorfarbrorson 03:52:27 D'aww 03:52:30 Farson. 03:52:36 F- arson! 03:52:39 Arson is for lameos. 03:52:42 XD 03:53:01 oh wait not aunts 03:53:10 `translatefromto en sv aunt 03:53:11 `translatefromto sv en morson 03:53:12 moster 03:53:13 Morson 03:53:25 My aunt is a MO[N]STER 03:53:27 `translatefromto sv en mosterbrorsonfarson 03:53:29 mosterbrorsonfarson 03:53:33 `translatefromto sv en mosterbror 03:53:34 aunt brother 03:53:37 that's mother's sister btw 03:53:38 `translatefromto sv en mosterbrorfarson 03:53:39 mosterbrorfarson 03:53:47 oh fuck you :P 03:54:04 `translatefromto sv en mormormormormormorbrorson 03:54:05 grandmother grandmother grandmother nephew 03:54:10 it doesn't make sense to have two siblings in a row, silly 03:54:26 `translatefromto sv en mormo 03:54:28 mormo 03:54:31 :( 03:54:35 well didn't in the old days, anyway 03:54:47 oerjan: sure it does! 03:55:10 well it's half sibling, naturally 03:55:52 `translatefromto en sv cousin 03:55:54 kusin 03:56:22 that may only apply to females, it does in norwegian at least 03:56:56 Situation: 03:57:11 Issue 03:57:13 SITUATION: ISSUE 03:57:19 THE NEW MOVIE ABOUT A THING THAT NEEDS RESOLVING 03:57:37 SITUATION: MAJOR ISSUE 03:57:46 Your parents get divorced, you go with your mother, who remarries. They have one child, your half-sister. Your mother dies and you stay with your step-father, who later remarries, and they have one child, your half-sister's half-sister. The question: 03:57:49 about a major with trouble 03:57:49 Hitting that? OK or not OK? 03:58:04 Incest is ALWAYS okay! 03:58:07 ...or, you know, not. 03:58:21 It's not incest, you have no blood relation :P 03:58:25 oerjan: the third movie is SITUATION: COLONEL ISSUE 03:58:34 GregorR: It's stepcest. 03:58:54 GregorR: Also, dude, this isn't the channel for personal advice. 03:59:01 X-D 03:59:11 Hawt 03:59:21 Personal advice is SEXY 03:59:22 so, GregorR, you are from west virginia? 03:59:37 or wait, then you wouldn't be asking. 03:59:40 oerjan: There are so many better states to make that joke about :P 03:59:52 oerjan: xD 03:59:55 Gohgah, Alabama 04:00:00 well but i haven't heard about those 04:00:13 gohgah? 04:00:26 Georgia :P 04:00:27 sweet gohgah? 04:00:58 i don't think that first g seemed comfortable 04:01:07 Johjah 04:01:50 GregorR: i understand the natural incest taboo is against people you grew up with, or something like that, so probably _not_ ok 04:04:36 taboos are so boring. 04:04:51 at least the recent (german?) case about brother and sister who refused not to get children were about two people separated at birth, then rejoined 04:05:03 s/taboo/instinct/, i think 04:05:16 taboo's are cultural, this was not so much 04:05:18 if that was true nobody would like anyone they knew in school. 04:05:22 *-' 04:05:42 like 90% of all taboos are ingrained socially, i'd say. 04:06:33 this is, as always, a vague recall. 04:08:41 -!- Pthing has quit (Remote closed the connection). 04:12:02 Incest is awesome[1]. 04:12:05 References 04:12:05 --------------- 04:12:08 1. Josef Fritzl. 04:12:11 OOOOOOOOOOOOOOH CONTRAVARSY 04:19:27 -!- Sgeo has joined. 04:42:06 -!- immibis has joined. 04:43:08 TEACH THE CONTROVERSY 04:45:12 *CONTRAVARSY 04:45:22 Josef Fritzl is an evolutionist! 04:51:19 http://dupsies.com/Dstore/african-asooke-capkufi-p-1983.html 04:51:43 GregorR: if I buy you some hats will you stop talking about them 04:52:13 I don't think he lacks for hats. 04:52:15 For he is Gregor, the Hatticent. 04:52:25 ehird: I'll stop talking about the hats you bought :P 04:52:29 I'll talk about new hats. 04:52:41 ehird: THERE IS NO ESCAPE 04:52:42 Can I just shoot you? 05:01:38 -!- immibis_ has joined. 05:01:58 anyone interested in discussing an esoteric-language os kernel join #osdev 05:02:14 -!- immibis_ has left (?). 05:10:12 -!- Asztal has joined. 05:17:52 -!- coppro has quit (Read error: 60 (Operation timed out)). 05:20:36 never mind, turned out they weren't serious 05:20:57 who would have guessed 05:21:30 what esolang 05:25:46 immibis: 05:26:06 brainfuck 05:26:34 i want to kill brainfuck 05:28:28 -!- pikhq has quit (Remote closed the connection). 05:32:38 -!- pikhq has joined. 05:38:43 I tried KDE 4 out again. 05:38:50 Why do I torture myself so? 05:39:05 It's 5:38; someone tell me to bed myself. 05:39:15 ehird: GO TO BED 05:39:31 oerjan: why 05:40:06 * oerjan swats ehird -----### 05:40:17 :\ 05:40:25 BECAUSE OTHERWISE THERE WILL BE MUCH GNASHING OF TEETH 05:40:32 -!- Asztal has quit (Read error: 60 (Operation timed out)). 05:41:23 oerjan: see, you're being interesting and fun, i like being awake and listening to silly people 05:41:25 why would i leave 05:41:31 gnash gnash gnash gnash 05:41:47 nibble nibble 05:42:05 now you're both being interesting! 05:42:35 -!- ChanServ has set channel mode: +o lament. 05:42:45 GO TO BED 05:43:01 * lament makes funny faces 05:43:20 -!- Asztal has joined. 05:45:01 lament: why do you hate this kid. 05:45:33 -!- Asztal has quit (Read error: 60 (Operation timed out)). 05:48:47 -!- Asztal has joined. 05:49:08 :( 05:52:11 -!- oerjan has quit ("Later"). 05:55:18 -!- lament has set channel mode: -o lament. 05:56:39 lament: you suck. 06:02:10 -!- Azstal has joined. 06:02:15 -!- Asztal has quit (Read error: 60 (Operation timed out)). 06:02:15 -!- Azstal has changed nick to Asztal. 06:33:05 -!- Azstal has joined. 06:33:09 connection problems? 06:34:02 -!- Asztal^_^ has joined. 06:34:59 -!- Azstal has quit (Read error: 60 (Operation timed out)). 06:36:02 ehird, morning 06:36:07 been up all night? 06:36:14 AnMaster: quite so. 06:36:36 regrettably, my internal clock striked day before my cognition striked bed 06:36:41 ehird, okay, *makes mental note to avoid ehird until he sleept a full night* 06:36:41 struck, whatever 06:36:48 ehird, strick 06:36:54 stricken. 06:37:03 stracken 06:37:17 stroken? 06:37:23 err, with a c 06:37:39 strackatak 06:38:45 AnMaster: mac attack the strakatak struck strucken 06:39:24 but always be him and always be you. 06:39:54 ehird, okay. Whatever 06:40:11 * AnMaster backs away slowly, smiling in a disarming way. 06:40:13 "I have been in contact with aliens for over 30 years. They communicate with me telepathically. No, I am not crazy. Yes, I am 100% truthful. AMA" 06:40:13 gotta dispute that third sentence 06:40:36 * ehird slashes AnMaster to pieces unexpectedly in a second 06:40:42 -!- Asztal has quit (Read error: 60 (Operation timed out)). 06:40:45 ouch 06:40:51 * AnMaster restores from backup 06:41:11 like, you know, the yetis in the Discworld 06:41:24 err 06:41:25 on? 06:41:37 i destroyed your data center too. beforehand 06:42:21 (nonchalantly) 06:42:59 ehird, not an issue. Since it happened in an alternative universe from what I restored. By reversing polarity I could phase shift the data into this universe. 06:43:17 well fuck you. 06:47:02 bbl, going to university 06:50:10 * pikhq looked at Etoile again... 06:50:35 I'm pleasantly surprised that they're trying to use Smalltalk as the primary language for it. 06:51:13 (and making their Smalltalk implementation have a common object system with Objective C) 06:51:41 a 06:58:31 b 06:58:42 -!- Judofyr has joined. 07:04:28 Couldn't I just say "I am the ruler of a universe. I am 100% truthful. AMA.", but I'm referring to a universe in my imagination? 07:08:26 c 07:11:11 d 07:11:20 AMA? 07:12:55 Ask Me Anything 07:13:58 d 07:20:57 e the dependently typed lambda calculus <3 07:30:41 -!- MigoMipo has joined. 07:34:32 f 07:39:43 http://twitter.com/helen_keller 07:39:46 g 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:02:13 -!- impomatic has joined. 08:02:16 Hi :-) 08:09:36 hii 08:09:49 i replied to your reddit post. 08:15:28 impomatic: if it wasn't helpful, sorry 08:15:32 -!- BeholdMyGlory has joined. 08:15:36 i haven't slept 08:17:52 Thanks. It's always easier to ask on reddit than read something ;-) 08:18:51 try sleep deprv, you CAN't read! 08:18:53 all the better 08:19:46 I've got a copy of three OS books, but they don't really help 08:27:26 * Sgeo joins the NoPDubClub 08:28:41 -!- Leonidas_ has joined. 08:28:42 G'night all 08:28:53 -!- Leonidas_ has changed nick to Leonidas. 08:29:46 impomatic: don't have two processes fumble for communication 08:30:01 have them both sa yto the kernel "i want ot talk with " 08:30:08 and make the kernel synchronise these 08:41:32 -!- BeholdMyGlory has quit (Remote closed the connection). 08:46:26 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 08:49:33 -!- FireFly has joined. 08:50:29 ehird: that sounds fine, but how does each process know the number of the process it want to talk to. 08:51:10 If they're named instead of numbered, that's slightly easier. Until there's a name collision 08:52:26 erm, presumably two processes have a reason to talk 08:52:36 or are you writing "blind date OS" 08:53:24 They'd have a reason, although a blind date OS sounds cool 08:54:08 then when finding their reason, let them find an OS-created identifier. 09:01:19 -!- ehird has quit (wolfe.freenode.net irc.freenode.net). 09:01:19 -!- Slereah has quit (wolfe.freenode.net irc.freenode.net). 09:01:19 -!- lifthrasiir has quit (wolfe.freenode.net irc.freenode.net). 09:01:19 -!- Dewi has quit (wolfe.freenode.net irc.freenode.net). 09:02:26 -!- Dewi has joined. 09:03:00 -!- lifthrasiir has joined. 09:03:11 -!- Slereah has joined. 09:07:13 -!- lifthrasiir has quit (Killed by douglas.freenode.net (Nick collision)). 09:07:17 -!- ehird has joined. 09:07:17 -!- lifthrasiir has joined. 09:07:19 -!- ehird has quit (Read error: 104 (Connection reset by peer)). 09:07:20 -!- ehird has joined. 09:07:20 -!- lifthras1ir has joined. 09:07:24 -!- lifthras1ir has changed nick to lifthrasiir_. 09:07:52 -!- lifthrasiir_ has changed nick to lifthrasiir__. 09:08:00 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)). 09:08:04 -!- lifthrasiir__ has changed nick to lifthrasiir. 09:11:11 -!- OoS has joined. 09:12:13 -!- FireFly has quit (wolfe.freenode.net irc.freenode.net). 09:12:40 -!- FireFly has joined. 09:13:48 Are the BBC running out of news? http://news.bbc.co.uk/1/hi/sci/tech/8206280.stm 09:30:53 -!- impomatic has quit (Read error: 110 (Connection timed out)). 09:33:59 -!- FireFly has quit ("Later"). 09:36:33 -!- SimonRC has quit (Read error: 104 (Connection reset by peer)). 09:37:37 -!- SimonRC has joined. 09:39:49 -!- OoS has changed nick to impomatic. 09:47:01 -!- ehird has left (?). 09:47:09 -!- ehird has joined. 09:53:40 -!- M0ny has joined. 09:57:28 hi :) 10:01:17 -!- nooga has joined. 10:14:30 -!- SimonRC has quit (Read error: 54 (Connection reset by peer)). 10:14:31 -!- immibis has quit (Read error: 104 (Connection reset by peer)). 10:15:58 -!- SimonRC has joined. 10:19:50 gee 10:19:58 plan9 is such a good design 10:27:58 btw anyone used PVM? 10:37:46 -!- FireFly has joined. 10:41:49 there are better designs than plan 9 10:44:07 -!- KingOfKarlsruhe has joined. 11:00:04 -!- M0ny has quit. 11:03:04 -!- BeholdMyGlory has joined. 11:12:48 -!- oklokok has changed nick to oklopol. 11:17:30 -!- KingOfKarlsruhe has quit (Remote closed the connection). 11:41:01 ehird: which? 11:41:47 mostly unrealised. but plan 9 separates the notion of an in-memory value/object and its persisted on-disk form, and adds separate persist/unpersist operations; this is a flaw. 11:42:12 (this doesn't mean you have to drop the hierarchy of names; see eg K directories) 11:42:30 (although I don't believe a hierarchy of string names is the best way to represent user documents) 11:53:27 uh 11:53:40 it's not so bad 11:53:48 yeah, nor is unix. 11:56:17 now i'm trying to employ PVM for doing distributed raytracing :F 12:08:29 god i hate people 12:27:27 eeeee/? 12:28:47 what 12:29:23 ehird: god i hate people << who, why? 12:29:35 people; because they're idiots 12:30:25 oh right 12:30:39 sometimes i feel that way too 12:30:53 are you not human? 12:31:41 sign me up to be a nonhuman. 12:32:27 subhuman? 12:32:58 preferably the other way around, although as a subhuman i probably wouldn't comprehend people's idiocy 12:33:13 then again the same applies to non-existence, which isn't on my plans 12:34:25 i'd be hard, idiocy is probably the most developed feature of human kind 12:36:51 i'd be hard as well 12:37:01 oh i am already 12:37:02 *zing* 12:40:13 ffff 12:40:15 Oh, and helloes from a six-hour seminar given by all our summer students of this year; I have no idea why I'm here, since technically I'm on vacation. 12:40:32 Possibly for the free food and drinks. 12:40:50 yay 12:40:56 fizzie: congrats 12:41:06 hi fizzie 12:41:10 you're fiz 12:41:15 exceedingly 12:41:36 Exceedingly fizzly. 12:42:39 no 12:42:42 just exceedingly fiz 12:42:49 well also fizzly, but that's a separate issue 12:43:55 I used to be known as "fizzle", as I may have mentioned. 12:44:47 fizzie is like the counternym of fuzzie 12:46:31 And fuzzie is? 12:46:43 um, fuzzie. 12:46:45 duh. 12:58:35 fo shizzle 13:00:24 lol 13:00:44 my boss wants me to port winapi parts to iphone 13:03:43 just. no. 13:06:58 uh 13:07:01 yea 13:07:13 that's too fucking stupid 13:32:50 . 13:34:58 Ooh, there's also a speech recognition talk here. I hadn't noticed. 13:41:07 -!- sebbu has joined. 13:41:57 -!- oklokok has joined. 13:43:36 -!- oklofok has joined. 13:46:40 * AnMaster watches fsck. 1% ... 2% ..... 3% . 77% ... 78% ... 79% ...... 80% .. 99% ............. 100% 13:46:46 percent of what? 13:46:51 not time certainly 13:47:24 Percent of donetskity. 13:47:40 donetskity? 13:47:47 donetskity. 13:47:48 tell me more about this thing 13:48:41 Recently in Ubuntu I saw a progress bar that moved with pretty much constant speed, then when it hit something like 98% and wasn't quite done, it jumped back to 60% or so, and repeated this a couple of times. 13:48:51 There's certainly the feeling of progress there. 13:49:03 fizzie, heh 13:49:05 it's OBAMA PROGRESS 13:50:42 i'd make progressbar that pulses 13:50:53 pulsates (?) 13:50:55 uh 13:51:58 btw. anyone used PVM ? 13:55:03 -!- sebbu2 has quit (Read error: 110 (Connection timed out)). 13:58:47 -!- BeholdMyGlory has quit (Remote closed the connection). 14:00:50 -!- oklopol has quit (Read error: 110 (Connection timed out)). 14:01:03 -!- oklokok has quit (Read error: 110 (Connection timed out)). 14:14:03 -!- oerjan has joined. 14:27:44 i'd make progressbar that pulses <-- it could make a little dance 14:28:38 oh it's '96 again 14:31:19 Can you think of a real world use for counting the bits in a word? 14:31:54 parity check 14:36:28 Anything else? 14:40:37 Are parity checks any use? There's better error detection schemes. 14:41:00 -!- Guest33269 has joined. 14:42:04 -!- Guest33269 has changed nick to andi. 14:42:07 it is the minimal scheme possible, sort of 14:42:35 -!- andi has changed nick to Guest86817. 14:42:39 it's the manhattan length of a binary vector, that isn't a very universal operation. 14:43:03 -!- Guest86817 has changed nick to andi_. 14:43:03 so intuition says it'd be mostly useless 14:43:28 If you have some sort of bitmap (block occupancy or something) and need the count (amount of allocated blocks in that case); though I guess often it would just make sense to keep track of it separately. 14:44:08 ah yes if it represents a set then it's useful 14:44:23 true 14:44:39 impomatic: counting bits in word? 14:44:43 like number of 1 bits? 14:44:52 doesn't ecc ram use that? 14:44:54 oerjan: you weren't responding to fizzie, right? 14:44:57 no wait 14:45:00 ecc ram does bit^bit^bit 14:45:02 and stores that 14:45:06 or, wait, no 14:45:07 oklofok: yes i was 14:45:09 oh err 14:45:11 it can corerct 1-bit errors 14:45:12 that kinda bitmap 14:45:13 so it can find position 14:45:15 and detect 2-bit 14:45:17 eh, I dunno 14:45:21 then yes, i agree with both of you 14:45:35 ehird: parity was mentioned 14:45:40 right 14:46:11 but the manhattan distance (mod 2) of a binary vector is an even more useless operation 14:46:24 and isn't useful for sets either 14:46:33 well. need to do this thing now 14:46:33 -> 14:48:50 i mean i thought fizzie meant "allocated blocks" abstractly, as in "allocated pixels" :P i tend to interpret him rather loosely 14:48:54 also the thing -> 14:50:56 who'd like to install PVM ? 14:51:15 go away nooga. 14:51:29 why? 14:51:30 :D 14:51:51 oklofok: I'm no loose person! 14:53:41 -!- MigoMipo has quit ("QuitIRCServerException: MigoMipo disconnected from IRC Server"). 14:53:54 ehird: have you started your own os development? 14:54:04 define started 14:54:11 -!- whtspc has joined. 14:54:13 fizzie, secretly a cannon 14:54:51 hello 14:54:57 hello whtspc 14:55:20 -!- MigoMipo has joined. 14:55:21 I'm wondering why when you're reading something about esolangs 14:55:41 it always says that it has no use 14:56:05 it doesn't have to be taken serious 14:56:43 while on the other hand mr Wolfram almost makes a religion out of minimal automata and machines 14:57:01 because wolfram is fucking insane and we, despite appearances, are just eccentric. 14:57:25 * oerjan swats ehird -----### 14:57:25 :P 14:57:30 WHO ARE YOU CALLING SANE? 14:58:04 ehird: ... 14:58:09 I'm not saying Wolfra m is right in his philosophy, but I do think it's worthed to explore the possibilities of minimal systems 14:58:32 we do. 14:58:38 you're just looking at crappy esolangs 14:58:46 our wiki is not of terribly high average quality 15:00:11 who writes the lines with the context, that 'those languages are created only for fun purposes and have no use at all' all over the internet 15:00:23 are those people not informed? 15:00:39 i think you're reading in to this way too much. 15:00:45 we are not some centralised community. 15:00:51 O_O 15:01:08 fizzie: have we not have ehird accredited properly, hmmmm? 15:01:12 *had 15:01:15 oerjan: sorry, I forgot we own the rights to the word Esoteric :-P 15:01:15 There's an easier way to calculate parity than counting bits. 15:01:38 impomatic: there is? 15:02:57 depends on the instruction set 15:03:31 but yes, adding shit up mod base_being_used is pretty simple, since you just need to remember the last digit 15:04:09 oklofok: aka xor 15:05:16 in base 2, yes, i don't think xor is generally used in other bases 15:05:47 Just what is 012t xor 022t 15:06:08 xor is add mod base. 15:06:12 by ehird's definition, 001 15:07:08 t\ 15:07:08 -!- jix has joined. 15:07:21 a := a xor (x >>16) ; a := a xor (xa>>8) ; a := a xor (a >>4) ; a := a xor (a >>2) ; a := a xor (a >>1) ; 15:07:37 a := a xor (a >>16) ; a := a xor (a>>8) ; a := a xor (a >>4) ; a := a xor (a >>2) ; a := a xor (a >>1) ; 15:07:45 i said that already 15:08:03 oh wait i didn't 15:08:04 sorry 15:08:14 i am not sure how that's supposed to be easier than a xor'ing loop 15:08:53 oerjan: it's faster 15:09:09 oh well 15:09:21 It does the bits in parallel. 15:09:55 you can do that for summing as well, of course not with bit vectors 15:10:48 point is that's a valid fold for any commutative and associative operator isn't it 15:11:07 well, pizza time 15:11:11 hot sexy pizza 15:11:12 -> 15:12:34 graphics.stanford.edu/~seander/bithacks.html has a collection of tricksies, including the sum-of-bits thing. There are those funky "if you have fast multiplication" variants. 15:17:50 -!- nooga has quit (Remote closed the connection). 15:35:42 -!- oklopol has joined. 15:39:49 -!- jix has quit (Read error: 113 (No route to host)). 15:41:12 -!- nooga has joined. 15:41:24 -!- oerjan has quit ("leaving"). 15:41:41 damn limechat crashes all the time 15:43:25 Fizzie: have been reading that one recently 15:43:36 -!- BeholdMyGlory has joined. 15:47:14 -!- andi___ has joined. 15:52:06 -!- oklofok has quit (Read error: 110 (Connection timed out)). 15:54:33 -!- ais523 has joined. 15:57:20 ehird: is minix 3 cool or uncool? 15:57:44 microkernel - uncool. 15:58:15 why is that 15:59:05 http://www.minix3.org/ second paragraph sounds really nice 15:59:05 first, see torvalds/tenenbaum debate 15:59:07 second, http://tunes.org/wiki/microkernel.html 16:01:09 hmm... the author of Ihybrid replies, apparently Ihybrid was a joke/troll and the other lang was meant to be serious 16:01:19 well, it was meant to be stupid, but still usable 16:01:43 ais523: the cognitive dissonance adds a new layer of stupid... 16:03:26 -!- andi_ has quit (Read error: 110 (Connection timed out)). 16:04:00 -!- whtspc has quit ("ChatZilla 0.9.85 [Firefox 3.0.13/2009080315]"). 16:08:14 beeeeh 16:08:43 we need more langs in the spirit of TURKEY BOMB anyway 16:08:55 TSURKEY BOMBA 16:09:09 turkey bomb, soviet ripoff edition 16:09:38 Well, today at work I have been told "Do something interesting. Tell me about it." 16:09:47 I figure that's as good an excuse as any to learn Erlang. 16:09:54 Erlang suxx, learn K. 16:09:58 :P 16:10:09 I have a queue of languages to learn, okay? 16:10:28 ...also, that sounds like one mighty fine job. 16:10:57 'Tis. 16:11:35 lucky bastard :) 16:12:45 Hmmm.... 16:13:04 ehird: is L4 cool or uncool. 16:13:38 uncool from what i know of it. seL4 has been proved correct though, which is an fpnerdgasm. 16:15:05 Hmmm... how about VSTa. Or FreeRTOS? 16:15:07 Via Haskell, no less. 16:15:50 vsta seems boring 16:15:51 -!- GregorR-L has joined. 16:16:08 FreeRTOS, i'm sure it's wonderful, but it's hard to get excited about 16:16:14 vista? 16:16:17 pc is where it's at 16:16:20 nooga: no, vsta. 16:17:30 ehird: L4 is designed so that the microkernel does nearly nothing. It is, at least, a darn good microkernel. (it does this: address space seperation, threads, scheduling, and synchronous IPC.) 16:17:42 Ahem. Read http://tunes.org/wiki/microkernel.html 16:17:48 It's not a good thing. 16:18:36 Ahem. Chop off your RMS crazy-beard for a minute. 16:19:04 Was that supposed to mean "That's way too different from things that already exist, so stop being so unrealistic"? 16:19:10 pikhq: nice one 16:19:37 Because, funny; stepping outside of the suckage that exists is known as "innovation". 16:19:39 No, it was supposed to mean "Stop caring about everything but what doesn't exist for a moment." 16:19:42 ehird, so you argue that QNX sucks for example? 16:19:52 L4, to me, I don't think is meant to be a kernel per se, but rather an API for implementing kernels with 16:20:05 AnMaster: Yes. Unlike you, I am not some sort of deranged uber-QNX fetishist (what IS your thing about QNX?) 16:20:06 as in, it's just doing the syscalls etc, and they've implemented linux on top of it 16:20:08 More specifically, stop the "ZOMG THE CAR IS WORSE THAN MY PERSONAL JETPACK WHICH DOESNT EXIST" 16:20:26 ais523: It also functions as a nice hypervisor. 16:20:29 ah, yes 16:20:40 ehird, see logs from 2008 for more info why I like QNX. 16:20:47 AnMaster: "Logs from 2008" 16:20:52 ais523: where can i get that L4 ? 16:20:52 AnMaster: 2008 is rather nonspecific... 16:20:53 "Please see SOME ATOMS, IN THE UNIVERSE" 16:20:56 ehird, yes, I think during the spring 16:20:56 AnMaster: We talk a lot. 16:21:00 grep for AnMaster and QNX 16:21:04 can't be too hard 16:21:12 nooga: I don't know off by heart, but it was all over the tech news last week 16:21:22 ais523, you know about grep? 16:21:26 right? 16:21:27 pikhq: "Hey, we have this really great, sturdy rickshaw here. What's that? You have design documents and know where to get the components to build a ... horseless carriage? Shut up with that crap, let's go polish the lovely rickshaw." 16:21:38 AnMaster: yes; but, I don't have all the logs from 2008 saved on my computer 16:21:47 "Sheesh! Idealists." 16:21:56 ais523, true, I have some compressed on CD :P 16:22:01 and http://tunes.org/robots.txt gives "Crawl-delay: 15" 16:22:02 for 2007 and 2008 16:22:16 ehird: ... Thou art an idiot. 16:22:18 so it would take over an hour to download them all 16:22:27 However, you are simultaneously idiot and genius, so. 16:22:32 ais523, I assume you have them compressed on cd or similar? 16:22:33 pikhq: that's your new favourite method of argumentation, isn't it 16:22:44 AnMaster: no, I don't 16:22:46 if you can't think of a response, drop an ellipsis, go into faux olde english mode and insult me 16:22:53 why would you expect me to? 16:22:55 nooga: there are multiple versions of L4. The Wikipedia page has links to many of them. 16:22:55 I guess at this point all I can say is "Shut up and write your damned kernel-less OS and *demonstrate* how awesome it would be." 16:23:00 ais523, heh, what if tunes vanishes? 16:23:03 it's not as if I use #esoteric logs for bedtime reading 16:23:15 pikhq: Yeah, uh, I'm working on it. Should I become a hermit and stop talking until it's done? 16:23:19 and, it's quite possible someone has them backed up; apparently you do 16:23:23 so why would I need backups too? 16:23:40 ehird: You're on IRC. Aren't you already a hermit? :P 16:24:02 pikhq: Soo, any response that is actually a response..? 16:24:05 *...? 16:24:36 Ah, no. 16:25:17 ...and i'm going to assume you don't concede, as most people still don't when they can't rebut an argument I pose 16:25:24 (I should really learn not to argue on IRC) 16:26:25 ... What argument? You just said "No microkernel. Also fairies." 16:26:43 [16:22] pikhq: I guess at this point all I can say is "Shut up and write your damned kernel-less OS and *demonstrate* how awesome it would be." 16:26:43 [16:23] ehird: pikhq: Yeah, uh, I'm working on it. Should I become a hermit and stop talking until it's done? 16:26:49 I can see where you would get an argument from that, but you really... Didn't argue the point so much as said "That sucks". 16:26:56 You haven't responded to that in any way apart from "hurr hurr irc is unsocial". 16:27:23 ... The... I... And... 16:27:41 ó_o 16:28:16 You make about as much sense as Chewbacca on Kashyyyk. 16:28:46 So, that's two non-rebuttal responses to one line so far. 16:29:13 What the crap is there to rebut? It's a freaking rhetorical question! 16:29:56 The whole issue is you saying, effectively, "stop dissing microkernels until you've made your wonderful no-kernel OS." 16:30:07 i.e., "stop talking about OS design until you've completed a fully working OS." 16:30:28 I am asking if you seriously think I should do that, because otherwise my criticism of L4 was completely founded. 16:30:51 Sorry, but extraordinary claims require extraordinary proof. And you're claiming that CS has been doing it wrong for 50 years. 16:31:08 pikhq: are you using linux at the moment? 16:31:14 Yes. 16:31:25 CS' opinion has been "microkernels are the only acceptable option" since forever. 16:31:33 Maybe your CPU is executing extraordinary proof right now. 16:32:07 Nope. People've just not bothered to make a decent general-purpose microkernel OS is all. 16:32:26 "Not bothered" is quite different from "I can't even see how you would *write* that". 16:32:26 * ehird facepalm 16:33:06 How would you write any software without a kernel? 16:33:12 Oh, right, no other piece of software HAS a kernel. 16:33:37 We don't route all our information access and, well, EVERYTHING through one god procedure/object/.... 16:33:42 Because that's just fucking STUPID. 16:33:52 We simply use other procedures/objects inside others. 16:34:17 I will be quite intrigued to see your scheduler. 16:34:27 Singular? 16:34:43 "I will be quite intrigued to see how you do a KERNEL without a kernel, ho ho!" 16:34:47 Convincing that's not. 16:35:14 And if you get multiple schedulers working, then I will suspect you're running on a different architecture than anyone else. 16:35:30 /facepalm 16:35:46 Because I don't see any way for that to work aside from fairy dust. 16:35:49 Isn't there a linux which runs on top of L4? That would count as a decent general-purpose microkernel OS 16:36:15 impomatic: I'd hesitate to call that a microkernel OS. More "Linux using L4 as a hypervisor". 16:36:15 Amusing how every pro-kernelers attempt to rebut no-kernel systems use skewed questions that use singular kernel terminology. 16:36:27 When did you stop beating your $person_of_note, pikhq? 16:36:45 ehird: How the fuck do you propose for *any* of it to work? 16:36:51 ehird: what's your opinion on exokernels? 16:37:27 pikhq: IT'S SIMPLE! Just don't have one centralised router that all code goes through! WRITE IT LIKE ANY OTHER PIECE OF SOFTWARE! 16:37:48 impomatic: microkernels taken to the extreme. as pointless, and slower 16:38:14 ehird: ... So, magic. 16:38:21 So you advocate monolithic kernels? 16:38:37 So, brothers. pikhq thinks that writing software without a god object at the center having everything passed through it is "magic". 16:38:40 ehird: start implementing, i'm dead curious how it will function 16:38:48 Do remind me in future to never work on any code pikhq's designed. 16:38:54 impomatic: i advocate modular no-kernel systems. 16:39:10 ehird: The hardware assumes a god object. 16:39:10 baaah 16:39:24 pikhq: the hardware basically assumes C. 16:39:26 but mikrokernel arch is just modular system with minimal kernel 16:40:04 how can that be so bad compared to a modular system without kernel 16:40:21 ehird: as long as you have a central CPU, you will either have a kernel or a lot of code duplication best replaced by a kernel 16:40:33 nooga: new argument policy instated: I won't reply to people who don't read the pertinent article. 16:40:45 lament: I can play the assertion game too: you're wrong. 16:41:03 i've scanned the article 16:41:09 k 16:41:17 nooga: if you actually read it, what you said would have been answered. 16:41:20 I link for a reason. 16:41:57 probably=, somehow, i omitted that part 16:44:30 btw. is Cyclone nice? 16:45:04 ehird: What you propose is akin to Haskell without a RTS. 16:45:33 Now, marvel in amazement as I construct an analogy that doesn't work to prove me right! 16:46:22 Y'know, you're busy being really stupid. Go off and write your no-kernel OS, and shut up about it until you've got a proof of concept, please? 16:46:51 Argumentum ad shutus up yourest stupidus. 16:47:06 =.= 16:48:07 and people accuse me of making bad arguments to avoid admitting I'm wrong. 16:48:28 what if 16:48:30 -!- impomatic has left (?). 16:48:34 YOU'RE WRONG? 16:49:07 ooooooouch, that felt almost like dividing by 0 16:49:26 nooga: almost as good an argument as pikhq's 16:50:22 i just asked what if you're wrong 16:51:08 ehird: Sorry, but I feel like you're proposing the moon landing was fake, and you're not actually defending it with anything but "ZOMG". So please, just show me that this is even freaking *possible*. 16:52:13 Moo. 16:52:16 How can I prove that it's possible to write a piece of software without one god object orchestrating everything? 16:52:26 Well, do allow me to point to every single piece of well-designed software ever. 16:52:58 A piece of software that inherently has a god object. 16:53:08 Mooooooooooooooooooooooooooooooooooooooo. 16:53:39 pikhq: ...do you realise that that makes it IMPOSSIBLE to prove? 16:53:48 Moooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo. 16:53:56 No it doesn't. Write an OS without one. 16:54:15 Or just do what Gregor is doing, and become a cow. 16:54:23 GregorR-L: Shut the fuck up. I know you don't like it when the discussion in here is anything other than mindless meander about hats, but if you don't like an argument, ignore it. 16:54:33 pikhq: I. am. writing. one. 16:54:44 You don't seem to comprehend this. 16:54:47 ehird: There are plenty of discussions in here I like. Retarded and totally pointless arguments aren't amongst them. 16:55:11 Certainly, O GregorR-L, supreme arbiter of What Bores GregorR-L And Thus Is Retarded. 16:55:25 To this I say, 16:55:28 Moooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo. 16:55:56 ehird: Then please, continue doing so. 16:55:58 Whenever you talk about hats, maybe I'll spam "Baaaaaaaaaaaaaaaaa." 16:56:01 ehird: O ehird, supreme arbiter of What Bores Elliot And Thus Is Retarded Or Wrong. 16:56:16 pikhq: And never say a single word until it's done. Sure thing! 16:56:23 This argument is getting in the way of you actually having such an OS. 16:56:34 nooga: funny thing; if you look closely, my line has context and yours has none. 16:56:54 To this I say, 16:56:57 Moooooooooooooooooooooooooooooooo. 16:56:59 -!- GregorR-L has quit ("Leaving"). 16:56:59 pikhq: like I'd be coding an OS at 5pm after having not slept a whole night and on IRC. 16:57:13 funny thing, if you look closely, my line is true and your is not 16:57:23 To this, I say, 16:57:30 Mooooooooooooooooooooooooooooooooooooooooooooooooooooooooo. 16:57:35 Fuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu. 16:58:26 You're all blathering, ad-hominem loving, "la la la I can't hear you" idiots. 17:00:29 The cognitive dissonance is astounding. 17:00:43 If you'll notice, I have not used an insult or 17:00:45 an animal noise 17:00:56 ehird: go play with your big, warm, nice cup of STFU 17:01:04 in the place of an argument once in this "argument" (more like you flinging shit around while I attempt to put down my thoughts) 17:01:10 ^ul (aS(:^)S):^ 17:01:10 Actually, go to bed. 17:01:11 (aS(:^)S):^ 17:01:29 ehird: you're always putting down my thoughts 17:01:33 so why not 17:01:53 Congratulations, your English parser cannot handle words with more than one meaning. 17:02:54 You're all dumb as a sack of bricks and can't even muster up the rationality to argue with valid reasoning instead of using fallacies (like begging the question) and saying "moo". I have nothing more to say to such people. 17:03:00 ehird: Go to bed. 17:03:02 Let me know when you're all sane. 17:03:03 -!- ehird has left (?). 17:03:04 bye 17:03:12 So, ehird got a stick in his vagina. 17:03:48 pikhq's and ehird's conversation was kinda weird, neither had any arguments, but pikhq's lack of arguments was a deadly sin, even though he was the one aware of his lack of arguments 17:04:24 That was a freaking weird shouting match. 17:04:34 well, except ehird did paste that link 17:04:56 Which was a page of someone else having the same rant. 17:05:19 well i don't know about that, but it might've had arguments. 17:05:25 if it didn't, fine. 17:05:53 still, whether or not it did, linking is an annoying way to have a synchronous conversation 17:05:53 "Well, we just chop off the kernel and EVERYTHING WORKS!" 17:09:44 Erlang has such an awful type system. 17:10:03 It's all "dynamic" and "magic and fairy dust". 17:13:37 yeah 17:14:04 GregorR: moo :) 17:14:35 to ehird when he is back from log reading: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/270798 17:14:37 for* 17:17:14 -!- MigoMipo_ has joined. 17:17:50 -!- MigoMipo has quit (Nick collision from services.). 17:17:52 -!- MigoMipo_ has changed nick to MigoMipo. 17:34:58 It's all "dynamic" and "magic and fairy dust". <-- that is a downside yes 17:35:08 it isn't strongly typed indeed 17:35:50 Also, it seems a bit... Wordy. 17:36:04 pikhq, how do you mean 17:36:12 example or such 17:36:26 and yes, I'm sure there are more compact languages, and ones even more wordy 17:36:27 Erm. Not so much wordy as it is... Punctuation-y. 17:36:39 foo(bar,baz,qux,quux) % Why? 17:36:48 pikhq, oh yes, you mean using ,;. instead of {} or indention? 17:36:55 or not? 17:37:09 That, yes. 17:37:16 what is wrong with foo(bar,baz,qux,quux), quite a lot of parameters, but I can't see anything actually wordy in it 17:37:30 It just looks wrong. 17:37:34 well clearly it isn's haskell 17:37:40 *isn't 17:37:48 nor LISP! 17:37:55 pikhq, I fail to see why it looks wrong 17:37:57 There's also the export syntax. Eeeew. 17:38:12 pikhq, and well, the marking of blocks with ,;. is something you get used to 17:38:21 a bit irritating in the beginning 17:38:28 like, tracking the () in LISP 17:38:33 but after a while you get used to that 17:38:52 pikhq, what is wrong with it? 17:39:08 it is just an attribute that takes a list of function/arity 17:39:09 Saying how many arguments there are to the function being exported? 17:39:23 pikhq, well, foo/1 and foo/2 are different functions 17:39:25 so yes 17:39:25 Come on! Doesn't the compiler know that already? 17:39:32 ... Gaaaah. 17:39:41 pikhq, except you can have foo with 2 and foo with 3 paramters in the same file 17:39:45 in fact quite common idiom too 17:39:48 Hate the type system so much. 17:39:59 foo(Argument) % Wrapper function that calls: 17:40:13 foo(Argument, Accumulator) 17:40:52 pikhq: idea is to export only the right version 17:40:58 pikhq, and well, I assume you hate anything that isn't strictly typed then? 17:41:04 pikhq, say, Scheme 17:41:08 At this point, yes. 17:41:23 because of dynamic typing, the amount of arguments is the only distinction 17:41:25 pikhq, so are you saying you hate scheme? 17:41:29 seriously? 17:41:32 between two functions of the same name 17:41:36 I don't know Scheme, actually. 17:41:38 pikhq, oh and brainfuck, and most other esolangs 17:41:41 and 17:41:45 python for example 17:42:00 AnMaster: Needs better typesystems! 17:42:04 I WANTS MONADS 17:42:12 oklopol, a function can have several entry points 17:42:16 like 17:42:16 MÖNNÄDS 17:42:24 what does that mean? 17:42:24 foo(1, Acc) -> Acc; 17:42:28 -!- GregorR-L has joined. 17:42:36 * GregorR-L dares to peek back in #esoteric 17:42:37 foo(X, Acc) -> foo(X-1, Acc*2). 17:42:38 Moooooooo. 17:42:40 or 17:42:44 NO, YOU NEED A MICROKERNEL FOR THAT 17:42:46 GregorR-L: ehird bolted. 17:42:58 foo(X) when is_integer(X), X < 0 17:43:01 Good show though, pikhq and oklopol :P 17:43:03 a guard test 17:43:31 GregorR-L, atm pikhq is ranting about dynamic typing 17:43:44 i would've gone on with it if AnMaster wasn't suck a i'll just go on with my explanation even though GregorR just came back and we could like totally screw with him -ist 17:43:54 It is the antiHaskell, and I like haskell. 17:43:57 :P 17:43:57 *such a 17:44:14 oklopol, oh sorry, I didn't notice what you were trying to do 17:44:15 :P 17:44:17 *such an 17:44:51 AnMaster: ah, patterns right 17:45:03 oklopol, erlang is rather keen on pattern matching when possible 17:45:22 Oooh, Erlang talk. 17:45:24 i did know that 17:45:51 oklopol, you can pattern match most stuff, and you unpack byte "arrays" with pattern matching too 17:46:03 byte arrays are mostly used for when talking to external programs 17:46:11 like, reading a binary protocol, or reading a binary file 17:46:18 well, they aren't really arrays either 17:46:26 you don't work with them like an array 17:46:31 nor like a cons style list either 17:46:48 in erlang, it is just called "a binary" 17:46:48 but like what? 17:47:01 uh erlang had those fancy bit matchings 17:47:03 right? 17:47:06 oklopol, yes 17:47:09 something with :'s 17:47:13 that is what you use for matching binaries 17:47:14 well 17:47:17 that is one part 17:47:17 say 17:49:02 i don't think i've ever even written a function in erlang, but i remember reading the code of something like a tic-tac-toe server, dunno 17:49:13 1> DataReadFromFile = <<1,2,3,4,5,6,7>> 17:49:27 and part of a book, although i think functional programming was too hard for me to read back then 8| 17:49:32 2> <> = DataReadFromFile. 17:49:32 <<1,2,3,4,5,6,7>> 17:49:38 3> Len. 17:49:38 258 17:49:45 4> Data. 17:49:46 <<3,4,5,6,7>> 17:49:49 a simple example 17:50:25 by default erlang uses big endian for binaries 17:50:25 so, make that integer-little for little endian 17:50:25 iirc 17:50:34 ah it was that <<>> thing 17:50:48 <:.> are my favorites of the whole ascii, methinks 17:50:55 5> <> = DataReadFromFile. 17:50:55 <<1,2,3,4,5,6,7>> 17:50:59 6> LenLittle. 17:50:59 513 17:51:07 reason it prints out that at the match 17:51:08 is 17:51:15 that the value of the whole match expression 17:51:15 is that 17:51:31 every expression in erlang has a value 17:51:37 and basically everything is an expression 17:51:52 you can even do X = case X of .... 17:51:54 or such 17:52:25 hey i know that much 17:52:33 i just didn't remember how the binary thing worked 17:52:34 (value of case would be value of last expression evaluated inside the case block, which would depend on what branch was taken) 17:52:38 -!- MigoMipo has quit (Remote closed the connection). 17:52:53 oklopol, well, you can use the <<>> matching both ways. That is, to construct a binary too 17:53:02 i know :P 17:53:05 :) 17:53:34 pikhq, I really like erlang, type system could be better, but it is there optionally. As a annotation + static analyser tool 17:53:46 read more about dialyzer and -spec/-type annotations 17:53:54 pikhq, that should make you able to live with it 17:53:58 I use it a lot 17:56:27 AnMaster: Needs to be a Haskell library. 17:56:34 pikhq, eh? 17:56:43 The nice concurrency stuff. 17:56:44 pikhq, erlang as a haskell library. Hah Hah. 17:56:53 pikhq, well, it is pretty much tied into the language 17:56:58 pikhq, and, the VM 17:57:05 all the distribution stuff too 17:57:07 and so on 17:57:24 Fine, fine. Needs to be a very large patch against GHC. 17:58:05 Nah, a library would be fine 17:58:31 Deewiant: There's also the code hot-swapping stuff. 17:58:33 oh and it supports watchdogs for beam too 17:58:40 (beam is the name of the runtime/VM) 17:58:53 (as well as the extension of compiled erlang files) 17:58:53 pikhq: That's not outside library capabilities 17:59:04 Efficiency might be :-P 17:59:05 pikhq, oh and there is more you don't yet know about 17:59:07 I bet 17:59:13 AnMaster: Likely. 17:59:20 I'm only starting. 17:59:39 pikhq, SCTP support for example 17:59:47 would be possible in haskell of course 17:59:56 but, my point is, it would be a lot of work 17:59:57 SCTP? 18:00:03 pikhq, better than TCP 18:00:17 http://en.wikipedia.org/wiki/Stream_Control_Transmission_Protocol 18:00:18 anyway 18:00:22 Huh. 18:01:13 pikhq, what about stuff like... SNMP support? The built in transaction database mnesia? It supports being distributed over several nodes btw. With fallbacks and what not 18:02:15 it uses the ets tables (mutable storage inside erlang, only use it if profiling shows that dict or similar isn't enough!) 18:02:35 for example, efunge uses ets for the funge space. 18:02:37 but that is all 18:02:51 anyway, ets would be a bit messy in haskell 18:02:57 erlang table storage? 18:03:00 what with haskell wanting to be pure and such 18:03:04 oklopol, erlang term storage 18:03:12 hmm right 18:03:43 oklopol, provides one indexed column only. (as in, you can't make more than one column indexed, if you need that, use full blown mneisa) 18:03:51 did erlang have first-class funcs 18:03:57 though, mneisa gives you overhead of transactions 18:04:14 oklopol, now, I always mix those words up. Is that like continuation, or closure? 18:04:27 So, there's something in Erlang's favor: absurdly comprehensive libraries for concurrent, fault-tolerant programs. 18:04:34 AnMaster: Closure. 18:04:38 right 18:04:40 if so yes 18:04:49 closures are not uncommon in erlang code 18:05:07 Erlang is a functional programming language. 18:05:15 I would *hope* that closures are quite common. 18:05:29 Given that... Every function is a closure... 18:05:35 and passing other functions as return values/parameters is also common (the difference between closure functions and functions compiled in the module, is minimal) 18:05:45 oh and it has list comprehensions 18:05:51 AND binary comprehensions 18:06:01 first-class funcs doesn't necessarily imply closures, closures imply first-class functions though 18:06:12 oklopol: Erm. Well, yeah. 18:06:15 and yes, good point, i guess it wouldn't be much of a functional programming language without closures 18:06:21 oklopol, also see http://en.wikipedia.org/wiki/First-class_function#Erlang 18:06:22 ;P 18:06:48 oklopol, it doesn't have continuations or backtracking though. 18:06:57 but you know you can pass those process id thingies along, but i guess it would be annoying to use that for all your closure needs 18:06:57 but, I guess you could emulate that behaviour if you wanted 18:07:16 oklopol, well, passing process ids around is quite common :) 18:07:22 oh another thing binaries are good for 18:07:54 each process has it's own garbage collected heap, this is for concurrency reasons. SMP + the "shared heap" mode just didn't work out well, it was tried. 18:08:14 as an effect of this, sending messages between processes result in copies of the data 18:08:16 HOWEVER 18:08:22 this is not true for larger binaries 18:08:29 since they are stored refcounted in a shared heap 18:08:38 larger = more than 64 bytes iirc 18:08:46 or around that 18:09:09 oh and binary matching is fast 18:09:16 -!- ehird has joined. 18:09:27 -!- ehird has left (?). 18:09:47 since erlang internally treats most operations on binaries as pointing into an existing binary 18:09:52 same thing when appending to end 18:10:29 (it's like appending to the start of a cons list, kind of) 18:11:13 (as in, erlang stores how long the binary is in the "handle" for it, so different such "handles" can see different sections of the same binary in memory) 18:11:37 of course, any good language does these sorts of optimisations 18:11:57 pikhq, so, anything except the type system that you dislike in erlang 18:12:15 AnMaster: Syntax. 18:12:17 (I don't count the ,.; issue as one, you will get used to it after a few days) 18:12:27 pikhq, any part of syntax apart from the ,.; ? 18:12:31 But that's a qualm I have with everything, so. 18:13:22 pikhq, and, I hated erlang syntax when I began. Like I hated LISP syntax when I began. But once you get used to them, so you no longer have to think about the correct syntax in *THIS* language to code in it, it works fine 18:13:26 AnMaster: No "let x in"! 18:13:33 No "where x = foo"! 18:13:50 pikhq let I assume is like in scheme 18:13:54 but what about the "where"? 18:14:23 Like let, but after definitions 18:14:23 "where" is a lot like "let". 18:14:28 it's let but it becomes after the scope 18:14:28 and, scheme-like let isn't something I missed 18:14:33 in erlang 18:14:33 err 18:14:45 pikhq, you are trying to code haskell in erlang right? 18:14:59 pikhq, believe me, it must be better than how I started out. Which was C-like erlang 18:15:03 *-err 18:15:14 No, I'm wishing it was Haskell. 18:15:25 If I were coding Haskell in Erlang, I'd be implementing monads. 18:15:43 pikhq, monads in erlang would probably slow the whole thing down a lot 18:15:53 at least, without VM support 18:15:53 that is 18:15:54 Yeah. 18:16:07 Monads are kinda hard to do without the type system supporting it. 18:16:11 pikhq, write a haskell -> erlang compiler then 18:16:17 since there is a lisp -> beam compiler 18:16:25 Screw that. Core -> Erlang. 18:16:39 C -> Erlang? 18:16:42 Granted, Core is pretty much Haskell without the sugar. 18:16:46 pikhq, that would be funny. Because Core is a format internally used in the erlang compiler 18:16:49 so 18:16:56 normal compilation goes like: 18:17:23 Erlang -> Core -> Bytecode 18:17:32 where bytecode may then be converted to native code using HIPE 18:17:33 iirc 18:17:46 at least, I think that is the leayer HIPE hooks into 18:18:00 (not 100% sure, may work at Core instead) 18:18:31 pikhq, but, Core is a machine readable format, which is quite unreadable to humans! 18:18:50 (oh and it is "Core Erlang" it seems, but everyone just seems to call it "core" in #erlang and such) 18:18:52 And Haskell compilation goes like: Haskell -> Core -> Extensive whole-program transformation -> (Either (C -> Assembly) Assembly) 18:19:07 pikhq, is that really "Core Haskell"? 18:19:13 but everyone just calls it "core"? 18:19:26 Lemme look it up. 18:19:28 * pikhq finds GHC docs 18:20:06 It's just Core. 18:20:10 mhm 18:20:14 It's " Core" where compiler is GHC, YHC, etc. 18:20:27 (I forget which compilers have Cores) 18:20:30 Well. Yeah. 18:21:30 GHC Core sticks all pattern matching as "case" statements, does all functions as explicit lambdas, and a whole bunch of other stuff. 18:21:39 uh 18:22:06 But it is for the most part a subset of Haskell. (well. Rather, that's the textual representation. GHC just keeps it in a tree unless you ask it to pretty-print it) 18:22:19 if ehird wrote a haskell compiler I'm sure it wouldn't have a core, rather the ASM layer and the high level parts would fight for control all the time. Using capabilities. 18:22:33 and, objects 18:22:49 oh and that asm, would actually be either forth or smalltalk 18:23:27 Erm. Actually, doesn't GHC code generation go by way of C--? Hmm. 18:23:31 GHC Core sticks all pattern matching as "case" statements, does all functions as explicit lambdas, and a whole bunch of other stuff. <-- pretty sure it is the same, when I made erlc dump the core program 18:23:47 GregorR: COME LOOK ANMASTER MADE A REFERENCE TO YOUR FAVORITE CONVERSATION 18:23:58 i'm sure your new thing is to be reminded of your mooing. 18:24:02 forever. 18:24:05 -!- ehird has joined. 18:24:08 -!- ehird has left (?). 18:24:13 huh 18:24:23 multiple function entry points gets turned into one entry point + case 18:24:25 Errr, doesn't even seem related? 18:24:25 Ehird must be log-reading. 18:24:35 and all funs and such gets expanding outside 18:24:51 GregorR-L: "if ehird wrote a haskell compiler I'm sure it wouldn't have a core" 18:25:02 seemed to me like that could be seen as a reference 18:25:14 oh and, list comprehension turns into generated functions 18:25:36 Apparently I wrote a bad generational garbage collector at some point, but it has amazingly shit-o cache locality, getting 100x more pagefaults than libgc (PS it's slower) 18:25:55 GregorR-L, PS? 18:25:57 oh 18:26:03 PostScript 18:26:11 post scriptum 18:26:13 so one written in postscript would be slower 18:26:15 I see 18:26:18 GregorR-L: What about the GC for Plof 2? 18:26:19 well, probably it would 18:26:22 afterwrittance 18:26:32 GregorR-L, erlang's GC seems quite good 18:26:49 unless you do extreme things 18:27:08 pikhq: IIRC that was ... libgc, plus some reference counting garbage :P 18:27:18 (I only managed to tip it once, when using huge records with many subrecords and dicts and linked lists and so on nested in various layers) 18:27:18 Oh, right. 18:27:32 I forgot, I wrote some of that. *I should know better*. 18:27:39 (this happened in my bf compiler when handling ais523's "hello world" from gcc-bf= 18:27:42 s/=/)/ 18:27:55 (which was even larger than lostking) 18:28:09 AnMaster: It's GC for Plof. 18:28:24 pikhq, btw, what are you trying to write in erlang 18:28:32 nothing 18:28:34 and, I assume you will use OTP 18:28:48 for the supervision tree of your processes 18:28:49 and such 18:28:55 that is a key part of erlang 18:28:58 AnMaster: Simple examples. 18:29:00 I is noob. 18:29:28 pikhq, right. You need to learn the language and basic concurrency before starting to use OTP to make the concurrency implicit (kind of) 18:30:21 OTP? 18:30:45 Open Telecom Platform. 18:30:48 OTP handles the (few) tricky race conditions that exists pretty nicely. Those ones are mostly related to the event of "process exiting/dying between checking it exists and doing something with it, replacing that with a better way to do things) 18:30:48 oh-some transaction protocol 18:30:53 oklopol, no 18:31:00 oklopol, the name is pretty much a bad name 18:31:02 for a good thing 18:31:08 it is really not related to telecom much 18:31:11 well, originally it was 18:31:14 It's a standard library. 18:31:45 well, OTP is actually most of the standard library in erlang iirc 18:31:48 However 18:31:59 mostly it actually refers to the supervision trees 18:32:03 and SASL 18:32:19 (which is not same SASL as is used for login for mail for example) 18:32:36 -!- MizardX has quit (Read error: 104 (Connection reset by peer)). 18:32:48 supervision trees is important for fault tolerance and error logging/handling and such 18:32:58 SASL is also important for these things 18:33:15 pikhq, I recommend using a book when learning erlang 18:33:19 which one are you using? 18:33:24 -!- MizardX has joined. 18:33:35 Joe Armstrong's book is pretty good, but maybe a bit dated now 18:33:48 I'm just scrolling through the "getting started" book slowly. 18:33:49 (Programming in Erlang - Software for a concurrent world) 18:33:51 Erm. Page. 18:34:00 which is the one I used to learn erlang 18:34:05 pikhq, getting started on the web? 18:34:06 hm ok 18:34:25 pikhq, I would definitely recommend a good book 18:34:27 like that one 18:34:42 ebook, try piratebay, but I think it is worth paying for 18:34:43 though 18:34:45 More as a "get a clue WTF everything is" documentation than a comprehensive book, of course. 18:34:46 there are newer ones 18:34:52 pikhq, ah 18:35:14 I HATE UNICODE HANDLING IN C++ 18:35:21 oh about that 18:35:25 modern erlang versions 18:35:30 has good unicode support 18:35:32 this means 18:35:35 R13B or later 18:35:42 how am i supposed to pass unicode encoded path to fopen() ? HOOH?! 18:35:46 older ones used some western europe ISO encoding 18:36:10 nooga, um. Shouldn't you use a filestream object kind of thingy? 18:36:46 nooga: Assuming GNU C, UTF-8 encoded. 18:36:47 if you are going for C++ I mean 18:36:54 pikhq, he said C++ 18:36:55 Any where else, good luck? 18:36:55 above 18:37:06 Mmm. 18:37:11 anyway 18:37:28 pikhq, what erlang version are you using. I always recommend the last stable one 18:38:27 -!- MigoMipo has joined. 18:38:37 Whatever's stable in Gentoo. 18:39:23 12.2.5-r1 18:39:24 ouch 18:39:32 pikhq, well, you won't have unicode that way 18:39:53 Suggest something to keyword? 18:39:55 go for ~amd64 if you want unicode, good regex (old regex stuff was *slow*) 18:40:01 dev-lang/erlang ~amd64 18:40:05 that's what I use 18:40:15 Okay, then. 18:40:17 pikhq, for USE flags 18:40:21 enable hipe 18:40:24 if it isn't enabled 18:40:26 BTW, you don't need the "~amd64" bit any more; that's implicit. 18:40:29 if you have more than one cpu 18:40:43 enable smp then 18:40:44 oh and 18:40:50 you want to enable kpoll 18:40:53 Installed versions: 13.2.1(12.42.10 2009-06-17)(doc emacs hipe kpoll sctp smp ssl tk wxwindows -java -odbc) 18:40:56 see my useflags 18:41:24 pikhq, I would definitely recommend hipe and kpoll. And doc if you plan to program 18:41:37 I have doc enabled system-wide. 18:41:38 doc makes erl -man gen_tcp 18:41:40 and such work 18:41:41 that is 18:41:43 man pages 18:41:47 for all erlang modules 18:42:01 pikhq, the erlang mode for emacs is very nice, but kate works fine too 18:42:04 haven't tried any other editor 18:42:19 I use Emacs. 18:42:27 pikhq, and as I said, if you have multiple cpus, or dual core, use +smp 18:42:37 oh and wxwindows is nice too 18:42:42 tk is very good to have 18:42:47 otherwise most apps won't work 18:42:53 I mean GUI apps 18:42:56 like, the debugger 18:42:58 and such 18:43:12 I guess they will use wxwindows in the future 18:43:20 but that support is new in R13B 18:43:29 so most apps are still using TK 18:43:32 Tk* 18:43:40 pikhq, wait, you were/are a TCL fan right? 18:43:48 so I guess you have tk useflag on then 18:43:52 Yeah. 18:44:03 pikhq, does TCL use dynamic typing? 18:44:06 Tcl's my prefered imperative language. 18:44:19 Technically, yes. 18:44:23 pikhq, HAH! 18:44:40 Though actually there's only one type. A string. 18:44:48 pikhq, mhm 18:44:59 pikhq, erlang has no strings. They are just lists of integers 18:45:16 Procedures treat this in varying ways, netting you something a lot like dynamic typing. 18:45:28 But it's all string manipulation. 18:45:36 pikhq, that sounds worse than erlang's system 18:45:37 I mean 18:45:56 different functions could represent integers different ways 18:45:57 like 18:46:05 one could use localized integer format 18:46:13 Yes, but they don't. 18:46:13 while another always used . for decimal point 18:46:23 (Swedish use , for decimal separator) 18:46:27 uses* 18:46:43 no 18:46:50 nooga, ? 18:46:52 I can't use iostream 18:46:53 Because the standard number-handling procedures (expr and tcl::math::*) treat it the same way. 18:46:54 because 18:47:03 i'm faking MFC's CFile class 18:47:08 And only someone truly insane wouldn't. 18:47:10 pikhq, what about representing something like a struct 18:47:11 that is 18:47:24 and i can't even pass wchar_t* fo fopen as a path 18:47:28 Why, you'd use a list. 18:47:28 a data type with some fixed keys, each having a value 18:47:36 pikhq, which is also a string? 18:47:41 Yes. 18:47:45 pikhq, huh 18:47:53 But there are functions for treating a strign as a list. 18:47:53 pikhq, an escaped string I presume? 18:47:55 ouch 18:48:09 pikhq, you would need to *escape* the string, and handle that 18:48:10 right? 18:48:22 No, you just use the list handling functions. 18:48:28 ok, so they do it 18:48:30 right 18:48:43 pikhq, what about nested lists? And such 18:48:47 Sure. 18:48:49 oh and what about a binary search tree 18:48:55 list foo [list bar baz] 18:48:56 that is, implemented in an efficient way 18:49:26 i wonder is it possible to fully infer types in sadol program so i could use simple types in sadol compiler's C output 18:49:39 Strictly speaking, all this is implemented efficiently. What I'm describing is just its semantics. The interpreter actually represents all this things in a sane way. 18:50:00 pikhq, so... list isn't actually stored as a string? 18:50:02 These things, even. 18:50:05 unless you want to look at it that way 18:50:14 in which case it has to translate it to a string? 18:50:15 eh 18:50:19 ok 18:50:23 A list isn't actually stored as a string until you ask for a string representation. 18:50:30 right 18:50:37 pikhq, so list is a BIF I presume? 18:50:45 BIF? 18:50:56 pikhq, ah yes, a common word in the erlang world 18:51:01 means Built In Function 18:51:07 Ah. 18:51:09 Yes. 18:51:12 a function that is not coded in erlang, but part of the erlang VM 18:51:20 all functions in the module erlang are like that 18:51:24 Yeah, it's built in. 18:51:30 and then there are some outside 18:51:35 like lists:reverse 18:51:42 that is implemented as BIF for speed reasons 18:51:45 There's quite a few built in functions in Tcl. 18:51:53 Because there's hardly any syntax. 18:51:55 pikhq, the list is quite long for erlang too 18:52:02 certainly much longer than most LISPs 18:52:11 but a lot deal with concurrency or data types 18:52:13 Twelve syntax and semantic rules. 18:52:36 heh 18:53:25 http://www.tcl.tk/man/tcl8.5/TclCmd/Tcl.htm There's the whole thing. 18:53:31 pikhq, oh btw, you can find the source code for erlang in places like /usr/lib/erlang/lib/stdlib-1.16.2/ 18:53:32 that is 18:53:35 the parts coded in erlang 18:53:40 not the parts that are BIFs 18:53:41 anyway 18:53:46 replace stdlib or whatever 18:53:51 with the application you want 18:53:52 where 18:54:01 "application" is a word for and erlang concept 18:54:10 and the version number too 18:54:17 err, meant /usr/lib/erlang/lib/stdlib-1.16.2/src 18:54:29 /usr/lib/erlang/lib/stdlib-1.16.2/ebin would contain the compiled files for example 18:54:57 Because of Tcl's quite simple semantics, metaprogramming is rather nice in it. 18:55:29 pikhq, what about that last trule 18:55:30 rule* 18:55:38 is there any way to work around it 18:55:42 like some sort of eval or such 18:55:59 I mean 18:56:00 There's "eval" and there's {*}. 18:56:04 hm 18:56:19 {*}{foo bar baz} is the same as writing out foo bar baz 18:56:40 wat? 18:56:43 Before that, there was the "eval" function. 18:57:01 nooga: Without {*}, {foo bar baz} would be a single word, instead of three. 18:57:03 if you want short descriptions of languages, I guess some sort of cellular automaton would win 18:58:36 bbiab 18:58:40 -!- jix has joined. 18:58:59 AnMaster: what do you mean? 19:03:06 It's a shame that Tcl doesn't have lambda builtin. 19:03:12 It breaks no semantics... 19:08:41 Eh, you can manage it pretty well by letting unknown know that it should expand the first word with {*} and then proc lambda {arg body} {return [list apply [list $args $body]]}. 19:11:19 (if Tcl can't evaluate something, it passes the entire command to the unknown proc) 19:12:26 pikhq, there is some function invoked when there is an unknown function in erlang, normally it tries to load the matching module, and fails it it can't find that module 19:12:29 iirc 19:13:38 Normally, unknown just does error handling. 19:13:45 uhm 19:14:02 But, you can do this quite easily: proc unknown args [list {your code here} [info body unknown]] 19:14:02 we don't like langs that care about whitespace? 19:15:57 no, we don't, that's our thing 19:17:21 that's a pitty 19:18:09 better SADOL with normal multi-character identifiers and literals would have to care about whitespace 19:18:41 otherwise lexical analysis would be impossible, since you don't declare identifiers before you use them 19:22:02 * pikhq is not amused with the idea of functions which can't be done in pure Erlang that are referentially transparent 19:22:33 like what? 19:22:44 "atom_to_list". 19:23:20 The only functions in Haskell that aren't themselves written in Haskell are in the IO monad. 19:23:36 (and `seq` and `par` and other such hacks) 19:23:36 :P 19:24:03 atom_to_list can't be done at all? 19:24:16 or what would you need for that 19:24:46 case x of (every single atom -> every single atom as a string) end. 19:25:01 why can't that be done? 19:25:09 or do you mean it'd be infinite 19:25:13 ... Because that would be a function of infinite length. 19:25:18 the same thing would happen when defining (+) in haskell 19:25:29 Grrawr. Right. 19:25:37 unless you define numbers as naturals, but then again you could define your own atoms in erlang, as lists 19:25:43 and i'm somewhat right, yes 19:25:45 You can't use that function in a guard. 19:26:11 (they restrict what can be used in a guard to avoid side effects somewhat) 19:26:13 NO SIDE EFFECTS! 19:26:16 ah 19:26:16 NONE! 19:26:21 yes i remember now 19:26:30 PIKHQ HATE SIDE EFFECTS IN HIS FUNCTIONAL LANGUAGE 19:26:46 :-) 19:27:11 PIKHQ WANT GRAPH REDUCTION 19:27:18 Plof wurve side effects in his functional language :P 19:27:59 Plof is clearly a multi-paradigm language. 19:28:17 Implemented using metaprogramming. 19:28:55 I've come to the conclusion that the GGC I just stumbled across in codu.org/projects is salvageable, and may even be fast, if I fix a few things. 19:29:13 Yay! 19:29:44 Nice blank Trac page, BTW. 19:29:54 8-D 19:30:30 That looks like a very small GC. 19:31:52 There, the Trac page is now not entirely blank, happy? :P 19:31:58 ... Is that wrapping Boehm GC? 19:32:33 The (n+1)th generation, where n is the number of generations implemented by GGC, is libgc. 19:32:48 You are stunningly lazy. 19:33:16 That's pretty much the standard way of doing such a thing. Copying objects that are so long-lived and so few that they literally never trigger a libgc collection in any of my tests is pretty pointless. 19:33:17 Whether that is an insult or high praise, I'm not sure. 19:34:29 * pikhq needs to look up generational garbage collection 19:35:41 Ah. 19:35:47 Okay, that makes perfect sense. 19:36:07 Still somewhat lazy to use libgc for it, but makes sense. 19:36:16 libgc is good stuff :P 19:36:28 And besides, like I said, I've never triggered a libgc collection, so who cares? :P 19:36:34 I could use malloc for that and get the same result :P 19:37:48 Basically you're just using libgc so you don't have to actually *implement* the final generation. 19:38:22 The final generation would probably just be mark-and-sweep anyway, so why would I implement it? :) 19:38:34 Heheh. 19:40:57 So, GGC makes sense until I get to the collect function. 19:41:02 I'm going to assume that's magic. 19:41:31 It is. 19:42:54 Like my if (0) there, btw? 19:43:41 That seems like a very Tclish thing. 19:44:07 (if {0} { ... } is used for block comments, since { ... } will never be evaluated, and thus, never parsed.) 19:44:53 Well, this is C, so it will be parsed ;) 19:45:00 Heheh. 19:45:23 -!- Pthing has joined. 19:46:02 Anyways. Looks to me like the only hard thing about making Plof use that is rewriting all the memory accesses to use your macros. 19:46:09 So, painful, but trivial. 19:46:09 -!- BeholdMyGlory has quit (Remote closed the connection). 19:46:16 -!- Sneezle has joined. 19:46:25 Yuh, but it's not a good idea until I can be at least somewhat sure that this'll be faster than libgc :P 19:46:29 -!- BeholdMyGlory has joined. 19:46:30 True. 19:46:55 So, GGC makes sense until I get to the collect function. 19:47:02 what is the collect function? 19:47:16 AnMaster: GGC is a garbage collector. The collect function is ... the collector. 19:48:04 pikhq, "referentially transparent"? 19:48:14 AnMaster: No side effects. 19:49:02 ... Because that would be a function of infinite length. <-- heheh, I'm not going to tell you something about this until the day you really love erlang. And hopefully by that day they fixed it. 19:49:16 In fact, it is planned to be fixed for the next major release 19:49:54 y = f(x) % And f does nothing other than some manipulation of x and return y. If you put in x, f returns y. Always. 19:50:06 pikhq, anyway, erlang atoms are limited to 255 chars currently iirc. 19:50:11 nobody expects GCC and RMS 19:50:18 f(x) -> x+2 % That's referentially transparent. 19:50:37 f(x) -> io:format("~w~n", x) % That's not. 19:51:52 libgc is good stuff :P <-- bohem-gc? 19:51:59 Yeah 19:52:07 boehm? 19:52:15 `google boehm garbage collector 19:52:17 Hans Boehm's page on the widely used Boehm-Demers-Weiser conservative garbage collector for C/C++. The Boehm-Demers-Weiser conservative garbage collector ... \ www.hpl.hp.com/personal/Hans_Boehm/gc/ - [16]Cached - [17]Similar 19:52:30 personally i think this is shiet 19:52:45 because of C++'s idiotic strict syntax 19:53:09 I've never used it with C++ *shrugs* 19:53:16 oh 19:53:24 it should be just fine with C 19:53:29 GregorR-L: It replaces new. 19:54:00 I suppose that's an issue if you want to sometimes use malloc()-based and sometimes not? 19:54:17 pools are good idea 19:54:21 you open pool 19:54:24 alloc shit 19:54:31 and then release pool 19:54:33 pikhq, the bad bit, that they plan fixing to the next major version is that atoms are stored in a pool of atoms, and that pool is size limited, and not garbage collected. The size is rather huge though. IIRC 2^30 or something like that. But yeah, they plan to fix it 19:54:39 Also, nice use of if(0). ;) 19:55:57 lists:map(fun convert_to_c/1, List) % THIS IS MORE TYPING THAN IT SHOULD BE 19:56:02 GRAAWW NEED TYPE INFERENCE 19:58:31 TYPE INFERENCE IS ÃœBER COOL 19:59:43 dun't yoy þink? 20:00:41 lists:map(fun convert_to_c/1, List) % THIS IS MORE TYPING THAN IT SHOULD BE 20:00:45 why are you doing that 20:00:58 In the tutorial. 20:01:02 pikhq, use a list comprehension 20:01:04 well 20:01:04 I was pasting an example in it. 20:01:09 depends on what convert_to_c 20:01:10 does 20:01:18 tell me what convert_to_c does 20:01:26 Converts from Fahrenheit to Celsius. 20:01:30 Contrived example. 20:01:32 pikhq, forumla 20:01:36 formula* 20:02:33 or link to tutorial pikhq 20:02:39 better listen to funk 20:02:42 because I'm pretty sure I can write it in a shorter way 20:02:58 http://www.erlang.org/doc/getting_started/seq_prog.html#2.13 20:03:18 * pikhq is being very slow. Damned IRC 20:03:40 pikhq, well, ok, that is to demonstrate funs 20:03:44 but 20:04:00 -!- GregorR-L has quit ("Leaving"). 20:04:06 It's much more typing than it should be for that. 20:04:40 ~f1*-#_0,232/59 20:04:48 pretty short 20:05:36 okay, not all are in f to begin with 20:05:37 meh 20:05:45 I was going to go with ((\x->(x-32)*5/9)<$>), myself. 20:07:24 Mmmm, partial application. 20:07:34 map((*5/9).(+(-32))) 20:07:54 Deewiant: Oh, sure, if you hate applicative. And want less lambda. 20:08:12 Just golfing 20:08:19 (+(-32))? 20:08:21 "map" is shorter than "(<$>)" 20:08:23 ah 20:08:38 It should have the same type anyways :-P 20:08:39 don't you dare explain 20:08:39 oklopol: Partial application of +, and unary -. 20:08:44 argh 20:08:47 :-D 20:08:47 pikhq, if you didn't care about order 20:08:49 i know 20:08:50 this might work 20:09:00 2> [{Loc,{c,trunc((TempF - 32) * 5 / 9)}} || {Loc,{f,TempF}} <- Temps] ++ [X || X = {_,{c,_}} <- Temps]. 20:09:00 [{cape_town,{c,21}}, 20:09:00 {paris,{c,-2}}, 20:09:00 {london,{c,2}}, 20:09:00 {moscow,{c,-10}}, 20:09:01 {stockholm,{c,-4}}] 20:09:05 where Temps contains that example list 20:09:13 yeah, the mixed list messed it up 20:09:18 I'm sure there is some shorter way 20:09:19 !sadol ~f1*-#_0,232/59 !f,3113 20:09:29 wut 20:09:31 not again 20:09:51 AnMaster: That is... Very verbose. 20:10:05 pikhq, yeah, I could golf it however 20:10:11 pikhq, just too lazy 20:10:33 Deewiant: (*5/9) works? 20:10:37 map (\x -> (x-32)*5/9) -- is actually how you'd *write* it normally. 20:10:52 oklopol: Sure: multiply by 5/9 20:11:00 but 20:11:00 pikhq, yes. But note the list was mixed c and f 20:11:06 * and / have the same precedence 20:11:07 pikhq: map ((*5/9) . subtract 32) 20:11:08 so you should only convert those in f 20:11:09 Yeah, yeah, yeah. 20:11:10 pikhq, ^ 20:11:11 Is how I'd write it 20:11:21 pikhq, otherwise it would have been much shorter in erlang too 20:11:24 Deewiant: Or that. 20:11:31 Okay, okay. 20:11:32 oklopol: Ah, true 20:11:37 It might not work 20:11:52 (5/9*) will, though 20:11:53 doesn't seem to work on mine 20:12:03 pikhq, something like [{Loc,trunc((Temp-32)*5/9)}||{Loc,Temp}<-Temps]. 20:12:04 and yeah 20:12:08 to keep the location too 20:12:16 pikhq, which is way less verbose 20:12:19 anyway 20:12:40 data TempType = C | F; let f (C, x) = x;f (F, x) = ((*5/9) . subtract 32) in map f 20:12:41 the mix make it a bad idea to use a list comprehension 20:13:17 pikhq, why are you using map 20:13:22 instead of a list comprehension 20:13:34 pikhq, do it with a list comprehension in haskell please 20:14:45 [(x-32)*5/9 | x <- list] 20:14:58 AnMaster: Because map is idiomatic Haskell. 20:15:27 Oh, wait, it had locations, didn't it? 20:15:29 lists:map(fun convert_to_c/1, List) % THIS IS MORE TYPING THAN IT SHOULD BE 20:15:29 GRAAWW NEED TYPE INFERENCE 20:15:37 what part would type inference help with 20:15:44 AnMaster: fun 20:15:46 pikhq, it did 20:16:04 [(loc,(x-32)*5/9) | (loc, x) <- list] 20:16:13 And now for that in parallel! 20:16:19 pikhq, {Location,{c|f,Temperature::integer}} 20:16:21 where 20:16:25 location is ANY type 20:16:26 [: (loc,(x-32)*5/9) | (loc, x) <- list :] 20:16:27 :P 20:16:33 either string or atom or integer 20:16:37 can you do that in haskell 20:16:42 or is it too strictly typed 20:16:49 AnMaster: Sure. 20:17:09 [: (loc,(x-32)*5/9) | (loc, x) <- list :] 20:17:16 that is about same as the erlang one 20:17:22 except it added a "trunc" there 20:17:26 In fact, I just did that in Haskell. 20:17:28 pikhq, sure the rounding is correct 20:17:31 for floating point 20:17:40 and negative values 20:17:50 because, round towards zero is wrong 20:17:58 or rather 20:18:00 well 20:18:05 whatever trunc does is correct 20:18:09 forgot which way it works 20:18:14 maybe it IS towards zero 20:18:43 Fine, fine. [: (loc, trunc ((x-32)*5/9)) | (loc, x) <- list :] 20:18:59 pikhq, not much different from the erlang one eh? 20:19:07 just an extra : at each end 20:19:08 and 20:19:13 () instead of {} 20:19:19 oh and 20:19:26 The : and : are only to make the comprehension run *in parallel*. 20:19:29 Loc and X was upper case in Erlang of course 20:20:12 pikhq, hm interesting. would go against erlang's paradigm for concurrency though 20:20:12 well 20:20:16 I guess it could be done 20:20:20 as spawning worker threads 20:20:25 not sure how efficient that would be 20:20:30 for such a small list 20:20:41 Haskell provides many ways of doing parallelism and concurrency. 20:20:41 or, with so little computation done by each thread 20:21:07 Parallel list comprehensions is just one of them. 20:21:34 pikhq, computing that value is probably faster on a single cpu, unless you split them in two sizable batches 20:21:41 like 500 per CPU 20:21:54 and even then it wouldn't be noticable 20:21:58 unless you increase it a lot 20:22:07 (the computation I mean) 20:22:36 That could be written as: parMap (some parallelism strategy here) $ snd (\x->trunc $ (x-32)*5/9) -- BTW. 20:22:48 pikhq, overhead of telling another thread (possibly from a pool of worker threads) to do this, would be larger than actually just doing it 20:22:50 that is my point 20:22:51 Erm. second, not snd. 20:22:58 AnMaster: Sure. 20:23:19 pikhq, snd makes it play the notes on a instrument attached through the USB port? 20:23:37 No, snd gets the second value of a two-tuple. 20:23:40 say, Stradivarius 2.0 (Now with USB 3.0!) 20:23:46 ;) 20:23:57 second applies an arrow to the second arrow in a two-tuple. 20:24:07 pikhq, oh you mean {_,X} = T 20:24:09 or so 20:24:10 right 20:24:17 (a function just happens to be an arrow) 20:28:08 -!- ais523 has quit (Read error: 60 (Operation timed out)). 20:47:37 pikhq, still erlang does it's job well :P 20:47:42 whatever you think about it's syntax 20:48:05 AnMaster: No, it does it poorly. 20:48:17 Almost everything else simply doesn't *do* it, though. 20:48:18 pikhq, oh? 20:48:23 pikhq, ah 20:48:32 well, interesting point of view 20:48:46 * pikhq would like for Haskell to have network transparent MVars. 20:48:50 pikhq, plan9 would do it, except it doesn't have anything built in to handle the fall back or such 20:49:04 (given that, Haskell 20:49:23 haskell what? 20:49:31 's concurrency primitives would work just fine for that) 20:49:41 pikhq, oh and iirc funs are network transparent in erlang 20:49:44 but 20:49:50 I don't remember the details about that 20:50:04 iirc there *used* to be complex rules, but aren't any more 20:50:08 so I guess it just works nowdays 21:02:14 -!- ais523 has joined. 21:17:48 hi ais523 21:17:50 -!- ehird has joined. 21:17:51 meh 21:17:53 hi ehird 21:17:55 and hi AnMaster 21:19:58 that convert_to_celsius makes me rage. 21:20:03 time to do some Jew^WK magic 21:21:36 ehird, why is that? 21:21:39 -!- andi___ has changed nick to andi_. 21:21:44 verbose 21:21:57 also silly % No conversion needed / % Do the conversion comments 21:22:10 * ehird rewrites 21:22:22 ehird, remember the format: a list of 2-tuple (location,(c or f, temperature)) 21:22:30 I am well aware, thanks. 21:22:32 adapt as needed to language 21:22:40 but note all the info should be there 21:22:46 However, I will just deal with (c or f,temperature); as location isn't processed, it should not be part of the function input. 21:22:56 Instead, (location,convert (c or f,temp)) should be the call. 21:23:04 ehird, sounds fine 21:23:06 No, this is not identical to the example; yes, this is saner coding. 21:23:08 wait, wtf is going on here? 21:23:22 also, that data structure is really weird, why use something like that in anything but Unlambda 21:23:30 er, you mean 21:23:32 lists? 21:23:36 Craaaaaaaaaazy 21:24:06 I mean, nesting them like that 21:24:06 ais523, those are tuples 21:24:06 why (location, (c or f, temperature)) rather than (location, c or f, temperature) 21:24:07 I know they're tuples 21:24:07 ais523, so I guess it is a generic tempature tuple 21:24:13 exactly 21:24:14 attached to a location tuple 21:24:17 (c or f, temperature) represents a temperature 21:24:22 then (location, temp) 21:24:23 but that might be attached to, say, another tuple 21:24:24 like 21:24:37 (day and time, temp) 21:24:40 stored in a list 21:24:43 for that location 21:26:11 -!- Asztal^_^ has quit ("."). 21:26:17 reference counting has a nice property (assuming non concurrent execution): You can optimise a modification into a destructive update, instead of a copy and change, if you know you have the only reference 21:26:21 * AnMaster just realised this 21:26:38 um 21:26:43 that's a property of all gc 21:26:46 ghc does that 21:27:16 all gc knows whether there's just one reference to an object? 21:27:39 weird. 21:29:17 AnMaster: kay 21:29:26 f2c:{(x-32)*5%9} 21:29:27 conv2c:{(`c;(x[1];f2c[x[1]])[x[0]~`f])} 21:29:27 then 21:29:39 conv2c (`c;-10) 21:29:39 (`c;-10) 21:29:39 conv2c (`f;70) 21:29:39 (`c;21.11111) 21:32:09 12:21:34 pikhq, computing that value is probably faster on a single cpu, unless you split them in two sizable batches 21:32:10 nope 21:32:17 it uses advanced vectorisation stuffs 21:32:20 cleverer than that 21:34:17 btw, conv2c can also be written 21:34:18 conv2c:{(`c;:[x[0]~`c;x[1];fsc[x[1]]])} 21:34:24 using a conditional like it should be 21:34:30 instead of an icky array index 21:34:32 same code length 21:34:43 but this example is _very_ tenuous 21:34:49 who stores temperatures in this way? 21:35:10 if two different sources for two different cities give a different scale, convert it in the source backend 21:35:20 don't keep them mingled and convert them before displaying! 21:38:47 that's a property of all gc <-- not of mark and speed 21:38:50 sweep* 21:39:13 you can still do it 21:39:39 ehird, well yes probably 21:39:54 pretty sure ghc used to do mark and sweep 21:39:57 although wait 21:40:01 that's static analysis iirc 21:40:07 ignore me, i'm full of bullshit 21:40:08 THIS ONE TIME 21:40:48 ignore taking effect from (and including) the line THIS ONE TIME 21:40:49 ;P 21:40:57 `addquote ignore me, i'm full of bullshit 21:40:58 72| ignore me, i'm full of bullshit 21:41:17 `addquote ehird, well yes probably 21:41:18 73| ehird, well yes probably 21:41:24 ehird, ok 21:41:25 It's not much, but we must fight with the weapons we have. 21:41:36 Me admitting I'm full of shit, you half-agreeing with me. 21:42:04 ehird, I feel mine is like a nuke to your dagger 21:42:18 if you see what I mean 21:42:25 more like Concrete Donkey vs Prod. 21:42:29 and that dagger being made out of stone 21:42:34 we're talking targeted weapons here, after all. 21:42:39 ehird, concrete donkey? Hm 21:42:42 Worms. 21:42:43 where did you get that from 21:42:45 Also Prod. 21:42:48 ehird, oh, never played it 21:43:04 AnMaster: A gigantic concrete donkey comes out of the sky and repeatedly bashes the land and worms until it hits the sea. 21:43:21 It's, uhh... fairly rare. 21:43:34 ...Prod being infinitely common, and being useful if you happen to be right next to a worm that's on the very edge of some land with some sea next to it. 21:43:37 Well, water, not sea. 21:43:42 ehird, guided arrow? vs. uh... AIM-9 Sidewinder? 21:43:47 Meanwhile, 21:43:47 true if the Taiwan calendar is hidden; otherwise, false. By default, this method returns true and the Taiwan calendar cannot be displayed for the following SPLangId values: PeoplesRepublicofChina, HongKongSAR, and MacaoSAR. 21:43:47 — http://msdn.microsoft.com/en-us/library/ms441219.aspx 21:44:35 where did you find that? 21:44:39 as in, who/what linked you to it? 21:44:42 proggit 21:44:46 actually 21:44:46 make it 21:44:53 AIM-120 AMRAAM 21:44:55 much cooler 21:45:05 http://learnyousomeerlang.com/ 21:45:05 erlang community-- 21:45:17 okay, so learn you a haskell was similar in style to why's poignant guide, except not 21:45:24 "It has cartoons, and, and, is funny!" 21:45:28 But that's just a direct 1:1 ripoff. 21:45:48 mh, bonus gave permission 21:45:50 still lameo. 21:47:01 http://learnyousomeerlang.com/ <-- didn't I see something like that for haskell too? 21:47:04 Engfeh. Finally got a picture on the third monitor, and now it seems that Xinerama disables XRandR completely, but the only rotation support in the "radeon" driver is via XRandR. I guess Xinerama is sort-of deprecated, but XRandR itself is not capable of merging screens from two different graphics cards. 21:47:06 also I never seen that site before 21:47:09 seems horribke 21:47:12 horrible* 21:47:15 AnMaster: 21:47:15 21:45] ehird: erlang community-- 21:47:16 [21:45] ehird: okay, so learn you a haskell was similar in style to why's poignant guide, except not 21:47:16 [21:45] ehird: "It has cartoons, and, and, is funny!" 21:47:16 [21:45] ehird: But that's just a direct 1:1 ripoff. 21:47:16 [21:45] ehird: mh, bonus gave permission 21:47:18 [21:45] ehird: still lameo. 21:47:23 You win the "cannot read two lines forward" award. 21:47:30 Two. damn. Lines. Directly after. 21:47:34 >_< 21:47:58 why's poignant guide? Link? 21:48:12 To Ruby. 21:48:13 http://poignantguide.net/ruby/ 21:48:42 Cartoon foxes + cartoon everything + a good helping of what can only be LSD + oh yeah, some programming on the side + it has a goddamn soundtrack album + it's a book + SOUNDTRACK ALBUM = that. 21:48:57 also, pretty fun book. 21:49:11 despite not having been added to since like 200x for some value of x. 21:50:50 ehird, what does the word "poignant" mean? 21:51:06 Like unto a wiktionary and/or google.com. http://en.wiktionary.org/wiki/poignant 21:59:54 This is so ungood it's not even fun. It seems that I can only get the three monitor setup working without Xinerama, and that means no Firefox on two monitors, or moving windows around. 22:00:31 Firefox on two monitors? but your monitors have borders it'll be awful for content that goes across >_< 22:00:56 Eh, eh. 22:08:45 Conkeror on two monitors would be pretty awesome, though. 22:09:22 pikhq: ... that does not change the page body at all. 22:09:23 Imagine: 22:09:32 ehird: Two buffers, side by side. 22:09:39 *Not* a single page on both screens. 22:09:41 hel | | | | lo, world! 22:09:44 That just would hurt. 22:09:45 pikhq: Well, right. 22:09:50 That's what fizzie's doing, I think. 22:09:57 Since I don't think firefox does splitscreen. 22:10:31 also, anyone who hasn't seen http://www.youtube.com/watch?v=NmpIEbiRyCU&fmt=22 should rectify that. 22:10:32 BTW, Erlang is awful. Its concurrency primitives are pretty good. Everything else is just *bad*. 22:11:29 yeah 22:11:30 Oh, and code hot swapping. That's a nice feature. 22:11:38 the language itself is a crappy relic 22:12:00 (like all non-K languages amirite) 22:14:35 -!- Sgeo has joined. 22:14:51 Huh? Of course I mean two different firefox windows, both tiled fullscreen on the two separate monitors. And that's what firefox seems unable to do without Xinerama, since it insists on having all its windows on the same screen. And I really don't want to run two instances of firefox, with two different profiles. 22:15:50 Anyway, I had of course forgotten the simple solution, which was just to swap some cables around and use the static "Rotate" "left" option of the nvidia driver to control that rotated screen. Which I guess is all well and good, since turns out the radeon driver didn't 2d-accelerate rotated modes. 22:19:13 Now if I could just figure out why on earth it thinks this 1600x1200 monitor is actually a 1600x1600 monitor. 22:22:53 It just says "Output DVI-0 using initial mode 1600x1200", then "Display dimensions: (408, 306) mm" and "DPI set to (99, 132)". That vertical-DPI value is obviously computed as 1600/(306/25.4). 22:25:13 again 22:25:15 AGAIN! 22:25:19 pointless discussion 22:25:35 will bring flamewar probably 22:27:51 -!- andi_ has quit (Read error: 110 (Connection timed out)). 22:30:46 -!- MigoMipo has quit ("ChatZilla 0.9.84 [Firefox 3.5.1/20090715094852]"). 22:31:40 -!- MigoMipo has joined. 22:31:59 -!- Sgeo has quit (Remote closed the connection). 22:51:41 Having rechecked this in the hour since my original post, zero is now ahead by 4000 bits. There seems to be people intentionally gaming the system. Although since the system isn't really meant to do anything, I'm not really sure if 'gaming' it is the right term. 23:02:48 ehird: http://poignantguide.net/ruby/ 23:02:48 22:48 ehird: Cartoon foxes + cartoon everything + a good helping of what can only be LSD + oh yeah, some programming on the side + it has a goddamn soundtrack album + it's a book + SOUNDTRACK ALBUM = that. 23:02:58 tell me that this is uncool 23:03:17 my ex-girlfriend learned how to code from that guide :P 23:12:23 -!- olsner_ has joined. 23:13:51 bacaque 23:14:05 ais523: eh, I had a script 23:14:10 but it didn't work well 23:15:05 nooga: why is awesome. 23:15:13 yeah 23:16:05 -!- MigoMipo has quit ("ChatZilla 0.9.84 [Firefox 3.5.1/20090715094852]"). 23:27:25 so, occasionally I glance at techcrunch.com's home page just to see how low tabloid tech media is prepared to go these days. Stories include a ranking of URL shortening services, why the author of the post does not use twitter, and the fact that two staff members are having a joking flamewar over iPhone vs Android. 23:27:35 When in doubt, make one useless fluff post and two metaposts. 23:28:48 And people take this site *seriously*. 23:30:41 ehird: Ouch. 23:30:52 A... Ranking of URL shortening services? 23:30:57 How very useless. 23:31:02 Based on average response time and uptime 23:31:04 ! 23:31:09 So your tweets are NEVER useless! 23:31:13 Who gives a fuck! 23:31:16 ...hmm, wait, nevermind. 23:31:21 They're probably useless anyway. :P 23:32:24 You know what we need? Perfect holographic displays. 23:32:44 I want a laptop that can be a 12" ultraportable to a 30" workstation. :P 23:33:22 Well, also a hammerspace drive, so that we can store all the extra components required for the 30" version without adding weight. 23:34:14 -!- Asztal has joined. 23:41:53 -!- olsner has quit (Read error: 110 (Connection timed out)). 23:44:08 -!- oerjan has joined.