00:00:00 --- log: started retro/12.03.21 05:59:08 --- join: Kumul (~Kumul@adsl-72-50-91-28.prtc.net) joined #retro 06:27:59 --- join: virl (~virl__@85-127-248-189.dynamic.xdsl-line.inode.at) joined #retro 07:24:40 --- join: retro-commits (~retro-com@sh2.rs.github.com) joined #retro 07:24:40 [retro-language] crcx pushed 1 new commit to master: http://git.io/A1xJIA 07:24:40 [retro-language/master] start of double' vocabulary - crc 07:24:40 --- part: retro-commits left #retro 08:57:32 --- join: __tthomas__ (~tthomas@slosvr6.aeromecheng.com) joined #retro 09:30:22 --- quit: virl (Remote host closed the connection) 10:33:10 --- join: retro-commits (~retro-com@sh2.rs.github.com) joined #retro 10:33:11 [retro-language] crcx pushed 1 new commit to master: http://git.io/tUZGdQ 10:33:11 [retro-language/master] add ^forth'pick - crc 10:33:11 --- part: retro-commits left #retro 10:48:43 --- join: retro-commits (~retro-com@sh1-ext.rs.github.com) joined #retro 10:48:43 [retro-language] crcx pushed 1 new commit to master: http://git.io/UGKfCA 10:48:43 [retro-language/master] add ^forth'roll - crc 10:48:43 --- part: retro-commits left #retro 10:51:34 these two are rather evil functions, but neccessary for a fair amount of existing Forth code I've run across 11:29:21 <__tthomas__> you mean pick and roll? 11:30:39 <__tthomas__> Their use to me seems to be on obsession to use the stack and avoid variables at all costs.. 11:38:27 <__tthomas__> I often wondered why people just didn't use a second much smaller data stack and push values there instead of onto the return stack.. It is safer, though it doesn't necessarily make pick and roll unneccessary.. 11:45:46 I've never needed to use either pick or roll in my code 11:46:54 but the forth' vocabulary is intended mostly to aid in using/porting existing forth libraries, and I've seen both used in various libraries I looked at in the past 11:49:02 <__tthomas__> yeah, */ is used a lot in 16 bit forths at least in code I have been looking at, but it is mostly implemented to deal with only having 16 bits to maintain precision, in 32 bit version : */ push * pop / ; is probably good enough.. 11:58:04 <__tthomas__> I found some really good libraries in 4th, but a lot of them are gpl'ed and I have no idea what that means if use them in a project, does that mean person that uses them is forced to gpl their entire project, or is it similar to gcc and produced binary isn't considered a derivative.. I don't like having a license forced on me, so I tend to look for more permissive alternatives.. I should probably put a license on my source, most likely I will u 12:19:19 I can't use any GPL'd libraries due to the license requiring derivatives to be GPL'd as well 12:19:40 * crc uses ISC or MIT/X11 licensing for all projects currently 12:34:06 <__tthomas__> I am glad I am not alone in that view, I get a lot of flack for not liking GPL.. 12:36:22 <__tthomas__> at work GPL isn't even an option due to ITAR restrictions.. 12:37:20 I should do a blog post on licensing sometime 12:40:30 lots of people that use BSD would agree with you __tthomas__ 12:52:30 <__tthomas__> crc it is a sad world we live in where we have to even use licenses, much less explain why we choose a particular one.. I personally would rather just code then worry about lawyers.. 13:21:14 __tthomas__: same here. sadly that is denied us :( 13:41:24 <__tthomas__> crc if ever need material to blog about, I wouldn't mind an explanation of how nested quotes are compiled and difference between quotes created at runtime vs. inside of a definition.. I think I mostly get it, but the nesting throws my mental image for a bit of a loop.. 13:43:47 I can work on that 13:43:55 --- join: retro-commits (~retro-com@sh2.rs.github.com) joined #retro 13:43:55 [retro-language] crcx pushed 1 new commit to master: http://git.io/YY_AjA 13:43:55 [retro-language/master] add doc block to double' - crc 13:43:55 --- part: retro-commits left #retro 13:44:33 <__tthomas__> NICE.. :) 15:03:17 --- join: Mat2 (~dambere@91-64-133-197-dynip.superkabel.de) joined #retro 15:03:31 G'Day 15:04:47 <__tthomas__> hi 15:07:35 Hi ! 15:08:13 <__tthomas__> &Hi do 15:10:56 thai [ ^vitamin'Stuff $DEADBEEF eat ] snack 15:14:07 here is an old article for fast multiplication (z80 code): 15:14:17 http://sgate.emt.bme.hu/patai/publications/z80guide/part4.html 15:14:43 probably it is of interest 15:33:53 <__tthomas__> cool, will have a look at it.. 15:35:01 <__tthomas__> I wonder how fast a 16x16 lookup table would be.. 15:35:17 by the way multiplaction for the 6502 is also very inspirative 15:36:33 http://6502.org/source/integers/32muldiv.htm 15:36:54 that's the fastest algorithm I know (and loop less one) 15:38:38 <__tthomas__> wish I knew assembly.. :) though the z80 opcodes are more understandable by reading than 6502 ones.. 15:40:00 ah ok, for me it's the reverse 15:40:40 but really horrible is the assembly language for PowerPC 15:40:46 <__tthomas__> closest thing I have done is casio calcualtor programming.. 15:41:39 <__tthomas__> though I have read up on it quite a bit, and is something I want to learn, have the art of assembly language sitting by my desk somewhere.. 15:42:06 a good book 15:42:52 <__tthomas__> yeah, but not as good as Michael Abrash's black book on graphics programming, that book is amazing, though way out of date.. 15:43:32 for me assembler programming is much more easy than C (but that's a result of its syntax, really ugly) 15:43:59 <__tthomas__> I was thinking assembler macro's are so good now that c looks low level in comparison.. :) 15:45:05 depends on the assembler you use but in general I would agree 15:45:33 <__tthomas__> just don't use gas.. EVER 15:48:27 *lol* 15:48:49 <__tthomas__> I really want to write a program with FASM on windows, wrote some very tiny ones.. Still not exactly sure how to handle return values or or arguments passed as pointers.. The assembly part is pretty easy, the integration with c, not so much.. 15:48:55 I use fasm (ARM, z80, a32, amd64) 15:49:39 <__tthomas__> I have been playing with propeller a bit, not many good tutorials on propeller assembly though, and really want to learn atmel assembly.. 15:50:20 have you take a look at the examples ? For Linux, you find some sources which explain libc inclusion 15:51:02 <__tthomas__> It shows calling printf, and getchar but doesn't do anything with return val from getchar and neither takes pointers as arguments.. 15:51:03 I know a good book about propeller assembly (in german as I know) 15:52:12 <__tthomas__> my wife was born in germany, but her german is much rustier than she admits.. 15:53:47 <__tthomas__> she is an airforce brat.. 15:54:01 pointers are handled like constant values and returned in register depending on the calling convention used 15:54:46 <__tthomas__> that would suggest there is a limit to the number of pointer arguments you could send to a c function.. 15:54:57 it is 15:56:01 that's the reason why BSD systems depend on stack usage for this purpose 15:56:33 <__tthomas__> smart.. 15:56:48 linux on the other way uses a fixed register mapping 15:57:05 which is faster but limited 15:57:53 (windows is another example for this philosophy) 15:58:16 it simplifies syscall behaviour 16:00:04 <__tthomas__> I think windows has multiple ways of doing it.. at least fasm implies that.. 16:02:17 I know only the sycall interface but bet there exist several other ones 16:02:39 (it wouldn't be windows) 16:07:49 last week I've learned about a NT internal kernal interface inherited from VMS? 16:09:46 <__tthomas__> looks like FASM has two seperate macros both for stdcall called invoke and stdcall, difference being in how parameters are passed.. 16:12:21 ok 16:12:42 nice to know, which one is the easy one ? 16:15:14 <__tthomas__> invoke MessageBox,0,szText,szCaption,MB_OK is equivalent to: stdcall [MessageBox],0,szText,szCaption,MB_OK 16:15:23 <__tthomas__> They look almost exactly the same to me.. 16:16:04 --- join: erider (~erider@unaffiliated/erider) joined #retro 16:16:12 hi all 16:17:19 <__tthomas__> hi 16:17:49 how goes it 16:18:38 hi erider 16:19:50 hey how goes it 16:20:31 it has been awhile 16:22:06 bb later 16:22:35 <__tthomas__> Headers for 32-bit Windows provide four macroinstructions for calling procedures with parameters passed on stack. 16:24:00 <__tthomas__> Looks like one is direct call, other is indirect through pointer, and other 2 are the same but use c calling convention instead.. 16:25:26 <__tthomas__> Usually when I see invoke used in c/c++ it is because have a function that needs to be called in main thread, vs. current.. 16:27:10 register based calling conventions are usual for 64 bit systems (amd64) 16:29:31 http://en.wikipedia.org/wiki/X86_calling_conventions#register 16:31:16 why the heck, this scheme isn't used: 16:31:23 call function 16:31:31 dq paramter 1 16:31:36 dq parameter 2 16:31:45 ... dq parameter n 16:32:28 function: pop rbp ; argument pointer 16:32:50 mov rdx, [rbp] ; first argument 16:33:01 mov rcx, [rbp+8] ; second one 16:33:04 ... 16:33:27 <__tthomas__> Well I know why microsoft does what it does.. They don't want to lose windows 1.0 16bit compatibility.. 16:34:32 yeah, that was the best windows version EVER ! 16:34:51 --- quit: erider (Ping timeout: 246 seconds) 16:35:23 <__tthomas__> I am amazed what they do to keep compatibility.. I have dos programs that still run under windows 7 32-bit.. 16:37:14 I don't know if it is crazy or a feature 16:37:40 <__tthomas__> It is also why I gave up trying to keep linux running on one of my computers, any time I would update it was like playing russian roulette.. Never knew what was going to break.. Well Ubuntu anyhow was like that, debian headless seems to treat me a bit better.. 16:37:44 if I want to use DOS programs, there exist always emulators like DOSBOX 16:37:55 <__tthomas__> I couldn't get fasm to work on dosbox 16:38:52 <__tthomas__> I found the secret is to do a minimal install on a vm and never ever ever update it.. (Linux) 16:39:53 I use NetBSD for older systems 16:40:13 and build anything from sources 16:41:01 found no problems 16:41:05 <__tthomas__> I was a long time FreeBSD user, so I am used to installing everything from source via ports.. So naturally when I do that on Linux and install latest, the binary incompatibilities when I update are going to break my stuff assuming I could get it to compile in the first place.. So this time did a minimal debian6 install without xwindows on vmware and it has been good.. 16:42:55 Gentoo: the only Linux distro I know which is build friendly like the BSD's 16:43:30 for complete installs I use Suse Linux and Ubuntu 16:43:35 <__tthomas__> I tried using pkgsrc on linux but had no luck.. The dedicated box I have for linux is efika mx which is arm cortex A8 computer, so linux options on limited.. 16:44:24 <__tthomas__> I really like buildroot for linux, fell in love with it when I was doing embedded linux, I should see how hard it would be to make vmware version running microC Linux and Busybox.. 16:45:11 for my ARM and MIPS development, I use an older debian image with qemu 16:45:19 --- join: Raystm2 (Raystm2@c-71-196-164-161.hsd1.co.comcast.net) joined #retro 16:45:29 hi Raystm2 ! 16:45:47 Hello, Mat2. are you well, today? :) 16:46:22 <__tthomas__> I only used that with MicroBlaze, never used qemu for anything else.. 16:46:24 finsihed a lot of work today but yes, thanks :) 16:46:38 hello __tthomas__ :) 16:46:47 That's great, Mat2. 16:46:52 <__tthomas__> hey Raystm2 16:47:44 crc, the issue netBeans was having about switchEndian has to do with the shift by 0 statements. This is not a real problem as the code adds to clarity for the programmer. 16:49:34 ah forgot aranym for mc680x0 programming (under mint) 16:50:09 Mat2, __tthomas__, I had a bit of opportunity to look over some of the forth projects you mentioned last time we met. pretty neat stuff, those forths. 16:51:08 this time it seems Forth makes a lot of progress 16:52:45 I was asked last month about Forth for a scientific programming project 16:53:30 not C or Fortran ! 16:56:44 --- join: virl (~virl__@85-127-248-189.dynamic.xdsl-line.inode.at) joined #retro 16:59:29 <__tthomas__> Raystm2 which ones were those? 17:01:11 <__tthomas__> Mat2 they are finally letting me program some things in python at work.. mostly code generators, log parsers and automated tests... 17:01:26 <__tthomas__> before that was strictly c/c++ and c# 17:03:14 __tthomas__ as i recall there is the Propeller and the Fignition. 17:03:51 <__tthomas__> oh yeah, propforth is neat project, and fignition is cool little jupiter ace clone.. 17:04:39 I took the tangent and read about jupiter and sinclair and their histories. quite fascinating. 17:04:57 the problem is: Fortran is not a good tool for generic parallel processing. Someone had tell them that forth is low-level and can be programmed in a functional way so each word can be executed in parallel with ease 17:06:12 for them Forth is a obscure and low-level functional programming language 17:06:58 <__tthomas__> how can you program in parallel when most words have to pass parameters on the stack so would have to be executed in serial? 17:07:12 task switching? 17:07:21 vm switching 17:08:18 <__tthomas__> Yeah, I can see that, if you had core in EEPROM you could probably run a vm with as little as 5K of ram each and then would just need a way to synchronize read and writes to shared memory.. 17:09:11 exact 17:09:41 <__tthomas__> but not quite the same as language supporting parallel processing, it is kind of sidestepping the issue by launching tons of processes.. 17:09:50 because the forth vm can be minimal and small it is a good fit 17:09:55 <__tthomas__> which I think is better, but that is just me.. 17:10:28 ^^ 17:10:30 <__tthomas__> processes can scale to multiple processes and even multiple hardware.. Threads cannot.. 17:10:46 <__tthomas__> s/processes/processors 17:11:11 typical I would spend each core its own little vm 17:11:19 written in assembly 17:11:44 <__tthomas__> how would they communicate? shared memory, mailboxes, sockets? 17:12:20 message passing like erlang for example 17:12:35 erlang uses a similar modell 17:12:37 <__tthomas__> erlang uses sockets I believe.. 17:12:41 model I mean 17:13:35 <__tthomas__> erlang all types are immutable though, which makes it impossible to corrupt data getting sent between processes.. 17:14:47 yeah, functional programming don't depend on variables 17:15:01 only function application 17:15:24 <__tthomas__> yeah, but most functional languages have side effects.. they aren't functionally pure.. 17:16:41 do you know monads ? 17:17:01 <__tthomas__> heard the concept from haskel but not familiar with use or implementation 17:18:06 every now and again I start a 'j' session to try and learn the language. Very interesting. APL for standard keyboards, is my impression. 17:18:17 monads are abstractions of side-effects to a level which can't limit parallel processing for a given task 17:18:29 very easy 17:18:50 but mostly uncommon 17:19:08 <__tthomas__> I think the propeller has a very simple way of handling parallel processing, pretty elegant.. 17:19:54 however, forth has the advantage to be concatentative? and hardware near 17:20:35 so there's a chance for a niche, functional system programming 17:21:07 <__tthomas__> as long as you had a supervisor process and you can request lock and enforce amount of time someone can lock a resource should be able to make it work pretty easily.. 17:21:25 propeller is nice 17:21:38 with some concepts from IBM's Cell cpu 17:22:03 the round-robin bus for example 17:22:22 <__tthomas__> reminds me of a token ring 17:24:18 <__tthomas__> though honestly if I was going to do something like this it would be in an fpga, they are designed to be parallelizable.. 17:25:37 yes, I had think about using FPGA's but propellers are so cheap and easy to integrate 17:25:46 <__tthomas__> or Chuck's new CPU, has 144 hardware forths running parallel.. 17:26:01 arrayForth. pretty neat. 17:26:25 <__tthomas__> yeah, you can get a board with chip for around 40 bucks.. 17:27:13 if I had a board I had some nice ideas which would benefit from 144 core's 17:27:28 soory I mean: 17:27:36 No 'swap' word in the arrayForth language, but one can accomplish swap with ... : swap over push push drop pop pop ; -- interms of the colorForth language used. 17:27:55 if I had a board it would be nice 17:28:17 I agree, would like to have an evaluation situation. 17:28:21 <__tthomas__> Chuck prefers over drop to swap.. he feels the value underneath isn't hurting anything.. 17:28:49 <__tthomas__> and over over is legitamely useful in lots of situations.. 17:28:51 over drop is a null operation. But I believe I understand what you are alluding to. 17:29:14 <__tthomas__> yeah, over to swap values and then when they are consumed, just drop 17:29:27 drop after usage of the "swap"ed values. 17:29:29 yes. 17:30:08 <__tthomas__> and you don't need pick or roll since stack is circular.. 17:30:30 I reuse combinations like over drop for adding instructions for opcode streaming in my vm 17:30:37 it's funny, because over can be defined in terms of swap and swap can be defined in terms of over. 17:32:32 if you have one you have the other. 17:33:12 <__tthomas__> http://ioccc.org/1992/buzzard.2.design 17:33:26 13 basic instructions: li, ld, st, add, adc, shl, shr, and, gor, xor, dup, drop, over, nice reduction 17:33:32 <__tthomas__> If you guys haven't seen this, one of the most interesting pieces of code ever seen.. wish it wasn't obfuscated.. 17:35:05 cool, looking... :) 17:35:17 think i've seen this many many moons ago. 17:35:22 <__tthomas__> The idea is brilliant, the c is unreadable.. 17:35:43 <__tthomas__> the way the words are put together is quite cool.. 17:36:01 nice 17:36:06 quite readable 17:37:02 <__tthomas__> the c? 17:37:20 yes, reminds me of false 17:37:36 <__tthomas__> love false, think that is what made me decide to learn forth 17:37:53 <__tthomas__> there is also dup which is based on false.. 17:39:03 <__tthomas__> dup just adds a return stack.. 17:39:45 ok, so a forth vm with APL alike syntax :) 17:40:03 based on ASCII 17:40:24 <__tthomas__> how about whitespace forth, forth where dictionary words are only allowed to contain whitespace.. 17:41:03 *lol* 17:41:22 hehe. 17:41:54 just replace white space with random characters :-> 17:42:57 2@3~+{4=putn< 17:43:15 <__tthomas__> every time you enter a word it cycles the name of all the definitions.. 17:43:56 nice 17:44:30 <__tthomas__> I do like the idea of all strings having their own memory space.. then name field of dict could just be a pointer, which would make all dictionary entries exact same length.. 17:46:14 you can get the same result if name strings are fixed-size and white-space filled at demand 17:46:27 colorForth uses two arrays for named functions. one list is just the list of names, truncated to 32 bits in the systems Huffman/Shannon encoding in 28 bits and a for bit compiler tag, and a second list at the same depth of the name list is the function code address. 17:46:50 for==four , sorry. 17:48:34 <__tthomas__> I don't know if it is exactly same.. but you could potentially offload dictionary lookup to c string functions if they were in a specific memory location.. 17:48:34 ^^ I mean: each entry have exact one string entry, so element number = string offset 17:49:08 no pointer needed at all 17:49:50 <__tthomas__> cool, that would make it decently easy to move/remove definitions 17:53:28 Raystm2: Is there a way to extend the color tag usage, something like "prefix" classes in retro ? 17:54:58 Yes. The kernel code has a hidden word called class, a variable checked by the interrpeter. If class is anything other than 0 then it is assumed that it will contain the address of the extention of the word class. 17:56:04 by hidden I mean that current colorForths that is arrayForths do not include a kernel source that you can read. Its controlled an distributed as binary only. 17:56:16 an+d 17:56:34 ah, very simple way 17:56:49 There are examples of 'class' usage in arrayForth, currently. 17:58:18 that a topic which puzzles me, combine the class concept of retro with an colorforth alike interpreter design 17:59:10 <__tthomas__> aren't the two concepts mostly the same? 18:01:45 as I know it colorforth depending on fast recompilation though some kind of preparsing 18:01:49 Sorry, AFK, wife ( Nanette) just got home. :) 18:02:36 The colorForth interpretation is dependant on a 4 bit tag that is part of the wordLable or name of the word. 18:03:10 <__tthomas__> Yeah, from my understanding it moves cfa to first few bits of word, and most of compilation happens in editor as you are typing and there isn't much of an outer interpreter, it is mostly integrated with editor as well.. 18:05:29 there are colorForths that have tags in the beginning of words, but Chuck's colorForth has tag as the last 4 bits. 18:06:00 <__tthomas__> are you sure? 18:07:12 time for some sleep, ciao 18:07:13 please see -- http://colorforth.com/parsed.html 18:07:19 gn Mat2 :) 18:07:20 <__tthomas__> wow, your right, I never noticed that before.. 18:07:25 <__tthomas__> night Mat2 18:07:42 --- part: Mat2 left #retro 18:08:14 <__tthomas__> I still don't quite understand yellow to green transition.. 18:08:35 when a word in a definition is yellow... 18:08:53 for instance a named address , such as a variable or... 18:09:14 a mathematical phrase like ... 18:09:24 1 2 + ( all yellow ) 18:09:51 the yellow words are executed and placed on the data stack... 18:10:16 in the case of a yellow variable, the name is replace by the address on the data stack... 18:10:35 in the case of a math expression the result is on the data stack... 18:10:46 when the transition to green is reached... 18:11:08 that data stack number ( just one number ) is compiled just before the green word that is the transition. 18:11:30 rather, that number will be in the dictionary now, not on the stack. 18:11:53 <__tthomas__> so basically like doing [[ 1 2 + ]] , 18:11:56 <__tthomas__> in a definition 18:12:06 good evening 18:12:25 <__tthomas__> evening 18:12:25 you say it faster than I do with that expression, well done. :) 18:12:30 hi crc :) 18:13:13 <__tthomas__> difference being at runtime it doesn't execute the yellow words, it just executes green one.. 18:14:42 crc, the issue netBeans was having about switchEndian has to do with the shift by 0 statements. This is not a real problem as the code adds to clarity for the programmer. 18:15:04 <__tthomas__> I need to eat, cat you guys later.. 18:15:21 enjoy : 18:15:23 <__tthomas__> s/cat/catch 18:15:24 :) 18:15:30 <__tthomas__> *waves* 18:15:33 --- part: __tthomas__ left #retro 18:18:37 hmm, I could remove e shift by zero 18:19:10 its basically a null operation. like I said, adds to programmer clarity, but that is very very subjective. 18:19:11 *the 18:20:35 I have finally reached the I/O tutorials, but got distracted by conversations with Mat2 and __tthomas__, nice guys. :) 18:22:07 I finally got a branch in my cygwin home retro-language directory. I tried the windows version of Bazaar, but dumped it for the *nix version in cygwin. I am not sure but I think I may have some form of certificates problem when I go to merge request. 18:22:29 --- join: retro-commits (~retro-com@sh1-ext.rs.github.com) joined #retro 18:22:29 [retro-language] crcx pushed 1 new commit to master: http://git.io/BhAGXA 18:22:29 [retro-language/master] remove an uneeded shift in the java implemention (thanks go to Ray for finding this) - crc 18:22:29 --- part: retro-commits left #retro 18:23:13 I had to override the cert to get the branch. and now that you've updated, I'm going to try to update my branch. 18:28:33 ok 18:37:57 cool I was able to get the changes. 18:40:18 public int switchEndian, return still has a shift by 0 at b4. 18:43:04 --- join: retro-commits (~retro-com@sh1-ext.rs.github.com) joined #retro 18:43:04 [retro-language] crcx pushed 1 new commit to master: http://git.io/8mtqBg 18:43:04 [retro-language/master] fix another shift by zero in the java code (more thanks go to Ray) - crc 18:43:04 --- part: retro-commits left #retro 18:43:18 that should take care of switchEndian 18:49:33 yes, should indeed. :) 18:58:43 what is more useful at this point: double cell numbers or unsigned numbers? 19:07:35 I'm not sure i understand the context of the question. I am assuming you are asking in regards to retroforth in java that a number as a forth cell ... should it be represented as an unsigned integer or as a double the way forthers mean double, signed or unsigned. lol the confusion is in the differences in the langauges. A double is a float in java. :) going to get a plate of spagetti, but i'm eating at terminal brb. 19:13:10 got to get an editor for commit to work. 19:21:02 the question is with regards to retro 19:22:11 retro uses signed, 32-bit values; I'm working on libraries to add both 19:22:33 unsigned support will be harder to add than doubles I think 19:28:41 Acknowledged. I got nano now as cygwin editor. trying the same command as earlier to merge lp:retro-language, and now I'm getting an error that bzr doesn't know how to handle the ssh connection. researching... :) 19:40:42 nano should have no impact on the ssh 19:41:04 man there is so much to learn about this stuff. bzr is weird because it worked a minute ago and now it won't merge using the same request as earlier. I have to set the BZR_SSH environment variable. I believe that is the same as setting a windows environment variable. 19:41:26 agreed. 19:42:23 brb 21:08:30 think i need a restart to test the new ssh environment variable for BZR_SSH. brb 21:08:37 --- quit: Raystm2 (Quit: bye!) 21:14:43 --- join: Raystm2 (Raystm2@c-71-196-164-161.hsd1.co.comcast.net) joined #retro 21:18:59 well, that did not work. more research required. for tomorrow. :) gn 21:20:30 --- quit: Raystm2 (Quit: bye!) 22:13:03 --- quit: Kumul (Quit: gone) 23:59:59 --- log: ended retro/12.03.21