00:00:00 --- log: started forth/04.03.30 00:36:14 --- quit: yeoh (Read error: 60 (Operation timed out)) 00:36:14 --- quit: madgarden (Read error: 54 (Connection reset by peer)) 00:36:42 --- join: yeoh (~yeoh@219.95.4.108) joined #forth 00:39:04 --- quit: yeoh (Client Quit) 01:11:29 --- join: yeoh (~yeoh@219.95.4.108) joined #forth 01:29:58 --- quit: ASau () 01:36:56 --- quit: yeoh ("User pushed the X - because it's Xtra, baby") 02:05:25 --- join: arke (~Chris@wbar8.lax1-4-11-099-104.dsl-verizon.net) joined #forth 02:52:22 --- join: crc (crc@1Cust61.tnt1.levittown.pa.da.uu.net) joined #forth 03:05:20 kc5tja: heh, you're on quite late tonight :) 03:10:29 * arke is CF-ing 03:29:46 --- join: ASau (~asau@158.250.48.196) joined #forth 03:31:08 Dobryjj den'! 03:31:26 Hello ASau 03:32:00 crc. I think this could be useful to you. 03:32:59 I don't know how it's in ANS Forth or in '83, but in FIG Forth I am able to change IN from console to point to pre-loaded Forth code. 03:33:09 I mean plain text. 03:33:35 --- join: qFox (C00K13S@cp12172-a.roose1.nb.home.nl) joined #forth 03:33:39 Without line separators or something of that kind. 03:33:49 Just a large string. 03:34:08 One string. 03:34:42 I can describe what exactly I've done, if you're interested. 03:34:50 Yes, please 03:35:01 Well. 03:35:15 I've prepared a blocked file. 03:35:31 But I've no way to access it from Forth. 03:36:11 Then I've written R/W (a disk driver) in the way to work with RAM. 03:36:20 Like RAM drive. 03:37:13 But I was lazy to type R/W definition in every time on start. 03:38:12 hi 03:38:17 I've studied code and found that I can substitute memory address where WORD (and INTERPRET) gets input. 03:38:43 Actually, I substitute terminal buffer address. 03:39:22 In my Forth, address of area to parse from is calculated in this way (some details omitted): 03:39:29 TIB @ IN @ + 03:39:51 And IN is increased till the end of buffer. 03:40:34 But I can interrupt interpreting when I call QUIT (it asks user to enter something). 03:40:57 Or any other, indirectly call QUIT. 03:42:22 At the end, I've found solution to append to my binary file (COM) a Forth source with deleted CR LF and substituted HT to space. 03:42:53 Well, in fact, I substituted all control characters with spaces. 03:43:07 =D 03:43:19 Dobryjj den', arke! 03:43:42 terve alekseij 03:43:45 ja arke 03:43:46 My LIMIT word marks the end of image loaded. 03:44:12 I've found "magic command": 03:44:19 LIMIT TIB @ - IN ! 03:44:40 Guten Tag, mur! 03:45:52 crc. I don't know how you deal with input buffers, but you may consider this way as useful for compiling part of RF. 03:47:55 I'll look into using it to help improve the compiler. 03:47:59 If you've seen how postForth is done, you can combine postForth's approach to kernel and pre-compiling with approach to access text as described above. 03:50:18 And this is similar to the way, how MVP-Forth used to interprete command line. 04:00:40 * crc just got support for loading and saving a file working under Windows, now for the Linux version... 04:01:05 And I'm amused by this: 04:01:17 : FENCE! FENCE @ MAX FENCE ! ; 04:01:20 I guess I'll need to code a block editor now too. 04:01:35 What is FENCE 04:01:42 Take a look at FIG-Forth portable editor. 04:02:08 I've done block editor in 4 lines after that. 04:02:50 In just four lines? What functionality does it have? 04:03:12 Replace with input line. 04:03:19 Erase line. 04:04:16 It is sufficient for first time. 04:04:26 And it can be extended. 04:04:26 True enough. 04:09:34 It should be approx. this way: 04:25:26 : LINE >R C/L B/BUF */MOD R> B/SCR * + BLOCK + ; 04:25:37 ( n -- addr ) 04:25:58 Sorry, ( line# scr# -- addr ) 04:26:19 : E SCR @ LINE C/L BLANKS UPDATE ; 04:27:03 : TEXT HERE C/L 1+ BLANKS WORD HERE PAD C/L 1+ CMOVE ; 04:27:29 No. 04:27:32 --- nick: changler -> chandler 04:28:57 : P >R 1 WORD HERE COUNT R E R> LINE SWAP CMOVE ; 04:29:18 Do not include TEXT . 04:29:53 Well. 04:30:25 Main idea is to define a word that returns address of line in disc buffer. 04:30:45 n LINE C/L BLANKS should erase line #n. 04:30:55 This is called E 04:31:27 n P xxxxxx should place text into line #n. 04:32:02 Variable SCR is used to hold current screen number. 04:43:43 --- quit: crc ("Off to work...") 04:53:49 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 04:55:26 Hi 05:09:26 Dobryjj den', tathi! 05:16:06 hi Rob, ASau 05:35:00 How's your for today, tathi? 05:41:20 oh, pretty good. 05:41:53 I'm finally starting to do some serious work on my new assembler 05:41:58 How about you? 05:42:24 I'm migrating to blocks, it seems. 05:42:49 I've written good enough set of words to provide persistancy. 05:43:26 In week or two float numbers to go. 05:43:40 Do you write assembler in Forth? 05:46:20 No, in assembly language. 05:47:25 I thought about doing it in Forth, but decided it would be able to build itself sooner this way. 05:48:47 Hm. 05:48:57 Yet another FASM? 05:49:31 don't know fasm 05:49:46 http://fasmassembler.net/ IIRC. 05:49:58 ah, ok. 05:50:07 this is for PPC 05:50:25 Ah. 05:50:51 my Forth that I'm currently using _does_ do some assembly, but I decided I really want an assembler with Forth-like features 05:50:52 But anyway, wouldn't this be easier to do in Forth. 05:51:02 rather than just a Forth with an assembler on top. 05:51:10 yeah, probably. 05:51:21 Maybe you could adapt Gforth or any other one. 05:52:03 I'd like to be able to distribute this without requiring Gforth or whatever. 05:52:37 Hm. PPC asm should be much easier to work on. 05:53:34 I mainly want a replacement for the GNU assembler, which can be really annoying. 05:54:03 Plus I want forthy things like an interactive mode, and being able to define new "words" 05:54:49 How do you want to achive this? 05:55:17 This should be more like asm on top of Forth. 05:56:19 yeah, I'm reusing a lot of the code from my Forth. 05:56:50 But without the stack built in, and with a more complex parser. 05:58:11 You mean, you use single stack. 05:58:45 I mean, "words" take operands in registers, rather than on a stack. 05:59:06 Ah. 05:59:53 Though I expect it to be trivial to add Forth on top of this, and I'm sure I will. 06:00:32 One time I thought of two stage: source -> Forth-like intermediate text -> binary. 06:01:08 But I haven't tried this. 06:12:12 --- join: hovil (~hovil@CommSecureAustPtyLtd.sb1.optus.net.au) joined #forth 06:12:56 Guten Abend, hovil! 06:13:29 bonan nokton, ASau! 06:13:50 How is your Forth? 06:14:27 I don't have a forth 06:14:50 Well. 06:14:58 How is your Forth code? 06:16:03 simple 06:20:44 --- quit: arke (Read error: 60 (Operation timed out)) 06:21:02 installing dragonforth 06:25:42 --- quit: tathi ("leaving") 06:31:33 --- nick: chandler -> changler 06:35:43 hmmm... writing a morse translator seemed _too_ easy =P 06:38:56 well, a bad one was easy 06:41:27 It's pretty hard writing a good one. 06:41:39 That is, sound card input -> text. 06:45:15 hehe, I was only doing - . -..- - 06:45:55 Cheater. 06:47:19 having no dsp experience, I'd imagine it'd take a bit longer for me to write what you've proposed 06:48:17 Probably. 06:48:29 I don't know anything about that either, so.. 06:55:50 --- nick: changler -> chandler 07:15:46 --- join: ribbon (~ribbon@cpc1-bolt4-5-0-cust161.mant.cable.ntl.com) joined #forth 07:15:46 --- quit: networm_ (Read error: 104 (Connection reset by peer)) 07:16:13 I'm back. 07:16:22 Dobryjj vecher, ribbon! 07:16:51 Ogy ogy, ASau? 07:17:15 Sorry? 07:17:24 This language is unknown to me. 07:17:30 What does "ogy" mean? 07:19:37 It means, "I haven't got a clue what you just said." ;) 07:19:39 "Good evening." 07:19:58 And a good afternoon to you also ^^ 07:21:04 How's your Forth? 07:22:01 Non existent . . . 07:22:14 --- join: networm_ (~networm@L0652P18.dipool.highway.telekom.at) joined #forth 07:22:23 Then how's your Forth code? 07:22:35 Terve, networm_! 07:22:39 Similarly :) 07:22:51 Well. 07:22:59 You need to write one. 07:23:13 I'm currently just investigating the language... 07:23:24 Ah... 07:23:29 That's good. 07:23:39 So how do you find Forth? 07:23:57 As a language? 07:24:06 Simple enough, I suppose... 07:24:37 Well. 07:24:41 What about code? 07:25:19 I haven't written, or looked at any yet -- 07:25:30 Dug around the tutorials and what not... 07:25:38 Well. Take a look at something. 07:26:06 There's so many examples to look at that I can't recommend any. 07:26:46 There're... 07:27:16 My attraction to forth is the small size of it's core system... 07:28:21 That was my way to Forth too. 07:28:29 ...and through the, the ability to comprehend all of it ~ 07:28:46 Oh? What is your way now? 07:29:12 hi ASau! (before only xchat's auto-join joined..) 07:29:13 Now I'm trying to use it for bigger applications. 07:29:17 --- nick: networm_ -> networm 07:30:14 Are you using forth as your OS, or is it hosted under something else? 07:30:46 I'm using it hosted. 07:31:08 But I keep oportunity to configure it as standalone application. 07:31:32 I've experimented with such configuration. 07:32:18 So, what are you currently working on? 07:32:23 Actually, I'm thinking of more support for running standalone. 07:32:56 Currently, I'm writing floating point numbers package. 07:33:54 For fun? 07:33:58 It should be like primitive asm with FPN and control structures support. 07:34:03 For work. 07:34:08 * ribbon nods 07:34:28 I plan to use it standalone for numeric processing. 07:37:12 Were there no C libraries you could grab? 07:37:34 There're no C libraries for these tasks. 07:39:30 And I looked into GNU libc. 07:40:09 Just to be sure C does not fit my needs. 07:42:07 I thought there was a mathlib, or similar 07:42:09 * ribbon shrugs 07:42:14 Well. 07:42:19 There is GNU SL. 07:42:30 It lacks features I need. 07:42:51 Anyway, I have specific enough needs. 07:42:58 Fair enough. 07:43:46 I will be in need for more flexible language, as I don't have numbers only. 07:48:21 --- join: fridge_ (~fridge@dsl-203-113-230-141.NSW.netspace.net.au) joined #forth 07:49:21 What's the overall project? 07:50:13 It seem it should be expert system. 07:50:21 --- quit: fridge (Read error: 110 (Connection timed out)) 07:50:33 Wow -- what field? 07:50:36 I'm going step by step. 07:50:53 Chem. thermodyn. 07:52:00 And statistics. 07:52:00 Like that used by chemical engineers? 07:52:34 Yes. 07:53:10 But I'm not engineer, it won't contain everything possible. 07:55:03 That's a pretty big project ~ 07:55:08 You working on a big team? 07:55:26 I'm starting with my current needs. 07:55:35 (Or with an existing code base.) 07:55:47 * ribbon is reminded to think the forth way :) 07:55:50 That is modelling. 07:56:42 Current goal is multi-dimensional non-linear optimization. 08:00:15 What method(s) are you thinking of using? 08:04:00 For start, I need simple Hooke---Jeeves and/or Nelder---Mead algorythms. 08:04:14 That's for non-linear part. 08:04:54 Linear parameters I plan to find separately by elimination or LU. 08:05:55 I think that direct methods will be better. 08:06:26 My functions are complex enough to calculate gradient. 08:11:20 And, I tried multi-dimentional tangents. That does not work good. 08:13:11 I assume you've put all the maths down on paper first... 08:13:16 ...mixing maths and code... 08:13:19 * ribbon shudders 08:14:31 Well. 08:14:40 I've done this. 08:15:37 WLSS function is easy. 08:16:10 Weighted squares sum. 08:16:20 * ribbon okays 08:18:00 I have need to use nonlinear approximation by functions of such a kind: \sum_i w_i f_i(x) 08:18:52 The whole F is linear of w_i, but f_i depend on several parameters non-linearly. 08:19:30 I've programmed optimisation in C... 08:19:34 Brrrrrr. 08:20:34 Just think what you need to do when number of f_i is changed. 08:21:26 I'd need to see more of the maths before I could figure out what tricks I could play with it... 08:22:05 (I'm not saying that I want to see more maths, though ;) 08:22:51 Well, for first approx. I need f_i(x)=(t/sh t)^2, where t=a_i/x 08:23:32 a_i is a constant? 08:23:42 Second approx. is: F_i(x) = \int\limits_0^x f_i(t) dt. 08:23:49 a_i is parameter to find. 08:23:57 * ribbon nods 08:24:15 Sorry. 08:24:24 Second approx. is: 08:26:06 F_i(x)=\int\limits_0^{a_i} t^{b_i} f_i(x; p) dp. 08:26:38 F_i(x)=\int\limits_0^{a_i} t^{b_i} f(x; p) dp. 08:27:00 f(x; p) = ((p/x)/sh(p/x))^2 08:27:47 Actually, f is Plank-Einstein function. 08:27:54 F is Debye function. 08:28:26 Further is more. :))) 08:29:35 a_i = ^1A_i + ^2A_i x, b_i = ^1B_i + ^2B_i x 08:30:21 It's possible that one of functions is not P.-E. or D. :) 08:31:07 You've lost me :) 08:32:14 * ribbon goes to fetch paper and pencil 08:32:42 That's demonstration that you may go without "more of the maths." 08:34:17 You can't catch particularities of all the functions that can appear here. 08:45:17 I don't understand this notation: ^1A_i + ^2A_i x, b_i = ^1B_i + ^2B_i x 08:45:52 "A" with left upper index "1", right lower index "i" etc. 08:46:04 Usual TeX notation. 08:46:50 I thought so... 08:49:02 The most frightening inscription I've ever seen was 4 levels nested left lower index. 08:50:18 I wonder is that would need bracketing... 08:50:20 is=if 08:50:21 Something like _{_{_{_ia}\Delta}A}\xi 08:52:52 No in TeX you don't need bracketing, when you have single character. 08:54:06 I was thinking about whether the actual text needed the bracketing... I suppose not ~ 08:54:50 No. Integral has the lower precedence than multiplication. 08:55:17 Integrating... 08:55:26 How should it be? 08:55:40 ? 08:55:51 How should what be? 08:55:53 I'm not mathematician. I don't know right term. 08:56:02 Integral. 08:56:12 Thanks. 08:56:31 I never made it to mathematician status. 08:57:01 (Or 'integration'.) 08:57:11 Well. I never dealt with math. articles on calculus. 08:57:43 Integration is the act of integrating. Integral is either 1) the symbol used to denote integration, or 2) the result of said integration. 08:57:58 OK. 08:58:18 * kc5tja is in Calc-II, the course almost entirely dedicated to integration and its evilness. 08:58:36 kc5tja: Uni course? 08:58:43 ribbon: Yes. 08:58:57 I know Calculus only in native language. :) 08:59:05 * ribbon pities kc5tja 08:59:53 * kc5tja nods :) 09:02:20 Calculus is called "Math. Analysis" here. 09:03:27 Poor kc5tja 09:03:33 I may doubt in terms. 09:03:40 "Introduction to Analysis" is a 3rd year university course around here. Differential equations is considered a pre-requisite to take the class. :) 09:03:45 In English terms. 09:04:15 oh, I forget: it may not be 3rd year; it could be graduate level. 09:05:09 I'm not sure, whether I understand you right, I don't know your grades. 09:06:20 There are three Calculus-series classes that you start out with: Calc I, Calc II, and Calc III. Each takes a semester to complete. 09:06:24 Then there is Differential Equations. 09:06:29 Beyond that, I don't remember. 09:06:35 We have these grades: 1) school; 2) univ. (diploma); 3) "aspirantura" (kand. of some sci./hum./med./...); 4) doctor. 09:06:46 But after 4 years of education, you get a Bachelour's degree in whatever your major is. 09:07:01 Those are not grades in USA. 09:07:06 Those are institutions. 09:07:25 Grades are things like "You passed," "You got a C," or, "2.8 out of 4.0 Grade Point Average." 09:07:37 Hm. 09:08:04 That's internal to institution/university here. 09:08:51 After two years, you can earn an associate's degree. After four years, bachelor's degree. After six, master's degree. After eight or more, Ph.D. (doctorate degree). 09:09:17 This is all within the university scope. 09:09:51 Before the university level, you spend around 12 years in what you call "school": 6 in grade school, and 6 in so-called high-school. 09:10:04 We have no intermediate degrees in university. 09:10:21 Here it's: 3 for a bachelor's degree, 4 for a master's degree, and 7 for a post-doctorate degree 09:10:24 You either earn diploma or not. 09:10:56 (But we might be switching over to some other system Real Soon Now.) 09:11:45 ASau: We don't have intermediate degrees either (not unless you're willing to pay for them). When you enter college, you have to state whether you're matriculated for either a 2-year or 4-year degree. 09:11:46 That's called "specialist." 09:12:26 Then, after that, to go to graduate school, you have to take these wonky tests and whatnot, pay almost your entire life's savings, then work for sub-minimum-wage rates for some researcher to get your master's or doctorate degree. 09:12:51 :) 09:12:51 We don't have them at all. 09:12:52 Later. 09:13:01 --- quit: ribbon ("A life without meaning") 09:13:45 When you enter university you know study plan, 4 to 6 years. 09:13:50 I'm not sure what I would like to study when I go to university 09:14:12 You are to pass exams in time. 09:15:17 well, I have a few selected but haven't made a final choice yet 09:15:30 the plan was for my fiance to finish her degree, then I will start mine 09:15:48 so hopefully at no stage will we have to live like poor uni students 09:15:56 =) 09:16:07 At last year you are to perform research or engineer work and present results to special comission. 09:16:38 After that you get dimploma and become "specialist". 09:17:09 Engineer, researcher, doctor (when you finish medical inst.) etc. 09:19:04 And we have no selection of courses. 09:19:50 If you've choosen to be chemist, you are to pass exams on inorganic, organic, analytical, physical etc. chemistry. 09:19:51 ASau: So your university system is more like a guild system then. 09:20:56 And of course all general courses, like phylosophy, history, math. analysis, algebra etc. 09:20:59 Well, that's a neat way of handling those students who don't know what they want to be when they pass the exams. :) (Your degree is . . . Chemistry!) 09:22:03 Actually, you get enough knowledge to work in another field than you specialization. 09:22:13 Right. 09:22:41 So individual classes don't have things like final exams? You can't pass or fail individual classes? 09:22:43 There's optional course of pedagogic. 09:23:11 There're individual courses, of course. 09:23:35 They're for finer specialization. 09:24:37 E.g. I'm to become "wide field researching chemist." 09:24:59 More particular "physical chemistry." 09:28:44 whats the size of a typical stack? eg, how many items can you put on the stack before it'll bork up? 09:28:48 And as any "chemist" I've passed exams on chemical technology and several related courses. 09:29:11 qFox. Perform an experiment. 09:29:39 It depends on your system. 09:29:40 yes i can test it in winforth, but isnt there a standard for it? 09:29:47 No. 09:29:56 There can't be such standard. 09:30:20 not even a minimal? 09:30:27 You may hope there're no less than 4 cells available. 09:30:37 heh 09:30:41 ok 09:31:17 same for return stack i guess? 09:31:30 That's not a problem: in most cases you can configure your system to have depth needed. 09:31:44 Right. 09:32:02 Well. I should go. 09:32:06 Bye! 09:32:08 --- quit: ASau () 09:47:51 --- join: Mark4 (~Mark4@64.47.44.254) joined #forth 09:57:23 ANSI says that 8 cells is the minimum depth for a data stack. 09:57:30 Ditto for the return stack. 09:57:46 specifically why ? 09:57:58 i would tend to agree, that would be an absolute minimum heh 09:58:09 but why specifically 8 cells ? 09:58:13 I don't understand your question. 09:58:23 why do they state 8 cells specifically 09:58:32 why not 13 09:58:33 or 7 09:58:42 Because it's the smallest usable stack depth that can contain enough state for both a regular task's computation plus some room for interrupt handling. 09:58:44 whydo they need to specify ANY minimum ? 09:59:02 I just answered that question. 09:59:13 that really depends on implementation AND on the given processor doesnt it ? 09:59:27 AND the specific Forth implementation too. 09:59:29 But consider: 09:59:38 the smallest stack depth needed to perform computation without loss of state is 3. 09:59:42 That's ignoring interrupts. 09:59:48 So you figure the interrupt handler ALSO needs another 3. 09:59:48 ok 09:59:51 So we're up to 6. 10:00:12 Then we need to hold intermediate data pointers too, to preserve the state. That should be about 1 cell, so we are up to 7. 10:00:13 plus 2 more just in case ? 10:00:14 --- join: Herkamire (stjohns@h000094d30ba2.ne.client2.attbi.com) joined #forth 10:00:19 7 isn't a power of two, but 8 is. 10:00:31 errr 10:00:34 And in electronics, power-of-twos are overwhelmingly easier to implement in hardware than not. 10:00:36 immediate data pointers ? 10:00:45 What about them? 10:00:53 i dont understand what you mean by them 10:01:05 I never wrote the word immediate. 10:01:21 I wrote intermediate. 10:01:53 hrm 10:02:16 well i can live with 8 as a minimum even if i dont totally understand the logic behind it hehe 10:02:38 i would never cripple a forth that way tho unless i absolutely had to 10:02:49 ANSI only specifies a *minimum*, not a maximum. 10:02:53 yes 10:02:55 Please don't misrepresent what I'm saying. 10:02:59 i wasnt 10:03:15 nor am i critisizing ans for stating that minimum 10:03:18 If you want, you can have 4.2GB sized stacks. :D 10:03:29 lol 10:03:38 i think isforth has 4k each 10:04:00 which makes sense because its one page heh 10:05:07 FTS/Forth was 2K each, both packed in the same page. 10:05:32 ya my 8051 forth uses 128 bytes each, both in the same page (256 bytes) 10:05:36 But as FTS/Forth development has stalled in favor of the Kestrel, that is no longer of any concern to me. :) 10:05:46 heh 10:05:55 your not abandoning fs are you ? 10:06:00 pick it back up later ? 10:06:07 Speaking of which, I still need to find a good serial interconnect bus for expansion peripherals for the machine. 10:06:17 It's the single hardest part of the design I've ever encountered. 10:06:18 usb ? 10:06:36 Do you have any hint of a clue as to what is involved in supporting USB? 10:06:38 :) 10:06:45 And how much it'll cost me? 10:07:02 hmm the cygnal 8051's can support usb. 10:07:03 USB sucks ass compared to a number of available alternatives anyway. 10:07:10 Yeah, as a *slave* 10:07:12 Not as a host. 10:07:22 oh 10:07:57 * kc5tja is looking for a serial interconnect that: 10:08:07 1) doesn't cost an arm-n-leg to design into a device. 10:08:12 2) has adequate performance, 10:08:28 3) Doesn't require the CPU to babysit the bus (which USB kind of does in a way), 10:08:41 4) has minimum wires, 10:09:03 5) has an easy-to-understand, simple, and bug-free-by-design protocol on it. 10:09:19 Many of these goals are conflicting, of course. 10:09:22 now your asking for too much :) 10:09:45 And that's the reason I'm so hung up on it; I have several designs I can go with, but they each have their pros and cons, and I can't yet decide which is more important. 10:09:54 Commodore did it. I can do it. 10:10:02 :) 10:10:03 ys 10:10:04 yes 10:10:26 In fact, in many respects, Commodore's bus was *vastly* superior to USB. 10:10:46 SerialBus comes the closest to my ideal bus (SerialBus == IEEE-1394, BTW). 10:10:55 But I don't have the hardware resources to support 100Mbps. :) 10:10:55 yes 10:11:01 my laptop has 1394 10:11:09 At best it can do 2.0Mbps. 10:11:42 But, at these data rates, I need dedicated hardware to manage the bus; it'll be impossible for a PIC chip to bit-bang the bus. 10:12:24 So that adds a little bit to the cost of a device sitting on the bus. 10:12:32 Crap. I need to get to school. 10:12:37 I didn't realize how much time had passed. 10:13:20 l8er 10:14:40 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 10:28:29 Hey 10:33:02 hi 10:33:12 whut u up to ? 10:41:04 Trying to make this receiver NOT sound like a motorboat :P 10:43:22 lol 10:43:27 use a bigger hammer 10:46:44 :D 10:46:50 That's the cure for everything 10:50:14 no thats death. 10:50:25 although a bigger hammer helps to achieve that goal 10:52:09 duct tape! 11:04:12 --- quit: Mark4 ("Leaving") 11:21:09 I always get a runny nose and sneezes if I forget to turn on the aircon 11:21:14 can't be good 11:31:59 hey 11:34:13 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 11:47:03 after trying emacs for 4 months 11:47:12 I have decided it is not for me. 11:47:17 back to vim I go 11:47:22 Great! 11:47:28 Welcome back to life 11:52:08 =D 11:52:33 --- quit: SDO ("Vision[0.9.6-0203]: i've been blurred!") 12:11:40 --- join: o-- (o@virgo.bombsquad.org) joined #forth 12:12:19 --- join: sangamon (~staylor@h210n2fls33o272.telia.com) joined #forth 12:22:51 hovil: wb :) 12:24:01 at least I can say I really did try to figure out why people like it 12:24:23 wrote a few macros/utils in lisp even 12:25:06 I used emacs for a year. I liked it a lot 12:26:43 hey Herkamire 12:27:17 hi slava :) 12:33:00 Herkamire, i'm writing some unit tests for factor 12:33:06 Herkamire, do you write regression tests? 12:39:45 --- part: sangamon left #forth 13:00:25 hmm, there's nearly a DVD's worth of forth videos on ultratechnologies site 13:06:39 --- join: wossname (wossname@HSE-MTL-ppp77524.qc.sympatico.ca) joined #forth 13:09:07 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 13:09:13 --- mode: ChanServ set +o kc5tja 13:27:00 --- join: madgarden_ (~madgarden@derby.metrics.com) joined #forth 14:03:28 --- quit: hovil ("Leaving") 14:06:35 --- join: Mark4 (~Mark4@64.47.44.254) joined #forth 14:06:35 --- quit: Mark4 (Client Quit) 14:07:10 --- join: Mark4 (~Mark4@64.47.44.254) joined #forth 14:07:27 slava: not really. At this point most of the code is the editor and forth core. so if that stuff still works I figure I'm OK 14:09:43 Herkamire, i found a number of bugs by writing careful regression tests, i and now i can more easily make major changes to the compiler, etc 14:12:54 yeah, testing is really nice when you're going to make major changes 14:13:22 just run the tests before and after the major change 14:15:30 rewrite the internals as much as you want -- as long as the interface stays the same and all the tests pass...you're ok. 14:24:51 Long live Unit Testing! 14:32:14 kc5tja 1+ 14:32:37 * ianp is doing his first project with good unit testing (well, ok, MY tests are good) and is loving TDD 14:33:55 the other day i rewrote factor's parser. instead of doing it all at once and hoping the interpreter will boot, i implemented it a piece at a time, and tested each piece with small source file test cases. when i actually swapped in the new implementation, there were only 2 minor problems that prevented the interpreter from starting 14:34:40 nice 14:34:47 slava, how's the game coming, anyway? when can we play? :) 14:35:47 i'm working on the armed robbery code right now :) 14:35:52 haha 14:35:56 ok, I can wait :) 14:42:40 * kc5tja is trying to figure out how the Commodore 128 wired the CIA chip's serial port to the same lines as the bit-banged data lines. 14:42:55 Part of the reason I have no unit testing, is I want to write the tests in forth, and I'm not sure what to do if I detect one 14:43:06 That will offer me some important clues as to how to utilize the 6522's serial port in a similar manner. 14:53:39 hmmmmm 14:53:49 Not quite the way I would have done it, but I suppose it works. 14:55:49 I write detailed tests usually as I write something. 14:55:56 but usually after I use it for a while, I delete the tests 14:56:13 Sorry, I was referring to the Commodore 128's serial port implementation. :D 14:56:39 * kc5tja never disposes of tests. 14:56:57 They are very important for two reasons: first, they serve as a regression, and two, they serve as detailed documentation on how something is supposed to work. 14:57:37 good points 14:57:57 so you delete them, but you don't dispose of them 14:59:01 ? 14:59:34 bbl dinner 14:59:43 ahhh 14:59:56 I never delete them. 14:59:58 Never dispose of them. 15:00:02 sorry, in this glare I thought you had said both statements 15:00:04 They're always part of the unit test package. 15:18:13 --- join: SDO (~SDO@68.170.20.253) joined #forth 15:25:20 --- quit: networm (Read error: 113 (No route to host)) 15:27:09 --- quit: tathi ("leaving") 15:47:49 --- quit: ianp ("bbiab") 15:55:56 --- quit: slava (Read error: 60 (Operation timed out)) 15:56:14 --- join: slava (~slava@CPE0080ad77a020-CM.cpe.net.cable.rogers.com) joined #forth 16:00:18 --- quit: cmeme (Read error: 113 (No route to host)) 16:19:44 --- quit: SDO ("Vision[0.9.6-0203]: i've been blurred!") 16:20:52 --- join: cmeme (~cmeme@216.184.11.30.unused.swcp.com) joined #forth 16:40:01 --- join: ianp (~ian@inpuj.net) joined #forth 17:02:33 --- join: warpzero (~warpzero@dialup-ras12-21.eug.or.uspops.net) joined #forth 17:11:14 --- quit: wossname ("haqn dluxe") 17:23:58 --- join: madgarden (~madgarden@Kitchener-HSE-ppp3576712.sympatico.ca) joined #forth 17:27:43 --- join: yeoh (~yeoh@219.95.5.178) joined #forth 17:29:12 hi yeoh 17:33:33 hi. 17:33:42 oeeoz 17:35:46 --- quit: Mark4 ("Leaving") 17:36:18 hey ianp 17:36:43 heya 17:36:54 seems we scared off I440r 17:37:02 UPDATE 17:37:18 ForthBox Kestrel's Peripher Interconnect Bus is nearing its final design. 17:38:18 Each peripheral device sits on a bus that has two common signals for all devices: data, and clock. 17:38:32 There is, in addition, one point-to-point signal that sits between each device, called AUTOCONFIG. 17:39:11 woo! 17:39:29 This permits each device added to the bus to have its address auto-assigned by the computer during its boot sequence. 17:39:30 even though I usually dont know what the hell you're talking about, I totally want one. 17:39:39 :) 17:39:54 ianp: Ever use a Commodore 64 or Commodore 128? 17:39:57 kc5tja: any public docs anywhere 17:40:00 kc5tja no! :((( 17:40:07 I've heard great things about the c64, though 17:40:23 I'm too young to have gotten much of a chance to use them 17:40:40 OK, the Peripheral Interconnect Bus is the primary and preferred means of adding new peripherals to the ForthBox Kestrel. 17:40:55 It, like USB, is a serial bus. 17:41:13 so it's a proprietary .. input? or whatever you want 17:41:33 Unlike USB, it's trivial to add into a circuit, and you don't need to be a member of some special interest group to be able to design and sell devices for it. 17:41:42 ah, ok 17:42:00 Yes, it is proprietary, in the sense that it's a bus custom designed for my ForthBox computers. 17:42:09 kc5tja: unlike modern minicomputers, assume you mena? 17:42:20 But the specifications are fully open and well documented. (Well, WILL BE, I haven't completely finished the circuit design yet) 17:42:22 kc5tja: well i was thinking about a physical cord input format or something, but i get the picture. 17:42:36 ianp: The PIB will run over ordinary CAT-5 cable. 17:42:57 format meaning.. means 17:43:13 6 of the 8 pairs of wires in the cable will be used (2 for the data, 2 for the clock, and 2 more for AUTO-CONFIG and a primitive form of interrupt). 17:43:14 huh. cool. 17:43:29 CAT-5 is what most people call "Ethernet cable." 17:43:32 that sounds awesome 17:43:37 yeah.. i know what that is 17:44:47 The primary goal for making this bus is that something like an AVR microcontroller should be able to connect to this bus trivially -- no obnoxiously specialized chips, no here-today-gone-tomorrow technologies, etc. 17:45:22 The serial bus runs at 2.0Mbps, and will employ a DAMA protocol to ensure collisions never occur on the bus. Thus, maximum throughout is ensured at all times. 17:45:45 Not like Ethernet, where only a fraction of throughput is ever achievable due to collisions and collision avoidance techniques. 17:47:55 ianp: Check out http://www.falvotech.com/cgi/kestrel/PeripheralInterconnectBus -- I have the primary goals documented there, and two concept designs beneath those, which I'm going to discard in favor of this solution. 17:48:38 cool 17:49:03 --- join: madness_ (~madgarden@Kitchener-HSE-ppp3576712.sympatico.ca) joined #forth 17:49:14 Gah. 17:49:20 --- nick: madness_ -> _madgarden 17:50:04 --- quit: madgarden (Read error: 54 (Connection reset by peer)) 17:50:13 --- nick: _madgarden -> madgarden 17:52:30 Be careful, kc5tja... combining C64 and HAM technology could be *lethal*. 17:52:57 madgarden: Huh? 17:53:05 --- quit: qFox ("if at first you dont succeed, quit again") 17:53:20 ;P 17:55:10 I can't stop playing with that little retro terminal thing at work. Gotta pick one up and pet it every time I see one. 17:55:41 Heheh :D 17:55:55 madgarden: Well, as you can imagine, the development of the Kestrel is no longer stalled. 17:56:01 Great 17:56:04 The Peripheral Interconnect Bus is hereby officially solved. 17:56:12 Cool stuff. 17:56:21 cool! 17:56:25 I just need to do a final cost analysis on it to make sure of one final thing before I finally give it the A-O-K. 17:57:03 Well, we can, but if we do it every other computer model, "do it like every other", right kc5tja ? 17:57:04 How about the uh... programmable devices you were looking into. I forget the acronym. 17:57:13 that quote is from the pib doc 17:57:17 CPLD or FPGA? 17:58:18 CPLD 17:58:32 ianp: ??? 17:58:50 madgarden: What about them? 17:58:52 I was thinking "CDMA" but knew that couldn't be it. ;) Fie upon thee, acronyms! 17:59:20 Hehe, CDMA would be damn cool to implement for something like this. But a little bit . . . overkill and expensive. :D 17:59:50 Well... just wondering if you'd progressed further in design of video-related hardware. But I suppose I could check your wiki. 18:00:07 (huhuh... "check your wiki," sounds dirty) 18:00:30 No, I've been working pretty exclusively with the PIB, since I consider that *the* number one thing of critical importance in the whole system. 18:02:05 If the chip which interfaces the computer to the PIB is called the VIA chip (Versatile Interface Adapter), I wonder if I should rename the Peripheral Interconnect Bus the "Versatile" Interconnect Bus. :) 18:02:52 I'd try to come up with acronyms that double as real words, personally. 18:03:05 Or names. SID, for instance. :) 18:03:06 I already tried. 18:03:12 kc5tja: i didnt understand the sentence in on your wiki page. "Well, we can, but if we do it every other computer model, nobody will want to develop peripherals for any variation of the bus either!" - I think it's missing a "like"? 18:03:47 ianp: If I have to re-design the PIB to support higher throughputs or different plugs or .... for every computer model I release, who will want to develop for them? 18:04:09 kc5tja: yeah, thats what i figured 18:04:12 you meant 18:04:27 One of the reasons why commodore's IEC bus was so successful as a bus was that it was consistent across *every* 8-bit Commodore computer that had it: from the VIC-20 to the Commodore 128 and all machines developed in between. 18:04:57 Seeing a VIC-20 with a 1581 3.5" floppy drive and a 20MB harddrive attached to it was rather awkward, but it *worked*. :) 18:05:44 kc5tja: and this consistency affects what, if i may ask a dumb question 18:05:52 I could see it affecting performance... 18:06:06 Even though you couldn't use burst-mode at all on the VIC-20, you *could* hack up an interface to use it on the Commodore 64, which was *nice*, because that meant that it was possible to use the 1571 and 1581 floppy drives to their fullest potential. 18:06:54 I don't understand the scope of your question. 18:07:21 The bus was a standard: it was fully electrically specified. Voltages, timings, etc. 18:07:31 So yeah, performance was necessarily limited by the specification. 18:07:32 kc5tja, how about the "BIP"... "Bus of Interconnecting Peripherals". ;) 18:07:45 And it's kinda RPN too. ;) 18:07:54 No, BIP sounds dorky. 18:07:56 kc5tja: I guess it affects which hardware runs off of it. I see. I'm a complete tabula rasa when it comes to hardware knowledge. i know hardly anything. 18:08:00 PIB at least sounds like Mr. Pibb. :D 18:08:03 PIB sounds dorkier! 18:08:19 (You *DO* know what Mr. Pibb is, right?) 18:08:30 No, I *DO* not. 18:08:35 WHAT?!?!?! 18:08:37 for shame 18:08:40 haha 18:08:42 * kc5tja sighs... 18:08:54 madgarden: And Dr Thunder? 18:09:09 Mr. Pibb is Pepsi's alternative to Coca Cola's Dr. Pepper. :) It tastes *exactly* the same. 18:09:13 * ianp laughs at own joke 18:09:18 kc5tja it's sweeted 18:09:19 kc5tja it's sweeter 18:09:26 hmm, I haven't noticed. 18:09:32 Then, i don't drink it all that often. 18:09:32 kc5tja: could be all in my mind. :) 18:09:38 kc5tja: I'm a tea man now! 18:09:55 better aftertaste. ;) 18:09:57 Must be an American thing. 18:10:01 most things by Pepsi are WAY too sweet for their own good though. But Mr. Pibb is definitely the evil twin of Dr. Pepper. 18:10:17 --- quit: warpzero (Read error: 110 (Connection timed out)) 18:10:39 To follow in Commodore and Atari's footsteps, where they gave chips actual names, I was going to call the CPLD in the Kestrel Mr. Pibb too. But then I figured, "I'd probably be sued. :D" 18:11:58 madgarden, probably. 18:12:10 lol 18:12:44 LOL would be a cool acronym for a bus. :) 18:12:51 EPOD -- Expansion Port Of DOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOM!!!!!!!!!!! 18:13:44 kc5tja: Go with that! 18:13:56 How about the Device Interconnect Circuit Kludge. 18:15:48 Asynchronous Serial System with Highly Optimal Load Exhibition 18:15:56 >:) 18:16:00 Hehe. 18:16:29 (actually, I can't call it that; while it's byte asynchronous, it's bit-synchronous). 18:16:43 With Natively Addressed Digital Signals. 18:16:50 --- join: Sonarman (1000@adsl-64-171-255-128.dsl.snfc21.pacbell.net) joined #forth 18:17:41 I think you could get away with "asynchronous" anyway. And damn, that would be funny. 18:18:37 "Yea, just plug this peripheral into your ASS, it works great." 18:19:14 LOL 18:19:28 we joked about writing some software called MYASS the other week somewhere else 18:19:42 makes for great slogans 18:19:43 lol 18:23:32 Oo, I know...I'll call it the BLAZEPORT!!!! (yes, with the exclamation marks), in honor of BlazeMonger!!! 18:23:36 >:) 18:25:59 Is that another brand of American pop? 18:27:03 No. 18:27:42 Blazemonger!! is the result of many, many years of vaporware in the Commodore-Amiga community. It's a parody of Commodore plus all the other vendors who failed to deliver anything at all, even prototypes, of hardware and software that was announced. 18:28:03 I recommend Googling for Blazemonger and reading all the various things that it can do. :) 18:28:52 * madgarden is currently reading a Usagi Yojimbo comic. 18:31:07 I dunno -- I'm going to stick with PIB. 18:32:04 Bah. You're no fun. 18:32:11 :P 18:36:45 manass01 :) 18:37:07 damn, damn 'current window' concept gets me every time 18:37:55 manass01? I don't want to know... 18:39:14 he he he 18:52:41 --- quit: cmeme (Remote closed the connection) 19:42:10 --- join: ASau (~asau@158.250.48.196) joined #forth 19:42:16 Dobre jitro! 19:42:43 hey 19:45:26 How goes factor? 19:45:49 thinking about starting the debugger. 19:45:59 it will be basic: single-stepping and breakpoints. 19:46:28 Hm. 19:46:48 I needed debugger only when I changed kernel. 19:47:03 When I didn't understand it well. 19:47:12 yeah, when coding java i don't use a debugger. 19:47:42 I don't use debugger at all. 19:48:12 Or I use it as monitor. 19:48:32 Saving memory dump or something of this kind. 19:48:45 i have a few other ideas too; 'traced' words. when a traced word is invoked, it prints a message, then calls the body. 19:49:12 This should be more useful, I think. 19:49:24 optionally printing the stack too. 19:50:02 Anyway, you have source and you can print any info you need. 19:50:23 I don't think debugger is needed in this case. 19:50:45 i mean something i can enter at the interactive interpreter without changing/reloading source. 19:51:21 That's why Forth is word-oriented. 19:51:30 Word is small enough to reload. 19:52:55 I think, complexity of debugger is much more than easiness of reloading several words. 19:54:18 in my case the debugger can be implemented without any changes to the kernel 19:55:29 No matter whether you change kernel or not. 19:57:21 spartacus: just instantiate one, and lookup thru it. It does stuff in the default constructor... 19:57:27 sorry, wrong window. 19:57:40 :/ 19:58:23 ianp: Heheh :D Can we go three for three? :D 19:58:27 Anyway, I'm off to get some food. 19:58:53 kc5tja: I'm so ashamed. 19:59:35 kc5tja: bon appetît 20:00:24 "spartacus vs. manass01 in a Gladiatorial fetish fight to the death!" 20:01:06 Sorry? 20:01:17 Nothing, just making fun of ianp. :P 20:02:41 madgarden; hahaha. 20:02:54 ASau: sorry to interrupt, that was an interesting conversation. :) 20:04:06 Forth is great. You can always just make some debugging words that override stuff like : and ; ... then load your code to be debugged. 20:04:54 sweet 20:05:08 You should redefine ;S also. 20:05:21 WTF is ;S? :D 20:05:49 Sometimes word returns control before ; 20:06:44 Oh... like EXIT. 20:06:53 : test 1 2 EXIT 3 ; 20:06:59 Would also be : test 1 2 ;S 3 ; ? 20:07:05 i just wrote a nice word: trace+ ( word -- ) 20:07:10 0] "cons" trace+ 20:07:10 WARNING: redefining cons 20:07:10 1] [ 1 ] [ 2 ] append . 20:07:10 Trace: cons 20:07:10 Trace: cons 20:07:11 [ 1 2 ] 20:10:15 hehe 20:10:25 slava: lists? cool.. 20:10:53 ianp, much to the display of the forthers ;) 20:10:57 s/display/dismay/ 20:11:04 slava: he he !! 20:11:57 Hmm... 20:12:00 slava: neat idea, i think. 20:12:03 madgarden. I don't know EXIT. 20:12:21 : test 1 2 EXIT 3 ; 20:12:21 test 20:12:21 1 2 ok 20:12:34 (on stack) 20:12:35 im not a real forther though ;) 20:12:50 ASau... can you think of a way to get the name of the currently executing word? 20:13:18 madgarden, at compile time? 20:13:24 madgarden, it would come up as a factor of RECURSE 20:13:53 No, at run-time. 20:14:38 madgarden. If it does not use inlined data, R CELL- @ CELL+ NFA ID. 20:16:01 R = R@? 20:16:19 ANd hmmm... how to postpone compilation of a string? 20:16:24 ie. postpone ." 20:16:45 compile ." if you will. 20:16:50 How to compile in string? 20:17:05 How to compile string in? 20:17:15 Postpone compilation of printing of a specified string. 20:17:19 --- part: yeoh left #forth 20:17:26 [COMPILE] ." 20:17:54 But I want the string to also be postponed. 20:18:13 ? 20:18:38 : postpone s" blah" ; 20:18:44 : test postpone s" blah: ; 20:18:46 Gah. 20:18:48 Anyway... 20:18:50 that won't work. 20:18:57 (obviously) 20:20:31 I suppose the proper solution is to just postpone compilation of a word that displays a string. 20:21:35 hehe trace- works now too. 20:21:50 You need to compile something into word, that later will display string. Am I right? 20:22:07 Yea. 20:22:21 Like, imagine I want to change : so that every word will display "ENTERING" when executed. 20:22:51 : (name-it) ... compile (.") char " word c@ 1+ allot ... ; 20:23:22 This appears to work: 20:23:22 : (enter) ." entering... " ; 20:23:22 : : : postpone (enter) ; 20:23:40 : is immediate. 20:23:53 No... 20:23:54 : : [COMPILE] : ... ; 20:24:14 : is not immediate. 20:25:37 HEX -FIND : DROP . DROP C1 OK 20:25:48 C1 is greater than 80 20:26:05 ..81. 20:26:09 ? 20:26:16 Bit 6 means immediacy. 20:26:38 Well, it's not immedite in any Forths I'm using... and I don't see why : should be. 20:26:43 immediate 20:28:44 : NAME-IT : DROP ; :? execution only 20:29:06 How could it run if it's not immediate? 20:29:17 It doesn't run, it gets compiled. 20:29:41 : define-word : ; 20:29:51 define-word test 123 . ; 20:30:12 If : was immediate, it would attempt to do a nested compilation. 20:30:15 : DEFINE : ; :? execution only 20:30:38 Your strange Forth ways confuse me. ;) 20:31:00 : : 20:31:00 ?EXEC !CSP 20:31:01 CURRENT @ CONTEXT ! 20:31:01 CREATE [COMPILE] [ 20:31:02 ;CODE IMMEDIATE 20:31:15 machine code follows. 20:32:10 ?EXEC make to print "execution only" message. 20:32:25 ?EXEC makes Forth to print "execution only" message. 20:33:06 OK... but why would you want to disallow compilation of : anyway? Things are simpler when : is not immediate. 20:33:14 Why? 20:33:40 You are not so frequently use : in definitions. 20:34:14 And when you want to use it, use as you're meant to: 20:34:19 [COMPILE] : 20:34:36 Well, not in my world. ;) 20:34:56 But, I can see how your way works in what it's intended to do. 20:35:14 Anyway, this point isn't worth arguing over. 20:39:06 Still, it seems that : can't (easily) be overridden such that instead of printing "entering" during execution, the word's name is printed. 20:39:22 Why? 20:39:45 Because I can't figure it out yet. :) 20:40:11 When after standard : is executed, you have HERE equal to PFA. 20:40:32 So, get the name and copy the string into the body... 20:40:48 When you call a special word, it has R equal to HERE CELL+ or PFA CELL+ 20:41:09 Now you call: R CELL- NFA ID. 20:41:24 And you get name of word called your special printed. 20:42:02 Makes sense. 20:46:39 : CID. ." Entering " R CELL- NFA ID. CR ; 20:46:56 : : [COMPILE] : COMPILE CID. ; IMMEDIATE 20:48:42 Testing: 20:48:42 : CID. ." Entering " R 2 - NFA ID. CR ; OK 20:48:43 : : [COMPILE] : COMPILE CID. ; IMMEDIATE : MSG # 4 OK 20:48:43 : TEST ; OK3 20:48:44 TEST Entering TEST 20:48:44 OK 20:48:45 : TEST2 TEST TEST ; OK 20:48:46 TEST2 Entering TEST2 20:48:48 Entering TEST 20:48:50 Entering TEST 20:48:52 OK 20:49:16 It works. 20:49:45 Cool... now I wonder if I can get it to work in F83 or ANS. :) 20:53:13 You have to figure out, how you translate PFA to NFA and how you print name given NFA. 20:54:19 does someone still log this stugg? 20:54:21 stuff? 20:54:32 What do you mean? 20:54:48 The text of this channel, I wonder if someone is logging it to a file 20:55:08 i know there are older ones too 20:55:18 http://tunes.org/~nef/logs/forth/04.03.30 20:55:33 You still have March 30 there. 20:55:36 well son of a :) 20:56:10 ASau: brilliant 20:56:18 http://bespin.org/~nef/logs/forth/ 20:56:40 "bespin" and "tunes" are the same. 20:56:42 tunes.org++ 20:56:50 ASau: ah! makes sense now 20:56:52 also try meme.b9.com 20:57:02 but the cmeme bot seems dead right now 20:57:16 sorry.. tunes.org dup 1+ ! 20:57:37 1 name-it +! 20:58:11 If you mean increasing a variable. 20:58:17 duly noted ;) 20:58:22 ianp, i think you mean tunes.org dup @ 1+ swap ! 20:58:25 OK, this works in Win32Forth: 20:58:25 : (enter) ." Entering: " ; 20:58:25 : : : here body> postpone (enter) postpone literal postpone .name ; 20:58:30 oh hehe ASau beat me to it :) 20:59:02 ;P 20:59:12 I didnt want to have to *think*! 20:59:45 It ought to be natural. 20:59:52 Like breathing. :) 20:59:55 I'm doing my email in emacs (gnus) now, and it's very nice 21:00:06 Linux or BSD? 21:00:09 ASau: i couldn't agree more. it is, in fact :) 21:00:20 good nite 21:00:29 ASau: Carbon, Mac OS - so BSD i guess 21:00:45 it looks sweet in carbon 21:01:16 Hm. 21:01:25 I'd liked to use Emacs for this. 21:01:54 But I'm lazy to find out how it should be for WinNT 5. 21:02:15 It's not critical also. 21:02:19 ASau: I use it at work on win2k, it's very nice 21:02:37 How does it fetch e-mail? 21:02:39 ASau: beats using rxvt or cygwin by a longshot for certain things. 21:03:13 I'm using native built. 21:03:36 ianp: Does Emacs e-mail handle multiple folders for POP3 and all that stuff? E.g., can I move messages into different folders of my own creation? 21:03:53 a built in program called gnus... 21:04:04 * kc5tja has been looking for a decent substitute for KMail. not that I dislike KMail, but it's got a TON of overhead when my wm is ion. :) 21:04:10 kc5tja: I jsut started using it, but it looks quite comprehensive, i would be surprised if you couldnt. 21:04:25 kc5tja: I still havent checked out spam.el or done my mailing list. but i am assuming this capability is readily available 21:04:31 ianp: easy to learn? 21:04:44 it was fairly painless 21:04:50 kc5tja. Emacs is useful not only for GNUS. 21:05:00 with a few people guiding me it was not hard 21:05:07 hmmm....next question: Do I want to invest 30MB of harddrive space for an e-mail client...? :D 21:05:26 kc5tja, it's nice for diffing/coding/hex edit/blabla 21:05:56 ianp: Yes, well, it's an OS written in Lisp, that just-so-happens to have a text editor as its default app. 21:05:58 kc5tja. You may reduce space when stopping using another text editors. 21:06:12 ukk taje a screenshot 21:06:17 ill take one, i mean 21:06:19 ASau: No, I can't. VIM takes......200KB. :) Hardly *anything* compared to 30MB. 21:06:47 (With X11 support, only 1.2MB -- man, X11 support sucks up a lot of space. But still...) 21:06:53 kc5tja, i dont really like vim so much, but i dont have ears of practice with the keys either.. so emacs is nicer in some ways. i use vi too 21:07:39 i dont really like vi so much either, except for quick changes - it's so light though 21:07:40 My Emacs for NT installation with LEIM etc takes 84 MB. 21:08:26 I think I could erase unused programming modes. 21:08:33 But I don't want to. 21:09:20 kc5tja. And ed takes less. 21:09:40 ianp: Thank you for naming the next artifact in my next RPG campaign. 21:10:23 ianp. How does GNUS fetches e-main and news on NT? 21:10:35 ASau: since vi is just a front-end for ed, it's safe to say that vi pretty much *is* ed. 21:10:55 Does it need external applications? 21:11:16 890 21:11:30 ianp: "Ears of Practice" -- boost listening skill +3, grants silence on wearer, worth 10,000 gold pieces. 21:11:32 kc5tja yeah i want to learn ed 21:11:43 kc5tja: never played that game 21:11:52 ASau I'm looking.. one second.. I did not install external app 21:11:55 ianp: Dungeons and Dragons -- absolutely love it. 21:12:00 mail reading is slow, but its worth it. you only read once 21:12:04 its fast 21:12:11 kc5tja ah never played/got into it 21:12:17 www.inpuj.net/~ian/emacz.png 21:12:21 * kc5tja looks 21:12:40 keep in mind, that color theme is just random, i still havent picked one.. there are so many that look better 21:13:02 I accidentally hid the window with the groups, it's under the menu. 21:13:17 Is that GNU Emacs or X-Emacs that you're using? 21:13:24 Hmm. 21:13:26 kc5tja. GNU. 21:13:37 hence the goofy icon 21:13:42 ianp. Your MacOS is BSD. 21:13:47 NT is not. 21:13:50 in the virtualdesktop pager in the upper right hand 21:13:51 It's hard to tell each other apart; X-Emacs tends to be more cutting edge, and GNU Emacs just adopts features from X-Emacs. 21:13:59 ASau yeah. I bet it might rely on unix. let me ask the emacs gurus. 21:15:02 ASau: yep, it has a built-in reader! 21:15:09 A friend of mine at work (when I was working at Hifn, that is) used Emacs under NT for a lot of stuff. 21:15:43 kc5tja: it's really quite brilliant.. i just discovered ediff on this project.. im replacing legacy flatfile systems and the interactive diff was really handy. i could switch to hex on the fly, etc etc.. so damn nice 21:15:47 He couldn't use it for e-mail though, because we used Microsoft Exchange Server (GOD, the worst e-mail server in the world.) 21:16:01 thankfully I've never experienced exchange 21:16:12 ianp: nothing you just said made any sense to me. I have absolutely no context for it. 21:16:19 ASau: it uses whatever handler you configure it to use, be it fetchmail/etc 21:16:28 but has one internally as well, it seems 21:16:45 ianp. What can I use under bare NT5? 21:17:07 ASau: the internal handler :) 21:17:09 ASau: it seems 21:17:17 Hm. 21:18:06 C-x m 21:18:12 ...editing... 21:18:15 C-c C-c 21:18:26 ASau: can i just run it from win2k, forex 21:18:26 sure, just use the built in support 21:18:37 Nothing. 21:18:39 worth a shot 21:18:57 "no such file or directory" 21:18:57 ASau: no no 21:19:04 ASau: M-x gnus 21:19:13 that's sendmail 21:19:16 --- part: ayrnieu left #forth 21:19:16 you're using 21:19:31 OK. Sorry. 21:20:17 you have to set up a little bit in config file first (or maybe 'customize' it within emacs) 21:20:25 Where's mail there? 21:21:03 you're in it. you have to add a mail source. 21:21:10 let me find the page 21:21:25 Well. I'm reading *info*. 21:22:32 (add-to-list 'gnus-secondary-select-methods '(nnml "")) 21:22:32 (setq mail-sources '((pop :server "my.mail.com" :user "ian" :password "mypassword"))) 21:23:28 I think one more thing might need to be set so that it does not delete from the pop server after you read. 21:23:43 What does it create, mailbox or maildir? 21:23:44 you add those two lines to ~/.gnus.el 21:24:15 then as gnus loads you'll see it try to read from the pop server. and a line should show up in *Groups* like : 151: nnml:mail.misc 21:24:26 which is the mailbox 21:24:47 its pretty easy. I need to figure out how to make it not delete from the pop server though. 21:24:50 --- join: Sonarman_ (1000@adsl-64-169-95-35.dsl.snfc21.pacbell.net) joined #forth 21:25:44 --- quit: Sonarman (Nick collision from services.) 21:29:05 Yeah! 21:29:10 Mail works! 21:30:00 What file does Emacs save mail in? 21:30:10 Where mail is saved? 21:30:24 I need to know for I could back up. 21:33:14 heh :) I used rmail for quite a while 21:33:55 Another thing I very strongly need is NLS. 21:35:20 Native Language Support? 21:37:47 Yes. 21:48:11 ASau: glad it works... i can tell you some of the handy functions that i've picked up so far 21:48:16 ASau: im not sure where it stores 21:48:44 ASau: if you hit L in the groups window OR C-u while inside a group that has new messages, you can see the old ones. 21:48:56 g in the groups window gets new msgs 21:49:50 Actually, everything is almost useless unless I find NLS. 21:50:18 what's NLS? 21:50:32 cryllic? 21:50:59 Yes. I strongly need Cyrillic. 21:51:03 ASau: ~/Mail 21:51:19 All three encodings. 21:51:57 never done that.. 21:52:56 I'm glad Emacs uses maildir for mail. 21:53:19 ASau: yes, I just found out, and I am pleasantly surprised with that 21:53:36 ASau: was already looking through ~/Mail for evidence that that was the case ;) 21:54:18 ASau, I also noticed there is a 'create group from directory' so you could load up anything as a mail group pretty easily i bet 21:58:24 I like *info* paragraph for `gnus-inhibit-startup-message' 21:58:50 how do you use *info* ? 21:59:06 wow 21:59:10 M-x info - never seen this. 21:59:23 lol 22:00:22 that is funny 22:04:02 Sorry, composing an email myself. 22:04:05 In KMail. :) 22:05:21 ianp. It's in "Startup Variables" for GNUS. 22:06:25 yeah, I found it ASau :) 22:08:18 Is there any documentation on what a mail-dir is? 22:08:40 It's a way to store mail messages. 22:09:07 Mailbox is single file. New message is appended to the end. 22:09:47 Maildir is dir where each message takes separate file. 22:09:52 File name is a number. 22:10:39 Mailbox is your .mbox file in UNIX. 22:11:17 You can read all messages you ever got with "less". 22:12:31 Right, I am familiar with .mbox files. 22:12:47 How are the numbers in a mail-dir composed? How are messages kept in order? 22:12:54 Is there an index file in the directory too? 22:13:07 Sequential. 22:13:35 My current mailer stores next to use number in a file. 22:14:02 "lastmsg.num" 22:14:23 You don't need index. 22:15:08 Everything is already stored in a file ("Message-ID", "From" and "Date" headers). 22:15:45 By index, I meant keeping track of which file was received when. 22:15:48 E.g., something to sort them. 22:16:01 Otherwise, you'd have to read in every file, then do the sort then. 22:16:14 (which isn't necessarily bad; I was just wondering if there was a different way to do it.) 22:16:14 "ls -l" shows date. 22:16:37 I'd probably use the Date in the mail headers. 22:16:51 "Date" header is better. 22:17:52 In fact it depends on how your FS is done. 22:18:30 When you don't modify files after you received mail, you don't need to look into message. 22:19:00 * kc5tja nods 22:19:29 So if we rely on what is in the mail headers, then that necessarily means that the names of files given to each message doesn't matter. 22:19:39 Which is pretty cool. 22:21:51 --- quit: Sonarman_ ("Lost terminal") 22:22:18 Maildir is way better than mailbox. And it's as simple if not even more. 22:54:33 what does the M in UM+ stand for anyways? 23:02:55 OrngeTide: Mixed-precision. 23:03:02 kc5tja, ohhh thanks:) 23:08:27 Well, I think I'm going to head to bed. 23:08:33 * kc5tja has school in the morning. 23:08:36 Good night then 23:08:40 And good morning to the rest 23:08:42 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 23:21:56 --- quit: Robert (Remote closed the connection) 23:27:59 ianp. Can I archive news group? 23:47:43 --- quit: madgarden_ (Ping timeout: 14400 seconds) 23:50:09 ASau: im sure it saves to disk already,, hmm. try searching my.gnus.org and the my.gnus.org/tutorial - very helpful to me so far 23:50:19 good luck - ill be back tomorrow. 23:59:59 --- log: ended forth/04.03.30