2025-05-28 04:36:27 I mean, in J you have to tell it on what rank of array to do operation on, but in APL it is less explicit and just does it. idk about K 2025-05-28 08:14:47 hiall, g'day crc :) tp here 2025-05-28 08:15:22 announcing we now have a readline wrapper and command completion for mecrisp-stellaris ! 2025-05-28 08:16:11 pic is at my doc site: https://sourceforge.net/projects/mecrisp-stellaris-folkdoc/files/swd2rl.pl.png 2025-05-28 08:17:16 the wrapper: https://sourceforge.net/projects/mecrisp-stellaris-folkdoc/files/swd2rl.pl 2025-05-28 09:28:49 tpbsd: congratulations! 2025-05-28 09:30:55 xentrac, thanks, but Jim Morris did the design, I only applied it and wrote some support stuff :) 2025-05-28 09:30:55 at least now Mecrisp-Stellaris has a decent readline and Word completion, it's really great to use as Mecrisp-Stellaris was pretty basic 2025-05-28 09:31:36 even tho Crest wrote a excellent SWD connected terminal for it (no clock or usart issues) 2025-05-28 09:51:19 that's excellent! 2025-05-28 09:53:40 tpbsd: Hi Terry, hope you're doing well 2025-05-28 09:54:46 That's great news, readline stuff is great 2025-05-28 09:55:01 I'll have a look tonight 2025-05-28 09:55:33 hiya veltas.I'm good thanks, I hope youre doing well also 2025-05-28 09:56:34 I'm a recent Neovim convert, and have made a couple of plugins, all Forth support stuff of course 2025-05-28 09:57:39 last time I was here, this ch was on Freenode iirc, how time flies ! 2025-05-28 09:57:42 can you script Neovim in Forth yet? 2025-05-28 09:58:28 xentrac, I'm a electronics guy, so I don't know, but anything is possible I guess 2025-05-28 09:59:21 Im not a programmer really, but I have to program a little to support my embedded Forth habit 2025-05-28 10:00:56 whilst I'm 100% Forth on embedded, I'm ok with Lua etc for the PC side, or even Retro :) 2025-05-28 10:17:54 You might be interested in https://github.com/veltas/forth-vim which is just my attempt at better syntax highlighting for Forth 2025-05-28 10:18:06 I imagine it's better to play with it a little for each person's needs / dialect 2025-05-28 10:18:16 For vim anyway 2025-05-28 10:18:27 I assume it's compatible with neovim? No clue about neovim 2025-05-28 10:22:22 veltas, neovim has a excellent syntax highlighting strategy, they use a proper parser 2025-05-28 10:22:58 vim uses grep for highlighting I read 2025-05-28 10:24:48 veltas, neovim uses the "treesitter parser" for more advanced highlighting 2025-05-28 10:26:23 veltas, and then we have the so called 'language Server Protocol" servers which are just amazing and do command completion, snippets, help etc 2025-05-28 10:27:38 veltas, sadly only one Forth LSP exists and it was made for the Helix editor. LSP's were designed by Microsoft and are supposed to be compatible but I havent been able to use that one as it wont talk to me yet 2025-05-28 10:29:43 veltas, your forth-vim looks very detailed 2025-05-28 10:41:23 veltas, here is a pic I just made of a lua LSP at work in neovim, you can see how comprehensive this thing is as it's realtime, not a compiler etc :https://sourceforge.net/projects/mecrisp-stellaris-folkdoc/files/lua-lsp-2.png 2025-05-28 10:45:39 The ultimate syntax highlighter is the actual Forth, if you build in some 'colours' for words, because Forth has a contextual grammar after all 2025-05-28 10:45:58 So any parser is an approximation, short of running the code 2025-05-28 10:46:20 good point 2025-05-28 10:46:30 But the forth.vim I've written is just a better and less crappy approximation than what comes with vanilla vim 2025-05-28 10:46:44 Sounds like it might not be appropriate for neovim 2025-05-28 10:47:07 yeah the vim syntax highlighter covers every language known from a -z I think 2025-05-28 10:48:14 veltas, your highlighter wouldnt run in neovim as they use the treesitter parser and it's not compatible with vim I'm pretty sure 2025-05-28 10:52:08 tpbsd: iirc you can still use vim syntax highlighting packages in neovim 2025-05-28 10:53:15 identity, ah ok 2025-05-28 11:01:10 veltas, I just made this pic on my system of the neovim default highlighter the 'treesitter' parser for your viewing pleasure :) https://sourceforge.net/projects/mecrisp-stellaris-folkdoc/files/nvim-treesitter-forth.png 2025-05-28 11:05:23 tpbsd: using a proper parser doesn't seem like a good idea for syntax-highlighting Forth ;-) 2025-05-28 11:06:47 xentrac, youd have to take that up with the designers, Im only a electronics guy using Forth to make my hardware work 2025-05-28 11:19:34 for those that understand this kind of stuff, here is the doc for the Python TreeSitter : https://tree-sitter.github.io/py-tree-sitter/classes/tree_sitter.Language.html 2025-05-28 11:23:09 for Python it's a fine idea 2025-05-28 11:25:06 ok, I'll bite :) why doesnt it seem like a good idea for syntax-highlighting Forth when grep like methods are usually used (as in vim) ? 2025-05-28 11:26:07 oh, just because the Forth parser is totally programmable 2025-05-28 11:26:43 you can define your own immediate words that parse chunks out of the input using whatever delimiters they want with word 2025-05-28 11:27:16 so you might as well just use regexps 2025-05-28 11:27:44 unless you're going to trace the execution of a Forth system as it compiles your source code ;) 2025-05-28 11:28:25 I only do that when my Forth source is causing exceptions etc 2025-05-28 11:28:34 which is probably a lot 2025-05-28 11:28:43 I mean, you could do it automatically in order to get syntax highlighting information 2025-05-28 11:29:55 xentrac, youre talking about a pc hosted Forth I assume ? I only use tiny mcus for forth, the PC has to supply the terminal and intelligence in my case 2025-05-28 11:30:55 I realise that this ch is all about PC hosted forths, thats why I havent visited in a few years, your Forth and my Forth are very different 2025-05-28 11:31:38 mine has like 8k of ram and 64kb of flash, it can only perform a dedicated and small device function, always standalone 2025-05-28 11:31:57 no usb etc 2025-05-28 11:34:38 not necessarily, no 2025-05-28 11:34:50 I think MCU-hosted Forths are a lot more interesting actually 2025-05-28 11:35:46 but what I mean is that if you define a word : vec3 create , , , ; and then you use it like 3 4 12 vec3 foo what you want to know from the syntax highlighting is that foo is being defined there 2025-05-28 11:36:31 maybe it would even be useful to know that it's defined as a vec3 2025-05-28 11:37:05 to figure that out you need to trace the compilation process and observe that the characters "foo" are being consumed by create (which is being called from vec3) 2025-05-28 11:38:16 there are lots of ways you could conceivably do that, including doing the compilation process on the PC and just downloading the compiled dictionary to the board, tracing the compilation over OCD or similar, or running the compilation in an emulator 2025-05-28 11:38:26 but that kind of analysis is fundamentally beyond tree-sitter's capabilities 2025-05-28 11:38:43 is it beyond a LSP's capability ? 2025-05-28 11:39:40 I do know that this level of software is definitely beyond *my* capability :) 2025-05-28 11:40:33 no, an LSP server can totally provide the editor with that information; kind of the whole point of LSP is really to enable editors to talk to compilers 2025-05-28 11:42:19 xentrac, so perhaps use a LSP to provide the highlighting then ? 2025-05-28 11:42:56 sadly, there is only one and it's basic I believe, and I dont know how to install it in neovim 2025-05-28 11:43:18 as it was made for a different editor, one with no plugins 2025-05-28 11:44:06 it seems plenty of programmers dont want to mess about with a editor to make it useful, but Im ok with that, not being a real programmer myself 2025-05-28 11:44:22 the LSP probably needs to encapsulate the Forth system you're actually using 2025-05-28 11:44:31 I must try that other editor sometime 2025-05-28 11:45:04 yeah, because 'once you know one Forth ... then you only know *one* Forth' ;-) 2025-05-28 11:46:13 well, I mean, if you have something in your compilation early on that errors out in the wrong Forth, that kind of thing 2025-05-28 11:46:21 I mean, Im a simple noob class Forth user myself, but I wont use anything else for embedded except mecrisp_Across or assembly now and again 2025-05-28 11:46:43 yeah, idealy it should be able to adapt easily 2025-05-28 11:46:56 yeah 2025-05-28 11:49:06 xentrac, do you know the Gema text replacement prog ? 2025-05-28 11:50:52 Ive used it to build a system where I use labels for mcu register fields, and the system replaces them with their register absolute address on the way to the mcu. The source is untouched 2025-05-28 11:52:16 is it like the C preprocessor? 2025-05-28 11:53:25 I really dont know, I had the impression that C preprocessor is very complex 2025-05-28 11:55:01 the main thing with Gema is that I feed it huge text files of text replacement config which I generate from the MCU manufacturers XML System View Description file using XSLT 2025-05-28 11:55:35 so the whole process is automatic, it just needs a SVD for the specific MCU 2025-05-28 11:56:11 it's been working perfectly for a couple of years now, so I will release it as soon as I can tidy it all up etc 2025-05-28 11:56:39 it basically removes all 'magic numbers' from the Forth code 2025-05-28 11:56:58 replacing them with CMSIS-SVD nomenclature 2025-05-28 12:00:50 I'm not familiar with CMSIS-SVD at all 2025-05-28 12:01:20 thats cool, what I do is very obscure and niche 2025-05-28 12:01:27 the C preprocessor is commonly used for that purpose though 2025-05-28 12:01:33 ahh 2025-05-28 12:01:42 it does have some tricky aspects 2025-05-28 12:01:53 I found Gema fairly easy to grok, took me a few months tho 2025-05-28 12:01:59 I bet it does 2025-05-28 12:02:48 gema is a general purpose text processing utility based on the concept of pattern matching. It reads an input file and copies it to an output file transforming the data as specified by the patterns defined by the user. 2025-05-28 12:03:03 like for example 2025-05-28 12:03:09 #define ARDUINO_MODEL_USB_PID 0x0038 2025-05-28 12:03:21 if your interested in it : https://sourceforge.net/projects/gema/ 2025-05-28 12:03:28 causes the identifier ARDUINO_MODEL_USB_PID to be replaced thereafter with the hex number 0x0038 2025-05-28 12:03:46 thats easy to see 2025-05-28 12:04:19 which is handy for things like register addresses and bit masks 2025-05-28 12:05:09 sure 2025-05-28 12:05:17 btw: The CMSIS System View Description format (CMSIS-SVD) formalizes the description of the system contained in Arm Cortex-M processor-based micro controllers, in particular, the memory mapped registers of peripherals. The detail contained in system view descriptions is comparable to the data in device reference manuals. 2025-05-28 12:05:19 thanks for the reference to Gema! I'll take a look; it sounds like it could be interesting 2025-05-28 12:06:09 I really found it incredibly useful and after I broke my brain on it and gave up all hope, everything was much easier ;-) 2025-05-28 12:06:39 haha 2025-05-28 12:06:57 one problem I have with parsers is when they generate no output because of my brain dead patterns 2025-05-28 12:07:18 Unix has a lot of general purpose text processing utilities based on the concept of pattern matching 2025-05-28 12:07:32 I think the Unix people designed the C preprocessor after burning their fingers a lot on some of the older ones 2025-05-28 12:07:33 so once I learned to not take being totally ignored personally, that got easuer also ;-) 2025-05-28 12:07:40 haha 2025-05-28 12:08:25 however if I had to master REGEX or die, I'd say 'just kill me now!' 2025-05-28 12:09:51 I was going to look into the newish Java parser as it seems to inform whats happening instead of the 'cold shoulder treatment' but I couldnt bring myself to inflict Java on my users 2025-05-28 12:10:52 I've been thinking about a new text pattern matching system I call the Monkey's Paw 2025-05-28 12:10:52 with some improvements over regexps 2025-05-28 12:11:10 so Ive stuck with Gema. Using Gema is like being made into a Necromonger (Croicles of Riddick) the pain goes away after a while 2025-05-28 12:11:32 chronicles 2025-05-28 12:11:52 xentrac, that sounds really complex 2025-05-28 12:12:53 xentrac, have a look at Gema first, try it out perhaps 2025-05-28 12:13:51 xentrac, gema can also do multi-line replacements ! 2025-05-28 12:14:06 so for example a Monkey's Paw pattern is | | "(" ")"> ( )*> 2025-05-28 12:14:44 which matches integer arithmetic expressions of sums and differences with properly balanced parentheses 2025-05-28 12:14:48 and variables 2025-05-28 12:15:16 is that the matching config only ? 2025-05-28 12:15:25 yeah 2025-05-28 12:15:54 Gema has a lhs and a rhs config 2025-05-28 12:16:07 you can include "semantic actions" too but the example gets to be longer than one line :) 2025-05-28 12:16:20 whats on the left gets replaced by whats on the right, a '=' separates them 2025-05-28 12:16:41 yeah 2025-05-28 12:17:18 7 hours to calculate 1 859433 << 1 - PRIME? . 2025-05-28 12:25:09 forthBot: MILLI 1 859433 << 1 - PRIME? . MILLI SWAP - . ." 1 859433 << 1 - est premier " 2025-05-28 12:25:20 hahah, oh wow. I'm running a Mecrisp-Stellaris SWDCOM terminal in a python wrapper in the Neovim terminal and it's working!!! 2025-05-28 12:25:39 Im talking to Mecrisp-Stellaris Forth in the mcu flash 2025-05-28 12:44:20 https://sourceforge.net/projects/mecrisp-stellaris-folkdoc/files/neovim-terminal-split.png 2025-05-28 14:36:34 forthBot: WORDS 2025-05-28 16:22:45 speaking of PC vs MCU forth, ive wondered about having a tiny interpreter on the MCU and interpreted code on an SPI EEPROM 2025-05-28 16:23:32 so it could poduce it's own optimized code like mecrisp but only write the relevant part to it's own flash 2025-05-28 16:27:14 tphey, that's fantastic! 2025-05-28 16:27:19 oops 2025-05-28 16:27:22 too late! 2025-05-28 16:27:39 MrMobius: like the BASIC Stamp? 2025-05-28 16:28:05 could be. I dont know how the BASIC Stamp works 2025-05-28 16:28:14 I did get one for free once but never did anything with it 2025-05-28 16:29:28 wikipedia seems to say the interpreter is on the MCU 2025-05-28 16:29:42 http://www.mcmanis.com/chuck/robotics/stamp-decode.html Chuck McManis’s teardown of the Parallax BASIC Stamp #microcontrollers firmware, with its variable-bit-length instructions and operands. 2025-05-28 16:31:22 "BASIC programs are compiled into tokens on the PC and then serially downloaded into the EEPROM on the stamp board." 2025-05-28 16:32:32 I was thinking of bytecode on the EEPROM that implements a Forth prompt and compiler. Compiled programs, however, are written to the MCU's flash as optimized machine code so you dont need the EEPROM after youre done programming 2025-05-28 16:33:50 so instead of a full forth taking up most of the room on the MCU, it's just a very small interpreter and the rest is free for machine code 2025-05-28 16:37:57 I see 2025-05-28 16:38:20 it might depend a bit on how small of a microcontroller you're talking about 2025-05-28 16:40:29 the PY32F002B is 8.51¢, 24 kibibytes flash, 3 kibibytes SRAM 2025-05-28 16:41:07 I think it's fairly straightforward to get a Forth prompt and compiler into 4 kibibytes, and you might be able to make it in 2 2025-05-28 16:48:03 Mecrisp needs about 20K IIRC to produce optimized machine code 2025-05-28 16:48:17 it would be nice to use it with msp430s which have max 16k flash in dip 2025-05-28 16:49:00 Im sure you can interpret the EEPROM code in 1K or less 2025-05-28 16:49:21 and probably like 100 bytes if you copy little snippets of machine code into RAM 2025-05-28 16:51:32 yeah, I meant a threaded-code compiler, not a native-code compiler 2025-05-28 16:52:00 right. you could do that but then no need for the EEPROM. I was just thinking of a way to get optimized machine code without a tethered board 2025-05-28 16:54:05 it's an interesting question\ 2025-05-28 16:55:20 ya interesting especially if youre trying not to use much RAM 2025-05-28 16:55:43 since you would hopefully write things to a scratch space in EEPROM as you optimize but not change them after writing 2025-05-28 16:56:04 the freedom Forth affords the programmer makes an optimizing compiler more difficult, I think. the compiler really wants to know the stack effects of the words it's compiling 2025-05-28 16:58:14 exactly. that's how mecrisp does it 2025-05-28 17:00:49 I mean that's step 1 2025-05-28 17:01:09 it's hard to do much if you can't do that 2025-05-28 17:02:14 I know this is heretical but maybe Lisp would be a better fit if you want an optimizing native code compiler running on the microcontroller itself 2025-05-28 19:03:14 bu then id have to write lisp code :) 2025-05-28 19:27:15 Mecrisp is very fast. 2025-05-28 19:28:34 The Forth library is pre-assembled, so it is jyst a list of subroutine calls in the end. 2025-05-28 19:42:48 1 2025-05-28 19:42:48 26258789 2025-05-28 19:42:49 1 859433 << 1 - est premier 2025-05-28 19:42:49 USERNAME .S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ R@UL R!UL = < > AND OR NOT XOR & | ^ ~ << >> CR EMIT VARIABLE @ ! +! DO LOOP I WORDS LOAD CREATE ALLOT ." CLOCK BEGIN WHILE REPEAT AGAIN SQRT UNLOOP +LOOP PICK CLEAR-STACK PRINT NUM-TO-BIN PRIME? FORGET STRING S" "S 2DROP IMAGE TEMP-IMAGE CLEAR-STRINGS DELAY EXIT CONSTANT MICRO MILLI ROLL DEPTH APPEND 2025-05-28 20:28:32 forthBot: 26258789 3600000 / . 2025-05-28 20:28:32 7 2025-05-28 20:40:38 I have the word SEE 2025-05-28 20:40:40 https://i.imgur.com/c2T2nry.png 2025-05-28 20:40:50 but it cannot show the code of a colon definition xd 2025-05-28 20:40:55 only primitives 2025-05-28 20:41:53 drop is actually the get function 2025-05-28 20:43:28 I could make it show colon definitions, but they are actually that subroutine shown and I'm not going to add metadata for now nor expose that @code array 2025-05-28 20:52:29 hmm, I wonder if having some buffer before and after the stack and checking for under/overflow every so often is faster than a circular stack 2025-05-28 20:53:42 since if you check every 5th instruction, you only need enough buffer on either side for the worst case that 5 instructions can do 2025-05-28 20:54:47 it just wouldnt catch briefly going out of bounds then back in but circular stacks dont either 2025-05-28 20:58:13 maybe ORing the most extreme address each primitive uses and ANDing it with another. highest bits will show out of bounds if stack is aligned 2025-05-28 22:28:32 Environment for cleobuline inactive, freeing... 2025-05-28 22:40:30 MrMobius, I took your advice and joined liberia ##forth, I caught up with some people I know and had a good time, theyre a great bunch! 2025-05-28 22:41:16 oops wrong ch! 2025-05-28 22:41:56 Im still half asleep :) 2025-05-28 22:50:32 tpbsd: welcome! I saw your messages before but you had left 2025-05-28 22:51:56 MrMobius, I'm on cellphone Internet and I disconnect it at night when I sleep to save quota 2025-05-28 22:52:13 ah makes sense. no more starlink? 2025-05-28 22:52:31 I can leave it connected when I resub to Starlink 2025-05-28 22:53:44 no, not atm, I blew my budget building a pc especially for AI and now have to tighten my belt for a while. Starlink is $139AUD a month, cell is $39/month 2025-05-28 22:54:45 MrMobius, I really like starlink, it's a step up from cell, never any bandwidth issues and it's unlimited 2025-05-28 22:55:59 MrMobius, my starlink terminal is mounted outside on the wall and waits patiently for resub! 2025-05-28 22:56:42 I can do it in 2 minutes and Im on as soon as the fee is paid, it's excellent 2025-05-28 23:04:39 tpbsd: hey, that's fantastic! 2025-05-28 23:04:48 (the SWDCOM terminal) 2025-05-28 23:05:11 xentrac, it is awesome and 100% stable 2025-05-28 23:06:15 MrMobius and I were speculating after you left about on-device optimizing native-code compilation 2025-05-28 23:06:33 xentrac, but there is one small problem (I think) it looks like neovim :terminal lacks USB 'backpressure', so there is no flow control and the Forth chip chokes when compiling 2025-05-28 23:07:14 xentrac, so I'll be trying some workarounds today 2025-05-28 23:07:21 no flow control? 2025-05-28 23:07:28 maybe flow control is just misconfigured 2025-05-28 23:07:47 looks like as it chokes when uploading large source files 2025-05-28 23:08:12 xentrac, there is no mention of flow control in their docs 2025-05-28 23:08:39 hmph! 2025-05-28 23:09:01 I'm guessing they havent faced that issue as yet 2025-05-28 23:09:17 expecially USB 'backpressure' 2025-05-28 23:09:52 Im using SWD (JTAG) for the terminal, not a on chip usart 2025-05-28 23:10:16 and it's very fast, about equiv to 1Mbaud + 2025-05-28 23:11:38 in fact it's so fast uploading that one cant read the terminal as it uploads, so I had to add a beep on error so if I hear a beep I know the upload failed 2025-05-28 23:12:07 and Ive the slow one!, Crest runs his with a STLINK3 at 25Mhz 2025-05-28 23:13:00 but it needs a STM32H7xx series chip at 280MHz to keep up while compiling 2025-05-28 23:15:15 yeah, I'm just wondering if SWD has some kind of flow control. or maybe multiple forms of flow control 2025-05-28 23:15:35 or SWDCOM rather 2025-05-28 23:16:23 an extra diode and capacitor isn't that many extra passives 2025-05-28 23:20:28 xentrac, SWDCOM has USB 'backpressure' flow control 2025-05-28 23:21:38 xentrac, which it needs because a USB/SWD interface is always used, usually one of the $2 Chinese ones 2025-05-28 23:22:17 or a STM Stlink V3 which only STM make as far as I know 2025-05-28 23:22:59 I have 4 of them but havent tried them yet because they use the minature connectors 2025-05-28 23:23:53 besides, I always develop on the STM32F051 Cortex-M0 which has a max clock of 48MHz 2025-05-28 23:24:31 so a STlink v2 is all I need for max upload speed with that chip 2025-05-28 23:28:57 the STM32 and clones are pretty astounding little machines 2025-05-28 23:30:20 xentrac, Im 70 years old and have been doing embedded since the 70's and Ive never seen such cheap and amazing mcu's 2025-05-28 23:37:49 there are cheaper ones out there than the STM32 2025-05-28 23:38:33 AFAICT the PY32F002 is not an STM32 clone, but it's still a 48MHz ARM, and it's 9.01¢ 2025-05-28 23:39:18 xentrac, id happily pay $40 for a single mcu, Im from the 70's ! 2025-05-28 23:39:43 xentrac, the price of a mcu is utterly irrelevant to me 2025-05-28 23:39:55 it's my time thats limited and valuable 2025-05-28 23:40:58 xentrac, have you seen my Mecrisp-Stellaris documentation site ? https://mecrisp-stellaris-folkdoc.sourceforge.io/ 2025-05-28 23:41:27 it goes back to 2014 when I started learning Forth and using STM mcus 2025-05-28 23:41:27 surely you can think of something useful to do with 500 MCUs, especially if you can get them reflow-soldered with a pick-and-place machine 2025-05-28 23:41:58 it's a very nice site with awesome projects 2025-05-28 23:42:24 xentrac, well it's a hobby now as Im long retired, and living in Australia means it's hard to get reliable supply, so I hoard instead 2025-05-28 23:42:38 that reminds me, is it feasible to detect CO optically? 2025-05-28 23:42:50 sure 2025-05-28 23:43:02 it's complex tho 2025-05-28 23:43:07 what wavelengths do you use? do you have to do it photoacoustically? 2025-05-28 23:43:15 I used to calibrate CO machines 2025-05-28 23:43:24 I know then very well 2025-05-28 23:43:44 cheap MCUs favor hoarding because you can buy 1000 for US$90 2025-05-28 23:43:45 you use infra red, basically a very bull filament 2025-05-28 23:43:52 dull? 2025-05-28 23:43:58 oops yeah 2025-05-28 23:44:06 chery red 2025-05-28 23:44:23 and then detect a narrow absorption line? 2025-05-28 23:44:35 you need a chopper wheel, a thermo sensor like they use in alarms 2025-05-28 23:44:49 like a PIR proximity sensor? 2025-05-28 23:45:02 yeah, a filter is used, it's made of some salt crystals, you cant see thru it 2025-05-28 23:45:11 exactly like one of those 2025-05-28 23:45:21 hmm, I wonder which salt 2025-05-28 23:45:53 I never knew that, the machines were made in Australia by 'repco', but there are american and japanese ones 2025-05-28 23:45:57 it's easy to make CO for qualitative calibration testing, I think, with charcoal and damp brick 2025-05-28 23:46:07 (burning charcoal) 2025-05-28 23:46:22 or a car engine with no cat 2025-05-28 23:46:23 ;-) 2025-05-28 23:46:26 what's the difficulty with reliable supply in Australia? 2025-05-28 23:46:33 car engines are a lot more expensive than charcoal 2025-05-28 23:46:39 distance and suppliers 2025-05-28 23:46:45 true 2025-05-28 23:47:08 we had very expensive bottles of calibrated CO, parts per million 2025-05-28 23:47:34 haha 2025-05-28 23:47:40 such a machine is very reliable and accurate for CO measurement 2025-05-28 23:48:04 I'd be happy to just have an alarm if the CO level in my house went over 1000ppm, ±50% 2025-05-28 23:48:25 you also have the 'figaro' line of CO sensors just used for detection of CO in underground carparks etc 2025-05-28 23:48:51 ahh, then you dont need a $4000 gas analyser! 2025-05-28 23:49:10 some of the 'figaro' sensors would do 2025-05-28 23:49:23 I made up a heap of such sensors for a carpark once 2025-05-28 23:49:57 yeah, something like that 2025-05-28 23:50:09 Im guessing you could make up something with the right led and a pump etc 2025-05-28 23:50:53 evidently they aren't available in my country: https://listado.mercadolibre.com.ar/figaro-sensor#D[A:figaro%20sensor] 2025-05-28 23:51:12 talk to Matthias Koch (the mecrisp* dev) as hes big on ramen sensors and a chemist 2025-05-28 23:51:20 oh cool! 2025-05-28 23:51:35 he would be the very best source there 2025-05-28 23:51:37 I feel like a chopper wheel, nichrome filament, and PIR sensor should be quite DIYable 2025-05-28 23:51:44 me too 2025-05-28 23:51:48 but exotic salts might not be 2025-05-28 23:51:50 and a air pump 2025-05-28 23:52:19 yeah the world is nuts 2025-05-28 23:52:23 where? 2025-05-28 23:52:23 sodium hydroxide, MEK, HCl 2025-05-28 23:52:28 Argentina 2025-05-28 23:52:55 ah, sodium hydrox might be legal to fetch in Spain 2025-05-28 23:53:23 that's just a common agent to produce soap 2025-05-28 23:53:28 some gang characters fought with machetes in Melbourne recently, so now theyre banning machetes 2025-05-28 23:53:56 hahaha 2025-05-28 23:53:58 caustic soda it's uber common 2025-05-28 23:54:06 theyre not banning gang characters ... 2025-05-28 23:54:19 back to medieval times: only the nobility are allowed to carry swordsw 2025-05-28 23:54:23 every granma from a village knows how to use that 2025-05-28 23:54:27 xentrac: not true 2025-05-28 23:54:39 tons of people had small swords and knife 2025-05-28 23:54:47 knives/daggers 2025-05-28 23:54:57 oh, sure, there were places where peasants were permitted swords in medieval times 2025-05-28 23:54:59 anthk_, xentrac is correct in general 2025-05-28 23:55:04 but there were lots of places where they weren't 2025-05-28 23:55:22 look at japan ? only samurai were allowed to carry swords 2025-05-28 23:55:27 still, peasants got several ways to use weapons 2025-05-28 23:55:35 anyone else would be killed if they did 2025-05-28 23:55:40 with a sword 2025-05-28 23:55:42 now the samurai are called "police" 2025-05-28 23:55:43 clubs, field farming tools, and so on 2025-05-28 23:55:49 yeah, hidden daggers etc 2025-05-28 23:55:50 heh, that reminds me of Dragon Ball 2025-05-28 23:56:00 goku it's the peasant with a bo-ken (stick) 2025-05-28 23:56:07 against vegeta, some space samurai 2025-05-28 23:56:16 deep 2025-05-28 23:56:27 hey veltas :) 2025-05-28 23:56:29 yeah, Musashi supposedly won lots of duels armed only with boken 2025-05-28 23:56:36 Hi Terry 2025-05-28 23:56:42 well, that's true, the Saiyan armor from DB it's a copycat from the Samurai ones 2025-05-28 23:57:03 This is a very good example of Forth on MCU vs C https://mecrisp-stellaris-folkdoc.sourceforge.io/peripherals-c-vs-svd2forth.html 2025-05-28 23:57:20 it seems that martial arts were developed because peasants were not allowed swords etc 2025-05-28 23:57:50 indeed 2025-05-28 23:57:54 Karate 2025-05-28 23:57:59 tons of poses are from archery 2025-05-28 23:58:00 technically I think samurai were strictly modern, not medieval 2025-05-28 23:58:19 I'm not sure the Shaolin monks were technically peasants 2025-05-28 23:58:39 church 2025-05-28 23:58:46 veltas, Im glad you like it :) 2025-05-28 23:58:53 another branch of feudalism 2025-05-28 23:59:18 brb, switch back from emwm to cw 2025-05-28 23:59:20 cwm 2025-05-28 23:59:37 veltas, Ive moved on since then with my 'Plang2' system for Mecrisp-Stellaris 2025-05-28 23:59:49 I'm not sure exactly what the historical development of gong fu was