00:00:00 --- log: started forth/03.11.22 00:21:48 --- join: breno (~breno@dev.americatelnet.com.pe) joined #forth 00:24:40 hi 00:27:51 y yo yo estaba esparando que cantes mi cancion 00:28:01 err sorry , wrong window. 00:28:07 and hi :) 00:28:21 :) 00:28:37 not seen that nick before - you new in here ? 00:31:07 yes 00:31:19 actually, i was looking for a friend, Uuter 00:31:25 aha 00:31:34 have you seen him around lately? 00:31:36 not seen him but not paying attention either heh 00:31:56 hehe 00:39:46 --- part: networm left #forth 01:24:41 --- join: schihei (~schihei@p5085D70C.dip.t-dialin.net) joined #forth 02:12:41 --- join: rO| (~rO|@dialin-145-254-246-154.arcor-ip.net) joined #forth 02:12:52 hi 03:09:25 --- join: Robert_ (~snofs@c-255a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 03:27:40 --- quit: Robert (Read error: 110 (Connection timed out)) 04:29:57 --- join: haroldo (~haroldo@r200-40-166-130.adsl.anteldata.net.uy) joined #forth 04:30:10 --- quit: haroldo_ (Read error: 104 (Connection reset by peer)) 04:41:44 --- quit: rO| ("bbl") 06:12:12 --- join: yasam (~sam@210-86-46-189.dialup.xtra.co.nz) joined #forth 06:40:01 --- quit: skylan (sterling.freenode.net irc.freenode.net) 06:40:08 --- join: skylan (sjh@vickesh01-4827.tbaytel.net) joined #forth 07:08:39 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 08:04:28 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 08:30:45 greetings 08:33:03 terve 08:37:42 terve mur 08:37:56 how are you, my favorite of all finnish people? 08:41:13 ;) 08:41:15 ok 08:41:23 came from cinema 08:41:31 was watching underground films 08:41:36 avantgarde and such 08:43:17 :) 08:48:50 --- quit: yasam (Read error: 60 (Operation timed out)) 10:13:47 --- nick: Robert_ -> Robert 10:16:06 --- join: Sonarman (~matt@adsl-67-113-234-147.dsl.snfc21.pacbell.net) joined #forth 11:08:56 I just installed spamasassin 11:09:01 nice program 11:10:56 I just added "|spamassassin|safecat" to my getmailrc and "rewrite_subject 1" to smapassassin config and I'm in business 11:11:27 (many thanks to gentoo for enstalling about 10 required perl modules first) 13:17:53 --- quit: schihei (Client Quit) 13:53:00 my brother just foned from england, my mom is in hospital with pneumonia and the nurses dont think she will last the weekend 13:53:37 :( 13:53:47 yup 13:56:05 Shit :/ 13:56:24 ticket back will cost arround $3000 13:56:30 which is likle $2000 more than it should 13:56:39 Why is that? 13:56:56 because the air industry are a bunch of ripoff merchants 13:57:14 Of course... no more specific reason? 13:58:00 ticket to space ? 13:58:01 :) 13:58:02 My whole family (5 persons) flew from europe to US for $3k 13:58:15 that was before 9/11 yes ? 13:58:19 Well, more like $2500 at that time 13:58:20 Yeah 13:58:45 But they can't rise the prices by like.. 400%.. or can they? 13:58:57 they need to pay for the costs that come from half of the agents on board 13:59:03 they are going bankrupt heh 13:59:12 alot of airlines DESERVE to go bankrupt 13:59:15 They deserve it :P 13:59:16 Hehehe 13:59:27 Like the swedish train company... 13:59:44 Tickets get more and more expensive -> fewer travel -> they get even less money 14:00:28 Soon you'll have to walk across sweden and swim across the atlantic :/ 14:01:13 Anyway... good night. 14:02:29 gn 14:07:23 hello Robert 14:07:26 terve mur 14:07:35 also hello to I440r_ :) 14:49:41 terve asrk 14:53:52 --- quit: I440r_ ("bbl") 15:10:24 --- join: dan_ (dan@pcp053338pcs.brlngt01.nj.comcast.net) joined #forth 15:11:02 --- quit: dan_ (Client Quit) 15:34:40 --- quit: madgarden (sterling.freenode.net irc.freenode.net) 15:34:40 --- quit: Robert (sterling.freenode.net irc.freenode.net) 15:34:40 --- quit: mur (sterling.freenode.net irc.freenode.net) 15:34:40 --- quit: ianP (sterling.freenode.net irc.freenode.net) 15:34:40 --- quit: MysticOne (sterling.freenode.net irc.freenode.net) 15:34:40 --- quit: chandler (sterling.freenode.net irc.freenode.net) 15:36:18 --- join: TheBlueWizard (TheBlueWiz@pc0edn1d.ppp.FCC.NET) joined #forth 15:36:18 --- mode: ChanServ set +o TheBlueWizard 15:36:24 hiya all 15:36:35 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 15:36:35 --- join: Robert (~snofs@c-255a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 15:36:35 --- join: chandler (~darmok@64-145-60-36.client.dsl.net) joined #forth 15:36:35 --- join: ianP (ian@inpuj.net) joined #forth 15:36:35 --- join: mur (~mur@smtp.uiah.fi) joined #forth 15:36:35 --- join: MysticOne (mysticone@mysticone.usercloak.freenode) joined #forth 15:38:55 --- quit: madgarden (sterling.freenode.net irc.freenode.net) 15:38:56 --- quit: ianP (sterling.freenode.net irc.freenode.net) 15:38:56 --- quit: MysticOne (sterling.freenode.net irc.freenode.net) 15:38:56 --- quit: mur (sterling.freenode.net irc.freenode.net) 15:38:56 --- quit: chandler (sterling.freenode.net irc.freenode.net) 15:38:56 --- quit: Robert (sterling.freenode.net irc.freenode.net) 15:39:37 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 15:39:37 --- join: Robert (~snofs@c-255a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 15:39:37 --- join: chandler (~darmok@64-145-60-36.client.dsl.net) joined #forth 15:39:37 --- join: ianP (ian@inpuj.net) joined #forth 15:39:37 --- join: mur (~mur@smtp.uiah.fi) joined #forth 15:39:37 --- join: MysticOne (mysticone@mysticone.usercloak.freenode) joined #forth 15:44:14 --- quit: madgarden (sterling.freenode.net irc.freenode.net) 15:44:14 --- quit: ianP (sterling.freenode.net irc.freenode.net) 15:44:14 --- quit: MysticOne (sterling.freenode.net irc.freenode.net) 15:44:14 --- quit: mur (sterling.freenode.net irc.freenode.net) 15:44:14 --- quit: chandler (sterling.freenode.net irc.freenode.net) 15:44:14 --- quit: Robert (sterling.freenode.net irc.freenode.net) 15:44:47 --- join: chandler (~darmok@64-145-60-36.client.dsl.net) joined #forth 15:44:47 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 15:44:47 --- join: Robert (~snofs@c-255a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 15:44:47 --- join: ianP (ian@inpuj.net) joined #forth 15:44:47 --- join: mur (~mur@smtp.uiah.fi) joined #forth 15:44:47 --- join: MysticOne (mysticone@mysticone.usercloak.freenode) joined #forth 15:44:52 --- join: Robert_ (~snofs@c-255a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 15:45:56 --- quit: madgarden (sterling.freenode.net irc.freenode.net) 15:45:56 --- quit: ianP (sterling.freenode.net irc.freenode.net) 15:45:56 --- quit: MysticOne (sterling.freenode.net irc.freenode.net) 15:45:56 --- quit: mur (sterling.freenode.net irc.freenode.net) 15:45:56 --- quit: Robert (sterling.freenode.net irc.freenode.net) 15:45:56 --- quit: chandler (sterling.freenode.net irc.freenode.net) 15:46:30 --- join: chandler (~darmok@64-145-60-36.client.dsl.net) joined #forth 15:46:30 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 15:46:30 --- join: Robert (~snofs@c-255a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 15:46:30 --- join: ianP (ian@inpuj.net) joined #forth 15:46:30 --- join: mur (~mur@smtp.uiah.fi) joined #forth 15:46:30 --- join: MysticOne (mysticone@mysticone.usercloak.freenode) joined #forth 15:49:16 --- quit: madgarden (sterling.freenode.net irc.freenode.net) 15:49:16 --- quit: ianP (sterling.freenode.net irc.freenode.net) 15:49:16 --- quit: MysticOne (sterling.freenode.net irc.freenode.net) 15:49:16 --- quit: mur (sterling.freenode.net irc.freenode.net) 15:49:17 --- quit: Robert (sterling.freenode.net irc.freenode.net) 15:49:17 --- quit: chandler (sterling.freenode.net irc.freenode.net) 15:49:53 --- join: chandler (~darmok@64-145-60-36.client.dsl.net) joined #forth 15:49:53 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 15:49:53 --- join: Robert (~snofs@c-255a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 15:49:53 --- join: ianP (ian@inpuj.net) joined #forth 15:49:53 --- join: mur (~mur@smtp.uiah.fi) joined #forth 15:49:53 --- join: MysticOne (mysticone@mysticone.usercloak.freenode) joined #forth 15:54:49 --- quit: madgarden (sterling.freenode.net irc.freenode.net) 15:54:49 --- quit: ianP (sterling.freenode.net irc.freenode.net) 15:54:49 --- quit: MysticOne (sterling.freenode.net irc.freenode.net) 15:54:49 --- quit: mur (sterling.freenode.net irc.freenode.net) 15:54:49 --- quit: Robert (sterling.freenode.net irc.freenode.net) 15:54:49 --- quit: chandler (sterling.freenode.net irc.freenode.net) 15:55:51 --- join: chandler (~darmok@64-145-60-36.client.dsl.net) joined #forth 15:55:51 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 15:55:51 --- join: Robert (~snofs@c-255a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 15:55:51 --- join: ianP (ian@inpuj.net) joined #forth 15:55:51 --- join: mur (~mur@smtp.uiah.fi) joined #forth 15:55:51 --- join: MysticOne (mysticone@mysticone.usercloak.freenode) joined #forth 15:56:59 --- quit: madgarden (sterling.freenode.net irc.freenode.net) 15:56:59 --- quit: ianP (sterling.freenode.net irc.freenode.net) 15:56:59 --- quit: MysticOne (sterling.freenode.net irc.freenode.net) 15:56:59 --- quit: mur (sterling.freenode.net irc.freenode.net) 15:56:59 --- quit: Robert (sterling.freenode.net irc.freenode.net) 15:56:59 --- quit: chandler (sterling.freenode.net irc.freenode.net) 15:58:20 --- join: chandler (~darmok@64-145-60-36.client.dsl.net) joined #forth 15:58:20 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 15:58:20 --- join: Robert (~snofs@c-255a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 15:58:20 --- join: ianP (ian@inpuj.net) joined #forth 15:58:20 --- join: mur (~mur@smtp.uiah.fi) joined #forth 15:58:20 --- join: MysticOne (mysticone@mysticone.usercloak.freenode) joined #forth 16:01:31 --- quit: madgarden (sterling.freenode.net irc.freenode.net) 16:01:32 --- quit: ianP (sterling.freenode.net irc.freenode.net) 16:01:32 --- quit: MysticOne (sterling.freenode.net irc.freenode.net) 16:01:32 --- quit: mur (sterling.freenode.net irc.freenode.net) 16:01:32 --- quit: Robert (sterling.freenode.net irc.freenode.net) 16:01:32 --- quit: chandler (sterling.freenode.net irc.freenode.net) 16:02:36 --- join: chandler (~darmok@64-145-60-36.client.dsl.net) joined #forth 16:02:36 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 16:02:36 --- join: Robert (~snofs@c-255a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 16:02:36 --- join: ianP (ian@inpuj.net) joined #forth 16:02:36 --- join: mur (~mur@smtp.uiah.fi) joined #forth 16:02:36 --- join: MysticOne (mysticone@mysticone.usercloak.freenode) joined #forth 16:04:17 --- join: ianP_ (ian@inpuj.net) joined #forth 16:05:20 --- join: mur_ (~mur@uiah.fi) joined #forth 16:05:29 --- quit: madgarden (sterling.freenode.net irc.freenode.net) 16:05:29 --- quit: ianP (sterling.freenode.net irc.freenode.net) 16:05:29 --- quit: MysticOne (sterling.freenode.net irc.freenode.net) 16:05:29 --- quit: mur (sterling.freenode.net irc.freenode.net) 16:05:30 --- quit: Robert (sterling.freenode.net irc.freenode.net) 16:05:30 --- quit: chandler (sterling.freenode.net irc.freenode.net) 16:05:55 re 16:06:05 cool, i had typo and it connected me 16:06:10 lol 16:06:13 http://www.fredart.com/fredart/co_graphics/rurilinux-c2.jpg 16:06:54 hiya mur :) 16:07:04 terve 16:07:34 terve...how's life? 16:08:19 getting better 16:08:28 was today to see underground films 16:08:44 avantgarde, situationism, and expressional works 16:08:50 err 16:08:56 experMENTAL 16:09:07 underground? ah, experimental :) 16:09:07 darn, hard writing mistake in that correction too :) 16:09:11 well both 16:09:29 "underground" often suggests something illegal 16:09:37 under ground 16:09:43 well it does not have to 16:10:02 underground as culture that is not known to mainstream people 16:10:05 or approved 16:10:07 :) 16:10:13 approvation does not mean it has to be illegal 16:10:25 alternative may be a better choice of word 16:10:44 i dont think a screen like amiga's flicking load screen woudl make boxoffice record easily 16:10:56 2 minutes of amiga loading screen or similar 16:10:57 :) 16:10:58 or "independent" films...commonly called "indies" 16:11:15 the festival uses underground itself 16:11:23 it is not only films 16:11:37 hehe re: Amiga loading...that classic hand-holding-a-blue-floppy picture :) 16:11:38 there were staalplaat soundsystem performing with 12 floor waxing machines 16:11:46 no the blinking colours 16:11:56 maybe c64 would be more correct 16:11:57 dunno 16:12:39 * TheBlueWizard knows C64, so he isn't sure what mur may be talking about 16:12:50 well the horiozontal gradients 16:12:56 with green blue and yellow 16:13:07 which blink and go up and down 16:13:31 hmm...doesn't know that one 16:13:41 some amiga floppies had that loading effect 16:13:52 perhaps it put pixels on screen from files at the same time too 16:14:34 oh....must be custom loaders then...there are a lot of such loaders 16:14:48 well i've seen many of such 16:14:53 do you know what i mean? 16:15:19 yeah 16:15:25 nice 16:15:35 --- nick: mur_ -> mur 16:15:53 * TheBlueWizard smiles 16:16:11 those gave many ideas, but were a bit like disapointment as a whole 16:16:26 the longer films were more worth it 16:16:47 this one i wanted to see was "The Subversion Agency" 16:16:55 i woudl have wanted to see "Decoder" 16:17:02 but i had school that time and coudlnt pass it 16:18:12 you meant to say you couldn't go watch it 16:18:21 yeah 16:18:30 we were drawing panorama pictures by hand 16:18:35 3d worlds 16:18:43 it's a bit demanding 16:18:51 in art class? 16:18:57 käsivara 16:19:07 i'm in art uni, we have mostly art only 16:19:11 and design and such 16:19:15 käsi = hand 16:19:24 käsivara means taht youa re holding it 16:19:38 like you can film on käsivara, which means you are holding camera in hand while moving 16:19:48 I see 16:24:17 Decoder is about some youngsters who discover that hamburger stadn 16:24:25 stands are using sound to make people eat and come 16:24:33 then they start playing noise and people go puking away 16:25:15 while they were filming anarcho-activists were using noisewar in demostration, playing sounds from war, booms and riffle gun 16:25:19 etc 16:27:03 http://www.avantofestival.com/2003/en/film_boswell.html 16:27:06 here you can read about the another 16:27:22 and here about the one i coudl not go http://www.avantofestival.com/2003/en/film_muscha.html 16:27:33 I see :) 16:28:09 avanto is hole in ice 16:28:15 avantouinti is ice hole swimming 16:29:39 I see :))) 16:45:27 good night 16:47:08 yt :) 16:47:13 oops 16:47:29 yötä :) 16:47:41 --- quit: haroldo (Read error: 110 (Connection timed out)) 16:50:58 --- join: haroldo (~haroldo@r200-40-166-149.adsl.anteldata.net.uy) joined #forth 16:51:32 gotta go...bye all 16:51:45 --- part: TheBlueWizard left #forth 16:55:07 --- join: chandler (~darmok@64-145-60-36.client.dsl.net) joined #forth 18:10:12 --- join: warp0x00 (~warpzero@dsl.142.mt.onewest.net) joined #forth 18:11:58 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576567.sympatico.ca) joined #forth 18:12:13 http://www.wowwee.com/catalog/robo_coming_soon.html 18:28:01 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 18:28:01 --- mode: ChanServ set +o kc5tja 18:40:11 --- join: _gps_ (~gps@166.70.196.201) joined #forth 18:42:09 kc5tja: OK, so I'm no longer confused about a word's dictionary usage for code and parameters. I dunno what I was thinking. I guess my own implementation messed me up a bit. ;) 18:42:31 :) 18:42:31 Nice. 18:42:36 * kc5tja is learning a lot about Scheme. 18:43:36 In my implementation, because it's geared towards scripting, I don't combine code with data directly (except for basic types like int, double). So I have an "FVALUE" which can hold any data embedded in every word ref, and that's where any (non-literal) parameters go. 18:43:59 Yea, I'd like to look into Scheme. It seems to be inverse Forth in a way. 18:45:03 If Forth is the extreme left end of the language spectrum, Lisp and Scheme are on the extreme right. 18:45:13 (with C and its ilk sitting squarely in the middle) 18:45:19 Makes sense. 18:45:23 (from what I gather) 18:45:32 Anyway, I'm going to grab some food. Back in a bit. 18:45:37 * kc5tja is away: foodage consumptionus... 18:46:28 Heh, if you've ever played any Interactive Fiction, there's a Scheme "tutorial" written as a game in Inform. It's got a functional Scheme interpreter in it. 18:47:21 yes, but they're all so far off on their respective extremes that they wrap back around on each other 18:48:02 --- join: MysticOne (mysticone@mysticone.usercloak.freenode) joined #forth 18:48:15 I imagine scheme could be implemented using postfix rather than prefix notation. I think that's sort of what Joy is? 18:48:44 heh, you can just do that with a source transform pre-evaluation 18:49:34 Well there you go. ;) 18:49:41 though that wouldn't get you similar looking stuff for eg IF 18:51:31 What would it look like? 19:11:26 * kc5tja is back (gone 00:25:48) 19:12:14 Actually, you can't do that, because some constructs of Scheme accept a variable number of arguments. 19:13:09 To do the same in RPN requires delimiters on the stack, or some other form of delimitation (e.g., pushing the number of arguments, etc). 19:13:22 madgarden: No, I never played it. 19:13:52 madgarden: But I did find out the other day that Logo is actually a dialect of Lisp -- everything Lisp can do Logo can too, including list manipulation. :D 19:14:10 Logo even supports Lisp's more advanced constructs. 19:19:25 --- quit: warp0x00 (Read error: 110 (Connection timed out)) 19:19:45 --- join: warp0x00 (~warpzero@dsl.142.mt.onewest.net) joined #forth 19:32:16 Whoa, didn't know that about Logo. heh. 19:33:04 Neither did I. 20:30:10 --- join: fridge (~fridge@dsl-203-33-162-56.NSW.netspace.net.au) joined #forth 20:30:31 hey kc5tja 20:31:15 and gone 20:38:16 * kc5tja yawns 20:38:26 You'd be gone too if you had to sleep for a bit. 20:53:13 unless you IRC in your sleep 20:53:16 --- quit: _gps_ (Read error: 60 (Operation timed out)) 20:53:47 i've dreamt of IRC before 20:56:09 Not me. 20:56:17 * kc5tja can still barely keep his eyes open. 20:56:22 and that dream had an odd deja vu feeling :) 21:28:13 I've got a question .... what does listen() return when theres no socket request and the socket is non-blocking? 21:29:59 EAGAIN 21:30:11 (quite likely, at least) 21:30:22 er? 21:32:47 Most non-blocking functions will return EAGAIN as the error code to indicate you need to call it again to complete a request. 21:33:03 see `man read` for an example. 21:33:44 is errno a variable i can just access? 21:39:25 Yes 21:39:31 It's a global variable. 21:39:40 maintained by libc on your behalf. 21:40:12 (and patently not thread-safe, which is one reason why multithreaded apps under Unix take more care than, say, AmigaOS. :) ) 21:40:13 how nice. 21:40:29 :) 21:40:39 what header file? 21:40:42 stdio.h? 21:43:05 unistd.h 21:45:22 er... 21:45:24 lol 21:45:30 got that included, but its not liking 21:45:46 its errno.h lol 21:45:55 now, i gotta find the header file with the fcntl flags 21:45:58 Sorry, try errno.h 21:45:59 oops 21:46:04 fcntl.h 21:46:05 :) 21:46:15 (IIRC, at least) 21:47:03 lol 21:47:05 yeah, thats it 21:47:23 chris@chris:~/rkg> ./rkg_server 21:47:24 binding socket: Address already in use 21:47:26 bs. 21:48:25 What port are you binding it to? 21:48:41 aaaaah 21:48:43 now it works 21:48:44 :) 21:48:45 im happy 21:48:52 the EAGAIN thing worked just fine 21:51:46 :) 21:52:49 hey 21:53:09 now i gotta get polling to work 21:53:21 how do I poll a fd for data? 21:53:28 (i.e., a non-blocking read) 21:54:08 is it select() maybe (i don't know, but in case kc5tja doesn't answer, look up select()) 21:54:51 select() will wait on one (or more) fds, until a time out is reached. If you set the timeout to zero, it'll just "poll" and return. 21:55:25 Personally, unless you have background processing to do, set the timeout to NULL, so that select() will wait forever on your fds. 21:55:26 holy shot 21:55:33 that thing has like 10 args 21:55:52 Yes, but it does a lot, and will significantly improve your software's performance, and the performance of the rest of the system. 21:55:56 int select(int n, fd_set *readfds, fd_set *writefds, 21:55:56 fd_set *exceptfds, struct timeval *timeout); 21:56:07 ok .... how does this work? 21:56:14 I just explained it above. 21:56:15 :) 21:56:19 er 21:56:21 how do i use it 21:56:23 lol 21:56:24 ok. arke: there is also the man page "select_tut" 21:56:28 man select. :) 21:56:32 select_tut ? 21:56:37 Sonarman: There is? 21:56:49 oh 21:56:50 neat 21:56:52 :) 21:57:03 at least on my system there is 21:57:15 Wow, there is. :) 21:57:25 you learn something new every day :) 21:57:27 It's the same man page as select, but with tutorial data included. 21:57:30 Yep. 21:58:52 ack 21:58:56 select blocks!? 21:59:50 btw kc5tja i remember the other day you said you like the way GTK does OO. is it just the module_type_function() naming conventionthat you like, or also some of the other stuff, like the way it does inheritance and casting with GObject or something? 22:00:13 i dont want select to block...help! 22:00:48 then spend all your mana on creature-killing Instants 22:00:52 sorry 22:01:55 grr 22:02:06 kc5tja: you know of a way to have select NOT block? 22:02:33 I just said: set your timeout value to zero. 22:02:48 (note: this means creating and initializing the timeval.* fields to zero) 22:03:03 oh 22:03:04 (setting the timeval_t * argument to NULL or 0 will cause select to block) 22:03:05 sweeeet 22:03:15 BUT WARNING WARNING WARNING WARNING WARNING WARNING 22:03:24 ok 22:03:25 Doing this will cause select() to return *immediately* if nothing is ready. 22:04:07 Therefore, if you're going to have your server sit in a tight loop checking these fds until something happens, then you're CPU load will slam at 100%, which will cause the rest of the system to bog down in mud. 22:04:56 It's better to let Linux wait until something happens FOR you, because the Linux kernel knows how to schedule processes (you don't even have access to the other processes, let alone know how to schedule them). :) 22:05:39 well, its not a tight loop 22:05:50 its part of a cycle 22:05:56 with target time 1 second 22:06:04 so a select every 1 second is OK? 22:09:12 In this case, I'd set the select timeout to 1 second. 22:09:23 That's fine. 22:09:34 er 22:09:35 but 22:09:43 it has to do a bunch of other stuff in that time 22:10:04 it has to draw, it has to call a bunch of callbacks 22:10:08 it has to process data 22:10:17 well 22:10:17 Yeah. And? 22:10:20 actually 22:10:29 it doesnt have to draw or process data 22:10:35 :) 22:10:47 it just has to call X amount of callbacks every cycle 22:11:07 Welcome to the world of event-driven programming, where software runs only in response to external stimuli. :) 22:11:14 but 22:11:26 *sigh* 22:11:33 heres my cycle pseudo code 22:11:39 if(new connection) 22:11:45 connect 22:11:48 add to process list 22:12:16 if(new data) 22:12:18 process data 22:12:30 call each cycle callback 22:12:35 do it again 22:12:52 this is supposed to get done in less than a second 22:13:14 --- nick: Robert_ -> Robert 22:13:15 if it does, it redoes it, before the second is up 22:13:23 Robert: morning 22:13:40 Morning. 22:13:58 between each cycle callback, it checks if the second is up, and if yes, redoes 22:14:42 In other words, you're going to smack the CPU at 100%. 22:14:47 That's called busy-waiting. 22:14:49 .... 22:14:50 damn 22:15:07 ok 22:15:12 how about this 22:15:12 What call-backs are you planning on invoking, anyway? 22:15:31 kc5tja: processes can optionally create callbacks that are called each cycle 22:15:49 Like idle, "I'm not doing anything useful right now" callback events? 22:15:56 no 22:17:16 rkg_main() is blocking. if it wants to do something, every cycle (i.e., all the time) without forking, it does a rkg_set_cycle_callback(my_cb); 22:17:34 unless you have a better idea 22:17:58 because i just realized that int my_cb() { while(1) } will bring the whole thing down.... lol 22:18:34 I don't have any ideas because I don't see the need for these callbacks at all. 22:18:56 The server's job is to maintain the display, and marshal user events to applications. Nothing more. (to me, at least.) 22:19:12 so the user app should take care of forking/threading? 22:19:26 Forking and threading what though? 22:19:34 like, an IRC client 22:19:41 you have two types of event 22:19:48 I would say yes to that answer. 22:20:07 IRC events (somebody wrote something in a channel, and I have to draw it) 22:20:20 Server events (the server wants me to redraw, or there was input) 22:22:15 i thought that (if correctly implemented) the server could provide a very very very simple mechanism 22:22:33 maybe i should learn how to use pthreads :) 22:22:49 Well, the server could serve as a simple application launcher. 22:22:51 But... 22:23:15 When the application is forked off, it uses the same socket information as any other client would, and therefore, is no longer running as part of the server. 22:23:34 So it can handle it's own cyclic operations independently of the server proper. 22:23:42 ok 22:23:58 maybe i shouldnt implement a blocking rkg_main() 22:24:02 nope 22:24:03 i wont 22:24:05 lol 22:24:34 its better that way, AND i can do a select with 1 second timeout 22:24:45 or actually, infinite timeout, even 22:25:00 does select allow me to catch ctrl+c etc.? 22:25:10 if it does, then I love it even more. 22:27:54 ctrl-c is handled as a Unix signal. 22:28:00 You'll need to set a signal handler for that. 22:28:22 And I don't know much of how to do that, because I've never had the need for it. 22:28:24 (yet) 22:28:33 (qm will have a need, but I'm not worrying about it right now.) 22:29:11 QM? 22:29:19 OK, by the way :) 22:30:23 qm is the text editor that I'm currently writing for Linux. 22:31:31 ok :) 22:31:32 :) 22:31:32 :) 22:31:38 select is soooooooo sw33t 22:33:44 :) 22:34:28 oh wait 22:34:31 heh 22:34:34 one last question 22:34:41 can i get select() to listen() for me? 22:37:12 or should I listen every second? 22:44:51 aarrgghh 22:45:04 i just realized that listen blocks, even with non-blocking socket 22:45:09 (or so it seems to me) 22:51:48 listen waits for a connection to be made. 22:52:12 listen on a non-blocking socket should not block. 22:52:25 select() can't listen for you, but it can tell when the socket has some activity on it. 22:52:32 Well, I'm off to bed. 22:52:36 I have work tomorrow again. :/ 22:52:44 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 23:08:05 --- quit: Sonarman ("leaving") 23:59:59 --- log: ended forth/03.11.22