00:00:00 --- log: started forth/05.11.11 00:07:28 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 00:45:24 --- quit: amca ("d34d") 00:51:03 --- quit: airbrush ("Client exiting") 01:45:33 --- join: aum (n=aum@60-234-156-82.bitstream.orcon.net.nz) joined #forth 01:57:12 --- join: Raystm2 (n=Raystm2@adsl-69-149-40-30.dsl.rcsntx.swbell.net) joined #forth 02:13:20 --- quit: Raystm2_ (Read error: 110 (Connection timed out)) 02:47:14 --- join: Raystm2_ (n=Raystm2@adsl-69-149-32-19.dsl.rcsntx.swbell.net) joined #forth 02:58:20 --- join: Raystm2- (n=Raystm2@adsl-69-149-36-111.dsl.rcsntx.swbell.net) joined #forth 03:03:05 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 03:13:29 --- quit: Raystm2_ (Read error: 110 (Connection timed out)) 03:26:43 --- join: amca (n=plump@as-bri-3-229.ozonline.com.au) joined #forth 03:46:00 --- join: Raystm2 (n=Raystm2@adsl-69-149-47-133.dsl.rcsntx.swbell.net) joined #forth 03:57:31 --- part: aum left #forth 03:58:54 --- quit: Raystm2- (Read error: 110 (Connection timed out)) 04:14:49 --- join: amca_ (n=plump@as-bri-1-157.ozonline.com.au) joined #forth 04:18:47 --- join: Topaz (n=top@cerberus.saywell.net) joined #forth 04:35:47 --- quit: amca (Read error: 113 (No route to host)) 04:36:17 --- nick: amca_ -> amca 05:05:22 --- quit: amca ("d34d") 05:09:32 --- quit: Topaz (Read error: 110 (Connection timed out)) 05:10:22 --- join: Topaz (n=top@sown-86.ecs.soton.ac.uk) joined #forth 05:45:26 --- join: PoppaVic (n=pete@0-1pool72-77.nas24.chicago4.il.us.da.qwest.net) joined #forth 05:45:39 G'day 06:13:00 --- quit: Topaz ("Leaving") 07:06:03 --- join: Raystm2_ (n=Raystm2@adsl-68-93-123-169.dsl.rcsntx.swbell.net) joined #forth 07:12:15 --- join: Raystm2- (n=Raystm2@adsl-68-93-123-169.dsl.rcsntx.swbell.net) joined #forth 07:12:15 --- quit: Raystm2_ (Read error: 104 (Connection reset by peer)) 07:21:08 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 07:36:31 --- join: Topaz (n=top@sown-86.ecs.soton.ac.uk) joined #forth 07:51:06 --- quit: Topaz ("Leaving") 07:51:23 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 07:52:12 lo, tathi 07:59:56 Hi 08:01:02 ANy more action on yer ficl-type or ficl? 08:09:56 --- join: chris2 (n=chris@p549D378B.dip0.t-ipconnect.de) joined #forth 08:11:33 --- nick: Raystm2- -> nanstm 08:17:40 I'm getting there. But at least another 3 days before I have it really working. 08:19:08 Cool enough. Glad to here something is being done. I'm pretty sure that using C as the low-level, common-interface, is here to stay. 08:20:38 Really? Seems to me like compilers for other languages are finally starting to happen. 08:21:42 sure, but everyone still has to reach object, prolly via asm, and they would WANT to touch C - that generates asm - so, I am not fleeing. 08:21:56 But yeah, creating something as ubiquitous as gcc would probably take...well, as long as it took gcc. :) 08:22:27 right, at least C - gcc is a plus (and do NOT shovel in asm() amidst a C file. 08:41:06 --- quit: PoppaVic ("recycles before the ISP") 08:42:56 --- join: PoppaVic (n=pete@0-2pool198-61.nas30.chicago4.il.us.da.qwest.net) joined #forth 09:00:14 --- quit: nanstm (Read error: 104 (Connection reset by peer)) 09:02:17 --- join: Raystm2 (n=Raystm2@adsl-69-149-59-129.dsl.rcsntx.swbell.net) joined #forth 09:04:00 --- join: virl (n=hmpf@chello062178085149.1.12.vie.surfer.at) joined #forth 09:12:42 hello gents, 09:12:53 hi ray! ;-) 09:13:55 well, my code is starting to attract a bit of a following, (if only for testing/reporting). And, tathi has maybe 3 days before his code is testable. 09:16:14 http://rafb.net/paste/results/0aZxWh74.html 09:16:19 see above, ray - added some new code. 09:16:55 SZOFF[NORM,PACK] is new - sorta' interesting everywhere 09:18:10 ..it tests two structs of the same types, with unpacked and packed attributes 09:19:58 Also been talking with lisper-C folks... I think this mess is all suitable for forthish interp, (if I get to it). 09:22:47 I'm also looking over sexep this week. Something has to give. 09:25:10 cool, PoppaVic, soon as I get a little break here.... 09:25:46 np, it's all experimental 09:26:38 the "cheer" component is that a slutware (slackware) user seemed to get as good a result as my MacosX powerbook. 10:03:46 --- quit: PoppaVic ("Pulls the pin...") 10:22:24 --- join: Raystm2_ (n=Raystm2@adsl-69-149-55-5.dsl.rcsntx.swbell.net) joined #forth 10:39:48 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 10:54:17 --- quit: chris2 ("Leaving") 11:18:38 --- quit: Raystm2_ (Read error: 104 (Connection reset by peer)) 11:22:53 --- join: Raystm2 (n=Raystm2@adsl-68-95-254-213.dsl.rcsntx.swbell.net) joined #forth 11:43:33 --- quit: warpzero ("leaving") 11:43:47 --- join: warpzero (n=warpzero@wza.us) joined #forth 11:46:28 --- quit: warpzero (Client Quit) 11:47:43 --- join: warpzero (n=warpzero@wza.us) joined #forth 12:12:54 --- join: Raystm2_ (n=Raystm2@adsl-69-149-57-17.dsl.rcsntx.swbell.net) joined #forth 12:16:39 --- join: ecraven (n=c3036ccc@evolution.cyanidehosting.net) joined #forth 12:17:54 hey all 12:19:17 is there any literature on how to compile languages like Scheme (or C for that case..) that use local variables for a pure stack machine? how to schedule stack movements? 12:24:22 --- join: snoopy_17 (i=snoopy_1@dslb-084-058-184-013.pools.arcor-ip.net) joined #forth 12:29:21 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 12:37:55 --- join: Raystm2 (n=Raystm2@adsl-68-93-123-153.dsl.rcsntx.swbell.net) joined #forth 12:40:59 Hmm...I've only seen stuff going the other way. 12:41:16 (stack languages compiled for register machines) 12:41:43 --- quit: Snoopy42 (Read error: 110 (Connection timed out)) 12:41:50 --- nick: snoopy_17 -> Snoopy42 12:46:13 err...actually, I think I'm being stupid. 12:46:30 You usually parse a language into a tree-like intermediate representation. 12:46:45 From that you should be able to easily generate code for a stack machine. 12:48:28 And...prefix notation as in scheme is really just backwards from postfix notation. 12:50:00 think Scheme with the operations at the end of the parens, instead of the beginning, if that's any help. 12:50:27 I still don't know of any specific literature on the subject though. 12:50:32 * tathi leaves to run errands 12:53:24 --- quit: Raystm2_ (Read error: 110 (Connection timed out)) 12:53:46 you might try asking in #concatenative 13:22:04 the problem is finding the right order to execute stuff so i need as little stack movement (ROT,DUP etc.) as possible 13:30:30 Surely the order is largely dictated by the source being compiled? 13:33:21 --- join: GW1-2005 (n=GW1-2005@12-208-98-237.client.insightBB.com) joined #forth 13:56:54 --- quit: GW1-2005 (Remote closed the connection) 14:28:56 --- join: Raystm2_ (n=Raystm2@ppp-70-248-33-34.dsl.rcsntx.swbell.net) joined #forth 14:29:10 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 14:43:57 --- join: Raystm2 (n=Raystm2@ppp-70-243-217-184.dsl.rcsntx.swbell.net) joined #forth 15:00:37 --- quit: Raystm2_ (Read error: 110 (Connection timed out)) 15:05:21 --- quit: ecraven (Remote closed the connection) 15:05:23 --- quit: Ray_work ("Stupid NetSplit") 15:34:00 --- join: Raystm2_ (n=Raystm2@adsl-69-149-51-70.dsl.rcsntx.swbell.net) joined #forth 15:40:29 --- quit: Raystm2_ (Read error: 104 (Connection reset by peer)) 15:40:32 --- join: Raystm2_ (n=Raystm2@adsl-69-149-51-70.dsl.rcsntx.swbell.net) joined #forth 15:46:09 --- join: Topaz (n=top@sown-86.ecs.soton.ac.uk) joined #forth 15:50:04 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 16:02:34 --- quit: tathi ("leaving") 16:05:33 --- join: Raystm2 (n=Raystm2@adsl-68-93-113-32.dsl.rcsntx.swbell.net) joined #forth 16:06:32 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 16:10:33 --- join: Raystm2 (n=Raystm2@adsl-68-93-113-32.dsl.rcsntx.swbell.net) joined #forth 16:19:30 --- quit: Raystm2_ (Read error: 110 (Connection timed out)) 16:29:14 Hey. How goes the reading, Ray? 16:30:35 --- join: Raystm2_ (n=Raystm2@adsl-69-149-56-23.dsl.rcsntx.swbell.net) joined #forth 16:32:39 --- join: amca (n=plump@as-bri-2-31.ozonline.com.au) joined #forth 16:32:58 --- nick: amca -> amca|busy 16:33:57 --- quit: Raystm2_ (Client Quit) 16:46:02 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 16:49:36 Hi amca. 16:50:02 Hi Quartus 16:50:06 How are you going? 16:50:20 --- join: Raystm2 (n=Raystm2@adsl-69-149-56-23.dsl.rcsntx.swbell.net) joined #forth 16:51:04 Hi Ray 16:53:15 Quartus: What have you been working on of late? 16:53:22 --- nick: amca|busy -> amca 16:54:07 Hey there amca :) 16:54:52 Raystm2: How ahve you been? 16:54:56 I recieved several books relating to forth, a purchase I made from Quartus, and reading them and excited. 16:55:22 Cool. What did you buy from Quartus ? 16:56:35 well, lets see. 16:57:15 I got "Starting Forth", the three vol set of "The Art of Computer Programming" by Knuth... 16:57:28 Oooh! 16:57:29 "Forth Applications"... 16:58:15 "threaded interpretive languages" 16:58:25 * amca nods 16:58:30 Forth fundamentals, vol 2 the glossary... 16:58:38 Object oriented forth. 16:58:55 oh and Dr Dobb's Toolbook of forth. 16:59:08 should keep me busy a while. 16:59:42 * Raystm2 currently reading Starting. 16:59:50 cool 16:59:59 ya, definitely. 17:00:15 I've been concentrating on colorforth cuz I didn't really know forth. 17:00:49 much of this material is dated, but heck, you can learn a lot from it still. 17:00:59 Yep 17:01:19 Learning it is best to learn the simple basics first I reckon 17:01:45 sure. 17:01:50 --- quit: Topaz (Remote closed the connection) 17:03:14 I havent done much coding in anything of late. Ive been letting myself get distracted 17:03:15 ever since i've /joined all the forth channels i've always wanted to keep up with crc. I know that is an impossible task, but I sure would like to atleast understand what he's doing. 17:03:33 oh hey, that distraction time can keep you fresh, 17:03:40 what's been distracting you? 17:03:55 Not the sort of distraction time Ive had. :( Nevermind, Im back on the horse now. 17:04:23 :) 17:05:39 However, currently Im gonna focus my coding on programming my TI-84+ calc (has a z80 chip), and return to coding in Forth later 17:08:44 very cool. 17:09:05 so you gonna start #ti-84 or is there already one? 17:09:28 I havent even thought of that - thanks for the idea :) 17:09:52 Ill probably call it just TI, as there are many differemnt types of programmable ti calcs 17:10:13 Or Ill check at the ticalc website to see if there is a IRC channel already 17:10:15 sure 17:10:25 ditto 17:10:52 * Raystm2 spells a 5 letter word so that i didn't have to repeat a 4 letter word, hehe yikes 17:11:03 hehe 17:11:38 thats why you need to write a bot that will take your abbreviations and type out the full text for you :) 17:11:54 o e i t i d t r a 17:12:10 ( oh excellent I think I'll do that right way ) :) 17:12:18 Ummm...you have to code the bot *first* :P 17:12:25 :) 17:13:04 I have to read the books first. 17:13:12 hehe 17:13:57 I would like to do that Jef Raskin challenge ( something like PutPixel and Key(something) 17:14:04 in colorforth. 17:14:22 the put pixel thing is fairly easy 17:14:34 Jef Raskin challenge? 17:15:04 give the x and y coords and the red green blue levels to putpixel and it displays the pixel. 17:15:24 the keyboard memory thing is a little more involved... 17:16:47 something like keep track of every keystroke in a binary number so that if you have a 101 keyboard you would have a bit in 128 bits for each key, if it had been toggled (1 ) or not ( 0 ) 17:17:39 Raystm2: Is the Jef Raskin challenge on the web somewhere? 17:17:42 I assume it to mean that you have persistance between execution of that word so that you end up with a memory of every keystroke ever given. 17:18:01 I found it like a week ago and now having trouble finding it again. 17:19:11 * amca will see if he can google it 17:23:26 http://www.forth.org/svfig/challenge.html 17:24:33 http://www.forth.org/svfig/challenge.html 17:24:35 hehe 17:24:47 that's it. 17:25:05 I've done something like putpixel already, in my boxer program. 17:25:18 I should beable to hack boxer into putpixel, 17:25:35 pixputter i should say 17:25:42 hehe' 17:25:45 keysdown on the other hand... 17:26:33 that one will take me abit but i think i can "see" the colorforth solution in my head already, tho it means using some selfwritten code on behalf of the application. 17:27:44 Although they are simple problems, they both look hard to me. >.> 17:29:58 Well, colorforth comes with a word in the kernel core called `box' which takes a bottom-right and a color and displays a box at `at' 17:30:07 ah 17:30:43 So all you need to do is make a box of corner (0,0) and extent (0,0) (or possibly (1,1) 17:30:44 ) 17:30:50 I've leveraged that to be able to use the keyboard to move it anywhere, size it, color it, and switch between rectangles and squares... 17:31:12 sweet :) 17:31:15 That's the BOXER proggy, 17:31:46 just do more then one box or beable to chose from a database which box the keyboard acts on, and you have PixPutter. 17:32:40 and yes your right the pixel is a box with at 1,1 bottom-right-xy coord. 17:32:55 or i should say... 17:33:18 at@ 1 dup u+ u+ 17:33:21 is the offset. 17:33:28 for bottom right. 17:35:32 * amca nods 17:37:05 the box requires a color as well. Depending on what system you're using, colorforth would just use the value stored in the var color to render. 17:37:29 Glypher requires that you give box the color before executing box. 17:38:04 * amca nods 17:38:06 The KeysDown is intreaging, and maybe i don't quite understand what Jef is going for. 17:38:40 I think its that he wants to keep a log of every keypress, instead of source or something. but I can't help but second guess what he's going for. 17:38:41 that challenge is rather weird 17:39:27 the basics are very cool: a cross-platform forth with graphics and interactive keyboard 17:39:37 I thought he was going for bitmap of the state of the keyboard? 17:39:58 (ie you can find when they press and release keys, rather than just text input) 17:40:03 ooh that's a neat idea as well. 17:40:31 KeysDown is supposed to put a bitmap of the keyboard on the stack 17:40:35 (one bit per key) 17:40:36 ya but most keyboards only ever do what 4 keys max at a time? 17:40:36 yep 17:41:15 Raystm2: right. the idea is that you can poll the keyboard 17:41:16 what would be the purpose of being able to store several keys being struck at the very same time. 17:41:32 Raystm2: video games, quasi-modes 17:41:41 writing your own keyboard-repeat stuff 17:41:44 I;ve done some keypolling in cf thanks to rj_cf. 17:41:50 i think when the word is executed, it puts a bitmap of the keyboard status as it exists just during the execution of that word 17:42:07 amca: right 17:42:07 right. 17:42:45 Raystm2: there's lots of things where you'd like to know when a key is released, or exactly how long it's being held down 17:42:47 it should always be the enter key? 17:42:55 yes 17:42:57 smooth scrolling for example 17:43:02 yes 17:43:20 my cf keypolling returns the make and the break. 17:43:22 for making programs that are not based on standard terminal text input 17:43:26 Hi; sorry, was away from the keyboard. 17:43:32 hi Quartus :) 17:43:35 Raystm2: One use of it would be simulating a musical keyboard with the computer keyboard 17:43:39 and for using key combos not representable in ascii 17:43:47 such as apple-J 17:43:50 * Raystm2 still happy with purchase, no nasty buyers remorse :) 17:43:55 (hyper-J) whatever 17:43:56 Good :) 17:44:34 but, men, you can only ever get 4 keys at a time and three of them are control, alt and shift. 17:45:06 Raystm2: so what? 17:45:11 Hi, amca. 17:45:14 How are you? 17:45:23 Raystm2: well, I guess that makes it ill-suited for a piano keyboard, but it's fine for all the things I listed 17:45:27 Raystm2: Are you sure? What if "a" and "w" are held down at the same time? 17:45:33 you need a keyboard or a keyboard controler that can return ANY key being pressed together with anyother to get what I think Jef is going for here. 17:45:36 Quartus: Hello again. Got busy did you before? 17:45:42 Did. How are things? 17:45:56 Good. 17:46:04 Im starting to get on track again 17:46:12 That's good. 17:46:48 amca, i don't think the controller allows you to return the a-w combination at the same time, I could be wrong. 17:47:50 I hope to be proved wrong if it is wrong. 17:48:01 Raystm2: It may not return the "keydown" info at the same time, but the bitmap can keep track of if they are still help down until it receives a "keyup" signal from the keyboard 17:48:02 An IBM keyboard controller? Can't report two keys down, unless one or both of them are shift, alt, or control. 17:48:39 does it matter? 17:48:41 ah amca :) 17:48:57 you would track which keys are down anyway right? 17:48:57 Quartus: Cant you get just "key-down" and "key-up" info rather than what is currently being typed? 17:49:03 well JasonWoof: i'm just trying to understand all the parts to the problem, best i can :) 17:49:26 amca, I don't remember the protocol well enough off-hand to say whether it's guaranteed that you'll get key-up messages in all circumstances. 17:49:32 JasonWoof: point is , you can only put down one significat key. 17:49:47 so why store the entire keyboard, just return the last key. 17:49:47 Raystm2: to implement keysdown you won't poll the keyboard right then. you'd already have a representation of what keys were down in memory. because you previously installed interrupts for keyup and keydown. 17:50:27 Raystm2: I don't believe that's the case. I think it's just that the keyboard controller only tells you about one key at a time. 17:50:28 Quartus: Im gonna concentrate on the TI calc coding for the moment before I return to Forth coding. 17:50:37 ah okay, 17:51:03 eg you might get 4 messages from the controller: 1) a key down 2) w key down 3) a key up 4) w key up 17:51:08 Shame you can't combine the two, amca. 17:51:21 controllers only can fit one key in each message, but ifter #2 there are two keys down 17:51:24 The improtant thing is *what* the keyboard tells you about the key - it is the key-down status of all the keyboard or just the latest keydown event 17:51:27 so KEYSDOWN would show both if called then 17:51:33 the keysdown will all interupt eachother loading the storage and erasing any keyup , and the execute of keysdown will put that on the stack. 17:51:51 Quartus: Well when I am proficient in coding the ti calc, I can try to implement Forth on it :) 17:52:09 amca, perhaps! 17:52:26 Raystm2: what?? 17:52:50 Raystm2: I don't think KEYSDOWN will interrupt anything. It'll just load 4 cells onto the stack from memory 17:53:02 the interrupt handlers will keep that bit of memory up to date 17:53:24 or however you find out about keyboard events 17:53:36 Quartus: What have you been working on? 17:53:50 amca, customer support, primarily, and doing other bits of work to keep the bills paid. 17:54:00 * amca nods. 17:54:08 if you're running on SDL, then KEYSDOWN would proccess the SDL event queue, and update the array in memory that tracks which keys are down, then it would put a copy of that array on the stack 17:54:08 sorry JasonWoof i'm not using the language the way you know it. You are obviously correct but I know what I ment :) 17:54:09 hehe 17:54:12 Quartus: Shame life is 90% setup for the 10% of fun 17:54:25 amca, I work toward a better ratio :) 17:55:02 amca: you've got to learn to love the preperations :) 17:55:06 :) 17:55:24 I try to alternate between working on software and working with my hands, I find it keeps me balanced. 17:55:35 I gave up on my dreams amca , and I hold my head down to the world . :) hhe hehehe ( not true) 17:55:36 Quartus: yeah :) 17:55:59 Quartus: I worked on the interrior of a house today and yesterday 17:56:20 scraping plaster, spreading durabond, sanding 17:56:27 Well I will have to reply to that discussionn of ratios later, I must be off now 17:56:34 See ya amca. 17:56:36 we put up a good sized support beam 17:56:43 --- nick: amca -> amca|away 17:57:02 I solved a problem that was pretty hairy right a closing time ( of course ) by making two phonecalls and making 4 little slices into a spanner bushing. 17:57:23 Good deal. 17:58:44 having a credit card, handy. Getting to my shop at closing time, convenient. Finding ME to fix your problem for a good price and the product will meet you in Portland Oregon before you get off the plane, PRICELESS 17:59:57 When people call me, jobs are at stake. 18:00:17 If I fail to deliver... production lines stop. People go home. 18:00:18 When Ray talks, people listen. :) 18:00:36 There is some trueth to that. 18:01:06 My bosses credit line and reputation, my imagination and dedication. 18:01:23 I'll get you back up and running quickly. 18:02:04 huh. raskin's challenge is hardly interesting 18:02:19 * Raystm2 will most likely begin to develope my own factory systems in forth before i'm 50. 18:02:36 pixputter, i could write to /dev/fb0. doing it with X would actually be mighty painful 18:02:39 Raystm2, good luck with that project. 18:02:43 Let me know if you need a coder. :) 18:03:04 Quartus: i've sort of put you in my bull pen, even if just for advice. 18:03:09 * sproingie somehow doubts any responses to raskin's challenge are going to be noticed now :-/ 18:03:09 Hope you don't mind. 18:03:17 Raskin won't notice, anyway. 18:03:46 Address to Webmaster, prob'ly still an active challenge. 18:03:50 raskin had some great notions ... some not so great ones as well 18:04:03 Sounds like a human. 18:04:09 the people at the raskin center seem incapable of sorting them out 18:04:15 cult of personality 18:04:25 Sure, I get that. 18:05:02 take archy. root concept, interesting. kind of a super-emacs 18:05:07 we now know where to find them, what they respond to, when we need our own cult to proceed. 18:05:11 in execution, it's a disaster. and will always be. 18:05:36 sproingie: you can read and write /dev/fb0 on some boxes (including my own, I've done it in gforth and herkforth) 18:06:03 sproingie: but I don't know of anything simple you can do to get decent access to the keyboard under X without libraries 18:06:12 I have to assume that that is device frame buffer 0. 18:06:36 JasonWoof: there's nothing decent about x no matter what 18:06:37 Raystm2: yes, it's the frame buffer for the first display 18:07:01 I plan to build SDL into my virtual machine 18:07:12 JasonWoof: presumably raskin wasn't thinking x was at all required. he was a bare-metal guy like cm 18:07:14 yeah JasonWoof! 18:07:36 colorforth already does pixputter. 18:07:38 Raystm2: try: locate ray > /dev/fb 18:07:42 pretty much 18:07:43 or /dev/fb0 if that doesn't exist 18:08:10 sproingie: read the challenge. it says running on mac and linux and windoze 18:08:13 so using the shell to redirect into /dev/fb is probably not kosher, but opening it up and actually using it for real probably is 18:08:24 and in a way it does the keysdown thing as it has it's own pack-stack for creating source on the commandline. 18:08:32 JasonWoof: i doubt he meant with one single program 18:08:45 sproingie: raskin programmed very very high level at least on the THE project 18:08:58 JasonWoof: THE is now archy. ever tried archy? 18:09:00 sproingie: he was doing python on macintosh with the stupid WASTE library 18:09:04 it's an unmitigated disaster 18:09:10 archy works great 18:09:19 well, the interactive demos didn't work 18:09:25 but they fixed the keyboard issues I had 18:09:31 too many cooks ( read that as kooks ) :) 18:09:38 archy isn't the least bit intuitive. the standard raskin center response to that is "there is nothing intuitive" 18:09:50 I'm pretty sure archy was aza's implementation 18:10:05 sproingie: and they're right 18:10:12 no, they're utterly full of shit 18:10:13 sproingie: it's not supposed to be like winblows 18:10:43 sproingie: there is absolutely nothing intuitive about mice and our stupid point and click interfaces 18:11:02 intuitive means one can relate to it by way of extrapolating from knowledge. that bit about the nipple btw is "instinctive", not intuitive. 18:11:09 sproingie: they tested that theory. they had a computer on a table with a mouse and no keyboard, and they took people in who hadn't seen computers 18:11:29 sproingie: and they pointed at the mouse and said "that's the mouse, use it to shoot the stuff on the screen" 18:11:44 (there was a simple point and click game like duck hunt or something) 18:11:57 and the vast vast majority of people walked up and picked up the mouse 18:12:02 JasonWoof: i'm sure aboriginals may do better. but it's not science to say that the interface that's the most accessable to a rank newbie is objectively better or even more accessable to all 18:12:54 actually my main complaint about archy is how gratuitously incompatible with existing concepts it is. it's like reinventing the wheel but making sure it's not round 18:13:15 no key repeat. for anything. including movement keys. because they have a thing against key repeat. 18:13:18 I'm just saying that "intuitive" and "works the way you'd expect or be able to immediately understand from your years of experience with windoze/mac/X" are not the same thing 18:13:44 they didn't implement key repeat yet? 18:13:55 they have this notion that double and triple-tapping keys to put them in a, get ready for it, different MODE is somehow superior 18:13:59 but they won't use the m-word 18:14:22 they won't implement key repeat, they refuse to 18:14:34 it's in the design document I believe 18:14:45 personally i could do without it for letter keys 18:15:56 there's just a whole culture of throwing out all existing computer usage as bad and wrong because, i dunno, it's not informed by some arete of perfect usability 18:16:03 they did to implement key repeat. I just tested it 18:16:07 in that case, why are they sticking with clunky stuff like the alphabet 18:16:17 it just doesn't work the same way as in windoze/mac/unix 18:16:45 sproingie: read the book 18:16:51 ah, you have to double-tap first? 18:16:56 that interface is based on research 18:16:59 that sounds suspiciously like a mode 18:17:15 instead of just imitating the standard crappy interfaces, it's based on research in how people interact with things best 18:17:42 the history of science is littered with questionable "research" 18:17:53 sproingie: whatever your terminology. they are ok with what they call quasi-modes, which are modes that last only as long as you hold a key down. 18:18:00 which is obviously the case with key repeat. 18:18:12 but the computer will repeat the key only as long as you hold it down 18:20:04 I just find it weird that you totally dismis it because it is significantly different from what you are used to 18:20:09 because that's the whole point. 18:20:15 --- join: aum (n=aum@60-234-156-82.bitstream.orcon.net.nz) joined #forth 18:20:23 it's gratuitously different 18:20:26 the point is that human <--> computer interaction can go much much smoother 18:20:38 --- part: aum left #forth 18:20:42 and that we have loads and loads of research into how it could be better 18:20:53 and that practically nobody is paying this research the slightest heed 18:21:19 the obvious reason that most people ignore it is that they know that it's different enough from standard interfaces 18:21:24 sure they are. apple paid him lots of money for it 18:21:30 which experienced computer people find weird 18:21:40 paid who for what? 18:22:32 The way we do things now, came from what, Park Reserch, like in the late 70's? 18:23:03 Raystm2: do you mean Xerox PARC? 18:23:14 I was in the state of the art electronics in the late 70's, We've come a long way since then yet we still do things the same way. 18:23:15 yes 18:23:36 hardly. i never got to use an alto, but i used globalview, which was similar 18:23:38 PARC Research, 18:24:02 xerox PARC. there's no such outfit named PARC Research 18:24:05 sproingie: what are you talking about apple paying someone? 18:24:18 globalview is most certainly not like the WIMP of today 18:24:26 so long as you know who i mean, i'm satisfied, thanks for the correction :) 18:24:27 in fact it didn't even have pulldown menus 18:24:51 it's like saying language hasn't changed for 500 years because we're still using the same alphabet 18:25:07 Windows Icons Menus Pionter ? 18:25:15 pointer even. 18:25:53 WIMP ... and yeah, the original idea was to use the mouse with a chording keyboard, one hand on the mouse all the time. all the usability wonks went wild and sometimes STILL do 18:26:28 Model View Control. that's how I see colorforth. 18:26:32 but of course they failed to account for the RSI that comes with having your arm fixed on the mouse 18:26:44 Raystm2: cf is nothing even remotely close to MVC 18:27:09 I see. Still I see my applications in colorforth that way. 18:27:31 MVC is kinda out of vogue in the smalltalk world these days 18:27:35 sproingie: I can only guess (while you ignore my repeated question) that you were saying that apple payed rasking for research. 18:27:40 I build a model of the real world situation, I create my on view of that model, I create my on control of that model. 18:27:49 sproingie: I don't know anything about that. I was not talking about research by raskin 18:27:58 JasonWoof: he worked for apple doing HCI research, no? 18:28:23 Raystm2: that's not really what MVC is 18:28:26 sproingie: I don't know. I thought he did design stuff for them 18:29:00 MVC is kinda out of vogue in the smalltalk camp. they're all big on morphic, including alan kay himself 18:29:07 * Raystm2 googles MVC 18:29:31 mostly because the "controller" is largely obsolete now that smalltalk is not its own OS 18:29:47 sproingie: I've gread The Humade Interface by raskin. he sites tons of research. I don't recal him mentioning research that he did himself. 18:30:44 as I understand it MVC is a programming technique, (programming design technique, whatever) not a type of GUI (from a user's point of view) 18:31:04 Raystm2: try wikipedia, that might give some historical context 18:31:27 MVC gets thrown around for web apps a lot too, despite that it doesn't really relate much at all to the original MVC of smalltalk 18:31:28 * Raystm2 found http://ootips.org/mvc-pattern.html 18:32:04 if you squint and look sideways you can kinda sorta see how web app MVC relates to the old MVC 18:33:48 * Raystm2 found http://c2.com/cgi/wiki?ModelViewControllerAsAnAggregateDesignPattern 18:33:57 it's really a methodology. separate the domain data from the way it's presented, and only connect the two through an intermediary 18:34:43 usually that intermediary should also handle any state and actions on the data that aren't the responsibility of the data itself 18:35:03 just about anything that follows that pattern can be called MVC 18:40:28 sure, that means forth when it is running on your pc is MVC and you are just only ever extending the M, making the V relevent to the data output, and the C is the computer, all the devices and there interface. 18:47:26 Wouldn't keysdown return the word that executed the code that calls keysdown? 18:49:18 wait, some other word has to start a memory of the keysdown before keysdown gets executed? 18:51:12 you don't execute keysdown directly, it's called in a word that's already running and you have to put some keys down before keysdown ever gets executed? 18:51:55 What's the frequency, Kenneth... 18:52:28 if the word is looping, you prob'ly have to store every change with every keydown or up. 19:12:32 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 19:15:20 --- join: Raystm2 (n=Raystm2@ppp-70-243-217-227.dsl.rcsntx.swbell.net) joined #forth 19:36:17 i think most keyboard drivers let you explicitly scan for keystates 19:49:40 --- quit: amca|away (Read error: 113 (No route to host)) 20:08:21 --- join: GW1-2005 (n=GW1-2005@12-208-98-237.client.insightBB.com) joined #forth 20:24:32 --- quit: GW1-2005 (Remote closed the connection) 20:27:49 --- join: FiLa (i=LNIX@12-208-98-237.client.insightBB.com) joined #forth 20:42:03 --- join: Raystm2_ (n=Raystm2@adsl-69-149-40-238.dsl.rcsntx.swbell.net) joined #forth 20:46:44 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 20:58:34 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 22:20:23 --- quit: Raystm2_ (Read error: 104 (Connection reset by peer)) 22:25:03 --- join: Raystm2 (n=Raystm2@adsl-69-149-38-128.dsl.rcsntx.swbell.net) joined #forth 22:50:00 Raystm2: wow, you're making keysdown sound pretty confusing 22:51:25 keysdown is a word that you call when you want to know what keys are down 22:52:05 eg if you wanted to knew if the K key was down, you might do something like: 22:52:27 : kdown? keysdown drop 4 and nip nip ; 22:53:13 how keysdown is implemented depends greatly on how you find out about what's happening on the keyboard 22:54:12 but in all the scenarios I can think of, you'd be keeping track of what keys are down using an array in memory. 22:54:54 keysdown returns this data on the stack 22:55:17 and (depending on the host system/hardware) may have to call something that would update the array first 22:56:40 eg if the host system is SDL, you'd need to be sure that all the keyboard events in the event queue have been processed (ie the memory array has been updated to reflect the new key states) 22:58:09 if you're running as an os, and get interrupts on key events, then I'd expect your keyboard driver would maintain the array. In this case keysdown would be a piece of cake, all you'd have to do is load those for 32-bit words onto the stack 23:40:46 thats what i thought. 23:55:36 --- join: Raystm2_ (n=Raystm2@adsl-69-149-40-70.dsl.rcsntx.swbell.net) joined #forth 23:59:30 --- quit: Raystm2 (Read error: 104 (Connection reset by peer)) 23:59:59 --- log: ended forth/05.11.11