00:00:00 --- log: started forth/03.02.09 00:07:32 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 01:27:49 --- join: mur (jukka@baana-62-165-185-71.phnet.fi) joined #forth 01:31:37 terve 02:50:28 --- quit: arke (Read error: 110 (Connection timed out)) 03:11:56 --- join: deluxe (~freenode@pD950F1B4.dip.t-dialin.net) joined #forth 03:15:43 hello deluxe 03:17:19 mur! 03:17:25 howdy 03:18:33 i try to get netpbm working 03:18:46 i dont understand why there are pnm, ppm and pbm differently 03:39:03 --- quit: deluxe ("brb") 04:31:08 --- join: deluxe (~freenode@pD9E4E07A.dip.t-dialin.net) joined #forth 06:29:27 --- quit: deluxe ("maintenance(or lack of know-how?). brb") 06:44:34 --- join: deluxe (~freenode@p50804E42.dip.t-dialin.net) joined #forth 08:17:08 --- quit: deluxe ("maintenance bbl") 08:18:46 'morning 08:24:47 --- join: tcn (~tcn@tc4-login33.megatrondata.com) joined #forth 08:29:28 evening Speuler 08:30:04 --- join: Herkamire (~jason@ip68-9-71-104.ri.ri.cox.net) joined #forth 08:40:48 --- quit: tcn () 09:10:25 does anyone in the u.s. follow the news, concerning rumsfield's visit in europe ? how are the discrepances beetween u.s. and german positions portrayed there ? 09:14:06 rumsfeld didn't make himself many friends here, and it is talk about permanently damaged relationship between german foreign minister and rumsfeld. did any of that make it into u.s. news ? 09:14:32 You betray us all. You're with Saddam against the free world. 09:14:45 etc. 09:14:51 we got powerful friends in libya and cuba 09:15:26 Yep, the other two of the "three-four countries" supporting terrorism. 09:16:34 cuba, libya, north vietnam, germany 09:16:46 ahem 09:16:56 corea 09:17:17 North Vietnam, Speuler, you're waaaay behind your time ;) 09:18:17 Anyway.. That's one of the most stupid things I've ever heard. He makes it sound like Germany is some sort of terrorist-supporting country. 09:18:55 that's why i wonder how much of that makes it into u.s. news 09:19:34 that is, whether u.s. people have any notion of what's going on 09:22:24 They have... most of them are fully aware of the fact that their country and their freedom is being threatened by the arab states. 09:22:57 two anti-war demos on two consecutive days here in munich. after demo one, rumsfeld scourged germany verbally. next day's demonstration saw a tenfold increase of demonstrants here in munich 09:23:30 Hehe. 09:24:09 one can say, he manages to activate the masses :) 09:25:57 If the majority of the Americans can't even vote away Bush, you little Germans certainly are no threat. 09:26:16 i wonder whether he represents u.s opinion, or just mouthes his own 09:27:15 but he seens to have a twisted perception of reality, whatever "reality" is 09:28:09 Today's government rarley represent the "people's" opinion. 09:28:12 Just look at Sweden. 09:28:13 some of his quotes indicated some ignorance, or at least that his statements are based on false information 09:28:41 Most of the Swedes are against an attack on Iraq, but the government won't say anything if the UN votes yes. 09:28:56 Which one? 09:29:24 for example, that there are only 3 or 4 countries in the world which do not support the u.s course 09:29:49 Ah, yes. 09:30:03 More like, one country actually supporting it ;) 09:30:40 Although I'm not sure if there actually are any other countries than the UK. 09:31:15 quite a limitied field of vision 09:33:00 "behind every bush lurks a terrorist" 09:35:10 Hehe. :) 09:35:25 "bomb texas, they've got oil too" 09:37:39 actually most europeans are against war to iraq at all circumstaces 09:37:45 there was research about this matter 09:38:47 mur: Yes.. but not the government, it seems. 09:39:00 Like the Il Duce 2 down in Italy. 09:39:37 telephon polls concerning the course of the (impopular) german cancellor yield 75% agreement, 25% "should change his course" 09:41:56 considering that only about 25-30% of voters would vote for the government party now 09:42:25 and the opposition party does not back his course 09:42:33 --- quit: mur ("MUR!") 09:43:41 switzerland has offered asylum to saddam hussein 09:45:05 :) 09:45:31 nuke'm 09:47:02 Switzerland? 09:47:13 seriously 09:47:36 oh. not the nuking. offering asylum i mean 09:47:46 ;) 09:50:24 maybe germany should intensify the trade with cuba. 09:50:39 Yes, buy some sugar. 09:50:42 tools against rum, sugar and cigars 09:51:18 and medical specialists 09:51:27 Cheap german candy <-> sugar maybe would be a good deal. 09:52:03 volkswagens against classic cars :) 09:52:55 Che T-shirts against food. 10:01:50 wouldn't it be time to develop a car engine which runs on butter ? 10:07:58 Lots of wasted fat, that'd be. 10:08:41 something like synthetically grown muscle tissue 10:09:08 devours sugar, starch, and hamburgers too 10:09:44 and excrets fertilizer 10:17:41 * Speuler watches "fear and loathing in las vegas" 10:31:47 --- join: deluxe (~freenode@pD9E4E719.dip.t-dialin.net) joined #forth 11:18:25 --- join: jdavidboyd (~jdavidboy@653474hfc68.tampabay.rr.com) joined #forth 11:22:07 --- part: jdavidboyd left #forth 12:36:00 --- quit: Herkamire ("leaving") 12:50:11 --- part: deluxe left #forth 13:07:18 how do i read from stdin (in isfoth)? 13:19:35 accept, more than likely. 13:19:44 Possibly except 13:19:46 I don't really know 13:21:50 expect I mean 13:22:38 Ya, addr 10 expect 13:22:47 Copies at most 10 byes to addr 13:25:35 hmm, i wonder how im supposed to run this then 13:26:14 aha #! ./isforth - fload 13:27:05 * ianni gets slowly closer and closer 13:27:17 To doing what? 13:27:21 man i should probably try to write my own forth so im forced to learn this better 13:27:23 doing anything useful 13:27:32 hard when theres extermely loud blazing guns from video game behind me 13:27:33 hehe 13:27:38 Heh 13:27:53 Seriously though, writing a forth is a learning experience. 13:28:09 well i'd understand everything better 13:28:15 You really ought to try it. At least understand how the inner interpreter works. 13:28:18 it's like how you master algebra once you've learned calculus 13:28:31 im totally lost at where to start.. im a high level weenie 13:28:31 Heh. 13:29:19 http://www.zetetics.com/bj/papers/ 13:29:30 Read "Moving Forth" by Brad Rodriguez 13:29:42 sweet, got it reading stdin now 13:29:46 It explains the innermost parts of the forth interpreter rather well. 13:29:52 but it doesnt know where stdin stop,s i think that's a OS problem tho 13:30:33 Kind of... Forth wasn't really designed for a unix environment so most things like that are hacks - at best. 13:30:35 Er, BBL. 13:31:02 thanks for the tip 13:31:05 looks interesting 13:33:10 im learning already 13:33:22 everything just points to the machine code.. makes sense 13:47:54 Heh. 13:47:54 Back. 13:48:06 Yeah, much of forth is defined in machine code. 13:54:50 Oh, also you can almost completely ignore references to Indirect Threaded Code... It's almost completely obsolete. 13:58:45 --- join: I440r (~mark4@ip209-183-83-119.ts.indy.net) joined #forth 13:59:41 Hey I440r 14:03:27 hi :) 14:03:51 whussup ? 14:04:09 Not much, not much. Working on my DTC forth for TI83+ calc 14:04:12 You got one? 14:04:25 i wish 14:04:44 It's working pretty well now. Base input is hardcoded to base 10 though now. :( 14:05:01 Damn. I need beta testers. 14:05:02 aha 14:05:15 make it "any base" as a future enhancement :) 14:05:22 Definitley. :) 14:05:37 Output is base any now though. 14:05:46 Oh, hey, what factor do you use for "."? 14:05:55 Cause you know how . prints the num than a space? 14:06:01 *then 14:06:02 ? 14:06:15 yes 14:06:25 I've got : . pnum bl emit ; 14:06:58 i got something similar :) 14:07:15 Heh. Whatever, pnum will be fine. :) 14:07:54 pnum being (number) yes ? 14:08:02 (number) ? 14:08:05 Ya, I guess so. 14:09:11 Ya, the 83+ is kinda neat. It's got a z80 in it you know. 14:09:47 i never learned z80 :/ 14:10:16 Consider yourself lucky. It's kind of a bitch of a processor actually. 14:10:19 :) 14:11:24 i learned 6502 14:11:54 Ah yes, 6502... That's what was in the apple IIs right? 14:12:10 and the c64 14:12:16 and the commodore pet i believe 14:12:19 I never actually had anything by Apple until they put out their macs. 14:12:22 Oh, cool. 14:13:01 i never owned anything apple 14:13:02 Actually, some of the new TI calcs have 68000s in em. 14:13:22 Anyone have an idea why a 386 protected-mode ISR would crash on iret? I've restored all the saved registers and stuff. 14:14:10 well - did the isr PUSH anythig itself that didnt get popped ? 14:15:19 Nope 14:15:57 See, this is why I'm considering running away and joining the circus. 14:16:10 could the registers that were pushed have gotten mashed on? 14:21:26 Here's a better question... after it started screwing up, I tried cutting the routine down to a single iret instruction and the computer still reset. What I'm wondering is: should the just-a-iret ISR actually work, anyway? 14:21:31 Or did I just replace one problem with another? 14:22:31 yes 14:22:42 thats one way to neuter an interrupt 14:22:46 just revector it to an iret 14:26:29 Soap`: for hardware interrupts, you need to signal "end of interrupt" to the interrupt controller too 14:26:55 Soap`: or it won't pass any lower-priority interrupts to the cpu anymore 14:27:16 Soap`: you do that by writing 0x20 to the interrupt controller base port 14:27:17 that wouldnt make it crash tho 14:27:25 I440r: depends. 14:27:40 I440r: it may cause the machine to hang, by that appear to have crashed 14:28:24 hi all btw 14:28:41 hi :) 14:29:21 Well, I'm not resetting the interrupt controller... but it's rebooting, not hanging :/ 14:31:00 Mmm. Clown. Acrobat. Lion tamer. 14:31:06 All in-tent jobs, no heavy thinking. 14:38:57 --- quit: TreyB (Read error: 60 (Operation timed out)) 14:56:13 --- quit: I440r ("Reality Strikes Again") 15:50:23 * ianni decides to learn some assembly first 16:31:37 If im writing a forth program that will parse a lot of strings, should i set a maximum size by just doing "variable array 1024 1024 *" or something? 16:31:47 like i'd feed it a file 16:33:36 is that bad practice to initialize such space? 16:33:40 i guses i cant think of a better way 16:38:02 --- quit: Speuler (Connection timed out) 16:39:59 --- join: Speuler (~Speuler@mnch-d9ba4aec.pool.mediaWays.net) joined #forth 16:44:11 you need to use 1 meg at a time to parse the strings? 16:46:25 i dunno, what if i want to feed it 1000000 strings? 16:47:03 can i create a variable in a word? 16:47:17 even then, i'd need a finite amout of memory space to append the address pointers to 16:47:24 which i what I'm thinking anyway 16:48:46 you want it to process 1 million strings simultaneously? 16:48:58 well, sort 16:49:06 so yeah 16:49:22 well if it's a file, then you're processing it as a stream and not "strings", i'd think 16:49:49 and yeah if you are doing something like a sort, you will need to process the entire file before you can output 16:50:09 right 16:50:20 ill need to be able to reference any of them in the loop 16:50:53 well as long as you only initialize the amount of space you'll need, i've got no problems with it 16:50:57 :P 16:51:13 Hurrah! The interrupt routine works 16:51:24 Much rejoicing! Tickertape! Dancing in the streets! 18:08:07 congrat 18:08:08 s 18:14:21 i just put me (another) string stack together. this one allocates space for strings upon push, uses a refcount, and frees mem if a string is not ref'd anymore. 18:14:35 i got these words now: 18:14:49 \ stringstack: 18:14:49 \ push$ ( a n -- ) pushs a string to stringstack 18:14:49 \ pop$ ( -- a n ) pops a string from stringstack, marks it as freeable if last ref 18:14:49 \ dup$ ( -- ) duplicates string on stringstack 18:14:49 \ drop$ ( -- ) drops a string on stringstack, marks as freeable if last ref 18:14:50 \ swap$ ( -- ) swaps top two strings on stringstack 18:14:52 \ over$ ( -- ) pushs a copy of nos string 18:14:54 \ free$ ( -- ) frees memory used by freeable strings 18:14:56 \ string count is cell size, i.e. strings > 255 bytes are ok. 18:15:00 anyone want this ? 18:25:21 whoa 18:25:27 thats just the kinda stuff i was needing 18:25:39 you rule 18:26:38 happy to share 18:27:07 new stuff, not extensively tested, but seems to work ok 18:27:29 t'is not on my server yet. i could email it to you 18:34:23 ipojman@jmlafferty.com thanks! 18:37:03 sent 18:38:57 i've included my personal extensions, which are used in the strings routines, at top of file 18:50:50 for what you intend to do, as described above, you might want to implement pick$ 19:01:14 looks erally nice 19:01:31 im sure ill ahve some particularly silly questions later 19:03:07 it solves me two problems. 19:03:34 1. where to put strings if you want to handle several at once (buffer if out of question) 19:03:45 yeah 19:03:48 thats what ive been trying to do 19:03:57 quitejust tonight 19:04:00 2. how to keep them on stack, but still being able to release mem when they are not used anymore 19:04:02 just tonight rather 19:04:10 thats beautiful 19:04:57 so if you pop it, it's ref count is 0? 19:04:58 hope it works for you too 19:05:06 and you've got to push it back on before you leave? 19:05:13 well im a newbie 19:05:16 if it is ref'd 3times, after popping it is ref's 2 times 19:05:28 but i want to make some very quick sorting modules 19:05:28 dup, over etc increment ref count 19:05:45 dup$, over$ i mean 19:05:56 drop$, pop$ decrement ref count 19:05:59 right 19:06:08 so drop just decrease the count? 19:06:10 and nothing more? 19:06:19 when ref count is 0, memory handle is put on flushstack 19:06:43 free$ frees mem handles on flushstack 19:07:16 push$ sets ref count to 0 19:07:35 (means: no additional reference to string) 19:07:45 ohhh 19:08:12 so what is flushstack pop ? 19:08:23 oh n/m need to read the first one first 19:08:37 pops a memory handle from flushstack (a string which is not referenced anymore) 19:08:46 got it 19:09:25 can't free right away, string, after pop$, is still in use (probably) 19:09:52 you want to able to access the string, and don't expect it to be reclaimed already 19:10:20 so freeable strings are just stored on flushstack 19:10:27 makes sense 19:10:43 you free$ when you don't use the popped string(s) anymore 19:12:27 i keep popped strings in allocated mem, because i don't know where else to put them 19:12:53 (can't copy to buffer, or 2nd pop$ would overwrite 1st pop$) 19:13:47 and it makes no sense to copy them to allocated mem, after all, that'S where they are already 19:14:32 i'd just complicate handling, and postüpone the decision when to free mem 19:18:34 i consider to put stringstack and flushstack in allocated mem too, because that can be resized if required 19:18:57 and freed 19:20:07 how can you resize? make new space and free the old space somehow? 19:20:22 resize 19:20:22 wouldnt it clip off everything on the dictionary 19:20:25 how 19:20:30 how's that work 19:20:48 optional word set: allocate, free, resize 19:21:09 resize resizes an allocated mem chunk 19:21:26 works both ways, make it bigger, or smaller 19:21:38 cool 19:21:51 where is that found? what do you use? 19:22:15 t'is described in the ansi standard. i use gforth 19:22:24 k 19:23:15 stringstack loads with vanilla gforth. no extra includes required 19:27:25 ah 19:27:37 misunderstanding ... 19:27:44 allocate <> allot 19:28:11 whats the difference? 19:28:14 allocate requests a chunk of mem, usually from the os, dynamically. 19:28:24 you say: 19:28:27 hm 19:28:31 100000 allocate 19:28:41 and allot uses ? 19:28:46 and it gives you (if possible) that amount of mem 19:29:00 whats the difference 19:29:07 allot reserves mem at the compilation address (the "dictionary") 19:29:25 can't dealloc memory, reserved with allot 19:29:45 prone to create holes 19:29:52 not with allocate 19:30:35 allocate gives mem on what could be considered as "heap" in other languages 19:31:06 works fine in bigforth 19:31:19 would think so 19:31:29 example yyy xxx xxx xxx 19:31:29 freeing 1075433600 19:31:29 freeing 1075433632 ok 19:31:35 neat 19:31:36 xactly 19:31:45 the "freeing" msg you can comment out 19:31:50 t'is just for control 19:31:50 :P 19:31:56 aye' 19:32:46 nice about allocate is also that you can reserver LOTS of mem 19:33:19 under linux, mem gets only committed when you actually write to it 19:33:38 cool 19:33:49 and you may allocate more mem than you got ram 19:34:00 (given enough swap space) 19:35:24 thus, for dynamic data allocation, it is preferrable to allot 19:35:24 allot is for static allocation 19:35:53 that's where i put the two stacks right now 19:36:12 which i consider to move to dynamically allocated memory too 19:37:25 t'is wasteful to allot the worst-case amount of mem, but very likely not using it 19:37:43 with allocate, you donÄ't care 19:38:22 as allocated memory can be reused after free 19:38:37 and is not used until written to 19:54:30 got some interesting sorting stuff too btw 19:54:47 a sort-anything :) 19:55:11 you define two words: compare two items, swap two items 19:55:37 the adresses of those words are passed to the sort routine, 19:55:43 together with the number of elements to sort 19:55:55 nice 19:56:00 thats what im gonna be doing 19:56:02 the sort itself does not know anything about the data 19:56:03 sorting 19:56:23 my preferred sort is a shell sort 19:56:41 (was just reading the channel log) 19:56:59 because shell sort is usually written non-recursively 19:57:23 it is often important for me to know the amont of stack space used beforehand 19:57:24 recursion is bad? 19:57:30 oh 19:57:50 the amount of stack used for recursive sort depends on the sort data 19:58:02 I understand 19:58:13 non-recursive = predictable stack usage 19:58:24 and shell sort is quite quick too 19:58:31 sometimes faster than quicksort 19:58:46 mostly, not much slower 20:00:47 best results with shell sort i had with hubbard-sequence gap sizes 20:01:07 which is very easy to generate too 20:33:14 never heard of that, hell i dont even know any of the sort algorithms by memory 20:33:19 heheh 20:47:54 --- join: proteusguy (~proteusgu@216.27.161.121) joined #forth 21:16:24 --- quit: Soap` (Read error: 54 (Connection reset by peer)) 21:48:13 --- quit: proteusguy (Remote closed the connection) 21:51:01 --- join: proteusguy (~username@216.27.161.121) joined #forth 23:03:26 --- quit: ianni (leguin.freenode.net irc.freenode.net) 23:16:27 --- join: Serg_Penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 23:42:17 --- quit: proteusguy (Read error: 54 (Connection reset by peer)) 23:59:59 --- log: ended forth/03.02.09