00:00:00 --- log: started forth/04.10.09 00:03:52 i should probably write some EBNF 00:04:45 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 00:04:53 Fare' eforth code words... 00:04:54 "bye" "?rx" "tx!" "!io" "doVar" "up" "doUser" "doLit" "doList" "next" 00:04:55 "?branch" "branch" "execute" "exit" "!" "@" "c!" "c@" "rp@" "rp!" 00:04:55 "r>" "r@" ">r" "sp@" "sp!" "drop" "dup" "swap" "over" "0<" "and" "or" 00:04:55 "xor" "um+" "cmove" "fill" "+" 00:04:56 "<" "cell+" "cell-" "cells" 00:06:35 Most egregious ommission? /mod ? */ ? 00:06:44 2/ ? 00:07:05 "cells" is a 2 bit upshift 00:18:43 brb -- going for lunch early. 00:19:54 lunch? 00:19:58 its 1am! 00:21:01 --- quit: mur_ (Remote closed the connection) 00:22:22 --- join: mur (~mur@mgw2.uiah.fi) joined #forth 00:22:58 try 9am 00:22:59 :p 00:23:53 he he 00:33:06 Our microwave is broken, so I had to grab something while the store was still open. I probably won't eat this for another hour or so. 00:33:26 warpzero: But be aware, though, I work graveyard shift. I've already been at work for 3.5 hours. 00:34:23 i worked grave at a gas station once 00:42:17 They do um* and um/mod with UM+. I don't think I will. 00:42:37 Thats . . . interesting. 00:43:14 I suppose it proves something. 00:43:47 ls 00:49:36 OK, I am now a might bit miffed at SuSE. 00:49:52 Well, not so much at SuSE, but rather, at autoupdate. 00:50:35 I just got done telling it to autoupdate --noupdate (which downloads the RPMs, but doesn't install them). So, it downloads them. Then it proceeds to PURGE THEM, all the while registering in its database that the RPMs are somehow installed. GGAAHHH!!!! 00:50:37 I haven't updated cLIeNUX in 2 years. 00:51:20 they have yet to improve on source tgzs 00:51:28 You also don't use cLIeNUX as a server in a commercially hosted environment. 00:51:56 True. 00:52:04 colorg: I fully agree. Slackware TGZ files are sweet -- just raw .tgz file with an optional "post-extract" script that is run. Plain as day simple. 00:52:25 I also wouldn't have something called "autoupdate" in such an environment 00:52:38 colorg: You have to. 00:52:46 Borscht. 00:52:53 colorg: Maintaining several thousand boxes by hand is impossible. 00:53:48 How many of them did you just break? 00:54:06 None. 00:54:39 This one server thinks it has the latest version of the software it has though, when it clearly doesn't. Otherwise, it's still operational. 00:55:27 My ISP is a Slack shop 01:00:13 I'm gonna make DI 4. __ENTER adds 4 to the xt ptr in basically every word. 01:01:26 I *wish* we were a slackware shop. 01:01:38 We'd eliminate 80% of the server-related update issues. 01:02:08 Apparently, autoupdate did, in fact, update the server. Or, at least if it didn't, the packages it said were ready for it have already been installed. 01:02:24 I hand-checked about half of the components it said were ready, and all the version numbers match. 01:04:07 well, I guess that's why they call it work 01:12:54 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 01:14:31 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 01:15:51 so a FOUR register saves a byte of code per word, plus 01:16:12 I'm down to a 12k 32-bit eforth 01:16:36 You said your kernel was +- 8k. With what? 01:40:08 Yes, it's 8KB. 01:40:20 I don't understand what you mean by "with what" though. 01:43:36 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 01:44:53 MM, files, processes? 01:45:09 It's just a core Forth environment. 01:45:17 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 01:45:18 Memory management consists of the HERE pointer. 01:45:24 No files -- not even blocks yet. 01:45:30 No processes -- it's not running under L4 yet. :) 01:45:53 Right now, it includes the interpretter. 01:45:56 No compiler as of yet. 01:46:08 OK, so it's a Forth, not an OS. So what do you mean by kernel? 01:46:13 And words in the runtime don't even exist yet. I hope to get those running shortly. 01:46:46 I don't recall using 'kernel' in the context of FTS/Forth, except to say that it'll eventually run under L4. 01:47:01 oh maybe not 01:47:14 That being said, though, a Forth "kernel" is often just the core functionality of the most minimal Forth system. 01:47:28 65 words or so 01:48:02 And realistically speaking, FTS/Forth, once it gets the compiler and block words put into it, would be about as capable as MS-DOS (maybe moreso, since you can program it directly out of the box). 01:48:06 :) 01:48:12 So it's an OS of sorts if it runs on bare hardware. 01:48:28 Though, I'm not going for that -- I'm definitely going for true multitasking. 01:48:47 brb -- provisioning a storefront for a customer. 01:49:03 ack 02:48:19 eforth thread words start with call DOLST. That's supposed to be cell-aligned. I don't see why. 02:51:27 back 02:51:53 x86 fetches instructions faster if they're cell aligned. 02:51:58 (well, dword aligned) 02:52:06 And even faster still if its cache-line aligned. 02:52:13 This is why gcc puts so many NOPs in your code. 02:52:37 --- join: mur_ (~mur@mgw2.uiah.fi) joined #forth 02:53:52 yeah, I don't see a system/structural reason. The xt increment thingy nis a plain + 4 (now DI :o) ) 02:54:54 I can think of no other reason than execution speed. 02:56:44 thanks 02:57:08 The Linux guys obsess over cache lines 02:59:27 Well, when the CPU runs as fast as it does, it can take several hundred clock cycles (worst case; average of about 30) to fetch a memory location. That kind of defeats the purpose for running the CPU so fast. :) 03:00:25 yeah, and why I'm not real worried about alignment 03:01:18 With the $four register and no aligns 32-bit osimplay eforth is < 12k (doesn't run yet) 03:02:51 I can see what's going on though, and should be able to debug the thing. I'm just letting it seep into my brain now basically. 03:03:18 --- quit: mur (Read error: 110 (Connection timed out)) 03:11:20 --- join: proteusguy (~proteusgu@203.148.241.62) joined #forth 03:18:25 --- join: mur (~mur@mgw2.uiah.fi) joined #forth 03:22:12 --- quit: Hyrax ("The early bird may get the worm, but the second mouse gets the cheese") 03:29:53 --- quit: mur_ (Read error: 110 (Connection timed out)) 03:34:11 Jesus H. Christ on a stick. He builds the header links at init time. 03:35:53 He couldn't solve the forward link problem in gas :o) I got help from a Linux kernel guy with that for H3sm. 03:36:14 Hah. 03:36:36 gas can't do forward references at all? 03:37:21 I think it can for local labels only, and only if you tag a 'f' on the end. 03:37:25 jnc 1f 03:37:26 ... 03:37:29 1f: etc... 03:37:31 It's a "one-pass" assembler 03:37:33 err 03:37:39 1: etc.. 03:38:03 The prooblem is the links in a dictionary do a weave 03:38:12 One pass, perhaps, but shouldn't it be able to patch that afterwards? 03:38:50 I remember it was a freaking bear in H3sm. Took some thinging, but then it took 20 seconds in Bash :o) 03:39:46 thing/think 03:40:52 And as I posted last night, I have the links working fine at assembly time in Bash 03:51:18 I did it with m4 actually, for the gas version of H3sm 03:57:39 iick. 03:59:21 Argh 03:59:57 These java exercises are SO stupid. Instead of declaring a variable, they declare it, and define two functions, one to set and one to get its value! 04:00:16 So instea of 1 code line you end up with 20 (since the functions need to be well-commented!) 04:01:12 Java is a sick joke. 04:01:28 Obstacle-Oriented Programming. 04:01:45 Java isn't all that bad if you code it sanely. 04:01:55 pass. 04:01:56 Robert's requirements are artifical: imposed by the instructor. 04:01:57 Just what I was going to say, heh. 04:02:00 Exactly. 04:02:10 These people use such an odd coding style. 04:02:25 I freaking hate it when people complain about object oriented programming, when every well-written, highly factored piece of code out there is arguable object oriented. 04:02:28 Every one. 04:02:40 All object orientation does is formalize the process of factorization. 04:03:10 On the other hand, you could ask how sane forcing _everything_ into classes is. 04:03:14 That's all structured programming did too. That's why I don't have FOR in my languages. 04:03:37 And in practice, Java isn't exactly the ultimate piece of performance/freedom. 04:03:49 Robert: Java uses classes as the basic unit of modularity. When you think about it in the global scope, it makes some sense. 04:04:24 Robert: Consider: when you execute Mozilla, it loads both the code and the data. But if you re-run it, while the original is running, the same code is still used -- it just instantiates a new data segment for the process. 04:04:28 kc5tja: Sure, it's a decent module system. But sometimes you have useful functions that you'd like to make global. 04:04:34 It's Sun trying to use Open Boot to out-Microsoft Microsoft without Mitch Bradley and without the lock on the PC 04:04:57 colorg: You are aware that OpenBoot is Forth, right? 04:05:08 Yes. Mitch Bradley. 04:05:14 Sun. 04:05:34 He left, and we get Java. 04:05:38 Robert: And how do you tell the Java runtime what file those global functions are located in? 04:06:02 colorg: I don't get your comment regarding out-Microsoft Microsoft then. 04:06:09 kc5tja: Magic. 04:06:20 kc5tja: OK, I admit I wasn't thinking about its runtime system. 04:06:22 Robert: Too bad computers aren't magic. 04:06:28 They tried to create an OS without the box 04:06:39 The language and the runtime are intertwined, as it is in every language. 04:07:00 kc5tja: Some languages aren't all that bound to the runtime model. 04:07:31 Robert: Oh, I strongly disagree. You can blame C for everything from the Unix runtime environment to the Windows runtime environment. 04:07:41 I love it when people say, "C doesn't have a runtime environment." Uh huh. 04:07:42 Right. 04:08:21 libc 04:08:30 brb -- facilities monitoring. 04:08:37 colorg: Ignore that -- that's just the library. 04:08:45 Look at something more fundamental: the C calling conventions. 04:09:12 That varies. 04:10:02 Irrelavent/ 04:10:04 OK, I am failing to jump from machine code to COLD. 04:10:05 It varies for Java too. 04:10:12 And for Forth. 04:10:31 That's why there is a distinction between API and ABI -- one is abstract, the latter is concrete. 04:12:25 kc5tja: You can use C on everything from microcontrollers to interpreted scripting engines... It does affect the environment, but not as much as Java. 04:12:58 I disagree 04:13:00 COmpletely. 04:13:07 The C VM is a PDP-8. That's not much of a runtime. 04:13:18 The Forth VM is a dual-stack architecture. 04:13:21 Not much of a runtime. 04:13:32 The Java VM is a single-stack VM -- not much of a runtime. 04:13:39 A lot more than C, which is why I wrote osimplay. 04:13:46 No, it's not. 04:13:50 I don't know where you get this idea from. 04:13:56 2 stacks is. 04:14:04 The 68000 CPU has *8* stacks. 04:14:08 C vs Forth performance numbers 04:14:08 A0 through A7. 04:14:17 Because CPUs are optimized to run C. 04:14:22 C'mon -- next one. 04:14:47 UNLESS you hard-compile the Forth to 1-stack code 04:15:02 so I write assembly in Bash 04:15:19 Just because the "default" runtime environment is established in ROM to be C's basic execution environment does not make it any less influential on the system than, say, if Forth came in ROM. 04:15:49 --- quit: madgarden_ (Read error: 110 (Connection timed out)) 04:15:53 --- join: madgarden_ (~madgarden@Kitchener-HSE-ppp3576522.sympatico.ca) joined #forth 04:15:53 --- nick: madgarden_ -> madgarden 04:20:32 what's the difference between jmp *(%eax) and jmp (%eax) ? 04:23:49 As I'm not familiar with AT&T syntax, I really can't tell. 04:24:21 Is there any good reference on AT&T syntax? 04:24:43 the as.info in the GNU sources 04:25:12 the GNU infos are awesome. THe format sucks, but,.,. 04:25:52 I rather like GNU Info format. 04:26:01 The browser for it stinks though. :) 04:26:09 there ya go 04:26:33 qFox: Good afternoon 04:27:58 well jmp to a register should just jump to the address in the register on x86, not fetch one first, right? I can't seem to NEXT to COLD 04:28:40 Yes 04:28:52 But AT&T syntax might be confusing some things. 04:29:05 --- join: crc (crc@126-pool1.ras11.nynyc-t.alerondial.net) joined #forth 04:29:34 For example, I know that in Motorola syntax, MOVE.L (a0),D0 fetches memory from the address in A0. But, JMP (a0) will jump to the address *in* A0, not *at* a0. 04:29:40 NEXT is supposed to be jmp *(%esi) 04:29:50 I'm wondering if AT&T syntax is making a similar interpretation. 04:30:07 x86 isn't as fetchy as Moto either 04:30:56 = COLD1 to $xt 04:30:56 __NEXT # to high level COLD start which 04:30:56 # QUITs to the interpreter. 04:31:51 and I put a bailout at COLD1 and segfault anyway, but I can bail before the above 04:32:07 $xt is SI 04:32:42 so it should jump to COLD1: 04:33:51 I'll have to write a small test program tomorrow. 04:37:47 * colorg reads INTEL386.TXT 04:39:02 Damn, there is a fetch. 04:46:06 Hmm... 04:46:23 According to http://www.objsw.com/docs/as_196.html, "AT&T absolute (as opposed to PC relative) jump/call operands are prefixed by `*'; they are undelimited in Intel syntax." 04:47:06 So it looks like jmp *(%eax) means to jump to the absolute address in EAX. However, I'm unaware of a relative branch, so I'm thinking that jmp *(%eax) and jmp (%eax) refer to the same instruction. 04:50:00 thanks 04:50:22 yeah, without the * you get the same code and a warning 04:50:37 FF26 for esi 04:50:56 I beat. Seeya. 04:51:15 I'm beat that is. Obliviously ;o) 04:51:18 --- quit: colorg ("ircII EPIC4pre2 cLIeNUX. Can you say that?") 04:52:22 kc5tja: any more progress on FTS/Forth? 04:52:41 crc: Not tonight, no. Been too lazy and wiped. 04:52:52 I did get it to interpret words yesterday morning though. 04:52:56 cool 04:53:03 Hello (prints hello world) and bye (quits the Forth environment). 04:53:07 * kc5tja is really happy with it. 04:53:22 Is it online yet? 04:53:33 No, again, I've been too tired/wiped. 04:53:40 ok 04:55:37 I should probably just get it done now. 04:55:39 BRB 05:01:39 * kc5tja is uploading now. 05:09:34 --- join: mur_ (~mur@uiah.fi) joined #forth 05:11:11 OK, the new site and project is uploaded. 05:13:14 Got it, now to figure out how to compile it... 05:13:47 Type "./forth" in the current directory, then "go" at the OK prompt. That'll produce a "a.out" file which you can execute. 05:14:04 The definition of "go" is in block 2, IIRC. 05:16:12 it didn't work :-( 05:16:49 What version of gForth are you using? 05:20:04 --- quit: mur (Read error: 110 (Connection timed out)) 05:20:58 0.6.2. 05:21:08 What didn't work though? 05:21:15 I'm not using anything that would require 0.6.2. 05:22:55 The error displayed is: 05:22:56 in file included from *the terminal*:1 05:22:56 in file included from *evaluated string*:-1 05:22:56 in file included from *a block*:100 05:22:56 *a block*:112: Dictionary overflow 05:23:11 ?!?! 05:23:16 Dictionary overflow?! 05:23:19 Then the block starting "( ELF Process Image ) -4k- here elfHeader !" is shown 05:23:30 Backtrace: 05:23:30 $40184E34 throw 05:23:37 What version of gforth are you using? 05:23:41 0.5.0 05:24:04 What line is the error referring to? 05:24:07 After the backtrace is shown, no input is processed and I have to manually terminate the gforth process 05:24:24 I'm not sure 05:24:26 * kc5tja wonders if 0.5.0 allocates only a 16KB dictionary or something. 05:24:39 You may need to recompile 0.5.0 to support a larger dictionary then. :( 05:25:00 I'll just update to 0.6.2 05:25:23 Type in "dictionary-end here - ." and tell me what value you see. 05:25:32 (on a fresh gforth run) 05:25:39 Mine comes up to be 4MB. 05:26:01 117216 05:26:07 WWHHOOAA!! 05:26:11 DUDE! 05:26:15 That is HILARIOUS! 05:26:25 GForth 0.5.0 allocated only a 128KB dictionary space! 05:26:39 So does RetroForth... 05:26:56 Any way to easily change the dictionary size? 05:27:15 I don't know; I seldom use gForth 05:27:24 No, in RetroForth I mean. 05:27:36 If not, I suppose one could modify the compiler to compile code into blocks. 05:27:42 Yes, just change the line telling the number of bytes to reserve 05:27:50 Yeah, FTS/Forth will be the same way. 05:27:55 Change the line, then recompile the kernel. 05:27:57 I have 128k dictionary, 256k code 05:28:00 Yup 05:28:03 Is GoForth taken? 05:28:10 Baughn: GoForth? 05:28:16 Not sure. 05:28:29 I've never heard of a GoForth 05:28:38 Good, good. 05:28:53 * crc wonders if he should increase the default memory allocations in RetroForth 05:28:57 * kc5tja has exclusive rights to the name "Forth/4" though. :D 05:29:02 So, don't use it! :D 05:29:40 Hmm. What's the smallest possible turing-complete forth? 05:30:48 That depends on the architecture in question, I suppose. 05:31:26 16KB is considered "average" size for a nominal Forth environment on 16-bit architectures. 8KB for 8-bit machines. I'd wager it'd be approximately half that size for a minimal, yet Turing-complete, Forth. 05:36:43 kc5tja: 0.6.2 works, though I have to use CTRL+D to quit gForth after running 'go' 05:36:52 Correct. 05:37:05 Sorry, I forgot to mention that. It's because I redefined BYE as the target-compiled word. 05:37:13 ok, not a problem 05:37:26 * crc sort of figured that was the case 05:38:11 OOPS. I have a bug in the interpreter. Unrecognized words are supposed to print ": undefined?" after them 05:38:39 On block 72, to get the correct behavior, change the definition of notDefined to this: 05:38:42 ,: notFound .name ," : undefined?" type cr ;, 05:39:58 * crc has no idea how to use the vibe editor 05:40:25 '72 vibe' takes me to the block; from there I'm 100% lost 05:40:39 * kc5tja sighs -- I need to write up some basic documentation, I guess. 05:40:46 VIBE is inspired by VI. 05:40:54 Pressing any of the arrow keys takes me back to the previous code block 05:40:55 In command mode, use h j k l to move the cursor. 05:41:00 Use i to insert. 05:41:09 Use x to delete the character under the cursor. 05:41:18 Use dd to delete the current line. 05:41:44 That's about all I implemented, realistically (capital-R enters "replace" mode, but that's more a convenience) 05:41:57 In insert mode of some kind, use ESC to go back to command-mode. 05:42:04 Capital-Q is to exit VIBE. 05:43:30 ok, notFound is working properly now 05:44:23 * crc has always used a line-oriented editor with blocks 05:44:25 My next immediate step is to get it to interpret numbers. :) 05:44:33 How hard will that be? 05:44:36 crc: Ahh. 05:45:04 It can be somewhat of a challenge. 05:46:09 How hard would it be to use vibe with a Forth other than gForth? 05:46:26 If it's an ANSI Forth, it's trivial. 05:46:49 It's not an ANS forth. 05:46:56 If it's a non-ANSI Forth, some Forth-specific details, like the dictionary search code, might need to be adjusted. Otherwise, porting ought to be relatively painless. 05:47:25 It's designed with the assumption that the *only* input device available is *only* able to generate ASCII codes. 05:47:25 ok 05:47:34 I don't even assume the presence of function keys. 05:47:36 * crc might attempt to port it to RetroForth/Native 05:48:01 If you look somewhere between blocks 40 and 60, there is a line editor, IIRC. 05:48:16 That's good; the native keyboard driver only supports the standard keys (no ctrl/alt, function keys, arrow keys, etc) 05:48:19 Type (in GForth) 40 60 index to show a listing of the blocks in that range. 05:49:26 that's a nice word :-) 05:49:37 Odd blocks are for comments? 05:49:51 Yes. 05:49:55 Oops -- forgot to tell you. 05:50:05 Use \ in Vibe to toggle between source and shadow comments. 05:51:29 Oh, and [ and ] to go down by two and go up by two blocks. 05:51:33 Man, I'm spacing it. I'm sorry. 05:51:42 That's ok 05:53:23 the line editor is in block 8 05:53:34 hmm...I must have moved it then. 06:06:54 Since FTS/Forth for Linux won't have character-level keyboard interaction for quite some time, I'm going to expand on the line editor a bit. 06:07:01 Probably devote about three blocks to it, instead of just one. 06:07:30 One of the things I'm planning is a block import and export functionality, that saves source blocks in a form that is directly executable by the line editor to reconstruct the blocks. :-) 06:07:47 Kind of like how Smalltalk exports class and method definitions to "change files." :) 06:08:51 cool 06:09:06 Mine is really limited, but I'm used to it 06:09:37 FTS/Forth is currently line-buffered? 06:09:53 As a natural consequence of reading line information from stdin, yes. 06:10:12 accept is implemented in terms of the read() system function. 06:10:12 So is RetroForth :-) 06:10:18 (Except for the native version) 06:10:46 It's not too difficult to turn off the line buffering under Linux though 06:10:48 Yeah, I really don't know what I'll do for Forth/4 yet. 06:11:04 I remember it being a rather significant amount of ioctl invokations. 06:11:23 And, then you have to catch CTRL-C to restore the terminal state, since Linux doesn't do that for you. 06:11:31 (which is RETARDED, but I digress.) 06:12:20 It takes about 13 lines of assembly to enable it... 06:12:31 Hmm 06:12:43 I'll code it when I need it. 06:12:52 * kc5tja still doesn't relish the thought of implementing it yet. 06:12:52 :) 06:12:56 :-) 06:28:48 --- join: Hyrax (~das@adsl-64-219-100-33.dsl.lgvwtx.swbell.net) joined #forth 06:31:36 --- quit: mur_ (Remote closed the connection) 06:32:23 --- join: mur (~mur@uiah.fi) joined #forth 06:34:18 Anyone here familiar with Mutt by any chance? 06:34:36 --- join: snowrichard (~richard@adsl-068-209-159-248.sip.shv.bellsouth.net) joined #forth 06:34:42 --- quit: snowrichard (Client Quit) 06:34:54 I'm trying to set my reply-to address, but it's not working. 06:48:20 --- quit: crc (Client Quit) 06:50:41 --- join: crc (crc@172-pool1.ras11.nynyc-t.alerondial.net) joined #forth 06:55:59 --- join: jdrake (~jdrake@CPE00045afdd0e8-CM014410113717.cpe.net.cable.rogers.com) joined #forth 07:20:17 When a server goes down, I get pissy. 07:20:28 But when my next shift is late . . . I get rather mad. 07:20:42 This is getting rediculous. 07:38:11 Yay, they finally showed up. Whoopee. 07:40:27 Going home. 07:40:30 And then to bed. 07:40:34 Screw this crap. 07:53:08 --- join: Raystm2- (Rastm2@AC893DC7.ipt.aol.com) joined #forth 08:08:16 --- join: mur_ (~mur@kyberias.uiah.fi) joined #forth 08:09:51 --- quit: Raystm2 (Read error: 110 (Connection timed out)) 08:10:47 --- quit: mur (Read error: 60 (Operation timed out)) 08:10:53 --- part: Raystm2- left #forth 08:12:41 --- join: Raystm2- (Rastm2@AC893DC7.ipt.aol.com) joined #forth 08:12:41 --- quit: Raystm2- ("User pushed the X - because it's Xtra, baby") 08:41:05 --- quit: crc (Client Quit) 08:47:22 --- join: Raystm2 (Rastm2@AC893DC7.ipt.aol.com) joined #forth 09:11:02 --- quit: mur_ (Remote closed the connection) 09:12:22 --- join: mur (~mur@mgw2.uiah.fi) joined #forth 09:13:24 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 09:16:40 --- quit: jdrake (Read error: 54 (Connection reset by peer)) 09:16:53 --- join: jdrake (~jdrake@CPE00045afdd0e8-CM014410113717.cpe.net.cable.rogers.com) joined #forth 09:31:46 --- join: Serg[GPRS] (~z@193.201.231.126) joined #forth 09:32:11 hi ! 09:32:37 Hi Serg :) 09:33:00 --- join: whatever (thin@bespin.org) joined #forth 09:33:16 --- nick: whatever -> futhin 09:33:23 fu, thin. 09:33:29 Er, hi futhin 09:34:22 hi rob_ert 09:34:25 ;) 09:34:55 i miss the old rob_ert :~( 09:34:59 Aw, poor futhin. 09:35:17 Want something to poke fun of? 09:35:44 not really heh 09:35:48 Hehe, good. 09:35:56 * Robert keeps it away 09:36:00 :P 09:36:06 keep what away? 09:36:26 The C program 09:36:36 I was thinking about scaring you with the ugliest piece of C code EVER 09:36:37 But... 09:36:41 ooh 09:37:36 hmm 09:37:47 was it from an obfuscated C coding contest? 09:37:55 or was it something you coded? 09:38:14 c = a +++ b ;)) 09:38:27 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 09:38:27 --- mode: ChanServ set +o Herkamire 09:38:38 or even c = a +++++ b ;) 09:39:15 futhin: Nah, just a simple hack 09:39:28 futhin: But I added some features, and didn't fix the structure up 09:39:43 futhin: So it's a 100% unreadable program, even though it's just a few pages of code. 09:42:10 C is illegal anyways 09:42:16 all C coders are criminals 09:42:17 Tss 09:42:31 ssT 09:43:12 i abandoned coding C coz it was way too anti-intuitive 09:44:10 Adjust your intuition 09:49:31 lol 09:50:04 if C or pascal or some other procedural language is your first language to learn, there's a huge learning curve 09:50:22 and then when you approach some other language like forth/lisp/etc you have to deal with another learning curve 09:50:30 as its a different paradigm 09:50:57 so C isn't so much intuitive as it is learned by the majority of people first 09:52:19 hi 09:52:24 futhin! :) 09:52:54 --- quit: Serg[GPRS] (Read error: 104 (Connection reset by peer)) 09:53:12 moo arke 09:53:41 --- join: Serg[GPRS]_ (~z@193.201.231.126) joined #forth 09:54:02 Don't know about that... I think C is pretty "intuitive" (or rather, similar to the usual mathematical notation). 09:54:02 I doubt there's a single "intuitive" language. 09:54:11 dhamn... phone call dropped my IRC link... 09:54:27 hey ops, kick my ghost hard !! 09:55:01 C is far from intuitive language!! 09:55:01 --- nick: Serg[GPRS]_ -> Serg[GPRS] 09:55:40 intuitive language is such which one can use without konwing rules or notation 09:55:52 without learning it at all 09:55:57 just go and start coding 09:56:10 in this case, intuitive language would be the language that has the LEAST rules or notation 09:56:20 as there's not gonna be any language with zero rules or notations 09:56:26 i consider Perl and Forth more intuitive 09:56:33 i dont 09:56:38 basic might be quite intuitive 09:56:46 but it is not naturally intutitive at all 09:56:46 at least, i did not do SU MADDENING errors in them 09:57:02 but by patterns it is intuitive 09:57:04 basic, forth. not perl. 09:57:04 commands follow each other 09:57:14 i mean now classical baisc 09:57:16 not vb or such 09:57:22 they arent tbecasue of extensions 09:57:30 fire the Basic out of torpedo tube, like trash !! 09:57:45 but even you coudl write to computer text what to do 09:57:50 that woudl not be intuitive perhaps either 09:57:56 its culturally biased anyways 09:58:13 but it woudl be more intuitive, for those who can speak andunderstand language 09:58:25 but not "universally" intuitive 09:58:33 if anythign can be universally intuitive ever 09:58:44 i doubt nothing is universal 09:58:51 by thoughts 09:59:02 since every creature perceive world little differently 09:59:27 forth has less rules & notation than C 09:59:29 if we think og lowerst common denominator, we might have to think about rocks and such too 09:59:30 and virus, bacteria 09:59:38 this is little far fetched i guess? :) 09:59:48 it is not only about amount of rules 09:59:53 it's the structure too 10:00:25 intuitive language is device independent 10:00:30 AND concept independent 10:00:38 one shoudl not know how hdd words to save information 10:00:51 or how file system 10:01:14 although i must admit some peoples intuition is not that theoretical :) 10:01:33 but practical is just biased by the system traditions 10:02:03 you coudul teach new traditions "save information" instead of "write file on on specific disk 10:02:06 " 10:02:22 computers are still supertechnical 10:02:50 files are great, but i also want SQL in OS ;)) 10:03:35 i no longer care about technical aspects in designing 10:03:39 im trying to get over it 10:03:53 beign technically restricted restricts the future planning too 10:04:00 good 10:04:02 the more abstrat information theoretical it is, the more usable it is 10:04:09 i got over the technical crap a long time ago 10:04:21 well the same time i gave up osdev 10:04:27 and gui dev a bit later 10:04:36 i still think some ideas but not really 10:04:55 at the same time i gave up that i shoudl konw somethign about computer hardware 10:05:05 nowdays i dont know even what is good processor speed 10:05:10 i used to konw what is fast 10:05:42 my technical information has fallen down radiaclly.. well the changing information is not that importat... since it changes :) 10:05:50 nowdays i use mac :P 10:05:51 hehe 10:05:53 geek joke :P 10:06:58 hmm, macs are nice :) 10:07:06 i know! 10:07:10 i use for real :) 10:07:18 macs are nice for running linux 10:07:38 i dig macos 10:07:52 macos looks cool but is not very practical 10:07:52 i hate guis 10:08:02 all guis are impractical 10:08:08 tui is gui in a way too 10:08:09 well I don't consider linux very practical for a development machine :) 10:08:13 and ion is a joke 10:08:46 ianp: its a trade off in cost, takes a lot of time to customize and understand fully (cuz you're practically required to) 10:08:48 hmmm guis are fine fgor me 10:08:56 i spend much time in tui. 10:09:05 i am ircing in tui 10:09:08 me too. 10:09:20 but i at the same time can look at pictures 10:09:24 on macos - tho actuallty on linux via sshj 10:09:30 download files, browse webpages 10:09:43 * mur on osx, with ssh to sunos 10:10:13 i love GUIs if theyre done well, occasionally you see that with mac people 10:10:27 current guis are all terrible 10:10:29 and i love apps like Quicksilver 10:10:33 i hat the WIMP model 10:10:34 well 10:10:37 hate* 10:10:41 I used Windows for a long time 10:10:46 so this is a step up 10:10:47 well 10:10:52 WIMP m,odel = ? 10:11:01 * mur personally sees the star gui only good one 10:11:04 that was the first gui 10:11:05 ever 10:11:13 it was very good, nowdays they are not 10:11:29 nowdays all guis have so much historical burden too 10:11:43 you cant hack windows to anything in overnight 10:11:44 for instance 10:12:00 i dont know if ive seen that 10:12:09 osx was redesigned a lot, which was interesting, but the structures cant be changed 10:12:10 WIMP = windows, something, mouse, pointer 10:12:21 yeah, osx is quite closed 10:12:22 windows, x, macos, etc are WIMP models 10:12:35 doesnt sound really scientifical 10:12:41 i agree that gui term is too large 10:12:46 while tui is specific 10:14:35 well when i go to business world and need to do stuff, its nice to have something that runs msoffice, java, all that crap, while looking pretty, being fairly reliable, etc... no hacking involved... two sides of the spectrum i guess 10:15:36 read THE 10:16:59 well but that is part of the historical burden i said 10:17:32 --- quit: futhin ("leaving") 10:21:55 windows, icons, menus, pointer 10:24:51 read THE? 10:24:56 THI? 10:25:21 THE needs to be ported to osx 10:25:47 THE needs to be be ported to SDL 10:26:07 that too 10:26:34 aza raskin has started a port to gtk2 10:26:43 it ran, but didn't work too well when I tried it 10:27:09 aza? 10:27:10 (compiles fine with gtk1 except you can't see anything)... doesn't do transparency or something 10:27:16 jef's son 10:27:16 hah 10:27:19 oh wow 10:27:25 didnt know he had one 10:27:46 aza also did the flash ZUI demo 10:28:09 i've only met jef's daughter. 10:30:30 or was it his niece? I don't remember anymore. 10:33:54 zui? 10:34:10 * ianp looks 10:37:50 cool 10:52:22 --- quit: Serg[GPRS] ("to play 'True Crime' and GTA3 - cul8r !") 10:53:24 --- join: mur_ (~mur@uiah.fi) joined #forth 11:04:07 --- quit: mur (Read error: 110 (Connection timed out)) 11:40:54 --- quit: mur_ (Remote closed the connection) 11:42:11 --- join: mur (~mur@uiah.fi) joined #forth 12:03:25 --- join: Serg[GPRS]_ (~z@193.201.231.126) joined #forth 12:03:43 re 12:04:08 playing 2 similar games side-by-side is a pain :) 12:04:52 cars behavior differs, leading to skill collisions and stupid errors in both games 12:16:53 --- join: Topaz (~top@sown-85.ecs.soton.ac.uk) joined #forth 12:23:22 Hi Topaz and Serg 12:23:44 Hrm, no AVR development today, Java homework took all my time. :( 12:23:52 lo 12:24:23 h 12:24:26 hi* 12:26:09 * Serg[GPRS]_ is sleepy 12:26:31 Robert, what is the homework? 12:26:38 --- quit: Serg[GPRS]_ () 12:35:50 slava: Modifying simple classes. 12:36:00 slava: Simply a lot of work and NO challenge. 12:57:03 --- quit: Herkamire ("installing another HD") 12:59:22 --- join: mur_ (~mur@mgw2.uiah.fi) joined #forth 13:01:35 --- quit: mur (Read error: 60 (Operation timed out)) 13:07:38 --- join: ez4 (~ez4@pcp01518726pcs.reding01.pa.comcast.net) joined #forth 13:28:33 --- quit: mur_ (Remote closed the connection) 13:29:17 --- join: mur (~mur@mgw2.uiah.fi) joined #forth 13:32:06 --- join: Sonarman (~matt@adsl-64-169-94-115.dsl.snfc21.pacbell.net) joined #forth 13:44:19 Hi Sonarman 13:48:27 hi Robert 14:12:25 --- join: futhin (thin@bespin.org) joined #forth 14:12:25 --- mode: ChanServ set +o futhin 14:19:38 It returns. 14:21:46 --- quit: Baughn ("Lost terminal") 14:24:17 robert: have you studied XP (the programming methodology) ? 14:24:54 Nope, what is it about? 14:25:33 you don't know of extreme programming ? 14:25:33 * slava is writing unit tests right now ;) 14:25:40 almost 3000 lines of tests 14:26:04 slava: you're not supposed to write them all at once 14:26:17 futhin: No. 14:26:43 futhin, i'm not 14:26:49 you write the test code, then you write the program code, and that cycle of testcode/programcode is supposed to only take 5 to 10 mins 14:26:50 futhin, the total number is 3000 lines 14:26:56 slava: and how many lines of code? 14:27:09 shall i include comments? 14:27:23 robert: http://thin.bespin.org/xpinstall.pdf (extreme programming installed) 14:27:29 free pdf 14:27:33 free book i mean 14:27:40 it starts off slow 14:27:44 but it gets good 14:28:13 futhin, 10000 lines 14:28:21 OK, I'll check. 14:28:32 futhin, excluding blanks and comments 14:30:38 well, i hope whatever you've coded actually does something ;) 14:30:53 10 thousand lines, thats like enough to have a os & gui 14:31:41 i like well-spaced code 14:31:53 i have 1500 words, and i could put all their definitins on 1 line each 14:32:33 --- join: mur_ (~mur@mgw2.uiah.fi) joined #forth 14:33:15 if you could then you would 14:33:36 why? 14:33:41 i dislike overly long lines 14:34:19 if it were long then it wouldn't be 1 line ;) 14:34:49 jedit is 60000 lines ;) 14:35:05 of what? 14:35:28 java 14:35:56 Heh. 14:39:02 i wasn't refering to the language 14:39:07 i was just saying "of what?" 14:39:13 as 60000 lines seems like a lot to me 14:39:28 Ah 14:39:30 how would you feel if chuck moore did it in 6000 lines 14:39:42 you know how he rambles about the whole 10x and 100x thing 14:39:48 well.. chuck moore probably wouldn't do it 14:39:52 that's his secret ;) 14:39:54 :D 14:39:56 heh :) 14:40:02 yeah he wouldn't code it in java 14:40:10 why was jedit coded in java anyways? 14:40:11 futhin: 9 out of 10 lines in this java course are comments. 14:40:26 ls 14:40:26 futhin: Remove all comments and write 80-character Forth lines... 14:40:27 oops 14:40:28 hi 14:40:30 futhin: :){ 14:40:36 Hi 14:41:07 Robert, my code is not 9/10 comments :) 14:41:16 i took a java course too 14:41:25 javadoc is the devil 14:41:27 it was 0.5 out of 10 lines that were comments 14:41:28 slava: Don't worry, I'm not accusing you for being as stupid as, ehm, certain people! 14:41:31 futhin, i coded jedit in java because i know of no easier way of producing cross platform guis 14:41:33 you must have a stupid teacher 14:41:35 Robert, oh, but I am! 14:41:42 slava: Sssh, not so loud. 14:41:48 slava: They might think you're stupid. 14:41:52 futhin, and it was the only language i knew at the time ;) 14:42:26 are there any block file editors in linux ? 14:42:32 vibe 14:42:34 i have a need for one (no - not for sources) 14:42:46 ewww vi lol 14:42:51 not vi 14:42:52 err isnt that kc5's editor ? 14:42:53 VIBE 14:42:55 kc5tja's editor 14:42:56 yes 14:43:01 it has vi keystrokes 14:43:08 you can rebind it if you want 14:43:17 --- quit: mur (Read error: 110 (Connection timed out)) 14:43:20 where do i get it in binary form 14:43:23 err 14:43:24 its in forth 14:43:24 i doubt i can recompile it 14:43:34 port it to isforth 14:43:38 it probably wont compile under isforth 14:43:39 no 14:43:39 it'll take you less than 2 hours ;) 14:43:45 forth is portable!!!!! 14:43:49 :P 14:43:58 use gforth 14:43:59 im already writing my own block editor but i need to be able to create some data in blocks right now 14:45:35 i'll port it to isforth 14:45:39 I'm sure you could find some low-tech solution 14:46:05 like resize emacs to 64-columns wide, than write quick hack that pads the output into a proper block 14:46:23 sonar your port will work in ANY terminal ? 14:46:52 VIBE is independent of terminals 14:46:53 jeez 14:47:02 its just text afaik 14:47:07 TEXT! 14:47:08 ph33r! 14:47:09 futhin no 14:47:21 KEYPRESSES are very dependant on which terminal you are in 14:47:30 so rebind! 14:47:35 its really easy to bind keys in VIBE apparently 14:47:46 VIBE isn't terminal-dependent at all afaik 14:48:18 --- join: Raystm2 (Rastm2@ACC88B39.ipt.aol.com) joined #forth 14:48:32 hello Raystm2 14:49:59 VIBE is not terminal-dependent. 14:50:04 i think it would have to be - how does it display a block of text - does it dispplay a block and then scroll a page to display the next one or does it use cursor control ? 14:50:08 arrow keys are trivial to add (i did) 14:50:29 your questions would be answered by looking at the code probably :) 14:50:43 err where 14:50:45 i asked where 14:50:53 it's in kc's ftsforth tarball 14:51:10 I440r: it uses gforth's at-xy word 14:51:11 AT-XY 14:51:15 it uses cursor control 14:51:16 or at or whatever its called 14:51:21 Keith Ratzlaff 14:51:21 #10 . 1810 Springhill Drive 14:51:21 Kamloops, BC V2E 1P9 14:51:21 Phone: (250) 374-1179 14:51:24 Work Experience: 14:51:32 Lo-Cost Landscaping Kamloops, BC 14:51:32 Hi Hyrax how are ya ? :) 14:51:34 Irrigation/ LandscaperApr 03 . May 03 14:51:37 Chai-Na-Ta FarmsKamloops, BC 14:51:39 Farm LabourerSept 02 . Mar 03 14:51:42 Milton.s Moving and StorageKamloops, BC 14:51:44 Manual Laborer/ PackerMay 02 - Sept 02 14:51:47 Look-Out LandscapingKamloops, BC 14:51:49 Landscaper/ Irrigation Apr 02 - June 02 14:51:52 Sun Peaks Lodge.Kamloops, BC 14:51:54 Housekeeper/ LaundryNov 01 - Feb 02 14:51:57 Wal-Mart.Kamloops, BC 14:51:59 i hate blocks grr 14:51:59 Casual LaborerSept 01 - Nov 01 14:52:02 Timmermans Landscaping Ltd.Abbottsford, BC 14:52:04 Landscaper/ IrrigationMay 00 - July 01 14:52:07 Kamloops Food BankKamloops, BC 14:52:09 Volunteer/ Various DutiesJan 00 - Mar 00 14:52:11 futhin stop spamming 14:52:12 Education: 14:52:14 Sa-Hali Secondary SchoolKamloops, BC 14:52:17 Grade 12 GraduateJune 1999 14:52:19 14:52:22 Special Skills and Abilities: 14:52:24 - 3 yrs. Experience driving excavators, bobcats, tractors 14:52:27 - Able to install Irrigation Systems 14:52:29 - H2S Alive Ticket 14:52:32 - First Aid Certificate 14:52:32 Raystm2, I'm doing fine. A little wet... Helped some people change a tire, their jack was broken 14:52:34 - Valid Class 5 Drivers License 14:52:37 - Athletic 14:52:39 - Work well alone or as a team 14:52:42 - Hard-working 14:52:44 - Diligent 14:52:47 - Flexible 14:52:49 - Quick learner 14:52:52 References: 14:53:04 Case Timmermans 14:53:07 Timmermans Landscaping Ltd. 14:53:09 Abbottsford, BC 14:53:12 Phone: (604) 854-6267 14:53:14 Carl Willams 14:53:17 Willams Design 14:53:19 Kamloops, BC 14:53:22 Phone: (250) 374-6179 14:53:24 Don Funk 14:53:27 City of Kamloops 14:53:29 Kamloops BC 14:53:32 Phone: (250) 573-3368 14:53:34 oops! 14:53:37 uum wtf 14:53:37 omg! 14:53:41 Hyrax : your very kind :) 14:53:42 * Hyrax slaps futhin with a smelly sea bass 14:53:46 futhin: wtf lol 14:53:47 that was completely accidental 14:53:49 nthats weird as hell 14:53:52 i don't recall looking at any resume like that 14:53:54 I smelled that one :) 14:53:54 fortunately its not my resume :D 14:54:05 hehe 14:54:06 i440r: falvotech.com/ftsforth.html 14:54:19 once google crawls the log there'll be LOTS of phone calls for him :) 14:54:31 he he 14:54:39 he he 14:54:42 nah its not me 14:54:46 for a second i thought it was 14:54:50 lol 14:54:51 no Sam 14:54:54 futhin = james brobey 14:54:59 he he 14:55:04 err 14:55:10 but i have absolutely NO idea where that resume came from 14:55:11 james b robey 14:55:14 err 14:55:15 i didn't open any such resume 14:55:15 lol 14:55:26 futhin: cut and paste buffer from pevious user? 14:55:33 your being hit from the outside world then ? 14:55:44 he he 14:55:45 arke: unlikely, i'm in calgary 14:55:49 alberta 14:56:08 i couldnt use vibe. i HATE the vi interface :/ 14:56:17 i440r: you haven't even looked at it yet 14:56:21 its NOT vi 14:56:24 i looked at the sources 14:56:34 and it uses i to insert, r to replace 14:56:43 so rebind the keys if you want 14:56:47 hack the code! 14:56:48 and i would get totally fucked up just trying to get used to using any interface like that 14:56:49 hack the planet! 14:57:08 every time i use vi i just get pissed off and do excape colon q! 14:57:31 kinda like tabs, ey? 14:57:40 no. WORSE 14:58:06 i440r: rebind the keys then.. 14:58:19 vi is not all that bad. I'm just glad I have a choice in editors though. 14:58:24 arke: does VIBE have a command mode and insert mode? 14:58:40 futhin: command mode, insert mode, replace mode 14:58:40 actually i'm still waiting for a good editor for linux to come out 14:58:46 code one 14:58:51 I440r, i could make a block editor plugin for jedit 14:58:53 I KNE THAT WAS COMING 14:58:53 :) 14:59:04 I440r, you'd open file.fb/1234 or whatever to edit block 1234 14:59:06 but waiting is more fun 14:59:13 actually i've only recently gotten back into linux 14:59:19 slava how long ??? :) 14:59:21 maybe i shall make the irssi equivalent of an editor 14:59:30 I440r, i could do it now, i'm bored ;) 14:59:31 does anyone know the colorForth word 'text' ? 14:59:31 wtf? 14:59:34 irssi editor? 14:59:37 no 14:59:39 slava heh 14:59:40 Raystm2: no, sorry 14:59:40 futhin, lol 14:59:58 ... 14:59:59 ppl thought there were good irc clients before irssi came out 15:00:00 slava how would you move between blocks ? 15:00:05 they were using ircii, bitchx, etc 15:00:11 and then irssi came out and gained dominance 15:00:14 I440r, open file dialog, or i could make kbd shortcuts 15:00:15 because it wasn't fucking dumb 15:00:16 futhin, i use xchat 15:00:17 now 15:00:20 same thing with editors 15:00:26 people think vi and emacs are good 15:00:32 but they're fucking dumb 15:00:41 if a good editor came out, then it would replace that 15:00:41 what's wrong with them? 15:00:41 vi sucks, but its the best one out there. how fucking sad. 15:00:44 it'd be like irssi 15:00:45 would prefer keyboard shortcuts than having to navigate a menu just to advance or retreat by 1 block :) 15:00:50 I440r, ok 15:00:58 going to a SPECIFIC block would be ok to use menu :) 15:01:00 in terms of how irssi gained dominance 15:01:04 I440r, the other issue, is it would turn a block into a buffer with 64-char lines right 15:01:05 hehe, i have an idea 15:01:07 because irssi wasn't moronic 15:01:13 I440r, and join the lines on save 15:01:17 I440r, what if the user puts in a line > 64 chars? 15:01:18 everybody, /join #gentoo and /ctcp version the entire channel!!! 15:01:30 arke, why? are they all irssi? 15:01:34 i hate irssi 15:01:35 why gentoo? 15:01:37 slava 16 lines of 64 chars each. 15:01:38 who uses gentoo? 15:01:42 no, but it would piss them off lol 15:01:46 I440r, should it just show an error if that's not respected? 15:01:48 heh 15:01:50 futhin: theres like 600-800 people in #gentoo 15:01:54 lol 15:01:58 would i be able to position the cursor ANYWHERE in the current block and start typing at THAT location ? 15:02:07 I run gentoo, but it is not what I'm currently on 15:02:10 by default if a block exists its full of spaces unless editoed 15:02:11 edited 15:02:12 960 people 15:02:15 I440r, yes 15:02:19 and a line is ALWAYS 64 chars wide 15:02:23 Sounds like something you'd do :) 15:02:26 I440r, well i can't enforce that line length thing 15:02:26 i think irssi and archlinux are excellent examples that when something improved comes out, people tend to start using it 15:02:31 all we need is a better editor 15:02:34 i don't like archlinux either ;0 15:02:35 and people will start using it 15:02:39 its a bit unstable 15:02:48 lol 15:02:49 futhin, you haven't said what's wrong with vi and emacs 15:02:57 slava you mean i would not be constrained to 64 chars wide and would have to MANUALLY enforce that >? 15:03:06 slava: come back and lets do it together 15:03:10 that would be a pain :/ 15:03:17 I440r, i could enforce it but it would be more work 15:03:18 I440r: it wraps around 15:03:19 vi = modes emacs = bloated 15:03:22 bloated? 15:03:37 emacs = OS on interpreter on shell on OS 15:03:40 = bloat 15:03:46 emacs stands for eighty megs and constantly swapping 15:03:47 you're saying its bad for an editor to be extensible? 15:03:50 emacs is bigger than 100k am i right? 15:03:54 emacs is fucking stupid 15:03:58 wtf 15:04:00 you want 100k use pico 15:04:03 a forth editor would be extensible 15:04:03 nobody needs a fucking tetris game in their freeking editor 15:04:06 pico sucks 15:04:16 nobody uses pico 15:04:21 slava i dont see ANY reson why ANY editor should be greater than 20k in size 15:04:37 I440r, if you include syntax highlighting for many languages the keyword lists are greater than 20k easily 15:04:48 > du -s /usr/local/share/jedit/4.2/modes/ 15:04:48 1912 /usr/local/share/jedit/4.2/modes/ 15:04:51 slava i consisder that to be data not code 15:04:55 ok 15:04:59 emacs hurts my wrists, and is a pain o reconfigure, and takes forever to load up on a slow computer the way I use it 15:05:15 then write this magic 20kb editor 15:05:22 i use vi 15:05:35 the keystrokes are (literally) optimized for me 15:05:36 i'm not concerned about a 20kb limit 15:05:48 and thanks to vi we have abominations like termcap which lead tot he braindead terminfo library 15:06:01 how big is vi anyways 15:06:07 just the executable 15:06:10 * Raystm2 wonders what arke was talking about re: /ctcp ? 15:06:19 its a great idea but a fucked up half assed implementation 15:06:36 hahaahahahahaa 15:06:42 I'm getting CTCP reply spammed here XD 15:06:45 slava what would happen if i went beyond the 64'th char ? 15:07:03 I440r, i could code some action to happen 15:07:03 I440r: in a traditional one, it would either not let you, or wrap around 15:07:14 arke i know 15:07:23 * Raystm2 Must read the manual -- still confused :) 15:07:28 --- quit: futhin ("gtg") 15:07:33 bsd vi is 285 kb 15:07:46 ugh 15:07:50 then VI is bloatware too 15:08:03 Hrm, I'll check how large vi is on my Minix box 15:08:20 joe isnt much better there either 15:08:24 wtf 15:08:27 who cares if its 200kb 15:08:33 bsd vi launches instantly 15:08:36 you never wait for it 15:08:36 etc 15:08:44 slava: But we like small and cute things. :( 15:08:46 why should they spend hours bumming out a few bytes here and there? 15:09:02 here here! 15:09:12 slava: Reality or sanity has nothing to do with this. 15:09:15 slava - yea who cares if your editor is 200k and your other thing is 800k and you have to have 40 gigs of memory just to run your operating system with no bells or whistles... 15:09:15 Raystm2: Hi 15:09:29 I440r, do you launch so many instances of your editor that it uses 40gb 15:09:45 and every bell/whistle takes up gigs of drive saace and humongous ammounts of memory 15:09:53 afterall it loads instantly! 15:09:54 75kB 15:09:55 Hey Robert Hope your well :) 15:09:57 slava its all BLOAT 15:10:06 That's pretty large, still. 15:10:07 i hate the software industry 15:10:11 I'm gonna process the data 15:10:17 Raystm2: Yeah, I won't complain 15:10:22 and publish the results 15:10:29 because of them i have to have a 3 ghz processor and 200 gigs of storage and 2 megs of ram 15:10:34 just to play tetris in my editor! 15:10:45 2 MB of RAM? 15:10:48 That's A LOT. 15:10:50 ;) 15:10:53 :) 15:10:58 I440r, then use a 486 with dos 2.0 15:11:13 the ONE thing bill gates said that i absilutely agree with is "640k aughta be enough for anyone" 15:11:25 lol 15:11:27 --- join: rob_ert (~robert@c-bf5a71d5.17-1-64736c10.cust.bredbandsbolaget.se) joined #forth 15:11:28 hehe 15:11:29 :) 15:11:32 Hello from Minix. ;) 15:11:43 On a 386, using the BIOS HD drivers. SLOW! 15:11:47 heh 15:11:48 But it works. 15:11:48 Hola from Texas :) 15:11:55 2MB of RAM, upgraded to 6MB. 15:11:58 lol 15:12:01 Ray: :) 15:12:05 no bloatware 15:12:08 80+210 MB of HD 15:12:26 does it have an ANSI C compiler? 15:12:34 Minix requires 30MB of HD space to nistall the entire syste, with sources, and with space left to recompile. 15:12:35 or just K&R 15:12:44 I think ANSI 15:12:50 Hello from Texas as well. :) 15:12:57 rob_ert, try factor ;) 15:13:00 rob_ert, it will be very slow 15:13:08 Hello from the North. 15:13:17 Hyrax thats right :) i forgot your here too :) 15:13:18 slava: Heh, if it compiles ;) 15:13:32 slava: Any special requirements? 15:14:06 you'd have to remove #define FFI from factor.h so that it doesn't try using dlopen() 15:14:17 and yeah i doubt it will compile ;) 15:14:40 rob_ert: so, how big is teh vi? 15:14:46 Stupid factor! 15:14:53 rob_ert, does it haev bsd sockets? 15:14:55 arke: I tlod you! 75kB 15:14:57 or something resembling it 15:15:19 slava: Don't know exactly. If youi want the select() syscall, there's a kernel patch to imlpement it ;) 15:15:27 rob_ert, do you have that patch? 15:15:36 factor definately wont work without select 15:15:39 slava: Nope, that's for lamers. 15:15:40 unless you want no i/o at all 15:15:53 heh 15:15:53 slava: Real men use morse code and pigeons for communication 15:15:57 --- quit: rob_ert (Client Quit) 15:16:11 i'd still need select() to read /dev/pigeon 15:16:25 Tsss... 15:16:35 Factor more, and it will work. 15:16:46 If I wanna blit back and forth between two pieces of text on a srcreen? does anybody know how to do in cf ? 15:16:47 ie, write a new set of i/o primitives not using select() 15:16:57 nah 15:17:10 ack slava 15:17:52 ok, I've got 937 lines of CTCP replies to pour through :D 15:18:23 * Raystm2 still wishes he understood arke :) 15:18:33 oh arke 15:18:38 oh arrrrkeeeeeee 15:18:41 Raystm2: maybe you can keep a buffer in the dictionary, and swap between those 15:18:43 slava: ? 15:18:44 * Raystm2 googleing ctcp :) 15:18:49 arrrrrrrrrrrrrrrrkeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 15:19:23 Raystm2: I just did a CTCP version on you 15:21:15 Hyrax : oh only I got that line above your rastm2: post 15:22:50 someone finance me for a million dollars so i can make factorOS 15:22:56 it wouldn't need memory protection 15:24:24 give me a hundred bucks and I build a website called factorUS and youll be able to build your own anywhere on anything :) 15:25:51 --- join: Baughn (~svein@cloud.brage.info) joined #forth 15:25:56 hi 15:27:42 your own anywhere on anything? 15:27:52 right... o_0 15:28:00 hi qFox 15:28:04 hey slava 15:28:09 HO QFOX OMGOMGOMG:LP::P:::AASDFJLK: 15:28:16 si, if you know how the details are endless but not surmountable :) 15:28:18 arkez0r! 15:28:29 unsurmountable sorry 15:28:31 b1tch3z 15:29:07 eh, what are you doing with ctcp replies? :s 15:29:16 granted I'll have buget overruns in the second day but ... 15:31:01 but that's like US isn't it ? 15:32:18 brb, going to the store 15:32:25 get me one 15:36:04 --- join: mur (~mur@kyberias.uiah.fi) joined #forth 15:36:15 --- quit: qFox (Read error: 232 (Connection reset by peer)) 15:36:27 hey mur ! :) 15:36:37 helleleooo 15:36:48 wait, you are you #asm too :) 15:36:50 yo yo yo yo yo yo yo yo yo 15:36:53 are you? 15:38:12 are who? 15:39:24 sigh 15:39:29 who 15:40:13 owl 15:41:07 I went there for a brief sec after you mentioned it but no I've never been in #asm before that sec :) 15:41:13 * mur slaps forehead 15:41:24 damn, im reading teens questions. 15:41:28 so stupid!!!!!!!! 15:41:31 gragagragargrgrrrrrrrrrr 15:41:40 what? where? 15:42:26 * Raystm2 totaly yet easily confused now :( 15:42:52 haha 15:42:54 websites 15:42:59 they ask about questions 15:43:06 SO STUPID 15:43:09 argh 15:43:31 okay mur having abarration. must be patient :) 15:44:03 abarration? 15:44:19 your having it you tell me :) 15:44:26 these are in finnish 15:44:31 but if you can read i will tell you :P 15:45:01 spare me I only wish I had another language :) 15:46:00 --- quit: mur_ (Read error: 110 (Connection timed out)) 15:46:27 was I the only one confused by that ? :) 15:46:30 haha 15:46:32 there is bug 15:46:55 squash it ! qwik ! :) 15:47:07 some person asks about her tight organ, and there is out of context phrase telling about zoo and necrophilia in between it :) 15:47:21 wife calling on phone must leave brb 15:47:24 --- quit: Raystm2 ("User pushed the X - because it's Xtra, baby") 15:51:48 --- quit: Topaz (Remote closed the connection) 15:54:25 --- quit: ez4 (Remote closed the connection) 16:08:48 --- join: wincent (~wincent@void-109.pmnet.uni-oldenburg.de) joined #forth 16:08:48 --- part: wincent left #forth 16:24:28 arghghgghg 16:24:32 my unit test just _wont pass_ 16:24:34 argh 16:24:39 anybody care to help? 16:27:44 --- join: colorg (r@core-dc-2-103.dynamic-dialup.coretel.net) joined #forth 16:27:53 q. 16:30:15 14:54 * Hyrax slaps futhin with a smelly sea bass 16:31:04 it seems 386 has jmp reg-indirect-absolute but not direct. ? 16:32:21 no 16:32:27 there's both jmp %eax and jmp (%eax) 16:33:28 Does gas know that? 16:33:52 yes 16:40:30 I can't get jmp register-direct-absolute to work, but my test proggy does seem to do jmp register-INdirect-absolute 16:41:03 Could it be that jmp %reg is relative ? 16:41:16 no its absolute 16:41:25 I can't make it happen 16:42:02 have an assembler handy? what does jmp %eax assemble to? 16:42:35 FFE0 ? 16:44:25 yes 16:44:30 ff e0 16:44:35 ff = opcode 16:44:40 e0 = modr/m 11 100 000 16:45:03 OK and thanks 16:46:15 movl targ,%eax 16:46:15 jmp %eax 16:46:15 .align 16 16:46:15 targ: 16:46:19 segfault 16:48:38 BBBBUT this works... 16:48:39 movl targ,%eax 16:48:40 jmp %eax 16:48:40 .align 16 16:48:40 targ: 16:48:40 .long bla,3,4,5 16:48:40 bla: 16:49:11 ... 16:49:14 gas is full of it 16:49:20 ask in ##linux 16:49:25 FFE0 16:49:26 or #asm or #assembler 16:49:32 really? 16:49:34 FFE0? 16:49:40 you gotta be doing something wrong then 16:49:55 because the isforth assembler is using that same exact opcode (I'm coding it), and it works 16:50:21 Yup. FFEO 16:51:04 direct. jump to abs addy IN reg ? 16:53:35 arke, you're coding the isforth assembler? 16:54:06 he says he is :P 16:55:37 Do you really code assemblers by manually writing *every single opcode*? 16:55:49 That's... painful. 16:57:31 Baughn: that's why they call it work 16:57:57 Still, it's work that should only need to be done once. 16:59:11 how else would you do it? 16:59:29 thanks for the feedback 16:59:32 --- quit: colorg ("ircII EPIC4pre2 cLIeNUX. Can you say that?") 17:00:20 I'd write a description of the various opcodes in some easily-parsed language - s-expressions, for example - and have the assembler use that. 17:02:05 well you see that's what forth is all about 17:02:23 How so? 17:02:47 metaprogramming 17:02:58 Aka. macros. 17:03:40 Sure, but I was thinking more along the lines of something algol-style assemblers could also use. 17:03:56 algol-style assemblers? what the hell is that? 17:04:33 C, C++, Java, Python, etc.... 17:04:40 s/assemblers/languages/ 17:05:00 i'm not sure what you're getting at here -- an assembler than python could use? 17:05:17 I see your point. 17:05:22 Let me try again... 17:07:32 What I was imagining was a language (translation) definition that could be easily used by the descendants of Algol/Fortran - that is to say, a list of productions that doesn't need the assembler's implementation language to understand macros. Or something. 17:08:08 a metalanguage for specifying an assembler? 17:08:08 Am I making any sense at all? 17:08:40 yes 17:08:49 "And how much can this car hold?" (A Canadian-style answer: http://www.mercedes-benz.ca/mbccustom/smart/getsmart/images/cargo2.jpg ) 17:09:38 No, a data format for specifying a symbol-opcode mapping in some implementation-independent manner so you don't need to repeat yourself with every new assembler. 17:10:15 i'll probably develop this at some stage, once i start having multiple backends in my compiler 17:10:24 Ideally, ISA designers such as Intel et. al. would write one, and assembler maintainers could easily plug it into their backend. 17:10:59 Yes, most assemblers seem to have something like that, but there's no overlap between different assemblers. 17:13:14 --- join: saon (Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 17:18:42 --- part: jdrake left #forth 17:25:59 --- join: wincent (~wincent@void-109.pmnet.uni-oldenburg.de) joined #forth 17:25:59 --- part: wincent left #forth 17:26:29 --- join: wincent (~wincent@void-109.pmnet.uni-oldenburg.de) joined #forth 17:40:13 --- join: mur_ (~mur@mgw2.uiah.fi) joined #forth 17:41:07 --- quit: saon ("Leaving") 17:41:28 15:08 * Raystm2 Must read the manual -- still confused :) 17:41:37 sorry 17:41:42 --- quit: wincent (Remote closed the connection) 17:41:47 oh Sonarman 17:41:48 ah, i did the same thing above too 17:41:51 sorry about that too 17:42:03 hi slava 17:42:40 --- join: wincent (~wincent@void-109.pmnet.uni-oldenburg.de) joined #forth 17:47:12 i need to go -- back in an hour 17:50:06 --- quit: mur (Read error: 110 (Connection timed out)) 17:50:17 --- nick: mur_ -> mur 17:50:19 Not to beat a dead horse, but c'mon -- get off your lazy ass and rebind the VIBE keys to use an Emacs-like set. Change the default mode from command to insert mode, and you're done. It takes not 15 minutes. It's not hard. 17:50:23 * kc5tja sighs 17:50:50 hehe 17:50:55 Sorry if I seem cranky. I just got up. 17:51:10 But it pisses me off to see people complain, complain, complain, when the solution is right before their eyes. 17:53:57 hi kc5tja 17:57:10 re 17:57:52 --- join: colorg (r@core-dc-5-39.dynamic-dialup.coretel.net) joined #forth 18:01:43 * colorg wades into as.info 18:03:18 * means absolute supposedly 18:07:58 In a way, I rather like the TMS9900 style of assembly annotations. 18:08:02 R0 -- the contents of the register 18:08:09 *R0 -- the contents of memory at the register 18:08:16 *R0+ -- as *R0, post increment 18:08:31 *R0+nn -- Indirect with offset 18:08:33 etc 18:08:35 factor.sf.net/sdl3.png 18:08:42 no need for this ( and ) crap. :) 18:08:49 x86 doesn't have pre-post-incr except vis-a-vis SP 18:08:58 colorg: Irrelavent 18:09:38 * = (), big deal 18:09:57 really it should be @ ;o) 18:10:02 a = 1.4, b = -2.3, c = 2.4, d = -2.1 18:10:03 oopps 18:10:10 http://paste.lisp.org/display/3036 18:10:19 that is the code that generated the sdl3.png image above. 18:10:38 is it really above? 18:10:44 I don't see it. =p 18:10:46 colorg: Oops. Whatever. :) 18:10:55 hefner, look close. 18:10:59 colorg: That *is* relavent. :) 18:11:50 Anyway, I'm yapping about it in here because Forths use absolute more than anything else I'm aware of 18:25:49 --- join: jim__ (~jim@cpe-24-143-141-183.cable.alamedanet.net) joined #forth 18:27:08 is there a standard way to do signed and unsigned multiplies of 32b x 32b -> 64b? are they actually the same operation, for 2s complement? 18:27:44 if not, what's the basic difference? no sign extension on the result for unsigned? 18:30:34 its not the same operation 18:30:52 consider if you had 2-bit words :) and you did 01 * 11 = 0011 unsigned, 1111 signed 18:31:22 so the difference is sign extension? 18:31:30 i'm trying to think if there's more 18:32:15 yeah, meetoo... I'm thinking about the multiply instructions in the arm, to add them to my simulator 18:32:15 ok, consider our 2-bit machine 18:32:24 11 is -1 right? 18:32:30 brb, but keep going :) 18:32:31 sure 18:32:33 ok 18:32:39 then 11 * 11 = 1111 signed? 18:32:50 but clearly 11 * 11 = 1001 unsigned 18:33:03 so that's an overflow? 18:33:12 no 18:33:18 no im wrong 18:33:22 11 * 11 = 1 signed of course 18:33:24 that's what i meant to say 18:33:29 ohh 18:33:30 but 1001 unsigned 18:33:33 right 18:34:00 3 * 3 is 9, but -1 * -1 is 1 18:34:04 yes 18:35:35 You need to manually handle signs when doing multiprecision multiplication and division. 18:36:25 ok, if the result is unsigned, there's no overflow if you multiply 11 * 11 to get 1001; the leftmost 1 is not the sign bit which there is none in an unsigned resutl 18:37:52 hmm, maybe I could look at the signs of the operands, and save whether they're different, negate any negative ones, do an unsigned multiply and apply the saved result sign 18:38:00 for a signed multiply 18:38:11 --- join: TheBlueWizard (TheBlueWiz@modem-076.nyc-tc03a.FCC.NET) joined #forth 18:38:11 --- mode: ChanServ set +o TheBlueWizard 18:38:21 * jim__ tries to convince himself there would never be an overflow condition 18:38:54 jim__, this might not be true 18:39:13 I don't see jmp register-direct-absolute in INTEL386.TXT 18:39:22 jim__, on a 32-bit 2's complement, most neg number is -2^32 right? 18:39:28 colorg: Absolute is all you have. 18:39:38 There is no jump register relative. 18:39:42 yeah, I think so 18:39:58 jim__, well, multiply most-negative-fixnum by itself, to get +2^64 18:40:05 hiya colorg 18:40:10 THere's also no jmp register-direct which is what I though I had 18:40:13 re TheBlueWizard 18:40:18 hiya kc5tja 18:40:19 TheBlueWizard: hi 18:40:31 slava: so there you have an overflow? 18:40:34 colorg: Yes there is. I use it in FTS/Forth. 18:40:35 jim__, yup 18:40:48 but wait 18:40:54 there's that sign bit 18:41:04 sign bit? 18:41:12 2's complement has no sign bit jim 18:41:13 guess: most negative is -2^31 18:41:14 --- mode: arke set +b *!*f2@bespin.org 18:41:14 --- kick: arke was kicked by arke (arke) 18:41:22 jim__, oh damn youre right 18:41:25 kc5tja: in gas? 18:41:35 jim__, sorry for misleading you 18:41:40 np :) 18:41:46 so let's retest 18:41:51 colorg: jmp %eax doesn't work? or *%eax? 18:41:56 -2^31 * -2^31 won't overflow 18:42:02 colorg: However, I don't use gas. I compile opcodes to memory directly. 18:42:05 nope. And I tried code. 18:42:17 kc5tja: FF20 for A ? 18:42:20 ok, so: signed overflow cannot happen? 18:42:32 * kc5tja checks against NASM 18:42:34 jim__, seems not 18:42:39 jim__, consider the extreme cases 18:42:51 -2^31 * -2^31 = 2^62 18:43:08 colorg: FF E0. 18:43:11 2^31-1 * 2^31^1 <= 2^62 18:43:16 right, so there's even an extra bit slop space 18:43:31 nobody realized that arke just kickbanned himself? 18:43:40 lol 18:43:43 I440r: It's par for the course. 18:43:43 lol someone remove that! 18:43:45 --- mode: slava set -b *!*f2@bespin.org 18:43:48 lol 18:44:32 kc5tja: that's indirect. 18:44:33 I440_: you coulda too you opper stopper :) 18:44:37 colorg: Nope. 18:44:43 colorg: NASM disagrees with you. 18:44:46 oh. so i am lol 18:44:47 duh 18:44:50 I440r, I440r, I440r! 18:44:54 i usually arent opped 18:45:06 all one of you? :) 18:45:36 MSDOS's DEBUG disassembles FF E0 as JMP AX...knowing the opcodes would be reinterpreted in 32-bit context, it would be JMP EAX 18:45:43 colorg: Like I said yesterday (this morning? I can't remember. I hate graveyards!), sometimes (reg) doesn't always mean (reg) depending on the opcode. 18:45:58 so FF E0 is it 18:46:01 mov from,%eax 18:46:01 .byte 0xff,0xe0 18:46:01 from: 18:46:01 .long bla,3,3,3,3,3,3 18:46:01 bla: 18:46:11 --- join: ez4 (~ez4@pcp01518726pcs.reding01.pa.comcast.net) joined #forth 18:46:35 That works. It FETCHES @bla from from: 18:47:54 So gas et al are saying direct and it's not. 18:48:04 --- join: arke (f2@bespin.org) joined #forth 18:48:07 :D 18:48:11 --- mode: slava set +o arke 18:48:13 Which would only bug a Forth guy ;o) 18:48:13 ok, op me 18:48:23 so i can KB myself again when i get back from dinner 18:48:28 arke: op yourself, you banned yourself :o) 18:49:16 INTEL386.TXT does not MENTION a register-direct. 18:51:02 Yummy, yummy, yummy, I've got assembly in my tummy! Working with BASIC just makes me sick! 18:51:30 OK, you can forward me your recording contracts now. Please form a single line. Thanks. 18:52:10 colorg: I had confirmed the gas syntax too: jmp *%eax is correct. 18:53:16 colorg: out of curiosity, why are you using gas? I find NASM much better and much more usable 18:54:24 --- quit: mur (Remote closed the connection) 18:54:29 can nasm produce .o files that can be linked with programs compiled with gcc? 18:55:19 if so... there's not much of a usability difference when you factor out the actual language used 18:55:38 --- join: mur (~mur@kyberias.uiah.fi) joined #forth 18:55:55 jim__: NASM offers several output formats: raw, ELF, a.out, ...., and yes, it should support such linkage (though I never tried that :) 18:55:58 jim__: Yes. 18:56:05 nasm -f elf -o foo.o foo.s 18:56:12 TheBlueWizard: NASM was more in flux 5 years ago. Now I use my asm-in-Bash, whish is even less prone to bitrot 18:56:50 is this "asm-in-Bash" that famed shasm which got Slashdotted? 18:56:59 The word for an ELF header in osimplay is ELF 18:57:11 TheBlueWizard: the same, now osimplay 18:57:21 ah ok :) 18:57:22 I'm trying to port eforth to it 18:57:34 I see 18:57:46 shasm sounds too evil. "Yeah, and then that's when I really gave him the SHASM!!" 18:57:47 and I seem to have indirections I didn't know about :o) 18:58:08 I AM giving them the shasm :o) 18:58:42 heh....re: NAMS, yeah, it was somewhat in flux 5 years ago, plus its license was a bit oddballish back then. Now the license has changed to GPL...better! 18:59:17 * jim__ has a spazm 18:59:22 osimplay, Scarlet O'Hara. 18:59:23 spasm? 18:59:48 * kc5tja creates a processor architecture called "org". 19:00:01 It will take me 8 seconds to update jump h (help) 19:00:24 kc5tja: the slower it runs, the better? :() 19:00:41 jim__: Hehe -- real programmers do it in less space. 19:01:18 Done. 19:01:58 osimplay is 100 times slower than gas. What your write is another matter. 19:02:43 And I think it's easier than C, and could be ported to most commodity 1-stackers. 19:03:33 Probably even zero-stackers. 19:04:44 The real x86 oddities like rep:movs macro out anyway 19:04:47 HI HI HI HI HI HI HI :) 19:04:52 OMG L33T 19:04:56 OMG I AM SPAMMIONG ARENT I 19:05:18 < bent> why yes you are, d00dz0r 19:05:20 no wonder you kickbanned yourself :) 19:05:21 sw33t 19:05:26 OF CORUSE 19:05:44 Alright. I'm going to call your parents up, and find out what they put in your dinner. 19:05:45 you testing an analbot? 19:05:48 * kc5tja needs some. 19:05:58 kc5tja: hehe. 19:08:08 :;jump h 19:08:08 Intel JMP 19:08:08 Partial support here. Hand-roll your far jumps. 19:08:08 Unconditional branch. Various addressing modes. 19:08:08 x86 has register INdirect absolute, but not direct or relative. 19:08:08 See jumpshort also. 19:08:12 ciao. 19:08:18 --- quit: colorg ("ircII EPIC4pre2 cLIeNUX. Can you say that?") 19:08:29 --- join: cjfu356 (~chris@wbar8.lax1-4-11-100-111.dsl-verizon.net) joined #forth 19:08:32 :) 19:08:43 arke, know make? 19:08:45 cjfu356: do I know you? 19:08:50 uum 19:08:51 arke, how can i write a rule that sets some vars and calls another rule? 19:08:56 arke: i hate your name 19:09:02 err 19:09:03 OMG he's insane 19:09:06 cjfu356: i hate your name 19:09:08 wtf 19:09:13 --- mode: arke set +b *!*chris@*.lax1-4-11-100-111.dsl-verizon.net 19:09:13 --- kick: cjfu356 was kicked by arke (arke) 19:09:17 muahaha 19:09:19 by the way 19:09:20 that was me 19:09:22 so dont worry 19:09:32 --- mode: arke set -b *!*chris@*.lax1-4-11-100-111.dsl-verizon.net 19:09:34 --- mode: arke set -o arke 19:09:37 I told you -- that's way mroe than a sugar rush. :) 19:09:47 no-one can help me with my make question? :( 19:09:55 slava: whats wrong d00dz0r?? 19:10:01 how can i write a rule that sets some vars and calls another rule? 19:10:13 just $(MAKE) target VAR=FOO or a better way? 19:10:28 err. 19:10:34 i dunno 19:10:40 theres proibbly some pretty way 19:10:43 but an ugly hack would be 19:10:49 rule1: rule1_blah rule2 19:10:53 rule1_blah: 19:10:58 FOO=BAR 19:11:02 rule2: .... 19:11:31 oh shitzor 19:11:46 don't guarantee that it works 19:11:47 but you can try 19:11:48 :) 19:12:14 doesn't work 19:12:19 aww dammn 19:12:23 assignments are only visible inside that rule1_blah 19:12:23 :/ 19:12:25 * arke cries 19:12:28 oh 19:12:30 * arke cries 19:12:30 * arke cries 19:12:35 someone op me please 19:13:05 --- mode: slava set +o arke 19:13:29 good 19:13:33 --- join: cjfu356 (~chris@wbar8.lax1-4-11-100-111.dsl-verizon.net) joined #forth 19:13:37 --- mode: arke set +b *!*chris@*.lax1-4-11-100-111.dsl-verizon.net 19:13:38 --- kick: cjfu356 was kicked by arke (arke) 19:13:50 --- mode: arke set -b *!*chris@*.lax1-4-11-100-111.dsl-verizon.net 19:13:57 thank you, i needed that. 19:14:02 --- join: cjfu356 (~chris@wbar8.lax1-4-11-100-111.dsl-verizon.net) joined #forth 19:14:05 :) 19:14:05 OMG he back 19:14:15 cjfu356, you've been k/b'd twice havent you learend your lesson 19:14:15 arke: asshole. 19:14:27 slava: excuse me? 19:14:30 slava: om 19:14:35 * cjfu356 hits slava with an iron butterflu 19:14:36 * slava hits cjfu356 with an iron butterfly 19:14:38 LOl 19:14:41 butterfly* 19:14:42 arghghgh 19:14:46 LOLOLOLOL 19:14:48 arke, is alonzo at your house? 19:14:55 arke, under your computer table sucking you off 19:15:06 slava: yes of course. No. 19:15:22 hehe 19:15:24 i dont blow guys 19:15:29 ..anymore. 19:15:32 lol 19:15:33 --- mode: arke set +o cjfu356 19:15:38 oh shit dont give him ops 19:15:43 hehe. 19:15:47 slava: you are the first one to go 19:15:49 --- mode: cjfu356 set -o slava 19:15:59 stfu i still have voice! 19:16:06 oh, really? 19:16:30 --- mode: cjfu356 set +v Baughn 19:16:36 --- part: hefner left #forth 19:16:37 --- mode: cjfu356 set -v Baughn 19:16:41 i decided not to do it. 19:17:03 cjfu356: good boy. 19:17:12 cjfu356: now quit and crawl under my desk. 19:17:16 cjfu356: yes master 19:17:20 arke: good boy 19:17:27 arke: i love it when you say that to me <3 19:17:31 cjfu356: :) 19:17:48 --- quit: cjfu356 ("By the way, I am arke's hand. No, seriously.") 19:21:53 I just realized that I have kc5tja's number stored in my cell phone. 19:21:57 I've never called him. 19:22:54 later, 0xf00d run 19:26:22 ok guys 19:26:27 I'm not gone _quite_ yet 19:29:02 \ Creates a mod/rm byte from args 19:29:02 \ TODO 19:29:02 : pack-bits ( dest num val - dest' ) 19:29:02 over and >r \ mask and put away val 19:29:02 << r> or \ shift dest and store val 19:29:05 ; 19:29:07 : modr/m ( r/m r/o mod - b ) 19:29:09 >r 0 2 r> pack-bits 19:29:12 swap 3 swap pack-bits 19:29:14 swap 3 pack-bits 19:29:17 ; 19:29:19 forgive the spam, but I just cfan't get my unit test to pass whatever I do 19:29:42 i need help. 19:31:35 ooh 19:31:41 i think i might knbow why :) 19:36:07 i would have 3 variables. mod rm and rg that comprise the mod/rm byte 19:36:27 and two more called scale and base 19:36:36 no need for index because that will be on the stack 19:37:09 and please dont use word names like pack-bits lol 19:37:16 just calle it pack or something 19:39:15 and instead of >r 0 2 r> do 0 2 rot 19:39:58 and instead of swap 3 swap do 3 rot lol 19:40:51 myself i would just do 3 << or 3 << or and pass them in the right order 19:41:58 --- quit: ez4 (Remote closed the connection) 19:49:25 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 19:57:41 --- join: mur_ (~mur@mgw2.uiah.fi) joined #forth 20:08:03 --- quit: mur (Read error: 110 (Connection timed out)) 20:13:55 What's wrong with "pack-bits"? 20:14:04 * slava packs madgarden's bits 20:14:23 i dislike sentences as word names 20:14:32 8-O 20:14:51 don't you run out of signle-word names LOL 20:14:59 never have 20:15:06 thers an infinite number of them 20:15:13 you use punctuation and symbols tho 20:15:15 like !> 20:15:17 and @/% and shit 20:15:20 and if you run out.. INVENT one! 20:15:52 PACK P@CK PAK PAC PHACK PAHK PAKK PACKK PACC 20:15:58 Yes, I see the solution now. 20:17:25 heh 20:17:25 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 20:17:25 --- mode: ChanServ set +o Herkamire 20:17:29 hi Herkamire 20:17:34 Herkamire, remember the dejung attractors? 20:17:48 hi Herkamire 20:18:40 hiya Herkamire 20:34:00 --- quit: mur_ (Remote closed the connection) 20:34:47 --- join: mur (~mur@kyberias.uiah.fi) joined #forth 20:35:14 hi all :) 20:35:56 Herkamire, factor.sf.net/sdl3.png <-- dejung attractor :) 20:35:58 slava: yeah? 20:37:29 slava: nice :) looks like the one at the link I gave... only the other way up 20:53:16 heh 20:53:34 did you implement this yet? 20:53:46 here is my code, you can probably do better ;) http://paste.lisp.org/display/3036 20:58:35 --- quit: tathi ("'night all") 21:00:56 --- part: TheBlueWizard left #forth 21:06:58 --- quit: tgunr ("Leaving") 21:06:59 slava: nice. but it seems awefully silly to stick b and d on the stack, then immediately remove them again 21:07:20 yeah i couldn't be bothered doing it properly :) 21:07:30 it would be simpler if next-x and next-y fetched from the variables directly 21:07:54 true 21:08:01 I went another step in the other direction, and didn't pass x or y on the stack either :) 21:08:04 : att-next-x y @ aa s* sin x @ bb s* cos - ; 21:08:07 : att-next-y x @ cc s* sin y @ dd s* cos - ; 21:08:09 : att-next att-next-x att-next-y y ! x ! ; 21:08:23 nice 21:08:25 what is s* 21:08:39 btw... my code mysteriously doesn't work. I don't know if it's an error of mine, or simply that my silly fixed point math is not accurate enough. 21:08:54 (or that my sin function doesn't work right.) 21:09:07 you have unit tests for sin/cos? 21:09:55 I wrote some tests 21:11:21 oh crap... maybe I'm not sign-extending them 21:16:00 that was stupid 21:17:10 no wait. it's fine 21:17:33 * slava pats his bloated but well-tested complex number trig functions. ;) 21:18:30 heh 21:18:37 I mostly wrote my fixed point stuff to amuse myself 21:18:53 try and figure out ppc altivec! 21:19:02 I will 21:19:21 I looked into it a bet a few years ago. 21:19:24 seemed simple enough 21:19:30 --- join: mur_ (~mur@mgw2.uiah.fi) joined #forth 21:20:00 mostly the same sorts of operations as you have for fp and int 21:20:10 with some fun extra ones for moving bits around iirc 21:30:03 --- quit: mur (Read error: 110 (Connection timed out)) 21:30:25 --- quit: madwork (Read error: 232 (Connection reset by peer)) 21:46:11 Back 22:35:01 --- join: Sonarman_ (~matt@adsl-66-124-254-53.dsl.snfc21.pacbell.net) joined #forth 22:44:54 --- join: hefner (~hefner@pool-141-157-13-173.balt.east.verizon.net) joined #forth 22:45:18 --- join: Sonarman1 (~matt@ppp-66-124-255-13.dsl.snfc21.pacbell.net) joined #forth 22:48:46 --- quit: Sonarman (Nick collision from services.) 22:48:48 --- nick: Sonarman1 -> Sonarman 22:52:18 --- quit: Sonarman_ (Read error: 110 (Connection timed out)) 23:07:12 --- quit: Sonarman (Read error: 110 (Connection timed out)) 23:10:56 --- join: Sonarman (~matt@adsl-64-169-94-49.dsl.snfc21.pacbell.net) joined #forth 23:11:59 hellllo nurse! :) 23:21:28 I've got a question for all of you. 23:21:29 I'm trying to figure out a forth word modr/m which returns an x86 modr/m byte based off of the three arguments, reg/mem, reg/opcode, mod 23:21:33 and whatever I do, my test wont pass :D 23:21:33 2 and 3 << 23:21:34 swap 7 and or 3 << 23:21:37 : modr/m ( r/m r/o mod - b ) 23:21:39 swap 7 and or ; 23:21:46 any thoughts? 23:24:08 your tests are wrong maybe 23:25:04 arke: didn't paste right here I think 23:25:35 i think it pasted right 23:25:38 and I know the test is right 23:26:08 arke: looks way different here. the : modr/m is the third line instead of first. 23:28:06 --- quit: Sonarman ("leaving") 23:28:23 : modr/m ( r/m r/o mod - b ) 23:28:28 2 and 3 << 23:28:32 swap 7 and or 3 << 23:28:35 swap 7 and or ; 23:32:26 --- quit: mur_ (Remote closed the connection) 23:33:05 --- join: mur (~mur@mgw2.uiah.fi) joined #forth 23:33:26 problem solved :) 23:35:27 Heheh :D 23:37:29 kc5tja to the rescue, once again. 23:45:24 No shit. 23:45:27 Speaking of rescue. 23:50:33 work again? :/ 23:50:37 * arke sigh 23:52:46 Yeah. 23:53:00 I put a rather scathing review of the previous shift's work performance in my passdown. 23:53:04 This is fucking rediculous. 23:54:34 yeah. 23:54:43 this is not the first incident either, right? 23:59:59 --- log: ended forth/04.10.09