00:00:00 --- log: started forth/19.11.06 00:08:19 --- quit: proteus-guy (Ping timeout: 240 seconds) 00:21:22 --- join: mtsd joined #forth 00:29:03 --- join: proteus-guy joined #forth 00:35:06 --- quit: f-a (Quit: leaving) 00:35:31 24.3C 00:36:15 todays temperature of 24.3C brought to you by https://mecrisp-stellaris-folkdoc.sourceforge.io/project-stm32f103-lmt01.html#stm32f103-lmt01 00:41:28 nice 00:42:29 it's a old project I just ported over to the infamous "blue pill" which everyone has 5 off, except me because I hate the bloody things 00:58:02 --- join: dave0 joined #forth 01:19:00 --- quit: X-Scale (Ping timeout: 265 seconds) 01:19:16 whats the blue pill 01:19:57 --- join: X-Scale` joined #forth 01:20:17 --- nick: X-Scale` -> X-Scale 01:21:14 https://mecrisp-stellaris-folkdoc.sourceforge.io/rants.html?highlight=rants#quick-grab-a-bargain-not 01:21:20 thats the bluepill 01:29:23 neat 01:30:27 i don't want to say forth is magic since i haven't used it yet really, just threaded code VM assembly, but it's really nice how things fit together 01:31:22 Ive been learning Forth since 2016 and I'm still amazed by it 01:31:40 I made this today 01:32:29 Shenzhen LC Technology board with STM32F103C8T6 01:32:30 ----------------------------------------------- 01:32:30 stm32id 01:32:30 Die xy coords: 108068691 01:32:30 Wafer Number: 80 01:32:30 Lot_num ascii encoded [23:0]: 0x00555071 | U P q 01:32:32 Lot_num ascii encoded [55:24]: 0x87011723 | . . . # 01:32:49 the Forth program is "stm32id" 01:33:14 nice 01:33:26 i plan to eventually do a forth on an FPGA softcore, so it'll be fairly space constrained 01:33:40 one massive problem that the blue pill users have is all kinds of clones and fakes and substitute MCU's in their boards from China 01:33:46 i came from C, and Forth is way different 01:34:22 many dont work, some partially work, but a board costing under $2 is just too much to resist for hobyists 01:34:38 dave0, so it is, I came from assembler and C also 01:35:19 fortunately STM32 chips have four memory locations preprogramed with ID data of a kind 01:35:40 those locations vary among the different models but are similar 01:36:24 so my little "stm32id" reads those locations and presents the information in a consistent way as can be seen above 01:37:31 in the last two locations it not only prints the hex data, but also the ascii alternative where present or a "." if the data is not printable ascii 01:38:56 now this bluepill drama has been going on for years, and you'd think that some C probrammer would have made a self booting binary for the Arduino/C hobbyists to use by now ? 01:39:49 but nope, most of them don't know where the ID is stored, or how to interpret it 01:40:16 --- quit: gravicappa (Ping timeout: 265 seconds) 01:40:39 so Im making up a Forth binary that is self booting and prints the data out as above when the chip is powered up and will release it shortly 01:41:31 this will provide material for another fine rant I believe :) 01:45:37 --- quit: proteus-guy (Ping timeout: 240 seconds) 01:55:22 I enjoy reading your rants, tp. Very good :) 01:55:49 dave0: I went from C++ to Haskell to Scheme to Bash/Python/C and I guess I'm now a Forther 01:55:56 mtsd, oh excellent :) 01:56:31 Specially the parts about the library myth, and how inventing the wheel is way to learn. 01:56:40 mtsd, ttmrichter writes the very best rants he is a GOD of rants 01:56:50 I think you are right. There are no shortcuts, and that applies to many things in life 01:57:11 mtsd, I'll never have that kind of rant skill, some have it, most dont 01:57:32 I think the ones you write are good too :) 01:57:59 Will find and read ttmrichter as well 01:57:59 mtsd, thanks for the feedback, Forth is a very small area with few people interested, so I hardly ever get any feedback 01:58:37 Yeah often libraries don't pay for themselves when it comes to complexity and lock-in 01:59:27 mtsd, it's well worth it with ttmrichter. Sadly he was really annoyed with github where he had heaps of legendary rants and he deleted his account, which gave all his posts (and lots of others) the ID of "ghost" 01:59:40 --- quit: impomatic (Remote host closed the connection) 01:59:56 Learning how something works vs. pretending to know how something works 02:00:12 Reinventing vs. using libraries, perhaps 02:00:28 Jookia, I admit I have this thing about "libraries", I think they are the "kings new clothes" 02:01:20 Libraries are often good for portability and UI sake 02:01:31 I wouldn't re-implement a GUI library or terminal curses library 02:01:44 mtsd, in days of old, no matter how clever one thought they were, learning to make a decent sword took many years, the processes were also held secret by the 'masters'. Not much has changed imho 02:02:35 There is a severe lack of patience today 02:02:48 along came shysters selling books such as SAMS "learn C in 24 hours" and it spread the belief that it was posssible to learn C in 24 hours 02:03:00 Yeah, I remember those.. 02:03:26 mtsd, agreed, and I don't blame the kids, it's the crazy commercial world they grow up in I believe 02:04:15 but it still ruins those kids, it's not their fault, but theyre ruined just the same 02:04:19 I think so. The world is into rapid consumption at the moment. Always on to the next big thing(tm) 02:04:26 so true 02:04:53 Im old, I was luck to live in post war times of hardship and plenty 02:05:14 Now it's just hardship and little :( 02:05:17 anything I wanted, I had to make 02:05:39 I am a bit younger, but old enough to remember a world without smartphones, facebook and internet everywhere. 02:05:51 When things moved slower 02:06:20 Jookia, yes, it's insane, employers expect you to be einstein when you leave the kindergarten they call school 02:06:24 I am happy to see my kids enjoy reading, actually. Selecting books over tablets 02:06:42 mtsd: Books aren't all that great tbh 02:07:11 You don't like books, Jookia? 02:07:18 Not really 02:07:28 mtsd, Im a massive ebook reader, books are too heavy to read in bed, too hard to hold open 02:07:40 I used to be the worlds biggest book zealot 02:07:43 Books were good until computers came about 02:07:54 The Internet too 02:08:02 I lived for the smell of a new book paper, I wouldnt let anyone touch my books 02:08:39 for me the 1954 ARRL handbook was life itself, but I was 9 and that was a long time ago 02:08:45 I enjoy reading, a lot. 02:09:03 Me too, I like reading. Just not books 02:09:05 But different things are good for different people 02:09:19 me too, but it's all either this 27" monitor and PDF's or my paper white kindle ebook 02:09:23 I prefer reading compared to videos 02:09:27 tp: Yeah, ebooks are good 02:09:38 oh yeah, videos are WAY TO SLOW for me 02:09:40 Oh, same here. Definately reading over video 02:09:44 I cant stand videos 02:10:01 I have never tried Kindle, so I can't say anything there 02:10:07 I just want the facts, no handholding or I'll go postal 02:10:26 I like videos for things that are required to be visual 02:11:07 mtsd, kindle paper ink looks exactly like ink on paper under a microscope, it's a perfect alternative and frontlit from the sides, so read every night in the dark before bed 02:11:39 My main gripes with books is that they cost money, you can't read them privately, they're hard to get, you can't change the font size, you can't have the computer read it to you if you're blind, you can't copy it so you end up having a book that you can't share because you'll never get it back 02:12:17 Nice, I would probably like Kindle 02:12:18 it's not lcd or led, the pixels are actually a tiny "egg" white on one end, black on the other and the get flipped by a electrostatic charge 02:12:37 when flipped they require no power to stay that way 02:12:43 Yeah, epaper is good 02:12:50 Would be nice to keep many things to read in a portable package 02:12:56 so a page could stay the same way without a battery for 100 years 02:13:14 But kindles are proprietary and have all those issues that come with it :( 02:13:35 mtsd, I have about 300 books on my kindle, but I could have 10,000 it's as light as a feather 02:13:50 --- join: dddddd joined #forth 02:13:58 --- join: xek joined #forth 02:14:01 Jookia, yeah, but they read *.mobi loaded thru the usb port :) 02:14:09 thats what I use 02:14:29 Nice, but buying books have DRM and Amazon can remotely delete books 02:14:34 So it's really a mixed bag 02:14:58 I prefer the OSS bookreader "fbreader" but cant be bothered spending weeks trying to get it to run on the kindle 02:15:36 Jookia, I never buy ebooks, I only load mobi's and the wifi and 3g is turned off on the kindle 02:15:48 tp: Nice 02:15:57 I can easily firewall it if I want to use the wifi anyway 02:16:18 nothing and nobody can stop a Forth user from doing what they want 02:16:30 Police can 02:16:54 yeah, I mean legal things :) 02:17:19 Ugh fbreader is closed source 02:17:42 it's legal for me to use my kindle how I like, it's mine 02:17:48 no it's not 02:17:53 or it never used to be 02:17:59 was always gpl 02:18:15 perhaps someone got greedy, but there will be a fork if thats the case 02:18:26 It's proprietary now 02:18:43 gronk:/home/tp:#psearch fbreader 02:18:43 deskutils/fbreader Powerful e-book reader 02:18:53 not on freebsd 02:19:20 Yeah, but that's because it's no longer updated 02:19:34 I use the kindle ereader as thats whats on it, but I prefer fbreader by far 02:19:38 on linux 02:20:51 Jookia, ahh I remember, it was gpl for linux, payware for windows 02:20:57 and thats fine with me 02:21:15 windows is payware, pay, pay, pay all the way 02:22:00 i think the issue of open source on windows is more complicated than that 02:22:07 and what open source does 02:23:03 sure 02:23:15 but thats how fbreader did their license 02:23:21 yeah 02:23:42 i just get a bit annoyed that there's not as many FOSS applications on windows 02:24:04 it's very hard to verify that an app will actually do the job i need it to without looking at the source code a lot of the time 02:24:14 sure 02:25:11 but windows is proprietary, all the dev tools cost money for windows, and the coders expect to recoup those costs 02:25:32 which they cant do by releasing their code openly 02:25:56 thats how Ive always seen it anyway, and I can *always* be wrong 02:26:38 I've been wrong a few million times so far, so whats a few million more ? 02:26:47 I think that's fair, but I'd really like to see some kind of 'source code release after 10 years' or something like with the doom/quake engines 02:27:35 I don't think open source has really talked about that though 02:28:40 With modern software all you'd need to do is clear it with lawyers (lol) and dump an encrypted zip of the source online, then put the key in escrow 02:29:28 I dont believe that OSS has talked to proprietary code mfrs at all, why would they ? 02:29:41 they have nothing in common ? 02:30:14 there has been tons of proprietary code lost forever over the years for one reason or another 02:30:28 So they open up the code base, I think this is how they originally did it with Mozilla and to this day it still happens. .NET Core/.NET 5 is open source 02:30:37 fires, bankruptcy, machine failures 02:31:14 Liquidation in to other companies that just don't care is another great way to lose things 02:31:25 I'm not a lawyer, I think that there are more reasons why companies dont open code than I can imagine 02:31:30 yeah 02:31:52 I would guess the reason would be that they would need to open any dependencies or something 02:31:54 I just dont care about commercial software, dont own any, dont use any 02:32:00 yeah 02:32:01 Like SDKs 02:32:04 agreed 02:32:08 --- join: iyzsong joined #forth 02:32:10 sure 02:32:20 thats why I use forth, I dont use SDk's 02:32:38 i write my own code 02:32:43 Nice 02:33:04 I want to do a lot of that but I'm still going to have to end up using things like GTK and Win32 (if I ever want to develop on Windows) 02:33:08 it's slow and if I had to make a living off it Id starve 02:33:43 but I do make and sell embeddeed gear, and I do ok, it's just that I'm old and slow now 02:34:17 I was writing code for industrial control gear and selling the complete package back in the early 80's 02:34:31 id do everything, hardware and software 02:34:38 That's a lot of work 02:35:05 and if America does have another civil war soon, there will be LOTS of such opportunities here again 02:35:42 I didnt think so at the time, there was 24 hrs in a day back then ;-) 02:36:10 a small operator can out design, and out build any large company 02:36:23 because they are far more flexible 02:36:30 they have lower costs 02:36:46 large companies are like molasses 02:40:14 it's confusing 02:58:00 --- join: f-a joined #forth 04:05:57 --- quit: X-Scale (Quit: HydraIRC -> http://www.hydrairc.com <- Nine out of ten l33t h4x0rz prefer it) 04:33:22 --- join: X-Scale joined #forth 04:54:01 --- quit: xek (Remote host closed the connection) 04:54:19 --- join: xek joined #forth 04:59:37 --- join: KipIngram joined #forth 04:59:37 --- mode: ChanServ set +v KipIngram 05:32:24 --- join: EvanCarroll joined #forth 05:41:41 --- quit: f-a (Quit: leaving) 05:56:19 --- quit: mtsd (Quit: Leaving) 06:00:00 --- quit: rdrop-exit (Quit: Lost terminal) 06:12:54 --- quit: dave0 (Quit: dave's not here) 06:21:52 --- join: gravicappa joined #forth 06:28:09 --- quit: iyzsong (Quit: ZNC 1.7.1 - https://znc.in) 06:47:06 --- quit: xek (Read error: Connection reset by peer) 06:47:20 --- join: xek joined #forth 07:07:44 --- quit: xek (Remote host closed the connection) 07:07:51 --- join: xek_ joined #forth 07:09:42 --- quit: xek_ (Read error: Connection reset by peer) 07:09:47 --- join: xek__ joined #forth 07:22:58 --- quit: tabemann (Ping timeout: 276 seconds) 07:45:48 --- quit: ryke (Ping timeout: 268 seconds) 07:54:42 --- join: f-a joined #forth 08:00:27 --- join: xek_ joined #forth 08:03:16 --- quit: xek__ (Ping timeout: 276 seconds) 09:19:37 --- quit: cheater (Ping timeout: 240 seconds) 09:20:34 --- join: cheater joined #forth 09:39:15 --- quit: Jookia (Ping timeout: 260 seconds) 09:41:50 --- join: Jookia joined #forth 09:49:11 --- quit: f-a (Read error: Connection reset by peer) 10:15:08 --- join: dys joined #forth 10:15:53 --- join: xek__ joined #forth 10:18:53 --- quit: xek_ (Ping timeout: 265 seconds) 12:17:56 --- quit: xek__ (Read error: Connection reset by peer) 12:18:03 --- join: xek_ joined #forth 13:06:19 --- join: WickedShell joined #forth 13:22:04 --- quit: gravicappa (Ping timeout: 265 seconds) 13:58:54 --- join: dave0 joined #forth 14:05:51 --- join: xek joined #forth 14:06:26 --- quit: xek_ (Ping timeout: 246 seconds) 14:07:02 --- quit: xek (Remote host closed the connection) 14:08:00 --- join: xek joined #forth 14:13:22 --- quit: xek (Read error: Connection reset by peer) 14:20:30 --- join: jedb__ joined #forth 14:22:50 --- join: TonySidaway joined #forth 14:22:58 --- quit: jedb_ (Ping timeout: 265 seconds) 14:28:24 --- join: xek joined #forth 15:57:37 --- quit: EvanCarroll (Ping timeout: 240 seconds) 16:09:38 --- join: EvanCarroll joined #forth 16:54:01 --- quit: TonySidaway (Ping timeout: 240 seconds) 17:01:38 --- join: TonySidaway joined #forth 17:04:39 --- join: TonySidaway_ joined #forth 17:04:39 --- quit: TonySidaway (Read error: Connection reset by peer) 17:04:51 --- join: ryke joined #forth 17:20:00 --- quit: TonySidaway_ (Ping timeout: 252 seconds) 17:20:08 --- join: tabemann joined #forth 17:22:55 --- quit: dys (Ping timeout: 276 seconds) 17:32:40 --- quit: xek (Ping timeout: 240 seconds) 18:19:02 --- join: proteus-guy joined #forth 18:20:25 hey 18:20:51 * tabemann has implemented the most useless feature for hashforth 18:21:51 namely OOP 18:22:00 --- quit: dddddd (Remote host closed the connection) 18:22:10 a turbo encabulator ? 18:22:29 nah, an object-oriented programming layer 18:23:02 but Forth has always had some OOP capability hasn't it ? 18:23:23 Forth itself no - some Forth implementations, yes 18:23:53 I admit, I'm utterly clueless about OOP 18:24:07 never been interested in it as a tech 18:24:22 OOP is a waste of processing time and memory 18:25:10 tabemann, why do you believe that? what is your definition of OOP? 18:26:07 just because of the dispatch mechanism, calling a late-binding OO method will always be slower than a normal function call 18:26:31 to get equivalent performance you have to do early-binding, where then you lose all of the advantage of OO to begin with 18:27:05 but OOP doesn't require that. it's a frequently available option but it's not part of the definition of OOP. Languages like C++ can resolve this at compile time for most cases. 18:28:25 OOP without late binding is effectively equivalent to just using a plain old module system with normal function calls 18:28:55 it effectively just becomes a namespace mechanism 18:29:19 and the thing is 18:29:24 in most cases this is all one really needs 18:29:51 i think needs is subjective here according to what you're building 18:31:39 it may be subjective, but the only part OO I've ever actually needed are Java-style interfaces - and even then can be effectively replaced by first-class functions 18:32:25 *even then these can be 18:33:32 traditional inheritance is most frequently misused 18:34:41 anyways 18:35:20 I can see a use to my OOP layer because it allows emulating first-class functions 18:38:03 did I scare everyone away? 18:38:14 yes 18:38:17 GNU yes if you will 18:39:16 one key feature of my OOP layer, though, is that methods do not belong to classes 18:39:38 methods are declared in whatever the current wordlist is 18:39:45 and act like words 18:40:02 rather implementations are added to different classes 18:40:10 these classes need not be related in any fashion 18:40:31 in this way it's very different from C++ or Java 18:42:00 it does support single inheritance 18:42:13 but I do not expect that to be the primary manner in which it is used 18:44:31 --- join: rdrop-exit joined #forth 18:45:23 hey 18:45:55 hi tabemann :) c[] 18:46:13 I was just a moment ago expounding on OOP 18:46:53 and from thinking about it more, I think I made the correct design decision to disconnect methods from classes 18:47:02 I never cared for OOP 18:47:09 neither did I 18:47:18 I mostly implemented this because I was bored 18:47:50 a lot of functionality in hashforth came out of being bored 18:48:51 I can understand the attraction for simulation (the original OOP use case) and UI, but when I need an extra layer of indirection, I just code an extra layer of indirection 18:49:20 what I think is really need is that methods aren't like C++ or Java methods 18:49:29 methods just exist, like any other words 18:49:39 *really neat 18:50:11 methods are just words which are dispatched on their first argument 18:50:27 so you can have foo-class, bar-class, and baz-class 18:50:34 none with any connection to one another 18:50:40 but they all implement method foobar 18:51:09 I like words, just words 18:51:20 you just do foo-object foobar 18:51:28 to, say, print FOO 18:51:32 or bar-object foobar 18:51:36 to, say, print BAR 18:51:38 [and like 18:54:20 this really eliminates much of the need for inheritance or even Java-style interfaces 18:57:23 okay, I've gotta head out - coffee shop is going to close in a sec 18:57:25 bbl 18:57:43 I don't think there's any concept more useful then the word, I can concoct whatever a product requires using words 18:58:29 rdrop-exit: I want to go beyond words 18:59:18 Beyond words there are more words :) 19:00:45 yes. sentences even 19:01:52 which you make into words 19:02:49 --- quit: tabemann (Ping timeout: 265 seconds) 19:03:44 i don't know about that 19:04:15 there's a lot of forth words that are read as sentences 19:04:22 formalizing that would just make my life easier 19:10:11 brb 19:10:11 --- quit: Keshl_ (Read error: Connection reset by peer) 19:10:11 --- join: f-a joined #forth 19:10:12 --- join: Keshl__ joined #forth 19:10:13 --- join: [1]MrMobius joined #forth 19:10:13 most my VM assembler words are sentences like mem_get and mem_set 19:10:13 shouldbe 'set memory word' and 'get memory word' 19:10:14 "All problems in computer science can be solved by another level of indirection." -- David J. Wheeler 19:10:14 --- quit: MrMobius (Ping timeout: 264 seconds) 19:10:14 --- nick: [1]MrMobius -> MrMobius 19:10:41 --- nick: Keshl__ -> Keshl 19:11:24 Corollary: except having too many levels of indirection 19:12:14 Jookia, why not use ! and @ 19:13:56 rdrop-exit: unreadable 19:13:56 --- quit: proteus-guy (Ping timeout: 265 seconds) 19:15:29 i would much rather write something like 19:15:30 'new word,dup both,copy element below,copy element below,end word' 19:15:41 really? I read them as store and fetch 19:16:18 most screen readers won't read it 19:16:22 since it's punctuation 19:17:03 I would quickly tire or a Forth that was as verbose as Cobol 19:17:14 * of a Forth... 19:17:29 yeah, so that's why i'll likely have shorthand version 19:17:42 this is why i'm likely to have a GUI or something 19:18:07 since it needs to be spoken properly by screen readers and also dense enough for sighted people 19:18:23 (screen readers read at the speed you or i read) 19:21:03 I've never used one, can you tell one to pronounce @ as "fetch"? 19:21:12 yes, using a GUI 19:21:16 like GTK 19:21:20 but not a terminal 19:21:28 unless you have it switch to a special mode for it 19:21:47 so it's not a big task and i haven't fully thought about it 19:24:20 I haven't done any GUI programming since the very early 90s 19:24:32 i really like forth's word concept and lack of weird C syntax 19:29:27 --- quit: Keshl (Read error: Connection reset by peer) 19:29:27 cool 19:29:27 --- join: Keshl joined #forth 19:29:28 but i want to build an IDE that supports more data than just word name 19:29:28 and use that to make things easier to program 19:29:28 in the forth way this is just so my friend can program since they can't grasp C-like languages or mathematical notation 19:29:28 or mathematics in general 19:29:28 but forth means you can easily break things down 19:29:29 i tried to teach them C but got hindered by them having to read each character on screen individually and move the cursor each time 19:29:29 in order to see how things are spelled, the case of the words, the punctuation, pointer stars, etc 19:30:55 Have them try a visual programming environment targeted at kids like Scratch 19:31:34 i don't think those are screen reader accessible 19:31:39 since they require clicking and dragging 19:33:54 hi all, g'day Zen Forth Master and fellow students ;-) 19:34:17 o/ 19:34:35 The old Karel language was a good teach tool 19:34:41 * teaching tool 19:34:48 https://en.wikipedia.org/wiki/Karel_(programming_language) 19:35:01 also they're a command line nerd and don't like browsers :P 19:35:04 Hi Master Technician :) 19:35:14 I've pushed Forth into the path of a few thousand 'Blue Pill' users, so you can expect probably .... 1 new interested Forth learner I guess ... https://mecrisp-stellaris-folkdoc.sourceforge.io/f1-usb.html#stm32f1-usb 19:35:26 cool 19:35:34 f-a, \o 19:35:49 \o 19:35:52 ? 19:36:02 half a man ? 19:36:09 19:36:17 aha 19:37:04 it's fascinating, the 'blue pill' board is one of the greatest scams ever, and hundreds, perhaps millions have been sold 19:37:14 wow 19:37:38 mainly because they have some kind of STM32F103 or fake chip and the complete board is usually under #2 19:38:03 I have a rant about it here: https://mecrisp-stellaris-folkdoc.sourceforge.io/rants.html#rant-blue-pill 19:38:58 because so many boards have fake chips, many users couldn't get their boards working, couldnt use the USB virtual serial device etc 19:40:42 Now this board is mainly used by C and Arduino users, so I thought that given how C and Arduino are so "awesome" and "easy to use" that someone would have written a bootable binary to test/extract data from the board for users stuck with a problem unit .... but nope, no one had. 19:41:14 You shouldn't let it get to you, there's a sucker born every minute, that'll never change. 19:41:44 I guess all those C and Arduino users must be busy building "cat door openers" or other awesome gadgets which have Arduino libraries ? 19:42:00 rdrop-exit, oh it doesnt get to me, I dont have any blue pills 19:42:43 to be fair C and arduinos are usually beginner stuff, and C and arduinos are fine for that 19:42:46 My eldest son has one of those automated cat feedeers, and an automated cat poop machine 19:42:48 since it translates well to most ALGOL languages 19:42:50 but as none of the millions of users have bothered to write a bootable USB test image for the Blue Pill .... a Forth user had to do it 19:43:11 nice 19:44:00 it was also a great platform for showing how Forth isn't dead and is actually pretty handy for solving problems 19:44:24 especially on a forum with a million readers :) 19:45:43 rdrop-exit, yeah IoT and 'gadgets' are all the rage nowadays 19:46:28 --- quit: cp (Quit: Disappeared in a puff of smoke) 19:47:13 --- join: cp joined #forth 19:53:46 wow, 7 downloads of my bluepill Forth image in 12 hours, it's a SMASH HIT! I rekon it has a good chance of being bigger than 'Terminator: Dark Fate" ;-) 19:55:43 that was an interesting read 19:56:19 :) 19:56:59 Im only an apprentice ranter .... 19:57:31 ranting is good sometimes 19:58:00 tp, the Pied Piper of Forth 19:58:15 wouldn't call it a rant 19:58:21 a rant is unintelligible(sp) 19:58:25 --- quit: dave0 (Quit: dave's not here) 19:58:33 hahahahah, I'm just a Forth Follower of Fashion 19:58:43 whenever someone posts something angry on the internet i tend to have my defenses up 19:59:47 Jookia, I'm far more sarcastic than angry, I could count the times I've been angry in my entire life, on one hand, once per fingers and I dont need some of them 20:00:17 one of those times, a colleague redefined `dup` 20:01:03 f-a, to what ? 20:01:14 'drop' ? hahahah 20:01:19 tp: https://mecrisp-stellaris-folkdoc.sourceforge.io/rants.html#known-blue-pill-issues where did you get that picture/learn this 20:01:43 which picture ?? 20:02:08 https://mecrisp-stellaris-folkdoc.sourceforge.io/_images/e-waste.jpg 20:02:52 just of the internet, some guy in africa surviving by recycling as so many do now 20:03:28 I did an experiment once with descriptive stack operator names, didn't care for the result 20:03:30 the blue pills are made in africa? 20:04:09 made out of materials recovered in africa, I suspect 20:04:40 xx was dup, xyx was over, yzx was rot, etc... 20:05:05 Jookia, no, blue pills are made in China, but I think a lot of the STM32F103 chips come from recycling centres around the world 20:05:49 That was like 35+ years ago 20:06:21 tp: might be better to use another picture or something to depict that 20:07:00 rdrop-exit, seems like a good idea tho, changing the names to one like that 20:07:53 Jookia, perhaps you can supply a url to one you consider better ? 20:08:41 at one point my Forths were similar to APL, very symbolically oriented you might say, got tired of it 20:08:43 --- join: tabemann joined #forth 20:08:59 34.9C here now my little Forth temperature chip reader says 20:09:22 Similary to LaForth I used to use ?{ ... } for if ... then, and similar notations for loops 20:09:24 rdrop-exit, there is so much magic in a name I think 20:09:50 hey guys 20:09:56 hey tabemann ! 20:10:12 IIRC LaForth used ?[[ ... ]] for begin ... again and simlar notations 20:10:19 wb tabemann 20:10:28 rdrop-exit, I knew a woman named "Perl May Cullen" and married a "Mr Drown" 20:10:39 and = who 20:10:58 the tyrany of words! 20:10:59 I worked with a Mary Christmas for a while 20:11:03 hahah 20:11:08 heh 20:13:06 f-a, I guess you can see from my doc site that there is a lifetimes work just with embedded STM32 and Forth ? 20:14:05 Correction LaForth used ?[ ... ]] for ?begin ... again, etc... 20:15:22 rdrop-exit, thats the beauty of forth, you can make it do anything and change every name 20:16:12 Yup, there is no Forth language, only dialects 20:16:40 --- quit: f-a (Ping timeout: 240 seconds) 20:16:47 one is free to gleefully ignore ANS if one wishes 20:17:19 i wonder if that's why Chuck replied when asked "what is Forth" ..... " I can't really say, but I know it when I see it" ? 20:18:20 Yup, it's a way of architecting a solution rather than a language, and there are infinite variations on the theme 20:18:46 the core of my forth is pretty ANS-ish, but everything I've written on top of it does not resemble ANS 20:20:13 ANS hides too much for my tastes, a 16-bit Forth *should* be a completely different beast from a 64-bit Forth for example 20:20:40 tp: I'll have a look around but I don't know much about recycling centers. Usually those are just shown to be clean and stuff, but I'm biased towards it 20:21:35 of course one could tear out the inner workings of my forth and build something that does not resemble ANS at all, using the same VM 20:21:48 Forth seems a bit like an Arduino or other product where you put some components together and you get something useful and simple 20:22:03 That results in clones and things 20:22:05 don't mention Arduino 20:22:14 Lego 20:22:32 tabemann, lol 20:22:34 But arduinos are really just atmega328p with a usb->serial adapter and voltage regulator, etc 20:22:50 (god, that made me think of a certain Fawlty Towers episode) 20:22:52 Aduino is more like Duplo I guess :) 20:23:29 The arduino, like forth, spawned an ecosystem of things that let you load code on to them from a computer over USB fairly easily and cheap 20:23:29 Arduino is the hardware equivalent of Visual Basic for programmers 20:23:57 visual basic is/was a good tool 20:25:04 Jookia, VB spawned generations of programmers who couldnt program and many very expensive failed products they couldnt fix 20:25:29 I look at it a bit differently like that 20:25:39 and arduino has nothing in common with Forth as far as I can see, not one single thing 20:26:06 Jookia, everyone has a opinion, and yours, is well ... yours :) 20:26:09 VB, Arduinos- they make programming more accessible by people with lower skill 20:26:13 My last Basic experience was GW-Basic, no idea what VB is like 20:26:32 You don't need to know C or good programming patterns to make something that 'works' 20:27:24 rdrop-exit, Ive never used VB, but stories of old abound about multiple clueless programmers making a product that failed at the 90% stage because they didnt understand enough about programming to find the problems and fix them 20:27:46 Programmers who don't realize how little they know are dangerous, regardless of the tool used 20:28:11 Jookia, I'm not going to debate you about this 20:28:13 rdrop-exit: Sure, but the real danger is giving them a task they're not fit for 20:28:16 VB just enables people to think they are competent when they are not 20:28:40 rdrop-exit, yep, hence the old saying "easy start ... hard finish, hard start ... easy finish" 20:28:58 tabemann, I agree exactly 20:29:19 Jookia, I doubt the guys assigning the tasks to the VB programmers are any more competent 20:29:37 rdrop-exit: Yeah, and that's where I think the problem is at its core 20:30:07 The modern day equivalent was PHP and now Javascript for that kind of thing 20:30:17 The blind leading the blind 20:30:22 the thing is JavaScript *is not an easy language* 20:30:26 Im sure there are lots of "cat feeders" that work fine with VB, but not so many "safety critical" devices 20:30:57 Should there be easy languages that let people write code that works for small projects? 20:31:40 Jookia, why not ? Arduino made it possible for non techs to actually build embedded gear, and it created a billion $ hobby market 20:32:06 at my current job I am working on a non-trivial project written in JavaScript and Java, and I assure you, JavaScript is not for lesser programmers, because it has so much to it that makes it easy to make difficult-to-debug mistakes 20:32:16 prior to arduino it literally took years for a person to learn how to get any micro booted and running 20:32:39 --- quit: EvanCarroll (Ping timeout: 240 seconds) 20:32:44 tabemann, Im not jealous of you thats for sure! 20:32:45 tp: Because the impression I'm getting here is that a tool can be bad if its used badly 20:33:06 IMHO Java is infinitely easier than JavaScript because it allows you far fewer opportunities to shoot yourself in thte foot 20:33:44 I don't mind opportunities to shoot myself in the foot 20:34:14 Jookia, that's so true, and Forth can be *really* bad if used badly, in fact Forth has been described as a "multiplier" that makes great coders Gods, and terrible coders much worse 20:34:56 Correct, you need the combination, the right tool, and the right tool user 20:35:05 tp: I think you've implied that VB is a bad tool because people use it to write bad programs 20:35:12 Forth provides plenty of opportunities to shoot oneself in the foot - the difference is that it's obvious from the getgo that Forth is not for lesser programmers, whereas with JavaScript it doesn't advertise how difficult it is 20:35:28 tabemann: I aim to make a Forth for lesser programmers :D 20:35:54 Jookia, Im not qualified to pass judgment on any programming language especially VB, I only know what Ive read about it the last 40 years 20:35:57 out of curiosity, how do you plan to make it different from traditional Forth, tp? 20:36:00 That's like making a new scalpel for lesser surgeons 20:36:14 ;) 20:36:19 rdrop-exit: sounds like gatekeeping to me 20:36:36 I keep no gates 20:36:40 ryke, me ? I dont plan to make Forth different in any way, Im a technician not a programmer. I like Forth exactly as it is 20:37:08 rdrop-exit: I don't quite understand what you meant with the scalpel analogy then 20:37:19 a "Forth for lesser programmers" would be statically typed (I don't know how you'd do that with a stack), strongly typed, garbage collected, and without direct access to memory 20:37:34 tabemann: why? 20:37:46 Lunch is served, catch you later :) 20:37:48 Oh, my bad I clicked the wrong name. That was directed at Jookia 20:37:54 see ya rdrop-exit 20:38:00 ryke, so far Ive only modified the Forth I use (mecrisp-stellaris) slightly, and only hardware, such as increasing the default baud rate, adding hardware handshaking or color compiler errors 20:38:08 ryke: safety and a GUI mainly 20:38:21 rdrop-exit, catch ya later, Zenulator 20:38:27 Jookia: because those are the things you'd need to be truly safe 20:38:53 tabemann: I don't think so for my goals 20:39:04 well, to be truly safe, you'd also need there to be no nulls 20:39:47 There's a difference between safety and usability 20:40:22 Haskell is super safe but also super unusable 20:40:44 Haskell isn't unusable! 20:41:13 if you want a language that will protect you from yourself - provided you know your way around lazy evaluation - Haskell is the way to go 20:41:24 Sure, but it's very hard to use 20:41:32 compared to something like forth 20:41:49 or C even 20:42:12 I feel like Haskell and C are about equal in terms of usability 20:42:18 Not that either are unusable 20:42:38 You just have to learn their somewhat strict rules 20:43:18 the thing with Haskell is that it may seem forgiving - but once you get your code to compile, you can be sure you've gotten most of the bugs out 20:43:25 *unforgiving 20:43:34 If you can get it to compile ;) 20:44:30 whereas Forth, well, you can throw plenty of crap at it for it to then go and merrily segfault 20:44:45 or better yet, display "undefined behavior" 20:44:47 I think you're discussing safety again, not usability 20:45:04 tabemann, then once the bugs are ironed out, it may not do what you planned it to do anyway ;-) 20:45:52 --- join: jedb_ joined #forth 20:45:54 tabemann, Thats what I like about cortex-m, it has exceptions for everything, and theyre all the protection I need 20:46:12 in hashforth I made it so that it handled processor exceptions 20:46:15 unaligned word ... exception! 20:46:26 well, as exposed by the kernel 20:46:27 incorrect memory area ... exception 20:46:55 so if it segfaulted... it would display a backtrace and then tell you that it segfaulted 20:47:11 I have noticed that I rarely get exceptions thrown now, I must be getting a small clue at last 20:47:43 I'm not trying to bash Haskell here but it's just so difficult to do things in it unless you're very skilled 20:47:44 furthermore in the backtrace it tells each address that was on the rstack at the time it crashed 20:47:59 so one can run SEE 20:48:06 tabemann, does haskell allow you to pat the watchdog from the systick ? 20:48:58 --- quit: jedb__ (Ping timeout: 276 seconds) 20:49:10 thats what toyota did with their Camry EMU, and everytime someone was killed with a runaway Camry, Toyota claimed driver error 20:49:19 and look up the address on the rstack in the displayed code 20:49:19 tp: considering that I'd never use haskell on an embedded system, that's a moot question 20:49:31 tabemann, ah ok 20:49:54 I've written a good amount of Haskell but never really gotten past the basics because I don't have the educational background for it 20:50:09 tp: yeah, Haskell isn't known for having good realtime behavior 20:50:20 --- quit: Keshl (Read error: Connection reset by peer) 20:50:39 (it also has uncertain memory requirements) 20:50:44 --- join: Keshl joined #forth 20:50:47 yes 20:51:05 it's known for exploding the memory space if you don't know what you're doing 20:51:15 like if you happen to use foldl rather than foldl' 20:51:28 wait aren't you supposed to use foldr instead 20:51:28 which anyone with half a clue would tell you not to do 20:51:40 use foldl' or foldr 20:51:43 not foldl 20:51:46 yeah 20:51:55 there's a lot of rules to remember 20:52:28 I've never seen any Haskell code and imagine I never will due to zero interest 20:52:46 One reason I stopped writing Haskell is that it's compiler is fairly heavy too 20:52:51 and won't run on my computer 20:53:32 I think Rust has the same problem 20:54:23 * tabemann likes programming in Forth partially because his Forth impl. is all his, with the only aspect that isn't purely of his own making being that the runtime is compiled with gcc (even though he bets that clang would also work) 20:55:30 the problem with Rust is it tries to be a better C++ 20:58:53 yeah, you can't perfect c++ 21:01:33 if you want a better C++, you're better off just programming in Java 21:02:03 or if you want a less overdesigned C++, you're better off just programming in C 21:02:55 C++ is like C and Java had a baby, and then that baby was sent back in time before Java was born 21:05:49 okay, I should go to bed 21:06:19 night 21:15:37 gnight 21:44:33 --- join: gravicappa joined #forth 23:02:31 --- quit: WickedShell (Remote host closed the connection) 23:22:08 --- join: inode joined #forth 23:55:20 --- quit: dne (Remote host closed the connection) 23:57:07 --- join: dne joined #forth 23:59:59 --- log: ended forth/19.11.06