00:00:00 --- log: started forth/02.08.20 00:55:58 --- quit: Robert (Remote closed the connection) 00:56:04 --- join: Robert (~Robert@robost86.tsps1.freenet6.net) joined #forth 04:18:35 --- join: sif (~sifforth@ip68-9-70-120.ri.ri.cox.net) joined #forth 04:18:35 Type sif: (or /msg sif to play in private) 05:09:50 --- join: Serg_penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 05:10:18 --- quit: Serg_penguin (Client Quit) 05:14:22 --- quit: Soap` (Read error: 104 (Connection reset by peer)) 06:32:34 --- join: Serg_penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 06:32:55 --- quit: Serg_penguin (Client Quit) 07:16:48 --- join: cleverdra (julianf@0-1pool37-243.nas2.florence1.sc.us.da.qwest.net) joined #forth 07:28:29 --- join: Stepan (~stepan@Charybdis.suse.de) joined #forth 07:29:31 Hm... what good way is there to have temporary variables in forth? 07:29:32 putting the stuff way back on the stack is ineffective. 07:49:08 --- quit: Stepan (Excess Flood) 07:49:16 --- join: Stepan (~stepan@Charybdis.suse.de) joined #forth 07:50:21 Stepan - most of the time people do not use temporary variables, and do not need the, because they write their code in a way more appropriate to Forth than you probably do =) 07:50:51 I'm too lame to write well-factorized forth, too. 07:50:54 Stepan - anyway, many Forth systems have local-variable systems; if yours doesn't have one, there are ANS implementations (though if yours is an ANS it should have an (icky) one already) 07:51:19 Stepan - also, the return stack is useful. 07:51:41 Hmm... 07:51:47 How do systems like that work, cleverdra? 07:53:03 Robert - well, gforth uses a local variable stack. 07:53:30 Fancy... How's it used? 07:53:48 Robert - (and hides it, of course) with a syntax to bind variable names in reverse-order to the value's on the stack, for the sake of traditional stack-comment order. 07:54:03 : foo { a b -- c } 07:54:06 a b + ; 07:54:56 Heh. 07:54:58 { } start and end the local-variable syntax; -- ends the significant portion of the syntax; 'a' and 'b' define variables, where a is TOS and b is NOS at runtime. 07:55:09 ANS syntax is 07:55:20 : foo |locals b a| 07:55:22 a b + ; 07:55:42 or maybe locals| ... I've never used it. 07:55:46 How about C-style local variables? 07:56:15 Would be nice if a certain variable only is used in one word, to make it local. 07:56:32 Robert - those *are* C-style local variables. 07:56:50 to be correct, they are lexically-bound variables. 07:56:59 Hmm... 07:57:06 (hence the local-variable stack) 07:57:13 How do you declare a local variable called 'i' for a loop? 07:57:53 Robert - I imagine that the local 'i' would shadow the real 'i', during the scope of the local. 07:57:59 Robert - icky. 07:58:15 : foo ( n1 n2 -- n3 ) 07:58:18 begin 07:58:25 { v } 07:58:31 dup + 07:58:44 0< until + ; 07:59:05 Uhm. 07:59:06 note, that isn't good style; I don't know what I was thinking. 07:59:16 also, v + 07:59:21 v dup + 07:59:23 nevermind! 07:59:35 You see that I am using { v } there, and where I am using it. The syntax works anywhere. 08:00:05 Hmmm... 08:00:10 Forth is relly magic. 08:00:20 But... this room is getting hot, talk to you later :) 08:00:27 Thanks 09:01:50 magic?! where?! aieeee!!! 09:03:28 cleverdra: NOS? 09:04:14 next-on-stack 09:06:39 cleverdra: i did up bresenham's circle drawing algorithm in forth but i had a hard time factoring it up.. the problem is that the algorithm needs 3 parameters (x, y, and delta) 09:06:53 so i put delta into a variable 09:07:08 and used swap a whole bunch of times to get x and y where they are supposed to be.. 09:07:20 Why didn't you use the return stack? 09:08:07 well if i store something on the return stack while it's inside a BEGIN UNTIL loop, does it stay there the whole time? 09:08:22 : drawoctant ( radius -- ) 09:08:22 0 swap 09:08:22 dup 2* 3+ delta ! 09:08:22 begin 09:08:22 2dup plot 09:08:22 delta @ 0< if 09:08:24 swap dup 2* 2* 6 + 09:08:26 else 09:08:28 2dup - 2* 2* 10 + 09:08:29 um, yes. of course. 09:08:30 swap 1- swap 09:08:32 then 09:08:34 delta ! 09:08:36 swap 1+ swap 09:08:38 until ; 09:08:40 hmm 09:09:07 well i could put delta on the return stack then 09:09:11 : drawoctant 0 swap 2* 3+ >r begin 2dup plot r@ 0< if swap dup 2* 2* 6 + else 2dup - 2* 2* 10 + swap 1- swap then rdrop >r swap 1+ swap until ; 09:09:24 * cleverdra nods. 09:09:49 You could also use locals syntax to make the algorithm a little more explcit. 09:10:13 i don't like the "swap 1+ swap" stuff 09:10:26 1 under+ 09:10:31 and i was wondering about factoring out the "swap 1+ swap" and "swap 1- swap" 09:10:34 which may be a CODE word. 09:10:37 -1 under+ =) 09:10:42 hmm 09:10:54 is that f83 syntax? 09:11:03 It's a comus, is all I know. 09:11:06 (after all, nobody uses ANS :P) 09:11:14 comus? 09:11:46 http://www.albany.net/~hello/comus.htm 09:12:32 code under+ tos sp ) .w add ] drop [ end-code <-- m68k 09:13:05 : under+ ( n1 n2 n3 -- n1+n3 n2 ) rot + swap ; 09:13:20 : under+ >r swap r> + swap ; 09:13:54 on the same machine that the under+ code word was written for, my high-level version of under+ would be much better. /me shrugs. 09:13:54 rot must be avoided at _all_ costs :P 09:14:05 :) 09:14:06 heh 09:14:44 >r swap r> <-- 7 instructions and 3 forth words vs. 3 instructions and 1 forth word: --> rot 09:15:05 Also, on earth is the point of 'spelling-out' ROT, instead of just using it? =) 09:15:14 what on earth. : rot >r swap r> ; 09:16:06 woah, in your modified code, you do "rdrop >r" 09:16:17 i supposed to add the new number to the value on the return stack 09:16:35 ahh... it was supposed to be: delta +! 09:17:13 code r+! tos rsp ) .w add ] drop [ end-code 09:17:33 r@ + >r 09:17:36 is that the most efficient code? 09:17:45 you want r> + >r, though 09:17:47 for adding the number to the value on the return stack 09:18:10 It's not the most efficient; it's probably the best you can do in high-level. 09:18:32 nothing more efficient than r> + >r ? :( 09:19:11 okay, now what if i have 5 parameters for drawoctant?! 09:19:14 cx and cy 09:19:28 cx+x cy+y passed to plot 09:19:36 so that it plots them somewhere else 09:19:42 can i do it without variables? :P 09:21:07 Sure you can, but you might prefer to use variables. 09:21:14 : plot cy @ + cx @ under+ plot ; 09:21:29 redefined plot calling the old plot 09:21:59 it sucks that my drawoctant code is longer than 2 lines of code 09:22:15 and i wondered how to do it without IF ELSE THEN 09:22:26 i'm sure chuck moore would do something really sneaky ;P 09:26:09 cleverda: you there? :P 09:26:27 also, i'm using stack comments, evil! :P 09:29:42 err, yes, I'm here. 09:30:50 Perhaps it could be factored. Perhaps it doesn't matter and you could persue something else. Chuck Moore might do something sneaky, but I think that he more often does something thoughtful, and it's after a long time that you see his really clever implementation of something. 09:31:08 well yeah 09:31:14 i didn't mean sneaky in a negative way 09:31:24 i'm trying to think "what would chuck moore do?" when i code :P 09:31:40 * cleverdra nods. 09:31:52 have you read Thinking Forth? 09:32:25 No; I've only read Starting Forth 09:34:49 --- join: Kitanin (~clark@h-209-91-66-234.gen.cadvision.com) joined #forth 09:37:18 hi kitanin 09:37:26 Hi. 09:38:24 cleverdra: thinking forth basically says do data structures, if you can't, do math, if you can't then do logic - for solving the problem.. 09:38:48 * cleverdra nods. 09:40:09 Trivial example: a lowercaser might be written in terms of a 256-byte-long data structure, a combination of logic and math, or, the worst: total logic, a case structure. 09:41:10 dup uppercase? if [ -1 0x20 xor ] literal and then \ for an example of the second 09:43:44 so i was wondering how to avoid using logic 09:44:49 Well, seeing as this is an algorithm... 09:44:57 * cleverdra shrugs. 09:48:57 kitanin: are you qless? 09:50:54 Not as far as I know. 09:51:31 ok, cause I live in calgary too 09:51:55 and so does qless (a guy who comes here occasionally) 09:54:02 Here being? 09:54:24 #forth 09:54:44 Ah. Okay. :-) 09:54:44 i don't know him in person 09:55:01 * Kitanin is really doing far too many things at once... 10:05:49 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 10:15:36 how many forth coders do we need in calgary before we start up CFIG? (calgary forth interest group)? ;P 10:17:37 Hi all :) 10:17:55 * Robert wants to start KFIG - Kungsängen Forth Interest Group. 10:18:03 I'd be the leader and only member, I think. 10:21:01 Robert - you'd have absolute control! 10:21:27 Robert - you could just declare that KFIG would do thus, and then it would happen. No voting. You'd be an alpha male, instantly attractive to all females. 10:22:17 cleverdra: Yeah, all Forth Females(tm) in this village. 10:22:24 Note: the last does not follow, except from the fact that you would be at the top of the heirarchy. 10:22:26 There are hundreds of them, as you understand. 10:22:35 Robert - they need not be Forth Females. 10:23:04 Mmmm... Forth Females. 10:23:15 Fuck off clothes take. 10:25:46 you have revealed the darkside of forth interest groups! 10:25:51 the secret! 10:27:48 My... This is what I get for wandering off to read my email... 10:28:07 yeah, you missed all the fun ;P 10:28:23 well, i gtg to work now, ttyal 10:29:42 Hehe. 10:29:45 Bye, futhin. 10:30:18 --- join: kc5tja (~kc5tja@user-24-214-86-42.knology.net) joined #forth 10:30:26 Hello, kc5tja :) 10:30:33 Howdy 10:31:42 Do you know any good document that gives a description of the most commonly used forth words (not just the usual stack and I/O words)? 10:32:07 That's a rather open-ended question, given your restrictions. 10:33:45 Yeah, but.. do you know any such document? 10:33:56 No. 10:33:58 I checked the whole ANS standard once, but it's...big. 10:34:00 :-/ 10:34:19 I'd have to read for hours just to find a useful word. 10:34:19 ANS doesn't contain a statistic of word use frequency. 10:34:42 No, heh. 10:34:59 Well, I guess I could browse through IsForth or something. 10:35:07 It's not that bloated yet ;) 10:35:15 Well, the existance of a word means only that the word has been used at most once. 10:35:23 Or are you going to actually manually count words? 10:35:30 (in definitions I mean)? 10:35:43 s/at most/at least/ 10:36:01 Of course not... I just wanted to extent my Forth skills a bit, there seems to be a large amound of handy words out there. 10:36:06 Sorry, I'm not 100% awake yet, plus I gave about a half pint of blood today at the doctors office. 10:36:27 AND I've been fasting for 12 hours on top of that. 10:36:29 Instead of reinventing the wheel all the time, I could just learn the usual ways of doing these things :) 10:36:33 Oh. 10:36:40 * Robert gives kc5tja some coffee. 10:36:48 * kc5tja slaps it onto the floor. 10:37:00 That vile, disgusting syrum of evil will never be shown in my presence. 10:37:10 Forth or the coffee? 10:37:11 * kc5tja shudders 10:37:14 Coffee. 10:37:19 * Robert doesn't drink coffee. 10:37:25 But...I've heard some people do. 10:37:26 I had coffee only twice in my life. Never more. 10:37:38 It's a staple drink in America, much as tea is in Britain. 10:37:51 Now tea I can handle. I like tea, though I can't drink too much of it. 10:37:52 It's not exactly unusual in Sweden. 10:37:59 Tea is OK. 10:38:13 Chinese green tea is so far my favorite though. 10:39:26 At any rate, I can't drink too much of that stuff because of caffeine. I react pretty strongly to caffeine. 10:39:39 Heart palpatations and chest pains and all that. 10:40:07 Of _tea_? 10:40:20 ANYTHING with large amounts of caffeine in it. 10:40:21 * Robert thinks tea ~= water with color. 10:40:33 Tea has 1/2 the amount of caffeine as a cup of coffee. 10:40:36 A cup of tea that is. 10:41:12 * Robert still can't see tea as anything else than...hmm...well, good-smelling water. 10:41:23 Well, it is. 10:41:34 But there is an amphetamine in it too. 10:41:35 :) 10:41:51 Caffeine is odorless and tasteless. 10:42:02 (like most drugs of its nature) 10:42:06 kc5tja - why do you have problem with caffeine? 10:42:20 cleverdra: I was born with it. 10:42:48 oh. 10:42:51 Like, I can have two cans of coke or ONE can of Mountain Dew within a six hour span. Otherwise, I'm sorely hurting. 10:43:22 kc5tja - I guess that you've little danger of becoming an amphetamine addict, then. 10:43:23 I drank a cup of coffee once (one cup), and within 30 minutes, I couldn't catch my breath, had chest pains, and got chills, etc. 10:43:34 Caffeine at least. 10:43:36 oh, yikes. 10:44:12 kc5tja - do you have problems with a lot of medicine, then? 10:44:16 Hot chocolate I can have, but like Mountain Dew, I can't have too much of it in a period of time. Otherwise, I get chest pains and slight shortness of breath. No chills though. 10:44:33 cleverdra: Actually no, but then I don't take a lot of medications. 10:45:07 What small amount of medications I do/did take, very few of them had caffeine. 10:45:25 Only 1000mg pain reliever that I have (Excedrin) has it -- 130mg. 10:45:44 But I take that only for very severe headaches or aikido injuries. 10:46:02 ah, OK. 10:46:08 Most of my medications are for gastrointestinal-related problems. 10:46:32 * kc5tja has irritable bowel syndrome, and plus semi-chronic gastroenteritis. 10:47:37 As a result, most of my medications either have phenargen or codine, both of which are hallucinogenic narcotics... :) 10:48:09 That's why you take 10 pills at once? 10:48:10 * kc5tja always wondered about why codine was so named, as its -ine suffix suggests an amphetimine. 10:48:19 Robert: ??? 10:48:25 Just kidding :) 10:48:32 * Robert should do something more important. 10:48:39 * kc5tja doesn't like taking ANY medications. 10:48:48 Unless the demand is strong enough. 10:48:56 I prefer to let my body heal itself whenever possible. 10:49:02 It usually works. 10:49:08 I was planning to write a simple Forth compiler, and write a small Forth in it. 10:49:10 Same here. 10:49:12 It's kept me out of the doctor's office for many years. 10:49:18 Hehe. 10:49:52 I'm the way, though the most serious/common problem I have is headaches. 10:49:57 the same way. 10:50:04 * kc5tja nods 10:50:10 Back pains here... 10:50:42 Back pains are usually indicative of being overweight for your height (even if it's all muscle mass). 10:51:09 I have some slight back pains myself, but I'm working to lose some weight to reduce the pain. 10:51:41 So far it seems to be working reasonably well. 10:52:23 To be at my ideal weight, though, I need to lose another 36 pounds. :) Though I totally don't look it, I'm actually "Clinically obese." :) 10:52:56 The doctor had to do a double-take when he saw my weight, and yet how thin I was. 10:53:05 But not all of it is muscle mass, and that's the scary part. :D 10:53:29 How are you working to lose the weight? 10:53:59 Well, for the last two years, Aikido was enough to help keep it off. But recently, that's not been working. 10:54:28 So now that I'm taking college courses, I'm looking into purchasing a bike so I can bike to and from college (about 8 to 10 miles round-trip, depending on what route I take) 10:55:08 But more importantly, I just plain need to eat better. 10:55:14 That's the crux of my problem. 10:55:47 It's not that I eat bad food (which I will freely admit that some of what I eat is bad food), it's just that i eat so much of it. 10:56:14 kc5tja: The back pains were worse before, and I don't weigh that much. I'm 1.86m tall, and my weight is about 75 yo 80 kg. 10:56:29 I think that's about the average. 10:56:32 OK, that's reasonable for your height. 10:56:53 You're huge, though... :) 10:57:17 You're 10cm taller than I am. :D 10:57:26 :D 10:57:30 I'm not huge. 10:57:38 My "ideal weight" should be around 75kg. 10:57:41 I met another programmer, from the south-west parts of Sweden. 10:57:49 He was about 1.93m. 10:57:51 Well mass. Weight is technically measured in Newtons, but ... 10:57:54 At the age of _16_. 10:58:23 Let's not be that pedantic :) 10:58:47 My ideal weight should be 740.566N. :D 10:59:31 in the context of 1g, kg is fine for weight =) 10:59:57 err. hm. /me wonders how people differentiate between the constant 'g' and the unit. 11:00:08 Well, I'm a physicist by nature, so I'm pedantic by that. 11:00:35 And it's clear my blood loss today is throwing off any and all skill in typing that i had last week. 11:01:23 blood loss? 11:04:12 He donated some blood to the National Vampire Congress. 11:06:50 --- quit: proteusguy (Read error: 110 (Connection timed out)) 11:07:25 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 11:20:05 Yes, blood loss. I had to have a blood test done today. 11:25:50 --- join: tathi (~josh@wsip68-15-54-54.ri.ri.cox.net) joined #forth 11:53:18 --- quit: proteusguy (Read error: 110 (Connection timed out)) 11:53:19 --- quit: Kitanin (Read error: 104 (Connection reset by peer)) 11:53:31 --- nick: kc5tja -> kc-food 11:54:06 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 12:05:48 --- join: Speuler (~l@pD9502566.dip.t-dialin.net) joined #forth 12:06:03 tag 12:06:39 Guten Abend. 12:07:01 How's the Forth treating you today, young Speuler? 12:07:26 don't know. haven't tried it yet 12:08:13 already 2 days ago that i fired up a forth interpreter 12:09:47 were tending roast sausages rather than program languages yesterday 12:10:29 :) 12:10:48 and configred some root servers 12:11:15 * Speuler is in charge of about 300 GByte/month internet traffic :) 12:11:36 Ooooh. 12:11:59 You wouldn't mind donating 100 of those GBs to me, would you? 12:12:07 getting pre-installed debian over in 5.5 secs :) 12:12:27 would be an option 12:12:44 what are our needs ? 12:13:37 Well, I don't have any needs really... I just want high-speed internet for free ;) 12:15:20 i'm not connected to those machines by that speed, but those are to the internet. 12:16:22 used for internet radio and the like 12:19:10 the owner liked the (linux-based) gateway/firewall here, and decided to drop windows :) 12:19:44 Yay. 12:20:21 so i, by accident, got me an additional recreational facility 12:23:21 first upload of preconfig'd linux was from a 144 kbit line ... took 2 hours ... 12:23:42 then from one to another server, just about 5 secs :) 12:24:06 Fast. 12:26:05 250 gb storage 12:27:08 Darn, 125 times more than I got :) 12:27:44 1.5 gbyte ram 12:28:14 Tasty. 12:28:16 64MB here. 12:31:22 abd i do the config from the notebook in my camping bus :) 12:32:34 * Speuler thinks it's time to get an handheld device 12:33:10 cause i don't dare taking the laptop to the camp fire 12:35:07 Heh. 12:35:22 want the url of the site i'm on ? 12:36:12 Sure. 12:36:17 http://www.die-garagen.de 12:36:58 * Robert checks. 13:03:25 --- quit: Fractal (Read error: 104 (Connection reset by peer)) 13:04:39 --- join: marekb (~marekb@p039.as-l025.contactel.cz) joined #forth 13:05:51 hi all 13:06:37 Hello marekb. 13:07:02 --- quit: proteusguy (Connection timed out) 13:07:47 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 13:09:56 only one not sleeping? 13:10:40 --- quit: marekb ("using sirc version 2.211+KSIRC/1.2.1") 13:10:58 --- join: marekb (~marekb@p039.as-l025.contactel.cz) joined #forth 13:16:01 get up 13:17:33 Hi. 13:19:48 hi 13:24:04 what are u doing just now? 13:24:39 Chatting with you, Listening to the Beatles, and reading a message board. 13:24:48 Over there? 13:24:52 Swimming? :) 13:25:55 --- join: Kitanin (~clark@h-209-91-66-234.gen.cadvision.com) joined #forth 13:26:01 Hi Kitanin. 13:26:17 Hey again. 13:26:45 What's wrong, Kitanin? 13:28:02 Oh, just that IRC keeps dying on me inexplicably. :-) 13:28:21 Oh- 13:28:27 Well, that's not unusual ;) 13:28:45 IRC is less stable than one of the orc constructions in Warcraft II. 13:30:24 Robert: i expected you're coding :) 13:30:26 What you got against my people? 13:32:49 --- quit: cleverdra (Read error: 110 (Connection timed out)) 13:34:40 Hehe. 13:34:44 marekb: I'm not coding at the moment. 13:34:53 marekb: Just finished some (ugly) Forth code. 13:35:24 marekb: Got inspired about a book on Math, so I wrote a forth word to numerically solve differential equations. 13:39:22 --- join: OrngeTide (orange@65.19.141.250) joined #forth 13:39:25 so hard day you had 13:39:51 No. 13:39:53 :) 13:40:20 --- join: tcn (tcn@tc2-login32.megatrondata.com) joined #forth 13:40:50 Hi tcn! 13:40:54 Hey 13:41:12 is it acceptable for my forth to refuse to use certain words in the interpreter portion, like BEGIN, WHILE, REPEAT, etc. ? 13:41:18 If it takes so much money to run an IRC network, why don't we just use email? 13:41:31 ornge: yes 13:41:39 mailing lists can get archived too. added bonus. :) 13:41:50 How would you interpret 'begin' anyway? 13:41:54 http://tunes.org/~/nef/logs/forth 13:42:13 I mean, it doesn't make sense then. 13:42:26 kforth compiles each line of interpreted code into a temporary word 13:42:29 It pushes the current address or something, right? 13:42:43 Uhm... what is kforth? :) 13:42:49 robert, my only idea was to look at the control flow stack. if there is anything on there i temporary turn off interpret and compile it to a scratch area. then when the control flow stack is empty I execute the scratch area and free the scratch area when i'm done. 13:42:52 some little windows forth 13:43:14 OK. 13:43:14 but that seemed like a bit of a hack. :) 13:43:28 "Control slow stack"? 13:43:28 but if i dont' have to interpret begin then i won't bother. 13:43:48 slow? 13:44:05 i've seen some fancier forths that have interpreted flow control words.. sometimes with brakcets around them ie [IF] [THEN] [ELSE].. but it's like #ifdef in C, which is kinda stupid 13:44:37 tcn, oh. weird. 13:44:37 Hmm... 13:45:02 Would be nice if you could write normal forth code using normal words to compile a forth program. 13:45:07 or do what Chuck does, have a separate dictionary for the interpreter, so there are actually two different IF's 13:45:31 Like... compile-this @ if [switch-mode] execute-this-word [switch-back] then 13:45:39 Oh. 13:45:53 That sounds a bit like what I'm looking for. 13:45:54 i found a neat public domain forth the other day. it's like 10+ years old written by AutoDesk,Inc. http://www.fourmilab.ch/nav/topics/components.html it's call ATLAST. 13:46:04 For DOS? 13:46:05 it's like one .c file and full of globals though. 13:46:10 for DOS, Unix, MacOS, etc. 13:46:20 it's written in C. designed more to be a macro langauge than anything. 13:46:22 Hehe- 13:46:28 I see. 13:46:38 but i was going to use it for my own project cuz it was really simple and public domain. 13:47:37 then i came up with a better use for forth in my project which required me to be a lot closer to the dictionary than before. (it's an online game, but instead of keeping some object database I'm just inheriting dictionaries and branching them off to define object attributes within each instance's heap) 13:47:42 I'm planning to write a small Forth and modify it into a calculator. 13:47:51 robert, you wouldn't have to modify it. :P 13:48:10 unless you mean like physically a calculator. like grab a PIC for $3 and a nice text LCD and keypad for $10. 13:48:12 Well, I mean, I'd make words to make the interface simplier. 13:48:23 oh. you could buy an HP48GX too 13:48:33 :) 13:48:34 Well, I'd love that, but... my electronics skill makes everything I touch burn. 13:48:38 They're expensive, OrngeTide. 13:48:43 nah. cheap on ebay. 13:48:43 Like $150 13:48:49 Hehe. 13:48:49 I bought an HP49. that was like $110 13:48:58 HP48G and GX are like $50-70 used. 13:48:59 Mailing it to Sweden would cost a lot :P 13:49:04 oh. that it would:( 13:49:16 robert, is your calculator going to be better than 'dc' ? 13:49:20 what's it weigh, .2 kg? 13:49:45 Anyway, I just wanted some easy interface to more advanced functions. 13:50:06 Not having to modify 10 variables manually every time I want to calculate an integral. 13:50:20 Would just be a hobby project. 13:50:25 use C 13:50:30 (Like everything else) 13:50:35 tcn: For what? 13:50:45 As the scripting language of the calculator? 13:50:50 so you wouldn't have to fuck w/ 10 variables.. 13:50:58 Heh. 13:51:08 interactive C 13:51:21 Forth is easier than C to parse :) 13:51:34 ...and interpret... 13:51:34 by a hair 13:51:39 ahaha:) 13:51:44 and compile. 13:51:51 and extend. 13:51:54 OrngeTide: That too ;) 13:51:55 Hehe. 13:51:57 hrm.. was is C good at again? 13:51:58 Yeah. 13:52:10 that's the nice thing about C, it's always THE SAME 13:52:25 tcn, unless you program weird like me. 13:52:34 Well, why would I write a new program if I want something that already exists? ;) 13:52:37 #define's up the yah? 13:52:52 tcn, yah. i'm not writing linked list code over and over. I just use BSD sys/queue.h macros. :) 13:53:00 among other macros. 13:53:30 so you want an RPN calculator program 13:54:01 Not really, I just want a playground. :-) 13:54:21 i think i've written a dozen rpn calculator programs. basically i write a forth compiler. but don't get around to putting in more than one stack or any way to do anything other than immediate interpretation. 13:54:39 Hehe. 13:55:12 I wish I had the electronical skills to put together my own little device with a PIC or some other onechip computer... 13:55:21 Robert: you should see my "playground" it's a 16 instruction virtual stack-based cpu. all instructions are 1 character long in the "assembler" 13:55:25 A small keyboard, an LCD display... Yum. 13:55:31 so I do 2#2#+. 13:55:51 oh.. what if you didn't have to type spaces? 0-9 enters a number, A-Z enters a word, symbols act as 1-char words.. 13:56:46 which: multiplies scratch by 10 then adds 2 to scratch; pushes scratch on stack and clears scratch; multiples scratch by 10 then adds 2; pushes scratch onto stack and clears scratch; pops two entries off adds them and puts them onto stack; pops entry off and prints it. 13:56:56 the weird thing on my cpu is the 2# business:) 13:57:20 --- join: Grant (~pyromania@dialup-251.158.220.203.acc01-high-pen.comindico.com.au) joined #forth 13:57:26 this way numbers are just instructions:) 13:57:27 hehe 13:57:36 neat 13:57:39 Eh Mark around? 13:57:45 nope 13:57:50 okily dokily... 13:57:57 --- nick: Grant -> pyromaniac 13:58:03 it's the ultimate lazy person's cpu. it took me about 2 days to design but about 15 minutes to implement. :) 13:58:13 OrngeTide: Hah ;) 13:58:44 Ornge: so are 0-9 considered to be instructions? 13:58:50 it's fun. i had a whole slew of things. i can pipe stuff through m4 for doing macros. cuz it didn't have a multiply instruction, had to write it yourself. 13:59:09 tcn, yes:) 13:59:17 so what are the other 5? 13:59:26 4 13:59:46 0-9 . + J C ! @ 14:00:08 well # wasn't actually ran by the cpu. 14:00:47 J was conditional jump. and C was more like an else for the conditional jump. 14:01:25 reminds me of brainfuck or something :) 14:01:35 of course you'd have a much more usable system if you define more instructions. but that's extra typing. :) 14:01:52 you could have 256 instructions 14:02:41 i changed it later to have my switch be part of the "assembler" which then put it into ints. so # was just part of the assembler. but the virtual machine itself instead had a LIT instruction and read a 32bit value after it. 14:03:00 tcn, yah. i really wanted a way to define new instructions. but then you can't put it into a select 14:03:04 s/select/switch 14:03:37 i see 14:05:42 hrm. i can't seem to find the src to that one. i did just find the source to my direct-threaded interpreter:) i had to use GCC extentions to get addresses of C labels and jump to addresses in an array:) 14:05:45 should have a 64-bit prefetch queue.. put 4 (8?) instructions in the first word, and a 32-bit literal in the second.. so you could load a number and do some operations on it.. 14:06:20 tcn, that's how a mainframe works. 14:06:36 which mainframe? 14:06:39 FORTH on an S390... Mmm... 14:07:14 tcn, just about any of them. they have really wide instructions. like 72-bit. and that instruction is the operation and full parameters for the operation. 14:07:18 i was just thinking how RISC machines waste so much space by padding all words out to 32-bit 14:07:31 Kitanin: my friend wants me to finish and port my 64bit forth to S/390 :) 14:07:34 --- quit: proteusguy (Success) 14:07:37 (he's doing a 64bit C++ compiler for S/390) 14:07:48 tcn, yup. 14:08:08 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 14:08:09 like Don Knuth's imaginary processor 14:08:22 well internally you pass the ALU like instructions that are 80+ bits wide. but you run your instructions through a microcode-based translator. 14:08:50 tcn, MMIX or whatever with like 256 128bit registers or something. i forget. 14:09:00 i mean the old MIX 14:09:14 oh. the old MIX is actually an almost reasonable design now days:) 14:09:31 each word had an opcode, address field, immediate field, flags field.. 14:09:55 yup. that's what it looks like after it gets out of the decoder. 14:11:02 is that efficient or simple? 14:20:43 --- quit: tcn ("Leaving") 14:23:14 * Kitanin was joking... 14:24:59 tcn, both. :) 14:38:20 --- nick: kc-food -> kc5tja 14:55:04 :) hi guys 14:55:05 --- quit: Kitanin (Read error: 104 (Connection reset by peer)) 14:55:17 --- quit: tathi ("leaving") 14:55:24 OrngeTide: r u a new visitor? 15:00:23 --- join: Kitanin (~clark@h-209-91-66-234.gen.cadvision.com) joined #forth 15:05:11 hello clark :) 15:07:45 --- quit: proteusguy (Connection timed out) 15:08:40 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 15:29:35 does anybody know about a serious application of NetPBM or PBMplus? 15:29:35 --- quit: Kitanin (Read error: 104 (Connection reset by peer)) 15:30:17 coz i plan 2 port it 2 4th as an example 15:33:53 --- quit: Stepan (bear.openprojects.net irc.openprojects.net) 15:34:59 --- join: Stepan (~stepan@Charybdis.suse.de) joined #forth 15:40:43 and as a test wheather it can b more effective written in 4th 15:45:43 --- part: marekb left #forth 15:54:33 --- join: Kitanin (~clark@h-209-91-66-234.gen.cadvision.com) joined #forth 15:54:44 --- part: Kitanin left #forth 16:07:26 --- quit: proteusguy (Read error: 110 (Connection timed out)) 16:08:07 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 16:23:45 onetom: yah. i'm new. 16:24:16 hrm. what's the name of the internal forth word used to deal with numbers in the parse stream? 16:26:13 --- join: CrowKiller (Forther@Ottawa-HSE-ppp3653754.sympatico.ca) joined #forth 16:26:52 is 128 words too small for a forth system or its just the right size? 16:32:47 depends on 16:33:00 what do u want 2 use it 4 16:33:35 4 most embedded applications it could b enough 16:34:46 pc x86 16:35:18 i want to keep my little 8 bit tokens ;p 16:43:11 i plan 2 "port" netpbm 2 4th 16:43:17 what do u think about it 16:43:52 eg, we can "measure" the word-count requirement of it 16:47:09 netpbm? 16:48:27 is it the graphic package at freshmeat? 16:51:17 im taking a look at it right away, seems interesting 16:51:33 never saw anything like that coded in forth 17:01:53 onetom, is it necessary for you to use AOLspeak? 17:02:24 i'd like to put forth bindings to SDL. that would be fun. :) 17:03:10 but calling netpbm functions in forth would turn it into gnu plot on steroids. :) 17:07:28 --- quit: proteusguy (Read error: 110 (Connection timed out)) 17:08:02 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 17:22:14 --- quit: CrowKiller ("Chniak!") 17:25:37 --- join: skylan (sjh@Riverview75.tbaytel.net) joined #forth 17:35:58 nah, back again (from watching world war II in color :( 17:36:51 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 17:37:51 OrngeTide: yes, its necessary. its my excentricity that i wont give up. sorry. every1 has accepted it here (read it as: every1 forgive it ;) 17:38:53 OrngeTide: &wasnt talkin about bindin 4th 2 netpbm, but rewritin netpbm in 4th 17:55:15 OrngeTide: what would u like 2 use 4th 4? and how and when did u meet 4th 4 the 1st time anyway? 18:00:11 OrngeTide: heya, i'm curious how you discovered this channel? (i like to know how people discover this beautiful channel) ;) 18:07:50 --- quit: proteusguy (Connection timed out) 18:08:00 OrngeTide: some of us (tcn, kc5tja, tathi, futhin & me) r about 2 create 4th OS-es 18:09:25 --- join: proteusguy (~proteusgu@24-197-147-197.charterga.net) joined #forth 18:12:01 onetom: howdy :) 18:12:20 i've been looking at machineforth 18:12:25 a lil 18:23:56 machineforth is the best forth :P 18:23:58 except for colorforth 18:24:10 machineforth = "smallest, simplest, and fastest" forth 18:24:53 and that's what we should expect when chuck moore sits down and simplifies forth! 18:25:25 hi 18:25:35 i was reading back the log :) 18:26:06 iwas just reading the "what if there r 5 params ... " part :) 18:26:13 heh :) 18:26:48 thats a nice example anyway... 18:26:52 yeah, it's a fixed algorithm, and so if i wanted to write better code that draws a circle i may have to depart from bresenham's algorithm 18:27:13 we should take it as a good subject of analization 18:27:29 or figure out a way to do it with no logic (IF THEN) 18:27:41 in 4th coding style researches... 18:27:43 onetom: s/analization/analyzation :P 18:28:24 :/ r u sure? 18:28:27 i would like to factor that bresenham algorithm forth code down so that DRAWOCTANT is 2 lines 18:28:34 yes i'm sure about the spelling 18:28:43 analyze - analization 18:28:51 analyze - analyzation 18:29:04 hrm 18:29:06 or does the later remind 2 anal(sex)? 18:29:34 ... remind 1 2 ... 18:29:52 analization remind me of anal sex 18:29:53 heh 18:30:09 s/remind/reminds 18:30:39 analization, the act of anal sex.. 18:30:44 heh 18:30:53 back to forth! 18:31:07 come on quick! can we do the bresenham stuff with no LOGIC ? 18:31:08 :P 18:35:55 ATLAST looks interesting 18:36:05 i like the readme file about open architecture 18:36:18 after reading bazaar & cathedral essay 18:36:19 and probably outdated (iguess...) 18:36:51 naw, the fact it was coded in 1991 is meaningless 18:36:58 it is probably useful 18:37:20 altho FICL might do the same things? 18:37:21 i dunno 18:37:31 ATLAST is 51k 18:38:23 it's a library that confers onto your applications the ability of programmability 18:40:33 and 4thlib is also aim the same goal 18:40:46 s/is// 18:40:53 aimed 18:41:14 fuck, i cant speak right again 18:42:45 futhin: lets get back 2 that cicrle code some time later the followin days 18:43:06 what are you up to right now? 18:43:10 probably @ weekend 18:43:37 thinkin on rewriting parts of the netpbm package 18:43:46 it would be cool if you did that 18:43:57 i'd like some jpeg decoding forth source ;P 18:44:07 code a jpeg viewer in forth 18:44:11 hahh :) 18:44:36 that pkg deals w uncompressed image data only 18:44:43 futhin: i discovered this place by putting in "forth IRC" in google. :) 18:44:56 onetom, i'm making a forth OS for my forth PDA:) 18:45:00 heheh 18:45:16 wow, that sounds great! 18:45:17 my forth is more like StrongForth though. i like static typing. 18:45:20 what PDA? 18:45:28 own construct? 18:46:05 onetom, my own. i'm going to use Mitsubishi 7702 for the cpu. and a www.crystalfontz.com LCD (they sell to hobbists for reasonable prices. and have tiny high-res celphone style graphic lcds with touchscreen) 18:46:07 i have a palmIIIc (2M) 18:47:07 aha, we (me father&me) were also planning such stuff w a PIC17c756 18:47:10 yah. my own. i don't like the existing pdas out there. my prototype i have sketched out on a napkin should fit into a cigerette case. once i switch to SMT it'll be way smaller. not bad for a 4Mb PDA. (4Mb of forth code, ABSURDLY HUGE!) 18:47:37 onetom, ah. my original design was with Scenix PIC-likes. but it turned out accessing SRAM was a painful process. 18:47:54 but no touchscreen & just some simple character or pixel based lcd 18:47:59 mitsubishi 7702 can address 16Mb linearally. (16bit cpu). runs 25Mhz and doesn't draw much power. 18:48:24 onetom, hitachi LCD? that's a popular one. you can get a 16x2 display for $7 at the surplus places and drive it with only 8 io pins. 18:48:48 sure, the scenix r just the derivatives of the 12bit-core pics 18:49:01 except they go 150MIPS now:) 18:49:01 but the 756 is much better 18:49:11 and cost like $3 18:49:48 sure, but they know nothin :) 18:50:04 no interrupts, and the like 18:50:06 main goal of my pda is to be inexpensive, programmable and last a long time on batteries. so i've been balancing price and power for about 2 years now. 18:50:20 aha 18:50:23 yah. they are pretty "dumb" devices. and really a nightmare if you want to load up an interactive forth on one. 18:50:56 but w the 756 u can simply implement an indirect threaded 4th 18:51:03 i have part of it working in a simulator with a z80 core. but i dropped z80 after i found 7702 18:51:14 onetom, really? that would be great! 18:51:31 it wont b 2 fast but still perfect for most interative stuff 18:52:18 onetom, cool. an LCD and keypad and you'd have a bitchin "calculator" of course you would have a calculator that you could write solitaire for pretty easily. :) 18:52:31 what is the instr-set of the 7702? 18:52:46 is it also a risc cpu? 18:53:05 it's it's own. it's pretty ordinary. it's like a 16-bit 6502. 18:53:11 oh, not just a calculator... 18:53:16 i'd say it's a RISC 8086. 18:53:25 we were also thinking about alternative input modes 18:54:13 risc & 8086 is just like black & white ... :/ 18:54:34 i like the pic instruction set a lot more 18:54:47 hey hey, onetom, have you checked this page? http://www.ultratechnology.com/method.htm 18:54:57 er, s/checked/seen 18:55:03 and every instruction is 4 cycle except the jumping 1s 18:55:28 so its a very convenient construct 18:55:35 i hate PIC:P 18:56:21 futhin: hmm how did u find that link? 18:56:29 if 7702 had an extra stack it'd be perfect. but i can do a return stack using the "near" memory. 18:56:30 OrngeTide: great. :) why? 18:57:11 OrngeTide: and what about a custom cpu built of a CPLD? 18:57:15 onetom, i don't like weirdo instruction sets where you can't address real memory. and i don't like having register pages. 18:57:51 onetom, CPLD couldn't really pull it off unless i use an external ALU or had a CPLD with a real ALU. but i could do it with an FPGA. Xilinx Spartan II would be nice for a 16bit. but that's power hungry and expensive. 18:59:14 onetom: found the link thru the russian forth interest group website heheh 18:59:21 if you want i know a company that sells spartanII kits with ps/2 keyboard/mouse, 8048, and vga onboard. you can make a full blown "workstation" outta it. implement all your GUI in hardware:) 18:59:47 they are like $150-$250 depending on what you want too. not too bad of a price. comes with the "free" version of the xilinx software too 19:00:06 * OrngeTide tries to remember the URL. 19:00:08 OrngeTide: what do you mean by implementing gui in hardware ? 19:00:58 futhin: i mean instead of writing software you have the event handling, rendering and window clipping done in hardware. not just "accelleration" but you could have like event queues in hardware. :) 19:02:16 http://www.xess.com/ <-- neat kits! 19:02:23 OrngeTide: well, im interested a lil bit, so plz type it 19:02:35 4 the sake of the log @least :) 19:02:47 my hardware engineer friend recommend it to me, told me they are well done for the price. 19:02:52 thx, gonna chk it 19:03:03 late 19:03:04 r 19:03:08 he doesn't like forth though. he had a bad experiance with it on Mac :) 19:03:39 :) how come? 19:03:42 mmm.. coconut thai soup:) delicious. 19:03:49 he also sux w the caches? 19:03:52 onetom, i don't think he likes to think backwards:) 19:04:29 oh he's a brilliant hw guy though. did mpeg codecs for S3. the insane ASIC for telocity's dsl modem, etc. 19:04:30 oh, fuck, so he doesnt have that mirror built into his eyes :) 19:04:45 ASIC? 19:05:01 application specific integrated circuit. 19:05:18 ah, its sg like BOA 19:05:41 but probably its a hungarian abbrev :) 19:05:43 --- join: Fractal (mlxv@h24-77-171-228.ok.shawcable.net) joined #forth 19:06:08 basically this ASIC him and I worked on (i did software, he did hardware) did USB ethernet, parallel port ethernet, ethernet over ATM, PCI master, PCI slave, ethernet, and crypto. on one chip 19:06:20 god knows why that company was pushing ethernet over parallel port. 19:06:29 i never notice RPN anymore with forth 19:06:32 but by god we did it in hardware. it looked like a NIC to the kernel. 19:06:40 are you SURE that forth is RPN? ;) 19:06:51 forth is FPN 19:06:58 forward polish notation. :) 19:07:15 that's right! :P 19:07:16 everything else is backwards. and not even polish. 19:08:21 http://mary.pepix.net/ <-- did u know about this? 19:09:17 AWESOME! 19:10:18 16bit cell width on it. those wimps:) 19:10:26 * OrngeTide 's forth currently has 64bit cells. 19:10:29 but i'm a freak. 19:10:30 --- quit: proteusguy (Connection timed out) 19:10:39 i write very unchuck-like forths. 19:11:00 my forths typically take 10s of K :) 19:11:26 K what? 19:11:33 bit / byte / word ? 19:11:40 byte:) 19:11:50 that doesnt count 19:11:52 ahaha. 19:12:04 how much words is the question :) 19:12:09 but a 40Kbyte forth is massive in comparison. 19:12:28 well it'd be 5Kword if i had 64bit :) 19:12:47 sounds much better that way isnt it? :) 19:13:02 only if you're not the one paying for the SRAM to hold it all:) 19:13:11 that shows the value of the system 19:13:24 yea/ 19:13:34 why would you write unchuck-like forths? :P 19:13:47 haven't read enough ultratechnology.com material? ;) 19:13:58 read thoughtful programming & friends ;P 19:14:08 cuz mup21 is buggy as shit:P 19:14:13 OrngeTide: so, im gonna try 2 continue extending mary4th this year 19:14:21 onetom, that'd be really neat! 19:14:27 orngetide: why do you mention mup21 ? 19:14:40 what aboute shboom/ignite, f21, 25x? 19:14:44 OrngeTide: so it could handle those freakin code blocks 19:14:46 cuz chuck made mup21. :P 19:15:10 so what, it was his early chip design 19:15:11 it's nifty but when you actually get one in your hands you have to beg and plead to find out all the work arounds to get it to actually run. 19:15:24 mup21 isn't perfect, it's still evolving 19:15:27 well i think chuck is great. i'm really impressed by his work. 19:15:30 (forthchips are still evolving that is) 19:15:45 i just don't write my forths according to his ideas. well not entirely. 19:16:00 OrngeTide: so this is the place 4 ya then! ;) 19:16:16 ehhe. 19:16:33 well some people think we need forth chips. that i dont agree with. i think forth kicks butt on any cpu. 19:17:10 you could put it on a MIPS R4K. of course you could fit an entire forth compiler in the R4K's cache. 19:18:23 whats wrong w 4th chips? 19:18:47 orngetide: forth kicks butt on any cpu, but on forthchips, forth kicks even more butt 19:19:09 and butt kicks forth 19:19:11 forth has more advantage on it's native processor, faster, etc 19:19:21 more forth even butt kicks! 19:19:29 hehe 19:19:49 im a shaker 19:19:52 orngetide: i really like MachineForth 19:19:56 27 primitives 19:20:09 smallest, simplest, fastest forth 19:20:10 now, drink what i made 4 ya ;) 19:20:13 as a language 19:20:25 not just as the cpu 19:20:36 but as a language, machineforth is smallest, fastest, simplest.. 19:20:41 (except maybe for colorforth) 19:21:20 hrm. i haven't tried machineforth. 19:21:23 i think a forthchip desktop computer would be neat 19:21:57 yeah chuck moore developed machineforth.. machineforth is the asm lang on F21 19:22:14 a forth network computer hooked up to a massive server over a network would be neat too:) 19:22:26 how so? 19:22:39 futhin, oh. neat. maybe i should pattern my virtual machine after machien forth. 19:23:09 well i think desktop computers are a silly idea. you should have a diskless workstation that it just an access point to your real applications and data. 19:23:22 orngetide: if i ever write an forth os, it's going to be ontop of the machineforth VM 19:23:23 then you just move from access point to access point. 19:23:26 just like with Sun Ray. 19:23:48 futhin, hrm. that's an interesting idea. 19:24:03 that way the forth os will be easily portable to the forthchip 19:24:05 i was thinking i'd just have some cheap VM to boot strap myself into doing a native compiler. 19:24:13 and i can write the machineforth VM for other architectures 19:24:23 and have the OS ported.. 19:24:54 www.ultratechnology.com/f21.html 19:25:09 but machine forth isn't going to have MMU, paging or other things that would be good in a multiuser system. seems more geared for an embedded system where you have control over every application. 19:25:45 orngetide: about forthchip desktop computers, they would be relatively cheap, would be quiet, and wouldn't need much power (a few watts, instead of 300 watts).. they could be good for third-world countries, etc.. 19:26:07 it would be nice to see a market for forthchips & forth 19:26:12 to help support chuck moore, etc 19:26:13 futhin: if they ran the same OS as my PDA they'd be perfect. ahah :) 19:26:20 i'm not sure how he is doing financially 19:26:38 (not too good, since he sold his house for a smaller one) 19:26:51 maybe i'm wrong about his financial shape 19:27:01 dunno.. but it would be nice to see a market for forthchips 19:27:02 hrm. too bad he couldn't have setup forth for licensing. then Sun and Apple could pay him royalities for OpenFirmware. 19:27:27 they wouldn't have made openfirmware if they had to pay royalties ;P 19:27:43 true:) 19:28:03 or it would've been called closedfirmware:P 19:28:12 actually, about the machineforth VM & forth os 19:28:24 first, the forth os would be coded on top of the VM 19:28:34 OrngeTide: MMU should b implemented in 4th too 19:28:36 and then the VM would be recoded depending on the needs of the forth os 19:28:55 and then the forthchip would be designed with the new VM 19:28:57 and viola ;P 19:29:04 OrngeTide: u can say: baaah, its damn slow that way 19:29:12 onetom, hard to do that effiecently. you end up wanting to have some hardware to sniff the address lines. and to program an address translation table 19:29:42 OrngeTide: but i say, its still much faster than the solutions of todays... 19:30:06 OrngeTide: because u can write app closer 2 the optimal solution 19:30:27 a forth os with _many_ better solutions & tighter code still comes out on top, even if some things are lacking 19:30:44 OrngeTide: and otherwise u can run durable,stable,well-tested apps wo protection 19:31:12 onetom, which i said earlier is not good for multiuser systems. but great for embedded 19:31:15 futhin: @least SHOULD come out. we hope it :) 19:31:41 OrngeTide: its also perfect for multiuser systems 19:31:46 and i can do really fast 0-copy stuff if I have an MMU. :) 19:31:53 in case of trusted users 19:32:08 onetom, and untrusted users would have to run in a slow VM to protect address space. 19:32:17 zup 19:32:25 imean: yup :) 19:32:39 and trusted users would only beable to run trusted apps. it's not that good if you have trusted users writing thier own apps that bring the system down. so you can't let just anyone code. 19:32:44 (y-z swap on hungarian keybs ;) 19:33:07 sure 19:33:12 onetom, are you used to typing on non hungarian keyboards? 19:33:15 forth kind of forces you to come up with better solutions (except for the really stubborn coders brainwashed by a previous paradigm) 19:33:31 on such a devel machine everybody have 2 use protected mode 19:33:39 futhin, well i run into stubborn users more often than stubborn coders. 19:33:50 sure, i used 2 19:34:05 and actually im also typing on 1 :) 19:34:06 a lot of times I end up with users who basically want a solaris/linux server they can log into and run thier applications. 19:34:13 and it counfused me :) 19:34:29 but i'm not going to buy each user thier own box. i'm going to pack like 50 users on a box. :) 19:34:45 and customers need access to a lot of stuff. but they are not "trusted" 19:35:03 they shouldnt b trusted 19:35:07 if the VM runs fast enough and they don't know. that would be ideal. 19:35:20 u can deliver them full power via trusted-APPs 19:35:24 because then, to them. it would look like they have thier own computer. when infact i'm running like 50 VMs on a box. 19:35:25 well we'll have to see if it's fast enough or not? :P 19:35:38 it could be fast enough 19:35:43 even with MMU in software 19:35:57 you have a lot less bloat in other areas 19:35:58 onetom, yah. for customers that don't want to install custom solutions that's acceptable. so that covers like 80% of the users. it's that other 10-20% that can be the problem:( 19:36:06 unless you do static typing forth ;) 19:36:40 futhin, if you did tricks like not allow arbitrary boundries in the MMU so you can use bitwise operators instead of subtracts and compares. that might help. 19:36:45 mm.. static typing:) 19:36:56 yup. that can b a problem. but aint to days custom solutions r dog slow? 19:36:57 i don't like having to use + +D and +F 19:37:18 onetom, this is true. 19:37:39 although my day job is developing a high performance NFS server on QNX. so that's not dog slow:) 19:38:06 i was toying with the idea of putting ATLAST in there instead of /bin/sh for command-line access. 19:38:06 :))) 19:38:09 OrngeTide: i have QNX 4.24 :D 19:38:18 4.24? god that's old. 19:38:26 i'm on 6.2 prerelease. 19:38:31 onetom: have you read ESR's magic cauldron? (sequel to bazaar and cathedral) 19:39:02 yummm! thats a nice thought :) just pour 4th on everything & dip everything into 4th! 19:39:02 OrngeTide: the photon gui released with the RTP seems uglier and more bloated than the photon gui that comes with 4.24.. weird heh 19:39:07 have you guys read that bruce sterling response to the cathedral and the bazaar? it's a scream:) 19:39:21 so let 4th rule the world -- as futhin would say ;) 19:39:28 futhin, well i don't use photon on an NFS server so that's okay:) 19:39:31 OrngeTide: nope, i'll look for it 19:39:58 futhin: what *sucks* is that drivers in 6.1 and 6.2 (and perhaps other versions) for qnx4 filesystem are *buggy* .. it *corrupts* the filesystem if you slam it with data too fast. 19:39:58 OrngeTide: i liked photon.. its less bloated than X.. only uses about 250 kb to 1 megabyte of ram 19:40:15 which makes it worthless as a devel workstation, which was what i was using it for. now i cross-compile on solaris. 19:40:26 futhin: i havent even finished the bazaar stuff :) 19:40:36 futhin, I have XFree86 running in 1.5Mb ram on my AgendaVR3 PDA:) 19:41:11 onetom: heheh, it's not that long! :P but i understand, it makes 1 pause 2 think hard 19:41:44 OrngeTide: heheh.. well when i install linux on my comp, X always wants 16 megs of ram :( 19:41:48 or 8 megs of ram :( 19:42:11 i think less than 4 megs of ram would be more reasonable 19:42:16 otherwise it's totally stupid 19:42:21 and C coders are morons 19:42:22 :P 19:42:47 id like 2 see a trusted environment 1st 19:42:52 futhin: well the kernel counts the mmap'd video memory in that too 19:43:08 i tried an older version of linux, etc.. but didn't like it.. 19:43:10 where programs can also travel through the net 19:43:13 lacked some features i wanted 19:43:32 onetom: haven't you heard of the language used to make such trusted programs? 19:43:32 hey. i'm a C coder! :P 19:43:34 it's called 19:43:37 * OrngeTide cries. 19:43:38 JavaForth ;P 19:43:40 so eg, a graphical interface could run on client side mostly 19:43:43 (just kidding) 19:43:56 i like server side GUIs. like VNC. VNC is awesome:) 19:44:07 OrngeTide: hehe, i know you are a C coder, when you mentioned static typing forths and coding unchuck-like forths ;P 19:44:14 OrngeTide: do you do lots of asm coding? 19:44:33 OrngeTide: have u heard of NeWS? 19:44:42 heared 19:44:49 heard is correct 19:44:50 futhin, i used to do lots of x86, PPC, MIPS, and Z80. but not so much anymore. mostly x86 right now. 19:44:58 onetom, yes all PostScript all the time:) 19:45:07 Plan-9 better. 19:45:10 onetom: english is random! ;P 19:45:19 :D thx 19:45:24 VTSa is neat too. it's like a cross between Plan 9 and QNX. it has the cool namespace. 19:45:38 is plan-9 all postscript? 19:45:39 if not 19:45:45 *any* user can write a driver or filesystem. they just mount it in the namespace where they have permissions (homedir for a user. /dev for root) 19:45:49 it's not as cool as NeWS :P 19:45:52 hmm, ive just met vsta a few days ago 19:45:53 futhin: no. plan 9 is cool. 19:46:04 XFree86 has a postscript interface now too 19:46:10 nawww.. NeWS is cool.. it uses a forth-like lang 19:46:41 i've been thinking of coding the postscript vocabulary in forth 19:46:51 plan 9 lets you running the windowing system as a sub window. without any hacks. it's like redirecting file descriptors that hold gui messages. 19:46:52 like MOVETO, LINETO, etc.. the drawing stuff 19:46:58 futhin: dont just fooling all the time! these r serious questions 19:47:21 futhin: that'd be easy actually. i should do that in my forth GUI for my PDA. 19:47:27 you could just write it up in postscript. HRM! 19:47:43 well i don't plan on making it exactly like postscript 19:47:48 since postscript kinda sucks 19:47:52 but the drawing vocabulary is nice 19:47:59 and postscript is very nice for its thing 19:47:59 yah. 19:48:13 ah, a Q! 19:48:20 you need a 3d drawing extension like openGL or GLX. but postscript like. that'd would be extra neat :) 19:48:28 how does postsrcipt rendering work? 19:48:56 OrngeTide: yeah, i was wondering about that.. i'll have to learn openGL or GLX first i think, before i have a good idea of how 3d stuff looks like 19:49:03 3d vocabulary looks like 19:49:05 imean, wo reserving a damnhuge bitmap 19:49:10 your $4000 HP printer pretends it's a videocard rendering to a high resolution framebuffer. and then just runs the postscript as a program on it's crappy little CPU. 19:49:46 onetom, well it's easier to reserve a huge bitmap. otherwise you need a vector engine that can rasterize vectors per scan line. 19:49:46 how is it possible 2 render postscript within small memory? 19:49:56 i suppose an HP printer would do it that way. it would yield better results. 19:50:12 onetom, low res or a vector engine. 19:50:13 there IS a bitmap or something.. there is a page and so many pixels 19:50:19 vector engine? 19:50:21 but with vectors in software you have to sort them so you can find them when you go to rasterize. 19:50:33 yah. just like a 3D engine, except you are missing an axis. 19:50:55 you say "there is line here, a triangle here, a circle there, ..." 19:51:06 ahh, but thats also costs a lot, if there r lots of vectors generated 19:51:20 and then the rasterize goes "okay give me all the data for line Y" 19:51:35 oentom, well hopefully you need fewer vectors than you have pixels. otherwise you won't save anything:) 19:51:47 i think it reserves a bitmap.. 19:51:56 hm hm ... 19:51:59 dunno 19:52:05 futhin, it might. it'd have to be pretty high res to do 2400dpi though 19:52:15 hrm 19:52:17 i would run the program 4 a page more times 19:52:24 i know the HP plotters do vectors. but they have a plotting pen 19:52:24 2400 dpi is dependant on the printer 19:52:26 but w different clipping window 19:52:53 futhin: well you'd render the postscript vector data into a bitmap. rather than sorting the vector-objects. 19:52:58 the postscript program is executed, the page is drawn, and then the page is printed.. 19:53:19 this way u only have 2 determine the page boundaries in the source stream 19:53:21 of course sorting vector objects is fine too. and you end up simplifing things if you use different paper sizes or need to scale. 19:53:29 OrngeTide: what does openGL or GLX code look like ? what kind of "words" do they have? 19:53:37 onetom: hrm. 19:54:06 its easier 2 implement than a vector engine, whats more still less memory starving 19:54:15 futhin, in C openGL is kinda strange. because you do a lot of functions that are like start_object(); add_vert(); add_vert(); add_vert(); end_object(); 19:54:23 c u later guys. gonna sleep 19:54:30 okay onetom, good night 19:54:31 futhin, and opengl uses strings for setting attributes. 19:54:44 coz i feel like falling off the chair 19:54:57 add_vert(); and add_horiz(); ? 19:54:57 GLX is just opengl turns into a stream that can be ran over X11 protocol. 19:55:04 s/turns/turned 19:55:24 is there also add_horiz(); ? 19:55:25 futhin: no. vertex. not vertical:) 19:55:28 oh 19:55:31 heh 19:55:36 hrm 19:55:47 so you add these points and connect the dots. 19:55:49 it does sound relatively easy to convert postscript to 3d 19:56:07 just add another dimension or something.. 19:56:08 for a game you use the special function for drawing triangles. (because opengl can only texture triangles) 19:56:08 i dunno 19:56:14 should be possible.. 19:56:41 yah. you'd need different types of objects too that are not physically represented. 19:56:48 like lighting objects and camera objects. 19:57:04 you can switch your camera around without reloading all the polygons. 19:57:21 heh 19:57:30 or even fancier. you can remove or move specific polygons in a scene. 19:57:30 that's a whole bunch more work bahh :P 19:58:41 pretty complex stuff 19:58:42 not so easy 19:58:49 i think some stack-based language to render 2D and 3D "scenes" then you can rotate, scale or manipulate them in any way (or even have them cause events when objects intersect for example) would be neat. 19:59:26 you could just make the mouse cursor an object. and throw an event when you hit a box. that would mean you should highlight that box. or if it gets clicked on run some code. etc. like a real gui library. :) 19:59:34 you need interactive postscript:) 19:59:40 --- quit: pyromaniac (Connection timed out) 20:00:08 have you coded in postscript ? 20:00:27 cuz then you could have a thin client that parses the postscript and then only sends the events described in the postscript to the server. it would takea LOT of load off the server. 20:00:45 it wouldn't have to figure out where you mouse cursor was or what it was intersecting. 20:00:59 i really liked the gsave grestore, where you have user space, and real space.. and you could rotate user space, draw there, restore space, draw some more.. really neat 20:01:05 the client could do the nifty high-lighting. and allow you to type input into forms and not send it to the server until you hit enter or something. 20:01:44 futhin: no. i haven't coded much in postscript. just a few geometric shapes when i was working on a program to convert some old propritary texts to postscript 20:02:15 but you are familiar with gsave, grestore, moveto, rlineto, dict ? 20:02:23 yah. 20:02:27 sorta 20:02:55 postscript is pretty neat :) 20:03:03 yup. 20:03:08 well i gotta go. nice talking to ya! l8r. 20:03:11 really efficient in its way and really neat syntax 20:03:12 yeah 20:03:15 talk to you later 20:15:32 --- join: CrowKiller (Forther@Ottawa-HSE-ppp3653564.sympatico.ca) joined #forth 20:16:47 how do I enable reentrency the simplest way possible in a forth environement on a x86? 20:17:04 reentrency in interrupt code is the priority 20:17:15 but anny suggestion would be well appreciated ;p 20:19:14 maybe at the editor level, by using a simple editor module that would make the timing perfectly tunable each VM instruction's timing 20:19:42 like having a "multitasking system" module, but in the editor 20:20:32 not at compile and run time, the maximum of the "work" to set the running condition for the information flow can be done at edit time 20:20:56 s/and/nor 20:20:58 ;ppp 20:21:31 simplest multitasking system = multitasking ? 20:22:30 I think the simplest way is to place items in the Interrupt descriptors table and placing ints signal through code 20:23:28 no its slow 20:27:41 up to 82 cycles lol 20:29:06 iret: max 27 cycles 20:30:25 the 16 bit processor is phenomenaly more rapid than the 32 bit version! 20:31:29 im sure I can build an 8 or 16 bit forth 20:31:56 the 8 bit would be bigger in code 20:32:27 because of the prefix, but the source in my tokenized format would not change 20:32:49 so the system ill figure out on 8 bit will be adaptable to 32 bit in a snap 20:33:11 and will be the most scalable and great project ill ever have seen before my eyes 20:33:13 lol 20:34:07 using this phenomenal capacity of scalability, managing thousands of networked nodes would be easy, forth linda could maybe be the key 20:41:53 interrupts in pmode are truly a mess 20:41:57 intel are not bright 20:42:11 im seeing even french papers on the technique of 20:42:58 As we mentioned above, we can't call kmalloc() from user-space directly, 20:42:58 solution is Silvio's trick [2] of replacing syscall: 20:42:58 1. Get address of some syscall 20:42:58 (IDT -> int 0x80 -> sys_call_table) 20:42:58 2. Create a small routine which will call kmalloc() and return 20:42:59 pointer to allocated page 20:43:01 3. Save sizeof(our_routine) bytes of some syscall 20:43:03 4. Overwrite code of some syscall by our routine 20:43:05 5. Call this syscall from userspace thru int $0x80, so 20:43:08 our routine will operate in kernel context and 20:43:09 can call kmalloc() for us passing out the 20:43:11 address of allocated memory as return value. 20:43:13 6. Restore code of some syscall with saved bytes (in step 3.) 20:43:15 directly from a phrack magazine 20:43:23 and the French paper talks about windows 95 20:43:38 winder if xp got this blatant hole 20:43:43 wonder* 20:44:32 remove step 6 and a part of step 5 and you got something cool ;p 20:44:53 not that cool actually 20:45:08 better to stay in stealth mode through step 6 ;p 20:56:19 maybe putting the 6 steps into the timer interrupt 20:57:17 a semi indetectable parasite program could share processing power with the Host 20:57:52 would be considerd legally like processing power stealing 20:57:54 lol 20:58:57 keeping it small and efficient, nobody would see it in action, unless it clearly shows itself, a "living" worm ;p 20:59:13 hey crowkiller, reading backlog 21:00:44 great ;p 21:01:13 forth could run ON TOP, perfeclty cohabiting with any OS 21:01:28 and when the user decide to switch to a 100% Forth interface 21:01:30 he do so 21:01:42 fine grained enlightment ;p 21:01:56 heheh 21:01:58 would be the most fun hacking game ever conceived 21:02:03 sounds really cool :) 21:02:05 using forth to enhance programms 21:02:12 on the fly lol 21:02:31 better than ICE 21:02:41 you bet 21:02:49 really easier to deal with actually 21:03:00 at least in my mind its easier to "picture it all" 21:03:14 to put things in perspective, thats the expression ;p 21:04:12 on the other side 21:04:23 having those 6 consecutive patterns or behavior 21:04:30 would prove your intentions 21:04:47 and constitue evidence against you if its proven you have written it 21:05:27 thats why im also searching for a homemade encryption system to keep data in a safe place 21:05:34 actually a vault could be made 21:05:37 a viral vault 21:05:42 inside many systems 21:05:56 you know what I recall something interesting 21:06:01 a virus 21:06:04 actually change DNA 21:06:12 yes, that's correct 21:06:17 an article 21:06:19 some tiems gao 21:06:20 ALL viruses change DNA i think 21:06:27 talked about speech 21:06:30 communication 21:06:55 (and toa certain extent consiousness/global information mass) 21:07:07 apparition among the humans by 21:07:11 studying genome 21:07:33 and some scientists think that speech came to exist through a sudden mutation 21:07:43 other claims back this over claim 21:07:52 cant recal them 21:08:10 but anyway, a virus is what so be it yo computers too ;p 21:08:41 naww.. lots of things you look at in the DNA that correlates to some body part or feature look like they came thru sudden mutation 21:08:50 at the flick of a button, all the world's computing power at your end ;ppppp 21:09:04 thats because as human we needed them 21:09:09 i cant recall the guy 21:09:14 his name was starting with N 21:09:21 very roumain 21:09:33 no 21:09:35 soviet i meant 21:09:42 he suggested 21:09:46 that humans needed it 21:10:02 because animasl cant feel emotional or other sorts of pain 21:10:08 that only human feel 21:10:14 and all the feelings in betweens 21:10:20 only humans is restrictive 21:10:24 humans and up 21:10:28 if you know how the DNA & evolving works, lots of stuff looks like sudden mutation, and because of the variance and closing off of various evolution paths 21:10:29 in the hierarchy ;ppp 21:10:48 animals can't feel pain? heh 21:10:57 EMOTIONAL pain 21:10:59 intelligent pain 21:11:10 thats why consciousness "appeared" 21:11:12 it was needed 21:11:17 so we could work as a whole 21:11:24 how do we know they don't feel emtional/intelligent pain? :) 21:11:27 like velociraptors hunting in groups 21:11:38 the dna can't enable them 21:11:43 they can feel; the effects 21:11:48 but not the feeling themselves 21:12:03 behavior comes from those feelings 21:12:12 its not a robot ;p 21:12:35 anyway at "human level" 21:12:36 don't make so many assumptions 21:12:38 it's stupid 21:12:53 i make nothing! 21:12:59 its all in my hnead it doesnt matter 21:13:12 if itcan lead somewhere then the path will be proven to work ;p 21:13:28 im only epxressing myself and awaiting reactions ;p 21:15:09 i try not to assume stuff like animals aren't intelligent.. to think that humans are special is absurd and far too arrogant. humans are arrogant creatures. religions cater to arrogance: arrogance of humility, arrogance of "specialness", etc 21:16:08 im not arrogant, as above so below; my very own definition of emotional feelings might not be exaclty as same as your 21:16:20 yours* 21:16:22 i'm not saying you are arrogant 21:16:35 k 21:16:39 thats fine then lol 21:16:41 hrm.. i'm just saying humans aren't special 21:16:48 they are stupid :) 21:16:59 we are at the second level of consciousness 21:17:00 --- quit: skylan ("Reconnecting") 21:17:03 --- join: skylan (sjh@Riverview103.tbaytel.net) joined #forth 21:17:08 the first is the arborigean one 21:17:41 anyway lol 21:17:49 it's EASY to get emotionally attached to the "magnificence" the "miracle" of the fact humans exist, and we are so complex and intelligent etc 21:17:49 viral forth patching systems on the fly 21:17:53 it's EASY to get emotionally attached to the "magnificence" the "miracle" of the fact humans exist, and we are so complex and intelligent etc 21:17:54 would be great ;p 21:18:10 and that distracts one from rational thoughts 21:18:17 and thinking about humans 21:18:21 and whatever 21:18:50 i understand how emotions work in religion & with worshipping ourselves 21:19:14 emotions are misleading 21:19:56 too much or less than enough can have devastating effects yes 21:20:10 but they are needed, without it, no consciousness ;p 21:20:32 i may be wrong 21:20:43 but i think it would not be what is it right now 21:20:53 the awe one can feel for the complexity and magnificence and miracle of humans does not mean anything.. it is not a TRUTH that can be used to create some crackpot philosophy 21:21:11 its a geometric reality 21:21:25 i cant describe much of the stuff here, you have to do the drwaings 21:21:41 code your own 3d cad software in forth, will take you a lifetime to explore it fully 21:21:52 www.forthcad.com exists 21:21:53 even using the simplest forms 21:21:54 have you checked it? 21:21:58 www.forthcad.com is in french 21:22:36 never 21:22:47 check it out :) 21:22:56 it looks like a high-quality cad program 21:23:02 i've used solid-edge and autocad 21:23:29 so i have experience with cad programs 21:23:43 me too, with autocad and sacred geometry 21:23:50 a bit also 21:24:21 autocad sucks btw 21:24:26 horrible interface 21:24:32 like the words 21:24:44 with rpn interafce 21:24:46 whoa lol 21:24:56 autocad get fat lol 21:25:09 or slimmer from anothe point of view ;p 21:25:24 solid edge was so much better than autocad, it is a 3d solid parts cad, but i used it to do 2dimensional schematics too, faster than you can do it in autocad! :D 21:25:50 never used it, but i used Rhinoceros from McNeel group 21:25:56 www.rhino3d.com 21:26:03 the ebst program I used 21:26:24 not as technical but the interafce works well with me 21:27:55 pushing litterals in the return stack 21:28:08 calling the +lit word so he can do the work and then come back 21:28:10 hmmm 21:28:28 would it be a wiser thing to do on x86? 21:28:45 don't worry so much about architecture ;) 21:28:59 its crucial to me 21:29:06 i want the best ;p lol 21:30:23 :) 21:31:07 steps: 0 the program starts 1 he get the address of the IDT he overwrites the pointer to a syscall to his own code 2 he do the call 21:31:40 who is he 21:31:48 it then sorry lol 21:31:55 it, the program lol 21:32:53 --- quit: sif (Read error: 110 (Connection timed out)) 21:33:18 no! 21:33:21 no overwrites 21:33:26 exchange instead 21:33:34 into the program's body 21:33:47 so the 4 step is also an exchange 21:33:51 4th ;p 21:33:53 lol 21:34:28 step 3 21:34:32 the 4th step 21:34:55 i cant optimize this further 21:35:56 unless the 6 steps are faster and\or smaller than using 4 steps 21:36:05 4 steps is surely smaller 21:36:30 rep movs could be used, they are interuptables lolol' 21:36:39 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 21:36:42 rep movsd is interuptable i meant 21:36:49 lol this is getting hot 21:36:55 hehe :) 21:38:53 * futhin is reading ESR's magic cauldron essay.. exciting sequel to bazaar and cathedral essay! 21:39:15 http://nasm.sourceforge.net/ 21:39:23 great news for nasm! 21:39:33 theyre getting back at a more active development 21:39:54 by the same author of the paper in th topic? 21:40:48 --- join: pyromaniac (~pyromania@dialup-167.158.220.203.acc01-high-pen.comindico.com.au) joined #forth 21:40:56 no 21:41:01 ESR = eric raymond 21:41:12 open source advocate guy i guess.. 21:41:19 wrote lots of stuff 21:41:26 coded fetchmail 21:41:37 a good *nix program 21:42:49 pyromaniac: kc5tja probably won't be here for 10 more hours :P 21:42:53 er 21:42:56 er! 21:43:02 pyromaniac: i440r i mean 21:43:10 probably won't be here for 12 more hours 21:44:35 i440r would beenfit from the nasm code im going to write for him ;p 21:44:43 4 step complete system takeover lol 21:44:48 on ia32 ;p 21:44:50 hey 21:44:53 the gov or companies 21:45:00 could have implemented it on commerical software 21:45:07 'when they updated the 2k bug 21:45:24 like in the plot of Mteal Gear Solid at the PS2 21:45:26 ;pppp 21:45:31 heh 22:05:53 anyway im off to sleep god night 22:06:14 good night 22:06:31 --- quit: CrowKiller ("chniak") 22:33:55 --- quit: skylan ("sleep tight in the night of your desire.") 22:56:13 --- join: yeahright (~proteusgu@24-197-147-197.charterga.net) joined #forth 22:56:55 --- quit: yeahright (Client Quit) 22:57:00 --- join: yeahright (~proteusgu@24-197-147-197.charterga.net) joined #forth 23:41:15 --- join: Serg_penguin (~Z@nat-ch1.nat.comex.ru) joined #forth 23:41:27 hi all 23:41:48 --- quit: Serg_penguin (Client Quit) 23:59:59 --- log: ended forth/02.08.20