00:00:00 --- log: started forth/07.02.21 00:40:05 --- quit: Quartus (Read error: 104 (Connection reset by peer)) 00:45:08 --- quit: edrx (Read error: 145 (Connection timed out)) 01:05:24 --- quit: unfy (zelazny.freenode.net irc.freenode.net) 01:05:27 --- join: unfy (n=unfy@69.60.116.93) joined #forth 01:23:42 --- quit: JasonWoof ("off to bed") 01:41:34 --- quit: unfy (zelazny.freenode.net irc.freenode.net) 01:43:49 --- join: unfy (n=unfy@69.60.116.93) joined #forth 02:07:35 --- quit: imaginator ("sleep") 02:27:56 --- quit: slava () 02:41:33 --- quit: TreyB_ (Read error: 145 (Connection timed out)) 02:41:41 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 02:56:25 --- quit: TreyB (Read error: 145 (Connection timed out)) 03:01:39 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 03:45:44 --- quit: TreyB (Read error: 145 (Connection timed out)) 03:45:46 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 04:10:50 --- quit: neceve (Excess Flood) 04:11:14 --- join: neceve (n=Clau@unaffiliated/neceve) joined #forth 04:34:32 --- join: snowrichard (n=richard@12.18.108.130) joined #forth 04:34:49 hi 04:49:02 --- quit: snowrichard (Remote closed the connection) 05:05:56 --- join: arke (n=chris@pD9E046E0.dip.t-dialin.net) joined #forth 05:05:56 --- mode: ChanServ set +o arke 05:20:30 --- join: tathi (n=josh@pdpc/supporter/bronze/tathi) joined #forth 05:20:30 --- mode: ChanServ set +o tathi 05:34:36 --- part: ASau left #forth 05:42:46 --- join: timlarson_ (n=timlarso@65.116.199.19) joined #forth 06:38:17 good morning 06:38:32 hi 06:38:47 hi tathi 06:39:33 tathi: hey have you heard of an issue with gforth and its socket.fs with a 64bit linux system? 06:46:53 no, but I wouldn't have any reason to hear of it... 06:47:33 hmm. 06:47:57 crc and I can't seem to open a socket on 64bit system. It crashes with a error of invalid memory address 06:48:48 backtrace? 06:49:25 it doesn't crash the whole forth but it does throw the error 06:49:51 sure 06:50:07 where does it crash? can you paste the backtrace? 06:50:28 yes standby 06:50:30 thanks 06:51:53 I guess it does crash the whole system 06:52:58 tathi: http://retroforth.com/paste/?id=278 06:53:53 well, when executing non-interactively, gforth exits on uncaught exceptions. 06:55:23 Did you check that the structures in socket.fs match the actual structures that C is using? 06:56:16 yeah because it works on a 32bit machine 06:56:43 but I tried it on 64bit machine and so did crc with not luck 06:56:56 you'd have to check on the 64-bit machine. 06:56:59 crc thinks it maybe a cell issue 06:57:03 check the sizes and offsets of the structure fields 06:57:07 yes, exactly. 06:57:19 my cells are 8 06:57:33 ah. that would probably do it. 06:57:38 hmm. 06:57:55 then need to be 4 right? 06:58:06 I would guess so. 06:58:19 you'd have to check the hostent and sockaddr_in structures to be sure. 06:58:38 see what size they really are (in C). 06:58:54 let me think about it a bit. 06:59:13 ok 06:59:55 * erider needs to work on a socket library and wrap the common functions for toka :) 07:06:54 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 07:06:54 --- mode: ChanServ set +o Quartus_ 07:07:27 hi 07:10:19 hi Quartus_ 07:11:20 erider: on your system, pointers are 8 bytes, ints are 4, and shorts are 2? 07:13:11 hi tathi 07:16:05 what system be this? 07:16:34 64-bit linux 07:16:38 presumably x86_64 07:16:55 socket.fs doesn't work there 07:17:20 ah 07:17:44 everybody needs a hobby, I guess 07:17:55 ? 07:18:15 early adopters, fiddling with x64 07:18:44 ah. yeah. 07:19:47 I don't have an x64, but nothing stops you from running x32 linux on it, right? 07:20:56 I believe you can do that, but I don't really know anything about it. 07:21:47 Probably more than I do. 07:24:58 --- join: virl (n=virl@chello062178085149.1.12.vie.surfer.at) joined #forth 07:25:34 erider: http://qualdan.com/forth/socket64.fs might work for you 07:27:18 tathi: thanks 07:27:27 * erider is having a look at it now 07:27:36 --- join: grub_boote1 (n=charlie@d5152D937.access.telenet.be) joined #forth 07:31:14 tathi: that works cool! 07:37:15 --- quit: grub_boote1 (Read error: 104 (Connection reset by peer)) 07:46:20 --- join: Crest (n=crest@p54897229.dip.t-dialin.net) joined #forth 07:47:10 --- join: edrx (n=Eduardo@201.5.13.168) joined #forth 07:50:37 --- quit: Crest (Read error: 104 (Connection reset by peer)) 08:35:40 --- quit: edrx (Read error: 145 (Connection timed out)) 09:35:03 --- join: TreyB_ (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 09:43:19 --- quit: TreyB (Read error: 145 (Connection timed out)) 10:00:05 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 10:07:42 --- join: edrx (n=Eduardo@200.217.105.121) joined #forth 10:08:08 --- quit: TreyB_ (Read error: 145 (Connection timed out)) 10:38:33 --- quit: Quartus_ (Read error: 104 (Connection reset by peer)) 11:01:33 --- join: iano (n=iosgood@gw-pdx.extensis.com) joined #forth 11:04:59 --- join: JasonWoof (n=jason@c-71-192-30-169.hsd1.ma.comcast.net) joined #forth 11:04:59 --- mode: ChanServ set +o JasonWoof 11:18:12 --- quit: edrx (Read error: 145 (Connection timed out)) 12:28:07 --- quit: TreyB (Read error: 145 (Connection timed out)) 12:28:12 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 12:45:59 --- join: Snoopy_1711 (i=snoopy_1@dslb-084-058-167-192.pools.arcor-ip.net) joined #forth 12:46:44 --- quit: Snoopy42 (Nick collision from services.) 12:47:19 --- nick: Snoopy_1711 -> Snoopy42 12:55:42 --- quit: TreyB (Read error: 145 (Connection timed out)) 12:58:11 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 13:01:06 which real 'portable' applications are around? 13:03:01 me 13:07:31 viri: FCP is as portable as I could make it 13:08:06 though it does need a definition for "ms@" (a millisecond timer) 13:08:51 http://www.quirkster.com/forth/fcp.html 13:14:59 --- quit: TreyB (Read error: 145 (Connection timed out)) 13:15:02 --- join: edrx (n=Eduardo@201.5.14.35) joined #forth 13:16:30 iirc, ms is standard but ms@ isn't? 13:18:15 viri: right 13:18:59 viri: Win32Forth had ms@, and I provided similar implementations for other popular forths (VFX, Swift, gforth, etc) 13:19:47 damn, I really would like to have a tool which would do that annoying porting stuff for me. in the sense of adding word implementations which aren't standard. 13:19:53 viri: the only thing you get from the standard is TIME&DATE, which only has resolution to the nearest second. 13:20:24 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 13:22:28 or producing wrappers for C libs 13:31:23 --- quit: timlarson_ (Read error: 104 (Connection reset by peer)) 13:38:12 --- join: TreyB_ (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 13:38:34 --- quit: TreyB (Read error: 145 (Connection timed out)) 13:40:50 has anyone here used the socket library in gforth if so can someone have a look at this a please point me in the right direction http://retroforth.com/paste/?id=279 13:46:29 erider, an irc bot in forth? 13:46:51 I've done socket stuff in C, but not forth yet 13:47:19 yeah I think that would be a good way for me to learn forth 13:49:04 I still think the IRC stuff would be more educational, so you should do that first, and add sockets later if you feel like it. :) 13:50:28 I have an irc parser in gforth 13:50:50 yeah, if you're new to forth, I'd start with something you can do in native forth 13:50:53 then do networking 13:51:04 ffcall isn't bad, but I wouldn't start with it 13:51:18 some forths come with networking words 13:51:34 but I recommend learning on something standard 13:51:50 tathi: what do you mean by IRC? 13:52:31 everything to do with the IRC protocol. 13:52:36 parsing it, generating it, etc. 13:52:57 --- join: gnomon (n=gnomon@CPE0050eb372bdb-CM001692f57b56.cpe.net.cable.rogers.com) joined #forth 13:53:16 networking is annoying and not terribly educational 13:53:29 it's mostly poring over manual pages and digging up memory structires 13:53:39 yah, you could just use tcpclient 13:54:08 tcpclient irc.freenode.net 6667 gforth mybot.fs 13:54:09 :) 13:54:22 the linux networking stuff is irritating in C 13:54:42 and much more so in forth, since you basically have to write your own header files 13:55:00 I'm trying to make something now that will connect to irc server. It connects but when I use write-file to join a channel I get timeout 13:55:07 Forth really needs a wrapper generator... 13:55:11 erider: you should ask on comp.lang.forth They've been discussing sockets (and a simple IRC client) recently. 13:55:21 --- join: mark4 (n=mark4@70.102.202.162) joined #forth 13:55:28 virl: nah 13:55:32 I mean something where only say: it that and it puts the forth code into a file for you. 13:55:34 --- nick: mark4 -> I440r 13:55:44 --- mode: ChanServ set +o I440r 13:56:14 JasonWoof, what is the differecne for you when you need to copy every part of a struct in C in a piece of forth code? 13:56:36 btw. a generator would do that much better than you.. 13:56:55 what I find irritating and difficult about making wrappers is finding all the constants and such info 13:57:10 which I don't think you could automate 13:57:27 constants? you mean #defines? 13:57:30 it's easier to use a little C program that includes the headers and dumps the values of the constants 13:57:33 yes 13:57:58 also, I like wrappers that have had some thought put into them 13:58:00 to use a little C program, man that's a wrapper generator. 13:58:06 I want to program in forth, in forth style 13:58:08 not in C style 13:58:20 heretic :) 13:58:33 it doesn't generate a wrapper, it just tells me the value of constants 13:58:37 --- join: gnomon_ (n=gnomon@CPE0050eb372bdb-CM001692f57b56.cpe.net.cable.rogers.com) joined #forth 13:58:44 for me forth style isn't doing senseless work. 13:59:05 here's the C code: #define p(A) printf("%18s %10d %10x\n", #A, A, A) 13:59:07 that's like renaming Uppercase filenames into lowercase one, manually.. 14:00:41 I'm saying I don't want a simple illiteration of the C api 14:00:48 I want intelligent forth-style api 14:00:52 so it requires thought 14:00:57 thus a human doing it 14:01:15 some tools can be useful obviously 14:01:17 I don't say that a generator is the same as C api 14:01:45 but I'm not imagining anything sophisticated enough that I'd call it a "wrapper generator" being much use 14:02:01 more than likely it'll generate crap that you shouldn't use, but will anyway because it's there and works kinda 14:02:59 well, I meant that it should generate constants which are stuffed into structs or defines. 14:03:03 I wrote a mysql wrapper for gforth 14:03:07 it's very nice 14:03:17 but only because I put some thought into it, and designed it in a way that works well in forth 14:03:59 erider: s" doesn't understand \r\n 14:04:31 you write it like if I wouldn't do that 14:04:49 erider: try s\" 14:04:50 virl: huh? 14:05:47 also I think technical limitations, complexity, and bugs would make a wrapper generator all but useless 14:06:26 C headers are increadibly complicated 14:06:57 eh. it's probably more bother than it's worth, but it's getting closer to possible. 14:07:13 give gcc another year or two and I bet it will be easy to write such a thing. 14:07:28 --- part: edrx left #forth 14:08:36 --- join: imaginator (n=George@georgeps.dsl.xmission.com) joined #forth 14:08:41 giving it time? why do you think that then it will be possible? 14:09:10 virl: could you rewrite this in a way I can understand? "you write it like if I wouldn't do that" 14:09:13 they seem to be moving in that sort of direction. 14:09:37 for instance, libffi is now maintained as part of gcc 14:09:48 hi 14:10:14 I don't know a way (in C) to find out what members a struct has, and where they are in memory 14:10:23 perhaps you can do this with libffi 14:10:25 --- quit: gnomon (Read error: 110 (Connection timed out)) 14:10:39 JasonWoof: there is an offsetof macro that some systems provide that can give you struct offsets 14:10:49 imaginator: cool 14:11:03 well, actually finding the memory address would be easy, if you had the name 14:11:23 struct s; 14:11:30 struct *s; 14:11:36 I know how that needs to done and wrote a little generator which prints for me some helper words 14:11:45 offset = s - &(s->field); 14:12:24 and I meant with that sentence that I got the feeling that you think that I don't think carefully when I write an api 14:12:55 virl: I wasn't saying anything about you thinking. I was saying that an automated wrapper generator doesn't think. it just translates directly 14:13:07 JasonWoof: I'm just pointing out that gcc already knows how to parse C files, and libffi is a sign that there's some interest in opening it up. 14:13:36 JasonWoof: so it's possible that, in time, they might have an api or tool that would let you create a wrapper generator fairly easily. 14:13:42 tathi: yeah, that's very cool. If you could use libffi to get a list of struct member names, then I could totally see writing some app to help write wrappers 14:14:08 JasonWoof, for that there already macros in C 14:14:10 however, I don't think it would be useful to write something that tries to parse the C header files 14:14:11 #define offsetof(type, member) ((size_t)(unsigned long)(&((type *)0)->member)) 14:14:20 that's how NetBSD defines it 14:14:39 yep, that one. 14:14:58 JasonWoof: yeah, I'd agree with you there. 14:15:02 imaginator: that's clever 14:15:27 JasonWoof: I've got a little C parser that uses lexx and yacc. It wouldn't be that difficult to modify it to dump structure members. 14:15:43 imaginator: cool 14:16:27 well, sounds like it'd be a lot easier than I thought 14:16:27 --- join: arke_ (n=chris@pD9E054EA.dip.t-dialin.net) joined #forth 14:16:34 I gotta go make dinner 14:16:40 ttyl 14:16:56 here's the parser code http://www.xmission.com/~georgeps/tmp/COOP-45.tar.bz2 14:17:12 ok, JasonWoof. ttyl 14:19:06 thus far the most difficult part of parsing C has been adding all of the GNU compatibility 14:20:08 the extended C asm syntax was somewhat tricky. I wrote COOP to provide single and double linked-list operators, and eventually string operators. 14:24:59 Strangely enough, someone has already written a wrapper generator for a number of languages - SWIG: http://www.swig.org/ 14:26:00 Knock yourself out and write one for your favorite Forth variant. 14:27:16 yeah...last I looked, the SWIG documentation didn't make it easy to figure out how to write something to get the kind of output I wanted. 14:27:22 that was quite a while ago though... 14:32:05 --- quit: arke (Read error: 110 (Connection timed out)) 14:37:16 --- quit: iano () 14:37:32 --- join: iano (n=iosgood@gw-pdx.extensis.com) joined #forth 14:56:12 hmm 14:56:55 it looks like SWIG isn't intended to do that sort of thing, but that it might be possible to use it anyway. :) 15:02:50 'that sort of thing'? 15:03:43 it's not a full C parser 15:03:57 they expect you to create a pared down "interface file" 15:04:02 it's not intended to be run on the C headers. 15:04:42 and...the #include handling on the version I have is broken. 15:06:20 also...it looks like it just does text stuff. 15:06:34 i.e. it won't generate structure offsets for you. 15:06:48 ok so im looking at the updated source code for my project (updated by the koreans) and im seeing a new block of variablers commented as 15:06:54 / Read-only variables 15:06:59 er thats // 15:07:11 so you couldn't just generate Forth output, you'd have to write a module which would generate C code, and then run *that* through the C compiler to generate Forth code. 15:08:30 urgh.. 15:09:09 well. writing a C program which does that directly is more convenient 15:11:32 offsetof is even Standard C 15:12:25 good evening 15:14:04 I440r: that sounds odd 15:14:15 it sounds rediculous lol 15:14:22 its on a par with Write Only Memory 15:14:47 what is offsetof ? 15:14:52 how do you use it i mean 15:15:34 #define offsetof(type, member) ((size_t)(unsigned long)(&((type *)0)->member)) 15:15:49 ok can you find a less obfuscated example lol 15:15:49 offsetof(sockaddr_in, sin_port) 15:15:56 aha much better 15:15:58 er. that was the definition. 15:16:13 just a macro for the C preprocessor 15:21:19 I don't understand why they cast to unsigned long and then to size_t though. 15:21:26 Seems kind of silly. 15:23:45 that's typical for type systems, typecasting wherever possible to follow the idea. 15:24:22 lol 15:24:56 it's from NetBSD; I'm sure there's a good reason for it. 15:25:10 and the idea is: 'heh, it could be on one silly system that size_t isn't a unsinged long' 15:25:26 what are you talking about? 15:25:42 --- quit: virl ("Verlassend") 15:34:31 --- quit: arke_ (Remote closed the connection) 15:35:44 --- quit: virsys (Remote closed the connection) 15:36:56 --- join: virsys (n=virsys@or-71-54-194-74.dhcp.embarqhsd.net) joined #forth 15:40:30 anyway, if you really want to do it right, you have to do it by hand anyway. 15:40:33 http://dec.bournemouth.ac.uk/forth/euro/ef06/ertl06.pdf 15:41:25 parts of it 16:07:18 --- join: nighty^ (n=nighty@sushi.rural-networks.com) joined #forth 16:22:28 --- quit: I440r (Read error: 110 (Connection timed out)) 16:48:19 --- quit: tathi ("leaving") 17:17:59 --- join: nighty^^ (n=nighty@sushi.rural-networks.com) joined #forth 17:20:48 --- quit: nighty^ (Read error: 145 (Connection timed out)) 17:24:14 --- join: slava (n=slava@CPE0080ad77a020-CM000e5cdfda14.cpe.net.cable.rogers.com) joined #forth 17:24:14 --- mode: ChanServ set +o slava 17:30:39 --- quit: iano () 17:37:00 --- join: Quartus (n=trailer@CPE0001023f6e4f-CM013349902843.cpe.net.cable.rogers.com) joined #forth 17:37:00 --- mode: ChanServ set +o Quartus 17:37:39 what did I miss? 17:39:42 werty 17:39:54 new werties? 17:40:12 he's prolific. 17:40:31 He is that. 17:40:40 he gets even more frantic when he's ignored 17:41:00 but he's rich, and the world's greatest, and all that. 17:41:26 I see Doty continues. 17:42:05 "No potential new customers of Noqsi Aerospace use Forth as far as I can see, but many use Python. " 17:42:17 Noqsi Aerospace is him. 17:42:18 now, let me get this straight - "Noqsi Aerospace" is just Doty, right? 17:42:19 Just him. 17:42:28 and he has customers? 17:42:35 or is this a vacuous statement about the empty set? 17:42:39 Maybe he has a paper route. 17:42:52 haha 17:43:51 It's not only him, it's him operating out of his house. 17:44:07 why doesn't he just say "my clients"? 17:44:22 Um, maybe he's a self-aggrandizing dullard? 17:47:07 or is that no longer up for debate? :) 17:47:16 i think it is pretty clear 17:52:06 "Forth without an interpreter is about as much use as a chocolate teapot." --Andrew Haley 17:52:39 are there systems where the interpreter and heads are on the host? 17:52:50 and the interpreter compiles to temporary memory on the target? 17:52:57 There are systems without an interpreter. Bezemer's 4th thingy is a compiler only. 17:53:15 no interpreter at all sounds limiting 17:53:17 There are umbilical systems that target compile, yes 17:53:22 yes, it does 17:54:51 i'm working on my arm port again. the c library interface works for functions with integer arguments and returns now. 17:55:04 the only thing that remains is functions that take and return structs. 17:55:29 slava: do you use asm to do that? 17:55:35 a lot of stuff is way too slow on the arm, even though it is 400mhz. i'll need to do a lot of optimizations in the next release 17:55:54 400MHz, but ARM MHz, so. 17:56:10 imaginator: for the C library interface? basically the compiler compiles small stubs which move arguments from the factor stack to the C stack, call the C function, then move the return value to the factor stack 17:56:28 imaginator: well on some architectures arguments are passed in registers, etc, but that's the basic idea 17:57:23 yes, for the C library interface 18:02:25 which bits are slow? 18:05:14 --- join: Quartus_ (n=Quartus_@209.167.5.1) joined #forth 18:05:14 --- mode: ChanServ set +o Quartus_ 18:08:10 Quartus: the compiler and parser take too much time when loading code 18:08:27 ah 18:17:10 grrrr 18:17:12 mysqldump 18:17:19 then loaded onto another machine 18:17:36 and the special characters (unicode probably) didn't come through right 18:17:56 unicode is universally poorly supported, it seems 18:29:05 snot even unicode I don't think 18:29:13 it shows up right in my terminal/vim 18:29:19 just a with an umlout 18:38:22 hmmm 18:38:34 actually, apon further inspection, it seems to be hitting the new db just fine 18:38:38 php must be mangling it 18:41:44 hrm, fixed by adding this to my .htaccess: AddDefaultCharset latin1 18:42:16 I just assumed the db was messed up 18:42:34 because he's got it three different ways in the db dump 18:43:13 --- join: edrx (n=Eduardo@201.5.12.40) joined #forth 18:43:33 sometimes just "a" sometimes "รค" sometimes "ä" 18:44:49 JasonWoof: do you have different locale settings on the 2 machines? 18:45:14 I have AddDefaultCharset utf-8 on the new host 18:45:22 the old host probably doesn't specify anything 18:45:31 it is not run well 18:47:41 --- quit: crc (Remote closed the connection) 19:01:06 --- join: iano (n=iosgood@host-226-114.dhcp.pdx.edu) joined #forth 19:12:14 why don't you try using forth instead of php for web stuff? 19:14:01 --- part: edrx left #forth 19:46:46 --- quit: nighty^^ ("Disappears in a puff of smoke") 20:16:26 slava: I did 20:17:18 did anything come of it? 20:17:25 I had some fun 20:17:31 but it didn't seem convenient 20:18:25 --- join: crc (n=crc@pool-70-110-130-121.phil.east.verizon.net) joined #forth 20:18:29 --- mode: ChanServ set +o crc 20:18:36 mostly that I didn't have dynamically allocated arrays and hashes and automatic type conversion 20:19:00 that's not hard to create, and then other people can reuse your words 20:19:13 I didn't feel like it 20:19:19 or have time particularly 20:19:23 I did some cool stuff 20:20:18 I wrote a really nice mysql api 20:21:15 trouble is I make money by doing programming for other people's sites 20:21:48 I host most of them, but still, I think many of them would be upset when/if they found out that I used an obscure language that's hard to find hosting for 20:22:29 I wrote jasonwoof.com/evilcms.fs and jasonwoof.com/pay.fs 20:22:49 and this: http://jasonwoof.com/irclogs/c4th/ 20:23:31 cool 20:24:12 channel's kinda dead, but the parts of the viewer that are written are nice :) 20:24:41 I have big plans to make monthly and yearly indexes for it 20:24:56 but they on the way-back burner 20:28:32 ok, I did 8,000 little things today. time to focus on one project for hours 20:28:34 finally 20:28:50 ttyl 21:08:18 --- quit: virsys ("bah") 21:10:04 --- join: virsys (n=virsys@or-71-54-194-74.dhcp.embarqhsd.net) joined #forth 21:11:37 --- quit: virsys (Remote closed the connection) 21:28:07 --- join: virsys (n=virsys@or-71-54-194-74.dhcp.embarqhsd.net) joined #forth 22:10:46 --- quit: iano () 22:15:18 --- quit: TreyB_ (Read error: 145 (Connection timed out)) 22:26:02 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 22:35:27 --- quit: neceve (Remote closed the connection) 23:01:35 --- quit: TreyB (Read error: 145 (Connection timed out)) 23:10:40 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 23:28:24 --- quit: TreyB (Read error: 145 (Connection timed out)) 23:28:42 --- join: TreyB (n=trey@cpe-66-87-192-27.tx.sprintbbd.net) joined #forth 23:37:13 --- quit: TreyB (Read error: 145 (Connection timed out)) 23:59:59 --- log: ended forth/07.02.21