00:00:00 --- log: started forth/06.11.30 00:42:32 --- quit: arke (Read error: 145 (Connection timed out)) 01:03:03 --- join: arke (i=Chris@x474.vpn.hrz.tu-darmstadt.de) joined #forth 01:03:03 --- mode: ChanServ set +o arke 01:03:08 --- quit: arke (Read error: 54 (Connection reset by peer)) 01:03:18 --- join: arke (i=Chris@x474.vpn.hrz.tu-darmstadt.de) joined #forth 01:03:18 --- mode: ChanServ set +o arke 01:13:51 --- quit: TreyB (brown.freenode.net irc.freenode.net) 01:14:09 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 01:52:07 --- join: Cheery (n=Cheery@a81-197-54-146.elisa-laajakaista.fi) joined #forth 02:31:16 --- quit: crc (Read error: 60 (Operation timed out)) 02:47:08 --- join: Amanita_Virosa (n=jenni@adsl-70-248-239-251.dsl.hstntx.sbcglobal.net) joined #forth 03:12:19 --- quit: JasonWoof ("leaving") 05:07:30 --- join: zpg (n=user@user-514d7663.l2.c2.dsl.pol.co.uk) joined #forth 05:29:20 --- quit: segher (Nick collision from services.) 05:29:29 --- join: segher (n=segher@dslb-084-056-153-204.pools.arcor-ip.net) joined #forth 05:30:09 --- join: ecraven (n=nex@eutyche.swe.uni-linz.ac.at) joined #forth 05:46:10 --- quit: ecraven ("brb") 05:56:18 --- join: ecraven (n=nex@eutyche.swe.uni-linz.ac.at) joined #forth 05:58:56 --- join: ayrnieu (n=julian@pdpc/supporter/sustaining/ayrnieu) joined #forth 06:12:34 --- nick: Raystm2 -> nanstm 06:15:05 --- quit: Amanita_Virosa ("Mewps") 06:16:51 --- join: Ray_work (n=Raystm2@199.227.227.26) joined #forth 06:19:10 Good morning. 06:28:12 hi 06:30:53 hi zpg. Nasty weather about these parts, today. 06:33:15 --- join: madwork (n=foo@204.138.110.15) joined #forth 06:33:20 sorry to hear that. just overcast as usual here. 06:34:21 "overcasts as usual" hehe. 06:34:36 In Texas, you really learn to appreciate the overcast days. 06:35:49 in Britain it's more a case of stoic acceptance 06:36:27 After a certain age, I suppose you prob'ly don't even notice. 06:37:54 it's most notable during seasonal changes ... quite quickly one moves from sunny, warm and humid to cold, windy and overcast. 06:38:20 that aside, you're right. it's just a given. though people tend to moan about it quite a bit (hardly the stoicism i suggested) 06:38:51 anyhow, i need to grumble my way into town to keep an appointment, but i'm sure we'll talk again in a bit. 06:40:01 cheers for now 06:40:01 --- quit: zpg ("ERC Version 5.1.3 (IRC client for Emacs)") 07:13:04 --- quit: ecraven ("bbl") 08:05:13 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 08:05:49 --- join: madwork_ (n=foo@204.138.110.15) joined #forth 08:21:15 --- quit: madwork (Read error: 110 (Connection timed out)) 08:30:26 --- quit: arke (Read error: 60 (Operation timed out)) 08:32:33 --- quit: madwork_ (Read error: 104 (Connection reset by peer)) 08:34:38 --- join: madwork (n=foo@204.138.110.15) joined #forth 08:35:47 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #forth 08:45:31 --- quit: TreyB (brown.freenode.net irc.freenode.net) 08:45:56 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 08:48:13 --- join: snowrichard (n=richard@12.18.108.162) joined #forth 09:07:26 --- join: arke (n=Chris@pD9E05DAB.dip.t-dialin.net) joined #forth 09:07:27 --- mode: ChanServ set +o arke 09:09:49 hello 09:21:59 --- quit: TreyB (brown.freenode.net irc.freenode.net) 09:22:48 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 09:29:11 --- quit: neceve (Remote closed the connection) 09:46:08 --- quit: Quartus_ (Read error: 54 (Connection reset by peer)) 09:49:58 --- join: Quartus_ (n=Quartus_@209.167.5.2) joined #forth 09:49:58 --- mode: ChanServ set +o Quartus_ 10:05:56 --- quit: snowrichard ("Leaving") 10:29:18 --- join: zpg (n=user@smaug.linux.pwf.cam.ac.uk) joined #forth 10:29:32 hi 10:29:59 wb sir! 10:30:18 thanks, only on for a short while but thought i'd stop by 10:30:20 how's it going? 10:31:15 pretty cool. with the weather the biz is slow, so I learned about Jeri Ellsworth, creator of that Commador 64 in a joy-stick. 10:31:45 intriguing. how're your forth projects coming along? 10:32:19 Slow. You know, ever since I started taking medication, my productiveity is down. :( 10:32:35 * zpg nods 10:38:42 It's supposed to help me focus. I suppose I could be focusing on the wrong things. This would be tipical natural behavior. :) 10:39:02 well, i get that and i'm not any medication at all. 10:40:10 --- join: rabbitwhite (n=Miranda@136.160.196.114) joined #forth 10:41:13 One pill makes you larger and one pill makes you small... :) 10:41:20 What's up rabbitwhite! 10:42:31 rabbitwhite: I was just telling zpg that I was learning about Jeri Ellsworth, creator of that Commador 64 in a joy-stick. 10:42:45 zpg: rabbitwhite is doing a forth for the Game Cube. 10:43:28 Interesting stuff. 10:44:03 Ray_work: ('Commodore') 10:44:30 Your welcome :) 10:45:29 i'm rewriting the kernel ... 10:45:52 rabbitwhite: is this online? 10:45:59 * Ray_work is in the #spelling writeing You're Commodore, You're Commodore, You're Commodore... 10:48:32 no 10:48:37 it's the opposite of online 10:49:03 it's heavily sheltered and proprietary 10:49:08 rabbitwhite: you're not done till you throw it away a few times. :) 10:49:45 believe me i don't enjoy the fact that i have to do this 10:50:02 Major re-think, then? 10:50:05 no 10:50:11 oh. 10:50:11 is this still pre-alpha then, or are you revising the code-base for a new release? 10:50:15 customer brb. 10:50:47 just cleaning up, simplifying, to make it more maintainable and reliable ... 10:50:58 okay. have you any users? 10:51:03 no 10:51:09 it's just for me 10:51:26 this is like colorforth before it was released 10:51:46 i see. 10:51:46 i'll release it if i deem it to be possibly useful to others .. 10:52:04 you have bindings to the 3D graphics hardware i take it? 10:52:10 not yet 10:52:11 no 10:52:16 oh. 10:52:41 i have been limiting myself to 2d graphics to keep things simple 10:53:55 i'm doing this to learn to simplify game programming 10:54:03 i see. 10:54:07 are you succeeding? 10:54:10 sounds pretty complex to me. 10:54:31 it did get complex, that's why i'm doing this rewrite :) 10:54:40 ah ok. 10:54:49 well, nice chatting -- now: time to dine. 10:54:50 --- quit: zpg ("ERC Version 5.0.4 $Revision: 1.726.2.19 $ (IRC client for Emacs)") 10:57:28 * rabbitwhite out to lunch too 10:57:36 hey 11:01:33 hey, sorry Quartus, everyone else left and your stuck with me. :) 11:01:44 heh 11:01:57 You have a new option in you're life. 11:01:57 I'm in line at the bank. 11:02:29 When you find people not spelling correctly, send them to #spelling and please include the correct spelling. 11:02:43 noted. 11:02:46 --- join: Snoopy42_ (i=snoopy_1@dslb-084-058-148-100.pools.arcor-ip.net) joined #forth 11:03:01 Brought to you from the same people who brought to you "Brought to you by". 11:03:28 :) 11:04:52 I'll put a topic there that says something like "You've been sent here to practice spelling a word. There Will be no conversation, just spelling until you get it right. 11:04:58 " 11:08:06 --- join: ygrek (i=user@gateway/tor/x-d2e4e90818c5f54e) joined #forth 11:08:11 not too busy today, eh? :) 11:09:16 It's a real mess out there, today. 11:09:49 raining here too 11:09:58 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 11:10:05 --- nick: Snoopy42_ -> Snoopy42 11:18:23 --- quit: Cheery (Remote closed the connection) 11:18:54 --- join: Cheery (n=Cheery@a81-197-54-146.elisa-laajakaista.fi) joined #forth 11:39:10 --- join: marble (n=glass@cpc1-bolt6-0-0-cust18.manc.cable.ntl.com) joined #forth 11:45:47 --- join: Crest (n=crest@p54897475.dip.t-dialin.net) joined #forth 11:49:22 I'm more bored then all the wheels in the showroom. 11:49:39 I've too much to do! 11:50:08 Send us something to do for you, then? 11:50:28 Wish I could. It's hands-on. 11:56:37 I had no idea that you were an evangelical faith healer. 11:56:46 Only in my spare time. 12:08:37 --- quit: ygrek () 12:19:48 Seems I get more done when I'm busy, then when i'm not. 12:20:44 Hey, that could nearly be a Yogi Barraism. 12:22:12 Berra even 12:44:23 --- join: JasonWoof (n=jason@unaffiliated/herkamire) joined #forth 12:44:23 --- mode: ChanServ set +o JasonWoof 12:59:22 --- quit: I440r (": sleep bed go tuck light off ; immediate") 13:27:55 hi jasonwoof 13:29:13 hi :) 13:30:26 how are things? 13:41:12 good 13:41:25 trying to make sure that a harddrive I want will work with my computer 13:41:36 my computer came with an Ultra ATA/66 drive 13:42:05 the one I'm looking at getting is Ultra ATA/100 13:42:34 I'm guessing it'll work, but I haven't found anything that says it will 13:42:42 should do. 13:48:07 good 14:00:23 --- quit: rabbitwhite (Read error: 104 (Connection reset by peer)) 14:21:02 --- quit: Cheery ("Download Gaim: http://gaim.sourceforge.net/") 14:40:45 ahh, it will be nice to have room on my HD again 14:41:45 I've got enough to do what I gotta do for the most part, but I want to start running some serious backups 14:45:43 do you know of any sort of space-effecient binary diffing program? 14:46:16 I'm making a huge tarball of everything I back up on my server 14:46:23 space-efficient? 14:46:37 yeah 14:46:49 I'm going to download a full tarball every month 14:46:58 but if I could have weekly diffs that would be cool 14:47:18 ie I can download the tarball a week later, but instead of storing the whole tarball, just store the diff from the previous one 14:48:19 with my last server I found that if I ran the backup often enough, then rsync could find lots of similarities between the current backup, and the previous one, and could thus save lots of bandwidth 14:49:00 if the diffs don't take up much space I could do pretty frequent backups without filling my drive 14:50:42 you could compress the diffs. 14:55:17 oh, sure 14:55:45 does the regular "diff" program deal with large binary files reasonably? 14:56:17 size shouldn't be an issue. 14:57:19 well, I guess it's just that the diffs I'm used to seeing are for readability, and are set up to be a ble to be applied to files that have changed 14:57:28 (so long as the changes aren't in the same place 14:58:07 and so the diff files are 4X bigger than they'd need to be to just contain the changes 14:58:26 because they show what goes before it, what was there, what goes there now, and what was after 14:58:28 they should compress well. 14:59:25 Afaik that context is just for viewing purposes; there are binary diffs too. 15:00:52 patch comes to mind. Been awhile. 15:01:09 I haven't done unix sysadmin for a few moons. 15:01:50 ok, I'll try using "diff" first 15:02:07 looks like it has some options worth fiddling with 15:08:22 --- join: twobitsprite (n=someonee@cpe-075-177-191-014.nc.res.rr.com) joined #forth 15:13:47 hey... are things in forth generally zero-based? i.e. indeces, etc? 15:13:59 yes. 15:14:24 right on 15:14:54 so, i.e. a function which computes the nth fibinacci number, the first number would the the zeroth? 15:15:20 seems likely. 15:15:29 cool, thanks 15:15:47 well, there's little strength in it. I suppose it mainly comes from the bias of programmers in general. You could just as easily write 1-based words. 15:16:12 ayrnieu: of course, I just like to follow convention where there is one 15:16:15 it's more annoying to do 1-based. 15:16:20 indeed 15:17:00 well... it depends on the language, mostly in the way things like loops interpret numbers... if the built-in operations favor zero-based, then yes, one-based is annoying 15:17:06 not in other languages, Quartus. I suppose anyway that in Forth you'd need the extra effort of 1- CELLS ADDR + 15:18:37 In a number of other languages it's both more annoying and less efficient. Fairly universal custom, going back 50 years, is zero-based indices for memory access. Nothing to do with fibonacci, of course. 15:19:29 Quartus: of course... but generally when the convention is zero-based, than something which is to perform the nth anything should also be zero based 15:19:42 Erlang gets away well with it, for its emphasis on pattern-matching and its lack of memory access. I can't speak for Ada. 15:20:00 doesn't matlab like one-based? 15:20:22 (not that I'm by any means a fan of matlab...) 15:23:02 for such languages, I think a more interesting question is 'what is 1/0 ?' :-) 15:37:05 --- join: twobitsp1te (n=someonee@cpe-075-177-191-014.nc.res.rr.com) joined #forth 15:37:20 stupid isp 15:37:51 anyways... is there any kind of stepper for forth? 15:38:15 or some way to watch the stack as my word runs? 15:38:23 depends on the Forth. It's not something most experienced Forth programmers would want or use. 15:39:06 hmm... I'm used to more imperative languages, i guess... how does one typically debug a forth word? 15:39:29 without putting "dup ." all over the place? :P 15:39:34 by visual inspection, and interactive testing 15:39:59 good forth words ar very short, and do only one thing. 15:40:54 do you all have a favorite paste bin? I'd like to show you my code so far... I'm not sure how to break it up into smaller peices, but I also realize that it's too big for me to look at and know what's going on 15:40:58 --- quit: twobitsprite (Read error: 110 (Connection timed out)) 15:41:06 --- nick: twobitsp1te -> twobitsprite 15:41:08 you wouldn't need 'dup . all over the place', anyway; you could use : pp dup . ; immediate 15:41:36 I usually use paste.lisp.org 15:41:43 (is immediate a forth word?) 15:41:48 there's a pastebin in the topic 15:41:51 yes. 15:42:32 get a copy of the standard from there, too. 15:42:38 (ohh, didn't see it upon first inspection 15:42:39 ) 15:42:56 anyways... here's my (probably very ugly) code: http://paste.lisp.org/display/31056 15:44:08 I guess I can get rid of that last drop 15:45:16 what forth does that run on? 15:45:25 I'm not familiar with DO..FOR ; what Forth defines that? 15:46:08 Quartus: I'm using gforth 15:46:25 I actually haven't even run this yet, but I thought that was the way it was done 15:46:34 * twobitsprite double checks his tutorial 15:46:37 no.q 15:47:52 ahh.. I guess I was thinking "do .. loop" 15:48:12 test your code. 15:49:06 twobit - have you gone through gforth's tutorials? 15:49:08 hmm... infinate loop..? 15:49:20 not infinite. 15:49:30 ayrnieu: I'm going through "starting forth"... someone here recommended it over the gforth tuts 15:49:44 ayrnieu: well... it seemed to hang... and I closed it 15:50:19 twobit - it would've eventually terminated, but I'm not surprised by it seeming that way. 15:50:38 --- quit: Ray_work (Read error: 131 (Connection reset by peer)) 15:50:57 maybe I misunderstood what they meant by "do .. loop" in "starting forth" 15:51:14 it seemed to act like a for loop in their example 15:51:25 : STARS 0 DO STAR LOOP ; 15:51:39 (where STAR emits '*') 15:51:41 I started with the gforth tutorial that begins with showing you how to crash gforth; but Starting Forth should be fine. You can move concurrently through several tutorials, of course. 15:51:49 twobit - try 0 STARS 15:52:28 ahh 15:52:35 the gforth tutorial would've told you to use ?DO and explained why you should use it :-) 15:53:20 alright... well... it's getting late. I'll have more questions for you all tomorrow :) 15:53:25 thanks 15:53:40 *wave*. I need to leave as well. 16:04:57 --- quit: twobitsprite (Read error: 60 (Operation timed out)) 16:29:45 --- nick: nanstm -> Raystm2 17:01:26 Hey Raystm2. 17:54:46 --- join: nighty_ (n=nighty@sushi.rural-networks.com) joined #forth 17:55:19 I'm doing a bit of Forth stuff with ID3 tags. 17:55:37 I never knew how painfully cumbersome ID3v2 tags were though. Yeesh. 17:55:56 Cumbersome how? 17:56:21 The variable frames with experimental frame headers. Is that much complexity really neccessary? 17:56:44 Dunno. Left unchecked these things usually grow hair. 17:57:06 I mean, I can bet that 90% of stuff that support ID3v2 tags only check for the more important frames, like Album, Genre, etc. 17:57:17 Probably. 17:57:55 But true whackos who define themselves exclusively by what music they like to listen to doubtless spend long hours categorizing their collection of digitized music in ways inconceivable to you or I. 17:58:07 That is what I'm assuming. 17:59:53 In case you ever wanted to know the playlist delay in your ID3 tags. 18:00:04 Or the ``Mood'', whatever the heck that is. 18:00:35 Is there some field for normalization? It struck me as noteworthy by its absence in the original MP3 situation. 18:01:11 Equalization and Relative Volume Adjustment. 18:01:19 That's a plus, anyway. 18:01:30 Otherwise track by track the volume leaps up or down. 18:01:42 Yeah. But I doubt anything actually uses that. 18:02:01 I had an mp3 player once that went to the trouble of calculating a normal and using it. 18:02:35 Just got done watching this. http://video.google.com/videoplay?docid=-1053309060448851979 It's Jeri Ellsworth talking about her life up to and including that Commodore 64 in a joy-stick thingy. 18:02:44 Yeah, this was encouraged by a new MP3 player I bought that sorts by ID3 tags instead of folders. So I decided I'd do something related to ID3 tags in Forth. 18:02:47 I think it would be an interesting project to make a program that supports the entire ID3v2 standard and allows you to write your own tags, even with experimental frames. Although it 18:02:53 Jeri's here in Toronto on the weekend, I believe. 18:02:56 will be cumbersome to implement it all. 18:03:41 I've had just enough time to write something simple that analyzes the ID3 header. 18:03:43 I suppose it would be... I don't know, I recall looking at the v2 format once, but it was a while back. 18:04:36 And I'll need to write a zlib wrapper for this. 18:04:45 Yay ffi. 18:06:50 Yes, I know of an LZ77 compressor in Standard Forth, but not zlib. 18:07:37 The ID3v2 specification allows for compressed frames (although I have yet to see them). 18:08:01 Somehow I doubt you ever will. 18:08:18 I have a hunch that I won't see them also. 18:14:35 --- quit: virl ("Verlassend") 20:32:10 --- quit: marble (".") 20:45:25 --- quit: madgarden (Read error: 104 (Connection reset by peer)) 20:46:10 --- join: madgarden (n=madgarde@bas2-kitchener06-1096751791.dsl.bell.ca) joined #forth 20:49:45 --- join: snowrichard (n=richard@12.18.108.162) joined #forth 20:50:34 hello 20:50:48 hey 20:51:07 we're having a cold spell 20:51:54 about 26 degrees now 20:52:14 Cold here too. 20:54:05 got to switch chairs brb 20:54:35 the rolling office chair is more comfy 20:55:45 my mom bought a video capture thing called a Dazzler. She wants to convert old VHS to DVD videos. 20:56:01 I have a stand-alone device that does that. Toshiba I think 20:56:30 I'll have a look at it tommorrow and see what cabling she needs. 20:56:41 it connects to usb I think 20:56:57 Not one I'm familar with. 20:57:10 The dedicated box I have works pretty well. 20:57:34 this came with some software its supposed to be able to add titles. 20:58:07 You can do that via the remote on the stand-alone box, too. Laborious, but possible. 20:58:28 this box have a dvd recorder in it? or is that separate? 20:58:40 That's what it is. It's a component DVD recorder. 20:59:09 Various inputs. Plays DVDs too. 20:59:13 cool 20:59:53 Off-the-shelf Toshiba dealie. 21:01:01 I've tried yet another linux distro - Kubuntu. Installed from a DVD. 21:01:37 debian based, but I think the packages are more up to date than the debian stable. 21:02:58 I'm not in the loop, there's so many distros now. 21:03:14 only a few hundred :) 21:05:02 --- quit: snowrichard ("Leaving") 21:20:40 ..... Here's very peculiar behavior of gForth. 21:21:11 When read-line encounters a newline, it instead spits out the same character it received last time on the input stream. 21:21:25 What is your code? 21:21:38 I'll paste a very simple test to confirm this. 21:21:45 (Is there a Forth pastebin?) 21:21:50 in the topic. 21:21:54 http://forth.pastebin.ca 21:21:54 Thank you. 21:21:59 Alright. 21:24:43 http://forth.pastebin.ca/263121 21:25:08 You're using read-line to read 1 char at a time? 21:26:04 Weird enough. But you're not testing to see how many characters were returned. You're printing a character even if read-line returns 0. 21:30:40 Apparently you're never consming the u2 that read-line returns at all, so those'll be accumulating on the stack. 21:33:04 The reason you're getting the previous character re-printed is that the target buffer (you're using HERE) is not overwritten when read-line reads nothing but a line-terminator. 21:34:55 Is there some other word to read one character at a time more efficiently? 21:35:05 read-char 21:35:41 Ah. I missed that. 21:36:19 Hmm? read-char isn't in gForth... 21:36:56 sorry. Read-file. 21:37:14 trying to multitask here :) 21:37:38 But read-file asks for c-addr and u on the stack.... 21:38:27 so does read-line. 21:39:42 that's the target buffer. 21:40:18 --- join: arke_ (n=Chris@pD9E050EA.dip.t-dialin.net) joined #forth 21:47:43 Ah. Thanks. 21:49:51 you 21:50:06 you're testing twice for termination, which you needn't do. You should use a begin/while/repeat loop here. 21:50:47 Well, I check the first time just in case it initially finds an EOF. 21:50:55 Or is that not correct? 21:51:08 That' 21:51:18 That's fine, but you can do it in a begin/while/repeat loop and have only one test. 21:51:24 Oh. 21:52:08 as in, open-my-file begin ... read-file while ...yadda... repeat close-my-file 21:57:26 --- quit: arke (Read error: 110 (Connection timed out)) 21:58:20 http://forth.pastebin.ca/263146 22:05:28 To emulate yours, : display ( -- ) here c@ . ; instead 22:12:28 --- join: Cheery (n=Cheery@a81-197-54-146.elisa-laajakaista.fi) joined #forth 22:25:11 Razor-X, did you check out that paste? 22:31:21 Yeah. 22:31:26 (Sorry, I was doing other stuff.) 22:32:17 --- quit: nighty_ ("Disappears in a puff of smoke") 22:35:10 That's a loop with the termination condition at the top, which is the ideomatic way to read through a file. 22:35:40 Aha. The equivalent of C's classic while (blah != EOF) ? 22:35:48 Right. 22:37:14 The control-flow is identical to that 22:38:48 I see. 22:39:15 Is that the idiom used most commonly in Forth programms dealing with 1 character at a time processing of a file? 22:39:23 *programs 22:39:50 It's the idiom for any traversal of a file. You need to test the condition initially, and after each successive read. This does that. 22:40:08 Suits my purposes quite well. 22:40:16 begin while repeat is equivalent to C's while() 22:40:28 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 22:40:35 Ah. 22:40:38 or if you prefer, while() { } 22:43:56 begin until is equivalent to do { } while (!) 22:44:24 in other words, with begin/until, is always performed at least once. 22:47:13 Just like the while() loop. 22:47:22 Good. I'll change my code around. 22:47:34 In a while() loop, the action is not necessarily performed at all. 22:57:02 That's true. 23:59:59 --- log: ended forth/06.11.30