00:00:00 --- log: started forth/04.06.06 00:16:44 hiya 00:16:48 I'm back. 00:17:11 kc5tja: alive at the moment? 00:17:22 kc5tja: even if not, could I ask you just one question? 00:17:38 kc5tja: how can I convince gforth to do a certain thing on a literal instead of its default? 00:33:01 --- join: crc (crc@0-1pool176-8.nas6.philadelphia1.pa.us.da.qwest.net) joined #forth 00:36:39 hi crc 00:36:46 crc: familiar with gforth? 00:37:43 I've used it quite a bit in the past 00:37:45 Why? 00:42:31 well, this is not necessarily a gforth question, but... 00:42:45 how do I deal with strings? (especially ones returned by word) 00:43:32 What do you want to do with them? 00:44:45 anything. 00:45:30 well, first, it seems that word wants something from the stack. 00:45:35 * arke_ is trying to figure out what 00:45:55 word takes the character value of a delimiter from the stack 00:45:59 Example: 00:46:15 [char] " word 00:46:39 will parse a string until it finds a " 00:46:46 So you could define ." as: 00:46:54 : ." [char] " word type ; 00:47:41 --- join: solar_angel (~jenni@MTL-HSE-ppp169075.qc.sympatico.ca) joined #forth 00:48:17 cool. 00:48:24 --- join: AshyIsMe (~ashy@smm-158-145-219-137.tvlres.jcu.edu.au) joined #forth 00:48:27 hello 00:48:35 Hello AshyIsMe 00:48:44 so, if I do 32 word, it'll be just a normal delimitation, right? 00:48:45 hi AshyIsMe 00:48:59 It should be 00:49:05 * crc is double checking 00:49:13 i have been reading a little about forth and found that some processors suit it more than others 00:49:35 is there a company that designs computers specifically with forth in mind? 00:49:50 several :) 00:50:22 i've personally designed a few FORTH processors. 00:50:29 How does the price to power work out compared to other pc's? 00:50:39 really 00:50:42 yes, really. 00:50:48 haha 00:51:10 i designed one really weird 32-bit forth-ish CPU that used about as many transistors as an average 8-bit CPU. 00:51:27 hmm forth seems to bring the programmer closer to the hardware than other languages 00:51:31 it wasn't especially efficient in anything but transistor count... but *shrugs* 00:51:41 haha k 00:52:11 actually, i imagine it had pretty good power usage as well. 00:52:12 arke. BL is for blank. 00:52:14 what are the names of some companies that design computers for forth? 00:52:17 BL WORD 00:52:23 not sure 00:52:28 k 00:52:29 Good afternoon, AshyIsMe! 00:52:41 hello ASau 00:53:35 arke_: use 'parse' instead of 'word' under gForth 00:53:51 'word' is considered obsolete by the developers 00:54:03 AshyIsMe, there're enough number of engineers working on Forth CPUs. 00:54:12 Companies too. 00:54:41 FCPUs are very different. 00:54:50 yes i was wondering what some specific companies were so i could look into prices for purchasing one 00:55:47 crc: Ok. 00:55:49 I know one developper, that makes his own custom CPUs (Xininx, IIRC) and sales it. 00:56:40 crc: now, let's say I have bl parse, and I want to find out if this string fits the current base and should be interpreted as a literal, can you gove me some pointers on how to parse the string? 00:56:44 ...from Xilinx's FPGAs 00:57:03 i make my own custom CPU's on xilinx fpga's :P 00:57:41 do u actually physically manufacture them or just design them? 00:57:42 arke. See NUMBER 00:58:11 AshyIsMe - i don't have the facilities to manufacture them, so i use fpga's. 00:58:26 arke. Do you have ANS handy? 00:58:30 * arke_ 's problem is that it has to self-host itself =D 00:58:36 ASau: I've got dpans in a browser 00:58:53 Well, I don't. Look for NUMBER 00:58:59 number isn't in the word list. 00:59:16 solar_angel, what do you mean by fpga's? 00:59:27 AshyIsMe - Field Programmable Gate Array. 00:59:31 it's like a programmable ic. 00:59:36 Well. Wait, I'm going for ANS. 01:00:05 "programmable" is almost a misnomer though, it's not much like programming a computer... it's much more like actually physically designing a chip. 01:00:11 arke: >number 01:00:14 ok 01:00:17 although some of the high-level HDL's make it easier for the software person. 01:02:52 * AshyIsMe is off to dinner 01:03:54 crc: thanks 01:04:00 alright, nice. 01:04:18 so if I use a combination of number? and >number, I can get the effect I want. 01:04:21 for now. 01:04:24 :) 01:04:36 glad I could help a little 01:04:45 * crc is working on an assembler of sorts 01:04:56 an assembler? coolness. 01:05:03 i've got most of an x86 forth assembler done myself. 01:05:31 awesome, this is working great :) 01:05:34 cool 01:05:42 * arke_ will have to write his own implementation of those two words later 01:05:56 arke, you can. 01:06:04 That's rather simple. 01:06:20 Mine has few similarities to traditional assembly syntax 01:06:27 mine is a FORTH assembler. 01:06:30 yay for EBX POP 01:06:58 You have to test 0= and you find if you've reached end of your input. 01:07:11 I'm still writing the various forms of MOV :-) 01:07:43 solar_angel, how do you distinguish different addressing types? 01:07:59 hehe, i have to finish the modr/m formatting before i can do all the forms of MOV. 01:08:07 ASau - depends what you mean... 01:08:11 in theory, i can do something like: 01:08:15 ASau: already got that, thanks :) 01:08:36 FFFF WORD EAX + EBX 4* + [] ECX MOV 01:08:54 E.g. how do you distinguish immediate to register load and addressed to register? 01:08:56 Mine has a much different syntax 01:08:59 which will do MOV ECX, [WORD FFFF+EAX+EBX*4] 01:09:13 immediate to register is simple: 01:09:13 Wahhh! 01:09:22 123 DWORD EAX MOV 01:09:35 which is just your average MOV EAX, 123 01:09:38 immediate to register: 123 ->eax 01:09:40 :-) 01:10:02 crc - that syntax is fun... but mine doesn't use a parser. :P 01:10:12 --- quit: cedricshock (Remote closed the connection) 01:10:27 solar_angel, that does not use parser, 01:10:41 ASau - ? 01:10:44 you simply create a word for a register. 01:10:58 ASau - of course :) 01:10:59 : ->eax $b8 1, , ; 01:11:01 : ->eax $b8 1, , ; 01:11:07 :-) 01:11:08 crc - coolness. 01:11:11 solar_angel: you don't really need a parser for that, I think .... : ->eax #, EAX MOV, ; 01:11:30 bleh, arke, read as you type. 01:11:31 lol 01:11:59 I know a man, who wrote words like: 01:12:04 eax->ebx 01:12:05 woot: 01:12:10 eax->ecx etc. 01:12:10 I have that :-) 01:12:11 HEX FFFF0000 @ General Protection Fault 01:12:16 i like that :P 01:12:23 : ebx->eax rr $d8 1, ; 01:12:25 it gives me back my prompt too. 01:12:49 crc - that's relatively easy to do, but huge. mine does cute tricks with the actual encodings. 01:13:06 solar_angel, that's not as huge. 01:13:15 ASau - what's not? 01:13:40 A full assembler would be huge, but I only need a handful of assembly instructions 01:13:44 ahh 01:13:49 : interpreter begin bl parse while (interpreter) repeat ; 01:13:59 crc: same here :) 01:14:05 mine currently stands at 438 lines of code. 01:14:16 and it supports a large subset of x86 assembly. 01:14:26 crc: I might not even make one, and just insert the raw binary w/comment on what it it 01:14:42 what do you guys think about my interpreter word? :) 01:15:00 heh 01:15:31 arke: I already insert raw binary; the assembler is for use with the target compiler I'm planning to write 01:15:57 i actually have a use for a full assembler... 01:16:02 since my FORTH is an OS. 01:16:25 crc. After some time spent coding assembly in Forth, you get accustomed to OCTAL 131 C, 133 C, ... 01:16:39 lol 01:16:39 solar_angel: same here. using your own kernel? 01:16:47 of course it's my own kernel. 01:16:51 RetroForth can be used as an OS :-) 01:16:52 :) 01:16:54 actually, the kernel is written almost entirely in FORTH. 01:16:55 * arke_ is cheating. 01:17:04 * arke_ is using Robert's F as a base 01:17:06 it's my own bootsector too. 01:17:13 then again ... I'm calling it F2 :P 01:17:18 solar_angel: :) 01:17:18 the binary stub to get mine running is under 8K. 01:17:44 * arke_ might actually use NanOS instead, but for now, F is the plan. 01:18:05 I reached 5K one time. 01:18:26 --- join: Fractal (jah@selling.kernels.to.linus.torvalds.at.hcsw.org) joined #forth 01:18:35 -rw-r--r-- 1 jenni users 40032 Jun 6 04:12 CYVOS.SYS 01:18:38 that's my whole OS image. 01:18:39 solar_angel: the binary code is less than 2k in RetroForth 7 01:18:44 Good afternoon Fractal! 01:19:09 crc - yes, but mine gets into protected mode and sets up basic page tables and GDT. 01:19:53 and that 40K image above has VGA drivers, FAT support, DMA-driven floppy drivers, and more :P 01:19:58 including HEXDUMP 01:19:59 solar_angel, I'm not as industrious as you. 01:20:12 * solar_angel giggles at ASau 01:20:17 oh right, and it has an assembler. 01:21:03 :) 01:21:13 and of course the standard drivers like vgacon, serial, and keyboard. 01:21:22 RetroForth/Native's binary core is 7045 bytes, including a 2k VGA font and bootsector 01:21:25 No assembler though 01:21:33 oh whoops, no serial driver in that one. 01:21:50 -rw-r--r-- 1 jenni users 41907 Jun 6 04:24 CYVOS.SYS 01:21:52 that one has serial. 01:21:53 But that's still using the 6.3x codebase, not the simplified, smaller 7.x one yet 01:22:13 * ASau knows how to surf the web: "nanosoft.ca." 01:22:28 crc - i could make mine smaller, but it's almost all in protoforth. 01:22:37 if it were in pure assembly, it would be smaller. 01:22:44 ASau - what of it? 01:23:07 oh, my bootsector loads from a FAT12 filesystem :P 01:23:09 I find it very annoying that everybody and his brother have made their own tiny OS for x86 01:23:16 solar_angel: RetroForth 7 is mostly in Forth, and it's smaller than the mostly assembly version 01:23:23 cramming FAT12 into 512 bytes is a pain though. 01:23:28 well, not annaying that they have, but that nobody has done it for PPC 01:23:33 crc - how did you manage to make it so small. 01:23:39 Herkamire: More people have PPC 01:23:58 Herkamire: I would if I had a PPC :) 01:24:00 It isn't a standard dialect of Forth for one thing 01:24:08 * crc will port RetroForth to PPC one day... 01:24:12 Herkamire: in fact, once/if I get one, I'm writing/porting F2 01:24:14 ahh. 01:24:26 arke_: cool :) 01:24:29 Herkamire: :) 01:24:33 arke_: what state is F2 in? 01:24:33 is it 32 bit? 01:24:37 Yes 01:24:42 cute. 01:24:44 32bit, linear memory 01:24:57 VGA (320x200), or VESA linear modes for higher res 01:25:11 ahh, linear memory. 01:25:12 Hm. Welcome to #forth. We're anti-standard here. 01:25:14 mine isn't linear memory :P 01:25:24 Linear makes things *much* easier 01:25:31 my kernel.bin is only 7518 bytes though, so it's not that different. 01:25:36 well i *like* dynamic memory :P 01:25:43 Why? 01:25:45 I know there's more x86 computers out there, but there's lots of tiny OSes for x86 and _none_ for ppc 01:25:49 because i do. 01:25:59 Herkamire - well, i'm planning to port mine eventually. 01:26:06 solar_angel: cool 01:26:36 Herkamire. Small Linux? 01:26:49 ASau: oxymoron 01:26:57 hehehe. 01:27:07 my floppy driver is 1/100th the size of Linux's. 01:27:44 I mean something small enough that you could sit down and read all the sources 01:28:07 Herkamire: F2 right now? 01:28:10 or at least fit on a floppy 01:28:12 Well. I was really frightened, when I said du /usr/src/linux/.../floppy.c one day. 01:28:18 Herkamire: well, I'm making a little "cross-compiler" to F 01:28:26 Herkamire: in gforth. 01:28:34 arke_: cool 01:28:39 Herkamire: after that, I'm gonna develop an editor for F2 01:28:43 Herkamire: ...in F2 01:28:48 Herkamire: ... on the F kernel 01:28:51 arke_: cool. what sort of forth? 01:29:11 Herkamire: and then, I'm rewriting abovementioned cross-compiler as a metaassembler :) 01:29:13 arke. Take a look at FIG portable editor and S.F. editor. 01:29:23 Herkamire: alot like pygmy. 01:29:28 Herkamire: because I love pygmy 01:29:40 ASau - hehehe, it is pretty big, at that. 01:29:50 arke_: cool. 01:30:05 arke_: so you're writing something in gforth that will compile a binary image of F? 01:30:07 Herkamire: but also, with some of my own things (i: ... ; instead of : ... ; immediate) 01:30:20 Herkamire: no, compile a binary image to F 01:30:30 huh? 01:30:30 Herkamire: I'm using Robert's F kernel, but not his F Forth 01:30:34 Herkamire: :) 01:30:55 oh, I get it 01:31:15 there's a forth called F already. you are writing something in gforth for the F kernel. 01:31:17 solar_angel. Do you mean floppy.c? The whole my Forth interpreter source is almost twice as small. 01:31:23 then you'll write something in that that will compile F2 01:31:30 Herkamire: robert.zizi.org/f.html 01:33:22 crc: : parse word count ; immediate <-- is that true? 01:34:22 hrm, seems not so. 01:34:39 There's a long definition in gForth 01:34:51 * crc still uses a simple assembly version of parse 01:35:20 arke. AFAIK, parse does not eliminate leading separator as word does. 01:35:38 yeah, gforth's version is huge. 01:35:40 I recently heard a discussion about that, and people thought that parse was supposed to give you an ADDR U pointing directly to part of the input buffer 01:35:41 too huge for my taste. 01:35:52 Herkamire: bleh. :) 01:36:04 Herkamire: I would prefer word then. 01:36:11 whereas WORD generally copies the data somewhere (eg PAD) 01:36:21 * arke_ thinks a word should be : name, then next line tab + 2 less than filling 80 01:36:41 Herkamire, WORD should copy to HERE 01:36:52 ASau - yes, floppy.c. it's a beast. 01:36:57 thus, the meat of a word (including ;) should not be more than 80-8-2 = 72-2 = 70 chaqrs long ^__^ 01:36:57 my whole OS is smaller than it :P 01:37:19 * arke_ stops ranting. 01:37:23 thanks for all the help :) 01:37:25 solar_angel, you've not seen Glibc source. 01:37:35 ASau - actually, i have. it's freaking scary. 01:37:48 but i've written a library that approaches that size. 01:38:16 solar_angel, after I've figured the size of linux floppy.c, I've decided not to look into it. 01:38:30 hehe 01:38:34 Libc is bad. 01:38:45 There're too many wrappers. 01:38:53 arke_: factor factor factor :) 01:38:54 yep. 01:39:12 libc has 30 years of cruft in it 01:39:57 If you remove all wrappers, libc will be very small. 01:40:18 hehehe. 01:40:18 If you compare with it's size nowadays. 01:41:34 hrm... a couple days ago i figured out how to make a C++-style CLASS system in FORTH. 01:41:45 isn't that sick? 01:41:51 "Do not do it!" 01:41:53 Herkamire: indeed :) 01:42:02 Universal Answer after M.L.G. 01:42:03 Herkamire: except for code words --- those are an exception. 01:42:08 solar_angel: why would you want that!? 01:42:14 crc - hehehehe. 01:42:17 --- join: htp123 (~tehsux@S010600055d233ab7.gv.shawcable.net) joined #forth 01:42:22 Herkamire: one instruciton per line. period. including a comment on what is is, if its raw 01:42:24 because i'm one seriously sick girl at heart? 01:42:29 Dobry den, htp123! 01:42:36 hey 01:42:57 --- quit: Herkamire ("I want to live in rabbit land; I want to be with thee.") 01:43:45 solar_angel. Well. Implement that. 01:43:59 Just to figure out how bad it is. 01:44:15 ASau - actually, it works really well with the FORTH concept. 01:45:02 I'm not OO. 01:45:08 see, basically the CLASS defining-word-defining-word provides a way to simultaneously create a blank namespace and a creating word... the creating word creates objects by simply allocating space... 01:45:25 when you use the object word, it puts the pointer to that space on the stack, and switches to that namespace. 01:45:38 Well. 01:45:52 all the member variables are immediate words... 01:46:06 that add an offset to the pointer, and possibly switch to a deeper namespace 01:46:08 I do this aggressive vocabulary switching without classes. 01:46:16 sure, so do i 01:46:20 * arke_ lost it. 01:46:20 :) 01:46:27 * arke_ returns to his interpreter. 01:46:31 it just occurred to me that i could do it this way because i've already got all the support required in place. 01:47:43 But I consider it's a kind of context refinement. 01:48:00 pretty much. 01:48:43 sorry to interrupt, but is the FTS1001 actually implemented? 01:48:53 htp123: not yet. but it'll kick ass once it is :) 01:49:06 heh, yah it sounds pretty rad on paper 01:49:15 fts1001? 01:49:17 I use something like: NPX ROUNDING TO +INF ... EXCEPTIONS . ... TAGS . ... etc 01:49:21 http://www.falvotech.com/fts1001.html 01:49:46 I think, kc5tja is sleeping now. 01:49:53 he's working on it? 01:50:01 He is 12 hrs ago. 01:50:10 interesting 01:51:28 hrm, cute processor... 01:51:36 reminds me a lot of uuC (my own design). 01:51:45 except uuC is designed for extremely low transistor count 01:51:49 rather than performance. 01:52:08 :) 01:52:16 using my ANISC (almost no instruction set computing) design :P 01:53:10 solar_angel: a TTA? :) 01:53:27 TTA? 01:53:31 * arke_ wants to build a register-based TTA someday 01:53:38 who doesn't 01:53:55 tta = Thransport Triggered Architecture 01:54:05 without the H there :) 01:54:22 it's pretty simple to write a simulator though. that at least gives you something to play with 01:54:22 what's a transport triggered architecture? 01:54:40 solar_angel: basically, there's one isntruction (MOV), and when you move something to a certain place, it triggers a certain action. 01:54:44 implied execution sort of 01:54:50 nope. 01:54:53 it's awesome :) 01:54:55 there are no special places. 01:55:02 :) 01:55:11 actually, mine had a 32-bit instruction word full of 8 4-bit instructions. 01:55:17 nothing took an operand. 01:56:50 too bad future shop doesn't sell cheap fpgas 01:56:59 It's interesting decision to take branch address from stack. 01:57:00 lol 01:57:12 solar_angel: FTS1001 is a non-operand MISC as well. 01:57:26 arke_ - actually, fts1001 takes branch addresses inline. 01:57:33 mine doesn't support inline. 01:57:33 solar_angel: 6 bits (up to 64 instructions, 48 used right now), packed in a 32-bit register. 01:57:45 solar_angel: alright, true :) 01:57:45 i know, i'm reading about it. 01:57:52 :) 01:58:00 Ah, no. 01:58:34 mine had a really funny way of making a number... 01:59:03 you had to push the instruction pointer, move it to the memory pointer, dereference the memory pointer, push the ip again, increment it, and then pop ip (jmp). 01:59:19 ehe 01:59:36 I think you have plenty of time. 01:59:47 kc5tja has not. 02:00:23 hrm... i've just had a brainstorm. 02:00:25 Or does he changed his decision on video? 02:00:54 * solar_angel sits down to design a CPU. 02:01:12 solar_angel: here's a challenge 02:01:31 CPU race! 02:01:45 what's a challenge? 02:01:55 bleh 02:01:56 nevermind 02:01:59 I have to sleep 02:02:00 'night 02:02:08 * arke_ is away: Sleep ---- interpreter going well :) 02:02:12 'night arke 02:02:39 heh 02:11:02 --- quit: AshyIsMe ("because he can") 02:12:22 It's time to go sleep, for all americans here. 02:12:30 Where's qFox? 02:16:01 qFox Quit with message ("this is mirc's last attempt of communication..."). 03:42:55 02:18:35 Point's taken. 02:18:51 6 hours is not enough. 02:19:57 Not enough what? 02:19:59 Sleep? 02:20:05 Sleep. 02:20:19 * crc has slept for nine hours over the last three days 02:20:36 I don't get much sleep :-) 02:20:50 Well. I'm going to sleep about 3-4 hours next 2 days. 02:21:32 Nothing wrong with that 02:21:32 But that doesn't make 6 hours "enough." 02:22:09 The amount of sleep needed differs for each person 02:22:41 I _need_ about 4-5 hours of sleep each day to function without being tired 02:22:55 I can still work effectivly with 2 hours of sleep 02:22:59 --- quit: kc5tja ("Lost terminal") 02:23:43 I can. But with many restrictions. 02:23:59 I am fine as long as I keep working 02:24:11 When I stop, I get tired very easily 02:25:00 It's hard to imagine anything when I've not slept enough. 02:26:23 I understand that 02:26:43 But my body gets tired long before my mind does :-) 02:27:14 * crc has been known to wake up suddenly after his mind solves a problem 02:28:40 The problem is than in nearest future I need my mind more. 02:38:50 * crc just discovered that there is a bug in RetroForth's number handling 02:40:13 Does anyone know good soft for graph plotting? 02:40:24 I know GNUplot. 02:41:00 Req.: Linux and Windows (NT). 02:41:55 Sorry, it's written gnuplot. 02:46:08 --- join: Serg (~knoppix@193.201.231.126) joined #forth 02:46:21 ASau: I like Grace (http://plasma-gate.weizmann.ac.il/Grace/) 02:46:30 hi 02:46:47 Hello Serg 02:46:50 do you have any example of Telnet-like thingie in Forth ? 02:47:07 i try to make tiny IRC client for windoze 02:47:44 tryed Perl - win implementations lack Threads and die silently on Select syscall 02:48:55 tried some sort of Basick w/ sockets (and threads) - only first line from server accepted ;(( 02:49:19 Ba_sick_ - nice typo ;)) 02:49:32 Why do you want to make your own IRC client for windows? 02:52:29 just for fun 02:53:03 initially, i wanted universal one-file thing in Perl, requiring only standart packages 02:53:24 but seems like windose perls lose completely 02:54:18 Dobryjj den', Serg! 02:55:30 hi 02:55:55 Serg, why not netcat? 02:56:44 --- join: schihei (~schihei@pD9548BAD.dip.t-dialin.net) joined #forth 02:56:59 does somebody knows a nice documentation tool for Forth code? 02:57:34 --- quit: solar_angel ("*later*") 02:59:06 ASau: netcat does _not_ take away trouble of async comm w/ user 02:59:32 if only netcat would be plugin-enabled.... 02:59:40 schihei: http://www.xs4all.nl/~rfsber/Robo/robodoc.html 02:59:54 i could write a pair of filters - and voila ! 03:00:39 schihei: http://decweb.bournemouth.ac.uk/staff/pknaggs/papers/literate.html 03:01:13 schihei: those are the only documentation tools for forth that I know of at the moment 03:01:54 * crc writes documentation in a separate program (NoteBook), and just puts a few comments in the code 03:10:16 What's understood under "documentation tool?" 03:10:25 crc, I've tried robodoc, but it seems that there is support for 03:11:10 crc. Maybe noweb? 03:11:57 BTW, why not use shadow blocks? 03:12:08 ASau, something like doxygen or javadoc, you put *special* comments in your source code, which are interpret by the ducomentation and, which then creates the API documentation to several output formats 03:13:27 I don't like shadow blocks 03:13:42 Well, why not noweb or nuweb? 03:16:47 what the hell are shadow blocks? invisible entries in the dictionary? 03:17:27 In a Forth with blocks, you have code blocks and shadow blocks to comment the code blocks 03:17:30 For each block of source you have another block of comments. 03:17:46 With line to line correspondence. 03:20:05 Serg, AFAIR there're small IRC clients on the net. Something like TinyIRC etc. 03:20:05 shadow blocks are annoying 03:20:39 crc, why? 03:21:10 they make interpreting source more difficult 03:22:22 That depends on how they're placed into storage. 03:23:17 ASau: not only for using, but for fun of coding too ;)) 03:23:39 Every Forth with blocks that I've used has a code and shadow blocks alternating 03:24:06 Serg, I mean, you can look into another ones' code. 03:24:36 crc. You have only redefine --> to fit your needs. 03:25:39 It has to increase screen number to interprete by two. 03:27:13 RetroForth 7 uses blocks, but not shadow blocks 03:27:33 Anyone who wants shadow blocks will have to add them 03:28:06 crc: redefine THRU 03:28:19 to jump over odd shadows 03:28:19 I don't have a "THRU" word 03:28:44 or whatever you use to interpret sequence of blocks 03:29:30 I push the address of the first block, then the count in bytes, then call "eval" 03:30:49 hmmm... 03:31:04 --- quit: TBW-sleeping (No route to host) 03:31:17 count of blocks ? 03:31:37 the number of bytes to interpret 03:33:26 That's because you hold everything in memory. 03:33:26 When I write a block editor, it'll be able to interpret a single block, but the startup blocks need to be sequental 03:33:30 Yes 03:34:04 I don't want to have to load/save from disk any more than necessary 03:34:10 But who forgives you to place shadow blocks after all source ones? 03:34:44 Then I run into the problem of keeping the memory areas from overlapping if I add additional blocks later on 03:35:08 Hm. 03:35:21 Just do everything in parallel. 03:35:36 Do you mmap? 03:35:40 No. 03:35:50 I use a flat linear addressing 03:35:55 crc: use shadow _lines_ ;)) 03:36:03 All code + data in one segment :-) 03:36:13 Serg. ! 03:36:34 The runtime compiler space is determined at compile time ('h' and 'd') 03:37:06 BTW, it's good idea. 03:37:43 When you insert \ and blank at 64th column you almost get shadow line. 03:37:54 I have a half meg of RAM reserved for compiled code, it's more than enough 03:38:04 I don't use \ to do comments either 03:38:07 I use | 03:38:08 :-) 03:38:25 No matter. Use | instead of \. 03:38:39 That does not change anything. 03:39:19 I put comments in (or near) the 32nd column if they're needed 03:40:37 Vertical code? 03:40:47 : | 10 parse 2drop ; | Enable comments 03:40:47 : ." '" parse type ; | Text output at runtime 03:41:29 But I seldom comment the Forth code (it's normally obvious what the code does) 03:41:42 crc: me too ;)) 03:42:10 i coded one project in one-liners, and it was enough space in 80-line for comment ;)) 03:42:25 Really complex things get separate pages in the documentation 03:42:32 Most words are one liners 03:42:44 I've set 64-column lines in Emacs. 03:43:41 Actually, every forth word in RetroForth 7 is a one-liner at the moment 03:43:48 * crc doesn't use emace 03:43:55 s/emace/emacs/ 03:44:18 It won't fit on my Linux boot floppy :-) 03:44:53 When I get to floppy level, I'll have screen editor. 03:45:20 And shadow blocks. 03:45:31 I still need to code an editor 03:45:35 Probably. 03:45:55 Why not reuse FIG F. portable editor? 03:46:01 Too complex 03:46:12 ??? 03:46:13 I just want a simple line editor 03:46:25 It's line-oriented. 03:46:32 I don't have most of the words needed for FigForth's 'portable' editor IIRC 03:46:50 * crc begins looking for the source code to check it again 03:46:52 You can write them. 03:47:12 MATCH is taken from MVPs F. 03:47:36 personally i dislike blocks and dialog 03:47:36 i use files and compile-run-edit cycle 03:48:07 But if you do not want FIND you can omit that part. 03:48:36 do you have a link to Fig's portable editor 03:49:10 Wait a minute. 03:52:05 ftp://taygeta.com/pub/Forth/Archive/ibm/forth.arc 03:52:12 Check spelling. 03:52:42 It is inside forth.scr file. 03:58:02 It's still more complex than I'd like 03:58:57 I want something that'll fit into a 1k block, at the largest 03:59:02 Smaller is better :-) 03:59:25 I can suggest 4-line MVP-style editor. 03:59:35 4 lines? 04:00:00 It can only erase line and replace line. 04:00:34 That's all I need 04:00:57 Well. 04:01:25 You need a word: ( line screen --- addr ) 04:01:47 I can code that easily enough 04:01:50 : E ( line -- ) SCR @ LINE C/L BLANKS UPDATE ; 04:03:35 : PP ( line -- ; "text" ) HERE C/L 1+ BLANKS LF WORD LINE HERE COUNT >R SWAP R> CMOVE UPDATE ; 04:04:14 Or first use E to clear line in buffer. 04:04:39 DECIMAL 64 CONSTANT C/L 04:05:08 ... CONSTANT LF ( your line feed ) 04:05:42 Name PP is taken after MVP Forth. 04:05:50 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 04:05:59 God afton, qFox! 04:06:07 yo 04:11:57 crc. What X server can you recommend for WinNT 5? 04:13:05 http://www.microimages.com/freestuf/mix/ is good (and inexpensive) 04:13:20 Cygwin has one, but I haven't tried it yet 04:14:52 I've also used WinaXe, and it's excellent though more than I can afford these days... 04:19:49 If you're doing X over a network, VNC is probably a better choice 04:21:33 * crc likes VNC a lot 04:22:42 I think Grace requires X and can't be run natively. 04:25:05 i reboot to windoze, bye or brb 04:25:09 --- quit: Serg ("Leaving") 04:27:15 There is a windows version of Grace 04:27:28 ftp://plasma-gate.weizmann.ac.il/pub/grace/contrib/bin/grace-5.1.9/grace-5.1.9-ix86-pc-win32.tar.gz 04:34:14 Well, I have to go now 04:34:21 --- part: crc left #forth 05:07:03 --- join: Robert (~snofs@c-bf5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 05:38:34 God kvaell, Robert! 05:38:57 In fact it's just afternoon, but dobryjj vecher, ASau. :) 05:41:23 "For whom how." :) Jedem das seine. 05:42:11 Genau 06:27:25 --- join: TheBlueWizard (TheBlueWiz@pc7bdn1d.ppp.fcc.net) joined #forth 06:27:26 --- mode: ChanServ set +o TheBlueWizard 06:33:20 Hi wizard. :) 06:37:41 hiya Robert 07:15:56 some short question, is this comment valid: 07:15:57 ( ****f* module_name/function_name [1.0] * 07:15:57 * NAME 07:15:57 * SYNOPSIS 07:15:57 * FUNCTION 07:15:57 * INPUTS 07:15:58 * RESULT 07:16:00 * EXAMPLE 07:16:02 * NOTES 07:16:04 * BUGS 07:16:12 * SEE ALSO 07:16:14 **** ) 07:16:23 I think it should not go over multiple lines. 07:20:09 ( .... ) can span multiple lines 07:20:23 just like C's /* .... */ 07:22:46 ok, thanks 07:27:09 whee! 07:27:11 terve 07:27:19 * mur tekee ruokaa 07:34:16 moi mur...ok...hyvää ruokahalua! 07:45:11 Terve! 07:45:26 mur, a teper' po-russki. 07:45:41 Ili po-anglijjski, pozhalujjsta. 07:47:47 privet alekseij 07:48:06 I wonder, how does ANS define, can ( span multiple blocks? 07:51:03 schihei, in some implementations one line QUERYed is similar to block. 07:51:26 Thus ( do not span across those lines. 07:51:55 In contrast, one block is single line, actually. 07:52:16 It is you, who see different lines there. 07:56:08 hmm 07:56:41 seems the definition of ( varies :( 07:57:23 ASau, ok, so the better way is to do it in such way: 07:57:30 \ ****f* module_name/function_name [1.0] * 07:57:30 \ * NAME 07:57:30 \ * SYNOPSIS 07:57:30 \ * FUNCTION 07:57:30 \ * INPUTS 07:57:30 \ * RESULT 07:57:31 \ * EXAMPLE 07:57:31 \ * NOTES 07:57:32 \ * BUGS 07:57:34 \ * SEE ALSO 07:57:36 \ ********* ) 07:57:38 atleast without ")" in the last line :) 07:59:09 or this way: 07:59:10 ( ****f* module_name/function_name [1.0] * ) 07:59:10 ( * NAME ) 07:59:10 ( * SYNOPSIS ) 07:59:10 ( * FUNCTION ) 07:59:12 ( * INPUTS ) 07:59:15 ( * RESULT ) 07:59:17 ( * EXAMPLE ) 07:59:19 ( * NOTES ) 07:59:21 ( * BUGS ) 07:59:23 ( * SEE ALSO ) 07:59:25 ( ********** ) 07:59:27 but I prefer the first solution 08:03:15 I think, it is upon you. 08:04:12 grammar correction: "it is up to you" 08:04:23 OK. 08:04:40 I'd write this way: 08:04:46 --> 08:04:50 Comment. 08:05:00 08:08:10 In fact it is very complex. 08:08:16 Do you write man page? 08:09:35 I write two or three lines comments _at_most_ and description of the whole wordset. 08:10:32 No just develop code, and like to create the API documentation with help of comments in the Source Code. 08:10:45 win32forth appears to have Comment: and Comment; 08:10:54 to span multiple lines 08:11:20 I don't think it is useful. 08:11:26 i'm just saying.. 08:11:29 :) 08:11:46 i encountered it in a couple of source files 08:11:48 qFox, I know, but I prefer to use std. comment words. 08:11:57 When you've factored enough, you don't need long remarks. 08:12:02 true. i use \ myself for any comments 08:12:40 And you can use separate vocabulary to hide internal words. 08:12:55 ASau, I know, but sometimes it would be useful 08:13:06 I don't see where. 08:13:36 for library functions 08:13:48 If you write documentation, you'd better put this in separate file or block. 08:14:47 yeah, but then you have always the problem that code and documentation is not common. 08:14:54 or the same. 08:16:24 When you change the definition, will you change your "man page" if it is at the top of file? 08:17:18 I think, it's better to change comments. 08:17:32 I think the chance that you will change it is higher 08:17:40 Source should be readable. 08:18:00 Source is to be readable. 08:18:15 I don't think so. 08:19:04 ASau, exactly I agree with you, but for example. You have on big function which should probe the PCI Bus you will create a lot of factor, but you still have a main word like probe-pci. And this should commented -- not the factoriezed sub-words. 08:19:33 It's more frequent not changing documentation if documentation is not written first. 08:20:18 Well. What does "probe" do? 08:21:07 If it sends result console, then it may be not commented at all. 08:22:09 The same when it LOADs driver. 08:22:18 And flags are evil. 08:23:17 ASau, yeah, but think about persons who must go in touch with your code, then sometimes comments are nice, which describes how the thing works 08:24:12 If they want to hack the code, they'll read documentation even if it is separated from code. 08:24:56 If they only want use the code, separate documentation suffice. 08:26:12 I like to have some documentation in the code, because you can get fast in touch with it :) 08:26:37 Well. If your code is readable, it is readable. 08:26:37 and look at javadoc or doxygen -- I think it's a great solution 08:26:56 Long comments are not comments. 08:27:09 If it is long, it is documentation. 08:27:22 I don't like doxygen idea. 08:27:33 Literate programming is better. 08:29:07 :) yes, but you also can use it. 08:33:59 I think it is bad idea. 08:34:14 Half documentation is not documentation. 08:34:22 Half code is not code. 08:35:36 It is difficult to read, when everything is interleaved. 08:36:53 I'm not sure, I still think it's not bad. The problem in Forth is that you have heavy factorization of function and modules, not like in C. 08:39:41 It's because C lacks modularity at all. 08:40:13 :) hehe 08:40:49 I would be very grateful if these C maniacs wrote their functions at least no longer than 20 lines. 08:41:09 And without 8 nestings. 08:42:23 When every nesting is indented with 4 spaces and code starst on half of the screen it's the hell. 08:43:58 yes, in this point I totally agree with you :) 08:44:10 heh...there are some who doesn't know how to write it cleanly 08:46:32 I think they also use Emacs. 08:46:38 But in C-mode. 08:47:04 Or another editor, that does indentation automagically. 08:47:18 :) 08:47:37 I don't like Emacs, it's not an Editor it's an own programming language 08:48:03 I tried to use it 08:48:05 I like it for its programming language. 08:48:08 well, I did use it 08:48:34 wen't back to vim eventually though 08:49:12 I prefer to use vim, if I must use one of this editors. 08:49:51 It's because LISP is older than Forth and more powerful, we have Emacs with Gnus and other stuff within. 08:50:56 My choice of editors: Emacs, JED, JOE, TECO, ed. 08:51:02 No place for vi(m). 08:51:12 I like jed 08:51:38 My choice, Visual Slickedit, Nedit, VIM, joe. 08:52:01 JED is Emacs with S-lang instead of E-LISP. 08:52:25 what is teco? 08:53:05 "Text/Tape editor and corrector." 08:58:03 gotta go...bye all 08:59:01 --- part: TheBlueWizard left #forth 08:59:32 http://www.wordiq.com/definition/TECO 09:00:25 Gy. http://www.catb.org/~esr/retro/ 09:01:09 thanks =) 09:02:57 TECO actually is fine. 09:04:09 It is like Forth inside. 09:47:52 mur, JFYI. 09:48:29 I've found very good description of INTJ in our classical literature. 09:49:08 Much better than in those set of articles at 209.*.*.* 09:49:36 I'm reading and laughing at it. 09:51:31 ASau, hmm? 09:51:37 j = just 09:51:53 url? 09:54:01 I'm checking "Gutenberg" now. 09:56:44 Ivan Sergeevich Turgenev 09:56:54 But I don't see the novell. 09:56:59 Still looking. 09:57:01 which novelle? 09:58:07 In Russian it's called "Otcy I deti" ("Farthers and Sons"). 09:59:50 http://lib.ru/LITRA/TURGENEW/otcydeti.txt 10:00:04 if you want Rus. text. 10:05:11 I don't see this in "Gutenberg" collection. 10:05:28 Do you know another e-libraries? 10:05:33 INTP description/profile = http://thin.bespin.org/intp.html 10:05:57 1. We speak about INTJ. 10:06:12 2. We speak about Rus. classical literature. 10:06:56 * arke is awake 10:06:57 i am aware of 1. 10:07:03 i gave the url any fucking way 10:07:08 It's interesting, that we are to read that novelle in school. 10:07:09 cuz its such a good profile for INTPs 10:07:15 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 10:07:24 --- mode: ChanServ set +o kc5tja 10:07:25 Good evening, kc5tja! 10:07:32 Good morning. 10:07:39 good morning kc5tja 10:07:43 Morning, and bye 10:07:45 arke: Good evening. 10:07:46 kc5tja: can I msg you something? 10:07:52 Robert: you going to sleep? 10:08:02 At 7pm? No. 10:08:04 arke: Sure. 10:08:07 Robert: :) 10:08:07 I'm going out for a while 10:08:12 Robert: ok, later :) 10:08:12 It looks like you come here just when we start speaking. 10:08:16 kc5tja: alright, one moment 10:08:34 I just woke up, personally, so i'm going to be afk for a bit eat breakfast (cold pizza -- yes!!) 10:08:45 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 10:08:51 Wah! 10:09:08 Guten Abend, tathi! 10:09:34 Hiya ASau 10:09:59 I love cold pizza ^_^ 10:10:01 Should I say good night? Just like kc5tja word on Serg's joining? 10:10:04 moin tathi 10:14:15 Hey arke 10:14:35 ASau: I usually say that because I'm on my way to bed. :) 10:14:58 I know. 10:15:37 We live in the same town, Serg and me. 10:15:54 Oh, cool. 10:18:35 You guess, why I've said that. :) 10:51:10 cold pizza, warm beer ... breakfast of champions 10:51:18 Hehe 10:51:20 --- nick: MrGone -> MrReach 10:51:39 :) 10:51:39 hi MrReach 10:51:45 too 1.5 hrs to read backlog ... blah 10:51:51 greets, arke 10:51:52 MrReach: would you care to know what I'm doing right now? :PO) 10:52:26 erm .. sure, as long as it doesnt involve catching something in a rag or paper towel 10:54:12 * fridge coughs 10:54:39 * MrReach considers how to spend his day today 10:55:55 MrReach: I am writing a little interpreter in gfroth which spits out raw binaries that I can slap ontop of Robert's F kernel 10:56:13 then, with that, I can further develop F -> F2 10:56:15 on F 10:56:15 actually, I think i'll finish building these shelves and move the router(s) today 10:56:24 * kc5tja is researching DAMA networks again. 10:56:31 oh, cool 10:56:33 then, I will rewrite that GFroth thing to F2 :) 10:57:07 btw, don't remember who used the phrase "lodsd;eax jmp" earlier ... 10:57:23 but DO NOT DO THAT 10:58:03 it totally screws the instruction pipeline of the P3/P4 processors, despite being only 3 bytes long 10:59:20 MrReach, your suggestion? 10:59:21 the sequence "mov eax [esi]; add esi, 4; jmp eax" will run 8-16 times faster 10:59:44 Did I not tell you this many moons ago on this very channel? 10:59:47 But no, nobody believes me. 10:59:50 and take some effort to align to 32 byte instruction cache boundry 11:00:01 you == the channel in general, not MrReach in particular. 11:00:50 it's not anything serious, i just saw it mentioned earlier 11:01:20 I have no P3/P4, so does it matter? 11:01:23 also, if you're actually on an i386 then the lodsd is fine 11:01:45 of course it matters 11:01:53 you will, someday 11:02:15 and most people who download the kernel for trial will be on P3/P4 11:03:14 heh, come to think of it, the p3/p4s are so fast, noone would probably notice 11:04:04 but it would save a lot of low-level clocks 11:04:27 If practically noone would notice, does it matter? 11:04:54 that depends if the forth is ever heavily used for anything 11:05:06 Is the Forth going to be open source? 11:05:12 if the application is processor intesive it'll make a dramatic difference 11:05:27 If so, then I don't think it'd matter as much, because then people would just change it to suit their requirements. 11:05:41 I think, in that case everyone will use FORTRAN. 11:12:27 --- join: Sonarman (~matt@adsl-67-113-234-188.dsl.snfc21.pacbell.net) joined #forth 11:15:33 --- quit: tathi ("leaving") 11:15:57 so, I shouldn't use the string instructions at all? 11:16:18 only to move large blocks of data 11:17:08 well, if I'm moving large blocks, then I'd rather use MMX though, right? :) 11:17:33 hrm ... hadn't thought of that 11:17:49 not sure it would make a difference for block copies 11:19:27 String instructions also are slow for moving large blocks of data. 11:19:43 Use of MMX and/or FPU registers is faster, and allows a degree of software-derived pipelining. 11:29:17 --- nick: MrReach -> MrGone 11:30:29 --- quit: lalalim_ ("leaving") 11:35:13 hmmmm it really sux i dont have a "fast n simple" way to get a graphical window (with pixel control) to draw images 11:36:53 SDL? :) 11:37:15 in forth? under windows? 11:39:03 --- quit: Sonarman (Read error: 110 (Connection timed out)) 11:42:09 i think i'll make some kind of image creating code. seemed to work for me under php (those png libs) 11:43:02 once created some nifty statistical page with on the fly png graph's from data from a mysql database. it was soooo leet, and it was soooo not accepted and we fluncted the whole fucking project. 11:43:15 (in php) 11:44:53 --- join: Herkamire (stjohns@h000094d30ba2.ne.client2.attbi.com) joined #forth 11:46:03 --- join: Sonarman (~matt@adsl-64-160-164-167.dsl.snfc21.pacbell.net) joined #forth 12:00:30 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 12:02:02 qFox: what were their grounds for not accepting the project? 12:02:38 why use the string instructions at all, then? 12:03:11 sting instruction? 12:03:36 Sonarman: If space is more important than speed (e.g., in the boot sector of a harddrive or floppy drive for example, where you have only 512 bytes to start out with), they may be useful. Otherwise, there really isn't any need, and both AMD and Intel *actively* advocate *against* their use. 12:03:37 the last resort of a beekeeper whose property is being trespassed 12:03:50 kc5tja: ok 12:06:37 why are they so slow (a link would be great)? 12:07:00 fridge> according to the "employer" the product wasnt satisfactory to his demands 12:07:14 and the employer decides whether we pass or fail 12:07:21 which is simply retarded 12:07:36 since our teacher (or the one who guided us anyhow) was impressed by my work 12:07:49 so we got really screwed by all this 12:08:04 Sonarman: Because they are not pipelinable -- they must be implemented using microprogramming inside the CPU. Since it's a single instruction, it blocks one of the pipelines in the computer. Since both pipelines are inter-locked, eventually, the OTHER pipeline will stall too. So, what ends up happening is a single instruction causes the (near) immediate cessation of instruction execution in both pipelines. 12:08:22 --- quit: warpzero (Read error: 104 (Connection reset by peer)) 12:08:25 (at least until the string instruction has completed its work) 12:08:25 qFox: what were his demands? 12:08:52 Gaah. I just overflowed one of my forth's dictionaries. 12:09:10 Took me almost half an hour to figure out why suddenly all of my words seemed to be immediates... 12:09:34 he had a business in sms services (hmmm not so intresting as it sounded at first btw), and he wanted to be able to show his customers the statistics of their lines 12:09:56 the ones they rent from him basically (even though he himself rented those lines from another company... doh) 12:10:36 so he wanted a statistical page, where the user could overview calls made, choices made, etc. (press 1 to continue) 12:11:12 --- join: warpzero (~warpzero@dsl.142.mt.onewest.net) joined #forth 12:13:52 anyways. he wanted some neat graph, and we had to work with php (never did that before). at some point i found some image libs to create a png, pretty leet stuff imo 12:17:29 --- join: Sonarman_ (~matt@adsl-64-160-164-37.dsl.snfc21.pacbell.net) joined #forth 12:17:29 --- quit: Sonarman (Read error: 104 (Connection reset by peer)) 12:17:44 --- nick: Sonarman_ -> Sonarman 12:30:03 what do they mean when they say, "the parallelism inherent in many multimedia algorithms?" 12:30:19 hi Sonarman :) 12:30:34 :) 12:30:44 * arke has an OT question 12:30:56 how do those NASCAR MT's work? They don't have to clutch to shift ... o.O 12:35:22 Yes they do. 12:35:46 Many racing transmissions are either (actually) automatics, OR, they have what are called "pneumatic clutches." 12:35:57 This is why in race cars, you sometimes hear a "PSSST!" when they change gears. 12:36:22 Whether racing auto or not, they're more often than not controlled by computer. 12:37:02 Manually operated clutching is just too slow with the kinds of horsepower these cars produce. 12:37:52 aah, i see 12:37:59 sequential gear boxes 12:37:59 :) 12:38:04 * arke loves howstuffworks.com 12:39:56 Personally, if I were to build a race car, I would consider using a chain-driven mechanism, like bikes use. 12:40:47 These require less lubrication requirements, and therefore, should make for a lighter-weight transmission. 12:41:04 CVTs are becoming increasingly used in racing scenarios too. 12:41:41 kc5tja: I thought the 'PSSST!' noise was from the turbochargers blow off valve 12:41:46 * arke is waiting for an american company to build a rotary race car and have it enter nascar 12:41:49 :) 12:42:21 maybe there are different types of pssst! noises 12:42:22 =) 12:42:39 fridge: As I understand things, turbochargers are forbidden in Indy 500 and Formula-1 races, since they're already allowed to have V-10 engines with very precise horsepower outputs. Yet, they still make the "PSST!" noise. 12:43:40 arke: It'll never happen. Rotary is forbidden in NASCAR. 12:43:53 it is? 12:43:54 :( 12:44:02 Rotary is, in fact, banned in nearly *EVERY* race organization out there, with only two exceptions that I'm aware of: Formula-Mazda and SCCA events. 12:44:12 Yes, because it poses what they call an "Unfair Advantage." 12:44:47 In other words, rotaries are so overwhelmingly superior to the "average joe blow" engine, that they're forbidden because it's almost guaranteed that you'll win the race if you have one. 12:45:10 This is because the rotary (unlike a piston engine) produces maximum torque on the HIGH end, not on the low end, where a piston engine rules. 12:45:44 rx8 looks purdy 12:45:49 fridge: indeed. 12:45:52 And since most races keep the engine spinning fast, it follows that the rotary will utterly demolish the competition in both handling and traction control, as the driver has much more control over power output demands at those speeds. 12:46:00 pity I can't justify spending that kind of money on cars 12:46:09 fridge: No kidding. :/ 12:47:22 * arke could get an RX-7 for free, would have to fix it up though 12:47:24 I'm saving up to dump about $4K or so into my RX-7, so I can keep it on the road as long as I can. I love my RX-7. It's not the fastest car on the road (it has the same acceleration curves as a 1st gen RX-7 since it's so damn heavy), but it's sleek, smooth, and drives like a dream. And it handles fantastically. 12:47:43 kc5tja: even though it's an AT? :) 12:47:47 I think I'll wait until I'm older before I delve into sports cars 12:47:57 the insurance premiums will be so much more affordable 12:47:59 arke: I can do 0 to 60 in my *SLIPPING* AT in 9 seconds. 12:48:12 I have to manually change the gears to do it though. 12:48:36 And it spews ATF all over the road when I rev it very high. 12:48:38 bleh, slipping = bad 12:48:41 Otherwise, it can do it. 12:48:44 ATF? 12:48:45 oh 12:48:48 tranny fluid 12:48:51 arke: You knew it was slipping. I told you before. 12:48:58 yeah, i know. 12:49:04 but now I know why it's so bad 12:49:05 then i didn't 12:49:06 :) 12:49:11 Heh 12:49:22 Of the $4K I'm saving up for, $2.5K goes into that transmission. 12:50:19 buying a new one, or fixing it up? :) 12:50:29 bleh, a new one would cost more than that though... 12:50:35 I have to fix it up; they don't make new transmissions for this car anymore. 12:51:01 I mean, as far as I can tell, a gasket needs to be replaced, and the internal clutches need to be replaced. 12:51:05 Otherwise, the transmission works. 12:51:25 It's not like the teeth on the gears are about to break (although I'll definitely have those checked, of course). 12:51:33 :) 12:51:47 my clutch doesn't slip at all, which is nice. 12:51:51 and its older than I am 12:51:56 MT or AT? 12:51:58 and was never replaced 12:51:59 MT 12:52:10 Clutches, properly cared for, should never be replaced. 12:52:11 Ever. 12:52:20 Really? 12:52:29 I've replaced them on two of my family's cars now. 12:52:31 well, the car survived me learning MT on it :) 12:52:37 The previous owner of my current car did a lot of street racing, and basically *slammed* the transmission to take off from the line. 12:52:39 I abuse clutches 12:52:44 because I rarely drive manuals 12:52:51 so whenever I do, its like learning to drive them again 12:53:00 Since rotaries have low torque at low RPMs, you need to rev the engine to 4K or so before dropping it into first just to compete with a similarly powered piston engine. 12:53:05 I *NEVER* take this tactic. 12:53:25 Every time I race, I rev at MOST to 2K (which most transmissions handle fine), which lets the opponent get the lead temporarily. 12:53:26 I was under the impression that clutches on most manual transmissions weren't designed to last more than 180,000 miles or so. 12:53:27 I see people driving rx-3/4's that do that at every set of lights =) 12:53:44 But I always blow by them just fine eventually, so I never try to impress other with "insane burnouts." 12:54:16 :_ 12:54:17 :) 12:54:33 * arke does 0-60 in like 30-40 seconds 12:54:40 tathi: Well, my first-gen RX-7 was on its original clutch when it died at 262,156 miles. 12:54:53 kc5tja: OK, cool. 12:54:55 kc5tja: didn't it just havfe a broke apex seal? 12:55:45 Guess we've just gotten cars that people have put a lot of wear on the clutches. 12:55:53 arke: Yes, it died due to a cracked apex seal. That basically dropped its performance to 50HP or so, spewed lots of unburnt gasoline out the tail pipe, and bits and pieces of metal were firmly lodged in the catalytic converters. 12:56:18 kc5tja: well, it could technically have been fixable though, right? :) 12:56:38 arke: Technically, yes. But it would ahve easily cost more than a new car. Yes, a *new* car. 12:56:45 ...wow. 12:56:47 Not another used car. But a *NEW* car. 12:56:52 $40k+??? 12:57:06 er, 30, rather 12:57:11 The rotor housings would have major gouges in them, which means some *serious* machining effort to refinish the interior of the rotor housings. 12:57:22 Then the exhaust system would have to have been repaired at the very least. 12:57:38 Then new seals. 12:57:44 Most of the cost is in refinishing the rotor housings. 12:58:07 :( 12:58:13 50HP ... that's like my car :) 12:58:27 Consider: spin something really fast, like in a Dremel moto-tool, and use a knife to etch something in it. That's the same kind of thing that happens inside the rotor housing. 12:58:55 bleh. 12:59:39 Also remember that the interior surface of a rotor housing is coated with a chromium alloy of some kind, which is extremely expensive, because of low volumes. 13:00:01 But, I couldn't complain. It got me home, despite the fact that I was basically driving a bomb at that point. 13:00:04 :) 13:00:31 :) 13:00:44 did it happen like in the middle of the road or something? 13:00:48 Oh, and yes, it was constantly backfiring too, because of the exhaust detonations. One splintered seal makes for two rotor surfaces that are unusable, so lots of gas was being wasted. 13:00:57 Yes, I was doing 75MPH on the freeway at the time. 13:01:44 And it just went *BOOM!!!* and the car lost almost all of its power. The smell of unburnt gas and the sound of particles flowing through the exhaust immediatley told me what had happened. 13:02:01 That doggone car was 26 years old. 13:02:33 It also barely held itself together too -- it was so thoroughly rusted that with all the windows up, whenever it rained, I got wet. :) 13:02:38 But I loved it all the same. 13:02:46 I can't tell you how many road races I won in that thing. 13:02:58 All with a meager 100HP. 13:03:05 I still have pictures of that car. 13:03:19 online? 13:03:33 whee, 75mph on the freeway, and it goes boom ... 13:03:38 No, I don't have the storage space for them online (or, I'm not willing to dedicate space for them) 13:04:00 thats almost like going 50mph, about to take a right turn, and stepping on the brake to realize that you're flooring the brake and it's not slowing down 13:04:19 No. Actually it's not. 13:04:54 When your engine goes BOOM! and you start to slow down due to engine breaking instantly, it's very much the reverse of what you just described. 13:05:02 When I said it lost power instantly, I meant every word of it. 13:05:03 eh.. 13:05:36 I was very lucky to not have been rear-ended on the freeway. I was in the fast lane when it happened. 13:05:46 heh. 13:05:58 did you go from 75 to 50 in like a second or something? 13:06:20 Fairly close to it. 13:06:31 heh... 13:06:42 I couldn't go above 40MPH with the car under only 50HP with a limp rotor. 13:06:58 you couldn't go more than 40? 13:07:11 * arke once barely made 80mph in his 50hp car 13:07:12 Power to weight ratio, dude. 13:07:27 arke: Going up hill or down hill? 13:07:31 kc5tja: neither. 13:07:39 And also you gotta consider transmission gearing ratios too. 13:07:54 kc5tja: that was 5th gear @ 3000rpm :) 13:07:56 My car's tranny is optimized for a rotary putting out close to 100HP. 13:08:07 How heavy is your car? 13:08:21 dunno, but not very heavy. 13:08:37 My car's weight was around 2400 pounds. 13:08:56 And our freeways are effectively all on a hill. 13:09:55 eh... 13:10:08 according to this site, I'm supposed to get 23mpg 13:10:16 * arke yells BS 13:10:28 http://www.fueleconomy.gov/feg/noframes/2242.shtml 13:10:39 What do you actually get? 13:10:43 well, this is supposed to be for a 3 speed AT!?!?! 13:10:47 * arke gets 16-18 13:11:02 Primarily city or freeway driving? 13:11:11 I've found that 10 miles stints on the freeway is NOT considered freeway driving. 13:11:27 I have to drive at least 30 miles on the freeway continuously to get my freeway milage. 13:11:54 primarily city 13:12:04 I get about 16MPG city too. 13:12:22 I guess I could probably get 18-19 if i tried. 13:12:28 but .. I don't try. 13:12:29 Dude, just think. The RX-7 gives you performance, all at the same gas prices. :D 13:13:59 =D 13:14:10 * arke has to do some pretty crazy shit to get performance with this puppy 13:14:35 feathering the clutch a bit for each gear 13:14:41 pushing to about 4000rpm 13:14:55 (it seems to get the same performance at 4k and 5k rpm, oddly) 13:14:58 When you think about it, 50HP *IS* a lot of power. 13:15:20 wtf 13:15:24 If you could weight-reduce your car to around 1500 lbs, you'd have comparable driving performance to my 1st gen RX-7. 13:15:27 this site says I've got 88hp 13:15:28 bs 13:15:39 kc5tja: really? 13:15:48 I just said above: power is irrelavent. 13:15:52 Power TO WEIGHT ratio is. 13:16:30 This is why a 3rd gen RX-7 at 255HP can whomp most Corvettes (though not a C5R -- damn, those are sweet!) in GT racing circles. 13:16:39 I read an article a fair while ago, where they took a stock city car and stripped it down to the frame + enough for a single person to drive it 13:16:57 was quite amusing 13:17:06 it was half taking the piss out of people that add spoilers 13:17:08 Corvettes often have 300HP or so engines, which isn't much more power than what the RX-7 has. But the RX-7 is SO much lighter, that it performs more like a Viper than a 'vette. 13:17:15 and all showy things that do nothing for the performance 13:18:07 fridge: Spoilers are necessary above certain speeds. But when you're doing things like GT racing, you're going through turns so often that you never *really* attain those speeds. 13:18:13 They help, but they also hinder. 13:18:19 You just have to make a judgement call on that. 13:18:53 The RX-7's body design actually produces enough lift that at 110MPH, the car's back-end will actually start to lift off the ground (like an airplane wing). 13:19:07 So many RX-7s designed to go that fast have at least a spoiler, if not an actual wing. 13:19:25 My current '7 can easily do those kinds of speeds, and I can readily feel the back-end get unstable. 13:19:38 :) 13:19:42 But at 80MPH to 95MPH, she is steady as a rock. 13:19:45 kc5tja: like when you were racing that dodge neon? :) 13:20:12 Yes, but that was a straight-line drag race. Not much cornering on that, and the law of inertia was readily exploitable. :D 13:20:15 how odd. 13:20:20 every site says I've got 88hp 13:20:25 maybe I do ...? 13:20:31 It's possible. 13:20:45 then what's explaining the shitty performance I get? :) 13:20:47 Seriously, next time you drive, take *accurate* recordings of how long it takes your car to go from 0 to 60. 13:20:56 ok. 13:21:05 should I try my best to do it as good as I can, or just normal? 13:21:07 arke: It could be anything. exhaust as a huge influence on taking the performance of a car down. 13:21:37 hrm 13:21:48 arke: try it both ways if you can afford to. Just normal ought to be good enough to make relative comparisons with how I drive, since I know my car's power and weight. 13:21:54 * arke will get dressed and go for a test drive soon 13:22:36 * arke looks for a stopwatch in the cellphone 13:22:42 arke did you give that compression url yesterday? 13:22:49 qFox: ? 13:22:58 hmmmm guess not 13:23:29 whoever it was, tnx, its a good page that explains the techniques in normal english :p 13:28:06 --- nick: warpzero -> pussy 13:28:16 --- nick: pussy -> warpzero 13:29:28 --- join: I440r_ (proxyuser@adsl-67-65-218-134.dsl.snantx.swbell.net) joined #forth 13:32:12 --- quit: schihei ("Client exiting") 13:35:21 I should fix up my car like that guy did with his colt 13:35:42 racing stripes, put a coffee can on my muffler, that fun stuff. 13:35:50 take out the back seats 13:36:03 and then race all the civics i can find 13:36:04 =D 13:37:18 * arke gets dressed 13:40:09 awrighty guys, I'm gonna take my dog and my own fat ass and take my car for a few test drives 13:40:18 I'll be back in 30-60 minutes 13:40:32 And you'll get your ass handed back to you. 13:40:32 --- nick: arke -> away 13:40:44 --- nick: away -> arke 13:40:47 damn, already taken :) 13:41:07 kc5tja: indeed. on a silver plate. by a grandpa. in a buick regal. 13:41:18 kc5tja: oh, my dad has a buick regal .... such a sweet car :) 13:41:41 * arke is away: I'm busy 13:41:48 Buicks are muscle cars -- always have been. They just aren't comfortable. 13:41:56 Last time I drove in a buick, my lower back was KILLING me. 13:42:00 --- join: cedricshock (~cedricsho@209-181-58-5.eugn.qwest.net) joined #forth 13:42:06 hey cedricshock 13:42:27 kc5tja: I think it's way comfortable :) 13:42:45 kc5tja: its even more comfortable than my friend's chevy caprice 13:43:20 kc5tja: which is a really funny car ... got this big huge V8 in it, and this crappy AT tranny ... floor it, and you get to wait 5 seconds before you shoot :) 13:43:31 I find the Japanese cars uniquely cater to human physiology like no other automotive manufacturers. 13:43:38 kc5tja: and even then, it takes a while to get up to speed --- its way heavy :) 13:43:40 Haven't driven in a Porsche yet (though I'd like to some day) 13:43:43 * arke doesn't like american cars 13:44:11 arke: Well, the Caprice is intended to be a luxury car, not a sports car. 13:44:18 It's goal is very smooth, comfortable acceleration. 13:44:23 * arke has driven (1) chevy caprice (2) dodge colt vista, imported from japan (3) chevy silverado (4) dodge ram 1500 (5) some BMW 13:44:32 kc5tja: it does have that. 13:44:39 kc5tja: its so funny flooring it though =D 13:44:53 (6) buick regal (7) toyota RAV4 13:45:43 It's kinda like ----- ^^^^^^^^^^^^ 14:00:08 It would be really nice to have a somewhat standard way to link forth with C. 14:01:06 It could have a word CFUNCTION (or something), that takes an address of a C routine, and a number of cells. 14:01:45 And then pushes all of that stuff onto the (real) machine's stack by the C calling convention 14:02:19 Then clean it up and return. (Since cleaning up the stack is the calling procedures job by the C convention) 14:04:45 It would take a bit of work to piece together the addresses of the routines (assuming we already had a tool that used the linking data or pulled them out of the object), and the address the objects loaded at. 14:05:44 GForth already has a module called fflib.fs which appears to be what you are looking for. 14:09:05 * Sonarman gulps nervously 14:09:21 i'm compiling GCC, and i have very little hard disk space 14:09:25 left 14:10:28 i had 120 MB when i started; now i'm down to 22 14:11:16 Sonarman: iirc there is some way to tell gcc to take less hd space when it compiles 14:12:27 hmm 14:12:54 heh, the gcc manual page takes like two seconds to load 14:14:55 can't find it 14:15:12 16 MB :) 14:18:24 there we go 14:18:54 i can't do it 14:36:56 --- join: lalalim (~lalalim@p508AA79B.dip.t-dialin.net) joined #forth 14:37:23 :( 14:37:56 tathi: :( ? 14:38:50 Oops, mischat. 14:42:57 sunburn sux. 14:43:19 my arms and top of my hands are itching like hell 14:50:52 kc5tja: Thanks for pointing out fflib.fs. I'm currently trying to figure it out from the source code (no documentation yet). It doesn't look too bad. (I managed to call slepp in libc). 14:52:02 It's not all-together well documented at all. 15:03:00 Ha ha ha! I got a GTK window to display! 15:03:32 cool! 15:03:36 I should write some documentation for this. It wouldn't be too hard. 15:04:11 (Though reverse engineering isn't where documentation is supposed to come from) 15:06:04 cedricshock: A HOWTO would definitely be appreciated. Though my requirements aren't nearly as complex as interfacing to GTK, I do intend on using SDL for some work here. 15:07:56 kc5tjs: I'm writting the first part right now. I'll need to figure out callbacks next. What's SDL? (I was just playing with GTK because it would give visual feedback) 15:10:34 http://www.libsdl.org/ 15:10:58 Is the html tag that is usually used for code? I know pre works, but it won't do italics. 15:10:59 Cross-platform framebuffer/input library (by Loki, I think). 15:11:28 doesn't preserve whitespace like pre does. 15:11:41 it only uses a monospace font. 15:13:50 tathi: Great. That's what I thought. 15:16:29 kc5tja: 16 seconds, flooring+shifting at 4000, 0-60 15:24:29 arke: I calculate 56HP 15:24:41 Assuming a curb weight of 2665 lbs 15:30:28 Anyone know of an interesting function in a standard library that takes a string and does something observable with it. It would make a good example. 15:33:05 kc5tja: how did you calculate that? 15:36:47 kc5tja: you don't even know my gear ratio or any of that ... lol 15:38:45 arke: accelerating 2664 lbs mass from 0 to 60 mph in 16 seconds takes a certain amount of energy. 15:39:09 yes, but he doesn't know my gear ratio or any of that ... 15:40:42 But 56HP is the same amount of work (think that's the right term) no matter what the gear ratio. 15:41:12 mkay... 15:41:58 But I'm probably using the wrong terms, as my physics is _very_ fuzzy. 15:42:11 Hmm...let me think. 15:42:23 Work is Force * Distance. 15:42:37 Exactly 15:42:38 Power is Work / Time. 15:42:43 Yep 15:43:02 So if you're in a lower gear, the engine is moving more distance, but using less force, and so on. 15:43:38 I think work is also torque * angular rotation. 15:44:06 Well, those are the analogs of force and distance for angular motion. 15:44:27 :) 15:44:33 kc5tja: 2538lbs 15:44:46 Kenetic Energy = 1/2 m * v^2 15:45:00 right. 15:45:18 So you did energy at 60 mph, divided by 16 seconds? 15:45:52 = 3.75 15:46:03 so, how did he figure 56 from that? 15:46:16 Anyone have a little routine to go from a C string to a forth string, and vica versa 15:47:02 err...I usually wind up writing that when I need it. 15:47:08 : s>c ( caddr u -- caddr' ) + 0 swap ! ; 15:47:18 ^__^ 15:47:32 Which way dows that go ? 15:47:40 I don't know what s>c does. 15:47:54 Doh! 15:48:40 Can you do that safely? 15:49:20 cedricshock: no ... :) 15:49:26 You wrote a byte past the end of the string. 15:49:32 cedricshock: yep 15:49:50 cedricshock: that should be a c! btw 15:50:39 ctof(char *str) { char n = strlen(str); memmove(str+1, str, n); str[0]=n; } 15:51:07 ftoc(char *str) { char n = str[0]; memmove(str, str+1, n); str[n]=0; } 15:51:11 How's that? 15:51:19 tathi: We get to/must do it from the forth side. 15:51:34 Oh. So far I've managed to avoid doing that. 15:51:40 Hmm... 15:52:03 Going to C we'd need to make a copy thats one byte longer. 15:52:24 Assuming a c-addr u representation on the stack, yeah. 15:52:30 From C we need to count up the number of bytes before nul and put it on the stack (not so bad) 15:52:53 I was assuming you had it in memory with a count byte at the beginning 15:53:08 Grr... :) 15:53:15 Then they're the same length. 15:53:20 Actually, gear ratio still has an influence, and my calculations may be off. 15:53:27 kc5tja: awesome :) 15:53:33 The test for this is to see whether he can reach 0-60 in the same amount of time going up a 0.2 grade. 15:53:46 kc5tja: Well, I tried :) 15:53:55 But, my engine is 150HP, with a car that weighs 3150lbs, so... 15:54:11 kc5tja: so, 56hp you say. everybody says I've got 88 though. you think theres something wrong with my car? :) 15:54:25 woah, your car is HEAVIER than mine!?!?!? WTF!?! 15:54:38 Yeah. It's an 86 RX-7 GXL with a sound system in it. :D 15:54:49 Although, I have to replace the sound system. :/ It's shot. I broke it. :) 15:55:05 If I had a GXE, I'd ownz j00. 15:55:19 GXEs weigh around 2650 to 2700lbs or so. 15:55:26 :) 15:55:32 omg 15:55:34 But I don't, and it doesn't really matter. 15:55:37 kc5tja spoke l33t! 15:55:38 :) 15:55:45 kc5tja: hey, you killed the neon :) 15:55:49 99% of the time, what determines the race is the driver's skill. 15:55:57 arke: Yes, utterly. 15:56:37 But also remember, too -- the RX-7 is also *VERY* aerodynamic. 15:56:46 It has better aerodynamics than Lamborghinis. 15:56:56 My Cd is 0.29 (most Lambo's have 0.33). 15:57:15 Wait. no, that's the 3rd gen RX-7. MY Cd is 0.31 15:57:22 Which still rocks. 15:57:55 whatever Cd is : 15:57:57 I suspect the supercharged Neon was in the 0.35 to 0.4 range, because of how jacked up it was. Totally ruined its aerodynamic properties. 15:58:01 Coefficient of drag 15:58:05 ok 15:58:27 :) 15:58:38 what was the other car you raced? 15:58:50 the one thast didint even get close? 15:58:50 I was shocked to find that the Muciolago(sp?) from Lambo had a 0.35 Cd. I can't explain why -- it has NO protruding structures at all. 15:59:10 Late-model Toyota Celica. 15:59:16 ok 15:59:34 * arke is away: work 15:59:37 Note that Celicas aren't bad cars. I just think the driver on that one was being a moron. 16:03:04 Hmm... 16:03:13 : ftoc ( c-addr u -- 'c-addr ) here over allot 0 c, cmove ; 16:03:22 How can I allocate a bunch of space without defining a word? 16:03:23 I think. 16:03:36 I just wrote ctof. 16:03:46 Have to go implement cmove quick so I can test it :) 16:04:04 : ctof 0 begin over @c 0> while 1 char + repeat ; 16:04:56 cedricshock: Use ALLOCATE and FREE (similar to malloc() and free() in C). 16:07:46 ok, afk for a bit. 16:26:12 macro all-chars-do ( c-addr ) dup do ; 16:26:12 : ctof ( c-addr -- c-addr u ) dup all-chars-do i dup c@ 0= ?leave drop loop over - 1- ; 16:26:28 there's my l33t version :) 16:27:53 And here's my (working) ftoc 16:27:55 : ftoc ( c-addr u -- 'c-addr ) here dup >r over allot swap cmove 0 c, align r> ; 16:29:58 nice 16:30:31 Took me a bit to get it working, as my WORD puts it (with preceding byte count) at HERE. 16:31:51 I thought DO took an index and a limit? 16:32:12 Oh. 16:33:11 I like it :) 16:39:35 :-) 16:40:45 and WORD doesn't allot, right? 16:42:31 hmm. it's kind of pleasant to hear a metal song that isn't in English, Swedish, Norweigian, or Finnish :) 16:42:49 or German 16:44:03 shade (http://www.imdb.com/title/tt0323939/) is a good movie. 16:44:22 then again i'm usually a sucker for conning movies. 16:56:31 Sonarman: right 16:59:16 qFox: i never saw its release :-/ 16:59:19 i love the con movies 17:20:00 is there a (windows) text editor that allows you to view files in binary mode? 17:20:19 dont ask why, i have my reasons.. :) 17:20:48 or will i have to do something like that myself.. 17:21:59 (prob with google is that it interpreters binary as a plain binary file option, not binary mode (and i mean looking at a file in ones and zeros) 17:25:32 What do you mean by 'binary mode'? You mean as a hex dump? 17:26:27 I've never seen any editor that lets you edit individual ones and zeros. 17:26:32 You will likely have to do that yourself. 17:31:23 k 17:31:34 i just realized that a link i saw earlier was in fact a virus after all 17:32:08 it was suspicious the first time i clicked it (that was about.. 9 hours ago) but then it didnt show the picture (it was in a "da.ru" banner frameset) 17:32:33 i clicked it again (its someone i know pretty well etc, link wasnt "very" suspicious 17:32:55 and now it first showed me some ebay site (odd crappy one, counter hit over 38000 though :) 17:33:14 and then it asked me to download some odd unusual thing so i knew something was up 17:33:46 the link was http://slut-crxxxxxa.ru/mousesports.jpg (obviously this is partially) 17:33:55 Hehehe 17:34:02 gVim is a text editor. You can get it for windows, and it will show non-printing characters. 17:34:04 so if you encounter it, dont bother. 17:34:22 cedricshock> yar but i'm looking for ones and zeros, like you can view in hex? 17:34:27 You might really be looking for a hex editor. 17:34:34 no i'm really not 17:34:44 gvim has a hex-editor mode. 17:34:53 But it lacks a "binary-editor" mode. 17:34:58 and so does ultra-edit, my personal editor 17:35:27 np i'll figure out a simple binary converter for the purpose then 17:35:57 anyways, the page, when loaded, suddenly asked to download "selfexec.wsz" 17:36:05 All right. I have examples together for everything up to callbacks. Time to figure out how callbacks work in fflib.fs. 17:36:12 well at that point its pretty damned obvious :p 17:36:36 I use xxd as a filter with vim to do hex editing. 17:36:48 so looked a bit further, followed some frames, which resulted in more frames and eventually i ended up in a page that had a few of these (javascript timed) 17:36:48 showHelp("mk:@MSITStore:iexplore.chm::..\\..\\..\\..\\programme\\winamp\\skins\\selfexec.wsz::\/exploit.htm"); 17:36:50 Think xxd does binary as well. 17:37:10 i didnt know anyone was still this obvious :s 17:37:52 oh yes, i failed to mention that the help system was fired up from that webpage after a few seconds as well :) 17:38:20 i'm kinda surprised i'm not infected by it 17:38:22 --- quit: tathi ("leaving") 17:38:35 being an explorer user and all... 17:46:32 --- join: TheBlueWizard (TheBlueWiz@pc59dn1d.ppp.FCC.NET) joined #forth 17:46:32 --- mode: ChanServ set +o TheBlueWizard 17:51:24 kc5tja> any progress? :) 17:51:36 What? 17:51:41 i read the page but all i could really find was an updated version of the emu 17:52:06 on the kestrel 17:52:13 That's all that's currently available. 17:52:40 The emulator and the assembler for it is the latest availability. 17:52:47 k 17:54:15 What does >r mean ? 17:54:25 move tos to the return stack 17:58:02 * qFox wonders if a doublebyte huffman technique on huffman compressed data would work 17:58:09 hm its probably been tested tho 18:01:58 What does ' mean ? 18:02:34 looks up the next word on the inputbuffer in the dictionary and returns the execution address 18:02:49 ' dup ,for example 18:06:33 the C analogue of ' would be & for function name...like &printf gives an address of printf function. Hope that helps 18:07:49 if you see ' used inside a word definition, it does not put the address of the next word in the defininition on the stack; instead, when the word is executed, the address of the next word in the input stream at _run_ time will be put on the stack. for example : to ' >body ! ; usage: 4 to myValue . the ' in the definition of TO gets the address of myValue, >body gives you the address of the parameter field for that word (myValue), 18:07:56 TheBlueWizars: Thanks. I figured out what it's being used for. I'm a newbie forth programmer documenting someone elses intricatre and undocumented code. 18:08:56 documenting forth code? 18:09:51 otoh, ['] is used if you want to get the address of the next word inside the definiton, e.g.: : foobar ." The address of dup is: " ['] dup . ; 18:09:57 qFox: documenting a forth / c interface 18:10:52 qFox: without any examples 18:11:19 --- join: blockhead (default@dialin-650-tnt.nyc.bestweb.net) joined #forth 18:11:25 hi blockhead 18:11:39 hey, wassup? :) 18:11:49 hiya blockhead 18:12:12 hey hey hey :) 18:21:44 i think i'll turn to bed early today :p 18:21:53 bye qFox 18:21:59 nite 18:22:01 --- quit: qFox ("this is mirc's last attempt of communication...") 18:22:02 what's early for you? 2:00 AM 18:22:08 d'oh :) 18:23:15 heh, it's 3:30 AM where he is :) 18:23:17 cedricshock: one other thing about '....having obtained the executable address of a word, you can then EXECUTE it...example: 4 5 ' + EXECUTE is same as 4 5 + 18:34:05 --- nick: MrGone -> MrReach 18:35:00 TCL has a rather interesting addon package that allows you to compile C source into a lib, load it into memory, and call it all at runtime 18:36:15 i'm sure it could be done in Forth ... but while a neat idea, i doubt the applicability would be worth the effort 18:36:45 not to mention how much it would irritate the forth purists 18:37:25 screw the forth purists 18:37:33 and screw the ansi purists 18:37:34 :P 18:38:00 lol 18:38:04 heh, futhin ... you need C that badly? 18:38:11 well, I need to go...bye all 18:38:19 be well, TheBlueWizard 18:38:33 bye MrReach 18:38:45 --- part: TheBlueWizard left #forth 18:39:06 MrReach: eh? nah i'm against imperative languages on principle 18:39:25 i think the flawed paradigm of imperative languages ultimately leads to bloated applications and operating systems 18:39:35 take for example windows and *nix. i rest my case. 18:40:05 hmmm ... 18:40:15 I'm not against any kind of language. 18:40:31 i think that's more a matter of what services application programmers expect to be present 18:40:33 If it gets the job done, and it lets me read the program and understand it a year later, then I could care less about it. 18:41:07 for an example that we've seen in the last 10 years ... 18:41:24 suppose you are building a house. if you have to kill a man to get the job done, is that wise? ;) 18:41:51 Is there a simple way to make a string with a null character in it? Like s" Hello World.\0" ? 18:41:57 depends on the neihborhood :D 18:42:08 with win31, the PPP stack was an add-on library that you had to get elsewhere 18:42:39 nowadays, an OS without TCPIP is of limited value, and people would get irritated with it 18:43:10 cedricshock: not portably 18:43:38 whatever system you're on, look at how s" is implemented, then use similar code to implement z" 18:45:28 cedricshock: Unfortunately, no. :/ Some Forth systems have something called Z" or some such (I forget the name that GForth uses), but it permits a C-style string. But it is definitely not standard. 19:06:13 --- quit: MrReach () 19:19:08 wikipedia down for anybody else here? 19:19:33 link? 19:20:14 http://www.wikipedia.org :) 19:20:33 tanks 19:20:49 machine guns 19:22:13 it'sd taking awhile to load. might be down 19:22:55 * Sonarman struggles to stay calm. no wikipedia.... no wikipedia... 19:23:31 the browser is still waiting. ping times out 19:23:39 yeah, it's down 19:24:09 I made it work! I figured out callbacks! I have GTK working with callbacks. Howto will be ready in about half an hour. 19:39:37 'nn all 19:39:46 --- quit: blockhead ("laugha while you can, monkey boy") 19:41:00 cedricshock: Awesome!!! 19:41:19 Sonarman: Heheh :) 19:42:11 http://www.evparts.com/about/index.php?show=mazda.ihtml <-- if you want something to look at, check out this electric converted Mazda RX-7 (first generation -- SWEET!), that just mulches the Dodge Viper!! 19:42:31 kaaoutwhat 19:43:01 krdotworkig 19:43:43 Sonarman: ?? 19:43:50 Oh well, I'm going to get some food. Back in a bit. 19:44:36 kbdNotWrk 19:46:02 there we go! 19:46:08 it's working again 19:50:42 All right. Here it is: http://www.shockfamily.net/cedric/fflib.html There's not much explanation, but its almost infinitly more than there previously was for gforth's fflib.fs. 19:51:03 If you have any comments, please make them. 19:52:02 (Now I'm going to go look through that library for a way to get a pointer to a c function so that one could hook c functions directly to c functions without making a forth word callback inbetween) 20:26:08 en implemented naively, leading to various approaches that try to produce a more intuitive behaviour (see Combined words). 20:26:11 It should be obvious by now that parsing words are a bad idea. If you want to implement a parsing word for convenience, also provide a factor of the word that does not parse, but takes the parameters on the stack. To implement the parsing word on top if it, you can use the following words: 20:26:22 sorry :( 20:36:03 Sonarman: I want royalty fees now because you quoted me without my permission. :D 20:36:51 cedricshock: AWESOME!! I'm going to put you in the list of contributors for my CPU emulator project, because this solves a lot of questions I've been having with it. 20:37:01 Dobre jitro! 20:37:22 cedricshock: Also, to get addresses of C functions, look at the "dl" library. 20:37:31 re ASau 20:38:01 JFYI, I know one our RuFIG member was going to hack lcc and port it to Forth. 20:38:05 kc5tja: Thanks. I'll look at it. 20:38:15 i can't figure out how to disable those side buttons 20:38:39 kc5tja: you wrote that? 20:38:53 Sonarman: Something to that effect. I doubt it was me personally. I was being facetious anyway 20:39:02 hehe 20:39:19 grr. stupid xmodmap! 21:15:10 --- quit: Sonarman (Read error: 110 (Connection timed out)) 21:15:51 it always makes me happy when real forthers talk in #forth >:D 21:17:12 hi 21:17:13 hi 21:17:13 hi 21:17:14 hi 21:17:14 hi 21:17:18 hi 21:17:20 hi 21:17:22 hi 21:17:24 hi 21:17:26 ack 21:17:28 sorr 21:17:35 * futhin types /kick arke shhh :P 21:17:41 forgot to press the keys right lol 21:17:48 there was supposed to be only one "hi" here :) 21:17:56 lies! 21:18:02 you use any excuse you can to spam us! :P 21:20:04 Hehe 21:20:12 * kc5tja is reading up on EVs now. 21:20:45 eV? 21:20:56 And I just realized that, due to rising fuel costs, my RX-7 gets *WAY* better milage when I fill the tank to only 5 gallons instead of the full 15 gallons. 21:21:16 Lately, I've been filling it to 5 gallons each stop. I've been getting 18 to 19MPG. 21:21:20 !?!?!!!!??!!??!!?!?? 21:21:23 oh 21:21:24 lol 21:21:27 becqause of the weight 21:21:29 Whenever I keep the tank filled up, it's only 16 to 17 or so. 21:21:35 Yep. 21:22:04 But it's funny, because the car is actually *faster* -- normally, you'd think, "Faster car, faster fuel consumption." But even something as simple as this is so easy to overlook. 21:22:19 This is one of those things where it's "so obvious," you just don't see it. 21:22:23 Until you look at the numbers. 21:24:39 I should run an experiment. 21:25:21 :) 21:25:25 After verifying my tire pressure, making sure I have oil in the pan, and ensuring that I have ATF in the steering pump and the transmission, I should drive the car to work and back, but only fill it up 1.25 gallons or so. 21:25:38 I wonder if I can breach the 20MPG mark by doing this. :) 21:26:14 you might, however, if you do that, then you won't save as your savings will be spent on driving to the gas station 21:26:36 Miles per gallon necessarily includes that factor. 21:26:55 It's precisely 6 miles from the gas station to work, and about 1.5 miles from my house to the gas station. 21:27:22 aah, cool. 21:27:26 :) 21:27:29 so you drive by it anyway :) 21:27:35 Yes. 21:27:50 But even if I didn't, it's still accounted for, since I go only by the odometer reading in the dash. 21:28:03 ^_^ 21:28:06 The only thing it'd really cost me is time, really. 21:28:11 ^_^ 21:28:32 * arke wrote a note to the store manager 21:28:46 it says I'm looking for a new job, and I will submit my 2-week once I find one. 21:29:17 --- join: topher (~chris@4.61.175.184) joined #forth 21:29:26 hello my friend topher :) 21:29:43 oh no 21:29:46 im already associated w/ arke 21:29:49 --- part: topher left #forth 21:30:00 oh that bastard ^_^ 21:30:17 Hmm...the fact that the name started with ~chris wasn't a clue enough already... :D 21:30:21 --- join: topher (~chris@4.61.175.184) joined #forth 21:30:49 kc5tja: no, seriously, it's not me. 21:31:04 kc5tja: ping him, then me, and you'll see we are not the same :) 21:31:11 topher: tell kc5tja that you != me :) 21:31:20 you != me 21:32:31 :) 21:32:58 anyway, we were just talking about cars... 21:34:02 --- topic: set to ':NOTICE: Kestrel project update! See http://www.falvotech.com/weblog for more details. | #c4th has now moved to freenode.' by arke 21:34:36 ..why isn't anybody talking? :) 21:34:54 --- join: Sonarman (~matt@adsl-64-160-165-46.dsl.snfc21.pacbell.net) joined #forth 21:35:39 hi Sonarman 21:35:49 * kc5tja is still reading up on EVs. 21:35:49 hi arke 21:35:55 Sonarman: thanks for your help on the vocab stuff yesterday 21:35:55 EV == Electric Vehicle, BTW. 21:35:59 (since you asked earlier) 21:36:00 kc5tja: aah, ok 21:36:18 arke: sure. hope i didn't confuse you as much as i confused myself, though :) 21:36:46 kc5tja: Where can I find this "dl" thing? 21:37:04 Sonarman: it actually made sense, except for why ANSI named it "also" 21:37:09 cedricshock: libdl is the shared library used for symbolically working with other libraries. 21:37:17 man dlopen 21:37:30 cedricshock: actually easy to use :) 21:37:33 arke: ONLY FORTH ALSO V1 ALSO V2 <-- reads like English. 21:37:33 arke: heh :) 21:37:53 kc5tja: true dat. 21:38:27 kc5tja: Ok. I should have thought of putting lib in front of it. 21:38:48 cedricshock: my book has a whole bunch of stuff about dl, so I can probably help you if you need. 22:03:53 --- quit: Sonarman ("leaving") 22:12:00 topher: hey, guess what 22:12:16 topher: in 23 days, I can start driving you around. 22:13:01 oh boy 22:13:37 topher: don't worry, my car has only 56HP 22:13:56 oh 22:14:03 i thought you were gonna take me away in your big car 22:14:08 well, until I get that RX-7 ... :) 22:14:09 and whatever else 22:16:11 topher: you know how to drive MT? 22:16:24 no 22:16:34 topher: would you like to be taught? 22:16:47 topher: by the best in camarillo, not counting my parents? 22:16:56 uhh 22:17:01 :P 22:17:01 maybe when i get a license 22:17:01 lol 22:17:12 topher: well, get your damn license. 22:17:18 topher: and until then, it's all about the parking lot 22:17:42 it's sitll illegal in a parking lot 22:17:43 lol 22:18:02 no its not :) 22:18:25 depends on the parking lo 22:18:28 lot* 22:20:30 topher: you can't at the albertsons one, but you can at the one across from the old UA theather 22:20:53 oh 22:22:47 topher: that's where I learned, mind you :) 22:23:01 oh 22:23:04 the place of great knowledge? 22:23:10 topher: indeed. 22:23:15 man, what is jessica simpson doing? 22:23:15 aargh 22:23:15 being dumb? 22:23:15 she should be making pr0n, not pizza hut commercials 22:23:19 just thought i'd share that 22:23:19 lol 22:23:22 lol 22:25:07 AFV, channel 3 22:35:08 --- join: _I440r_ (proxyuser@adsl-67-65-218-134.dsl.snantx.swbell.net) joined #forth 22:35:08 --- quit: I440r_ (Read error: 104 (Connection reset by peer)) 22:41:08 Well, I'm off to sleep. 22:41:28 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 22:44:45 --- quit: topher ("Leaving") 22:56:10 god 22:56:16 my friend is such a fucking jew 22:56:21 the problem is 22:56:25 he really is a jew 22:57:06 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 22:57:11 4thers... 22:58:12 :) 23:02:11 i'm debugging my compiler 23:02:21 one day i'll compile the debugger 23:03:29 --- join: Serg (~z@212.34.52.140) joined #forth 23:09:14 hi Serg 23:10:02 hi Serg 23:10:26 hi 23:11:39 whats up? 23:16:06 --- quit: cedricshock (Remote closed the connection) 23:24:02 --- join: I440r_ (proxyuser@adsl-67-65-218-134.dsl.snantx.swbell.net) joined #forth 23:24:03 --- quit: _I440r_ (Read error: 104 (Connection reset by peer)) 23:40:24 --- quit: arke_ (calvino.freenode.net irc.freenode.net) 23:40:24 --- quit: arke (calvino.freenode.net irc.freenode.net) 23:40:24 --- quit: cmeme (calvino.freenode.net irc.freenode.net) 23:40:24 --- quit: onetom (calvino.freenode.net irc.freenode.net) 23:40:24 --- quit: ChanServ (calvino.freenode.net irc.freenode.net) 23:40:26 --- quit: Klaw (calvino.freenode.net irc.freenode.net) 23:40:26 --- quit: skylan (calvino.freenode.net irc.freenode.net) 23:40:28 --- quit: I440r_ (calvino.freenode.net irc.freenode.net) 23:40:28 --- quit: fridge (calvino.freenode.net irc.freenode.net) 23:40:28 --- quit: htp123 (calvino.freenode.net irc.freenode.net) 23:40:28 --- quit: Serg (calvino.freenode.net irc.freenode.net) 23:40:28 --- quit: Herkamire (calvino.freenode.net irc.freenode.net) 23:40:29 --- quit: ASau (calvino.freenode.net irc.freenode.net) 23:40:29 --- quit: lalalim (calvino.freenode.net irc.freenode.net) 23:40:29 --- quit: Fractal (calvino.freenode.net irc.freenode.net) 23:40:29 --- quit: SDO (calvino.freenode.net irc.freenode.net) 23:40:30 --- quit: mur (calvino.freenode.net irc.freenode.net) 23:40:30 --- quit: gl (calvino.freenode.net irc.freenode.net) 23:40:30 --- quit: futhin (calvino.freenode.net irc.freenode.net) 23:40:30 --- quit: Robert (calvino.freenode.net irc.freenode.net) 23:40:30 --- quit: slava (calvino.freenode.net irc.freenode.net) 23:40:30 --- quit: I440r (calvino.freenode.net irc.freenode.net) 23:40:31 --- quit: ianp (calvino.freenode.net irc.freenode.net) 23:42:47 --- join: futhin (thin@bespin.org) joined #forth 23:42:47 --- join: I440r_ (proxyuser@adsl-67-65-218-134.dsl.snantx.swbell.net) joined #forth 23:42:47 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 23:42:47 --- join: lalalim (~lalalim@p508AA79B.dip.t-dialin.net) joined #forth 23:42:47 --- join: Robert (~snofs@c-bf5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 23:42:47 --- join: htp123 (~tehsux@S010600055d233ab7.gv.shawcable.net) joined #forth 23:42:47 --- join: Fractal (jah@selling.kernels.to.linus.torvalds.at.hcsw.org) joined #forth 23:42:47 --- join: fridge (~fridge@dsl-203-113-231-53.NSW.netspace.net.au) joined #forth 23:42:47 --- join: arke_ (~chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 23:42:47 --- join: arke (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 23:42:47 --- join: Klaw (chuck@ip68-225-243-23.oc.oc.cox.net) joined #forth 23:42:47 --- join: SDO (~SDO@co-trinidad1a-156.clspco.adelphia.net) joined #forth 23:42:47 --- join: I440r (~FooBlah@168-215-246-243.gen.twtelecom.net) joined #forth 23:42:47 --- join: cmeme (~cmeme@216.184.11.30.unused.swcp.com) joined #forth 23:42:47 --- join: onetom (~tom@novtan.bio.u-szeged.hu) joined #forth 23:42:47 --- join: skylan (~sjh@vickesh01-4482.tbaytel.net) joined #forth 23:42:47 --- join: ianp (ian@inpuj.net) joined #forth 23:42:47 --- join: mur (~mur@smtp.uiah.fi) joined #forth 23:42:47 --- join: gl (~foo@opcode.org) joined #forth 23:42:47 --- join: ChanServ (ChanServ@services.) joined #forth 23:42:47 --- mode: irc.freenode.net set +oo futhin ChanServ 23:43:18 --- quit: SDO (calvino.freenode.net irc.freenode.net) 23:43:18 --- quit: lalalim (calvino.freenode.net irc.freenode.net) 23:43:18 --- quit: mur (calvino.freenode.net irc.freenode.net) 23:43:18 --- quit: gl (calvino.freenode.net irc.freenode.net) 23:43:18 --- quit: Fractal (calvino.freenode.net irc.freenode.net) 23:43:18 --- quit: futhin (calvino.freenode.net irc.freenode.net) 23:44:11 --- quit: arke_ (Read error: 110 (Connection timed out)) 23:44:12 --- quit: slava (calvino.freenode.net irc.freenode.net) 23:44:12 --- quit: ianp (calvino.freenode.net irc.freenode.net) 23:44:13 --- quit: I440r (calvino.freenode.net irc.freenode.net) 23:44:13 --- quit: Robert (calvino.freenode.net irc.freenode.net) 23:47:54 --- join: futhin (thin@bespin.org) joined #forth 23:47:54 --- join: lalalim (~lalalim@p508AA79B.dip.t-dialin.net) joined #forth 23:47:54 --- join: Fractal (jah@selling.kernels.to.linus.torvalds.at.hcsw.org) joined #forth 23:47:54 --- join: SDO (~SDO@co-trinidad1a-156.clspco.adelphia.net) joined #forth 23:47:54 --- join: mur (~mur@smtp.uiah.fi) joined #forth 23:47:54 --- join: gl (~foo@opcode.org) joined #forth 23:47:54 --- mode: irc.freenode.net set +o futhin 23:47:59 --- join: Serg (~z@212.34.52.140) joined #forth 23:47:59 --- join: Herkamire (stjohns@h000094d30ba2.ne.client2.attbi.com) joined #forth 23:47:59 --- join: ASau (~asau@158.250.48.204) joined #forth 23:48:04 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 23:48:04 --- join: Robert (~snofs@c-bf5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 23:48:04 --- join: I440r (~FooBlah@168-215-246-243.gen.twtelecom.net) joined #forth 23:48:04 --- join: ianp (ian@inpuj.net) joined #forth 23:49:09 net i sorn apiece ;) 23:49:09 net is torn apiece, double typo ;)) 23:59:59 --- log: ended forth/04.06.06