00:00:00 --- log: started forth/04.08.09 00:00:36 It sounds like a type of coding used in compression. 00:00:46 I think JPEG and bzip are like this. 00:01:00 Huffman coding? 00:01:57 It's not compression. 00:02:22 The "vocabulary" file that the spell checker uses is fixed in size: 320,000 bits. 00:02:41 It's simply how the 1-bits are distributed in the file that determines what words are considered valid. 00:03:45 what date is today?> 00:03:47 hmm 00:03:57 Aug 9 here. 00:04:03 Sun Aug 8 23:51:22 PDT 2004 00:04:04 ok thanks 00:18:51 --- quit: mur_ (Remote closed the connection) 00:19:23 --- join: mur (~mur@mgw2.uiah.fi) joined #forth 00:23:39 good night!] 00:48:57 --- nick: Tomasu -> TomasuDlrrp 00:49:08 * TomasuDlrrp is away: sleep 01:13:34 --- quit: imaginator ("sleep") 02:08:00 I know this sounds REALLY strange, but I honestly think the best coarse of action for the Kestrel is to tell you guys, the programmers for it in the future, to ignore what choice of CPU I'm using today, and to develop your code for a virtual instruction set computer (VISC). See http://llvm.org for more details. This just might be something that is VERY useful for the Kestrel! 02:39:15 * fridge looks 02:53:14 It definitely looks interesting. 02:54:18 And can offer some unique system features. For starters, it can abstract the underlying CPU entirely. You don't want an OpenRISC CPU? No problem! Swap it out for an x86 or PowerPC. Just port the runtime virtual machine software, and there you go. 02:54:43 It would also enable us to develop the Kestrel's application software under Linux if desired. 03:08:54 Oh well. I'm going to bed now. I'm getting so tired, my vision is blurry, and I'm starting to see things. :) 03:09:00 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 04:16:30 --- join: mur_ (~mur@uiah.fi) joined #forth 04:25:24 --- quit: mur (Read error: 110 (Connection timed out)) 04:32:19 * TomasuDlrrp is away: dlrrp for sure this time 04:45:22 --- join: crc (crc@0-1pool108-87.nas53.philadelphia1.pa.us.da.qwest.net) joined #forth 04:47:51 --- join: Topaz (jonny@spc1-horn1-6-0-cust217.cosh.broadband.ntl.com) joined #forth 05:32:36 --- quit: mur_ (Remote closed the connection) 05:33:08 --- join: mur (~mur@uiah.fi) joined #forth 06:40:57 --- quit: Topaz (Read error: 104 (Connection reset by peer)) 06:42:52 --- join: T0paz (jonny@spc1-horn1-6-0-cust217.cosh.broadband.ntl.com) joined #forth 06:48:51 --- join: mur_ (~mur@uiah.fi) joined #forth 06:59:47 --- quit: mur (Read error: 110 (Connection timed out)) 07:25:56 --- quit: crc ("Time for bed... Goodnight all!") 07:35:25 --- quit: mur_ (Remote closed the connection) 07:35:59 --- join: mur (~mur@kyberias.uiah.fi) joined #forth 08:22:33 --- join: warpzero (~warpzero@mi092.dn177.umontana.edu) joined #forth 08:41:56 --- quit: sallust (Remote closed the connection) 08:42:30 --- join: sallust (~reynaert@132-185.241.81.adsl.skynet.be) joined #forth 08:52:45 --- join: mur_ (~mur@uiah.fi) joined #forth 08:52:48 hi 08:55:09 hi arke, got milk? 09:04:13 --- quit: mur (Read error: 110 (Connection timed out)) 09:11:01 moo 09:11:01 ^_^ 09:13:25 --- quit: I440r (Remote closed the connection) 09:13:30 --- nick: I440r_ -> I440r 09:13:43 --- mode: ChanServ set +o I440r 09:14:02 OMG HES OP IM GONNA GET BANED :'( 09:14:09 ^_^ 09:14:32 Your constant trolling probably doesn't help either, you know 09:19:06 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 09:52:55 --- join: warpzero (~warpzero@mi047.dn181.umontana.edu) joined #forth 10:02:45 --- quit: mur_ (Remote closed the connection) 10:03:25 --- join: mur (~mur@smtp.uiah.fi) joined #forth 10:18:07 --- join: mur_ (~mur@smtp.uiah.fi) joined #forth 10:29:16 --- quit: mur (Read error: 110 (Connection timed out)) 10:31:29 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 10:31:35 --- mode: ChanServ set +o kc5tja 10:41:53 --- quit: sallust (Remote closed the connection) 10:42:27 --- join: sallust (~reynaert@16.149-201-80.adsl.skynet.be) joined #forth 11:27:29 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 11:53:02 Robert: sheesh. dsk is an asshole. 11:53:22 Hah. 11:53:29 Look who THAT is coming from := 11:53:42 Stop offending people and/or typing lots of nonsense. 11:53:56 And your life will become so much easier. 11:54:56 he didnt have to ban me for that though 11:55:00 (i could go back, but i wont) 11:57:19 * arke sigh 11:57:33 he could have at least unbanned. 11:57:35 *sigh* 11:57:54 --- join: wossname (~Snak@fctn1-2008.nb.aliant.net) joined #forth 11:58:08 Hey wossname 11:58:30 hi wossname sir psycho sexy 11:58:39 hi arke und robert 11:59:27 lets chant the dsk song :D 12:00:00 hmm 12:00:02 i have an idea 12:00:05 --- nick: arke -> rk 12:00:13 hey, no irc war 12:00:19 --- nick: rk -> arke 12:00:21 :) 12:00:33 dsk didn't really want to ban you 12:00:52 kk 12:00:53 * arke reads 12:17:16 oh hi kc5tja didnt even realize you were here 12:20:18 --- quit: wossname ("flips") 12:20:58 --- nick: TomasuDlrrp -> Tomasu 12:21:01 * Tomasu is back (gone 07:48:42) 12:52:39 --- join: FlamingRain (Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 12:58:36 * kc5tja is doing various kinds of research at the moment, so please forgive me if I appear AFK. 13:03:22 --- quit: FlamingRain ("Leaving") 13:05:00 ok :) 13:16:17 --- join: I440r_ (~mark4@216-110-82-205.gen.twtelecom.net) joined #forth 13:33:05 --- quit: I440r (Read error: 110 (Connection timed out)) 13:47:12 --- join: mur (~mur@smtp.uiah.fi) joined #forth 13:50:03 --- join: FlamingRain (Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 13:58:17 --- quit: mur_ (Read error: 110 (Connection timed out)) 14:39:25 --- join: imaginator (~George@georgeps.dsl.xmission.com) joined #forth 14:43:35 --- join: I4404__ (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 14:53:19 hey 14:55:55 --- quit: FlamingRain ("Leaving") 14:56:09 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 14:58:50 --- quit: I440r_ (Read error: 110 (Connection timed out)) 15:08:29 Hi 15:11:14 --- join: I440r_ (~mark4@216-110-82-203.gen.twtelecom.net) joined #forth 15:14:12 --- quit: I4404__ (Read error: 60 (Operation timed out)) 15:20:09 --- join: I4404__ (~mark4@216-110-82-204.gen.twtelecom.net) joined #forth 15:21:28 --- join: warpzero (~warpzero@mi047.dn181.umontana.edu) joined #forth 15:21:51 hi warpzero 15:36:44 --- quit: I440r_ (Read error: 110 (Connection timed out)) 15:48:04 * Tomasu is away: bbl 15:48:09 --- nick: Tomasu -> TomasuAway 16:25:17 Back for now. 16:27:44 --- quit: OrngeTide ("bye") 17:00:57 --- quit: T0paz ("Leaving") 17:46:25 --- join: I440r (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 17:48:37 re I440r 17:52:30 hi 17:53:00 --- join: TheBlueWizard (TheBlueWiz@207.111.96.135) joined #forth 17:53:00 --- mode: ChanServ set +o TheBlueWizard 17:53:07 re TheBlueWizard 17:53:26 I440r: I'm thinking of just starting the Kestrel project completely over from scratch. 17:53:26 kc5tja hiya 17:53:40 start over? whoa! 17:53:45 Yeah. 17:53:47 that usually leads to a better design 17:53:56 or if not a better design, a better implementation of the design 17:54:11 just dont do what babbage did hehe 17:54:11 all cuz of a potential patent lawsuit...ugh 17:54:14 Well, here are the problems I'm having: 17:54:15 KEEP starting over 17:54:16 and over 17:54:21 and over... 17:54:22 lol 17:54:24 --- part: slava left #forth 17:55:11 The TTA architecture, while doable, won't deliver the performance I'd like without a pipeline. And as you might expect, a pipeline introduces branch delay slots. This is true for subroutine calls as well as regular branches. 17:55:43 Therefore, the TTA requires a NOP after 99% of the CALL instructions coded for it, which means a CALL ends up being 64-bits instead of 32-bits. 17:56:02 :/ 17:56:07 That rather defeats the purpose of having a dedicated CALL instruction encoding. 17:56:44 ya 17:56:47 are you talking about the original FTS1001 architecture? 17:56:49 Second, I've 17:57:15 TheBlueWizard: Where "original" refers to the transport-triggered architecture I've decided to go with to work around the patent issue, yes. 17:57:38 Second, I've been reviewing the OpenRISC architecture a bit more, and it seems to me that that is one hell of a nice RISC architecture. 17:58:38 If I've said that MIPS was my favorite RISC architecture before, let it be known that I was mistaken: OpenRISC combines a lot of the nicest features from MIPS and PowerPC. 17:59:42 Unfortunately, it does mean that the CPU is vastly more complex than it formerly was. The nice thing, however, is that I don't have to write the code -- it's already available from opencores.org 18:00:39 It turns out, oddly enough, that there is also a VGA controller core available on opencores.org that looks to be pretty nice too. I haven't fully evaluated it yet. 18:00:53 So there are two things that I don't really need to write myself. 18:01:10 i dont thin you have patent issues to worry about 18:01:12 I'm so far unhappy with what I've seen as far as audio core offerings. 18:01:22 i dont think they will remove chuck from the patent and he wont sign on 18:01:47 I440r: Nonetheless, I have to license the technology from EITHER PTSC OR Chuck. 18:02:07 i think if you asked chuck he would just say "go ahead" maybe 18:02:10 And Chuck's IP manager has refused to contact me about this, despite repeated attempts to contact him. 18:02:21 I440r: I did. He referred me to his IP manager. 18:02:30 doh 18:03:11 Anyway, this whole fiasco raises an interesting point. 18:03:50 Wouldn't it be damn nice to have an operating system or something that would let you run your software *regardless* of what microprocessor you have in your computer? I'm talking about the same, physical binaries? 18:04:23 java :) 18:04:24 lol 18:04:47 --- join: asymptote (~weldon@bgp02689673bgs.flrdav01.dc.comcast.net) joined #forth 18:04:49 It turns out that http://llvm.org has pretty much a viable solution to solve this problem. With a slight adaptation of LLVM's bytecode format (to produce LLVA), they were able to successfully compile *LINUX* (NOT uCLinux, not MkLinux, *LINUX*) to the virtual architecture, and run it that way. 18:04:49 * TheBlueWizard chuckles bitterly 18:04:55 lol 18:04:59 I440r: Java is a TOY compared to LLVM. 18:05:10 java doesnt even qualify as a TOY 18:05:10 LLVM competes with IBM System/38 and AS/400. 18:05:14 its a fscking abomination 18:06:05 Java is faster than Perl, make no mistake about that. (Note: I'm not talking about class loading and the billion-class-deep hierarchy that is often loaded by web-browsers; I'm talking plain, old, home-style, command-line interfaced Java applications). 18:06:18 --- part: asymptote left #forth 18:07:29 Anyway, that's neither here nor there. Java is a toy, because the bytecode is just plain NOT intended to be JIT compiled. LLVM is designed *expressly* for this purpose, and therefore competes head to head with .NET's CLR, and if I do say so myself, elegantly hands CLR its ass on a finely polished silver platter. 18:22:09 I guess the point I'm trying to make is that I would like to have a system where if I need to change CPUs, I have that flexibility without worrying about ruining other people's investments into the older architecture. 18:22:51 (e.g., if OpenRISC turns out to be too slow for people, they should have the ability to purchase a PowerPC processor card or something, and the system ought to work the same, only faster.) 18:23:59 * TheBlueWizard nods 18:26:11 That's essentially what IBM did when they released their latest generation of AS/400 boxes; they went from the old System/38 CPU to a customized, 64-bit PowerPC architecture. Old applications simply don't know the difference. 18:26:59 * kc5tja sighs 18:27:13 I'm just plain at a loss as to where to proceed from here. 18:28:14 is it just me or is CLF just plane BORING these days 18:29:08 CLF has pretty much always been boring. 18:34:11 --- quit: TheBlueWizard (Nick collision from services.) 18:34:29 --- join: TheBlueWizard (TheBlueWiz@pc72dn1d.ppp.FCC.NET) joined #forth 18:34:29 --- mode: ChanServ set +o TheBlueWizard 18:34:34 --- quit: tgunr (Excess Flood) 18:36:27 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 18:39:56 --- join: kc5tja_ (~kc5tja@66-74-218-202.san.rr.com) joined #forth 18:44:22 * kc5tja_ sighs 18:44:30 I am *REALLY* getting pissed off at these disconnects!!! 18:46:15 mine seems to be worse -- I seem to get cut off from my ISP (I think my ISP sux today) 18:46:19 --- quit: kc5tja (Nick collision from services.) 18:46:23 --- nick: kc5tja_ -> kc5tja 18:46:26 --- mode: ChanServ set +o kc5tja 18:46:43 I'm on cable modem. 18:49:57 --- quit: TheBlueWizard (Nick collision from services.) 18:50:17 --- join: TheBlueWizard (TheBlueWiz@ip-207-198-223-91.nyc.ny.fcc.net) joined #forth 18:50:17 --- mode: ChanServ set +o TheBlueWizard 18:50:29 Grrr.... 18:55:29 Hehe :D 18:59:57 so i finally get my subversion server up and running so tathi can use it and tathi totally disappears! 18:59:59 dammit' 19:01:13 I haven't seen him or Herkamire in some time. 19:06:16 well, gotta go...good luck redesigning Kestrel 19:06:27 * kc5tja sighs 19:06:28 --- join: doublec (~chris@li5-223.members.linode.com) joined #forth 19:06:48 I wish I didn't have to use a several thousand gate "memory controller" just to talk to RAM and ROM anymore. >:/ 19:06:58 * TheBlueWizard nods sympathetically, and thinks this may prove to be a big task 19:08:02 if it were not for all those insane IP laws, we would have a lot of goodies by now 19:08:53 Yes. 19:09:14 * TheBlueWizard adds that the laws per se are just on paper; it is really all those shmucky greedy bastards and corrupt politicans running the show 19:09:18 I am seriously considering this: continue software development of the Kestrel using the old MISC core design, and just implement the new Kestrel with a MISC-emulator in ROM. 19:10:12 anyway....all bye! 19:10:17 Laters 19:10:24 --- part: TheBlueWizard left #forth 19:21:38 --- quit: doublec ("using sirc version 2.211+ssfe") 19:22:53 --- join: [Forth] (~Forth@216-110-82-59.gen.twtelecom.net) joined #forth 19:24:41 Uugh, and that's another thing too -- I'm freaking sick and tired of this god-awful SDRAM crap. 19:24:44 It takes something like 16 to 20 clock cycles to read a frigging byte from memory! 19:31:19 WAIT! 19:32:50 If I run the memory bus at 8MHz, but use 4 asynchronous, static RAM chips across to form a 32-bit bus, then that will give me the sustained rate I need to drive the VGA display, and ought to be "good enough" for the main CPU, since it has internal cache RAM anyway. 19:34:10 s/8MHz/6.25MHz/ 19:34:34 Of course, the CPU will need to wait for the VGA chip to gain access to the memory. 19:34:59 BUT, this should help cut costs of the new design, and allow me a more responsive processor. 19:36:03 hmm...I'll have to think about this. 20:01:57 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 20:53:54 http://www.research.ibm.com/journal/rd/441/amdahl.pdf -- good article on the IBM System/360 mainframe architecture and the rationales behind it. Contrast it with how modern PCs are architected. :( 21:04:31 kc5tja, I've worked a wee bit with an AS/400 at work. 21:22:19 * kc5tja is thinking that he should, at this time, stick with the TTA architecture after all. 21:22:55 Heh. :D 21:22:59 (this is, of course, pending receipt of pricing information from Xilinx.) 21:23:21 Spoken like a true INTP. 21:23:32 My new TTA design centers around a TDM-based I/O processor, which is ultimately responsible for feeding the processor itself. 21:23:37 madgarden: what OS do those things run? 21:23:50 fridge: OS/400 :) 21:24:12 are they anything like vms or unix, or just another beast altogether? 21:24:37 Basically, the I/O processor is the one and only true "bus master" in the system, and it executes very simple instructions which do nothing more than DMA transfers to various peripheral devices. The CPU is one such device. 21:24:40 I don't really know much about them. The "user interface" is a bunch of crappy menus, with about 1.2 million commands. 21:25:18 fridge: Another beast all-together. 21:25:28 AS/400's instruction set is not even its true instruction set. 21:25:29 I wonder if IBM has a test drive program 21:25:38 like HP with their products 21:26:10 madgarden: The AS/400 standard model of interaction is none other than what we have with the web. 21:26:27 I liked that, being able to telnet into openvms... I still don't know much about the OS though 21:26:47 fridge: VMS is a *KICK ASS* mainframe OS. 21:27:12 It blows the doors off of Unix in almost every way I can think of. 21:27:51 I wish my company deployed more interesting things than arrays of unreliable linux machines 21:28:07 with the infrastructure to handle failures, to some extent 21:28:12 I'm glad I'm not the only one who has had to come to that conclusion. 21:28:43 I mean, I love Linux. But BSD is 100% more solid than Linux. But, really, 75% of the problem isn't Linux -- it's the hardware it runs on. 21:29:22 Even so, Linux, like all Unix clones, just can't deal with running at 100% capacity. It just can't. 21:29:46 That's the one thing about a mainframe-class OS -- it (along with its underlying hardware) can effortlessly run at 100% load, and not even bat an eye. 21:29:57 yeah, my friend used to work in GIS, he said they threw torrents of data at it and it just churned away at the solution for a few months 21:30:03 this is on VMS 21:30:40 * kc5tja nods 21:30:59 VMS inspired two of my all-time favorite operating systems: AmigaOS and OS/2. 21:31:02 I've had a few situations in the past where all linux's resources were consumed 21:31:06 and it just fell over 21:31:12 (well, to be fair, OS/2 is about equally inspired by OS/360 and VMS). 21:31:38 Dude, one of the biggest problems we have at work is Sendmail and/or Apache just deciding to up and die. 21:31:41 I mean, seriously. 21:31:56 50% of the time, sendmail and Apache will actually be running, but will refuse to talk to a socket. 21:32:20 The other 50% of the time, they'll just disappear -- presumably (if enabled in the kernel settings) with a core dump. 21:32:43 In both cases, the result is utterly unacceptable. 21:33:11 If this new job I've been promised takes off 21:33:21 I think I'll be using BSD 21:33:36 BSD ought to be much, much more stable than Linux. 21:33:36 presently, there just isn't a distribution of linux that I'm happy with 21:34:07 * kc5tja should probably try some kind of BSD variant some day. But if I were to do that, I wouldn't be sure what kind to try. 21:34:36 the redhat-> fedora thing with brief notice of EOL'ing support for existing products really left a sour taste in my mouth 21:36:25 sure, we weren't paying for support 21:36:31 but that just wouldn't happen in the bsd world 21:37:04 --- join: slava (~slava@CPE00096ba44261-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 21:37:06 Well, remember that RedHat has posted a profit only ONCE in its entire business history. 21:37:09 hey 21:37:17 It's either broken even or posted a loss for every other quarter. 21:37:26 how do they stay in business? 21:37:28 You just *cannot* run a business like that. 21:37:56 slava: It remains to be seen whether they WILL stay in business. 21:38:06 slava: you eat away at the investors capital until there is nothing left 21:38:41 Well, also remember that if you're close to breaking even, you can basically tread water. I think they've been doing that a lot. 21:38:52 But, anyway, I agree -- RedHat is a horrible company. 21:39:01 SuSE is just walking all over them, especially in Europe. 21:39:23 We at cari.net are virtually an all-SuSE company. Some of our boxes are Mandrake though. Uugh. >:( 21:39:39 --- join: OrngeTide (orange@rm-f.net) joined #forth 21:40:11 kc5tja: using their free products, or with licenses? 21:40:39 Though, if I were to start a web hosting reseller company, I would purchase a mainframe, and host all of the sites on that. Even if I have to run Linux on the mainframe, the fact that the *hardware* is consolidated and verifyably superior than any PC architecture in the world alone makes the cost-vs-performance ratio overwhelmingly in my favor. 21:40:47 fridge: We have licenses. 21:41:17 kc5tja: I think that is what johncompanies.com does 21:47:05 ouch ouch ouch 21:47:14 notice the bug: void collect_sbuf(SBUF* sbuf) { 21:47:14 sbuf->string = copy_untagged_object(sbuf->string, 21:47:14 sizeof(sbuf->string) + sbuf->string->capacity); 21:47:14 } 21:47:29 we're copying sbuf->string->capacity bytes, but each charcter is actually *two bytes* 21:47:35 so only half the buffer gets copied 21:48:13 slava: I have no idea what you're talking about, but I'll take your word for it. :) 21:48:20 fridge: Not familiar with them. 21:49:26 ( 0 ) 20 "foo" set 21:49:26 ( 1 ) "Hello world..." "foo" get sbuf-append 21:49:26 ( 2 ) garbage-collection 21:49:26 GC 21:49:26 Critical error: asked to copy forwarding pointer 168158991 21:49:45 fridge: "Our connectivity comes from four physically distinct 45 Megabit connections, each from a different provider. Day to day fluctuations in the status of the US IP network will not affect your uptime." -- this is a load bullshit. :D We have multi-homed clients and when one of their backbones went down, their site was offline for HOURS until DNS repropegated with the correct IPs. 21:50:40 my code is lousy 21:53:35 luckily, i can add a unit test :) 21:54:04 slava: Hehehe. Yeah, well, buffer management like that is a pain, I guess. As long as you tightly factor such stuff out, though, fixing that one bug ought to make the rest of the system substantially more stable. 21:54:34 kc5tja: we do something similar, an outage takes 5-10 minutes to propogate the new IP 21:54:44 kc5tja, in this case, it was a result of not enough factoring. I already had an SSIZE macro that calculated the correct size of a string buffer -- but that piece of code didn't use it! 21:57:01 I want to add some kind of object system to my Forth, to make dealing with the graphics system I want easier. 21:57:05 slava: Well, stop complaining to me, and fix it! :D 21:57:08 I guess it all depends on how you setup the TTL's 21:57:18 kc5tja, i did ;) 21:57:38 imaginator, what kind of graphics system? and what kind of object system? :) 21:58:07 fridge: You are correct; however, it's also dependent on the name servers which probe ours periodically too. 21:58:33 Well, I'd like to have something that makes it easy to create buttons, geometry managers, and decode/blit images. 21:59:12 for some reason formal object systems don't seem popular with forthers 21:59:21 most just prefer ad-hoc oop (which is fine IMHO) 21:59:33 I want to rewrite my window manager in my Forth. It seems that doing so is not as easy as I had hoped. 21:59:47 x11 will be a bitch 21:59:54 can you use gforth and cal libX11? 22:00:23 I think I'll link with libX11 and use some calls, or do raw X protocol where needed. 22:03:07 This is what my current Panache WM looks like: http://www.xmission.com/~georgeps/tmp/Panache_Aug_9.png 22:03:29 a WM that you can hack with forth would be cool. 22:03:44 I wrote the object system that is used to implement the buttons and so on. Each desktop is an object. 22:03:57 It would be cool :) 22:05:07 Right now this WM is mostly in C and scripted in Tcl. 22:05:39 The desktop layout is pretty simple. Ctrl/Super-Button-1 makes the window under the pointer the main window 22:06:07 Then I have the mini-window list of windows on the right in each desktop. 22:06:55 As a new window is mapped it gets added to the mini-window list and the layout is redone taking into account the size of the various windows. 22:08:15 It gets kind of tricky with some apps like XMMS, because XMMS has a maximum size hint, so the algorithm involves recalculating the ratio for the following mini windows to use the allowable space. 22:09:27 There are essentially two columns. I can enlarge/shrink the columns with the F11/F12 keys. I also have the << >> buttons. 22:09:43 So, that's my little project. What have you been doing slava? 22:10:20 imaginator, debugging... 22:10:50 Your Java Forth? 22:11:03 or JVM Forth rather 22:11:04 i'm working on the C version. 22:15:20 Why did you decided to make a C version? 22:15:55 faster/smaller code 22:17:14 Was the JVM JIT version slower than you expected for something? 22:19:15 i'm using java factor in my game where its mostly used for configuration and such, and its fast enough. but recently me and doublec have been working on a webapp framework for factor, and this needs top performance 22:19:36 so far its 2x as fast as bytecompiled java factor, and 10x as fast as interpreted java factor 22:19:53 now that this GC bug is fixed, I can implement an optimization i've been planning for a while, and achieve a 2x boost on top of that 22:21:15 slava: Yes, you can use gforth to call X11 directly. 22:21:31 You need to have GForth 0.6.2 or later, compiled with the ffcall package pre-installed. 22:21:46 (so that gforth's ./configure script will auto-detect it) 22:22:04 what is ffcall? 22:22:05 libdl wrapper? 22:22:18 Libdl wrapper and inter-language thunking library. 22:23:13 It isn't that difficult to call C functions. It's the blasted types that are difficult. 22:24:14 To accurately know the proper offset for a structure/type's member involves really implementing a little C parser or manually entering in all the sizes for the types and offsets. 22:24:29 Is there an easier way that I don't know about? How does ffcall work? 22:29:57 * imaginator reads about ffcall. sorry 22:30:13 Anyway, what's new in the Forth world? 22:33:51 Calling C from Forth isn't hard. 22:33:55 Calling Forth from C *is*. 22:34:03 ffcall helps resolve this issue. 22:34:48 imaginator: What's new? Well, I'm re-engineering the Kestrel I think. It should be equally at home with either the TTA I was working on, or a more traditional CPU like the OpenRISC. 22:34:56 But the biggest change is how it handles I/O and manages the bus. 22:35:08 The main CPU is not the bus master of the system, but rather, the I/O processor is. 22:35:47 The I/O processor has a very limited instruction set geared towards ensuring fair and equitable use of the bus as determined by some kind of policy (set by the host CPU of course). 22:37:02 The I/O processor will be used to drive audio and video, and quite likely even the IDE interface, though that'll probably require some pretty neat tricks on my part. 22:37:03 'factoring out the complexities of hardware? How do you get involved with the sport of hardware hacking/design? 22:38:39 The best approach is to read the theory up on the theory of digital electronics (if you go to your local Radio Shack, there'll be a set of small books from Forrest M. Mims III -- one of these will be on digital electronics.). Also, just toying around with real hardware, seeing how gates actually work. 22:38:45 Then building up from there. 22:39:54 I have the books by Forrest M. Mims III. 22:41:02 I guess it's the building up that is the problem. I want to do something useful, but I don't (as of yet), have an idea for something to build. 22:42:20 I don't know how to go from a simple adding machine to something more sophisticated. I could add OR gates and so on, but I really want to build something fun and useful. 22:45:40 kc5tja: did you get a degree in, or study electrical engineering? Are the IEEE books/magazines useful for someone at my level? 22:53:04 --- join: mur_ (~mur@uiah.fi) joined #forth 23:00:34 IEEE is pretty high level stuff. :-) 23:01:00 No I don't have a degree. Everything I know is self-taught. I spent the better portion of my life just dabbling, taking an idle interest in various technologies, and learning as much as I could about them. 23:01:09 Now I'm ready to put what I've learned to real use. 23:01:47 imaginator: Well, what kind of thing are you looking to build? :) 23:01:56 Me, personally, I'm torn. 23:02:31 On the one hand, I want the Kestrel to be my next Amiga-like computing platform. Something I can replace my 800MHz Athlon with, and yet still feel good about the change-over to something running in the 25MHz class performance. 23:03:38 On the other hand, I also want the Kestrel to be so simple that a single person can grok it thoroughly, has instantaneous turn-on, doesn't need to be explicitly shut down, and is just plain user-friendly in every conceivable way. 23:04:22 --- quit: mur (Read error: 110 (Connection timed out)) 23:05:35 I'd like to build some hardware that would complement my PC. Most of all I want to create and have fun. :D 23:07:05 Yeah, that's something I'd like to do too. 23:07:46 --- part: slava left #forth 23:08:03 One idea I had was implementing something on a PIC chip to offer an external QWERTY-to-Dvorak keyboard scan code converter. 23:08:45 The biggest problem with computers today is that the hardware specifications and the electronics needed to use them are both very expensive. 23:09:31 OK, you can pick up the "USB System Architecture" or "PCI System Architecture" volumes from Mindshare, Inc. at your local technical bookstore for pretty cheap. But where are you going to get the parts to exploit these technologies? They aren't very commonplace. 23:09:47 One of the reasons I would like to build the Kestrel is to let me get back to my roots. 23:10:10 My 800MHz Athlon is a nice box. And it has a ton of computing power. But its I/O capacity sucks ass, to put it bluntly. :) 23:10:22 And its operating systems leave much to be desired. 23:14:25 In the interest of keeping my options open, one of the more interesting projects I'd like to see is a "home-scale mainframe" computer. This is basically a mainframe for the household, and would probably build on top of the I/O channel architecture I'm building into the Kestrel now. 23:15:17 That would be cool. I've wanted a cluster for doing POV-Ray work. 23:18:34 I suspect the best cluster for that would be a set of PowerPC boxes (MacOS X Serves perhaps), running Linux with OpenMosix. 23:18:58 Since you're dealing with sheer, unadulterated, computing power, a mainframe isn't the best thing here -- what you're looking for is a supercomputer. 23:19:36 A mainframe's claim to fame is not its processing performance, but its uncompromised I/O performance. 23:20:31 To site one example: when I first attended college, All the students who were in the computer science department had accounts on the college mainframe. Everybody did their homework on the mainframe. Everybody checked their e-mail, edited source code, ran programs, etc. all on the mainframe. 23:20:46 At any given time, there probably were close to 200 students using the mainframe at any given time. 23:20:59 Take a guess at the mainframe's CPU speed. :D 23:21:17 200 MHz? 23:22:15 or are you talking MIPS? 23:22:35 MHz, MIPS, doesn't matter. 23:22:40 And you're wrong. By a factor of almost 10. 23:22:46 The CPU speed was only 25MHz. 23:23:10 How does it do all that with such a processor? 23:23:14 It was a VAX-11/780. 23:23:24 Well, first of all, you need good quality hardware design. 23:23:39 Data needs to get from the terminals into the mainframe's memory as quickly as possible. 23:23:43 And vice versa. 23:23:54 This means the underlying architecture is optimized for brute I/O performance. 23:24:23 Secondly, you need to have one hell of a kick-ass operating system for it. 23:24:55 Linux wouldn't cut it under this kind of load, because Linux isn't designed for event-driven operation. 23:25:09 Unix has most of its history steeped in batch-processing and autonomous servers. 23:26:07 VMS (and perhaps its most direct descendent, AmigaOS) is optimized for lean, clean, uninhibited multitasking performance and is designed *around* an event-driven architecture. 23:26:30 This is why AmigaOS stands alone in the world of desktop-class PC operating systems, with BeOS being its only real competitor. 23:27:05 OS/2 is a FINE operating system too, because it is inspired heavily by OS/360 and OS/400. But it still suffers from its DOS-compatibility days and its Microsoft influences. Still, it's nonetheless a great system too. 23:29:06 * imaginator has never used AmigaOS or BeOS. 23:29:29 Oh man. Boy are you missing out. :) 23:29:38 The Amiga was really the only desktop-class mainframe there ever was. 23:30:06 I like the idea of events for a system. It seems often w/ systems like unix the process waits for the OS/window-system to complete a request. I'd much rather send a request/message and have an event arrive later that's a response. 23:30:09 The CPU was only 7.15909MHz for the American models (slightly less for the European models), but nonetheless still offered 60fps full-screen animations. 23:30:35 imaginator: AmigaOS is built exclusively (even moreso than VMS actually) around that concept. 23:31:03 The ***ONLY*** system primitive that can block a task is Wait() -- which, strangely enough, is used to wait for some kind of event. EVERYTHING else in the system was asynchronously dispatched. 23:31:09 hmm 23:31:26 I should really try and get my A2000 up 23:31:27 (Note: other OS calls could block the task too -- but under the hood, these calls all just made use of Wait()). 23:31:33 I think it has video issues though =\ 23:32:38 VMS had several kinds of multitasking primitives, but the one most often used towards the end were the event-notification APIs, which basically comprised of Wait() and Signal() (<-- these are the AmigaOS equivalent names; I forget what their VMS names are). 23:32:53 kc5tja, i'd probably say NT kernel is more like VMS than AmigaOS. 23:33:32 OrngeTide: I would agree with you if it were actually used that way. 23:34:06 What language is VMS written in? What language does the system support natively for system calls? 23:34:06 well they took this wonderful kernel and then forced some garbage ontop of it. 23:34:15 OrngeTide: I know that it has inherited many features from VMS, including structured exception handling and the like. However, the Win32 layer on top of it obscures the real power of the NT's kernel. NT is a nice system, but good lord, it's unilaterally wasted. :/ 23:34:32 agreed. 23:34:41 imaginator: It's written in assembly language. 23:35:54 imaginator: The system supports all languages equally well, since it uses CPU registers to pass parameters to the OS kernel. In this respect, it's very similar to Linux. 23:36:21 (e..g, each language is expected to have its own library to link with which provides a binding to the host OS kernel) 23:36:51 What processors does OpenVMS support? 23:37:49 VAX and DEC Alpha. 23:37:58 most common OSes aren't terribly particular about language. it's usually the system libraries that define what lang is prefered. obviously there are excepts, like a forth kernel is not going to be much fun running Ada programs on. 23:38:04 Supposedly, there is an effort to create an open-source FreeVMS, but I don't know much about it. 23:38:08 I see Itanium on the HP site. So, I guess 3 processors. How did they do that with it being in assembly? 23:39:32 i think it would be interesting to have something VMS-like running on a cache kernel. then you could leverage linux or bsd apps in your cache kernel and run them along side your experimental "improved" vms-like kernel. 23:39:54 OrngeTide: That's my goal with Dolphin. 23:39:59 oh? neat 23:40:07 Although I was modeling it after AmigaOS. 23:40:19 But Dolphin will run first and foremost under a cache kernel environment. 23:40:28 doing it in c, asm, or forth? 23:40:45 I'm also STRONGLY considering incorporating an LLVM run-time into the run-time environment too. (See http://llvm.org for more details.) 23:41:29 OrngeTide: Hard to say. LLVM favors the more static languages like C and/or Oberon. I was thinking Oberon, actually, because of its extensive modularity. 23:42:03 But if I don't code any portion of the cache kernel with LLVM, then Forth is a very real possibility, with hand-tuned assembly where needed. 23:42:43 i generally choose things by the availability of debugging tools. which is why I've been toying with the idea for the past week of doing a debugger/monitor ontop of a cache kernel 23:42:53 does oberon have some good debug toosl? 23:45:07 * OrngeTide reads up on oberon. 23:46:19 I'm not sure I can answer that. I suspect the answer is no, based solely on installed base. 23:46:23 ho 23:46:26 hi* 23:46:27 :) 23:46:57 * arke was recommended oberon once, but has never taken a look. 23:46:59 should I? 23:47:05 neat. lots of compilers for it. and even two different back-ends. arm, i386, sparc, powerpc support. hrm 23:47:42 However, Oberon's fanatical type safety *almost* eliminates 45% the need for a debugger in my experience. Another 45% can be eliminated with excellent design skills (e.g., extreme programming, formal design methods, etc.). The remaining 10% can often be worked around through other means, and I consider them flukes. 23:48:03 oh, typed :/ 23:48:41 arke: Don't disregard typed languages blindly. I prefer Forth and Smalltalk over other systems, but typed languages have their place too. 23:49:34 one of the reasons i like C over C++ is that C isn't so anal about types 23:49:41 although it can be worked around just as easy 23:49:42 :) 23:49:47 * arke googles for oberon 23:51:40 LOL! "last night me and tawny were in a car. she was in the backseat reading a magazine. and i was infront trying to get some rest. a cop comes by and asks me how old i am. i told him that i was 23. then he asked me how old tawny was. i told him that she turns 18 in 11 minutes." 23:51:42 Oberon is as fanatical about type safety as most functional programming languages. 23:54:56 got home from work. which reminds me... today on my break, i sat down, with a shake, and whipped out my german vim reference book. 23:54:59 it was great 23:55:01 everybody looked at my little book and tried to figure out what the hell it was 23:57:39 --- join: mur (~mur@kyberias.uiah.fi) joined #forth 23:58:46 Hehhe 23:58:59 * kc5tja wishes he could visit Germany. 23:59:34 come visit me next year :) 23:59:59 --- log: ended forth/04.08.09