00:00:00 --- log: started forth/04.07.26 00:01:39 grrrrrrr 00:01:45 sometimes linux really pisses me off 00:02:01 How has it offended you? 00:02:42 what's the point of having protected memory and all that if you let programs take over the keyboard? 00:03:31 twice now I've had to resort to closing my terminal window 00:03:44 What program(s)? 00:03:47 ^C ^Z and ^S had no effect 00:03:49 herkforth 00:03:54 :-) 00:04:03 herk - you generally kill the process from another terminal. 00:04:22 I made a silly change which echoed a bunch of low numbers (1-15) to the terminal 00:04:38 this made it go absolutely haywire, and refused to respond to the keyboard 00:04:57 herkforth only traps SIGILL and SIGSEGV 00:05:28 ayrnieu: I did that. first time it had no visible effect (even though ps informed me that herkforth was no longer running) 00:06:13 * crc has run into similar problems with RetroForth during some experiments 00:06:17 --- quit: kuvos (Read error: 110 (Connection timed out)) 00:06:29 seccond time it visibly quit, and showed a prompt, but then started spitting out garbage on the screen continuously. after waiting 20 secconds or so (in which I tried ^C ^Z and ^S to no avail), I just closed my terminal window 00:06:34 Linux has very crappy handling of TTY's in my opinion 00:07:03 um, unix in general. 00:07:49 it didn't technically crash my terminal, but it effectively did 00:07:54 maybe you should develop within a second herkforth, that filters your development-herkforth =) 00:07:56 programs should not be able to #*@&$^@# up your terminal 00:08:09 well, what terminal emulator did you use? 00:08:14 rxvt 00:08:34 I do not believe that rxvt was malfunctioning 00:08:42 I'm sure it was doing what it is supposed to 00:08:52 I've seen the same sort of crap with xterm 00:08:58 and in the raw terminal 00:10:13 Herkamire: I ran 'svn up' and 'make', and I'm getting an error 00:10:14 crc@herkamire herkforth $ ls blocks/118 00:10:14 ls: blocks/118: No such file or directory 00:10:14 crc@herkamire herkforth $ error in blocks/118 while processing "Shift-Q" before byte 8: Word not founderror in blocks/118 while processing "Shift-Q" before byte 8: Word not found 00:10:36 oops. one sec 00:10:51 * crc doesn't see block 118 either 00:11:21 fixed 00:11:39 I added the shadow block, but forgot to commit the source block... 00:11:45 Ok 00:11:53 Thanks for fixing it :-) 00:11:59 np 00:12:24 crc: BTW, if you run convert-dict you are likely to get some of the problems I just described :) 00:14:55 update again if you want to use block 118 00:15:44 you caught me in the middle commiting stuff, and discovering what I missed. 00:16:20 hm, what assembler does herkforth need? GNU assembler 1.38 gets confused by -mregnames 00:17:53 gnu 00:18:01 ayrnieu: you on ppc? 00:18:25 yes. 00:18:36 MacOSX, specifically. What version of gas do you compile with, then? 00:18:53 GNU assembler 2.14.90.0.2 20030515 00:19:14 a good major version number newer than mine. OK. 00:19:37 -mregnames allows you to use r0 r4 etc to specify registers 00:20:54 I suppose for compatibility I could just define r0 - r8 myself 00:21:50 heh, looks like I just use r0, r3, r4, r5 and r6 00:22:43 humph. broke my footrest the rest of the way 00:24:32 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 00:25:00 ayrnieu: it won't work under Mac OS X 00:25:21 herk - good to know, I guess. 00:25:21 unless you have some way of executing ELF files 00:26:18 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 00:36:05 I'm coding a RetroForth source block with various conditional/flow control words from Herkforth :-) 00:36:54 crc: :) that's great :) 00:38:08 I think so. I've found that I like >IF =IF and 0; better than the traditional Forth words for those tasks 00:38:23 :) 00:38:24 me too 00:39:04 I hope to eliminate the traditional words when I do RF 8.0, but that's a ways off yet... 00:39:16 cool :) 00:39:24 I have to get the current users of RetroForth accustomed to them first 00:39:53 :) 00:39:56 yeah 00:40:40 I suppose that's a good thing about not having anybody seriously using herkforth... nobody gets upset about major changes 00:40:46 Right 00:41:17 (I'm in the middle of changing how word names and such are stored in the dictionary) 00:41:28 I have 10-20 people who I know actually use RetroForth, and probably more that I don't know about 00:41:39 Ooh, dictionary changes :-) 00:42:00 so it's counted with the first byte instead of just the string padded with zeros 00:42:15 not sure I like the byte though 00:42:32 I see 00:45:25 I wrote code to alter the dictionary 00:46:20 but running it leaves herkforth unusable, because the editors dictionary searching does not expect a count byte 00:49:48 not sure I want this change 00:49:55 I'll sleep on it 00:50:05 or at least sleap anyway 00:50:48 Ok 00:51:41 * crc just finished coding+testing =if if <>if 0if >a @a !a a 00:51:42 :-) 00:52:48 nice 00:53:18 The words like <; are going to take longer though... 00:54:00 really? why? 00:54:17 Actually, maybe not 00:54:56 they were pretty easy on ppc. I just had to figure how many bytes were compiled by ; 00:56:50 ,<; ,= 20 _bnl ,; ; 00:56:54 : ,<; ,= 20 _bnl ,; ; 00:57:45 ( ,= compiles code to compair the top two items on the stack and drom them. it's used in ; etc.) 00:59:05 20 _bnl compiles a conditional branch forward 20 bytes (bnl == Branch Not Less than) 00:59:35 anyway, I'm off to bed 00:59:52 I'm so glad to hear you are benefiting from herkforth 01:00:05 Good night 01:00:13 --- quit: Herkamire ("bed") 01:07:39 * crc wonders why this is not working 01:18:07 --- quit: cmeme ("Client terminated by server") 01:18:22 --- join: cmeme (~cmeme@216.184.11.30.unused.swcp.com) joined #forth 01:26:55 --- quit: tgunr (Read error: 54 (Connection reset by peer)) 01:28:36 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 02:46:09 --- quit: crc ("Time for bed... Goodnight all!") 03:04:57 --- join: crc (crc@0-1pool88-38.nas48.philadelphia1.pa.us.da.qwest.net) joined #forth 03:15:12 --- quit: crc (Client Quit) 03:16:07 --- quit: tgunr (Excess Flood) 03:17:55 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 03:27:25 --- join: crc (crc@0-1pool176-18.nas6.philadelphia1.pa.us.da.qwest.net) joined #forth 04:21:16 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 05:46:44 --- join: lalalim_ (~lalalim@p508AB667.dip.t-dialin.net) joined #forth 05:59:29 --- quit: lalalim (Read error: 110 (Connection timed out)) 05:59:45 --- join: crc_ (crc@0-1pool176-55.nas6.philadelphia1.pa.us.da.qwest.net) joined #forth 06:12:17 --- quit: crc_ (Read error: 54 (Connection reset by peer)) 06:16:56 --- quit: I440r (Read error: 104 (Connection reset by peer)) 06:17:35 --- quit: crc (Read error: 110 (Connection timed out)) 06:18:42 --- nick: lalalim_ -> lalalim 07:12:07 --- join: I440r (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 07:21:34 --- part: lalalim left #forth 07:36:59 --- join: ASau (~root@217.16.31.100) joined #forth 07:37:05 Dobry vecer! 07:45:07 --- join: warpzero (~warpzero@mi126.dn180.umontana.edu) joined #forth 07:51:32 Guten Abend, warpzero! 07:51:42 --- join: KptnKrill (~kyle@pool-68-239-36-100.bos.east.verizon.net) joined #forth 07:51:58 God kvaell, KptnKrill! 07:52:06 sup 07:52:14 God kvaell to you too :) 07:52:15 Hi ASau 07:55:47 what does god kvaell mean? 08:00:16 Dobryjj vecher. 08:03:43 Privet 08:03:54 God kväll, KptnKrill 08:04:21 :) 08:04:23 God kvall, Robert. 08:04:41 Er sverige? :) 08:04:57 ? 08:05:06 I'm so confused right now... 08:10:29 --- join: jdrake (~jdrake@CPE00045afdd0e8-CM014410113717.cpe.net.cable.rogers.com) joined #forth 08:10:38 --- part: jdrake left #forth 08:23:44 Do not do this. 08:24:14 It's the reflection of our internationalism. 08:35:26 --- quit: fridge_ ("Changing server") 08:36:09 --- join: fridge (~fridge@dsl-203-113-229-162.NSW.netspace.net.au) joined #forth 09:28:02 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 09:44:38 --- nick: KptnKrill -> KrillAWAY 09:45:40 Mur, does Eesti belong to Finno-Ugric? 09:45:50 yes 09:46:21 I'm trying to recall, which languages are Baltic. 09:46:34 Lithuanian and Latvian, it looks. 09:59:03 hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi hi 10:00:12 Oh look, it's that annoying spammy guy again :P 10:00:53 Yes, let's run 10:01:06 * tathi runs and hides 10:01:45 OMFG!!!!! 10:02:04 i just found out my friend was hospitalized 2 weeks ago 10:02:06 fuck 10:02:08 aarghghg 10:02:09 brbb 10:03:12 --- quit: tathi ("mowing...") 10:07:37 --- quit: tgunr (Excess Flood) 10:07:54 Ouch 10:08:06 Any idea why? 10:09:30 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 10:09:32 no :( 10:12:58 seems that hes alright tho 10:14:20 ls 10:14:32 Ha! 10:14:38 :) 10:14:47 The same interface everywhere! 10:15:21 xlock -mode julia <-- nice. :) 10:15:32 heh 10:15:37 Same goes for the "strange" mode. 10:15:38 julia = sister? :) 10:15:48 :P 10:15:50 No, Julia = old man. 10:15:57 oh :) 10:16:07 heh 10:16:12 julia is a german female name 10:16:16 lol 10:16:18 Last name 10:16:21 For a frenchie 10:16:34 And I also think of the female name... 10:16:38 It's "Julija" in Russian. 10:16:42 :) 10:16:46 * Robert has known a Julia too much 10:17:10 aah 10:17:13 :) 10:17:27 Because Russian is much older language than English, it retains "j" for "i". 10:17:47 :) 10:18:09 Modern languages use "j" for "zh". 10:18:37 :) 10:19:11 Quite opposite the situation is in Altaic family. 10:19:26 ASau our language master :) 10:19:54 Malqar is older than Kazakh, but it has "zhurt" vs. "jurt." 10:19:59 how interesting 10:20:29 indeed 10:21:26 The most curious thing is how "j" sound transforms to "zh" and vice versa. 10:21:54 --- join: jdrake (~jdrake@CPE00045afdd0e8-CM014410113717.cpe.net.cable.rogers.com) joined #forth 10:21:55 Try to do this, but don't break your tongue. 10:22:20 Dobryjj vecher, jdrake! 10:22:32 terve jdrake! :) 10:22:50 ASau, yo, can I serenade you with my 'poetry'? 10:23:10 Only in Forth. 10:23:30 : SEE MY POINT OF VIEW ; 10:24:07 ASau, http://rafb.net/paste/results/QJKF6V86.html <-- imagine writing that in forth, and tell me it would look better 10:24:52 jdrake: ocaml? :) 10:25:07 arke, bless its soul 10:25:21 look? 10:26:30 What's it meant to do? 10:26:38 one sec 10:27:28 http://homepage.mac.com/wackysteak/Test.png 10:27:35 a star field 10:27:49 I don't have X. 10:27:53 i am trying to look at different methods of generating star fields 10:27:55 X? 10:28:35 Text only. 10:28:39 my next goal is to create a sort of spiral galaxy 10:28:59 ASau, ok, then you probably can't appreciate the beauty, the output of coordinates isn't much like art 10:29:34 well i have to run 10:29:37 later 10:31:28 bye jdrake 10:33:33 Where's ianp? 10:33:51 I'd wanted to consult on IRC client for Emacs. 10:36:09 --- nick: TomasuDlrrp -> Tomasu 10:36:11 jdrake, your code is equivalent to this: 10:36:11 * Tomasu is back (gone 14:40:17) 10:36:19 : star random random point ; 10:36:31 : field #stars times star repeat ; 10:37:39 If you wish to print coordinates first, you have this change: 10:37:46 : print . . ; 10:38:00 : 2random random random ; 10:38:22 : star 2random 2dup print point ; 10:41:25 insomnia can be brilliant sometimes 10:42:02 i just finished and debugged my abstract event framework 10:44:24 :) 10:44:30 question for linuxers 10:44:38 how do i remount / to rw? 10:46:54 nevermind 10:47:31 madgarden, you here now? 10:48:24 --- quit: jdrake (Read error: 110 (Connection timed out)) 10:50:39 mount -o rw /dev/XXX / 10:51:13 mount -o rw / 10:51:24 Maybe. 10:51:37 aack. I forgot to log off last night. Sorry. 10:52:18 anyone have madgarden's little c like script interpreter? or remember its name? I might have it but my $HOME is a mess :o 10:52:27 kc5tja: nobody minds :) 10:52:46 kc5tja: going to work now? 10:53:04 I'm actually off work today, but I will be going to aikido later today. 10:57:08 :) 10:59:44 --- join: jdrake (~jdrake@CPE00045afdd0e8-CM014410113717.cpe.net.cable.rogers.com) joined #forth 11:01:35 wb jdrake 11:01:42 terve arke 11:01:47 yo 11:02:09 does anyone know of a source of info on generating a spiral galaxy? 11:03:24 Nope. Although I suspect it would basically involve random placement of stars with random masses around a significantly larger, central mass (e.g., SIGNIFICANTLY larger, as in, supermassive blackhole massive. :)) 11:03:31 And then apply a spin to it. 11:03:59 kc5tja, that is beyond me 11:05:34 I assume this is for a simulation? If so, what is the simulation for? 11:05:56 this is just for star placement in a static universe. Space game, turn based 11:06:04 Ahh 11:06:31 got to go 11:06:33 lunch :-) 11:06:36 Heh :0 11:06:38 :) even 11:06:39 enjoy. 11:08:34 hello everyone 11:08:43 re warpzero 11:09:08 sup kc5 11:09:12 wheres my kestrel 11:09:28 You know where. 11:09:41 The MISC processor is no more; patent violation. 11:09:45 Now using TTA. 11:09:51 So I guess you got your wish after all. :-) 11:09:52 seriously? 11:09:57 awesome POSSUM 11:10:11 did you get a cease and desist order? 11:10:32 Nope. But someone told me of the sue-fest that Patriot Scientific was going on, and I decided to do some research into the matter. 11:10:49 Sure enough, Chuck and PTSC has valid patents covering the MISC. They won't expire until 2018 at the latest. 11:10:50 ah 11:11:14 TTA is my lover 11:11:36 I like TTAs too, but they have voracious memory bandwidth requirements. :( 11:11:58 can i help you design it 11:12:12 I actually already have the register set designed. 11:12:20 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 11:12:22 anybody on win9x/ME or DOS? 11:12:32 The assembler for it is kind of finished, but I am going to write an emulator for it too. 11:12:56 eh 11:13:03 well im sad i haven't been around 11:13:08 but i got kicked out my house 11:13:15 and my job wont pay me 11:13:33 Performance of the system isn't going to be nearly as good as with the MISC though. :( Due to the voraciousness of its instruction fetch bandwidth, load/store operations will now take 2 cycles, and some forms of branches may take up to 3 cycles. 11:14:02 why don't you just call up chuck 11:14:08 and ask him if you can make a MISC 11:14:38 Chuck has been made aware of my desire to use MISC, and he forwarded my request to his IP manager. I was told, "Contact me any time," and I tried ... three times. 11:14:42 kc5tja: why not make more buses, if possible? 11:14:48 I got no phone calls, no return e-mails, nothing. 11:14:55 kc5tja: :( 11:15:00 arke: It's intrinsic in the nature of Forth. 11:15:08 Forth is just plain not at all parallelizable. 11:15:27 i dont see why memory requirements go up 11:15:28 but sure 11:15:36 Memory requirements go up because: 11:15:44 1) Only one instruction is packed in a single 32-bit word, 11:15:56 2) Instructions are now fetched every freaking clock cycle instead of, say, every five clock cycles. 11:16:11 one forth instruction, that is, not one CPU instruction, right? 11:16:20 Yes, sorry. I meant one Forth primitive. 11:16:28 :) 11:16:36 And in some cases, since I have a dual-bus architecture inside the CPU, some primitives take two CPU instruction words. 11:17:43 well whatever 11:17:58 i dont believe that its that bad but 11:18:05 i haven't exactly tried to do this 11:18:47 I am making this TTA specifically for a stack machine. I have 31 CPU registers (with room for more if I decide to add on later), which closely mimicks the original MISC design. 11:19:28 why don't you design it for a TTA machine 11:19:35 There are three instruction formats: CALL (31-bit effective address, direct-loaded into the PC; no XORing), D=S, and D=imm7, where imm7 is a 7-bit, sign extended immediate value. 11:20:17 Because then there is zero advantage to using it over a more traditional MISC. 11:20:19 Err 11:20:20 RISC 11:20:32 except that its TTA 11:20:34 and not RISC 11:20:42 Except that it can't be used. 11:20:50 Forth has no capacity for instruction-level parallelism. 11:21:18 thats what optimizing compilers are for :D 11:21:20 The results of one operation depends always on the results of the immediately preceding instruction. 11:21:31 kc5tja, you may be interested in works of Chapyzhenko. 11:21:43 ...might... 11:21:46 Dude, if I'm going to go through that kind of trouble, I'll make it run Oberon instead of Forth. 11:21:55 no i know 11:22:04 just leave it open 11:22:10 so that i can use the TTA directly okay 11:22:21 Everything will be LGPL. 11:22:43 kc5tja: the compiler should be able to do parralelization relatively easy 11:22:44 The whole point of this computer is to be *entirely* LGPL. NO hidden secrets. 11:22:59 kc5tja: ...i think 11:23:06 IIRC, Andrejj Chapyzhenko tries to combine TTA with stack. 11:23:10 kc5tja: :) 11:23:16 ASau: I'm alread aware of his efforts. 11:24:02 kc5tja: well why not make a really lame hyperthreading-like thing on the cpu 11:24:04 kc5tja: only thing is making compiler primitiv-aware. which shoudlnt be hard. 11:24:18 warpzero: because he has space/constraints 11:24:24 arke: I *openly* invite you to try. :D 11:24:24 AFAICR, he finds instr. level parallelism in this approach. 11:24:28 i think you could do it really easilly 11:24:39 warpzero: he only has so much room to do it 11:24:40 --- quit: jdrake (Connection timed out) 11:24:49 arke: you just said that 11:24:52 ASau: He has multiple concurrent instruction streams -- e.g., the equivalent of overlapping four colon-definitions on top of each other. 11:24:52 kc5tja: no problem 11:24:59 warpzero: ....because hes on an FPGA 11:25:55 Maybe this was Tarasov's. 11:25:56 kc5tja: well, i guess you could maybe make two cores on one FPGA.... 11:26:47 Someone has expressed idea, that operations on d- and r-stacks can be done in parallel. 11:26:50 Doable, but overkill for my needs. 11:27:11 well i vote for you just 11:27:15 ASau: Sure, because they don't overlap (except when transferring data between them). But what does this get you? 11:27:17 walking over to chucks house 11:27:18 Nothing. 11:27:25 kc5tja: well, i still think that compiler shouldnt be too hard 11:27:27 OK, you can "return" at the same time as performing the final addition or whatever. 11:27:29 arke, it may happen you better to have on-chip RAM. 11:27:52 :/ 11:28:01 kc5tja, saving call-return time. 11:28:07 Which is negligable. 11:28:36 My TTA can already do that anyway. 11:28:54 When you program short definitions, this may become visible. 11:29:04 kc5tja: OVER is only one CPU instruction! :) 11:29:25 kc5tja: oh, nevrmind 11:29:38 kc5tja: i say that you should keep trying to get in touch with chuck or whoever is managing his IP but 11:29:46 kc5tja: but DUP is only one, and DROP too 11:29:52 because obviously this is kinda lame 11:30:27 warpzero: Like I said. Three times with no response. I'm not going to waste my time. 11:30:43 kc5tja: acc_o := dst_t for DROP, dst_t := acc_o for DUP 11:31:09 kc5tja: wait so you have three instruction formats? 11:31:11 arke: Yes. 11:31:22 why not have like 11:31:25 one instruction format 11:31:30 Because code explodes. 11:31:35 99% of Forth code is CALLs. 11:31:38 kc5tja: kaboom 11:31:43 :) 11:32:22 Using a single instruction format means a single call will then take a MINIMUM of one instruction to load the PC-with-auto-push register, then one cell for holding the target address. 11:32:25 kc5tja: eh 11:32:34 kc5tja: OVER = 3 CPU cycles? :( 11:32:36 Hence, a single call goes from 32-bits to 64-bits. That is unacceptable to me. 11:32:55 arke: OVER: DT_T := DS_O 11:33:00 err, wait. 11:33:23 arke: OVER: DT_T := ACC_T , ACC_T := DS_O 11:33:52 kc5tja: you totally need a misc cpu for this 11:33:52 whatd the difference between dt and ds? 11:33:56 :C 11:34:24 DT_T is the top of data stack *trigger*. DT_O is the same register, but *no trigger*. DS_O is the *second* top of stack. 11:34:39 oh, you have a second trigger 11:34:42 er, register 11:34:43 cool 11:34:45 * Tomasu is away: AMG 11:34:48 that makes life much easier 11:34:50 No, no second trigger. Just a register. 11:35:11 thats what i meant 11:35:12 :) 11:35:15 And note that the Forth VM keeps its top of stack in the accumulator, so DT_* is really the Forth's second top of stack, and DS_* is the third. 11:35:26 kc5tja: can you add a population count instruction for me 11:35:55 kc5tja: :) 11:36:00 That's awfully application specific, I think. 11:36:06 its not 11:36:10 i end up wanting one 11:36:13 ALL THE DAMN TIME 11:36:15 in C 11:36:25 kc5tja: do you have temporary registers? 11:36:26 That can't be done in a single cycle anyway. It'd have to be implemented as a step. 11:36:32 arke: No. 11:36:43 how so? 11:36:45 warpzero: I've never had a need for such an operation. 11:36:55 populaation count? 11:36:58 i always need one 11:37:02 number of 1 bits in a word 11:37:03 For what? 11:37:13 lets see 11:37:19 ooh, cool 11:37:20 i wanted one for this CA stuff i was doing 11:37:26 CA? 11:37:30 and i wanted one for some encryption stuff 11:37:33 california? :) 11:37:38 and i wanted one for some compression stuff 11:37:39 but 11:38:04 cortificate authority? 11:38:09 certificate, even 11:38:12 Cellular Automata 11:38:15 tathi: HAH! Dvorak typer! :D 11:38:29 kc5tja: I was just wondering if anyone would catch that ;) 11:38:57 :) 11:39:44 anybody running windows 9x/me? 11:39:48 or DOS? 11:39:57 arke: Not I 11:39:58 why 11:40:11 i have dosemu on here 11:40:22 need mscdex.exe and oakcdrom.sys or equivalent 11:40:32 heh 11:40:59 oh, actually, there's a win98 machine here. 11:41:15 tathi: awesome. could you send me those files please? 11:42:42 kc5tja: whats SWAP/ 11:43:00 SWAP: DS_O := DT_O , DT_O := DS_O 11:43:12 wait 11:43:12 * kc5tja sighs 11:43:16 I keep making that mistake. 11:43:16 you can do that? 11:43:28 SWAP: DT_O := ACC_T , ACC_T := DT_O 11:43:29 Yep. 11:43:49 As long as they're in the same physical instruction word, absolutely. 11:43:51 oh, thats right 11:43:56 Since both moves are executed exactly at the same time. 11:43:58 they just have to be in the same word, right? 11:44:05 oh okay 11:44:10 yeah :) 11:44:35 im not really sure if i want a kestrel now though 11:44:48 i'd probably rather make my own TTA 11:47:05 Well, I'm sorry to hear that, BUT, it really wasn't my choice in the matter. Moreover, one should always choose their tools based on how well it satisfies their requirements. Kestrel is intended to be a Commodore 64-ish computer, meaning a general purpose, desktop-class (albeit slow compared to PC standards of today) computer. 11:47:31 yeah but i wanted to use your misc core 11:47:39 thats really what i wanted 11:47:58 thats why i didn't want the desktop stuff on it, just serial I/O 11:47:59 :) 11:48:53 Well, three phone calls to the IP manager kind of gives me the impression, "I either don't want to talk to you, for real, OR, I'm an incompetent and disorganized slob who can't remember a thing." Either way, I don't want to talk to him if he's just going to blow me off. 11:49:10 yeah 11:49:17 do you know how far his IP extends? 11:49:41 PTSC has some 8 or so patents on the MISC architecture, but only one is particularly relavent to me. 11:49:53 which one would that be? 11:49:58 or 11:50:04 what does it patent? 11:50:07 That is, packing multiple instructions in a single word, and executing them sequentially inside the CPU while the bus is used for other things. 11:50:52 Hm. 11:50:59 Idea can't be patented. 11:51:22 Only example may. 11:51:33 Implementation. 11:51:34 ASau: Regardless of whether it can or cannot be patented, I do not have a fleet of lawyers to argue the point. 11:51:40 thats copyright ASau 11:51:56 No. 11:52:05 That's not copyright. 11:52:05 you can totally patent an idea 11:52:13 this is the USA 11:52:13 That's patent. 11:52:28 kc5tja, welcome to Russia! 11:53:08 Copyright is only for a physical manifestation of an idea. A patent relates to a *family* of manifestations of an idea. So while it does not relate directly to the idea per se, the MISC patent describes a *family* of implementations (which my MISC was a member of). 11:53:43 :) 11:54:32 No, the difference is: copyright deals with art, patent deals with engineering. 11:54:33 kc5tja: maybe you should just email chuck and be like i couldn't get ahold of your IP manager dude 11:54:39 ASau: Irrelavent. 11:54:51 ASau: this is the US dude 11:55:24 Not only is it the USA, but this style of intellectual property management is spreading like a fungus all around the globe. 11:55:36 The EU is adopting a LOT of US patent ideologies. 11:55:53 suck 11:56:56 I don't know US law. 11:57:03 arghblbl 11:57:07 I know our copyright law. 11:57:36 ASau: One need only peruse the patent database at http://uspto.gov to see what kind of total nonsense our patent system is. 11:57:52 Are you aware that in the USA, companies are patenting genomes? Including HUMAN genomes? 11:58:13 wtf 11:58:19 well 11:58:22 For all I know, my VERY EXISTANCE may already be (and most likely is at this point) violating at least one patent. 11:58:27 i can't clone myself for 28 years 11:58:49 kc5tja: you have prior art 11:58:59 fridge: No, EVERYBODY has prior art. 11:59:07 lol 11:59:22 Genomes just plain cannot be patented. Period. So says God, should you choose to believe in one, or nature, or the universe. 11:59:31 or common sense 11:59:37 actually 11:59:40 thats a lie 11:59:41 In law, there is no common sense. 11:59:41 because 11:59:44 they are patented 11:59:55 gah, kc5tja beat me to it. 11:59:55 :) 11:59:57 :( 12:00:10 In law, "Justice is blind." 12:00:37 and TTAs aren't patented? 12:00:41 So far. 12:00:47 I haven't done an extensive patent search, though. 12:00:48 well 12:00:51 So I don't really know for sure. 12:01:10 fuck 12:01:22 patents are stupid 12:01:26 It'll cost me something on the order of $4500 just to do a patent database search by a professional. 12:02:31 Mmm, wonderful. 12:03:04 patents sound like quite the disincentive to innovate 12:03:16 unless you happen to be a rather large company 12:03:20 no more thomas edisons 12:03:20 yeah they are 12:03:29 thanks america 12:03:48 Agreed. This country ruined it for everyone. 12:04:13 And then the politicians CRY because "We have a third world educational system, and a shortage of engineers and scientists." Well GEE, mother fuckers! I Wonder WHAT THE FUCK WHY THAT IS!!! 12:06:02 http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=/netahtml/search-adv.htm&r=10&f=G&l=50&d=ptxt&S1='transport+triggered'&OS=%22transport+triggered%22&RS=%22transport+triggered%22 12:07:52 at the very least patent lawyers should be free 12:07:58 if they have to be assholes about it 12:08:16 there shouldn't BE patent layers 12:08:22 yeah 12:08:24 well i know 12:08:32 thats what im saying basically 12:09:07 Wonderful! 12:09:18 So I guess it's back to RISC for me then. 12:09:32 isn't that cool 12:09:45 if i was you 12:09:50 i would just start making them 12:10:08 and wait for the cease and desist letters 12:10:30 warpzero: Sorry, it doesn't work that way when it comes to real-world products. 12:10:45 Since the sale of tangibles is quantitative, they'll want back-remuneration. 12:10:52 And I won't be able to afford that. 12:11:20 this conversation 12:11:25 makes me want to move to like 12:11:31 some african country 12:11:42 with no international patents 12:11:50 warpzero, welcome to Russia! 12:11:58 We have all these patents. 12:12:06 But none is working. 12:12:12 what 12:12:52 Unless you grow enough to tease government or bigger company. 12:13:12 kc5tja: wait 12:13:31 i think that patent actually proves that you can use TTA 12:13:31 We have quite another law traditions. 12:15:26 how the hell is anybody supposed to innovate if it's biffin illegal 12:15:58 if someone has a good idea, then people should be allowed to use it 12:16:00 i think it would work 12:16:04 Just don't count legal status as the truth. 12:16:13 if we just set the patent expery time to like 2 months 12:16:35 Do not take it close. 12:16:55 warpzero: The problem is, it takes up to 5 years to GET the patent in the first place. 12:17:02 yeah 12:17:03 i know 12:17:11 and then 12:17:17 you can use it for two months 12:17:20 exclusively 12:17:36 warpzero, ban patents 12:17:43 i would like that 12:17:58 And you can use whatever in this two months or two years. 12:18:13 Until you publish or someone else guesses. 12:18:18 I agree with ASau -- ban patents all together. 12:18:36 I've read a bunch about it, and I admit there is a lot I don't know (about business and patents) but I firmly believe that patents overall, are harmfull to society and should be abolished completely 12:19:46 people think patents are good because it's supposed to encourage people to invent and research. 12:19:51 Patents were intended to protect the inventor from vultures who stole their ideas. Well, frankly, there is a far better system for this than the patent: it's called "trade secret." 12:20:05 but that's useless if we don't get to learn from AND use the ideas from the inventions/research 12:20:39 Herkamire, we don't learn from them now. 12:20:44 kc5tja: whatever you do 12:20:49 patents backfire 12:20:56 don't write an automatic TTA designer 12:21:02 There're many exclusive labs everywhere. 12:21:02 thats patented to all fuck and back 12:21:12 small inventers usually can't afford them, and even if they can, they must worry that some other patent can be held against them. 12:21:13 warpzero: I didn't. I designed the TTA by hand. 12:21:42 kc5tja: i think you're fine 12:21:57 kc5tja: as long as you don't violate the interconnect shit in that patent i linked 12:22:05 kc5tja: but im not patent laywer 12:22:16 In my TTA, every FU connected to every BU. 12:22:24 So any register can be accessed from any instruction slot. 12:22:33 does that violate that patent? 12:22:36 I guess people asume that when something is patented, it will be produced, and made available reasonably from the patent-holder or licensees. but often is used to stop everybody from making it 12:24:24 eg there are lots of patents on automotive improvements, that were bought by big auto companies to ensure that no competition would have that advantage over them. 12:24:47 Oh, wait a minute.... 12:24:50 in a lot of these cases, this has had a very bad effect on the economy 12:25:03 That is a good point. The patent describes a method of minimizing interconnects in a TTA design. 12:25:12 I'm actually working to *maximize* interconnects. 12:25:17 okay 12:25:21 :) 12:25:25 i just saw that one as the biggest thread 12:25:43 kc5tja: just be sure to open your design so everyone can use it as prior art against future patents :D 12:26:04 LGPL, like I said. 12:26:24 with europe going the way it is 12:26:28 its bound to get worse 12:26:31 before it gets better 12:26:32 warpzero: that doesn't work if someone has already started the patent application any time in the last 5 years (or sometimes more) 12:26:40 pending patents are kept secret 12:26:46 thats stupid 12:26:48 it is literally impossible to find out about them 12:26:54 Yes, and that is INTENSELY stupid. 12:27:42 even if you had 1000 people working full time for a year, you could not find out if your stuff will violate a patent a year from now. 12:27:59 thats fucking ridiculous 12:28:05 no wonder our economy sucks 12:28:10 Our patent system is configured expressly to forbid innovation. 12:28:54 too bad you can't just fork governments 12:29:07 little companies and individuals have no choice but to just pray that nobody sues them 12:29:10 :/ 12:29:16 kc5tja: so you can still use the TTA, hopefully 12:29:19 warpzero: yeah, I *like* that idea :) 12:29:29 arke: Hopefully. 12:29:32 i agree! :) 12:29:35 kc5tja: yeah 12:29:44 If not, I'll just have to implement a MIPS-I clone or something. 12:29:44 we have all sorts of fun laws that allow big companies to burry anybody they want in legal fees 12:30:06 can you just buy MIPS procs from chuck? 12:30:07 or something COM:ETELY new 12:30:16 i mean MISC 12:30:16 warpzero: You mean MISC? 12:30:18 yeah 12:30:37 warpzero: While it's a possibility, I'm sure, the low sales volume overall would likely drive the Kestrel clean out of its target price range. 12:30:49 oh 12:31:20 this country is going to hell fast 12:31:30 kc5tja: btw, about the MISC patent, what in it affects you? 12:31:30 And I don't want to use the F21 because it's not being produced anymore, and therefore, represents a limited lifespan product. 12:31:34 Herkamire: yes 12:31:35 and it seems to be persuading a bunch of the world to come along 12:31:39 arke: I already explained above. 12:32:00 didnt see it when i read the backbuffer .. could you say again? 12:32:22 i meant the specific thing in it that the FTS1001 violates 12:32:25 arke: he found a seccond patent that covered packed instructions 12:32:30 arke: One memory fetch which fetches N instructions, which internally to the processor are executed sequentially, thus keeping the memory bus free for other memory transactions. 12:32:58 kc5tja: can you just not do that one part 12:33:05 This is what provided 1-cycle memory reads/writes, for example. 12:33:42 :/ 12:33:59 warpzero: what's the #&^$ point of having such small instructions if you can't fetch a bunch at once? 12:34:08 good call 12:34:13 well i mean 12:34:22 if the TTA doesnt work out, then you should probably try contating that guy again 12:34:43 they would take up SIX TIMES as much memory of they were stored seperately, and the computer would probably run at about half the speed 12:35:04 this would make the computer significantly more expensive, and much slower 12:35:09 no i mean 12:35:10 not do that 12:35:16 just not use the memory bus 12:35:22 while its excecuting instructions 12:35:29 which would make LOAD/STORE slower 12:35:29 Herkamire: Well, if the instructions were kept as byte-code, then the CPU could fetch individual bytes, and execute the instructions one at a time, again saturating the bus. 12:35:36 but wouldn't affect much else 12:35:39 But it at least keeps the code density reasonable. 12:35:57 kc5tja: but then you have to do byte addressing right? 12:36:03 Herkamire: Yep. 12:36:32 it'd resemble an 8-bit computer with a 32-bit data stack and a 32-bit data bus. :) 12:36:41 (such as the x86. :D) 12:36:56 no 12:36:58 gotta go catch a bus. be back in 40 minutes 12:37:19 the x86 is an 8-bit computer with a 16-bit data stack and a 32 bit data stack and a 32-bit data bus 12:37:22 http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&p=1&u=/netahtml/search-bool.html&r=1&f=G&l=50&co1=AND&d=ptxt&s1='charles+moore'&OS=%22charles+moore%22&RS=%22charles+moore%22 12:37:23 Yeah, I need to run some errands too. But this conversation is too interesting to let go. But I do need to go soon. 12:37:26 was that it? 12:37:49 kc5tja: :) 12:37:59 heh 12:39:52 No. The patent I am in violation of is actually Chuck Moore's patent. 12:41:13 x86 is a 128-bit SIMD capable processor with 80-bit floating point on 36-bit address space enmulating a 32-bit processor running on 16-bit emulator for an 8-bit processor based on a 4-bit processor made by a 2 bit company that cant stand 1 bit of competition 12:41:18 blah 12:43:00 Ahh, they updated it. 12:43:12 It never used to have the 128-bit SIMD stuff. :) 12:43:23 --- quit: tgunr (Excess Flood) 12:43:48 does it really have a 36-bit address space? 12:43:52 Yes 12:43:56 warpzero: yes 12:43:58 what the shit 12:43:59 why 12:44:05 warpzero: hallmark of the pentium pro 12:44:11 You have to use 4MB pages to access that extended region though. 12:44:17 warpzero: BECAUSE THEN THEY HAVE 64 GB AND NOT JUST 4 GB 12:44:20 :) 12:44:32 however, it requires an ugly hack to use it 12:44:40 ack, kc5tja 12:45:04 It's intended for high-end servers. 12:45:13 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 12:45:26 E.g., at work, we have some customers that have 4GB of RAM installed in their machines, and they STILL swap to disk. 12:46:05 what OS? 12:46:18 Linux SMP running on a P4HT. 12:46:24 :) 12:46:37 Some use Windows 2000 Advanced Server though. 12:46:45 lol 12:46:59 I, for the life of me, cannot figure out how anyone at all can *fill* 4GB so that things still swap, but I digress. 12:47:12 JRE 12:47:51 That's true. Many of our customers absolutely require Tomcat. 12:48:06 kc5tja, actually there're problems that require GBs of RAM to solve. 12:48:35 E.g. GIS. 12:48:44 GIS? 12:48:44 GIS? 12:48:57 Fun with acronyms, today. 12:48:58 Geographic informational systems. 12:49:24 But you won't find any such systems at an ISP. :) 12:49:32 :) 12:49:39 big server, i guess 12:50:26 I've once met a man on the net, who dealt with geology or geography. 12:51:08 My point is, they are not going to host computing nodes at an ISP. 12:51:12 He told fun stories about Earth surface square measured in degrees. 12:51:45 kc5tja: maybe they shouldn't run X11 with 512MB graphics cards in backbuffer mode :) 12:51:50 When you have enough video, you fill the space at the wink. 12:52:52 ASau: We have a system that streams real-time video, and it only has 1GB of RAM and doesn't swap to disk all that much (it does, however, stream from disk). 12:52:55 Video processing is another space consuming task. 12:53:10 GIS lol 12:53:12 Video processing is invariable done almost exclusively on the harddrive too. :) 12:54:00 And loving QM. 12:54:08 Anyway, I need to get to the bank, deposit my check (next check will be BIG, thankfully!), grab some food, and then I'll be back. 12:54:28 have fun 12:54:31 Never heard of QM. 12:54:34 I'm going to bed. 12:54:41 Quantum mechanics. 12:54:48 OH, I thought you were still on the video stuff. 12:54:53 ooh, fun stuff 12:55:01 Yeah, QM I can see taking gigs, easily. 12:55:06 for simulation purposes. 12:55:28 Well, good night! 12:55:36 night! 12:55:37 --- quit: ASau ("leaving") 12:55:39 * kc5tja did wonder, the other day, about how much income I could make if I purchased something like 20 1U servers, loaded Linux with OpenMosix on them, and sold accounts and CPU time. :) 12:55:54 openmosix? 12:56:01 maybe 12:56:03 if OM worked 12:56:06 that would work 12:56:14 OM does work. 12:56:18 It's used all the itme. 12:56:37 openmosix????? 12:56:40 arke: http://www.openmosix.org or something like that. 12:56:40 whats openmosix? 12:56:56 a failed attemt at linux clustering is what it is 12:57:04 It's a kernel-level load balancer and cluster implementation for Linux that is open source. 12:57:23 interesting 12:57:31 is it good? 12:57:34 no 12:57:36 what, pray tell, is so failed about it, if people are already using it productively every day? 12:57:46 it sucks 12:57:47 thats what 12:58:06 So you're admitting that you have no basis of proof on which to make your judgement then? 12:59:14 Anyway, I'm outta here. Errands to run. 12:59:27 bye, me too 12:59:45 hi all. 13:01:55 hey slava. 13:02:04 How's factor coming along these days? 13:05:18 i'm working on my game these days 13:05:40 ah. 13:06:36 i'll do a new release of cfactor in a few days, as soon as i get file output words working. 13:07:04 --- join: jdrake (~jdrake@CPE00045afdd0e8-CM014410113717.cpe.net.cable.rogers.com) joined #forth 13:07:28 hi jdrake 13:07:37 yo 13:22:11 jd! 13:22:24 I440r! 13:22:47 Hi :) 13:30:07 :) 13:30:10 <-- at work 13:34:23 sup I440r 13:34:28 i want your forth 13:34:55 you should make a libisforth 13:35:05 that lets C apps use all that neat stuff 13:37:14 :) 13:37:20 c apps dont deserve it 13:37:23 :) 13:39:13 yeah they do 13:39:19 sun released a new series of 'java' workstations. not sure why they're called that, they use the opteron chip! 13:39:23 and they actually look affordable 13:40:10 well cheaper than thier sparc machines anyway 13:41:16 yeah cuz guess what 13:41:22 sun sucks at cpus now 13:41:28 yup 13:46:58 s/at cpus now// 13:47:16 and 13:47:18 at software 13:47:19 so 13:47:28 i think they still make okay raid boxes or something dude 13:47:40 haha 13:47:52 fibre channel sata 13:48:01 their linux distro is pretty lame 13:48:09 they sent me a free copy and i installed it for like 2 hours and wiped it 13:48:13 they've become 13:48:16 company without a clue 13:48:16 you mean their unix, slava? 13:48:24 they don't know where they should go 13:48:26 warpzero, no, java desktop system (their suse basd distro) 13:48:28 and are just floundering now 13:48:54 they're no ibm 13:48:59 they're also no oracle 13:48:59 so 13:49:02 they're kinda fucked 13:49:50 well they'll survive for a while based on legacy installments etc 13:49:51 you can only survive off of existing support contracts for so long 13:49:54 but over time they'll fade away 13:50:06 i think java will end up in the hands of ibm when sun dies 13:50:16 and everything else will just disappear 13:50:28 maybe HP will buy them 13:50:31 they can be like 13:50:34 DEC all over again 13:50:59 then HP will own 4 class A subnets 13:51:34 i hope they open source the jvm if they go out of business though 13:51:51 maybe then 13:52:03 someone can find out why it goes so fucking slow 13:52:18 this is already known, the library is fucking bloated 13:52:44 my opengl game loads all graphics on startup and uses 60 mb of ram or so -- but my text editor using the swing toolkit uses like 100 mb. that is lame 13:52:50 just like C++ 13:52:55 fucking 13:53:03 bloated languages -- 13:53:05 openoffice and mozilla make a great case for killing c++ :) 13:54:08 oh yeah what about 13:54:09 uh 13:54:11 WINDOWS 13:54:13 what about that 13:54:16 hahah 13:56:05 --- quit: tathi ("leaving") 13:56:08 mozilla 13:56:12 isn't actually that bad 13:56:16 its pretty bad though 13:56:26 i mean it does actually work well 13:56:45 its too big 13:56:51 and mozilla mail is buggy 13:56:58 who the fuck 13:57:00 uses mozilla mail 13:57:04 i do :) 13:57:06 it has spam filtering 13:57:13 i have spam filtering 13:57:18 what client do you use? 13:57:45 sylpheed-claws 13:57:51 it has a spam filter? 13:58:25 no 13:58:43 but 13:58:58 it has filter scripts and command execution and stuff 13:59:04 so you can put one in easy 13:59:12 bah i hate having to set things up 13:59:21 hehe 13:59:22 i used spamassasin with evolution for a while, it took ages to get it working 13:59:27 then one day it just stopped working totally 13:59:39 I've been using bogofilter for quite a while 13:59:44 life's too short to mess with config files and 3 programs to achieve a simple task 13:59:58 if moz mail was a bit debugged it would be great, because all the configuration is done in the GUI and the spam filter works wel 14:00:30 % bogoutil -d ~/.bogofilter/spamlist.db |wc -l 14:00:30 33715 14:00:39 i use bogofilter 14:00:44 it works good 14:04:32 if its not a pretty gui with 'junk' and 'not junk' buttons, i don't wanan hear about it :) 14:04:55 i have a junk 14:04:59 and a not junk button 14:08:17 The last I recalled, OpenOffice was written in Java, no? 14:08:24 no, its in c++ 14:08:34 it can embed a JVM for scripting i think 14:08:38 that's why its required to build 14:09:32 i thought openoffice was written in "slow" 14:09:33 cuz 14:09:38 damn 14:09:38 ahh 14:10:00 it was worse when it was 'star office' 14:10:14 i remember using star office 3.x, it used the motif toolkit, and damn, it *sucked8 14:12:31 lol 14:12:35 motif DOES suck 14:12:46 more than xaw3d sucks 14:12:47 well 14:12:49 X sucks 14:12:52 so 14:12:54 there you have it 14:12:57 warpzero: To you, EVERYTHING sucks. 14:13:02 yeah 14:13:04 lol 14:13:09 it does tho 14:13:12 well then he is right 50% of the time :) 14:13:16 BUT, if Motif sucked, it would be good for something. 14:13:32 i kinda like motif 14:14:12 I can't stand it, personally. I mean, it WORKS, but the widgets are so goddamned big on the screen that you need a 1600x1200 resolution screen just to fit any usable piece of data/content on the display! 14:14:18 well i like nedit anyway 14:14:44 nedit sucks 14:15:05 Uh oh -- partisan argument alert, coming from Mr. JEdit himself. :D 14:15:12 lol 14:15:21 joe 14:15:24 joe sucks 14:15:32 but it sucks less than almost any other editor 14:15:37 90% of everything is crud 14:15:38 VIM! 14:15:45 herkforth! 14:15:47 notepad! 14:15:53 EDLIN! 14:16:07 cat! 14:16:13 No, wait, what the hell am I saying? COPY CON FILE.TXT! 14:16:15 echo.... 14:16:22 ok ennuff of the user friendly jokes :) 14:16:31 brb 14:19:19 Heh, now that'as a good name for a DOS users convention: COPY CON :) 14:20:33 openoffice doesn't run at a usable speed 14:20:42 its not bad once it loads 14:20:47 i use its spreadsheet for contract time keeping etc 14:20:49 yes it is 14:20:51 and sometimes its word procesor 14:21:03 maybe on a 450 mhz powerpc, but i have a genuine intel cpu :) 14:21:17 you say genuine intel like it's somehow better? 14:21:23 800MHz Athlon here. It's unbearable. 14:21:33 x86 > * 14:21:41 slava: dream on 14:21:42 Evaluates to 0 14:21:49 x86 is one of the most fucked up architectures 14:21:51 in terms of price/performance 14:22:41 --- join: Sonarman (~matt@adsl-64-169-94-21.dsl.snfc21.pacbell.net) joined #forth 14:23:09 slava: oh, you're saying x86 is cheap 14:23:20 --- quit: I440r (Read error: 54 (Connection reset by peer)) 14:23:26 yes, hence for the same price i can get a better cpu, hence its faster, hence its better than any other arch :) 14:23:58 perhaps. I don't know the market that well 14:24:10 but I know that x86 is often looks a lot faster than it is. 14:24:30 eg clock speed. ppc get's a lot more done every cycle. 14:24:31 --- join: I440r (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 14:24:41 That's also false. In terms of the chip and ONLY the chip, the x86 is not the least expensive (it's not the most expensive either, but still). MIPS CPUs are actually cheaper. 14:24:51 What drives total system cost higher is not the CPU, it's the motherboard and supporting chipset. 14:24:59 a 450MHz ppc in about equivelent to a 900MHz x86 14:25:20 Herkamire: for SOME applications, maybe. I won't even go that far. 14:25:30 it is propaganda 14:25:38 But I will say this much: a 2GHz PowerPC versus a 2GHz Genuine Intel CPU -- no match. PowerPC will own it. 14:26:00 and the 2ghz g5 powermac costs how much, 10,000$? 14:26:06 what's the x86 pipeline? something rediculous like 21 cycles? 14:26:17 p4 is 21 cycles yes 14:26:23 that's insane 14:26:25 opteron is something like 14 i believe? 14:26:27 ppc is 7 I think? 14:26:33 slava: Where did you get that figure from? The dual G5 is only about $4500. For a comparable x86 PC, you're easily looking at the same price range. 14:26:44 And by comparable, I mean comparable, feature for feature for feature. 14:27:29 slava: I thought AMD CPUs were up into the 20s too for their pipeline depth. 14:27:38 the thing that's cheap about x86 boxes, is you can get low end ones new, or build them yourself. 14:27:45 you can get cheap macks too, you just get them used 14:28:05 macs 14:28:05 The reason, the *ONLY* reason, PCs are so "cheap" is because of volume of sales. 14:28:45 regardless, $2000 canadian will buy me a kick-ass PC, compared to an emac or something. there's no contest 14:30:04 sure, if you build it yourself, support it yourself, and use free software on it. 14:30:25 pegasos looked like a pretty nice system 14:30:28 $700 14:30:40 what cpu does it use? 14:30:45 ppc 14:30:52 PowerPC G4 series. 14:33:45 also, emac is $800... I don't think that translates to $2000 canadian 14:34:41 * kc5tja was considering getting an e-Mac some day. But then I thought, "If I'm going to plunk down that kind of money, I'll just purchase a used G4." :) 14:34:57 :) 14:34:58 * kc5tja is looking at opencores -- they have a fairly interesting CPU architecture called OpenRISC 1x00. 14:35:06 The OpenRISC 1200 is a 32/64-bit RISC architecture. 14:35:22 haven't heard of that 14:36:29 Oooh...even provides a flat, 64-bit virtual address space (if you compile it with 64-bit registers) 14:36:36 I wonder how it handles memory management. 14:38:24 oh 14:38:35 my work's 8-node dual Xeon cluster 14:38:40 just firebombed 14:38:41 Synthesis for Virtex FPGA results in a 3000 slices design running at 33MHz. 14:38:42 Synthesis for 0.18u UMC using Virtual Silicon libraries produces 25000 gates design with area of 0.5mm2. Post layout worst case timing is 150MHz. 14:40:29 :) 14:40:36 is .18u common? 14:40:49 imho 265-bit is the best width for a system 14:40:53 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 14:41:21 because its a what 14:41:32 perfect square or whatever they're called 14:42:48 Herkamire: .18u is what all modern CPUs are made in now-a-days. 14:44:03 cool 14:44:20 Also, 150MHz is a typo -- it should read 250MHz (according to http://www.opencores.org/projects.cgi/web/or1k/or1200/or1200_overview.pdf) 14:44:45 It has a DSP MAC in it too. :D 14:48:07 the chip in .18u would have an area of 0.5mm2?!? 14:48:17 that would be hard to see right? 14:48:24 yep 14:48:34 that can't draw much power :) 14:48:41 1W at 250MHz. 14:48:46 (according to the datasheet) 14:49:04 It's very comparable to the MIPS architecture in terms of power draw. 14:49:15 very cool 14:49:23 Yeah. 14:49:29 I am thinking I should just go with this. 14:49:35 :) 14:49:39 does it have a pop count 14:49:42 is the fpga version working now? 14:49:42 because 14:49:57 Herkamire: 33MHz in Xilinx Virtex FPGAs. 14:50:05 cool 14:50:08 how much do they cost? 14:50:17 (those fpgas) 14:50:18 Whatever a Virtex FPGA costs. I don't know. 14:50:21 Expect around $15. 14:50:25 :) 14:50:37 Although I think Virtex is being phased out in favor of the Virtex II and Spartan 3E series of FPGAs. 14:50:51 And I have a high degree of confidence that those are also in the $15 range. 14:50:58 sooo cool 14:51:52 And it's written in Verilog. :D 14:51:52 how small can you (easily) get 4MB of ram? 14:52:02 I don't know. 14:52:34 You know, there are also those FPGAs that Xilinx has that have embedded PowerPC 403s in them too. I also was considering one of those at one point. :D 14:53:46 a g4 chip is about the size of a postage stamp right? 14:54:02 Approximately; I'm positive a G5 is about that size. 14:54:49 0.5mm2 is so tiny 14:55:41 does xilnix make chips with built in units 14:55:46 like multiply units and stuff 14:56:10 --- join: doublec (~doublec@coretech.co.nz) joined #forth 14:56:57 warpzero: The closest you'll get is the FPGA they have with an embedded PPC403GA processor in it. 14:57:06 Otherwise, no, their sales are driven from entirely programmable logic. 14:57:20 how much are those? 14:58:02 oh someone just asked that 14:59:48 Yeah, no idea. I really don't know. 15:04:00 Herkamire: What impresses me is that they managed to get the OpenRISC 1200 CPU down to 25000 gates (that's 25,000 -- many orders of magnitude smaller than "modern" single-issue RISCs, I believe). 15:04:56 yeah, I thought I saw somewhere on the OpenRISC site that it would be about 1M 15:05:17 sounds pretty small to me 15:05:34 how do you get vim not to append a LF to the end of files? 15:10:41 --- quit: I440r (Read error: 104 (Connection reset by peer)) 15:12:38 Herkamire: Don't hit RETURN on the last line. 15:12:52 haha 15:13:29 I'm serious. 15:13:44 VI is very literal about how it interprets text files. 15:13:49 vim isn't 15:13:59 it always puts a newline at the end. 15:14:04 doesn't display it though. 15:14:13 Well, it's an option somewhere. 15:14:49 tathi: Not on mine it doesn't. 15:15:06 If I do not put a carriage return on the very last line of a text file, it never appends one to the file. 15:15:17 tathi: not for me either 15:15:31 huh. 15:15:41 it always does for me 15:16:06 from reading the :help it says it will unless both binary and noeol are set 15:16:20 binary has some effects I don't want 15:16:30 kc5tja, arke what version of vim do you have? 15:17:53 Herkamire: several. 15:17:57 Herkamire: it never has. 15:18:05 Herkamire: i would know because gcc complains otherwise :) 15:18:07 I have vim 6.1 15:18:09 bbl 15:18:30 arke: gcc complains about what? 15:18:46 I know gcc complains if you _don't_ put a newline at the end 15:19:07 kc5tja, arke: do you have the "set nocompatible" thing? 15:21:51 kc5tja: you are aware that all of your files in the kestrel-0.1.7 tarball have at least 15:21:56 _two_ newlines at the end, right? 15:22:13 Herkamire: I have 6.3.13 15:24:30 I hadn't noticed no. 15:25:00 --- join: Topaz (~top@spc1-horn1-6-0-cust117.cosh.broadband.ntl.com) joined #forth 15:25:32 it's just that the vim help says pretty explicitly that it _always_ (unless you have both binary and noeol) ends a file with a newline. 15:26:22 s/explicitly/clearly/ 15:27:02 Herkamire: what don't you like about what binary does? 15:27:02 --- join: T0paz (~top@spc1-horn1-6-0-cust117.cosh.broadband.ntl.com) joined #forth 15:27:08 --- quit: T0paz (Read error: 54 (Connection reset by peer)) 15:28:36 Oh, interesting. In the OpenRISC architecture, the GPRs can be used to hold integer OR floating point values. 15:28:48 (or vector values if you have the vector instruction set added to the system) 15:31:12 That's cool, the Basic Instruction Set only has 32 bit data, it sounds like. 15:32:44 yeah, I noticed that 15:33:51 * Tomasu is back (gone 03:59:05) 15:34:53 --- join: I440r (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 15:35:31 There is the ORBIS64 too, which extends the architecture to 64-bits too. 15:35:40 Not sure if the OR1200 supports that though. 15:35:44 tathi: oh, maybe those don't affect me. I thought surely the wrapwidth or or textwidth would effect the paragraph wrap command. 15:35:58 I doubt it 15:36:05 textwidth affects the wrap command, but textwidth=0 is the default (unset) value. 15:38:23 I wonder if the fileencodings thing would be a problem 15:38:29 I do occationally open gziped files 15:38:51 I thought fileencodings was the newline type (unix/mac/dos)? 15:39:28 oh 15:39:33 that too 15:39:41 I would like to be able to work with dos or mac files simply 15:40:07 * Topaz wonders what ever possessed Jobs to invent a *third* line ending format 15:41:07 handling line endings is easy though 15:42:10 * tathi too. I mean, the DOS format seems pretty silly, but why not just do it the Unix way? 15:42:15 w00t 15:42:20 I like how it handles conditional branches! 15:42:29 how? 15:42:36 There is a separate instruction that sets a "flag" based on a condition. 15:42:41 There is only one flag. 15:42:54 (and multiple separate set-flag instructions based on condition) 15:43:05 And then the l.bf instruction tests only that one flag. 15:43:09 heh 15:44:34 hmm, I have 510 LEDs arriving tommororw 15:44:36 tommorrow* 15:44:37 fun fun 15:45:01 Topaz: what are you going to do with them? 15:45:07 xmas tree? 15:48:35 LED tshirt :D 15:48:47 http://www.ecs.soton.ac.uk/~jb1403/LED/tshirt.png 15:49:28 (they're going to be driven by a 16mhz AVR, which should allow for some craziness 15:49:30 ) 15:49:46 i'm going to try implementing the game of life :D 15:49:56 haha 15:50:27 lol 15:51:11 i'm not looking forward to soldering it though... 15:52:59 --- quit: Topaz ("Leaving") 16:04:18 Hmm...I don't like how the OR1200 handles 64-bit virtual memory management though. 16:04:22 3-level page tables. 16:04:24 Iicky. 16:04:39 --- 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:04:40 And the virtual address space is limited to only 50 bits. 16:05:01 well...you weren't planning to make the Kestrel 64-bit anyway, were you? 16:05:06 oh. 16:05:11 virtual memory 16:05:40 tathi: No, but it would nonetheless come in handy to have a nice, clean, architecturally orthogonal way to handle a 64-bit virtual address space, so that an orthogonally persistent system can be easily used. :) 16:05:43 --- part: jdrake left #forth 16:05:58 Also uses 8KB pages too, not 4KB pages. 16:06:12 Not that that's too big an issue, but it is nonetheless a bigger page size than most are used to. 16:10:25 kc5tja: bad stuff 16:10:44 kc5tja: the transmission in my car is literally 4cm lower than its supposed to be! 16:11:52 --- quit: SDO ("Vision[0.9.6-0203]: i've been blurred!") 16:12:10 2nd and 4th barely stay in :/ 16:12:22 brb again, picking up + depositing checks 16:12:44 oh.. 2 things, anyone know what a surreal number is? ;) 16:13:00 Tomasu: No 16:13:02 oh boy...I should know that. 16:13:06 and have you all heard about Parakeet? 16:13:14 nope 16:13:17 Tomasu: No. 16:13:18 its a Forth for Parrot :) 16:13:27 heh. that's amusing. 16:13:31 isn't parrot a managed arch? 16:13:34 how did they do @ ! 16:13:36 you have to like the naming cheme. 16:13:40 *scheme 16:13:42 ;) 16:13:50 oh not forth :) 16:13:54 slava, its a vm.. so I suppose 16:14:16 going to be Perl 6s arch ;) 16:14:24 has Python support going too. 16:16:53 Huh. Just checked mathworld.wolfram.com, and the description there doesn't make a lot of sense to me. 16:17:11 Amazing how fast you lose math stuff that you don't have a good grip on... 16:21:07 Well, I'm off to aikido. 16:21:20 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 16:22:38 Judo know aikido! 16:22:39 http://advogato.org/article/784.html 16:22:40 ;P 16:24:50 --- nick: I440r -> I440r_work 16:33:22 --- quit: Sonarman (Read error: 60 (Operation timed out)) 16:38:40 Tomasu: so...do _you_ know what a surreal number is? 16:39:04 nope. I assume its non existent. likely a joke on the p6 list. 16:39:27 thought some of you smart guys would know of it if it exsisted. 16:39:37 no, they're real. 16:39:48 One of my friends in college did an independent study on them one semester. 16:40:11 I bet he did. 16:40:21 have lots of brownies in the process? 16:40:39 Mathworld says they're "the most natural collection of numbers which includes both the real numbers and the infinite ordinal numbers of Cantor." 16:40:52 bleh 16:40:53 http://mathworld.wolfram.com/SurrealNumber.html 16:41:14 GOD DAMMIT WHY DID MY CAR HAVE TO BREAK WHILE ON VACATION FUCK 16:41:39 I never really quite got the concept, but apparently there are some pretty interesting results. 16:41:51 tathi, "Knuth (1974) describes the surreal numbers in a work of fiction." 16:42:38 Yeah, he's cool. 16:43:19 fiction :) 16:44:04 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 16:44:33 The book's primary aim, Knuth explains in a postscript, is not so much to teach Conway's theory as ``to teach how one might go about developing such a theory.'' 16:44:55 ah well, back to debugging... 16:52:55 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 16:54:15 --- nick: slava -> is 16:54:36 is? 16:54:41 --- nick: is -> slava 16:54:45 they have 2 bots in #java 16:54:49 i was trying to get them to go in a loop 16:54:55 Heh. 16:55:01 hacker!!!1 16:58:10 --- join: Sonarman (~matt@adsl-64-171-254-154.dsl.snfc21.pacbell.net) joined #forth 17:07:01 pearpc has weird restrictions 17:14:41 --- quit: skylan (Remote closed the connection) 17:14:45 --- join: skylan (~sjh@vickesh01-4897.tbaytel.net) joined #forth 17:19:05 Herkamire: how so? 17:19:09 Sonarman: hi 17:19:54 eg, there's a comment in the example config file that says you can't specify less that 64MB of ram 17:21:26 wtf 17:21:28 lol 17:26:03 hi chris 17:28:20 --- join: I440r (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 17:29:48 herkforth uses a whapping 1MB because one time I thought a bug might have been because of running out of memory 17:30:01 cfactor uses 200kb :) 17:31:03 herkforth probably only makes use of about 200KB, except when you bootstrap, it uses that much again to create the new image 17:31:31 but I left it at allocating 1MB so I don't have to worry that maybe I've used it up. 17:31:46 i have 4mb max :) 17:39:57 Tomasu: Forthy 17:42:01 Sonarman: :) 17:42:29 so, how was Germany? 17:43:18 awesome 17:43:27 brb, playing with dog 17:44:20 "awesome?" 17:44:22 come on, tell us more! 17:45:08 nice :) PearPC let me specify a file (real linux file) to boot so I don't have to make a HD image :) 17:46:14 vmlinux? 17:46:28 or what do you mean? 17:49:22 /dev/hda1 :) 17:50:40 * ayrnieu yawns. 17:50:48 herk - ooh, planning on a MacOSX port? 17:51:07 heh. He's been planning on a MacOSX port for a while, I thought. 17:51:29 ayrnieu: sorta. 17:51:43 ayrnieu: I have one half finished. not sure I'm going to finish it. 17:51:53 I might just make it bootable first/instead 17:52:04 tomaso - oh, how did that Parrot Forth turn out? Last I checked, it didn't really... do anything. 17:52:29 --- quit: tathi ("laters") 17:52:34 you say Tomaso, I say Tomasu... 17:52:49 I would be much more motivated to finish the port if I someone would tell me how to get Mac OS X to enable sshd automagically on startup. 17:53:01 ayrnieu, I havent looked at it in depth yet, but what I'm talking about is a totally new forth like language... 17:53:15 Sonarman, what about forthy? 17:53:42 that's madgarden's forth 17:53:53 ja 17:53:56 I know :) 17:53:59 k :) 17:54:07 I was chatting with him when he started working on it ;) 17:54:30 Sonarman: I was just running a little test program tathi wrote. it writes to disk and prints a little text 17:54:35 dinner, bbl 17:54:50 herk - if you do a Darwin/PPC port, instead, which comes to the same thing, you can start sshd automatically in the normal way. 18:01:41 Herkamire: doesnt OSX have init scripts? :) 18:12:47 anyone here use mldonkey ? 18:15:19 arke: it sure does 18:16:02 then why not put sshd there? :) 18:22:45 Herkamire: vi /etc/hostconfig 18:22:52 Herkamire: system properties, sharing, check the "remote login" box 18:22:56 that's the gui way 18:23:10 you can enable samba and some ftpd that way as well 18:26:17 Tomasu, what are your ideas? 18:36:10 --- quit: tgunr (Excess Flood) 18:38:00 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 18:50:54 --- quit: slava (Read error: 104 (Connection reset by peer)) 18:53:38 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 19:16:47 hi slava 19:16:59 hi! 19:17:58 slava, for? 19:18:28 Tomasu, forth like language? 19:19:17 um... Id have to think about it. I'm in the middle of watching some tv... soo 19:19:31 * Tomasu is away: teevee 19:25:19 doublec, avi's posting about rich html uis is interesting 19:25:40 slava, yes. I'm playing with it right now in my Scheme framework. Works nicely. 19:26:12 slava, I'd previously done similar stuff using hidden iframes, but using xmlhttprequest is much easier. 19:26:43 doublec, i've been working on my game for the last few days. you'll see some commits to native factor in the next few days tho 19:26:57 I'll get a Factor demo doing it as well. 19:27:05 slava, ok, cool. 19:27:54 doublec, for eval-responder, i suggest you have one string-stream per session where output from evals is written 19:27:56 the telnetd in native factor works great. 19:28:05 then when the page is dispalyed, turn the stream into a string 19:28:08 this gives you 'scrollback' 19:28:09 yes, good idea. 19:28:14 or even better 19:28:19 use avi's trick to insert new output maybe? 19:28:26 also a good idea. 19:31:12 ayrnieu, arke, fridge, titanstar: thanks for the help. I oughta be able to get it going pretty easily now. 19:42:56 what did I help with? :) 19:43:05 oh 19:43:10 init script sugestion? 19:43:11 :) 19:43:48 arke: oh, sorry, you were no help :-P 19:44:17 ;) 19:45:18 ocaml is ugly... 19:48:31 I440r: I couldn't get that donkey stuff to compile 19:49:27 or... maybe it just didn't work. I'm not sure 19:51:24 --- join: warpzero (~warpzero@dsl.142.mt.onewest.net) joined #forth 19:52:36 oh riiight. 19:53:00 it compiles, it says it gets connected, and tells me there's zillions of files and bytes etc out there, but crashes instantly when I do a search 20:07:48 bam 20:08:32 I say it's tiiime for a little more progress in herkforth 20:08:33 --- quit: KrillAWAY (Read error: 110 (Connection timed out)) 20:08:49 its crap anyway 20:09:01 they leech shit off you at max bandwidth and let you download a few k every week :P 20:09:49 yum 20:09:59 I'd like to get access to fasttrack though 20:10:06 I hear they have much more content than gnutella 20:10:21 fasttrack is full of riaa i hear 20:10:34 fasttrack is full of pr0n 20:12:03 which doesnt help me :P 20:20:55 wheeeee! 20:20:59 testing as you code is fun 20:21:11 I just wrote WORDS by accident 20:22:38 --- join: CrewdenX (~crewden@me-rockland-qs-452.mint.adelphia.net) joined #forth 20:28:57 it's not as bad as accidentally 'forget'ing a word that's very early in the dictionary 20:29:01 words 20:29:05 ? words not found 20:29:09 .s 20:29:12 ? .s not found 20:29:13 ... 20:29:19 bye 20:29:22 ? bye not found 20:29:36 hehe 20:29:40 ^C 20:29:43 I don't have forget 20:29:44 SIGINT handler not found 20:29:51 hehe 20:29:59 Herkamire: you better have EMPTY MARK UNMARK then 20:30:00 lol 20:30:27 arke: no, herkforth doesn't work that way 20:30:33 i have forget but its not the opposite of allot :) 20:30:43 if you want to delete something, go to it and press delete 20:31:15 Herkamire: well, it's nice for reclaiming the memory used by a "program" when you're done using it 20:32:02 Sonarman: right. if you're worried you've used up too much space on the heap, then you just bootstrap. hit Shift-A and it will compile a new herkforth kernel, and bootstrap to it 20:32:20 i'm talking about the dictionary 20:32:50 Herkamire, so changes in the editor take effect instantly? 20:32:54 herkforth's dictionary doesn't change when you compile stuff 20:33:00 good news - got my async forth event framework working - bad news - it's written in c and a pain to port to other forths 20:33:11 Herkamire: oh, right. i forgot that the editor adds words 20:33:15 slava: changes in the editor affect the source instantly.... 20:33:45 do people still use blocks? 20:33:55 aum: yes 20:35:01 herkforth source consists of a dictionary, and a bunch of source tokens. source tokens consist of a color, and an index into the dictionary. 20:35:26 note: the color can easily be displayed as a symbol if you prefer. 20:38:34 factor factor factor 20:41:12 Herkamire: oh 20:41:22 Herkamire: you're using the aha approach to dictionary searches? 20:43:45 similar to aha, yes. 20:43:49 I'm not sure how similar 20:43:56 I only search the dictionary at edit time. 20:44:06 cool 20:44:14 although thats cool 20:44:25 i think i prefer dictionary search at compile time 20:44:25 :) 20:45:27 why? 20:45:36 Herkamire, does herkforth have a 'compile time'? 20:45:40 or is it edit & run? 20:46:18 Sonarman: dictionary resolve is smallest at compile time. And the overhead is minimal 20:46:21 Herkamire: so when you Load a block in Herkforth, the compiled code is added to the heap? 20:47:09 arke: why would it be smallest at compile time? 20:47:28 how do i get my stupid fscking computer to REMEMBER the date? 20:47:35 i keep having to set it one day forward 20:47:37 I440r: i have that same problem 20:47:43 same here :) 20:47:58 and i have to set the time forward too 20:48:07 i use nntp to do that 20:48:23 ncie :) 20:48:48 slava: yes, it has compile time. it doesn't run the source directly, it compiles to native code first. 20:48:54 oh 20:48:57 bootstrapping automatically compiles many blocks 20:49:09 others you do manually 20:49:15 or make words to compile 20:49:37 eg: : load-bootstrap 40 load 42 load 44 load 46 load 48 load 50 load 52 load 54 load 56 load 58 load ; 20:51:07 Sonarman: yes, when I load a block, it runs all the source tokens in that block through the compiler, generating ppc machine code on the heap and/or executing stuff 20:51:23 ok 20:52:09 Sonarman: dictionary resolve has the least amount of complexity and size at compile time. 20:52:26 Sonarman: at runtime, you have to embed the strings and resolve many times and, and, and, ... and its very slow 20:52:27 Sonarman: I chose to do it this way for several reasons: 1) simple compiler. 2) fast compiler. 3) I was hoping that the system as a whole would be simpler if the computer was aware of all the interconnections between things. 20:52:49 Sonarman: at edit time, the compiler gets very simple and fast but the editor becomes hell :) 20:53:52 my editor is a little ugly, but mostly because I didn't plan too much. 20:54:05 for it's feature set, it's actually quite simple 20:54:17 I already prefer it over vim for almost all things 20:54:28 Morning, Forthers 20:54:34 morning robert 20:54:34 Morning Robert 20:54:55 --- join: wUoNrFk (~unfy@sillyness.org) joined #forth 20:54:57 --- part: wUoNrFk left #forth 20:55:44 most of the complexity in the editor is to provide nifty features 20:58:24 if the whole thing is only 700 lines i woudn't say its complex at all ;) 21:01:04 the whole editor? 21:01:18 i thought you said herkforth is 700 lines of code 21:02:49 huh. somehow I figured it was more. 21:02:59 867 lines now 21:03:12 been writing some silly stuff and keeping it :) 21:03:14 that's still quite compressed :) 21:03:29 like code to output the source to html 21:03:30 bah 21:03:39 :) 21:03:47 then again 21:03:55 in color. each definition an anchor and each word a link to it's definition 21:04:08 pygmy = 199 blocks 21:04:14 but maybe half of that is actual code 21:04:31 so lets say 100 21:04:33 I just added block 120 to herkforth 21:04:38 thats 1600 ... o.O 21:04:56 but that's not counting the space used by the dictionary 21:05:08 my blocks hold more than a normal block because each word only takes up two bytes 21:06:51 i think more than half of my source is blank lines and comments ;) 21:06:59 or lines with : foo 21:07:02 heh, I have none 21:07:30 there's a newline after every constant def, and before each word def 21:07:43 (except only one between, so no blank lines) 21:08:18 there are a bunch of blocks in herkforth with silly stuff. eg a mandelbrot set generator, a solitair numbergame. 21:09:13 --- quit: doublec ("Leaving") 21:09:18 the first 100 blocks contain the assembler, compiler, bootstrapper and editor 21:12:03 OK, I'd like to export the data from herkforth in a way that can be easily edited under unix without herkforth running 21:12:26 it was easy enough to export the source and dictionary 21:13:00 red words are preceded by :, green words are printed as is, yellow words between [ ], cyan is [COMPILE], purple is VARIABLE 21:13:03 :) 21:13:09 arke: exactly 21:13:21 except I have no cyan 21:14:00 but what about data 21:14:09 I have dictionary entries that point to the data section 21:14:26 the data section has a count, and some data (and a type... not sure the best way to handle types yet) 21:14:49 types eww 21:14:58 types are great 21:15:04 types eww 21:15:07 arke: don't worry, it's just a cell that you can check if you want 21:15:17 you're only saying that cos chuck moore said it :) 21:15:21 personally i think chuck is insane 21:15:21 arke: it's hidden away safely below the address to the data 21:15:31 slava: no, just eccentric 21:16:21 SOMEBODY KICKBAN SLAVA HE INSULTED OUR LEADER OH HOLY LEADER :P 21:16:22 I sometimes have a bad reaction to types because I'm sick of languages bitching about type mysmatches when my code is clearly correct 21:16:30 hehe 21:16:41 HEIL CHUCK 21:16:42 :) 21:16:43 static type checking can be a pail 21:16:45 pain* 21:17:13 I know the types in C piss me off on a regular basis 21:17:23 dynamic type checking is a great idea 21:17:30 why would you ever want to add two floats as integers etc anyway? 21:17:42 or use a string pointer as a float 21:18:01 I'm not talking floats vs integers, I'm talking about void* vs int* 21:18:04 also types allow polymorphism -- words that do X if given a type A, and do Y if given a type B. 21:18:15 yes, C's types are a pain I agree 21:18:26 or void(*)(int*) vs void(*)(void*) etc 21:18:46 yeah, you can do all that complex magic 21:19:14 may i say ... EWW 21:19:20 people create all sorts of hard-to-track bugs with those kinds of languages 21:20:21 if I want to stop people from adding ints as though they were floats, I'll use a seperate float stack. 21:20:32 one thing i like is to have . print the top of stack in a meaningful form, regardless of type. 21:20:39 print ints as ints, floats as floats, strings as strings, etc. 21:20:54 float stack means you have you write a whole lot of extra words for it 21:21:06 would you have string stack, and window stack, and text field stack, and button stack, etc? 21:21:19 I refuse to use any "forth" that has types for the cells on the stack 21:21:23 they are all cells in my book 21:21:42 also types allow transparent garbage collection 21:21:48 that's crap 21:21:56 there are no extra words 21:21:56 why? its virtually zero overhead 21:22:19 are you saying you don't have to implement a function to multiply two floats together? 21:22:31 i do, but i have * that works given ints, floats, an int and a float, etc 21:22:40 no need for * f* d* etc 21:23:40 what has zero overhead? garbage collection? 21:23:50 yes 21:23:54 note i said 'virtually' zero :) 21:23:55 that's not possible 21:24:39 gc has significant overhead 21:24:43 how so? 21:24:50 well depends on the gc 21:24:57 you can write somethign crap, like reference counting 21:26:52 look, in order to do gc you have to either keep track of, or somehow search through everything to see what is refering to what 21:26:55 that's a huge overhead 21:27:02 yes but you don't do this all the time 21:27:13 which one? 21:27:21 performing a collection 21:27:36 do you keep track of stuff as you go or search when you gc? 21:27:49 --- quit: Robert ("brb") 21:28:02 i use a copying collector 21:28:03 an allocation increments a pointer at the end of the heap 21:28:10 when time comes for collecting, it creates a new heap 21:28:18 copies all reachable objects over (so it scans the old heap) 21:28:31 how does it know which are reachable? 21:28:36 so the allocation is actually faster than malloc(), which has to search a freelist. 21:28:55 by copying a set of root objects (stacks, variables etc) first 21:29:05 then copying over the references in these objects to the new heap 21:29:06 and so on 21:29:11 until the new heap has everything that can be reached 21:30:35 so the overhead is that every object must have enough metadata (which is maintained constantly) so that the gc knows what is a reference 21:30:59 yes. the metadata is the low 3 bits of each pointer -- they are masked off before deferencing 21:31:15 another approach would be each object has a header 21:31:30 but i prefer space savings from no headers -vs- slight performance hit of ANDs. 21:32:18 those 3 bits say if it's a reference or not? 21:32:34 yes -- 000 is an immediate integer, everything else is pointers to objects of varying lengths 21:32:40 strings and arrays have a header with their length. 21:35:04 --- join: Robert (~snofs@c-bf5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 21:41:17 Hermakire, Forths with types values on the stack are the shiznit! 21:41:32 (I have to say that, or my Forthy system will get mad at me) 21:41:53 madgarden, forthy has types? 21:42:22 madgarden: well, I understand if you write your forth on top of a language like python... 21:42:28 Hm, how can I find what process is listening to a certain port (in Linux) ? 21:42:43 Robert: netstat -atuvpn 21:43:17 Robert: will only tell you the name/PID of processes owened by you (root can see all of course) 21:44:28 Thanks :) 21:45:16 anyone know what the difference between 'axial flow' and 'radial flow' is? 21:46:25 Herkamire, mine's on top of C, used for scripting. 21:53:17 scripting is a good excuse 21:53:29 I don't mind automatic type conversion in scripting 21:53:47 i don't have automatic type conversion. 21:53:57 you can't do "2" "2" + and get 4 etc. 21:54:01 it will raise an error. 21:54:07 cool 21:55:08 Sonarman: not sure. I'd gues that axial meant along the akis, and radial meant around it 21:58:08 yeah, but which axis? (this is on the tesla turbine site btw) 21:58:59 slava, it has 4 basic types right now... integer, double, string, and stack. There's also a user type which is basically a void*, but I'm going to add interfaced user types so you can do stuff like copy, clone, delete, and convert. 21:59:21 madgarden, this is similar to mine, except my 'stack' type is just a general array 21:59:52 I suppose my stack can be thought of as a general array as well. 22:00:17 Herkamire: oh, sorry. 22:00:28 there's an explanation later in the document "_ 22:00:33 :0 22:00:35 :) 22:00:47 s/the first two smileys// 22:01:33 Currently stack copies are all "clone" operations, which sucks. Once I have the types interface in there, I'll make the native stack type a reference to a stack which only gets cloned explicitly. DUP would just dup the stack reference. 22:01:46 i don't understand 22:01:55 you mean s" hello" dup actually copies the string? 22:02:01 Yep. 22:02:20 how does type inference come into this? 22:02:28 you mean runtime type tags of some sort? 22:02:31 type interface... 22:02:41 oh :) 22:02:52 No, it will just be a C structure that you fill in function pointers for the various operations, and then register it as a new type. 22:03:01 ok 22:03:21 the set of operations is fixed? 22:03:32 Sonarman: I almost asked if it was about the tesla turbine 22:03:42 :) 22:03:42 Yes, just the operations required by the VM. 22:04:16 I'm also going to have configurable delimiters, perhaps a delimiter dictionary, so that the language syntax can be made more flexible. 22:04:22 madgarden, you could implement continuations 22:04:29 haha, i read type interface as type inference at first too 22:04:48 Sure, I suppose I could, if I knew why I'd need them. ;) 22:04:51 Sonarman, ML left you scarred too? :) 22:05:03 Hehehe 22:05:04 madgarden, exceptions, co-operative multitasking, co-routines all become trivial to implement 22:05:13 never touched it actually, but there's been some discussion about it in another channel recently :) 22:05:27 All I care is that I can pause the VM and return to the C world, do stuff, then continue on. 22:06:38 With multiple VM instances I can do co-operative multitasking, if I needed it. 22:07:00 Herkamire: so a water-wheel would be a radial turbine, right? 22:07:44 Ack, it's late... night! 22:07:51 Night madgarden 22:07:54 bye bye 22:10:31 Sonarman: yeah, I think so 22:10:47 Sonarman: and a propeller would be axial 22:10:51 yeah 22:10:57 now i see what they mean by axis 22:11:15 the bit the disks are spinning on 22:11:40 uh-huh 22:12:05 so i take it you'd "postponed" reading about tesla turbines too? :) 22:12:27 no, I read about them right after kc5tja was talking about them 22:12:42 well, actually I have put it off before 22:12:58 me too; that hadn't been the first time i'd heard of them 22:13:34 I wonder if a tesla turbine would work well for a small hydroelectric generator 22:14:22 --- join: Serg_penguin (~z@212.34.52.140) joined #forth 22:14:34 it'd be interesting to see 22:15:06 hi 22:17:26 it might be hard to purify the water enough that it doesn't get clogged though 22:19:25 a moderately fine mesh should be good enough to get rid of any things large enough to clog 22:19:37 ... although, the mesh would soon get clogged 22:20:20 man, switching from forth to C is frustrating 22:20:32 ;) 22:20:59 * Serg_penguin forgot C like sick nightmare 22:21:00 Sonarman: right. 22:21:22 Sonarman: I've seen a small hydro setup. 22:21:39 (much bigger than I want, but... 22:21:51 8" pipe coming down I think 300' 22:22:00 pretty cool to see the filtering stuff 22:22:19 Herkamire, i try to write as little in C as possible :) 22:22:27 me too 22:22:41 I want to return two values 22:22:56 but you CANT!!!! :) 22:23:02 fit them in a double :) 22:23:19 actually you can, if you use GNU C instead of ANSI C. 22:23:43 really? how? 22:23:53 i think they have tuple notation 22:23:55 something like 22:23:57 (a,b) = foo(); 22:24:01 (int,int) foo() { 22:24:04 return (1,2); 22:24:04 } 22:24:10 but i'm not sure if that is the right syntax 22:24:13 i know it exists though. 22:24:26 also you can pass a pair of pointers to store to of course 22:34:00 you can us a struct, dunno about a normal tuple. gcc probably supports c99 compound literals. 22:34:17 you cannot return a struct by value in C. 22:34:20 in C++, you can. 22:34:29 slava: no? 22:34:53 in c++, you define a copy constructor, and its implicitly called, there is no such concept in C. 22:36:14 ehh, in c it does a memberwise copy anyways. 22:36:17 works fine. 22:36:34 try gcc with -std=c89 -pedantic if you like. 22:36:54 you might be thinking of arrays (though you can't have an array return value in c++ either) 22:37:30 c++'s default copy constructer behaviour is based on c's assignment behaviour. 22:38:40 people generally don't return structs in c for effeciency reasons, but you can do it. 22:38:56 ok, sorry for my ignorance. 22:39:07 i wasn't aware c++ had a 'default' copy constructor, or that c did struct pass by value. 22:39:38 hmm, well c does everything pass by value. 22:39:41 --- part: Serg_penguin left #forth 22:40:38 'default' maybe wasn't the best word for it given the meaning of "default constructor" but you get the idea. 22:45:47 not to beat this thing to death, but the standard library function div() works by returning a struct. 22:46:00 div() is like a divmod? 22:46:03 i mean /mod? 22:46:05 (in forth) 22:46:19 hmm, probably. i haven't used forth all that much. 22:46:20 hey this is useful. 22:46:29 CrewdenX, but you're in #forth :) :) 22:46:38 aye. just bored =) 22:46:44 i've used it, just not much. 22:46:57 i only shamelessly plunder ideas from it. 22:46:57 a friend of mine wrote something like a 6809 simulator in it once. 22:47:12 --- quit: tgunr (Excess Flood) 22:47:54 ever played with postscript? 22:48:08 no 22:48:58 it's more or less the same thing as forth. 22:49:04 --- join: tgunr (~davec@vsat-148-63-4-106.c001.g4.mrt.starband.net) joined #forth 22:49:08 well, not really. they're both stack-based. 22:49:15 yup. 22:49:35 post script doesn't have a concept of 'immediate' words. 22:49:45 and its more high level -- garbage collected, types are checked,etc. 22:50:07 yeah, but similar at any rate. 22:50:22 yes, in the same sense that, eg, C and pascal are similar. but not as similar as lisp and scheme etc. 22:51:27 i guess it depends on how you measure. scheme is almost subset lisp. whereas pascal and c are matched more or less feature-per-feature. 22:52:11 most scheme implementations have all the functionality provided by common lisp, like packages, I/O, etc. its just not standardized 22:53:36 again, depends on how you measure. 22:57:28 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 22:57:42 --- mode: ChanServ set +o kc5tja 23:21:17 --- quit: fridge (Ping timeout: 14400 seconds) 23:21:17 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 23:34:22 --- quit: Sonarman ("leaving") 23:37:55 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 23:38:01 --- mode: ChanServ set +o kc5tja 23:58:42 --- quit: Herkamire ("bed") 23:59:59 --- log: ended forth/04.07.26