00:00:00 --- log: started forth/06.07.02 01:37:53 --- quit: JasonWoof ("off to bed") 03:28:24 --- join: zpg (n=user@81-178-219-45.dsl.pipex.com) joined #forth 03:32:14 --- quit: madgarden (Read error: 110 (Connection timed out)) 04:05:38 --- join: ASau (n=user@home-pool-170-3.com2com.ru) joined #forth 04:12:31 Dobryj denj! 04:12:42 * zpg waves to ASau 04:23:20 --- join: PoppaVic (n=pete@0-1pool46-108.nas30.chicago4.il.us.da.qwest.net) joined #forth 04:49:22 --- join: neceve (n=claudiu@unaffiliated/neceve) joined #forth 04:55:59 hi PoppaVic, neceve 04:56:06 lo 04:56:25 hi zpg 04:56:48 how's it going? 04:57:11 stumbling thru Life. 04:58:01 heh - "same old" huh? 04:58:16 not entirely, but that's what *I* do anyway 04:58:38 * zpg nods 05:42:59 --- quit: zpg ("ERC Version 5.0.2 $Revision: 1.726.2.10 $ (IRC client for Emacs)") 06:03:33 --- quit: GoGoDncr (Remote closed the connection) 06:12:04 --- quit: PoppaVic ("Pulls the pin...") 06:15:45 --- join: PoppaVic (n=pete@0-1pool66-15.nas22.chicago4.il.us.da.qwest.net) joined #forth 06:42:50 Ohhh-kay.. Dumb question time: how do most forths handle fp "float" and "double" records? 06:43:28 Why do you ask this? 06:43:38 because I can. 06:44:01 Any need? 06:44:02 I'm asking how forths handle fp - and don't say scaled-ints: I know I can do that 06:44:37 There're too many forths around. 06:44:41 Seems like they need to either implement -lm & math.h - or they link to it. 06:45:23 DragonForth does not link against "libm" 06:45:45 * PoppaVic sighs 06:45:47 It isn't written in C. 06:45:47 Reva and HelFORTH use the x87 FPU instructions and FPU stack, not libm 06:46:22 crc: yes, I would expect that. So... It's fpu aware very early on. 06:47:05 Interesting arrangement... 06:47:06 Old MVP and FIG rely on x87 directly. 06:53:45 crc: Do you have file i/o words in RF? 06:54:41 AFAIR, you distributed blocks as separate 16-line files. 06:55:57 ASau: I did some file I/O words for the Linux port 06:56:13 Retro's blocks are only 8 lines long, not 16 06:56:27 http://retroforth.org/projects/files/file-io-linux.forth 06:57:55 I've written ANS code to create forth blocks from paged text. 06:58:10 Page feed means block feed. 06:59:39 7 screens total, including "case:" and ";case", load 06:59:40 screen, demo screen etc. 07:00:15 cool 07:32:12 --- join: JasonWoof (n=jason@pdpc/supporter/student/Herkamire) joined #forth 07:32:12 --- mode: ChanServ set +o JasonWoof 07:47:27 hmm 07:49:57 You know..? I am trying to think of reasons to suffer .o & friends other than source-text - and having a helluva time. 07:51:48 It seems to ONLY center around "locally 'linkable'" (platform-intermediate) & the "binary compatible" 07:53:07 ...I start to ponder if THAT was why Moore began "blockfiles" 08:03:27 Well, you know we have plenty of code, written in other languages. 08:03:47 System provides access to this code through DL interface. 08:03:58 there is no "system" 08:04:03 So why should we deny ourselves using this code? 08:05:13 If there's no system, then where do ".o & friends" come from? 08:05:28 * PoppaVic sighs 08:05:38 Refine your statement. 08:06:02 YOu seem to have an issue with Forths versus system, .o, dirs and files. 08:06:20 but, that's fine - I already have seen all the worst of it. 08:08:07 If you talk about compilation time, then ".o" is an 08:08:07 intermediate form. 08:08:55 Whether to use it or not, is our choice. 08:09:27 If it is easier to use it, it is easier to use. 08:11:08 Sorry, I'm leaving you. I should go. 08:11:13 --- part: ASau left #forth 08:33:12 --- part: PoppaVic left #forth 10:03:49 --- join: TheBlueWizard (i=TheBlueW@ts001d0769.wdc-dc.xod.concentric.net) joined #forth 10:27:55 --- join: zpg (n=user@81-178-253-254.dsl.pipex.com) joined #forth 10:28:02 Hi zpg. 10:28:07 hi Quartus 10:45:11 --- join: I440r (n=mark4@24-177-235-246.dhcp.gnvl.sc.charter.com) joined #forth 10:45:28 hiya I440r :) 11:00:20 hi 11:00:22 :) 11:00:42 how's life? 11:01:44 not so bad :) 11:04:14 I'm doing fine :) 11:10:46 gotta go...bye 11:11:04 --- part: TheBlueWizard left #forth 11:52:33 --- join: ASau (n=user@home-pool-170-3.com2com.ru) joined #forth 11:52:44 Dobryj vecher! 11:53:24 Do you know any FTP client, that supports command-line scripting? 11:53:41 Or feeding commands throw stdin? 11:53:55 Building under Cygwin? 11:57:55 ncftp? 12:08:08 I don't understand, where's the problem! 10 min. passed, 12:08:08 but I don't have any reply either from HTTP and FTP! 12:08:19 Damn! 12:08:57 --- quit: Cheery ("Leaving") 12:10:03 How can I check anything, when nothing works?! 12:15:39 Prayer? :) 12:25:17 --- quit: Al2O3 (Remote closed the connection) 12:44:58 --- quit: ASau ("ERC Version 5.1.2 (IRC client for Emacs)") 13:31:34 --- join: ttuttle (n=tom@unaffiliated/ttuttle) joined #forth 13:31:36 Quartus: Hey. 13:43:38 Hey. 13:44:17 Did you hear, FreeDB (the free CDDB server) is going away? 13:44:23 I didn't. 13:45:33 Yeah. What a shame. There was a fight over the future of FreeDB (Web 2.0 vs. old-skool but free) so now everyone's giving up. 13:45:50 I expect someone will take up the reins, if there's a market. 13:46:01 Probably. 13:46:11 I'm thinking about a P2P CD database. That would be cool. 13:46:45 Even without compression, the metadata for a typical CD is probably less than 1000 bytes, and the MTU on most networks is around 1500. So you could easily send the entire entry in a single UDP packet--very low overhead! 13:47:05 Which gives rise to the question, why p2p? 13:47:17 To prevent grumpy server admins from shutting it off. 13:47:26 Sure, they could stop updating the client, but it would still work. 13:47:41 Mirroring the database would do the trick. 13:47:44 Yeah. 13:48:43 And if I had a chance to reengineer CDDB, I'd 1. give it DNS-style "compression", where a given string is specified once and then referenced when needed, and I'd give it support for a wide variety of field types (so classical music fans don't get annoyed). 13:49:00 Classical music fans buy CDs. :) 13:49:14 Yeah. 13:49:22 But they want their computers to automatically show the track names. 13:49:40 You think so? 13:49:41 CDDB is for looking up track names for physical CD's, not for pirating music ;-) 13:49:45 Sure, why not! 13:50:03 Well, let's see. First, if you're a serious audiophile, you aren't playing CDs on your computer sound system. 13:50:16 They don't usually, because the existing schemas don't accomodate a composer, arranger, conductor, and performers--there's only one artist field--and consider each track to be a song. 13:50:24 Second, if you can't tell what piece of music you're listening to, you're not much of a classical music fan. 13:50:53 Yes, but if you're not a serious audiophile (many people aren't), and you want to store your music on the computer (even in lossless format), you don't want to have to enter the names by hand. 13:51:19 It's not for identifying a track by sound, it's for identifying the entire CD (with track and artist names) based on the "structure" of the CD (track length and position). 13:51:37 So the market is narrowed to classical music fans who don't care how crappy the sound quality is? That's got to be, what, one guy? :) 13:52:20 No, there are plenty of classical fans who will use relatively good (192+ kbps, or even lossless) sound plus a good set of headphones (Bose) on their computer. I know some. 13:52:37 If you say so. 13:52:43 :-b 13:53:18 If there's any music that clearly demonstrates the distortion introduced by lossy compression, it's classical. 13:53:57 True. Lossless is good (I should use it, but I'm lazy and don't want to re-rip all my music. Besides, most of it is rock or folk.) 13:54:43 Vocals are the next to show the damage. 14:17:22 i dont entirely agree with the above, the greatest damage done to music is the unit your playing it on - even an MP3 sounds damned good played on my car cd player 14:17:44 can hardly tell the difference between the original cd and the one i made from the mp3's 14:21:01 Which means a more faithful recording would sound that much better. 14:21:35 It does depend on the kind of music; most pop music is probably improved by the distortion. :) 14:21:41 Quartus: lol 15:00:12 --- join: nighty (n=nighty@sushi.rural-networks.com) joined #forth 15:14:45 --- join: snoopy_1711 (i=snoopy_1@dslb-084-058-144-240.pools.arcor-ip.net) joined #forth 15:23:22 --- quit: Snoopy42 (Read error: 145 (Connection timed out)) 15:23:31 --- nick: snoopy_1711 -> Snoopy42 15:27:55 i only listen to blues and classical :) 15:28:05 pop isnt music 15:28:17 rap isnt music 15:28:51 jazz isnt music, its a random jumble of notes in no decernable order or rythum 15:29:04 4 men playing 4 different songs at the same time 15:31:33 neway gtg 15:31:36 --- quit: I440r ("Leaving") 15:40:10 and yet, people sincerely make and enjoy all of those. 15:41:40 CDDB largely deserves to go away; it's so poorly designed. 15:42:12 hopefully the next generation will at least have the good sense to deal with encodings of names. 15:43:32 also, trying to monetize CDDB? How many times are they going to try to do that? Get /jobs/. 15:46:06 --- quit: neceve (Remote closed the connection) 15:51:50 it's guaranteed that : foo >r >r 2r> ; acts like swap, right? 15:52:18 yes 15:52:50 on anything complying to ansi/iso forth, anyway 15:53:57 --- nick: segher__ -> segher 15:54:04 Right, 2r> has an inherent swap. What do you need it for, ayrnieu? 15:54:42 just curious; I do >r in seperate places and the swap in 2r> works out 15:54:58 I'd find that confusing to read. 15:55:15 It's clever, but clever is the enemy of clear. 16:03:18 --- quit: nighty (Read error: 104 (Connection reset by peer)) 16:23:41 --- join: crcx (n=crc@pool-70-110-205-218.phil.east.verizon.net) joined #forth 16:33:49 --- quit: crc (Read error: 110 (Connection timed out)) 16:34:46 --- nick: crcx -> crc 16:34:53 --- mode: ChanServ set +o crc 17:09:13 --- quit: zpg ("ERC Version 5.0.2 $Revision: 1.726.2.10 $ (IRC client for Emacs)") 17:38:13 --- join: Al2O3 (n=Al2O3@pool-70-104-23-46.dllstx.fios.verizon.net) joined #forth 18:04:11 --- join: docl (n=main@70-101-145-1.br1.mcl.id.frontiernet.net) joined #forth 18:53:32 --- quit: virsys (Read error: 104 (Connection reset by peer)) 18:57:46 --- quit: uiuiuiu (Remote closed the connection) 18:57:50 --- join: uiuiuiu (i=ian@dslb-084-056-229-118.pools.arcor-ip.net) joined #forth 19:05:04 I ended up not needing it. 19:11:55 also, it's very, very satisfying to start out with lot of complex buggy code and then after a few iterations have something much simpler, smaller, and more directed. Pity I had to write the complex code to feel this satisfied, though :_) 19:20:05 --- quit: Al2O3 (Remote closed the connection) 19:20:52 --- join: Al2O3 (n=Al2O3@pool-70-104-23-46.dllstx.fios.verizon.net) joined #forth 19:26:37 : #questions ( quiz -- ) 0 0 do @ dup 0= if drop i leave then loop ; \ too clever? 19:26:45 ( quiz -- u ) 19:35:25 I think some clarity may have been lost in the goal to make it one-liner. Is 0 0 supposed to make it an infinite loop? 19:36:54 Bear in mind I have no idea what data you store at 'quiz', or if it's an array, or what. 19:37:12 not infinite; it can iterate until rollover. Here, it just continues until quiz @ 0= 19:37:41 In fact that code appears to read from quiz exactly once, since it doesn't dup before the read. 19:38:22 I didn't try to make a one-liner, I've just been reading Forth Application Techniques, which talked a bit about looping 19:38:38 That might explain it; I'm convinced FAT exists to make good programmers worse. :) 19:39:17 Can you explain what #questions does, a word at a time? I confess it confuses the hell out of me. 19:41:52 it repeatedly fetches from an address a, yielding a'|0, in essense walking through each 'question' in a 'quiz', where questions link to previous questions. When it fetches a 0, it exits, leaving only the loop-count on the stack. The 'loop count' incidentally is the number of fetches made until 0, and therefore the number of questions in the quiz. 19:42:29 Oh. So quiz is a linked list with a zero terminator? 19:42:44 I could write it: : #questions ( quiz -- u ) 0 begin swap @ dup if drop exit then swap 1+ again ; 19:42:56 Why not use a BEGIN/WHILE/REPEAT loop? 19:43:15 *nod* , although in I only keep track of the very last element in quiz, so it's more like the forth dictionary. 19:43:33 that 0 0 DO ... LOOP thing occured to me first :-) 19:44:09 0 0 DO ... LOOP looks like a typo to me. It's a weird idiom, with all the overhead that DO/LOOP brings. 19:44:28 oh, : #questions ( quiz -- u ) 0 begin swap @ dup while swap 1+ repeat drop ; ? 19:45:06 : #questions ( quiz -- u ) 0 swap begin @ dup while 1 under+ repeat drop ; 19:45:14 I guess that's better. 19:45:16 Much nicer. I'd annotate that with a comment after the 0 literal, identifying it as the start count, and put a comment inside the word identifying what it does, of course. :) 19:45:42 Let's see... 19:45:52 : #questions ( quiz -- n ) 19:45:59 0 \ start count 19:46:01 begin 19:46:04 @ dup while 19:46:09 1 under+ 19:46:14 repeat drop ; 19:46:33 oops, left out the comment. That'd go after the : line. 19:46:47 \ Walks the quiz linked list and counts the number of questions. 19:47:16 Now, that I could read at a glance in six months and have no trouble following. 19:48:11 I'll make a note to read this in six months :-) 19:50:51 --- quit: ttuttle ("leaving") 20:08:58 curiously, why are you convinced of that, re FAT? 20:17:45 It's one of the most stilted and awkardly-written tutorials I've ever read. 20:18:53 how so? I've thought it alright. 20:19:25 If you already know Forth, it's fairly easy to read through. As a teaching document, I think it leaves a lot to be desired. 20:19:58 ah. maybe. The first document I read on Forth was the gforth 'crash course'. 20:20:22 I know I'm shaking my fist at the self-proclaimed gods, but I don't find Ertl an able teacher either. 20:22:43 There's a void needing to be filled in that regard. I haven't read much of Pelc's effort, I should check that out. 20:25:21 --- join: asymptote (n=weldon@c-68-33-63-227.hsd1.dc.comcast.net) joined #forth 20:30:05 --- join: madgarden (n=madgarde@Toronto-HSE-ppp3708723.sympatico.ca) joined #forth 20:37:24 --- join: segher_ (n=segher@dslb-084-056-141-254.pools.arcor-ip.net) joined #forth 20:47:44 --- quit: segher (Read error: 110 (Connection timed out)) 20:50:37 --- quit: asymptote ("Leaving") 21:17:46 ( http://sagacity.merseine.nu:8080/misc/quiz.tgz -- my latest iteration. Useful enough that I'll actually study what I meant to study with this, for a while, and only continue if I need to.) 21:33:28 --- join: virsys (n=virsys@or-71-53-74-48.dhcp.embarqhsd.net) joined #forth 22:32:47 still trying to understand gforth's multitasking 22:33:36 require tasker.fs user oc : .. 64 cells NewTask activate begin oc @ emit again ; : a [char] a oc ! .. ; : b [char] b oc ! .. ; : go a b ; spits out ababababababab... at least, which is encouraging. 22:52:36 --- join: ASau (n=user@home-pool-170-3.com2com.ru) joined #forth 22:52:56 Dobre jitro! 22:53:39 howdy. 22:54:50 I think I found a way to do "version control" in block environment. 22:55:09 For start, I will back up the whole state. 22:55:43 Finding difference I try later. 23:59:59 --- log: ended forth/06.07.02