00:00:00 --- log: started forth/20.03.06 00:23:30 --- join: mtsd joined #forth 01:26:22 --- quit: mtsd (Ping timeout: 258 seconds) 01:28:11 --- quit: gravicappa (Ping timeout: 268 seconds) 02:09:15 --- join: mtsd joined #forth 02:10:20 --- join: xek_ joined #forth 02:14:20 --- join: gravicappa joined #forth 02:15:01 --- join: iyzsong joined #forth 02:32:25 --- quit: mtsd (Ping timeout: 240 seconds) 03:04:50 --- join: mtsd joined #forth 03:34:43 --- join: john_cephalopoda joined #forth 03:35:01 Hey 03:35:41 hey 03:39:48 how goes your Forth development john_cephalopoda ? 03:40:37 I finished my x86 assembler (written in RETRO Forth) and I can now create executables that run on Linux and bare hardware. 03:41:08 thats pretty darn cool! 03:41:18 I ported the Nga VM, which RETRO Forth runs on, to that assembly language, so I can run RETRO like that. 03:41:50 Keyboard input isn't implemented yet though, only text output. 03:42:27 --- quit: dave0 (Quit: dave's not here) 03:42:35 I've been learning Forth since 2014 on embedded and never took to forths running on a PC, preferring Perl or C etc, but Retro is the first Forth I've found to be easily useful on FreeBSD 03:43:17 I'm teetering on the knife edge of making my next pc utility in retro 03:43:36 I do tend to do a lot is Shell also 03:43:41 is = in 03:53:01 --- quit: heredoc (Ping timeout: 246 seconds) 04:00:46 A thing I really like about Retro is, that it doesn't do any look-ahead. You don't write "variable test", where "test" is a not yet defined word and "variable" has to look ahead to read it. Instead it does "'test var" where 'test pushes the string of that name to the stack and var takes that string to create a variable that's named accordingly. 04:02:58 so what is "test" previously defined as ? 04:03:20 I have to do "X variable test" with Mecrisp-Stellaris 04:05:30 I mean that with "X variable test" the word "variable" has to read ahead to fetch the name of the newly created variable. 04:06:08 To speak in terms of standard Forth, RETRO basically does: S" test" variable 04:06:38 --- quit: proteusguy (Ping timeout: 265 seconds) 04:07:06 I'm mainly a Forth user, so I haven't thought about this aspect before 04:07:07 --- quit: remexre (Ping timeout: 265 seconds) 04:07:48 --- join: remexre joined #forth 04:07:54 That's interesting but I don't get why that's an advantage 04:08:00 I learn a lot here tho just reading comments like this 04:08:38 Does it reduce the complexity of the compiler/interpreter somehow? 04:08:53 Yeah I have been learning a ton by being in this IRC channel 04:08:59 Talking and reading 04:09:18 these things never would occur to me while I just make devices using Forth 04:10:01 --- join: proteusguy joined #forth 04:10:02 --- mode: ChanServ set +v proteusguy 04:10:52 I am not sure if there's any big advantage in doing it that way. I just think it's a nice paradigm to have no look-ahead. 04:12:26 john_cephalopoda, does 'no look ahead' mean less coding on the part of the designer ? 04:16:41 --- join: rdrop-exit joined #forth 04:17:11 I'm not sure. It might make things slightly simpler, but that's just a guess. It's probably not significant. It's more about the way every word just uses the stack to look for arguments and isn't affected by what comes after it. 04:17:27 technically, it does have to look ahead 04:17:37 I think it does mean less 'parts' but not really less coding 04:18:41 rdrop-exit: How do you mean? 04:18:41 rdrop-exit, ! Zen Guru of Forth 04:18:55 hi tp! 04:19:09 Anyway I have not said anything about my 'progress' on the Z80, so here is a preview of things to come: https://pastebin.com/raw/UY1MD9np 04:19:26 rdrop-exit, may be important for you re new monitor on MAC : https://embdev.net/topic/284710#new 04:19:35 he uses a prefix on the string 04:20:15 The string is handled as a token though. 04:20:27 If someone reverse engineers and complains about me using the 'wrong threading mechanism' they are welcome to have their money back 04:20:37 but there is special handling of the prefix 04:20:56 veltas, memory dump of your Forth so far ? 04:21:13 tp: Yes a partial dump 04:21:26 Of the prebuilt dictionary 04:21:35 veltas, showing some dictionary words :) 04:22:09 I would hope it was obvious it was a dump of a prebuilt dictionary, given it has words embedded in the ascii preview 04:22:59 veltas, yes, it seems obvious to me, and I'm the least informed Forth system programmer here 04:23:17 if I see it, everyone else will for sure 04:23:53 If you wanted to reverse engineer it then the words "ALIGN", "ALIGNED" and "CHARS" all do nothing, so their dictionary entries are basically 'empty' examples 04:24:16 similar to how Postscript did it, special prefix characters 04:25:27 I will probably put the source online when it is half-running 04:25:48 Plan is to get interpreter working before implementing : 04:25:57 veltas, you can make ALIGN etc... immediate so they don't compile anything either 04:26:15 I could do, but I prefer the idiotic approach 04:26:32 ok :) 04:26:37 Oh I see what you're saying now 04:26:48 Yes, that is a good idea 04:28:05 rdrop-exit, check out my new 'touch demo' menu 04:28:09 ------------- 04:28:09 Main Menu '?' 04:28:09 ------------- 04:28:09 s - Scan: LED lights on Touch and prints a '.'. Press 'm' to stop 04:28:09 t - print continuous Touch values. Press 'm' to stop 04:28:10 i - print technical Information 04:28:14 m - Menu 04:28:16 e - Extra Menu, license, credits, etc 04:28:18 q - Quit 04:28:37 i cant believe how bug free this menu strategy is 04:28:47 especially as it's just terminal driven 04:28:58 cool :) 04:29:07 it makes a Forth demo so easy to use 04:29:15 rdrop-exit: Ah, I see what you mean. 04:29:16 I like Jef Raskin's strategy for menus 04:29:33 rdrop-exit, got a link ? 04:29:50 it's in his book, Humane Interfaces 04:30:00 ahh, thats a skill for sure 04:30:16 I have to bumble along there as I have zero artistic skills 04:31:19 basically, you just go to any name on your screen and hit enter or click the mouse and it gets executed 04:31:56 'go to' ? 04:32:19 move your cursor to it or select it 04:32:23 i dont want to get into terminal types and knowing the cursor position etc 04:32:45 it looks nice but it's not simple in my (limited) experience 04:33:12 this has to run on any terminal, any os etc 04:33:43 maybe one day when I have 1/2 a clue ... 04:33:44 that's no problem, you just limit yourself to lowest common denominator 04:33:59 well Im a tech not a programmer 04:34:16 and everyone else is a programmer and not a tech :) 04:34:18 the lowest common denominator would be the line oriented terminal. still nothing about cursor positions 04:35:04 in the system I use the user only has to read the menu and hit the number for the desired option and it immediately runs 04:35:05 lowest common denominator terminal escape codes, CUP etc... 04:35:09 but I guess a line oriented variant would be to have a prompt where you can type in any word on the screen and have the system select it for you (or ask which of the various instances you're interested in) 04:35:56 you only need 5 or 6 terminal escape codes, they're pretty much universal 04:35:57 I am reminded of the early Oberon operating system versions, where window titles were actually clickable, executable commands. 04:36:19 rdrop-exit, as usual I'll have to go and think on this new knowledge! 04:36:25 Oberon was cool 04:36:26 john_cephalopoda: plan9 took up some of those ideas 04:36:33 (still is I guess) 04:36:51 patrickg: Oh, cool, I'll have to check it out! 04:37:19 john_cephalopoda: the acme editor in particular 04:37:46 I still have the Project Oberon book on a shelf in this room 04:39:04 reading the XKB extension of X11, what a mess 04:44:38 tp, here's a video on the Canon Cat 04:44:40 https://www.youtube.com/watch?v=jErqdRE5zpQ 04:48:33 rdrop-exit, ta watching 04:59:35 patrickg, the following terminal escape sequences should be sufficient for a full screen terminal Forth: 05:01:08 RIS, GRCM set, CUP, SGR, DECSCUSR, DECTCEM, DECAWM 05:02:11 RIS is for resetting the terminal 05:03:04 GRCM set, sets the "Graphic Rendition Combination Mode" 05:03:12 CUP positions the cursor 05:03:38 rdrop-exit, you do realise that my menu is coming from this device ? 05:03:41 Memory stats in bytes: 05:03:41 Total Flash:65536 Free:17408 Used:48128 05:03:41 Total Ram:8192 Free:1864 Used:6328 05:04:05 it's a tiny cortex-m0 with Forth on board 05:04:11 Sure, terminal escape codes are just short ASCII strings 05:04:36 they're from the time of "real" terminals 05:04:47 as in VT-100 etc... 05:05:19 which probably makes them unsuitable in a time of 'microsoft' terminals on windows boxes 05:05:50 my existing menu is simple enough for windows users 05:05:57 terminal emulators emulate terminals 05:06:20 ... ideally 05:06:36 as long as you have a run of the mill terminal emulator, should be no problem 05:07:16 I'll try them here on my terminal when I have researched the concepts:) 05:07:36 xterm for example, understands hundreds of terminal escape sequences, while I'm using a half-dozen that are supported pretty much everywhere 05:07:56 most of my users wont have xterm 05:08:17 they have some lame windows gui terminal 05:09:08 they must have some sort of terminal emulator on Windows too 05:09:41 I'm now up to 170 downloads on my previous diagnostic Forth binary which had the same menuing system 05:09:44 Countries 05:09:44 Top: US, at 16% 05:09:44 Operating Systems 05:09:44 Top: Windows, at 62% 05:10:04 we're talking 1970s tech that's still supported by just about every terminal emulator in the world 05:10:56 IIRC Windows users often use PuTTY 05:11:01 anyway, my demo isnt about interfaces, it's about the stm32 'touch' controller for making touch sensitive keyboards\ 05:11:33 useers can flash the binary and start testing different touch designs immediately 05:12:03 I'm not suggesting you change your demo, I'm just saying a pretty common way of doing simple TUIs is using such sequences 05:12:22 the alternative for them is installing GB's of Java eclipse stuff and then trying to compile and run some demo 05:12:49 I have nothing against pick-a-letter menu systems 05:12:54 rdrop-exit, and I appreciate your comment, you havent let me down yet ;-) 05:13:17 all learning is good, the firther from my comfort zone the better 05:13:24 -i+u 05:14:34 Wait a sec, IIRC you're printing error messages in red on your terminal 05:14:37 right? 05:14:44 yep 05:14:54 and beeping the terminal 05:15:18 then you're already using escape sequences! 05:15:21 frankly, I'd be lost without those facilities 05:15:22 ;) 05:15:24 sure 05:15:37 Im using *some* escape sequences 05:16:12 I also have my own 'stack sensitive' prompt 05:16:30 if anything is on the stack, my prompt turns red 05:16:48 ok, what I'm saying is that with a minimal set of those sequences you can do a simple TUI 05:17:02 a minimal set being around 6 05:17:22 actually in this case driving the cursor around would be harder than just entering a number from the keyboard I think 05:17:22 (depending on what exactly you're trying to do) 05:17:37 I cant count on the mouse being useful 05:18:44 yes, Raskin's point is that no new program is necessary, anytime you display some words you have a menu 05:19:07 that's true! 05:22:01 --- join: heredoc joined #forth 05:24:27 Oberon had a similar concept 05:29:46 rdrop-exit, did you see that forum regarding the dell and mac problem ? 05:30:21 missed that 05:30:47 do you have a link? 05:30:56 https://embdev.net/topic/284710#new 05:31:05 thanks! 05:31:09 no problemo 05:32:04 good to know 05:32:19 i thought youd want to see it 05:33:34 XKB is migraine inducing, I'm putting off reading the remainder until tomorrow, my brain cells are getting scrambled 05:34:17 I always found it hard to follow 05:34:38 luckily Im just a user 05:36:14 the main X11 core protocol is a breeze in comparison since 80% of it is ignorable. 05:36:41 xkb is however *very* useful as a user, if you want a bit more complex stuff 05:38:01 ecraven, i have looked at it a couple of times in the past for some customisation 05:39:13 ok, my 'touch' code seems robust, now I just need to capture some scope pics for the article :) 05:39:34 I'm starting to wonder though, I only use one particular keyboard, I'm starting to wonder if I should just hardcode to that so I can ignore the bulk of XKB's complexities. 05:40:10 I might try and get this one into hackaday and steel myself for my inevitable 'forth rejection' 05:42:25 are there any other sites similar to Hackaday that might be more friendly to esoteric tech like Forth? 05:42:59 no, sadly 05:43:54 I'm surprised no competitor has popped up 05:44:31 it seems that all commercial sites, and theyre all commercial, use a formula thas related to what they can sell 05:45:01 so many of their articles are just cleverly disguised sales adverts 05:45:49 reminds me of many of the tech mags from the 80s 05:46:09 kids nowdays want devices that promise 'easy' programming, fast results, lots of bling, no specialised knowledge 05:46:21 yeah, nothing changes much I guess 05:47:42 Im attracted to the tech forums like a ghoul is attracted to cemeteries at midnight I guess, just so I can see the corruption and decay and gloat 05:48:44 Im just amazed at how the new breed of 'makers' view design and programming, it's ghastly to me 05:49:29 they dont want to know about the inner working of the hardware and consider that as long as they have a API, thats all they need 05:49:35 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 05:49:58 there doesn't seem to be much deisre for deep unsterstanding 05:49:59 for them the main drive seems to be ultra low cost and absolute minimum design time 05:50:15 thats what I see again and again 05:50:36 and one reason Forth is not a 'best seller' 05:51:02 Forth is for a different breed 05:51:07 it is 05:51:48 i do get about one person a month who subs to my utube channel which is 100% Forth 05:51:54 Sturgeon's law always applies 05:52:09 in a world of 8 billion thats not bad for forth, one a month ;-) 05:53:58 I'm up to 50 subs now! 05:54:08 woohoo 05:55:13 hahah 05:55:30 I'm amazed theyre still there 05:56:33 just wait till my new 'touch' demo video goes up on utube, it will be a massive rush of new users, why it may jump to 51 by xmas! 06:01:30 --- quit: dys (Ping timeout: 256 seconds) 06:03:32 gotta go, catch you soon 06:03:36 --- quit: rdrop-exit (Quit: Lost terminal) 06:03:58 bye, thanks for the chat 06:04:39 --- join: dys joined #forth 06:28:43 --- join: dddddd joined #forth 06:29:12 tp: What is your channel? 06:29:28 #mecrisp 06:29:38 it's *very* low traffic 06:29:56 but it's all about Forth and hardware 06:30:38 veltas, do you mean utube channel ? 06:30:49 Yes 06:30:54 lol, I thought you meant IRC channel 06:30:58 Is that on freenode? 06:31:03 yeah 06:31:11 What about your utube channel? 06:31:18 And by utube you mean youtube or not? 06:32:01 Is utube like a spin-off of youtube for micro stuff? i.e. mu/u tube? 06:32:18 https://youtu.be/xpTvd1Zhe0U 06:32:24 thats the last video I made 06:32:43 it's youtube 06:37:16 Nice 06:37:44 at least I got reasonable audio working this time 06:38:17 I have 11 videos and the quality improves a bit each time as I get better at it 06:46:00 veltas, my main site is here, its all Forth related: https://mecrisp-stellaris-folkdoc.sourceforge.io/new-projects.html#new-projects 06:52:14 I like youtube tech videos 06:52:45 personally I usually find them way too slow 06:52:46 GameHut was good when it was all about how he optimised 8-bit and 16-bit games 06:52:51 I much prefer docs 06:52:59 Docs are better for learning 06:53:14 yes, and video has it's place 06:53:16 But videos are good when they just give a rough overview of something or to pique my interest 06:53:57 for instance my first video needs to be redone as it has some terrible editing, but it's almost impossible to explain it to a non forther 06:54:45 i had a Arduino user here watching a demo of this system and his face was completely blank, first time I've ever seen that 06:55:03 he couldnt grasp the simplest part of it 06:55:43 my fault as the teacher but I just wasnt able to find a way to explain it that he could grasp 06:56:47 this is the video: https://www.youtube.com/watch?v=kDi-Nlz3-QA 06:57:19 but it was my first, I used a old phone for the audio etc 06:58:27 I'm getting close to redoing it so everything is much clearer, probably show how a simple Forth project is made from design to hardware next time 06:59:18 but I think I'll need to use X265 encoding to get the video size right down 07:05:35 That's very good by "bad video" standards 07:05:55 youre too kind :) 07:06:08 I can hear you and the audio doesn't sound like someone has recorded it via cup+string 07:06:23 I've seen some outstanding videos and aim to improve a LOT yet 07:06:26 And I can see everything and there aren't any horrific encoding/lossy artifacts 07:06:38 hahah, the phone was pretty bad 07:06:50 You have set the bar high 07:06:56 now at least I've got the microphone and audio sorted 07:07:08 it needs to be high to be worthwhile for me 07:07:27 I'm used to watching youtube videos where you can't read what is happening because of compression and the audio is extremely bad and they have a thick foreign accent 07:07:35 if someone spends a minute of their life watching it, the video has to be worthy of their time 07:07:42 And they don't realise how bad their video is 07:08:05 thats true, some are utter junk, a waste of everyones time 07:08:16 Hmmm 07:08:33 It's good you hold yourself to a high standard, it's a shame many people don't 07:08:55 I am tired of the 10 second intros and then the mini-vlog-post before they get to the clickbaity content 07:09:05 one has to present Forth in the best light as well I think 07:09:06 which is not what they advertised 07:10:01 yeah, I'll never turn on monetise my videos 07:10:28 there are so few modern Forth videos, that why I started doing it 07:10:48 i was really hungry for modern Forth content and there was almost nothing 07:11:21 i mean in the embedded area, not on PC's 07:15:17 --- quit: mtsd (Quit: Leaving) 07:16:55 veltas, there is a STM32 peripheral called the 'TSC' it's a multi channel touch sensitive peripheral and there is not *one* single Arduino STM32 library for it 07:17:03 not that I can find 07:18:19 so you wont find any Arduino projects using it. Ive just finished a bootable Forth binary demo for that peripheral so electronics enthusiasts can play around with touch sensors 07:19:09 I'll do a video, a page on my doc site, and email it to Hackaday and see if they take it, but generally they reject any Forth stuff 07:21:08 --- quit: dys (Ping timeout: 240 seconds) 07:34:17 --- quit: john_cephalopoda (Read error: Connection reset by peer) 07:34:23 --- join: TheCephalopod joined #forth 07:34:37 tp: Good luck 07:35:05 Monetise your videos by all means, just produce good quality content 07:35:14 veltas, I'm philosophical about it 07:35:26 I won't be paying for your video anyway I have adblock 07:35:30 And so do most people 07:35:37 Who even watch this kind of stuff 07:36:39 veltas, no, if I want to make money then I'd have to produce some utterly useless time wasting drivel ;-) 07:37:24 veltas, my Forth was free, and so is all my Forth content, I just hope it will be useful 07:37:51 --- join: proteus-guy joined #forth 07:38:24 I've had about 1700 views in all, so not many are interested in Forth, but I knew that 07:38:51 Forth is incredibly unpopular in embedded where C rules 07:55:53 --- join: dys joined #forth 07:57:55 --- quit: jsoft (Ping timeout: 268 seconds) 08:01:42 I work in embedded programming in industry and Forth is totally unknown, and considered a whacky old-fasioned language by those who do know it 08:02:03 that's it! 08:02:06 Including an engineer I know who is sixty-something and used to work at a proper Forth company and wrote Forth every day, coming out of assembly 08:02:41 Writing 8-bit controllers for lifts or something 08:02:52 I'm 60 something also and have woked on professional Forth projects in the 70's 08:03:04 He worked at MPE forth 08:03:14 but only the hardware, I had no idea how to write Forth code 08:03:24 Or worked *with* them, or was trained by them, I don't remember the details 08:03:26 wow, Stephen Pelc's mob 08:03:47 I'll ask him if he knows them 08:04:14 it's great to have a professional embedded guy here! 08:04:32 Ive been a electronics tech all my life 08:04:56 and I always assisted the engineers by building the gear for them 08:05:13 theyd do a design, give me the schematic and I'd build it all 08:06:35 i find it amazing how those who have never used Forth can be so sure it's "a whacky old-fasioned language" that is write only etc 08:07:05 and those who think so have never used it imho, or they would never think that 08:07:36 they have probably read negative a article about Forth and believe it 08:08:05 I think just reading a non-biased description of Forth would make you think that 08:08:16 You have to really *try* it to see where it fits for you 08:10:07 I think I can tell articles written about Forth by people who have only loaded it on a pc, tried it for a few days then wrote an article 08:10:27 That is how it would sound if I wrote such an article right now 08:10:49 Since I have been using it in small programs to try it out, but have not written anything significant in it 08:10:54 I know in my own case I spent a couple of *years* playing around with Forth before I 'got it' 08:11:49 it's understandable as I think using Forth depends on more than Forth 08:12:29 for instance if I hadn't built my own development environment, I wouldnt be using Forth as it would just be too slow for me 08:13:19 my criteria was that Forth development must be as fast, preferably faster than the same development using C and GDB 08:13:35 or I wasnt going to use Forth 08:14:01 I dont mean the design time, I mean the actual flashing.uploading of source 08:14:05 I think you could definitely program Forth for years without ever really learning anything about the extension features, what is 'in' the dictionary, etc 08:14:55 I think I use most of it, but I add far more Words than Mecrisp-Stellaris comes with 08:15:10 most of mine are automatically generated 08:15:30 What does that mean? 08:16:15 do you use cortex-m in your work by any chance ? 08:16:44 I have used it 08:17:02 Only in C, I have only spotted assembly in a debugger 08:17:11 than youre familiar with how many registers and bitfields a cortex-m may have ? 08:17:24 here are some examples 08:17:24 No... is it about 32 registers? 08:17:42 I have done actual assembly for PowerPC and x86 at work 08:17:48 STM32F0xx 37 413 3044 08:18:08 thats 37 peripherals, 413 registers and 3044 bitfields 08:18:20 here are some others for comparison 08:18:24 This is not familiar to me 08:18:37 STM32F7x7 93 2093 17051 08:18:57 in C these are all contained in the header files 08:18:58 I've written a bit on my interpreter design, and the lack of forward parsing in retro at http://forth.works/share/894caaba15e7a6d8d482dab807db9e33.html 08:19:00 I 'worked with' such a device in that I added support code for it years after it was designed, so I don't 'know' it like someone developing their own system would 08:19:10 it's not in the main docs yet though 08:19:27 crc, cool 08:20:03 veltas, when designing devices with Forth and cortex-m a way to talk to all those peripherals must exist 08:20:15 Okay 08:20:21 Like ... drivers you mean? 08:20:22 veltas, naturally theyre all memory mapped 08:20:26 Yes 08:20:49 not really like drivers 08:21:05 think of it more as a 'configuration' 08:21:09 Well I mean any kind of software interface on top of the raw memory map 08:21:16 So not like that at all then? 08:21:35 This sounds very FPGA-y to me 08:21:44 youre a programmer I can see 08:21:49 Yes I am 08:21:50 I'm a technician 08:22:02 we look at the same things a bit differently thats all 08:22:08 youre right of course 08:22:10 Yes I can tell from your video actually 08:22:54 Because of the debugger feature, that's something I would have tried to do in software, and you are talking hapily about how your debug stuff holds the CPU in reset and uses the reset signal to clear etc 08:24:03 I've been working with STM32 MCUs a bit. Each got a giant manual with hundreds of peripheral registers. 08:24:13 I use both a software and a hardware reset probably thousands of times during a project 08:24:41 TheCephalopod, so true, Ive been reading them since 2014 08:24:49 Sorry should not have said "holds the CPU in reset" ... s/ in reset// 08:24:58 --- nick: TheCephalopod -> john_cephalopoda 08:25:23 veltas, no problems, I usnderstand what you mean, same as you understand what I mean when I venture into the softwware world 08:25:40 I am not actually sure I do but communication is never free! 08:25:55 as a technician I LOVE those giant manuals, theyre the fun part of any MCU to me 08:26:07 I am trying to understand, not trying to be pedantic, I came into embedded with a really weird route, from a computer science background 08:26:17 Just got more interested in how stuff 'works' at the lower levels of software 08:26:40 tp: I'll soon start a job that is basically programming STM32s. 08:26:46 and it's hard for software people trying to embrace the hardware world I know, Ive seen it so many times 08:26:57 I love big manuals too actually, especially if they actually contain needed info and it's accurate 08:26:58 john_cephalopoda, thats pretty cool! 08:27:35 I'm quite excited, I hope it is fun. 08:27:51 one problem with stm32 is that because using a arm core, the tech details are scattered all over 08:28:29 crc: I will read that because I was asking about that design choice earlier, thanks for posting the link 08:28:59 john_cephalopoda, I've been using stm32 since 2014 and Ive found it a lot of fun, I think it's well designed and the doc is outstanding 08:29:14 Yeah, their reference manuals are really well-done. 08:29:39 john_cephalopoda, tho my use has been what one would call 'hobby' as I was working in another industry at the time 08:30:04 but before that I worked in embedded since 1974 08:30:29 I never really left it as I love the embedded field 08:31:27 john_cephalopoda, cortex-m is a massively complex area to me, it's amazing arm did as well as they have 08:31:50 I just handed in my master thesis in computer science (informatics) and I'll start working in industrial embedded things now. 08:32:22 cool 08:32:47 i mean take the STM32F7x7 ? it has 97 on board peripherals, 2093 registers with 17051 bitfields, try and not screw up the names of all those ? 08:33:21 john_cephalopoda, congratulations!!! that must have been a big effort ? 08:34:16 tp: Thanks! Yeah, writing the thesis was a hard time period. A lot of setbacks because of hardware issues, but in the end it worked out. 08:34:32 john_cephalopoda, if youre using stm32, youll need to know about CMSIS-SVD file:///home/tp/projects/programming-languages/forth/mecrisp-stellaris/mecrisp-unofficial-doc/_build/html/register-generator.html#svd2forth 08:34:44 oops 08:34:47 sorry 08:35:01 https://mecrisp-stellaris-folkdoc.sourceforge.io/register-generator.html#svd2forth 08:35:20 I keep a internal directory and rsync it to the website 08:36:09 john_cephalopoda, life should be a lot less stress now :) 08:36:29 Ah, yeah, I've seen those files being used by the debugger in the Eclipse-based IDE. Good to know where to find them when the debugger doesn't know where they are. :) 08:37:21 that's true, they are the basis of all the hardware mapping for all the languages that use STM32 08:38:17 when I started in 2014 there was nothing and the Forth guys were just transcribing what they wanted to use by hand, it's error prone and everyone used different naming conventions, a mess! 08:38:38 crc: It feels like the major thing that has changed here is you have moved the forward-parsing fetch from immediate words and into the word lookup 08:39:19 the a guy made a basic svd XML 'recipie' for XLST and I built on his work 08:40:55 the Windows C people had it easy as ARM made a executable to turn svd files into header files, but naturally there was nothing for Forth or Rust or Python etc 08:41:14 so we all had to make our own recepies 08:41:17 crc: I think the major benefit I see in that document is "each word can be studied in isolation, and refactoring doesn't need to take parsing into account" 08:41:44 The thing about consistency is a subjective point which I don't really know if I'd like or not without trying it 08:46:03 The thing about parsing affecting refactoring isn't something I've considered so far because I've only worked with really simple Forth programs, where the structure etc. makes it really obvious where parsing is used and where simple stack-based ordering is being used 08:46:28 I have no idea how that would play out in a real application 08:47:03 veltas, crc would, he uses Retro for everything! 08:48:35 Yeah I am not trying to cast doubt, just explaining my analysis 08:48:45 Which is mostly "I am too ignorant in forth to say anything about this" 08:49:26 veltas, welcome to the club :) 08:51:18 we were having a discussion here once about the effect on sea levels of the Greenland and Antartic ice melting, CRC quickly arrived at a figure using Retro for the calculations 08:52:41 nice 08:53:48 when I observed the high level of Retro utility, I myself considered using Forth on my PC for utility programs instead of Perl and Shell 08:53:58 for the first time ever 08:54:51 I am using Lua for my utility stuff right now 08:54:58 And Bash I guess 08:55:17 good choices 08:56:00 Perl is messy but does anything, and I only use sh not bash being a freebsd user 08:56:01 I am going to force myself to use gforth for a few tasks as an exercise 08:56:36 i see gforth as a monster but I've only used it a couple of times 08:56:39 Then will see if it could possibly be useful for scripting 08:56:56 retro compiled in a instant here and hasnt crashed or misbehaved once 08:58:52 Does retro have a cross-compiler and is it better documented than gforth's https://gforth.org/manual/How-the-Cross-Compiler-Works.html#How-the-Cross-Compiler-Works 08:59:50 i dont know, but I love Retro'd docs and literate programming syetem 09:00:33 Is that what the ~~~ is for? Literate programming? 09:00:42 yes 09:00:49 Nice, I thought that's what it was 09:01:20 I only happen to know what that was from reading about Knuth's language work recently 09:01:31 i have observed that Forth is a very bad fit for C users to try and turn into C 09:02:05 but that Forth is a excellent fit for anyone to turn into their own unique system 09:03:26 I am being boring and trying to implement Forth 2012 Core, I will try these flavours later hopefully 09:04:27 i cant impliment a Forth at all, Im still a user only 09:04:43 but as a tech, I dont have any drive to make my own Forth 09:04:56 I love making Forth tools tho 09:05:09 all the aids that make development easier 09:05:27 user application development I mean 09:06:14 I was motivated to learn Forth because I was trying to design a language for the Spectrum 09:06:29 It makes sense to give Forth a shot and see if it will float my boat 09:06:50 absolutely 09:07:35 it seems to me that the spectrum fits in a somewhat unique position now 09:07:43 It has definitely won my respect already, I have enjoyed it a lot so far and it's been a really interesting dive into a different universe of programming 09:07:53 (Forth) 09:07:55 it would be a PC if it had the horsepower and the resources, but it doesnt 09:08:09 And I hope I can justify keeping using it 09:08:37 it may take a few years to find out 09:09:13 in learning Forth I found that I have also learnt more about everything else 09:09:39 as I learnt to use Forth, my programming improved in everything else 09:09:50 my Perl code started to look neat and tidy 09:09:53 There is definitely a displicine needed 09:09:56 managable even 09:10:36 a month spent orth coding seemed to improve everything else as tho I had spent a month on it instead 09:11:10 Hmm I think I have gotten some of that myself too 09:11:14 Forth started changing me, changing the way I aproached problems 09:11:27 it's quite interesting 09:12:06 I mean I started machine coding in 1980, I did a lot of it, I made and sold gear written in machine code 09:12:37 then I went to assembly and life was a luxury I couldnt believe compared to machine code 09:12:51 C made assembly seem hard 09:13:41 Forth instead of changing my external environment, started changing me 09:14:28 and I spent a long time trying not to abandon Forth because I just didnt get it, it seemed hard to do anything 09:15:08 but I hung in there because Forth coders I had built hardware for in the 70's had raved about it 09:15:32 and I had a lot of respect for them, I kept thinking I must be missing the obvious 09:22:11 The nice thing in assembly we lose with higher level programming languages is overflow detection 09:22:45 For some reason I've never seen that nice in a high level language, it's a royal pain in C compared to assembly where every arithmetic op sets/clears the overflow bit 09:22:53 or equivalent for your arch 09:24:45 my user of C was always very simple in my PIC days and I used a simple C 09:25:17 only when I started using STM32 in 2014 did I experience Gcc for cortex-m 09:25:22 I want to try writing K&R C some time, instead of ANSI C, on a serious project 09:25:51 I can't tell if it's better or worse 09:25:53 ill take your word for it, my projects have always been small 09:26:19 I have actually done some serious C programming and I know it too well and wish I knew less 09:26:47 my first commercial embedded project was a bottle filing machine that filled 5000 bottles a day 09:27:21 I used two 8085's in that and wrote the code in machine code on a hex keypad 09:28:11 the code was very simple, but the overall project wasnt as I also had to make special hardware, such as waterproof switches etc 09:28:57 they were all hand made because commercial switches didnt last 09:28:59 Yeah 09:29:38 thats the area I work in. If someone asked me to do a complex project which was all code, I'd turn it down I think 09:29:52 I wouldnt be efficient 09:31:57 I consider the Spectrum a PC because that's what it says on the box, and also because that's how it's used 09:32:28 it's a 'small' pc:) 09:32:54 You don't exactly sit at an embedded computer and load different assortments of programs into it and use them interactively (well not outside of development, usually) 09:33:16 I have made thousands of Z80 boards in a project in the early 70's, I probably mentioned before 09:33:21 The Spectrum doesn't get installed inside washing machines (although technically it could be, and I can imagine at least one coyboy has) 09:33:24 Yes 09:33:41 sure, people used the Spectrum as a PC 09:34:10 in that they wrote all kinds of apps, graphics, games, anything that would run on it I imagine 09:34:42 we had some Z80 based computers here that were very popular with programmers 09:34:56 the "Dick Smith DZ80" 09:35:07 not to mention the Tandy TRS80 09:36:16 I owned a Z80 development system for a while, the 'Cromenco Z80-based S-100 bus computer" 09:36:52 I still have the PSU from it sitting under a workbench not 3 meters from where Im sitting right now 09:37:50 https://microship.com/cromemco-z-2d-review-kilobaud/ thats the one I had, the Z-2d 09:38:00 it had a assembler and floppy drives 09:38:34 actually the aluminium used in the case was too good to thro away so I have that here too 09:40:17 I like the work that went into designing those systems. Also the monitors are placed way more ergonomically than what you get today. 09:40:41 john_cephalopoda, they were very expensive and well made 09:41:15 I'd pay a lot of money for a really well-made computer and phone. But they keep getting flimsier. 09:41:21 my favourite was a tinny SWTP 6800 development system tho 09:41:47 but thats because I just loved 6800 assembly and the Motorola 68HC11 09:42:00 yes, the days of quality are long gone now 09:42:33 i mean, who keeps the PSU and the aluminium sides of a computer ? 09:42:49 i did because they are such high quality 09:42:57 too good to thro away 09:43:39 nowdays when you pull apart a usb keyboard all you salvage is the cable and a couple of cheap and nast self tappers, the rest is junk 09:48:00 I do prefer having all this cheap shit but it is sad that it's basically impossible to get e.g. a "good laptop" that won't break in a year of typical use 09:48:51 it is cheap and nasty, but thats because the price is so low 09:49:52 around 1980 I tried to get a loan for $10,000 AUD to buy a Olivetti 286 PC with EGA display 09:50:05 that's what they cost back then 09:50:13 My main home computer is a 1GB RAM ThinkPad T42 right now 09:50:32 EGA was horrible res 09:50:54 thats a small computer thesedays 09:51:18 my laptop is a X61s Thinkpad that's quite worn out now 09:51:26 I think it has 2GB 09:51:29 of ram 09:51:42 it's vintage 2001 I think 09:51:47 Yeah that is probably a gen faster than mine but not in a significant way 09:51:52 but I'll never buy another 09:51:56 I don't think 2001 09:52:02 That doesn't sound right 09:52:10 I paid $100 for it on ebay 09:52:10 2011 maybe 09:52:18 Yeah similar story here 09:52:44 And I have the dock as well, in fact I have 2 of each, so thats $400 for two lappies and two docks 09:52:45 I went to a much later model, a T420, which I still have. It's nice but I just don't like widescreen on a laptop 09:52:56 I can't get over how much nicer a 4:3 laptop feels 09:53:19 the LCD is horrible on my thinkpad, but the keyboard is the absolute best as I hate 'chicklets' 09:53:31 Hmmmm 09:53:32 I do everything on a PC tho 09:53:43 the lappie is only for Linux and emergencies 09:53:50 --- quit: dys (Ping timeout: 256 seconds) 09:54:00 I had a T60 or T61, unfortunately the soldered-on GPU broke and it was scrap. 09:54:11 the X61s has fantastic keys, real keyboard keys 09:54:31 john_cephalopoda, yeah, all lappies die a horrible death 09:55:04 it's the fate of all lappies to die horribly 09:56:12 My last two laptops were DELL and both died because of a broken screen. My current one is by Tuxedo. It broke after barely 3 months and I had to send it in. Power connector was broken and they had to send me a brand new laptop. 09:56:48 Laptops definitely get used and abused 09:56:58 The previous connector sparked relatively often when plugging it in, so it might have been a bad device though. 09:56:59 they do 09:57:04 eww 09:57:16 thats bad luck, but they are fragile 09:57:30 one can only shoehorn so much pc into a tiny case 09:57:43 I grimace when I look inside laptops 09:58:02 they offend my technicians sensibilities 09:58:38 If applications weren't as bloated, we could all have a RasPi in our laptop cases and it would just work. 09:59:04 heh, no i strongly disagree! 09:59:14 .. we would only need a Z80 :) 09:59:46 That's right lol 09:59:55 How is opcode encoding in a Z80? Is it pretty or is it a mess of shuffled bits like AVR? 10:00:09 There are legit applications of more processing power and memory like cryptography 10:00:23 john_cephalopoda: Not ugly 10:00:39 we all have 'smart phones' that need a charge every couple of days, but once I rode a motorbike around Australia and took a palm pilot with a Dragonball cpu with me 10:00:47 It's not a very orthogonal processor though 10:00:54 the ride took 3 weeks and I didnt charge the Pilot once 10:01:01 Yeah phones are rubbish 10:01:26 veltas, no it's not, and thats why I never liked the Z80 like I loved the 6800 10:01:41 tp: Still better than 'smart watches' which have to be charged after half a day ;) 10:01:49 my phone is a old nokia N9 10:03:32 john_cephalopoda, I have a smartwatch, the Xiaomi Amazfit Pace 10:03:51 it has a color transreflective display and is just awesome! 10:04:04 it only needs a charge every 4 -5 days 10:04:30 it's the single most robust and useful bit of hitech Ive ever owned 10:04:50 it has wifi and bluetooth but doesnt need a phone 10:05:16 currently the band is broken and Im making a new one 10:05:26 i wore the original band out 10:06:30 I miss having a phone I would charge at most once a week 10:07:37 veltas: re: ~~~ see http://forth.works/chapters/general/retro-unu.html for some documentation on this 10:07:39 the nokia is oled and uses Linux with QT, no android 10:08:07 so even tho the N9 has only a single core, it's plenty fast 10:08:22 and the battery lasts at least 2 -3 days 10:09:58 and http://forth.works/examples/sea-level-rise.retro.html is the example tp mentioned concerning sea levels 10:10:10 * crc was afk, going through backlog now 10:17:21 My phone is a Motorola moto x⁴. When I tried it, it didn't like to get along with LineageOS at all. Also the back is made of glass, which is a stupid design decision. 10:17:51 tho motorola make good gear 10:18:10 After the glass broke, I just glued on a cut-to-shape piece of fleece and now I can actually put it down without having it slip around. 10:18:17 and glass probably doesnt interfere with the antenna system like metal 10:19:01 must be ordinary glass, or it hit a sharp edge ? 10:19:06 Plastic or composite material would work just as well. 10:19:24 It is ordinary glass. 10:19:28 I tested some really thin gorilla glass I took out of a phone, it was utterly impossible to scratch 10:20:03 in the end i busted it because I was using so much pressure on a knife blade to try and scratch it 10:20:19 and it was flat on a laminex table 10:20:41 plastic is a bit cheap tho ? 10:23:16 My first phone was some cheap LG feature phone. It was completely made out of plastic, even the screen. I could drop it as much as I wanted and it didn't break. 10:24:01 I bet they soon fixed that oversight ? 10:24:13 :þ 10:47:43 --- join: ACE_Recliner joined #forth 11:01:40 I got two old phones here. I wish I was good enough at electronics that I could find out how they are working internally and how to flash new software onto them. 11:03:27 that's very hard I think because the radio part has binar blobs 11:03:50 then you have low power modes etc 11:04:12 even those really experienced have lots of trouble unles it's their design 11:11:19 Maybe the blobs can be extracted. Still hard to deal with it though. 11:12:45 theyre govt mandated sadly 11:13:06 you know how govts hate people talking to anyone they like 11:13:54 the radio mfr supplies the blobs and enough info to the phone maker to be able to use them 11:14:20 the phone mfr doesnt know anything about the blobs or the radio chipsets 11:17:36 Hm, that's sad. 11:18:25 thats why there are so few 'open source' phones, it's all tightly controlled by govt and telcos 11:19:04 but they can only suppress technology for so long 11:19:40 what will they do when musk has 42000 sats with 4 antennas each orbiting the earth ? 11:20:07 I wonder if people will ever start building big wifi antennas everywhere. 11:20:15 communication between everyone is inevitable 11:20:21 they wont need them 11:20:55 I am not sure if the satellite business will really work out the way Musk wants it. 11:20:59 the sats are only 250km straight up, musk will sell cheap pixxa size antennas for them 11:21:10 i think it will 11:21:21 I've been doing wifi the last 14 years 11:22:00 depens on govt interference and a lot of things also 11:22:11 but I think the concept is technically sound 11:22:31 The 2.4GHz frequency is free-for-all, so there isn't that much interference possible with that. 11:25:24 sure, he will use a private licensed freq I guess 11:25:54 then again, if the antenna is pointing up and has good side rejection, maybe it wont matter ? 11:26:05 wifi is LOS 11:26:21 no one really knows the detail yet 11:26:26 well I dont 11:29:20 Oh, I didn't know that he wanted to use something else for uplink. But it makes sense. 11:30:15 i didnt infer that did I ? 11:30:30 Im assuming that his antenna will do both 11:30:55 otherwise how would it work in the ocean far from land ? 11:31:53 i think he will probably have a number of licensed bands 11:32:09 to allow up and down and overlapping areas 11:32:33 but that whole thing is well above my pay grade 12:15:11 --- join: jsoft joined #forth 12:23:52 --- join: dys joined #forth 12:31:22 --- join: WickedShell joined #forth 13:05:18 --- quit: dys (Ping timeout: 255 seconds) 13:11:54 --- quit: john_cephalopoda (Read error: Connection reset by peer) 13:12:02 --- quit: jedb (*.net *.split) 13:12:02 --- quit: Monev (*.net *.split) 13:12:02 --- quit: rprimus (*.net *.split) 13:12:05 --- join: john_cephalopoda joined #forth 13:13:03 --- join: jedb joined #forth 13:13:03 --- join: Monev joined #forth 13:13:03 --- join: rprimus joined #forth 13:14:01 --- quit: Monev (Max SendQ exceeded) 13:14:22 --- join: Kumool joined #forth 14:37:30 --- quit: xek_ (Ping timeout: 260 seconds) 14:37:33 --- quit: gravicappa (Ping timeout: 255 seconds) 14:58:42 --- join: jpsamaroo joined #forth 15:20:35 --- quit: john_cephalopoda (Quit: Leaving) 15:58:20 --- join: dave0 joined #forth 17:25:57 --- join: X-Scale` joined #forth 17:26:02 --- quit: X-Scale (Ping timeout: 256 seconds) 17:26:36 --- nick: X-Scale` -> X-Scale 17:28:09 --- join: iyzsong joined #forth 18:40:49 --- quit: ACE_Recliner (Quit: Leaving) 18:51:43 --- join: boru` joined #forth 18:51:46 --- quit: boru (Disconnected by services) 18:51:48 --- nick: boru` -> boru 19:45:25 --- quit: _whitelogger (Remote host closed the connection) 19:48:29 --- join: _whitelogger joined #forth 20:03:24 --- quit: dave0 (Quit: dave's not here) 20:48:28 --- quit: iyzsong (Ping timeout: 240 seconds) 21:25:40 --- join: gravicappa joined #forth 22:30:54 --- quit: WickedShell (Remote host closed the connection) 22:38:10 --- quit: actuallybatman (Ping timeout: 260 seconds) 22:39:04 --- join: actuallybatman joined #forth 23:19:13 --- join: dave0 joined #forth 23:36:20 --- join: reepca joined #forth 23:43:38 --- join: iyzsong joined #forth 23:59:59 --- log: ended forth/20.03.06