00:00:00 --- log: started forth/02.07.31 00:37:27 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 03:13:46 --- quit: njd_ ("fractal 1.0.9b60 - RAM = Rarely Adequate Memory - http://fractalscript.com") 04:57:50 --- join: dsmith (~dsmith@cherry7.comerica.com) joined #forth 05:00:35 --- part: dsmith left #forth 05:24:47 --- join: Speuler (~l@pD9502528.dip.t-dialin.net) joined #forth 05:24:52 hi 06:19:33 Hi Speuler :) 06:19:41 Tomorrow I'll leave for .de 06:27:30 --- join: Speuler1 (~l@217.80.37.24) joined #forth 06:27:44 --- join: tathi (~josh@wsip68-15-54-54.ri.ri.cox.net) joined #forth 06:33:27 --- quit: Speuler (Read error: 110 (Connection timed out)) 07:17:51 --- join: dsmith (firewall-u@cherry7.comerica.com) joined #forth 07:18:25 --- part: dsmith left #forth 08:15:39 --- join: proteusguy (~irc@bonzo.iss.net) joined #forth 09:11:08 --- join: futhin (thin@h24-64-175-61.cg.shawcable.net) joined #forth 09:11:34 robert 09:17:46 --- quit: tathi (Read error: 104 (Connection reset by peer)) 09:19:34 Yes, master? 09:32:22 futhin: Mylord? 09:33:30 heh 09:33:35 just checking if you were alive 09:33:39 how are you doing these days? 09:40:39 Uhm.. 09:40:39 Fine. 09:40:52 what's up with forth 09:40:53 I'm going away tomorrow. 09:40:55 heh 09:41:04 Won't be here for like 2 weeks. 09:41:11 Hrm 09:41:11 Well 09:41:12 i have some of your forth code for various stuff 09:41:22 I feel like doing some graphics. 09:41:30 Know any good DOS forth for that? 09:41:35 tea.f pong.f integrate.f image.f 09:41:39 Hehe. 09:41:48 integrate.f sucks :) 09:41:56 pong.f is..hrm..nice. 09:42:00 tea.f :) 09:42:01 image.f rules ;) 09:42:05 image.f... heh. 09:42:10 * Robert <--- pervert :P 09:42:16 heheh 09:42:33 i dunno what graphics capability FPC has 09:42:35 ask i440r that 09:42:42 i am going back to pygmy 09:42:58 because i at least coded forth in pygmy 09:44:30 robert: do you want graphics code to be inplace for you? 09:44:40 or code the graphics from scratch? 09:48:54 Hmmm 09:49:05 what kind of graphics do you want? 09:49:09 Well, doesn't matter, might as well write a whole forth :P 09:49:19 OpenGL!?@$! 09:49:22 yeah, code a small forth in forth 09:49:24 (Joke ^) 09:49:32 No, asm. 09:49:33 :) 09:49:41 I like forth, but I like asm more :P 09:50:13 Going to the lake. 09:50:26 See you, and may the Forth be with you. 09:50:31 okay, have fun 09:50:37 don't idle on irc! 09:50:38 :P 09:51:02 robert 10:04:37 --- join: tathi (~josh@wsip68-15-54-54.ri.ri.cox.net) joined #forth 10:06:02 hi tathi 10:12:36 hey futhin 10:13:05 how goes it? 10:13:35 let's just say I'm really glad I'm going on vacation in a couple of days 10:14:19 heh 10:14:26 because work is being rather annoying lately 10:14:46 how has work changed? 10:15:27 one of our major clients has a site that just went up (well, back up after some major renovations) 10:15:39 so they keep calling with little things that aren't right every 15 minutes 10:15:58 hmm 10:16:05 is that just mostly html work? 10:16:11 so it's impossible to work on anything else, because just as I get going, I get interrupted. 10:16:17 ahh 10:16:22 PHP 10:16:37 they don't really care what the thing looks like 10:16:50 mostly they want the functionality to be a little bit different. 10:18:01 maybe implementing an extreme programming relationship with them would help, except i don't really know that much about xp 10:18:15 except that there's user cases and all sorts of stuff 10:18:23 that ensures the customers are happy and the programmer is happy 10:18:41 i have a pdf of an xp book 10:19:09 if you want it.. 10:19:12 heh 10:19:18 doubt that would help all that much 10:19:22 yeah 10:19:40 the main problem is that there are two companies between us and the people who are actually using the system 10:20:14 ahh 10:20:49 and the end user and the next company up are big companies, so there's politics about who has to OK upgrades and be responsible and stuff 10:21:34 it's not usually _that_ bad 10:21:59 but we've just had the site down for 3 months for "security" upgrades, and now it's going back up 10:22:08 hm 10:22:12 once they get back into the swing of things everything will calm down again 10:22:17 the site was down for 3 months? 10:22:20 that's pretty long 10:22:31 in internet time 10:22:40 up and down 10:23:02 you at work right now? 10:23:04 they had some external security consultant who kept finding more things to nitpick about 10:23:07 yes 10:24:24 why don't you telecommute? can your work be farmed over the internet easily? 10:24:37 and it was never really "down", we just restricted everything to an IP from one office, who got stuck doing all the data entry over that time 10:24:49 I do work from home sometimes 10:24:57 "in the comfort of my own computer-generated reality" :) 10:25:06 heh 10:25:31 i would like to work from home.. get contract jobs over the internet or something 10:25:39 not sure how effective it would be 10:25:49 yeah, I find it kind of distracting sometimes 10:25:51 and of course, i would have to be very disclipined and organized 10:25:58 :) 10:26:39 if your company needs some work done on php or whatever, could they farm it to me ;-) 10:27:21 i'm not being fully serious 10:27:23 i'm just curious 10:27:37 i currently have a job, but it's work in a warehouse, manual labor 10:27:42 it's pretty good pay tho 10:27:53 compared to most office jobs that i could get 10:28:55 hang on, client again... 10:30:39 well, that was simple 10:32:20 :) 10:32:22 we generally don't have that much work waiting 10:32:50 though it's really stuff that could be done from wherever 10:33:34 yeah 10:34:12 we kind of have to have _someone_ technical in the office so that we can fix things when clients call with problems 10:34:17 otherwise I might work from home more 10:35:15 and I don't know that the company is doing all that well, they're only paying me $11/hr 10:36:03 but, works fine for me, I'm living with Herk and his sister, they're fun, the rent's low, and I only work 4 days a week 10:36:08 is $11/hr is good for you ? 10:36:15 hmm, 4 days a week :) 10:36:31 my job is $11.50/hr but this is in canada 10:37:17 herk works at your workplace too, doing php? 10:37:55 He's our sysadmin. Helps out with programming when he has the time and inclination 10:38:08 ah 10:38:27 but his main responsibility is making sure the computers keep running properly, backups, that kind of stuff 10:38:50 does he also work 4 days a week? 10:39:01 it was his idea :) 10:39:27 how did it work? wouldn't the boss of the company be against it or something? 10:41:29 nah, things are pretty laid back here 10:41:35 kind of a strange little company 10:41:57 so you work 4 weekdays or is it a 7 days a week company? 10:42:02 I think they've mostly had really bad technical people until we came along 10:42:11 Tuesday through Friday 10:42:25 how do they survive without you on monday? 10:42:54 there's usually nothing that needs to be done in that much of a rush 10:43:08 they call us if there is 10:43:15 ah 10:43:49 so what do you for saturday to monday? work on colorforth or play lots of frisbee? :) 10:44:17 yeah, generally a lot of computer stuff :) 10:44:34 I try to go windsurfing whenever possible 10:44:52 ah cool 10:44:56 go biking 10:45:05 mess around on my unicycle 10:45:08 play videogames, whatever 10:45:20 hmm, much more active than the average geek :P 10:45:33 heh. I'm the oldest of 5 boys. 10:45:40 have to be active to survive that :P 10:45:47 heh, true! 10:46:13 i grew up in a co-op housing called "the co-op" lots of kids there.. was pretty active until i moved out 10:46:18 then i started reading lots of books 10:46:22 and got onto computers 10:46:33 cool 10:46:35 when was that? 10:46:53 (I mean, when you got into computers) 10:47:14 moved out for grade 6, and got into computers at that time too 10:47:23 got into it fully in grade 7 10:47:28 um, that would be 12 to 13 10:47:51 the very first bbs i connected to, was coincidentally a hacker bbs 10:47:56 yeah, I got into it somewhere around that age too 10:48:01 so i got membership there and read all the hacker lore :) 10:48:05 :) 10:48:09 like ezines and stuff 10:48:10 phrack 10:48:18 BOW (brotherhood of warez) 10:48:23 hmm 10:48:25 never really did any hacking at all 10:48:29 but i did read the stuff 10:48:53 <-- no balls to hack, not willing to pay the consequences 10:49:10 there's an amusing story about BOW 10:49:30 i was reading one of the ezines, and towards the bottom they had a list of BOW bbses 10:49:36 and they had a number "266-1234" 10:49:44 which was local 10:49:49 and i phoned it 10:50:00 phoned it, disconnected, phoned it like 7 times 10:50:06 thru the modem 10:50:14 so i thought the bbs was dead.. 10:50:21 and... 10:50:25 and i was doing this at like midnight 10:50:39 and then an hour later, after i'd moved onto other stuff 10:50:47 there was knocking at the door, woke up my parents 10:50:56 and i came up from the basement (where the comp was) 10:50:56 heh. 10:51:01 and there was police officers 10:51:13 at first i didn't realize that it was because of my phoning the number 10:51:27 especially because i had gotten onto other bbses and had forgotten 10:51:42 and anyways, the police officers leave 10:51:59 because we didn't know who would phone the number 10:52:18 turns out that 266-1234 was a backdoor number to 911 10:52:30 heh, my parents didn't sleep that night 10:52:37 lol 10:52:59 they were freaked out, especially because they heard the cops moving around outside before the knock on the door 10:53:17 i slept like a log ;) 10:53:58 that'll teach you :) 10:54:02 heheh 10:54:49 i would be much more active if i had the right kind of friends around, most of my friends are inactive computer geeks.. 10:55:08 altho one guy would probably go biking with me if he brought is dang bike with him to calgary 10:55:09 heh 10:55:56 yeah, I've been much less active since I've been living with Herk, we spend way too much time doing computer stuff 10:56:08 heh 10:56:14 herk is less active than you? 10:56:38 not necessarily 10:56:57 but he seems to be able to be totally inactive for any amount of time 10:57:00 one of my computer science friends just plays final fantasy all day long, very inactive 10:57:10 yeah 10:57:13 I get restless after a while and go do something 10:57:26 one of the reasons i'm so inactive is cause i can never really think of anything to do 10:57:33 yup 10:57:52 i don't care for basketball at all, but one of my friends is really into it 10:57:54 so that sucks.. 10:58:07 i would do rock climbing if i had upper body strength lol 10:58:10 basketball, baseball, and football are boring :) 10:58:15 yeah 10:58:23 football is kinda okay 10:58:49 it's better than baseball and basketball at any rate ;) 10:58:52 except tackle football in the mud 10:58:56 ;) 10:59:00 i like soccer 10:59:06 yeah 10:59:16 soccer, frisbee, volleyball, rock climbing.. 10:59:19 biking 10:59:19 though most of the people I've played with are Europeans, so I generally get blown away :) 10:59:31 I want to try hang-gliding 10:59:33 biking in the hills 10:59:38 i want to try skydiving :P 10:59:46 that too 10:59:54 though Herk says it's kind of boring :) 11:00:07 there's a program where you are attached to an instructor, and you get to free fall on your first time 11:00:17 like 10 seconds of free fall 11:00:23 i would demand more ;) 11:00:33 heh 11:00:41 well, I have to go have a meeting... 11:01:06 ok 11:01:07 ttyl 11:04:03 hello speuler1 11:06:56 futhin: I'll idle 2 weeks straight, just to annoy you. 11:07:10 robert: do you mind if i kick you off the chan? ;) 11:07:18 Yes, I do. 11:07:19 :) 11:07:25 darn :P 11:07:33 goshawk has been idling for a loooong time now 11:07:40 232 hrs 11:07:53 hm, almost 10 days 11:08:30 Hah! 11:08:45 Wonder what the OPN record is. 11:08:53 probably 6 months 11:08:56 or something 11:09:36 >;D 11:12:00 --- quit: Robert ("leaving") 11:12:12 ahh 11:12:17 bah 11:12:44 --- join: Robert (robert@as7-1-5.kp.g.bonet.se) joined #forth 11:13:14 --- quit: Robert (Client Quit) 11:13:27 --- join: Robert (robert@as7-1-5.kp.g.bonet.se) joined #forth 11:14:16 oh 11:14:19 teasing ? 11:14:21 :P 11:14:22 So.. 11:14:35 Now I'll try to idle with this one for 2 weeks >;) 11:14:41 heheheh 11:14:54 i'll privmsg you with poetry 11:15:04 specifically, forth poetry 11:15:13 Hehe ;) 11:18:35 --- nick: Robert -> rob_ert 11:19:30 lol 11:19:36 hmm 11:19:39 i was teasing you 11:19:41 ;) 11:19:43 personally i prefer rob_ert 11:19:44 but i don't care 11:19:50 Might as well be rob_ert when I'm away. 11:19:50 i shouldn't care 11:19:52 :P 11:19:53 Hah. 11:19:54 heh 11:20:08 If you care, you should visit a psychiatrist. 11:45:29 --- join: kc5tja (~kc5tja@user-24-214-86-42.knology.net) joined #forth 11:45:43 hi kc5tja 11:45:49 Howdy 11:46:28 so do you ever work on fs/forth while at work? 11:46:37 Not sure if you were here yesterday, but I finished retrofitting my assembler and implementing MOV. :) 11:46:44 yeah i was here, heard that :) 11:46:52 and that's why i was wondering 11:46:57 Right now I do, because I need the IA-32 PDF document. 11:47:02 you said something like "took all day to implement it" 11:47:11 so i thought that meant you were working on it while at work 11:47:12 After I'm done with the assembler, I probably will resume work on it at home. 11:47:46 Yeah, I didn't have anything else to do yesterday. I have a test queued up for one of the computers in the lab, but someone else was using it first. So I have to wait for his test to finish, then my test. 11:48:05 What system is FS/Forth for? 11:48:26 I'm currently developing a version for DOS, so I can retire Pygmy Forth. 11:48:43 Nice :) 11:48:49 That version will then be used to bootstrap a version that runs on raw hardware (no OS), in 32-bit protected mode. 11:49:08 Even better. 11:49:25 That version will then fork into two: one will be used to develop Dolphin's exokernel. The other itself will fork: one for Linux, and one for running under Dolphin's exokernel. 11:49:34 I'd like to do some game programming in Forth now, tired of writing serious stuff ;-) 11:49:38 coding forth from forth should be faster than coding forth from asm eh? 11:49:43 The Linux version will then be used to implement a version for Windows NT, but only as time permits. 11:49:52 It takes about the same for me. 11:50:01 i440r _had_ to code from asm 11:50:08 wouldn't code from forth from an "impure" forth 11:50:08 Forth's environment does help, but when you have to write the assembler too, it can take some time. 11:50:30 Pygmy is "impure" by my standards too, but that doesn't change anything. :) 11:50:52 FS/Forth may also be ported to the 65816 CPU, so I can have an "operating system" read to go for when I use one in a project. 11:50:52 if you code in an "impure" forth, you can still produce a pure forth, because you control every bit that is produced and saved to a digital image 11:51:05 That's how I'm writing mine, yes. 11:51:09 an impure forth won't leave a mark on your forth 11:51:31 In addition, the assembler is written in "FS/Forth", but I have two blocks dedicated to thunking the FS/Forth words into Pygmy's equivalent words. 11:51:57 Of course, there's a limit to which I can do this, but it works for the most part. I'm really happy with the results. 11:53:04 What I really like about my target compiler is I can use it to write Forth, but I can also use it as a plain vanilla assembler too, thanks to the fact that I do not distinguish between : and CODE (in fact, my Forth doesn't even have CODE implemented -- : is the only word that creates a new executable definition). 12:03:54 --- join: CrowKiller (Vapo_Rulez@cnq5-233.cablevision.qc.ca) joined #forth 12:06:54 how would you rate this encoding scheme for a dictionary word table: (from bit 0 to bit 31) | 4 bits representing the count in chars of the words | 4 MSbits of the x-3 char | x-2 | x-1 x |; x being the last char of the word 12:07:31 using the first 4 chars can cause conflicts more often than using the last four I think 12:09:22 why not use the 1st char then last 3? 12:09:48 (what you do when you have < 4 char word?) 12:11:02 hmmm when the words are one letter long, it might cause conflicts too with either methods 12:12:13 will it? you have the letter count + the char.. can only define a single char once as a word of course. 12:13:23 also, in my editor I have 8 classes of words and in the compiler 6. Those are Space, Number, Binary, RLE,UserWord,DefiningWord, Function and Comment 12:13:47 the first two are editor only 12:13:53 each have a different color 12:14:05 proteus: hmmm 12:14:13 as separate bytes no problem 12:14:26 but i wnated to embed the count into the first char, 12:14:47 because theres no 256 letters words 12:14:49 ;ppp 12:16:05 maybe embedding the count in the last char would be a solution for a compact dictionary 12:16:47 first char, x-2, x-1 x(4MSbits), and 4 bits count 12:18:29 once a good encoding scheme is devised it could be used among all 32 bits forths 12:19:33 [count, last char] 1st,2nd,3rd chars 12:20:36 so when theres a potential match among one letter chars, just look at the next byte to get the complete char, to be sure its the correct word 12:20:43 CrowKiller: if you come up with something you like, let me know...I'm not particularly enamored of Chuck's Huffman encoding scheme 12:21:14 he's huffamn encoding his own 48 char set, i dont like that either 12:21:45 the base64 alphabet is the same in ASCII and european (cant recall the name) encoding tables 12:21:56 not its not the same 12:22:00 forget what I said 12:22:02 lol 12:23:52 i will let you know for sure 12:24:20 hmmm maybe a count and a checksum of four bits, then the first 3 chars 12:31:52 simply the first 3 chars and the last one 12:32:00 lol 12:35:46 --- nick: kc5tja -> kc-food 12:36:47 haaa i found conflicts even with that method 12:36:59 and every other i thought of 12:39:14 yeah, not easy 12:39:31 traditional linked lists 12:39:47 one byte is the offset to the start of the other word 12:40:21 ? 12:41:36 |length of word byte| *between 1 and 256 characters | byte pointed by the first;numbers of char in the word| etc etc etc 12:42:07 | length of word byte | *between 1 and 256 characters* | byte pointed by the first count; represent numbers of char in the word | etc etc etc 12:43:37 the only thing that can give me what i want is md5 lol 12:46:35 but the result is 128 bit long, i want a checksum for small strings that gives me 32 bit of output without much computational power 12:48:58 the dictionary in aha is elegant because it dont have any dictionary search, you only use references to the 4th word, or the 23 word from the top of the dictionary 12:50:08 about starflight (an old 1980's game): 12:50:09 The game took 15 man-years to build and incorporated many advanced techniques: real-time 3D flight simulation, fractally-generated planets complete with alien lifeforms, expert systems used to give intelligence to interesting characters central to the game's plot line and data compression techniques. The game was written in Forth and 8086 assembler running on DOS machines. 12:50:21 i wonder what 15 man-years means 12:51:24 no kidding? never knew starflight was forth - I loved that game. 12:52:05 what is 15 man-years? 15 men and 1 year ? 12:53:30 or 1 man and 15 years :) 12:53:36 or whatever 12:54:15 hm 12:55:56 doesn't anybody know the bigger the team, the slower? :P 12:56:18 well i suppose it gets faster up to a certain amount of people 12:56:23 My motto when I engage a new contract is "two can do the work of three... and so can four." 12:56:24 like maybe 5 people would be the fastest 12:57:00 I personally like 5 +/- 2 as a team size. Larger projects have multiple teams. 12:57:33 yeah, I always thought Brooks' 10-man team seemed a bit big 12:57:59 he was an IBMer.. you need three people assigned to attending meetings at least. 12:58:16 * proteusguy has done two IBM gigs. 13:00:53 who was an ibmer? 13:01:16 Fred Brooks of mythical man-month fame 13:01:22 ahh 13:01:31 a book which i haven't read 13:01:36 good reading 13:13:09 I'm liking these Dvorak one-handed keyboard layouts... 13:13:19 now I can eat and program at the same time ;) 13:14:24 i was wondering about getting two computers 13:14:27 and two keyboards 13:14:38 and having left handed keybaord for my left hand 13:14:44 and a right handed keyboard for my right hand 13:14:53 it could be really effective 13:15:02 but i would have to focus so hard at first 13:15:10 to achieve true multitasking in my thoughts 13:15:47 _I'd_ be impressed :) 13:16:31 i'd still try if i had money or the actual stuff in front of me 13:16:44 lemme go write this down on a card 13:16:49 i don't want to forget this goal ;) 13:18:29 <-- is starting to do some goal planning so that he can assign deadlines for his projects and stuff 13:18:46 that'll just depress you futhin... :-) 13:18:58 no.. obviously i would strive for themn 13:18:59 as long as you're not doing goal planning instead of actually working on projects, I suppose that's ok... 13:19:02 them* 13:19:21 tathi: i can't do goal planning forever :P 13:20:08 i know i talk too much and don't act enough 13:21:24 well, maybe that'll work for you, I just know it's never done much for me... 13:21:57 but today i've been clearing away some of the mess with my forth stuff, organizing all my files, so that i can get back into coding forth with pygmy 13:22:12 tathi: what kind of goal planning have you done? 13:22:51 have you done extensive goal planning that practically covers your biggest goals all the way to the small goals and all the dreams in between? 13:23:09 i went to buy flash cards because i need to just write down all the goals i have 13:23:11 and then sort them 13:23:18 and then start to build a timeline 13:23:36 hm 13:23:40 i probably should quit irc 13:23:42 for awhile 13:23:42 heh 13:35:04 I've never been all that serious about it, I guess. Just whenever I plan out the little stuff, it all changes. 13:35:30 And for the big goals, either I eventually decide I'm not actually that interested, or they keep coming back to me 13:36:06 yeah 13:36:32 what about those you are actually interested in but you procrastinate or wait too long and then it becomes invalid? 13:37:24 then I shrug my shoulders and go on 13:37:32 (I'm kind of laid back, can you tell?) :) 13:37:36 heh 13:39:37 actually, I can't think of anything right now that I've wanted that's had any kind of a deadline on it... 13:43:37 well i'm talking about basic stuff like 13:43:42 "code one forth program this month" 13:43:46 something to get me off my ass 13:43:50 and actually being productive 13:43:56 personally productive 13:46:54 when i want to code something and I lack inspiration, my vaporizer always come in handy ;o) 13:47:35 thc you mean 13:47:48 not a vicks vapo thingie 13:48:03 thc vaporizer yes, of course 13:48:57 a snip and i cant get myself to stop writing code and reviewing it again and again until no more typing mistakes are present 13:49:01 --- nick: kc-food -> kc5tja 13:49:13 tathi, the source i sent you is full of bugs and misplaced brackets 13:49:22 crow: heh, it makes you want to write code? 13:49:29 crow: do you make a lot of typing mistakes? 13:49:43 yes and yes lol 13:49:55 like jump [ebx] instead of jump ebx 13:50:17 not really typing mistakes, more like "thinking mistakes" lol 13:50:18 * futhin finds it impossible to more than the average amount of typing mistakes even when EXTREMELY drunk 13:50:33 to MAKE more 13:53:03 CrowKiller: I haven't looked at it carefully yet, so I didn't notice them 13:53:14 I was reading some stuff to brush up on my x86 assembly language first 13:53:46 hehehe ;p 13:55:02 To a certain point, the more inebriated I am, the faster I type without errors. Beyond that point, my typing goes to hell in a handbasket VERY quickly. :) 13:55:57 heh 13:56:11 when i get on irc 13:56:16 i'll say i'm really drunk 13:56:27 and then to prove it i'll make a whole bunch of deliberate typos 13:56:40 (by typing faster and clumsier) 13:57:14 because how is everyone else gonna know i'm drunk if i'm typing just fine? :P 13:57:30 i type slower than 90 wpm 13:57:31 tho 13:57:38 my max was 70 13:57:43 Hehe :) Not me. I'm a major stickler for proper English in any communications forum. I of course account for those who aren't familiar with English enough to form pristine sentences. 13:57:43 but i probably only type at 55 to 60 13:57:54 (usually these are people who do not speak English as their first language) 13:58:13 I can get up to around 95 WPM with one or two errors per sentence. 13:58:23 I used to do it without errors at all. Not sure what happened. : ) 13:58:24 :) 13:58:27 (see?) 13:58:41 well if i don't make any errors then i could type at like 80 or 85 13:58:42 * CrowKiller types using his two index fingers only, and don't know his speed 13:58:47 but i spend most of my time backspacing 13:59:00 I'm a touch-typist. 13:59:02 crowkiller: 15 to 30 wpm :P 13:59:09 i don't look at the keyboard 13:59:13 i'm a touch typist too 13:59:15 I learned to touch-type on my own, actually. Purely because it was most comfortable. 13:59:15 hell 13:59:37 i can be siting in the most weirdest position that prevents me from seeing the keyboard 13:59:42 and i can have my hands off the keyboard 13:59:48 and then reach out and hit the right key 13:59:51 without any trouble 13:59:55 heh 13:59:58 * kc5tja nods -- me too. :) 14:00:27 i make _so_ many typos 14:00:31 My roommate has a bizarre typing style. He's almost as fast as me, and all he uses is his two index fingers. :) 14:00:34 and i spend most of my time backspacing 14:00:42 He makes a *LOT* more typos than I do though. 14:00:56 kc5tja: i'm this type of typist i think 14:01:06 i should train myself to type faster, push myself 14:01:09 i stopped pushing myself 14:01:13 it's not really that big of a deal tho 14:01:21 i type faster than most people i know, good enough for me ;) 14:01:37 I see no reason for it. Once you get fast enough to where your thoughts are about as fast as your typing, then you're probably at a good speed. 14:02:13 i've got shorter chubby hands also 14:02:17 i'm the "big-bone" type 14:02:20 Sometimes I wish I could go above 150wpm though (I'd *definitely* need a Dvorak keyboard for that!), though, especially when I'm really excited and I want to talk about something quickly before I forget it. 14:02:43 lots of people say there's no difference in speed with a dvorak 14:02:47 a little discouraging 14:02:51 Not me -- I'm pretty average. Small beer-belly (runs in the family), but lanky arms. Hands are mid-sized. 14:03:03 futhin: That's not true. 14:03:23 The Dvorak derives its speed from the fact that fingers travel less distance for most words. 14:03:41 What is considered an upper speed limit for QWERTY is just "average" for Dvorak typists. 14:03:48 well my hand from the wrist to the top of the middle finger (with palm facing up) is about 7.5 inches long 14:03:51 There has not been a single typing speed record breaker that used QWERTY. 14:04:08 hm, i heard the fastest guy was a qwerty typist? 14:04:27 Nope. 14:04:28 it's not that my fingers are really short, it's just that they are thicker 14:04:41 futhin: How tall are you? 14:04:45 5'10 14:05:00 About my height (5'11") 14:05:22 i'd be taller if i lost 40 pounds and had better posture i bet ;) 14:05:58 Learn to sit in seiza -- it's unbelievably hard to do, but it's actually good for your posture in that it hurts if you sit the wrong way. :) 14:06:03 (well, hurts more I should say) 14:06:07 heheh 14:06:20 haven't heard of seiza? is that the yoga siting style? 14:06:25 s/siting/sitting 14:06:32 I'm finding myself sitting seiza more and more because it's sometimes more comfortable for me than sitting in a normal chair. 14:06:33 with the legs folded up onto each other ? 14:06:39 No, not yoga. Japanese. 14:06:50 Yoga style is called "lotus". 14:07:22 ehhh, seiza on the knees? 14:07:24 Lotus posture is pretty hard too, especially if you hold it for long periods of time. 14:07:30 my knees aren't in the greatest shape 14:07:36 Yes, seiza is on the knees and ankles. :) 14:07:42 and i don't want to screw up my knees.. 14:08:06 Sitting like that will help the knees in the long run, but you also have to exercise the knees too. It's a stretch for the knees. 14:08:09 (and ankles) 14:08:34 And between the ankles and the knees, that's how you learn where good posture is. 14:08:45 If you lean to one side, you'll feel increased pressure on one of those joints. 14:08:56 When the pressure is the same on all four joints, you know you have good posture. 14:10:00 Also, don't overdo it. Sit seiza until it hurts (which can be pretty quickly especially if you're not used to it), then sit normally. 14:10:24 If you do this often enough (at least for 2 to 3 months) you should start to see that you can sit on your knees longer, and that they'll be stronger. 14:10:56 --- quit: CrowKiller ("see you later everyone") 14:12:43 The history of seiza position is pretty interesting too. It was created specifically to hinder warriors mobility while royalty was passing through. 14:14:41 heh 14:14:46 interesting 14:14:49 limited mobility? :P 14:15:01 brb... in 2 weeks. 14:15:29 rob_ert: Where you off to? 14:15:46 If you've tried it, you'll see that it's pretty difficult to get up from quickly. :) 14:16:03 karate practitioners have my respect, as they're trained to kick from seiza. 14:16:20 hmm 14:16:28 interesting 14:16:39 That's one of the reason the Okinawans were able to defeat Japanese samuri (along with their lightning fast punches were too fast for the samuri's use of jiujitsu) 14:16:51 kc5tja: Germany, Luxembourg, Denmark etc. 14:17:32 rob_ert: Cool. I kind of wish I could tag along... :) I've always wanted to visit Germany. Maybe someday... 14:17:44 toes facing outwards? 14:17:48 in seiza.. 14:18:05 Toes face behind you ("dead toe"). 14:18:32 okay, so basically the top of the foot is touching the ground 14:18:46 Actually, proper seiza has a slight overlap of the feet (for me, the big toe works); it makes it somewhat more comfortable, and also hinders mobility still more. :) 14:19:07 Yes. 14:20:28 hmm, i can see how it can be hard to kick 14:20:34 --- quit: tathi (""laters..."") 14:20:50 first you have to get one leg up to stand off of.. 14:20:55 kc5tja: Sweden is nice too, make sure you don't miss it :) 14:20:58 or roll 14:21:20 Well, bye. 14:21:23 futhin: Even rolling is awkward; you end up crashing into your shoulder. :/ Fortunately, it's not a large drop. 14:21:28 Later rob_ert 14:21:39 heh 14:22:00 side ways roll? go sideways and use your hands to flip you up? ;) 14:22:26 You know those kneeling-type chairs for computer users? They make the claim that it's supposed to be better for your posture and all that jazz? You're really sitting seiza in those chairs, only you have a chair to support your weight instead of your ankles. 14:22:39 futhin: Yeah, it sounds easy, doesn't it? ;D 14:22:50 heh 14:22:51 Until you try it. 14:25:41 Basically, you'll find your center of gravity to be too low to efficiently pull off a good roll. The only thing you can do is lean forward, and roll across your back. 14:26:58 so how do the karate guys go from seiza to kick? 14:27:27 futhin: Brute Force. :) They practice it to build up enough leg muscle to pull it off. 14:27:48 so they put weight on the ankle and come off on that.. 14:27:49 hmm 14:27:56 I know a friend of mine in my aikido class who can do the seiza kick, and it's pretty impressive. 14:28:03 Actually, no. 14:28:09 They move the whole body forward. 14:28:23 As it moves forward, they start to roll over the knees. 14:28:36 you mean backwards? 14:28:39 At this time, one leg unfurls and snaps forwards. 14:28:42 No, I mean forwards. 14:28:48 oh yeah 14:28:51 i see it now 14:29:02 Then they sit back down into seiza after that. 14:29:07 heh 14:29:16 Now *THAT* would definitely do your knees in. 14:29:28 heh 14:29:53 Because you're putting, basically, all your body weight onto one knee for brief moments of time. 14:29:59 Great way to crush ligaments. 14:30:04 We don't do this in aikido. :) 14:30:17 you can still come up on two legs and then kick 14:30:29 We do other things in seiza, but they're just ki exercises. 14:30:37 Yes, but that takes time 14:30:47 Karate folk value speed and accuracy. 14:31:02 That's half their secret. 14:31:08 well you just do it similar, move forward, roll the ankles, get up, kick.. 14:31:33 Again, you have to lift your center of mass upwards before you actually kick. 14:31:35 That takes time. 14:31:36 i have to get up on both legs anyways for half of the rise before my leg can come out from under 14:31:50 If you are sitting, and you want to take out royalty's shins, just *whap!* it's done. 14:32:08 it's a low kick? hmm 14:32:24 Yeah, and a karateka doesn't need to rise on both legs first (well, when first training they do, but not afterwards) 14:32:35 That's what I mean by "moving the whole body." 14:32:51 It's amazing what one can do when you practice moving the hwhole body instead of just the appendages. 14:32:58 heh 14:33:07 the whole is greater than the sum of its parts 14:33:15 Yesterday, I was practicing falling in my room. Not actually impacting, but just taking my leg muscles and going immediately and sharply into total relaxation. 14:33:18 It's scary. :) 14:34:38 We do actually practice fighting on the knees in aikido, but we do it live-toe (sitting on the toes instead of the ankle) instead. That actually *helps* mobility a big way. :) 14:34:54 yeah 14:34:57 But *!!MAN!!* does it hurt for me. :( Everybody else in the class makes it look so easy... 14:35:04 They're probably just used to it. 14:35:07 heh 14:35:12 It's up on my 3rd kyu exam this coming fall... 14:35:17 hm? most people have been there longer than you? 14:35:31 I'm the second newest regular student in that dojo. 14:35:52 heh 14:35:53 We just got a bunch of new students recently, but only Vlad has been regular. 14:35:59 not much turn over i guess 14:36:00 Aikido is a hard art to follow. 14:36:24 Most people leave shortly after signing up because either they think it's frivolous and it won't help them, or because it's too hard for them to cope. 14:36:52 Learning how to fall properly took me 2.5 years of training, and I'm still perfecting my *forward* roll, let along other types of rolls. 14:37:01 I won't even begin to get into techniques. 14:37:33 2.5 years and you are 2nd newest regular? 14:37:40 * kc5tja can safely say that he's mastered ryotetori tenchinage, but literally everything else (including the most basic of techniques) are still elusive to me. 14:37:43 Yes. 14:37:50 --- quit: proteusguy () 14:37:54 Like I said, many who sign up go away after awhile. 14:38:15 We've had a reasonably steady stream of "new students" in those 2.5 years, but none has stuck with it. 14:38:31 how many regulars are there? 14:38:45 It varies between 10 and 40, depending on people's schedules. 14:38:57 what's the ryotetori tenchniage? 14:40:08 You grab my wrists with both hands (left hand to right wrist, etc.). I split my hands such that one goes towards the sky (heaven), and one goes towards my side (earth), thus taking your balance. 14:40:21 [15:38] Hey does aynone have some bugs in their OS? 14:40:21 [15:38] I'm in a bug fixing mood. 14:40:21 [15:38] heh 14:40:21 [15:39] lar1: FIX WINDOWS 14:40:22 I then take one step forward, without actually doing anything, and you fall to the ground. 14:40:40 * kc5tja laughs -- lar1 is pretty funny sometimes. 14:40:50 yeah but oink has the punchline 14:41:14 If I wanted to do you damage (e.g., crack your skull wide open), I'd walk forward, drop my center, AND push with my hands all at the same time. 14:42:24 --- join: Kitanin (~clark@h-209-91-66-234.gen.cadvision.com) joined #forth 14:42:58 hello kitanin 14:44:36 hello. 14:44:47 welcome :) 14:45:07 are you a forth coder? 14:45:12 or new to it? 14:45:34 I used to be, but the closest I've gotten recently is hand-coded PostScript. 14:45:52 i did some coding in postscript 14:46:08 i'm thinking of copying similiarities into forth 14:46:33 Oh, and (once I found a machine with AGP) I did try colorFORTH last year for a couple of months. 14:46:39 FS/Forth's 32-bit native edition will use multitasking to maintain the video display via scene graphs. 14:46:56 Kitanin: How was it? 14:47:08 * kc5tja has a computer with AGP, but it unfortunately doesn't like the choice of video card. 14:47:24 Not bad. The keyboard takes a little getting used to. I lie. The keyboard takes a lot of getting used to. 14:47:35 Unless you're used to Dvorak. :) 14:47:54 But I understand the keys actually change bindings with use. Do you find it better, worse, or just different? 14:48:03 worse 14:48:16 first thing i would do is code a keyboard handler in colorforth 14:48:24 if i wanted to do a lot of coding in colorforth 14:48:42 I'll say different. I've never been all that keen on QWERTY to begin with. 14:48:55 with the colorforth keyboard map, you have to hit 2 or 3 keys before you emit one character 14:48:56 futhin: Not always. An optimized keyboard layout that took advantage of heuristics could really reduce typing speeds. 14:49:01 err, increase typing speeds. 14:49:16 it still takes 2 to 3 keys to emit one character 14:49:26 it doesn't take advantage of a full keyboard 14:49:39 i want to be able to hit q and have q emitted 14:49:50 ColorForth supposedly supports a QWERTY mode. 14:50:03 hm 14:50:07 i'm unaware of such 14:50:13 or how to turn that on 14:50:19 Not sure how to get into it though. It's alluded to in the colorforth.com website. 14:50:22 if anybody knows, i'll be really happy 14:50:41 chuck moore's site has a todo list of such 14:50:47 don't know if he's completed it 14:51:04 Probably not. He seems to include the features that he and he alone wants. 14:53:05 Which he's welcome to do. 14:53:20 yep 14:54:14 I really must take a look at the new version one of these days. 14:55:10 is there a new version? :P 14:56:28 With even more macro optimizations. :-) 14:57:54 Yeah, he has a new version? I wasn't aware of that. :) 14:58:46 Well, July 2001. 14:59:05 * kc5tja looks forward to writing the version of FS/Forth for the 65816 CPU. :) That will be fun. I can then finally put those 65816 chips I have to use doing something. 14:59:32 Although, I'm not quite sure what I'd use them for. :) Now ain't that the stinker... :) 15:00:00 * kc5tja really wants to build his own home computer with one of those CPUs. Right down to the video and sound components. 15:00:10 It'll bring back some 8-bit and early 16-bit nostalgia. 15:03:20 That could be worth it, just for the questions from people. "What model Pentium is that?" "Your question is invalid." 15:05:07 Heheh :) 15:05:31 Well, I have 7 65816 chips, and each can go upwards to 16MHz with a good enough circuit. 15:06:05 Imagine if I picked up a lowly 1MHz 6502 to serve as a boot up/process dispatcher processor, and used the 7 65816 chips as a processor farm... :) 15:06:18 I'd get, maybe, an average of 56MIPS that way. :D 15:07:39 J00 4r3 u83r-1ee7... :-) 15:10:02 Heh, yeah. 15:11:26 * Kitanin still has the burn marks from the last time he tried to solder components... 15:11:49 ouch heh 15:12:46 I wirewrap first while the circuit is in flux, and then etch a PCB afterwards. Although, for a quick one-off circuit, wirewrapping ends up being just as good anyway. This definitely would end up being a wirewrapped circuit, I think. 15:14:42 Although I do want to make a circuit simulator package that works at the PC board level. This way I can design the PCB and the circuit at the same time. There's a lot of ham radio stuff that you just can't do with wirewrapping, and just plain needs a PCBoard to work correctly. 15:14:58 That's been one of the goals for FS/Forth, along with so many other things. 15:15:15 I _want_ to play with electronics, but all the local Radio Shacks stopped selling that kind of stuff a long time ago. 15:15:26 If everything goes according to my evil plan, I can supplant Linux on my box with FS/Forth, and I'll be a happy camper. 15:15:40 Yeah, no kidding! I'm really pissed off about that. 15:16:07 And if you order the parts from Digikey or Mouser, they're always surface mount components. Now, I can do SMT soldering, but I sure don't want to. :( 15:16:44 To whit: RS's home page advertises the latest Counting Crows CD, but bugger all for electronics. 15:27:59 * kc5tja nods 15:29:22 OK, this really sucks. I can't figure out why I'm getting chip failures on the V4 chip but not on the V3 chip... :( They're the same test, and the V4 chip should be passing them. 15:31:23 does your company make the chips themselves or sends it to another company? 15:31:49 We design it, Toshiba fabs them, then we test them. 15:32:54 ah 15:35:32 kc: if we ever built a forthos to run on a forthchip, do the whole desktop thing, make an os that competes with windows and linux, can we make it "safe" ? forth isn't a "safe" language.. but we can make it a safe language if we wanted right ? 15:40:40 futhin: No, you cannot. Forth is undeniably a dynamic language. However, you can still make a fault-tolerant system by using the CPU's MMU to sandbox a Forth process, so that if it does crash, it only kills itself, and leaves the remainder of the system intact. 15:43:16 well i was talking to air, and crush is like forth and blah, and it's safe and stuff 15:43:25 but i don't really care for crush 15:43:37 it seems too lispy i guess 15:43:50 or too procedural 15:44:00 from what little I've gleaned of it on the concatenative mailing list, it's basically a RPN Lisp, yes. 15:44:16 However, a type-safe Forth has been made; check out strongForth. 15:44:18 well it's not really lisp 15:44:21 (no relation to ARM or strongARM) 15:44:37 oh yeah, he said it was safe and it has types 15:44:43 but who cares about types 15:44:45 as for safe.. 15:44:53 surely forth can be made safe 15:45:03 coding in forth means you are coding a new language 15:45:08 so you could code a safe language 15:45:13 it might not be forth after.. 15:45:14 i guess 15:45:26 depending on the definition of forth 15:46:53 I suppose. I personally wouldn't do it though. 15:47:11 what's the disadvantage of a safe lang? 15:47:55 It just gets in the way of programmer freedom. 15:48:06 And the compiler is more complicated (like, MUCH more complicated). 15:48:16 Otherwise, there's no real disadvantage. 15:49:24 there is some concern about the safety of any os when it comes to viruses and crashability (internet security is mostly impelementation dependant) 15:50:06 so a full fledge forth os, competing with windows and linux, with millions of users and programmers.. 15:50:28 can it be a "safe" os? .. 15:50:33 C isn't a safe language 15:50:37 so it should be doable eh 15:53:11 I already said how it'd be done with Forth -- the CPU's MMU. 15:53:28 okay.. 15:53:37 so one of the cores in the 25X chip becomes the MMU ? 15:54:07 We'd probably need to devote more than one core to make it fast. 15:54:12 Maybe even a whole chip. 15:54:59 a whole 25x mmu ? 15:55:08 or one f21 ? 15:56:21 Whole 25x. 15:56:30 An MMU does a *LOT* of work per cycle. 15:56:31 ouch 15:56:58 It has to check one access against N TLB entries every clock, and if not found, it must fetch the right TLB as quickly as possible. 15:57:46 We could make things a bit simpler by just implementing a TLB mechanism, and letting the core 25x be responsible for loading the TLBs manually, but it's still not going to be very trivial. 15:58:49 heh 15:59:08 if the chips are 3 bucks each, we can't be afraid to use a whole bunch ;) 15:59:19 or even 10 bucks each 16:01:42 hopefully it doesn't get as expensive as 10 bucks each 16:02:06 Unless it includes packaging costs, it could easily exceed that. 16:09:47 Good grief... Can you imagine what a consumer-priced system built out of 25x's would be able to _do_? 16:13:15 Yup, very much so. 16:14:11 Sorry, I'd never actually _thought_ about it before... :-) 16:14:12 The 25x is neat because nearly all the pins on the chip are controlled by a C18 core. And with it being fast enough to talk to 4ns SRAM, it should be possible to make your own RISC processors with this thing. It'd put Transmeta out of business -- oh, wait...that are out of business... :) 16:14:53 they are? didn't know that 16:16:13 Did the 25x ever actually get produced? 16:16:36 only in test runs i imagine 16:16:52 :/ 16:17:28 they could do a run, which costs about $60,000 and produce 20,000 forthchips 16:17:50 or they can do $5,000 for 25 chips 16:18:11 if we got enought forthers together to pool their money, and possibly interested companies 16:18:21 we could go for the 20,000 chips 16:18:24 the wafer run 16:19:00 kc5tja: could you sneak a 25x chip design into your company's mechanism and thus get toshiba to produce one? ;) 16:19:39 No. 16:19:56 It'd cost you a *LOT* more than $60,000 for a run if we were to do it. 16:20:12 No, the 25x was never actually produced. 16:21:24 However, if that's the price of a wafer run, then the cost of the actual chip in packaged form is definitely going to be more expensive. 16:26:58 i wonder how much it costs intel to produce each chip? 16:27:07 i mean, they sell them at 100 bucks or whatever.. 16:27:28 are they marking it up from a really low price? 16:28:48 For that quantity of volume, yes. But we charge $150/chip, and we're not making that much profit. 16:30:20 pardon? 60 grand for wafer run that produces 20,000 chips 16:30:26 how much for packaging? 16:33:15 My last communique on the subject with thefox indicated that packaging can cost upwards of around $100 per chip because of the pin count. 16:36:05 what was the pin count again? 16:36:52 Cute... colorFORTH defines `oadf', so that you can type `save' on a QWERTY keyboard and it will save itself to disk. :-) 16:37:21 yeah 16:37:23 and quit 16:37:32 just in case anything gets messed up 16:37:37 Last I understood, it was a 68-pin PLCC package. 16:37:46 Hadn't stumbled across quit yet. :-) 16:38:03 Try bye instead. :) 16:38:13 I'm reading the source. 16:38:47 yeah it might be bye 16:38:48 not quit 16:38:49 i forget 17:05:19 * kc5tja sighs -- the more I work with microprocessors, the more I really appreciate the sheer simplicity of a stack architecture. 17:05:19 --- quit: Kitanin (Read error: 104 (Connection reset by peer)) 17:05:20 I may not even use the 65816 CPUs, if I can build my own stack CPU from discrete components. 17:07:22 why not just get some repogrammable chip or something 17:07:33 fpga or something? 17:08:11 Because while the chips are cheap, the programmer environments are anything but. 17:08:34 And their software only runs on Windows, and no hope of Linux support anywhere in the near future. 17:08:34 hm 17:09:41 And to be perfectly frank and honest, if I were to develop software for programming an FPGA, it'd be in Forth, and that means I'd need to get very low-level detailed documentation on their chips. 17:12:44 well maybe there is a chip out there that might be very attractive to you 17:12:52 that might fit all of your criteria.. 17:12:58 To date, I've not seen that level of commitment from Xilinx or some of the others. 17:13:07 so you have checked around already? 17:13:09 I've looked. 17:13:26 crowkiller has an interest in some chips 17:13:30 i forget what they were called.. 17:13:35 Besides, half the fun of building a CPU is working out the logic by hand, and building the circuits. 17:13:36 wasn't xilinx 17:13:44 PICs 17:13:50 Those aren't at all what I'm looking for. 17:13:55 PICS = programmable integrated circuits ? 17:13:57 Those are microcontrollers already. 17:14:03 No, just "PIC". 17:14:12 PIC16F84 and PIC16F74, etc. 17:14:17 programmable integrated circuit ? 17:14:28 I have no idea. Go to http://www.microchip.com and ask the. 17:14:28 can you simulate a forthchip with a pic ? 17:14:32 s/the/them. 17:14:41 Yes, if you wanted to wait 4 years for the results. 17:14:52 heh why? 17:15:22 They're fast, but they have little compute capability. They are really controllers, and have only the most minimal arithmetic capabilities. 17:15:29 ah 17:16:32 Besides that, they run somewhere around 20MHz, which means that the software needed to emulate a bus interface would slow the "processor" down to single-digit low MHz range, not counting the interfacing needed with other execution units. So even if you use multiple PIC chips, the circuit as a whole si going to be very slow. 17:16:33 i remembered that crowkiller mentioned Atmel 17:16:44 I checked them too. No go. 17:16:51 They're just as secretive about their stuff as Xilinx. 17:16:58 ah 17:17:03 They *all* are. 17:17:09 Even for CPLD manufacturers. 17:17:17 hmm why are they secretive? 17:17:33 They don't want clones being made of their chips. 17:17:38 what about older programmable chips ? ones that have been out on the market for 4 years or something.. 17:17:43 non competitive programmable chips 17:17:48 Ditto. 17:18:04 reverse engineering possible or extremely painful? 17:18:10 One would have to reverse engineer the programming sequence from the data going over the bus to the chip. 17:18:15 hm 17:18:16 Extremely painful for me. 17:18:30 I don't want to waste my time doing something like that. I'd rather be building and designing. 17:18:35 yeah 17:18:48 maybe i440r would be interested in reverse engineering? ;) 17:20:47 kc: how about ubicom? (last one for me to mention) 17:20:52 er 17:21:03 ubicom isn't the right kind of chip 17:21:05 ? 17:21:34 Never heard of them. 17:22:45 if chuck moore has never produced a 25x how does he know it'll work in real world? 17:25:48 Maybe he's simulated it on OKAD. 17:26:14 he produced the f21 17:26:16 Or, maybe he doesn't, and is just trying to get funding for the project. 17:26:21 so why not the 25x? 17:26:36 can we buy f21 or p21 or any of the older forthchips? 17:26:36 Because the 25x came later than the P21 (Jeff Fox produced the F21) 17:26:53 I don't think so. Not enough demand to sustain chip production. 17:27:09 Talk to Jeff about acquiring an F21. He told me it was about $150(+?) for one. 17:27:15 what about novix 17:28:22 yeah i'll ask him 17:30:13 What about them? 17:31:28 aren't there any availble/produced 17:31:44 Chips are everywhere. 17:31:48 That is not the problem. 17:31:52 Programming the chips is. 17:32:45 --- join: CrowKiller (Vapo_Rulez@cnq5-233.cablevision.qc.ca) joined #forth 17:32:56 what's the problem with programming the chips? 17:33:11 They don't publish the specifications. I thought we already went through this. 17:33:19 i'm talking forthchips 17:33:20 (Not openly at least) 17:33:33 you are talking programmable chips 17:33:37 I don't want to use a Novix -- I want to use my own. :) 17:33:40 yeah 17:33:50 the novix is 4000 gates 17:34:06 --- join: XeF4_ (~xef4@217.78.192.92) joined #forth 17:34:11 * kc5tja wants to explore the concept and techniques of using asynchronous logic. 17:34:12 i'm merely curious about the forthchips available out there, especially the really cheap ones 17:34:21 xef4_: what was your topic suggestion? 17:35:06 futhin: "topic suggestion" I made a passing comment about the topic >2 weeks ago. 17:35:07 xef4_: i read the logs occasionally 17:35:13 yeah 17:35:20 you were gone for awhile 17:35:29 or i wasn't on at the same time 17:35:41 so what was the suggestion? 17:35:46 i missed it 17:35:55 i'm just curious, the topic kinda sucks i know 17:39:06 now I remember... there was a #forth topic convention held in Ivalo, over a hundred of us debated for 80 hours straight and we decided the topic must change. 17:39:19 we'll reconvein next month to decide what it should change to 17:39:19 cool! :P 17:39:41 well sorry if i appeared to attack you or something 17:40:25 or if i didn't warm you up first by saying "hi! xef4" and then saying "how are you doing?" and then saying "oh heyyy, i remembered, i was reading the logs and you had a topic suggestion to make? what was it? :)" 17:40:44 but i guess i'm tired & lazy or something 17:40:49 plus i've been on irc all day 17:40:55 so it tends to make me crazy 17:42:42 but whatever! let's all be hostile and then get drunk! wh00t! 17:43:33 does anyone got an idea on the best way to build a forth dictionary on a 32 bit system? 17:44:57 the adress part is pretty starightforward, but the word part... I mean there must be a better way than a linked list 17:46:19 * futhin has suddenly gotten too tired to finish his email to jeff fox. bah 17:49:49 futhin: you didn't appear to attack, but asking about a topic suggestion for an IRC channel >2 weeks afterwards is a bit peculiar 17:49:59 well it was more like 1 week ago 17:50:10 not more than 2 weeks i don't think? 17:50:19 (well i checked the logs about a week ago anyways) 17:50:23 I think we disapointed Jeff and Chuck; they must be very busy, or lacking a complete sense of community perhaps ;p 17:50:42 crowkiller: why do you say that? 17:51:17 how many pins on the f21/p21? 17:51:37 if the 25X chip was reduced from 68 pins to 64 would that make packaging cheaper ? 17:51:38 I keep coming on this chan because its interesting; if it wasn't, I would not come back. 17:52:16 * futhin makes the chan eccentric, everybody else makes it forthy ;) 17:52:26 actually, that's a lie 17:52:34 onetom was the best 17:52:44 i emailed him today asking him where he is, i miss him 17:53:02 when chuck moore doesn't respond to emails 17:53:15 and when onetom has been gone for so long (and his server is down) 17:53:47 i start worrying if any accidents have happened 17:53:57 heh 17:54:07 and that's unusual for me, i don't worry about people ;) 17:57:56 well bah 17:57:59 i emailed jeff 17:58:34 Wow, this is pretty cool. I'm almost done implementing the majority of CPU integer instructions in my assembler. 17:58:48 i hope you wont implement the floating point ones 17:58:52 Currently working on RCL/RCR/ROL/ROR/SAL/SAR/SHL/SHR. 17:59:07 Not until I need them, but frankly, I don't see a reason why I shouldn't. 17:59:24 If the chip offers a resource to me, why not use it? 17:59:57 * kc5tja may even consider using the MMX and SSE(2) extensions for faster memory moves in the future. 18:00:26 a forth using mmx might be interesting, but is quite highly unportable 18:00:33 what the hell, on ultratechnology jeff fox is saying that the chips are 1 buck a piece etc etc manufacturing costs.. that sounds like packaging included, but i guess they must be talking about 1,000,000 chips produced at a time 18:01:07 if i were coding a forth os, i think i would be inclined to assume forthchips would be made 18:01:14 and then code the forthos with that in mind 18:01:25 futhin: code your forth os on a virtual machine 18:01:30 yes 18:01:30 like chuck did for his colorforth 18:01:46 the forthchip assembly lang would be the virtual machine 18:01:49 but stick 100% to the chip capabilities 18:01:57 to have 1:1 code 18:02:07 and then i'd port the forthos to x86 and the other cpus.. 18:02:12 but would it be slow? 18:02:15 is that the cost? 18:02:19 can i make it fast? 18:02:35 its fast 18:02:35 the runnning speed of the os on x86 18:02:48 would it be slow if i use a 100% machineforth virtual machine? 18:03:00 IFFFFFFFFFFFF you need the speed give yourself the trouble ofwriting assembly 18:03:25 but for the simplicity acquired, even if its a tad slower, it doesnt matter very much 18:03:39 try it 18:03:43 its dead easy 18:03:56 the os has to be portable and it has to run fast enough to make users happy when it runs on an x86 18:04:23 * futhin envisions users buying the forth os, installing it on their intel computers, becoming very happy with it, and then switching over to a forthchip computer 18:04:38 why buying it? 18:04:41 --- join: tathi (~josh@ip68-9-68-213.ri.ri.cox.net) joined #forth 18:04:48 hi 18:04:55 hey 18:05:20 tathi, i havent resolved my 32 bits per word dictionary problem yet lol 18:05:34 :) 18:05:52 yeah, I thought about it for a while this afternoon and didn't come up with anything either 18:07:44 I'll have to dig out TAOCP and see what Knuth has to say about hash functions, maybe that'll help :) 18:08:46 Crow: with 32 bits per dictionary entry? 18:09:37 can you just not store the source tokenized with dictionary references as relative pointers? 18:10:13 that at least smoothes out the dictionary search overhead because the dictionary is searched when the user types in the sources 18:11:19 hmm 18:15:06 You can use a ternary tree to store the dictionary contents. Searching the dictionary is an O(n) problem (where n is the number of characters in the search word, and NOT the number of dictionary entries) plus O(m) (where m is the number of duplicately named words in the dictionary; almost certainly going to be zero in most cases). 18:15:24 I was going to experiment with this technique in a later version of FS/Forth. 18:16:10 --- quit: XeF4_ ("kalja alkaa toimimaan.. nyt koodaamaan") 18:16:40 I was also going to experiment with using skiplists as well (searching a skiplist, on average, takes O(lg n) time, but has a worst-case time of O(n) like a linked list). It therefore has similar performance to a B-tree, but is substantially easier to manage. 18:16:43 FPC doesn't have S" ??? 18:16:52 futhin: FPC isn't ANSI Forth. 18:17:01 Use " instead. 18:17:08 hm 18:17:13 FPC is F83. 18:17:18 xef4: i use that method for the compiler, but for the editor, i cant program using numbers only 18:17:25 or maybe I could after all lol 18:17:52 i had trouble understanding skiplist, veen with the pseudocode lol 18:17:58 kc: how do i clear screen in f83 ? 18:18:20 futhin: I don't know if there is a standard way to do it in F83. You can try CLS or you can try PAGE. 18:18:31 Other than that, I don't have an answer for that. 18:19:38 for that problem I thought of using the four first bits as a count for the length of the word, the following 4 bits as the MS bits of the first char, the second char, the third char and the last char of the word 18:20:04 kc5tja: how do i open a file in pygmy heh (i've forgotten..) 18:20:05 but it can cause conflicts 18:22:09 nevermind 18:22:24 kc5tja: a ternary tree, is it like typing D then R then O, and as each step a search is made, and when theres no more words starting with those letter a match is found (drop in this ex.)? 18:25:21 oh my god, this is so cool! 18:26:06 rob_ert: image.f owns!!! 18:32:59 rob_ert: it messes with my putty program 18:35:06 futhin: " file.scr" OPEN 18:36:02 hm, gforth doesn't have ?KEY 18:36:06 what do i do? 18:36:13 Use KEY? instead? 18:36:15 i want to test for KEY 13 = in a loop 18:36:15 oh 18:36:25 CrowKiller: More or less, yes. 18:36:31 mixed up the ? location 18:36:35 :) 18:37:02 so: KEY? IF KEY 13 = THEN inside a loop ? 18:37:44 Are you doing any processing at all, or are you just sitting insie a loop? 18:37:55 I ask because KEY will block if no key data is available. 18:38:09 i don't want to block 18:38:20 there's processing 18:38:25 In that case, that'd be good. 18:38:48 : main begin key? if key 13 = then until ; 18:39:30 damn, it's now causing the program to quit 18:40:01 backtrace says ?brance 18:40:04 er ?branch 18:41:15 weird, commented out the code and it gives me same prob 18:41:16 heh 18:43:57 heh, i'm rusty 18:44:00 silly little bug 18:46:29 : main begin begin process key? until key 13 = until ; 18:46:44 naw, it's fine now 18:46:52 the bug was i wasn't leaving a 0 for the until 18:47:30 : main begin process key? if key 13 = else 0 then until ; 18:47:36 that's what i got.. 18:47:38 Right. I proposed my solution as a work-around, and would produce slightly more efficient code. 18:47:52 (not that efficiency is an issue, ... ) 18:47:53 yours is more efficient? IF is bad? 18:48:03 efficiency is always an issue ;) 18:48:26 ANY control flow is considered "bad" because it flushes the CPU's pipelines on a misprediction. Including UNTIL. 18:48:33 (i would always be happy to know which coding techniques is more efficient) 18:48:44 However, mine doesn't do needless comparisons. 18:49:10 It waits until a key is available in the innerloop, and only when available does it drop into the outter loop, where a test for carriage return is made. 18:49:25 yeah.. 18:50:04 is there any possibility of jumping to the begining of the inside loop from the outside? 18:50:06 like 18:50:53 --- join: jade (~clark@c-24-30-254-190.va.client2.attbi.com) joined #forth 18:51:19 : main begin begin LABEL process key? until key 13 = JUMPTOLABEL until ; ? 18:51:23 hello jade 18:51:41 kitanin 18:53:03 : main begin LABEL process key? until key 13 = dup IF JUMPTOLABEL THEN ; 18:53:27 kc5tja: i wouldn't normally code like that 18:53:32 but is there that possibility? 18:54:59 futhin: BEGIN designates a backward label already. AGAIN is an unconditional jump to the innermost label, and UNTIL is a conditional jump back. Why bother with LABEL and JUMPTOLABEL? 18:55:38 so we have AGAIN 18:55:39 ok 18:56:29 : main begin process key? until key 13 = IF AGAIN THEN ; 18:56:31 is that valid? 18:56:43 No. 18:57:13 If the user hits the RETURN key, then and only then will it branch back into the loop. That's precisely the opposite of what you wanted. 18:57:32 In addition, the AGAIN is unpaired with the BEGIN statement; there's an IF statement in between them. The code is unstructured. 18:57:47 heh 18:57:56 so there's nothing more elegant than 18:58:09 : main begin begin process key? until key 13 = until ; 18:58:12 ? 18:58:23 Afraid not -- at least not that I'm aware of. 19:00:12 If you were to run this code through some hypothetically perfect Forth compiler, it'd produce the following code: 19:00:17 _main: 19:00:22 CALL _key? 19:00:31 crap 19:00:33 _main: 19:00:37 CALL _process 19:00:40 CALL _key? 19:00:47 OR AX,AX 19:00:52 JZ _main 19:00:59 CALL _key 19:01:02 CMP AX,13 19:01:11 JNZ _main 19:01:13 RET 19:02:21 yeah 19:02:37 um, is there two different ways to execute code.. one is a CALL and the other is a ? 19:02:54 Define "execute code?" 19:03:10 eh 19:03:13 there's jump too 19:03:31 --- part: jade left #forth 19:03:40 i vaguely recall some forth model that avoids using CALLS or something because the speed decrease in saving the stack or something 19:03:41 You can call a subroutine, you can jump to it, or you can invoke a well-known OS entry point via an interrupt. In protected mode, you also get task gates and call gates. 19:04:02 Pygmy does that -- they're called direct threaded Forths. 19:04:11 isn't jumping to a subroutine better ? 19:04:21 The innerloop consists of two instructions, given the "Instruction Pointer" is in the SI register: LODSW, JMP AX 19:04:33 Depends. 19:04:40 Now-a-days, there's really not that much difference. 19:04:53 But back when the 486 was big, the difference could be quite noticable. 19:05:15 okay 19:05:36 there's three models.. direct-threaded, indirect-threaded and another one? 19:05:44 subroutine-threaded? 19:05:46 Yes. 19:05:54 Subroutine threading is a degenerate form of native code. 19:06:12 Or, I should say, native code is subroutine threading with additional support for inlined primitives. 19:06:14 indirect threading & subroutine = makes calls to subroutines ? 19:06:20 No. 19:06:26 er 19:06:26 doh 19:06:33 indirect threading is two jumps? 19:06:39 one to a table or something 19:06:50 heh 19:06:57 Indirect threading is when the address of the word stored in the dictionary doesn't actually point to its execution address, but to a variable that contains its execution address (e.g., in the word header itself) 19:07:06 Direct: 19:07:07 let me just come out with the _real_ question.. which threading model is the fastest? 19:07:09 LODSW 19:07:11 JMP AX 19:07:13 Indirect: 19:07:15 LODSW 19:07:35 MOV BX,AX 19:07:40 MOV AX,[BX] 19:07:42 JMP AX 19:08:05 There is no answer to that question without additional information. What CPU (SPECIFICALLY) are you coding for? 19:08:32 And, optionally, what operating mode are you concerned most with. 19:08:38 operating mode? 19:08:56 16-bit, 32-bit, real mode, protected mode, ...etc...? 19:09:10 All that influences the final performance. 19:09:34 well lets assume a Forth OS for a forthchip (lets say... F21) 19:09:40 For modern processors with branch prediction logic, subroutine threaded is definitely going to be the fastest. 19:10:00 pentium/amd = subroutine threaded fastest? 19:10:06 For Forth processors, subroutine DEFINITELY is the fastest, since that's what they're optimized for. :) 19:10:14 really??? 19:10:33 All Forthchips have at *MOST* single-cycle subroutine call overhead. 19:10:35 doesn't a CALL involve saving the registers and stuff 19:10:43 hm 19:10:50 What registers would a Forthchip have to be saved? :) 19:11:03 A register? D register? 19:11:09 B register 19:11:15 the stack? 19:11:21 lol 19:11:21 Stack is on-chip. 19:11:38 Some of them are in RAM, but who cares? The stack has already been updated by the time the subroutine call is discovered. 19:12:25 A and B registers in Chuck's chips are "modal registers" -- they are superstate that the user program typically doesn't care about, or whose contents is global to the whole CPU. 19:12:34 If the user wants to preserve A or B, they can do it themselves. 19:14:42 In all of Chuck's Forth environments, he never preserves the contents fo the A or B registers. They're scratch registers, for use by the word when it needs them. After invoking another word, their contents are effectively undefined. This basically means that A and B are often used only in the innermost loops for speed. 19:15:15 ok 19:15:31 the data stack must be used for something ;p 19:15:43 i assume there's no such thing as real mode and protected mode with forthchips? 19:15:50 no need 19:15:58 No, there isn't. 19:16:26 Unless someone decides to add hardware memory protection facilities to a Forthchip and decides to keep it disabled at boot-time for backward compatibility purposes. 19:16:41 heh 19:16:45 okay 19:17:42 so if i were coding a forth os, and i wanted it easily portable across all sorts of architectures, and i used a MachineForth virtual machine, would i keep this forth/forthos subroutine threaded ? 19:18:17 kc5tja: you didn't really comment about the advantages/disadvantages of a machineforth virtual machine when crowkiller and i were talking about it.. 19:19:16 simplicity is the main advantage 19:19:50 with a loss of performance as the main con 19:20:34 a virtual machine enables you to compress your code, much like zip-like compression 19:20:54 a small quantity of information means a lot more 19:20:58 futhin: Subroutine threaded? Absolutely. 19:21:08 and if you want tight code you must take that path ;p 19:22:01 CrowKiller: MachineForth still expands to sets of x86 instructions on the x86 -- it's not as big an advantage as it is on the x21 architectures. 19:22:24 if the forth os is on a virtual machine, and is running on a pentium computer, it might be slower, however, overall, it's code will be tighter and more compact and hopefully competitive.. 19:22:47 Yes. 19:22:50 BUT!!!!! 19:22:53 :) 19:22:59 yes but its lot easier to express 32 primitives than using the billion (??!) possible x 86 instruction 19:23:18 billion is in the joke number range btw ;p 19:23:39 If you were willing to permit some complexity in the virtual machine's implementation, you could perform dynamic code recompilation, so that the MachineForth instructions are compiled at run-time (and cached of course) into native x86 instructions. 19:24:30 Basically, you'd treat the CPU's memory as code pre-cache (VM -> x86, then x86 -> RISCops) 19:24:32 i am attempting eaxctly that, JIt compilation for everything 19:24:34 kc: and that'll speed it up? :) 19:24:47 huh?? 19:24:54 x86 to RISCops ? 19:24:58 That'll get you the performance of native code (minus some small percentage for translation). 19:25:05 * kc5tja sighs -- don't you folks keep up with the times? 19:25:05 futhin: read the paper on history of ahah by Jeff fox 19:25:10 <-- does not 19:25:20 All x86 CPUs today do NOT directly execute x86 opcodes. 19:25:28 hmm 19:25:36 They translate the opcodes into RISC instructions for execution inside the CPU's execution units. 19:25:38 they must break it in risc ops to get more speed at every new geenration 19:25:42 so the new cpus are RISC now or something? interesting 19:25:43 These RISC instructions are called RISCops. 19:25:54 i would love to be able to suplly those to the processor directly 19:25:59 very interesting 19:26:06 ther emust be a backdoor utilized by the governemnt or something lol 19:26:11 CrowKiller: The K5, you could. :) They removed that with the K6 and later, though. 19:26:29 you're kidding me lol 19:26:31 kc5tja: so are you doing this? are you doing the MachineForth VM and translating to x86 ? 19:26:34 never heard of that 19:26:39 AMD K5 19:26:41 i assume 19:26:46 In fact, NexGen pioneered that technique, and when AMD purchased NexGen, they released their next generation chip as the K5. 19:26:56 and i've done quite a search on riscops and microinstructions of the microcode of the pentiums 19:27:06 The K6 and K7 (aka Athlon) do not have an exposed RISCop instruction set, however. 19:27:38 K8 (Opteron; aka "Hammer") also does not, as far as I know. 19:27:47 damn it lol 19:28:40 I was talking with the creator of the Steamer16 (whose CPU is so simple it fits in a CPLD!), and his CPU can keep pace with a comparably clocked 386. 19:28:48 Not bad for a CPU with only 8 instructions. 19:28:58 But, alas, his code takes up a lot more memory too (even with the packed instructions) 19:29:43 And since his CPU doesn't have subroutine support at all (literally; he has a 3-deep data stack on chip and that is IT), we got to talking about code morphing techniques. His chip is almost ideal for that application. 19:30:12 genetic programming can be done easly ona chip like that 19:30:18 So imagine instead of using really wide RISCops, one had a super-fast x21 clone at the core of an "x86" CPU, where x86 instructions are translated into x21 instructions. 19:30:31 Genetic programming can be done on any architecture. 19:30:59 easly in term of required computing power 19:31:11 I stand by my comment. 19:31:17 Genetic programming is anything special. 19:31:23 s/is/isn't/ 19:31:57 hm? doesn't x86 translate rather poorly to x21? 19:33:07 Well obviously I'd have hardware support for some of the more advanced features of the x86... 19:33:25 For example, the x86 register set would be exposed, in hardware, to the x21 core. 19:33:38 I shouldn't say x21 -- use MISC instead. 19:34:11 hm 19:36:22 aaaaah I desesperately need an efficient dictionary structure before begining writing my editor 19:36:48 CrowKiller: Why not just write it using a linked list first, then optimize later? Early optimization always kills good ideas. 19:37:25 Besides, if the editor pre-tokenizes the source, who cares how long it takes the computer to resolve a word in the dictionary? By the time the user releases the spacebar, it'll be resolved. 19:38:53 the memory footprint for my Red Dictionary (primitives), if it uses a linked list, will be very small 19:39:33 each word is written like dup, drop, */, *, /, +!, etc etc etc 19:40:01 it fits easly into 32 bit, since none of them are more than 4 chars 19:41:24 but for the Green Dictionary (user words), I want to give them the freedom to use up to 16 chars per words, the minimum being 1 char 19:42:18 maybe a small (perfect) hashing.. something has to do the trick to enable me to have a dictionary of two 32 bits wide arrays of equal length 19:42:29 I want something elegant lol 19:43:21 for the red dictionary, its easy, 3 first letters and count, thus I have only one array of DWords to manage 19:43:42 There isn't anything like that. 19:43:50 Hashing results in collisions. 19:44:09 i saw a paper on perfect hashing algos im trying to download it 19:44:48 http://citeseer.nj.nec.com/cachedpage/297128/1 19:45:01 black and white images are quite fast 19:45:31 i hate reading trhough that though 19:45:38 i want examples lol< 19:47:05 ha I think its not what i'm looking for 19:47:41 i can rarely ever read those papers 19:47:44 they are annoying 19:47:54 and a pain to absorb information from 19:48:23 if intellectuals wrote simpler instead of trying to look good to their community, the world would be a better off place :P 19:48:31 linked list will be the way I think 19:48:58 but I want something better ;p 19:49:12 A "perfect hash" would have to have an equal amount of cells as possible values. That defeats the purpose of hashing. 19:50:04 i need something like md5 or sha-1, but with less bits, for 16 chars or less strings 19:50:13 You're using a linked list for the dictionary? Fair enough. Traditional forth systems don't use linked lists. 19:50:27 Here, I'll give you a C function that makes for reasonable distribution. 19:50:33 may go up to 32 bits of "digest" 19:50:46 128 or 160 bits is too much 19:51:18 int hashstring(unsigned char *str) { 19:51:18 long hash = 5381; 19:51:18 int c; 19:51:18 while (c = *str++) 19:51:18 hash = ((hash << 5) + hash) + c; 19:51:19 return hash%tablesize; 19:51:21 } 19:51:24 Fractal: Yes they do. Pygmy uses them, and GForth uses them with hashing. 19:51:59 Ok. I believe that (it's a good way of doing it), but Polyforth doesn't. 19:52:26 What technique do they use? Is it exclusively hashing? 19:52:36 Polyforth simply writes dictionary words in sequence in an array. 19:53:12 But scanning the dictionary is still done sequentially. There's no speed advantage to doing that. 19:53:47 Well, you don't have to do as many pointer resolutions... 19:54:09 Same number of resolutions by my estimation. 19:54:24 You need to dereference the array to find the word header, then dereference the name field of the header. 19:54:31 Woah, are we comparing searching through an array versus through a linked list? 19:54:34 Unless the whole header appears in the array. 19:54:50 Yes, it does. 19:54:52 CrowKiller wants a fast method of looking through the dictionary. 19:55:09 That's what started this comparison of algorithms. 19:55:18 It used a similar technique as crowkillers: 3 chars and the length. 19:55:21 IIRC, Polyforth is also indirectly threaded too... 19:55:25 my user dictionary for any program is 128 entries long, so for the address part, 512 bytes is the maximum length, plus 128*16 (2048) bytes equals 2560 or A00h bytes 19:55:30 That array is critical for that purpose too. 19:55:33 Yes, threaded and multiuser. 19:55:49 Each user has his own array then. 19:56:02 Yup. Own dict, stack, and r-stack. 19:56:04 And an entry into that array is a capability to use that word. 19:56:12 so the Green Dictionary can't get larger than 2560 bytes 19:56:24 futhin: There you go -- that's how you can enforce security in a Forth environment. :) Capabilities to the rescue. 19:56:45 eh! :) 19:57:30 fat array, rougly 6-7x the compiler size lol 19:57:57 Well, if you really wanted security in a forth environment, you'd have to introduce an actual memory management system, as opposed to forth's ad-hoc "let the user handle it". 19:58:19 I would only have a very complicated compiler 19:58:40 that woudl refuse to compile and execute packaged source code if it doesnt satisfy conditions 19:58:41 kc5tja: i was wondering about sharing cpu time and ram and harddisk space online.. like if a person isn't using his computer fully (like is sleeping or whatever), he could leave his computer on all night, and provide resources of his computer online for a buck an hour or whatever .. 19:58:57 futhin: its grid computing 19:59:04 the playstation 3 will use that 19:59:21 and you can do it, but a lot of issues arise 19:59:25 mainly with privacy 19:59:43 because "every protection can be screwed up in the digital realm" 19:59:57 only a matter of time 20:00:16 CrowKiller: Capabilities, excluding OS bugs, are proven to be impenetrable. 20:00:20 It's called distributed computing, few problems exist when implemented properly, and is already not only possible, but quite ubiquitous, see SETIonline, RC5 crack and others at www.distributed.net 20:00:36 * kc5tja nods 20:01:01 kc5tja: maybe capabilities, but data can be sniffed, decrypted, examined changed erased etc 20:01:04 Grid computing does have "something" different about it over the normal computing methods, though -- exactly what those are, however, haven't been publicized. 20:01:19 im sure its like forth linda 20:01:44 CrowKiller: Not unless you have the capabilities to do that sort of thing. Sure you can wiretap, but that's nondestructive. And Diffie-Hellman key generation ensures man-in-the-middle can't happen. 20:01:45 trowing requests on a network, and receiving responses, all anonymously 20:02:28 sharing computer ressource in a "cooperative" could be very sexy lol 20:02:37 kc5tja : Not true. A does diffie helman with a baddy, the baddy does DH with B, and then the baddy relays all messages between the 2. 20:02:38 more members = more power ;p 20:03:16 kc5tja: ssl can be attacked easly unless theres autentification 20:03:39 CrowKiller: By the time it's cracked, the important data will have already been dispatched and processed. 20:04:02 auth is needed because monkey in the middle can always happen, unless datta transfers over quantum optic fiber lol 20:04:11 CrowKiller: SSL isn't able to be real-time decrypted, UNLESS you're using a Microsoft implementation of it, where they're stupid enough to re-use keys. 20:04:33 CrowKiller: MIM can sniff all he wants! Without the key, he gets only garbage! 20:04:46 Or netscape's implementation of it, where they're stupid enough to use a crap PRNG. 20:04:58 if he get the two keys when they are excahnged, he can see it all 20:05:20 very easly done if spoofing a gateway on a local network ;o) 20:06:44 CrowKiller: Then don't transfer the keys!! Use Diffie-Hellman and ZKPs to generate the key and verify authentication. 20:07:20 kc5tja : DH doesn't prevent against man in the middle attack. Sorry. 20:08:01 Fractal: I'm not saying to use DH alone -- use it in conjunction with ZKPs. 20:08:12 What the hell is ZKP? 20:10:10 Ah. Google helped out. Zero knowledge proofs. 20:10:49 heh 20:11:14 google should be omniscient, the moment a person thinks "what the hell?!" google gives you the answer 20:12:11 Hehehe :) 20:12:31 Ah yes, a quick consultation to Applied Cryptography has refreshed my memory. ZKPs won't prevent a man in the middle attack either. Without any other means of exchanging keys, or side channel type effects (like being able to recognize somebody's voice), the man-in-the-middle attack is impossible to stop. 20:12:35 futhin : Heh. 20:12:38 the omnimind of North-America, its primary tool of getting knowledge, centralisation gives me the creeps sometimes lol 20:12:52 i have the book applied cryptography 20:13:00 Good book. 20:13:03 borrowed it off a friend but haven't read it for a year 20:13:05 heh 20:13:08 Second edition? 20:13:11 haven't read it yet 20:13:14 and i've had it for a year 20:13:18 poor friend ;) 20:13:41 Well, I didn't read my calculus text last semester, but I know what edition it is. :) 20:14:19 yes it's second edition 20:14:33 Cool. Open up to page 101. 20:14:51 Fractal: If that's the case, then we should all-together stop worrying about it, and just accept its possibility. 20:14:53 Section 5.1: Zero-Knowledge Proofs 20:15:00 No point is fretting over what we cannot prevent. 20:15:09 fractal: the way i read books, i was going to read applied cryptography in a few sittings.. 20:15:16 kc5tja : Exactly. In practise, man-in-the middle attacks are very difficult to carry out. 20:15:44 CrowKiller: There you go. Basically -- don't worry about MIM attacks, because you can't do a doggone thing about them anyway. :) 20:16:17 * kc5tja should purchase a copy of that book, since that has a vague influence on what my job entails. 20:16:41 hm 20:16:43 i should read that book 20:16:47 i dont worry about monkey in the middle attacks, i use them sometimes lol 20:17:05 Even inserting packets into a specific TCP/IP connection is difficult (unless you 0wn their ISPs router), much less being able to completely hijack a connection. 20:17:10 i love so much saying monkey-in-the-middle, i think its the Dsniff packages that uses it 20:18:28 mim is easy, mirro all the traffic from the two sides and think of a way of exploiting the protocol 20:19:05 mirror* 20:19:18 Yes, Man it the middle attacks on the internet are very difficult to carry out. Sniffing is another matter altogether, which is where DH can help us. 20:19:51 im talking on a locla network, on the inetrnet its infeasible 20:20:06 unless you own the router ;pp 20:20:15 like you said lol 20:20:20 :) 20:20:42 I should hope you trust the people on your own LAN, otherwise there's no hope for you. :) 20:23:25 Hmm....I'm going to have to code a unit test package for my assembler pretty soon. 20:23:57 Actually, that is a good point: the #1 cause of security breaches in the world stems from inside a protected domain, and not outside it. 20:25:17 Well, then just run floppy disks with your keys on it then, for chrissakes! 20:25:32 Heh. 20:25:50 if the machine you are on steal your jey, what do you do? ;ppp 20:26:00 key* 20:26:52 Actually, that's not profitable. With zip disks especially, sneakernet yields *MUCH* higher bandwidth than any LAN could, unless you're dealing with 10gigE networks. The con is that it has high latency. :) 20:27:12 Since you gain the benefit of physical security to boot, you might as well just carry the data payload itself. 20:37:32 my dynamic edit time dictionary is 2560 bytes max, the static one is 256 bytes max, at compile time the dynamic one is 512 bytes max and the static one is in the 256 bytes range 20:38:00 Now why did Intel have to go braindead when creating the TEST instruction?! 20:38:23 the static dictionary and time to process it can be eleiminated on a forth chip 20:38:32 the compile time's static dictionary 20:39:05 It's *just like* any other ALU instruction *EXCEPT* that it doesn't support the reg,imm form. It only supports r/m,imm form. Now I have to implement another copy of the ALU code, minus support for reg,imm, just for this ONE instruction. Idiots. 20:40:55 kc5tja: do you have the appendix b with the instruction format near you? 20:41:08 i see test have support for reg, imm 20:41:18 page B-16 20:41:39 No, it has support for r/m,imm, but not reg,imm 20:42:37 Notice that SUB has 7 modes, while TEST has only 5. 20:44:03 "immediate and register" doesn't mean the same thing as "reg, imm" ? 20:44:39 Look closely: it's the same encoding as "immediate and memory". 20:44:58 In Chapter 3, you'll see that it supports TEST r/m*,imm* (F6 /0 i*) 20:45:49 the only thing that differ from sub in two two encoding for immediate, register is the s bit 20:46:30 is it what's bothering you? 20:47:14 That breaks everything. 20:47:40 i had to manually encode and AL, BYTE 0xFF in NASM because he could not switch the s bit off 20:48:00 Because if I were to say $1234 #: cx sub, it'd use the reg,imm form. Since TEST doesn't have that form, it'd emit an illegal opcode. 20:48:03 im lucky he gave me a warning on that one 20:48:40 If I defined TEST to use the regular ALU code, it'd definitely emit a wrong opcode for that ONE case; for everything else, it'd work. 20:48:42 Idiots. 20:49:47 you mean if you were to try to encode a test with the s bit set to zero it would hang? 20:53:00 It will be a completely different instruction. 20:58:59 Cool. The only remaining instruction to implement is XCHG, and the 16-bit assembler will be complete. 20:59:12 After this, I need to work up some test-cases for it. 21:03:28 The whole assembler, in Pygmy Forth, is less than 8KB in size. 21:03:37 (7647 bytes to be exact) 21:04:09 Oh, I forgot XCHG code. :) That will probably bring it to just over 8KB worst-case. 21:04:42 lol its quite small for a complete assembler 21:05:02 16bit nasm is 181k compiled or something like that 21:05:06 Yeah, I'm pretty pleased with it myself. 21:05:57 what is the weight of the compiled code? 21:06:09 The opcode emission engine is logically separate from the instruction handlers, so I can bolt on additional instructions after the assembler has been loaded too. 21:06:16 What do you mean "weight?" 21:06:19 size ;p 21:06:24 I just told you. 21:06:32 compiled is 8kb lol 21:06:38 Yes. 21:06:52 The source is only 38KB in size (38 screens) 21:07:05 kk! 21:09:46 --- join: voider (voider@142.217.234.200) joined #forth 21:11:57 hi voider 21:12:04 hi 21:12:36 are you all forth coders? 21:13:15 Yes, but don't hold that against us. 21:13:30 :) 21:14:01 ;) 21:14:16 i know nothing about forth 21:14:35 ah, what brings you here? :) 21:14:47 crowkirl ;) 21:15:07 but i like these 2 word on the topic: x86 asm 21:15:13 :P 21:15:37 heh 21:16:14 he lives in the same region as me, and he's a forth skeptic. told him to hang around to hear from it by himself 21:18:44 OK, I just finished my 16 bit assembler. :) 21:18:50 XCHG is now fully implemented. 21:19:35 7891 bytes compiled, up from 7647. 21:20:20 It's funny to think that the XCHG code took 244 bytes of memory, but the reality of it is, most of it is Pygmy's dictionary header overhead. :-( 21:20:25 err :-) even 21:21:28 Source size is 39936 bytes, in 39 screens. 21:22:06 i'll try to write my own assembler when my editor is finished 21:23:01 ill try to come up with better numbers ;o) 21:23:20 Well, Pygmy compiles at a rate of 40KB of code per second, roughly. 21:24:42 I mean a 16bit assembler for x86 smaller than 8kb is my goal, its the smallest I know 21:25:35 i'ts cool 8 kb for an assembler 21:25:51 Yeah, and it's not terribly the most compact Forth either. 21:26:41 one of you can give me a detailled description ok forth? 21:26:44 I used a lot of small definitions with long names. :-) It makes the dictionary overhead much greater. 21:26:59 Depends on what level you're talking about. 21:27:26 Forth *literally* is an assembly language for a hypothetical dual-stack architecture. 21:28:54 From an applications writer point of view, Forth is like C, in that it's a low-level language that can talk directly to the system's underlying hardware (e.g., it's a systems programming language). But unlike C, it can be made arbitrarily high level. 21:29:47 From a systems programmer point of view, it's a language runtime and/or operating system environment. Different variations of Forth are available, and many Forth systems today support its own multitasking (even under non-multitasking OSes). 21:30:21 Most Forths use cooperative multitasking, and achieve benefits and performance comparable to preemptive systems. Some Forths that require the utmost in reliability have been made to use preemptive multitasking as well. 21:31:00 From a users perspective, Forth is, like Unix, a command-line environment and "built-in" programming or scripting language like BASIC was on the old 8-bit computers of the 80s. 21:31:20 So, really, Forth is a lot of different things all at the same time. It's really hard to pin down what, exactly, it is. 21:31:28 Even Chuck Moore himself can't decide really what Forth is. 21:34:38 :) ok thx 21:36:23 OK, this is cool. My assembler and target compiler both fit into Pygmy's memory just fine, and I'm pretty well aways off from corrupting the data stack. :-) 21:36:27 This is a good thing. 21:36:37 Forth got 4 times: Design time, Edit Time, Compile Time and Run time. Its always better to put things that take computing power/ressources away from Run time into the other phases. Following this simple rule define Forth to me. 21:36:42 PygmyForth, BTW, is a 16-bit Forth for MS-DOS. 21:37:26 Since it's no longer being maintained, I'm writing my own Forth implementation for DOS (since my laptop can't handle anything more powerful than that!). 21:37:50 And that version will allow me to bootstrap a 32-bit raw hardware version of it. 21:37:54 I have two 286 laptops, so i might try your stuff when its ready ;p 21:38:05 CrowKiller: I'd be happy to share. 21:38:25 My assembler is "done", but it hasn't been fully tested yet. I'll take a day or two off, and then write up the unit tests for it. 21:38:58 Until then, I can't guarantee correctness of the code it generates. But all of my simple tests seem to suggest that it'll work fine. 21:39:54 I'd be happy to test ;p 21:40:16 Maybe, if I'm lucky, I can get rid of DOS on my laptop completely (I'll keep FAT lying around because it's convenient). I figure using GRUB to boot the 32-bit FS/Forth environment off the FAT partition. 21:42:19 I'm not sure how I'm going to support graphics on it though. :( I can't find the chipset documentation anywhere on the net. All I know is that it's some kind of Cirrus Logic chipset, but that's all I know. 21:42:22 Oh well. 21:42:32 I'm going home now. I'll be back online in around 30 minutes or so. 21:42:39 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 21:48:14 --- quit: voider ("Thinking about a new OS? Visit www.etrop.ca.tc :P") 22:13:48 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 22:13:51 back 22:13:58 wb 22:14:32 what subject would your engines go underneath at a site dedicated to making knowledge accessible? 22:15:27 I'm sorry, I dont understand that sentence at all lol 22:15:47 it was aimed at kc 22:15:48 heh 22:16:57 oh okok 22:21:56 http://www.jbum.com/idt/index.html 22:22:01 really strange site 22:22:37 The Druids were also the inventors of the operating system RUNIX, which ran most of the software programmes on their 22:22:37 machines. 22:22:37 The RUNIX operating system is believed to have included either a compiler or interpreter for the "R" programming language. 22:22:39 lol 22:23:32 last quote: 22:23:33 crowkiller: it's all bullshit? :P 22:23:34 Dr. Tunalu believes that the absence of physical evidence of a Druidic laptop machine in any of the Museum collections of the 22:23:34 world may be the result of an organized conspiracy among the Museum curators, who, like the Druids before them, are 22:23:34 conspiring to keep the great secret of Celtic computational power hidden to the lay public. 22:26:48 crowkiller: lol, that whole site is a joke 22:26:54 right? 22:28:34 Sorry; I was in the bathroom. 22:28:56 dont know, its surely a joke 22:29:12 what intrigues me is the "scren output" of the videogame 22:29:31 without more details it looks like a hoax but its funny 22:30:03 futhin: I'm not sure I understand the intent of the question. I'm not at all sure how I would categorize my stuff. 22:30:42 i'm just wondering where the subject "engine" would go in a website directory full of subjects 22:34:52 Hmm...maybe, so as to distinguish it from other types of engines (e.g., graphics engines etc), "prime movers" would be what they're filed under. 22:37:19 heheh 22:37:56 http://www.jbum.com/idt/spandex.html lol 22:38:05 --- join: MrReach (~mrreach@209.181.43.190) joined #forth 22:38:14 hihi! 22:40:10 Hey, wow...that's a name I haven't seen in a while!! 22:41:02 good to see you, too 22:41:14 how goes? 22:42:05 Going is good so far, especially for FS/Forth. 22:42:22 I just completed FS/Forth's 16-bit 80x86 assembler for use in the target compiler. 22:42:31 cool 22:42:40 did you include 32 bit capability? 22:42:46 No, but it's expandable. 22:42:56 when do we get to see it? 22:43:01 When I have the memory to do it, I'll add 32-bit support. :) 22:43:15 oh? what are you memory limitations? 22:43:40 It's designed to compile under Pygmy Forth for the time being, since it's going to be used to bootstrap the first version of FS/Forth for DOS. 22:43:51 So it has to co-reside with other Pygmy stuff, including its own assembler. 22:44:18 * MrReach nods. 22:44:28 What's wrong with pygmy's assembler? 22:44:39 missing opcodes? 22:44:46 It compiles to 7891 bytes (from only 39 screens!), but the target compiler is also over 16KB in size itself (16KB for the target buffer size, plus about 6K for the rest of the code) 22:44:56 No, it's unmaintainable. 22:45:02 And it's not my code. 22:45:12 I agree ... pretty cryptic 22:45:24 --- join: proteusguy (~irc@24-197-147-197.charterga.net) joined #forth 22:45:29 but I've yet to see a readable forth assembler 22:45:37 Not only that, it emits opcodes *immediately* instead of stockpiling the requisite codes into buffers, for emission by a single word (i, in my assembler's case). 22:45:37 greets, proteusguy 22:46:08 hmmm ... the prefixes might be immediate 22:46:08 MrReach: A lot of the assembler's unreadability stems from the x86's lack of logical construction. 22:46:29 I can't imagine most opcodes are, because there is quite a bit of info to accumulate 22:46:38 oh, is your assembler prefix? 22:46:55 What I mean by "immediately" is that there are C, and , statements peppered throughout Pygmy's assembler. That makes it utterly impossible to redirect the output of the assembler into a temporary buffer. 22:46:58 No. 22:47:00 It's postfix. 22:47:12 * MrReach nods. 22:47:20 No, the opcodes emit. They have to -- that's how the state is reset for the next instruction. 22:47:37 But what I'm trying to get at is the accumulation of state and the emission of the opcodes are logically separate in my assembler. 22:47:40 right 22:47:52 ok, gotcha 22:48:11 It's not in Pygmy's. So adding 32-bit support to Pygmy is quite difficult, while in mine, it's relatively easy (it's still not a walk in the park, but 80% the infrastructure is present and waiting) 22:49:37 what you *CAN* do is defer , and c, before loading the assembler 22:49:55 then you can set them to place data wherever 22:49:58 * kc5tja shrugs -- futile. It's still not my code. :) 22:50:08 yes, and undecipherable 22:50:43 Well, I can decipher it; that's not terribly hard once you get used to his coding conventions. 22:50:58 when I wrote my subroutine threaded forth, I used pygmy's assembler, and redirect H to point at a target memory image 22:51:38 it took a bit of twiddling to get target addresses figured out, but I eventually figured it out 22:52:19 See, that was the first thing I did with the target compiler (it was originally supposed to use a machine forth variant). 22:52:30 --- quit: CrowKiller ("Enslavement is not an option") 22:52:37 Since I'm ripping out the MF stuff and dropping the assembler in its place, it's already pretty modular in that respect. 22:52:54 MF? 22:52:58 Machine Forth 22:53:03 oh! ok 22:54:45 I also found out that Pygmy compiles about 35K to 40K of source per second using blocks on my laptop. 22:55:02 (486DX33, Toshiba Satellite T2100) 22:55:24 I'm kind of hoping that my Forth does a little better than that. :) 22:55:29 heh, just bought a 486DX today 22:55:51 for the case, gonna throw away the motherboard 22:55:56 Hehe :) 22:56:02 8 bay server tower 22:56:12 Wow, nice. Probably won't fit an ATX board though. 22:56:36 my P200 isn't an ATX motherboard 22:56:41 Ah, I see. 22:56:45 That makes sense then. 22:57:13 the P200 has 128MB ram, 20GB hd in two drives 22:58:02 My laptop has an overwhelming 8MB of memory, and a 250MB harddrive. :) 22:58:06 it runs the voicemail, fax modems, scanners, web server, DNS cache, http proxy and print server for my LAN 22:58:28 OOo...and a breathtaking 64 shades of grey on the beautiful "paper blue" LCD display. ;D 22:58:35 But at least it's 800x600. 22:58:37 * MrReach laughs. 22:59:02 I've got a P90 laptop with 16MB ram, 800Mb of drive 22:59:02 --- join: XeF4 (~xef4@h-192-92.suomen2g.fi) joined #forth 22:59:06 it's nearly useless 22:59:10 Color? 22:59:14 What OS does it have on it? 22:59:16 yes 22:59:22 Win98 right now 22:59:47 I just wish I could find the programmers specifications for the chipset in my laptop. 23:00:02 But they don't appear to exist, so I'm going to have to reverse engineer the settings. 23:00:23 I'm actually thinking of integrating the laptop into my pickup 23:00:34 (basically set the BIOS video mode I want, then read the VGA register settings while under DOS, then plug them into FS/Forth so it can restore the video settings itself) 23:01:01 * MrReach nods. 23:01:12 you intend to graphics work with it? 23:01:16 Yes 23:01:40 What could would it be in your truck, MrReach? 23:01:52 erm, good. 23:01:59 <-- slightly drunk. 23:02:01 huh? you mean "What would it control?" 23:02:11 I think that's what I'm trying to say. 23:02:19 I'm tempted to get that way myself, but got *WAY* to much to do tomorrow 23:03:09 * kc5tja is glad that Forth is finally moving away from text-only console applications, and into the realm of graphical environments, as ColorForth demonstrates. I hope FS/Forth will be the second to successfully make that transition. 23:03:59 it would sense the fuel gages, speed, vacume, throttle position, air temp, ambient air pressure, and control fuel mixture, timing, EGR valve, and the throttle position for cruise control 23:05:17 MrReach: That reminds me. My friend and I are pitching in to get ourselves a hobby mill, and maybe even a lathe to match (we're definitely getting the mill first) 23:05:24 and do what with that information? 23:05:45 So we plan on making a real metal version of the Tesla turbine, along with a few other engine types (such as an attempt at a real Wankel rotary, some Stirling engines, etc) 23:05:56 that's presuming I moved over the intake manifold and equip from a MPFI engine of the same size (i.e. a more recent year) 23:06:18 MPFI? 23:06:27 (FI=Forced Induction, but what's the MP mean?) 23:06:47 Oh, my mistake. Multi-port fuel injection. 23:06:51 MPFI = Muti-Point Fuel Injection 23:07:36 XeF4: if you reread, you see a list in inputs to the computer, and a list of actuators 23:08:34 aha. <-- also slightly drunk 23:08:45 kc5tja: it may seem extreme, but the pickup is a keeper ... rather rare ... and I intend to make it my project truck 23:09:04 MrReach: I'm not saying it's extreme at all. I have no problems with the concept. 23:09:31 I'd love to take the Wankel out of my car and equip it with a 100HP turbine engine, for no other reason than to do it. 23:09:38 That, I think, is extreme. 23:09:45 (Tesla turbine of course, of my own design) 23:09:45 I think I might have serious problems trying to port the standard computer over into a new truck that doesn't have all the inputs 23:09:59 * MrReach laughs. 23:10:17 I'm serious. :) That's one of my (probably pie in the sky) goals. 23:10:32 --- quit: proteusguy (Success) 23:10:38 well, all the stuff would be standard equipment until it got to the ADCs 23:11:40 just bought the p/u a month ago, and I quite happy with it except for milage 23:12:11 * kc5tja would like to find a Mazda REPU someday. 23:12:19 Those are total collectors items these days. 23:12:25 REPU? 23:12:44 Rotary Engine Pick Up -- basically a B1500 with a Mazda 13B rotary engine. 23:12:54 oh! 23:13:04 that would kick 23:13:21 5 speed? 23:13:21 There's someone in San Diego who has one, and drives it fairly often. 23:13:30 I don't know -- I think it's automatic, actually, but I'm not sure. 23:13:38 that would have LOTS of overlap in the gear ratios 23:14:15 Well, there are people today who drop 13B REWs (255HP!) into VW Vagabons and buses. :) The engine's quite small enough to fit just right. 23:14:24 (considering it's a water cooled engine!) 23:14:34 heh 23:15:15 think I'll stick with more conventional engines, much more freedom of choice 23:15:27 a water cooled engine that uses water as a source of energy by using catalysts to separate the oxygen and hydrogen ! 23:15:37 * MrReach resists the urge to pur a rum-n-coke 23:15:51 arg! 23:15:51 futhin: A jet engine is air cooled for the most part. 23:15:54 * futhin doesn't have any alcohol available :( 23:15:55 heh 23:16:04 * kc5tja doesn't WANT any alcohol right now. 23:16:14 --- join: proteusguy (~irc@24-197-147-197.charterga.net) joined #forth 23:16:15 Irritable bowel syndrome is acting up, and has been for the last couple of days. 23:16:18 * MrReach shakes his head at "The hydrogen economy" people 23:16:39 Don't shake your head -- the automotive industry is moving headlong in that direction. 23:16:58 well with OPEC being stupid as usual, we had better get away from gas 23:17:26 first of all, cracking water requires energy ... practically more energy than it returns ... so the oxy/hydro is only useful as a means of storing energy 23:17:26 (or it isn't being stupid, but then, i haven't been following the news) 23:17:48 Mazda demonstrated a dual-intake 13B MSPRE engine that burns hydrogen; they reported far fewer problems with it than the nearest competing piston engine. 23:17:59 and, as a means of storing energy, raw hydrogen *SUCKS* ... big times 23:18:01 MrReach: Of course. 23:18:30 MrReach: Actually, it doesn't suck "big time." 99% of the losses you think are in storing it are really losses from *making* it in the first place. 23:18:44 it's explosive with oxygen in almost ANY proportion, requires extreme heavy tanks to store, simply will NOT liquefy 23:18:46 The remaining 1% is hydrogen leakage from the containers. 23:19:03 --- quit: futhin (Read error: 104 (Connection reset by peer)) 23:19:04 --- join: futhin_ (thin@24.64.175.61) joined #forth 23:19:04 nono, I meant in simple storage and transport of hydrogen 23:19:22 MrReach: And unlike gasoline, H2 does **NOT** linger after combustion. It flashes, and you're done. Gas, OTOH, will linger, settle onto anything, and readily spread a fire. 23:19:34 well, that's true 23:19:43 H2 is far safer a material from a handling standpoint than gasoline is. 23:19:52 there was a cell thingie 23:19:54 that separates water 23:19:56 but I'd rather have a gasoline fire than a hydrogen fire any day 23:19:58 futhin_: Snake oil. 23:20:00 or something 23:20:02 i can't remember 23:20:03 Not me. 23:20:09 Because H2 fires simply don't exist. 23:20:10 well it might've been the other way 23:20:16 it might've been hydrogen stored 23:20:24 and then it forms water 23:20:28 which is emited as vapor 23:20:49 wouldn't that be a problem in -40 weather? heh 23:20:54 futhin: there are catalysts that bring the hydrolysation of water nearly into the practical range now 23:21:17 sorry, electrolysation of water 23:21:39 actually, I'd have no prob with methane or propane as storage mediums 23:21:48 but they require a carbon cycle 23:22:17 Neither do I, but I personally prefer ethanol, citrus oil, or peanut oil if we're going to continue to use hydrocarbons. Those are far more renewable. 23:22:45 futhin_: right, burnt hydrogen is water ... but it generally produces mass heat ... which allows you to vent to exterior w/o worry of freeze up 23:22:54 Citrus oil is *amazingly* flammable. It's more volatile than ethanol, I recently learned. Ever read a citrus oil MSDS sheet? It's scary. :) 23:23:09 can't say I have 23:23:24 Peanut oil is, of course, Diesel fuel. 23:23:32 but I've squeeze orange peels into a lighter to make little flash-fires 23:23:36 yup 23:23:42 (Mr. Diesel's original engines ran directly on peanut oil, and that was his #1 wish for it.) 23:24:53 I remember reading a website on a bunch of people who bought an old Mercedies Diesel car, and with NO modifications to the engine, decided to just dump vegetable oil into the fuel tank. Amazingly enough, it worked fine. :) It did have problems cold-starting though, but once started, ti was just as reliable. The exhaust smelled like french fries (typical also of modern "bio-diesel"). 23:25:00 kc5tja: there is a guy driving around the USA in a diesel Vanagan, running it entirely on vegatable oil from fast food deep fry vats (he screens and processes it himself) 23:25:15 * kc5tja nods 23:25:52 I mean, that stuff is amazing to me. I wouldn't use the Diesel cycle in my engines, because they produce way too many byproducts as a result of the 25+:1 compression ratios, but to direct ignite it at a lower pressure ... good stuff. 23:25:57 as I understand it, he had some probs with the rather nasty alkalis that he needed to process the veg oil 23:26:02 but that can be overcome 23:26:38 I think there's a transesterification technique that doesn't use alkalis, IIRC. Forgot what it was though. I think they have a link to the process used on http://www.biodeisel.org 23:27:01 http://www.biodiesel.org -- it'd help if I could spell right. 23:27:27 futhin_: actually, we are much more likely to use catalyst fuel cells to turn the hydrogen directly to electricity and then use that in a hybrid car 23:28:30 it's becoming more and more efficient (both the fuel cells and the motors) ... and allows us to recover braking energy 23:28:39 One of the things I'd like to do is make a turbine powered go-kart for SCCA Solo-II autocross racing. I am waffling between making it an EV or a mechanical direct-drive. 23:28:55 hmm 23:28:56 EV? 23:29:01 effect vehicle? 23:29:07 Turbine -> DC generator -> electric motors 23:29:18 ah! electric vehicle 23:29:22 also known back in the 50s and 60s as the "electromagnetic transmission." 23:30:12 --- quit: XeF4 ("pois") 23:30:12 kc5tja: what are the best hydrogen cells running at now? 93% or something? 23:30:33 that would put a practical cell at maybe 70-80%? 23:32:08 I don't know. I don't keep up on it often enough to tell you. 23:32:42 if you have a 70% eff fuel cell, and a 50% eff elect motor, you're at 35% efficiency ... *WAY* better than even the best gasoline engine 23:33:12 but the fuel is exotic and difficult to produce/transport 23:33:23 that would be either hydrogen or methane 23:33:30 Some gasoline engines (not sure if they're automotive or stationary) achieve 35% efficiencies. I think they're stationary engines though. 23:33:51 yes, single speed engine 23:34:13 See, this is why I like the Tesla turbine in particular. Among turbines, it's unique in that it has excellent low-end torque characteristics. 23:34:28 (It's disadvantage is that it has relatively high mass compared to other turbines) 23:34:32 what's different about the tesla turbine? 23:34:45 It's bladeless. 23:34:54 You know those circular pizza cutters? 23:35:21 Take one and place it under a running faucet, such that the circumference just touches the water stream. 23:35:21 is that a type where the reaction occurs on the perimeter of the disk? 23:35:26 It should start to spin. 23:35:35 Yes, it's a radial turbine. 23:35:42 ok, gotcha 23:35:53 Now imagine 16 to 32 of these pizza cutters, spaced about 1/20" apart... ;D 23:36:15 I have a spreadsheet at work that lets me design Tesla blowers. Turbines work the same but in reverse. 23:36:17 yes, they would have much better low-end torque characteristics 23:36:31 btw, davinci drew up one of those, steam powered 23:36:39 My PT-45A paper turbine provides 450mW of shaft power, average, from dead stop to operating speed, in a single human breath. 23:37:11 DaVinci drew up everything... He's old news. :D 23:37:18 heh 23:37:41 That's a turbine with 8 discs, **NO** sealing of any kind, with air being delivered through a 3/8" plastic soda straw. 23:37:47 who has built these? 23:37:53 Commercially? Nobody. 23:38:01 experimentally 23:38:04 (Well, not as turbines; they're used for pumps sometimes) 23:38:18 Discflo's pumps are obviously Tesla inspired. 23:39:06 I'm sure someone has built experimental perimeter reaction turbines to study their characteristics 23:39:16 the Navy if no one else, for sure 23:40:45 I can see a couple of serious engineering hurdles 23:40:49 "The largest machine to be constructed was of 500kW, and was made by the Allis Chalmers Company of Milwaukee, USA with whom Tesla had a working agreement. This machine was tested using steam as the medium, and as a single machine, without the use of a condenser or as a multi-rotor combination unit; hence, the efficiency was not fully exploited, but even so the results were impressive. It was Tesla's intention to incorporate a multi-stage rotor 23:40:49 and condenser, this obtaining the maximum thermal efficiency from the system." 23:42:05 what is the practical efficiency obtainable? 23:42:11 "The original machines, when examined after testing, were found to have stretched discs due to inertial forces, and were subject to criticism by the Allis Chalmers engineers. The stretching was very likely to be due to the choice of steel for the discs, which probably had a low yield point and resistance to creep." 23:42:36 These turbines are no better or worse than typical gas turbines. You get from them what you put into them, engineering wise. 23:42:36 yes, that is one of the engneering hurdles I was speaking of 23:43:04 the other is the rotating coupler where the working fluid is delivered to the disk 23:43:05 I'm not a pro-Tesla uber-conspiracy theorist who thinks everyone's out to get Tesla. 23:43:18 Rotating coupler??? 23:43:25 The inlet nozzle doesn't budge. 23:43:59 the medium is probably not created within the disk itself 23:44:18 so the fluid must be introduced to the disk in some manner 23:44:36 probably with high-rotational speeds and high temperatures 23:44:37 http://www.angelfire.com/mi3/gmpr/ptbc12b.htm 23:44:50 Umm...no. 23:44:53 It's a radial turbine. :) 23:45:03 Just like a bladed one from that point of view. 23:45:23 It has an external combustor/expansion chamber, and the pressurized gas is delivered to the discs through a stationary inlet nozzle. 23:45:24 where is the working medium introduced? 23:45:31 oh, ok 23:46:08 The URL I posted has pictures of my paper (450mW producing) turbine. 23:46:36 (though, it now rides on ball bearings and lives in a nice, octagonally shaped rotor housing, and not the cardboard contraption shown in the pictures) 23:46:50 (but it's still the same ol' Chicken and Broccolli turbine!) 23:48:57 And again, that 450mW is *average* -- if I kept up the RPMs, I'm positive it would have done between 0.9 and 1.2W of power at the shaft. 23:50:05 ok, I see what you're talking about now 23:51:01 yes, that might become VERY efficient, the fluid exits with nearly zero velocity, and the wings can be designed for the expansion of the working fluid in mind 23:51:42 * kc5tja nods 23:52:01 it would be interesting to build one of those for low-head water applications and see how it compares to a pelton turbine 23:52:16 The turbine delivers maximum torque when the gas velocity is twice the circumfrencial velocity. So with computer monitoring, and good throttling control, it should be able to deliver a kick-butt and very wide power-band. 23:52:55 * kc5tja nods -- I'd be interested in hearing the results too. 23:53:23 My interest in these turbines stems primarily in the fact that I can actually build one. :) (Unlike bladed turbines, which require *VERY* costly and hard to manufacture bladed rotors) 23:53:45 * MrReach thinks about routers and plexiglas 23:54:31 with water, there's really no compression or expansion ... so the wing shape is not so critical 23:54:33 And if you replace the inlet nozzle with a guide-vane system, you can use these axially to get additional power. With the 3/8" diameter straw, I could fit 33 inlet "nozzles" around the turbine that way, basically threatening a massive 35W at the gas speeds and pressures I was working with. 23:55:17 At still higher pressures, the turbine could deliver upwards of a horsepower or so. 23:55:24 of course at higher RPMs too. 23:55:48 yes 23:56:17 I wish you'd think "water", though ... more practical applications ... and easier to measure input power 23:56:32 Water requires very, very, very close disc spacings 23:56:50 (for maximum efficiency that is) 23:56:58 why is that? 23:57:02 Viscosity. 23:57:24 If the discs are too far apart, you get a lot of slippage between the material and the rotor (like a slipping clutch in a car) 23:57:31 I should think that the mosr viscous the fluid, the father you'd want your disks 23:57:41 to reduce surface area 23:57:43 The distance between any two discs should be twice the boundary layer thickness. 23:59:48 http://www.angelfire.com/mi3/gmpr/ptbc16e.htm has a description of the design equations with respect to this. 23:59:59 --- log: ended forth/02.07.31