00:10:48 -!- ehird has quit (Read error: 113 (No route to host)). 00:16:13 -!- Deformati has quit (Read error: 110 (Connection timed out)). 00:17:47 -!- Deformati has joined. 00:21:48 -!- Slereah_ has joined. 00:21:48 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 00:25:05 -!- jix has quit (Read error: 113 (No route to host)). 00:27:51 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 00:28:01 -!- Slereah has joined. 00:30:19 -!- Slereah_ has joined. 00:30:19 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 00:36:21 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 00:36:24 -!- Slereah has joined. 00:37:43 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 00:37:48 -!- Slereah has joined. 00:37:52 -!- Deformati has quit (Remote closed the connection). 01:21:49 -!- ihope has quit ("ChatZilla 0.9.81 [Firefox 2.0.0.14/2008040413]"). 01:22:42 -!- Sgeo_ has joined. 01:32:25 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 01:33:23 -!- Sgeo_ has quit (Remote closed the connection). 01:36:36 -!- Sgeo has joined. 03:18:49 -!- Slereah_ has joined. 03:18:50 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 03:19:13 -!- GreaseMonkey has joined. 04:32:30 -!- Corun has quit (Read error: 110 (Connection timed out)). 04:35:30 -!- Corun has joined. 04:49:36 -!- Corun has quit ("This computer has gone to sleep"). 06:24:41 -!- adu has joined. 06:36:45 -!- adu has left (?). 07:18:37 look at this hottie: http://www.codethinked.com/image.axd?picture=WindowsLiveWriter/TheProgrammerDressCode_10D17/John%20McCarthy_fecf8122-7b54-4ec0-80ed-8ba261337eaa.jpg 07:20:09 -!- Sgeo has quit (Read error: 110 (Connection timed out)). 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:52:51 -!- Iskr has joined. 09:16:02 -!- Slereah has joined. 09:16:06 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 09:49:18 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 09:50:56 -!- Slereah has joined. 10:21:59 -!- GreaseMonkey has quit ("Unisex."). 11:09:04 -!- Slereah_ has joined. 11:09:07 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 11:14:06 -!- Slereah has joined. 11:14:06 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 11:18:56 -!- Slereah_ has joined. 11:18:56 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 12:43:19 -!- Slereah has joined. 12:43:19 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 13:12:18 -!- ehird has joined. 13:17:22 -!- oklopol has joined. 13:19:29 oklopol: oKokokokokokokokokoko!!! 13:19:37 andreou: reoreoreoreoreoreo 13:22:01 GKLYAAAA 13:22:30 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 13:22:37 -!- Slereah has joined. 13:23:04 oklopol: akakak 13:48:54 a 13:55:50 KAER 13:55:53 :) 13:56:17 trying to read the lojvan reference, a new interest in lalna is growing inside me 13:56:25 *lojban 13:56:37 going to change it to stack-based 13:56:46 stacks are perfect for human communication 13:57:14 somewhat object-oriented stack-based, GregorR would love this 14:12:32 -!- Corun has joined. 14:27:39 oklopol: i hate you 14:27:40 :) 14:47:06 you can globally specify a small stack limit if you have problems with it! 15:01:03 -!- Slereah_ has joined. 15:01:03 -!- Slereah has quit (Read error: 104 (Connection reset by peer)). 15:05:22 -!- Slereah has joined. 15:05:22 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 15:07:51 oklopol: heh 15:07:59 oklopol: make it stack-based, but reversed 15:08:05 then we can at least lazily evaluate what people say 15:08:07 instead of having to wait 15:13:37 reversed would make more sense, but i want a stack. 15:13:41 also 15:13:59 reversed is quite funny considering stack-based is often called reversed polish notation :P 15:14:04 make it a deque and you can have both 15:14:11 of course reverse . reverse = identity 15:14:24 lol :D 15:17:51 -!- SimonRC_ has joined. 15:20:06 it can be stacked oklopol 15:20:11 just make the speech reversed 15:20:16 so a computer evaluator would run it backwards 15:20:26 but humans can understand the sentence incrementally 15:20:32 instead of having to run a mental stack machine 15:23:00 wtf. does that mean 15:23:37 instead of *kill*, where <>=push and **=call, what would i say? 15:23:46 *kill* ? 15:24:00 just reversing rpn is pn, with arguments reversed 15:24:48 it makes sense in that you usually want to specify what you're doing before telling what you're doing it to, because the main event is the most interesting thing 15:25:51 (you can do *call-2-deep*, though, if you want) 15:25:59 oklopol: '2 2 +' becomes '+ 2 2' 15:26:05 so polish notation 15:26:07 as a computer, you can execute it as push 2, push 2, do + 15:26:07 ? 15:26:08 by reversing it 15:26:09 oklopol: no 15:26:12 8| 15:26:14 just write a stack program 15:26:15 and reverse it 15:26:23 because all the concepts of /stack programming/ instead of just the /notation/ are there 15:26:35 i.e. instead of a lisp program, it's like reversing a Joy program 15:27:22 polish == reversed stack, always. it's just with a stack high-order operations are easier to visualize. 15:28:17 if you know another difference, tell me what it is instead of just saying "it's different, because i see it that way" 15:29:37 polish == reversed stack, always. it's just with a stack high-order operations are easier to visualize. 15:29:39 wronngggg 15:29:47 oklopol: write a lisp program 15:29:50 then write a Joy program 15:29:52 then, reverse the Joy program 15:30:01 the Joy program is still fundamentally different from a Lisp program 15:30:07 e.g. it still has 'dup' and 'dip' and all that shizz, for one 15:31:00 -!- SimonRC has quit (Read error: 111 (Connection refused)). 15:31:21 5 2 dup + - => - + dup 2 5 <<< nothing wrong with this as polish notation 15:32:08 it's just you need to have pretty weird semantics for stuff once you do stack operations 15:32:22 oklopol: well, yeah 15:32:26 it's polish notation KINDA 15:32:26 mainly because arity cannot be done at parse time 15:32:28 but even so 15:32:30 well, yeah. 15:32:34 it's not what you'd think of 15:32:38 when you thought polish notation 15:33:13 well, polish notation and rpn might specify that arity need be known at parse time 15:33:24 dunno, i just think of them as guidelines 15:34:56 anyway, the whole point with polish notation is it's not incremental 15:36:17 oklopol: ok, but compare: 'you hello', 'hello you' 15:36:21 the latter is more useful as a human 15:36:30 because you know that something is about to be greeted 15:36:33 and then you get more information: it's you 15:36:33 and i'm not allowing direct stack manipulation all that easily, the point is that you *can* run a mental stack maching 15:36:34 whereas 15:36:37 with the other one, 15:36:43 you have to keep in mind that something about you is being said 15:36:48 and then learn that it's a greeting 15:36:52 which is more confusing 15:36:58 no it isn't 15:37:21 *machine 15:37:32 oklopol: in a complex sentence it is :) 15:37:36 you build up a stack of stuff in your head 15:37:41 and then it gets shuffled to hell when you find the verbs 15:38:40 yes 15:39:17 which is frustrating 15:39:24 it's true it's hard to keep in mind what the stack contains without knowing what it's use for 15:39:33 this is a good thing 15:40:24 frustrating? 1. your mother is frustrating 2. nothing is frustrating, things can only be challenging or impossible 15:41:52 hmmm, perhaps what i'm saying would make more sense if i explained a bit what the whole reason for stack-basedness was 15:42:34 humans have trouble storing the contents of the stack exactly because most natural languages don't require you to. 15:42:50 i want to try to change this, for myself. 15:43:21 would mean a lot easier mental calculation for instance, to get a stack working naturally. 15:45:15 there are ways to link pieces, mentally, well enough not to be forgotten for ages 15:45:23 oklopol: shit, you just called my mother nothing 15:45:24 indirectly 15:45:25 all you have to do is find a link you will definitely remember 15:45:25 that's clever 15:45:35 this is very, very easy. 15:45:39 now 15:46:01 i read a book about these techniques, and have been using them for learning lojban vocab etc. 15:46:26 but i've been thinking, i might start writing a book from a programmers point of view later on 15:46:32 because the fun thing about links is 15:46:39 that you can make data structures with them 15:46:46 permitting something like a stack easily. 15:47:11 the idea is, there are ways to "hash" an object mentally, and two hashes can easily be linked. 15:47:33 this can be used to create arbitrary graphs, so you can explicitly memorize any data structure 15:48:36 oklopol: memorize E80 15:48:54 ehird: indeed i did, in a stack-based fashion, first introducing your mother, then telling what she is, using a set as a variable. 15:49:05 so you indirectly just told me stack-based = clever 15:49:10 that's clever. 15:49:19 ehird: why? 15:49:25 also, too short to need memorizing 15:49:57 oklopol: because E80 is huge 15:49:58 :P 15:50:09 bah maybe it's not e80 15:50:11 whatever it's called 15:50:43 oklopol: The lie algebra thingy 15:50:58 i will talk more about the subject of memorization once i'm good at it myself, which might take a while as i'm lazy as hell 15:51:04 ehird: doesn't ring a bell 15:51:13 oklopol: here 15:51:14 http://en.wikipedia.org/wiki/E8_%28mathematics%29 15:51:56 ah 15:51:59 awesome 15:52:12 oklopol: yeah 15:52:15 248 dimension represent 15:52:22 "There is a Lie algebra En for every integer n≥3, which is infinite dimensional if n is greater than 8." 15:52:28 memorizing an infinite dimensional structure would be cooler 15:52:33 but slightly less, well, possible 15:54:59 is tha so? 15:55:02 *that 15:55:16 i think complex dimension just has to do with the graph's structure 15:55:30 but i don't really know, i was not aware of any of this. 15:56:31 -!- ehird has set topic: security by obscupromiscuity | http://tunes.org/~nef/logs/esoteric. 15:56:39 oklopol: i have no idea 15:56:44 but e8 is totally bitchin' 15:57:03 heh, sure 16:12:41 -!- SimonRC has joined. 16:21:00 -!- Slereah_ has joined. 16:22:44 -!- ehird has set topic: security by obscupromiscuity | lobotomoritoratiotron | http://tunes.org/~nef/logs/esoteric. 16:22:50 i suggest we invent silly terms and put them in a topic 16:22:55 -!- Corun has quit (Read error: 104 (Connection reset by peer)). 16:22:57 just add another | and put it before the log links 16:24:12 -!- Corun has joined. 16:24:22 o | security by obscupromiscuity | lobotomoritoratiotron | http://tunes.org/~nef/logs/esoteric 16:24:27 -!- oklopol has set topic: o | security by obscupromiscuity | lobotomoritoratiotron | http://tunes.org/~nef/logs/esoteric. 16:24:28 i mean 16:25:06 -!- SimonRC_ has quit (Read error: 110 (Connection timed out)). 16:25:09 i said AFTER 16:25:10 :( 16:25:13 haha 16:25:19 -!- ehird has set topic: o | iskagrel | security by obscupromiscuity | lobotomoritoratiotron | http://tunes.org/~nef/logs/esoteric. 16:25:29 well i just read "topic" and "add" 16:39:02 -!- Slereah has quit (Read error: 110 (Connection timed out)). 17:42:29 you know what sucks about irc bots 17:42:39 they have to do a huge linear search each message that comes through 17:42:43 for regexp matches and similar 17:42:44 that sucks 17:49:59 umm... k 17:50:04 why does that suck? 18:04:44 oklopol: if you have a lot of commands 18:04:50 then the linear matching is slow 18:06:54 :| 18:07:03 usually, people have a prefix 18:07:07 well, bots 18:07:57 if the bot designer uses a complex regexp to determine whether something is a command or not, thats their problem 18:08:36 but, unless you're using a 20-year-old computer, you cannot be on enough channels to have any trouble even with non-trivial regexps 18:09:56 oklopol: um, i mean like ones which match on messages 18:10:05 like 'botname!' makes the bot 'sender!' 18:10:10 if you are a plugin-based bot 18:10:14 then you can only do that via regexps, really 18:10:22 so you have to run a potentially huge list of regexps on every message 18:11:06 i have no idea what you mean by "botname!" makes the bot "sender!" 18:17:54 -!- Corun has quit ("Leaving"). 18:18:08 -!- Corun has joined. 18:18:29 oklopol: like if i had a bot claled foo 18:18:30 foo! 18:18:32 user! 18:19:55 so you have to do up to len(botnick)+1 checks to know if the user calls out your name? god, how can a modern computer manage 18:25:19 oklopol: I don't think you've read what I said. 18:25:29 If you don't build that in to the very core 18:25:32 and instead have it as a plugin 18:25:36 the only sane way to do it will be a regexp 18:25:41 Pile on many plugins 18:25:47 and you're doing over 100 regexp checks each line 18:27:36 ...doing that with a regexp is more than 4 checks? 18:29:26 if it has to find any occurrance of foo! in the message, that basically means it has to read all len(botname)+1 substrings... so basically once pass over each message 18:29:47 i have no idea what your point is, but indeed, perhaps i'm just not reading what you say. 18:31:14 oklopol: you're not 18:31:57 k 18:33:41 anyway, you are correct in that if you make your computer do the work of optimizing the regexp matching, it may not be optimal, although probably fast enough 18:34:00 and if you insist on using general regexps where you could just search for static strings 18:34:31 which would mean just one pass over the string, and would be trivial to code, even as a generic version 18:34:34 not insist, oklopol 18:34:42 Show me a good way to do it your way in a plugin based system :- 18:34:44 *:-) 18:35:12 "good"? meaning it should do static searches especially fast? 18:35:37 it's trivial to built a tree from the affices or smth, and just pass once over the message 18:36:13 although i see no problem with doing 100 regexp checks per line. nothing sucks with that imo 18:39:40 and are you assuming a regex motor that can't optimize for multiple search patterns at once? 18:40:10 naturally a good one should provide that 18:40:38 oklopol: sure, it's fine if you use something which doesn't exist. 18:41:19 no such regex motor exists? 18:42:44 anyway, i don't see how what exists has anything to do with making an irc bot, just make one yourself, regexes aren't hard to match on 18:44:20 oklopol: no such regex motor exist. 18:44:21 s 18:44:29 also .. you make me giggle 18:44:42 how so? 18:44:43 regexes are easy... but only simple ones 18:44:45 e.g. backtracking 18:44:50 and backreferences 18:45:00 heck, embedded evaluation 18:45:08 i recall making a regex matcher in c in 5 hours before i knew what parsing was 18:45:12 hmm 18:45:22 why would you allow that for an irc bot plugin? 18:45:24 oklopol: modern regexps are very powerful 18:45:26 and useful 18:45:33 some are even TC 18:47:00 well i don't see your concern, if you insist on using modern regexps even though they don't have support for your need, you're just making things hard for yourself 18:47:23 but you can make static strings separate cases and handle them yourself or smth 19:00:39 oklopol: anyhoo as you can guess 19:00:42 endeavour is coming <3 19:01:22 tell me more 19:05:45 oklopol: it will be endeavouricious 19:22:05 oklopol: hmm properly nested quotes are parsable aren't they 19:22:06 that is 19:22:12 "abc'd"foo"ef'ghi" 19:22:14 instead of 19:22:18 'abc'd'foo'ef'ghi' 19:27:46 -!- oerjan has joined. 19:32:08 ehird: yes, they are 19:32:39 oklopol: write a parser 19:32:39 :3 19:32:52 :| 19:32:56 well... sure 19:33:08 "abc'd"foo"ef'ghi" --> ["abc",["d",["foo"],"ef"],"ghi"] 19:33:21 -!- oerjan has set topic: o | iskagrel | security by obscupromiscuity | lobotomoritoratiotron supercollider | http://tunes.org/~nef/logs/esoteric. 19:41:09 http://www.vjn.fi/pb/p125315136.txt 19:41:38 -!- Sgeo has joined. 19:41:46 first made it agglomerate, but thought that might be better and removed it 19:43:17 -!- oerjan has set topic: o | iskagrel | security by obscupromiscuity | lobotomoritoratiotron supercollider | you will be agglomerated | http://tunes.org/~nef/logs/esoteric. 19:43:40 * oerjan is slightly disappointed that the word actually exists though 19:44:03 oklopol: TypeError: append() takes exactly one argument (0 given) 19:44:08 hmm 19:44:11 what did you use? 19:44:18 oh wait 19:44:20 it was a copypaste error 19:45:18 http://www.vjn.fi/pb/p342464244.txt <<< original agglomerative version, although you prolly could've added that yourself just as easily as i pressed ctrl+z 19:45:25 -!- oerjan has set topic: o | iskagrel | security by obscupromiscuity | lobotomoritoratiotron supercollider | resistance is fossile | you will be agglomerated | http://tunes.org/~nef/logs/esoteric. 19:47:14 ehird: does it work? i didn't really debug, just checked with a few trivial ones 19:47:23 * Sgeo is prepared to destroy the Universe with BOREDOM! 19:47:40 Sgeo: that is already being done 19:47:58 hm? 19:48:10 oklopol: you need a join 19:48:12 _very_ slowly 19:48:21 ehird: where? 19:48:43 I'm SO boring trying to count the number of digits in 19!!! that I accelerate the Heat Death of the Universe! 19:48:56 oklopol: it kinda works: 19:49:02 >>> parse_em(x) 19:49:02 [[['a', 'b', 'c', ['d', ['f', 'o', 'o'], 'e', 'f'], 'g', 'h', 'i']]] 19:49:13 yeah that's the non agglomerative one 19:49:19 is that factorial iterated thrice? 19:49:20 but i also pasted the original 19:49:52 oerjan, of course 19:50:22 19!.!.! 19:51:03 could be awkward 19:52:02 imagine trying to pronounce !.!.!. 19:52:09 ehird: is it correct? 19:52:28 * oerjan thinks Bill the Cat would pronounce it perfectly 19:52:29 oklopol: well, yes. 19:52:34 good 19:52:45 oerjan: I guess it'd be "chk. chk. chk" 19:53:03 (from the band named !!!, which is "chkchkchk" (well, any percussion sound - so "pewpewpew" would work too, but ...)) 19:53:46 pewtering nonsense... 19:55:30 pewpewpewtering nonsense 20:00:11 pew^{19!!!}tering nonsense 20:02:53 hm, the number of digits in 19!!!... loggamma(1 + exp(4.66 * 10^18)) / log(10)... that's pretty big :-/ 20:06:09 Deewiant: heh 20:06:13 A(g_64,g_64)!!! 20:06:20 >_< 20:06:52 those !!! are sort of insignificant 20:07:31 as in, adding 1 to any of the g_64's is likely to make much more of a difference 20:08:54 Σ(A(g_64!,g_64!)) 20:10:34 and i would guess changing 64 to 65 is far better than adding ! to g_64 20:10:48 I forget how it's defined 20:11:07 but I'll humor you 20:11:08 and what's the ? 20:11:22 Σ(A(g_(exp(64))!,g_(exp(64))!)) 20:11:30 I guess your font can't handle it 20:11:31 it's a sigma 20:11:42 um i don't think yours can either 20:11:53 how's that? 20:11:58 because it doesn't show up in the logs 20:12:17 * oerjan always checks the logs when he suspects unicode 20:12:24 it shows up fine in the logs here :-P 20:12:32 maybe your font can't handle the logs 20:12:41 which logs? 20:12:48 http://tunes.org/~nef/logs/esoteric/08.05.04 20:13:18 hm weird ircbrowse didn't get it 20:13:18 -!- timotiis has joined. 20:14:19 mind you if that Sigma is a sum sign then it doesn't fit there 20:15:03 no bounds or index to sum over 20:15:12 it's for the busy beaver function 20:22:12 what's 4.66 doing in Deewiant's expression? 20:22:32 loggamma(19! + 1) 20:22:40 is approximately 4.66 * 10^18. 20:32:35 oerjan: works here 20:33:26 it showed up for me on tunes.org too 20:34:51 oklopol: 20:34:52 {'medium': {'PRIVMSG': [(<_sre.SRE_Pattern object at 0xb7de0c58>, []), (<_sre.SRE_Pattern object at 0xb7deb400>, []), (<_sre.SRE_Pattern object at 0xb7e07560>, []), (<_sre.SRE_Pattern object at 0x81af6c8>, []), (<_sre.SRE_Pattern object at 0x81b0120>, [])]}} 20:34:58 i am writing an UNGODLY module system : 20:35:01 *:O 20:35:06 sane, unlike AnMaster's :P 20:37:41 medium? 20:38:34 oklopol: priorities 20:38:36 high,medium,low 20:38:43 high gets executed then medium then low 20:38:52 okay. 20:39:02 and ungodly system requires a medium. that much is obvious. 20:39:02 why a list of functions for a pattern? 20:39:04 *an 20:39:17 oerjan: lol @ fun 20:39:18 oklopol: because you might have multiple functions under the same pattern? :P 20:39:24 It's a relic from the days pr- 20:39:25 Hey thanks 20:39:27 hmmhmm 20:39:29 I can clean up my code bigtime 20:39:29 <3 20:39:32 You just found a way 20:39:33 haha 20:39:43 oklopol: but here's what a module looks like 20:39:43 removing it? 20:39:43 http://rafb.net/p/xFOvII72.html 20:39:55 that will make the regular command syntax work 20:39:56 with any prefix 20:39:58 '.hello x' 20:40:00 and '.hi x' 20:40:02 and 20:40:04 'abc!' 20:40:08 where abc = bot name 20:40:09 responds 20:40:13 ($nickname is a special placeholder) 20:40:15 and the last one 20:40:15 matches 20:40:18 abc: hello x 20:40:22 abc, goodbye x 20:40:22 etc 20:47:17 -!- Slereah has joined. 20:47:50 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 20:48:44 oklopol: 20:48:46 {'medium': {'PRIVMSG': [(<_sre.SRE_Pattern object at 0xb7dd6e78>, ), (<_sre.SRE_Pattern object at 0xb7de5400>, ), (<_sre.SRE_Pattern object at 0xb7e01560>, ), (<_sre.SRE_Pattern object at 0x81af658>, ), (<_sre.SRE_Pattern object at 0x81b0258>, )]}} 20:50:20 oklopol: so which bit of endeavour should i code next. ???? 20:58:18 i recommend using a dice to decide that for you 20:58:33 DICidE <<< that's where they took the word 21:00:50 oklopol: well, it's open-ended 21:00:55 wanna see my module implementation? 21:00:57 it uses import internals 21:00:59 and crazy stuff 21:01:10 basically, it lets you write a module like the one i linked 21:01:17 and finds out what bits of the module are commands 21:01:19 etc. 21:01:23 and then extracts them 21:01:25 into a Module object 21:01:31 which can be bound and unbound to a bot 21:01:55 oklopol: http://rafb.net/p/W55y8x46.html 21:01:59 self.commands = {} # {priority ('low','medium','high') => 21:01:59 # {irc command or * => [(regexp, func)]}} 21:02:03 that's how it represents commands 21:02:09 it's pretty universal 21:02:23 at the very base, you can match on command = * regexp = .* 21:02:25 and use the raw text given 21:02:51 oklopol: cool or not 21:04:47 oklopol: y/n 21:04:53 hmm 21:05:10 well, probably y. 21:05:17 oklopol: read it 21:05:18 it's awesome 21:05:21 soon, soon :D 21:05:33 _digest_command is a method of epic proportions 21:05:36 it handles >>everything<< 21:05:54 i screamed a lot when writing it, that commands dictionary can get gnarly 21:09:27 sounds like it needs a sidekick 21:10:11 woot, just fixed loads of bugs in it 21:10:13 it is wooty now 21:23:53 * Sgeo considers writing a kernel module to allow userspace programs to use panic() 21:25:23 Sgeo: oh lord, you are writing kernel modules already? 21:25:32 I want to learn how 21:25:32 nobody install anything by sgeo he wrote his first c program a few days ago 21:25:44 Sgeo: you can't write a kernel module a few days after tapping out a hello world 21:26:02 I can certainly try, though 21:26:35 Sgeo: You still don't understand anything about C -- I can guarantee it, nobody does after a few days 21:26:42 kernel programming is a TOTALLY different level 21:26:57 * Corun agrees 21:27:09 * Corun has been programming C for quite a while 21:27:21 * oerjan suddenly gets a flashback to Superman 3 21:28:04 a very vague one, mind you 21:28:27 And I wanted to write a driver in the linux kernel a few days ago, and, I mean, it's like the difference between a flying game that you can control with a keyboard and an actual jet 21:30:08 (This is _years_ I've been doing C for :-)) 21:30:16 * oerjan wonders if anyone has attempted to equip an actual jet with a keyboard interface 21:30:21 Heh 21:31:05 "Let's see... lock on.. that'd be enter.. Ok, I'm locked on... and... fire? Oh! space, of course" FWOOSH 21:33:29 FUCK I WAS HIT ESCAPE ESCAPE ESCAPE 21:35:02 Surely there are kernel module tutorials? 21:37:23 Sgeo: that's not gonna help you if you are not extremely experienced with c 21:37:29 approximate bar 21:37:44 [ | | ] <-- kernel programmer 21:37:47 ^ you 21:38:34 all this talk about kerneling being hard is making me want to try 21:38:53 oklopol: god no# 21:39:44 mind you i'm fairly experienced in c! 21:39:56 well c++ 21:40:03 but what's the difference really ;;) 21:40:58 heh 21:41:01 night and day 21:41:01 :) 21:42:51 i used the c subset for the most part, often just int(...) style casts :D 21:43:38 int(...) style.. oh, using int(some_non_int) insead of (int)some_non_int ? 21:44:27 yes 21:45:46 my c++ was always quite weird, as you can probably guess if you've read my python 22:09:50 oklopol: aa 22:21:22 oklopol: i think i implemented ef's basic idea in haskell 22:21:24 lala :: (Eq a) => (a -> a) -> a -> a 22:21:24 lala f a = case f a of 22:21:24 x | x == a -> a 22:21:24 x -> lala f x 22:21:38 * Sgeo can't seem to compile this hello world 22:21:57 Sgeo: You can't compile a hello world ... and you want to write a kernel module 22:21:59 Corun: permission to mock? 22:22:21 sgeo@ubuntu:~/c$ gcc -c -Wall -I /usr/src/linux-headers-2.6.20-15-386/include lkm_hello.c 22:22:24 Is that correct? 22:22:28 Sgeo: LOL 22:22:36 No. 22:22:40 But I won't tell you what's right because 22:22:51 1. the fact that you tried that shows that you really, really shouldn't be programming kernel-level 22:22:54 2. you shouldn't be anyway 22:23:06 ehird: lol :P 22:23:09 Does it need to use the real source/ 22:23:21 Sorry, question quota exceeded. 22:24:41 ehird: that's fixed point, yes 22:24:57 oklopol: but is it yours 22:25:07 yes 22:25:30 What's wrong with me wanting to learn? 22:26:06 well, what do you mean by "mine"? 22:26:50 that's fixed point with the trivial observation f a = a => f (f a) = a 22:29:48 ehird, is it that it needs to point to the place with real code? 22:29:53 Or am I doing something else wrong? 22:33:00 -!- Iskr has quit ("Leaving"). 22:35:27 ehird: From the sounds of it, he's just struggling to include the appropriate headers. 22:36:08 Although one will admit that Sgeo needs to grok C first. 22:36:29 (by "grok", I mean "be able to write the C spec from memory. . . And think that it's the most natural thing in the world.) 22:37:03 * pikhq would probably have a bit more success doing a kernel module. . . 22:37:13 But, then, I've been writing C for a few years. :p 22:39:04 i should do some c tomorrow 22:39:22 I should work on my kernel... 22:41:19 Er, permission granted, ehird? 22:41:20 :-P 23:03:52 -!- oerjan has quit ("leaving"). 23:24:36 back 23:25:30 pikhq: Yeah, I think the fundamental difference between people who rock at C and people who don't, are that the rockers know that they suck 23:25:45 and the people who don't think that they can learn how to not suck from a quick tutorial and that 'diving in' is a good approach :-) 23:25:53 seen that very often 23:29:22 hmm... i never saw c as that complicated 23:29:48 c is fun! 23:30:23 bsmntbombdood: your mother is fun 23:30:31 oh really? 23:30:37 we should have a threesome sometime 23:30:47 you read my mind 23:30:58 she hot? 23:31:14 you should know 23:33:04 hmm... touche 23:36:26 C is simple. just hard 23:37:48 not hard 23:38:25 whuz so hard about it? 23:40:02 1. philosophy 23:40:11 2. little nitty bits 23:47:39 -!- boily has joined. 23:52:00 http://www.faqs.org/docs/kernel/x931.html oooOOO >.> 23:52:40 -!- boily has quit ("Schtroumpf!"). 23:52:41 * Sgeo just said that to attempt to scare ehird >.> 23:56:53 i'm so gonna read that 23:57:11 looks so boring i'm guaranteed to pass out