merkc2 has quit [Read error: Connection timed out]
TCZ has quit [Quit: Leaving]
merkc2 has joined #forth
merkc2 has quit [Ping timeout: 240 seconds]
merkc0 has joined #forth
iyzsong has joined #forth
rdrop-exit has joined #forth
merkc1 has joined #forth
merkc0 has quit [Ping timeout: 256 seconds]
merkc2 has joined #forth
merkc1 has quit [Ping timeout: 260 seconds]
<rdrop-exit> good morning Forthers c[]
<tabemann> hey
<rdrop-exit> hi tabemann
merkc2 has quit [Ping timeout: 260 seconds]
merkc0 has joined #forth
<crc> hi rdrop-exit
<rdrop-exit> hi crc
<tabemann> hey crc
reepca has quit [Read error: Connection reset by peer]
reepca has joined #forth
merkc0 has quit [Ping timeout: 260 seconds]
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
phadthai has quit [Quit: bbl]
<tabemann> I just modified enable-task and disable-task so they actually add and remove tasks from the task loop
<rdrop-exit> cool
<tp> were they arrested by the false advertising police ?
<tabemann> lol
<tp> ;-)
<tabemann> they previously just set a flag saying they were disabled or enabled
<tp> hey tabemann, Zeptoforth is moving right along :)
<tabemann> there is still a flag, well actually a counter, to allow nested enable-tasks and disable-tasks to work properly
<tabemann> so you can enable-task twice, and to reverse it, you have to disable-task twice
<tabemann> rdrop-exit, note that disable-task is not STOP because it doesn't call PAUSE, since it can be used on tasks other than the current one
<tabemann> if a task calls disable-task on itself, to have the desired effect it has to call PAUSE afterwards
<rdrop-exit> I'm not sure what your saying, but then I'm half-awake, I gues your STOP is more like HALT
<rdrop-exit> *you're
<tabemann> it's not STOP because you can all it on any task, and it does not result in a transfer of control, with that requiring a PAUSE
<tabemann> *call
<rdrop-exit> so you're STOP is actually HALT I guess
<rdrop-exit> * your
<rdrop-exit> it takes a tcb parameter
<tabemann> yes
<rdrop-exit> ok
<rdrop-exit> here's MPE's glossary entry for HALT
<rdrop-exit> : halt \ tcb -- ; mark thread as halted
<rdrop-exit> Stops an INITIATEd task from running until RESTART is used.
<rdrop-exit> Forth Inc's version is:
<rdrop-exit> HALT ( addr -- )
<rdrop-exit> Causes the task whose TCB is at addr to cease operation permanently at the next STOP or PAUSE but to remain instantiated.
phadthai has joined #forth
<rdrop-exit> There's a lot of variation though in Forth multitaskers.
<rdrop-exit> That's one reason they chose to keep it out of the 79, 83, and ANS standards.
<rdrop-exit> Although I suspect politics was involved.
dave0 has quit [Quit: dave's not here]
<rdrop-exit> The important thing is that Forth Multitasking should be extremely low overhead, task switching is usually just an indirect jump, i.e. PAUSE.
<rdrop-exit> IIRC one of the ANS members is trying to come up with a set of standard names that emcompasses both cooperative and preemptive multitasking.
<rdrop-exit> Personally I've never been interested in premptive multitasking in Forth.
<rdrop-exit> * preemptive
<tp> I ran it for a while but it's a bit resource intensive for the tiny chip I use
<tp> oops, that was cooperative not premptive
<rdrop-exit> cooperative doesn't have to be resource intensive, but that depends a lot on the particulars of the implementation and the design choices
<rdrop-exit> baked in
<rdrop-exit> The minimum is some data stack space and return stack space
<rdrop-exit> per task
<tp> I think it uses about 800 bytes of ram per task in the case of Mecrisp-Stellaris
<tp> and I only have a total of 8kB
<tp> i think Mecrisp-Stellaris itself only uses 1.5kB of ram
<rdrop-exit> he chose to do it that way, you don't need to pre-assign RAM to a task
<rdrop-exit> (except for stack space)
<tp> I think it's related to the stack and register saving
<tabemann> back
<tp> but I dont really need it anyway, plus because the terminal is polled, the performance can be a bit poor
<rdrop-exit> it might be adjustable
<tp> tabemann, seems to have fixed that issue by using a interrupt for his terminal
<rdrop-exit> need more coffee, bbiab
<tp> 29,50 C
<tp> 85,21 F another lovely summery day, hurry up winter!
<tabemann> yeah, I was having trouble with serial IO and multitasking until I switched from polled IO to interrupt IO
<tp> thats definitely something I'll look into later
<tabemann> my cooperative implementation is a little more resource heavy because I have to update a whole bunch of shared registers such as base and end registers for stack and rstack (for detecting overrun and underrun), HANDLER (for exceptions), and BASE (obvious)
<tabemann> the reason why HANDLER and BASE are not user variables is because they're in the kernel, and the kernel doesn't really know about multitasking
<tp> tabemann, do you know how much ram per task it needs ?
<tabemann> haven't checked - I normally give tasks 256 bytes of stack, 256 bytes of rstack, and 256 bytes of scratch space
<tabemann> haven't had any problems with that much
<tabemann> and on my board I can afford to give out that much RAM per task
<tp> of course
<tp> the old M4 has a ton of resources
<tp> rumour is that a M4 may even run Retro one day :)
xek_ has quit [Ping timeout: 240 seconds]
<rdrop-exit> tabemann, how many user variables do you have?
<rdrop-exit> BASE and such...
<rdrop-exit> There's no need to make BASE task specific unless you're doing a multi-user Forth (as opposed to a multi-tasking Forth)
<rdrop-exit> multi-user Forths are a rare bird indeed nowadays
<tabemann> 5
<rdrop-exit> what are they? If I may ask.
<tabemann> task-handler, task-wait, task-systick-start, task-systick-delay, and task-base
<tabemann> task-systick-start and task-systick-delay are used for waiting for a particular time
<tabemann> the reason why there are two variables rather than one for this is that it avoids a common bug with rollover
<tabemann> task-wait is if a task is waiting but still in the loop (and will be woken up at the next interrupt)
<tabemann> task-handler is for exception handling
<tabemann> task-base is self-explanatory
<rdrop-exit> ah, you were speaking of this task-base rather then BASE earlier
<rdrop-exit> * than
<tabemann> task-base is copied into BASE by PAUSE
<tabemann> task-base is only known by the multitasker
<rdrop-exit> BASE as in hex, decimal etc...?
<rdrop-exit> or as in some sort of base address?
<tabemann> as in hex, decimal, etc.
<rdrop-exit> Two things puzzle me
<rdrop-exit> why does each task need its own BASE (unless your Forth is "multi-user")
<rdrop-exit> 2) even if each task needs its own BASE, why does PAUSE need to copy it?
<tabemann> it's because it's state that has no need to be shared
<tabemann> as for copying it, it's because the normal formatting routines are in the kernel, and the kernel doesn't know about user variables
jsoft has joined #forth
<rdrop-exit> I need more coffee, or maybe a Scotch
<rdrop-exit> too early for a Scotch :(
merkc0 has joined #forth
dddddd has quit [Ping timeout: 258 seconds]
gravicappa has joined #forth
_whitelogger has joined #forth
dys has quit [Ping timeout: 260 seconds]
proteus-guy has quit [Ping timeout: 240 seconds]
merkc0 has quit [Ping timeout: 260 seconds]
proteus-guy has joined #forth
dave0 has joined #forth
WickedShell has quit [Remote host closed the connection]
merkc0 has joined #forth
Vedran has quit [Quit: The Lounge - https://thelounge.github.io]
Vedran has joined #forth
<veltas> Too early for a Scotch, too late for a coffee
<rdrop-exit> it's never too late for coffee c[]
<rdrop-exit> (@_@)c[]
<veltas> Just reading backlog about tabemann's multi tasking forth
<veltas> Sounds good I am considering adding that too
<veltas> But will add it later if I do
<rdrop-exit> Multitasking is nice but sometimes overkill
reepca` has joined #forth
reepca has quit [Read error: Connection reset by peer]
<rdrop-exit> it's best as an option that can be built into the Forth only if the application requires it
<rdrop-exit> (or I should say justifies it)
<rdrop-exit> A lot of simple apps can get by with just a loop and splitting things up into chunk-of-work words, or sometimes using coroutines to interleave work.
<veltas> Well right now my forth is capable of handling interrupts, but not with quite as much flexibility as a full task
<veltas> i.e they share the same stack etc
proteus-guy has quit [Ping timeout: 260 seconds]
<rdrop-exit> which is how it should be, interrupt handlers need to stay streamlined
xek has joined #forth
<merkc0> veltas: on what platform/device does your forth run ?
<veltas> ZX Spectrum
<merkc0> can it run in an emulator? https://fms.komkon.org/Speccy/
<veltas> Yes
<veltas> I will probably release a first development version when I've written the input handling and interpreter
<veltas> Which is what I've needed to do for a while, just been distracted with other stuff
<veltas> And I will probably release the source too when I do that, so everyone can be horrified
jedb has quit [Ping timeout: 260 seconds]
jedb has joined #forth
<rdrop-exit> Was the ZX Spectrum your first computer?
<veltas> No
<rdrop-exit> ok
<veltas> I didn't have one in the 80s, I'm twenty-something
<veltas> I can't even remember how I ended up playing with it
<veltas> I got a bunch of them on eBay back before they were worth a stupid amount
<rdrop-exit> cool
<veltas> I think it's because I knew that it would be very simple and basic, and I wanted a challenge to understand programming, computers, bloat etc better
<veltas> Forth is part of that journey of learning about alternative ways of programming, reducing bloat, etc.
<rdrop-exit> excellent
<veltas> I wrote a text UI with a cursor etc on the spectrum with a variable width font
<veltas> And I optimised it properly in assembly
<veltas> And now sometimes I use a UI on a modern computer that literally runs slower than mine did
<veltas> And I will say "I could code this on a 3.5MHz 8-bit processor faster"
<rdrop-exit> sad isn't it
<veltas> :(
<veltas> It's why my main laptop is like 15+ years old
<veltas> If I write a desktop app I want to be sure it is actually running efficiently
<rdrop-exit> that's very counter-current for someone your age
<rdrop-exit> most programmers your age seem enamored with over-generalization and premature abstraction, hence can't deal with bloat.
<rdrop-exit> It's much harder to remove bloat after the fact than to not inject it in the first place.
merkc0 has quit [Ping timeout: 240 seconds]
<rdrop-exit> But not injecting it in the first place requires a different mindset.
* tp hugs his watercooled 12 core with 64GB ram, it's true love ...
<rdrop-exit> * averting my eyes
<tp> lol
dddddd has joined #forth
TCZ has joined #forth
iyzsong- has joined #forth
iyzsong has quit [Ping timeout: 240 seconds]
<veltas> rdrop-exit: I think part of why I am like this is because I'm naturally interested in history, and discovered that in many regards we haven't really 'advanced' at all
<veltas> So it was just pulling that thread
<tp> veltas, in fact we may have actually devolved
<veltas> In some respects, but there is no doubt that we are actually making progress overall
<veltas> Like e.g. space engineers at Boeing might not be going forwards, but SpaceX seem to be
<tp> Spacex is a inspiration for sure, they engineer my way, build something and see what breaks
<tp> boeing were working on their shuttle for a decade, 44 billion and it couldnt achieve the correct orbit because of a time sync problem ????
<veltas> tp: My way too, iteratively
<veltas> Yes they make many stupid assumptions, they draw a big plan in advance and say "we will do it like this" and then find engineers that will conform to what management said
<tp> yeah, thats the Forth way
<veltas> They don't realise that there are always engineers who will do that for money (like me), and that engineering comes first (in reality) when you do anything, even something simple.
<tp> thats kinda like the C way, read all the specs, write everything, test and debig
<veltas> Nah I do iterative programming in C too
<tp> sure, it's up to the programmer, but C is not nearly as well suited for iterative development as Forth
<rdrop-exit> it's not a C thing, it's library/API thing
<tp> sure it's a C thing
<rdrop-exit> the "write everything" is a library/API thing
<tp> oh yeah, I see that as additional disaster
<veltas> Forth lends to it better, but don't for a second suggest the principles of iterative programming shouldn't be applied everywhere in software
<tp> veltas, definitely, where practical
<veltas> Yes
<veltas> Wherever possible, I would say. Because people 'give up' too quickly trying to apply it
<veltas> Including myself
<tp> the fact that C is not interactive (talking small embedded here) means that it is nowhere as well suited to iterative design as Forth
<veltas> I think a good example of iterative success is UNIX, which was a continuous development on a solid minimal starting point. The first version of UNIX didn't have fork, exec, C programming, and many other things considered very integral to UNIX
<tp> I'm not qualified to comment on systems design like that
<veltas> Well the thing is a lot of people look at the success of UNIX, and they think all the success was down to stuff that was in the end result
<veltas> They don't realise they never could have gotten there starting from what most people now would consider fundamental to UNIX
<veltas> (And we know they couldn't because UNIX started following giving up on a project that was done that way, MULTICS or something like that)
<tp> heh, a lot of young people look at a pc and think bill gates invented them
<veltas> Well blame IBM for that lol
<tp> it's their youthful lack of history, quite understandably
<veltas> Lack of interest as well
<tp> yes, something I find amazing
<veltas> Ignorance can make as all look very stupid, but we need to keep it in perspective
<tp> but then I grew up in a house with no phone, no tv and one radio
<tp> which was a pretty average house in 1954
<rdrop-exit> The best way to build a large complex system is to evolve it from a small system that works.
<tp> we would listen to the radio for entertainment, it wasnt running all the time, only at certain important times such as the news
<tp> rdrop-exit, so true
<veltas> People talk about 'premature optimisation' but they should talk about 'premature features' and 'premature design'
<rdrop-exit> Kitchen-sink syndrome
<veltas> Anyway, I don't consider myself of particular virtue in this regard, but I am on my way hopefully
<tp> veltas, it just takes time thats all
<veltas> Time and many abandoned projects
<veltas> Some people are naturally quite good at iterative work, and they have gotten a lot more done than me
<tp> and taking a leaf out of the spacex book, dont *talk* about it *build* it, test it, fix the bugs etc
<veltas> Also they are probably more focused than me
<veltas> Yes you're right tp, let's get to work, you grab the stainless steel I'll get my hydrogen fuel
<veltas> It can only blow up in our faces right?
<tp> there is always someone better and someone worse, we all fit somewhere on the numberline
<rdrop-exit> There's a simple rule, adding a new feature, should not make an existing feature worse. Simple things should stay simple.
<veltas> rdrop-exit: Is that why you don't like CREATE ... DOES> ?
<tp> exactly and the most reliable and cheap part is the part that isnt there
<rdrop-exit> Sophistication should not come at the expense of the basics.
<rdrop-exit> veltas, yes I think it's counter-productive and leads to bad factoring
<rdrop-exit> You don't hide addresses in Forth
<tp> it's funny how spacex's spaceships are looking more and more like the pictures of the old scifi writers
<veltas> I am arrogant enough to not internally agree with you rdrop-exit, but maybe I will find out the hard way what you told me at some point
<tp> veltas, arrogance is a trap of youth, but at the same time it's hard to be humble when you're awesome
reepca` has quit [Read error: Connection reset by peer]
reepca` has joined #forth
xek has quit [Ping timeout: 240 seconds]
<veltas> I'm trying to say that I am humble really, but incapable of doing stuff "because I told you so", and I don't really understand rdrop-exit's rationale so far (and don't want to pester him asking him to explain it when he already tried multiple times)
proteus-guy has joined #forth
<veltas> It's my fault if I don't get it
<rdrop-exit> I think you will find that the visibility of addresses is a major factor of the Forth way of factoring (no pun intended)
<veltas> Hmm that actually makes a bit of sense
<rdrop-exit> create does> buries the address
<tp> visible addresses are vital to me
<rdrop-exit> Forth is predicated on the belief that leaky abstraction can be a good thing
<veltas> "leaky abstraction"?
<rdrop-exit> you may name something in Forth to make it more understandable and give it a convenient handle, but you don't hide anything
<rdrop-exit> nothing is opaque in Forth
<rdrop-exit> "this law claims that developers of reliable software must learn the abstraction's underlying details anyway"
<rdrop-exit> In Forth it is quite normal for the programmer to have an intimate understanding of his entire software stack
<rdrop-exit> as opposed to programmers weaned on libraries and APIs
<rdrop-exit> who just learn the abstractions and are lost when they start springing leaks
<veltas> Well, I've noticed people who spend a lot of time e.g. engineering Java, who are smart, end up learning a huge amount about the Java VM
<rdrop-exit> The map is not the territory -- Alfred Korzybski
<veltas> Hmm
<veltas> Home WiFi internet is a good example of a leaky abstraction
<rdrop-exit> over-reliance on abstraction gets you into trouble
<veltas> Because everyone seems to have it, it doesn't really 'work' for anyone, always have issues, people have no indication of what ever goes wrong
<veltas> The people who seem to be able to use WiFi are the ones that know to reset the router occasionally, who don't actually have any grip on how it works and probably wonder aloud why the router can't reset itself
<veltas> People can't recognise when e.g. the 'router' issue they have is actually an issue with the rubbish DNS that they were automatically assigned
<tp> veltas, people dont even know that theyre describing
<tp> what they call a 'router' is usually a modem/router/wifi POS in one, using a slow cheap mcu that can barely cope, utter junk
<veltas> I don't like IT crowd but there was a good joke I saw circulating about them convincing a bunch of people that the 'internet' was a black box with a flashing light
<rdrop-exit> a end user can't be expected to have a thorough understanding of technology, but more should be expected of a programmer
<rdrop-exit> That internet black box episode was hilarious, saw it on youtube
<tp> rdrop-exit, I find the problem with home networking gear is cheap junk, it usually lacks the horsepower required
<veltas> rdrop-exit: Yeah I agree, I'm not blaming someone who got internet to watch cat videos on facebook for not 'appreciating' the tech or something
<rdrop-exit> In the end all in life boils down to Sturgeon's Law
<tp> "ninety percent of everything is crap."
<rdrop-exit> yup :)
<rdrop-exit> still hilarious
<rdrop-exit> the part were the guys show it to her is great too
<rdrop-exit> bbiab, stay healthy guys
rdrop-exit has quit [Quit: Lost terminal]
<tp> cya!
<tp> veltas, so what vintage is your laptop ?
<veltas> It's a ThinkPad T42
<veltas> Which according to a random article was launched in 2004
<veltas> Apparantly they went for roughly $2500 new
<tp> yeah thinkpads are great
<veltas> Mine was probably less than that though, has less RAM etc. I picked it up for a modest discount of probably well under £50
<tp> I have a old x61s
<tp> I made this pc up in 2012 so it's already 8 years old
<veltas> "About the only area where the T42 truly struggles compared to modern laptops is in handling HD video; sadly, the Radeon 9600 has no video decode acceleration for H.264 content, so even standard YouTube content can feel a bit choppy, and forget about HD videos."
<veltas> Today I watch HD videos on here, even though the screen doesn't fit them, in mpv.
<veltas> Performance is fine but a little screen tearing
<veltas> They couldn't watch it in the YouTube flash player, don't get me started on the YouTube JS/HTML player lol
<veltas> YouTube's performance is total crap on my laptop so I watch videos in mpv and/or using youtube-dl, I don't watch a lot of youtube so this is fine.
<tp> yeah, I'm no YouTube fan myself
<veltas> This is in the article
<veltas> So my LCD has better contrast than a T410, not surprising
TCZ has quit [Quit: Leaving]
<veltas> I have a decent-ish desktop I use for media stuff, and it can't play 8K videos on YouTube. Like a proper graphics card, a Geforce 960 or something. mpv will play it fine
<tp> 8k!
<veltas> Yeah my media desktop is connected to a rubbish 4K TV
<tp> mt x61s has a crapy screen by todays standards but it's a decent design and 100% Linux friendly
<veltas> Very high latency, useless for playing racing games and a bunch of things but good for watching movies with my fiance, which is what it's for really
TCZ has joined #forth
<tp> i rarely use the lappie now, maybe a couple of times a week
<veltas> 8K youtube is a bit like 4K raw quality, because their bit rates are so low. It makes a big difference
<veltas> I'm 'away' right now so I am 100% using my laptop, all day. I have a work laptop as well which I only use 8am-4pm.
<tp> nice if it lasts all day on batteries
<veltas> Nah I don't use it on battery
<veltas> It would last 6-7 hours in the sun, because I just turn the backlight off
<tp> mine has the battery it came with about 2012 when I bought it
<tp> and that battery still has perhaps 1/2 life, really impressive
<veltas> These old LCD screens are a bit like an LCD calculator screen in the sun
<tp> a new battery would cost more than i paid for the laptop
<veltas> Not exactly kindle quality but usable with the right settings
<tp> yeah
<tp> I also bought a doc for mine, and they are outstanding, same size ad the lappie with every facility one might want
<tp> dock
<veltas> Serial?
<tp> everything
<tp> serial, parallel, usb, cd, charger
<tp> hdd drive
<veltas> Nice
<tp> I bought them secondhand, $100 each
<veltas> Floppy? (no jk but would be nice)
<tp> haha, no
remexre has quit [Ping timeout: 260 seconds]
iyzsong- has quit [Quit: ZNC 1.7.1 - https://znc.in]
<veltas> "On the stack, the cell containing the most significant part of a double-cell integer shall be above the cell containing the least significant part."
<veltas> Do people generally rely on this behaviour?
<veltas> I want to not do this because it would mean 32-bit integers would be in a weird mixed-endian form on the stack, and I might want to modify them by address...
<veltas> The other alternative is to use that weird order everywhere, but I don't think I want that
<veltas> Also my code is on my github now if people are interested, obviously it's not any more finished but have been asked multiple times about it https://github.com/Veltas/zenv
<tp> my Forth uses this format for doubles (64 bit)
<veltas> Yes but do you rely on that order or stick to more high-level stuff like D>S ?
<tp> dont have one
<veltas> Don't have... any use of doubles? Or don't have D>S ?
<tp> don't have D>S
<tp> oh I do use doubles when I use fixed point
<dave0> if you're going by the standard it even mentions that pushing a 0 turns an unsigned number into a double
<dave0> i'll try to find the page
<tp> it does
<tp> i was very confused when I first started using 'pictured numerical output' as it uses doubles also
<tp> I couldnt understand why it needed a 0 as well as the number i was printing
<veltas> Okay sounds like I can't change that at all then
<veltas> Hmm convention makes a bit more sense if you can just 0 to convert unsigned to a double
<veltas> Unfortunate consequences elsewhere though
<dave0> top of page 247 of forth-2012.. section D.3.2
<tp> veltas, where is your readme.md or readme.rst ? you're not going to leave people guessing what zenv is are you ?
<veltas> tp: there is a description on github
<veltas> I don't really care if people understand what it is because it's not anything right now
<veltas> tp: There you go, added a README
<tp> too late, it's obvious youre a *programmer* !
merkc0 has joined #forth
<veltas> oh god it shows does it? :-)
<tp> a bit :)
<tp> especially a readme.txt
<veltas> Well every git hosting thing likes to think it understands my markdown
<veltas> But I use stuff like pandoc markdown and it totally trashes it and people think they can click on it and have it work
<tp> git .... blergh
<veltas> And I start wondering why I even bother and don't just ASCII art it all
<tp> might as well!
<veltas> I'm assuming whatever you use would break my markdown as well
<tp> -.-.-,~ .
<tp> ) (
<tp> (_ -'
<tp> /(_)---`\
<tp> |_ |
<tp> The Forth Stack is doing ] |
<tp> my head in man ... | _,')
<tp> [_,-'_-'(
<tp> (_).-' \
<tp> / / \
<tp> well I use readme.rst on sourceforge and markdown on my Fossil scm
<veltas> Yes Fossil has its own markdown so would do the same crap to me https://www.fossil-scm.org/home/md_rules
<tp> ,ine is a bit messy as cruft does build up but I like it
<veltas> I would not mind if it provided a way to disable the preview per-file, or for a project
<veltas> SCM should have *nothing* to do with how I write my docs, and I hate that it does. It makes SCM feel like reddit.
<tp> I use a md2html converter that works with all the basic markdown that I use with fossil.
<veltas> pandoc's markdown is pretty good, but extremely bloated
<veltas> I use it at work for writing simpler technical documents
<tp> pandoc does convert everything to everything tho
<veltas> Every issue with pandoc markdown is to do with the intermediate language it turns source input into
<tp> but I just use a 8.7kB AWK file to convert md to html, nice and simple, meets my minimum standard for readable doc
<veltas> So this is not a 'good' thing unless you happen to want one of the other things it outputs
<tp> sure
<veltas> It is bad at everything it generates except HTML, as far as I can tell, and there are better 'simple' HTML converters (including rich text clipboard features of your browser and everyone's favourite WYSIWYG crap)
<veltas> Like pandoc -> .docx exists and is worse than pandoc -> HTML -> copy+paste into word
<tp> every project of mine autocreates a bunch of files, one of which is a readme.md that fossil displays as it's home page, which is for my use. But I also use this as the source of my readme.html which is included in every project tarball I release
<tp> this file is done with the above method
Zarutian_HTC has quit [Ping timeout: 265 seconds]
merkc0 has quit [Ping timeout: 265 seconds]
TCZ has quit [Quit: Leaving]
Zarutian_HTC has joined #forth
<veltas> tp: That file seems to have an open <I> or something half way
<tp> oh ?
<tp> anything is possible
<veltas> I mean it all becomes italic
<tp> hmm not on mine, ill grab that one again
<tp> it looks ok on Dillo browser, but dillo has this to say
<tp> HTML warning: line 1, The required DOCTYPE declaration is missing. Handling as HTML4.
<tp> HTML warning: line 124, <em> is not allowed to contain <pre>. -- closing <em>.
<tp> HTML warning: line 123, Unexpected closing tag: </h3> -- expected </em>.
<tp> HTML warning: line 124, <h3> is not allowed to contain <pre>. -- closing <h3>.
<veltas> I don't mean to suck up to chromium but if a simple HTML page looks broken on chromium then it's probably worth fixing
<veltas> Sounds like <pre> is being generated when <code> should be
<tp> any error is worth fixing, thanks for pointing it out
<veltas> Or maybe there is an unclosed <em>
<veltas> More likely given what I saw
<tp> I'm about to look at the generated html
<tp> I dont use chromium
<tp> or chrome
<tp> why ? they have no ability to print to LPR
TCZ has joined #forth
<veltas> I just use chromium because it gives me the least broken web experience on my laptop and doesn't use a ton of RAM like firefox
<veltas> I'm old enough to remember when chromium had worse memory usage
<tp> yeah ll the browsers suck, but html sucks
<veltas> The web sucks
<veltas> I can't disagree
<tp> that's why I use dillo internally where I only have plain html
<tp> it's quite extraordinary, we can make microchips, put a man on the moon etc, but we still cant make a bugfree and fast browser
<veltas> "Project objectives ... The democratization of internet information access." lol no thanks
<veltas> Sounds like they want to invade my browser and start a 20 year war for 'oil' and have it last so long to see the price of the thing they ruined my browser for go negative
<tp> hah
<tp> found the problem, RCC_AHBENR it's the "_" which the md2html sed script interprets as a emphasis
dave0 has quit [Quit: dave's not here]
Zarutian_HTC has quit [Ping timeout: 256 seconds]
rpcope has quit [Ping timeout: 264 seconds]
merkc0 has joined #forth
<veltas> I rememeber the chrome beta being released, and they were so proud of how quickly they could render images in their browser with javascript, something which was highly slow and unoptimised in other browsers
<veltas> It's almost like javascipt was meant for simple interactivity and dynamic functionality on what is predominantly a rich article distribution format
<veltas> and not rendering graphics or massive API stacks that do nothing
Zarutian_HTC has joined #forth
benjamin-l has quit [Ping timeout: 240 seconds]
benjamin-l has joined #forth
TCZ is now known as TCZ12345
TCZ12345 is now known as TCZ
TCZ is now known as TCZ12345
TCZ12345 is now known as TCZ
TCZ has quit [Quit: Leaving]
* veltas goes to 'fix' his double stack order and realises D+ was big celldian already
jsoft has quit [Ping timeout: 265 seconds]
rpcope has joined #forth
<merkc0> how to supply the parsed word to another parsing word ?
<merkc0> "Several people have proposed the syntax
<merkc0> ]] foo bar boing [[
<merkc0> as a more readable alternative to
<merkc0> postpone foo postpone bar postpone boing" https://www.complang.tuwien.ac.at/anton/euroforth/ef98/ertl98
<merkc0> how to implement something like ]]
<veltas> postpone postpone maybe
<veltas> In a loop like the word I defined the other day
<merkc0> Using execute-parsing in a loop like you showed, works https://github.com/forthy42/gforth/blob/5e33536b6128177e5b9b9092667b12b9657fde18/compat/execute-parsing.fs . Can it be implemented without execute-parsing ?
<veltas> Probably yes
Vedran has quit [Quit: The Lounge - https://thelounge.github.io]
<veltas> Looks good
Vedran has joined #forth
<veltas> Is there a minimum number of blocks that can be cached at once?
<veltas> Other than 1
<veltas> In Forth 2012
xek has joined #forth
cox has joined #forth
cox is now known as mark4
merkc0 has quit [Ping timeout: 240 seconds]
jackdaniel has quit [Remote host closed the connection]
jackdaniel has joined #forth
mark4 has quit [Ping timeout: 260 seconds]
cox has joined #forth
cox has quit [Ping timeout: 240 seconds]
TCZ has joined #forth
mark4 has joined #forth
X-Scale` has joined #forth
X-Scale has quit [Ping timeout: 258 seconds]
X-Scale` is now known as X-Scale
xek_ has joined #forth
xek has quit [Ping timeout: 246 seconds]
cox_ has joined #forth
mark4 has quit [Ping timeout: 260 seconds]
cox_ has quit [Ping timeout: 260 seconds]
cox has joined #forth
cox has quit [Ping timeout: 260 seconds]
cox has joined #forth
cox has quit [Ping timeout: 260 seconds]
TCZ has quit [Quit: Leaving]
cox has joined #forth
MrMobius has quit [Ping timeout: 256 seconds]
gravicappa has quit [Ping timeout: 264 seconds]
dave0 has joined #forth
cox_ has joined #forth
cox has quit [Ping timeout: 246 seconds]
<veltas> tp: Yep looks fixed
<tp> veltas I found a Perl md2html converter, much nicer, has doc and copyright
<tp> there are tons of md2html converters about to choose from anyway :)
cox_ has quit [Ping timeout: 244 seconds]