reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
cantstanya has joined #forth
dddddd has quit [Ping timeout: 246 seconds]
<tabemann>
hey guys
<tp>
hey tabemann
<tabemann>
I talked to Thomas (the STM8EF guy), and he suggested building up continuous integration as the next thing to do, even though with my setup it'd have to be semi-continuous; however, the thing is that I'm not sure how feasible it would be, due to multitasking and interrupts
<tabemann>
just testing individual words' outputs doesn't feel like really an adequate test
<tp>
automated testing of Zeptoforth ?
<tabemann>
yeah
<tp>
I think it's a good idea along with automated doc of words etc. I noticed some of your handwritten doc was out of date
<tp>
it's a big job trying to keep everything up to date and tested
<tp>
along with the doc
<MrMobius>
tp, none of the dip msp430s cost $5 :P
<tabemann>
well, about the doc, I did omit certain words that were meant to not be for human consumption
<tp>
tabemann, I was also wondering, why publish non current Zeptoforth versions ?
<tabemann>
tp: when I make builds I remove those
<tp>
tabemann, would Zeptoforth 'current' not be more suitable ?
<tabemann>
I keep them around so that if someone perchance reported a bug with a version number, I'd be able to go back to that version and run it
<tp>
tabemann, my problem is I dont use GIT, and I cant eassily even make a script to wget a zeptoforth-*.bin from the one location
<tp>
tabemann, ahh, good point
<tp>
tabemann, but dont software maintainers just advise 'upgrade to the latest version' ?
<tabemann>
tp: I also release binaries on github and hackaday, so from either place you can download the latest build
<tp>
tabemann, you may have already fixed the problem in an earlier version ?
<tabemann>
well, they include both source code and the freshest binaries
<tp>
tabemann, yeah, but they have to be found and manually dl ?
<tp>
as the latest version will have a new version bumber
<tp>
number
<tp>
MrMobius, they cost $6.00 ?
<tp>
tabemann, it's no biggie, just mentioning it
<tabemann>
each release has a version number associated with it, which is prominently associated with the tarball for the build
<tp>
tabemann, I can easily manually dl the latest one
<tp>
tabemann, I know, I have been dl them
<tabemann>
if someone wants to try out the code I'd suggest the tarballs because not only does the user not have to build any binaries, they also don't have to build the html docs
<tabemann>
and thus they don't have to install py.sphinx or recommonmark
<tp>
and thats a good thing :)
<tp>
tabemann, I'll do that myself from now on
<tabemann>
of course, installing py.sphinx and recommonmark on debian at least is not hard, but so are installing arm-none-eabi, screen, or your other standard build tools like make
<tp>
also true
<tp>
it's all dead esay to install on any Unix
<tp>
I have had them all for years on this FreeBSD box
<tabemann>
I bet someone trying to work with this on Windows or macOS would have a far different experience
<tp>
macos is probably fine, windows not so much
<tp>
windows is a hell on earth for it's users, sadly most dont know it
<tabemann>
people have built up package managers for macOS, and macOS is a POSIX environment at least
* tabemann
works with Windows at work
<tp>
the FreeBSD devs mostly use mac laptops for development
* tp
knows tabemann has to use windows at work and he feels the pain
<tp>
personally I'll never use a mac, FreeBSD is plenty user friendly for me
<tabemann>
and the thing is that the code I develop is crossplatform - we even run it on linux servers
* tp
also had to use windows once
<tp>
tabemann, frankly I find xplatform code to be shite in general
<rdrop-exit>
good morning Forthlanders c[]
<tabemann>
hey rdrop-exit
<tp>
it's ok, but what a frigging nitemare to have to develop for different oses
<rdrop-exit>
hi tabemann!
<tp>
hey rdrop-exit
<rdrop-exit>
hi tp!
<rdrop-exit>
agreed, multi-platform code is a pain
<tabemann>
tp: well this is mostly because it is all written in Java where everything platform-related is abstracted away far away from what our code interfaces with, except for the endless amounts of JavaScript, which runs under Chrome and Firefox
<rdrop-exit>
I've never written any Javascript
<tabemann>
JavaScript is a horrible language
<tabemann>
you'll learn to appreciate Java once you have to program in JavaScript
<rdrop-exit>
I looked into the JVM a while back, that's the extent of my java land exposure
<rdrop-exit>
I was more interested in their VM than the language itself
<rdrop-exit>
a deep dive into the JVM spec turned me off to doing anything with it
<tabemann>
the difference between Java and JavaScript is that Java forces some discipline on you as a programmer, not nearly to the degree of the likes Haskell of course, but some at least, whereas JavaScript is the wild wild west where it is so easy to do fuck all, and it won't even complain, until something somewhere else in the code breaks, and you don't have a clue as to why
<tabemann>
Java code is so easier to debug than JavaScript code
<rdrop-exit>
I'm fine with that aspect, I don't expect a language to discipline me, I'm not into language bondage
<rdrop-exit>
I'm always more interested in VMs and their semantics, than the syntax and bondage that runs atop it
<tabemann>
the thing is that JavaScript lets you fuck up royally, and doesn't complain, until it suddenly does - contrast this with Forth, for instance, where you need discipline from the outset, or otherwise your code will segfault straight away
<tp>
tabemann, good point! I see Forth as allowing instant gratification, but also delivers instant moron punishment
<tp>
lol, even easy old Mecrisp-Stellaris usually punishes instantly with the dreaded 'error 3' scrolling endlessly up the terminal until the tar`get is rebooted
<rdrop-exit>
ya, I don't put any syntax checking to speak of in my Forths, each word does what it says on the label, you get what you ask for, each word does what it says on the label, it's up to you to know what you want
<tp>
people say 'why do I get that damn error' I reply, did you try and access non existent memory ?? and theyre like ... "so?"
<tabemann>
zeptoforth doesn't even bother with that, it just locks up instantaneously until one resets the board or, if one flashed bad code onto the board, one reflashes the board
<tp>
as always the ability to test small Words independently is a great benefit of Forth
<tabemann>
rdrop-exit, yeah, the words don't do any syntax checking in zeptoforth either
<tp>
tabemann, I've never written any java or javascript
<tp>
Forth doesnt need to be 'strongly typed' if you ask me
<tp>
Forth comes with a strong 'stick' thats all I need
<tabemann>
to me Forth is essentially interactive assembly to me
<tp>
it whacks me when I screw up
<tp>
tabemann does "on fill wash spin drain off" look like assembly to you ?
<tp>
;-)
<tabemann>
tp: I'm talking about the fact that you can directly access RAM with words like @ and !
<tp>
tabemann, I know
<rdrop-exit>
even when you have high level words in Forth, you don't bury the low-level, Forth is mixed-level programming
<tabemann>
yes
<rdrop-exit>
that's what prevents it from becoming needlessly complex
<tabemann>
Forth is essentially the child of assembly and Lisp
<tp>
I think Forth is like two alternate pictures of a beautiful blonde, one is her at her wedding, her face is angelic and would launch a thousand suitors ... the other is a picture at her divorce and her face is that of a Gorgon, writhing snakes for hair, she's so horrible one look turns a man to stone
<tp>
Forth is just like that
<tp>
;-)
<tp>
which face you see depends where and when you look
<rdrop-exit>
it was influenced by Lisp maybe, since Moore studied under McCarthy, but the philosophy is quite the opposite
<tp>
my 'configuration' section is Forth is like the Gorgon
<tp>
but the higher level I go, the prettier my source becomes
<MrMobius>
tp, lol no less than $5 :P
<tp>
MrMobius, perhaps it depends where you are in the world ?
<tp>
MrMobius, MSP430 is expensive for me
<tabemann>
rdrop-exit, I'm referring to the fact that it can be so low level as to do things that really only assembly and low-level C can do well... while at he same time being interactive and reflective and highly extensible and quite freeform
<tp>
MrMobius, *only* in comparison the STM32, because any chip under $270 is 'cheap' to me
<tp>
tabemann, I'm just uneasy everytime I see anyone say C can do low level well
<MrMobius>
tp, no youre thinking of higher end smd stuff probably
<MrMobius>
fram is probably more than $5
<tp>
MrMobius, I do have about 10x MSP430's in dip and smt (dil flat packs)
<MrMobius>
but yes being expensive is a common complaint
<rdrop-exit>
tabemann, right you are
<tp>
MrMobius, I dont know if it shows but I'm very fond of Ti parts and gear
* tp
fondles his Ti-34 which is over 20 years old and works perfectly
TCZ has quit [Quit: Leaving]
<tp>
in fact I think my Ti-43 will outlive me, and my kids will no doubt ditch it in the bin when they go thru my stuff
<tp>
without knowing how incr`edible it is
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
<rdrop-exit>
* rdrop-exit caresses his 1982 HP-16C Computer Scientist
<tabemann>
tp: if you know you're gonna kick the bucket ahead of time, sell/donate it to someone deserving so it doesn't go to waste
<tp>
tabemann, hahhahaha, no one know ahead of time!
<tp>
tabemann, we all die with the look of WTF? on our faces
<MrMobius>
tp, maybe you should put a sticky note on it just in case
<tp>
MrMobius, hahah, it's comedy hour here in #forth land
<tp>
as if my kids would even read it
<tp>
and if they did theyd still probably ditch it
<tp>
and keep the POS Sharp graphing calculator in the same box
<tp>
because the Sharp has 'Advanced D.A.L' ...
<tp>
whatever that is
<tp>
i bought the Ti-34 to help me write machine code wayyyy back, and after I started using PC's I never used hand calculators again
<rdrop-exit>
I still remember when I bought my HP at Macy's Department Store in San Francisco, back when the calculator department looked like a jewellery department, with everything displayed under glass, and they'd put the calculator on a felt pad for you to try out.
<tp>
ah well off on the pushbike shopping, bbl!
<rdrop-exit>
ciao tp
<tabemann>
see ya tp
<tabemann>
I don't know how I'm even going to write automated tests for zeptoforth, and of course it's precisely the kind of code I do not find enjoyable writing
<tabemann>
there's stuff that'd be trival to test, but also I know it works to begin with so it's not work testing
<tabemann>
*worth
<rdrop-exit>
you can start simply by saving history of your coding sessions
<tabemann>
what I think I could do is inserting code that captures the bytes written out via emit, so I can capture output from any given task
<tabemann>
and then compare it with expected output
<tabemann>
and do this under e4thcom, so I can use NAK to indicate a test failure, since the mode I use e4thcom with, noforth mode, treats NAK as indicating an end of execution
<rdrop-exit>
Currently my emit writes directly to a rolling history
<rdrop-exit>
My forth's "console" is just a display of that rolling history
<tabemann>
well my forth's normal output is to a serial TX, but it all goes through emit-hook, so I can save emit-hook, and install my own emit-hook handler, which will capture the data output and then call the previous emit-hook handler
<rdrop-exit>
ya, these are areas where a tethered setup differ significantly from a standalone Forth
<rdrop-exit>
You could take a look at John Hayes' approach, which was adopted by the standards people
<tabemann>
back
<tabemann>
I've seen how the Forth 2012 people do it, and they seem to mainly do it through the validation of the outputs of words or sequences thereof
<tabemann>
which is fine and dandy
<tabemann>
but I'm concerned with testing the stuff that is important but hard to test, e.g. multitasking
* tabemann
has just implemented a basic output validation tool that allows a failure to be flagged if there is output that is not expected, or the expected output does not occur within a certain number of characters
<tabemann>
by output in this context I mean TX on serial, not cells on the stack
<tabemann>
@rdrop-exit
jpsamaroo has quit [Ping timeout: 265 seconds]
jpsamaroo has joined #forth
<tp>
tabemann, you could use another discovery board to validate one running your latest tests?
<rdrop-exit>
cooperative multitasking is so simple that the testing burden is more at the application level, since there's a greater burden on the application to play nice with resources
<rdrop-exit>
the base code that goes around the ring, and inserts/removes tasks from the ring is the bare minimum
<rdrop-exit>
mutexes are just regular variables in a cooperative system
<rdrop-exit>
it's the application (including its interrupt handlers) that can wreak havoc if it misuses the ultra-simple infrastructure
gravicappa has joined #forth
jpsamaroo has quit [Ping timeout: 272 seconds]
jpsamaroo has joined #forth
<rdrop-exit>
ooh, hand-made calzone for lunch! Catch you all later, stay healthy. Ciao!
rdrop-exit has quit [Quit: Lost terminal]
deesix has quit [Ping timeout: 256 seconds]
deesix has joined #forth
_whitelogger has joined #forth
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
jsoft has joined #forth
dys has joined #forth
reepca` has joined #forth
reepca has quit [Read error: Connection reset by peer]
WickedShell has quit [Remote host closed the connection]
<veltas>
Are there 'serious' forth text editors for hosted x86 environments?
<veltas>
There should be
TCZ has joined #forth
<tp>
veltas, as opposed to 'flippant' forth text editors for hosted x86 environments?
<veltas>
I mean something a bit more than the normal block editor stuff, but I haven't tried one of those out myself, just read the docs, so I have no idea how functional they are
<veltas>
For one thing they probably have very limited usage for editing generic source code
<veltas>
Forth really demands trying to put everywhere, with its claim of being a 4th generation language, and I would definitely give it a fair fight, if I knew of good software for this.
<veltas>
I'm sure crc has an opinion on this
<veltas>
Forth is interesting enough to try and use it like this, anyway.
boru has quit [Read error: Connection reset by peer]
* crc
is working on a newer text editor as well, similar to the current one, but which isn't inherently destructive
<mark4>
whats wrong with sublime text? :)
<cmtptr>
what's wrong with vim
<mark4>
whats right with it
<cmtptr>
i like it
<cmtptr>
i've gotten so used to using vi(m) that when i have to use the arrow keys to move my cursor while editing text, i get very frustrated
Zarutian_HTC has quit [Ping timeout: 260 seconds]
Zarutian_HTC has joined #forth
<crc>
sublime text doesn't run in a console, vim is too big :)
<presiden>
ed is the true editor
<crc>
as with most things, I'd rather use an editor I've written for my own use
<Zarutian_HTC>
I have never seen the alure of vi or vim or even emacs
<cmtptr>
sometimes i look back and wonder how the hell i ever got into
<cmtptr>
it
<Zarutian_HTC>
I sometimes use pico but often when I do have to do lots of repeatative changes I just pipe the files through jq or awk or tcl depending on the nature of the change
<cmtptr>
because it does seem like one of those things i would have blown off because it's so big and the ui has such a high bar for entry
<cmtptr>
but somehow in college i started using it and it's become critically integral to my daily workflow
<Zarutian_HTC>
I often use gedit, Notepad++ or Notepadqq if I feel I need syntax highlighting
<Zarutian_HTC>
and then are the cack handed IDEs
<Zarutian_HTC>
the only IDEs that I have liked is some of the code tools in Smalltalk80/Squeak and Scratch/Blocky. The latter only on phones and tablets.
dys has quit [Ping timeout: 260 seconds]
Labu has joined #forth
<mark4>
so im trying to automate the mounting of a windows encrypted partiton in fstab - how can i control the order in which items in fstab are processed?
<mark4>
i.e. i have to mount a fuse.dislocker file system to /fudge then mount /fudge/dislocker-file to somewhere else
<mark4>
err nvm drat i have another meeting to go to it seems... bbl :) tyty
mark4 has quit [Quit: Leaving]
<cmtptr>
aren't they processed in order?
<cmtptr>
oh, he left
jsoft has quit [Ping timeout: 260 seconds]
_whitelogger has joined #forth
xek has quit [Ping timeout: 260 seconds]
<veltas>
cmtptr: The readline/emacs shortcuts are nicer for navigating lines of text
<veltas>
But I can't get away from vim for work and personal use
<veltas>
I don't like vi, lots of things in it work worse for no good reason
<veltas>
crc: This is why I asked you "I'd rather use an editor I've written"
<veltas>
"I use a text editor wc" what does 'wc' mean? Is that the name of the editor?
<veltas>
Is Hua the editor you use?
<cmtptr>
I need to actually take the effort some day to learn the emacs shortcuts. ^A, ^E, and ^B are the only ones I know
<veltas>
M-f and M-b to forwards and backwards a word, there you go
gravicappa has quit [Ping timeout: 246 seconds]
<veltas>
C-r to do a 'reverse search' i.e backwards search, in bash, python etc this will give you searchable command history
<veltas>
C-k to 'kill' the rest of line, C-y to 'yank' it (paste). M-y to cycle through other things that were yanked previously after pasting (this is super useful and I wish vim had it)
<veltas>
And if you can't be bothered, almost all these prompts use one library, readline, which comes with a builtin vi-style mode most people don't know about.
<veltas>
C-p to previous line, C-n to next line. And that summarises the commands that I use for 99% of my shell usage including the ones you mentioned
dave0 has joined #forth
<cmtptr>
ah, M-f is the one I always get wrong. I usually try to use M-w (because in vi it would be w), and that deletes the previous word
<tp>
I refuse to use any editor other than copy-con under dos 4.1 !
<tp>
<kidding>
<veltas>
Cycling through previously cut stuff is super helpful, and vim has no good substitute.
<veltas>
If I made a text editor it would be the core of useful vim commands, but I would improve things like that.
<tp>
Zarutian_HTC, the alure of Vim is of course the capabilities it has
<tp>
veltas, yeah, Vim isnt perfect, but it's very hard to replace if one uses it's capabilities, same as emacs I guess
<veltas>
I have tried vim and emacs quite extensively and there are a few things emacs does better, but I am just faster in vim and also vim loads faster
<Zarutian_HTC>
tp: have not found vim that capable beyond more specialized editors
<tp>
Zarutian_HTC, windows editors or java monoliths like Eclipse ?
<veltas>
And emacs users who say "I use an emacs server so loading is faster" just think about how ridiculous that sounds. vim doesn't need any of that it's just fast.
<tp>
Zarutian_HTC, Ive looked at other editors and nothing I've seen comes even remotely close to the capabilities of Vim
<veltas>
Emacs daemon or whatever it's called is right up there with preloading Office on Windows because they couldn't write fast office software so now my RAM has to sacrifice.
<Zarutian_HTC>
editors that are made for the task at hand. For instance, an Forth that has autocompletion suggestions for words, in the incerse order those words are defined
<tp>
but I would rate as a Vim noobie compared to real programmers Ive seen use Vim ... frankly it's really intimidating to watch them at work
<tp>
Zarutian_HTC, I have Forth command completion, thats a no brainer with Vim
<tp>
Zarutian_HTC, Vim comes with Forth syntax ighlighting and the command completion uses it
<tp>
plus vim knows about 200 programming languages
<Zarutian_HTC>
basically I have been spoiled by Smalltalk80 and other rich repl tools such as one provided in Dr.Scheme
<tp>
or maybe more
<tp>
Zarutian_HTC, ahh the LISP secret weapon!
<Zarutian_HTC>
vim knows how to semantic highlighting?
<veltas>
I have never used word completion in anything, I'm not against it or ignorant of it, just don't use. I find it distracting somehow
<tp>
Zarutian_HTC, yes it does, 200+ languages a standard
<tp>
veltas, same here, besides every word I create is unknown to Vim anyway
<Zarutian_HTC>
it is wonderfull for forth code entry via nes gamepad and other such limited input rich output interfaces
<tp>
veltas, but I do use and *love* the full line search and insert facility of Vim
<Zarutian_HTC>
tp: _semantic_ highlightinh not syntax highlighting
<tp>
veltas, especially when the lines are 80 characters longe
<tp>
-e
<veltas>
Hmm, straight out of ed too
<tp>
Zarutian_HTC, oops, sorry, I read semantic and thought syntax
<veltas>
I find google search distracting too, the pictures and the way it changes as you type
<veltas>
I think I am hyper distractible though
<Zarutian_HTC>
I wish I could find out how to turn if synonymizatio google search often does. In many cases I am using a spefic word in a search because it is more exact.
<Zarutian_HTC>
And some people dont seem to realize that some words are not synonyms even when they are used to describe the same thing but in different aspects
<Zarutian_HTC>
for instance, square and rectangular are two different things regarding shapes
<Zarutian_HTC>
something being square can mean that it is a rectangle with equal long sides on all sides
<Zarutian_HTC>
or it can be exactly 90° square to something
<Zarutian_HTC>
what in Icelandic is called hornrétt (cornercorrect aprox translation)
<Zarutian_HTC>
and the tool used that is also called square in english we Icelanders call vinkill
rdrop-exit has joined #forth
* Zarutian_HTC
was looking for the prices for wood working squares if you must know
<rdrop-exit>
good morning explorers of the Forth dimension c[]
<tp>
greetings Forthling rdrop-exit
<rdrop-exit>
hi tp :)
<veltas>
rdrop-exit: What text editor(s) do you use?
<rdrop-exit>
a mix, sometimes vi, lately textWrangler, used to use kedit a lot, in Forth I use my own block editors