00:00:00 --- log: started forth/02.07.23 01:06:29 --- quit: Robert (vinge.openprojects.net irc.openprojects.net) 01:06:30 --- quit: goshawk` (vinge.openprojects.net irc.openprojects.net) 01:06:31 --- quit: njd (vinge.openprojects.net irc.openprojects.net) 01:06:33 --- quit: Soap` (vinge.openprojects.net irc.openprojects.net) 01:06:33 --- quit: Fractal (vinge.openprojects.net irc.openprojects.net) 01:06:33 --- quit: ChanServ (vinge.openprojects.net irc.openprojects.net) 01:06:33 --- quit: Fare (vinge.openprojects.net irc.openprojects.net) 01:06:33 --- quit: Mongrel (vinge.openprojects.net irc.openprojects.net) 01:06:55 --- join: ChanServ (ChanServ@services.) joined #forth 01:06:55 --- join: Fare (fare@samaris.tunes.org) joined #forth 01:06:55 --- join: njd (melons@njd.paradise.net.nz) joined #forth 01:06:55 --- join: Mongrel (~ant@ool-435249eb.dyn.optonline.net) joined #forth 01:06:55 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 01:06:55 --- join: Fractal (szorahxj@h24-77-171-228.ok.shawcable.net) joined #forth 01:06:55 --- join: Robert (~Robert@dunder.net) joined #forth 01:06:55 --- join: goshawk` (goshawk@panix1.panix.com) joined #forth 01:06:55 --- mode: vinge.openprojects.net set +o ChanServ 01:06:57 --- quit: Robert (vinge.openprojects.net irc.openprojects.net) 01:06:58 --- quit: Mongrel (vinge.openprojects.net irc.openprojects.net) 01:06:58 --- quit: Fare (vinge.openprojects.net irc.openprojects.net) 01:06:58 --- quit: goshawk` (vinge.openprojects.net irc.openprojects.net) 01:07:00 --- quit: Soap` (vinge.openprojects.net irc.openprojects.net) 01:07:00 --- quit: njd (vinge.openprojects.net irc.openprojects.net) 01:07:00 --- quit: Fractal (vinge.openprojects.net irc.openprojects.net) 01:07:00 --- quit: ChanServ (vinge.openprojects.net irc.openprojects.net) 01:07:06 --- join: ChanServ (ChanServ@services.) joined #forth 01:07:06 --- join: Fare (fare@samaris.tunes.org) joined #forth 01:07:06 --- join: njd (melons@njd.paradise.net.nz) joined #forth 01:07:06 --- join: Mongrel (~ant@ool-435249eb.dyn.optonline.net) joined #forth 01:07:06 --- join: Soap` (~flop@202-0-42-22.cable.paradise.net.nz) joined #forth 01:07:06 --- join: Fractal (szorahxj@h24-77-171-228.ok.shawcable.net) joined #forth 01:07:06 --- join: Robert (~Robert@dunder.net) joined #forth 01:07:06 --- join: goshawk` (goshawk@panix1.panix.com) joined #forth 01:07:06 --- mode: vinge.openprojects.net set +o ChanServ 02:10:41 --- quit: njd ("subaru tecnica international | nissan motorsports international") 04:53:32 --- join: dsmith (firewall-u@cherry7.comerica.com) joined #forth 05:19:13 --- join: sif (~sifforth@ip68-14-9-225.ri.ri.cox.net) joined #forth 05:19:13 Type sif: (or /msg sif to play in private) 06:17:43 --- quit: dsmith ("later..") 06:45:46 --- join: dsmith (firewall-u@cherry7.comerica.com) joined #forth 07:02:49 --- join: I440r (~mark4@1Cust170.tnt2.bloomington.in.da.uu.net) joined #forth 08:05:52 --- quit: clog (^C) 08:05:52 --- log: stopped forth/02.07.23 08:06:05 --- log: started forth/02.07.23 08:06:05 --- join: clog (nef@bespin.org) joined #forth 08:06:05 --- topic: 'Our mantra: Frequent incremental releases | Forth OS - the ultimate coder's dream | x86 Linux Forth coded in asm - http://isforth.clss.net | home of forth - http://www.ultratechnology.com' 08:06:05 --- topic: set by futhin on [Sat Jul 06 20:08:37 2002] 08:06:05 --- names: list (clog I440r dsmith sif Etaoin Fare Mongrel Soap` Fractal Robert goshawk` @ChanServ) 08:39:49 --- quit: Robert (Remote closed the connection) 08:44:51 --- join: Robert (~Robert@dunder.net) joined #forth 08:50:34 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 08:50:50 A little more people in here than usual... :) 08:54:01 Fare: I'm not sure if you're at keyboard or not, but I've been doing some thinking on orthogonal persistence. Would you consider a "hybrid" system to be viable at all? That is, a system where individual process swap spaces are kept in separate files on a high performance filesystem of some kind on the boot partition? Data for programs would still be explicitly loaded or saved, especially for volumes other than the boot volume. 08:54:57 ... 08:54:58 However, once data is loaded into a program, it would be persistent because it's now in the swap space. 08:55:42 that's a beginning 08:56:11 but then, you theoretically can do it on Unix already (except for tricky fsync() business) 08:57:37 Unix doesn't persist the state of each process, so I can't just unplug the computer, plug it back in, and resume where I left off. It'd have to go through its whole boot-up cycle and I'd have to re-run all the programs again. 08:57:49 (that is, swapping *reliably* is not completely trivial) 08:58:16 Right. :) I've noticed that every persistent system uses at least a journal to support its swapping and checkpointing system. 08:58:20 what I mean is that you could write persistence in user-space on top of the unix api. 08:59:03 you can use a journal, a phase tree, a log-structured system, etc. 08:59:25 * kc5tja loves the simplicity of phase trees. :) But I digress. Continue please. 09:00:01 I suppose you wouldn't even really need to do that. You could just mmap() a large file into the process' address space, and run off of that. 09:00:14 actually, a journal is actually something that kind of combines a phase tree for the old generation with a log structure for new generation 09:00:48 the problem with mmap() is maintaining atomic update of the phase tree or log structure 09:00:58 you must fdatasync() 09:02:18 but that blocks your process for some time (but then you can fork a process that does the fdatasync then exits) 09:02:26 Hmmmm...how would you catch page faults and support checkpointing then? I don't think Linux/Unix gives you that kind of flexibility at the API. It'd be all brute-force type stuff. 09:02:47 you can mprotect() pages 09:02:55 you can't do fine-grained mmap()ing 09:03:14 (or it may kill performance, depending on your kernel version) 09:03:21 WOW...I *totally* didn't know that function existed in Unix. 09:03:48 But it has to be on memory that you've allocated with something like malloc, correct? 09:03:55 mmap, rather 09:04:08 mmap to a large swap file 09:04:28 you large swap file may have holes 09:04:52 (but then, be sure to touch and fill the holes before you reliably need them) 09:05:58 OK, so I'd create a new (large) file, mmap() it into the address space, and fill it all with zeros to start with. 09:06:26 Then, when checkpointing, I mprotect() all the pages as read-only, so that any write access to a page segfaults. 09:06:35 no. you create it, you seek a large size, write zeros here, and the rest is holes. 09:06:47 and now you can mmap it 09:07:06 and mprotect parts 09:07:55 OK, but I still don't see how to get fault information from the SIGSEGV signal handler. 09:08:02 ouch 09:08:14 that's a tricky part 09:08:15 (ask the sbcl coders about it!) 09:08:26 it depends on your processor, your kernel, its version, etc. 09:08:56 * kc5tja nods -- I understand that. It's hard to encapsulate something like that into a nice, portable API. 09:09:03 i.e. different between linux/ppc 2.2 and 2.4, and even more different if you use the glibc2.1 or 2.2 09:09:05 Are you aware of how to do it under Linux, if it's even possible at all? 09:09:28 "nice, portable API" - hum, not sure that's possible 09:09:43 I know it's utterly impossible for something as low-level as this. :) 09:10:18 lately, some of it has been standardized, so the vendors may have been converging - but the sbcl guys find there are subtle "features" that seem typical of implementors only caring that it should work for C programs 09:11:03 but apparently, it's doable - just lots of grunt work and bad surprises 09:11:22 once again, the sbcl folks seem to have solved the problem on many platforms 09:11:48 Hmmm 09:11:50 so they may catch processor exceptions and reflect them back into language exceptions 09:11:51 What is sbcl? 09:12:00 --- quit: Mongrel ("My damn controlling terminal disappeared!") 09:12:07 ask ?? sbcl on #lisp 09:12:57 OK, cool. I'll have to check their stuff out soon. 09:13:05 originally a spawn of cmucl 09:13:17 they have cleaned up the code considerably 09:13:35 made it portable for bootstrapping from other lisps 09:13:44 and cross-compiling to many platforms. 09:14:35 gotta go 09:14:46 --- join: Mongrel (~ant@ool-435249eb.dyn.optonline.net) joined #forth 09:14:57 Yeah, me too. I need to get to work. 09:15:13 THanks for the information, though I'm still a bit confused about how to use mprotect/mmap as you were describing. 09:15:21 I just don't see the reason for taking those measures. 09:15:24 btw, the RScheme people have implemented a persistent system based on just that principle 09:15:52 This should allow me to play with some ideas and see what works and what doesn't before I get into any serious coding efforts. 09:16:00 actually based on the Texas Persistent Store 09:17:01 OOoo...looks like I might be able to use sigaction() to get additional information on a fault. 09:17:32 When registering a signal handler with that, apparently you can take a parameter to a siginfo_t structure which contains a fault address field and an errno value. 09:17:41 I'll have to experiment more with this. 09:17:53 Thanks again for the information. I'll be filing this away for future reference. 09:31:01 btw, another way is not to mmap() a file, but use mprotect() to maintain your dirty page list and flush manually 09:31:34 this can be lower level than mmap() and fdatasync(), but on the other hand, it's more immediately portable to a barebones system 09:31:38 d 09:31:53 uh 09:32:35 and I'm told that on modern GHz processors, it's not even that slow 09:32:45 as compared to the other method 09:36:58 --- nick: Fare -> FareAway 10:05:23 was reading the scrollback - kc5 in linux malloc and its relatives are done via mmap - to "malloc" a block of memory you do an anonymous mapping (you map NO file) 10:05:49 or you can map /dev/zero (but i had problems with this hehe) 10:10:10 you cant mprotect the mapping of /dev/zero even if you have closed the file - if /dev/zero only has READ permissions on the file you will get READ permissions on the mapping, no other permissions 11:04:50 Hey I440r 11:04:58 How's IsForth going? 11:05:40 Uhm... is dynamic memory and DNS stuff working? 11:05:46 I'd really want to try it :) 11:14:42 memory alloc yes 11:14:47 dns no 11:14:52 Awww :-/ 11:14:54 not had a chance to work on it in teh past few days 11:15:01 The rest of the networking? 11:15:06 Server stuff working? 11:15:18 not worked on it heh 11:15:35 --- join: kc5tja_ (~kc5tja@user-24-214-86-42.knology.net) joined #forth 11:15:45 Aww... 11:15:47 to do server you would need cloning and forking which i havent worked on 11:15:50 Hey kc5tja_ 11:16:01 there might be problems with SOME of teh existing code and "reentrancy" 11:16:04 re -- I accidently left myself logged in at home. Oh well. 11:16:06 I440r: I meant listen() and bind() actually ;) 11:16:13 oh 11:16:25 dunno - i cant remember if i sorted them out or not heh 11:16:27 Well, multithreading would be nice. 11:17:52 btw i AM at work here hehe (hardly working!!!!) 11:18:25 Found a job finally? What is the position? Or is this in your gunsmithy? 11:20:09 no im on a contract :) 11:20:13 first part is working from home tho 11:20:31 its to do an update on a PIN encrypt board for teh post office 11:20:36 for a stamp vending machine 11:20:52 they have a little circuit board behind teh keyboard that encrypts the PIN number for credit cards 11:21:01 well they went and lost all the source files and want an update 11:21:06 so i have to reverse engineer it all :) 11:21:29 right now im looking into cost for development tools and ICE etc for 8051 11:21:45 fucking keil costs $2500 for a compiler and assembler 11:21:48 eep! 11:23:33 Heh. 11:23:42 Sounds like a competent post office. 11:23:49 They'll probably forget to pay you. 11:24:11 no they contracted it out to another company 11:24:34 and its OXFORD who pays me - if the post office forgets to pay oxford then thats oxfords problem not mine :) 11:24:59 I see... well, congratulations :) 11:25:21 $30 per hour from home 11:25:29 no per diem :( 11:26:12 Ooohh.. $30 per hour is hell of a lot :) 11:26:22 not realy 11:26:25 Yes. 11:26:43 My mom is pretty well paid, I think she gets like $15 11:26:56 whuss she do ? 11:27:29 I440r: Sounds like a cool gig. 11:27:55 I440r: I had to reverse enginner some 6805 code once. 11:29:06 well im an expert at reverse engineering, thats how i learned to code in the first place. plus i have a HUGE advantage 11:29:12 i baught IDA Pro :) 11:29:27 I440r: Network technician... only knows some Windows stuff, can't even turn a UNIX machine on :-/ 11:32:27 dammit - you figured me out :P 11:35:19 I440r: I work for a chip manufacturing plant. I have no degrees. I'm being paid one of the highest rates you can get without a degree. It's $17.15/hour. Believe me, your $30/h is *damn good*. 11:38:14 Bah! Degrees are nothing. 11:38:39 If a company needs a job done, and you can do it, thay don't care. 11:38:51 Bullshit. 11:39:00 That just goes to show you how little experience you have in the job market. 11:40:00 kc5tja_: I'm 42 years old. I have trhee kids and a mortgage. My wife hasn't worked since my 17year old was born. I have no degree. 11:40:03 It took me six years to get the job I have now -- and I couldn't afford to go to school in the meantime. How did I do it? I helped start two ISPs and got myself technical and managerial experience. And even then, my pay is *HALF* what it should be, *PURELY* because I don't have a degree. 11:41:04 I should be doing software engineering, not chip verification. The company wouldn't even look at me without the degree. 11:41:48 I don't care how old you are, or what your finincial or marital status is. At least in my field of expertise, degrees are everything. 11:43:18 kc5tja_: What I was trying to say was that I'm supporting my family nicely. I've never been out of work. 11:44:09 kc5tja_: ever try to support a family on a "single income"? 11:44:33 I don't have a family. 11:44:50 But I have been out of work for quite some time. And it's not at all fun. 11:46:24 I couldn't afford a family now even if I had one anyway. 11:47:07 dsmith if your wife was working too it would COST YOU MORE. 11:47:17 for one - both of you would have to pay for teh gas to get to work 11:47:23 and the meals at work 11:47:35 there are alot of overheads involved with having both parents at work 11:47:46 the women should stay at home 11:47:51 chained to the dish washer :P 11:47:55 kc5tja: I think I'm making about $35 and hour right now. I'm not sure. 11:48:05 dsmith: What do you do? 11:48:11 I440r: Actually, we home schooled out kids. 11:48:12 Self-owned business? 11:48:52 dsmith - thats another thing i would insist on, theres NO way im sending my kids to some politaically correct bullshit brainwashing public school 11:49:01 if i had any that is heh 11:49:22 No, you'd rather have them stay home and learn from politically incorrect bullshit brainwashing private education. :) 11:49:37 Any education, public or private, is brainwashing. 11:49:45 kc5 exatly! 11:49:53 erme exactly even 11:49:58 Thus, there's no need for such a long string of explatives. 11:50:06 kc5tja Right now, I'm doing firewall stuff. 11:50:18 kc any kids of mine will be brainwashed by me and my wife 11:50:53 However, if I had kids, I'd also homeschool them. I want my kids (IF I have kids; it's not even a matter of when) to have a *SOLID* foundation in the sciences and mathematics, along with critical thinking. Also, I insist that martial arts be part of their education as well. 11:52:07 bbl - working (hardly!!!) 11:52:44 dsmith: For someone else, or for yourself? 11:53:25 * kc5tja_ would still be in business for himself if it weren't for the shitty economy. 11:53:38 Too bad there is no way to make any serious money on starting your own open source project. 11:54:28 kc5tja: I work for a small company, http://www.altustech.com 11:56:27 * kc5tja_ would love to go into business either doing research on bladeless turbine engines, or developing Dolphin. 11:56:37 But there is no way either will happen at all. 12:02:20 kc5tja_: But I've done lot's of different things. Embedded systems. (hw and sw). My first job was reparing mainframes. 12:10:54 That was back then. 12:11:00 Today, it doesn't work that way anymore. 12:11:07 NOT, that is, unless you go into business for yourself. 12:11:16 And that is just too expensive to do in such a down economy. 12:13:26 I'm saying that experience means a lot. 12:14:00 Not anymore. 12:14:07 Not unless your experience dates back 20+ years. 12:14:11 Which mine doesn't. 12:24:38 kc5tja: When you have 20+ years of experince, degrees don't mean much. 12:25:04 kc5tja_: 20 year old stuff is useless. 12:26:17 The problem is, I don't have 20+ years experience in many fields that I want to go into. And as you say, 20 year old stuff is useless, quite often including that experience. 12:27:37 This is a chicken and egg problem. How do I get those 20+ years of experience, if I can't be hired for one year because of lack of degree? 12:27:51 No offense, but this isn't the 70s anymore. :( 12:30:45 But experience teaches you how to approach and solve problems 12:31:04 "Good judgemet comes from experiece, and experience from bad judgement" 12:31:36 You're not understanding the problem. 12:31:59 I can't even make bad judgements about the topics I'm interested in because I can't put myself into a situation where I *CAN* make those bad judgement.s 12:32:45 There is definitly a catch 22 thing. 12:48:47 --- join: tcn (tcn@tc2-login48.megatrondata.com) joined #forth 13:37:29 --- quit: Mongrel ("BitchX: its not your ordinary stick of gum") 13:57:29 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 13:57:39 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 13:58:06 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 13:58:59 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 13:59:05 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 13:59:46 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 14:03:08 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 14:03:39 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 14:04:35 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 14:05:16 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 14:06:02 --- quit: kc5tja (Remote closed the connection) 14:19:58 --- quit: tcn ("Leaving") 14:25:21 --- quit: dsmith ("later..") 14:39:41 --- nick: FareAway -> Fare 14:53:19 --- nick: kc5tja_ -> kc-food 15:49:14 --- quit: Fare (bear.openprojects.net irc.openprojects.net) 15:49:19 --- join: Fare (fare@samaris.tunes.org) joined #forth 16:37:36 --- join: cleverdra (julianf@0-1pool36-25.nas2.florence1.sc.us.da.qwest.net) joined #forth 16:39:54 --- quit: I440r (Read error: 113 (No route to host)) 16:48:38 --- quit: Fare (Read error: 113 (No route to host)) 16:52:52 --- join: CrowKiller (Vapo_Rulez@cnq5-233.cablevision.qc.ca) joined #forth 16:56:53 --- join: I440r (~mark4@1Cust213.tnt2.bloomington.in.da.uu.net) joined #forth 16:57:06 hi 16:57:36 hello Crow 16:58:52 hi :) 17:00:26 --- nick: kc-food -> kc5tja 17:00:48 my compiler's core is now 140 bytes exactly 17:01:02 --- join: tathi (~josh@ip68-9-68-213.ri.ri.cox.net) joined #forth 17:01:10 i only need a good starting set of primitives and it will be finished 17:01:35 crow - cool. 17:11:11 the optimization used at http://www.colorforth.com/install.htm by chuck moore could be easly used in that compiler 17:12:34 almost all the macros that put something on the stack start with dup and some macros use drop at their end 17:12:46 one of the trick is "When one macro ends with 'drop' and the next starts with 'dup' both may be eliminated " 17:13:06 so in the compiler chuck used the word ?dup to do that optimization 17:13:34 a dup word at the compiler that checks at compilation time if its needed, but maybe this could be done at the edit time 17:14:09 I really dont know what primitives to choose lol 17:14:35 I can't wait to resume work on FS/Forth again. 17:14:44 FS/Forth? 17:14:48 I've been so doggone busy lately, that I simply haven't even had time to participate in this channel. 17:14:58 FS/Forth is my Forth dialect that I'm writing. 17:15:22 * cleverdra gets the feeling has FS/Forth has been previously explained to him. 17:15:24 For DOS to start with, and will eventually be used to implement its 32-bit big brother. 17:15:47 It's the primary language I'll be writing Dolphin in. 17:16:11 all my code is for 32 bit flat pmode, it works with 32 bit wide adresses for calls and all memory references 17:16:20 Ah. 17:17:15 kc5tja: your primitives are inspired by machineforth IIRC? 17:41:19 --- quit: cleverdra ("Leaving") 17:41:53 CrowKiller: Yes, but they're more complicated than MachineForth. 17:46:00 i think colorForth might be a reference when it gets to primitives 18:06:11 --- quit: tathi ("leaving") 18:07:11 MachineForth existed before ColorForth 18:07:29 Colorforth should be an improvement 18:07:36 i dont really know machineforth 18:07:43 ColorForth just popularized it. :) 18:08:05 the c18 instruction set is like machineforth 18:08:17 but from waht i've read not quite like it exactly 18:08:20 My "MachineForth" is based more on a register architecture than on a stack architecture. They're 1-operand stack primitives. 18:08:34 The c18 set *IS* MachineForth. 18:08:46 Literally. The MuP21 is a chip that executes MF directly. 18:08:57 c18 improves on it a little bit. 18:09:01 ok then I know machineforth more than I thought ;p 18:09:05 :) 18:09:21 one operand stack primitives 18:09:21 I chose a 1-operand system for my MF because it mapped better to x86 for my needs. 18:09:34 what do you mean ? 18:09:56 So, for example, I have words like #+, which when used like 56 #+, it emits "add ebx,56". 18:10:47 It's smaller and easier to support than 56 #, +, which translates to "mov [ebp-4],ebx; sub ebx,4; mov ebx, 56; add ebx,[ebp]; add ebp,4" 18:11:30 #+ is like a litteralplus? 18:11:34 Yes. 18:13:06 litteral oprimization is a great concern to me when im thinking about primitives 18:13:12 And yes, I do have much more than 32 opcodes. :) I'm up to around 80 or so, each of which maps to one instruction on x86. 18:13:43 ha ok, its much like a rpn assembler 18:13:59 More or less, yes. But it's still Forthy. 18:14:11 its great, dont loose time to write assembler after 18:14:34 And the results it produces, while still not the best (there's room for a LOT of brain-dead optimization), certainly isn't the worst either. 18:16:48 Code size is only 33% larger than what Pygmy produces, which is 100% in line with what I expected, going from direct threaded to native code. 18:17:02 I don't have enough to test performance yet though. 18:17:28 ill try to come up with a sweet balance of elegance and performance 18:18:10 BTW, any word on what Chuck is doing these days? 18:18:26 to optimize my code for the compiler, I simply looked at NASM's listing output of each routine with notepad 18:18:30 no idea 18:18:37 jeff fox is quite busy too 18:18:56 Nice. I wonder what's next in store for the Forth community. 18:19:57 a mix between colorforth and aha, made by the master themselves ;o) 18:20:42 Well, all I can say is that Dolphin is going to be written in Forth, and it'll be damn nice to work with it in that language. I'll be using an exokernel architecture. 18:21:14 each app will be a piece of the kernel? 18:21:36 No. The kernel only protects hardware; applications and the OSes they run under will be in user-space. 18:22:25 what protections? pmode segmentarization of memory? 18:23:05 Depends on the device. 18:23:35 Memory is protected using paging, disks are protected at the block level, etc. 18:23:43 Protection means different things for different devices. 18:30:07 I'll go print out all the colorforth source and ill try to come up with the best primitives mixture 18:30:22 all of chuck's optimizations are great 18:30:34 but I woudl like my compiler to be the smallest possible 18:31:04 the editor would get more complex but overall it would be better 19:01:43 --- join: futhin (~thin@h24-64-175-61.cg.shawcable.net) joined #forth 19:02:16 hi 19:03:04 hello 19:26:37 --- quit: futhin ("later") 19:26:47 --- quit: CrowKiller ("User pushed the X - because it's Xtra, baby") 19:34:50 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 20:44:28 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 20:47:07 --- quit: Fractal (Read error: 110 (Connection timed out)) 20:47:07 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 20:47:51 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 20:48:48 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 20:49:13 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 20:50:11 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 20:50:39 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 20:51:49 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 20:52:09 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 20:53:14 --- quit: kc5tja (Read error: 104 (Connection reset by peer)) 20:54:45 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 20:55:05 --- quit: kc5tja (Success) 21:16:00 --- join: kc5tja (~kc5tja@ip68-8-206-226.sd.sd.cox.net) joined #forth 22:20:16 --- quit: I440r () 22:36:50 --- quit: sif (Read error: 110 (Connection timed out)) 22:51:36 --- quit: kc5tja ("THX QSO ES 73 DE KC5TJA/6 CL ES QRT AR SK") 22:53:58 --- join: Speuler (~l@p3E9B8E81.dip.t-dialin.net) joined #forth 22:54:11 'morning 23:59:59 --- log: ended forth/02.07.23