2026-06-25 02:03:54 forthBot: 1 128 << . 2026-06-25 02:03:54 340282366920938463463374607431768211456 2026-06-25 02:05:20 forthBot: 1 128 << 1 - ?PRIME 2026-06-25 02:05:20 Error: Unknown word: ?PRIME 2026-06-25 02:05:34 forthBot: 1 128 << 1 - PRIME? 2026-06-25 02:06:38 forthBot: . 2026-06-25 02:06:39 0 2026-06-25 02:06:52 forthBot: 1 127 << 1 - PRIME? . 2026-06-25 02:06:52 1 2026-06-25 03:47:02 tabemann, edit also said stack underflow when exiting if run without block parameter 2026-06-25 04:00:40 zed unable to parse: zed 2026-06-25 04:00:41 zeptoed unable to parse: zeptoed 2026-06-25 04:02:52 *growls like a fiesty lion* :D 2026-06-25 04:06:52 Environment for cleobuline inactive, freeing... 2026-06-25 04:11:53 ACTION scans freebnc  2026-06-25 04:29:39 Ah, it's in extra files 2026-06-25 04:30:04 So I have to format fatfs and then copy neopixels and zeptoed there 2026-06-25 04:39:23 with the lower 2 MiB being used for the zeptoforth kernel and flash dictionary and the upper 14 MiB being used for block/FAT32 storage 2026-06-25 04:40:11 Meaning you can edit blocks between the end of zeptoforth kernel and start of fat32 without conflict, because you are unlikely to write a dictionary exceeding 2M limit. 2026-06-25 04:47:56 Note that the general unsuitability of FAT32 for in-on board flash is tempered by the fact that block storage provided by zeptoforth has built-in wear leveling. 2026-06-25 04:48:17 I think NOR would work fine without wear leveling, though it's probably nice to have 2026-06-25 05:35:52 ACTION *wiggles happily* 2026-06-25 05:51:11 freebnc, you know that you are probably supposed to set up your nick instead of using freebnc? 2026-06-25 05:51:49 You can issue /nick New_Name command into any chat window to change your name 2026-06-25 09:48:43 Stalevar: NOR doesn't have longer wearout life than NAND 2026-06-25 09:49:14 it's still Flash, not FeRAM or something 2026-06-25 10:10:01 ACTION burps 2026-06-25 10:26:14 xentrac, afair, NOR lifetime = 10x SLC NAND = 100x MLC NAND = 1000x TLC NAND = 10000x QLC NAND 2026-06-25 10:27:05 I've seen SLC NAND rated for 100k erases and NOR rated for 1k erases 2026-06-25 10:27:35 and yeah I've seen QLC rated for 10 erases 2026-06-25 10:27:59 so I think the NOR lifetime maybe depends more on the fab process than on the NOR/NAND choice 2026-06-25 10:31:16 dunno. Still NOR is generally better 2026-06-25 10:32:22 I wish I could get a NOR USB flash drive. Even without wear leveling and with FAT it can work fine to test things like KolibriOS or SectorForth or such and be almost ethernal 2026-06-25 10:32:34 16M is plenty for small files 2026-06-25 10:33:35 being that small means it could be as cheap as cheapest chinese NAND flash drives (usually 16G) 2026-06-25 10:40:03 I don't think it's accurate to say that NOR is generally better 2026-06-25 10:40:47 it's extremely slow to write to and extremely expensive per bit 2026-06-25 10:41:50 xentrac, if by `better` we only mean longevity it is 2026-06-25 10:42:08 also slow to write? 16M is biggest NOR on market, still less than a second to overwrite 2026-06-25 10:42:09 well, as I said, I've seen NOR whose longevity is literally 1% of commonplace NAND 2026-06-25 10:42:32 if we mean number of erase cycles 2026-06-25 10:43:02 What about regular SPI Winbond 16M in TSOP 8 or 16 package? 2026-06-25 10:43:39 or SMD package like I have on my Tenstar RP2350 USB 2026-06-25 10:44:10 same thing but pads instead of legs 2026-06-25 10:44:31 you'll have to look up the datasheet for the chip 2026-06-25 10:44:32 or test it 2026-06-25 10:44:47 also, although this isn't inherent to the NOR architecture, it generally doesn't enjoy any ECC. NAND, on the other hand, has such high bit error rates that ECC is always necessary 2026-06-25 10:45:05 Also zeptoforth and my receiver script interact in weird way, making terminal input wedge 2026-06-25 10:45:36 So you recommend SLC NAND flash for super longevity? 2026-06-25 10:46:14 xentrac, but why BIOS chips, router firmware and such are generally on SPI NOR or even parallel NOR EEPROM? 2026-06-25 10:46:52 Execute in pace 2026-06-25 10:46:55 place 2026-06-25 10:47:14 That's a big reason, some of it is just conventional 2026-06-25 10:47:29 Also while good old BIOS never overwrites NOR unless you update it manually, while UEFI and especially UEFI with ME overwrites it constantly and it still works for years 2026-06-25 10:47:56 Define 'constantly' 2026-06-25 10:48:02 And also depends on the chip as xentrac said 2026-06-25 10:48:08 Like at least one write per reboot? 2026-06-25 10:48:21 UEFI and ME tend to overwrite itself 2026-06-25 10:48:22 With wear levelling and a 99% static image that doesn't assume a lot about the NOR 2026-06-25 10:48:43 I don't think UEFI / ME have much of wear leveling 2026-06-25 10:48:49 There's no shortcut, really you need to understand how both technologies are used and what the specs are for the chip in question 2026-06-25 10:49:21 The bit being erased/programmed may be wear-levelled 2026-06-25 10:49:27 I don't know what you're talking about though honestly 2026-06-25 10:49:47 Regular UEFI has nvram which is overwritten on every OS install, (still more than regular old BIOS), while UEFI+ME can overwrite the chip when you don't do anything as far as I know 2026-06-25 10:50:29 veltas, regular x86 PC newer than 2014 or so 2026-06-25 10:51:28 UEFI vars are updated regularly maybe but I don't know how they're laid out 2026-06-25 10:51:38 I doubt there's zero consideration in that for NOR life 2026-06-25 10:51:42 Could be wrong 2026-06-25 10:51:45 Its main firmware chip hosts UEFI, ME region and nvram, which is UEFI var storage. The latter is edited by UEFI settings and efibootmgr, and ME region belongs to Intel ME which runs proprietary MINIX fork which does who knows what and overwrites its region often enough, probably on every boot 2026-06-25 10:51:56 But the NOR used for PCs might be more expensive than you would need for other applications 2026-06-25 10:52:18 So again despite what others are doing you need to actually know the chips / prices to make the best choice for your own project 2026-06-25 10:52:20 Stalevar: SLC NAND generally still doesn't have super longevity. 100k erases can be reached in a few minutes without wear leveling 2026-06-25 10:52:38 and the retention spec is typically only 10 or 20 years 2026-06-25 10:52:45 A big concern I'd have is retention, like how long does programmed data last, and at different temps 2026-06-25 10:53:01 yeah 2026-06-25 10:53:03 Typically flash retention is piss poor above even moderate temps, like a warm room 2026-06-25 10:53:24 And regular HDD are being phased out 2026-06-25 10:53:45 they still sell tape drives 2026-06-25 10:54:19 HDDs have a niche 2026-06-25 10:54:31 it keeps shrinking tho 2026-06-25 10:54:35 same as tape drives 2026-06-25 10:54:40 True 2026-06-25 10:55:12 Eventually everything will be stored in amazon cloud 2026-06-25 10:55:26 amazon butt 2026-06-25 10:55:28 And the only storage will be what they are purchasing 2026-06-25 10:55:48 https://github.com/panicsteve/cloud-to-butt 2026-06-25 10:55:51 Just a terrible direction things are going in, I think tech is really foolish 2026-06-25 10:56:15 it's time you knew. the cloud? is actually your parents 2026-06-25 10:56:26 Alas I'm not the malevolent dictator of tech so I can't direct it 2026-06-25 10:57:01 I do know people that know him though so maybe.... 2026-06-25 10:57:17 Assuming Space-X doesn't break up on reentry 2026-06-25 10:57:51 I'm excited by the things *I* can do with tech but terrified by the things others can 2026-06-25 10:58:16 You're right to fear what I will do with tech, I also fear 2026-06-25 10:58:39 Have I told you that I crashed the MISRA website once for months by accident 2026-06-25 11:05:17 I was more thinking about what the Islamic Revolutionary Guard Corps and Anduril will do 2026-06-25 11:10:17 What about Palantir? 2026-06-25 11:11:03 "Anduril" is a much better name for a company than "Palantir" 2026-06-25 11:13:01 Palantir too, but I was just thinking about organizations that directly murder people rather than organizations that just recommend which people to murder 2026-06-25 11:37:03 $ hexdump -C zeptoforth.flash_dump.bin | cut -d ' ' -f 3-19 | xxd -p -r | wc -c 2026-06-25 11:37:03 4079908 2026-06-25 11:37:18 That's alot. About 4M out of 16 are used by zeptoforth 2026-06-25 11:37:48 I have dumped entire 16M flash through terminal via forth dump command 2026-06-25 11:37:55 Why not wc -c name.bin ? 2026-06-25 11:38:13 Am I missing something about what this command is doing 2026-06-25 11:38:17 veltas, because it is 16777216 2026-06-25 11:38:23 Ah 2026-06-25 11:39:16 hexdump compresses repeated regions into * so converting to hex and back is a quick way to count useful bytes ( as opposed to ff ff ff 2026-06-25 11:39:51 I usually use gzip for that ;-) 2026-06-25 11:40:16 of course containing random noise doesn't imply bytes are useful... 2026-06-25 11:40:31 gzip would be significantly smaller though 2026-06-25 11:41:02 What Stalevar did makes sense, I just didn't get it from the pipe 2026-06-25 11:43:14 $ hexdump -vC zeptoforth.flash_dump.bin | cut -d ' ' -f 3-19 | tr -s ' \n' '\n' | sort | uniq -c | sort -n 2026-06-25 11:43:58 Least common bytes: 5644 5b; 5654 c6; 5666 d3; 5681 25; 5686 5d 2026-06-25 11:44:54 Most common bytes: 40670 10; 43803 01; 48444 20; 51550 04; 6458933 ff; 7323839 00 2026-06-25 11:47:12 $ gzip -c zeptoforth.flash_dump.bin | wc -c 2026-06-25 11:47:12 2237212 2026-06-25 11:48:59 zstd gives similar figure 2026-06-25 11:50:33 $ expr 16777216 - 6458933 - 7323839 2026-06-25 11:50:33 2994444 2026-06-25 12:20:03 From where I stand, it's mostly division of labor yet again. A century or two ago, you've been expected to grow your own food; now we have Big Money doing that for you (in places where IRC is relatively cheap, at the least.) A decade or two ago, you've been expected to keep your own data; now we have Big Money doing that for you. 2026-06-25 12:20:03 And it kinda-sorta works as it is. Sure, you may keep an archive of photos of your grandkids on tapes, or DVD+Rs, and it will easily last thirty years at the minimum, but, well, will /you/ last just as long? And with all the Youtube videos and Netflix shows out there, do you even have much time to look at those photos in the first place? 2026-06-25 12:20:43 It's not division of labour when like one company is managing most computing. That's the direction we're headed 2026-06-25 12:21:14 Luckily I do think the market will fix this, and companies/investors who don't understand this will suffer 2026-06-25 12:21:22 But they'll also probably make a ton of money in meantime 2026-06-25 12:22:22 Unless state intervenes ... "you don't need to do computing locally, what are you a criminal" etc 2026-06-25 12:40:43 "The Capitalists praise competition while they create monopoly; [...]" - The New Jerusalem, by G. K. Chesterton. http://en.wikisource.org/wiki/?curid=39865 . I'm not sure why "division of labor" cannot exist within a monopoly. 2026-06-25 12:40:43 As to "local computing" - well, don't age verification laws effectively outlaw customized operating systems already? 2026-06-25 12:42:50 Division of labour can exist in a monopoly, I didn't say it couldn't 2026-06-25 12:43:06 0 tib 15 + ! : plc hold ." Hello world!" ; ok 2026-06-25 12:43:06 tib dup 22 + 0 swap ! hold plc cr Hello world! 2026-06-25 12:43:10 The age verification stuff is definitely related 2026-06-25 12:43:44 Nobody commented on this example yesterday (or I missed it because I had 6 minute disconnect), I wonder what you think 2026-06-25 12:47:19 HOLD is for pictured numeric output string i.e. formatted numbers 2026-06-25 12:47:34 TIB is the terminal input buffer, i.e. where it stores the stuff you type in terminal 2026-06-25 12:47:44 So they're not related 2026-06-25 12:48:42 Also HOLD takes a character to store in your formatted string, you are passing TIB to HOLD, so will just put some random char (quite possibly NUL) in the string 2026-06-25 12:48:54 via PLC 2026-06-25 12:49:04 veltas, you didn't get it 2026-06-25 12:49:14 plc hold / hold plc do absolutely nothing 2026-06-25 12:49:35 Okay what is the point of the code then? 2026-06-25 12:49:36 you can replace them with plc_hold and hold_plc 2026-06-25 12:50:08 veltas, read the code again? 2026-06-25 12:50:43 No thanks I'm busy anyway 2026-06-25 12:50:55 ACTION listens to http://he3.magnatune.com/all/03-Open%20the%20Source-Paolo%20Pavan  2026-06-25 12:50:57 Alright, I just thought it was a cool trick 2026-06-25 12:51:43 I create a word with 8 zero bytes as name and then call it and it is executed 2026-06-25 12:52:39 Okay I see that now 2026-06-25 12:53:08 Something like this was done typically to break out of interpreting words on a line of input 2026-06-25 12:53:31 They'd put a null byte at the end of the TIB and that was linked to a word that does QUIT 2026-06-25 12:53:31 My point is that in the world of today, the division of labor is such that, like, 1% of companies do 99% of computing. Not altogether unprecedented, IMO; think of the decades-long AT&T monopoly, for example. My gut feeling is that some other sectors of the world economy (say, growing food) have similar splits. 2026-06-25 12:54:05 1% isn't a problem, 1 is a problem -- especially if it's enforced 2026-06-25 12:54:29 That's the division of labour vs monopoly 2026-06-25 16:08:10 Stalevar, yeah, always check the number of arguments of a word before calling it! 2026-06-25 16:11:39 tabemann, can you comment why it has so many zero bytes? I have found some minor quirks in zeptoforth. Not real bugs but I can explain if you want 2026-06-25 16:12:11 why what has so many zero bytes? 2026-06-25 16:12:14 Like if you feel like that's nitpicking and its annoying I guess it's not worth it, but if you are interested I can tell 2026-06-25 16:12:33 tabemann, did you read entire chat log? 2026-06-25 16:12:47 I can give you relevant part to PM if you want 2026-06-25 16:12:55 as I said it's not terribly important 2026-06-25 16:13:22 btw, mixing EDIT and FAT32 is *not* going to work properly in the general case 2026-06-25 16:13:47 unless the FAT32 is on other media such as an SD card or PSRAM 2026-06-25 16:14:35 just message me the relevant part 2026-06-25 19:50:08 Just my take - AI is ok when things keep working - but what about when things go wrong? 2026-06-25 22:36:14 tabemann: or you could just try calling it and see if you get a stack underflow