boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
iyzsong has joined #forth
jsoft has joined #forth
jsoft has quit [Max SendQ exceeded]
jsoft has joined #forth
jsoft has quit [Client Quit]
jsoft has joined #forth
tabemann has joined #forth
jsoft has quit [Quit: Leaving]
jsoft has joined #forth
Zarutian_HTC has quit [Ping timeout: 258 seconds]
Zarutian_HTC has joined #forth
Zarutian_HTC has quit [Client Quit]
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
<tabemann> hey guys
<tp> hey tabemann
<tabemann> I'm having a strange problem with the f407
<tabemann> zeptoforth boots
<tabemann> but USART1 fails
<tabemann> USART1 pretends it works
<tabemann> e.g. USART1_SR reads $C0
<tabemann> which is what it'd say if it were ready to transmit data
<tp> you can compare to the Mecrisp-Stellaris f407 code ?
<tabemann> but it never actually transmits any data, including the welcome banner
<tp> the L model has a lot of differences
<tabemann> I basically took Mecrisp-Stellaris's F407 USART code verbatim
<tp> I have a L073 and everything is quite different
<tp> ahh ok
<tabemann> even the parts where it operates at 8 MHz
<tp> so you have received your F4 disco ?
<tabemann> yes
<tp> I think the F4 code also has a component in /common ?
<tp> unlike my f0
<tabemann> of mecrisp-stellaris?
<tp> yes
<tabemann> yeah, there's a source file for the USART that's in common
<tabemann> one difference I've observed is that the f407 takes much longer to erase its flash than the l476
<tp> I've noticed that the f407 flash is slow also
<tp> at least to erase and flash
<tabemann> well well well
<tp> via stlink
<tabemann> I flashed mecrisp-stellaris onto my f407
<tabemann> and
<tp> I havent made a single project on the F4
<tabemann> it doesn't show the banner
<tabemann> it doesn't respond
<tp> could that be a e4thcom thing ?
<tabemann> nope
<tabemann> just tried it with screen
<tabemann> it looks like a bug in mecrisp-stellaris that I copied into zeptoforth
<tabemann> could you use your documentation-fu and find me the same documents you found me for the l476 but instead for the f407?
<tp> the stm factory docs ?
<tp> matthias has them in a bundle already
crab1 has joined #forth
<crab1> Hello forth gurus
iyzsong has quit [Quit: ZNC 1.7.1 - https://znc.in]
iyzsong has joined #forth
actuallybatman has joined #forth
<tabemann> thanks
<tabemann> hey crab1
<tp> tabemann, plus the f407 may not work via the usb for the terminal
<tabemann> ugh
crab2 has joined #forth
<crab2> How is everyone?
<tp> tabemann, I just flashed mine and cant talk to it using my serial dongle
<tp> maybe it does use the usb, looking
<tp> - USART2 in STM32F407 (TX on PA2, RX on PA3)
<tabemann> oh it's USART2 for USB serial?
<tabemann> the code I have specifies USART1
<tp> Mecrisp-Stellaris RA 2.5.3 for STM32F407 by Matthias Koch
<tp> thats (TX on PA2, RX on PA3)
<tabemann> oh wait, the code does use USART2
<tp> .equ Terminal_USART_Base, 0x40004400 @ USART 2
<tp> yeah, he must be using a different AF
<tp> Alternate function 7 for TX and RX pins of USART2 on PORTA
<tabemann> back
<tp> tabemann, I've flashed your latest, no response from board that talks to Mecrisp-Stellaris
<tabemann> you've got Mecrisp-Stellaris working?
<tp> yeah
<tp> Mecrisp-Stellaris RA 2.5.3 for STM32F407 by Matthias Koch
<tabemann> are you using USB for your serial?
<tp> no
<tp> (TX on PA2, RX on PA3)
crab2 has quit [Read error: Connection reset by peer]
crab1 has quit [Read error: Connection reset by peer]
crab1 has joined #forth
<tabemann> back
<tabemann> I've got a cheap Chinese what-is-probably-an-FTDI-clone here
<tp> the f407 cant do usb without a forth usb driver
<tp> so it's TX on PA2, RX on PA3
<tabemann> I've got TXD and RXD marked on my FTDI clone
<tp> that would work
<tabemann> does TXD on the clone go to PA3 on the board, and RXD on the clone go to PA2 on the board, or is it the other way around
<tp> I think the reason you have USB on your L476 is because of the V2 SWD ?
<tp> the actual L476 also needs a Forth USB driver to use USB natively
<tabemann> the L476 supports dropping files onto it (ugh) - I noticed that when I booted up my linux box once with the L476 attached it displayed a message about an sdb existing
<tp> the older F407 only had stlink V2 (oops the later one is V3 ? )
<tabemann> mine says stlink V2-1
<tp> yeah, the latest stlink has a virtual com port and that stupid DnD thing
<tp> ahh, thats the version them
<tp> they should have named it V3 I think
<tabemann> how do I connect up my cheap chinese clone to my F407 board?
<tp> V2 had no virt com port or DnD
<tp> TX on PA2 - clone RX, RX on PA3 - clone TX
crab1 has quit [Ping timeout: 250 seconds]
<tabemann> okay, I got Mecrisp working now
<tp> cool
<tabemann> HAH
<tabemann> zeptoforth lives
<tp> you can also connect the usb from the SWD programmer and flash that board with the serial line connected anytime
<tp> awesome
<tp> wonder why it doesnt on mine ?
<tabemann> I apparently made some changes
<tp> apparently
<tp> as one does
dave0 has quit [Quit: dave's not here]
<tabemann> just busy debugging zeptoforth for the f407
<tabemann> right now it's not properly detecting the end of the dictionary
rdrop-exit has joined #forth
<tabemann> hey
<rdrop-exit> hi tabemann c[]
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
gravicappa has joined #forth
<rdrop-exit> just read on clf that Matthias Trute, the author of AmForth has passed away. Rest in peace.
<MrMobius> clf?
<rdrop-exit> comp.lang.forth
<rdrop-exit> usenet
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
<proteus-dude> rdrop-exit, oh man sorry to hear that. :-(
dddddd has quit [Remote host closed the connection]
_whitelogger has joined #forth
<tp> I'm sory to hear that as well, I always liked his work ...
<tp> but nothing on the Amforth site
<tp> "Welcome to zeptoforth ok"
<tp> 2 2 + . 4 ok
<rdrop-exit> kudos
<tp> thats tabemann's Forth :)
<rdrop-exit> Cool, nothing beats that "It's alive!!" moment when bringing up a new Forth
<tp> would have been for tabemann for sure!
<tp> I'm just a user, I expect to see things I dl working ;)
<tp> I get the satisfaction of my hardware designs working, that's enuf for me, some people are easily pleased ;-)
<tp> rdrop-exit, Zen Guru, how goes the home detention ?
<rdrop-exit> ok, stayed up until 3am watching videos with the wife
<tp> why not :)
<tp> I haven't been out of my compound since monday 23rd myself
<rdrop-exit> it's toughest on the dogs I think
<tp> yeah, I was just thinking that as myneighbours dog huffed at my door about 30 seconds ag
<tp> he comes over for a pat and lays outside my flywire door
<rdrop-exit> nice
<tp> but I havent patted him for a week when I realised he goes everywhere with the owner and makes a fuss of strangers that come into this compound
<tp> he will have to make do with everyone elses pats
_whitelogger has joined #forth
_whitelogger has joined #forth
shynoob has joined #forth
<shynoob> hi
<shynoob> I am new here
<shynoob> so it says on the download page, that I could upgrade it anytime
<tp> call me clairvoyant, I just had that feeling you were new here, I cant explain it ;-)
<tp> welcome to#forth !
<shynoob> xD
<tp> what do you want to upgrade ?
<shynoob> so can I do everything with the trial version what I can do with paid one/
<shynoob> just asking
<shynoob> I mean as long as I am not developing for all platforms
<tp> what program are you referring to ?
<shynoob> forth programs
<tp> but which one ?
<shynoob> on SwiftForth
<shynoob> oh I was talking about SwiftForth IDE
<tp> ah, youd have to ask forth.com I think
<shynoob> oh sorry.. so what programs do you guys use to use Forth language?
<tp> I have no idea but someone else here may know
<tp> we use forth, but there are many forths and most are free
<shynoob> oh I am sorry, I am complete newb
<tp> I'm sure SwiftForth is amongst the best and with support etc
<tp> what do you want to do with Forth ?
<shynoob> just code and see what I could do with it..
<tp> plus forth.com has some of the original Forth people such as Dr Elixabeth Rather, you cant go wrong there if youre looking for a commercial FOrth
<tp> probably the first thing for you to know is most forths are different in some way, some small, some hige
<shynoob> but is there any other IRC where I can communicate freely with forth users?
<tp> huge
<tp> this is probably the best place to communicate freely with forth users
<shynoob> do any of you code games?
<tp> almost everyone here is a Forth user including myself
<tp> I don't but some others may
<tp> the greatest percentages of people here are probably American and most of America is asleep right now
<tp> so it's pretty quiet
<tp> do you know any other programming languages ?
<shynoob> not really haha.. just started learning some C
<shynoob> but I do have some idea of how programming is
<tp> thats not a problem, probably an advantage with Forth
<shynoob> cause its different than most?
<shynoob> so nothing to unlearn?
<tp> everyone has to start again with Forth if they know other languages anyway
<tp> it's utterly different
<shynoob> so what do you suggest to get along with Starting Forth text?
<tp> I'm not the best person to advise you as Im a technician, not really a programmer, tho I do program a lot of Forth
<tp> there is literally a TON of Forth documents
<shynoob> where does one find those ton of documents?
<tp> the old book "Starting Forth" is ok but a bit out of date and some people (myself included) don't find the cartoon ish nature all that appealing
<rdrop-exit> hello
<shynoob> hm hello
<tp> rdrop-exit, Zen Guru of Forth is here!
<shynoob> I bow down to thee!
<tp> shynoob, I'll hand you over to rdrop-exit, hes 10ee99 better qualified to advise you than I am
<tp> rdrop-exit, shynoob was looking for some good Forth learning docs
<shynoob> yeah and software to use
<tp> shynoob, there is a Forth for every ISA, what machine does your Forth need to run on ?
<rdrop-exit> just read the log to catch up
<rdrop-exit> If you're starting with a Forth Inc. Forth, than I believe they have
<shynoob> tp, x86-64 architecture
<rdrop-exit> a pdf that's an update of Starting Forth that follows the ANS standard
<tp> yes, Forth inc have some excellent doc available at their site
<rdrop-exit> They also publish the Forth Programmer's Handbook
<tp> shynoob, I like "retro' for X86, the designer "CRC" is a OP here
<rdrop-exit> and Forth Application Techniques
<shynoob> yeah I saw
<tp> shynoob, for a open source, well documented X86 forth, have a look here: http://forth.works/book.html#retro-a-modern-pragmatic-forth
<shynoob> thanks, tp, I'll check that out
<rdrop-exit> Your trial version probably came with some PDF docs
<tp> shynoob, Id say the top of the heap is probably something from forth.inc but there are many alternatives that are Free, such as Retro, Gforth, and many others
<shynoob> yeah rdrop-exit,
<tp> shynoob, you windows or unix ?
<shynoob> windows
<tp> than forth.inc would have an edge
<tp> most FLOSS is targeted for Linux/Unix (but not all)
<shynoob> I don't mind free or nonfree.. but right now I cant avail nonfree stuff yet
<tp> generally there isnt a lot of nonfree stuff for Windows that isnt junk or virus ridden imho
<tp> windows = $$
<tp> it's a commercial OS
<shynoob> ikr
<rdrop-exit> For windows you probably want to use either SwiftForth or MPE's VFX
<tp> rdrop-exit, agreed
<rdrop-exit> If doing embedded from Windows then there's Forth Inc's SwiftX
<rdrop-exit> I believe SwiftX uses SwiftForth on the PC side
<tp> shynoob, I think youd have a much better Forth Windows experience using Swiftforth
<shynoob> hm I have downloaded that free stuff.. is it very different from the paid one?
<tp> rdrop-exit, shynoob is interested in writing games I believe
<tp> shynoob, probably not
<rdrop-exit> ah
<shynoob> games is more like an ambition...
<shynoob> so nothing serious for now
<tp> shynoob, but it would have some limitations which they do name on their website I believe
<rdrop-exit> I'm not a Windows user, can't help you on the details
<tp> shynoob, but I'm sure it's usable enough to provide all you need to evaluate it
<shynoob> thats what I was confused about
<shynoob> what does it mean by being able to evaluate
<rdrop-exit> I'll check their website, brb
<tp> it means enough functionality to use it and decide if you like it
<rdrop-exit> it doesn't specify on the website what the limitations of the evaluation version are, maybe check the readme file
<tp> shynoob, I'm curious, most who are new to programming just jump on the C bandwagon, (rightly or wrongly), what led you to want to try Forth ?
<tp> actually thesedays they probably start with Python as it's so popular for some reason
<shynoob> yeah.. well I was checking out which one is the most efficient one.. and forth popped as one of them
<shynoob> I was just looking so I dont really know
<rdrop-exit> ok, it means you can't produce a self-contained EXE
<shynoob> not much reason.. just wanted to go with the least picked one and still usefull
<shynoob> that is bad right?
<tp> shynoob, as rdrop-exit said, it wont produce a executable but it will still run on your machine
<tp> I *think*
<shynoob> I see
<rdrop-exit> when you want to run your program, you have to load it from a source file at the Forth command line
<tp> it's only bad if you want to send a program you made with it to another windows user
<shynoob> the moment I upgrade.. I might be able to make an executabe
<shynoob> executable*
<rdrop-exit> yes
<tp> yes, definitely
<shynoob> thats fine for now I guess
<shynoob> I guess I'll use both these then
<tp> shynoob, Im sure youd find forth.inc a very fair and reasonable company
<shynoob> MPE's VFX?
<shynoob> will use them both for npw
<shynoob> now*
<tp> shynoob, MPE would be good also
<shynoob> SwiftForth and MPE's VFX
<rdrop-exit> MPE is a UK Forth publisher, that produces a similar product of similar quality
<tp> Id go for forth.inc myself, they have a history right back to the beginning of Forth
<shynoob> but lets me build an executable for free rn ?
<rdrop-exit> They've both been around since the 70s
<tp> no, none of them will allow you to build a useful windows executable with a eval version
<rdrop-exit> I've never used an MPE product, only familiar with them by reputation
<shynoob> yeah so my plan is use SwiftForth and execute same programs on MPE product too
<shynoob> to create another executable
<tp> shynoob, that probably wont work
<tp> I doubt the source from one will work on the other
<shynoob> ohh
<tp> not without some porting
<shynoob> yeah .. with minor tweaks
<tp> besides, is anything MPE will be sewn up tight for their eval version
<shynoob> I mean with the hope that I'll learn to use them both
<tp> if anything ... I mean
<tp> yeah, you may prefer one over the other
<shynoob> but anyways gotta start with Starting Forth docs
<tp> shynoob, MPE has this excellent free book but it mainly applies to MPE : http://www.mpeforth.com/arena/ProgramForth.pdf
<rdrop-exit> I would stick with one at first while your learning, or minor differences will just confise you
<shynoob> hmm
<rdrop-exit> * confuse
<shynoob> should stick with official for now I guess
<tp> shynoob, you may find that many exercises in 'starting Forth fail with a modern Forth
<shynoob> ohh
<tp> probably better to get a eval Forth and their book
<tp> then everything will work
<rdrop-exit> tp, I think Forth Inc has a revised PDF of Starting Forth that follows ANS
<shynoob> what is eval forth
<tp> rdrop-exit, oh
<tp> shynoob, any Forth that youre 'eval'uating
<tp> rdrop-exit, I only have permission to recommend the book above
<rdrop-exit> Check your download for a copy of the Forth Programmer's Handbook
<shynoob> I am a beginner in programming
<shynoob> its fine right?
<shynoob> yeah they have given me 3 books
<shynoob> handbook
<tp> MPE is a bit officious, anyone who just provides a link to their book gets a nastygram from Stephen Pelc if they don't have permission to do so
<shynoob> forth standard 2012
<rdrop-exit> what's the third one?
<shynoob> actually 2 more
<rdrop-exit> ok
<shynoob> swiftforth-win32
<shynoob> and dpans94.pdf which is Programming Languages- Forth
<shynoob> that seems to be the standard too
<tp> dpans94 is the Forth specification ?
<rdrop-exit> dpans and forth standard 2012 are standards, not recommended for tutorial purposes
<tp> yeah, theyre definitely reader interest killers afaic
<rdrop-exit> swiftforth-win32 is probably the user manual, maybe it has a tutorial, I don't know
<shynoob> yeah so I'll check out the handbook
<tp> my preferrence would always be forth.inc
<rdrop-exit> Yes, that's a tutorial book
<rdrop-exit> It might not be for complete programming beginners though
<tp> shynoob, I use Forth for controlling the gear I build, all embedded stuff on micro controllers
<shynoob> good to know
<shynoob> the online version of starting forth is slightly different than the pdf
<shynoob> It is our pleasure to now present both a downloadable PDF of Starting FORTH (First Edition) as will as an updated online edition, with great appreciation for work done by Marcel Hendrix to generate the web version on which these pages were based.
<rdrop-exit> Go with the updated online edition, so you're sure the examples run on your system
<shynoob> yeah
<shynoob> thanks
<tp> shynoob, theyre both Starting Forth tho, which is ancient
<shynoob> but the only resource for complete newbies in the realm of programming and comp sci.
<tp> shynoob, in a way reading Starting Forth, finding what works and what doesnt with the Forth you're using is like 'doing the hard yards' .... if you finish then Forth is for you
<tp> we all had to do it
<rdrop-exit> The first edition follows the '79 standard so it's of no use, the 2nd edition follows the '83 standard which is better. This online edition I believe follows the ANS standard and is therefore better suited to your needs.
<shynoob> hm
<tp> although none of it will run on Retro Forth :)
<rdrop-exit> there are probably more non-standard Forths than there are compliant ones
<tp> exactly
<shynoob> thanks.. will let you know how it all went.. once I have traversed through this book once..
<rdrop-exit> good luck!
<tp> shynoob, cool, good luck, Forth isnt for everyone, but for some it's all they want
<shynoob> may the forth be with me
<shynoob> and you
<shynoob> :)
<rdrop-exit> right on!
<tp> it's definitely with rdrop-exit and I :)
<tp> shynoob, I maintain this Forth site, but it's not for x86 : https://mecrisp-stellaris-folkdoc.sourceforge.io/index.html
<shynoob> nice efforts
<tp> just my notes as Ive been learning Forth myself, starting around 2014
<tp> shynoob, Forth is unique in that you make it into whatever you want, thats why no two forths are the same
<tp> shynoob, C alwaus looks like C, Python always looks like Python etc, but Forth can look like *anything*
<tp> shynoob, say you want to write a game in C, it will still look like C
<tp> shynoob, but you can write a *game language* in Forth that is unique
<tp> it only looks like your game language
<shynoob> interesting
<shynoob> whats your age?
<rdrop-exit> he doesn't remember
<shynoob> I mean what age were you in 2014
<shynoob> when you started forth
<shynoob> oh
<shynoob> that happens
<rdrop-exit> ;-)
<shynoob> too much of forth maybe?
<shynoob> xD
<rdrop-exit> you must be a teenader if you're asking about age
<tp> hahah
<rdrop-exit> * teenager
<tp> i was 60 years old
<tp> i learnt C in 1997
<shynoob> wow
<shynoob> I was born in tht year
<rdrop-exit> haha
<tp> and National PACE assembler in 1974
<shynoob> not a teen hehe
<tp> no, not a teen anymore
<tp> but it happes to us all sooner or later :)
<rdrop-exit> oh ya
<rdrop-exit> I learned Forth in my teens
<tp> except for rdrop-exit for he is the Immortal Zen Forth Guru!
<rdrop-exit> though I stopped for many years and came back to it eventually
<tp> shynoob, I *planned* to learn Forth "oneday" starting in 1978
<tp> shynoob, and finally in 2014 I had time to evaluate it and I'm still using Forth
<shynoob> haha evaluate
<tp> 6 years later, but Im still a Forth noob
<rdrop-exit> Forth is unique, and every Forth is unique
<tp> yep
<rdrop-exit> Anytime I have to use a normal programming language I long for Forth
<tp> shynoob, thats one reason Forth isnt popular, no one really knows what it is :)
<rdrop-exit> It's what you make of it ;-)
<tp> everytime I read C I have to rush outside so I can barf
<shynoob> it's a mind set for all we know
<rdrop-exit> I hate C much less than most other programming languages
<tp> we only have our suspicions ...
<tp> rdrop-exit, sure, C is ok up to a point
<tp> Im no C expert tho
<tp> I *used* use and admire C once (embedded) but it's not a great fit there even if everyone in the world uses it
<shynoob> how bad is rust, go, and D in comparison?
<tp> shynoob, learning Forth is like learning karate, first you must wax on, then wax off ....
<shynoob> lol
<rdrop-exit> I've never tried Rust, Go, or D
<tp> Rust seems pretty good, Rust users love converting stuff even tho XLST was there first
<tp> Go, dunno, they made it for Linux and I use FreeeBSD
<tp> D, dunno, Im a electronics tech not a programmer
<tp> XSLT I mean
<rdrop-exit> Most of the other languages I know (or used to know) are old
<rdrop-exit> I've forgotten most, except for C and AWK
<shynoob> do you guys work in a professional environment
<shynoob> ?
<rdrop-exit> I'm retired
<tp> shynoob, in his heyday rdrop-exit was one of the most highly paid programmers in Mesopotamia, he was paid 20 Shekels a week!
<shynoob> how's retirement like? huh do you get to play some go or chess or shogi games with your friends?
<rdrop-exit> plus tips!
<tp> and slave girls!
<rdrop-exit> I haven't played shogi in decades, still have a set somewhere
<shynoob> greece himm
<tp> shynoob, rdrop-exit is the local Poker Hustler
<rdrop-exit> I play board wargames mostly
<tp> like Monopoly ?
<shynoob> like world war something maybe
<shynoob> too bad I would have invited you to play aoe 2 with me ... but its only windows
<tp> thats kind of you :)
<shynoob> even tho microsoft ruined the new version.. and it crashes 10x more
<shynoob> but the old is still popular
<tp> I last played 'Urban Terror' online about 8 years ago, I played online, it was a ton of fun
<tp> It runs on just about anything
<shynoob> hm never got much into fps games tho
<tp> Id spend half the time laughing myhead off
<shynoob> warsow is pretty faast paced tho
<shynoob> anyways offtopic
<tp> I believe at least one famous game was written in Forth
rdrop-exit has quit [Read error: Connection reset by peer]
<shynoob> which
<tp> Dark Star
<shynoob> ah read that somewhere
<shynoob> starflight
rdrop-exit has joined #forth
<tp> i refuse to be anyones Vassal!
<tp> just using git loses my attention immediately
<shynoob> what do you prefer?
<shynoob> subversion?
<rdrop-exit> bbiab
<tp> fossil
<tp> subversion is ok, but it's a centralised system like the old CVS it replaced
<shynoob> ?
<tp> thats it
<tp> I'm an old fossil myself
dave0 has joined #forth
<veltas> "Fossil stores content using an enduring file format in an SQLite database"
<tp> thats right, it's 'enduring' because fossil wont allow anything to be deleted
<veltas> SQLite is pretty good but as soon as a general purpose database is broken out *I* lose interest, git's data makes way more sense it's just compressed snapshots of every file, stored under its checksum name. Every commit can verify itself. It's all distributed but just on the filesystem rather than in a database.
<veltas> Unfortunately git is quite bloated these days, but in principle it had a very elegant design and it doesn't get in my way so if I want SCM I'll use git
<veltas> For personal stuff I usually just store snapshots, I don't bother with SCM beyond .tgz's
<tp> sure, like editors, OSes, programming languages etc, SCM's are a personal choice
<tp> fossil was made by the author of sqlite as the SCM for it
<veltas> You can still discuss what is better, even if it's difficult or potentially impossible to say one is objectively better
<veltas> Ah right that makes sense
<veltas> I do really like SQLite, it's my favourite database software
<veltas> But I hate databases in general
<tp> veltas, only with reasonable forthers who are a pleasure to compare favorite apps with
<tp> I love databases and have for at least 3 decades
<tp> having a database does give fossil some unique capabilities
<veltas> Oh yes?
<veltas> Did you know that a single relational query can implement any polynomial time algorithm?
<tp> for instance, I use a home made 'forth project builder' that supplies all the development aids and templates for every new project in about 0.1 second on this pc
<tp> veltas, no I dont even know what that means (Im a tech not a programmer)
shynoob has quit [Remote host closed the connection]
<veltas> It means anything that can be done in a reasonable amount of time on a computer can be implemented in one SQL query
<tp> but some of the fossil configs can only be done thru the cli or web interface AFTER the fossil repo is created
<tp> ahh :)
<veltas> Roughly
<tp> however, as fossil uses a database, I pre populate it from my project manager before the repo is fully created
<tp> so by the time the repo is done, all my special requirements are in place
<rdrop-exit> Block-based Forths are their own repository
<tp> initially I asked on #fossil, but no one had any idea (no Forth users there) so I had to do the unthinkable ... read the fossil doc!
<tp> rdrop-exit, and 'well written code is self documenting'
<veltas> rdrop-exit: What does that mean?
<tp> veltas, what rdrop-exit means is that if your trousers have a pocket, then you don't need a dustbin for the bones from the chicken you just ate ;-)
<rdrop-exit> Everything is in one memory space. Whether it's source, binary, docs.
<rdrop-exit> You just take a snapshot of the whole thing.
<tp> rdrop-exit, caveats please ?
<tp> 1) cannot use on a small embedded system with a self hosted Forth
<tp> 2) if you loose your documentation 'shadow block' youre screwed
<tp> 3) no SCM
<rdrop-exit> 1) use a tether
<rdrop-exit> 2) you lose a file your also screwed
<rdrop-exit> 3) store your snapshot in your prefered SCM
<tp> Before I met rdrop-exit I used to think that the answer to everything was "42", now I know it's "use a tether"
<rdrop-exit> of course ;)
<veltas> My prefered SCM is the many snapshots model
<rdrop-exit> My host forth is one file
<tp> my host Forth is one chip
<rdrop-exit> it is?
<tp> it is
<tp> it always has been
<veltas> If I carry out my Forth to its conclusion I will be writing self-built copies of it to cassette tapes, and keeping them on one big tape at different timestamps
<tp> veltas, I'm wondering if you have ever saved data on a casette tape before ?
<rdrop-exit> I thought you developed on a pc
<veltas> That is my SCM
<veltas> rdrop-exit: I do now
<veltas> I will then as well because the ZX Spectrum is a "Personal Computer" it says so on the box
<tp> rdrop-exit, I develop on a single chip, but all my files are created, saved,scm'd etc on a pc
<rdrop-exit> I only ever have one file
<veltas> tp: Yes I have
<rdrop-exit> veltas, I meant tp, I thought he developed on a PC
<tp> veltas, and the utter slowness and unreliability doesnt bother you ?
<veltas> I am potentially going to design my own format with redundancy and error-correcting codes
<veltas> As for the slowness, how often do you take snapshots?
<tp> rdrop-exit, think of my PC as a super terminal with a scm
<rdrop-exit> tp, sure but you have a bunch of files I suppose
<rdrop-exit> I only need 1 file
<tp> veltas Im the wrong person to ask :) this system has taken snapshots every 15 minutes for the last 2 years
<veltas> I might also fit some simple compression in as well, to improve the speed
<tp> rdrop-exit, can you be more specific ? ;-)
<rdrop-exit> It's a block based Forth running on a PC, the blocks are contained in a single file
<tp> rdrop-exit, at ant time I have a heap of files with comments, a single file with the same data as all the seperate files, and another single file with no comments
<tp> i feed the single file with no comments to the mcu every time I click the 'make' button on my editor
<tp> at 460800 baud with hardware handshaking, so it's pretty fast
<tp> but from a programmers poc I have a GVIM gui editor with color syntax highlighting, advanced search, blah blah...
<tp> pov
<rdrop-exit> I just use a block editor
<rdrop-exit> (that's part of the Forth itself)
<tp> I just use a modern editor with every conceivable geegaw I want
<rdrop-exit> I have just what I need
<tp> thats what I just said
<tp> note the "I want" :)
<tp> I use nothing out of the box, this is Forth, I get to do whatever I like
<rdrop-exit> that's right
<tp> same as you :)
<tp> tho admittedly your system is much more targeted than mine
<tp> mine is just a techs tool box, full of bits of stuff,half rolls of electrical tape, various tools
<tp> and rusty
<tp> but it's exactly what I need to do stuff
<rdrop-exit> I'm was just answering veltas' question on blocks
<rdrop-exit> I'm not trying to tell you how you should do things
<rdrop-exit> I'm sure the way you do it is best suited to your needs
<rdrop-exit> It's not a competition
<rdrop-exit> It's an exposition of different approaches
<rdrop-exit> there's more than one way to skin a cat
<tp> actually, your efforts showing me how unsuitable my stack comments were resulted in massive improvements here, I'm very glad you took the time
<rdrop-exit> no problemo
<tp> i apologise if I come over as antagonistic, or forceful, I'm just a excitable lad!
<rdrop-exit> no problem
<tp> some may say 'keen'
<tp> some may say 'PITA' theyre all probably right ;-)
<rdrop-exit> going back to tethers for a sec
<tp> :)
<rdrop-exit> a tethered Forth can be used to lay down a standalone forth on a target
<tp> you even inspired me to spend a day fixing a long standing problem with one area of my XSLT, and finally after about 2 years, it's fixed!
<tp> yes, I have a tethered Forth
<rdrop-exit> tethering doesn't preclude anything, it just gives more flexibility
<tp> I love tethers, I wish I had one for the STM32F0
<tp> absolutely agree
<tp> I'm definitely not arguing against tethers, I love them
<rdrop-exit> now if the host (i.e. pc-side) Forth of your tether happens to be block based, it makes SCM very simple
<rdrop-exit> evertying is in one file (the blocks)
<tp> I do tend to get a bit carried away trying to show that 'if you can't have the tether you want, love the hosted Forth you have"
<rdrop-exit> you just take a snapshot of your blocks, which includes everything about your projects, even if you have multiple projects
<rdrop-exit> and store that in your SCM
<tp> sure
<rdrop-exit> the snapshot already includes source, binary, tools, everything
<rdrop-exit> no dealing with multiple files and directories
<rdrop-exit> I like the simplicity, although I can of course understand it's not for everyone
<tp> it does have it's charm
<tp> but doesnt suit the system I have. Even my tethered Forth has exactly the same dev system that my hosted Forth has
<tp> it's always the same argument, blocks or files, windows or unix, vim or emacs :)
<rdrop-exit> no argument here, just another take on the infinite variations of Forth
<veltas> I have been intrigued by the block based approach of old Forths, that's still resident on modern forths and still popular among many forthers
<veltas> I inspired me to use something a little similar to Forth's blocks for something I'm writing at work right now
<veltas> It* inspired
<tp> I actually like blocks, I first experienced them with 'Riscy Pygness' Forth by Frank Sargant
<rdrop-exit> Blocks were one of the simplifiers of Forth that were abandoned en mass
<tp> and I made a 1.44MB minifloppy drive Forth block filesystem for a Rockwell 65F11 Forth system in 1987
<rdrop-exit> Similar to what happened with metacompilation
<tp> Ive forgotten a lot but iirc floppy drive sectors make great blocks ?
<rdrop-exit> cool
<tp> the programmers would just load the block numbers from the floppy
<rdrop-exit> yes, blocks were not always 1 kilobyte each, that came later
<tp> i was so impressed I spent the next 33 years planning to 'look into Forth oneday'
<rdrop-exit> they were whatever unit made most sense for the drive
<tp> it was dead easyto build
<tp> I used a floppy controller chip, made the pcb, used a std 1.44MB floppy and connected it to the Forth data bus
<tp> but time has moved on, most cortex-M4's come with 1024 MB of flash inside the chip
<rdrop-exit> Fig-Forth had things such as bbytes per buffer, blocks per screen, sectors per block, etc...
<rdrop-exit> The standard 1 kilobyte block size was put in place in the '79 standard
<rdrop-exit> Elizabeth Rather use to say that Forth had the only portable data format in the world with the 1k block
<rdrop-exit> * storage format
<tp> shes my personal hero!
<tp> her embedded skills are extraordinary
<rdrop-exit> It's too bad she's retired, her posts had some of the best SNR
dddddd has joined #forth
<tp> oh yeah, right on
<tp> shes still active in that slime pit called CLF
<veltas> Has anyone here applied Forth blocks to raw FLASH?
<rdrop-exit> much less than before sadly
<tp> I've stopped reading it again, NTS is too high for me
<tp> veltas, not me, I'm a Forth user not a Forth system programmer
<rdrop-exit> it's been done
<veltas> I'm wondering what method they used
<rdrop-exit> depends on the specifics I suppose
<tp> i know it involved chickens and a virgin
<rdrop-exit> there's a Forther who's in the flash business, can't recall his name atm
<rdrop-exit> dinner is served, then probably another video binge with the wife
<rdrop-exit> catch you guys soon, stay healthy
rdrop-exit has quit [Quit: Lost terminal]
<tp> cya thanks for the chat!
<tp> veltas, rdrop-exit is isolated in his apartment in Manilla like everyone else atm
<veltas> Right
<tp> well i didnt mean that we are all in manilla :)
<tp> Im in Australia
<tp> veltas, why not use a kickarse high density, industrial 20GB SCSI tape drive instead ?
<tp> of a cheap and nasty audio tape drive ?
<tp> theyre dirt cheap on ebay in old gear
iyzsong has quit [Ping timeout: 272 seconds]
<veltas> tp: Authenticity
<tp> ?
<tp> I dont understand
<veltas> The Spectrum was designed to work with a tape, I want to produce a system that would've been useful to a home user in the 80s
<veltas> the 20GB SCSI tape drive is from a different era
<tp> yeah, a decade later
<veltas> Hmm
<veltas> It's a cool idea but I will save that for some early 90s computing tech maybe
<tp> I was around in the 80's, lol and the 70's,60's, and 50's
<tp> and I owned a few tape drive computers
<veltas> Nice
<tp> sadly no, they utterly sucked
<veltas> lol
<tp> those tape drives were terrible, I was always adjusting the volume to try and get the data to save reliably
<veltas> I know they still use cassette tapes for backups, can't be beat for price+density, but access time is total garbage compared to anything else.
<tp> when I got my first 8" fixed format floppy of 180KB I cant tell you how much my life changed!
<veltas> This tech is all very impressive really, isn't it?
<tp> even the scsi 1/2 tapes take ages to read, probably a hour to index, but theyre still the most reliable data storage known to man
<veltas> And we keep pushing the limits
<veltas> So we can run more static copies of chrome to run electron apps
<tp> apparently a 1/2 DAT tape of 20GB kept in a vault thats climate controlled can be relied on for 50 years!
<tp> hahahah
<tp> you and I both know there is only one really reliable storage medium
<tp> ... cuneiform clay tablets
<veltas> Absolutely (I have no idea what that is)
<tp> like they used in Summeria
<tp> haha
<veltas> FLASH is the ultimate storage, we will make it high density and more reliable than anything else
<tp> there are still millions of them that havent been read
<veltas> Have you ever used or heard of FRAM?
<tp> but theyre mostly "omar bought a donkey of akash for 2 shekels"
<tp> sure
<tp> Ti uses it in their MSP430 chips
<veltas> It is better than FLASH in every way, totally reliable, 'solves' every storage problem we have. Except it is not very high density, and it is expensive for what it is.
<veltas> It's good as a small storage area for vital configuration, or FLASH wear-leveling bookkeeping
<tp> hmm, I hear that FRAM has it's pros and cons like everything else
<tp> it's FAST
<tp> but it wears on read cycles
<veltas> Yes but it's good for 100s of years of read cycles
<veltas> Like you can read constantly and it won't break for 100 years at least
<tp> you may be right, I havent used it
<veltas> That is the rating of the last FRAM spec I read anyway
<tp> only 100 years! but then Ill have to replace it ;-)
<veltas> That is just current FRAM tech, one day it might last longer (I can imagine applications where over 100 years reliability is needed)
<tp> personally I think the only long term memory we will ever invent is 'organic' and even then it will lose bits and wont be free
<tp> it will cost a lot in cokes and hamburgers etc
<tp> not to mention pizza
<veltas> I've heard pizza is a worse fuel for your organic memory
<tp> hahah
<veltas> But it can fix a broken motivator chip
<tp> yeah but the latest 100PB organomems demand it even tho they know it raises their cholesterol
<tp> wish it could, Id get some
<veltas> I wonder how much data humans could theoretically memorise
<tp> not a human, it's just a brain in a box!
<tp> you have to put the pizza thru a blender before they can consume it
<tp> pour it into the tiny feeder tray
<veltas> If you had to guess what C+! does.... ?
<veltas> You'd assume it was a: ( n addr -- ) that adds n to the character at addr right?
<tp> yes
<veltas> tp: Do you have such a word?
<tp> not in the Forth I use
<veltas> It seems too convenient to me not to have
<veltas> I actually want to make it a token
<tp> oops!
<tp> I do have it
<tp> c+! ( u|n a-addr - - ) Add to byte memory location
<tp> I've just never used it
<veltas> I've got room for about 128 forth words which will occupy a single byte in colon definitions
<veltas> (It's a tokenized forth)
<tp> written in C ?
<veltas> It's written in assembly
<tp> oh
<tp> youve seen my disclaimer about not being a programmer I hope :)
<tp> and on the 6502 ?
<veltas> No, Z80
<tp> oh ok
<veltas> Making it tokenized is going to save serious space
<tp> is space a issue ?
<tp> the Z80 has a external data bus of 64kB
<tp> and you could easily page it
<veltas> I'm just using the built-in RAM
<tp> the board I made for 65f11 had 8 ram chips soldered on each other each with the chip select pin bent out
<veltas> Space is an issue when you know that you *will* run out, and you want to be able to get as much *stuff* in there as possible
<veltas> I know if I write games with my Forth system, for instance, that I will run out of space and if I have a way of fitting more logic in with less RAM usage I should do that
<veltas> tp: Nice lol
<tp> the client wanted it that way
<veltas> 3D RAM
<veltas> Before its time
<tp> looked funny with this stack of ram
<veltas> I wonder why they wanted that
<tp> worked fine, is a known technique, or used to be whan ram chips were small
<tp> more static ram
<tp> it was a fair project, a UAV controller plus other stuff
<tp> it was a underwater autonomous vehicle with hydrophones that recorded the propeller sounds of shipping
<veltas> Okay
<tp> I only made the hardware
<tp> it would then run the sound against known propellor sounds to find a match
<veltas> Did they find any U-Boats?
<tp> I don't know, I only had a small part in the build
<tp> hey it's midnight here, time for some zzzzz, thanks for the chat
<veltas> Okay you too
<veltas> Sleep well
dave0 has quit [Quit: dave's not here]
cartwright has quit [Read error: Connection reset by peer]
cartwright has joined #forth
proteus-like has joined #forth
proteus-dude has quit [Ping timeout: 258 seconds]
_whitelogger has joined #forth
jsoft has quit [Ping timeout: 256 seconds]
<tabemann> hey guys
<tp> hey tabemann
<tabemann> for some reason my board stopped responding, and then started responding again
<tabemann> the f407 board that is
<tabemann> I did change it so that it used a slightly faster baud rate (i.e. strict 115200) not the "ein ganz kleines bisschen langsamer" one that matthias was using
<tp> what was the interval ?
<tp> the a bit slower ?
<tabemann> it was $46, I changed it to $45
<tp> the "a bit slower" ?
<tabemann> yes
<tabemann> "a little bit slower"
<tp> Ive found the baud rate settings not to be too critical
<tabemann> maybe it's my cheapo FTDI clone that's at fault
<tabemann> or maybe my cheapo dupont cables
<tp> mine are really cheap <$1
<tp> and I a;ways run at 460800 baud with them
<tp> you using the external clock which comes from the xtal controlled programmer mcu ?
<tabemann> yeah, I'm using the external clock
<tabemann> I have to figure out how to get flash working properly with this board
<tp> i ran your binary btw
<tabemann> yeah?
<tp> yeah got the welcome message
<tp> added 2 + 2
<tp> just couldnt use read the dictionary
<tp> -use
<tp> but it was looking good!
<tabemann> yeah, there was a bug in that
<tp> i was expecting it I saw your log comment
<tp> when I can use it I'll add hardware handshaking and post the patch for you
<tabemann> okay, I've narrowed it down to when you first create a flash word
<tabemann> where it complains about flash already being written
<tabemann> however if I write to flash using flash,
<tabemann> it has no problems
<tp> yeah I got that also
<tabemann> but you can add 2 2 + . you said?
<tp> I tried to upload one of your Forth files
<tp> yea
<tp> nice to see you send a \r\n also
<tp> unlike Mecrisp-Stellaris where only a \n is sent
<veltas> Over serial?
<tp> yeah
<tp> it's the right unix protocol but all the usual serial terminals are set up for windows
<tp> even Screen wants a cr as well as a newline
<tp> so the first thing I do with a new Mecrisp-Stellaris release is ass a \r to the \n and recompile it
<tp> ass = add
<veltas> Actually it's the wrong protocol, the protocol is based on a serial for a VT100, ANSI terminal, and similar. There are UNIX controls for automatically generating a carriage return on line feed which are usually enabled
<veltas> I'm not sure at what level but serial is definitely below that
<veltas> So even UNIX tools generate a \r\n at the right level
<tp> ah
<veltas> So Mecrsip-Stellaris is doing it wrong if it only outputs \n on serial
<tp> it definitely only outputs \n on serial
<veltas> I only know this because I work on a product that has very low-level control of serial, and we work with a range of terminals
<tp> luckily being GPLd and Forth there are plenty of ways for the user to change it
<tp> veltas, cool, thanks for the info
<tp> veltas, so only emitting a \n is a vt100 thing ?
<veltas> No
<veltas> If we're talking serial, nothing uses only \n unless it works under a misconception
<tabemann> back
<veltas> In UNIX \n translates to \r\n for text mode streams, it makes it easier to specify "a new line" in C basically
<veltas> And I don't think that convention started in UNIX
<veltas> It's for the programmers, the system translates text streams when going to the terminal to have the appropriate carriage return
<tabemann> I know that web protocols such as HTTP and IRC traditionally use \r\n
<tabemann> *Internet protocols
<tp> sadly Mecrisp-Stellaris 'stair steps' so the user has to fix it
<veltas> It probably uses the same logic for both serial and other mechanisms
<tp> which is why it was nice to see that tabemann's Forth emits a \r\n
<veltas> The correct fix is in the serial driver, translate \n to \r\n, that is what I would do if I was on that platform
dddddd has quit [Ping timeout: 256 seconds]
<tp> sure, I did suggest that to the author but he's not interested in changing it
<veltas> I'm not working with serial so my CR just sets the "row" and "column", but I did remember to also set the column so the carriage return made it ;)
<veltas> tp: I wonder why, he probably doesn't think he's doing it wrong
<tp> veltas, he agreed he should do it, but wants it as it is
<veltas> It's likely a big shared misconception about \r\n vs \n being a windows v linux thing, programmers only normally see that difference, the fact UNIX actually cares about the carriage return and even has special controls for it is hidden from most people
<tp> for his own reason
<veltas> Actually oldnewthing explains this much better than me https://devblogs.microsoft.com/oldnewthing/20040318-00/?p=40193
<tp> veltas, you explained it well
<tabemann> ugh
<tabemann> stupid flash problems
<tp> one does have to take special steps for flash, ram has spoilt us!
<tabemann> something really weird is going on
<tabemann> if I write series of halfwords to flash (using my flash, routine which takes a 32-bit value, breaks it up into 32 bit values, and writes them individually)
<tabemann> it works fine
<tabemann> but if I first call flash,
<tabemann> then call bflash, , wihch writes a single byte to flasah
<tabemann> it complains
* tp plays the tune for the Twilight Zone ...
<veltas> Is the word size of the flash a byte?
<tabemann> yes
<tabemann> and the flash, routine increments flash-here by four, as expected
<tp> bbl folks :)
gravicappa has quit [Ping timeout: 240 seconds]
<tabemann> tp: oh, btw, I got flash working
<tabemann> it was really an incredibly stupid bug resulting from me copying and pasting part of matthias's code but not all of it
<tabemann> and it was so obvious when I saw it
<veltas> Nice
<tabemann> now the problem is that my interrupt-driven IO is losing characters
<tabemann> this is probably a side effect of that this board is running at 8 MHz
<tabemann> because that's how Matthias configured it in the code I copied
<tabemann> (there's a reason my code is GPL3 - lol)
<veltas> Why is it GPL3?
<tabemann> because it allows me to copy Matthias's code
<veltas> His code is GPL3?
<tabemann> yes
<veltas> Where is Matthias' code?
<tabemann> normally I license my own code as BSD3
<veltas> I now license code as 'public domain' equivalents because I don't think I have the right to hold potential legal power or stress over people that use my code
<veltas> I have also actually seen people avoid stuff because they don't want to include copyright info, but would happily use it if it was like e.g. sqlite where they don't have to attribute or anything
<tabemann> I've had the problem with zeptoforth that I've had to guess what the correct copyright notice is
<tabemann> because I've copied code from Matthias but he didn't put a proper copyright notice on his own code
<tabemann> so I don't know the proper copyright date to use
<veltas> Hmm
<veltas> As open source code you're probably going to attribute anyway, or at the least you would admit you copied it if confronted
<tabemann> so I figure "well, most of his code is from 2013, so this code probably as well"
<veltas> So I wonder what the point of using copyright law is here to 'force' people to put the 'correct' message down 'somewhere'.
<veltas> Microsoft actually got complaints for putting MIT copyrights in Windows, because email worms would pick up those addresses and spam the recipients at totally ridiculous rates, millions of emails a day
<veltas> I mean email addresses in the notices they copied
<tabemann> ah
<tabemann> why, MIT notices require email addresses?
<veltas> They do if you put the email in there
<veltas> You can imagine Microsoft's logic here anyway, "just put the whole thing in so we can't possibly get in trouble" and then people are angry anyway
<tabemann> I never put my email in my copyright notices - lol
<tabemann> putting one's email in a copyright notice seems insane
<veltas> I am doing public domain equivalent licenses, because it says "you know what, if you take the code and don't attribute me I would not like that, but I will not sue you".
<veltas> tabemann: Old GPL template (and probably current template) suggests putting an actual address, not just an email, in the copyright
<tabemann> obviously whoever wrote that did not live in the modern age
<veltas> How else do you prove it is you who is said to own the code?
<veltas> The criteria for that proof used to be stricter
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
<veltas> And I won't call Richard Stallman not living in the modern age, not when he's attributed on so much of the software I use every day
<tabemann> what I mean is that 1990 wasn't the modern age
<tabemann> one didn't have to worry about doxxers and email bots in that age
<tabemann> sometimes I wonder if it was as bad idea for me to actually do my software development under my actual name
<veltas> No I think that's the best approach
<patrickg> RMS has a significant impact on the modern age but that doesn't mean he lives in it
<veltas> Hide in plain sight
<tabemann> my point was that when the old GPL was written it was in an age before doxxers and email harvesting bots
<tabemann> where you didn't have to worry about being swatted and whatnot
<patrickg> I have my full address on my website (as required by law) and I don't particular fear swatting. seems more of a country specific quirk
<veltas> There have always been people you don't want to make enemies of, and it's never been as simple as just speaking your mind and expecting no fallout or backlash.
<tabemann> full address on your website?
<tabemann> the only thing I ever put my full address on is my resume, and I often doubt the wisdom of that
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
<veltas> Say what you can afford
<patrickg> tabemann: German media laws: anything that's considered commercial media needs to identify a responsible person. While my site isn't commercial in nature (ads would make it commercial already), the interpretation of that stuff changes over time, and there are less issues with putting an address there than potentially having to deal with a cease&desist
<tabemann> that seems like it essentially bans privacy
<patrickg> it depends, I could probably drop the section, but I'd always have to look out for whether what I do requires to put it back
<patrickg> and for a long time (before GDPR) for .de domains that data was available through whois anyway
<tabemann> here in the US such information is available via whois by default, but there are ways of anonymizing
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
<tabemann> ugh
<tabemann> getting interrupt IO working on the L476 was a breeze compared to this
<tabemann> again, this is running with an 8 MHz clock while the L476 was running at a 48 MHz clock
<tabemann> then again, I deliberately slowed down the systick to try to alleviate issues
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
reepca has quit [Ping timeout: 256 seconds]
dave0 has joined #forth