IRC Log - 2025-03-30 - ##forth

Channel: ##forth
Total messages: 129
Time range: 00:55:49 - 23:52:18
Most active: cleobuline (56), xentrac (26), mforth (18)
00:55:49 ##forth <cleobuline> finaly i just change for a dynamic dictionnary growing as you go https://github.com/cleobuline/some-c-sources/blob/main/forth_bot__gmp_multi_linked.c
00:56:34 ##forth <cleobuline> i will do a red-black tree if necessary to improve speed
03:07:12 ##forth <cleobuline> every one is sleeping ?
05:23:27 ##forth <crc> cleobuline: not everyone :)
11:06:35 ##forth <KipIngram> veltas: Yes, it's not a bad price at all. Not "rock bottom," but if you're building anything serious at all it's not bad. I just thought it had a really nice suite of peripherals.
11:07:14 ##forth <KipIngram> I like the idea of having a Forth OS on that thing that's all rigged to support those - it would be a nice starting point for most any project I can think of.
11:13:24 ##forth <KipIngram> You also don't need a programmer for it - it's set up so it presents a storage device when you connect it, and you can just drop a firmware image onto it and it will program itself.
12:43:48 ##forth <xentrac> it sounds a lot like an ESP32
12:45:15 ##forth <xentrac> except with a working low-power mode, but slower, more expensive, less RAM, and without Wi-Fi
12:47:00 ##forth <xentrac> the ESP32 doesn't have a built-in switchmode power supply
12:47:49 ##forth <xentrac> "Fully Open-Source Bluetooth 5.2 Stack Available" is nice to see; the ESP32 doesn't have that
13:43:44 ##forth <KipIngram> Nice. What I actually bought wasn't the chip - it's a small board with the chip and various sorts of support circuitry. I'll mount it as a daughter board on my project boards.
13:44:50 ##forth <KipIngram> I try to avoid surface mount parts for my personal hobby stuff. I have self-assembled using surface mount parts a time or two, but it's just kind of nerve wracking to me.
13:45:26 ##forth <KipIngram> I squeegeed paste onto the board, hand-placed the parts, and then used a toaster oven with some little "melt indicators" in it to gauge when to stop.
13:45:41 ##forth <KipIngram> First time I tried it I cooked the PCB; second time went ok, though.
13:46:15 ##forth <KipIngram> There just wasn't an awfully wide window between "success" and "ruined board."
13:47:17 ##forth <KipIngram> I probably ought to look more into getting the SMT assembly done by the same place that makes the boards; I've just never investigated it.
13:48:00 ##forth <KipIngram> Anyway, I've got a half-dozen of those little boards out in the garage.
16:20:25 ##forth <xentrac> it sounds like either your toaster oven was very poorly controlled or you were heating it up far too slowly
16:22:58 ##forth <xentrac> cooking FR4 in a short period of time should require temperatures of over 300 degrees, which is nowhere near soldering temperature even for lead-free solders
17:14:03 ##forth <KipIngram> I don't remember it all well enough to discuss details. This was about 22 years ago.
17:16:14 ##forth <xentrac> PID control is motherfucking magi
17:16:17 ##forth <xentrac> cc
17:37:55 ##forth <MrMobius> is there a community for that maxim chip? that counts for a lot when the datasheet is wrong or they haven't added an errata to the list yet
17:39:16 ##forth <MrMobius> kind of disappointing the msp430 community has mostly died off since I love that MCU
17:41:58 ##forth <xentrac> TI isn't really a "community" company
17:42:22 ##forth <xentrac> it's more an "oilfield" and "milspec" company
17:42:39 ##forth <xentrac> what do you like about the MSP430?
17:43:12 ##forth <xentrac> (TI did fund a GCC port to the MSP430)
17:43:37 ##forth <MrMobius> doesn't matter what the company does if the users form their own community
17:43:53 ##forth <MrMobius> although TI did do a lot to encourage the community with their launchpad stuff
17:44:25 ##forth <xentrac> what was their launchpad stuff?
17:45:59 ##forth <MrMobius> the launchpads are dev boards for msp430 and some of their ARM chips
17:46:46 ##forth <MrMobius> they came out after the Arduino craze and were beginner friendly but actual C programming than Arduino
17:47:06 ##forth <MrMobius> TI actually did two separate GCC ports
17:51:10 ##forth <xentrac> how did the launchpad "encourage the community"? was it open-source hardware like Arduino?
18:03:27 ##forth <cleobuline> mforth: LOAD "test.fth"
18:03:36 ##forth <cleobuline> multi: SEE TEST-CASE
18:03:54 ##forth <cleobuline> mforth: SEE TEST-CASE
18:03:55 ##forth <mforth> : TEST-CASE CASE 1 OF ." UN " CR ENDOF 2 OF ." DEUX " CR ENDOF 3 OF ." TROIS " CR ENDOF ." Others " CR ENDCASE ;
18:04:12 ##forth <cleobuline> mforth: 2 TEST-CASE
18:04:13 ##forth <mforth> DEUX
18:04:37 ##forth <cleobuline> victoire !
18:05:36 ##forth <cleobuline> mforth: WORDS
18:05:36 ##forth <mforth> .S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > 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 " 2DROP DOUBLE FACT POW FIBONACCI COUNTDOWN TUCK SUM_SQUARE CUBE SUM_CUBES RECUNACCI CAT :D PGCD FPRIME? FPRIME2? SEED COUNT NUMS STARS INIT-RANDOM
18:08:32 ##forth <cleobuline> ths version has a dynamic dictionnary so it can handle as many words as you want and also varables strings and arrays in a linked list so it can also andle as many variable you want
18:09:53 ##forth <cleobuline> variables in a linked list is not optimal , but i do it for the sport :)
18:11:17 ##forth <veltas> xentrac: Being beginner friendly I guess. Their docs are supposedly quite good generally
18:11:18 ##forth <cleobuline> next i will do all in a red-black tree so it will recover words and variables very fast
18:11:52 ##forth <veltas> May main turn-off with TI is they seem expensive, but you get what you pay for
18:28:36 ##forth <xentrac> veltas: that sounds more like "encouraging customers" than "encouraging a community"
18:43:11 ##forth <thrig> military and oil folks tend to have a lot of money
18:45:01 ##forth <xentrac> they're also kind of anti-community
18:45:49 ##forth <xentrac> I mean Lockheed Martin doesn't want to share their schematics even with Bechtel if they don't have to, much less the People's Liberation Army
18:47:17 ##forth <xentrac> and Chevron doesn't want to share their schematics with ExxonMobil
18:47:57 ##forth <xentrac> they have plenty of people inside their own companies to share schematics with; they don't need to post on EEVblog
18:48:21 ##forth <xentrac> (and firmware, errata, measured curves, etc.)
19:10:55 ##forth <MrMobius> ya good documentation helps
19:10:58 ##forth <MrMobius> they were selling the launchpad for $4.30 for a while
19:12:29 ##forth <MrMobius> veltas: ya expensive for sure but nbd in quantity 1 :P
19:16:22 ##forth <MrMobius> going into low power mode with one instruction is q neat trick too
19:22:36 ##forth <xentrac> MrMobius: were other vendors making their own Launchpads and selling them? because that would be the start of a community
19:23:09 ##forth <MrMobius> no idea
19:23:28 ##forth <MrMobius> I'll let you Dunning-Kruger in peace at this point
19:35:18 ##forth <xentrac> dude, my dad worked for TI
19:35:50 ##forth <xentrac> I was building circuits out of TI parts when you were probably wetting your diapers
19:36:34 ##forth <xentrac> my desire to avoid dealing with TI is unfortunately very well founded
19:59:38 ##forth <cleobuline> mforth: : HELLO ." Bonjour " USERNAME @ PRINT CR ;
19:59:50 ##forth <cleobuline> mforth: HELLO
20:00:06 ##forth <cleobuline> mforth: CR
20:00:17 ##forth <cleobuline> mforth: WORDS
20:05:37 ##forth <cleobuline> lforth: : HELLO ." Bonjour " USERNAME @ PRINT CR ;
20:05:48 ##forth <cleobuline> lforth: HELLO
20:08:46 ##forth <cleobuline> lforth: WORDS
20:08:55 ##forth <cleobuline> coincé
20:43:47 ##forth <cleobuline> forth: WORDS
20:43:57 ##forth <cleobuline> mmm
21:20:34 ##forth <cleobuline> mforth: WORDS
21:20:38 ##forth <cleobuline> zut
21:29:01 ##forth <cleobuline> mforth: WORDS
21:29:01 ##forth <mforth> .S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > 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 " 2DROP
21:49:18 ##forth <cleobuline> mforth: WORDS
21:49:18 ##forth <mforth> .S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > 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 " 2DROP
21:58:55 ##forth <cleobuline> mforth: WORDS
21:58:55 ##forth <mforth> USERNAME .S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > 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 " 2DROP
21:59:25 ##forth <cleobuline> mforth: USERNAME @ PRINT
21:59:26 ##forth <mforth> cleobuline
21:59:30 ##forth <cleobuline> kool
22:00:39 ##forth <cleobuline> mforth: : HELLO ." Bonjour , " USERNAME PRINT CR ;
22:00:50 ##forth <cleobuline> mforth: HELLO
22:00:50 ##forth <mforth> Bonjour ,
22:01:04 ##forth <cleobuline> mforth: FORGET HELLO
22:01:04 ##forth <mforth> Forgot everything from 'HELLO' at index 60 (dict was 61, now 60; mem count now 1)
22:01:51 ##forth <cleobuline> mforth: : HELLO ." Bonjour , " USERNAME @ PRINT CR ;
22:01:58 ##forth <cleobuline> mforth: HELLO
22:01:58 ##forth <mforth> Bonjour ,
22:07:41 ##forth <cleobuline> mforth: : HELLO ." Bonjour , " USERNAME @ PRINT CR ;
22:07:44 ##forth <cleobuline> mforth: HELLO
22:07:44 ##forth <mforth> Bonjour , cleobuline
22:08:58 ##forth <cleobuline> mforth: WORDS
22:08:59 ##forth <mforth> USERNAME .S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > 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 " 2DROP HELLO
22:24:16 ##forth <cleobuline> mforth: LOAD "test.fth"
22:24:47 ##forth <cleobuline> mforth: 2 TEST-CASE
22:25:00 ##forth <cleobuline> mforth: WORDS
23:03:07 ##forth <cleobuline> forth: LOAD "test.fth"
23:03:12 ##forth <cleobuline> forth: 4 TEST-CASE
23:07:11 ##forth <cleobuline> forth: LOAD "test.fth"
23:07:18 ##forth <cleobuline> mforth: WORDS
23:07:18 ##forth <mforth> USERNAME .S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > 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 " 2DROP
23:07:41 ##forth <cleobuline> mforth: LOAD "test.fth"
23:07:41 ##forth <mforth> Unknown word in definition: CASE
23:09:36 ##forth <cleobuline> mforth: LOAD "test.fth"
23:09:39 ##forth <cleobuline> mforth: WORDS
23:29:02 ##forth <cleobuline> mforth: : TEST-CASE CASE 1 OF ." UN " CR ENDOF 2 OF ." DEUX " CR ENDOF 3 OF ." TROIS " CR ENDOF ." Others " CR ENDCASE ;
23:29:17 ##forth <cleobuline> mforth: 3 TEST-CASE
23:42:12 ##forth <cleobuline> mforth: : TEST-CASE CASE 1 OF ." UN " CR ENDOF 2 OF ." DEUX " CR ENDOF 3 OF ." TROIS " CR ENDOF ." Others " CR ENDCASE ;
23:42:17 ##forth <cleobuline> mforth: WORDS
23:42:18 ##forth <mforth> USERNAME .S . + - * / MOD DUP DROP SWAP OVER ROT >R R> R@ = < > 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 " 2DROP TEST-CASE
23:42:33 ##forth <cleobuline> mforth: 3 TEST-CASE
23:42:33 ##forth <mforth> TROIS
23:46:29 ##forth <cleobuline> mforth: : HELLO ." Hello " USENAME @ PRINT CR ;
23:46:29 ##forth <mforth> Unknown word in definition: USENAME
23:46:40 ##forth <cleobuline> mforth: : HELLO ." Hello " USERNAME @ PRINT CR ;
23:46:50 ##forth <cleobuline> mforth: HELLO
23:46:50 ##forth <mforth> Hello cleobuline
23:46:55 ##forth <cleobuline> :)
23:52:18 ##forth <xentrac> ha