mark4 changed the topic of #forth to: Forth Programming | do drop >in | logged by clog at http://bit.ly/91toWN backup at http://forthworks.com/forth/irc-logs/ | If you have two (or more) stacks and speak RPN then you're welcome here! | https://github.com/mark4th
lispmacs[work] has quit [Remote host closed the connection]
dave0 has joined #forth
<dave0> maw
<remexre> howdy
<KipIngram> Evening.
<tabemann> hey
boru` has joined #forth
boru has quit [Disconnected by services]
boru` is now known as boru
dave0 has quit [Quit: dave's not here]
sts-q has quit [Ping timeout: 252 seconds]
sts-q has joined #forth
<lispmacs> wam
dave0 has joined #forth
<dave0> maw
<lispmacs> wam
proteus-guy has quit [Ping timeout: 240 seconds]
proteus-guy has joined #forth
Kumool has joined #forth
gravicappa has joined #forth
gravicappa has quit [Ping timeout: 240 seconds]
gravicappa has joined #forth
f-a has joined #forth
dave0 has quit [Ping timeout: 245 seconds]
dave0 has joined #forth
Zarutian_HTC has quit [Read error: Connection reset by peer]
Zarutian_HTC has joined #forth
f-a has quit [Quit: leaving]
tech_exorcist has joined #forth
lispmacs` has joined #forth
f-a has joined #forth
lispmacs` has quit [Remote host closed the connection]
rixard has quit []
pbaille_ has joined #forth
dave0 has quit [Quit: dave's not here]
pbaille has quit [Ping timeout: 240 seconds]
f-a has quit [Ping timeout: 240 seconds]
f-a has joined #forth
actuallybatman has quit [Ping timeout: 240 seconds]
rixard has joined #forth
Zarutian_HTC has quit [Ping timeout: 240 seconds]
proteus-guy has quit [Ping timeout: 260 seconds]
proteus-guy has joined #forth
Keshl has quit [Ping timeout: 268 seconds]
Keshl has joined #forth
<KipIngram> Regarding yesterday's conversation, I'm sure it's more that the test team "no longer has the old hardware
<KipIngram> rather than "not wanting to test."
<KipIngram> They can't really keep hardware forever, I guess.
<KipIngram> But I see your point - they really SHOULD keep it until it's end of lifed.
<KipIngram> Something weird is up with my error recovery.
<KipIngram> I realized last night that the way I'd written it it wasn't preserving and restoring the stacks.
<KipIngram> But when I extend the moves to get them, then it crashes when it restores the return stack.
<KipIngram> And I can't figure out why - looking at the code the return stack shouldn't be involved at that point.
<KipIngram> Ok, cool - now that I slept it was obvious what I've overlooked - not it works.
<KipIngram> now
f-a has quit [Read error: Connection reset by peer]
f-a has joined #forth
<KipIngram> I will say, though, that in all this Forth work I've done clean error recovery is one of the most involved and delicate things I work on.
actuallybatman has joined #forth
<KipIngram> The wrinkle I just fixed today was caused by doing things in the wrong order.
<KipIngram> I'd been restoring RAM, recovering the stack pointer. But if the line with the error removes a bunch of stuff from the stack before hitting the error, then that caused me to recover the RAM with the stack pointer aimed into the stuff I just restored. Before I could get the stack pointer restored it overwrote stuff.
<KipIngram> So the solution was to restore the stack pointer first, then recover the RAM.
<KipIngram> Obvious on hindsight, but it's just easy to overlook some of these things.
<KipIngram> So I will tip my hat to you gents that are interested in "proving correctness." :-)
<KipIngram> A lot of the time you can just look at your code and know it's right. But sometimes it can be damn subtle, so getting a math quality assurance is a "good thing", tm.
<KipIngram> You know, I just noticed that this error recovery has an interesting application.
<KipIngram> If you have your system in some state, and you want to see what the effect of some bit of code would be without destroying that state, you can do the test code and then follow it with something like 1 ERR at the end of the same line.
<KipIngram> Force the system through error recovery - it will undo all of the actions of the line.
<KipIngram> But you would have gotten a chance to see what your test code did.
<KipIngram> It also occurs to me that my word FLUSH should re-snapshot the system after it writes the buffers out. Because otherwise error recovery would restore the system to believing the writes hadn't been done, and that's untrue.
pbaille_ has quit [Read error: No route to host]
pbaille has joined #forth
rtdos has joined #forth
proteanthread has joined #forth
bamberbiz has joined #forth
<KipIngram> So my total image size is up to just a hair under 16k now.
Zarutian_HTC has joined #forth
<MrMobius> this is for x86?
bamberbiz has quit [Ping timeout: 240 seconds]
bamberbiz has joined #forth
<KipIngram> Yes.
f-a has left #forth [#forth]
<KipIngram> I intend for it to be portable, and am making design decisions with an eye toward that, but x86 (64-bit) is the only way I've deployed it to date.
<KipIngram> There's supposed to be a layer of short machine code macros that I actually *write* the primitives with, and thought has gone into choosing those so that they're efficiently implementable in both x86 and ARM.
<KipIngram> So the primitives themselves (and of course all the : definitions) should be platform portable.
<KipIngram> At least that's the hope.
<KipIngram> I haven't adhered to that perfectly - a few times I was in a hurry and just stuck naked machine code into primitives.
<KipIngram> But it's not a whole lot and it shouldn't take me to long to find all those places and fix them.
<KipIngram> "too" long
<Zarutian_HTC> 2 long
<KipIngram> :-)
<KipIngram> That's how my daughters would write it, yep.
<KipIngram> They think that kind of thing is gr8.
<KipIngram> I can read teen text language, but I don't create it on the fly very readily.
<Zarutian_HTC> I have seen "two long ago" written without the l33t-5m0ji Cuniform pictograms
<KipIngram> It's sub-culture I've just never explored.
<KipIngram> I've nosed around hidden websites with TOR, and for about an evening I had Freenet on a computer once.
<KipIngram> But that stuff scared me and I shut it down.
<KipIngram> Especially freenet.
<KipIngram> That's a dark and vicious place.
<Zarutian_HTC> I use tor quite a bit. Damn handy for making sshd or such behind a nat accessible.
<KipIngram> Yes, tor is a really nice technology. But as far as doing what it was intended to do, well, I can just picture huge warehouses full of tor nodes under government monitoring.
<KipIngram> It wouldn't surprise me to learn that half or more of the network was compromised.
<Zarutian_HTC> and for checking airline ticket prices
<KipIngram> Right - it's good for "tier one" masking of your location.
<KipIngram> But I bet someone in the gov could find you without much trouble - I don't think it's fully successful in that regard.
<KipIngram> If they really wanted to, that is - might take them some work.
<KipIngram> Somewhere upstairs I've got a book on P2P technologies that walks through all those different things.
<KipIngram> I thought diaspora was a pretty neat idea - p2p facebook.
<KipIngram> But then the guy behind it suddenly turned up "suicided."
<Zarutian_HTC> for tier 3 one uses an email to web gateway, a mixnet, and a remailer that sends to alt.anonymous.messages or as sms payloads through iridium global paging channels
<KipIngram> I actually backed diaspora on kickstarter - got a t-shirt and everything.
<KipIngram> But it never took off.
<KipIngram> I also heard that there was a Canadian guy who had developed a distributed p2p file store system, and a "side benefit" of it was that it might have massively increased the public interest in tor. Being part of it meant yu were supporting tor.
<Zarutian_HTC> how userfriendly was diaspora supposed to be?
<KipIngram> But *that* guy got killed in a "wrong address police raid."
<KipIngram> Oh gosh, it's been a long time.
<KipIngram> Fairly, I think - most of the network discovery and handling was supposed to be under the hood.
<KipIngram> But it never got far enough along to really see.
<Zarutian_HTC> when facebook stopped showing the feed in reverse chronological order and started with the promoted bullshit I stopped using it
<Zarutian_HTC> the utility of fb was that I could check once a day on what folks I knew were publicly up to. I did not mind the interspesed ads.
bamberbiz has left #forth ["Leaving"]
<Zarutian_HTC> but it got so pushy that I elected to use a scraper against them but the dev behind it gave up
gravicappa has quit [Ping timeout: 268 seconds]
<KipIngram> Yes, me too.
<KipIngram> For a while you could manually set it back to reverse chronology, but they just kept on moving in on it.
<KipIngram> They mean for you to look at what THEY want you to look at.
<KipIngram> I don't need it.
<KipIngram> I regard them as one of our most wicked corporate entities.
<KipIngram> Hmmm.
<KipIngram> I don't have double numbers in my system. But nonetheless, when I do * the upper half of the product IS in rdx, and stays in rdx until I do something else later that needs that register.
<KipIngram> It would be easy for me to have a primitive that just pushed my TOS to the stack and moved rdx into my TOS cache.
<KipIngram> Long as I ran it immediately after * (more or less), then I'd have the full product on the stack.
<KipIngram> Another primitive to take the top to stack items and move them into an internal double representation would be equally simple.
<KipIngram> That seems worthwhile to me.
<KipIngram> UGH.
<KipIngram> Top *two* stack items. TWO.
<KipIngram> Stay tuned - by the end of the day I must be going to make every possible to/too/two mistake.
<KipIngram> I've noticed that I never foul up "sound alike" words when I'm writing an email. Email seems to activtate the "I'm writing" part of my brain, whereas IRC activates the "I'm talking" part, and evidently if it sounds right that part of my brain is happy.
<KipIngram> Any name suggestions for those words?
<KipIngram> I could do (int) and (long), I guess.
<KipIngram> (int) would push TOS and move the upper part to TOS; (long) would pop to rdx.
<KipIngram> Ok, that's done. But rdx doesn't survive across lines - there's enough code in there that rdx gets munged. So you do have to USE your long immediately after running (long) though.
<Zarutian_HTC> rdx? this is legacy x86?
<KipIngram> That's one of the 64-bit register names.
<KipIngram> I'm not sure what you mean by "legacy"?
<MrMobius> doing it that way might make it hard to use interrupts if you port to arm
<KipIngram> Doing what exactly?
<KipIngram> You're right - I have no idea how well that would port.
<KipIngram> It is exploiting what's really an idiosyncracy of the architecture as far as my Forth is concerned.
<Zarutian_HTC> KipIngram: before the wholesale isa restructuring that happened in 2025
<KipIngram> Probably better to have proper double words if I want them so the data is always part of the stack.
<KipIngram> Uh... did I fall through a time warp or something?
<KipIngram> 2025?
<Zarutian_HTC> shit, please disregard that, dont want another visit by the Time Service
<KipIngram> lmao
<KipIngram> I haven't really kept careful track of the x86/x64 instruction set.
<Zarutian_HTC> no, I just detest x86 and its needless convulatedness
<KipIngram> Ah, I see.
<Zarutian_HTC> riscv makes much more sense
<KipIngram> Well, I have no particular love for intel's instruction set either.
<KipIngram> They've tried to just keep cramming more into it for way too long - it was bound not to end well.
<Zarutian_HTC> but I think something like the Mill isa is quite better
<KipIngram> You talking about this?
<Zarutian_HTC> yeah, ibm 390 isa makes much more sense for software whose usefull life time is expected to be half a century or a decade more
<Zarutian_HTC> yepp
<KipIngram> Does anything actually run that?
<Zarutian_HTC> but intel lucked into that their 8088 cpu was used in the ibm pc
<Zarutian_HTC> ibm390 or mill?
<KipIngram> Yes, that was quite a boon for Intel.
<KipIngram> Mill
<Zarutian_HTC> not yet afaict but I do not expect to see widespread use of it until after a decade or such, if risc-v hasnt eaten their lunch in the interm
<Zarutian_HTC> oy, just recalled that I wanted to ask here: what are peeps opinions on logicsim evolution?
<KipIngram> That is an interesting outfit.
<Zarutian_HTC> what I like about the Mill is the concept of NotAResult "value"
<MrMobius> re Mill - looks like they have decimal floating point, so they get my vote
<KipIngram> I believe I decided somewhere along the way that for a given number of bits binary floating point has smaller round-off error.
<KipIngram> There's a really good document out there on all that...
<Zarutian_HTC> I choose to use algorithms that do no rely on floating point
<KipIngram> This one, I think:
<Zarutian_HTC> not all the isa and mcus I target got die or power budget for an fpu
<KipIngram> Yes - that's it; it's bookmarked in my browser.
<Zarutian_HTC> recently ish I started looking into doing dsp stuff via simple 7400 series devices operating on delta sigma encoding bitstreams
<Zarutian_HTC> I blame mitxela (look him up on youtube) for that
pbaille has quit [Remote host closed the connection]
pbaille has joined #forth
<KipIngram> delta sigma is really cool.
<KipIngram> I started my career with 7400 series stuff.
<KipIngram> Hah - he looks fun.
pbaille has quit [Ping timeout: 240 seconds]
<Zarutian_HTC> for instance to add two signals together use a quad input selector
pbaille has joined #forth
<Zarutian_HTC> the two select bits are driven by the two signals
<Zarutian_HTC> input 0 is tied to constant 0, input 3 is tied to constant 1, and inputs 1 and two are connected to an bitstream alternating as fast it can between 0 and 1 values
pbaille has quit [Ping timeout: 245 seconds]
<Zarutian_HTC> and I have not gotten further than that
tech_exorcist has quit [Ping timeout: 268 seconds]
joe9 has quit [Ping timeout: 240 seconds]
<KipIngram> I find that kind of stuff fascinating.
<KipIngram> We used delta sigma in the seismic sensors I worked on at my job just before this one.
<KipIngram> Delta sigma is of course completely technically "sound," but what you get from it has always felt a bit like black magic to me.
pbaille has joined #forth
<KipIngram> It wasn't too long after I started working that PAL device started to become common. We still used some 7400 series logic in most cases, but we'd use PASs rather than a fleet of discrete logic chips.
<KipIngram> At the time the 22V10 was considered a "luxry" - my boss would gripe at us if we used too many of them. He preferred the less expensive devices.
<KipIngram> Then a little further along AMD Mach devices and other things like that started to show up.
<KipIngram> But FPGA's weren't really a thing yet at the time - they came a little later.
<KipIngram> In fact, I had a sales guy that was trying to sell us parts at one job try to talk me into investing in this start-up called Xilinx.
<KipIngram> :-(
<KipIngram> I wish he'd been more convincing.
<MrMobius> KipIngram, ya you lose a lot of range with decimal but at least you eliminate the rounding errors from converting from base 10 which is useful for some things
<KipIngram> Yes, if you have a decimal number to begin with, then you can represent it accurately. But I think that doc I linked explains that the rounding error that results from calculations per operation is larger when using base 10 than base 2.
<KipIngram> I may be mis-remembering.
<KipIngram> But there's a lot of good stuff in that doc; I'll probably peruse it again, since I've got it in a tab now.
pbaille has quit [Ping timeout: 265 seconds]
<MrMobius> that would make sense for x bits of base 2 compared to x bits of base 10
proteanthread has quit [Ping timeout: 250 seconds]
rtdos has quit [Ping timeout: 250 seconds]
pbaille has joined #forth
pbaille has quit [Ping timeout: 246 seconds]
pbaille has joined #forth
<cmtptr> dude! i programmed 22v10s in college
<Zarutian_HTC> what are those? some sort of GateArrayLogic or ProgramableArrayLogic?
proteus-guy has quit [Ping timeout: 260 seconds]