00:00:00 --- log: started forth/19.10.28 00:06:27 --- quit: gravicappa (Ping timeout: 265 seconds) 00:32:12 --- join: mtsd joined #forth 01:26:51 --- join: dys joined #forth 02:34:11 --- quit: mtsd (Remote host closed the connection) 03:33:08 --- join: iyzsong joined #forth 03:48:06 --- quit: iyzsong (Ping timeout: 250 seconds) 03:48:18 --- join: iyzsong-x joined #forth 04:31:05 --- quit: dys (Ping timeout: 245 seconds) 05:03:24 --- quit: X-Scale (Ping timeout: 252 seconds) 05:16:22 --- join: X-Scale joined #forth 05:43:43 --- join: gravicappa joined #forth 05:46:14 --- quit: X-Scale (Ping timeout: 265 seconds) 05:54:53 --- join: dddddd joined #forth 06:17:41 --- join: rdrop-exit joined #forth 06:34:13 --- join: X-Scale joined #forth 06:36:38 --- quit: rdrop-exit (Quit: Lost terminal) 06:41:26 --- quit: tabemann (Ping timeout: 250 seconds) 06:56:26 --- join: cheater joined #forth 07:07:26 --- quit: iyzsong-x (Ping timeout: 265 seconds) 08:48:21 --- join: warriors joined #forth 09:24:22 --- quit: cheater (Ping timeout: 250 seconds) 09:26:16 --- join: cheater joined #forth 09:37:39 --- join: TonySidaway joined #forth 10:13:59 --- quit: TonySidaway (Read error: Connection reset by peer) 10:45:34 --- join: TonySidaway joined #forth 11:25:14 --- quit: TonySidaway (Read error: Connection reset by peer) 11:29:10 --- join: TonySidaway joined #forth 11:37:58 --- quit: warriors (Quit: Connection closed for inactivity) 11:43:59 --- quit: TonySidaway (Read error: Connection reset by peer) 11:44:35 --- join: warriors joined #forth 11:50:14 --- join: TonySidaway_ joined #forth 12:01:24 --- join: f-a joined #forth 12:53:15 I have some problems with arrays (byte-arrays, specifically) 12:54:03 http://www.ariis.it/link/t/paste25521-0 12:54:16 --- quit: gravicappa (Read error: No route to host) 12:55:32 perhaps upi need to use unsigned numbers ? 12:55:41 perhaps you need to use unsigned numbers ? 12:59:22 tp: if you are referring to u=, I thought so but that's not the case unfortunately 12:59:38 as these are both unsigned and small (byte) 12:59:55 there has to be something like a c= operator 12:59:59 but I cannot find it! 13:02:10 but 256 = -1 for a 8 bit word ? 13:04:34 yeah, but still u= comes empty handed :s 13:06:35 u<= ( u1 u2 - - flag ) u1 less-or-equal u2 13:06:35 u>= ( u1 u2 - - flag ) u1 greater-or-equal u2 13:06:35 u> ( u1 u2 - - flag ) u1 greater-than u2 13:06:35 u< ( u1 u2 - - flag ) u1 less-than u2 13:06:58 thats my Forth choice 13:07:25 oh yeah I should have specified, I am using gforth 13:07:38 Ive never used that one 13:07:40 I should consult the manual to see if there are any discrepancies from other forths 13:07:50 and no two forths are alike 13:10:01 then of course, you can design your own words, but I'd have though that Gforth had all that stuff well and truely covered 13:11:42 yeah I should read the manual thoroughly (now mostly reading starting forth) 13:11:46 --- quit: jedb (Read error: Connection reset by peer) 13:11:48 btw what do you use forth for? 13:11:55 --- join: jedb joined #forth 13:12:16 I only use it for small embedded systems, https://www.youtube.com/watch?v=60sNQISzEks 13:12:46 I run it standalone on small MCU's such as in that video 13:13:13 but I develop the source on a PC running FreeBSD 13:14:03 sadly starting Forth is pretty old and a lot has changed, some of the examples just dont work anymore (without mods) 13:14:19 =D yeah finding it the hard way 13:14:43 no one learnt much the easy way ;-) 13:15:40 I think that reading "starting forth" and finding out that a lot doesnt work nowdays is part of the "rite of passage" for those new to Forth 13:16:11 that's the hidden exercises ;-) 13:16:15 haha 13:17:59 when you asked "is there a equivalent of the LISP 100 problems" for Forth, everyone was probably thinking "yeah, and you'll discover them soon, hidden in Starting Forth" ;-) 13:18:14 hehe 13:18:40 i remember many wtf! moments wen reading SF myself 13:18:54 I realised I could just go through some p.euler exercise 13:19:00 and check the solutions in their threads 13:19:11 tho it's more mathematicky than programming 13:20:05 I'm a hardware guy, not a software or maths guy, so I get my "100 problems" with every new hardware design. I don't need to find problems, they come to me 13:21:01 never had the pleasure of doing what you do 13:21:09 I would love to see someone doing it live near me 13:21:17 tp: well a bit ot 13:21:18 way ot 13:21:24 but what do you think of collapseos/ 13:21:25 *? 13:21:55 ID10T-ic!! 13:23:31 f-a, not much, I have 500 cortex-m0 mcu's in a parts drawer, I dont want no stinkin Z80! 13:23:46 yeah I failed to see/find a usecase 13:23:58 I also have about 200 16 bit Pic's 13:24:06 people keep pointing to the faq but it seems to me an unrealistic scenario 13:24:21 plus Im 65 years old, so I have a 'lifetimes' worth of mcus ;-) 13:27:03 the Z80 is a hipster love afair, I designed gear with that chip in the mid 80's when it was hot. Now it's ancient junk 13:27:19 hipster 13:27:22 indeed that's the word 13:27:59 it was a awesome chip in the late 70's, but that day is long gone now 13:29:00 I can fit about 500 cortex-m0 32 bit chips in the same space as a single Z80, which is probably about 5000x the computing power 13:29:36 nice channel, subscribed via rss 13:30:10 my old utube stuff ? 13:30:14 tp: the Z80 is still around! TI-84+ calculators are common 13:30:42 tp: I see last upload Sun, 27 Oct 2019 12:22:45 +0100 13:30:48 (or rss is broken) 13:31:59 f-a, my main day to day Forth activity is here https://mecrisp-stellaris-folkdoc.sourceforge.io/ 13:32:54 siraben, yeah, I'm sure the Z80 will be around for decades yet but it's a ancient chip, 8 bits 13:33:47 f-a, it's true the last three short videos were made in the last few days, but it's been quite a while between vids 13:34:02 better, my friend! 13:34:38 mmm, activity :) 13:34:39 I have some 650+ rss feed and I hate people spamming lukewarm content every day 13:34:58 siraben, plus it's not uncommon for calculator manufacturers to enclose the mcu in a glob of epoxy making it impossible to use 13:36:23 f-a, where $$ are concerned, lukewarm tripe is the order of the day. My utube stuff is for info only, it will never be monitized, and Forth will never be mainstream anyway 13:37:04 anyone planning to make money talking about Forth will probably starve 14:05:31 --- join: C-Keen joined #forth 14:41:17 --- quit: f-a (Ping timeout: 265 seconds) 14:43:04 --- join: f-a joined #forth 14:46:18 --- join: ryke joined #forth 15:05:46 --- quit: TonySidaway_ (Quit: TonySidaway_) 15:25:07 --- join: TonySidaway joined #forth 15:33:00 --- quit: ryke (Ping timeout: 265 seconds) 15:34:55 First encountered Forth in the early eighties, through Loeliger's Threaded Interpreted Languages. Interesting stuff. Messing around with it now because it's fun. 15:36:09 agreed, I'm now totally addicted to being able to do anything I want with embedded because of Forth 15:37:21 I first encountered Forth on a Rockwell 65F11 chip around 1997, but I didn't get around to learning Forth until 2016 15:37:39 oops 1987 15:41:05 tp, I saw your reference to drawers full of Cortex-m0. My interests are similar but I have to admit I'm much more interested in how much I can do in a tiny chip (ATtiny85 is my current favourite) than actually doing anything sensible. 15:42:34 TonySidaway, chip type isnt important, Forth allows cool stuff with any chip :) 15:43:19 Arduino means if I really had a project-oriented mindset I could prototype almost anything. I tend to spend months mucking around with software architecture, though. 15:44:13 when I started doing Forth I just happened to stumble across 480 cortex-m0 (stm43f051) mcus for $0.56 each and bought the lot. Turned out to be a good thing as they have 64KB flash and 8kb ram, which is tons for Forth 15:45:26 TonySidaway, I've been a electronics tech for 50 years, so I'm used to building embedded projects with anything from assembler, C and now Forth, I just have a LOT more fun with Forth 15:46:24 TonySidaway, I think Amforth will handle your ATtiny85 ? 15:47:31 tp, that's really extravagant by my standards. I'm currently trying to convince myself that 512 bytes of RAM is enough for two stacks and all the variables you need. 15:48:09 TonySidaway, ahh, you're building your own Forth for the ATtiny85 ? 15:50:12 Well, obviously. Or to be more specific, I'm porting crc's Nga VM to AVR using ATtiny85 as the smallest AVR chip I think could host it. 15:50:36 --- join: tabemann joined #forth 15:51:29 cortex-m0 has a silicon real estate floorplan area of 0.007 mm2 so one can hardly call it extravagant ? 15:52:28 it just happens to also come with 8KB ram, 64kb flash and 33 peripherals, 32 bits and 48 Mhz 15:53:46 I'm annoyed with how fixed point works 15:54:08 when I do 0.1 f. 15:54:17 I expect something like 0.1111111... 15:54:21 rather I get 15:54:45 I'm a software person so when I say "extravagant" I'm referring to constraints imposed on my software. 8KB RAM is a lot in my book. 15:55:00 0.0999908447265625 15:55:02 the old 6502 chip had no ram or flash and zero peripherals but took a silicon area of 16.6 mm2 15:55:48 tabemann, true, 8kb is a lot of ram for embedded 15:55:51 oops 15:55:59 TonySidaway, true, 8kb is a lot of ram for embedded 15:56:29 TonySidaway, but all the arm chips are designed to run C, not Forth 15:58:21 tabemann, fixed point will give you the best accuracy for the range you select. Floating point will give you a vague guess that seems reasonable for most ranges. 15:59:59 I just wrote a little bit of code in C, i.e. printf("%g", 0.1) - and it just printed out 0.1 16:00:03 Love AVR because of Arduino, mainly. But also it has a lovely instruction set. 16:00:06 how does it do that! 16:00:18 0.1 has no reasonable representation in binary! 16:00:55 TonySidaway, my favorite ISA was motorola 6800, but I find MSP430 ISA is just as nice 16:01:58 I'm annoyed because I want my fractional values to print out nicely too! 16:02:19 rather than coming out like 0.0999908447265625 16:04:13 tabemann, you mean you want 0.01000 ? 16:04:32 tabemann, you're annoyed because occasionally your numbers can be printed concisely? 16:04:41 tabemann, isnt "0.01" meaningless without specifying the accuracy ? 16:05:30 I mean printing "0.01" doesnt automatically assume "0.01000" does it ? 16:05:35 I want 0.11111 16:05:50 I recognize that 0.1 has no valid binary value 16:06:12 but I want to see a clean representation of the repeating, well, binary 16:06:19 aha 16:06:24 tabemann, if you wanted 0.1111, you should have asked it to print that number. 16:07:32 --- quit: f-a (Quit: leaving) 16:07:43 okay that's weird 16:07:44 And if you want your fractions to look nice, try rounding the before you print. 16:08:06 I thought 0.1 came out as 0.111111111111........ 16:08:14 whereas in reality 16:08:22 0.11111111111111111111 is a different, also repeating value 16:09:47 0.1111 f. comes out as 0.1110992431640625 16:10:10 and adding more 1s doesn't change it 16:10:26 (I'm currently using 16.16 fixed point) 16:11:33 tabemann, well there you are. For the scale you selected, three significant digits decimal seems to be the limit. 16:12:31 I wish slide rules were still used as teaching tools in school. A lot of this is intuitive for people of my generation. 16:14:32 I remember in chemistry class they had to teach us about significant digits 16:14:37 --- join: dave0 joined #forth 16:14:45 because they hadn't taught us about them before then 16:14:52 yet when doing measurements they are critical 16:18:18 tabemann, I get this with Mecrisp-Stellaris (32 bit) 0,1 f. 0,09999999986030161380767822265625 ok. 16:19:05 or 0,1111 f. 0,11109999986365437507629394531250 ok. 16:19:10 why in fuck is that getting far more precision 16:19:40 doesn't mecrisp-stellaris use 16.16 fixed points by default? 16:19:46 no 16:19:52 tabemann, yes. Also printing a binary number as decimal is a process of measurement (approximation). That's why we can't have nice things. 16:20:13 s31.32 is default with Mecrisp-Stellaris 16:20:39 TonySidaway, perhaps we need top grow 16 fingers etc ? 16:20:39 oh so it's using double-cells? 16:20:51 tabemann, no a cell is 32 bit 16:21:08 but s31.32 requires two cells on 32-bit 16:21:14 tabemann, oh, for fixed point, yeah I guess so 16:21:52 I also support 32.32 fixed points as well, but only on 64-bit 16:22:00 * tp is a technician not a programmer or mathematician 16:22:15 (note that by 32.32 fixed point I mean it's 2's complement) 16:22:28 you're not a mere technician! 16:22:35 tabemann, in Mecrisp-Stellaris fixed point and doubles are somewhat interchangeable 16:23:02 tabemann, yeah I am, I'm just a Forth using technician:) 16:23:43 The Babylonians supposedly had base 60 numerals, but I guess they may have had a lot more fingers and toes. 16:23:54 lol, all that inbreeding ? 16:23:56 from everything you've said here, you know far more than your ordinary technician 16:24:17 the value of base 60 is that 60 has lot of divisors 16:24:45 tabemann, I have been fortunate to assist some fantastic enginners and I learnt a lot from them, and I'm addicted to electronics, so practice has it's benefits 16:25:16 I love it when hardware geeks humble-brag. It's so blatant. 16:25:56 hahahah, no bragging here, my maths is truly abysmal ... 16:26:59 being good at math is not a prerequisite to being a good programmer 16:27:00 I'll bet you can xor 8-bit numbers in your head. 16:27:13 lol, maybe :) 16:27:19 * tabemann has forgotten most of his calculus 16:27:32 * tabemann has also forgotten most of his linear algebra 16:27:37 * tp never learnt calculus, he left school at 16 16:28:18 TonySidaway, but whats hard about xoring 8-bit numbers in your head ? 16:29:03 are the numbers in decimal? :-) 16:29:33 it's much easier to xor hex in your head than decimal 16:29:57 tp, most people wouldn't know where to start. 16:30:23 like I can go back and forth between binary and hex in my head with no problem, whereas I can only go between powers of two or power of two - 1 and binary in my head 16:31:19 have you guys seen this video I made a couple of days ago, it's only 60 seconds and I think it turned out better than I expected ? https://www.youtube.com/watch?v=60sNQISzEks 16:32:12 i can do BSD reasonable well in my head, decimal requires effort 16:33:07 interesting youtube vid! 16:33:29 but as I have a Mecrisp-Stellaris terminal always live here no mental number gymnastics are required! 16:34:15 dave0, thanks, it's pretty nice when I play it locally as the characters are a lot bigger than in the utube vid at my normal res 16:34:41 the video represents the state of my Forth art thesedays 16:35:12 as regards speed of communications and automatically generated register pretty print Words 16:36:33 * tabemann wonders whether the startup of his Forth is too slow all things considered 16:37:12 because my Forth when it's build includes source files uncompiled into the image, and then compiles them at startup time 16:37:28 and there is a noticeable pause when the Forth starts 16:37:32 like about a second 16:37:56 it's a relative thing I guess 16:38:25 my benchmark was Gcc/Gdb startup, flash times 16:38:40 my forth is certainly faster than yours 16:38:59 but mine is running on a 64-bit PC running Debian 16:39:01 I promised myself that if I couldnt equal or beat those times, I wouldn't use Forth and vice versa 16:39:21 sure, cant beat a 64 bit pc 16:39:23 well you're running on a little microcontroller 16:39:32 thats right 16:39:45 at 74 MHz in the case of that video 16:40:39 my forth would probably be slower on the same microcontroller 16:40:45 because it's TTC 16:40:46 if I run the same binary image under Qemu on this i7 pc, it's phenomenally faster 16:41:23 but then it's just being emulated and has no hardware and cant do anything useful for a technician 16:42:15 tabemann, to me there are two important things with embedded development, 1) the utility and speed of the development environment 16:42:20 2) the MCU 16:43:27 because when I develop Forth on a MCU, I'm resetting the chip everytime new code fails, so I need to get the newset code back into the chip asap 16:43:38 newest code 16:44:01 I have processor exception handling code 16:44:09 it's that upload and try cycle time thats the most important to me 16:44:11 sometimes a failure will cause it to lock up 16:44:29 but most of the time I can keep on working even after I've caused a segfault 16:44:40 sure, but any type of failure requires new code be uploaded 16:44:56 well on small embedded it does 16:45:20 you can't just erase your most recent code and preserve the code older than that? 16:45:40 like I have MARKER 16:45:49 no, I run from ram and I need all of it for the new code 16:45:57 I never develop out of flash 16:46:32 it's much faster to reset the chip for me 16:46:39 my forth as it currently stands has no flash/ram distinction 16:46:45 but it still has MARKER 16:47:06 I can just flush the ram but that can be problematic, easier to start (quickly) from a known state 16:47:38 sure I have a marker also, but as i never test in flash I rarely use it 16:47:57 note that I normally don't bother with MARKER because I have INCLUDE and REQUIRE because I'm running on Linux 16:48:16 when I start a development I choose all the Words I think I'll need and flash them to the chip with a marker 16:48:17 and I normally compile code fast enough that it's not an issue to reload 16:48:46 yeah, everything happens really fast inside a pc 16:49:09 it's only when one goes outside the pc to a small embedded chip that things can get glacial 16:49:52 yes 16:51:07 for instance, that video shows the speed uploading source, but it's not the SAME source I wrote. FOr instance my actual source has exactly 36,823 comment characters that are stripped first so the MCU based Forth doesnt have to reject them 16:51:29 that all happens automatically also 16:51:44 what uploading tool are you using? 16:51:56 so my editor has a zillion comments in the source but the mcu never sees them 16:52:11 I'm using gnu screen in serial terminal mode 16:52:50 I assume you can use scripts with gnu screen to do things like strip comments, or are you using a separate tool? 16:53:16 that video took about 1/2 hr to make and looks simple enough but it's really showcasing stuff that has taken me 5 years to get right 16:53:54 i use a lot of scripts which use various unix utilities, such as SED which does the Forth comment stripping 16:54:43 tp: it looked like scrolling the screen took a lot of time :-) 16:54:51 one thing that isnt obvious in that video is the error checking 16:55:10 is it faster if you don't echo the characters? 16:55:22 dave0, well the mcu was compiling the source, and there was 2000 line of it 16:55:43 tp: i meant on your pc? 16:56:07 dave0, yeah probably, tho I can still increase the baud rate 16:56:16 echoing the characters on the MCU likely takes up time, but displaying them on the PC takes no time at all 16:56:27 tp, haven't really done much work on loading, but I suspect a tethering system would be best. Essentially you write a boot loader that's capable of programming Flash and EEPROM, and will interpret simple instructions such as "execute routine at X" or "Examine top of stack", etc. 16:56:58 dave0, and tabemann yeah, the characters take up time, no argument there 16:58:06 Do I actually need an interpreter/compiler on the chip? On balance the answer is probably no. 16:58:54 TonySidaway, yes, I have a tethered Forth "mecrisp-across" for MSP430 which is experimental but very impressive 16:59:18 TonySidaway, depends on the application, sometimes yes 17:00:06 https://mecrisp-across-folkdoc.sourceforge.io/ 17:00:24 also designed by Matthias Koch the creator of Mecrisp-Stellaris 17:01:16 whats cool about Mecrisp-Across is that it uses Mecrisp-Stellaris Forth to crosscompile for MSP430 on a Ti-Tiva Cortex-M4 board 17:01:51 bbl, off to the shops to buy some food :) 17:01:57 see ya 17:02:00 I'm looking at Frank Sergeant's stuff. I'd love to have a complete REPL and dictionary on the chip, but I do think it's worth treating that as a "nice to have" rather then a requirement. 17:02:59 with my forth I could easily convert it into a tethered forth 17:03:18 the main problem with my forth is that it currently has no means of running from flash 17:04:06 well, dividing its token space into a flash space and a RAM space 17:05:32 well, I think I've figured out a way of doing so 17:06:03 tabemann, any Forth I eventually publish is currently vapourware, so I can confidently handwave such problems away. 17:06:18 my Forth is actually out there on the interwebs 17:06:29 even though I think I'm probably the only user currently 17:06:48 Bravo! You are where I want to be. 17:07:07 writing a Forth is probably easier than writing any other programming language that's non-trivial 17:07:48 I wanted to implement an programming language, any programming language 17:07:54 so I wrote a Forth 17:08:01 actually two Forths 17:08:01 I'd write a Scheme but it wouldn't fit into an AVR. 17:08:32 I've tried writing a Scheme, and it's really much harder than you'd think if you're writing a non-trivial one 17:09:36 especially the macros 17:09:40 Is your Forth on github? I only have some code for a port of NGA, and that's on Bitbucket. 17:10:33 https://github.com/tabemann/hashforth 17:11:24 (Also, I've been writing it in bits on a shell account but haven't actually run it through an assembler. Ultimate vapourware!) 17:11:52 why a shell account? don't have a machine you can install Linux on? 17:12:28 I wrote my forth in C 17:14:03 tabemann, my home situation is such that I can't regularly use a computer. I used to have FreeBSD on a Raspberry Pi Zero but that's in a drawer somewhere. 17:15:26 Basically living with, and caring for, an extremely mentally ill adult, so I prefer to work on remote systems using ssh from my phone. 17:15:43 ah 17:15:54 Anything else had the life expectancy of a mayfly. 17:16:55 Git push is my Lord and Saviour. 17:18:35 I like having my code up on github because even if my machine goes kaputt on me it will still be there 17:19:07 also so other people can see it and potentially use it 17:20:20 I had all my code in the past on a single machine that then was stolen one day 17:20:36 whereas if this machine gets stolen 17:20:44 sure I might be out of $2500 17:20:48 but my code's still there 17:29:12 I've always been a paranoid archivist. Even kept printed copies of my old VAX/VMS stuff from the late 1980s. Eventually that went to diskette, then multiple hard drive backups, then CD-ROM, USB sticks and whatnot. Then eventually I started using git. I use BitBucket because they allow private repositories and I'm very self-conscious about my code development cycle. 17:30:43 My code policy is essentially WTFL, but I don't like letting people see how I make my sausages. 17:31:18 back 17:31:36 --- join: rdrop-exit joined #forth 17:31:47 hey rdrop-exit 17:32:20 c[] Good morning tabemann :) 17:33:05 Must get that FreeBSD running on the Raspberry Pi Zero again. It's really amazing. 17:33:37 I want to try NetBSD on a Pi one of these days 17:33:48 a raspberry pi is essentially a little PC 17:34:17 the latest ones are even 64-bit 17:34:22 wow 17:34:41 I really wanted OpenBSD but at the time their ARM support want 17:34:55 was patchy. 17:34:56 I want NetBSD for the rump kernel 17:35:22 planning on combining netbsd with the rump kernel with forth? 17:36:07 Yes, doubt I'll ever get around to it, but would be fun to experiment 17:36:53 Only really use BSDs because they're nice and simple. NetBSD has a lot of very cool toys. 17:37:33 https://en.wikipedia.org/wiki/Rump_kernel 17:37:56 I got a raspberry pi just because I got in a waiting list for it, and when they emailed me saying that it was ready, I didn't want to lose the opportunity, lest it be months again before it'd be available again 17:38:37 Lost patience with Linux when I could no longer look at top and work or what all those processes were doing on machine. 17:40:10 I stick with linux because of compatibility (like e.g. this laptop is fully compatible with linux and I can use things like skype on it because I know people who sometimes want to skype) 17:41:17 I'm using a Mac as my main machine lately 17:41:49 --- quit: cheater (Ping timeout: 268 seconds) 17:42:12 with a 60% keyboard 17:42:14 tabemann, I bought a Pi3 just so I could have a dedicated 64-bit system to test my software on. It's cheap enough that I could just ssh in and run a deployment and test to see if there were any holes. 17:42:35 that hadn't shown up in 32 bits. 17:43:02 I don't have any software needs that require Mac or Windows, so I don't see the need to use a Mac - anyways, I do have Windows installed on this machine, if I ever for some reason had reason to use such software, but I've never had reason to even start up Windows 17:43:23 I haven't used Windows since the 90s 17:43:50 I use Windows at my work 17:44:21 My last Windows at work was 3.1 17:46:49 My laptop disappeared in mysterious circumstances earlier this year. I had OpenBSD on it, but also Debian and Windows 10. I'd use Windows to run software that's not available anywhere else. 17:47:40 for some reason I don't see a reason to use my Raspberry Pi, because it essentially is no different from my current machine - except it has no keyboard or touchpad or monitor built in 17:48:24 When I was at British Airways in 1995 they had OS3 Warp, which was actually pretty decent by the standards of the time. Very stable. 17:49:27 OS3? 17:49:30 heh 17:49:34 We did some stuff with OS2, but never OS3 17:49:39 lol 17:49:51 I think I meant OS2 warp. There was a 3 in there somewhere, maybe it was the third version of OS2. 17:50:37 I remember attending CeBit when IBM did their last major OS2 push 17:50:56 --- join: tpbsd joined #forth 17:51:05 hey tp 17:51:05 --- quit: tp (Ping timeout: 245 seconds) 17:51:21 Hi Master Technician 17:51:30 Obviously it was miles better than Windows 3.x, but then that's not saying much. 17:51:42 --- nick: tpbsd -> tp 17:51:54 rdrop-exit, good morning Zen Forth Master 17:52:11 c[] cheers 17:52:36 I think we should all call tp "master technician" from now on 17:52:47 sounds like a plan 17:53:10 haha 17:53:40 I always admit I'm a crap programmer, but I am a excellent technician, not bad with a mill or lathe either 17:54:00 you can do far more than the average crap programmer 17:54:16 after all, the average crap programmer can't program in forth 17:54:24 I'm all thumbs 17:54:31 tabemann, thats true, but I have met real Hackers and they are like Ghods to me 17:54:36 Hey tp. The topic now is "I used OS3 in the 1990s and my memory is perfectly fine thanks for asking." 17:55:14 we'll make sure to never forget that you have experience working with OS3 17:55:15 TonySidaway, I'm blessed with a working memory also, what finer quality could a man wish for ? 17:55:20 lol 17:55:29 OS/2 even 17:55:52 * tp paid for two versions of OS/2 at $45 AUD a pop ... way back then 17:56:12 it came on about 40 1.5MB floppies 17:56:25 back when $45 (I assume the exchange rate wasn't too extreme) was actually money 17:56:42 I still have the book by Letwin somewhere 17:56:51 OS2 book 17:57:08 Inside OS/2 by Gordon Letwin 17:57:16 TonySidaway, I spent a lot of time with Frank Seargants "risky pygness" on Cortex-m3, I even started porting it to Cortex-Mo but it's not stable 17:57:21 you mean Inside OS3 17:57:29 tabemann, yes, true 17:57:42 Lets do the time warp again 17:58:10 no, lets not! 17:58:16 I didnt like OS/2 17:58:40 for me, Unix was love at first sight in the form of Ygddrassil Linux in 1994 17:58:55 another $45 aud CD purchase 17:59:04 I liked CP/M 17:59:19 i didnt really like cp/m, I did like RIO tho 17:59:36 on a Kaypro 17:59:37 RIO was the Zilog business OS 17:59:44 cool 18:00:26 I was given the two Radio Spares 'computers' in australia when they upgraded to a PC, thats how I acquired the RIO machines 18:00:38 you seem like someone who would like CP/M, rdrop-exit 18:00:53 ;-) 18:00:54 and those things were awesome, 25 char file names, a memstat command etc 18:01:39 I had CP/M on a Z8000 once, it lived in a Amistar Surface Mount Pick and Place machine in the late 80's 18:02:04 that machine could place 17,000 components a hour, every hour, 24 hours a day 18:02:05 I first learned Wordstar on CP/M 18:02:28 Not sure if dbase II was on CP/M or DOS already 18:02:46 those were the days, so many OS's 18:02:58 so much different hardware 18:03:08 now it's Windows, Mac, Linux, BSD 18:03:26 We even had a AT&T Unix PC at the office for a while 18:03:54 https://en.wikipedia.org/wiki/AT%26T_Unix_PC 18:03:59 okay, I need to get going 18:04:02 bbl 18:04:08 ciao tabemann 18:04:36 i like amigaos, one day i will try to write it for the pc 18:04:46 cya tabemann 18:05:32 but no one will use it without drivers, so i'll have to make it compatible with something :-/ 18:05:35 rdrop-exit, AT&T Unix PC at the office ! like $10k a seat ? 18:06:22 the AT&T was slow as molasses, it quickly became a boat anchor gathering dust in a corner 18:06:28 dave0, just as long as youre under 20 years old as that would be a lifetimes work .. 18:06:43 dave0, there must be emulators available 18:07:33 no i'm old :-( 18:07:45 rdrop-exit, well hardware was SLOW back then 18:07:57 --- quit: warriors (Quit: Connection closed for inactivity) 18:08:19 dave0, then just buy a old amiga and relive the dream instead ? ;-) 18:08:30 *ah* 18:09:34 --- quit: tabemann (Ping timeout: 268 seconds) 18:09:42 I started converting my block editor to Wordstar-like key combinations 18:09:46 it's just that i don't like unix very much, but that's all there is... open source wise 18:10:29 livin' the vida retro 18:11:12 --- join: tpbsd joined #forth 18:11:12 --- quit: tpbsd (Changing host) 18:11:12 --- join: tpbsd joined #forth 18:11:47 Need another coffee, back in 5 18:12:09 dave0, if you liked AmigaOS, you might like to look at DragonFly. It's a fork from FreeBSD (about v5 or thereabouts) that incorporates a lot of cool concepts from Amiga. The head developer is Matthew Dillon, who cut his teeth as a developer of free software for the Amiga. His DICE C compiler project if probably the most famous item from those days. 18:12:57 --- quit: tpbsd (Remote host closed the connection) 18:13:10 TonySidaway: maybe... 18:13:27 i know his name, he's famous 18:13:56 the mame guy was also a famous amiga guy 18:13:57 --- quit: tp (Ping timeout: 265 seconds) 18:14:49 c[] 18:15:36 --- join: tp joined #forth 18:23:13 --- quit: TonySidaway (Quit: TonySidaway) 18:25:49 --- join: tpbsd joined #forth 18:25:49 --- quit: tp (Read error: Connection reset by peer) 18:32:15 --- join: tp___ joined #forth 18:32:15 --- quit: tp___ (Changing host) 18:32:15 --- join: tp___ joined #forth 18:32:26 --- quit: tpbsd (Remote host closed the connection) 18:35:27 --- nick: tp___ -> tp 18:38:39 --- join: tpbsd joined #forth 18:38:46 --- quit: tp (Remote host closed the connection) 18:40:23 --- quit: tpbsd (Remote host closed the connection) 18:40:34 --- join: tpbsd joined #forth 18:44:21 --- nick: tpbsd -> tp 18:46:54 --- join: tpbsd joined #forth 18:46:54 --- quit: tpbsd (Changing host) 18:46:54 --- join: tpbsd joined #forth 18:46:54 --- quit: tp (Read error: Connection reset by peer) 18:55:30 --- join: alexshpilkin joined #forth 19:43:37 There was never an OS/3. There was OS/2 (up through 2.1) then they renamed it OS/2 Warp (basically OS/2 2.2). It did run Window 3.1 apps faster than on native Windows - which is why Microsoft then introduced Windows NT (which didn't have the shared license with IBM). I was on the OS/2 2.1 change team down in Boca Raton. 19:44:10 OS/2 Warp was done in Austin after IBM shut down the Boca facilities. 19:44:34 cool 19:47:37 proteusguy, can I have my $90 back please ? I didnt really like the two versions of OS/2 I bought back then ... 19:48:41 You'll need to file an APAR for a refund request. ;-) 19:48:51 hahah 19:49:14 * proteusguy actually thought OS/2 was pretty damn strong. For an intel machine it couldn't be beat at the time. 19:49:25 --- join: tabemann joined #forth 19:49:41 actually OS/2 was very slick at the time :) 19:50:11 agree 19:50:53 The presentation manager was only 16 bit. A colleague and I proposed to convert it to 32 bit at the time but they didn't go for it sadly. Would have made it competitive to Windows NT. IBM was always a hardware company. They absolutely didn't get software. 19:51:53 Software was something you threw in to sell big iron 19:52:11 lol, compared to the way that STM "don't get software", IBM were literal Einsteins of Software 19:52:12 That was the IBM philosophy of old 19:52:19 pretty much. in the end they only had bankers and insurance companies using OS/2. Lots of ATMs were running it. 19:52:55 NCR went the same route, ATMs and such 19:52:59 here in australia the banks ran OS/2 and it was so reliable we all took it for granted 19:53:08 Yeah most of those ATMs were for NCR. 19:53:25 AS/400 was popular with banks 19:53:31 rdrop-exit, definitely. 19:53:32 then one day I noticed a BSOD on a bank ATM and thought wtf! 19:53:58 tpbsd, "STM"? 19:54:00 Unisys with banks and insurance 19:54:15 about the same time the queues at that bank started getting very long indeed and the Tellers were looking very unhappy 19:54:24 --- nick: tpbsd -> tp 19:54:54 windows had extorted themselves into australian banks ... 19:55:22 proteusguy, ST Microelectronics, makers of the STM32 microprocessors 19:55:51 it was a very bad day when microsoft got into banks here 19:56:08 and OS/2 slowly was pushed out 19:56:25 AS/400 were rock solid 19:56:30 theyr sure were 19:56:40 like a tiny mainframe 19:56:43 tp, agree but it was every bit as much IBM's fault that they lost the business. 19:57:15 Tellers on OS/2 didnt even need a mouse, after they got Windows RSI became a big thing along with long queues and unhappy customers 19:57:59 proteusguy, I can only speak as a happy OS/2 bank customer, I dont know anything about the politics of it 19:59:28 tp, but at least we have Linux now! ;-) 19:59:58 proteusguy, so true, tho I dumped Linux 3 years ago and went FreeBSD myself 20:00:20 Mice are useless in high volume transaction systems 20:00:24 and IBM has paid $40 billion for Redhat ? 20:00:34 tp, well as long as it supports the devices and software you need *BSD is great as well. 20:01:07 I wonder if the SABRE UI now uses a mouse 20:01:33 proteusguy, FreeBSD supports enough stuff for me luckily. As a old guy I like trailing edge on my PC, but leading edge on my embedded development system 20:02:10 rdrop-exit, agree, mice are RSI magnets 20:02:57 When I do use a pointing device, I use a trackball 20:04:14 My Forth environment is keyboard only 20:04:32 I do use a mouse now, but it's minimal 20:04:40 tp, agreed 20:05:00 Try a trackball, better for avoiding RSI 20:05:44 proteusguy, I dont like learning the latest Linux fad, systemd this year, then whatever replaces it next year, I like leveraging all the old unix admin I know so well 20:05:57 I use a Logitech M570, very happy with it 20:06:00 old and lazy, thats me 20:06:21 Takes up less desk space as well 20:06:56 the solar/wifi one ? 20:07:07 * proteusguy is currently working out which distro to move to that doesn't have systemd. I'm running Kubuntu 14.04 which is the last pre-systemd. Giant PITA. 20:07:36 https://www.amazon.com/Logitech-M570-Wireless-Trackball-Mouse/dp/B0043T7FXE?SubscriptionId=AKIAILSHYYTFIVPWUY6Q&tag=duckduckgo-osx-20&linkCode=xm2&camp=2025&creative=165953&creativeASIN=B0043T7FXE 20:07:43 yikes! 20:07:48 I had 3 of them, the batteries eventually failed and I pulled them apart not realising they could be replaced, but by then theyre were seriously hammered anyway 20:08:03 oops different keyboard 20:08:07 Mines probably an old model 20:08:38 For a keyboard I use a 60% Pok3r 20:09:21 proteusguy, have you seen mxlinux ? 20:09:50 mxlinux has only a systemd support framework for apps, it doesnt use systemd itself 20:09:55 http://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=1238 20:10:14 I have it on my x61s laptop and it's flawless 20:10:59 By using a trackball and a 60% keyboard my setup uses hardly any desk space 20:11:14 rdrop-exit, nice keyboard! 20:11:38 I love it, I replaced the keycaps with nicer ones 20:12:36 61 keys 20:12:45 tp, I wasn't aware it was a non-systemd distro. I will check it out. I have Devuan but it's not quite what I want. 20:13:22 proteusguy, https://mxlinux.org/ is based on debian, but made by the antiX and former MEPIS Linux communities. 20:14:11 proteusguy, sadly susytemd dependencies are everywhere now so a didtro must provide a support framework for it or a lot of apps will have problems 20:14:19 back 20:14:27 wb tabemann 20:14:33 but the distro itself doesnt have to run systemd 20:14:38 welcome back! tabemann 20:16:07 well today has been a interesting day of embedded Forth talk for me which is pretty rare 20:16:51 I discovered something today 20:17:15 you can't parse a fixed point number where the number of bits before the decimal point can't represent the base of the number 20:18:01 for instance if your'e trying to parse a base 10 number, you need at least four bits before the decimal point 20:18:14 --- quit: tp (Read error: Connection reset by peer) 20:18:17 --- join: tpbsd joined #forth 20:18:22 wb 20:18:32 I discovered something today 20:18:39 you can't parse a fixed point number where the number of bits before the decimal point can't represent the base of the number 20:18:47 for instance if your'e trying to parse a base 10 number, you need at least four bits before the decimal point 20:19:06 apologies my Internet connection is up and down today 20:23:01 parse? 20:24:32 --- quit: dave0 (Quit: dave's not here) 20:25:58 --- nick: tpbsd -> tp 20:26:54 tabemann, you mean "can't obtain a pretty looking, neatly rounded number" ? 20:28:56 no 20:29:06 I mean that for each digit you parse 20:29:11 you can't divide it by the base 20:29:20 Parsing input? (i.e. a human typing in a number) 20:29:27 wait a second 20:29:33 any chance of a example tabemann ? 20:29:39 no, I'm stupid 20:29:44 I just realized how to do it 20:31:02 lol you'd be going to beat me for stupid this week, if they had a award for stupid, I'd have the trophy 20:31:26 My wife would disagree I'm sure 20:32:42 I spent 2 days debugging why I couldnt talk Forth to a MCU after increasing the clock speed from 8 to 72 Mhz. I triple checked every assembly command, the data sheet but nothing worked, ... then I discovered I was changing the baud rate of the WRONG USART !! 20:33:17 my code had been working fine from the start 20:33:34 I had created a perfect storm or moronic code 20:33:42 I had created a perfect storm OF moronic code 20:34:03 No one's immune to brain farts 20:35:15 rdrop-exit, wives always disagree, thats why I no longer have one. Sadly if there is no woman in the forest to tell a man he's not right, does that mean he's still not wrong ? 20:37:24 okay, this stupidity was that I was trying to convert the base into a fixed point number and then do fixed point division with it, and I thought it wouldn't work because I couldn't represent the fixed point number in question... until I discovered that I didn't need to convert the value into a fixed point number at all 20:37:40 and it would work fine just doing plain division with it 20:37:44 Reminds me of those "deep thought" segments from SNL 20:38:19 hahah 20:39:50 tabemann, I recently made up a program that has to convert two numbers to fixed point then divide them 20:40:38 What do you mean convert to fixed point? Just treat them as such 20:41:35 rdrop-exit: I forgot that if the divisor does not have anything to the right of the decimal point, it can be used with normal division 20:42:33 Have you read the section on fixed point in Starting Forth? 20:42:39 no 20:42:53 115200 brr? --> for a baud rate of 115200 the usart1_brr should be: 208,33 20:44:00 rdrop-exit, : >s31.32 ( u -- s31.32 ) 0 swap ; \ convert to a s31.32 number 20:44:17 why? 20:44:30 because it's a double 20:44:51 because a s31.32 fixed point is a double 20:45:14 is s31.32 using a sign bit? 20:45:54 it can like any number 20:46:20 normal integers are 2's complement 20:46:37 agreed 20:46:49 similarly I implemented fixed point numbers in hashforth to be 2's complement 20:47:44 --- join: ryke joined #forth 20:48:33 You chose whether you need signed or unsigned and where to put the radix point depending on the needs of the application 20:48:43 * choose 20:49:09 well yes, I also have unsigned version of fixed point operations as well 20:49:11 31.32 is not the only fixed point possibility in the world 20:49:41 sure, it's just the one I have with Mecrisp-Stellaris 20:49:43 You can do 4.28 if that's what your application requires 20:50:02 in hashforth one can select anything from 1.63 to 64.0 on 64-bit and 1.31 to 32.0 on 32-bit 20:50:41 My point is you don't need anything special 20:51:10 I did make a couple sets of convenience functions for 32.32 and 16.16 in particular, but also I made a set of more generic, albeit slower, functions that can take any possible fixed point number 20:52:14 You only need to convert on input (e.g. from a human) and final output 20:53:06 All you need for the calculations is shifts and/or scaling operators e.g. */mod 20:53:24 my only fixed point program was to calculate the baud rate for the Cortex-M USART as that requires a divisor and dividend for the required config 20:54:36 so I used FP as it was fast and easy, no need to get into calculating the dividend with /mod etc 20:54:57 I never use FP 20:55:18 at least not in a program 20:55:44 Externally sure 20:56:39 should I be expecting a strongly worded letter from the Forth Standards Society ? 20:57:13 The Forth standards people love FP 20:57:22 detailing my crimes against proper Forth programming ? 20:58:14 Im just lazy, and wanted to try FP anyway :) 20:58:46 :) 20:59:26 I made convenience words for making working with fixed point just as simple as working with floating point 20:59:52 the only difference being that one needs to select how one wants to use the bits in question 21:00:31 Cortex-M0 doesnt have a floating point unit, so it's only fixed point for me 21:01:07 I find it easier not to use those convenience functions. 21:01:13 in my C days Id have been wanting a floating point unit but now Im perfectly happy with fixed point 21:02:01 tabemann, the easiest apprach is to pick a unit/bit, than only convert on first input and final output to the external representation. 21:02:54 Nothing is required for the internal calculations. 21:04:28 I mean, to abstract away the constant moving of the decimal point whenever you multipy or divide 21:05:00 Not necessary 21:05:21 e.g. 1 bit = 49.7 scrumblats 21:05:43 then you need to keep track in any given place how much one bit is 21:05:52 because each time you multiply or divide 21:05:56 what one bit is changes 21:06:19 --- join: jedb_ joined #forth 21:06:25 or otherwise 21:06:38 you have to manually shift the bits each time you multiply or divide 21:07:03 You have scaling operators 21:07:35 what I mean is that isn't it more convenient when you have simple functions that do the scaling for you? 21:08:24 well 21:08:31 Not really 21:09:15 Not if you want precise control 21:09:37 --- quit: jedb (Ping timeout: 276 seconds) 21:11:17 That's why the scaling operators use a double-wide intermediary result, and you use rational approximations 21:11:40 I'm internally using */ 21:11:52 : pi ( -- numerator denominator ) 21:11:53 $ 24baf15fe1658f99 $ bb10cb777fb8137 ; 21:12:02 for example 21:12:37 Rational approximations such as the above are meant for use with the scaling operators 21:13:19 5 pi u*/mod 21:14:59 The scaling operators are for multipliying something by a ratio 21:15:32 using a double-wide intermediary product 21:15:58 --- join: gravicappa joined #forth 21:16:33 50000000 pi u*/ 21:17:56 bbl 21:35:59 --- quit: reepca (Ping timeout: 240 seconds) 21:48:04 --- quit: dddddd (Remote host closed the connection) 23:59:59 --- log: ended forth/19.10.28