00:00:00 --- log: started forth/03.05.25 05:30:06 --- join: mur (jukka@baana-62-165-187-180.phnet.fi) joined #forth 07:18:13 --- nick: mur -> mur_A 07:39:50 --- nick: mur_A -> mur 10:36:56 --- join: kc5tja (~kc5tja@ip68-8-206-137.sd.sd.cox.net) joined #forth 10:36:56 --- mode: ChanServ set +o kc5tja 10:38:34 Hi :) 10:38:56 re Robert 10:39:23 Just thought about something, how clean and easy is video interfacing on other platforms you know? x86 PCs seem to be just layer after layer of dirty hacks. 10:39:57 What do you mean by video interfacing? 10:40:07 Graphics. 10:40:15 Drawing, switching modes, etc.. 10:41:04 AmigaOS is absolutely trivial. 10:41:20 Native Windows is pretty trivial. 10:41:23 (e.g., the GDI) 10:41:34 Raw xlib also seems to be pretty simple. 10:41:53 It seems that the lower-level interfaces are all very simple. 10:41:56 I'm actually refering to the hardware. 10:42:17 Hm, OK. 10:43:08 Video *hardware* is different. 10:43:40 For something like the Commodore 64 or Atari 8-bits, they're very simple: just a bit or two will switch video modes. 10:44:12 Oh, neat. 10:44:19 But that's because their video modes can all be described within the context of a fixed frequency monitor; hence, horizontal and vertical sync timing never changes. Only the relationship between the dot clock and memory refresh timing changes. 10:44:41 This is why 320x200, 320x400, 640x200, and 640x400 are popular modes -- notice that they're multiples of 2 of each other. 10:45:42 But when you start getting into other video modes, the relationship becomes more complex. 10:46:06 The Amiga, for example, has much of the same difficulty as the PC, for example, when dealing with anything outside of those four "standard" resolutions I showed above. 10:46:36 To change a video mode, you must first establish the horizontal and vertical sync timings. You do this through the CRTC (CRT Controller) unit. 10:47:03 This also determines the maximum length of *time* that is permitted for displaying video. 10:47:35 Next you need to configure the memory fetch unit to the video mode in question (e.g., this determines how many colors are displayed, and how the pixel data is laid out in memory). This determines bus bandwidth consumed. 10:47:41 How is the video memory mapped? Even on PCs with gigabytes of addressing space, you have to switch banks in high-resolution modes. 10:48:12 No you don't. 10:48:17 No? 10:48:27 Can you address the whole as one linear buffer? 10:48:32 *ALL* modern video cards use the PCI system to map video memory straight into the PC's address space. 10:49:11 Modern cards... I wonder if I have any of those. :P 10:49:20 However, you must talk to the PCI configuration system to find out where this address is located. 10:49:36 --- join: Speuler (~Speuler@mnch-d9ba49b3.pool.mediaWays.net) joined #forth 10:49:53 As far as the video card itself is concerned, it knows ONLY of the memory that's installed on the video card. It isn't aware of any other memory anywhere. 10:49:53 Hi Speuler. 10:50:15 hi robert 10:50:28 forthforth knows do ?do loop +loop leave 10:50:29 Hence, the video card's memory space starts at address $00000000, even though it might appear at $E0000000 to the PC. 10:51:38 (of course, if you reprogram the PCI configuration registers, you can move that block pretty much to any other non-occupied region of memory.) 10:52:16 I should say, "address space" instead of memory. Pre-installed RAM constitutes occupied address space, and RAM is one resource that CANNOT be moved around via PCI. 10:52:33 --- join: a7r_ (~a7r@206.72.82.135) joined #forth 10:52:49 hey 10:52:53 --- nick: a7r_ -> a7r 10:53:21 kc5tja: Okay.. thanks. :) 10:53:25 And hi a7r 10:54:00 hey Robert 10:54:16 Robert: It all seems pretty complex when you don't see the rationale behind what each component in the system does. But if you think it's complex now, you should have seen it years before, when framebuffers were being mapped into the address space WITHOUT the help of PCI. :D 10:55:10 Things were quite definitely hacky then, and each video card had its own method of mapping the framebuffer. 10:55:39 Of course, you can still use $A0000-$BFFFF if you so desired; that's more for backward compatibility than anything. And that's plenty sufficient for most video modes 256 colors or less, 800x600 or less. 10:55:55 Right, that's one thing I really hate. When there are thousands of different video/sound/whatever cards out there, and they all use different interfaces. 10:56:10 Yup. 10:56:29 Are other (modern) architectures better? 10:56:46 Well, when 8x Firewire becomes big (yes, it's being standardized, if it hasn't been released already), it'll adequately compete with PCI and AGPx1 performance. Then all this becomes moot. :) 10:56:47 When it comes to standardization of these things. 10:56:52 No. 10:56:57 :( 10:57:19 All other modern architectures rely on the PC's video cards because there are *SO MANY* of them, that they're dirt cheap to support. 10:58:07 BTW, AGP is just a point-to-point PCI slot that runs at a faster speed. As far as the software is concerned, it's just a PCI slot. 10:58:59 one level lower in the bus hierarchy 10:59:18 Well, it still is basically a PCI slot though. :) 10:59:21 not just a slot. 10:59:31 It's just a peer with the other root PCI bus. 10:59:46 Yeah, actually, it is. 10:59:52 It has all the signals that PCI has. 10:59:58 And they all work exactly the same way. 11:00:07 usually, pci slots are on logical bus 0, top level in hierarchy 11:00:15 The difference is that it's a completely independent bus, managed completely independently by the Northbridge chip. 11:00:17 agp is usually on bus 1 11:00:33 bus 1 is a sub-bus on the PCI hierarchy. 11:00:33 right 11:00:48 Unless they changed the nomenclature for sub-buses. 11:01:05 (possible; my PCI reference is only 2.0) 11:01:45 But the point is, it's point-to-point instead of a shared bus; hence, it's much faster (in the same way that Hypertransport is faster than PCI). 11:01:50 should be host bridge specific 11:02:36 you're safe to say that agp devices got the same register layout as pci devices 11:02:59 I used to work with it all the time; I should hope so. :) 11:03:21 (while working for Hifn, some of our network processors were too fast for 64-bit, 66MHz PCI slots, so we went to AGPx4 to run our tests on them) 11:03:38 one or more BARs on 1c, 20 etc 11:03:40 HiFn's products look pretty cool. 11:03:40 Autoconfiguration is one thing that PCI definitely got right. 11:04:14 Especially it's ability to hot-reconfigure devices. That is damn sweet. :) 11:04:48 I wish *ALL* devices on the PC were PCI devices, including RAM. That would make my life substantially easier as an OS developer. 11:05:03 cpci got sense pin for hot-plugging too 11:05:32 I don't trust hot-swappable PCI -- too many pins to guarantee that ground gets connected first. 11:05:47 cpci uses different connector 11:06:04 OK, as long as it uses a different connector. What does the prefix C stand for? 11:06:05 but one needs to be careful with those as well 11:06:11 compact 11:06:17 backplane pci 11:07:22 need to insert cards straight, or you risk bending/breaking pins 11:07:22 So the backplane is 100% passive then. 11:07:29 right 11:07:42 Yeah, I'm looking at a connector now. It reminds me of the VME and S/100 buses. :) Only with more pins than S/100. 11:07:49 And less pins than VME. 11:07:50 that's it 11:08:36 good thing, being able to insert pci-compatible extension boards into system 11:08:44 hot-pluggable 11:09:02 Yep. 11:09:05 That is pretty neat. 11:09:17 I wonder how notification is brought to the host CPU that a new card is installed. 11:09:17 used a lot in telecom systems 11:09:27 Is it polled or interrupt driven? System-dependent? 11:09:42 t'is partly soft, partly hardware 11:09:56 notification to cpu, i'd not know. irq i guess 11:10:20 breaking the sense contact sets buffers to tristate 11:11:27 * kc5tja nods 11:11:45 I suppose it's possible to periodically go through a configuration cycle to detect non-configured cards, or detect missing configured ones. 11:12:05 Even once per second is plenty fast enough for most people. 11:12:30 attempting to read pci regs from non-mapped register bank often reads as -1 11:12:34 PCI really is a good bus. Damn good bus. I just wish it were more hacker friendly. :) 11:12:40 * kc5tja nods 11:12:52 if there are regs, you get those contents 11:13:00 manufacturer id might be useful 11:13:25 been doig programming for pci 11:13:28 doing 11:13:37 Well, one way to detect the presence of a card, without knowing the default tristate value, is to try changing a configuration register, reading it, then changing it back to its original contents. If the change stuck, then the card is present. :) 11:13:40 host bridge, pci-pci bridges etc 11:13:53 how, not hacker friendly ? 11:14:27 Lots of tiny pins, 3.3V bus that requires special interface chips, and expansion boards costs like $100+ at your local Fry's. 11:14:30 (been doing that partly in forth btw) 11:14:31 Definitely NOT hacker friendly. 11:14:51 just northbridge in asm 11:15:04 Hence, it's rather not possible to make your own hardware for the PCI bus like you could with the ISA bus. 11:15:21 rest, pci-pci (transparent and translating), pci-ide, scsi all in forth 11:15:50 hmm 11:15:57 requires more logic, ok 11:16:04 A *LOT* more logic. 11:16:05 but impossible ? 11:16:27 Not impossible, but #$)(&@)#($&@()#*-ing expensive. Prohibitively expensive for me, to say the least, and I'm not the poorest hacker out there. 11:16:29 no public-domain pci core available ? 11:16:40 OK, now we're talking about using FPGAs. 11:16:45 right 11:16:50 But you still need line drivers for the PCI slot itself. 11:16:54 FPGAs are not cheap. 11:16:59 depends 11:17:35 some lattice components should be pretty cheap by now 11:17:44 The custom line-drivers are needed because of PCI's passive termination and reflection switching, which is incompatible with most MOS and totem-pole logic outputs. 11:17:53 Trivially simple ones, sure. 11:18:26 But are they enough to handle both bus tenures AND the PCI configuration space requirements? 11:18:30 i think i've seen a breadboard pci card somewhere 11:18:36 not too expensive 11:18:44 I've seen them for well outside my price range. 11:19:40 One of the nice things about the ISA bus is that anyone could build anything for it, using off-the-shelf components you could buy at Radio Shack, even as far back as the original IBM PC. 11:20:31 ok. but a pci-isa bridge is readily available as chip. 11:20:32 Now I'm not saying that PCI isn't 100% approachable, but man, it sure is expensive to do. 11:21:06 Yes, and then you lose out on the bandwidth. And remember, too, that the PC already HAS such a bridge internal to it (to support the legacy devices like DMA and PIT/PIC chips, etc). 11:21:19 They quite likely will conflict. 11:21:35 yeah, but you're talking about hooking up your own hardware on your own card 11:22:02 unlikely 11:22:18 maps into a different address range 11:22:18 As far as I know, such bridges are hardwired to map I/O ports 0000-FFFF to 0000-FFFF on the CPU, which is a direct conflict. 11:22:52 all those i know allow to be setup to any (boundary something) address through the base address register(s) 11:22:53 * kc5tja still isn't convinced of its viability. 11:23:08 just like any other pci device 11:24:47 * Speuler get coffee 11:24:50 kc5tja: what were you doing at HiFn? 11:25:29 a7r: Verification of HIPP-II and software development for the verification of HIPP-III architectures. 11:25:34 * Speuler got coffee 11:25:36 werd. 11:25:49 my favorite program is on tv : alpha centauri 11:25:54 (Well, I also did software development for verification of HIPP-II too, but I digress) 11:26:10 I don't watch TV. 11:26:11 I have a client interested in looking at their parts, for use in a custom router. 11:26:24 science program 11:26:30 about cosmic radiation today 11:26:32 Highly recommended; Hifn's chips are solid parts and are relatively easy to program. 11:27:17 Although their PK-coprocessor can be a *bear* to program. That's the one thing that I hate the most... 11:27:31 nod. 11:27:35 And it's not because the chip is hard to use. It's because it's too damn configurable for its own good. :) 11:27:46 (with respect to endianness) 11:27:49 ah. 11:27:51 todays question is "how can be accelerate protons with 10^20 eV" 11:28:01 While testing, we were constantly having chip endianness issues. 11:28:23 kc5tja: I was toying w/ the idea of a router entirely in Forth.. running on something like Soekris' Elan-based embedded computers. 11:28:31 But once that's taken care of, the PK coprocessor is a pussy-cat. 11:29:49 "greatest discovery of 20th century was the discovery of human lack of knowledge" :) 11:29:54 a7r: One of the fields of application for my native FS/Forth was webserving and webhosting for my company, actually. 11:30:05 Speuler: Heh 11:30:09 kc5tja: how'd that work out? 11:30:23 a7r: FS/Forth isn't written yet. 11:30:32 I'm just saying that's one of its fields of application. 11:30:40 haha, oh. :) 11:30:41 it WILL be one of its 11:31:11 I'm also planning on writing the core of my Dolphin operating system in it. 11:31:22 (no relation to OpenFirmware) 11:31:38 I'd like to build up a simple router, w/ the only console being serial.. w/ support for IPv4 (and friends) IPv6 (and friends) and some general packet filtering. 11:31:57 something I can customize on the fly, while packets are being routed. 11:33:01 I would like to implement an ATM switch for my ARNI system in Forth. 11:33:29 But, it would probably have to be done in C anyway, just because "that's what everyone knows." 11:33:58 are you working on it with someone else? 11:34:12 No, but it still has to be disclosed in order for it to become an accepted standard. 11:34:21 true. 11:34:40 And the FCC forbids obscurity when dealing with the amateur radio service in any way, shape, or form. 11:34:52 yeah, I'm a ham. 11:34:57 Someone might get a bug up their ass and claim that writing it in Forth was an attempt to obscure the code. 11:36:22 isn't cw a form of obscuring a transmission ? 11:36:28 No 11:36:36 CW is morse code. 11:36:48 Speuler: it just depends on the perspective you're looking at it from. ;) 11:37:15 It's fully documented and publicly disclosed. Anyone can learn it and intercept/"decipher" a CW QSO at any time. 11:37:27 the same applies to Forth though. 11:37:31 didn'tthat's true for forth too 11:37:44 True; I just don't want to go through the hassle of putting up with noroms. 11:37:57 (misspelling intentional) 11:38:42 I mean, I AM going to do it in Forth, no doubt about that. 11:39:03 It's just that, to cover the widest audience, I will likely have to implement a system in C as well. 11:39:08 brb. 11:41:10 --- join: a7r_ (~a7r@206.72.82.135) joined #forth 11:43:21 kc5tja: do you answer on "qtr" with local time, or universal time ? 11:43:50 I don't know -- I've never been asked for my qtr... :) 11:43:58 I suppose it would depend on the context. 11:44:10 ah 11:44:10 If I were on VHF, which tends to be local, I'd probably answer local time. 11:44:29 However, on HF, which is international by its nature, I'd probably answer in universal time. 11:44:50 ah,ok, that makes sense 11:45:10 But, there are also "local" nets on HF too, so I guess it's still not 100% a hard-and-fast rule. 11:46:21 otoh, you may be asked for qtr in a dx qso if one wants to know your time zone 11:46:31 after all, the time he could figure out himself 11:47:14 Yeah. In my experience, though, they'll just ask for the timezone directly. :) 11:47:20 i i'd ask for your time, it would be to get to know your time, not gmt. 11:47:27 In which case, we'd say something like (in my case) GMT-8 11:48:15 Well, I don't know. I don't think anyone CAN know. Some of the Q-codes are somewhat ambiguous sometimes, and it all just depends on context. 11:52:48 * kc5tja ponders implementing FS/Forth for AmigaOS... 11:59:38 --- quit: a7r (Read error: 110 (Connection timed out)) 11:59:57 clear 11:59:59 gah 12:08:47 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 12:08:47 --- mode: ChanServ set +o tathi 13:08:25 --- part: Speuler left #forth 13:19:56 --- join: Speuler (~Speuler@mnch-d9ba49b3.pool.mediaWays.net) joined #forth 13:26:53 --- quit: a7r_ (Read error: 113 (No route to host)) 13:42:16 --- join: gbjut453 (~khgf@pD9EE1787.dip.t-dialin.net) joined #forth 13:42:37 hmm 13:43:09 Forth Institute of Science 13:43:33 The ICS-FORTH RDFSuite 13:53:22 --- join: thin (thin@bespin.org) joined #forth 13:55:37 re 13:56:33 hello kc5tja 13:59:32 --- quit: gbjut453 ("Client Exiting") 14:02:59 * kc5tja continues writing his development guidelines document 14:07:22 hey thin 14:09:20 kc5tja: what are you writing development guidelines for? 14:12:38 A company that I'm starting. I've landed my first big contract (for a service I don't generally offer to the general public to boot). 14:12:55 ah. 14:12:56 very nice 14:12:59 These guidelines are referenced by my contract. 14:14:29 They want me to basically follow a waterfall development model, whereas I only work with agile development methods. 14:16:18 you're a big proponent of unit-testing and the other Extreme Programming stuff, right? 14:16:38 asau was asking about unit-testing in forth wasn't he? 14:17:56 thin: fridge, I think. 14:19:02 thin: any idea why ChanServ started giving me ops all of a sudden? 14:19:55 nope ;) 14:22:58 Yes, I am. 14:23:30 kc5tja: unit-testing in forth? 14:23:32 I have suffered nothing but total defeat when working in a Waterfall-governed project, and nothing but total success when working with XP. 14:23:42 The project being commissioned is going to be written in C. 14:24:25 Until I get a commercial job working with Forth, I won't have justification to write a unit-test package for Forth (especially since such a concept is virtually meaningless in Forth). 14:25:50 meaningless because...? 14:26:59 (not that I disagree, but I'm curious about your reasoning) 14:27:55 if i type perl in unix, and get a blank screen, what can i type to test that it's working? 14:29:11 Forth differs from most other compiled languages in that as soon as the compiler is done, the interpretter immediately takes over. 14:29:14 eh, nevermind 14:29:29 Hence, one can interleave unit-tests with the raw source itself. 14:29:56 Every time you compile the program, it runs the unit tests, and runs them in the proper order (e.g., lower-level tests are executed first). 14:30:14 All this without a special unit test "package" to help govern which tests to run and when. 14:30:20 Example: 14:30:41 : - [ bp sp xchg, bx pop, bp sp xchg, bx ax sub, ] ; 14:31:05 2 1 - 1 = ASSERT" 2 1 - not equal to 1." 14:31:33 -32768 1 - -32769 = ASSERT" -32768 1 - not equal to -32769" 14:31:49 : + [ bp sp xchg, bx pop, bp sp xchg, bx ax add, ] ; 14:31:50 ... etc ... 14:32:23 thanks 14:33:02 Basically, : ASSERT" 0= POSTPONE ABORT" ; is about the largest and most sophisticated unit-test package for FOrth I can think of. :D 14:33:17 (unit tests may have to be wrapped into :-definitions in some Forths) 14:33:21 :) 14:33:24 But the concept is the same. 14:33:59 that's what I thought, but I haven't yet felt the need for tests in Forth, so I wasn't sure. 14:39:15 I have, even in writing my own Forth implementation. 14:39:51 I can't wait until my Forth becomes self-hosting, because that would allow me to mark up my source with unit tests. 14:40:15 If I had proper unit testing, I would have a bug-free assembler, and a bug-free run-time. 14:40:30 As it is, I'm quite sure that there are still a number of bugs lurking around in my Forth environment. 14:41:13 --- nick: thin -> bugslayer 14:41:16 i'm baack! ;) 14:44:27 --- join: ramnull (~nicad@12-245-85-50.client.attbi.com) joined #forth 14:44:36 What's up? 14:45:06 My underwear is up ... does that count? :) 14:45:19 we're slaying the mighty bugs 14:45:36 kc5tja: You know, washing helps get rid of that problem. 14:45:47 and we just finished listening to kc5tja tell us about unit testing :D 14:45:57 I see; you prefer to go around town without underwear then. 14:46:07 Unit testing is good. 14:49:21 Heres a little problem I'm trying to factor. I have a list of constant values, and I wanna compare a character in array to see if it's in that list. Is there way to get around using a loop to compare each one? 14:51:07 Trying to write a generic function called " : IsIn? " to compare arbitrary values. 14:51:36 I know how I'd do it in Ada but Forth is a bit confusing. 14:51:47 You have to loop to do the tests. 14:54:27 Well, with Ada I'd go " delims := range ( x1, x2, x3 ) " and then " Y isin? delims " I suppose I could use create does> to make a range function for an enumerated list. 14:55:19 whether or not the language you're using obscures that you're looping is another question :) 14:56:22 tathi: Well, at the silicon level it's all jumps and branches anyway. 14:58:12 tathi: I'm thinking being able to do something like ": chkdelim foo @ isin? Xrange " would be nifty. 14:59:38 CREATE punctTable 14:59:38 '. C, ', C, '' C, '" C, '/ C, /? C, '- C, '_ C, '+ C, '= C, 14:59:38 14:59:38 : NotEndOfTable? ( addr -- addr f ) 14:59:38 DUP DUP 10 + < ; 14:59:38 : Match? ( ch addr -- ch addr f ) 14:59:40 2DUP C@ = ; 14:59:42 : IsPunctuation? ( ch -- f ) 14:59:44 punctTable BEGIN Match? IF NIP NIP EXIT THEN CHAR+ NotEndOfTable? UNTIL ; 14:59:46 14:59:56 * ramnull nods 15:00:05 That's what I was thinking. 15:00:17 Another way, that is much faster and consumes more memory, is to just use a look-up table. 15:00:25 : IsPunctuation? ( ch -- f ) 15:00:38 ramnull: yeah, that was just a facetious comment 15:00:39 punctMap + C@ 0= 0= ; 15:01:10 kc5tja: but I'm gonna be using it for more than just characters. I'll be using it for any set of values. 15:01:34 ramnull: The result is going to be slow and memory hungry then. 15:02:02 ramnull: You'll basically be creating a list in memory, and every time you want to check for set membership, you need to walk that list. 15:02:23 (obviously, you can speed things up by putting the most likely matches at the beginning of the list) 15:02:50 kc5tja: What if I use a binary tree or a hash table? 15:03:05 Same problem? 15:04:31 you can use a bit array of flags, much smaller but a bit slower. 15:05:40 ascii to address bit in table. bit is set for punctuation, clear for other chars 15:06:49 ramnull: The problem is that the compiler in Forth has *zero* knowledge of the code it's producing, even after it's produced it. 15:07:06 ramnull: Therefore, it has no way of optimizing things like set membership like, say, Ada or Oberon would. 15:07:29 kc5tja: I see. So I gotta do everything by hand. At Edit time. 15:07:38 ramnull: Since it doesn't know how many items are forth-coming, it consequently wouldn't know how many items to compile into the tree. BTW, trees are fast, but consume more memory than lists. 15:07:46 ramnull: Basically, yes. 15:08:10 Unless you wanted to spend a lot of time coding a Forth-equivalent to Ada's sets. :) But that's not a trivial operation. 15:08:22 Speuler's idea of using a bitmap is also applicable. 15:08:37 And consumes precisely 1/8th the memory of my table-driven solution. 15:09:06 kc5tja: So true. Would the Forth community have any use for some optimized set functions? 15:09:33 ramnull: I'd like to see some someday; I feel that sets are generally neglected by the overwhelming majority of programming languages. 15:10:00 I think that's where the nice expressiveness of languages like K come from, is its ability to treat arrays as sets. (e.g., if X *in* Y, then...) 15:10:18 Python also has set membership built-in, but it's implemented using the standard (slow!) tuple and list systems. 15:10:22 But nonetheless, it's awfully handy. 15:11:00 Hmmm...maybe it would make a nice contribution to the Forth Scientific library. 15:11:50 for flagging several char attributes (like, punctuation, vowel, consonant, printable etc), a byte lookup table would be nice again, as you can encode 8 attributes per table element 15:12:39 --- join: a7r (~a7r@206.72.82.135) joined #forth 15:12:45 hey 15:12:53 Speuler: Stop trying to one-up me -- I have a reputation to protect! ;D 15:13:31 re a7r 15:13:43 kc5tja: did you use flagging of char-attributes in a project ? 15:14:16 One could reduce the memory requirements using a triangular matrice, I think. I'd have to look it up. 15:14:51 i needed that in a screen reader for braille-terminals 15:15:32 Speuler: I never had a need to -- all my set memberships were with fewer than 10 to 12 characters; character attribute maps would have taken too much space for the benefit they delivered for me. 15:15:48 also flagged numeric, foreign, alphabetic 15:15:59 capital 15:16:18 Speuler: Using a bit encoded symbol table would allow one to crunch the set into a really small memory footprint. 15:16:25 Yeah, if the matrix wasn't so sparse, I would have gone that solution. 15:17:29 simplicity or lookup code compensated a lot for those few extra bytes in the table 15:17:37 of 15:19:14 Well, let's see here, some primitive useful set ops would include range, union, domain(range), etc... 15:20:04 Hmmm...some well factored set ops could be used to speed up garbage collection. 15:21:51 Be back later. Got some coding to do. 15:21:59 --- quit: ramnull ("This isn't Happy Hour!") 15:22:53 Sometimes I think he's happiest when he's assigned project to do for the Forth community. :-) 15:25:22 ramnull ? 15:25:30 hey kc5tja, you ever written an ethernet driver in forth? 15:25:58 Nope 15:26:12 Unfortunately not. 15:28:33 I want to try hooking my IPv6 networking code up to a network.. so I think I may just use a combination of libpcap and libnet/libdnet 15:31:55 Never heard of those libraries. 15:32:34 --- quit: tathi ("leaving") 16:17:38 --- part: Speuler left #forth 16:19:22 I think I'm done with my first draft of the software development guidelines. 16:19:47 thin: Do you want a copy for review? Let me know what you think? 16:23:26 sure 16:23:51 what format is it in? 16:25:26 Just raw text. 16:25:54 okay, email it to the addy on my /whois 16:26:01 thanks 16:26:26 note that I'm to lame to read BitchX.doc :D 16:26:41 Oops. I've already sent it to "that other address." 16:26:49 ok that's fine 16:27:51 * bugslayer is reading 16:28:46 kc5tja: s/withdrawl/withdrawal 16:30:15 are they already expecting XP? 16:30:39 I gave them a vague idea of how I did my software development. 16:31:08 But I'm going to make everything concrete for them, so that there are no ambiguities. 16:31:10 brb 16:31:50 kc5jta: just making sure, s/withdrawls/withdrawals is for your document.. 16:35:15 I like the rights, did you get them from somewhere else or make them up yourself? 16:37:41 They're the basic rights from extreme programming. 16:38:08 thought so 16:38:21 well it sounds good so far 16:38:24 I just modified them slightly in my favor. :D 16:38:30 how so? 16:38:48 kc5tja: acknowledge the correction i gave you, s/withdrawls/withdrawals :P 16:38:52 There's no mention of the word "contract" in the pure XP bill of rights. 16:39:07 What correction? 16:39:08 ;D 16:40:01 Done 16:40:34 --- quit: a7r (Read error: 110 (Connection timed out)) 16:43:13 :) 16:51:09 Well, I gotta go. 16:51:15 Time to eat. 17:01:28 * kc5tja is away: Eating... 17:06:51 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 17:06:51 --- mode: ChanServ set +o tathi 17:41:39 * kc5tja is back (gone 00:40:11) 17:42:12 wb 17:44:18 re 17:44:52 i should put my 200+ projects on my website and then assign percentage points for completion 17:45:02 if i describe the project, then it gets 1% 17:45:08 0.001% here, 0.0005% here, ... 17:45:14 That's what mine would look like. :D 17:45:14 and when it gets up to 80% i'll effectively consider it completed 17:45:32 nah, 0.001% isn't positive enough :P 17:45:41 it's gotta look like real progress! ;D 17:45:50 OOH! LOOK! 0.002%!! :D 17:46:09 OMG! you've doubled it! 17:46:12 heheh 17:47:05 but when i think about putting up my 200+ projects, i immediately think of another project: to code a cgi script (preferably in forth) to let me input the projects and info easily 17:48:21 I wouldn't do that. 17:48:39 But I would "encode" them in Perl/Python/whatever sources using the native facilities of the language. 17:50:22 what do you mean? 17:52:07 myProjects = ["ATM ARNI","Dolphin","FS/Forth"] 17:52:21 myProgress = [0, 75, 35] # percent 17:52:23 ..etc.. 17:52:33 And just let the CGI script render the page based on that information. 17:52:58 yeah.. 17:57:31 well i do have some cgi forth script :P 18:05:47 --- quit: tathi ("leaving") 18:06:27 Heheh :) 18:09:05 --- part: mur left #forth 18:42:11 mur the cat 18:42:12 purrrrr 18:43:37 ? 18:43:39 mur left... :) 18:43:45 oh doh 18:43:49 i can't read :P 18:45:21 kc5tja: want to help me design the #forth site? :P 18:45:33 i need to make it a bit nicer & more professional.. 18:45:43 but particularly, i need to make the articles section 18:45:58 so that people can submit articles.. 18:46:07 adhering to that editorial standard.. 18:48:18 I liked it the way it was, actually. 18:49:30 Standard sized text, no graphics, loads very fast... 18:50:20 yes, so do I, but I want to make it a tad more professional 18:50:41 maybe i should do some CSS.. put in some nice thin 18:58:39 eh? 18:58:42 nice thin lines 18:58:50 jeez, can't believe i backspaced over that 18:59:01 What's the URL again? My favorites doesn't seem to list the site anymore. 18:59:12 it's on the topic :P 18:59:16 forth.bespin.org 18:59:20 Ahh 18:59:34 i even put in a nifty DATE to make it look recent! ;) 19:00:03 Heheh :D 19:00:55 yeah i'm sorta thinking css .. 19:01:13 CSS is definitely the way to go. 19:01:15 maybe i should use zope and that other thingie that you have for your website? 19:01:43 i know css, but i just threw together the current sitewith plain tables, etc.. 19:01:50 Zope and Plone. That'd work. 19:02:00 That'd be an excellent platform for publishing professional-looking articles too. 19:02:17 how so? 19:02:26 would it make the articles look more professional? 19:03:19 Plone is a real content management system, that even supports "work flows." For example, I can write an article, upload it to the Plone site in my personal folder, then mark it as "submitted" for publication. 19:06:13 --- join: Herkamire (~jason@h0030657bb518.ne.client2.attbi.com) joined #forth 19:06:13 --- mode: ChanServ set +o Herkamire 19:06:26 eh, i was expecting something else for "work flows" 19:06:37 hi herkamire 19:06:46 hi all :), bugslayer 19:07:16 kc5tja: to the Plone site or to the forth site? 19:09:20 Herkamire: time to professionalize the forth site 19:09:23 bwahah! 19:09:34 the bug slayer triumphs over the mighty bugs! 19:11:04 bugslayer: forth.bespin.org? I'll look at it. 19:11:11 it hasn't changed 19:11:23 except for a "recnetly changed: " date to make it look recent ;) 19:11:53 but it's time for me to upgrade the site.. 19:12:04 got any ideas for making it look more professional? 19:12:51 i'm thinking.... lines! 19:12:53 thin lines! 19:12:54 :P 19:13:52 bugslayer: it looks good to me. 19:14:13 simple, straighforeward, organized. 19:17:49 yeah well i'm gonna add a board forum (phpboard) and possibly a wiki editable only by ppl who sign up, and an articles section for professional-looking articles 19:18:51 phpboard is helishly ugly 19:19:36 eh?? 19:19:48 i like ezboard , and phpboard looks similar 19:20:01 I don't think it's worth it to make people sign up for a wiki. It will discourage almost all your potention editors. 19:20:24 I'm thinking of phpBB I think. maybe that's something else. 19:20:32 well i'm leaning towards not adding a wiki, but i'm sorta thinking about it 19:21:00 Then you, as site editor, would review the article, make sure it's in proper format, adheres to the standard documentation practices. 19:21:04 Sorry -- phone 19:21:32 bugslayer: why do you want these things? (wiki, bb) 19:21:35 Herkamire: no, phpbb is right. you think http://www.phpbb.com/phpBB/ is ugly? 19:22:26 actually, i forget why i want the wiki, there's a reason, just can't think of it 19:22:49 the forum would be an awesome IF people are active on it 19:22:55 it's so much better than irc 19:23:08 and i think it's more accessible and nicer than usenet 19:23:24 how is it better than irc? 19:23:26 besides, clf is too flamey 19:24:04 Persistence of material is one. 19:24:21 less spam than irc, conversation can go in depth easily, and threads of conversation can stay around longer 19:24:26 persistence yeah.. 19:24:53 people can stay on interesting topics rather than being subject to the constant topic changes of irc 19:25:15 and can ask more intelligent questions, give more intelligent answers, etc 19:25:23 i think a forum would rock 19:25:33 I actually think a forum would rock, very much. 19:25:44 naturally i'll bug a lot of people to contribute to it and make sure that it is active :) 19:25:46 It allows the informality that a professionally published site otherwise wouldn't permit. 19:25:53 And with that, I have to go. 19:26:08 ok, good night kc5tja 19:26:12 ttyl 19:26:13 73 all 19:26:21 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 19:27:04 yeah. professionally published site.. doesn't that sound neat? :) 19:27:36 what is your goal for the site? 19:28:07 I think the current site was created to answer the question "what's the #forth channel?" 19:30:57 Yes, however, I'd like to make the forth site an active & resourceful place for the forth community.. the channel would be secondary 19:31:27 people visiting the site might check out the channel for quick questions, help, etc.. 19:32:03 cool 19:32:16 yeah, if i'm not too lazy ;) 19:32:19 a wiki sounds like it could work well for that 19:32:29 where the hell should i start with the website? 19:32:37 i can't figure that out heh 19:32:41 isn't there already a forth wiki though? 19:33:36 there are 2 19:33:57 they aren't very active though 19:34:35 i can't remember my reason for a wiki.. 19:34:46 but anyways, a wiki would be the last feature 19:35:23 1st - site needs to be revamped to look professional 19:35:59 no it doesn't 19:36:04 2nd - the articles section needs to be developed & professional-looking articles need to start being submitted 19:36:20 3rd - the forum will be put in once the site has a professional tone 19:36:22 who are you trying to market forth to? 19:36:23 4th - wiki 19:36:49 to forth coders 19:37:00 it'll be a site for forth coders 19:37:07 for REAL coders :P 19:37:09 forth coders already likke forth. 19:37:19 sure 19:37:19 you aren't going to get them excited with css. 19:37:28 eh?? 19:37:29 forth people are interested in utility 19:37:33 yes 19:37:58 it wouldn't be hard to make it look a bit nicer 19:38:32 sure, but be very careful not to make it harder to get around, don't clutter it. and make sure it still works just as well in lynx. 19:39:00 keep the number 1 priority, that it is well organized and easy to navigate. 19:39:09 too bad lynx doesn't handle tables :( 19:41:22 more often then not I prefer the way lynx does tables. 19:42:25 food. bbiab 19:51:54 back 19:54:37 hmm, well i've been looking at plone 19:54:39 looks quite nice 19:54:52 i can just install it and then i'll only need to worry about content 19:55:02 the web sucks so bad 19:55:16 ianni: you have a bad connection? 19:55:19 the spec is kind of skewed 19:55:27 ? 19:55:27 i mean... people dont use it like that sometimes 19:55:38 ? 19:56:01 ianni: which spec? 19:56:09 the web has hundreds 19:56:10 html.. i mean the web 19:56:27 be more specific, just say html :P 19:56:34 sorry 19:56:44 so the html spec is abused, yeah so what? it's a limited spec :P 19:56:51 but all the dhtml stuff too.. 19:56:53 hehe 19:57:12 well, i dunno, it does the job pretty well 19:57:27 yeah we should develop a forth-based flash-like publishing language :P 19:57:31 it's the browsers that cripple the internet. not the spec's 19:57:35 i just always have a bad taste in my mouth from html.. the spec is fine but like the reality of it is so ... crap 19:57:53 the taste of maker's in your mouth 19:57:57 you have to have a certain few browsers or stuff starts being pretty bad... 19:58:09 have you read the paul graham article "taste for maker" or something like htat 19:58:10 it seems its best for simple text and maybe some images 19:58:14 it's about design & beauty 19:58:17 no.. 19:58:19 sounds nice 19:58:27 is he the lisp guy, right 19:58:30 www.paulgraham.com/taste.html 19:58:30 yep 19:58:33 yeah 19:58:38 good article 19:58:40 i loved his thing on painting & coding 19:58:42 ace 19:58:46 ianni: that's what html was designed for. 19:58:54 i had that relationship in my mind myself before 19:59:03 Herkamire: yeah, but people push it too much 19:59:15 the "dhtml" crap and 5 deep nested tables and such that people are doing now should be done in CSS 2 19:59:16 yeah, companies did 19:59:28 which is well suited to that stuff, but the browsers still don't support it. 19:59:32 well it's moving towards that 19:59:37 it's hard to build a system to efficiently design the UIs people are hacking at 19:59:42 thats all 19:59:45 itd be nice to have something a little better 20:00:01 flash is kind of cool, not having seen the insides 20:00:14 ianni: take a look at the humane interface design book, there's a really cool idea called ZIP, even shows some pictures 20:00:16 compared to html.. 20:00:22 I bought that actually 20:00:24 i havent read it all 20:00:29 ooh bad boy :P 20:00:30 it looks good yet though 20:00:50 been reading a book on beginning assembly language/pc architecture 20:00:55 most recently 20:01:02 yeah i recommended those two books to you :PP 20:01:05 ahhh 20:01:06 <-- thin aka futhin 20:01:07 good 20:01:09 ahah 20:01:12 i see 20:01:18 yeah.. both great 20:01:22 I'll make a browser eventually and see how hard it really is. 20:01:25 i didnt get far onth raskin 20:01:35 well.. its nive to be able to use images... 20:01:48 I think it's just idiot-proof point-and-click interfaces that are a real pain to make. 20:01:49 i wonder how hard that would be 20:01:55 ianni: how far did you get ? 20:02:01 a chapter or two or three.. 20:02:12 ive gotten through a nice chunk of the duntemann assembly book 20:02:28 im slowed in the part about memory access, but i got a better feel for stuff already 20:04:32 ianni: yeah, i remember slowing down at one part of the book and setting it aside for a month 20:04:39 about half way thru 20:04:50 there's a chapter that you can skip 20:04:58 it's just about the ide 20:05:06 i read part of it before i realized i could skip it lol :P 20:05:06 l 20:05:19 oops, i'm not in a mud :P 20:53:36 --- quit: Herkamire ("goodnight all") 21:19:00 onetom: are you there? 21:19:09 Robert: ? 21:19:13 XeF4: / 21:19:25 fridge_: ? 21:20:50 i wonder if anybody here would be interested in contributing a professional forth article to the site.. 21:21:22 i'll try to get kc5tja to screen the articles 22:08:44 --- join: ramnull (~nicad@12-245-85-50.client.attbi.com) joined #forth 22:08:56 What's up? 22:10:13 Hey, I'm curious, can I get away with stuff like " : miscstuff create blah ?do , loop ; " without hosing the Forth? 22:11:28 * ramnull is looking at http://home.iae.nl/users/mhx/sf11/sf11.html 22:35:12 --- quit: ramnull ("This isn't Happy Hour!") 23:19:31 --- join: Serg_Penguin (Serg_Pengu@212.34.52.142) joined #forth 23:25:51 --- quit: bugslayer ("bye") 23:53:38 --- join: deluxe (~deluxe@pD9EE1F99.dip.t-dialin.net) joined #forth 23:59:59 --- log: ended forth/03.05.25