00:00:00 --- log: started forth/19.02.05 00:30:08 --- quit: dys (Ping timeout: 246 seconds) 01:01:34 --- join: xek__ (~xek@apn-31-0-23-83.dynamic.gprs.plus.pl) joined #forth 02:02:43 --- quit: ashirase (Ping timeout: 250 seconds) 02:06:15 --- quit: gravicappa (Ping timeout: 245 seconds) 02:06:56 --- join: ashirase (~ashirase@modemcable098.166-22-96.mc.videotron.ca) joined #forth 02:28:53 --- join: pierpal (~pierpal@host132-240-dynamic.52-79-r.retail.telecomitalia.it) joined #forth 02:38:12 --- join: dddddd (~dddddd@unaffiliated/dddddd) joined #forth 03:06:17 --- quit: cheater (Ping timeout: 245 seconds) 03:15:37 --- join: cheater (~cheater@unaffiliated/cheater) joined #forth 03:50:16 --- join: gravicappa (~gravicapp@h109-187-17-233.dyn.bashtel.ru) joined #forth 04:17:35 --- quit: proteusguy (Remote host closed the connection) 04:30:32 --- quit: dave0 (Quit: dave's not here) 04:39:12 --- join: dave0 (~dave0@193.060.dsl.syd.iprimus.net.au) joined #forth 04:40:18 re 04:43:17 hey 04:44:01 hi smokeink 04:55:21 --- quit: smokeink (Remote host closed the connection) 04:59:39 --- join: smokeink (~smokeink@118.131.144.142) joined #forth 06:02:22 --- quit: smokeink (Quit: Leaving) 06:38:08 --- quit: dave0 (Quit: dave's not here) 07:32:33 --- quit: tabemann (Ping timeout: 272 seconds) 07:39:01 --- join: proteusguy (~proteusgu@cm-58-10-154-147.revip7.asianet.co.th) joined #forth 07:39:01 --- mode: ChanServ set +v proteusguy 09:04:28 --- quit: proteusguy (Remote host closed the connection) 09:06:07 --- join: proteusguy (~proteusgu@cm-58-10-154-147.revip7.asianet.co.th) joined #forth 09:06:07 --- mode: ChanServ set +v proteusguy 09:07:41 --- quit: nighty- (Quit: Disappears in a puff of smoke) 09:20:52 --- quit: proteusguy (Remote host closed the connection) 09:23:11 --- join: proteusguy (~proteusgu@cm-58-10-154-147.revip7.asianet.co.th) joined #forth 09:23:11 --- mode: ChanServ set +v proteusguy 09:43:43 --- join: dys (~dys@tmo-115-181.customers.d1-online.com) joined #forth 09:53:29 --- quit: proteusguy (Remote host closed the connection) 09:59:08 --- join: proteusguy (~proteusgu@cm-58-10-154-147.revip7.asianet.co.th) joined #forth 09:59:08 --- mode: ChanServ set +v proteusguy 10:20:40 --- quit: ecraven (Ping timeout: 250 seconds) 10:23:11 --- join: ecraven (ecraven@www.nexoid.at) joined #forth 11:11:05 Evening, forth gang 11:14:36 lo 11:18:14 as a kata was writing a sorted binary tree at lunch today 11:18:15 --- quit: gravicappa (Ping timeout: 250 seconds) 11:18:32 realised without NULL or some None-type it's a bit hard 11:18:47 gotta' love them kata 11:18:58 have a node point to itself to mean "no child" 11:19:02 because in Go or whatever the node just doesn't exist and you can't look in that memory there 11:19:04 zero is a wunnerful non-type 11:19:20 zy]x[yz: that's a good shout 11:19:39 that's how i've started doing it in linked lists 11:19:55 the node is its own end-of-list sentinel 11:20:46 in the context of the datastructure, it's the only value you can ever really assume will be unique from any valid value 11:21:02 zy]x[yz: amusing idea.. I'm still too used to zero/null 11:21:28 zy]x[yz: "assume" is a strong word... "hope" maybe 11:22:06 well if the address of your node overlaps with the address of a valid child, then you've got problems 11:22:40 WilhelmVonWeiner: I see his point, but I am too inured to zero/null 11:23:22 zy]x[yz: makes me ponder it's use all thru the code for pass/fail 11:27:11 zy]x[yz: NULL is probably easier than checking equality with its own address. 11:27:44 --- quit: proteusguy (Remote host closed the connection) 11:29:00 --- join: proteusguy (~proteusgu@cm-58-10-154-147.revip7.asianet.co.th) joined #forth 11:29:00 --- mode: ChanServ set +v proteusguy 11:29:10 i don't see how, but ok 11:29:33 one's a literal, the other is already on your stack. what's the difference? 11:30:46 My guess would be that getting the address for the next and doing 0= is slightly easier to do than getting the current one, getting the address of the next one and then running =. 11:31:18 ^ this is why forth fails 11:31:24 Also a tree is a circle-free graph, so in theory your approach wouldn't be a tree any more ;) 11:31:45 zy]x[yz: Hmm? 11:31:58 it incentivizes you to design by fewer words versus what's more correct 11:33:19 How do you define "correct"? 11:33:38 and it is a circle-free graph if the value is a sentinel which means "don't go down this route" 11:34:00 NULL/0 is just my old-school headspace; I totally see how his new/next==self is good for "ohshit" 11:34:11 as i said earlier, in a world where 0 is a valid address, the only address which is unique from all valid values is the node itself 11:34:25 to me, that's the more correct implementation 11:34:26 john_cephalopoda: but 0= means you can't put 0 into your tree 11:34:47 zy]x[yz: I disagree about "valid", but I've been fighting for decades. 11:34:58 Let's assume we got the stack as ( treenode-addr ) and TREE:RIGHT ( treenode-addr -- treenode-addr ) gives you the right subtree. 11:35:14 zy]x[yz's idea makes sense. [val][left][right] is a tree/subtree 11:35:41 "zero" is almost never "proper address", NULL-as-zero is usually the same. The exceptions are too few to panic over. 11:35:41 DUP TREE:RIGHT = IF ... THEN \ vs. DUP TREE:RIGHT 0= IF ... THEN 11:36:03 = and 0= are both gonna be 1 instruction 11:36:12 WilhelmVonWeiner: No tree element will ever have the memory address 0, if you are working with a real system. 11:36:15 WilhelmVonWeiner: you hope 11:36:19 PoppaVic: yeah that's true anyway now that I think about it 11:36:56 huh? i've worked with mcus where 0 was a valid address 11:37:19 ZERO, in every mcu I have, is reserved - it's the startup or vector crap = even as far back as cp/m, soo - useful everywhere but the Down & Dirty code. 11:37:33 It's valid but I don't know any program models where you'd have anything at 0x0 than the start of the .text segment. 11:38:09 Even if you'd start your tree at 0x0, the address 0x0 would be the root node, which shouldn't be referenced by anything. 11:38:18 zy]x[yz: they are "valid" all over, but only at the lowest levels: bootloaders, startups, etc - far less likely in app-code 11:38:24 I guess it doesn't really make any difference. 11:38:31 maybe ya boot loader contains a tree 11:38:39 * WilhelmVonWeiner shrugs 11:39:17 ..and I dunno anyone dumb enough to blindly write to zero from an app.. well, ok - I may have SEEN them online, but I don't KNOW them. 11:39:23 Darwinism. 11:39:45 WilhelmVonWeiner: maybe it does: show me yer MCU where the data is valid down there. 11:40:07 ..in those cases, I'd certainly cheer zy]x[yz's idea. 11:40:38 When I use a bare x86, I can easily store stuff at 0. 11:40:48 good for you. 11:41:00 so, no OS, naked. Go wild. 11:41:03 But I'd probably place the multiboot header there, then some .text, then some .data and then some other random stuff. 11:41:13 john_cephalopoda> It's valid but I don't know any program models where you'd have anything at 0x0 than the start of the .text segment. 11:41:17 harvard architecture 11:41:29 there is no .text, goddamnit - that's an abstraction 11:41:30 ram begins at 0, not code 11:41:33 PoppaVic: I am in fact working at a "no OS, naked" level with my Forth. 11:41:47 PoppaVic: There is no 0x0, it's an abstraction, too. 11:42:06 zero is just zero - a placeholder. So, please - don't play that game. 11:42:10 It's just a random memory cell! Ask a frog where 0x0 is, he won't know! 11:42:39 that's what i've been saying this whole time 11:42:43 Oddly, everywhere but my laptops, zero is either FLASH or RAM - or even EEPROM.. or ... 11:43:03 you're burning a random memory cell when you decide to use its address to mean "no value" 11:43:50 why not use -1? at least it has less of a chance of actually being a real memory location 11:45:49 zy]x[yz: Eh, it's problematic. Memory locations are unsigned, so you might end up at an actually usable location on 32-bit systems. 11:46:10 signedness doesn't matter 11:46:14 i mean to say whatever is all 1s 11:46:44 (also memory addresses on amd64 are signed) 11:46:49 (for some reason ???) 11:47:50 0xffffffff is a memory address and it's at 4.295 GB - which is a memory address where some data could potentially live (more likely than at 0). 11:48:46 i'd say it's less likely that the entire addressable memory space is actually populated, particularly in scenarios where forth is generally used 11:50:00 On 64-bit machines it is not problematic any more. The chance that anybody stores data at 18.45 Exabyte (unsigned) or 9.something Exabyte (signed) is basically zero. 11:53:39 Hmmm... 0 for unused children has the advantage that you could do "TREE:NEXT IF ELSE THEN". 11:53:57 Uuuh, other way round 11:54:03 in a forth system, sans heap, I would walk away from anyone using more than even 64K 11:54:16 TREE:NEXT IF ELSE THEN 11:57:44 --- quit: proteusguy (Remote host closed the connection) 11:58:10 I do so love yer dribble without an actual compare. 11:58:30 so ZERO continues to be our voodoo 11:58:55 --- join: proteusguy (~proteusgu@cm-58-10-154-147.revip7.asianet.co.th) joined #forth 11:58:55 --- mode: ChanServ set +v proteusguy 12:00:20 It truly is voodoo :D 12:01:55 I really have to continue with my OS. 12:02:59 start with the S. 12:05:40 This already boots: https://github.com/jmf/impexus 12:05:58 boots into what? 12:06:01 start with the S. 12:08:13 WilhelmVonWeiner: It boots into an operating system stub. 12:08:43 When you run build.sh, it will build a tiny OS stub executable which you can run in qemu. 12:08:59 It won't really do anything big but. 12:09:07 But I'm working on that. 12:10:01 Operating Systems are overrated - ask 99% of mcu 12:11:56 Those don't really do much though. 12:12:12 they do quite a lot 12:12:23 just not all at once 12:12:32 Once you start getting sophisticated stuff, they'll start running on FreeRTOS or other secure operating systems. 12:12:37 PoppaVic> I do so love yer dribble without an actual compare. 12:12:43 [yz> it incentivizes you to design by fewer words versus what's more correct 12:12:57 "they'll" 12:13:02 zy]x[yz: How do you define "correct"? 12:13:06 that contribution would be rejected by even Wikipedia 12:13:39 WilhelmVonWeiner: https://en.wikipedia.org/wiki/They%27ll_Love_Me_When_I%27m_Dead 12:13:45 john_cephalopoda, the point is that you're designing by how code looks rather than by what it does 12:13:55 that doesn't strike me as good practice 12:14:11 zy]x[yz: It does one less comparison than code that does 0= or =. 12:14:13 so, we got "feels morally correct" vs "correct" ;-) 12:14:28 Which is one less instruction that is... _done_ :þ 12:14:37 no, it doesn't 12:15:00 writing C works fine for me. Writing forth is similar - Zero vs OTHER is easy. other vs !other is not. 12:15:01 it only does because your branch tests for zero 12:15:19 nobody said that's a universal absolute 12:15:35 ANS says it's an universal absolute. We are talking about ANS Forth here. 12:15:44 we are? that's news to me 12:15:44 we are? since when? 12:16:03 since I don't ANS w/o ANUS 12:16:05 In an other forth dialect, things might look completely different. 12:16:15 ohh... so.. Magic ;-) 12:16:41 zy]x[yz: whythefuck didn't you tell me this was anus-code?? ;-P 12:17:32 everything i write is anus code, i thought you knew that 12:17:55 bah, no. BUTT, ok.. I can liver with that 12:18:05 https://www.youtube.com/watch?v=EGdW5juqi5w 12:18:19 john_cephalopoda: seriously, I don' 12:18:32 t need yer tubage.. Not for anus-code. 12:18:56 the rest of the world grew up on textfiles. 12:27:49 Hmm, inconvenient that there's so little standardisation. 12:28:01 I'd like to write more tools in Forth. 12:29:02 ANS at least gives a bit of compatibility. 12:35:36 the issue is that too many "standards" exist and add far too much that should not even be there. 12:36:17 in that wise, it's no worse than C, C89, C99, Cwhatever, POSIX, BSD, doze, etc 12:37:06 but, hey! the solution is always a binary image-file - just ask around. 12:54:24 if not for standards we'd still have gazzilion architectures with software which can't be compiled for 99% of them 12:54:47 because: architectures are not standarized and languages are not standarized 13:04:25 --- quit: pierpal (Ping timeout: 272 seconds) 13:06:47 We never had "gazillions", I was there. TOols were usually proprietary, agreed. 13:21:19 --- quit: xek__ (Ping timeout: 250 seconds) 13:27:55 so either you thought I literally meant such big number or you disagree, that there was a vast incompatibility between hardware architectures in the past. I'm not sure how "being there" is relevant given you could be a devoted user of one particular hardware with software written for it (unless by being there you mean you suffered from lack of standarization - but that would be contradictory with what 13:28:01 you say) 13:28:07 but I'm getting into offtopic, sorry about that 14:00:39 I was trying to explain the GA144 to a coworker today 14:00:46 --- join: dave0 (~dave0@193.060.dsl.syd.iprimus.net.au) joined #forth 14:00:56 he's a PHP and devops guy 14:01:24 suffice to say he struggled to understand 14:03:03 well, it's a gross of grotesque forths - of course he's struggling. 14:03:38 grotesque forths? 14:04:07 each of the cores is minimal and self-contained - not C, not PHP, not c++ - it's "grotesque" 14:04:26 *I* can barely visualize it, and there is no chance I could code for it. 14:05:36 Can't wait for the V2 dev boards. Don't care if it's not pragmatic to learn, it's awesome 14:05:53 shame arrayForth is proprietary but fair enough 14:05:58 yes, yes - everything is "awesome" 14:06:51 oh not everything 14:07:31 but arrayForth and the F18A architure definitely are 14:07:33 nono, everything is "awesome" - I been hearing it for a decade.. Just awesome. 14:07:42 hi 14:08:06 hey dave0 14:08:38 hi WilhelmVonWeiner 14:09:58 what are you up to 14:11:31 just drinking my coffee :-) C4[_]~ C8[_]~ C3[_]~ C2[_]~ 14:15:19 time to start archiving Forth sited 14:15:25 s/sited/sites 14:15:51 Sick of this bloody wayback machine 14:24:14 I want a collection of forth programs for various forth dialects. 14:27:24 PoppaVic: "and add far too much that should not even be there" <-- Exactly! There are a lot of functions in ANS core that don't belong there. 14:28:28 And extending ANS Forth isn't a pleasant experience. 14:28:41 What makes it unpleasant? 14:29:38 WilhelmVonWeiner: I don't know of a way to register an extension so it is accepted by ENVIRONMENT?, except maybe for extending ENVIRONMENT?, which feels kinda ugly. 14:30:11 Otoh ENVIRONMENT? is probably not a good idea alltogether... idk 14:31:06 who uses ENVIRONMENT? 14:31:12 what the hell does it even do 14:34:25 iirc, environment? isn't intended to be extended 14:36:39 WilhelmVonWeiner: on ans it can sometimes be used to query environmental constraints or the presence of optional word sets 14:38:05 CR S" CORE" ENVIRONMENT? . S" FILE" ENVIRONMENT? . S" BLURB" ENVIRONMENT? . 14:38:07 -1 -1 0 ok 14:38:31 It can be used to check if ANS extensions are available in the forth implementation that you are using. 14:43:31 john_cephalopoda: you do need to wrap the calls to environment? in a definition if you want the code to be portable 14:45:24 hey crc. 14:45:37 hi WilhelmVonWeiner 14:45:42 I can see how RSI would take so much time out of your schedule. my thumb seriously hurts 14:45:46 even with a trackball. 14:46:29 RSI is my biggest productivity block 14:47:36 next I have money I'll buy a vertical mouse and see if that helps 14:47:45 else probably switch to keyboard-oriented user interfaces. 14:48:25 Mice are horrible things 14:48:32 WilhelmVonWeiner: Does pen input work with RSI? 14:50:44 Pen input? 14:51:22 john_cephalopoda: I get bad cramps holding pens for any long periods, they are ok for short interactions 14:51:48 You too? 14:51:59 I love pens are writing but it gets seriously annoying 14:52:13 love me a good fountain pen 14:53:05 WilhelmVonWeiner: Drawing tablets (like Wacom Intuos). 14:53:30 Hmm, or maybe a touchscreen could be a solution. 14:53:52 Touchscreens aren't great but the hands can be held in a relatively natural way. 14:53:58 mhm 14:54:10 (If the screen is put onto the desk in a level or slightly inclined way) 14:54:14 For pen and paper I only use fountain pens 14:54:41 I use all kinds of pens. Any that works. :þ 14:54:50 I use the apple stylus with my iPad 14:54:51 Also drawing digitally, so I got a graphics tablet. 14:55:06 if I'm keeping track of a stack or some code logic I use a gel or "sign pen" 14:56:53 mitsubishi uniball "eye" pens 15:00:04 * Zarutian just looked at the screen and saw: Mitsubishi uniball "eye" pens. 15:00:07 Cyclopic pens? 15:00:32 "Makes your writing worth staring at!" 15:00:49 --- join: pierpal (~pierpal@host132-240-dynamic.52-79-r.retail.telecomitalia.it) joined #forth 15:01:01 It'll turn you cyclopic in a sec 15:01:02 "Robs any writing of its depth!" 15:01:43 "Gee, that was some flat writing. Probably used an cyclopic pen!" 15:08:43 --- join: rdrop-exit (~markwilli@112.201.168.172) joined #forth 15:10:44 Good morning Forthwrights 15:11:24 hello rdrop-exit 15:11:41 Hi crc 15:17:24 Ok, caught up on the logs. 15:17:52 Fountain pen and mechanical pencils for me. 15:21:11 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 15:24:23 --- quit: MrMobius (Ping timeout: 272 seconds) 15:24:23 --- nick: [1]MrMobius -> MrMobius 16:05:06 --- quit: Keshl (Ping timeout: 250 seconds) 16:07:51 --- join: Keshl (~Purple@24.115.185.149.res-cmts.gld.ptd.net) joined #forth 16:18:37 --- quit: pierpal (Ping timeout: 244 seconds) 16:45:32 --- join: pierpal (~pierpal@host132-240-dynamic.52-79-r.retail.telecomitalia.it) joined #forth 16:55:49 --- quit: john_cephalopoda (Ping timeout: 240 seconds) 16:57:43 --- join: john_cephalopoda (~john@unaffiliated/john-cephalopoda/x-6407167) joined #forth 17:19:30 --- quit: pierpal (Quit: Poof) 17:19:50 --- join: pierpal (~pierpal@host132-240-dynamic.52-79-r.retail.telecomitalia.it) joined #forth 17:42:22 --- join: travisb (~travisb@2600:1700:7990:24e0:e50e:f5cd:64e7:bcff) joined #forth 17:44:29 --- join: [1]MrMobius (~default@c-73-134-82-217.hsd1.va.comcast.net) joined #forth 17:47:05 --- quit: MrMobius (Ping timeout: 245 seconds) 17:47:05 --- nick: [1]MrMobius -> MrMobius 18:11:06 Poppavic: I couldn't get PFE to compile even with Mr. Draheim's github repo. I sent him an email. Maybe it's something simple I'm missing. 18:11:41 Yeah. I remember I had to kick the makefile in one lousy line, but it was so long ago I forget what I did.. Perhaps I posted to the wiki 18:11:42 WilhelmVonWeiner: I loaded this ciforth and it seems to work, but base36 support seems different than described in 'Starting Forth' 18:12:52 WilhelmVonWeiner: https://pastebin.com/WFNCfYnE 18:17:36 In fact, i'm not even sure how add a hexadecimal value to the stack in hex 'mode'. 18:19:39 prefix of '0x' doesn't help 18:19:50 $ 18:20:27 I recall dl & building ciforth, but it was like trying to hack the mothership 18:20:38 https://pastebin.com/g8Qggwh2 18:20:41 ..so I sneezed on it 18:23:41 It was a bit confusing to me too. Apparently ciforth is an intermediary language... and lina is the linux forth layer? 18:35:52 --- quit: dave0 (Quit: dave's not here) 18:41:49 --- quit: Croran (Ping timeout: 240 seconds) 18:50:53 yes 18:55:08 --- join: nighty- (~nighty@b157153.ppp.asahi-net.or.jp) joined #forth 19:00:04 hey guys 19:03:52 hi travisb 19:05:17 I should write up docs on the image format used by hashforth 19:05:40 (I've already written docs on all the primitves and services currently supported) 19:08:00 --- join: Croran (~quassel@2601:601:1801:6dde::4276) joined #forth 19:12:27 hey 19:13:01 I'm looking at the arch.md 19:13:39 that's very preliminary, I should note 19:13:44 e.g. double cells are not included 19:14:17 --- nick: travisb -> tabemann 19:14:52 * tabemann hates how hexchat can't keep nicks on different servers straight 19:31:51 * crc is working on a way to make it easier to add custom code to an image when building retro 19:36:15 image for hashforth are really for bootstrapping, i.e. providing a way to get it into a state where it can actually execute code in Forth; currently there's no way to save an image from a running hashforth instance because there's no way to tell what in the user space is a pointer and what is a value 19:36:41 alit vs lit 19:42:47 My images contain the actual retro language. For easier deployment, the standard VM binary will embed a copy of the image into itself, but it's trivial to save and deploy the images separately. 19:43:57 --- join: gravicappa (~gravicapp@h109-187-17-233.dyn.bashtel.ru) joined #forth 19:48:51 the majority of the code implementing hashforth is in the images, as the VM itself does not include nearly enough to form a working Forth implementation 19:49:58 what I would like to do is get hashforth to be self-hosting, so that I can create images with hashforth itself 19:52:20 crc: oh, btw, I just updated the docs to include a specification of the image format 20:39:37 Got it 20:40:10 --- quit: dddddd (Remote host closed the connection) 20:41:09 --- quit: dys (Ping timeout: 240 seconds) 20:45:34 --- join: smokeink (~smokeink@118.131.144.142) joined #forth 20:46:18 this is higher level than my vm designs 20:53:06 --- join: dave0 (~dave0@193.060.dsl.syd.iprimus.net.au) joined #forth 20:53:16 re 20:53:40 hi dave0 20:53:46 hi crc 20:59:28 --- quit: Zarutian (Ping timeout: 268 seconds) 21:00:12 I've finished setting things up to make it easier to add custom code to the default retro image at build time. 21:02:43 --- join: Zarutian (~zarutian@173-133-17-89.fiber.hringdu.is) joined #forth 21:15:23 --- quit: proteusguy (Remote host closed the connection) 22:00:03 --- join: proteusguy (~yaaic@cm-114-109-129-168.revip13.asianet.co.th) joined #forth 22:00:03 --- mode: ChanServ set +v proteusguy 22:07:11 --- quit: zy]x[yz (Ping timeout: 272 seconds) 22:07:21 john_cephalopoda that's a bootloader startup you made? As in it gets launched the same way as lilo or grub? 22:11:40 --- quit: rdrop-exit (Ping timeout: 245 seconds) 22:34:33 --- join: proteusguy2 (~yaaic@2001:44c8:4562:58d9:1:0:ae81:f7a5) joined #forth 22:36:40 --- quit: proteusguy (Ping timeout: 245 seconds) 22:36:47 --- quit: proteusguy2 (Read error: Connection reset by peer) 22:37:04 --- join: proteusguy (~yaaic@mx-ll-180.183.128-65.dynamic.3bb.co.th) joined #forth 22:37:04 --- mode: ChanServ set +v proteusguy 22:40:14 --- quit: proteusguy (Client Quit) 22:40:47 --- join: proteusguy (~proteusgu@mx-ll-180.183.128-65.dynamic.3bb.co.th) joined #forth 22:40:47 --- mode: ChanServ set +v proteusguy 22:47:23 --- join: rdrop-exit (~markwilli@112.201.168.172) joined #forth 22:51:22 --- join: zy]x[yz (~corey@unaffiliated/cmtptr) joined #forth 23:06:04 --- quit: smokeink (Read error: Connection reset by peer) 23:06:09 --- quit: proteusguy (Ping timeout: 240 seconds) 23:06:49 --- join: smokeink (~smokeink@118.131.144.142) joined #forth 23:06:57 --- join: proteusguy (~proteusgu@mx-ll-180.183.128-65.dynamic.3bb.co.th) joined #forth 23:06:58 --- mode: ChanServ set +v proteusguy 23:14:49 --- join: dys (~dys@tmo-114-167.customers.d1-online.com) joined #forth 23:32:18 --- quit: dys (Ping timeout: 250 seconds) 23:47:51 --- quit: Keshl (Read error: Connection reset by peer) 23:48:26 --- join: Keshl (~Purple@24.115.185.149.res-cmts.gld.ptd.net) joined #forth 23:59:59 --- log: ended forth/19.02.05