00:00:00 --- log: started forth/04.09.04 00:03:50 --- quit: Sonarman ("'nn") 00:06:16 re 00:06:24 Sorry -- talking to the new roommate. 00:08:07 sup kc 00:08:09 hows life 00:10:11 It's life, Jim. But not as we know it. 00:40:24 lol whats that from 00:55:01 Saturday Night Live skit on Star Trek. 00:55:12 Anyway, I'm off to bed. 00:55:24 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 00:56:35 --- quit: warpzero (Remote closed the connection) 01:07:10 --- join: warpzero (~warpzero@dsl.103.mt.onewest.net) joined #forth 02:03:45 --- join: ASau (~root@217.16.31.100) joined #forth 02:03:53 Dobryjj den'! 02:06:29 Privet, ASau :) 02:13:33 God dag, Robert! 02:13:40 What's new? 02:19:22 Not too much, really 02:28:41 --- join: Topaz (~top@spc1-horn1-6-0-cust117.cosh.broadband.ntl.com) joined #forth 02:33:33 Hi 02:35:40 mjello 03:11:09 --- quit: fridge ("rock out with your cock out") 04:05:29 --- join: crc (crc@76-pool1.ras11.nynyc-t.alerondial.net) joined #forth 04:09:40 Dobry den, crc! 04:09:49 Anything new? 04:11:33 RetroForth 7.3 Beta #1 is out 04:11:43 Updating the documentation right now :-) 04:12:08 I've been playing with the new system call interface too 04:12:42 I changed the conditionals... 04:12:50 Instead of = < > <> if 04:12:58 I now have =if if <>if 04:13:05 (Like in herkforth) 04:13:39 And it has counted loops (repeat/until) 04:14:16 * crc is also working on support for 64-bit integers, but that's still very buggy 04:32:48 Sorry, I've been out. 04:33:12 I can share double width arithmetics. 04:34:08 I've worked out addition and subtraction 04:34:22 The problem is figuring out how to add them cleanly to RetroForth 04:34:24 Really, that's not good if you excluded old conditionals. 04:34:31 Why? 04:34:46 Too many code relies on them. 04:35:00 'sed s/= if/=if/' 04:35:15 * crc will provide a conversion script 04:35:26 When you exclude them, you have to rewrite old code from conjunctions and disjunctions to branching. 04:35:36 ??? 04:35:59 "dup 0= swap X = or" ? 04:36:21 I've never used code like that 04:36:34 And it's trivial to add it back if you need it 04:36:51 Well, I know that. 04:37:23 But this makes to waste time and requires additional efforts. 04:40:37 It only requires more effort if you need to use code like your example 04:41:49 This is more compact, cleaner to read, and faster :-) 04:42:07 This case is more usual, than yours. 04:42:17 Early optimization is not good. 04:42:23 Why? 04:42:39 This is more compact only in the simplest cases. 04:42:54 How so? 04:43:40 When you have to write disjunction, you have to negate two prior results and write two branching constructions. 04:43:49 ?? 04:43:54 --- quit: tgunr (Read error: 54 (Connection reset by peer)) 04:44:00 See: 04:44:24 cond1 cond2 or if do-this then 04:44:27 against: 04:44:48 cond1 not if cond2 not if do-this then then 04:45:14 Even when you have shorter "if" it is no simpler. 04:45:37 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 04:46:43 What you have to do in case of exclusive disjuction makes headache. 04:47:35 The simplest solution is low level hack. 04:49:01 It is using substraction. Like in ancient forthes. 04:52:09 What should "IF" check for then? 04:53:28 The old "IF" was: 04:53:31 test eax, eax 04:53:34 lodsd 04:53:36 jz ???? 04:53:58 --- quit: Topaz (Remote closed the connection) 04:55:56 (EAX=TOS, ESI=pointer to rest of stack. [ESI] = stack item below TOS) 04:59:27 In your example (cond1 cond2 or if do-this then) aren't you checking that cond1 and cond2 resolve to the same value? 04:59:53 So couldn't you do this?: cond1 cond2 =if do-this then 04:59:58 * crc is confused here 05:03:20 In the old "IF" (from quick tests), any value other than "0" was considered TRUE 05:03:52 I still fail to see how, for normal use, the new conditionals are inferior to the old 05:40:05 "OR" tests both values to be non-zero. 05:40:32 "=" tests both values to be equal. Eather zero or non-zero. 05:40:38 Either... 05:46:51 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 05:48:33 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 05:48:58 So "OR" sets the "z" flag? 05:49:03 * crc was AFK 05:52:30 On x86, yes. 05:53:34 I see 05:53:51 But the old IF would do 'test eax, eax' invalidating that anyway... 06:00:39 Crc, trying to optimize do not eliminate general cases. 06:01:35 When one want to optimize, he'll find how to do that. 06:01:55 It's not just an optomization 06:02:02 It's an attempt to simplify out things 06:02:27 Simplification is optimization too. 06:02:50 Perhaps 06:03:03 A particular case of optimization. 06:03:08 But I *never* use conditionals apart from IF 06:04:12 I and many mathematicians use logical functions as usual functions. 06:04:44 I'm not aiming Retro at mathematicians though 06:04:55 That's also vote for logical true to be 1 and never -1. 06:06:20 I've never read Gibbs in English. 06:06:35 Once he said that "math is language." 06:08:20 The old IF would allow anything *except 0* as TRUE 06:09:27 For complex math, RetroForth isn't a good choice. It only supports 32-bit integers 06:13:58 --- join: Topaz (~top@spc1-horn1-6-0-cust117.cosh.broadband.ntl.com) joined #forth 06:19:28 32-bit integers are enough for complex math. 06:20:08 Either doubling width is applicable. 06:20:39 Software floating point numbers are not unusual also. 06:21:43 You also don't have a lot of operators ( + - * / mod negate or xor and not << >> ) IIRC 06:31:59 --- join: FlamingRain (~Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 06:32:45 --- quit: ASau (Read error: 104 (Connection reset by peer)) 06:37:09 --- join: ASau (~root@217.16.31.100) joined #forth 06:49:50 --- quit: crc ("Time for bed... Goodnight!") 06:59:56 --- join: Herkamire (~jason@h000094d30ba2.ne.client2.attbi.com) joined #forth 06:59:57 --- mode: ChanServ set +o Herkamire 07:15:16 --- quit: ASau ("leaving") 07:48:41 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 07:51:21 --- quit: FlamingRain ("Leaving") 08:15:49 --- join: tathi (~josh@pcp02123722pcs.milfrd01.pa.comcast.net) joined #forth 08:19:59 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 08:20:00 --- mode: ChanServ set +o kc5tja 08:36:02 --- join: warpzero (~warpzero@dsl.103.mt.onewest.net) joined #forth 09:12:19 Getting ready for work. brb 09:12:24 See you 09:13:47 --- quit: qFox ("meh ircii's netsplit detection appearantly sux ^^") 09:21:48 --- quit: tathi ("leaving") 09:27:37 --- join: zruty (~chuck@64-121-15-14.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 09:34:54 back for now 09:38:01 Hello then 09:38:23 * Robert is reading an interesting book on computability and logics. 09:40:09 * kc5tja nods 10:08:12 * kc5tja is reading up on the Treadmill garbage collection algorithm. 10:12:40 * Herkamire is attemting to redesign his business website 10:16:34 web design is a funny business 10:17:17 essentially just art, although the best artists tend to make terrible web designers due to their completely inability to comprehend HTML/CSS 10:17:58 so they produce huge imagemaps, images for all the text in the site (annoyingly common), etc etc 10:19:11 Yep. 10:22:21 web design should be UI design, not just graphic design 10:24:39 yeah 10:24:43 except my mom. 10:24:48 she makes designs that work great on the web 10:25:41 but in many cases, the UIs are extremely simple 10:25:46 Man, I can't understand this Treadmill thing. 10:25:50 (most cases?) 10:26:14 I just don't see how keeping things in a circular loop would in any way improve the performance of garbage collection. 10:26:19 But I digress. I need to get to work now. 10:28:18 The sad thing is, UI design ideally is very spartan, but everywhere you look, there is some wanna-be beatnik trying to install custom shells on their computer, destabilizing the hell out of it as they install their fluffy-puff window decorations and what not. They want their websites to be just as "Visually Exciting!". 10:28:24 I give up. 10:28:26 Peace. 10:28:29 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 10:31:26 elegance in simplicity 10:32:05 i do like pretty pictures though 10:32:11 as long as they stay put ;) 10:32:21 my site is rather silly 10:32:28 http://www.ecs.soton.ac.uk/~jb1403/ 10:39:11 simple is actually good 10:39:23 ui design is "do the least thing that is recognizable and works" 10:39:31 the rest is polish 10:39:47 yeah, but eye candy is surprisingly influential 10:39:58 of course "works" has a big scope wrt accessability and L10N 10:48:16 Topaz: influential towards what? 11:00:57 well, people's first opinions 11:01:01 --- join: Sonarman (~matt@adsl-64-171-254-189.dsl.snfc21.pacbell.net) joined #forth 11:01:19 ie, a site which looks incredibly boring will often make people think the company is like that 11:07:44 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 11:09:17 well, for my business booring is much better that cluttered or disorganized or confusing 11:09:35 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 11:09:43 I need to look reliable and helpful. Not cute 11:36:30 hi 11:39:51 --- quit: tgunr (Read error: 104 (Connection reset by peer)) 11:41:48 --- join: tgunr (~davec@vsat-148-63-4-107.c001.g4.mrt.starband.net) joined #forth 11:46:05 --- quit: zruty (Read error: 110 (Connection timed out)) 11:49:04 --- join: thefox (~fox@adsl-68-124-64-61.dsl.pltn13.pacbell.net) joined #forth 11:49:23 thefox, what's new? 11:49:40 hey does anybody here want to give me shell on a 64-bit machine? 11:50:00 been busy 11:50:24 i *think* my interpreter is now 64-bit clean, but of course it needs testing. string packing might have endianess issues 11:51:31 thhi thefox! 11:52:01 slava ill have isforth running in fbsd natvily today or tomorrow i think :) 11:52:09 cool 11:53:29 i'll start studying x86 asm around that time too :-P 11:53:30 I440r: yuriz (NASM developer) is in #nasm now, but says NASM development is pretty much very very dead. 11:54:17 i think i've figured out how to adopt my garbage collector to handling compiled code. 12:07:10 forth doesnt compile garbage code :) 12:07:11 hehe 12:07:17 actually humor aside 12:07:26 how can any code be garbage collected ? 12:07:32 I440r, it does if you redefine a word, and recompile it, and no longer want the old code to hang around 12:07:41 oh yea 12:07:50 well 'normal' forth doesn't allow that 12:07:51 thats not easy 12:07:53 since the dictionary just grows 12:08:06 at first i'll just have old code never be deallocated 12:08:08 its not a big deal anyway 12:08:12 because every single word that references it must be patched 12:09:29 I440r, are indirect relative jumps on x86 slow? 12:09:42 err prolly 12:10:02 im not even sure how to do a relative indirect jmp 12:10:06 heh 12:10:12 n/m 12:10:27 i know what u mean 12:10:39 nut x86 doesnt have that mode i dont think 12:25:45 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 12:25:45 --- mode: ChanServ set +o kc5tja 12:25:50 * kc5tja is now at work. 12:26:22 Hi :) 12:30:17 --- join: T0paz (jonny@spc1-horn1-6-0-cust217.cosh.broadband.ntl.com) joined #forth 12:31:59 what do you think of the new design I'm working on: http://jason.herkamire.com:8888/herkamire/w/index.html 12:32:18 I'm not entirely happy with it, but I like it better than the current: http://herkamire.com/ 12:34:04 --- quit: Topaz (Read error: 113 (No route to host)) 12:38:06 * kc5tja totally has an upset stomach right now. :( 12:38:09 * kc5tja checks 12:38:39 "The connection was refused when attempting to contact jason.herkamire.com:8888." 12:40:36 kc5tja! 12:40:48 slava! 12:43:38 I'm so well liked, that I apparently leave everyone speechless. :) 12:44:12 weird... dns failing completely 12:45:49 I can bring up your home page just fine. 12:45:54 I just can't access port 8888, it seems. 12:46:02 somehow not propagating 12:46:22 It *just* happened then. 12:46:24 the port 8888 url is my home computer 12:46:27 I am also confirming. 12:46:34 jason.herkamire.com is not propagating right somehow 12:46:36 Weird. 12:46:50 it resolves fine at home, but not From the server (going through normal nameservers. 12:47:00 What is its IP address? 12:47:04 my name server is responding fine to direct queries 12:47:13 24.218.95.147 12:47:19 dig: Couldn't find server 'ns1.jwoof.com': Name or service not known 12:47:28 That's probably one of the reasons. :) 12:47:34 "dig +trace" is your friend. :) 12:47:41 http://24.218.95.147:8888/herkamire/w/index.html 12:47:59 Connection is still refused. 12:48:23 "The connection was refused when attempting to contact 24.218.95.147:8888" 12:48:40 works 12:48:41 here 12:48:47 hmm, tis cute 12:49:00 dunno how it scales to displaying lots of data though 12:49:07 the kick game is now active... the next person to say anything will get kickbanned... (ops excluded) 12:49:07 SeaWorm is bottom feeder i am far from being superior.. just dont like idea that we have to call an array container vector (which might confuse any high school physics student who you algo) 12:49:07 --- l_oke_ sets ban on *!*@static-89-213.dsl.tht.net 12:49:07 <-- docjava has kicked SeaWorm from #java (Banned) 12:50:12 What the fuck? 12:50:24 This is why I stay away from mainstream IRC channels. 12:50:30 They're run by a bunch of retards. 12:51:05 --- quit: thefox () 12:51:22 T0paz: thanks. the sides get taller with more data. 12:51:42 Hmm...I still can't access the site here. :( 12:51:48 I wonder if it's due to a firewall. 12:52:00 DARN, forgot to run screen. :) 12:52:04 brb 12:52:06 --- quit: kc5tja ("leaving") 12:52:25 dig +trace doesn't work 12:52:41 --- join: kc5tja (~kc5tja@66-74-218-202.san.rr.com) joined #forth 12:52:41 --- mode: ChanServ set +o kc5tja 12:53:51 dig +trace didn't work (from home where it does resolve) just said: ;; connection timed out; no servers could be reached 12:54:22 Well, yeah, you have to do it outside of your own local network. 12:54:35 However, that error message you got is still indicative that something really wonky is going on with the name servers. 12:54:53 Have you checked to see if ns1.jwoof.net is up and running? 12:54:59 yeah. 12:55:04 direct queries work find 12:55:05 direct queries work fine 12:55:13 hmmm 12:55:20 eg: dnsq a jason.herkamire.com jwoof.com 12:55:52 I don't have dnsq 12:56:10 like dig 12:56:11 Are you on cable or DSL? 12:56:24 I just happen to have it's calling conventions memorized 12:56:28 cable 12:56:31 behind a router 12:56:45 I'm wondering if the cable provider is now blocking ports. 12:56:48 I have most things forewarded to my computer, but not everything 12:57:03 we have non-stop problems with that for our customers, where port 25 is blocked by a layer-4 switch inside their cable or DSL provider's network. 12:57:11 no, because T0paz got it, just now, and I can get it from my server (which is on long island NYC) 12:57:35 hmmm 12:57:47 yeah, some providers are total dicks about not letting communications through. 12:58:09 the only thing I've noticed blocked by my provider is connections going to my computer on the SMTP port 12:58:15 not sure how I noticed that... 12:58:40 they tell you not to run a webserver, but they don't even block port 80 12:58:46 ;; QUESTION SECTION: 12:58:46 ;ns1.jwoof.com. IN A 12:58:46 ;; AUTHORITY SECTION: 12:58:46 jwoof.com. 10 IN SOA ns1.jwoof.com. hostmaster.jwoof.com. 1087411217 16384 2048 1048576 2560 12:58:54 I'm just plain not seeing your nameservers. 12:59:05 And neither are the root name servers. 12:59:11 that's very bad 12:59:47 In fact, no whois record for jwoof.com -- did the domain expire? 13:00:00 I got a whois for it. it says expires april 2005 13:00:47 http://ws.arin.net/cgi-bin/whois.pl -- type in "jwoof.com", and you'll see that ARIN themselves don't see anything. 13:00:50 :) 13:01:02 --- join: TheBlueWizard (TheBlueWiz@modem-084.nyc-tc03a.FCC.NET) joined #forth 13:01:02 --- mode: ChanServ set +o TheBlueWizard 13:01:06 re TheBlueWizard 13:01:13 kc5tja hiya 13:01:19 Herkamire: You know, we charge our customers big bucks to do the diagnosis I'm providing. :D (j/k) 13:01:57 :) 13:02:21 Herkamire: My suggestion at this point is to mail-bom...er...talk to your registrar and have them re-instate your domain. :) 13:02:47 No whois match for herkamire.com either at arin.net. 13:02:53 I don't see why the dig +trace thing doesn't work 13:03:34 whois doesn't get all the registrars anymore 13:03:35 If it can't find your name server, it will either loop infinitely (in which case the search ends when the TTL of the request drops to zero), or it will just give up right away, saying, "no name servers found." 13:03:40 herkamire.com is registered with godaddy 13:04:12 Yes, but sometimes, godaddy and other registrars don't talk to their parent registrars about what is in their databases either. 13:04:26 right 13:04:28 ARIN.net, when it gives a successful whois, will tell you who the domain is actually registered with. 13:04:49 dig +trace says: ;; connection timed out; no servers could be reached 13:05:01 dig (without the +trace) works fine and prints the ip address etc 13:05:26 Is jwoof.com also registered with GoDaddy? 13:05:50 I was referred to whois.aitdomains.com; I'm looking it up there. 13:05:50 No Match for jwoof.com 13:05:51 [If E-mail address(es) were hidden on this page, you can click here to get the results with the E-mail address 13:06:03 I bet you it's all boiling down to jwoof.com 13:06:27 ok, now I'm starting to see problems 13:06:36 Hehe :D 13:06:54 I'm getting an initial whois for jwoof.com, but then it checks the refering server, and no match there 13:07:02 jwoof.com is from aitdomains.com 13:07:11 Our customers run into this problem all the time. They're constantly forgetting to pay their domain registration bills, OR, the registrar is constantly "testing" customers to see if domains are legit. 13:07:14 sounds like y'all learned a lot about DNS machinery :) 13:07:20 I was reluctant to transfer it because it has my precious name server registrations 13:07:40 TheBlueWizard: it's my job 13:07:41 * kc5tja nods 13:08:18 TheBlueWizard: I'm at work too, so that helps a bit. :) 13:09:42 * TheBlueWizard has realized that in order to effectively support the new "arbitrary" IP addressing that he (and likely kc5tja; he hopes they are on the same page), a DNS-like architecture is even more important...he read somewhere that "DNS is the worst naming scheme ever invented...except that all other naming schemes suck even worse :)", which he found it quite interesting on its own 13:10:10 * TheBlueWizard has a "surface" understanding of DNS...but nitty-gritty details, no 13:10:38 DNS is truely retarded, but I agree, X.500 and LDAP is far, far worse. 13:11:01 Although, LDAP/X.500 is more database savvy -- you can do searches that aren't necessarily hierarchially oriented. 13:11:04 It's more relational. 13:11:33 So, something like "jason.herkamire.com" might be something like "tld=com; domain=herkamire; machine=jason" in X.500 (well, they like to use shorter names, but you get the idea) 13:11:57 Interestingly enough, LDAP still manages to maintain data in a hierarchial format. 13:12:07 I'm on the phone with aitdomains now 13:12:08 But I've never gotten into the nitty gritty details (I tried once...failed). 13:13:20 this guy doesn't really seem to know much about computers 13:13:43 * TheBlueWizard nods...he knows a very little bit about LDAP...it has some nice ideas though, and tiny bits of such ideas should be, um, pilfered for the new network scheme :) 13:14:15 Hehe -- yeah. 13:14:22 * kc5tja fully agrees. 13:16:17 so looking up jason.herkamire.com it would ask for the nameservers for herkamire.com, then query them for the address of jason.herkamire.com 13:16:17 actually I am thinking about writing up a table like chart listing each networking technologies and their pros and cons, in order to help identify which ones should be looked at more closely 13:16:42 Right. 13:17:00 TheBlueWizard: Makes sense. 13:17:23 And you know, although I've said that I'm shying away from the ATM-model of networking, it does seem that there is strong merit to connection-oriented networking. 13:17:44 I mean, yes, packet-based networking is great and all, but as you get higher and higher in speed, it becomes increasingly hard to deal with. 13:17:52 of course it is a big effort, so some teamwork will be required 13:18:04 Even 10-gig-Ethernet strongly advocates connections via the extensive use of MPLS. 13:18:05 hmm 13:18:25 never heard of MPLS 13:18:38 Also, realistically speaking, except for radio and free-space optical, all network connections (even packet-type) involve point to point links of some kind. 13:18:57 TheBlueWizard: MPLS takes all the great ideas of ATM, and applies them to Ethernet frames. 13:19:15 So you can route/switch Ethernet packets very, very quickly, based on virtual circuit IDs. 13:19:28 Unlike ATM, though, you can nest "labels," (their name for VCIDs). 13:19:43 Which is kind of neat. I'm personally not sure why you'd want to do that, but I suppose they had a reason for it. 13:22:51 time to get a name server on a different domain 13:23:31 different registrar 13:23:42 Herkamire: :( 13:23:58 Are they just dicking you around or something? 13:24:02 What's their side of the story? 13:24:11 dunno 13:24:17 I didn't get anybody terribly technical 13:24:35 I got him to write down what the problem was and try to get it to somebody 13:24:56 now I have a use for my gmail account :) 13:25:03 Heheh :D 13:25:11 gave that to them in case herkamire isn't resolving properly 13:25:19 I got a big, blue bar on my gmail saying I have six invitations still to go. 13:25:38 before what? 13:25:41 * kc5tja is wondering if it's there because they're about to terminate the invitation program or not. I dunno. But all of my friends are already on gmail. :) 13:25:45 Herkamire: No idea. 13:25:56 I just never seen that bar there before, presented like it's some dire emergency. :) 13:26:05 seems to me everybody is going to have an account pretty soon 13:26:13 heh 13:26:27 clever marketing tactic 13:27:48 TheBlueWizard: The user interface of gmail rocks. 13:28:03 I really like it. The first real innovation in e-mail clients since the well-known 3-pane view. 13:28:10 But I digress. 13:28:26 I still would like my e-mail local, so I still keep all my important messages via traditional mail interfaces. 13:29:42 yeah, the gmail interface is very impressive 13:29:59 hmm 13:31:05 * kc5tja is reading up on garbage collection techniques again. 13:31:53 * kc5tja is thinking of making a simple, garbage collected heap implementation in GForth just to play with the concept. Maybe then I'll use that to make a simple e-mail client with it. 13:32:15 I wonder how fast I would exhaust a 1MB heap. :) 13:33:01 Oh, and pointers to objects would be kept in handles, so that I can access objects via @ @ and @ !, respectively. This way, I don't have to conservatively search the CPU's state or data/return stacks. 13:33:22 So it won't be 100% "automatic" memory management, but it will be automatic enough to enjoy playing with, I think. 13:34:59 sure 13:36:12 I do still find it interesting that copying and/or compacting collectors can still be extremely runtime efficient though. 13:36:43 * kc5tja will need to do more study on it, of course, but initial intuition suggests something like a mark-n-sweep garbage collector would actually be more efficient. 13:37:12 slava would likely know more about this than most others here, since he's implemented garbage collection for his Factor language. 13:37:28 yes...there exists some systems/languages with continuous gc, so that really make them go fast....a good example is Euphoria 13:37:54 Interestingly enough, Commodore 64 and 128 BASIC used compacting garbage collection. 13:38:10 The C64 BASIC was inefficient though, because it waited for the whole variable space to fill up before compacting. 13:38:25 This gave C64 BASIC the image of being incredibly slow for heavy data processing. 13:39:08 The C128 BASIC, however, had *incremental garbage collection*, which for the time, was utterly unheard of. C128 BASIC was the indisputed king of garbage reclamation speed too. Whole new implementation of the GC resulted in incredible performance gains. 13:39:13 I've encountered, and read about certain pathological case with gc on C-64...it can take hours to wait for gc to finish (I think it's published in a Compute! Gazette magazine) 13:39:18 grrrrr... I hate registrar issues 13:39:18 I think it did a variable or two of garbage every VSYNC interrupt or something. 13:39:50 TheBlueWizard: I don't know about hours. But even so, several minutes is not unheard of. 13:40:01 C128, to my knowledge, has *never* had to "stop" 13:40:03 'sopd'as 13:40:07 C128, to my knowledge, has *never* had to "stop" for GC to complete. 13:40:23 And then we get . . . Java. What a step backwards as far as GC is concerned. 13:40:34 But the BASIC implementation of GC could cheat though. 13:40:45 It stored every new variable instance on the heap. So if you say something like: 13:40:50 A$=A$+"WORLD" 13:41:03 you'd have two instances of A$ on the heap. One with just HELLO, and one containing HELLOWORLD. 13:41:04 it can happen on C-64...I've seen that happened on my C-64 after following some code shown in a magazine...I ended up turning it off :) 13:41:27 When it garbage collected, it'd just walk the list and if it found a newer instance of a variable later on, it'd collapse the heap. 13:41:33 (well, the C64 implementation did) 13:41:41 mmhmm 13:41:55 I'm sure the C128 had more efficient means of walking the variable list in the heap. 13:42:34 It probably could identify the front-most (e.g., the most recent) definition right up front, and therefore, could single-handedly collapse every other instance of the variable in one fell swoop. 13:43:33 It also helped out that the only structured variables that existed were arrays too -- no structures meant no pointers, and therefore, no need for tracing sub-structures. :) 13:43:41 I still have a hardcopy disassembly of AppleSoft Basic, and the gc code is one of perhaps two major areas yet to be decoded by me :) It would be reasonable to assume C-64 has essentially same algorithm 13:44:08 Not sure; never dealt with AppleSoft BASIC. 13:44:33 But, I know the author of EhBASIC, a modern BASIC implementation for 6502 and 65816 systems. I wonder what kind of garbage collection mechanism he uses there. 13:44:39 * kc5tja should ask him. 13:44:44 don't forget that you can have multidimensional arrays in Basic...that is a tiny bit of substructuring :) 13:44:53 kc5tja, factor's current gc won't scale with a large heap 13:45:03 kc5tja, its not incremental at all, and all live objects are copied on every collection 13:45:25 So it's not incremental, and it's not generational either. 13:45:38 nope:) 13:45:46 for what its worth, i never see gc pauses with java 13:46:37 slava: your computer's probably alittle faster than the C64 13:46:37 I have. 13:46:39 They're not fun. 13:47:03 We also see them on our servers here, and when it happens, it more often than not effectively takes the server right offline. 13:48:01 the nice thing about a copying collector is that running time depends on the number of live objects, not the amount of garbage. 13:52:33 on x86, does the icache have to flushed explicitly after generating code? 13:55:40 I think if the generated code has never been run before and the target memory area has never been JMPed into before, I don't think icache needs to be flushed. Best to consult an x86 doc 13:58:36 slava: Not explicitly, but it helps. 13:59:25 The reason is that any writes to memory that is located in the code cache WILL cause the code cache line to automatically flush. Likewise, attempting to execute code from memory currently in the d-cache WILL cause that d-cache line to flush as well. 13:59:36 This is why it is a big performance hit to run code and reference data in the same cache line. 13:59:55 yes, and why i'll be putting code in a separate heap ;) 14:00:13 FTS/Forth couldn't care less right now anyway. In practice, it is rarely an issue for me. 14:00:36 really? 14:00:48 how much of a performance hit is it? 14:00:53 When I say it isn't an issue for me, I mean that I don't particularly care about run-time performance right now. 14:00:58 ok 14:01:07 see i do, that's why i'm contemplating this compiler :) 14:01:10 I haven't measured, and I don't care. It doesn't affect the code I write. 14:02:56 Most of my code is so I/O bound that it really doesn't matter for me. Besides, there are ways even in FTS/Forth to make code that runs fast. 14:02:56 slava: then imitate kc5tja's methodologies...like writing up a test suite and run it, whatever....I'm sure kc5tja has done a lot of these 14:03:14 TheBlueWizard: Nothing for performance. I've never really benchmarked it. 14:03:28 * kc5tja might do benchmarking in the future once FTS/Forth for Linux is actually completed. 14:03:37 TheBlueWizard, i already have a 2000+ line test suite :) 14:04:00 oh? I thought you did, especially with testing the effect of using different registers on the threaded codes 14:04:08 Nope. 14:04:15 Oh, well, hold on. 14:04:17 That's different. 14:04:43 I did do tests involving different registers, because I wanted to see what instruction sequences ran the fastest for things like pushing and popping values off the data stack. 14:04:51 * TheBlueWizard has a rather good memory of that conversation 14:04:58 The data stack is inherently a different chunk of memory anyway, so it's not really relavent here. 14:05:10 It's always accessed at top speed. 14:05:22 (unless you're crazy enough to execute machine code pushed onto it) 14:09:51 slava, TheBlueWizard: can you reach http://ns1.jwoof.com/ ? 14:10:36 An error occurred while loading http://ns1.jwoof.com/: 14:10:36 Unknown host ns1.jwoof.com 14:10:45 how about http://jwoof.com/ 14:11:00 that loads 14:23:28 kc5tja: internic has my nameservers: http://reports.internic.net/cgi/whois?whois_nic=ns1.jwoof.com&type=nameserver 14:23:40 does that mean the root servers do? 14:25:09 If I do a dig +trace ns1.jwoof.com, M.GTLD-SERVERS.NET returns a response for that domain name. 14:25:17 However, without the +trace, I get nothing for a response. 14:25:38 Is 204.89.131.33 the correct IP address for jwoof.com? 14:25:49 yes 14:27:53 brb -- have to label a bunch of new servers 14:32:05 labeling servers... sounds like something I would do 14:32:46 at my last job I would put a sticker on the front of the computers with their name and IP address, in a vain hope that people wouldn't ask me anymore 14:32:49 didn't really work. 14:33:17 people would stand about 6 feet from me and the computer in question, and ask me what it's IP address or name is. 14:34:29 or sometimes it'd be in the next room, and I'd have to be all helpful and say "I don't know, go look at it" 14:51:35 back briefly. 14:52:12 We don't label IP address or machine name, because it's too insecure (we have a lot of visitors at our facility). 14:52:28 you just number them or something? 14:52:32 So we label the machines with a location code instead, which can be cross-referenced in our inventory system to find the information you're talking about. 14:52:43 cool 14:52:59 food shopping. bbiab 14:55:44 okies 15:11:26 man is pineapple REALLY this acidic ? 15:11:32 man my mouth is burning lol 15:12:31 Yes. 15:12:47 but i love pineapple lol 15:12:54 Me too. 15:12:57 im gona grow one if i can 15:13:17 Are you sure, though, that it's just acid? I have eaten partially fermented pineapple before (and yes, gotten a buzz!) which had a characteristic burning sensation. 15:13:21 Sweet. :) 15:14:01 this is acid for sure 15:14:10 this pineapple was butchered today hehe 15:14:22 ive had it about a week and have been spraying the leaves every day 15:14:32 i remember my dad hideously overcooking rhubarb a while ago 15:14:47 we were left with gallons of sharp-tasting purple water 15:14:54 i boiled it for hours until we had about a cupful of it 15:15:00 break off the top (yes break) then rip off a few leaves. leave broken end to dry out and heal for a cpl of days 15:15:01 boy, i've never eaten anything so acidic 15:16:14 I440r: That's enough to grow a new Pineapple? 15:16:22 * kc5tja wasn't aware that a pineapple was a bulb. 15:16:28 Anyway, brb -- more servers to label. 15:17:50 --- join: I440r_ (~mark4@216-110-82-59.gen.twtelecom.net) joined #forth 15:26:20 I've heard you can cut off the top of a pinaple, and root it. 15:31:24 --- quit: I440r (Read error: 110 (Connection timed out)) 15:32:23 you can 15:32:24 im doing 15:32:26 im doing that 15:32:31 break it off tho, dont cut it 15:32:41 then remove some of the lower leaves - ull see the roots then 15:32:51 leave the broken end to dry out 15:33:11 then place the pineapple on its side with its roots touching the dirt but not the dry end 15:33:23 you HAVE to make sure theres no fruit in this area cuz it will rott 15:33:26 rot 15:33:43 when you see the roots start to grow stand it vertical. 15:33:59 you want dry sandy soil and you water like once a month or something 15:34:03 but spray the leaves often 15:34:10 and try keep in a humid environment 15:34:22 ull have a new pineapple in 3 years or s 15:37:08 the pineapple gets very little of its sustanance from its roots, mostly from its leaves. but dont get any dirt down inside there or you might kill it 15:41:58 That sounds like an awful lot of technicalities there. :) 15:42:10 brb -- grabbing some food. 15:42:22 * kc5tja can't believe today has passed so quickly. And all I did was label servers! 15:42:27 But I'm done with that right now. 15:42:29 Anyway, brb. 16:16:40 --- join: FlamingRain (~Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 16:17:07 back -- 30 minutes left on lunch break. 16:25:51 --- join: Tomasu (~moose@S010600045a4c73cc.ed.shawcable.net) joined #forth 16:30:09 --- quit: FlamingRain ("Leaving") 16:35:00 Back from lunch break. 16:47:34 ok re 16:48:06 re mur 16:48:53 * mur 's hands are itching on coding something interesting 16:49:02 i'm thinking english alike hack on javascript 16:49:22 like: Paint background blue. etc 16:49:50 with verbs, nouns (variables), and adjectives (function restrictors) 16:50:44 * kc5tja nods 16:50:54 Kind of like APL in a way. 16:51:25 * mur loves eval() :) 16:51:34 The "/" adverb turns a normal verb (e.g, "+", addition) into a verb which works across an entire array of things (e.g., "+/" means "sum over these numbers....") 16:52:06 hmm 16:55:00 subtract with carry = it will remain it's sign? like 1 - 4 = 3 ? 16:57:03 ? 16:57:08 I don't know what you're asking. 16:57:11 1-4 = -3. 16:57:21 what does subtract with carry mean? 16:57:39 Subtracting with carry is used when subtracting numbers larger than the microprocessor can natively work with in a single instruction. 16:58:03 hmm 16:58:14 okay 16:58:19 It means that any carry (which actually is 'borrow' when doing subtractions) that was generated in the last subtraction is used in this subtraction to continue it, thus producing correct results. 16:58:57 ahaa 17:00:03 carry partial result, like the school dividing examples? 17:00:21 i'm thinking english alike hack on javascript 17:00:21 like: Paint background blue. etc 17:00:25 mur, do you know smalltalk? 17:00:30 no 17:00:36 --- quit: warpzero ("Tried to warn you about Chino and Daddy Gee, but I can't seem to get to you through the U.S. Mail.") 17:00:37 1 upTo: 4 do: [ i | transcript show: i ] 17:00:41 1 2 3 4 17:01:07 well i thought only doing it for fun 17:01:09 Smalltalk really is a *great* language. 17:01:22 javascript is not usual for very serious work 17:01:28 it can be but rarely is 17:01:42 Objective C is a fantastic language too -- mixing all the good points of Smalltalk and letting them be used in a normal C-like environment. Well, everything except garbage collection. 17:01:53 it has reference counting 17:02:22 mur: Javascript's object model is absolutely foreign to everyone else too. It's a prototype-based object model, instead of a class-based one. And, its implementation leaves a lot to be desired. 17:02:37 heh 17:02:45 i was thinking very small thing :) 17:02:50 Self is basically a prototype-based Smalltalk. Right down to the syntax. :) 17:02:52 nothing wrong with being prototype based 17:02:59 Nope. 17:03:05 http://story.news.yahoo.com/news?tmpl=story2&u=/040831/ids_photos_ts/r1741187877.jpg&e=15 17:03:06 I'm just saying Javascript isn't done well. 17:03:12 does that look like a penis to anybody else? 17:03:39 kc5tja, well it's easier to get hang on 17:03:45 you can omit coding structures 17:03:47 it's ready to hack 17:04:16 slava, indeed :) 17:04:27 mur: I'm not saying that wasn't the case; you can do that in Self too. 17:04:47 Self is to prototype object systems as Smalltalk is to class-based object systems. 17:05:22 i dont know smalltalk 17:05:29 What is quite amazing is that Sun managed to get very close to native C speeds with Self, despite its highly dynamic nature. I think that deserves damn good applause. Stick that in your Smalltalk pipe and smoke it. :D 17:05:49 kc5tja, a lot of the Self implementation ideas ended up in Java 17:05:54 the first times i was using mac dev environment 17:06:00 like polymorphic inline caches 17:06:04 i was totally clueless despite it's excelence in some fields 17:06:07 and profile-based optimization 17:06:35 Java predates Self. 17:06:55 yes, but the early implementation was interpreted or used a simple JIT 17:06:57 What features are in Java from Self? I can't think of any. 17:07:09 i'm not talking about the language, but the VM implementation 17:07:20 the JVM in Java 1.2 and up uses a lot of ideas from Self 17:07:52 Oh, well, that I can believe. 17:08:02 Self was a R&D project anyway. Frankly, I think it should have hit the mainstream. 17:08:46 the good things rarely hit the mainstream 17:09:02 usually only the cheap things hit 17:09:15 Yes. Cheap and expedient. 17:09:15 (by monetary and by imagination) 17:09:23 With no attention paid to long-term results. 17:09:30 Typical American-inspired values. 17:09:55 (No, I'm not intending on delving into a political argument here. But as an American, I think I speak with some amount of authority on that issue.) 17:12:08 short-sightedness is sign of stupidity 17:12:25 for what its worth, slate is basically a modernized self 17:12:39 at least in longer run 17:15:13 i omit articles (the, a) again 17:18:57 mur: Don't worry; if the sentence is ambiguous, I'll ask. :) 17:23:37 i was just wondering 17:23:51 since i used to had that problem when i was 15 or 14 17:24:00 but now i omit the article words again 17:27:39 When I wanted to convert some old MS Word 5.0 (on MSDOS) documents to the Word for Windows 97, I discovered that these old file formats are no longer recognized. Of course, I searched the web for this, but failed to find anything about this. Thus, I felt there was no other option left but to reverse engineer the Word 5.0 file format. 17:27:44 heh 17:29:27 --- quit: T0paz (Remote closed the connection) 17:35:47 gn 17:44:43 gn mur 18:06:44 --- join: zruty (~chuck@64-121-15-14.c3-0.sfrn-ubr8.sfrn.ca.cable.rcn.com) joined #forth 18:07:04 hi zruty 18:07:27 re zruty 18:07:37 * kc5tja is reading up on Baker's lazy allocation proposal too. 18:07:46 Man, Baker's got some really neat-o ideas. 18:07:50 I wish I were as creative. 18:14:32 Gahh, man, I cannot wait to finish FTS/Forth for Linux. 18:14:33 *sigh* 18:15:23 mur hiya...and bye :/ 18:15:30 Wow. 18:15:31 :) 18:15:38 That was a bit late. :) 18:15:52 I was afk :) 18:16:04 * TheBlueWizard shrugs 18:18:03 * kc5tja is still at work, so if I seem afk, that's why. 18:19:15 I absolutely HATE STORESENSE!!! >>::(( 18:19:56 If you want to see a pissed off Klingon wearing glasses, that's the smiley to use. Or frowney if you prefer. But I can't think of anything to more adequately describe my emotional response to having to deal with StoreSense. >:( 18:20:36 looks like a frowney with wrong duplex settings 18:20:42 what is StoreSense? a backup system? 18:21:50 TheBlueWizard: An online shopping cart program that works great when it's properly configured. The problem is, it's buggier than all shit, and it's damn near impossible to install properly on people's servers the first time. Or usually the second time. Or usually the third. By the fourth time, things usually settle down. 18:22:16 i'm connected via ssh to a powermac g5, debugging factor :) 18:22:56 endianness issues are quite frustrating 18:25:13 hmm...a commercial software. Although I don't know such sort of software, but I understand the pains associated with installing and configuring...at my work, we have several SharePoint servers, and we discovered that we have to shut down each server in a particular order, then start them up in a particular order. Otherwise they will go out of whack 18:26:55 * kc5tja nods 18:28:18 nice to see MS has gotten it all right :^) 18:30:16 And I had some dealings with ArcServe (a backup system)...one day I got into a real bad situation with it cuz it insisted on having a blank tape be inserted into the drive, and I hadn't gotten ANYTHING (nope, not even a used tape would do...must be a BLANK!) And the server that I was fighting with was a rather critical server, so I can't just ignore it 18:32:24 zruty: What? 18:32:33 zruty: How does Microsoft enter into this picture? 18:33:08 TheBlueWizard: Companies need to learn a concept called "OR-THO-GAN-AL-ITY." 18:33:30 I freaking hate it when to use one feature, you must have some dependency satisfied elsewhere in the program, hardware, whatever. 18:33:49 Small tools, which do one thing and one thing only, put together to comprise a solution. That's what is needed. 18:33:59 I hate "integrated solutions" with a passion. 18:34:20 yup 18:34:41 --- quit: snowrichard ("Leaving") 18:35:56 s/GAN/GON/...yeah....problem is, it is very hard to develop software on an OS without risking stomping on other software...that's one reason why I can't really use closed source code 18:37:16 We have no choice. 18:37:26 they tend to stomp on each other (no company can afford to buy *all* software and then do 3654876985 permutations of software installing, configuring and testing just to make sure their product would not cause any conflict) 18:37:43 Plesk and StoreSense stores all of its webpages in highly compressed, encrypted PHP files. 18:37:47 It's retarded. 18:37:56 2 2 "hello world" split-n [ 2dup str-length > [ dupd pad-string ] when ] map 18:37:57 "no choice"? as in having to use closed source code? 18:37:58 oops 18:37:59 wrong window 18:37:59 Why in the hell does PHP support compressed, encrypted pages? 18:38:04 TheBlueWizard: Yes. 18:38:24 *NONE* of the available open source products even come close to the available closed-source solutions. 18:38:40 ah...yeah, if your PHB and CEO mandate that... 18:38:51 ah 18:38:53 Well, it's also from a functionality stand-point too. 18:39:00 They just plain don't work nearly as well as these do. 18:39:06 (well, when they do work well.) 18:39:16 --- quit: ChanServ (Shutting Down) 18:39:30 --- join: snowrichard (~richard@adsl-068-209-159-248.sip.shv.bellsouth.net) joined #forth 18:40:36 Hi snowrichard 18:40:50 hey Robert 18:42:30 --- join: ChanServ (ChanServ@services.) joined #forth 18:42:30 --- mode: irc.freenode.net set +o ChanServ 18:42:32 hiya snowrichard 18:47:42 --- quit: snowrichard ("Leaving") 19:02:54 --- join: warpzero (~warpzero@dsl.103.mt.onewest.net) joined #forth 19:28:34 --- quit: Klaw (Read error: 104 (Connection reset by peer)) 19:44:25 --- join: crc (crc@47-pool2.ras11.nynyc-t.alerondial.net) joined #forth 19:47:12 --- join: fridge (~fridge@dsl-220-253-73-190.NSW.netspace.net.au) joined #forth 19:48:48 --- join: FlamingRain (Ecoder@c-24-129-95-254.se.client2.attbi.com) joined #forth 19:59:26 fuck 19:59:38 map anonymous in linux is hex 0x20 19:59:45 in fbsd its fuciking 0x1000 19:59:56 why the FUCK do they do that fucking shit 20:02:10 this means that for src/ext/memory.f i cant fucking have the same extension for both linux and freebsd 20:02:17 i have to have two almost fucking identical source files 20:02:19 FUCK 20:02:41 im NOT fucking supporting any fucking conditional fucking compilation 20:02:44 no 20:02:45 fucking 20:02:46 way 20:03:08 :-) 20:03:19 how the FUCK do i fix this 20:03:36 im not fucking tying this into a fucking gordian knot with conditional compilation 20:03:38 * TheBlueWizard hides from the potty mouthed guy! 20:03:42 not for a fucking million bucks 20:04:07 You could write a simple sed script to change the value... 20:04:11 I440r_: Calm down. 20:04:24 Have a set of include files in one directory for Linux. 20:04:43 Have another set of include files, with the same definitions (but with different values) for FreeBSD in another directory just for fbsd. 20:04:56 the ONLY difference between this file in linux and this file in freebsd is the value of a single constant 20:05:07 Then, when building the system, pass the architecture to use as a command-line -D parameter, where is the architecture to use. 20:05:13 I440r_: So what? 20:05:13 i do NOT want multiple versions of the extensions 20:05:19 ONLY the kernel will be different 20:05:23 So what? 20:05:34 i want to distribute IDENTICAL extensions for ALL extensions 20:05:36 i cant 20:05:39 I440r_: when you use syscalls in the extensions, they will HAvE to be different 20:05:44 That's life 20:05:47 You have no choice. 20:05:50 because heap-flags in linux is $22 20:05:55 in freebsd its $1002 20:05:59 If 90% of the include file is the same, then yeah, factor it out. 20:06:09 But eventually, you will require platform-specific definitions. 20:06:19 ok so i disassociate "heab-flags" from the file that uses it 20:06:27 any way you look at it its a fucking gordian knot 20:07:03 * kc5tja sighs 20:07:11 I440r_, its not that big of a deal 20:07:19 I440r_, you shouldn't mix symbolic constants with your code anyway 20:07:26 --- quit: FlamingRain ("Leaving") 20:07:42 i have $1002 constant heap-flags 20:07:56 i do that so YOU can decide to map a shared or private mapping 20:08:02 it defaults to anonymous shared 20:08:10 err private i mean 20:08:33 but that ONE constant is not the same 20:08:54 i can move it into the kernel!!!! totally disasspciate it from the extension 20:08:56 it IS a big dea 20:08:58 l 20:09:18 It's as big a deal as you make it. 20:10:14 how do i define correct values for anonymous private without splitting off two versions of memory.f and WITHOUT conditional compile 20:10:35 when im metacompiling i can solve this 20:10:40 but not here :( 20:11:11 man this sucks 20:11:30 I440r_, then its just a temp. kludge 20:11:33 until you're metacompiling 20:11:57 well it will be a for a whole while after im metacompiling, thats just the first stage 20:12:07 i want to create compile time only constants 20:12:19 constants that DONT take up any space in the shit you have compiled 20:12:48 but i think i need to be metacompiling before i can do taht because it is going to rely on my memory manager 20:12:55 and... the memory manager relies on IT 20:13:01 in this one case 20:13:17 which i dont even think metacompiling will solve 20:13:36 it IS a HUGE fucking deal because unless i can solve it that fucking plan goes right out the fucking window 20:20:09 --- quit: fridge ("rock out with your cock out") 20:22:20 --- join: crc_ (crc@9-pool2.ras11.nynyc-t.alerondial.net) joined #forth 20:22:40 --- quit: crc (Nick collision from services.) 20:22:45 --- nick: crc_ -> crc 20:23:08 isforth ALMOST works perfectly in fbsd now 20:23:19 good 20:23:20 for some reason the status bar takes upi the whole screen :) 20:23:44 theres a bug in the calculation of how many spaces to display 20:23:46 I440r_, just say thats a feature ;) 20:23:57 lets see if it can run the towers of hanoi stuff 20:24:10 yup :) 20:24:38 slava as root copy the entire isforth dir to your users home - then chown it 20:24:41 make clean 20:24:43 make 20:24:45 ./extend 20:24:48 ok 20:24:50 then do ./isforth 20:24:54 followed by statoff 20:24:59 ill fix that bug next hehe 20:25:00 then try 20:25:04 fload src/itowers.f 20:25:08 3 towers 20:25:19 spacebar stops it 20:25:47 while yrou root killall isforth will ya lol 20:25:57 the windowing stuff dont work yet lol 20:25:59 itowers.f doesn't work?! 20:26:07 fload src/itowers.f 7 ? 20:26:08 itowers does 20:26:15 what ? 20:26:20 thats what it says 20:26:28 fload src/itowers.f ? 20:26:41 yes, it prints 7 then ? :) 20:26:41 do statoff 20:26:44 i did 20:26:47 it says ok 20:26:55 err thats NOT what its doing for me lol 20:27:12 maybe i did smth wrong 20:27:21 i can see its the lates one (it attempts to do ncurses lol) 20:27:59 no isforth running btw 20:28:35 yea i guess my control c panic mode worked lol 20:28:43 do this 20:28:48 ./isforth -fload src/itowers.f 20:29:11 ok it started 20:29:34 3 towers 20:29:43 erm press space 20:29:44 say 20:29:49 off> 2delay 20:29:51 it works! 20:29:52 3 towers 20:30:05 it beeps 20:30:05 2delay is a crappy software delay ehh4e 20:30:06 is that ok 20:30:13 make it zero and see taht shit fly :) 20:30:16 lol 20:30:27 its not THAT much faster, since i'm connecting w/ ssh 20:30:34 ok this is cool stuff 20:30:41 hehe 20:30:44 just fix the status bar and the status bar clock (it says 1970 lol) 20:30:51 that 7? is because the status bar leaves some shit 20:30:56 ok 20:31:06 lol 20:31:20 factor works on sparc64! 20:31:21 its because my time@ doesnt work here 20:31:23 * slava kisses I440r_ 20:31:25 * slava kisses kc5tja 20:31:26 lol 20:31:49 im using a very cheezy gettimeofday syscall 20:31:56 seems to NOT work in freebsd even tho its there 20:31:58 struct timeval; 20:32:02 gettimeofday(&timeval,NULL); 20:32:03 that works 20:32:09 timeval is just 2 words of mem 20:32:26 ok in linux they still use a deprecated tz too 20:32:35 i think its ignored 20:32:42 but the time zone is also not kept in the kernel 20:32:50 it prolly is. but fbsd doesnt ignore it 20:32:56 it insists tz is zero i guess 20:32:59 lets fix that 20:34:05 i think i need to be NOT using gettimeofday 20:34:17 is there an alternative? 20:34:22 i dunno 20:35:32 gettimeofday isnt working at all 20:35:41 it works in C 20:35:47 must be another case of the libc wrapper != actual syscall 20:35:49 YOUR not using the syscall 20:35:52 YOUR using libc 20:35:56 :-P 20:36:02 :/ 20:36:58 20:31 * slava kisses I440r_ 20:37:09 sorry 20:37:15 lol 20:38:36 slava 20:38:56 i thinik the problem is because im not getting the console width right!@ 20:39:01 say "hello" 20:39:05 hello 20:39:10 ignore the "Linux" statment 20:39:11 no foolk 20:39:14 in ISFORTH 20:39:16 duh 20:39:30 say ? 20:39:35 oh 20:39:38 you mean type hello 20:39:39 :) 20:39:48 same diff :P 20:39:48 yeah its kinda screwed 20:39:57 say hello to isforth :P 20:40:13 say "Hello" is a valid Rexx command. 20:40:15 :) 20:40:22 hehe 20:40:25 I440r_, factor.sf.net/foo.png 20:40:31 I440r_, is what it looks like 20:41:01 Damn, I can't believe my target compiler is 6 blocks worth of code. 20:41:18 (soon to be a bit more, since I'm now going to be adding some support for the dictionary, but still...) 20:41:19 is that good or bad 20:41:20 ewwwwwww 20:41:25 you use xterm 20:41:30 I440r_, i use Konsole bitch 20:41:31 or is it rxvt/aterm ? 20:41:37 something wrong with xterm?! 20:41:43 that PINK is supposed to be PURPLE 20:41:44 bitch@! 20:41:46 slava: 6KB of raw source, not counting the shadow comments. 20:41:48 use a real terminal!@ 20:41:48 I440r_ uses dos prompt 20:41:52 eterm rox heh 20:42:03 dos prompt > windows 20:42:22 * kc5tja has never had any issues using xterm. 20:42:34 It has been my preferred X11 terminal for . . . well, since 1995. 20:42:53 lol i tried to fix the "cols" constant and it segfaulted lol 20:43:28 ok do this 20:43:32 ./isforth 20:43:46 wait for it to stop then delete the extra chars left behind by the status bar 20:43:48 statoff 20:43:57 80 !> cols 20:44:01 25 !> rows 20:44:03 hello 20:44:27 80 !> cols 80 ? 20:44:29 You do realize you can probe the environment variables $LINES and $COLUMNS right? 20:44:35 NOt sure if that would help you or not. 20:44:47 what the hell does X ? mean wher X is a number 20:44:59 cols . 1414144 ok 20:44:59 rows . 1424444 ok 20:45:02 or you could use one of the ioctls 20:45:14 the status bar pushed some chars into the keyboard buffer 20:45:18 DONT ask me how 20:45:25 prior to statoff you have to delete them 20:45:26 no everything else works ok 20:45:36 40 40 + . 130 ok 20:45:39 lol 20:45:43 80 80 + . 80 ? 20:45:48 ok 20:45:48 40 40 + . 80 ok 20:45:49 4 4 + . 13 ok 20:45:53 err YOUR messed up 20:45:54 lol 20:45:57 decimal 20:46:04 thats better 20:46:09 something changed your base lol 20:46:18 hehehe 20:46:22 All slava's base are belong to I440r_ 20:46:28 heh 20:46:38 * I440r_ rewts slava 20:46:44 }:) 20:47:02 actually im thinking of rooting arround wallymart for something to eat 20:47:13 thats two things to fix 20:47:14 shit dude 20:47:16 it works 20:47:29 except i think the list/head/depth/base indicators are broken 20:47:33 but the status bar appears in the right place 20:47:40 hello works too 20:47:47 "Direct Theaded 32 bit Linux Forth" 20:47:50 err this ain't linux 20:47:55 i told ya 20:48:00 ignore that part lol 20:48:04 *snicker* 20:48:31 and isforth is only 70kb 20:48:31 nice 20:48:49 \ ------------------------------------------------------------------------ 20:48:49 \ enquire terminal size on program entry 20:48:49 : ?term 20:48:49 pad $5413 0 \ get window size using ioctl 20:48:49 pad w@ !> rows \ set window size variables 20:48:51 pad 2+ w@ !> cols ; 20:48:57 that definition is at the bottom of terminfo.f 20:49:06 its absolutely 100% correct for linux :) 20:49:52 use the LINES/COLUMSN env vars 20:50:08 too much of a pain in the ass to parse for them lol 20:50:17 tho - i DO parse for "TERM= 20:50:31 why is it a pain? 20:50:47 everything is always a pain lol 20:51:08 if you resize your windows do those env vars get updated ? 20:52:22 Unlikely -- environment variables are passed by the shell. 20:52:36 You'll need to issue some kind of ioctl or perhaps ESC-sequence to the terminal to find the new size. 20:52:42 well theres a signal for that 20:53:01 it only happens in X and thers a signal for when it happens 20:53:10 all you gotta do is trap that signal 20:53:19 but THEN you gotta do the above ioctl to find the new dimensions 20:53:20 LINES and COLUMNS are not exported 20:53:21 SIGWINCH 20:53:27 ya 20:53:38 because they wouldn't be updated in the subprocess anyway 20:53:57 bash just intercepts SIGWINCH 20:54:37 zruty: If a subprocess traps SIGWINCH, they'll get the signal too, IIRC. 20:54:40 At least under Linux. 20:54:48 I believe it's sent to a process group, and not any single process. 20:54:51 I could be wrong though. 20:54:55 only the child process gets the signal 20:55:06 if it doesn't trap it it won't necessarily propogate 20:55:11 i think it depends on the signal 20:56:37 well off to wallymart 20:56:48 then ill fix the cols/rows problem 21:02:23 gotta go...all bye 21:02:46 --- part: TheBlueWizard left #forth 21:04:17 I440r_: that is not at all correct for linux on ppc, or (from what I hear) most (or maybe all) platforms other than x86 running linux 21:05:03 TIOCGWINSZ = 0x40087468 21:05:04 on my box 21:08:15 well that was a productive day ;) 21:08:17 * kc5tja sighs 21:08:29 Literally everyone here is getting sick and calling in. 21:08:32 This does not bode well for me. 21:08:34 >:/ 21:10:41 kc5tja, i'm impressed how portable C is, for simple apps anyway. 21:10:59 kc5tja, my code compiles without issue on a variety of *nixes, the only thing i've noticed is on solaris, you have to add -lsocket to the linker flags. 21:11:55 kc5tja: getting sick? 21:12:06 slava: C is actually very portable as long as you treat the code with respect, you avoid type casting like the plague, and you manage conditional compilation with care. 21:12:13 kc5tja: you mean taking a long holiday weekend... 21:12:26 kc5tja, i have no #ifdefs at all 21:12:33 Herkamire: I'm already pretty sick, I think. I've been constipated for four days now, and I'm bloated up like a balloon. And today, I started feeling sick to my stomach. 21:12:43 Herkamire: I'm off Mon, Tue, and Wed anyway. 21:12:57 i'm off to sleep now. 21:13:10 slava: Good. 21:13:11 kc5tja: that sucks 21:13:19 Yeah. :( 21:13:26 kc5tja: think it's going around the company? or just people skipping out for a good weekend? 21:13:41 It definitely is going around the company. 21:13:44 About one employee per week. 21:30:18 --- join: crc_ (crc@20-pool1.ras11.nynyc-t.alerondial.net) joined #forth 21:49:15 --- quit: ChanServ (ACK! SIGSEGV!) 21:49:38 --- quit: crc (Read error: 110 (Connection timed out)) 21:49:47 --- nick: crc_ -> crc 21:50:21 --- join: ChanServ (ChanServ@services.) joined #forth 21:50:21 --- mode: irc.freenode.net set +o ChanServ 21:51:26 brb phone again 22:03:36 sri -- had to hit the restroom too 22:07:09 ok, which libc function is it that returns your terminal dimensions ? 22:07:34 im assuming theres a libc wrapper for this ioctl 22:07:52 Nope. 22:08:21 ok, time to do some digging heh 22:12:24 man that pineapple tore up my mouth bigtime lol 22:18:10 --- nick: I440r_ -> I440r 22:18:21 --- mode: ChanServ set +o I440r 22:33:02 slava are you there ? 22:39:49 Well, I'm on my way home. I'll be back online in about 30 minutes or so. Thanks. 22:40:19 --- join: qFox (C00K13S@82-169-140-229-mx.xdsl.tiscali.nl) joined #forth 22:43:24 who else in here besides slava runs fbsd ? 22:44:09 Not I. 22:44:15 Though I was thinking about it. 22:44:29 i did it twice. for all of about 10 minutes each lol 23:00:11 --- quit: zruty (Read error: 110 (Connection timed out)) 23:05:46 BSD is a nice system. You just gotta get used to it. 23:05:54 I've used it briefly, and I really didn't mind it at all. 23:05:58 no arguements from me 23:27:57 --- quit: crc (Read error: 104 (Connection reset by peer)) 23:59:59 --- log: ended forth/04.09.04