00:00:00 --- log: started forth/04.07.05 00:00:10 (e.g., FAT works well enough for this) 00:00:25 oh ok. 00:00:36 It's just a table of pointers. 00:00:40 struct VLIR_Block 00:00:41 { 00:00:49 DataBlock *blocks[256]; 00:00:50 }; 00:02:14 In a C64 VLIR file, each data block has a pointer to the next block in the chain (the last one has a NULL pointer). 00:02:28 I see 00:03:52 and you can quickly lookup record IDs with that 00:04:08 Records are always read into or written out in their entirety -- no seek operation is provided by the OS. 00:04:22 cool 00:04:41 Well, you can easily implement a directory by arbitrarily indicating, say, "Record #1 shall always be the root directory." 00:04:44 Bingo -- filesystem. :) 00:05:19 Only, it's a bit more flexible than the usual filesystem -- there is no concept of a filename. 00:06:04 There are still many questions that need to be answered though. 00:06:26 The VLIR support in GEOS didn't cache anything in RAM; that is, reading and writing of records always was performed to pre-assigned memory locations, as determined by the application. 00:07:06 Forth seems happiest when treating storage hierarchies as a cache hierarchy, and that means *automated* memory management to some extent. 00:08:58 int lookup_block(int in_id) { 00:08:59 char *id = (char*)in_id; 00:08:59 return vilr[id[0]][id[1]][id[2]][id[3]]; 00:08:59 } 00:09:32 Right. 00:09:52 (in a naive implementation at least); 00:10:24 A more advanced implementation wouldn't waste two or three blocks for systems with less than 65535 records. :) 00:10:59 and you don't have to allocate all the tables if you don't want to. you can make one string of null nodes (three blocks) with all zeros as the data. 00:14:06 That's how it would work anyway. 00:14:28 It's like page tables, but instead of fixed sized pages, you have variable length segments. 00:14:31 Oh, the bliss! 00:14:47 :) 00:16:14 I haven't figured out how I want applications to process large amounts of data 00:16:39 or memory management in general I guss 00:16:41 guess 00:17:23 I don't like unix/windows' abstraction that there is a virtually unlimited supply of memory 00:18:04 in the end I want apps to be able to work with files that are too big to fit in memory nicely 00:18:31 and I am so so so sick of hearing about deamons crashing because of buffer overflows 00:20:43 the thing that keeps getting me about not having memory allocations bigger that 1KB (or 16KB or whatever) is the framebuffer. 00:21:14 each scanline is bigger than 1KB 00:21:34 even in 8 bit color... 00:26:21 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 00:26:40 bed is soon 00:27:38 no bed just went 00:28:17 brb 00:29:20 --- join: crc (crc@0-1pool176-17.nas6.philadelphia1.pa.us.da.qwest.net) joined #forth 00:33:14 --- quit: Herkamire ("bed") 00:37:09 --- join: Tomasu (~moose@d66-222-216-222.abhsia.telus.net) joined #forth 00:38:06 back 00:41:44 Well, now I'm off to bed. 00:41:51 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 01:15:57 --- quit: lalalim_ (orwell.freenode.net irc.freenode.net) 01:15:58 --- quit: ChanServ (orwell.freenode.net irc.freenode.net) 01:15:58 --- quit: qFox (orwell.freenode.net irc.freenode.net) 01:15:58 --- quit: ianp (orwell.freenode.net irc.freenode.net) 01:15:59 --- quit: cmeme (orwell.freenode.net irc.freenode.net) 01:15:59 --- quit: Klaw (orwell.freenode.net irc.freenode.net) 01:15:59 --- quit: crc (orwell.freenode.net irc.freenode.net) 01:16:00 --- quit: Tomasu (orwell.freenode.net irc.freenode.net) 01:16:00 --- quit: onetom (orwell.freenode.net irc.freenode.net) 01:16:01 --- quit: slava (orwell.freenode.net irc.freenode.net) 01:16:01 --- quit: SDO (orwell.freenode.net irc.freenode.net) 01:16:01 --- quit: Fractal (orwell.freenode.net irc.freenode.net) 03:28:39 --- join: ChanServ (ChanServ@services.) joined #forth 03:28:39 --- join: ianp (ian@inpuj.net) joined #forth 03:28:39 --- join: Klaw (~anonymous@ip68-228-92-218.oc.oc.cox.net) joined #forth 03:28:39 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 03:28:39 --- join: cmeme (~cmeme@216.184.11.30.unused.swcp.com) joined #forth 03:28:39 --- join: Fractal (jah@selling.kernels.to.linus.torvalds.at.hcsw.org) joined #forth 03:28:39 --- join: SDO (~SDO@68.64.143.12) joined #forth 03:28:39 --- join: lalalim_ (~lalalim@p508AB11D.dip.t-dialin.net) joined #forth 03:28:39 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 03:28:39 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 03:28:39 --- join: Tomasu (~moose@d66-222-216-222.abhsia.telus.net) joined #forth 03:28:39 --- join: [Forth] (~Forth@216-110-82-1.gen.twtelecom.net) joined #forth 03:28:39 --- mode: irc.freenode.net set +o ChanServ 04:26:43 --- quit: Tomasu (Read error: 110 (Connection timed out)) 04:50:12 --- quit: onetom (orwell.freenode.net irc.freenode.net) 04:50:12 --- quit: [Forth] (orwell.freenode.net irc.freenode.net) 04:50:12 --- quit: slava (orwell.freenode.net irc.freenode.net) 04:50:12 --- quit: Fractal (orwell.freenode.net irc.freenode.net) 04:50:12 --- quit: SDO (orwell.freenode.net irc.freenode.net) 04:50:13 --- quit: lalalim_ (orwell.freenode.net irc.freenode.net) 04:50:14 --- quit: ChanServ (orwell.freenode.net irc.freenode.net) 04:50:14 --- quit: qFox (orwell.freenode.net irc.freenode.net) 04:50:14 --- quit: ianp (orwell.freenode.net irc.freenode.net) 04:50:15 --- quit: cmeme (orwell.freenode.net irc.freenode.net) 04:50:15 --- quit: Klaw (orwell.freenode.net irc.freenode.net) 04:52:15 --- join: ChanServ (ChanServ@services.) joined #forth 04:52:15 --- join: [Forth] (~Forth@216-110-82-1.gen.twtelecom.net) joined #forth 04:52:15 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 04:52:15 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 04:52:15 --- join: lalalim_ (~lalalim@p508AB11D.dip.t-dialin.net) joined #forth 04:52:15 --- join: SDO (~SDO@68.64.143.12) joined #forth 04:52:15 --- join: Fractal (jah@selling.kernels.to.linus.torvalds.at.hcsw.org) joined #forth 04:52:15 --- join: cmeme (~cmeme@216.184.11.30.unused.swcp.com) joined #forth 04:52:15 --- join: ianp (ian@inpuj.net) joined #forth 04:52:15 --- join: Klaw (~anonymous@ip68-228-92-218.oc.oc.cox.net) joined #forth 04:52:15 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 04:52:15 --- mode: irc.freenode.net set +o ChanServ 04:55:47 --- quit: lalalim_ (orwell.freenode.net irc.freenode.net) 04:55:48 --- quit: ChanServ (orwell.freenode.net irc.freenode.net) 04:55:48 --- quit: ianp (orwell.freenode.net irc.freenode.net) 04:55:48 --- quit: qFox (orwell.freenode.net irc.freenode.net) 04:56:58 --- quit: cmeme (orwell.freenode.net irc.freenode.net) 04:56:58 --- quit: Klaw (orwell.freenode.net irc.freenode.net) 04:57:03 --- join: ChanServ (ChanServ@services.) joined #forth 04:57:03 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 04:57:03 --- join: lalalim_ (~lalalim@p508AB11D.dip.t-dialin.net) joined #forth 04:57:03 --- join: cmeme (~cmeme@216.184.11.30.unused.swcp.com) joined #forth 04:57:03 --- join: Klaw (~anonymous@ip68-228-92-218.oc.oc.cox.net) joined #forth 04:57:03 --- join: ianp (ian@inpuj.net) joined #forth 04:57:03 --- mode: irc.freenode.net set +o ChanServ 05:22:52 --- join: crc (crc@0-1pool176-38.nas6.philadelphia1.pa.us.da.qwest.net) joined #forth 05:32:45 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576025.sympatico.ca) joined #forth 05:34:29 * crc greets madgarden 05:34:47 Hello 05:35:27 What's new? 05:35:42 Oh not much... just trying to remember my nickserv password. :-/ 05:36:07 :-) 05:36:51 I just finished testing RetroForth 7, Beta 4 05:37:00 * crc hates debugging... 05:37:16 debugging is FUN! XD 05:37:38 No it's not! 05:38:03 I have been writing a very thorough test program for RetroForth to help automate it though :-) 05:38:21 (Current source of the test program is 12,000,000 lines and 141MB in size) 05:38:27 :O 05:38:32 JEEZAS! 05:38:43 What? 05:38:53 The size of the program? 05:38:58 --- join: madgarden_ (~madgarden@Kitchener-HSE-ppp3576025.sympatico.ca) joined #forth 05:39:23 --- quit: madgarden_ (Remote closed the connection) 05:39:27 Heh, yea. 05:39:29 brb 05:39:32 Ok 05:39:35 --- quit: madgarden (Remote closed the connection) 05:39:56 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576025.sympatico.ca) joined #forth 05:40:09 welcome back :-) 05:40:18 Thanks. ;) 05:40:26 Now I have to go again... get ready for work. :P 05:40:29 Ok 05:40:34 bbl 05:40:35 Have fun 05:49:49 --- join: Serg (~z@212.34.52.140) joined #forth 05:50:28 hi ! 05:50:46 i have a new idea-fix - to lift a digicam on air baloon 05:51:10 who can give me some clue on making baloons ? maybe some URL... 05:51:27 i totally failed in RU part of inet 05:51:56 prices fo ready baloons of 1m3-8m3 are inacceptable, over 500$ 05:54:46 --- join: SolarFire (SolarFire@pD9545D0F.dip.t-dialin.net) joined #forth 05:55:09 * crc greets SolarFire 05:55:23 hey hey :-) 05:55:36 What's new? 05:55:43 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 05:56:06 * crc greets tathi 05:56:18 i'm doing a research atm 05:56:34 Ok 05:56:50 and self? 05:57:12 hi crc 05:57:14 * crc is working on adding more tests to the RetroForth test program 05:57:51 It's currently 12 million lines & 141MB in size 05:57:54 :-) 06:02:57 wow 06:03:10 that's pretty big :) 06:03:37 It's a combined debugging/performance test 06:03:56 The latest beta runs through it in 6 minutes, 1.16 seconds 06:04:26 411,111 bytes/second 06:09:42 hi crc, tathi 06:10:12 i want to raise a digicam to 100-300 m by tied helium baloon 06:10:34 can u point me at any usefool info on blimps/baloons ? 06:10:48 Get a cheap weather balloon from a science supply place 06:10:56 heh. beat me to it. 06:11:02 hi Serg 06:11:33 http://www.scientificsales.com/balloons.htm 06:13:20 yeah 06:13:29 are they one-time or reusable ? 06:13:47 I think they can be reused, assuming you don't damage them 06:14:44 50$ - 100$ for 2m one ? hmm... 06:15:42 * crc damaged the one I had during my first experiment :-) 06:15:49 i gonna rise 1) digicam 2) TV tx for aiming it 3) Radio control 4) turning mechanism 5) chassis - few KG, so i'll need a few cubic meters of hydrogen 06:17:00 Wow 06:17:06 Quite a bit of equipment 06:21:39 --- join: Murrlin (murr@dialup-207-218-236-86.ev1.net) joined #forth 06:22:31 yes, i wanna aim the cam by RC controlloing it on TV 06:22:59 * crc greets Murrlin 06:23:08 or only control, waiting for nice shot w/ finger on trigger 06:23:13 Program the RC in Forth :-) 06:23:29 hi crc 06:23:40 --- quit: fridge (Read error: 110 (Connection timed out)) 06:27:56 --- join: wossname (wossname@HSE-MTL-ppp73569.qc.sympatico.ca) joined #forth 06:29:03 Next release will double the size :-) 06:34:25 * crc will return shortly -- debugging RetroForth/Windows... 06:34:27 --- quit: crc (Client Quit) 06:34:35 --- join: madwork (~madgarden@derby.metrics.com) joined #forth 06:34:40 hmm.. how the hell can i make "forced landing" mechanism if tether breaks ? 06:41:30 --- join: jdrake (irc_user@CPE00045afdd0e8-CM014410113717.cpe.net.cable.rogers.com) joined #forth 06:43:16 Serg: you could probably rig something that releases the gas slowly if there's no tension on the tether connection point. 06:43:24 Though it might be a bit tricky. 06:46:41 wind may ruin this 06:47:26 the release after strong blow of wind may be taken mistaken as tether loss 06:47:54 i'd rather rely on RC carrier loss - just turn off TX 06:49:12 true 06:49:27 rec . aviation . balloon 06:49:35 is rotten, dhammit ! 06:49:43 Hi Serg and tathi 06:49:49 hi 06:50:29 i gonna go to guard tech store to look for small TV TX/camera 06:50:47 it may be usefool for firs xperience 06:51:13 Won't that be expensive? 06:51:21 hmm... dunno 06:51:42 we think of shooting for money :)) 06:52:12 o_O 06:52:14 Shooting what? 06:53:05 whatever. folks have temptation to look from hi point - we gonna provide it 06:53:37 How do you mean? 06:54:06 ballon + digicam + guard TV tx + RC = nice shots from 100-300m 06:54:10 Ah, OK. 06:54:31 I thought "shooting for money" meant the traditional russian profession of being a hitman ;) 06:54:56 i think we'll make a "chassis" planned for full craft, but test it gradually 06:55:19 first - only TV TX and cheap guard cam 06:55:24 next - RC control 06:55:43 and last, then we'll be sure all is reliable - digicam 06:56:04 (Oly 750 has TV-out while aiming) 06:56:13 Hm. 06:56:24 --- join: crc (crc@0-1pool88-77.nas48.philadelphia1.pa.us.da.qwest.net) joined #forth 06:56:53 i'm in doubt, how hard crash can it survive 06:56:55 I hate Windows 06:57:14 Don't count on it surviving a hard crash 06:57:32 Use a small parachute to slow the landing if possible 06:57:51 i think of kid's swimming donut as landing gear 06:59:05 I'd STILL use a small parachute 07:01:43 * Serg runs to guard store 07:01:46 bye ! 07:01:48 RetroForth 7.0 (Beta 4) runs through the 141MB test program just 8 seconds slower than isForth does 07:01:49 Bye 07:01:55 --- quit: Serg () 07:03:01 The Windows port doesn't like inline strings :-( 07:05:23 Windows doesn't like the way I'm handling the string table at the moment... 07:08:23 * crc know how to fix it 07:08:39 just kick it 07:09:39 hehe 07:10:03 No, I'll make the string pointer a variable, and then allot memory from the code section as needed 07:12:20 And I'll modify it to support variable length strings :-) 07:16:12 --- quit: Murrlin ("Mischief managed! ....Nox.") 07:18:36 Done 07:22:03 does forth have any 'standard' key values that might be good to translate to for my keyboard events? 07:22:34 Which Forth? 07:22:39 ficl 07:22:44 The various non-standard ASCII standards, maybe. 07:23:15 the letters would be easy, it would be so called scancodes 07:23:28 just special keys 07:23:45 That would vary by host OS & underlying hardware 07:23:47 like arrow keys, home, end,page up, page down, clear,help, etc. 07:24:02 They also have scancodes that you can use 07:24:14 i need to make at least the common keys portable 07:24:27 http://panda.cs.ndsu.nodak.edu/~achapwes/PICmicro/keyboard/scancodes2.html 07:25:17 There are three "standard" sets of scancodes; I'm not sure what the differences are 07:26:03 --- quit: crc (Client Quit) 07:33:45 what implementation would make the testing of keyboard flags easier in forth, i was thinking a bit set 07:55:23 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 07:55:29 --- mode: ChanServ set +o kc5tja 07:55:44 I totally forgot... 07:55:55 * kc5tja has uploaded the Kestrel Project version 0.1.8 to the site. 07:56:06 (for those who are interested) 07:56:42 * Robert checks. 07:56:43 In this release: Kestrel learns how to write text to the screen, and the beginnings of its operating system core services have thus far been written. But it's far from complete. 07:57:33 There are still many, many things I need to work on though. 07:58:39 Moreover, I'm totally shocked that I'm able to do all of this with only 16 data stack cells and 16 return stack cells. Chuck seems to have been correct; 16 of each *is* effectively infinite. 07:58:57 * Robert is reading about the FTS1001. 08:01:45 How do you push literals to the stack? 08:02:00 #, 08:02:14 --- quit: tathi ("work...") 08:02:35 The doc says that only jump instructions include an operand. 08:04:17 Also, how large are the stacks? 08:12:03 Robert: # is the instruction to push a literal on the stack. 08:12:13 Robert: The stacks are 16 deep each. 08:13:51 So what about the text that says that only jump instructions use literal data in the instruction? 08:20:33 What about it? 08:21:04 # works by fetching the literal from the instruction stream, from memory pointed to by the instruction pointer. 08:21:13 Think of # as @P+ 08:21:19 where P is the instruction pointer. 08:21:26 Hmm... And the jump instructions? 08:21:46 The Jump instructions do not do this. The effective address is encoded directly in the instruction word itself. 08:22:14 Okay. Thanks. :) 08:25:15 --- join: fridge (~Jim@CommSecureAustPtyLtd.sb1.optus.net.au) joined #forth 08:28:05 --- join: Tomasu (~moose@d66-222-216-222.abhsia.telus.net) joined #forth 08:32:23 Well, I need to get ready for work and start cruising. I'm taking my bike in today. :) 08:32:29 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 08:54:12 * Tomasu is back (gone 00:26:09) 08:57:58 ok can somebody help me identify this branch type? 08:57:59 : (ACCEPT) 08:57:59 REMAINDER 2@ A $I 0= 08:57:59 0BRANCH [ 38 , ] ( between ? REMAINDER ) REMAINDER 2@ TIB @ SWAP MOVE TIB @ REMAINDER CELL+ ! REFILL-TIB 08:57:59 BRANCH [ -58 , ] ( between ? REMAINDER ) REMAINDER 2@ A $S 2SWAP REMAINDER 2! 1- 08:57:59 ; 08:58:30 on one hand, the first is some kind of IF, on the other hand its a loop 09:25:19 * Tomasu is away: store 09:34:20 * Tomasu is back (gone 00:09:01) 10:14:09 --- join: I440r (~FooBlah@216-110-82-1.gen.twtelecom.net) joined #forth 10:14:22 --- quit: [Forth] (Read error: 104 (Connection reset by peer)) 10:21:43 i still dont get it 10:26:00 i'm leaning towards if then, but the branch to a negative part of the code indicates a loop, repeat, until, or something similar 10:26:13 gah why cant it just show me what it is :\ 10:26:35 show you what what is 10:27:18 what type of branching 10:27:32 if then, if else then, do loop, begin while repeat, ... 10:27:35 theres on ?branch 0branch and branch 10:27:38 instead it shows me this stuff 10:27:47 and i can usually get it straight 10:27:51 but this one, i cant 10:28:03 the 0branch is defo an if, but whats the last one? 10:28:11 no 10:28:13 ?branch is if 10:28:41 ?branch branches if top of stack is false. 0branch branches if top of stack is true 10:28:56 oh, eh 10:29:36 so whats 0branch? :) 10:32:29 i mean, what does it represent.. 10:33:09 heh show me the code you dont understand 10:33:20 and look in the isforth sources for where 0branch is used :P 10:34:00 that is the .... oh you joined after 10:34:48 does anyone here have the latest isforth ? 10:34:57 when yourun it does it say its version 1.14b or 1.15b ? 10:34:59 : (ACCEPT) REMAINDER 2@ A $I 0= 0BRANCH [ 38 , ] ( between ? REMAINDER ) REMAINDER 2@ TIB @ SWAP MOVE TIB @ REMAINDER CELL+ ! REFILL-TIB BRANCH [ -58 , ] ( between ? REMAINDER ) REMAINDER 2@ A $S 2SWAP REMAINDER 2! 1- ; 10:35:41 thats a begin while repeat 10:35:46 but where's the begin? 10:35:56 begin doesnt have to compile anythiung 10:36:01 oh 10:36:02 :\ 10:36:04 it just leaves the target for the loop on the stack 10:36:07 first word would be begin then? 10:36:10 in isforth i have dobegin which is a noop 10:36:12 before remainder? 10:36:22 JUS so my decompiler cn decompoile it 10:36:44 no. i would say the begin was probably right at the start of the definition 10:36:48 but i could be wrong 10:36:54 thats what i said.. 10:36:59 decompile even grr 10:37:08 oh hehe 10:37:10 between (accept) and remainder 10:38:01 tnx :) 10:43:54 no 10:43:56 er, 10:43:58 yes 10:43:59 lol 10:44:23 i dont like accept 10:49:22 --- join: proteusguy (~proteusgu@69.79.24.31) joined #forth 10:49:29 heh 10:49:50 right now i'm hoping (accept) processes ALL input, not just the input from keyboard 10:55:55 perhaps its not... 10:56:41 does accept use key ? 10:56:55 because key is usually a deferred word so you can MAKE it accept from anywhere 10:57:11 no, but (accept) merely transfers chars from keyboard buffer to input buffer 10:57:14 or does accept just parse input thats already been buffered 10:57:27 its actually INTERPRET i'm looking for, or so it seems 10:57:42 evaluate probably 10:57:52 no evaluate calls interpret 10:57:54 i gotta go do something ill bbl 10:57:58 : EVALUATE 10:57:59 SAVE SET-SRC 'INTERPRET CATCH RESTORE THROW 10:57:59 ; 10:58:03 just when you thought it was safe to go back onto freenode 10:58:10 lilo globals 10:58:14 hehe 10:59:20 i think i need to replace (word) in interpret so it'll capitalize the words its reading. that might just turn it into case insensitive 10:59:46 although that wont fix words that read ahead (unless i actually replace the cfa of (word), which is not exactly what i wanted to do) 11:00:24 on the other hand, i could just as well alter (word) and backup the original to a different word... 11:00:25 hey 11:01:31 hi 11:09:25 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 11:09:45 grrr cant he just wallops that :\ 11:21:44 --- quit: jdrake (Read error: 110 (Connection timed out)) 11:26:47 --- join: SolarFire-| (SolarFire@pD9545FB5.dip.t-dialin.net) joined #forth 11:35:09 --- quit: SolarFire (Read error: 60 (Operation timed out)) 11:39:26 lol i never saw that global. im looking and its not there! 11:39:30 what did he say ? 11:42:34 http://freenode.net/news.shtml 11:42:40 He gave that link and tons of info 11:42:46 Something about a silly cloaks day 11:45:35 duh 11:48:24 fundraiserthingie 12:33:59 hm. this denotation stuff is making INTERPRET kinda sucky to understand 12:41:15 but i got it :) 13:05:49 --- join: Sonarman (~matt@adsl-67-113-235-139.dsl.snfc21.pacbell.net) joined #forth 13:05:58 --- quit: wossname (Ping timeout: 14400 seconds) 13:32:19 --- join: jdrake (irc_user@CPE00045afdd0e8-CM014410113717.cpe.net.cable.rogers.com) joined #forth 13:36:58 --- quit: fridge ("Leaving") 13:40:15 SRC \ Return the address addr of the current input source specification, allocated in the user area. It consists of three cells: the lowest and non-inclusive highest address of the parse area the non-inclusive highest address of the parse area and a pointer to the next character to be parsed. Changing SRC takes immediate effect, and must be atomic, by using RESTORE-INPUT, or changing only the third cell. The third cell has the alias IN . Words like 13:40:32 can somebody please try to explain me what this could possibly mean? 13:40:41 especially the meaning of the first two cells... 13:45:22 could the first occurence of "highest" be a typo of some sort? 13:45:41 meaning the lowest and the heighest adr of the parsing field 13:52:14 you got cut off at "Words like." but it makes sense to me; it seems that the only problem is that he somehow accidentally wrote "non-inclusive highsest address of the parse area" twice 13:52:46 SRC ( -- a ) 13:53:00 : IN ( -- a ) SRC 2 CELLS + ; 13:55:21 what i get is that this is the layout of memory starting at the address returned by SRC: | addr of start of input buffer | addr of buffer+buflen | current offset into buffer | 13:57:05 --- quit: proteusguy (Read error: 54 (Connection reset by peer)) 13:57:57 --- join: proteusguy (~proteusgu@69.79.24.31) joined #forth 14:01:00 yeh 14:01:13 i guess its a typo 14:02:06 now all i gotta figure out is why there is a boundry check at the beginning of (word), where it figures out the start of the next word, and no boundry checking while actually parsing the word 14:04:17 so while scanning for the first actual char of the word, it checks for the heigher boundries of the buffer, but when scanning the actual word he only checks wether the char is a blank (with ?BLANK ) 14:04:49 : ?BLANK ( c -- flag ) BL 1+ < ; \ For the character c return whether this is considered to be white space into the flag ff . At least the space, ASCII null, the tab and the carriage return and line feed characters are white space. 14:05:10 heh http://nzr.crysm.net/vdayf.gif 14:05:16 so that would indicate, that there is no boundry checking once actually parsing a word 14:05:21 jdrake> was that manual? 14:05:32 that looks supiciously a lot like a virus spam 14:05:41 * qFox slaps jdrake around with a piece of norton 14:05:51 it was an image posted in #gnustep 14:06:06 qFox: maybe he just puts a space at the end of the buffer when he reads it in 14:06:16 ok, i've fallen for this type of virus one too many times :p 14:06:27 hm 14:06:27 you use windows don't you 14:06:34 yes i do, explorer too! ;) 14:06:41 bad boy 14:06:43 but so far never infected, luckily 14:06:57 Herkamire> come to think about it, you might be right there 14:07:22 but that would rely on other input systems doing this properly 14:07:32 and why does he check for this boundry before actual parsing? 14:08:20 beats me 14:09:21 is this the ciforth everybody was complaining about yesterday? 14:10:31 guilthy 14:10:42 hehe 14:11:19 i'm sure he has his reasons for doing it. so far i've been able to figure out why he does what and it makes sense 14:13:32 --- quit: ChanServ (ACK! SIGSEGV!) 14:15:04 --- join: ChanServ (ChanServ@services.) joined #forth 14:15:04 --- mode: irc.freenode.net set +o ChanServ 14:18:24 : (WORD) _ BEGIN DROP IN[] ?BLANK OVER SRC CELL+ @ - AND 0= UNTIL _ BEGIN DROP IN[] ?BLANK UNTIL OVER - ; 14:18:25 --- quit: SolarFire-| (Read error: 104 (Connection reset by peer)) 14:18:49 _ is a placeholder (puts a "unknown" but not random number on teh stack) 14:19:52 in[] reads a char from the input buffer and returns the char and its address. src i explained above, cell+ @ fetches the top adr of the parse area 14:20:55 he appears to check whether the char is a blank (blanks are space tab linefeed etc), check whether the adr of the char is equal to the top of the parse area, and AND the two flags. 14:21:12 however, he doesnt do the second part in the second begin-until 14:30:52 --- join: Topaz (~top@spc1-horn1-6-0-cust217.cosh.broadband.ntl.com) joined #forth 15:09:57 --- join: aum (~aum@port-204-54-210.fastadsl.net.nz) joined #forth 15:09:59 I440r: call me silly, but how do you quit isForth? :) 15:10:26 bye works 15:10:27 --- join: skylan (~sjh@vickesh01-4921.tbaytel.net) joined #forth 15:10:27 bye? 15:11:25 excellent 15:31:10 --- quit: jdrake (Read error: 60 (Operation timed out)) 15:46:41 yay. i think i've turned the system case insensitive 15:46:41 ^^ 15:46:49 undoubtfully there will be complications 15:46:55 but for now, it works 15:46:56 Hi qFox 15:47:00 hey Robert 15:47:02 Did you get it to run? 15:47:18 yep, just waiting for a reply on how to add the blocks file 15:48:02 but already developing. i've eradicated case sensitivity just now :p and a better looking debug OK thingie 15:48:39 :) 15:48:50 * Robert pets qFox for being good. 15:48:57 Now learn a lot of Forth. 15:49:16 next on the list, adding history 15:49:19 ^^ 15:51:08 hmm, i'm quite clueless, getting nowhere persuading isforth to fopen me a file 15:51:17 0 ," test" fopen 15:51:44 try FILE-OPEN 15:52:06 s" test" R/W FILE-OPEN 15:52:11 or something 15:52:53 i don't think ," returns the address of the enclsoed string 15:53:00 you'd need to do something like 15:53:09 create filename ," test" 15:53:15 ah 15:53:59 works now :D 15:54:50 Hehe 15:55:08 Someone else using IsForth, eh? :) 15:55:36 possibly foolishly :D 15:55:47 hi - are there any minimal forths which (1) are (reasonably) ans-compliant, (2) have the smallest possible set of primitives, with the rest of the words implemented in forth, and (3) have the primitives implemented as portable C? 15:55:57 No, IsForth is good. 15:56:01 gforth has a certain feeling of 'safety' to it, despite its hugeness :D 15:56:18 isforth looks more fun, however 15:56:20 aum: have you taken a look at pforth or pfe? 15:56:21 Topaz: I prefer IsForth to gforth. 15:57:30 Sonarman: i've looked at both - they're bloated 15:57:46 Isn't eforth something in that direction? 15:57:49 aum> minimal set and ANS complete are two things that dont go together ;) 15:57:56 wasnt eforth fig? 15:58:03 Don't know. 15:58:07 Why do you want ANS? 15:58:19 qFox: why do you say that? 15:58:20 aum: i'm working on a minimalist language with a very small C kernel, its similar to forth but not the same 15:58:42 aum> ans is "a standard", it covers all bases 15:59:04 there are words in there that are not required in a minimal set 16:00:08 --- join: jdrake (irc_user@CPE00045afdd0e8-CM014410113717.cpe.net.cable.rogers.com) joined #forth 16:00:26 * slava wrote a garbage collector in 100 lines of C 16:00:42 me kernel is now 2000 lines -- not bad but kind of bloated 16:01:01 i don't forsee adding much else to the kernel though, except more I/O primitives for opening files etc. 16:01:04 i'm willing to sacrifice some speed, for the sake of the smallest possible kernel 16:01:27 aum: Actually I was planning to write something like that just to show qFox. 16:01:31 hehe 16:01:34 i think my kernel is as small as it gets for a dynamically typed language with garbage collection 16:01:50 Robert> going for the kestrel set? or the p24? 16:02:04 Something kesterlish. 16:02:08 good :) 16:02:10 problem with a lot of forths is that they start out nice, but spend too much time at Houston eateries :p 16:02:35 well ciforth is complete, but complicated 16:02:39 * Robert starts coding. 16:03:10 would not recommend it unless you like to brainfuck yourself 16:03:20 Heh. 16:03:22 void gc(void) { 16:03:22 flip_zones(); 16:03:22 scan = active->base; 16:03:23 collect_roots(); 16:03:23 while(scan < active->here) collect_next(); 16:03:24 } 16:03:30 there's the garbage collector ;) 16:03:38 maybe i should take a 32-bit eforth and replace the asm with c 16:03:42 Robert> gl :) 16:03:55 qFox: Dankje ;) 16:03:58 hehe 16:05:11 * qFox makes an attempt to rewrite SEE 16:05:19 qFox: With or without libc? 16:05:53 Robert> ... 16:06:24 in a clean booted ciforth there is no SEE. it is loaded from the blocks file, so i'll take that as an example and make it to my own preferences 16:06:40 qFox: OK, then. Without. 16:06:47 :) 16:12:43 its btw kinda funny to see that the ciforth interpreter optimizes words to use denotations, at least when viewing their definitions with SEE it replaces ['] (WORD) with '(WORD) 16:13:45 * aum goes about stripping down FICL, and reimplementing as many C primitives as possible in forth 16:14:53 aum: why? 16:15:18 for simplification 16:15:22 and de-bloatage 16:20:07 making it slower? 16:20:34 i have stuff like string comparison in the kernel even though i could do that in library code. 16:24:10 --- quit: Topaz ("Leaving") 16:24:44 xmms -p 16:25:28 : ID.. CFA> ID. ; ( cfa--. Print a words name ) 16:25:31 :\ 16:25:55 for one, >CFA and >CFA do nothing (0 + and 0 -) 16:30:26 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 16:32:20 tathi! 16:34:23 hi slava 16:41:07 bedtime 16:41:08 nite 16:41:10 --- quit: qFox ("meh ircii's netsplit detection appearantly sux ^^") 16:46:38 --- join: fridge (~fridge@dsl-203-33-162-59.NSW.netspace.net.au) joined #forth 16:52:30 --- quit: tathi ("leaving") 16:56:32 --- join: doublec (~doublec@coretech.co.nz) joined #forth 16:58:56 does ficl's immediate word flag or compile only flag both apply to a standard word being interfaced? 17:08:46 --- join: lalalim (~lalalim@p508AB7BB.dip.t-dialin.net) joined #forth 17:09:39 --- join: TheBlueWizard (TheBlueWiz@pc1fdn1d.ppp.fcc.net) joined #forth 17:09:39 --- mode: ChanServ set +o TheBlueWizard 17:17:18 --- quit: fridge (Read error: 60 (Operation timed out)) 17:21:41 --- join: fridge (~fridge@dsl-203-113-230-147.NSW.netspace.net.au) joined #forth 17:28:56 --- quit: lalalim_ (Read error: 110 (Connection timed out)) 17:30:05 --- part: TheBlueWizard left #forth 17:37:34 if i pop a pointer off of ficl's stack and it happens to be a string, will it be a regular C style string? 17:38:11 if it was passed from a C function, then probablyy 17:38:39 this is a function i am registering with ficl so I can call it from ficl 17:38:52 strings have always seemed to be a mystery in forth to me 17:39:27 oh, you mean you pop the pointer off of the stack from inside a C funtyion? 17:39:34 oui 17:39:40 ok 17:40:41 how do you create the string in the first place (do you use s" or what?) 17:40:54 it would be s" yes 17:41:31 s" puts two cells on the stack: addr len 17:42:02 if you just want to pass a single pointer to the C function, then you should use c" instead (provided that ficl has it) 17:42:54 it does 17:42:58 c" puts an address on the stack. the byte stored at that address is the length of the string, and the string is stored right after it 17:43:07 how do I output that string put on by c" or s" respectively/ 17:43:21 TYPE ( addr len -- ) 17:44:13 to get addr len when you have the address of a counted string on the stack, use COUNT 17:44:14 From C or Ficl? 17:44:30 jdrake, are you trying to get it off the stack from C and output it using a C function? 17:44:44 doublec, output from ficl 17:45:02 Sonarman, is there a nice godly document with all of this categorized very well 17:45:13 dpansf? 17:45:14 possibly in the form of a tutorial too 17:45:23 isn't dpansf more of a specification? 17:45:41 sorry, i don't know of such a document 17:46:01 i wonder - has anyone written a book on forth recently? 17:46:04 well, maybe Julian V. Noble's Forth tutorial 17:46:13 jdrake, oh ok. I've used Ficl in an embedded app and needed to output it from C in which case I had to convert it to a C string: http://paste.lisp.org/display/1605 17:46:17 or Starting Forth (online at mhx's site0 17:46:51 I've got 'Mastering Forth'. I found that a very useful book when learning it. It's pre-ansi but still pretty good. 17:47:38 doublec, accessing ficl's structures yourself? 17:47:54 Leo Brodie has agreed to release Thinking Forth under a CC license 17:47:56 jdrake, yes. Ficl has an API for doing this. 17:48:18 jdrake, I ported Ficl to run on my Symbian based cellphone so I could develop on the phone itself. 17:52:22 can one easily write a function like ." " or c" " et al. to do something custom? 17:52:48 jdrake, yes. Depending on your definition of 'easily' :) 17:53:42 depends on if the Forth system provides and documents factors of those words 17:55:54 heh how convenient.. + (id)stringWithCharacters:(const unichar *)chars length:(unsigned)length 17:56:04 if the definitions of s" and ." are really long, then writing a similar custom word will be a big pain in the ass :) 17:57:01 jdrake: is that from an OpenStep string class or something? 17:57:37 jdrake, for an example of the types of things you need to do for immediate words like s": http://home.earthlink.net/~neilbawd/quotstr.txt 17:58:01 Sonarman, yes 17:58:57 is it possible to get the address of a word so you can put it in a lookup table? 18:00:08 ' foobar 18:00:29 inside the definition of a word use ['] instead 18:00:59 like [foobar] ? 18:01:19 no, ['] foobar 18:01:21 :-) 18:01:35 [ ] stuff is special isn't it 18:02:10 well, the square brackets by themselves just switch into and out of compile mode 18:02:11 how do you execute the word from that 18:02:20 EXECUTE :p 18:02:28 logical :-) 18:05:03 is there any way in ficl to store a pointer to a place where I can easily retrieve it (preferably by name or number) 18:05:36 can you please elaborate? 18:06:16 i have a void* pointer that is my 'system pointer' that certain C functions need in order to run (think of it as 'self' for the underlying system) 18:09:15 If you have a C function that returns that pointer, can you just call that to get it? 18:11:26 there are multiple ficl 'machines' running, so I need to store it in there 18:12:01 you could write a C function that pushes the address of that pointer onto ficl's stack, export it to ficl, and then from within ficl call that function once and store the address in a variable, for later use 18:12:46 can't I store it in a variable from the C api? 18:13:30 sure. i didn't think of that 18:13:46 i can't find the api :-( 18:15:16 ficlDictionarySetConstantPointer might work 18:15:47 Write a C function that uses stackPushPtr to push it on the stack perhaps? 18:15:49 then just the thing to get it 18:16:47 doublec, I have been trying to say this a few times here: I can't use a C function that does anything with a specific pointer because there are potentially multiple versions of this pointer floating around 18:20:13 dear lord! 18:20:17 the pcf format is complex 18:23:15 --- quit: I440r ("Leaving") 18:25:57 jdrake, there is a pExtend variable in struct FICL_VM which you can set to whatever you want. Can you use this to store the pointer? It is settable on a per 'ficl vm' level. You C word can then return this pointers value. 18:26:21 jdrake, this allows each 'ficl machine' to have a different value 18:26:45 cool, that would be great, I am only using one vm per ficl instance 18:26:52 so it should be easy to get 18:27:12 jdrake, I notice that in Ficl v4.0 the name has changed from pExtend to context so it depends what version you are using. I use pre-4.0. 18:27:17 i was almost done figuring out a convoluted way of storing it :-) 18:27:36 Ficl version 4.0.31 18:28:14 jdrake, so it is called 'context' and you can get it with ficlVmGetContext. 18:28:45 in struct ficlVm i see nothing called context 18:29:03 there is a pad and user space 18:29:53 in a dictionary there is a context 18:30:10 what does ficlVmGetContext take as arguments? 18:30:22 #define ficlVmGetContext(vm) ((vm)->context) 18:31:53 http://paste.lisp.org/display/1608 18:31:56 that is ficlvm 18:32:45 jdrake, yup, I've downloaded it and looking at it now. 18:34:06 Thinkinf forth under CC???? that's awesome 18:35:04 Herkamire: yeah! check ou t comp.lang.forth 18:35:32 jdrake,that is odd. It looks like 'context' is missing from ficlVM. 18:37:15 Sonarman: where can I download it? 18:37:46 jdrake, the other options is, in C, to push the ptr on the stack and evaluate 'myvar !' where 'myvar' is a variable defined earlier in Forth. You can then use 'myvar @' to get the value on the stack. 18:39:14 Herkamire: i don't think it has been released yet 18:40:49 --- join: I440r (~mark4@216-110-82-1.gen.twtelecom.net) joined #forth 18:40:53 doublec, look in the ficlDictionary 18:40:59 or you could have myvar be a VALUE, so you don't have to use @ every time you want to get the address of the pointer. just makes things more readable. evaluate 'to myvar' 18:43:22 jdrake, it looks like ficlVMGetContext was supposed to be: 18:43:47 #define ficlVmGetContext(vm) ((vm)->callback.context 18:43:52 ) 18:44:22 i don't think so actually 18:44:27 --- quit: aum (Read error: 113 (No route to host)) 18:44:28 jdrake, why is that? 18:45:07 goto line 1412 in ficl.h 18:48:02 jdrake, yeah I see that. But if you look at the callback structure it holds all the stuff that 'C' will need (error output pointer, text output pointer, the vm, system, etc). The 'context' value in callback is also set to the context value from ficlSystemInformation which is the 'system' value of context. 18:48:33 jdrake, I believe the 'dictionary' is global to all vm's too. 18:49:20 jdrake, you could always email the author or post to the ficl mailing list to be sure. 18:55:02 hmm, ficl mailing list? i should look into that 18:55:21 the dictionary being global to all vms i think would be best, that might allow me to support multithreading at one point 18:55:44 jdrake, If you look at the code for ficlVmGetErrorOut you'll see that it also takes it from the callback structure in ficlVm. It does it wierdly though by casting the ficlVm to a ficlCallback. Odd. 18:56:07 (which works because the ficlCallback structure is the first item in ficlVm). 18:57:07 that is just a little hackish 18:57:53 yep 18:58:05 C is dangerous enough to use as it is 19:00:03 i will use the dictionary one for now, but I just hope nothing else uses this 19:01:45 Nothing else uses any of the context fields. 19:03:37 my initial impression after doing some work here is that it is going to be a little simpler to use then lua but will have to figure more out on my own. 19:22:28 --- quit: proteusguy (Connection timed out) 19:37:57 --- join: Murrlin (murr@dialup-207-218-234-131.ev1.net) joined #forth 19:56:59 --- quit: Murrlin ("Mischief managed! ....Nox.") 20:09:58 --- quit: Sonarman (Read error: 110 (Connection timed out)) 20:27:21 --- join: Sonarman (~matt@ppp-66-124-255-209.dsl.snfc21.pacbell.net) joined #forth 20:29:15 --- join: wmg (~weldon@bgp02689673bgs.flrdav01.dc.comcast.net) joined #forth 20:36:53 slava you there ? 20:37:05 hi wmg 20:37:12 hi I440r 20:42:32 --- join: debona|r (~opera@nero.netwalk.org) joined #forth 20:42:36 http://www.rafb.net/paste/results/9exeBM52.txt 20:42:41 hi debo :) 20:42:43 slava: try that makefile instead 20:42:54 slava if you wake up debona|r is the guy who has isforth running in fbsd 20:42:55 oh, and make sure to use gmake 20:43:01 not make 20:43:06 i didnt send it to him yet hehe 20:43:14 I just pasted the link 20:43:31 oh ok :) 20:43:40 what does that first line do ? 20:43:52 get's the osname in all lowercase 20:43:58 try it on the commandline 20:44:02 oh 20:44:05 ok :) 20:44:31 I've done way too many make files in my day :P 20:44:34 whats the dash for in front of the ./extend ? 20:44:59 that's to ignore the fact that extend exit's with status 25 20:45:06 oh 20:45:07 otherwise the makefile would fail at that point 20:45:08 ok 20:45:14 well ill fix that some time hehe 20:45:19 you need to fix that though... right :) 20:46:14 heh 20:46:18 prolly 20:46:22 slava doesn't seem to interested 20:46:59 he might be afk or assleep 20:48:52 --- part: debona|r left #forth 20:49:09 --- join: debona|r (~opera@nero.netwalk.org) joined #forth 20:49:18 --- part: debona|r left #forth 20:55:08 --- quit: Tomasu ("SIGWTF") 21:06:44 --- join: abcnew (~abcnew@203.162.120.51) joined #forth 21:07:42 --- quit: doublec ("Leaving") 21:49:35 --- part: wmg left #forth 22:08:12 --- quit: abcnew (Read error: 113 (No route to host)) 22:17:15 --- join: foobar (fooboo@dialup-4.152.156.112.Dial1.Atlanta1.Level3.net) joined #forth 22:19:55 --- join: Serg (~z@212.34.52.140) joined #forth 22:21:30 anyone here? 22:22:06 yup 22:22:18 ok 22:23:34 can I help you? 22:24:25 first time on IRC; just lurking until I see something interesting about forth 22:24:50 foobar: welcome :) 22:25:12 foobar: this is a relatively quiet time of day, but you may see some discussion. 22:26:57 about VALUEs in Gforth: to add number you go "foo 99 + to foo" 22:27:39 foobar: yeah, that should work 22:27:42 wouldn't it be better if you could say "99 +to foo" ? Marcel Hendrix has that in his Forth 22:28:14 does gforth have +to? 22:28:27 looks reasonably to me 22:28:35 no; i wrote my own and emailed it to Anton Ertl 22:28:56 personally I don't like VALUE 22:29:00 he said +to is not needed 22:29:05 you like foo @ ? 22:29:09 yeah 22:29:15 ok 22:29:26 foo @ 90 + foo ! 22:29:45 or "99 foo +!" 22:29:48 right 22:29:57 except my +! (as with colorforth) has a different meaning. 22:30:03 I haven't decided what to call that function 22:30:36 maybe @+! 22:30:37 well, colorforth is Greek to me 22:30:50 sounds reasonable 22:30:57 +! in my forth increments the address 22:31:30 colorforth has an address register (called the A register for short) 22:33:32 very handy. 22:33:38 you stick an address there with >a 22:33:51 and you can fetch/store to it without dropping the address. 22:33:57 and it's not in the way of using the stack 22:34:07 and you can have incrementing stores/fetches 22:34:17 eg +! increments the address, then stores. 22:34:37 sounds like a good idea 22:34:52 great for searching, filtering, memcopy, and a million other things 22:36:39 "The Neanderthal Authority currently controls most of The Big River but less than 40% of the Big River Caves, in non-contiguous chunks that are dotted with Cro-Magnon settlements. The Neanderthals believe there can only be a purely Neanderthal state if the settlements are dismantled." 22:36:47 http://www.emptybottle.org/glass/2002/07/the_hundred_thousand_years_war_qa.php 22:45:13 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 22:45:17 kc5tja! 22:45:18 --- mode: ChanServ set +o kc5tja 22:45:30 Howdy 22:45:42 Just got back from work, via bike. 22:46:05 Man, 10 hour long shifts kind of suck. 22:46:19 And I was wrong -- swing shift is only for this week. 22:46:29 Next week I go back on a more "normal" schedule, for some definition of "normal." :) 22:48:22 http://www.jroller.com/page/slava/ 22:48:29 i started a blog ;) 22:49:00 Hehe 22:49:08 * kc5tja checks 22:50:27 Nice. 22:50:32 What software are you using for your blog? 22:50:42 I'm using Pivot for mine. 22:50:57 this is a free service running some java weblog app 22:51:17 Oh, OK. 22:51:53 Just curious: Do you make music too? Or is the music section just for your own personal interpretations of existing music? 22:52:41 they give you a stupid set of default sections :( 22:54:38 Haha ;) 22:55:21 * kc5tja hisses at their use of Tomcat!! 22:55:24 Evil!!! 22:55:41 At work, we have nothing but problems with Tomcat. 22:56:13 kc5tja: i hope when my http server is a bit more mature it can do 'servlet' things with far less bloat than java. 22:56:52 You know, I was thinking of making a Kestrel that could be used as a web server appliance. 22:57:06 I mean, you don't really need a fast CPU as long as you have lots of them. :) 22:57:32 And MISC cores are relatively simple to gang up in an SMP systme. 22:57:40 --- part: Serg left #forth 22:57:46 I figure 8 to 16 CPUs ought to make up for its 25 to 50MHz throughput. :) 22:58:11 It ought to be competitive with a Cobalt Raq4 with 8 50MHz CPUs. 22:58:18 slava: nice wiki :) 22:58:25 I mean blog 22:59:17 kc5tja: that would be awesome 22:59:46 maybe not smp but cluster? simpler. 23:02:28 slava: To be competitive, it needs to fit in less than 1U of rack space. 23:02:49 And a single box must at least run at 450MHz equivalent speed (relative to x86) 23:04:12 kc5tja: I'd say the software needs to run at an equivalent speed to that 23:04:31 Overall performance. 23:04:38 with which might not require nearly the clock speed of the competition if you can make more effecient software 23:05:33 exactly 23:05:42 Well, let's do the math: I figure if I put 4 CPUs on an FPGA, then only 4 FPGAs are needed for processing performance. 23:05:49 At 50MHz, each, that's about 900MHz. 23:05:57 (aggregate performance) 23:06:01 is that feasable? 23:06:05 how much power use? 23:06:12 That's double the performance of a Raq4, with substantially less heat. 23:06:18 wow 23:06:18 And heat *kills* datacenters. 23:06:28 so 16 cpus? 23:07:04 how much does a raq4 cost? 23:07:04 couple this with a lightweight smp os and it would be a hell of a machine! 23:07:21 Herkamire: They're not made anymore. 23:12:03 oh. how much were they? 23:13:48 Don't know 23:13:59 All I know is that we have a *ton* of them. 23:14:04 And we're trying to move people off of them. 23:14:33 why? 23:14:50 too much heat? 23:37:12 --- join: [Forth] (~Forth@216-110-82-1.gen.twtelecom.net) joined #forth 23:38:41 --- part: foobar left #forth 23:39:26 Sonarman: have you got a link regarding the release of thinking forth under CC? 23:40:37 clf was talking about that recently but i didnt read the thread 23:42:48 fridge: sonarman refered me to clf 23:43:09 it doesn't look like they have anything available for download yet. at least not anything vaguely complete 23:47:52 fridge: sorry, no. i haven't even finished reading the thread 23:51:35 Herkamire: Because they are slow, unreliable, and are constantly experiencing heat death. 23:51:44 They only have two fans, but they're so damn cheap.... 23:52:02 It seems like a week doesn't go by when we don't swap out the fans on at least two Raqs. 23:52:25 heh 23:52:40 --- join: abcnew (~abcnew@203.162.120.82) joined #forth 23:52:56 And that's the thing -- if I can make a high performance machine without the need for a fan, I'll be all set. 23:54:01 :) 23:54:07 I really like quiet computers 23:55:03 * kc5tja nods 23:55:25 I mean, there has to be a way to make a good quality, high performance machine and not require all of Niagra Falls power station to power it. 23:55:44 zackly 23:58:08 Man, I really want to see this CPU actually run in silicon. 23:58:26 But I /me sighs 23:58:32 * kc5tja sighs rather 23:58:54 I have to wonder when it'll get done though. 23:59:59 --- log: ended forth/04.07.05