00:00:00 --- log: started forth/04.07.27 00:04:31 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 00:13:33 --- quit: tgunr (Excess Flood) 00:15:18 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 00:25:29 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 00:26:07 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 00:52:52 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 00:54:44 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 01:26:47 * Tomasu is away: dlrrp 01:26:53 --- nick: Tomasu -> TomasuDlrrp 01:32:27 --- join: Topaz (~top@spc1-horn1-6-0-cust117.cosh.broadband.ntl.com) joined #forth 02:03:45 --- join: fridge (~fridge@dsl-203-113-229-162.NSW.netspace.net.au) joined #forth 04:04:08 --- join: crc (crc@0-1pool88-9.nas48.philadelphia1.pa.us.da.qwest.net) joined #forth 04:17:30 --- quit: tgunr (Excess Flood) 04:19:18 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 05:21:19 --- quit: crc (Client Quit) 06:02:59 --- quit: I440r_work (Read error: 104 (Connection reset by peer)) 06:14:18 --- join: I440r_ (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 06:15:29 --- quit: I440r (Remote closed the connection) 06:48:55 --- quit: aum () 06:54:02 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 07:31:54 --- join: warpzero (~warpzero@mi100.dn191.umontana.edu) joined #forth 08:20:44 --- join: ASau (~root@217.16.31.100) joined #forth 08:20:56 Dobryjj vecher! 08:21:19 terve ASau 08:39:59 terve arke ja ASau 09:18:26 --- join: onetom_ (~tom@novtan.bio.u-szeged.hu) joined #forth 09:18:26 --- quit: onetom (Read error: 54 (Connection reset by peer)) 09:54:06 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 09:54:12 --- mode: ChanServ set +o kc5tja 09:56:57 --- quit: tgunr (Excess Flood) 09:59:07 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 10:05:50 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 10:10:57 Good evening, kc5tja and Herkamire! 10:15:13 hi ASau 10:26:12 greetings. 10:31:25 hey kc5tja 10:31:30 how goes the fight 10:31:38 Herkamire: For the TTA ROM image files, I'm tacking on a standard header of $01020304, which the ROM-file reader can use to determine if it's in big- or little-endian format. This way, writing the file is super cheap, and only the ROM reader need be aware of big-vs-little endian ROM images. 10:32:05 Although, maybe I should use IFF files instead. 10:32:09 warpzero: It goes. 10:32:58 kc5tja: will we be able to modify our roms 10:33:16 Via an external programmer, sure. 10:34:39 oh right 10:40:30 just as long as you leave the OS so that I can write assembly directly for it i dont think i really care really 10:41:00 The Kestrel's boot ROM image copies itself to RAM is its #1 thing to do after reset anyway, so the ROM doesn't last. 10:41:30 ROMs are very slow memories compared to RAM anyway; keeping the ROM enabled will slow the system down markedly. 10:42:09 is it going to use the same ROM to program the FPGA 10:42:26 No. 10:42:29 That's not possible. 10:42:55 okay well answer me this 10:43:05 what should i have for lunch 10:43:26 Why are you asking me this? 10:43:35 i dont know 10:44:02 Well there you go. 10:45:22 kc5tja: ok 10:51:52 kc5tja: send me docs on the instruction set and I'll write an emulator for it 10:53:05 Should I write an architecture manual for it? 10:53:06 xxd has lots of options for how it displays 10:55:08 kc5tja: not sure what you mean by that. sounds good though 10:55:53 Just as the PowerPC and SPARC architectures have a generic "architecture manual," that describes the instruction set and behavior patterns for ALL processors in that family. 10:55:58 my farmilliarity with tta architecture is just from your explanations here that I cought, so I'll probably need pretty detailed docs about how the thing works. 10:56:11 kc5tja: yeah, sounds great :) 10:58:09 --- join: Murrlin (murr@dialup-207-218-205-189.ev1.net) joined #forth 10:58:23 Herkamire: OK. You have your choice -- OpenOffice or GNU Info format. :) 10:59:46 kc5tja, TeX, please! 10:59:47 latex! 10:59:58 GNU Info puts out Latex as an option. 11:00:04 And it's a HELL of a lot easier to use. 11:00:07 i say info 11:00:07 yeah 11:00:09 latex smells funny! 11:00:11 info kestrel 11:00:19 lol 11:03:00 --- quit: CrewdenX (Read error: 60 (Operation timed out)) 11:09:36 --- quit: Murrlin ("Mischief managed! ....Nox.") 11:12:39 kc5tja: info 11:12:45 can't bear OO 11:14:32 I figured as much from all the people wanting LaTeX. :) 11:15:35 --- join: CrewdenX (~crewden@me-rockland-qs-452.mint.adelphia.net) joined #forth 11:21:17 --- nick: TomasuDlrrp -> Tomasu 11:21:19 * Tomasu is back (gone 09:54:32) 11:31:24 --- quit: tgunr (Excess Flood) 11:33:26 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 12:09:21 should I continue to use ascii in herkforth? 12:10:13 or should I use some more sensible characterset like: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ... 12:10:52 you forgot the most important characters åäöÅÄÖ :) 12:11:54 --- quit: warpzero (Remote closed the connection) 12:13:11 --- join: warpzero (~warpzero@mi100.dn191.umontana.edu) joined #forth 12:13:56 Frek: yeah, I use those all the time ;) 12:18:45 ascii has some useful properties though... Flip bit 5 and you convert between lower and upercase, for instance 12:18:49 I think bit 5 12:18:52 --- quit: CrewdenX (Read error: 60 (Operation timed out)) 12:18:54 Herkamire: yës ären't thëy usëful ? 12:20:29 eh 12:20:40 you still have to check that the chars are alpha 12:20:42 Fractal: yes bit 5 12:20:49 ümläüts ärë 12:21:19 I think +/- 26 is a pretty easy translation 12:21:59 feels like either way goes for me 12:22:01 in mine it's easier to tell if it's a letter 12:22:34 character|1<<5; / character&(~(1<<5)) or character+26/character-26; 12:23:18 however the bit-flipping has the advantage you don't have to check what case the character is in currently before you apply the translation 12:23:44 yeah... character^32 12:24:10 but has the disadvantage that it's harder to check if a character is a letter 12:25:12 if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) vs if(c >= 'a' && <= 'Z') 12:25:29 well in the case you have to verify if it's a letter or not; either technique goes as you get the "case" check for free in the +/- 26, and you get an extra operation on the bit test 12:25:31 unless you can do that with bit magic too 12:26:06 mmm, mi code is silly, you could just clear bit 6 and check one range 12:26:13 Herkamire: well, you can always if(((c|1<<5)>='a'&&c<='z')) to reduce the amount of tests 12:27:22 here's the pros I care about: 12:27:38 1) number conversion is soooo simple (including to/from hex) 12:28:06 2) low numbered chars are printable and self-explanitory (instead of #*&$@#ing up your terminal) 12:28:41 eg if you print out a byte-counted string, you might see 4blah 12:28:42 Herkamire: however if bit 6 is set you know as much as it's either characters or special symbols :) 12:28:56 if bit 6 is not set it's either digits or control characters 12:31:01 in mine you can check for numbers with <10. alphanumeric with < 62 12:31:41 Herkamire: yes it's basically the samething, just different ways of doing it 12:31:46 the cons are of course that I'd have to do translation to work with ascii 12:32:39 I was thinking at some point that I'd be kinda spiffy about character sets. 12:32:59 Herkamire: why not build a translation table ? 12:33:20 Frek: what do you mean? 12:33:35 to translate to/from ascii? 12:33:53 from/to ascii from another character set 12:34:02 yeah. 12:34:08 I'm sure I'll end up with some stuff like that 12:34:24 just something like char table[0xff] , then mycharactersetchar=tabel[ascii]; and vice versa 12:34:26 I do plan to support loads of different characters at some point 12:34:32 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 12:35:05 I will not use unicode internally, but I may write code to translate to/from it 12:36:01 Herkamire: ya; building tables like this might be a load of work, but it's quite handy once you did it 12:36:57 no, they're not that hard 12:37:11 ok 12:37:29 I've built tables to translate qwerty <--> dvorak several times 12:37:46 ya it's the most common way 12:38:19 I have fancy ideas about supporting all kinds of characters 12:38:24 I've seen some horrible examples with char translatekey(char in){ switch(in){ case 'b': return 'c'; ..... etc 12:38:39 heh. Last time I did that, I only got _one_ key wrong. I was pretty proud of myself. 12:38:49 tathi: :) 12:39:04 :) 12:39:27 although, on some occations I've done qwerty/dvorak translations really easily 12:39:27 Of course, it was '.', so it was kind of hard to see if my forth worked, but... 12:39:41 --- join: CrewdenX (~crewden@me-rockland-qs-452.mint.adelphia.net) joined #forth 12:39:42 just put the keyboard in qwerty mode, and typed the alphabet as though it was dvorak :) 12:40:08 Doh. I never thought of that. 12:40:45 Herkamire: I usually do hard translations in such cases; ie removing and repositioning each character key physically on the keyboard ;) 12:41:14 it's a pain to switch through keyboard layouts though 12:41:20 Frek: yeah, I rearranged my keycaps to dvorak. 12:41:25 Frek: doesn't effect what keycode the keyboard makes 12:41:33 I have the keys rearanged on this keyboard. 12:41:36 it was fun 12:41:43 I had one keyboard where the keycaps for each row were a different height. 12:41:52 tathi: I did the same, although I set dovorak as input in the OS, but positioned the keys for qwerty :) 12:41:56 So when I rearranged them to dvorak, it was all bumpy. 12:41:56 doesn't make much difference. except when others want to use my computer they can hunt and peck 12:42:32 Herkamire: I'm joking of course 12:42:45 --- join: KptnKrill (~kyle@pool-68-239-55-171.bos.east.verizon.net) joined #forth 12:53:38 so how much easier is dvorak? 12:53:44 i tried using it for a bit but never got fast at it 12:54:02 it's a fair amount easier on the hands. 12:54:26 i personally don't type that much faster on it, if faster at all. 12:54:46 I picked it up when I was first learning to touch type. 12:55:15 I was learning qwerty and hit a little plateau at about 35 wpm. 12:55:40 Decided to try dvorak, and within a couple of days was at about 40-42 wpm. 12:55:46 For what little that's worth... 12:56:18 But I'm with CrewdenX -- the nice thing is that your fingers have to move substantially less with dvorak. 12:57:44 Frek, Á ËÉÒÉÌÌÉÃÁ ÅÝ£ ÌÕÞÛÅ. 12:57:50 Of course, it does mean you have to know two keyboard layouts, in case you want to use someone else's computer. 12:58:02 õ ÍÅÎÑ ÅÓÔØ ÁÖÎÏ ÔÒÉÄÃÁÔØ ÔÒÉ ÄÏÐÏÌÎÉÔÅÌØÎÙÈ ÂÕË×Ù. 12:58:15 ôÁËÉÅ, ÎÁÐÒÉÍÅÒ, ËÁË û ÉÌÉ ý. 12:58:16 i can smack out nearly 100wpm on qwerty, on a decent keyboard 12:58:25 á ÅÝ£ ÅÓÔØ ÿ É ø7 12:58:27 Yeah, I never bothered getting that fast. 12:58:28 ù? 12:58:56 Latin doesn't have such capabilities. 13:00:11 I don't have a need for anything beyond 75-80 13:02:16 Herkamire, dig iconv for translation tables. 13:03:31 I keep meaning to learn the one-handed dvorak keyboards, but I still haven't gotten around to it... 13:03:57 --- quit: tathi ("leaving") 13:04:36 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 13:05:40 The appeal of Dvorak for me is the typing comfort. Speed is not an issue for me. 13:06:03 Besides, I can do approximately 90wpm on a QWERTY layout as it is. I doubt I'll ever match that speed on Dvorak just because of the sheer time investment I have on QWERTY. 13:13:27 --- quit: CrewdenX (Connection timed out) 13:14:33 i can type 35 WRONG words per minute :) 13:15:35 I can type about 50% faster in dvorak 13:15:48 but I never got terribly fast in QWERTY 13:16:27 what I keep hearing everywhere is that if you can already type really fast (like 90-100wpm) dvorak probably won't speed it up (least not much) 13:16:50 but that no matter what speed you type, dvorak makes a huge difference for cumfort and rsi etc 13:16:57 * kc5tja nds 13:17:00 * kc5tja nods even 13:17:09 I haven't switched my box over yet because I use QWERTY so much at work. 13:17:58 --- quit: tgunr (Excess Flood) 13:18:12 Maybe that's something I can build and release as a kit, is a QWERTY-to-Dvorak converter for PC keyboards. A physical piece of hardware that basically remaps the scancodes in-situ. 13:18:43 Now that would be neat. 13:19:59 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 13:20:22 Topaz: the interesting thing is not how many net WPM but how many correctly spelled WPM you can get 13:20:58 I feel quite comfortable with qwerty 13:26:23 I feel quite comfortable with JCUKEN. 13:26:38 :) 13:27:31 No need for Dvorak-like mapping, it is already of that kind. 13:27:31 --- quit: KptnKrill (Read error: 104 (Connection reset by peer)) 13:30:43 --- join: CrewdenX (~crewden@me-rockland-qs-452.mint.adelphia.net) joined #forth 13:38:12 --- join: Sonarman (~matt@adsl-64-160-166-132.dsl.snfc21.pacbell.net) joined #forth 13:43:21 Hmm...maybe gdb isn't so bad after all. 13:43:35 I just realized you can make a breakpoint conditional. 13:43:46 And how to refer to registers. 13:44:02 That just makes life *so* much nicer :) 13:47:07 :) 13:53:22 --- join: crc (crc@0-1pool176-49.nas6.philadelphia1.pa.us.da.qwest.net) joined #forth 13:54:04 tathi: no gdb is quite nice once you get used to it, I just think it's slightly unsuitable for assembly level debugging; unless you like to type alot 13:54:14 Frek: yeah. 13:54:34 Personally, I think gdb is gross. 13:54:58 if you're doing single step debugging at assembly level, write "display/i $pc" if you haven't already it will save you some unnecessary typing 13:55:21 Frek: why? Mine displays pc by default... 13:55:42 kc5tja: well, I thought it had no way to let you set register values. I'm not saying it doesn't suck, just that it's not as bad as I thought :) 13:56:45 tathi: it displays what instruction that's at current pc by default ? 13:56:52 oh, the instruction. 13:56:59 sorry, I didn't read that carefully. 13:57:15 tathi: I don't have anything against gdb as far as what it can actually do. My complaint with GDB is entirely with its user interface. 13:57:45 Frek: no, I usually just do a disassembly, and then single-step for a while. 13:57:52 usually I can see enough in one go. 13:58:11 kc5tja: I believe that's partially due to gdb's platforms independence and the fact it's meant to be a high level debugger 13:58:53 kc5tja: yeah, unfortunately I haven't seen a front-end for it that I like, either. 13:58:59 tathi: that works great if you have clear function frames 13:59:00 Even as a high-level debugger, I think it's entirely too clunky. 13:59:16 kc5tja: yes it's a bit clumsy 14:00:01 but unfortunately it's the best you get on some platforms 14:00:39 kc5tja: lately I've been trying to have tests for everything so I can spend less time using gdb :) 14:01:04 tathi: Yep. I'm going to write the TTA emulator in C using my CUT package as a unit testing framework. 14:01:15 Yah. 14:01:34 however gdb is quite strong in the watchpoint/trace area 14:01:51 I set up an extremely minimal setup for testing my asm code. 14:01:54 and conditional breaks/watchpoints etc is really great 14:02:11 Just finished hooking that in with my rework of tanksley's non-recursive make framework. 14:02:27 It's nice. 14:02:36 What do you think about ald? 14:03:14 never used it 14:15:01 http://www.advogato.org/article/784.html 14:17:07 --- quit: crc (Client Quit) 14:24:49 --- join: wossname (wossname@HSE-MTL-ppp60316.qc.sympatico.ca) joined #forth 14:32:11 --- quit: tgunr (Excess Flood) 14:34:07 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 14:35:31 --- quit: Tomasu (Remote closed the connection) 14:37:12 --- join: Tomasu (~moose@S010600045a4c73cc.ed.shawcable.net) joined #forth 14:47:32 --- quit: tathi ("leaving") 15:22:41 --- join: doublec (~doublec@coretech.co.nz) joined #forth 16:04:04 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 16:10:14 --- quit: Topaz ("Leaving") 16:32:06 --- quit: tgunr (Excess Flood) 16:34:00 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 16:47:44 ping doublec 16:48:35 hi slava 16:49:32 doublec, very shortly the native VM will output images. 16:49:35 doublec, with make-image 16:49:43 wow, that's cool. 16:49:58 so it'll be self hosting from then on? 16:50:32 there is still work done after image output works to get the 'cross compiler' which reads source and writes colon definitions to the image instead of the dictionary 16:51:14 ok, it's getting close though. 16:52:55 slava, I got one of Avi's rich UI examples (the liveupdater stuff) working on the Factor webserver. I'll get the other going tonight (livesearch) and commit the example. 16:53:03 cool! 16:53:07 how's the eval responder going? 16:54:03 no changes from yesterday. I plan to add the things we discussed yesterday though. 16:54:20 cool. 16:54:24 i'm looking forward to it 16:54:28 Also thinking about adding search boxes that do 'apropos.' 'usages.', etc. And hook into 'inspect' for browsing. 16:54:37 that would be awesome 16:55:03 How about a 'browser' that lets you select the vocab, then the word, view the source, edit it and apply it. 16:55:08 A bit like a smalltalk browser. 16:55:19 i have another idea for this 16:55:36 what is it? 16:55:38 a word that shows a string in a text area in html 16:55:47 then use this word to edit definitions, like so: 16:55:59 : edit-word ( word -- ) [ see ] with-string-stream edit ; 16:56:12 and hook this up with the inspector 16:56:20 yes that would be cool. 16:56:33 for the last part, i think the cont-responder stuff should go into library/ 16:56:51 i'd like to use the cont-html stuff for the too 16:57:03 yes, seperate out the responder specific stuff and just have the examples, todo and eval in contrib. 16:57:19 I think that would be the way to go. 16:57:25 yup. 17:04:30 --- quit: tgunr (Excess Flood) 17:04:30 --- quit: cmeme (Broken pipe) 17:04:44 --- quit: fridge (niven.freenode.net irc.freenode.net) 17:04:44 --- quit: skylan (niven.freenode.net irc.freenode.net) 17:04:44 --- quit: Frek (niven.freenode.net irc.freenode.net) 17:04:44 --- quit: Fractal (niven.freenode.net irc.freenode.net) 17:05:21 --- join: skylan (~sjh@vickesh01-4897.tbaytel.net) joined #forth 17:05:27 --- join: cmeme (~cmeme@216.184.11.30.unused.swcp.com) joined #forth 17:06:07 --- quit: slava (niven.freenode.net irc.freenode.net) 17:06:08 --- join: fridge (~fridge@dsl-203-113-229-162.NSW.netspace.net.au) joined #forth 17:06:19 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 17:11:34 --- join: Fractal (jah@selling.kernels.to.linus.torvalds.at.hcsw.org) joined #forth 17:11:44 --- join: Frek (anvil@h87n2fls31o815.telia.com) joined #forth 17:13:19 --- quit: wossname ("~") 17:13:59 --- quit: I440r_ (Read error: 60 (Operation timed out)) 17:23:42 * Tomasu is away: anime 17:24:52 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 17:24:54 doublec, ping 17:25:03 doublec, i fixed the exception handling in-thread problem in cvs. 17:35:45 --- join: I440r (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 17:36:33 I440r! 17:38:57 hi 17:41:20 o 17:41:37 sorry; ignore that 17:43:45 I440r, does isforth use select()? 17:44:20 no 17:44:24 select is deprecated 17:44:29 use pollfd's 17:45:06 as if? 17:45:30 ? 17:45:37 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 17:45:45 poll() is more efficient? 17:46:00 probably heh 17:46:05 what's wrong with select()? 17:46:07 i know that select is deprecated tho 17:46:20 its recommended you use poll instead 17:46:31 select is too complex 17:46:35 poll is simpler 17:46:47 oh 17:46:59 :) 17:47:47 is poll recent? 17:47:53 there's no mention of it in a 1999 glibc manual i have 17:48:09 poll isnt exactly recent 17:48:12 hang on 17:49:14 therse also this... 17:49:17 On Linux, the function select modifies timeout to reflect the amount of time not 17:49:17 slept; most other implementations do not do this. This causes problems both when 17:49:17 Linux code which reads timeout is ported to other operating systems, and when code 17:49:17 is ported to Linux that reuses a struct timeval for multiple selects in a loop 17:49:17 without reinitializing it. Consider timeout to be undefined after select returns. 17:49:51 that's lame 17:50:12 yup 17:50:18 also i cant find where i read select was deprecated 17:50:44 The poll() systemcall was introduced in Linux 2.1.23. The poll() library call was 17:50:46 introduced in libc 5.4.28 (and provides emulation using select if your kernel does 17:50:46 not have a poll syscall). 17:51:24 that's recent enough. 17:51:27 brb 17:51:30 i mean, not too old 17:51:32 shit 17:51:36 i mean, not too new 17:51:43 so it will be available most likely, so i can use it 17:55:28 yes 17:55:35 its very unlikely that you dont have poll 17:56:42 --- join: SDO (~SDO@67-23-111-213.clspco.adelphia.net) joined #forth 17:56:47 for now i'm targeting *nix. 17:57:04 if anybody wants windows support they can do hack in win32 crud you need instead of poll(). or use cygwin 17:57:05 k 17:58:33 :) 18:13:44 --- quit: SDO ("Vision[0.9.6-0203]: i've been blurred!") 18:14:16 --- quit: Sonarman (Read error: 54 (Connection reset by peer)) 18:19:04 Heyas. 18:19:16 hey 18:19:19 hiya 18:19:54 Opinion: If you have a string on the stack (the whole string, yes) should something like len$ be destructive? 18:20:35 yes 18:20:39 its called dup 18:20:40 :) 18:20:47 and also 18:20:56 usually, forth uses COUNT 18:21:33 Sure, but names are a matter of preference. 18:21:44 And DUP would be copying the entire string. 18:22:07 But yes, this behaviour is one option. 18:22:09 err if the whole string is on the stack it should be pushed in reverse order so the top item IS the count 18:22:25 err no. dup would not be copying the entier string :) 18:22:30 just its count byte 18:22:36 In my case, since it's for C scripting, I'm using zero-terminated strings. 18:23:00 The "value" on the stack contains the entire string. 18:23:12 If I dup it, it's strdup()'ed, basically. 18:23:38 ack. you mean you wont have each character of the string in a separate cell but you will have a buffer starting at sp@ for the lenght of the string 18:23:43 thats nasty 18:23:51 store it in a dedicated buffer, NOT thje stack 18:24:20 Actually, no I don't have that either. 18:24:42 slava, great. I'll try it out. thanks. 18:24:43 It's one "value" which is essentially a union of types, one type is string, which is a pointer to a malloc'ed string. 18:25:01 So a string is just one value on the stack, as is an int, and a float, and user types. 18:25:02 madgarden: DUP would not strdup() the string, but rather duplicate the top of stack, which is the pointer to the string 18:25:16 madgarden: but you're not doing a "traditional" forth, right? 18:25:23 Well... the top of stack isn't a pointer to the string, it *is* the string. 18:25:37 .. 18:25:37 madgarden: are you doing mutable or immutable strings? 18:25:40 Yea, not traditional... this is an extension system for C. 18:25:48 immutable. 18:26:08 madgarden, so 'dup' special-cases on type? 18:26:19 ah, then dup should be cheap 18:26:36 i prefer a simple dup, dpush(env->dt) 18:26:41 i'd say the string length op should pop the string 18:27:08 Hmm. 18:27:27 i have str-length ( str -- len ) 18:27:32 --- join: Sonarman (~matt@adsl-64-160-165-21.dsl.snfc21.pacbell.net) joined #forth 18:27:32 but in madgarden's case this would be inefficient 18:27:36 dup = copy the pointer and increment the refcount, right? 18:27:39 slava: nah 18:27:43 since you'd have to copy the string each time you want its length, essentually 18:27:50 In my case, for strings, you're copying the whole string, yea. 18:27:52 titanstar, no, its copy the string 18:28:14 slava: since he does immutable strings, he can get away with a pointer copy 18:28:22 Though, I'll eventually have a type interface like I mentioned before, slava, that differentiates between clone and cup. 18:28:27 cup=dup 18:28:46 titanstar, you're right... I should be refcounting the strings, not copying the whole thing. 18:29:46 But I guess in the end, the answer to the original question is "yes, pop the string" and as a side effect, change my string values to behave more efficiently. 18:42:37 slava, I can confirm that the in-thread fix works. 18:44:20 great. 18:45:03 --- quit: tgunr (Excess Flood) 18:46:53 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 18:50:12 : left$ ( "string" count -- ) ... ; 18:50:12 or... 18:50:12 : left$ ( count "string" -- ) ... ; 18:50:12 ? 18:51:06 I'm leaning towards the first. Any reason not to? 18:51:35 the first. 18:51:42 traditional forth does the first 18:51:42 what does left$ do? 18:51:59 slava: gets the leftmost count characters from string 18:52:09 produces a string with x of the leftmost characters of "string" in it. 18:52:09 slava: madgarden stole the name from BASIC :) 18:52:23 Basic is the shiznit. ;) 18:52:33 Oh how I miss my C64. 18:52:33 so its left$ ( string count -- string )? 18:52:38 Oops. 18:52:39 Yea. 18:52:42 slava: yeah 19:00:55 Here's a screenshot of my Forthy game console interface: http://www3.sympatico.ca/ppridham/misc/project/deathfist/console.png 19:01:03 (overlaid on the map editor) 19:01:39 deathfist lol 19:01:40 nice font! :) 19:02:04 Heh, you think? ;P It's the default Allegro font. 19:02:17 the font is awesome :) 19:02:18 it makes my eyes happy 19:02:37 Heh. Yea, it's pretty nice for code! 19:03:38 The game itself is going to be a remake of Fist 2 for the C64. 19:08:36 brb dinner 19:15:58 --- quit: ayrnieu ("system") 19:26:17 back 19:26:33 TEH HIYES!!!1 19:26:45 Hmm, my mid$ doesn't quite work right... 19:28:59 mid$ ( string offset count - string ) correct? 19:29:15 Yep, that's how I'm doing it. 19:29:35 hm 19:29:37 It's fun using basic keywords in Forth. :) ANd rather nice, actually. 19:29:38 lemme see it 19:29:46 yeah ;) 19:30:19 // ( string start count -- string ) 19:30:19 static void word_mid(FSYSTEM *sys) 19:30:19 { 19:30:19 int len, start, want_len; 19:30:19 char *str; 19:30:23 want_len=fs_get_int(sys, -1); 19:30:23 want_len=MIN(len, (len-(len-(want_len+start))); 19:30:24 19:30:26 if(want_len<=0) 19:30:28 fs_throw(sys, FS_OUT_OF_BOUNDS); 19:30:30 19:30:32 fs_remove(sys, 3); 19:30:34 fs_push_string_span(sys, str+start, want_len); 19:30:36 } 19:30:53 (len-(len-( 19:30:54 ? 19:31:08 x-(x-y) = y 19:33:40 x-(x-y) = x+(y-x) = y 19:33:42 correct 19:33:44 :/ 19:37:32 I should probably be throwing OUT_OF_BOUNDS if they specify a too-long length or offset/length, for the others as well, instead of going for the minimum. 19:38:31 hmm. 19:39:11 Or, is it nicer to just give them something anyway... 19:39:28 i always throw exceptions 19:39:31 On one hand, they find the error in their code. On the other... it works. 19:39:32 i don't like 'silent failure' 19:39:37 Right. 19:39:38 but it doesn't work 19:39:41 it returns something incorrect 19:39:52 True. 19:39:54 i write my code such that out of bounds indices never show up 19:40:01 if they do, i'm informed about it when i test. 19:40:07 python truncates bounds to the start/end of the string - it's very useful for rapid prototyping 19:40:18 Uh oh... 19:40:29 I'm already indecisive as it is... thanks titanstar! 19:40:32 additionally, negative indices means "counting from the end of the string", so -1 is the last character 19:41:03 Good point, for mid$ 19:42:39 i thought it was a bug at first -- "base" get . would always print 10. then it clicked -- in that base, the number *is* 10! 19:42:58 eg 2 "base" set "base" get . prints 10 -- guess why :) 19:43:13 Heh. 19:43:21 you're in binary. 19:43:22 heh 19:43:33 There are 10 kinds of people in the world... ;) 19:44:21 : (mid$) ( s o c - s ) here over allot push push + dup pop pop swap cmove ; 19:44:23 NOT TESTED 19:45:04 my mid$ is called substring 19:45:10 can I paste? :) 19:45:17 actually its in viewcvs. 19:46:10 http://cvs.sourceforge.net/viewcvs.py/factor/Factor/Factor/native/string.c?rev=1.2&view=auto 19:46:13 last two functions in the file. 19:47:41 Jesus... when did you start your C version of Factor again? 19:47:53 a few weeks ago 19:48:20 Heh. Too bad you're not more productive! ;P 19:50:06 --- join: ayrnieu (~julian@205.241.56.30) joined #forth 19:50:29 hi ayrnieu 19:50:33 madgarden, C is a pain in the arse 19:50:34 hello slava 19:50:45 slava, you're using the C-stack for your return stack, I gather? 19:50:55 madgarden, no 19:51:22 madgarden, see the run() function in this file 19:51:23 http://cvs.sourceforge.net/viewcvs.py/factor/Factor/Factor/native/run.c?rev=1.4&view=markup 19:51:31 madgarden, that is the inner interpreter. it has its own data/call stacks 19:51:39 madgarden: if he did, he couldnt nest more than 3 or 4 ;) 19:52:12 arke, my loops are actually recursive under the hood so using the C stack is a no-go due to lack of tail calls 19:52:36 and that too. 19:52:38 Why haven't you made it re-entrant? 19:53:17 because that would make continuations impossible 19:53:26 i don't allow C code -> call Factor -> call C code -> call Factor 19:53:41 its always C code -> call Factor -> 'atomic' C primitives 19:54:00 No, but it would allow multiple simultaneous Factors. 19:54:17 I can make 'env' a macro that refers to thread-local storage. 19:54:27 > 1 factor in the same kernel thread is not useful 19:54:38 since you can already multitask with continuations 19:55:30 slava - have you made any progress on bigendian images? 19:55:59 ayrnieu, it might work already. let me upload the latest source 19:58:03 ayrnieu, do you want to give it a spin? 19:58:48 slava - yes. 19:58:57 ayrnieu, grab factor.sf.net/Factor.zip 19:59:12 ayrnieu, do you have java? you'll need to use java factor to build a big-endian image 19:59:30 slava - yes, on MacOSX right now. 20:00:03 ayrnieu, ok. download that zip, unzip it, and run Factor.jar inside (java -jar Factor.jar). then eval this: 20:00:05 USE: cross-compiler 20:00:07 "big-endian" on 20:00:10 make-image 20:00:32 it will create 'factor.image' in the same directory as Factor.jar. 20:00:45 then, edit build.sh as needed for powerpc, and run it to compile cfactor, into an executable 'f'. 20:01:25 OK. 20:01:36 run ./f factor.image 20:01:41 it will either work, or bomb :) 20:02:33 yes, the make-image bombed =) 20:03:24 factor.FactorParseException in /library/platform/native/unparser.factor:43; Undefined: base; base /mod swap dup 0> [ fixnum% ] [ drop ] ifte >digit % ; 20:03:37 ah shit 20:03:44 let me reupload. 20:04:27 sorry 20:05:31 ok redownload it please :) 20:10:44 --- quit: tgunr (Excess Flood) 20:12:34 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 20:13:09 that works, except that I get a "Fatal error: compile with -falign-functions=8 28556" -- and calling gcc with -falign-functions=8 doesn't seem to help with that. 20:13:29 when I 'native/f factor.image' 20:14:30 is this 32 or 64 bit powerpc? 20:14:41 32. 20:15:18 ok. try this -- change line 103 in primitives.c from: 20:15:32 if((CELL)xt % 8 != 0) 20:15:32 to 20:15:34 if(((CELL)xt & 7) != 0) 20:17:04 if that doesn't work i have no idea 20:19:48 too bad. 20:20:34 i can lift this restriction. 20:20:37 it will require a few minor changes. 20:28:36 ayrnieu, i fixed it 20:31:28 ayrnieu, redownload please :) 20:33:05 -falign-functions=8 is no longer needed. 20:41:49 slava, what affect does that have on the image? Will it be smaller? 20:42:16 doublec, the executable might be smaller, the image gains 8 bytes per word object 20:42:51 ok, thx. 20:44:37 doublec, i'm going to sleep. the latest code is in cvs. 20:44:51 slava, ok, talk to you later. 20:54:24 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 20:54:33 --- mode: ChanServ set +o kc5tja 20:54:44 The new version crashes with: "Critical error: Cannot determine size 16810388" and saves factor.crash.image 20:55:00 ayrnieu, did you make a new image for it? 20:55:08 Bad news for aikidoka in San Diego today: a kid in the kid's class broke his collar bone in class. :( 20:55:11 oh, no. 20:55:14 With a rather audible *snap*. 20:55:56 !!!!!!!!!!!!!!! 20:55:58 He was an orange belt, and knew full well how to roll. But he thought he was hot stuff, started horsing aound, and when he went to roll, he didn't pay attention. He ended up doing a cross-legged roll (which IS doable, but it's VERY advanced), and he collapsed onto himself. 20:55:59 kc5tja: WTF 20:56:04 kc5tja: your site is different! 20:56:26 kc5 - how old is he? How does he do, now? 20:56:32 kc5tja: somebody hacked you or something 20:56:39 kc5tja: falvotech.com right? 20:57:01 ayrnieu: I don't know. They let kid's class go early. Normally he's pretty good with his rolls though. But he just got cocky, and let other kids distract him. 20:57:34 kc5tja, your site got defaced 20:57:42 yeah 20:57:49 HAHAHA! 20:57:51 YEAH!!!! 20:57:58 * kc5tja is ROTFLMFO!!! 20:58:16 * kc5tja has a backup of the site anyway. 20:58:21 slava - it boots, but all the strings got garbled :-/ 20:58:23 But still.... :D That is hilarious! 20:58:32 ayrnieu, aha. we're making progress. but I must sleep now :) 20:58:34 * kc5tja is going to poke around the code later tonight. 20:59:00 kc5tja: what happened.... 20:59:12 kc5tja: what happened... 20:59:40 curious. I wonder if they closed the hole for you. 20:59:41 arke: I don't know. I will see what's up later tonight. 20:59:50 ayrnieu: I wonder if they changed my password. :D 21:00:17 i think it sucks 21:00:22 and should be .... facepunched 21:00:23 ;) 21:00:23 well, they give you their contact information =) 21:00:27 HAH, they left all the old content, it seems. 21:00:45 arke: No way. I see this as a merit badge. 21:00:47 ayrnieu, how garbgled are the strings? 21:00:52 huh? 21:00:54 ayrnieu, can you guess the byte order? 21:00:58 ayrnieu, the banner is supposed to be; 21:01:00 kc5tja: how so/ 21:01:00 * kc5tja will keep their content, and link to it in my blog. :D 21:01:12 slava - "No t aunbmre" 21:01:14 arke: Nobody would deface a site nobody goes to. 21:01:17 Factor 0.60.8 21:01:17 Copyright (C) 2003, 2004 Slava Pestov 21:01:17 Enter ``exit'' to exit. 21:01:17 4194304 bytes total, 130248 bytes used 21:01:39 arke: If it gets defaced, then that means SOMEONE is accessing my site. 21:01:43 kc5tja, i would do a full reinstall, in case they left a rootkit. 21:01:57 It'd be interesting to work out how they got in. 21:02:05 They also politely left the old index.html too -- as index.old.html 21:02:09 lol 21:02:13 slava - "Not a number", so 4312. 21:02:18 slava - goodnight, though =) 21:02:22 yeha, how did they getin? 21:02:31 arke: It also helps that I share their political feelings about Bush too. 21:02:35 ayrnieu, ok i think i can fix it right now :) 21:03:10 slava: Easy to do -- I have a *full* backup of my site. I keep it in darcs just like the rest of my projects. 21:03:15 * kc5tja taps his head -- "I'm not stupid." :D 21:03:24 darcs is cool. I use it as well. 21:03:46 Not like the 5000 or so cari.net customers who *DON'T* ahve backups, then blame us for lost data. 21:03:49 Fuck nuts. 21:03:50 But I digress. 21:03:54 :) 21:04:08 bah 21:04:09 ;) 21:04:18 slava: Also, I'm pretty sure the system has a root hack on it -- there is a file called "kod.txt" that is empty. Usually empty files are indications of root hacks being present. 21:04:55 ayrnieu, characters are 16-bytes 21:05:01 kc5tja, have you run chkrootkit? 21:05:05 ayrnieu, i mean 16-bits 21:05:38 doublec: It's not my server -- it's NetNation's. 21:06:09 I will politely request that they do so though tomorrow at work. :) 21:06:29 :) 21:07:11 However, right now, I'm going to hack on another website myself -- www.papajohns.com 21:07:15 slava - oh, UCS-16 ? "oN t aunbmre", just reversed -- I typo'ed the last time, sorry. 21:07:28 ayrnieu, ok, redownload & retry :) 21:07:38 ayrnieu, just make a new image, no need to recompile 'f'. 21:08:03 kc5tja, dammit i want some pizza :) 21:08:49 OK. 21:09:20 Someone's busy browsing http://factor.modalwebserver.co.nz/inspect 21:09:39 doublec, i hope 'eval' is not open to the outside world, or your servre will suffer a similar fate as kc5tja's eventually :) 21:09:41 It's only ever been mentioned on irc. yet still gets visitors :) 21:09:47 nope, it's not there anymore. 21:10:16 ehehe 21:10:17 slava, having it there was a once only thing. I'll be adding a password to it eventually. 21:10:18 can i link to this server from the factor homepage? 21:10:43 slava, might be best to wait until the timeout functionality is added. Every now and then something ties up the responder. 21:10:48 ok 21:10:53 otherwise it would be cool. 21:11:17 Or I could set it up so it restarts if it appears to have hung. 21:11:32 that's not worth the effort -- i'll do timeouts pretty soon 21:11:38 cool 21:11:42 also, i'll have it so that an error in one connection does not kill the whole server 21:11:52 ayrnieu, did it work? 21:12:00 ayrnieu, try a few thigns: 21:12:02 garbage-collection 21:12:04 "lists" words. 21:12:07 "see" see 21:12:11 global describe 21:12:12 etc. 21:13:20 kc5tja: did i tell you about my tranny? 21:13:25 garbage-collection does nothing visible, "see" see seems to work, "global describe" studiously emits output =) 21:13:46 ayrnieu, i guess everything is fine then :) 21:13:47 * ayrnieu learns from the last about the history variable. 21:13:48 woohoo, Factor native lives on the PPC! 21:14:03 ayrnieu, there will be a regression test suite for cfactor later, based on the java factor test suite. 21:14:15 doublec, this means SPARC32 too. 21:14:21 slava - well, "+" words causes it to crash silently, and "lists" words doesn't seem to do anything, but OK =) 21:14:32 ayrnieu, "lists" words. with the . 21:14:47 I thought so, but that gives me "Not a number" 21:14:56 oh i forgot 21:14:59 it doesn't exist anymore :) 21:15:01 "lists" words . 21:15:12 arke: It's too low or something for your car. 21:15:15 ah =) 21:15:16 kc5tja: yes 21:15:24 kc5tja: it started sitting 4cm lower than it should 21:15:37 kc5tja: 2nd and 4th are almost impossible to get into :( 21:15:38 ".s" to see the stack 21:15:56 ayrnieu, in fact on x86 too, "foofdf" words will crash it. i'll fix this tomorrow. 21:16:24 well the next steps portability-wise are testing it on cygwin, and also 64-bit images. 21:16:28 but now i'm really going to sleep! 21:16:35 good night all, and thanks ayrnieu for helping me out with this! 21:16:38 slava: The f00f bug is only on one particular line of CPUs; I don't recall which, but I know for a fact that Intel fixed the problem with later CPU generations. 21:16:59 kc5tja, f00f bug is not being discussed here? i meant "any invalid vocab name" words :) 21:17:04 slava, night! 21:17:16 slava: Oh. Sorry. I thought 'foof' was in reference to 'f00f'. :D 21:17:21 its not f00fdf 21:17:28 its f00fc7cf 21:17:35 aw, I can't make-image yet from cfactor =) 21:17:45 arke: Whatever. Either way, it was fixed. :D 21:17:45 ayrnieu, give it a few days :) 21:17:51 kc5tja: :) 21:17:54 kc5tja: but my car not... 21:18:06 ayrnieu, you can do "foo.image" save-image 21:18:10 kc5tja: what surprises me though is that the tranny is hanging so much lower yet all the gears still work 21:18:30 Well, what happened to cause it to drop? 21:18:40 no idea 21:18:47 dad says that the tierod is loose 21:18:54 but i have no idea what that is ;) 21:19:09 well, he says that he believes that that is what it is, he hasnt taken a look yet 21:19:31 And you're saying it sits 4cm lower? 21:19:36 yeah 21:19:36 That's almost two inches. 21:19:40 its like rotated 21:19:41 yeah 21:19:46 all of a sudden 21:19:50 yesterday i drove it 21:19:54 OH, if it's ROTATED then I can see all the gears still meshing. 21:20:00 and i realized that its lower 21:20:06 and then all of a sudden 21:20:07 The stick and everything, eh? :D 21:20:07 CLANG 21:20:09 and its way low 21:20:12 yeah 21:20:14 the stick is low 21:20:28 2nd and 4th are so low that they scrape the delimiting plastic ;) 21:20:44 And probably the only reason you can't get it in 2nd or 4th is there isn't enough room because the faceplate blocks the stick from going far enough to get it in gear. 21:20:56 oh i can get them in 21:21:04 but because of the plastic it doesnt syau 21:21:08 stay* 21:21:14 HAha 21:21:21 So you have to hold its hand while in those gears. 21:21:29 yeah 21:21:32 or i just skip them 21:21:34 Gotta love cars. Every one has its own unique personality. 21:21:41 then again, i keep my hand on the stick while driving anyway 21:21:42 ;) 21:21:51 I'm usually not in 2nd or 4th long enough to worry about staying anyway. 21:22:05 Yeah. Even though I drive an auto, my right hand is solidly connected to the shifter. 21:22:07 hmm 21:22:14 im usually in 4th when going on a 45 road 21:22:22 depending on road and traffic 21:22:29 when i drive auto too :) 21:22:36 you know that little overdrive button? ;) 21:22:43 Yeah, it depends for me too. But most of my driving is freeway cruising, so I'm rarely in 4th. usually 5th. Well, USED to be. 21:22:54 not a minute passes where i dont press it 21:22:58 "\e[31m" . ! displays "" with the second " (and subsequent output) red =) 21:22:59 * kc5tja drives his auto like a manual. 21:23:12 kc5tja, did you see my Forthy game console screenshot? 21:23:15 me too ;) 21:23:18 madgarden: Nope. 21:23:39 kc5tja: well, then again 21:23:42 kc5tja, http://fld.sourceforge.net/cgi-bin/wiki.pl?DeathFist 21:23:53 The [here] link. 21:23:55 kc5tja: your car never quite stays in 4th because it always shifts to 5th early ;) 21:24:11 --- quit: tgunr (Excess Flood) 21:25:18 madgarden: Sweet. :D 21:25:38 arke: My current car has no fifth gear. 21:25:43 It's a 4-speed auto. 21:25:50 butwith overdrive 21:25:54 which is 5th gear 21:25:57 ;) 21:25:58 Overdrive is the 4th gear. 21:26:00 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 21:26:01 oh 21:26:03 that sucks 21:26:05 i hate that 21:26:09 Yeah, in a way it does. 21:26:12 kc5tja, I'm just working on the tileset words right now. 21:26:14 But it's still workable. 21:26:24 it has to rev higher 21:26:25 :( 21:26:30 my moms car is like that 21:26:32 arke: Rotaries love higher revs. >:D 21:26:33 its horrible 21:26:37 kc5tja: ;) 21:26:48 But it does suck more gas. I will admit that. 21:26:54 But at least it's not any extra wear on the engine. 21:27:02 kc5tja: but its like, if im accelerating like a grandma you dont have to go to friggin 3krpm 21:27:21 my car doesnt have overdrive, but 5 gears 21:27:24 arke: 3K RPM in a rotary *is* a grandma's pace. 21:27:35 kc5tja: well, but her car is a piston. 21:27:38 arke: The fifth gear in a stick shift is overdrive. 21:27:39 kc5tja: so 3000 is shift 21:27:50 kc5tja: no, i measured it. 5th gear is 1:1 21:27:53 i think 21:27:57 I doubt that. 21:27:59 i might have made a mistake though 21:27:59 ;) 21:28:07 why do you doubt it? 21:28:11 I've only seen 4-speed sticks that have a 1:1 top gear. 21:28:31 well you gotta remember what sort of engine i have in there 21:28:35 I mean, it is possible, but I don't think it's likely. 21:28:43 This is for any engine. 21:28:55 I've never seen a 5-speed manual with a 1:1 5th gear. 21:29:07 hmm 21:29:10 Usually, it's something like 0.8:1 or something. 21:29:15 CLOSE, but it is technically overdrive. :D 21:29:15 80mph at 3000rpm, i think 21:29:21 ;) 21:29:34 Hey, that's about what mine does. 3000RPM even is 75MPH, and then 3250 is 82.5MPH. 21:30:03 wth 21:30:19 no friggin way my 5th gear at 6000rpm does 130 ;) 21:30:28 Think again. :D 21:30:46 ;) 21:30:47 What your engine lacks is the torque to get it there. 21:30:55 oh, i think it might do it 21:31:06 ive gotten it to 6000rpm before 21:31:07 Yeah, on a flat surface, after 30 seconds maybe. 21:31:16 arke: In top-most gear? 21:31:16 it was first gear 21:31:20 no ;) 21:31:28 first gear uphill 21:31:29 1st gear is a bit different from 5th gear. :D 21:31:32 :D 21:31:41 how big are my tired? 21:31:44 tires* 21:32:00 I don't know, but when you get sleepy, your tired expands by at least 3 feet in all directions. 21:32:25 eh? 21:32:38 Well, you're the one who asked how big your tired gets. :D 21:34:04 P165/80R13 21:34:11 I would hazard a guess that your rims are 17" rims, and you figure another 3" for the tire itself, so maybe 21" or so? 21:34:19 how big is that, in any dimension? 21:34:25 I don't know. 21:34:40 well youre a big help!!!! 21:34:41 ;) 21:34:47 Hey, I'm nto an auto-mechanic. 21:34:57 I'm a physicist. And an amateur one at that. 21:35:20 aah 21:35:28 165 mm section width 21:35:39 thats just for the tire though... 21:35:44 : reverse [ drop ] inject ; .. curious =) 21:35:46 oh 21:35:55 13" diameter 21:36:07 wow 21:36:08 ... oops, nevermind. 21:36:08 * Tomasu is back (gone 04:12:26) 21:36:13 small. 21:36:15 13"+165mm is... 21:36:20 about 17" 21:36:20 * arke does math 21:36:38 no, about 19" 21:36:55 19.5" 21:37:05 * kc5tja was close 21:37:33 to be exact, 19.4960629921259842519685039370079 21:37:39 ;) 21:37:52 Well, you know, that makes a huge impact on gas milage. :D 21:37:53 can someone http://60000:216.110.82/59/phpinfo.php and tell me what you get ? 21:37:53 alright, so now i can figure out teh ratio 21:38:03 kc5tja: thats true. 21:38:15 kc5tja: next time im buying tires im getting bigger ones 21:38:18 kc5tja: ;) 21:38:29 I440r: Are you sure that is a well-formed URL? 21:38:43 erm no 21:38:45 arke: I was joking. 21:39:03 http://216.110.82.59:6000/phpinfo.php 21:39:04 ? 21:39:10 I440r: That's better. :) 21:39:16 kc5tja: oh i think i should 21:39:19 Now, is the port really 6000 or 60000? Both are legal ports. :D 21:39:24 60000 21:39:40 thanx :) 21:39:46 PHP 4.3.8 21:39:54 80mph = 128km/h 21:40:16 hehe the machine on that IP has an http server but so does one of my internal machines 21:40:27 you just browsed the phpinfo on the INTERNAL machine 21:40:38 i wanted to see if the forwarding was working 21:41:08 it is :) 21:42:25 :) 21:42:28 Cool. 21:42:39 Using SSH to set up port forwarding or using a router box configuration? 21:42:40 the internal machine is the subversion server 21:42:58 bah, dont quite remember how to do this ... ;) 21:42:58 using NAT on my gateway 21:43:03 Linux svn 2.6.7-gentoo-r6 #1 Thu Jul 1 15:37:50 CDT 2004 i686Linux svn 2.6.7-gentoo-r6 #1 Thu Jul 1 15:37:50 CDT 2004 i686 21:43:07 oops 21:43:09 Linux svn 2.6.7-gentoo-r6 #1 Thu Jul 1 15:37:50 CDT 2004 i686 21:43:10 One click was enough, thank you. :D 21:43:23 one click where ? 21:43:27 ;) 21:43:30 oh hehe 21:43:33 I cut/pasted. 21:43:44 Only the first time I double-clicked the middle mouse button, and got two strings. 21:43:53 heh 21:44:05 yea. erm i think i need to upgrade the subversion servers kernel :P 21:44:17 nah maybe no 21:44:19 not 21:44:24 i was thinking it was 2.6.5 21:44:54 2.6.7-gentoo-r11 is the latest but the fixes from r1 to r11 were all related to PPC i think 21:45:31 kc5tja: er 21:45:43 kc5tja: for 80mph, i get tire rpm of 1358 21:45:49 kc5tja: o.O 21:46:01 doesnt tire rpm depend on diameter ? 21:46:08 : sidle-aux ( o l l-acc ) >r dup length 0 = [ 2drop r> ] [ dup car r> cons >r cdr over r> cons sidle-aux ] ifte ; : sidle ( o l -- l ) dup length 0 = [ drop [ ] cons ] [ [ ] sidle-aux cdr ] ifte ; 21:46:13 I440r: yeah, got that figured out already 21:46:20 odd 21:46:26 t [ 1 2 3 ] sidle . ! [ 3 t 2 t 1 ] ... oh, oops. 21:46:27 i dont think i did my math wrong 21:46:28 o.) 21:48:08 Sound about right. 21:48:13 9:20 ratio for 5th gear 21:48:16 eh 21:48:21 then 5th gear is not an overdrive 21:48:45 obviously ;) 21:49:02 With that logic, NO vehicle today has overdrive. 21:49:11 It's a matter of perspective. 21:49:14 . 21:49:30 overdrive means that the engine runs at a lower rpm than the output 21:49:38 right? 21:49:54 Than the transmission's output 21:50:04 There is also the rear differential too, which usually has a 4.5:1 fixed ratio. 21:50:46 i have fwd 21:50:46 Personally, I see your point, and *technically* it is correct. 21:50:57 fwd has a front differential. :D 21:50:59 yay ;) 21:51:01 :D 21:51:02 But you get the idea. 21:51:05 ok 21:51:19 But in a practical sense, few ever consider the rear diff in determining what is and isn't an overdrive gear. 21:51:25 lets see what google says about my front differential 21:51:35 aah ok. 21:52:14 In a front wheel drive car, the forward diff is sometimes called a transaxle. 21:52:20 since it's integrated right into the transmission itself. 21:52:57 --- quit: doublec ("Leaving") 21:53:08 bah doesnt matter. 21:53:08 ;) 21:53:29 anyway, i still think my 5th gear isnt quite overdrive 21:53:41 i could go with a 4.5:1 to see what i get 21:54:28 because then i would get a transmission output of 6100rpm 21:54:55 and then it would be overdrive.... 21:54:59 does that sound about right? 21:55:53 It could be, I don't know. 21:55:59 it would be a 1:2 ratio, about 21:56:11 If you have a shop manual for your car, you could find out -- it ought to list the gear ratios for your car. 21:56:21 well 21:56:29 i have the guide to the car 21:56:41 and i also have the fix-it-yourself book for the colt family 21:56:49 you think its in one of those? 21:57:54 maybe 21:58:44 bleh 21:58:47 arent we funny? 21:58:48 ;) 21:59:06 hmm 21:59:17 how many revs does your RX-7 do? 21:59:18 or rather 21:59:28 to what is the rpm limiter set? 21:59:50 (cuz technically it does infinite rpms ;)) 22:01:24 oh 22:01:27 something i want to build 22:01:56 a car 22:01:59 16 gears 22:02:02 2-stroke engine 22:02:15 both minimum and maximum rev limiter 22:02:22 ack 22:02:27 naah, the minimum one isnt needed 22:02:33 itll just stall in a nasty way ;) 22:02:47 but a maximum rev limiter 22:02:50 teehee 22:02:59 4 cylinders 22:03:07 would probably be as good as a v8 22:03:29 6500 RPM for my car. 22:03:38 aww 22:03:42 but thats the rev limiter, right? 22:03:45 * arke expected more 22:03:46 yep 22:03:52 * arke expected like 7500 22:04:04 That is the red-line. :) 22:04:16 im sure you can adjust it though ;) 22:04:20 tweak it? 22:04:25 yeah, if I wanted to. 22:04:26 make it stop at 22:04:30 8000 22:04:30 ;) 22:04:56 Yeah, a 2-stroke would be damn powerful. It'd show anything up. 22:05:09 yup 22:05:09 16 gears is a bit overkill though. 8 would be nice. 22:05:15 hmm 22:05:18 big rigs 22:05:23 they need 16 gears anyway 22:05:35 so why not put in a 2stroke while they're at it? 22:05:35 ;) 22:05:53 2-stroke is almost twice as strong as 4-stroke ;) 22:06:03 2-stroke diesel 22:06:04 but, its not as flexible in its RPM range 22:06:47 2-stroke diesel, yes. 22:06:52 should be possible, right? 22:07:00 They exist 22:07:09 yep :) 22:07:40 2-strokes are amazing 22:08:00 Yep. 22:08:17 whats better, a 2-stroke with good tranny 22:08:19 Except for their exhaust. :D 22:08:20 or a rotary? 22:08:24 2-stroke. 22:09:00 2-stroke has incredible torque, weighs less than a rotary, is smaller than a rotary for a given power output, and has very few moving parts. 22:09:15 Granted, it has more than a rotary, but it's not like a big-block V8 or anything. 22:09:25 rotary has less moving parts, i think 22:09:28 yeah 22:10:40 Yeah, but it takes three shaft rotations (the equivalent of six strokes) for the working gas to go throgh its cycle. 22:10:54 A 2-stroke engine is MUCH more direct than a 4-stroke enigne, much less a rotary. 22:11:09 hmm 22:11:16 a 2-stroke rotary? :P 22:11:23 That's a holy grail. 22:11:32 People have been working towards that for eons. 22:11:46 Wankel came the closest, but as you can see, he's far from reaching the desired goal. 22:11:54 yep 22:12:02 but wankel made an amazing engine either way 22:12:09 Yep, sure did. 22:12:41 That's why I drive it. Not because it's the most powerful engine. But because it's the simplest, most elegant engine, and definitely represents true innovation in an otherwise utterly stagnant product offering. 22:13:12 oh i must say most powerful 22:13:21 its just that they dont put enough effort into it 22:13:23 ;) 22:13:30 higher rpm? no problem! 22:13:31 :) 22:13:33 It's the most powerful for its *size*, yes. 22:13:38 my god i was just downloading at 1.2 megs per second!!!!!!!!!!!!!!!! 22:13:38 But it's not the most powerful engine there is. 22:13:40 requires less effort to be at a high rpm 22:13:45 You want power? Check out the SVT-10 in the Viper. :D 22:13:46 and i dont mean just for a second or 2 22:14:07 kc5tja: thats a 10cylinder engine that gets like 10000 rpm or something, right? 22:14:36 I440r - can your NIC receive at such speed? 22:14:39 arke: I don't think it revs that high. But it is 10 cylinders and delivers 500HP to the shaft, with 500 ft-lbs of torque. A monster. 22:14:42 yes 22:14:46 its a gigabit card 22:15:11 good to know =) 22:15:23 Even 100Mbps cards can download that fast. 22:15:32 12Mbps is only (approx) 10% the load on a 100Mbps card. :D 22:15:32 kc5tja: yep. Thats some power right there ;) 22:15:51 thats 1.2 megaBYTES 22:15:53 per second 22:16:05 I440r: Look at what I wrote. note the omission of a very critical character. 22:16:24 k 22:16:35 ;) 22:16:38 hmmm 22:16:43 10-cylinder 2-stroke 22:16:47 1000HP 22:16:49 IMAGINE THAT! 22:16:52 And I can assure you, knowing that Ethernet does use 8b10b encoding for data before Manchester-encoding it, my assessment is correct. :D 22:17:21 it uses manchester encoding? 22:17:24 arke: What you want to do if you do have a 2-stroke engine is to arrange the cylinders radially if you can. 22:17:27 I440r: Yep. 22:17:29 so does the 1553 bus 22:17:45 Up to 100Mbps -- 1G and higher use something else, I believe. 22:18:15 kc5tja: why? 22:18:26 arke: This way, you have an engine that is as smooth as the rotary, and it won't take that much space in the engine compartment length-wise. 22:18:39 hmm 22:18:43 how would that work 22:18:51 you cant really have a bent crankshaft, you know... 22:18:57 Look up how "radial airplane engines" work, and you'll see. 22:19:16 Nope. But you can have bevel gears. 22:19:39 true :) 22:19:40 ohh 22:19:43 trabbis 22:19:56 those were the supersuck cars in east germany 22:20:01 they had 2 stroke engines 22:20:10 Supersuck? 22:20:19 yes 22:20:24 they sucked 22:20:27 very much so 22:20:28 ;) 22:21:54 http://www.team.net/www/ktud/trabi.html 22:22:15 quote: 22:22:16 Its engine was based on the old F8: two-cylinder, two-stroke, 690 cc, 22 bhp. With this engine the car which weighed 820 kg had a max. speed of 90 km/h. A three-speed asynchronized gearbox was fitted which transmitted the power to the front wheels. 22:22:44 90km/h is about 55mph 22:23:09 not suited to the autobahn, I suppose. 22:23:15 lol 22:23:20 east germany didnt have autobahn 22:23:36 oh, indeed =) 22:23:55 The P50 as its name suggest carried a smaller engine: 500 cc, 18 bhp, still two-cylinder, two-stroke. The four-speed transmission was still asyncrohinised. 22:24:26 I don't see the problem in that. :D 22:24:31 And in 1964 after 132000 P50s the new P601 debuted. For a very short time there was a P60 on the market, before the P601. 22:24:34 This car had a 594 cc, 26 bhp engine derived from the P50. 22:24:35 ;) 22:24:36 I bet they got insane gas milages though. 22:24:38 It sported new cylinders, new cylinder-heads and exhaust system. 22:24:51 :) 22:25:01 they even had to add the oil themselves ;) 22:28:32 * arke thinks 22:39:34 arke: Those Trabants look like perfect cars for conversion to EVs. 22:48:42 http://www.therockalltimes.co.uk/2002/02/25/trabant.html 22:48:45 That's too funny. 22:53:34 Anyway, I should get to bed. 22:53:57 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 23:10:38 * Tomasu is away: anime again 23:16:22 --- quit: Sonarman ("Lost terminal") 23:24:17 --- quit: I440r (Excess Flood) 23:24:27 --- join: I440r (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 23:24:49 --- quit: tgunr (Read error: 54 (Connection reset by peer)) 23:26:18 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 23:59:59 --- log: ended forth/04.07.27