00:00:00 --- log: started forth/04.06.09 01:54:13 --- quit: htp123 (Read error: 60 (Operation timed out)) 02:03:03 --- join: htp123 (~tehsux@S010600055d233ab7.gv.shawcable.net) joined #forth 02:18:09 --- quit: Herkamire ("goodnight") 02:45:57 --- join: Topaz (~top@exten-halls-131.soton.ac.uk) joined #forth 02:52:45 --- join: fabian_ (~fabian@pD95D76C2.dip.t-dialin.net) joined #forth 02:56:07 --- quit: fabian_ (Client Quit) 03:21:36 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 03:51:58 hmm, putting TOS in registers does add rather a performance boost 03:52:12 my '+' has gone from 14 cycles to 6 :D 04:01:21 --- join: solar_angel (~jenni@Toronto-HSE-ppp3685160.sympatico.ca) joined #forth 04:08:12 --- quit: Topaz ("Leaving") 04:58:27 so you can create 2VARIABLE's for doubles, but there's no word to store a double? 04:58:34 that doesnt make sense... 04:58:46 then define one. 05:08:44 http://members.home.nl/qfox/output.bmp <-- 15mb rarfile byte frequency graph. 05:10:58 heh 05:11:14 not much room for improvement there. 05:11:20 not bytewise, anyway. 05:11:44 its interesting to see that the frequencies go up every 8 bytes or so 05:12:05 and then drop down again 05:12:32 (and this 8byte average increases a little from begin to end as well) 05:13:25 heh, fair enough 05:20:37 * solar_angel is rewriting a FORTH kernel, from DTC to STC with totally different register assignments. 05:21:10 --- join: arke_ (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 05:21:12 --- quit: arke (Read error: 104 (Connection reset by peer)) 05:28:54 how did you convert a counted string to an uncounted string? 05:29:02 ? 05:29:04 the opposite of COUNT 05:29:12 i don't use counted strings :P 05:29:34 it's not even remotely ansi. 05:29:56 thats irrelevant 05:30:25 it even still has a few ideosyncracies from its heritage as an RPN language that i designed before ever hearing of FORTH :P 05:30:46 uh 05:31:06 what? 05:31:18 i just need to save the filename and an uncounted string is easier to use, but i have the string as a counted string 05:31:21 thats all :\ 05:31:31 ah. add 1 to the address? 05:31:48 unless you don't have a terminating nul, in which case you're pretty much borked. 05:31:52 duh. 05:31:57 the point of an uncounted string 05:32:03 is that the len goes in the first byte 05:32:12 *shrugs* when i use counted strings, i put a terminating nul anyway 05:32:18 it's well worth the extra byte. 05:32:30 yes well but thats not how it's supposed to work. 05:32:36 hehehe 05:33:00 plus i'm fairly sure there's a reverse for COUNT but i cant seem to find it... 05:35:34 pack ( adr1 len adr2 -- adr2 ) 05:35:34 Makes a packed string from adr1 len, placing it at adr2 05:35:39 except, pack is undefined :\ 05:35:53 icky. 05:35:57 which forth are you using? 05:36:09 place ( adr1 len adr2 -- ) 05:36:09 Makes a packed string from adr1 len, placing it at adr2 05:36:11 hm 05:36:21 perhaps its place then 05:36:23 win32forth 05:37:33 ah 05:38:51 ick, recoding DODOES... this should be fun. 05:39:10 dodoes? 05:39:27 it's the internal bit that makes DOES> work. 05:39:40 oh 05:40:03 if you're not doing insane stuff deep in the guts of a FORTH kernel (like, say, writing it, or translating it from DTC to STC...) then you probably wouldn't see it. 05:40:28 my "variables" had a does> by default that would @ its adr. if does> was used the additional words were compiled along with it 05:40:52 was pretty straightforward 05:41:08 yes, but this is the actual definition of DOES> 05:41:30 oh you didnt mean an actualy bit 05:41:31 heh 05:41:33 okay 05:41:43 no, i mean word. 05:41:48 DODOES is the internal guts of DOES> 05:41:57 yeah ok 05:42:05 i thought you were talking about a flag or something :) 05:42:11 if only :P 05:42:34 oh wow, i think it's just 3 instructions in STC. 05:42:40 * solar_angel doublechecks to make sure she's not on crack. 05:43:08 drugs are bad mkay 05:43:12 hehehe 05:44:04 i'm trying to change the frequency graph of a random file (rar being "random") 05:44:12 i see. 05:44:17 so far only minimal successes though 05:44:35 tried to rotate the bytes a looping increasing amount of times 05:45:05 so byte0 1shl, byte1 2shl, byte2 3shl ... byte8 0shl again... 05:45:57 hehe, i once coded an utility 'frqpic' 05:46:04 in one theory, this should randomize the contents, but in another theory i believe that a true random file will result in the same frequencies 05:46:39 it took byte pair from file as XY pair and incremented the pixel 05:46:41 only the values might shift from byte to byte (but i havent seen this behaviour yet, just minor drops/raises) 05:47:04 like a "fire" algo? 05:47:12 RAR is quite random, but some strips on long archives are visible 05:47:41 yeah but i'm focussing on random data, rar is sufficiently random for that i think 05:48:38 although i guess any correct huffman encoded file should be "random" 05:51:23 no-o-o! 05:51:43 zip is WAY more squareful than RAR on my frq graph 05:52:04 hm i actually havent analyzed a zipfile with the graph yet 05:52:27 what about bzip2? 05:52:39 i first need to fix that stringthingie 05:52:40 i got no one handy to try 05:53:02 btw, i coded the util to see what the unknown file is 05:53:03 because then i can save the output files to be named like the input files, instead of having to copy "output.bmp" manually every time 05:53:11 unknown file? 05:53:46 and i also need to do some bubblesorting output :p 05:53:56 qFox: picture ? wav ? tracker module ? - they all have didtinct fingerprint on the graph 05:54:13 oh 05:54:48 one even can tell apart types of RAW wav or pic data - bits, RGB vs. palette... 05:55:30 on bigramms frequency graph 05:55:52 hm 05:55:54 thats funny 05:56:07 zip appears to have about twice as many zero's as any other char 05:56:15 ???? 05:56:32 here i'll show the graph 05:56:33 what is your analysis tool ? 05:56:42 the one i coded myself 05:57:14 gfx, textual output ? 05:57:18 http://members.home.nl/qfox/output.bmp 05:57:24 that. 05:57:25 :) 05:57:33 no-o-o-o ! PNG it ! 05:57:37 screw that 05:57:39 i wanted to 05:57:44 convert output.bmp output.png 05:57:49 that's all you have to do :P 05:57:50 but the file format was too complicated to simply do it 05:58:00 use libpng 05:58:04 in forth? 05:58:05 :\ 05:58:09 i coded this thing in forth 05:58:21 hooray :) 05:58:27 gimme src ! 05:58:30 well whatever. look at the graph 05:58:34 at the bmp 05:58:44 how big is it ? 05:58:45 its 0compression 24bit (500k) 05:58:57 it has colors! 05:58:58 :p 05:59:00 he-he-he 05:59:06 too bad nothing supports pcx anymore... pcx is good for graph output. 05:59:09 to indicate min/max/avg 05:59:27 well at first i wanted to do png 05:59:35 but looking at the specs i figured that was beyond me for now 05:59:56 i found out what gzipped pnm is as good as TIFF 06:00:02 plus i just wanted a simple straightforward output without having to spend days developing a lib for the image :) 06:00:17 pnm = image in textual numbers 06:00:26 bmp can be too 06:00:31 8bit 06:00:43 then its 1byte per 1px 06:00:51 (now its 3) 06:01:01 why not PCX ? almost anything opens it ! 06:01:11 but anyways. when you look at that image you can clearly see that there are twice as many zero's as any other number 06:01:13 Serg - that's not even remotely true anymore, unfortunately. 06:01:19 Serg> because i never heard of it. 06:01:19 but PCX is a nice format for the amateur. 06:01:30 or no, because i didnt know anything about it 06:01:32 it's rather dos-ey though. 06:01:38 hasn't really been used in years. 06:01:47 i knew jpg was sucky (loss of detail), and gif is suck 06:02:06 and i didnt know many other format details so i went with bmp. 06:02:42 TIFF / LZW ? 06:03:21 well, don't knock bmp... it's simple, if nothing else. 06:03:34 i like palettized bmp more than 24-bit. 06:03:47 it's a nice file format for palettized images. 06:04:06 it's for game maps only ;)))) 06:04:27 well in this process i did discover something sucky about bmp 06:04:36 it pads 0's 06:04:45 to make the width an even number 06:04:51 oops 06:04:59 yeah 06:05:08 make which width an even number? 06:05:14 the width of the picture itself? 06:05:15 appearantly so 06:05:17 no 06:05:19 internally 06:05:25 ? 06:05:31 say you have a 9x9 image 06:05:31 you mean, it pads 24-bits up to 32? 06:05:45 ah, you'll end up with a 10x9 image? 06:05:47 the inside width for each line would be padded to even bytes 06:05:51 no not even that 06:05:55 ohhh. 06:05:56 weird. 06:06:16 * solar_angel is writing the FILL word. 06:06:20 9x9, 3bytes/px right, 9x3=27 bytes per "line", one 0 would be padded to make it 28 06:06:36 --- join: I440r (~mark4@168-215-246-243.gen.twtelecom.net) joined #forth 06:06:52 or maybe it was to pad to 10x9 internally, i'm not sure actually 06:07:06 my code works anyhow :p 06:07:55 hm 06:08:00 peachy. 06:08:12 hiya I440r :) 06:08:34 hi :) 06:08:44 converting a FORTH kernel from DTC to STC is not for the faint of heart :P 06:08:50 hang on, gotta go get coffee 06:08:52 sure 06:11:15 solar_angel> in theory, huffman would be optimal when the frequency table, sorted, would be evenly devided right? left side of the middle be equally deviating from the average as the right side 06:11:48 um, something like that. 06:12:18 i'm not entirely sure i caught what you mean though 06:13:25 well huffman algo replaces most frequent bytes for a few bits, and the least frequent bytes for more bits, right... and the few bits and more bits put together will be equally to the two bytes again... 06:13:51 fixed a bug in isforth last night, it woudl segfault if you ran it in an unknown terminil (export TERM=foo) 06:15:00 um, something like that. 06:15:03 I440r - cool. 06:15:10 still not as much evil hackery as i'm doing today though 06:15:31 i'm rewriting the underlying core of my entire FORTH system :P 06:15:52 in pascal! 06:15:54 Heh 06:15:55 hehe 06:16:05 You like Pascal, don't you= 06:16:18 err pascal, c, what is difference 06:16:35 Pascal is a little bit tricker to segfault with 06:17:14 C is counter-intuitive to an extreme 06:17:15 pascal? 06:17:25 and way 2 much typing and parens 06:17:28 actually, it's written entirely in assembly. 06:17:39 well, except for the bits written in FORTH anyway. 06:17:40 solar_angel, yea. real coders do that 06:18:10 moving from DTC to STC has pretty radically altered the way this code works though 06:18:17 Hehe. 06:18:31 So are you writing an optimizing STC compiler in assembly language now? 06:19:46 actually, i'm writing an unoptimizing-but-with-stubs-for-an-optimizer compiler in assembly language 06:19:51 the optimizer will be written in FORTH. 06:20:02 Ah, OK. 06:20:57 heh 06:21:09 Hi qFox 06:21:13 hey 06:21:16 How's the compression going? 06:21:31 finished the graph creating code 06:21:49 http://members.home.nl/qfox/output.bmp for an example 06:21:50 What graph? 06:21:55 *shrug* bmp 06:21:57 frequency graph 06:22:02 yeayea look past it. 06:22:26 Hm. 06:22:27 png appeared to be fuck harder then it was worth 06:22:53 That file looks like a bitch to compress, imho. 06:23:01 this is a zipfile actually 06:23:12 and it compresses to about 30% from this file, with winrar 06:23:13 :p 06:23:31 Heh 06:23:50 note that the frequency of 0 (the first, and blue, line) is more then twice as high as any other except one 06:24:59 Ah, didn't see that one. 06:25:05 hehe 06:25:18 the height is proportional to the max value 06:25:44 not to the total filesize (that would result in pretty unreadable graphs) 06:25:44 Are you writing your compression code in Forth? 06:25:48 ye 06:25:53 Neat. 06:26:40 yay for tailcalls. 06:26:45 * solar_angel optimizes her assembly for tailcalling. 06:27:21 Yes.. what I like about those is the simplicity of implementation, you don't have to worry about a dozen of loop constructions. 06:27:46 or a limited stack depth 06:27:59 exactly. 06:28:01 tailcalls are fun 06:28:26 i havent implemented it myself so i'm not sure how easy/hard it is to do :) 06:28:40 it's just about trivial. 06:28:59 the only case you have to really watch out for is when you're terminating a conditional or loop on the last instruction of a function. 06:29:14 but since i'm hand-assembling the body of my FORTH compiler anyway... that's not much of a worry 06:29:56 hmmm but isnt the only thing you check for a call before ret? 06:30:17 so isnt it impossible to break a loop or branch that way? 06:30:33 unless the user did this 06:30:45 but i dont see how this can go wrong really 06:31:06 (provided the user cant mess on asm level) 06:31:14 hrm... 06:31:49 well, a call before a return can still land you in a bit of trouble... 06:31:59 because THEN doesn't necessarily generate any code 06:32:14 "then" doesnt need to generate any 06:32:18 it's easy enough to put a RET after the function to guard for that though 06:32:21 I440r - of course not. 06:32:21 hmmmmm but is then called? 06:32:32 only at compile time, isnt it? 06:32:33 tho mine does 06:32:41 it compiles a dothen (a noop) 06:32:47 Why? 06:32:50 so the decompiler knows how to decompile it 06:32:53 heh 06:32:53 Ah. 06:33:11 Do you have a decompiler? 06:33:16 yes 06:33:22 see blah 06:33:23 see foo 06:33:26 Hrm, you never told me that. 06:33:30 lol 06:33:33 you moron 06:33:43 * Robert points at himself and nods 06:33:54 heh, i don't have a decompiler in mine... 06:34:10 Decompiling optimized STC. Yay. 06:34:14 i haven't found any really compelling reason though 06:34:18 hehehe 06:34:29 you think that's bad... i've got 3 registers free for dynamic register juggling... 06:34:38 whiii 06:34:38 i'm going to STC now so that i can later add an optimizer. 06:34:38 :p 06:34:46 What do you use the others for? 06:34:49 I440r - what register assignments are you using? 06:35:14 esi = IP, ebx = top of stack 06:35:19 ebp = rp 06:35:34 esp = parameter stack 06:36:12 wait... how are you doing STC like that? 06:36:13 eax, ecx, edi are scratch 06:36:16 that sounds more like DTC 06:36:30 mine IS direct threaded 06:36:35 ahhh, alrightie 06:36:37 im opposed to STC 06:36:39 :) 06:36:50 solar_angel: How about your register allocation (in the STC) ? 06:36:52 my old one is direct threaded, my new one is STC. 06:37:02 my register allocation used to be pretty much identical to I440r's. 06:37:04 it's now... 06:37:11 IP -> EIP, obviously... 06:37:19 W -> nonexistant/unnecessary 06:37:25 RSP -> ESP 06:37:28 PSP -> EDI 06:37:35 TOS -> EAX 06:37:48 EBX, ECX, EDX -> reserved for the optimizer, unused. 06:37:57 ESI -> scratch, clobbered regularly. 06:38:10 EBP -> FSP 06:38:18 (sorry for the flip of meanings and sides) 06:38:24 FSP ? 06:39:04 Function Stack Pointer. 06:39:08 my FORTH has a few goodies. 06:39:17 Sounds exciting. What is it? 06:39:20 whats a function ? 06:39:48 it's essentially a callback stack. 06:40:18 ...which is? 06:40:19 err callback ? 06:40:31 it lets you call a word in the context of other words. 06:40:47 if you feel like doing metaprogramming in forth :P 06:41:17 I still don't get it. Explain what calling a word in the context of other words means. 06:41:33 USING PIXEL LINE 06:41:44 or USING MEMPLOT LINE 06:43:53 does that help? 06:44:50 Sorry - no. I don't know what USING does. 06:45:10 USING pushes the following function onto the function stack :) 06:45:55 a parsing word ? 06:46:08 yes 06:46:18 Did you mention what a function is (as opposed to a normal word) ? 06:46:25 do you also have [using] ? 06:46:28 oh sorry... a normal word. 06:46:48 I440r - honestly, the whole function stack system isn't implemented yet... 06:46:51 does using take the next two items from the execution stream or from the input stream 06:46:54 Ah. So what good does a word on that stack do? 06:46:57 it was slated to go in sometime after i convert to color-based syntax. 06:47:21 Robert - the words following it can call it without knowing the word's name. 06:47:45 Like ' MYWORD EXECUTE ? 06:47:50 I440r - the next item from the input stream. the second item isn't affected by USING, although it uses the function stack. 06:48:03 Robert - um... not sure. 06:48:32 Except that uses the parameter stack. 06:48:47 solar would be better if USING took from the executoin stream (so you can do this at run time too) and [USING] took from the input stream 06:49:01 so [USING] would be immediate 06:49:08 Any advantages using a special stack for passing "function pointers"? 06:49:21 Except of course taking some load from the parameter stack. 06:50:04 I440r - i haven't decided the exact semantics yet. 06:50:34 Robert - there are a few advantages for some things i have in mind... it factors along a second axis, makes code smaller... 06:50:43 i think im gona rename "and" to "&" and "or" to "|" and "xor" to "^" 06:50:43 but it's a pretty obscure feature to most people's viewpoint. 06:50:48 i threatned that a while back 06:50:54 heh 06:51:48 solar_angel, obscure is the NORM in forth :) 06:52:31 I440r - exactly. 06:52:54 solar_angel: I rarely use those features in Forth. Going for something more Lispy? (lambda functions) 06:54:57 something lambda functionesque, yes. 06:55:19 you think that's bad, i've also got a CLASS system planned :P 06:56:13 Depends, if you make a bloated implementation without actually using those features in a good way it's bad. But I guess you've got something figured out. 06:56:51 nothing about this is bloated... 06:56:54 i'm very careful about that. 06:57:33 can i make parse continuing parsing after a newline? 06:58:05 i'm still a novice, just playing with string functions.. trying to buffer in multiple lines 06:58:12 Just rewrite it. 06:58:19 What Forth are you using? 06:59:01 gforth? 06:59:09 Is that a question? 06:59:38 ~ is not right ? 07:15:35 sup forthers 07:15:41 i love you guys 07:15:52 what about us girl? 07:16:26 oh holy shit 07:16:31 i love the girls too! 07:16:39 lol 07:16:54 in his defense, the odds on any of those being here were slim :p 07:17:17 qFox - that's why i used the singular sense of the word. 07:17:21 hehe 07:17:23 lol 07:28:34 Hi warpzero. 07:28:53 * Robert <-- a male forther (!) 07:29:03 So how's the Forth in your end= 07:29:03 ? 07:29:39 good 07:29:42 though i don't use it 07:29:49 as often as i would like 07:30:02 :) 07:30:05 Nobody is perfect. 07:30:20 (Sorry, Chuck, I meant almost nobody) 07:30:32 do what i do... write an OS in FORTH with your own FORTH engine. 07:30:44 what i, chuck, and about 2 other people in the world do, i should say. 07:30:46 OK. 07:30:53 Heh 07:31:04 So my efforts aren't counted? *sob* 07:31:15 hehe, you're working on an OS in FORTH? 07:31:23 half of the people in here are 07:31:25 http://members.home.nl/qfox/output.bmp <-- frequency deviation from average (sorted). the graph outlining (bottom/top) is the same atm so dont mind that 07:31:34 Your memory is as bad as mine. http://robert.zizi.org/f.html 07:31:39 Yes. 07:31:51 warpzero is right, more people than you might think are doing that. 07:31:52 ah right... 07:31:54 solar_angel: im writing an OS in a different language 07:32:03 sinner. 07:32:06 warpzero: Which? 07:32:08 warpzero - which language? 07:32:14 Robert - yes, your effort is counted... 07:32:27 solar_angel: :) 07:32:30 solar_angel: the one im implementing 07:32:38 and there's one or two others in here with an OS in FORTH... 07:32:41 warpzero - i see. 07:32:50 well, mine is in my own variant of forth... i like it that way. 07:32:55 solar_angel: kc5tja, Herkamire.. uhm.. and probably a few others. 07:33:29 right.... which one of those is designing the kestrel? 07:33:36 kc5tja 07:33:39 coolness. 07:33:43 the big daddy of this chan :p 07:33:51 and i thought i was the only person here who designs CPU's to run FORTH on. 07:33:56 qFox - how so? 07:34:02 just so 07:34:04 :) 07:34:07 ok then... 07:34:08 ooh 07:34:15 qfox is on his game 07:34:38 kc5tja. 07:34:38 Nice project, isn't it? 07:34:41 (sorry, lagging out) 07:34:55 yep, it's a nice project. 07:35:16 oops... i don't have an ENTER anymore... silly STC changes some of the way the code works. 07:35:48 substitute it with f1 07:35:50 :p 07:36:05 Yes. Otherwise the angel will have to think like an Intel processor. 07:36:46 ick, thinking like an intel processor. yucky. 07:37:13 how can anyone build a processor with only one hardware stack pointer anyway? :P 07:37:43 on some motorolas every reg can be SP 07:38:04 see, i like that design (autoincrement modes) 07:38:16 solar_angel: Obviously it's not hard to conquer the world with one. 07:38:17 i have something very similar in my own most recent CPU architecture. 07:38:33 hell, why not make stack commands register-universal ? 07:38:53 solar_angel: You're designing processors? 07:38:56 PUSH AX DX - push AX using DX as pointer 07:38:59 Serg - you get that on chips that have autoincrement modes... 07:39:07 MOV [reg1++], reg2 07:39:14 Robert - yes. 07:39:25 solar_angel: k00l 07:39:47 solar_angel: The chuckish way (one transistor, two transistors, three transistors...) or using high-level design languages? 07:39:51 ick... DOES> is completely screwed because of the changes in the threading. 07:39:57 Robert - *both*. 07:40:42 sometimes i just design the ISA... sometimes i write a simulator in C... other times i design the core in Verilog... sometimes i even go so far as to design it a gate at a time (which might as well be a transistor at a time at that level)... 07:41:00 i was building one of my designs in 7400-series TTL once... 07:41:01 but it was huge 07:41:04 solar_angel: Do you ever implement those in physical chips? 07:41:05 then again, it was 32-bit. 07:41:20 fpgas sometimes... but i don't have access to a fab, so that's all i can do. 07:41:44 OK. Anything you recommend learning? 07:41:52 how do you mean? 07:42:11 well, learn proper digital design *before* you get all sorts of bad habits from Verilog/VHDL/etc. 07:42:32 grab a couple dozen 7400's and a largeish breadboard and go to town. 07:42:46 i got my first breadboard when i was 10... and never looked back :) 07:42:50 Basically I want to know if it is as much fun as it sounds. :) 07:43:01 it's fun, and frustrating, in equal measures. 07:43:02 solar_angel: u lucky ! 07:43:06 I have a few breadboards, but they're constantly full of radio circuits. 07:43:29 Serg - not really lucky... none of that was especially expensive... and i dedicated all my resources to electronics stuff. 07:43:38 i have no place for workshop :( 07:44:07 i know that feeling now... i used to live in small towns where i had the space to do stuff.. now i'm in a city, which is great because i can get components locally, but sucks for the total lack of space. 07:44:26 hehe 07:44:48 solar_angel: what was first working thing on u'r first breadboard ? 07:45:24 Serg - a 1-bit full adder, i think. 07:45:50 u started from digital ? no radios ? 07:46:12 the first computer i ever designed, i was 11... it was crap, quite frankly, and several parts wouldn't work or would cost a fortune to manufacture... but it did a lot right... 07:46:33 ugh 07:46:35 nope, no radios... although i've taken to analog with a vengeance in recent years 07:46:44 you sure you're a girl? :p 07:46:49 so what was that comp ? 07:46:56 especially since i did a few years of compeng. 07:46:59 qFox - yep :) 07:47:28 i raelly want such a girl ;))) 07:47:33 hehehe 07:47:49 Serg> they're rare and usually taken :) 07:48:00 Serg - no you don't. apparently someone like me is a very emasculating experience, and many of my ex's have found it extremely intimidating. 07:48:09 besides... most of us are lesbian. 07:48:12 i noticed ;( 07:48:21 Good with some sane people. Anyway, I just don't know what I'd use use a home-made CPU design to. 07:48:29 I could never affort actually manifacturing it. 07:48:34 Robert - FPGA? 07:48:59 Feels a little like cheating, but sure. 07:49:26 it's not that much like cheating... 07:49:50 Well, it's a bit less efficient. 07:50:08 But better than nothing, of course. 07:50:12 not all that much... modern fpga's are pretty cost efficient. 07:50:40 eek... wouldn't you know that i have very little clue how my DOES> routine works? 07:50:43 Cost efficient, sure. I was refering to that you could save some transistors. 07:50:45 * solar_angel tries to figure out how to fix this mess. 07:50:58 DOES> usually does that to people. 07:51:13 well, it works... or rather, it worked, when this was still DTC 07:51:17 clear and rewrite from scratch 07:51:19 I think I'll design a working computer first. I got into electronics way too late. 07:51:21 but now it's STC, and i need to totally rewrite it. 07:51:54 Problem is I/O. Especially O. And a serial terminal.. that DOES feel like cheating. 07:53:29 it looks like i'm almost in luck... this code doesn't need to change all that much 07:53:49 except that i can't just insert calls to "lit" and "EXIT", because neither exists as a stand-alone function anymore. 07:58:23 Hrm, French station very weak... No good. 08:02:43 woo, i think i finished DOES> :) 08:04:07 --- join: Herkamire (~stjohns@h000094d30ba2.ne.client2.attbi.com) joined #forth 08:04:18 hello herkamire 08:04:19 I think that was one of those things I never really got to work. 08:04:19 cool :) 08:04:27 robert you lamer :P 08:04:31 On my STC Forth for the AVR microcontroller. 08:04:34 I440r: Thanks. :) 08:04:42 does> is easy to use but it took me YEARS to figure out how it worked 08:04:48 hehe 08:04:50 hi solar_angel :) 08:04:55 it took me about... a week or two to figure out how it worked. 08:05:08 but then, i'd never actually seen it before i read Moving Forth. 08:05:15 I read Moving Forth. 08:05:21 It explains it pretty well. 08:05:27 good doc, that one, although i've since gone well beyond the scope of it 08:05:32 Anyway, I just thought "Do I need this?" And then decided to skip DOES> 08:05:39 on lamers: 08:05:42 lol 08:05:45 i got a lot of help from it when i originally started designing this FORTH kernel... 08:05:49 solar_angel: Yes, but it's good for introducing newbies to Forth. 08:05:52 but now it really has very little similarity to it. 08:06:00 Robert - what is? 08:06:05 Moving Forth isn't really newbie material. 08:06:12 it's good for new implementors though 08:06:13 i once said of a drunk man: he's lame on all fours and the nose 08:06:17 solar_angel: My first Forth implementations were based on Moving Forth, in the later ones I stole most from IsForth. 08:06:26 solar_angel: Isn't it? 08:06:38 thief! 08:06:39 lol 08:06:40 solar_angel: I learnt how to implement a Forth from that document, and the guys on IRC. 08:06:41 hehehe 08:06:47 I440r: Yes, and I'm proud of it! 08:07:07 Robert - i learned from my own historical invention (i had invented a forth-like language years before hearing about FORTH), and that doc to bring me up to speed on traditional FORTH... 08:07:16 solar_angel: Implementing a Forth is SO efficient in teaching a newcomer how to use Forth. 08:07:23 yep, i couldn't agree more. 08:07:29 solar_angel: So you've told us. ;) 08:08:20 heh, this really looks nothing like camelforth anymore... 08:08:28 it's tailcall-optimized STC 08:09:46 --- quit: Serg () 08:09:56 Great. :) I'm still thinking about the details of my future Forth project. Re-thinking this thing about automatic register caching. Maybe allowing the programmer to use special register variables is a better idea? 08:10:12 --- quit: Alcides () 08:10:15 Kind of like a high-level assembler available to the programmer. 08:10:31 hrm... i'm still going with an optimizer that caches registers. 08:11:08 erk... IF works differently now. 08:11:13 caches registers? 08:11:25 Ehm. Sorry, caching stack items in registers. 08:11:32 ok good 08:12:08 I just don't know how painful it will become when it comes to branches and conditionals. 08:12:24 *nods* it becomes a tad painful... not all that bad if you're clever though 08:12:45 * Herkamire is clever ;) 08:12:53 How about restricting conditionals, so that you MUST have the same number of stack items no matter if the conditional is true or not. 08:13:01 (add a question mark there) 08:13:12 Heh. That really makes me feel better. 08:13:52 that... that sounds ugly. 08:14:13 Yes, but if you think of it, will it work? 08:14:22 sortof. 08:14:25 mostly no :P 08:14:30 Why? 08:14:44 because it's like that. 08:14:48 Can you give me some example when it won't work (and when the code can't be rewritten). 08:15:11 it will work in most cases, but the problem is that you have to shuffle registers as the inside of the conditional occurs 08:15:26 which means you can't guarantee the same assignment coming out, even with the same *number* of registers still assigned. 08:15:58 Ah, right. 08:16:01 ick... i hate this... 08:16:01 * Robert feels a bit stupid 08:16:08 So how will you solve that? 08:16:08 QBRANCH is now replaced with "0x840FC039" 08:17:18 * Robert was thinking about compiling a number of XCHG instructions. 08:17:59 that's how O4 (my optimizing forth compiler of yesteryear) did things 08:18:18 You mean simply moving the register values around? 08:18:38 I mean.. in most cases you probably won't have to do anything, or just one single swap. Very inexpensive. 08:18:44 *nods* 08:19:02 Even something like a ROT could be done in a few clocks. 08:19:36 i know. 08:19:47 or no clocks, if you're clever :) 08:20:25 Are you refering to the ROT word itself, or to moving around the registers at THEN ? 08:20:44 the ROT word. 08:22:22 oh hell this is getting ugly... encoding a series of instructions as a series of cells :P 08:22:32 like i said, qbranch is now 0x840FC039 08:22:34 Heh.. 08:23:35 and i wish i were kidding 08:23:44 I meant something like: ( A B C ) IF STUFF ( NOW: C A B ) THEN There's no simple way of running away from the bunch of XCHG instructions there, is it? 08:24:13 not really. 08:27:50 2 08:28:18 (I'm asuming that xchg swaps the values of two registerS) 08:28:22 yep 08:28:24 Neat, on my new compiler IsForth compiles faster than I can react. 08:28:29 er, on my new computer* 08:28:35 Herkamire: Yes. 08:28:42 it normally doesn't? 08:28:59 No, several hundred of milliseconds on my P200. :) 08:29:10 heh p200 08:29:13 to compile the whole thing right? 08:29:28 Herkamire: The Forth part, yes. 08:30:00 ok good 08:30:34 geez, I have high standards 08:30:53 Hehe, what? 08:31:29 I would be quite unhappy if herkforth ever took a noticable amount of time to compile anything 08:32:12 Ah, yes. :) 08:32:25 I don't like waiting for the computer 08:32:28 Especially on today's monster machines. 08:33:41 heh, i'm expecting something in the vicinity of a 200%-300% speed improvement from my rewrite today... 08:33:43 unless you're actually waiting for the network, or an actual slow device (like my crappy printer)... almost all the time you wait for the computer, could be avoided with clever programming 08:33:55 assuming i can ever get it finished and working, because i'm rewriting over 2000 lines of assembly. 08:34:26 Fun. 08:34:32 yep... indeed. 08:34:38 i'm 83% through the file, but that's not counting any bugs. 08:34:59 Over here debugging takes a little more than half my time. How about you? 08:35:26 hrm... it's not so bad in FORTH for some reason, i'm used to it taking a lot longer than that. 08:35:29 Depending on the task of course, but I mean messing with low-level stuff. 08:35:54 a number of years ago, one of my programs took two years to debug :P 08:36:22 Heh. 08:36:39 it was an advanced 3D engine... what can i say, it was some truly evil, nasty code. 08:37:10 In fact, I forgot a critical bug in a boot loader once. I discovered it half a year later, for some reason it had passed the kernel a RANDOM stack pointer all that time. 08:37:37 ickiness. 08:37:44 But I got away with it, until some (totally irrelevant) modification. Guess if THAT was a bitch to find. 08:38:08 well, it can't be as bad as a lot of float math. 08:38:12 A 3D engine seems a bit evil to debug, too. 08:38:18 Perhaps not. :) 08:38:26 just *try* to debug subtle distortions when you rotate an object... 08:38:41 you know something is going berzerk in your matrix library... but what if it's the matrix inversion? 08:38:42 Hehehe 08:38:54 trust me, debugging matrix inversions gets *unpleasant* :P 08:39:08 I won't argue against that, not having done any. 08:39:18 fair enough. 08:39:35 uckdamnit... i should really rip out the FORTH definition of (do) and write it in assembly. 08:39:37 When I messed with 3D graphics before, I got really pissed of at school for totally ignoring all useful aspects of math. 08:39:40 oh well, i'm lazy. 08:40:30 Gave up with it after trying to bend my mind around 3D clipping. Maybe writing the thing in assembly didn't help... 08:40:44 ickiness. 08:43:10 looks like i'm on the home stretch now. 08:43:45 One thing I noticed when writing the prototype for the register cached stack compiler, is the massive amounts of code needed for all the checks. Only the "+" word took half a page of code. And writing more general code will take a little effort, maybe I'll just do it the copy-and-paste way. Any suggestions? 08:43:51 Neat. :) 08:44:36 nasty. 08:44:43 ohhhh sweet merciful... *sighs* 08:44:56 found a problem with tailcalls. 08:45:04 >R and R> are really badly behaved with tailcalls 08:46:09 not to mention i coded them wrong and all hell will break loose the minute i try to use one of these definitions. whoops. 08:49:20 Shouldn't they just push/pop ? 08:49:25 mmmmm bacon 08:49:35 actually, i'm working on it... >R should work 08:49:39 R> is another story though, i think. 08:51:40 I'd love to optomize out some stack use at some point 08:51:43 nope... i misconcieved that too... damn, that's annoying. 08:52:01 so "100 +" would be one instruction, instead of 5 08:52:37 Yes. :) 08:53:41 i'll just add a "no tail call" bit to the flags. 08:56:23 i think i only need to set it for >R, R>, and UNLOOP 08:56:57 all of which have to juggle their own return values and thus can't be tailcalled (since then they can't juggle that nonexistant return pointer) 08:59:51 --- join: Sonarman (~matt@adsl-64-160-164-121.dsl.snfc21.pacbell.net) joined #forth 09:02:00 Hi Sonarman 09:02:45 woot... 90% done now. 09:03:18 Great. I'm still on the pen&paper stage, hopefully I'll get past it this time. 09:04:48 hrm... i'm just converting dtc to stc at the moment, nothing spectacular... 09:04:57 just 2500 lines of assembly that need to be rewritten. 09:05:44 goody 09:06:25 well, only 400 lines to go or so 09:11:34 woo, i'm down to INTERPRET 09:39:23 jo Rp 09:39:24 hi Robert 09:39:41 Hi 09:39:45 solar_angel: cool! 09:40:29 almost done now 09:47:40 woo, it's done, and it merrily explodes. 09:47:49 this is going to be a treat to debug. 09:51:40 --- join: Serg[GPRS] (~z@193.201.231.126) joined #forth 09:51:51 re 10:02:53 hi Serg 10:07:36 * Serg[GPRS] reviews lame web-making proggie 10:07:54 it's lame on all fours and the nose ! 10:20:04 i got an idea: channel' WIKI 10:20:25 who is who, on what projects working now... 10:20:34 what ideas thinking etc 10:21:16 some have added that kind of info to Herkamire's wiki 10:22:32 i gonna do so tooo 10:23:13 i need to get my project's page back up 10:23:54 i need to make my 'hamster' bilingual, add EN to RU 10:24:54 'hamster' [RU homyak] = home page ;) 10:25:12 10:25:26 ?? 10:25:43 "you have a talking hamster?" 10:25:48 no 10:26:18 are you sure? :p 10:26:39 yes 10:26:49 pity 10:26:58 why ? 10:27:09 nice company 10:27:16 few demands 10:27:18 :) 10:27:58 one girl was keeping cats and rats, it was horrific 10:28:36 kitten were like fleas - i pull one out of trousers, other gets on my back 10:30:24 haha 10:33:34 i hate enything needing care, even bubblejets what need to print a page every month to avoid drying nozzles 10:34:48 and i double hate everything that distracts me from my fun 10:34:56 * Serg[GPRS] is egoist 10:36:12 http://herkamire.com/jason/forth_channel_regulars 10:37:08 i concur though. its not so much egoistic, more lazyness 10:38:57 Herkamire: add link to self to pages, so one can come back after saving to disk 10:40:27 i gotta do ths too on my 'hamster' 10:41:05 Serg[GPRS]: huh? 10:41:21 Serg[GPRS]: you mean add a section "pages that link to this one"? 10:41:30 put on every page full link to itself 10:41:48 why? 10:42:20 --- join: zardon (~zardon@S010600055d233ab7.gv.shawcable.net) joined #forth 10:42:20 i wanna return w/o writing down URL separately 10:42:48 um... how would a link help? 10:43:02 can't you make a bookmare, or copy the URL from the address bar? 10:43:24 i can just click on it in saved page to come back on your site 10:43:45 can, but more effort and may forget to 10:44:14 I don't understand 10:44:37 ooooh ! 10:44:40 so like http://herkamire.com/jason/bla would have a link at the top that would take you to http://herkamire.com/jason/bla 10:44:41 see: 10:45:00 yes ! 10:45:19 but... if you can see the link, you're already there. 10:45:48 BRB 10:46:03 if i see it on disk, i'm NOT where 10:46:08 THere 10:46:32 --- quit: Serg[GPRS] () 10:46:33 oh oh oh. so you can download the page, and click to go to the website 10:46:50 hmm~ 10:47:01 how is your colour forth doing? 10:47:31 it's in good shape. 10:47:48 not much new code lately... I'm thinking and thinking and thinking about how to store data 10:48:04 blocks vs files etc? 10:48:06 db/memory-management/file-syste 10:48:12 yeah 10:48:16 thats a tough one 10:48:24 yeah :) 10:48:48 i wrote a dynamic memory manager, simple, but it works 11:24:33 --- quit: solar_angel ("later") 11:31:10 --- join: Sonarman_ (~matt@adsl-64-160-164-121.dsl.snfc21.pacbell.net) joined #forth 11:31:15 --- quit: Sonarman (Nick collision from services.) 11:31:17 --- nick: Sonarman_ -> Sonarman 11:32:02 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 12:06:12 --- join: Sonarman_ (~matt@adsl-64-160-164-121.dsl.snfc21.pacbell.net) joined #forth 12:06:12 --- quit: Sonarman ("Reconnecting") 12:06:15 --- nick: Sonarman_ -> Sonarman 12:10:56 herk seen the isforth memory manager > 12:10:57 ? 12:11:11 more of a memory sub-allocator 12:11:16 Since when do you have that? 12:12:02 I440r: no 12:12:13 err i think it was released with 1.14b but might have been in 1.13 12:12:24 I440r: how's it work? 12:12:30 basically ALLOCATE and FREE ? 12:13:01 wel it does anonymous memory maps and then sub allocates with a granularity of 16 bytes 12:13:04 yes its allocate and free 12:13:18 its a best(ish) first allocator 12:13:36 it would be very easy to make it best first 12:14:44 forth programmers discover malloc()/free() :-) 12:14:56 slava lol 12:22:19 --- quit: I440r ("brb") 12:29:21 --- join: I440r (~FooBlah@168-215-246-243.gen.twtelecom.net) joined #forth 12:30:34 robert what else havent you discovered in isforth? 12:30:42 you need to read the sources more :P 12:30:44 sweet 12:30:48 i managed to draw floats 12:30:49 :p 12:31:32 qFox: how? 12:32:08 --- mode: ChanServ set +o I440r 12:32:50 : draw.float ( x y F: f -- F: ) 12:32:50 dup -rot 12:32:50 fdup f>d <# #S #> draw.text.x \ draw floored number 12:32:50 swap dup 2 - -rot s" ." draw.text.x \ draw dot ("comma") 12:32:50 swap 2 + \ -2+ for graphical allignment (numbers are 2 px off) 12:32:50 fdup f>d d>f f- \ removes anything before the comma 12:32:52 1000e f* 12:32:54 f>d draw.double \ draws 3 digits behind the comma (inc/decrease 1000e to w/e) 12:32:56 ; 12:33:13 draw.text.x returns the next x 12:33:27 (otherwise you'd have no idea where to continue "writing") 12:37:09 qFox, making a graphics library? 12:37:21 well i'm done for now really :p 12:37:28 what for? 12:37:35 to create those graphs 12:38:04 oh 12:38:05 i'm also calculating SD (standard deviation) for the fun of it, and that looks better in float :p 12:38:17 so i wanted to print it but thats not as easy as the rest 12:38:35 cos of the special float stuff etc 12:39:23 the code can now create 4 types of graphs. pretty neat 12:40:06 a regular frequency table, a sorted frequency table (lo-hi), a table with deviations from average, and a sorted version of that 13:10:51 ok robert, i just released 1.15b. one small bugfix and a sorta HUGE change that some people might not like 13:11:06 if enough people complain enough i might change it back :) 13:11:16 i renamed and to &, or to | etc 13:11:21 the &/|/^ thing? 13:12:15 oh i spoke too late 13:12:15 yes 13:12:18 mod is % 13:15:05 and /mod is /% 13:15:05 but you guessed right :) 13:15:05 brb, making coffee 13:15:06 why did you change it (don't worry, i'm not complainig. i'm just curious :))? 13:15:07 I440r: I thought you hated C ? ;) 13:18:28 --- join: wossname (wossname@HSE-MTL-ppp61917.qc.sympatico.ca) joined #forth 13:18:29 i think & | ^ ~ etc are more consice and therefore prefereable 13:18:29 why not keep the old just add the new ones? as aliases or double definitions for all i care 13:18:29 i agree 13:18:29 with I440r 13:18:29 if you can look at '@' and read 'fetch' wheres the problem :) 13:18:30 portability mainly 13:18:44 if a source file uses the old names then you can just define the aliases at the top 13:18:53 like i said, wheres the problem :) 13:19:02 which is what i put in my changelog 13:19:02 or as macros and then at the end do a purge-macros :) 13:20:28 just define ' & alias and ' | alias or 13:20:45 sonarman has been looking at my macros definitions ?> 13:23:41 i guess so. sometimes i browse the isforth sources 13:27:38 cool 13:28:53 Herkamire: hmm, irssi looks pretty good, I wonder why I haven't come across it before 13:29:01 I might give it a try 13:29:37 it's grrrrrreat! 13:29:40 fridge: irssi is greate 13:29:42 great 13:30:17 I use epic currently, but theres some things that annoy me 13:31:14 I've only come across one person who didn't like it, and now he's tried it again and likes and uses it 13:32:06 my only complaint with irssi is it was a bit of a pain to write the config file to get it to automagically connect and join channels 13:32:10 --- join: lalalim_ (~lalalim@p508AA1D1.dip.t-dialin.net) joined #forth 13:32:32 heh, i was just about to say something also beginning with, 'my only complaint with irssi' :) 13:32:34 but other clients I tried didn't seem to be able to do this at all... so 13:32:47 Sonarman: same as mine? 13:32:51 nope 13:33:39 i just can't find a way to quickly navigate the input line to review what i've written 13:33:51 gotta hold down the arrow keys 13:33:54 xchat rocks 13:34:00 oh, actually I have one other. there may be a way to stop this, but I find it quite frustrating to get server messages from one network, in the current window which belongs to a different network. 13:34:27 Sonarman: oh, that would be cool to have a key that went one page left/right 13:34:33 YES 13:34:38 whoops capslock 13:34:45 Sonarman: ^a and ^e are begining/end like bash 13:34:49 Sonarman, i remapped my caps lock to control :) 13:34:55 Herkamire, that's emacs bindings 13:35:00 Herkamire: yes i use ^a and ^e all the time 13:35:41 those bindings are in tons of programs 13:36:11 --- quit: lalalim (Read error: 60 (Operation timed out)) 13:47:50 Herkamire: I couldn't figure it out with epic, to setup multiple windows/servers automatically 13:47:56 that would rock 13:56:36 I440r: Bah! 13:57:30 robert ? 14:05:04 21:30:36 < I440r> robert what else havent you discovered in isforth? 14:05:05 21:30:44 < I440r> you need to read the sources more :P 14:05:52 That's decompiler is really neat 14:18:26 lol 14:18:35 it could be better 14:18:41 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 14:18:44 Seems to work pretty fine. 14:18:47 Hi tathi 14:19:21 Hi Robert 14:21:25 fridge: yeah, I do that with irssi. 3 networks, 4 channels, 5 windows (one window for server messages) 14:22:22 * Robert is on 18 channels, 5 networks. 14:26:34 i could probably ditch half the chans i'm on 14:26:37 :p 14:38:58 Yoy mean #forth and #c? 14:41:14 ditch the #c half, please :) 14:41:51 Hehe 14:42:17 i'm not on #c 14:42:32 --- quit: wossname ("chop it down with the edge of my hand") 14:43:37 lets see. i'm efnet on a chan with my clone (only), a "personal" chan for friends and whatever, 5 chans for nondisclosable purposes, #asm #mirc and #math. then a friends (well, opless idle is more like it ;) chan and mirc chan on ircnet, and #msn (dev) #ai #forth and #mysql on freenode 14:45:21 #mirc ?! 14:45:42 but the msn dev chan is just dead lately. the ircnet chans i dont pay much attention to, math i'll ditch when i'm done with my exam in august 14:45:44 Hmm. So you're into AI? 14:45:47 yes 14:45:48 and yes 14:45:51 I guess you know ree then. 14:45:57 thats what i'm hopefully going to study next year 14:45:57 * Robert pets his favourite IRC nut 14:45:58 :) 14:46:07 he's the one who got me in here in the first place 14:46:15 without him i probably still would never have heard about forth 14:46:17 Hehe 14:46:26 So something good he's done. :) 14:46:35 i'll take that as a complement :p 14:47:31 Hehe 14:47:37 ircnet #coders used to be the best one anywhere 14:47:42 you know, i dont do much in most of those chans, well i speak every now and then but no real purpose, but every now and then they bring something funny, or amuse me when i'm utterly bored 14:47:48 those guys know their shit 14:48:06 well #c and related chans on efnet/ircnet are usually full of assholes. 14:48:51 ohwell who cares :) 14:49:23 as bad as undernet #linux ? 14:49:25 :) 14:49:39 i never been to undernet 14:52:29 um lol. my file byte rotation code seems to only be countereffective to what i'm trying to accomplish :p 14:53:17 --- join: blockhead (default@dialin-655-tnt.nyc.bestweb.net) joined #forth 14:59:34 --- 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.") 15:05:38 --- join: D-TypeAWAY (~inbox@centipede.plus.com) joined #forth 15:18:29 hi 15:18:52 I440r, do you have online isforth docs? 15:20:08 --- join: topher (~chris@lsanca1-ar42-4-61-175-184.lsanca1.dsl-verizon.net) joined #forth 15:20:48 --- nick: topher -> topher|editing 15:24:02 isforth.clss.net 15:24:09 ive been working on them big time 15:24:22 the kernel is completely documented and some of the extensions too 15:26:35 --- join: warpzero (~warpzero@dsl.142.mt.onewest.net) joined #forth 15:28:21 I440r, why are you against the cell words? 15:29:10 They're longer than "4" :) 15:29:42 are there any native 64-bit forths? 15:29:56 undoubtfully 15:30:00 there should 15:30:01 :) 15:30:14 --- quit: D-TypeAWAY () 15:30:14 i was thinking of coding a forth-like langauge but with lisp-like tag bits and cons cells, in assembly 15:30:37 someone ought to just write a 128bit forth :p 15:30:54 256 :D 15:30:57 that would have too many different forms of the arithmetic operators :) 15:31:02 oh hell, a full 1k word 15:31:12 slava: no, why would it? 15:31:17 fine, 1k forth 15:31:19 parallel forth machine with 6 pairs of data/call stack :) 15:31:31 slava> you dont have to have c@ w@ style support 15:34:08 has anybody ever written a lisp in forth? 15:36:09 seems easy ... 15:39:10 i have not 15:41:47 seems it would be at least as efficient as a bytecoded lisp like CLISP 15:42:00 you'd be doing the same things at runtime 15:43:11 slava because they add NOTHING except extra bullshit visual clutter 15:43:30 they are intended to make your code "portable" 15:43:38 portable code is an absolute MYTH 15:43:38 I440r: not when I use them, they're not. 15:43:52 i added those words under protest only 15:44:00 but they are there if you want em :) 15:44:34 I use them to make sure I know at a glance that 4 is a cell-size count, not something else. 15:44:47 Because 4 is a number that I use a fair amount :) 15:46:39 isforth is a 32 bit forth 15:46:50 err why do i need a word to TELL me my 32 bit cell size ? 15:47:31 I440r: no, I mean, I just use it as a constant. 15:47:44 cell ? 15:47:45 or 4 15:47:47 A name to tell what the number _means_ 15:47:49 cell. 15:47:52 i use 4+ 4- 4* 15:48:02 the cell words are a redundancy 15:48:28 total sillyness imho 15:48:28 yeah. I just found I had some words where it was confusing because I was using 4* both as a cell multiplier _and_ for other things. 15:48:43 thats why you have COMMENTS!!!!! lol 15:49:14 comments in the middle of one-line forth words always seemed kind of silly to me. 15:49:43 err no 15:49:49 the comments arent for you 15:50:02 they are for the person reading your sources 15:50:07 I know that. 15:51:01 i don't use comments for obvious stuff 15:51:19 they might not be obvious to the other guy tho so you SHOULD 15:51:19 eg : 1/x 1 swap / ; does not need either a stack or descriptive comment 15:53:39 Well, personally I use cell and cells the same way I use any other constant -- because I think code is more readable without "magic" numbers. 15:53:58 But if it's clear without them, I'll use 4* 4+ etc instead. 15:58:59 --- part: topher|editing left #forth 16:01:47 o_0 coupling is getting better again. 16:02:12 nothing like a good coupling, eh ;) 16:02:28 the english show i mean ;) 16:02:36 its probably one of the best 16:02:47 but the start of season 4 was not so great 16:03:09 it seems to get better though 16:05:18 --- join: edrx (~user@200.184.189.141) joined #forth 16:05:29 hi - anyone awake? 16:05:48 yessir 16:06:35 a friend of mine decided to try to implement a TCP/IP stack in Forth as a way to learn both TCP/IP and Forth well... I'd like to point to him Chuck Moore's TCP/IP code 16:06:55 do you know where I can find links about it? 16:07:39 I think the discussions and talks are going to be more useful to him than to code itself, I took a look at the code once and it looked impenetrable 16:10:10 i dont know myself. maybe somebody else does 16:10:37 get him to use isforth :) 16:10:40 *snicker* 16:10:43 Hehe. 16:10:48 tho - im using the linux kernel for all my tcp/ip stuff 16:11:43 maybe I'll tell him that you recommended that, but then I'll also tell him of my Forth-like language written on top of Lua... 16:12:00 maybe he can join himself? 16:12:12 I'll try to persuade him to 16:12:14 if he's working on tcp/ip he's got internet :p 16:12:36 he used to connect to #debian-br from time to time 16:12:46 that sounds like brazil 16:13:14 yup, we're both in Brazil (but 800Km apart from each other) 16:14:11 I440r: glad you're here. 16:14:12 he's in Porto Alegre, the city where happened the recent Free Software forum ("FISL")... 16:14:20 I440r: what's with your TUI? 16:14:33 I440r: what is it supposed to be, how far is it, and how much can I use it? 16:15:06 TUI = text-based user interface? 16:15:59 gotta go 16:16:08 not much time for IRCing these days... 16:16:47 btw, did anyone here work - or at least though about - on connecting a Forth and Emacs? 16:17:51 later 16:17:53 bye 16:17:53 I heard something about someone here wanting to write an editor that's somewhat emacs like, using forth as its base langiaghe 16:17:56 bye 16:18:10 hm 16:18:36 its a curses replacement 16:18:50 I was thinking more on terms of adding a Forth and a few functions to Emacs 16:18:55 you can open windows and write text to them and scroll it etc and move the windows etc 16:19:03 its very useable. 16:19:05 the Forth would be able to use Emacs's structures 16:19:17 I440r: would you mind giving me a crash course? :) 16:19:25 do ./isforth -fload src/examples/window.f (assuming latest release) :) 16:19:29 * arke_ once fiddled with ncurses a whiole ago, but that was it... 16:19:32 I440r: ok, lemme tryt 16:19:41 well im at work and i need to go home soon and i got no inet there yet 16:19:42 I440r: switching to nick teehee 16:19:43 new apartment 16:19:47 ok 16:19:51 ok 16:19:54 lemme try 16:20:05 look at that window.f file to see how to cretae and use windows 16:20:17 you create a screen and then you create windows and link them to the screen 16:20:25 you can have any number of windows in a screen 16:20:30 and any number of screens 16:20:31 whats the latest version? 16:20:33 * teehee has 1.13b here 16:20:47 just released 1.15b 16:20:55 ok, lemme get that really quick 16:21:09 ill be documenting all the windowing stuff soon and the memory manager etc 16:21:16 --- part: edrx left #forth 16:21:17 :) 16:21:40 brb 16:22:44 bleh :) 16:24:47 needs more I440r 16:28:11 lol 16:28:33 I440r: so, lemme see if i get this 16:28:41 k 16:28:44 I440r: screens are like desktops in X11 16:28:54 I440r: you can have as many or as few as you like. 16:29:02 yes 16:29:17 I440r: and each one takes up the entire Screen :) 16:29:20 generally you will only have one screen but that screen can have any number of windows 16:29:22 I440r: and then you can have subwindows 16:29:23 no 16:29:30 oh? 16:29:36 when you create a window it allocates only what it needs for that window 16:29:39 --- quit: fridge (Read error: 54 (Connection reset by peer)) 16:29:44 yeah 16:29:44 the screen is always the same size as your console 16:29:50 that's what I meant 16:29:51 :) 16:30:17 windows can overlap and be pulled to the front etc 16:30:25 if i make a really cool TUI, will you distribute it with isforth? :) 16:30:28 wait 16:30:34 are we talking about screen screens 16:30:35 I440r: :) 16:30:54 no 16:30:57 no :) 16:30:58 isforth screens 16:31:00 oh 16:31:04 isforth 16:31:06 kinda like Curses screens :) 16:31:07 but isforth could do exactly what screen does with this 16:31:08 is pretty cool 16:31:16 i just wish isforth ran on more of my computers 16:31:28 help me port it 16:31:37 oh i'll help you port it 16:31:48 isforth screens can do things that curses cant do very easilly 16:31:48 warpzero: just need to rewrite the entire asm kernel :P 16:31:50 ill help you port it right to the ming dynasty 16:31:57 like move windows arround the screen 16:32:05 see aforementioned demo 16:33:15 I440r: i would think that porting it to a sane instruction set wouldn't be to hard but i don't know 16:33:37 i don't really know x86 so porting it would be hard 16:33:38 teehee: w-init is almost as lng as a C function o.O 16:34:00 warpzero: hi 16:34:07 teehee: hi 16:34:12 arke_: hi 16:35:45 gotta go 16:35:51 ok, later 16:35:52 sorry!\be back 2morrow 16:35:54 * arke_ has to go too ----- working :) 16:35:58 by I440r 16:36:03 I440r: get a damn internet connection at home :) 16:36:07 yeah 16:36:31 * arke_ is away: w0rk bbl 16:46:27 --- join: fridge (~fridge@dsl-203-113-231-53.NSW.netspace.net.au) joined #forth 16:52:59 hm 16:53:08 when a word crashes on ELSE 16:53:16 would that indicate a return stack overflow? 16:53:17 :\ 16:53:57 and it crashes on else for no appearant reason, and hasnt before 16:54:19 it fails at does>? 16:54:23 whatever that word is... 16:54:33 debugger points at ELSE 16:55:51 heh 16:56:01 you don't know does>? :) 16:56:21 its very simple 16:56:27 no.. 16:56:31 its not asni 16:56:32 ansi 16:56:45 : constant create , does> @ ; 16:56:58 the question mark included sir. 16:57:00 this means 16:57:02 DOES>? 16:57:07 oh 16:57:10 don't know that one 16:57:10 :) 16:57:11 indeed 16:57:11 :p 16:57:17 ^_^ 16:57:30 well by the looks of it it crashes with the debugger 16:57:33 somehow 16:57:37 * arke_ is away: work 16:57:39 but it also crashes without the debugger 16:57:49 so basically i cant trace it 16:57:50 :\ 16:58:07 delete and rewrite: that works for me 17:02:08 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3575988.sympatico.ca) joined #forth 17:29:03 There's a retro game dev competition starting July 1st, at www.remakes.org 17:32:52 OMG: some one porting doom to the c64! 17:33:03 * blockhead thanks madgarden for the link :D 17:33:24 Oh, heh... yea, there's that competition too. ;) But scroll down further for info on the remakes.org compo. 17:33:38 Last year we remade "Sword of Fargoal" for the C64. 17:34:11 "fargoal"? hmpf, sounds too much like "fargoth" :D 17:34:23 oh crap, you're not going to get that joke. never mind :/ 17:34:47 hehe 17:35:36 feh: another site where the links don't work. 17:35:48 What links don't work? 17:36:36 this one: javascript:externLoadFlat(); 17:36:38 it's not html 17:36:41 bad show 17:37:49 --- join: scope (~junk@njd.paradise.net.nz) joined #forth 17:38:30 brb 17:38:35 --- quit: madgarden (Read error: 104 (Connection reset by peer)) 17:42:32 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3575988.sympatico.ca) joined #forth 17:42:39 teh baxx0rz 17:45:05 Bleh. I'm not into remakes. 17:45:23 I want original games dammit ;) 17:45:50 Well, not many of those these days. 17:46:20 I know :( 17:46:50 Most games feel like work anymore. 17:47:34 Yeah, I pretty much quit playing games after about Quake 2. 17:48:15 Nethack is always entertaining. 17:50:34 I always died really quickly when trying to play nethack 17:50:57 me too. 17:51:21 I'd think I was doing pretty well, and then, Bang! something would kill me. 17:51:39 Yea, it's a die quick game. But that's part of the excitement of it. 17:51:50 Most games lack that immediate tension. 17:51:54 Oh. OK. 17:52:06 Not my kind of thing. 17:52:12 I like games that reward skill. 17:52:16 moria was a fun game, back in the day 17:52:24 Like...say...xkobo :) 17:57:26 tathi, define "skill". I'd say Nethack requires a high degree of it. 17:57:38 Oh, sorry. 17:57:53 I don't like games where you can get randomly killed through (apparently) no fault of your own. 17:59:03 Nethack seems to me to fall into that category. 17:59:32 But then, I only spent about three hours trying to play it, so it could just be one of those games that takes a while to learn. 17:59:34 Only for the inexperienced. ;) 17:59:55 Yes, it's definitely full of nuances that one needs to learn in order to survive. 18:01:21 I guess I was just expecting it to be one of those long advance-your-character/get-to-the-bottom-of-the-dungeon things. 18:01:49 It is. 18:01:54 Sort of. 18:01:59 But it's more than that. 18:02:11 Hey, if you want a simpler experience, you should play my Sword of Fargoal remake. :) 18:03:15 So you can keep one character going, for, say, 50+ hours? 18:03:31 yeah, I should try that again, now that ClanLib and Allegro work on my machine. 18:05:10 A Nethack character going for 50+ hours? Or Fargoal? 18:06:34 tathi, http://squidfighter.sourceforge.net/fargoal/ 18:06:41 Nethack. 18:06:50 And yeah, I know where fargoal is, thanks. 18:07:11 I guess I was expecting one of the long-time puzzle/explore text dungeon games. 18:07:19 I dunno how long my best character has lasted... but, people have played the same character for years without winning. 18:07:25 Oh, ok. 18:07:31 Guess I should try it again then. 18:07:47 Definitely! It's the ultimate challenge. 18:07:58 what's the most direct route to write the << EOF convention in Forth? 18:08:10 I just got frustrated because I thought I was being completely careful and paranoid, and still something would appear out of nowhere and kill me instantly. 18:10:06 << is the word.. EOF is a string -- it keeps reading input buffer until it sees a line comprised of that string 18:12:36 tathi, I think the game is about preparation, taking advantage of the right situations, taking a few risks, and luck. You can play very cautiously and not move too deep into the dungeon for a while. Train your pets to steal stuff from the store so you can get some free and useful goodies. 18:12:47 << EOF ? 18:12:55 Is this C++ 18:12:58 ? 18:13:09 it's in a lot of languages 18:13:17 as << or <<< 18:13:29 Give a full example 18:13:38 $string = << SNEEZE 18:13:43 string "string" 'string' string 18:13:47 SNEEZE 18:14:13 i so badly want to use parse and search, but I can't get parse to do anything but read the text on the current line 18:14:47 What language is that example? 18:15:10 fine.. 18:15:14 $string = << string string 18:15:18 SNEEZE; 18:15:29 that one is PHP 18:15:35 Klaw: what forth? 18:15:37 string = << SNEEZE is bash I believe 18:15:56 tathi: gforth, but i'm just trying to learn some techniques 18:16:18 Yeah, it's just that I would expect parse to work. 18:16:40 I suppose it's a peculiarity of line-oriented POSIX input. 18:16:50 parse works for the first line, but then the word breaks out 18:16:54 i tried putting it in a begin again loop 18:18:14 That didn't work either, I take it? 18:18:58 the parse looks like it reads from the end of the line, and then stops, so all the parse commands come back with a 0 18:19:20 hmm...maybe REFILL would help? 18:19:28 it's a possibility 18:19:49 yeah that did it 18:20:10 thanks 18:20:24 * tathi is glad his wild guess was helpful :) 18:21:02 wild like a fox 18:22:20 hmm...let's see...I'll start listing all the words I know that deal with input... :) 18:26:44 --- quit: tathi ("bed, early work tomorrow...") 18:32:32 --- quit: qFox ("this is mirc's last attempt of communication...") 18:33:57 --- quit: fridge ("http://lice.codehack.com") 18:39:45 --- join: fridge (~fridge@dsl-203-113-231-53.NSW.netspace.net.au) joined #forth 18:40:06 * blockhead opens the fridge and pulls out a beer 18:40:22 * madgarden opens a beer and pulls out fridge 18:40:48 * fridge is using irssi =) 18:42:07 yay irssi 18:42:34 * blockhead googles 18:45:20 * slava wishes he had beer in a fridge 18:46:01 heh ") 18:46:03 :) 18:46:46 * Herkamire wishes he was in a fridge 18:46:57 yeah 18:47:02 it's binkin' hot over here 18:47:02 frikken hot 18:47:10 ditto 18:47:31 is swiftforth any good? 18:47:43 is it freeware? 18:48:45 thets the Forth Inc system? 18:48:48 that~ 18:49:18 yes its from forth inc 18:49:37 * blockhead would guess it's not frewware then :D 18:49:40 its a native code compiler -- well it seems that way anyway since 'see' shows assembly 18:51:37 i think MPE's VFX is probably the tightest native code compiler 18:53:10 http://www.mpeltd.demon.co.uk/pfwvfx.htm 18:53:24 i have never used it, but it looks high end indeed 18:57:10 what is this word, BENCHMARK? 19:02:17 --- join: dpb9cpu (~dpb@lexx.daves.net) joined #forth 19:03:19 --- join: LOOP-HOG (~jdamisch@sub22-119.member.dsl-only.net) joined #forth 19:03:27 ABSURD INLINING 19:03:44 hah 19:03:51 heh 19:08:31 hi 19:16:12 hi 19:17:25 hi again 19:17:39 i was looking at the kestrel site a bit 19:18:08 Who are you? 19:18:16 me? 19:18:37 Yes. 19:18:47 What's your usual nick? 19:18:56 thats my usual nick 19:19:12 I think I recognize your user name. 19:19:16 i switched isps lately 19:21:09 --- join: SDO (~SDO@co-trinidad1a-156.clspco.adelphia.net) joined #forth 19:21:16 hi 19:25:49 ZARDOZ!!! 19:27:41 I ASSUME YOU MEAN ME 19:27:48 NOT THAT HORRIBLE MOVIE :) 19:28:33 'nn all 19:28:45 Yes, I mean you. :P 19:28:46 Gute Nacht. 19:28:56 --- quit: blockhead ("laugha while you can, monkey boy") 19:29:17 But I like to associate you with that horrible movie. ;) 19:29:40 Mm.. nice feeling being tired enough to let the words go into one eye and out through the other. 19:29:48 Not having to UNDERSTAND what's being said. 19:29:55 I'm finally like the average IRCer. 19:30:22 lol 19:30:45 Robert, the slef is nilfern tonight, donut you tinkle? 19:31:18 I agree to whatever you command me, lord. 19:31:36 what's the best way to copy the number three deep in the stack to top of stack? 19:31:45 PICK 19:31:52 thx 19:31:55 but i try to avoid that, i use PICK sparely 19:31:56 Depends on your Forth. 19:32:33 That's a very non-helpful answer, but alas it's true. 19:32:48 you can maybe avoid PICK buy using ROT or -ROT someplace 19:32:56 using r> >r and rot or -rot and dup works.. 19:32:57 Evil. 19:33:07 PICK is not so bad... just use it if you need to. 19:33:09 Haha, even more evil. 19:33:14 Right. 19:33:21 i prefer >R and R> to PICK 19:33:21 But I'd still add a special word for it. 19:33:29 3pick 19:33:33 Yes. 19:33:53 just comparing the size of two strings 19:33:53 And I would make it a primitive, not : 3pick 3 pick ; 19:33:56 That's just me. 19:34:05 I can look at an old paper list to see if they have any other operators that im not thinking of 19:34:22 2DUP and 2SWAP are sometimes useful for not Double cell size items 19:34:30 : size= c@ swap c@ = ; 19:34:36 --- join: oninoshiko (~oninoshik@melrose-251-251.flexabit.net) joined #forth 19:34:40 Hi oninoshiko. 19:34:51 hello 19:36:14 if its super messy you can always try later and sometimes an idea to do it totally different and better will come to you 19:36:57 2 pick isn't that messy 19:37:42 dont forget ROLL 19:37:54 Klaw, then go for it :^) 19:38:19 at this rate i could code about 8 words a day 19:38:23 8-D 19:38:45 : LEAP 2 PICK ; 19:38:56 is that good or bad? 19:39:15 it might be good if you have the sequence 2 PICK in your code alot 19:39:36 TOOTHPICK 19:39:40 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 19:39:45 * oninoshiko giggles 19:39:49 --- mode: ChanServ set +o kc5tja 19:39:49 it's just for a string compare -- if string length is the same and search. 19:39:55 my little hacks 19:47:06 I want a carbon dioxide extractor 19:47:41 but then i would also want an atmospher analizer and reporter device 19:49:29 why do you wanna extract C02 ? 19:49:51 so i can build a mock space capsule :^) 19:50:52 ahh... why? 19:51:17 i'm just into that kind of stuff, like the Rocket Guy and stuff 19:51:23 and Burt Rutan 19:51:50 Burt Rutan kicks Brian Walkers ass 19:51:58 i just want easy to understand rtl8139 docs 19:52:05 ok 19:52:19 Good luck. 19:52:25 kc5tja 19:52:39 you are the guy to talk to about the Kestrel? 19:52:44 Yes. 19:52:57 i have a few 19:53:10 is this thing going to be small when its put together? 19:53:16 like it will go into a cigar box? 19:53:24 It will definitely be on the smaller side, yes. 19:53:34 By necessity -- I'm charged by the square inch for PCB space. 19:53:34 i like the cigar box idea 19:53:41 thats probably what i will do infact 19:53:56 i have a few ideas for mine 19:54:28 Well, I'm probably just going to make the thing on a generically shaped circuit board -- probably just a simple square. 19:54:38 ok 19:54:53 could it be made into a portable computer? 19:54:55 I might make it rectangular. I'll discuss it with the #forth folks before making a final decision. 19:55:06 That depends on what you use it with. 19:55:12 I just sell it as a kit. 19:55:13 like with a small lcd screen and a small custom keyboard/ 19:55:16 --- quit: SDO ("Vision[0.9.6-0203]: i've been blurred!") 19:55:38 If said small custom keyboard adheres to the PS/2 keyboard interface standard, sure. 19:55:54 As far as the small LCD screen is concerned, well, if it plugs into the VGA port on the back of a normal PC, it's usable. 19:55:58 it would be small and simple enough to learn the foundation to then perhaps later make another kestrel kit into a this or a that 19:56:07 Though the circuit is designed around 640x480 resolution. 19:56:29 it sounds like a mini PC, which is ok 19:56:32 you can't be everything 19:56:49 LOOP-HOG: Are you familiar with a Commodore 64, Apple II, or Atari 8-bit computer at all? 19:57:00 i had the ATari 800xl 19:57:05 but this won't have a POKEY 19:57:09 or a GITA 19:57:16 but it will still be a FORTH computer 19:57:31 That is basically the kind of computer I'm trying to build. Instant-on, no bullshit boot times, integrated language (Forth), etc. 19:57:48 Idea 19:58:24 I can use it as a groovey alarmclock, as it does not use as much electricity as a PC 19:58:35 Then I can have my alarmclock play back .mid files or something 19:58:43 * kc5tja nods 19:58:55 what batteries would I need in it 19:59:01 Unknown. 19:59:14 In fact, it's power supply will be external. 19:59:23 Remember, I'm charged by the square inch of printed circuit board space. 19:59:30 how much juice does it use? 19:59:32 Anything and *everything* that I can move off that PCB *will* be moved off. 19:59:42 I haven't designed the circuit yet -- how can I know? :) 19:59:59 LOOP-HOG i suppose you could write up some kinda dasher-esque interface 19:59:59 nevermind then :) 20:00:12 user interface? 20:00:21 FUI 20:00:27 Forth User Interface 20:00:33 as a substiute fro a normal keuyboard 20:00:54 there is no substitute for a normal keyboard for normal typing 20:01:12 but maybe if somebody wants to learn a smaller keyboard for specialized typing then i inderstand that 20:01:13 what about smth like dasher, but with entire word names? 20:03:13 LOOP-HOG that depends, sometimes a keyboard is not practacial 20:08:50 --- join: SDO (~SDO@co-trinidad1a-156.clspco.adelphia.net) joined #forth 20:10:22 According to a website I just looked at, written by the dasher folks themselves, Dasher isn't the best system to use if you're looking for brute speed in typing. Interestingly enough, the *half-QWERTY* keyboard appears to be *VASTLY* superior to any existing alternative. 20:10:26 Which I find interesting. 20:10:44 what's half-QWERTY? 20:11:38 Half a QWERTY keybard. 20:13:06 wouldnt a "half dvorak" be better "half qwerty" 20:13:07 ? 20:13:31 http://www.softwarelivre.org/downloads/Dasher.pdf 20:13:40 oninoshiko: I don't think it matters 20:13:58 I prefer Dvorak from a comfort point of view, but the issue of speed is moot with modern keyboards. 20:16:01 by that do you mean that mushy keyboards are miserable 20:16:13 they didn't have a ps2 keyboard i bought a $7 one and its pretty stiff 20:16:55 Huh?? 20:18:03 n/m 20:18:09 i need to go do something 20:18:12 see you guys later 20:18:30 --- quit: LOOP-HOG () 20:26:38 i question that, i have seen repoerts that an experenced dvorak typest can outtype a experenced qwerty typest 20:33:19 And I've seen just as many reports to the contrary. 20:33:37 I can type approximatley 90wpm on a QWERTY keyboard, given a good keyboard. 20:39:20 hi 20:39:31 hello 20:39:37 hi oninoshiko kc5tja I440r futhin Robert slava warpzero madgarden Herkamire 20:39:44 hi zardon :) 20:40:13 Greetings. 20:40:47 * kc5tja is just daydreaming again. 20:40:50 kc5tja: :) 20:41:06 kc5tja: gonna write a UI demo with is4th 20:41:14 kc5tja: mark is helping me use his tui code 20:41:19 * kc5tja nods 20:41:26 kc5tja: this will probably be the rise of RkG again 20:41:34 kc5tja: only that this time, it's combined with my system 20:41:40 kc5tja: which is better than what I had before :) 20:41:52 Grass-roots redesigns usually are. 20:42:02 kc5tja: ? 20:42:33 Re-read the previous three lines you wrote. :) 20:43:10 oh 20:43:28 you mean, where i take an old design, and change it for a new environment 20:43:55 No, I mean where you basically start over from scratch, but keep all the same design goals. 20:44:36 ohb 20:44:38 oh 20:44:38 :) 20:45:48 did I mention that I am in love with GNU screen? 20:46:06 Everyone is. 20:46:08 It's a given. 20:46:16 :) 20:46:37 did I _also_ mention that I am in love with NeXT's file manager? 20:46:51 who isnt 20:46:53 ? 20:47:06 next was a sweeeeet system 20:47:08 It is easily one of the best I've ever seen. I'm shocked nobody has cloned it for Linux yet (outside of GnuStep that is). 20:47:18 MacOS X is NeXTStep, BTW. 20:47:23 yeah, heh 20:47:50 OSX is NOT nextstep 20:47:58 * kc5tja sighs 20:48:02 OpenStep then? 20:48:24 classic macos finder was better 20:48:31 Then why are all of its components written in Objective C, and behave *EXACTLY* like their equivalents in NeXTStep? And why do all the APIs for MacOS X still have "NS" prefixes on them? 20:48:42 heh 20:48:44 yeah 20:49:21 and the source files give credit to NeXT 20:49:30 :) 20:49:39 because it derrivase from next 20:49:46 that is not the same thing 20:50:11 by derived you mean 90% ? 20:50:22 by that logic AIX is sysV 20:50:29 i don't think so 20:50:33 its way closer 20:51:12 oninoshiko: Because it IS System V. Yes, it's a derivative. But I openly challenge you to compile anything BSD on it. Without a configure-script of some kind, it isn't going to work. 20:51:26 --- join: I440r_ (~mark4@adsl-66-139-50-162.dsl.snantx.swbell.net) joined #forth 20:51:41 woohoo im in my new apartment lol 20:51:44 Just like DOS *IS* CP/M (and is precisely why Gary Kildall went berzerk about it) 20:51:59 air bed 20:52:00 no ac 20:52:08 but i got connectivity lol 20:52:41 re I440r_ 20:52:56 hi 20:53:06 I440r_: Where are you located now? 20:53:11 san antonio 20:54:40 Ah, yes, land of *minimum* speed limit sighs of 65. 20:54:46 s/sighs/signs/ 20:54:54 so, will wine be windows (assuming theyu ever get it done)? 20:55:07 oninoshiko: no, ReactOS will be 20:55:25 oninoshiko: By definition, to maintain maximum compatibility with Windows, they must also replicate the bugs thereof. So yes, in my view, WINE is Windows. 20:55:57 In point of fact, I have to use WINE at work now, because our new telephone call management system uses it. 20:56:16 It is **HORRIFICALLY** buggy. Much more buggy under Linux than when the apps are running under Windows natively. 20:56:26 connectivity sucks with the wireless however... but at least im online lol 20:56:33 yes it is 20:56:36 lol 20:56:38 I440r_: How does it suck? 20:56:54 --- quit: I440r_ (Read error: 60 (Operation timed out)) 20:57:06 I see. 20:57:24 OMG 20:57:25 bash.org 20:57:26 lol 20:57:27 hahhaha 20:57:27 Oh, and here's another thing I'm growing intensely unhappy with. 20:57:46 SuSE Linux. 20:57:49 ? 20:57:51 Mandrake Linux. 20:58:09 Both of those distributions are totally on my eternal shitlist forever, shared only with Red Hat. 20:58:19 It's not surprising, interestingly enough, that all three are based on RPMs. 20:58:28 fbsd is nice 20:58:29 And all three derive their sole income sources from tech support calls. 20:59:06 slava: There are only three BSD standards, all of which adhere VERY closely with each other. 20:59:14 So really, BSD is BSD is BSD. 20:59:35 RH, Mandrake, and SuSE, however, really don't conform to *ANY* Linux standards to speak of. 20:59:38 kc5tja: heh, what are you unhappy about with them? 20:59:40 ESPECIALLY SuSE. 20:59:47 kc5tja: heh 20:59:49 good night all 20:59:52 time for reading 21:00:07 kc5tja: why do you htink average Joe Blow finds SuSE the most userfriendly, next to Windows? 21:00:08 kc5tja: lol 21:00:11 slava: night 21:00:13 and what linux standards do you speak of? 21:00:31 The configuration scripts in /etc are all horrifyingly "non-standard", in that each one is completely unique, *ALL* for the sake of being . . . unique. 21:00:42 It doesn't add ANY functionality, what so ever. 21:01:03 by definition RH IS standered, mearly because it so (over)used 21:01:05 kc5tja: AND, is horribly slow 21:01:15 oninoshiko: Well, Slackware follows System V conventions for the most part. 21:01:20 (BTW i hare RH) 21:01:28 hate 21:01:49 * arke_ likes SuSE, unless trying to do some more advanced stuff 21:01:55 because then it gets a pain 21:01:59 for abovementioned reasons 21:02:03 although YaST _is_ nice 21:02:12 god dammit 21:02:17 YaST is a pain in my freakin' butt. 21:02:18 I *HATE* it. 21:02:20 my life is shit 21:02:38 kc5tja: for simple stuff, it's great (albeit slow, thanks KDE/Qt) 21:02:54 kc5tja: well, actually, even the curses YaST is slow 21:02:58 I probably wouldn't mind so much if it stored its configurations in a rational location (such as, gee whiz, /etc!). 21:03:07 yeah lol 21:03:11 arke_: Use it in console mode then. 21:03:11 what the hell is up with the /opt shit 21:03:15 It's still GOD awful slow. 21:03:19 yeah 21:03:28 /opt is fine. 21:03:37 "excuse me, but this is not a TI calculator..." 21:03:50 I can deal with and appreciate /opt. 21:03:50 kc5tja: until they start putting EVERYTHING there 21:03:56 arke_: That's its purpose. 21:03:58 kc5tja: and you look in the normal places, and you can't find it. 21:04:02 /opt//...etc... 21:04:09 So you can just cd /opt; rm -rf foo 21:04:20 kc5tja: well, that's true. _but_ 21:04:36 kc5tja: nest, nest, nest, nest, nest, nest, nest, nest, nest, nest, nest, nest, nest 21:04:51 arke_: And normal Unix differs . . . . . . . . . how? 21:05:07 kc5tja: normal unix is only nest, nest, nest, nest, nest 21:05:13 :) 21:05:14 I'd rather have everything nested under ONE name, then have 1448 files belonging to one package occupying 1448 different locations on the filesystem. 21:05:47 arke_: Until you've had to serve as a system administrator, you will have no appreciation what-so-ever for how nice /opt actually is. 21:06:25 Oh, and yet another thing I abhore with all the existance I can muster....Cobalt RaQs!!! 21:06:28 kc5tja: well, at least GNU's bloatconf/bloatmake is nice enough to provide make uninstall. 21:06:46 arke_: Maybe 21:06:57 arke_: I've found sufficient projects that LACK that make target. 21:07:05 which is why I keep sources around, in case I need it. 21:08:37 All I can say is, Slackware's package management is the simplest, most bad-ass system I've ever used. 21:08:40 Period. 21:09:15 :) 21:09:22 freebsd ports works well 21:09:25 The *only* functionality lacking is dependency management, which I frankly find to be one of its best attributes. I can't tell you how many times "dependency management" on other systems have been broken because of inept package maintainers. 21:09:43 i like portage 21:09:44 (case in point: installing the latest XFree86 under Debian, back when I used it, attempted to uninstall GCC. !?!!?! WHAT?) 21:09:58 kc5tja: WTF!? lol 21:10:16 * arke_ dreams of a time when we all interface simply with our hands 21:10:17 oninoshiko: I'd rather see an honest to goodness *real* ports system for Linux, frankly. 21:11:06 Portage is a nice step in the right direction, but it still relies on "distribution proprietary", and hence, "non-standard," tools. I'm not a fan of it at all. 21:11:20 Slackware's system is based on tar, gzip, and maybe three Bash shell scripts. 21:12:00 kc5tja, so who decleared BASH scruips standerd? 21:12:44 iu think it sould all be in perl 21:13:01 --- join: I440r_ (~mark4@adsl-66-139-50-162.dsl.snantx.swbell.net) joined #forth 21:13:06 oninoshiko: Well, technically, they're ash scripts, which is a proper subset of normal sh. So it's standard by way of backward compatibility. But since every Linux box uses, or at least has available and installed, bash, then it's standard in the context of Linux. Which IS, after all, what we were talking about. Right? 21:13:17 signal strenght was lol heh 21:13:22 had to adjust location :P 21:14:14 ill build a box without bash, ash, or sh just to prove a point 21:14:42 oninoshiko: You'll probably be using Linux From Scratch then. But, realistically, what point will you prove? 21:14:53 That you can design a box to be broken by design? 21:15:01 That you can "think different"? 21:15:06 it wouldnt be broken, it ould work fine 21:15:30 it just dosent follow you standered 21:15:33 Well, RH "works fine" for many, but I still consider it broken by design. 21:15:42 It's not *MY* standard. 21:15:47 It's the Linux *COMMUNITY* standard. 21:16:10 uthen what offical standereds body decleared it standered 21:16:34 oninoshiko: POSIX, by way of IEEE, declares the Bourne shell the official POSIX OS shell. 21:16:44 ash is a proper subset of sh. 21:16:49 bash is a proper superset. 21:17:06 lol and windows claims posix compliance i thought - i think i heared that somwehere 21:17:18 Therefore, by way of set theory, ash is an element of sh is an element of bash. 21:17:19 --- quit: I440r (Read error: 104 (Connection reset by peer)) 21:17:33 NT claims it, but only because of 3rd party software 21:17:43 I440r_: Windows does nothing of the sort. They can make all the claims they want. They haven't delivered. note that they no longer make that claim too. 21:17:49 --- join: I440r (~FooBlah@168-215-246-243.gen.twtelecom.net) joined #forth 21:18:03 ok. but they did in the past ? 21:18:11 Back when NT 3.5 existed. 21:18:14 They stopped as of NT 4.0 21:18:15 they said that Windows NT had a POSIX compliant subsystem. 21:18:24 arke_: No, they didn't. 21:18:32 kc5tja: they supposedly had it in NT4 as well. 21:18:38 kc5tja: yes they did. I prove it. 21:18:41 * arke_ has books 21:18:42 They said that NT ran on top of a microkernel, developed by the folks who designed VMS. 21:19:09 They had several OS "facades" for NT -- they supported OS/2 1.x, Windows Win16 and Win32 APIs, and POSIX. 21:19:11 with subsystem, i meant the same as their OS/2 subsystem or their DOS subsystem or their Win32 subsystem 21:19:20 thats waht I meant. 21:19:21 * oninoshiko I440r_ how is that harder then learning the forth symbols? 21:19:46 arke_: An OS "personality" is not a foundation though. 21:19:55 NT's kernel is its foundation. 21:20:05 :) 21:20:07 (and it's the only thing worth coding for in NT, I might add. Very nice design.) 21:20:32 Well, that and COM. 21:20:36 But I digress. 21:21:21 Hmm...I wonder if someone were to run an OS/2 1.2 application under NT, if it'd still run under XP. :) 21:21:26 I doubt it would. 21:21:34 can anyone here get to isforth.clss.net ? 21:21:55 kc5tja: yes 21:22:06 kc5tja: I'm pretty sure. 21:22:12 does not look like it 21:22:15 kc5tja: but, if you want me to, I can try for sure if you give me an app 21:22:17 damn 21:22:19 I cannot resolve the host name. What is its IP address? 21:22:37 same here 21:22:54 arke_: Well, remember that Microsoft has removed a lot of functionality from the 3.5 -> XP product line. 21:22:58 err i dunno 21:23:02 DOS support is *gone*, for example. 21:23:04 Completely. 21:23:05 clss.net must be down or something :( 21:23:22 Anything you have that is DOS runs only through emulation, and compatibility is subsequently quite limited. 21:23:27 kc5tja: ???????????/ 21:23:34 kc5tja: I run DOS proggies ALL the time 21:23:49 arke_: Take a performance measurement of them -- you'll notice that they all run markedly slower. :) 21:23:51 er... 21:24:07 hrm. 21:24:13 oh 21:24:15 yeah 21:24:18 vm86 baby~ 21:24:22 that was prolly 2k -> XP 21:24:26 htp123: vm86 mode is no longer used. 21:24:28 htp123: was about to mention that 21:24:32 arke_: This is starting with 2K. 21:24:32 in xp? 21:24:32 kc5tja: !? 21:24:37 i did have vary high falure rates of dos apps on 2k 21:24:45 i know it's not in longhorn, but i thought 2k/xp still have it 21:24:50 htp123: As of Windows 2000, absolutely no real-mode components exist in Windows. 21:25:00 vm86 != real mode 21:25:06 arke_: **CODE** 21:25:16 hm, interesting 21:25:19 arke_: When I said components, I meant it. 21:25:34 arke_: vm86 is a CPU operating mode. Software written for it is written for real-mode. 21:25:34 odd. 21:25:35 so if i take a disassembler to old dos applications, they'll all be 32-bit? 21:25:46 htp123: no :) 21:25:49 htp123: No. 21:26:01 i mean as part of windows 21:26:01 kc5tja: why would they do that though? 21:26:09 kc5tja: they would boast about that alot.. 21:26:19 kc5tja: back in the NT 3.5/4.0 days 21:26:19 htp123: What I'm saying is that Windows 2000 and later *emulate* (in software) an 80x86 for the purposes of running DOS software. 21:26:31 arke_: So people stop writing code for DOS. 21:26:49 right, but i'm refering to dos applications that come with windows 21:26:55 It's just a marketing gimmick to get people to "realize" that 16-bit code is "slow" and "unstable," so they'll start coding native Win32 apps. 21:27:09 htp123: those aren't DOS applications --- they are actually Windows Console applications. 21:27:15 that's what i'm asking 21:27:34 htp123: I suspect that you'll be disassembling the actual Windows kernl32.exe for the most part. 21:27:34 i'm guessing most things have been consolidated under cmd.exe? 21:27:35 kc5tja: Ack. I hate. 21:27:50 htp123: dir et al are in cmd.exe 21:28:02 yah 21:28:25 hm, interesting. they must have had some fun rewritting it all 21:29:04 htp123: Actually, it was already written and debugged, because back when NT 3.5 was around, NT was ported to quite a few processors (Intel, PowerPC, MIPS, DEC Alpha), all of which needed to be able to "run" DOS applications. 21:29:09 arke_, i was refering to things like attrib, chdisk, etc 21:29:23 oh yah, i guess o 21:29:30 Yeah, those commands I believe are Win32 console apps now. 21:29:38 Well, no, I know them to be now. 21:29:49 doesn't take much to verify. sec 21:30:13 If it's a PE header, it's Win32 native code. 21:30:18 If it's MZ, it's 16-bit DOS. 21:30:21 yah. they all have a pe header 21:30:42 well, chdisk and attrib 21:30:55 Yet, for all their 32-bit-ness, they sure do behave a lot like their 8-bit counterparts. 21:30:55 well, the ports themselves were cheap. 21:31:07 Not a *single* new feature that's worth a damn in any of those commands. 21:31:13 basically, Kernel + Emulator with windows on them lol 21:31:24 well, cmd.exe has tab completion now 21:31:26 that's pretty handy 21:31:34 i think ive only acualy SEEN NT on alpha 21:31:50 It's incomplete though. When working for Hifn, we still had to have third-party software installed to make it functional for the programmers. 21:32:06 (as opposed to other non-x86 ports) 21:32:24 NT was on x86, PPC, MIPS, and AXP 21:32:37 fuck. clss.net is down, i can log into my web based email but i CANNOT get to my IN box 21:32:39 i'm happy enough with it. it's not unix, but the shell is quite useable and you can get most unix utilities 21:32:39 oninoshiko: I've seen NT running on a MIPS box twice. But that's it. It was pretty darn fast too. Blew its x86 bretheren clean out of the water. 21:32:57 so i cant fucking see if the host isp has fucking emailed me :( 21:32:58 MIPS is a nice architectre 21:33:10 MIPS is my favorite RISC architecture of all time. 21:33:15 Second favorite is PowerPC. 21:33:19 ~ 21:33:32 * oninoshiko was pissed when SGI stoped (brefly) making MIPS systems 21:33:59 I remember when Sun decided to manufacture SunOS boxes based on the 386. 21:34:17 * oninoshiko shudders 21:34:26 "We will never, ever, ever make a computer centered around another Intel chip, ever again," was Sun's apology, one year later. 21:34:30 now the Itanic is making the rounds 21:34:39 That's when they really, earnestly started developing Sparc as a replacement for their 680x0 boxes. 21:35:08 Itanium is actually a nice CPU. 21:35:16 are you serious? 21:35:20 its too bad they used ultrasparc (or was it hypersparc?) insted of sparc64 21:35:23 it looks horrible 21:35:37 UltraSparc is 64b i believe 21:35:40 SPARC v9 21:35:45 It's just that (a) we lack software that can adequately optimize for VLIW, and (b) it doesn't have the engineering resources that x86 has, so it's naturally more sluggish than what's currently available in x86-land. 21:35:53 zardon: Yes, I'm dead serious. 21:36:04 Don't judge a book by its cover. 21:36:13 i have looked at the ISA 21:36:13 It's assembly language is definitely more verbose than most others. 21:36:24 i don't really care about benchmark numbers 21:36:40 But it's MMU can't be beat, it's FPU is top notch, ... 21:37:02 Who said anything about benchmarks? 21:37:12 Integer performance is back in the P-II days. 21:37:20 i assumed thats what you meant by cover 21:37:25 We still have yet to see ONE modern CPU match it in FPU performance though. 21:37:33 No, I'm talking about reading up on its ISA. 21:37:43 i thought the POWER was up there 21:37:53 The ISA *looks* bad, but remember, it's NOT a sequentially executing machine like you're familiar with. 21:38:02 It is predicated, and it's VLIW. 21:38:06 i know its VLIW 21:38:16 or EPIC or whatever the name of the day is 21:38:38 Well, supposedly VLIW and EPIC are different, But for the purposes of this discussion, I'm treating them the same. 21:39:29 whats VLIW? 21:39:40 arke_: Very Long Instruction Word 21:39:51 arke_: It's the ultimate in RISC philosophy. 21:39:54 and kc5tja, whats QNX if you know? 21:39:56 kc5tja: er!? 21:40:02 Imagine a CPU that has four execution units, and you want to keep them as busy as possible. 21:40:10 kc5tja: you mean, like 64bits per instructions? 21:40:19 The easily way to do this with the least amount of hardware is to just feed all four execution units all at the same time. 21:40:32 arke_: Four times 32 = 128 bits. 21:40:44 IA-64's instruction packets are actually 160 bits wide. 21:41:19 leave it to Intel to provide a non-2^n bit width 21:41:27 kc5tja: oh... 21:41:41 kc5tja: so, it's like, every 4 instructions are just fed together, and can't be interdependent? 21:41:51 arke_: Right. 21:41:57 cool. 21:42:00 Instruction slot 0 always feeds execution unit 0, etc. 21:42:11 And this has *amazing* performance benefits. 21:42:19 kc5tja: now, I think I heard you say something about QNX once, and I was wondering what it is 21:42:36 Software pipelining can provide incredible performance boosts over hardware pipelining, because human programmers are just plain smarter than computers. 21:42:52 kc5tja: :) this ultrasparc 166mhz running red hat is sodomizing my old p200MMX running red hat in performance 21:43:04 kc5tja: :) 21:43:16 you sould try an Sparc64 21:43:21 The problem is, 99% of the time, people use C or some other woefully inadequate compiler technology, and therefore, software runs at half the optimal rate. This is why IA-64 processors are considered "slow" compared to x86. 21:43:59 well, i took a little look at sparc asm 21:44:04 and it seems like it was _made_ for C 21:44:10 register windows, etc. 21:44:16 arke_: QNX is a commercially sold microkernel operating system for the x86 and PowerPC processors. 21:44:26 Seems? 21:44:29 kc5tja: it is good? 21:44:36 Are you aware of the whole reason why RISC came about to begin with? 21:44:38 switch it and is :) 21:44:43 (Hint: it only has one letter in its name.) 21:44:48 kc5tja: C? :P 21:44:52 you used to be able to DL a demo of QNX 21:45:13 kc5tja: does QNX come with an OS on top, or is it just the microkernel? 21:45:17 oninoshiko: I think you still can, if you know where to look. That demo has been around for *years*. 21:45:23 arke_: What? 21:45:32 arke_: Oh, I see. 21:45:37 arke_: Depends on what you get. 21:45:46 arke_: If you want just the microkernel, you can get that. 21:46:14 arke_: They sell a POSIX-compliant microkernel environment called Neutrino that provides the uK plus some servers that run on top of it that provides a complete Posix environment. 21:46:19 last time i saw anthing about it i was working for MCUSD#25, an we were looking at how to reuse older hardware rather then just trashing it 21:47:22 interesting 21:47:27 firefox just crashed on me 21:47:50 I used to have a dedicated QNX Neutrino install on my box here, since Neutrino was at one point going to be the official replacement OS for the new Amiga hardware that was planned after Gateway purchased Commodore-Amiga, Inc. 21:48:39 --- nick: arke_ -> arke 21:48:42 But then Gateway ended up dropping the ball, Amiga, Inc. split from Gateway, Inc., and then they went with Tao. 21:48:57 That apparently flopped market-wise, so now they're trying to concentrate on AmigaOS 4 and the PowerPC boxes to run it. 21:49:03 Which, I expect, will flop as well. 21:49:47 But not for lack of trying; I just think the market window has gone. 21:50:23 Had they done this three or four years ago like I asked them to, they probably would have a much better chance at economic survival. 21:50:35 But does anybody listen to me? NNOOOOOooooo.... :) 21:51:09 i do agree, its unfortunte but there is little call for non-x86 anymore 21:51:12 * arke listens to you 21:51:30 oninoshiko: I think there is still a market for it. But it's a niche market. 21:51:33 before poop: (_*_) after poop: (_O_) 21:52:07 like i said LITTLE call (there is still some) 21:52:36 And I insist on disagreeing with you. 21:52:43 90% of all embedded CPUs are NOT x86. 21:52:57 Most are MIPS, ARM, PowerPC, ColdFire, or 68000. 21:52:58 man, d00d... 21:53:04 if cell phones were x86 21:53:07 Occasionally you'll find a Sparc. 21:53:11 they'd like 21:53:14 melt your hand 21:53:15 that is true... x86 isnt good at imbedded 21:53:15 lol 21:53:22 yeah, Beagle 2 21:53:29 arke: They'd explode the battery because of the heat they'd produce. 21:53:34 kc5 i would say 99.999999999999999999 of em arent 21:53:35 that is the biggest market for non x86, easy 21:53:46 i definatly dont think x86 has 1% of the embedded market 21:53:56 oninoshiko: Yup, and Amiga could have targeted that market, and profited. 21:54:26 They were, at one point, directly poised to compete with QNX on very favorable grounds, especially in the multimedia field (things like iPod could have belonged to Amiga, not Apple, for instance). 21:54:53 ipod was an amiga thing ? 21:54:59 or just "could have been" 21:54:59 I440r_: I do -- there are quite a number of telecomm devices running on 80186s. 21:55:03 I440r_: No. 21:55:20 I440r_: "things like iPod could have belonged..." 21:55:20 Amiga WAS the multimedia field for a while 21:55:42 theres also the 386ex 21:55:56 but i still cant see x86 being 1% overall 21:56:03 motorola has like 99% lol 21:56:09 Yeah, more and more embedded 486 clones are appearing in comms equipment too. 21:56:15 Mostly running Linux, as far as I can tell. 21:56:32 I440r_: No they don't. Not even close. 21:56:46 I440r_: Used to, maybe, but MIPS has a huge chunk of the embedded market. 21:57:11 Perhaps not majority (I think IBM's PowerPC 403 series is bigger now-a-days), but still quite significant. 21:57:39 And ARM keeps growing like a fungus, seeping into the pores of humanity. 21:57:49 they have 99% of the automotive industry and thats a HUGE chunk overall 21:57:52 ive heard good things of ARM .. whats it like? 21:57:53 Which is good, because if anything is the true successor to the 6502, that's it. 21:58:00 I440r_: Hardly. 21:58:05 * I440r_ loves the 6502 21:58:29 I440r_: Automotive is but one sector. Telecomms is far greater in numbers, and they're dominated by ARMs and PowerPCs at the moment. 21:58:45 Every modern Cisco box that gets on the market has a PowerPC in it. 21:58:57 i heard something about ARMs having a field in every instruction defining its conditionalness 21:58:58 arm was invented by acorn ? 21:59:09 I440r_: Yes. Acorn Risc Machine -- ARM. 21:59:29 arke: Yes, like IA-64, it's a "predicated" processor. 21:59:43 kc5tja: how's it work? 22:00:01 You have a set of flags that indicates true or false for some comparison. 22:00:23 CMP.GE r1, r2, p4 <-- Set P4 if r1 >= r2 (just for example; I don't know actual ARM machine language) 22:00:51 MOV #1,r1 (p4) <-- NOP if p4 is clear 22:01:00 MOV #0,r1 (~P4) <-- NOP if p4 is set 22:01:05 oh, coolness 22:01:24 There is a predicate for always-true and always-false of course. 22:01:56 Anyway, as you can see, it completely eliminates the need for a conditional branch, and therefore, it is WAY easier to pipeline. 22:02:30 It also makes branch prediction hella easy, because the write to the condition codes flags are explicit, like setting any other CPU register. 22:03:06 awesome 22:03:09 dude 22:03:23 max or min would be so easy to implement 22:03:24 lol 22:03:30 It'd be trivial. 22:03:44 and so fast to 22:03:51 compared to teh x86 one 22:04:04 Yep. 22:05:25 because there's no jump :) 22:05:44 No need for a jump. And with good hardware-based instruction scheduling, the above code would execute in one or two cycles, tops. 22:06:04 (assuming a superscalar execution engine) 22:06:19 GBA is ARM, right? 22:06:22 yes 22:06:25 afaik 22:06:26 * arke should put a Forth on bro's GBA 22:06:32 lol 22:06:37 he would fuckin' kill me 22:07:00 --- quit: I440r_ (Read error: 104 (Connection reset by peer)) 22:07:18 arke: The new Palm Pilots are now ARM too. 22:07:32 (including the various clones) 22:07:36 266MHz at that. 22:07:37 :) 22:07:44 :) 22:07:50 im pretty sure they just emulate coldfire 22:07:54 Sure makes my 33MHz 68332-based Clie pale in comparison. 22:08:07 heh 22:08:15 zardon: Who is 'they' in this case? 22:08:22 they have them up to ~600+mhz 22:08:22 this 167mhz sparc makes my p200mmx look pale. 22:08:27 Palm 22:08:38 the docs talk about not needing to access ARM 22:09:05 the ARM runs in little endian mode, and the API byte swaps the arguments 22:09:13 when you cross the 68k ARM barrier 22:09:53 i don't know why they run it in LE 22:10:13 --- quit: I440r (Read error: 104 (Connection reset by peer)) 22:10:46 --- join: I440r (~FooBlah@168-215-246-243.gen.twtelecom.net) joined #forth 22:12:39 --- join: Serg (~z@212.34.52.140) joined #forth 22:12:45 zardon: No idea. 22:12:57 zardon: I'm sure they had their reasons though. 22:12:59 hi serg 22:13:02 probably 22:13:06 hi 22:14:03 maybe PocketPC runs LE, and they are hoping to get in on some toolchains 22:14:13 like the microsoft stuff 22:14:17 zardon: Not sure. 22:14:22 Anyway, I need to get to bed. 22:14:23 that seems like a stretch 22:14:32 cya~ 22:14:32 later 22:14:45 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 22:15:41 linksys is useuing MIPS running linux 22:16:48 i have heard the run ARMs as well 22:17:05 the apple wifi base stations run VxWorks on MIPS 22:17:30 maybe... i was thinking baout getting a WAP to see if i can hack it into a wareable 22:18:03 (it would already have WIFI support ^_^ 22:18:04 ) 22:18:35 we should have cyborgs by now 22:18:53 i should be a cyborg by now 22:19:04 yah, that's what i mean 22:19:18 preferably with death lazers 22:19:35 --- quit: Herkamire ("zzzzzzzzzzzzzap") 22:19:37 i dont need death lazers... 22:19:54 i do 22:20:12 and i want a minigun grafted to my arm 22:20:13 just wifi... and image enhancement 22:21:04 htp123: i prefer leser-guided missiles ;)) 22:21:24 yah that works too 22:21:40 bah.. not "forgetable" 22:21:54 with missiles stationed on various sattelites 22:22:05 so you just point the lazer pointed at a target 22:22:11 pointer* 22:22:41 and hold it on target while the missle is comming down 22:22:49 right 22:23:26 well, you wouldn't have to hold it. just point and click, it will home in automaticaly 22:24:03 lazer guided weapons you have to keep the target "painted" 22:24:23 only if target is moving 22:24:24 why? 22:24:28 yah 22:24:37 if stationary - single impulse 22:24:47 have a CRYPTON lazer that saturates the target with radiation 22:25:49 today we shoot crows w/ spring-piston airgun 22:26:21 soon we gonna do it w/ reusable homing missiles 22:27:09 ;) 22:27:14 i have no problem with that 22:27:36 as long as i get my cyber upgrade~ 22:27:54 * arke IS BACK 22:27:57 i think now the problem is in steering machines 22:27:57 ph33r 22:28:16 * oninoshiko flytacklehuges arke 22:28:30 isnt he CUTE!!! 22:28:46 UF-contrast homing head can be made miniature easily, but how would u turn the missile ? 22:29:11 (ph34r th3 cut3 0n35) 22:29:49 vectored exhaust 22:30:27 cybertechnology 22:30:34 zardon the turning distence is still to slow 22:30:58 yes, but how we gonna vector it ? voice coil ? 22:31:25 this is a AGM right? 22:31:35 SAM 22:31:43 Surface to Air? 22:31:54 i said we shoot crows and other flying rats 22:31:59 ah 22:32:02 hmm~ 22:32:18 i thought we're talking orbiting platforms of doom 22:32:18 a frag warhead would probably be best then 22:32:23 as did i 22:32:38 i think id be happy with a AN-94 it a biut more... personal 22:32:44 whoa, lalalim_?~ 22:32:47 orbiting platforms can be easily taken out 22:33:04 by what? 22:33:07 'space garbage' 22:33:22 defensive lazers 22:33:22 controlled one - head-on 7+7 km/sec 22:33:26 that's where defenses come in 22:33:35 fry the garbage before it gets too close 22:34:59 or better yet, random teleportation~ 22:35:20 teleport over target, destroy, hide behind moon 22:35:24 slam a meteor into it 22:35:53 i think controlling meteors is even further away than orbiting missile stations 22:36:06 teleport grenade into the station 22:36:08 ;) 22:36:20 its closer then teleportation 22:36:38 you obviously havent seen enough Blakes 7 then 22:36:55 100Mt warhead can be brought to dangerous comet even now 22:37:14 ? 22:37:16 happily it has no missile defence 22:37:44 i say if some 'stone' heads to Earth, we can blow it even now 22:38:38 or at least deflect from collision path by massive nukeblast 22:39:25 you cant just blow it to bits... the debris would still cause problems 22:40:28 not so great as solid one - we shoot tanks w/ solid metal pieces, not bucksot 22:41:14 and if blow sideways, it can be deflected 22:42:18 if you blew it into little bits 22:42:36 a lot of the debris would get vapourised in the atmosphere 22:42:42 in the case of the planet, the ensuing dust cloud would be devistating, in the case of a station, all i need to do is make a couple holes, decompression would do the rest 22:43:06 I'd rather do something than nothing, given the choice =) 22:43:22 deflecting is the only option 22:43:26 see: everything is orbiting Sun 22:44:01 even if we blast ahead of asteroid, it'll slow down by the amount of kick, solid or fragged, yeah ? 22:44:35 but slow down means falling on Sun, turning harder to Sun, and missing us - u see ? 22:46:27 if the bomb is penetrating ('anti-bunker'), most energy gonna go to hot gases - like impulse of stopping, re-entry engine of spacekraft 22:48:49 but the chance of asteroid-caused nukewinter is low - once per 100 billion years ;)) 22:48:55 so we are relatively safe 22:49:22 wouldnt that be an astroidwinter? 22:49:40 nothing really nuke about it 22:50:45 i might question you number too 22:51:47 * arke hugs oninoshiko back 22:53:25 yay I wrote my << function 22:53:31 in 2 1/2 hours 22:54:23 --- part: oninoshiko left #forth 22:55:21 lol 22:55:31 i think it took longer, but i don't have timestamp on 22:55:41 defined 5 words using 71 total 22:57:07 --- quit: htp123 (Client Quit) 23:02:37 --- quit: SDO (calvino.freenode.net irc.freenode.net) 23:02:37 --- quit: zardon (calvino.freenode.net irc.freenode.net) 23:02:37 --- quit: arke (calvino.freenode.net irc.freenode.net) 23:04:47 --- join: SDO (~SDO@co-trinidad1a-156.clspco.adelphia.net) joined #forth 23:04:47 --- join: zardon (~zardon@S010600055d233ab7.gv.shawcable.net) joined #forth 23:04:47 --- join: arke (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 23:05:45 --- quit: zardon (calvino.freenode.net irc.freenode.net) 23:05:45 --- quit: arke (calvino.freenode.net irc.freenode.net) 23:05:45 --- quit: SDO (calvino.freenode.net irc.freenode.net) 23:08:32 --- join: SDO (~SDO@co-trinidad1a-156.clspco.adelphia.net) joined #forth 23:08:32 --- join: zardon (~zardon@S010600055d233ab7.gv.shawcable.net) joined #forth 23:08:32 --- join: arke (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 23:08:42 --- join: arke_ (~Chris@wbar8.lax1-4-11-100-108.dsl-verizon.net) joined #forth 23:08:43 anthony split... 23:09:34 --- quit: zardon (calvino.freenode.net irc.freenode.net) 23:09:34 --- quit: arke (calvino.freenode.net irc.freenode.net) 23:09:34 --- quit: SDO (calvino.freenode.net irc.freenode.net) 23:09:37 --- join: SDO (~SDO@co-trinidad1a-156.clspco.adelphia.net) joined #forth 23:09:37 --- join: zardon (~zardon@S010600055d233ab7.gv.shawcable.net) joined #forth 23:31:04 --- quit: Sonarman ("leaving") 23:44:04 --- join: solar_angel (~jenni@Toronto-HSE-ppp3685160.sympatico.ca) joined #forth 23:59:59 --- log: ended forth/04.06.09