00:00:00 --- log: started forth/03.11.13 00:02:43 --- join: melinda_ (melinda@melinda.usercloak.freenode) joined #forth 00:24:39 --- quit: melinda_ (Read error: 110 (Connection timed out)) 00:25:01 --- quit: I440r (calvino.freenode.net irc.freenode.net) 00:25:01 --- quit: chandler (calvino.freenode.net irc.freenode.net) 00:25:01 --- quit: mur (calvino.freenode.net irc.freenode.net) 00:25:01 --- quit: oooo (calvino.freenode.net irc.freenode.net) 00:25:01 --- quit: MysticOne (calvino.freenode.net irc.freenode.net) 00:25:01 --- quit: ianP (calvino.freenode.net irc.freenode.net) 00:25:01 --- quit: skylan (calvino.freenode.net irc.freenode.net) 00:28:35 --- join: oooo (o@virgo.bombsquad.org) joined #forth 00:28:35 --- join: MysticOne (mysticone@mysticone.usercloak.freenode) joined #forth 00:28:35 --- join: mur (~mur@smtp.uiah.fi) joined #forth 00:28:35 --- join: skylan (sjh@vickesh01-4649.tbaytel.net) joined #forth 00:28:35 --- join: ianP (ian@inpuj.net) joined #forth 00:28:35 --- join: chandler (~darmok@64-145-60-36.client.dsl.net) joined #forth 00:28:35 --- join: I440r (~mark4@12-178.lctv-a5.cablelynx.com) joined #forth 00:28:35 --- quit: mur (calvino.freenode.net irc.freenode.net) 00:28:36 --- quit: oooo (calvino.freenode.net irc.freenode.net) 00:28:36 --- quit: ianP (calvino.freenode.net irc.freenode.net) 00:28:36 --- quit: chandler (calvino.freenode.net irc.freenode.net) 00:28:36 --- quit: I440r (calvino.freenode.net irc.freenode.net) 00:28:36 --- quit: skylan (calvino.freenode.net irc.freenode.net) 00:28:36 --- quit: MysticOne (calvino.freenode.net irc.freenode.net) 00:28:46 --- join: oooo (o@virgo.bombsquad.org) joined #forth 00:28:46 --- join: MysticOne (mysticone@mysticone.usercloak.freenode) joined #forth 00:28:46 --- join: mur (~mur@smtp.uiah.fi) joined #forth 00:28:46 --- join: skylan (sjh@vickesh01-4649.tbaytel.net) joined #forth 00:28:46 --- join: ianP (ian@inpuj.net) joined #forth 00:28:46 --- join: chandler (~darmok@64-145-60-36.client.dsl.net) joined #forth 00:28:46 --- join: I440r (~mark4@12-178.lctv-a5.cablelynx.com) joined #forth 00:38:20 --- quit: schihei (Client Quit) 01:08:09 --- quit: Stepan ("disconnecting from stoned server.") 01:40:00 --- join: warp0x00 (~warpzero@66.109.155.37) joined #forth 01:42:13 sup dudes 01:43:47 11010010110110100000100101011 01:44:16 decimal 36 base ! 01:44:42 what? 01:46:04 well, you can do X EMIT then 01:48:48 and fun things like SEGHER . 02:43:10 Here. 02:54:52 0 > here . 40163000 ok 03:07:16 --- quit: haroldo (Read error: 110 (Connection timed out)) 03:07:41 --- join: haroldo (~haroldo@r200-40-213-5.adsl.anteldata.net.uy) joined #forth 04:24:35 --- join: schihei (~schihei@p5085D9CC.dip.t-dialin.net) joined #forth 04:26:07 --- join: rO| (~rO|@dialin-145-254-107-051.arcor-ip.net) joined #forth 04:26:56 hello 04:28:19 everybody 04:33:54 sup 04:37:05 --- quit: warp0x00 ("#") 04:52:11 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 05:24:36 --- quit: tathi ("leaving") 05:31:39 --- quit: I440r ("Leaving") 05:40:14 --- quit: ASau ("Toffee IRC client for DOS v1.0/b535") 07:36:59 --- join: moritz_ (~moritz@pD951FA46.dip.t-dialin.net) joined #forth 08:28:01 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 08:28:11 --- mode: ChanServ set +o kc5tja 08:28:38 --- quit: kc5tja (Remote closed the connection) 08:28:59 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 08:28:59 --- mode: ChanServ set +o kc5tja 08:29:20 Note to self: do not confuse the close button with the minimize button. :) 08:30:37 --- join: melinda_ (melinda@melinda.usercloak.freenode) joined #forth 09:08:57 * kc5tja is away: food 09:10:49 --- quit: schihei (Client Quit) 09:11:08 --- join: schihei (~schihei@pD9E5CD74.dip.t-dialin.net) joined #forth 09:25:14 --- quit: schihei (Client Quit) 09:28:17 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 09:43:59 * kc5tja is back (gone 00:35:01) 09:49:43 do you think it's beyond the scope of one person to make a good operating system? 09:49:54 Nope. 09:50:02 good. 09:50:06 I do think it's beyond the scope of one person to make a complete distribution though. 09:50:25 yeah. 09:50:27 But I think each major critical component can all be done with a single person. 09:50:38 AmigaOS was largely design by one person. :) Maybe two. 09:50:42 here here! 09:51:20 I've found that all the software that I really like is made by one person. (occationally with some help) 09:51:58 the world desperately needs some cool new web browsers and operating systems 09:52:29 * kc5tja nods 09:52:44 I intend on working on Dolphin again. 09:52:46 Clean sheet of paper. 09:52:52 I intend to do both, although I'm not really looking foreward to making the web browser 09:53:06 (Well, Dolphin 0.5 was a clean-sheet redesign of 0.3, but still. I'm going to abandon the multi-address space support until I *really* need it.) 09:53:54 --- quit: haroldo (calvino.freenode.net irc.freenode.net) 09:54:04 --- join: haroldo (~haroldo@r200-40-213-5.adsl.anteldata.net.uy) joined #forth 09:54:31 I'll let someone else out there is Open Source-land add the multi-address space if it's truely required, and I'll still have supreme executive control over it, since only I will accept the patches. :D 09:54:32 are you planning it so it can scale up to a "modern" OS with hundreds of applications made by different people? 09:55:28 Sure. There's no reason why not. 09:55:34 AppDirs is what I'll be using for that. :) 09:55:44 Assuming I even continue to support the notions of files. :) 09:55:50 :) 09:56:38 my forth currently has no notion of external source code or "applications". it's just a bunch of blocks and a dictionary. 09:57:38 I think a very important thing in a distro is the ability to download, install, and _completely_ uninstall (except maybe keeping some configuration choices in case you install again) 09:57:44 Well, that's reasonable for a Forth-based environment. 09:58:27 Dolphin won't be a Forth-based environment, even if most of it is written in Forth (or whatever). 09:58:46 what sort of environment will it be? 09:58:52 Closer to AmigaOS. 09:59:10 Just a no-nonsense "classical" OS design. 09:59:34 * MysticOne plops down on the channel floor and falls asleep 09:59:38 my experience of AmigaOS has been playing a couple video games on it once. 09:59:56 I noticed that it had windows and icons 10:00:07 * kc5tja is skipping school today because I have a stomach ache, and I got only 3 hours of sleep last night. 10:00:13 and I was very impressed by the graphics in pacmania 10:00:28 Yep. 10:00:55 makes me kinda mad when I get jumpy scrolling on my G4 10:01:20 And all that jumpiness is the OS's fault. :) 10:01:28 kc5tja: I had a stomach ache but I was so tired I slept through it :) 10:01:29 and that I can't get xmame to scale up much without dropping frames like crazy 10:01:37 MysticOne: It kept me up. 10:02:08 Herkamire: that's strange that you'd get jumpy scrolling ... they do tons of stuff to try and make it so you *don't* get jumpy scrolling :) 10:02:48 Well, the games written for MAME have no idea that they're running in an emulator. 10:02:56 So they think they're running on the actual arcade hardware. 10:03:05 The emulator is responsible for emulating it seamlessly. 10:03:09 jumpy scrolling in mamem? 10:03:11 err, mame? 10:03:21 And it can do so only within the limits that the host OS allows it to. 10:03:30 kc5tja: the emulator works just great. it's the scaling up that's hellishly slow. 10:03:40 Well, that's the emulator. 10:03:49 mplayer can do fullscreen video just fine 10:03:55 The emulator is responsible for creating the window and doing the scaling. :) 10:04:04 Herkamire: Precisely. 10:04:08 man ... on my G5 I can be watching a Quicktime movie, and resize it while the video is still going and it's scaling at the same time, and it doesn't drop a single frame that I can tell 10:04:53 MysticOne: :) yeah. I know my machine can do that. but most programs do not use the hardware well 10:05:04 I hate X 10:05:12 which X? 10:05:14 X11 or OS X? :) 10:05:16 X11 10:05:39 it's not optimized for anything but sucking ... that's for sure :) 10:06:26 I have no interest (besides "hey that's cool... ok now back to something useful") in running a graphical app on another machine 10:06:41 you mean like remote stuff? 10:06:43 MysticOne: Hey, my X runs just fine. :) 10:06:57 kc5tja: ever get NWN working? 10:07:00 But I agree -- it does suck a lot of CPU bandwidth. 10:07:05 MysticOne: Yes! It runs great. 10:07:16 it's hard to get hardware acceleration in X 10:07:16 In fact, it runs better than the WIndows version. 10:07:35 Herkamire: I admit to cheating; my X server driver is written by nVidia directly. 10:08:38 Splitting the driver modules out of XFree86's core is the best thing they could have done. 10:10:25 kc5tja: was it the hardware acceleration that was the problem? 10:10:31 I think X API should be replaced by something like SDL 10:10:55 MysticOne: Yeah. It wouldn't run at all without it. 10:10:59 yeah 10:11:00 cool 10:11:01 just a graphics driver that supports the api, then a VT switcher of some sort and SDL-like api for ease of programming 10:11:05 glad I could point you in the right direction :) 10:11:57 Herkamire: Well, to support modern GUIs, you need widget toolkits and graphics drawing libraries too. But these should not be part of the core engine. 10:12:22 modularization is key, IMHO 10:12:27 The core's responsibility should be to provide a virtual frame buffer (even if it's not one that the hardware supports; it's easier to translate rectangles of incompatible bitmaps than it is to provide every conceivable drawing primitive under the sun). 10:13:09 gtk could be ported to run under SDL 10:13:23 Windows can be supported by exposing them as virtual frame buffers themselves. See Rob Pike's discussion on multiple concurrent sequential processes as an alternative to state-machine-style event driven programming. Although not the primary focus of his discussion, he does go in some detail about how windows work in Plan 9's GUI environment. 10:13:27 (and whatever other toolkits) 10:13:38 Herkamire: I believe it already has? Oh no, that was fbcon. 10:14:30 But if it supports fbcon, then for pete's sake, it can definitely support an SDL surface. :) 10:14:33 Though SDL has some problems too. 10:14:46 yeah. are they working on SDL2? 10:14:47 It's not re-entrant; a single process can have precisely one surface to draw on. I dislike that. 10:14:58 I don't know. 10:17:00 Google doesn't return anything. 10:17:14 At least, nothing of any significant importance. 10:17:24 doesn't OS X use something where each window is its own fb or something? 10:17:26 I forget exactly ... 10:17:49 I haven't played with multiple processes. 10:18:10 I keep hearing what a pain it is (with C) 10:20:17 Not quite. 10:20:34 OS X uses display PDF, where the whole screen (including the menu bar) is rendered using a PDF engine. 10:20:50 --- quit: haroldo (calvino.freenode.net irc.freenode.net) 10:20:54 The display is built in a very structured manner; PDF is a glorified display list. 10:21:05 At some level (in the graphics stuff) the graphics has to be done one thing at a time 10:21:09 (well, it's a tree, but the industry term appears to be either scene graph or display list). 10:21:43 --- join: haroldo (~haroldo@r200-40-213-5.adsl.anteldata.net.uy) joined #forth 10:22:07 Herkamire: It is the driver's responsibility to determine what areas of the screen to update, and in what order to do it in. 10:22:09 kc5tja: does that work for (fast) games? 10:22:11 Since the driver contains both the code AND the display list data, it can do this without ever contacting the application software for screen update instructions, no need for clipping rectangles, etc. Plus the lack of IPC makes the whole thing go VERY fast. 10:22:15 Yes. 10:23:03 If it's fast enough to play DVDs on at full-screen, it's patently fast enough for games. :) 10:24:25 nice 10:24:25 --- quit: moritz_ (Read error: 104 (Connection reset by peer)) 10:24:33 Herkamire: Multiple processes aren't that big of a deal as long as you keep all your ducks in a row. Unix does make things somewhat complicated. IPC can be done with ordinary sockets though, which is nice. No need to use pipes. 10:24:36 (anymore) 10:24:55 --- join: moritz_ (~moritz@pD951FA46.dip.t-dialin.net) joined #forth 10:25:51 And when you think about it, if every application used SDL to render its window, and if even the windowing system used SDL to render all the application windows to the framebuffer, that's a *very* rudimentary form of display listing. 10:26:16 Applications update their local bitmap, then invoke a "sync" command to let the next layer know its graphics has changed. 10:26:30 Then that next layer does the same, etc, until it reaches the display root. 10:27:34 --- join: Robert_ (~snofs@c-255a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 10:27:36 If you extend this idea to include not only framebuffer bitmaps, but also higher-level things like lines, labels, boxes, circles, etc., then the driver can use the card's hardware to render those. 10:27:50 This makes things all go very much faster than how X11 currently does it. 10:28:25 --- quit: Robert (Nick collision from services.) 10:28:27 exactly what I was thinking 10:28:30 --- nick: Robert_ -> Robert 10:28:47 my forth only works with my CFLAGS... 10:28:59 CFLAGS? 10:29:57 I have a little C program that encodes the ascii source into the forth when you build it 10:30:11 it works with gcc -O2 but segfaults with just gcc 10:31:24 it even works with gcc -O 10:32:49 what the heck does gcc do with -O that makes the program do something different (the C program doesn't segfault, but it does something different so that my forth segfaults) 10:34:03 * MysticOne sighs 10:34:05 this is great :P~ 10:36:44 so show your source 10:36:51 oh, and use -Wall -Wextra 10:37:39 http://jason.herkamire.com:5000/svn/herkforth/build.c 10:38:25 if GCC shows any warning, there probably _is_ a problem --> fix it 10:38:44 that's not a small C program ;-) 10:38:50 ok. I get warnings 10:39:10 #define false -1 10:39:19 is that really what you want? :-) 10:40:13 I translated a python program to build.c it didn't take that long. perhaps that's why I think it's small :) 10:40:43 well it's bigger than my Forth inner interpreter + all primitives 10:41:20 it seems to generate PowerPC code? good choice of architecture :-) 10:42:47 yes. ppc 10:43:06 ok. the warnings pointed me to the problem. all fixed. 10:43:16 thanks. I should have done -Wall 10:43:26 btw -Wextra wasn't accepted by gcc 10:43:28 works fine at -O0 now? 10:43:34 yeah. 10:43:42 ancient versions of GCC call it -W instead of -Wextra 10:43:58 I had: foo(); return; instead of; return foo(); 10:43:58 --- quit: melinda_ (Read error: 54 (Connection reset by peer)) 10:44:03 --- join: melinda_ (melinda@melinda.usercloak.freenode) joined #forth 10:44:08 heh 10:44:12 always use -Wall 10:44:22 I've actually had this problem before I think. 10:44:47 oh i often write "return;" when i mean "return 0;" 10:45:01 Does Not Work(tm) 10:46:29 Herkamire: It uses different register and stack layouts probably. 10:48:21 --- join: warp0x00 (~warpzero@150.131.144.218) joined #forth 10:48:50 I understand now 10:50:09 Dang, ROX is so easy to set up and configure, I actually have nothing to do on this box right now. 10:50:09 :) 10:50:09 I hereby resolve to use -Wall from now on 10:50:21 * kc5tja will do the same. I see some programs using it, but I've never used it myself. 10:50:32 sup 10:50:35 * warp0x00 waves at kc5tja 10:50:36 Actually, I do have something. I need to install Ion. 10:50:36 :D 10:50:39 re warp0x00 10:50:46 CFLAGS+=-Wall in my makefile :) 10:51:03 kc5tja: i understand alot better about async cores now (and about latches) 10:51:39 Cool. 10:51:52 we went over some of that in school 10:52:30 --- quit: TreyB (Read error: 60 (Operation timed out)) 11:00:59 Changing window managers. Back in a bit. 11:01:00 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 11:03:36 --- join: kc5tja (~kc5tja@66-91-231-74.san.rr.com) joined #forth 11:03:36 --- mode: ChanServ set +o kc5tja 11:03:54 Sweet!! ROX works awesome with Ion. 11:03:58 Just don't run the panel. :) 11:04:48 * warp0x00 is using xfce4 for the moment 11:05:24 * MysticOne would be using KDE + GNOME + Bluecurve, except RH just did something not so cool with their glibc update 11:05:59 i hate gnome, kde and blucurve way too much bloat 11:06:05 They always seem to have issues with their glibc versions. Why is that? 11:06:36 warp0x00: I'm currently running ROX-Filer (damn sweet system!) with Ion at the moment. 11:06:56 kc5tja: usually i use icewm with window decorations off 11:07:20 kc5tja: I'm using rox-filter under ion 11:07:20 --- quit: rO| (Read error: 54 (Connection reset by peer)) 11:07:31 I just installed it on my girlfriends computer (also ion) 11:07:56 rox is very well done 11:08:08 attention to detail (what the user wants) is there 11:08:13 ROX and Icewm would go quite nicely together too. 11:08:16 Yes. 11:08:21 I agree wholeheartedly. 11:08:26 --- quit: melinda_ (Read error: 110 (Connection timed out)) 11:08:47 you go to set the program to open a file[type] and it puts the cursor in the box before a space and "$@" 11:09:06 so you can just type the program name and hit enter 11:09:26 While still giving you the option to adjust parameters as appropriate. 11:09:32 kc5tja: they're using some new threading thing called NPTL? I'd never heard of it ... 11:09:43 kc5tja: anyway, the latest glibc update requires it ... it's a kernel level thing 11:09:47 and exists in all RH kernels 11:09:48 so what is ROX? 11:09:53 Never heard of it either. 11:09:54 but not in any standard thing pre 2.5 :) 11:09:57 warp0x00: http://rox.sourceforge.net 11:10:06 MysticOne: So 2.6 will require it? 11:10:07 rox is a graphical file manager 11:10:22 It's a relatively SMALL file manager, and it is faaaaaaaaaaast. 11:10:24 kc5tja: I don't think it's required, I think it's just an additional option 11:10:30 kc5tja: it's supposed to greatly improve threading performance 11:10:32 It's actually faster than some text-mode file managers I've used. 11:10:33 user friendly! 11:10:45 And AppDirs are worth their weight in gold. 11:10:56 kc5tja: im cool with xffm 11:11:09 i hardly ever use a file manager 11:11:31 kc5tja: what's appdir? is that what Mac OS X has? (folder with all the app componens, that shows up as an app icon) 11:11:38 MysticOne: Ahh, I was going to say that I've compiled 2.6 without a problem without it. :) 11:11:47 Herkamire: Yep!! 11:11:59 I created a few AppDir thunks for some non-ROX applications already. 11:12:02 kc5tja: yeah, it's not a Linux decision so much as it's an RH decision :) It's supposed to be a good thing, but ... doesn't work so well if your kernel doesn't have it 11:12:02 They're cake to create. 11:12:25 warp0x00: I use both console and graphical about equally. It depends on what I'm doing. 11:12:48 kc5tja: what about sharing code? 11:12:51 kc5tja: im very console 11:12:57 If I want to manage my partition as a whole, a GUI is far easier to work with than console, because I can directly manipulate stuff. For smaller-scale, OR for more detailed manipulations, I use console. 11:13:33 yeah i hear ya, its just im so used to console that i don't even think to use a file manager 11:13:38 Herkamire: Use shared libraries. 11:13:57 kc5tja: do those use appdirs? what about header files? 11:14:54 Herkamire: Since there are absolutely zero conventions for these types of things anyway, you pretty much have to either copy stuff to their traditional homes, or symlink them, before running the application. 11:14:56 as a user, I like appdirs (I like to be able to deal with the app as one unit (delete it or open it) 11:15:33 kc5tja: does Mac OS X have conventions? 11:15:35 Herkamire: But for resources that are patently local to a single program (which occurs FAR more often than opponents of AppDirs let on), AppDirs are vastly superior. 11:15:54 Herkamire: Very much so. MacOS X is built around the concept of AppDirs. Ever since MacOS 1. 11:16:15 This is why you can move the System folder wherever on the disk, and everything still automagically works. 11:16:32 (well, at least prior to OS X; I don't know about OS X's flexibility in this manner) 11:16:40 I know it does this with applications though. 11:21:31 now I'm starting to think about making graphical interfaces where you can "record" your actions and have that be a program. 11:21:51 yeah .app dirs in OSX 11:23:32 how do you call programs from appdirs from the commandline in Mac OS X? 11:23:49 Herkamire: go into the dir and run them 11:23:52 yeah 11:24:42 Ditto for ROX; you 'cd' into the AppDir, then execute AppRun. 11:24:50 since my argument with asua last night I've been thinking that when you click on things and press keys to make choices in applications, that's just as much "programming" or "telling the computer what to do" as typing in forth code in the editor 11:25:24 * kc5tja nods 11:26:18 i dunno if its comparable 11:26:35 mouse clicks in a file manager aren't particularly turing-complete 11:27:07 the thing that's missing from clicknig about, is you need to say when you are starting something you want it to remember how to do, when you are done, and how you want to access that "program" 11:29:26 to make it into a useful program in many cases you will have to some how tell it how to deal with different contexts 11:31:53 hrm 11:32:37 for example if you wanted to write a program that would open your mail reader to the oldest new message, you could tell it to record, and open your mail client, and click on the first message. 11:32:44 --- quit: moritz_ ("Leaving") 11:33:53 but the computer would not know what to do if the mailbox is different next time. does it go to message 57 like last time? or three from the bottom? or the first message from joe? 11:35:11 ITT the mouse isn't a good enough input 11:35:22 what's ITT? 11:36:19 "i think that" 11:36:20 I Think That 11:36:38 good enough for what? 11:36:58 good enough to program a computer like you're saying 11:36:59 I personally don't think it should be used for multiple choice 11:37:08 but that's beside the point 11:37:44 the point is you have a box full of mail, and menus or whatever full of actions, and you are choosing one (open message 57) 11:38:21 to make programs usefull, you usually have to get a little more abstract. (in this case oldest unread message instead of message 57) 11:39:09 --- part: segher left #forth 11:39:37 i suppose 11:39:39 but still 11:39:56 what I'm thinking is that if you can run the program using the mouse, than it shouldn't be any harder/different to get the program to run as part of your programming 11:39:57 how do you make a feasible system of "mouse programming" like that 11:40:15 apple has had one for as long as I can remember 11:40:26 er uh applescript? 11:40:29 year 11:40:31 yeah 11:40:50 I don't think they did it terribly well, but I think theres a good idea in there 11:41:04 hmm 11:41:41 applescripts were pretty useful, and would have been a hell of a lot more useful if they were propperly documented, and weren't such a pain to support. 11:56:40 I'm trying to think if theres some way I can design my system so you get that sort of thing for free 11:57:38 perhaps if I can somehow have a stardard system for translating user input (key press, mouse click, etc) into the function/word/action taken by the app. then it would be trivial to record those functions 11:57:55 I'm out to lunch. bbl 11:57:58 Herkamire: Hey 11:58:05 You may want to check out the REXX scripting language. 11:58:15 Amiga used it for application remote control. 11:58:40 It's not as pretty as AppleScript, but unlike AppleScript, it can control (environment permitting of course) an arbitrary number of applications. 11:59:23 The IPC mechanism on AmigaOS (ARexx) worked by just sending command strings (vaguely reminiscent of command line strings) to applications, which interpreted and acted upon them, then sent responses back to the ARexx interpreter. 11:59:43 Just food for thought. Since everything is string based, it would be relatively easy to build command sequences from GUI components that way, I'd think. 12:00:00 IBM extended the REXX specification to include objects too, but I haven't reviewed that system yet. 12:01:32 it's certainly easy to record keypresses 12:01:47 anyway, really leaving now 12:01:57 Well, if you associate a distinct name with each control you click on, it'd be easy to record those too. :) 12:01:59 Okies, later. 12:12:41 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 12:16:01 --- quit: warp0x00 (Read error: 54 (Connection reset by peer)) 12:22:20 --- join: moritz_ (~moritz@pD951FA46.dip.t-dialin.net) joined #forth 12:35:08 Hmm...it seems that, if I were to create a desktop environment for Dolphin, that I'd have to write my own filer. 12:35:16 ROX is heavily dependent on GTK2. 12:35:40 (it's either that or write a GTK2 API clone. :)) 12:37:53 Oh well. 12:43:32 * MysticOne flies around the channel 12:43:55 question ... 12:44:18 unresolved symbols means something was compiled and linked to a specific thing, and that when you try to load that module or so, those specific things aren't there 12:44:32 --- join: warp0x00 (~warpzero@mi088.dn179.umontana.edu) joined #forth 12:45:55 Herkamire: http://ww.telent.net/diary/2003/9/#7.61662 might interest you 12:46:06 kc5tja: what's dolphin? 12:46:31 MysticOne: More or less true, yes. 12:46:50 chandler: It's an operating system I started working on years ago, never finished, and would like to complete in the future. 12:47:52 kc5tja: whats it like? 12:49:49 warp0x00: As originally planned, the closest OS to it would have been AmigaOS 2.04. 12:50:09 well scince i never used AmigaOS 12:50:17 i have no idea what that would be like 12:50:31 What have you used in the past? 12:50:41 um 12:50:54 mac, win, linux 12:50:58 It's hard to explain what it is, because it's more a user experience thing. 12:51:41 Imagine multitasking performance that is superior to Linux, with a user interface at least as easy to use and detail-oriented as MacOS. 12:52:23 The UI was also going to be substantially document oriented. 12:52:28 im a fan of coop multitasking personally 12:52:47 Cooperative multitasking is wholesale inadequate for use in a desktop operating system environment. 12:53:00 It works great for small-scale and embedded systems. 12:53:09 Where software quality can be tightly controlled. 12:53:15 :) 12:53:16 i know 12:54:02 Anwyay, the UI is such that the user generally won't concern himself with files or directories. 12:54:20 In my experience, most people can't handle those. 12:54:31 so then how would files be stored? 12:54:43 Instead, I'm planning on using a zooming user interface (or, at least, panning), where objects are always manipulated directly. 12:55:00 warp0x00: A lightweight object database system. 12:55:23 interesting 12:55:40 Of course you know and I know that there are "files," but the user just won't see them. 12:56:42 i don't like that kind of think in an OS 12:57:14 You haven't used it yet either. 12:57:19 All you know are file-based systems. 12:57:57 i mean the whole trying hide everything thing 12:58:46 I'm not hiding a thing. 12:58:51 There are no files in Dolphin. 12:58:58 There are only objects. 12:59:16 so then you're just storing them in a database? 12:59:22 Yes. 12:59:28 a flat one? 12:59:32 which is all a file system is anyway... 13:00:20 warp0x00: A flat database is all that's required. Objects refer to other objects by indices, like they do in RAM. Only the "address space" they point to is on disk, not raw memory. 13:00:42 kc5tja: then how do you prevent organization from suffering? 13:01:07 Organization is irrelavent. 13:01:13 !! 13:01:34 Objects contain their own state, which can include references to other objects. 13:02:22 Objects are reference counted (though I believe harddrives are fast enough to support a general mark-n-sweep garbage collection pass too, as long as it doesn't occur too often AND occurs in the background). 13:02:50 so then how does a user organize some data? 13:03:28 The same way an application would let him organize data inside the application. 13:03:42 Ever use a Palm Pilot or compatible PDA? 13:03:51 That's all object-driven. 13:04:10 hmm... 13:04:12 er well 13:04:26 for example 13:04:38 hmm i suppose 13:04:53 I mean, there will still be name-spaces, I'm sure. 13:05:22 But there is no system-enforced requirement for one. 13:05:28 They'd be purely for the user's own benefit. 13:08:06 what about instead just allowing the user to create fields for extra categorization 13:09:15 A vastly superior approach is to just extend a global search facility to search all datatypes. 13:09:31 i dunno about that 13:09:40 Palm's find tool is global, and though it requires some application-level support from installed apps, has saved my butt a number of times. :) 13:10:07 I have direct experience with it, and I find it to be god-send. 13:10:15 okay so then how would the system organize a bunch of text files 13:19:14 I've been thinking more about being able to record user actions. 13:19:39 many applications should record user actions anyway for an "undo" feature 13:20:08 also I've been thinking that the widget system could easily log actions on the controlls it manages 13:20:36 how will you get the sufficient level of contextuality though 13:20:51 You have a list of objects. The objects are instances of a TextFileClass or something. 13:21:41 yeah but what if you have bizillons of them 13:21:46 how do you tell the difference 13:22:00 * kc5tja sighs 13:22:25 The ZUI has them all "on-screen" concurrently. 13:22:35 To find the file you're interested in, you do a search. 13:22:42 Files do not have names. 13:22:46 a search of the contents? 13:22:49 Yes. 13:22:55 It does not take that long to do. 13:23:07 what if they're encrypted ? 13:23:23 My Clie can scan 16MB worth of stuff, calling upon applications to do the searching (which means overhead!), in less than 10 seconds. 13:23:35 Then they're obviously not of the TextFileClass now are they? :) 13:23:48 They'd be of EncryptedTextFileClass or something. 13:24:02 In which case, the class would still know how to search it. :) 13:24:13 i think i understand 13:24:14 but 13:25:18 Liek I said, it's just something you have to use. 13:25:25 It is entirely a user experience thing. 13:25:34 warp0x00: on palm there are little text "files" all over the place. you can attach a note to anything in the calandar, contact list etc. 13:25:46 but the user never needs/wants to see a list of all these 13:26:04 the files are where the user expects them 13:26:10 and they don't have names 13:26:12 kc5tja: so then how about exchange from system to system? 13:26:38 According to user interface research performed by various people, Jef Raskin included, and as documented in the Humane Interface, a user's kinesthetic sense is vastly superior to his ability to name and recall filenames. 13:26:53 warp0x00: This is where drag-n-drop comes into play. 13:27:12 you don't need to name your file "doctors_appointment_march.txt" you just attach it to that date and access it by going to the date and clicking the note. 13:27:21 Just as Unix represents foreign filesystems as mount-points on the local harddrive, the ZUI can represent foreign mount-points as sub-windows or sub-desktops on the display. 13:27:49 this is an interesting concept 13:28:01 To the ZUI, it's just another ho-hum local object to display. :) 13:28:09 okay here's one 13:28:18 how about you have some sounds 13:28:22 ZUI = Zooming User Interface, BTW; not sure if you got that or not. 13:28:26 and your user needs to pick one 13:28:31 how? 13:28:40 Can you give me more context? 13:28:40 people (possibly not everybody, but definately me) are much beter at remembering where things are and generally what they look like the what they decidid to call it 13:28:51 especially when dealing with more than 10 things 13:29:15 kc5tja: like small computer generated samples 13:29:24 warp0x00: Used for what purpose? 13:29:29 making music 13:29:44 Not having used a music editing program, I do not know the ideal user interface for that. 13:29:54 But... 13:29:55 well its just an example 13:30:10 if you have something with no visual representation 13:30:12 Here's another possibility: a control panel configuring different sounds for mouse-clicks and stuff. 13:30:20 yes 13:30:29 that is also a possibility 13:30:34 how do you represent those sounds 13:30:41 Sound samples are likely to be represented as little "media player"-like things. 13:31:00 To configure something with a sound, you'd drag-n-drop the whole sample onto that field. 13:31:16 but how would the user find the sound? 13:31:18 ROX behaves similarly, as does OS/2's control panels. 13:31:43 Well, the SoundClass would probably have at least a keywords field or something, which is displayed. 13:31:45 I'd think. 13:31:54 thats a name though 13:31:56 Even if not, he can always click the play button on each sound sample to find it. :) 13:32:05 But it's not a filesystem enforced name. 13:33:43 warp0x00: the point is that there are objects, and there are views of them. There is not a single imposed view of the "filesystem" like current systems where each file has a name, access permission and other fixed properties. 13:34:10 Herkamire: yeah i get that 13:34:28 Herkamire: im just going over how many things that works well for 13:35:08 Well, clearly, it's not Uix. 13:35:10 Unix even 13:35:17 So applications will have to take a fundamentally different world view. 13:35:28 exactly. 13:35:28 so how do you use a system like that for development 13:35:30 Just like they did back when macOS was first released. 13:35:50 You would have text files that contains your program source code. 13:35:54 there's nothing stopping you from having a view which presents a list of names of (say audio samples) and icons or whetever. 13:36:02 You highlight the text, and click "compile" or "run" or something in a context menu somewhere. 13:36:27 Oberon already demonstrated the extreme viability of this approach with outstanding success. 13:36:31 As did Smalltalk. :) 13:36:41 whats Oberon? 13:37:32 A combined language/OS environment, in the same vein as Smalltalk. 13:37:47 Based on Oberon (the language), itself a natural successor to Modula-2, and very Python-like. 13:38:08 (well, since both Oberon and Python are both descendents of Modula-2, I suppose this is natural!) 13:38:40 is basic assembler descendant? 13:39:02 basic assembler? 13:39:13 BASIC is a derivative of Fortran, if that's what you're asking. 13:39:20 ok 13:39:25 assembly looks a bit like basic 13:39:56 At least the earlier assembly listings did. 13:41:04 so then internally all these objects would have would be UID numbers? 13:43:13 UID? 13:43:18 Unique or User IDs? 13:43:21 unique 13:45:54 They'd need to be unique within the scope of the storage device, for sure. 13:46:27 yeah 13:46:30 I wouldn't trust UUIDs or something like them for this -- being a hash, a UUID is prone to collisions, which utterly destroys the invariants needed to make the thing work. :) 13:46:54 no i meant just a localy unique one 13:47:18 and if it had to change the system would just have to track the references 13:47:29 * kc5tja nods. 13:47:40 this sounds great from a user interface standpoint 13:47:48 but from a debugging one it sounds like hell 13:47:53 Still experimental, but I think it can definitely go places. 13:47:58 :) 13:48:38 sounds good to me 13:50:44 * warp0x00 hugs kc5tja 13:50:52 you teach me so much! 13:51:18 Heheh :D 13:51:22 Glad to know I'm appreciated somewhere. 13:56:34 :) 13:56:48 I love you, too ;) 13:56:58 Okay, okay... 13:57:07 It's not like I'm Jesus Christ or anything. I'm no John Lennon. :D 13:57:09 By the way, I'll probably get my own license pretty soon. 13:57:14 No, more like a Ringo. 13:57:21 HAH! 13:57:24 :) 13:57:24 But you can still be useful as a drum slave from time to time. 13:57:27 haha 13:58:10 Ringo is an excellent drummer. 13:58:40 But when he tries to sing...or write a song... 13:58:55 I don't find his music at all difficult to listen to. 13:58:57 I like them. 13:58:57 i liked his singing 13:59:01 on the beatles stuff 13:59:06 Yellow Submarine is one of my favorites. 13:59:12 it was a nice contrast to paul and john 13:59:15 Yep. 13:59:21 who had the perfect voices 13:59:25 i want a ringo cd 13:59:27 his was just kinda raw 13:59:39 Yeah. 14:00:08 George Harrison was cool too, while he was in the Beatles. :) 14:00:21 Out of the Beatles, he lost a lot of his creativity, I think. 14:00:25 Hrm. 14:00:33 I like some of his solo songs. 14:00:46 I like some of them, but overall, his solo work just doesn't thrill me. 14:01:28 Lennon's solo work on the other hand.. :) 14:04:45 paul's solo work was just lol 14:05:38 Haven't heard much of it. 14:06:19 Paul's early solo work was decent, but towards the end, it was so pop that no other pop musician would be caught in the same room with him. 14:07:39 hehehe 14:08:07 Tss... 14:08:12 i like "Band on the run" 14:08:17 Me too 14:08:18 Yep, I do too. 14:09:54 yeah so kc5tja sometime i'd like to explain something to ya 14:10:22 and see what you think 14:12:19 Okay. 14:13:38 but right now i have homework to finish 14:14:12 Hehe 14:26:06 ab/c*efg*h/+d-+ 14:26:22 hmm 14:27:34 does that look valid? 14:34:29 It leaves one result on the stack, so why not? 14:35:42 yeah thats what i meant 14:35:53 * moritz_ starts to love forth 14:37:00 gforth confuzels me 14:37:08 why? 14:37:25 cuz i don't know much about forth? 14:37:47 . is pop and display 14:37:52 is there a peek? 14:38:17 what do you mean? 14:38:30 something that will print the top value on the stack? 14:38:45 DUP . :) 14:38:46 . 14:38:50 DUP . 14:38:53 too slow 14:39:02 Or you can use .S to just print the state of the stack. 14:39:13 wait 14:39:22 there are words in forth? 14:39:31 ?! 14:39:52 like DUP? 14:40:01 yes 14:40:10 well yeah i know now 14:40:16 i was just expressing my shock 14:40:22 oh 14:40:50 kc5tja, what convention do forth programmers normally use? upper or lower case words? 14:42:06 --- join: OrngeTide (orange@146.82.74.30) joined #forth 14:43:14 hey, OT 14:44:13 hi ianP! 14:44:23 moritz_ everything i've used is lowercase 14:44:40 seems much more readable 14:44:54 ITT i need a forth reference 14:45:26 gforth has a word reference 14:45:39 how do i get at it? 14:45:48 it's at the gforth site 14:45:48 moritz_: Depends on the programmer, really. Personally, I like using uppercase words for "system" words, and CamelCaps or camelCaps for my own words. 14:46:06 Lately, in a fit of pure laziness, I've taken to using all lower-case words though. 14:46:16 But that's purely because of laziness, mind you. :) 14:46:22 i see 14:46:25 kc5tja: forth reference please i need to rtfm 14:46:46 it seems some programmers used this-word type instead of camelCaps 14:46:48 What kind of reference are you looking for? 14:46:55 one that tells me about forth 14:47:04 all i can really do is 4 5 + . 14:47:06 moritz_: Yes, that is also common in Lisp/Scheme communities too. 14:47:16 warp0x00, starting forth is online 14:47:25 moritz_: It is? Where? 14:47:36 wait a sec. ill look at the bookmark 14:47:53 http://home.iae.nl/users/mhx/ 14:48:02 he "typed it from memory" though 14:48:35 warp0x00, the link would be useful for you too 14:49:05 yes thankyou 14:49:52 np 14:52:06 forth is nutty 14:52:11 bbr 14:52:12 brb 14:52:36 warp0x00, i like nuts! 14:52:46 like peanut brittle. mmmm 14:52:52 it's that time of year 14:52:59 dont make me EMIT you 14:53:04 ahha 14:53:08 BYE 14:53:22 Heheh 14:53:28 i wish i could find thinking forth on the web 14:53:32 DUP off and >R, buddy... >:) 14:53:34 i should have bought that one instead 14:53:49 ianP, I bought it off amazon earlier this year... 14:54:01 yeah, i think i should buy it. i heard it's even better than sf, or soething 14:54:14 ianP, it's okay. 14:54:15 or at least more of what i want 14:54:25 showing how to do common things and stuff 14:54:34 I want a book that is structured more like: This is how you write a forth interpreter+compiler+kernel 14:54:49 rather than how to use an existing forth 14:55:05 * kc5tja was considering writing such a book. 14:55:10 i think forth makes a lot more sense when you learn what's going on at the bare metal 14:55:17 But I can't stay focused enough to finish it. 14:55:23 which i still dont' completely understand. ehhe 14:55:29 kc5tja, i don't know enough to write it.. 14:55:49 kc5tja, turn it into a monthly or bi-monthly publication. 14:56:04 I can't even stay focused for that. 14:56:16 like start with rolling a crappy forth interpreters in C. and then next month explain why doing that was such a terrible idea. :) 14:56:26 Hehe :D 14:56:29 i'll contribute articles. it would be like a forth fan zine 14:58:08 hrm. amazon doesn't have any copies of thinking forth 2nd edition available today. 15:00:02 --- join: haroldo_ (~haroldo@r200-40-212-234.adsl.anteldata.net.uy) joined #forth 15:06:09 not used? 15:06:29 i would love to see a book liek that 15:06:36 ^^ 15:06:56 --- quit: haroldo (Read error: 110 (Connection timed out)) 15:08:57 Well, we tried the whole article submission thing before, and it flopped bigtime. 15:09:03 I'm not prepared to undergo that again. 15:12:56 --- join: dan_ (dan@pcp053338pcs.brlngt01.nj.comcast.net) joined #forth 15:13:06 --- nick: dan_ -> jstahuman 15:14:13 re 15:16:44 kc5tja, just give it a try. it's christmas soon. you'll make many happy faces possible 15:16:54 let the christmas spirit free :) 15:17:03 I don't celebrate Christmas. 15:17:27 hrm 15:17:32 Not in the usual sense, at least. 15:17:49 why not? 15:18:25 It just doesn't interest me anymore. 15:19:53 i don't either 15:19:59 but then i was raised jewish 15:20:08 I'm Roman Catholic. :) 15:21:17 i didn't say i am jewish i said i was raised that way 15:21:27 * kc5tja nods 15:21:42 I'm just saying, I am Roman Catholic, and as far as I'm concerned, Christmas is a bogus holiday. 15:21:54 The intent of the holiday is lost over the millenia. 15:22:11 I'm just saying, you are making me laugh. 15:22:24 Heh 15:22:28 aka: lol 15:22:54 But, I digress. 15:22:56 We'll see. 15:23:12 There is a Forth Wiki, IIRC. One could perhaps use that as the documentation base. 15:23:17 christmas is still nice if you celebrate with your family. but the commercial bloat sucks 15:23:23 http://www.forthfreak.net/wiki IIRC 15:24:34 moritz_: Bingo. Christmas has always been a time to spend with family. It has nothing at all to do with giving presents. It has nothing at all to do with Santa Claus. For that matter, it has everything to do with the old Pagan fertility rites (the Christmas tree is a Pagan symbol for fertility, because it remains green even through the winter months). 15:25:09 The only reason Christmas exists at all was to appease the converted pagans that they wouldn't lose their favorite holiday. 15:25:18 where pagan == !christian. 15:25:29 Including druids, gaelics, etc. 15:25:30 wonder what it was called thenm 15:25:38 winter feast or somethign more generic 15:25:51 --- join: I440r (~mark4@12-178.lctv-a5.cablelynx.com) joined #forth 15:28:10 * moritz_ is thankful for the history lessons 15:31:02 --- join: Sonarman (~matt@adsl-64-169-93-29.dsl.snfc21.pacbell.net) joined #forth 15:32:25 good night 15:32:47 --- quit: moritz_ ("Leaving") 15:33:59 --- join: suprdupr (CrowKilr@Ottawa-HSE-ppp3652684.sympatico.ca) joined #forth 15:34:22 :) 15:34:33 :) 15:36:10 * suprdupr discovered a moment ago about linux kernel panic and flashing keyb leds 15:36:11 :( 15:37:08 damn small linux seems great 15:37:08 Wow. That's a rare moment! Cherish it! :) 15:37:27 one time i just did "fbset -i" and the kernel panicked. that's the only time i've ever had one :( :) 15:37:27 * warp0x00 gets kernel panics all the damn time 15:37:41 but on my girlfriend's 133MHz pentium, the kernel panicked 15:37:52 it boots wonderfully on my computer 15:37:59 p4 laptop 15:38:21 brb, i want to discuss with you about stc vs dtcusingreturnstackpointer approach 15:38:23 --- quit: suprdupr (Client Quit) 15:38:47 lol what 15:39:16 small linux? 15:39:46 i no longer have any idea wtf is going on in here. 15:41:22 < suprdupr> damn small linux seems great 15:41:36 warp0x00: A direct-threading approach towards compiler design where the RET instruction is used to fetch the next address to execute. 15:42:11 The problem is, however, that it won't work if you have interrupts enabled, nor would it really work if you use the CPU's CALL instruction, as the result would cause the return address to overwrite your program code. 15:42:13 has forth ever been used for extensive network programming? 15:42:19 In short, it's dangerous. 15:42:26 jstahuman: I don't think so. 15:42:33 I don't see why not, but I don't think it has in the past. 15:42:43 kc5tja: is that because it's really not its problem domain? 15:44:00 kc5tja: so if its so dangerous why use it? 15:46:27 seems to me forth is best suited for embedded stuff 15:46:47 --- join: SuprDupr (~damnsmall@Toronto-HSE-ppp3832415.sympatico.ca) joined #forth 15:46:51 jstahuman: Forth has enabled small machines to do so much that networking has never really been a priority. 15:47:13 warp0x00: I personally wouldn't. 15:47:33 well, don't those machines need to talk to outside world? Internet anyone? 15:47:33 But for some limited cases, it's possible to use it because it frees up a register on an already cramped x86 processor. 15:47:51 jstahuman: ColorForth has UDP/IP implemented for it; TCP is supposedly on the way. 15:48:48 x86 is a shitty architecture 15:49:15 kc5tja: who did UDP/IP? 15:49:44 But I forget who. Chuck Moore wrote the core code, and another published it on the net. 15:49:55 They're on the ColorForth mailing list. 15:50:13 is anything useful being done with colorforth yet? 15:50:25 Don't know. 15:50:34 (Except for chip engineering that is) 15:51:01 colorforth is telling you: you can roll your own 15:51:34 wonder how much pain would it be to write a TCP server/client compared to C for instance 15:51:52 jstahuman: The IP code talks directly to the Ethernet card. 15:52:02 There are no sockets or anything similar in ColorForth. 15:52:14 So it would depend on how easy it is to write software for your Ethernet card. 15:52:37 kc5tja: which is unlikely to be easy 15:52:51 You'd be surprised. 15:53:12 The code that talks to Chuck's card appears to be very simple. 15:53:26 Sure it's more complex than a RS232 UART, but hey...you gotta keep things into perspective. 15:54:26 what about cards with TCP offload? 15:55:40 --- join: JP (~japeters@adsl-64-161-28-74.dsl.sntc01.pacbell.net) joined #forth 15:55:48 I hope Chuck's card is fxp 15:55:50 hi 15:56:24 what do you think guys of a dtc forth using esp as a virtual ip? (no calls or any opcodes inside definitions, just adresses) 15:57:29 kc5tja: what about code to encapsulate IP inside of Ethernet? that has to be compex 15:57:40 SuprDupr: how would your NEXT look like? 15:58:54 using ebp as return stack pointer (x86) 15:59:17 next would be ret 15:59:27 ret would go to next adress in the definition 16:00:15 ha ********* i must go 16:00:28 bye, ill talk to you later for sure!! 16:00:30 --- quit: SuprDupr (Remote closed the connection) 16:02:04 --- quit: tathi (""laters all..."") 16:02:16 --- quit: warp0x00 (Remote closed the connection) 16:03:58 so i guess damn small linux is a distro 16:05:49 take a look at dietlinux 17:20:32 --- quit: jstahuman ("leaving") 17:26:15 (yawn) 17:29:44 Anybody have experience with the Mozilla Firebird -remote option at all? 17:32:22 nope 17:32:23 kc5tja: hey :)_ 17:33:08 :( 17:34:28 --- join: suprdupr (CrowKilr@Ottawa-HSE-ppp3652853.sympatico.ca) joined #forth 17:34:30 re 17:34:32 re 17:34:39 my gf wanted to type her homework 17:34:43 :) 17:34:51 anyway back to serious matters 17:34:58 ;p 17:35:42 re 17:35:46 i have another question, on x86, is 32 bit unreal mode fatser than pm? 17:35:56 Not particularly. 17:36:15 unreal? 17:36:20 wtf is unreal mode? 17:36:21 are interrupts vectors 32 bit adresses? 17:36:24 (i tihnk ive heard of it..) 17:36:40 flat real mode is 4gb limits, 16 bits 17:37:02 unrealm mode (although mixed with previous definition) is 32 bit real mode 17:37:03 arke: Also known as "Flat Real Mode," where the CPU can address all 4.2GB of memory, without the use of paging or segment descriptor tables. 17:37:15 neat 17:37:21 quirk? :) 17:37:31 i mean turning off pmode bit but still be in a 32 bit code segment 17:37:59 privalov, author of fasm, wrote about it on board.flatassembler.net 17:38:02 --- quit: JP (Read error: 110 (Connection timed out)) 17:38:14 intel docs tells that real mode is for 16 bits only 17:38:35 fasm is the best 17:39:05 yep, only thing i font like: no listing output! 17:39:14 font => don't 17:39:34 anyway, i wanted to use that mode 17:39:38 heh? 17:40:03 unreal mode, with my esp as Virtual Instruction pointer DTC Forth idea 17:40:04 Real-mode's "16-bit"ness is for DOS compatibility only. 17:40:16 Realistically speaking, real-mode only affects how it addresses memory. 17:40:29 keep only lower 16 bits? 17:40:35 suprdupr: No. 17:40:39 16-bit code segment. 17:40:47 I can still use 32-bit registers in a 16-bit code segment. 17:41:02 You'll just have operand-size prefix bytes all over the place. 17:41:59 The only difference between "real" and "unreal" mode is the setting of the X bit in the code segment before turning off protected mode enable bit in CR0. 17:42:13 If it's 0, it's a 16-bit segment. 17:42:18 If it's 1, it's a 32-bit segment. 17:42:37 Which means 0x91 is XCHG EAX,ECX and not XCHG AX,CX. 17:43:32 neat 17:43:32 :) 17:43:47 Heh 17:43:54 however, its intel. 17:43:56 intel sucks. 17:43:58 come on 17:44:03 * kc5tja only knows that opcode because 0x90 is NOP, aka XCHG eAX,eAX. :) 17:44:17 Well, I agree. I'd much rather be coding for MIPS. 17:44:25 not alot of registers, horrible quirks, 17:44:29 yep :) 17:44:33 * arke might get a mac 17:44:39 I can deal with not having a lot of registers -- it's the stupid quirks that annoy me. 17:44:40 in addition to my current box 17:44:49 yeah 17:45:06 I think 16 registers is the ideal number of registers. 17:45:09 32 registers is too much. 17:45:40 At least for a 2-operand machine. 17:45:54 For a 3-operand machine, which most RISCs are, then I can see the rationale. 17:46:10 did you see the mf:tin paper? 17:46:16 * kc5tja sighs 17:46:19 * arke imagines an arch that offers a variable amount of stack 17:46:21 s 17:46:21 the what? 17:46:23 its a machine forth for arm 17:46:35 Oh, no. I haven't. Mark Slicker's project? 17:46:55 http://www.simforth.com/mf/ 17:46:57 push 0, 123 17:47:07 pushes 123 onto stack number 0 17:47:18 arke: 68000. 17:47:33 arke: All 8 address registers can be used as stack pointers; A7 is the hardware stack pointer. 17:47:47 RISCs don't really need a hardware stack pointer anyway, for the most part at least. 17:48:09 kc5tja: how come? 17:48:14 --- join: ichoff (ICH@user-11fasis.dsl.mindspring.com) joined #forth 17:48:34 suprdupr: It is useless. 17:48:42 It's just as easy to say something like this: 17:48:55 move r0,(sp-4) 17:48:58 sub sp,sp,4 17:49:06 And for the most part, just as fast. 17:49:23 kk! 17:49:33 hardware was useless ;p 17:49:45 Now, it's NOT just as fast on x86 or 68K, but it comes close. 17:49:55 You'll often find this though: 17:50:01 sub esp,whatever 17:50:12 mov [esp+offset1],eax 17:50:13 --- part: ichoff left #forth 17:50:16 mov [esp+offset2],ebx 17:50:18 ...etc... 17:50:31 This turns out to be a lot faster, because the CPU takes time to 'decrement' ESP only once. 17:50:44 All the writes to set up the stack frame occur faster because of the CPU's write queue. 17:51:00 i never understood the use of stack frame 17:51:06 frames* 17:51:29 They are just data structures which hold a procedure invokation's input parameters and local variables. That's all they are. 17:52:50 Doggone it!!!! I'm really getting pissed off!!! 17:52:56 Why can't MozillaFirebird find itself?! 17:53:08 I have it running *right* *in* *front* *of* *me.* 17:53:14 Yet, I can't send it remote commands. 17:55:22 damn small linux is great, still the hd install failed 17:55:31 the ext2 fs was broken somehow 17:55:46 suprdupr: suxxxx0rs 17:58:02 anyway I want if you dont mind discuss about the "dtc forth using esp" idea 17:58:19 why wasn't it done before? 17:58:40 i still dont get exactly how it works... 17:58:49 high level definitions in this system would have a 12 bytes Colon inlined 17:59:02 whats DOCOLON? and whats NEXT? 17:59:20 that pushes the current esp on the return stack and mov into esp the adress after the 12 bytes 17:59:37 there would be addresses to macros or other words 17:59:41 that ends in ret 18:00:08 thus ret make program flow (jump to [esp], esp=esp+4) 18:00:28 suprdupr: It wasn't done before because it's broken by design. 18:00:46 the exit definition is simply mov esp, [ebp] lea ebp, [ebp+4] ret 18:01:01 yeah its hard to inline mahine code 18:01:01 It is mutually exclusive with interrupts OR normal CPU subroutine calls. 18:01:18 kc5tja: whats wrong with interrupts? 18:01:22 interrupts just have to lend on a colon 18:01:28 arke: Well, think about it. 18:01:35 that will push current esp in the return stack 18:01:37 On receiving an interrupt, the CPU needs to put state on the stack. 18:01:38 ? 18:01:45 But RET consumes state from the stack. 18:01:57 er.. 18:02:19 If the CPU's stack pointer is used as the current Forth instruction pointer, then upon receiving an interrupt, the CPU will overwrite the next set of instructions in the current thread, thus destroying the program. 18:02:55 ouch 18:02:56 oh 18:02:56 ok 18:02:59 1- it would erase already executed code (not talking about loops here) 18:03:07 2- could recompile program after interrupt ;p 18:04:38 but yeah, it was meant for an interrupt free system 18:06:05 Well, as long as you guarantee both that no interrupts occur AND that you never use CALL instructions (at least, not without XCHGing ESP with some other register), then go for it. 18:06:54 i thought of using this especially to get rid of call opcodes 18:07:03 i tried to get rid of the using pushes 18:07:23 i almost finished the system, but then it struck me 18:07:45 i could resolve that address pushing at compile time 18:07:58 instead of pushing it to run time with push opcodes 18:08:37 and from this I get more easly aligned code 18:10:08 overhead of high level definitions: 16 bytes (12 for compiled, local colon inlined code and 4 for NEXT address) 18:10:29 litterals are easy to do 18:10:34 optimization is less easy 18:10:45 i thought about 16 bit code to do the pattern matching of TIN 18:11:03 because yte tokens in dwords is a lot of hassle to decode for what its worth 18:11:46 anyway; conditionals are a problem 18:12:44 let say 0? could skip the next dword if not equal to zero 18:13:29 but i would need a Return stack drop at the start of the branched to if zero code 18:13:57 anyway it's still elegant to me to have definitions interpreted this way, with no opcodes 18:14:03 easier to compile also 18:16:01 anyway, stc with literal optimization is still the bleeding edge ;p 18:20:08 http://www.treasure-of-treasures.8m.com/ 18:20:42 ill try the red lion procedure with my chemistry teacher next year, when the department will have ph meter probes 18:21:12 in the message board there's a method i asked to the guy questions about and he posted it there 18:32:33 9/w 3 18:34:47 Hmm...arithmetically speaking, that's equal to 27/w. :) 18:37:31 :) 18:38:06 (i meant to type /w 3) 18:43:05 Sonarman: konsole, rxvt, all of them work just fine with irssi here 18:43:48 Just downloaded Dillo. Neat browser, but it doesn't render things correctly (yet). 18:43:54 And it's very, very fast. 18:58:41 I use dillo for some stuff 18:59:37 if there were some quick way to switch browsers I would be much happier. like w3m has keys you can set to open the current page in other browsers. 19:00:15 --- quit: suprdupr ("bye everyone, thanks for the interrupts tip") 19:00:29 i use dillo just about all the time 19:00:59 --- join: kc5tja_ (~kc5tja@66-91-231-74.san.rr.com) joined #forth 19:01:16 --- quit: kc5tja (Nick collision from services.) 19:01:20 --- nick: kc5tja_ -> kc5tja 19:01:23 --- mode: ChanServ set +o kc5tja 19:05:23 --- quit: I440r ("Leaving") 20:03:14 --- quit: OrngeTide ("bleh") 20:11:02 back :) 20:11:29 re 20:15:19 :) 20:15:39 whats up? 20:20:02 Trying to get something to work, and it's not. 20:20:12 Due in large part to a broken configure script. 20:35:09 eek 20:35:13 i dont like configure scripts 20:35:48 i dont think they should make the makefiles, but rather make the Rules.make file only 20:35:54 and they shouldnt be so god damn large 20:44:39 * kc5tja nods 20:44:48 We wouldn't need them if better standards were in place. 20:48:34 like AppDirs? 20:48:34 :) 20:52:04 Yes. 20:52:10 Among some of the things I'd like to see. 20:53:39 * arke plans to maybe start his OS soon 20:58:24 kc5tja: imagine an OS where everything is padded or whatever to 1024 bytes 20:58:43 My lord, it'd require a lot of RAM. :) 21:01:06 FS code and MM code would be very easy and efficient tho 21:02:27 * kc5tja is instead concentrating on making everything in his OS consistent; using CORBA as much as possible, both for intra- and inter-machine communications. 21:02:58 And directly exposing the GUI as a collection of CORBA objects which can be utilized. 21:03:34 i once wrote a complete signle-task OS 21:03:40 the only thing missing was HD code and net code 21:05:45 * kc5tja wrote a single address space OS several times. Just the kernel though. didn't get around to writing device drivers or anything. 21:07:28 it was called BF-OS 21:07:28 lol 21:07:33 it was a brainfuck based OS 21:12:02 kinda did it with a friend of mine 21:14:35 Hehe 21:15:01 Well, I more or less want to take a backwards approach to the next version of Dolphin -- develop its user interface and as much of it as I can under Linux first, getting things to work there. 21:15:29 That will let me measure what I kind of need from the Dolphin kernel. 21:15:53 For example, since I'm going to be heavily CORBA-based, I clearly will need a kernel that is optimized for CORBA-style IPC. :) 21:16:00 what are you using for graphics? 21:16:01 But there are so many possibilities for this. 21:16:09 Using? It doesn't exist yet. 21:16:13 * arke is pissed off that VESA is so slow and that all the cards dont have a common interface. 21:16:17 That being said, I don't understand your question 21:16:31 Ahh, I was just going to use a frame buffer driver. 21:16:43 Shipping with plain vanilla 16-color VGA to start with (hey, gotta start somewhere). 21:16:49 well, are you gonna be using BIOS modes, VESA, or individual graphics cards? 21:17:00 Ok. 21:17:00 individual graphics cards. 21:17:06 heh 21:17:15 --- join: SDO (~SDO@co-trinidad1a-10.clspco.adelphia.net) joined #forth 21:17:16 what card do you have? 21:17:34 nVidia GeForge 4-series chipset. 21:17:38 ok,' 21:17:44 but that doesn't matter at 640x480 4 bitplane. 21:17:56 maybe i should do that BFOS again, for practice. that was like 1.5 years ago... 21:18:03 yep :) 21:18:07 * arke wants to heeelp[ 21:18:33 re SDO 21:18:50 kc5tja, howdie. 21:19:04 long time. 21:19:16 Yep 21:19:18 hehehe, I am going to be listing my FORTH stuff on FleeBay, my duplicate stuff. 21:19:29 will let ya all know when the time is right, likely in a week or less. 21:19:32 lots of cool old stuff. 21:21:50 kc5tja: please lemme help awt least somewhat 21:24:03 arke: Well, that depends on how things go on my end. 21:24:13 I want tight control over the project at least until the first public release. 21:24:25 Once the first release is out, then I intend to switch to pure bazaar-style development. 21:26:02 It's just that I don't want the same mistakes to happen again that happened before. 21:26:48 what mistakes? 21:26:57 * arke is as loyal as a well-trained dog 21:32:01 I had posted a distinct vision for Dolphin back in the early 90s. 21:32:20 In less than two months, I had to shut the project down because the "co-developers" had turned it into a Linux clone. 21:32:56 ouch. 21:33:01 I had to disband the development group and close the development down just to regain control over the project again. 21:33:10 The developers were even threatening to steal the Dolphin name. 21:33:18 No way. I do not want to go through that again. 21:33:18 ..... 21:33:18 Ever. 21:33:20 thats bad. 21:33:49 well, you have posted alot of things and ideas about dolphin here ... nobody has stolen it yet lol 21:34:20 A lot of other OSes have implemented ideas that I concocted back then since. Now-a-days, Dolphin would hardly be called original. 21:34:33 Much of what I conceived of for Dolphin back then is actually quite doable on Linux today. 21:35:02 This is one of the reasons why I'd like to prototype Dolphin's UI and application behavior under Linux first (complete development environment at my disposal). 21:36:05 you could keep the code. 21:36:25 as in, you could keep the dolphin UI code you write, if you write it in terms of OS calls 21:36:27 That doesn't mean anything in an open source context. 21:36:28 :) 21:36:31 nice. 21:37:05 well, i meant that you didnt have to rewrite the code, if you write it in terms of dolhpin calls, then add wrappers for them 21:37:19 Oh, yeah, well that was a bit of the point. :) 21:37:32 CORBA would make that trivial -- it basically kills three birds with one stone. 21:37:51 (though I would have to implement a CORBA ORB for each language used to write Dolphin with) 21:38:35 I mean, imagine being able to write a full-blown GUI application in Python just as easily as you could in C -- the whole Dolphin API is available at your command. 21:42:50 nice. 21:43:10 so dolphin now is much different than it was then? 21:43:24 btw, what are some of the ideas in todays OSes you came up with? im interested :) 21:43:30 (and possibly gullible...lol) 21:44:49 Pretty much. 21:44:57 Well, AppDirs is one. 21:45:07 Which is why I'm so pleased as punch with ROX. 21:45:46 Another is the Ion window manager -- paned and tiled for your pleasure. No "windows." Gotta love it. 21:46:02 ? 21:46:25 I'm trying to remember a few other details. 21:46:56 Network transparent filesystems (which still aren't 100% transparent on Linux, but you get the idea) 21:47:22 Persistent object systems 21:47:24 etc. 21:47:30 Just a bunch of stuff that exists *in isolation*. 21:47:53 Dolphin now-a-days would simply be a rebundling of stuff to work together and efficiently, optimizing a bunch of interfaces for minimum overhead, etc. 21:50:45 . 21:50:57 so you thought of a bunch of stuff in the meanwhile? :) 22:02:37 --- quit: Herkamire ("bedtime") 22:03:54 night! 22:18:21 --- join: Serg_Penguin (Serg_Pengu@212.34.52.140) joined #forth 22:24:28 arke: Not really. With relatively few exceptions, I shun away from the neo-googley-eyed-gee-whizbang feature sets of modern environments. 22:24:39 I like to keep my operating environments simple. 22:34:15 Okay, bedtime for me. 22:34:26 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 22:38:24 --- quit: Sonarman ("leaving") 22:52:27 --- quit: Serg_Penguin () 23:06:29 --- join: moritz_ (~moritz@pD951FF87.dip.t-dialin.net) joined #forth 23:06:59 guten morgen everybody 23:59:59 --- log: ended forth/03.11.13