2023-12-02 01:14:47 veltas: http://forth.works/temp/AOC202301.txt is my day 1 of advent of code. As with most years, I'll probably do a few more, but definitely not all of them. 2023-12-02 03:14:56 Same 2023-12-02 03:15:43 Very nice clean solution crc 2023-12-02 07:01:16 http://0x0.st/Hxpj.forth 2023-12-02 07:01:22 Day 1, part 1 2023-12-02 07:29:34 user51: Awesome 2023-12-02 07:45:18 MORE 2023-12-02 07:46:12 Day 2 can mostly be done with built-in Forth parsing 2023-12-02 07:46:27 I was working on it but taking a break 2023-12-02 07:47:17 veltas: This won't run, but maybe it's the right direction http://0x0.st/Hxpl.forth 2023-12-02 07:48:21 Yeah looks sensible 2023-12-02 07:48:44 It's going in right direction yeah 2023-12-02 07:48:53 A few small things are needed 2023-12-02 07:49:06 A less tired programmer :P 2023-12-02 07:49:33 This is my day 2 part 1 (don't look yet :P ) https://github.com/Veltas/aoc23/blob/main/2-1.4th 2023-12-02 07:49:38 Not that you'll learn anything from it 2023-12-02 07:50:07 I certainly don't bother staying up to compete on the leaderboards, and if I tried that I'd use C probably 2023-12-02 07:50:19 I don't think I'd get on leaderboards without chatgpt for most of them this year 2023-12-02 07:53:36 First submission was in like 20 seconds this year so sounds like people are using AI :) 2023-12-02 07:54:15 They get coal for christmas 2023-12-02 09:30:02 It doesn't sound like something I'd enjoy using ChatGPT for. 2023-12-02 09:30:19 I've never tried it - the last thing I am as a programmer is 'fast." 2023-12-02 09:33:18 Also, I've always felt the tendency organizations have for "hero-ing" programmers solely because they produce code quickly is a little misguided. At least when that speed comes at the expense of careful planning. 2023-12-02 09:43:37 "it compiles! ship it!" 2023-12-02 10:04:31 :-) Exactly. 2023-12-02 10:05:35 One thing that bothers me a good bit is that no one even seems to "expect or try for" "fully bug free" anymore. As in, bugs are not regarded as "exceptional situations." They're regarded as the norm, and we have whole systems built for tracking them and imposing workflows on them and so on. 2023-12-02 10:05:51 The idea that software products will generally always be less than perfect is INSTITUTIONALIZED. 2023-12-02 10:06:15 that says to me that we made one or more missteps over the years. 2023-12-02 10:06:31 I think it cuts all the way down to the complexity of the underlying microprocessors. 2023-12-02 10:06:56 They're too complex for single-brain understanding, and if you don't understand the thing you're coding for how can you keep all bugs out? 2023-12-02 10:06:56 hence why I like simple processors 2023-12-02 10:07:01 Yes. 2023-12-02 10:07:04 Me too. 2023-12-02 10:07:45 I rather program an GA144 chip than x86 2023-12-02 10:08:24 it seems bad if people arent trying their best to reduce bugs but I do agree with them that there are always bugs and you wont get rid of all of them. the rate at which bugs creep in is astonishing. I think it's a big mistake to think you did anything of any size and it's more or less perfect but I understand the temptation 2023-12-02 10:08:25 I feel like if I were in charge of a software team and I told them we would not ship until we reached "zero known bugs" they'd think I was being unreasonable. 2023-12-02 10:08:35 recently I been programming for 65C02 made by Western Design Center 2023-12-02 10:08:43 I actually had a subordinate look me right in the eye once and tell me "there's on way to make it 100% perfect." 2023-12-02 10:08:51 I was kind of stunned. 2023-12-02 10:08:58 I agree with the subordinate 2023-12-02 10:09:15 there is but the requirements and such must be frozen 2023-12-02 10:09:17 Well, I didn't at the time, but like I said, the problem may run deeper than what he could address. 2023-12-02 10:09:25 But SOMEWHERE along the way we fouled up. 2023-12-02 10:09:47 Zarutian_iPad: 65C02 is pretty cool. what have you been doing? 2023-12-02 10:10:24 If it's not possible to make software 100% perfect (in some "broad average" sense), then we did something wrong by creating such a situation. 2023-12-02 10:10:27  MrMobius: writing a graphics routine for CommanderX16 2023-12-02 10:11:18 Zarutian_iPad: By perfect I didn't mean "ideal design" - I just meant "bug free." I agree you have to settle your requirements at some point. 2023-12-02 10:11:24 basically adding rounded corners to the rect drawing routine 2023-12-02 10:11:27 Zarutian_iPad: nice! doesnt that use an fpga with registers mapped to memory? 2023-12-02 10:12:08 I know they looked at that before but not sure what they eventually went with 2023-12-02 10:12:13 MrMobius: you mean the VERA board in the cx16? 2023-12-02 10:12:19 ya I think VERA was it 2023-12-02 10:12:48 Cosmic rays and so on aside, there is nothing fuzzy about what a digital circuit like a microprocessor does. It does a precisely controlled sequence of actions. We should be able to know whether the sequence of actions we've prescribed does what we want, in all cases, or not. 2023-12-02 10:13:24 And if we can't know that, then we're dealing with too much complexity. 2023-12-02 10:13:28 it is just a variant of what SNES or Genesis used so mot that hard to program in that sense 2023-12-02 10:13:43 not* 2023-12-02 10:14:28 MrMobius: the issue at hand that day was whether or not a piece of real-time software guaranteed that it could meet its timing requirements. 2023-12-02 10:14:38 but it does have a 320x240 pixels 256 colour mode that acts like a frame buffer 2023-12-02 10:14:48 You have to understand - when I learned to do that kind of programming you could just count up cycles and if N < M, it was going to work. 2023-12-02 10:15:21 If you allow interrupts during that time window, then the counting is harder, but you could still do IT> 2023-12-02 10:15:24 Just more things to check. 2023-12-02 10:16:02 That's always been my definition of what "real time proramming" IS - you program in a way that lets you GUARANTEE timing requirements are met. 2023-12-02 10:16:20 You don't use toolschains that undermine that ability, etc. 2023-12-02 10:16:37 that is what I have heard called "hard real time" 2023-12-02 10:16:44 Ok. 2023-12-02 10:17:07 Then I hardly see the value in "soft real time," but... :-) 2023-12-02 10:17:19 I suppose your application might make an occasional (rare) failure acceptable. 2023-12-02 10:17:39 soft realtime is like buffered audio and such 2023-12-02 10:18:13 The problem in that situation, in my opinion, is that by the time I even showed up at the place that'd decided they wanted to use a "framework' that let you design state machines and it would generate the C code to implement them. 2023-12-02 10:18:16 where you can have some slack due to buffers but your latency goes up 2023-12-02 10:18:19 It was called "Quantum Framework.' 2023-12-02 10:18:31 And it did not make any real time promises about its generated code. 2023-12-02 10:18:45 So they were trying to write a real-time application using non-realtime tools. 2023-12-02 10:18:59 And they figured they'd just let the error recovery prop the thing up. 2023-12-02 10:19:33 So I always felt like they'd shot themselves in the foot when they made one of their very first decisions - tool selection. 2023-12-02 10:19:59 They had previously used this tool in seismic applications, but only in the 200 Hz parts of things, where things were quite slow. 2023-12-02 10:20:18 and they were trying to write the protocol software for a 5 GHz radio mesh network system. 2023-12-02 10:20:26 much tighter timing. 2023-12-02 10:21:18 Even if they'd "gotten away" with using that framework in the slow cases, that didn't mean it was acceptable for the fast ones. 2023-12-02 10:22:29 And I get it that caches and so on have introduced timing uncertainty. 2023-12-02 10:23:10 So maybe you replace a rigorouS N I know garbage collection is not generally used in small embedded systems especially for real time, but I was wondering if there are any systems that offer you certain guarantees where you automatically lose 50% of your cycles for garbage collecting for example so the garbage collector is constantly doing as much as it can preemptively then you follow certain rules with the remaining 50% that runs your code 2023-12-02 10:23:18 But it should be a quantified thing that can then be verified. 2023-12-02 10:23:34 then you are guaranteed certain things like max possible time for real time 2023-12-02 10:23:52 Right - if you're designing for real time you should certainly have something that worked that way. 2023-12-02 10:23:54 so slower than not garbage collected but you get guarantees you can work off that may be sufficient for certain real time things 2023-12-02 10:24:16 In any case, it should never be a "do your best / cross your fingers and hope" thing. 2023-12-02 10:24:22 right 2023-12-02 10:24:28 or it hasnt crashed yet so probably fine 2023-12-02 10:24:36 cache hit and miss rates can be quantified, etc. 2023-12-02 10:25:37 That product even had a dedicated processor for the radio management. 2023-12-02 10:26:03 We used a "main processor" for the bulk of the acoustic stuff, and then there was a little ATMega processor sitting off to the side that was intended to handle the radio. 2023-12-02 10:26:16 That would have meant those calculations were simpler and more isolated. 2023-12-02 10:28:55 The goal there was to set up mesh networks consisting of tens of thousands of recorder units. They were struggling to get 300 to come up. 2023-12-02 10:29:26 And what's worse, when I first got there the design they were pouring time into wouldn't even have passed FCC testing. 2023-12-02 10:29:37 "It's a trial run - we'll fix it later." 2023-12-02 10:30:19 I wasn't able to rip out that Quantum Framework - it was too entrenched. But at least I got them to move immediately to an FCC compliant protocol, so that when we did get it to work we'd at least have something we could sell. 2023-12-02 10:30:50 Initially the units were sticking on a single radio channel for too long. 2023-12-02 10:31:00 FCC requires frequency hopping at some minimum rate. 2023-12-02 10:32:15 I left there in March 2012. Went to the little company that became part of IBM, so "where I am now." A few months ago I got an email that pretty much announced the final failure of that company. 2023-12-02 10:32:43 There major financial support, an outfit called Energy Ventures, had divested itself of all holdings in the company for $1. 2023-12-02 10:32:52 Their 2023-12-02 10:46:46 re gc: one system I am quite familiar with does preemptive gc at the end of each event loop turn 2023-12-02 10:48:17 might be overkill but prevents embarrisingly long gc pauses due to accumulated trash 2023-12-02 10:48:42 Right. 2023-12-02 10:49:19 A lot of the changes they have to make to our ssds is to take something that was implemented in a "bang bang" kind of way and "spread it out" so it's gradual. 2023-12-02 10:49:28 There are quite a few "background processes" that run in that thing. 2023-12-02 13:32:54 Zarutian_iPad: #6502 is pretty active 2023-12-02 13:53:23 Someone on 4chan was doing advent of code in 6502 2023-12-02 18:07:32 Day 2 part 2 in Forth https://github.com/Veltas/aoc23/blob/main/2-2.4th 2023-12-02 18:24:19 sorry can't talk about forth right now. writing a forth in a forth so that i can generate more forths 2023-12-02 18:29:00 metaforth 2023-12-02 18:29:09 Stack overforth 2023-12-02 21:39:19 You know, I just had an idea. Whenever I've seen far out proposals for generation ships for colonizing other star systems, it's always been said that it would have to be a veritable city in space, for genetic diversity reasons. 2023-12-02 21:39:45 But it wouldn't. It could be a far more modest crew who carried big honking egg and sperm banks with them. They'd use that to keep the diversity up. 2023-12-02 21:39:58 And crew born along the way could "replenish it. 2023-12-02 21:40:14 You just need the availability of a populatoin of genetic material - you don't need them all "living" at the same time. 2023-12-02 21:40:39 So it could be done with a far more modest crew. Just enough to handle the logistics of such an operation. 2023-12-02 21:41:02 And therefore a far smaller ship. It would still need to be big, no doubt, but not 'city size'. 2023-12-02 21:41:29 And if they kept their sperm sorted by sex chormosome, they could maintain the gender balance perfectly the whole trip. 2023-12-02 21:41:34 chromosome 2023-12-02 21:42:49 I'm sure there would be occasional "accidents" (i.e., circumstances where a pair of crew parented a child the old fashioned way), but as long as there wasn't too much of that, extended over generations, it wouldn't cause a problem. 2023-12-02 21:43:52 That would also greately reduce the amount of evolution that occurred during the journey - more chance that what landed on the target world was still "human." Which really doesn't matter, but it makes it more fun to think about. 2023-12-02 21:45:22 At any rate, I think it makes the idea of a generation ship more "thinkable" given our current technology. Right now we wouldn't know where to send one, but we might solve that problem in coming years. 2023-12-02 21:47:05 Ever hear of "Breakthrough Starshot"? It's an idea for using uber powerful lasers to accelerate little palm-size probes to other star systems - we could potentially get them to 25%-30% of the speed of light. Get recon back on other star systems in decades / centuries. 2023-12-02 21:49:33 getting info back might be tricky 2023-12-02 21:51:10 Yeah, I don't know how they plan to handle that, but they do have a plan. 2023-12-02 21:51:30 In certain quiet frequency bands space radio is pretty remarkable. 2023-12-02 21:52:13 But it opens the door to a plan. Breakthrough Starshot to assess possible destinations, and then a manageable way to mount a voyage when we found promising candidates. 2023-12-02 21:52:56 Obviously nothing we're going to see in our lifetimes, but it does offer a way for making a go at spreading out that we could pursue in the coming thousands of years. 2023-12-02 21:53:47 And interestingly, the way that stars different distances from the galaxy center orbit at different speeds, we could continously colonize more "now local" stars, and over a hundred million years or so we could colonize the whole galaxy. 2023-12-02 21:54:05 Without ever having to "target" the furthest stars. 2023-12-02 21:55:53 The we could set up regular "update broadcases" all around the grid of colonized worlds, so everyone would be kept up with what was going on "elsewhere." Or at least what had been going on one communication hop ago. 2023-12-02 21:56:18 No world would really "matter" to any other world, but I imagine we'd be curious to know how things were going. 2023-12-02 21:56:45 Maybe then the ones who wound up screwing the pooch could be lessons to the others. 2023-12-02 21:57:07 "They tried that over there and it didn't go well - let's not do that.' 2023-12-02 21:57:34 Although we don't seem to show that kind of wisdom here on our one planet currently - always wanting to re-try the same sad failed systems of government over again. 2023-12-02 22:02:56 KipIngram> But it wouldn't. It could be a far more modest crew who carried big honking egg and sperm banks 2023-12-02 22:03:14 this was the idea in interstellar 2023-12-02 22:13:46 Was it? I'm afraid I didn't get much out of Interstellar. I thought it was about saving Earth from some catastrophe. 2023-12-02 22:14:15 And I'm afraid it just got too weird for me. 2023-12-02 22:15:54 Anyway, the idea just turned "generation ship" from something that seemed too pie in the sky to ever be feasible into something I thnk we could actually do in the not ridiculously far future. 2023-12-02 22:16:51 If we wanted to, and I think we should want to. As long as we're "one world' we're living on borrowed time. 2023-12-02 22:23:37 " I thought it was about saving Earth from some catastrophe." it was about humanity escaping a dying earth, which is exactly what you seem to be describing 2023-12-02 22:26:17 that's what the plot was, anyway. what the movie was actually about was probably something more abstract. time passing you by, the significance of parenthood, i don't know i'm not a film student 2023-12-02 22:31:20 anyway, more immediate threats face us. like washington dc 2023-12-02 22:42:06 Ok. I just didn't follow it very well. I thought he came back home at the end and found his daughter old from his time dilation shenanigans. 2023-12-02 22:42:24 Honestly it struck me as them trying to pack as many of the weird science tropes as possible into it. 2023-12-02 22:42:29 I didn't get much out of it. 2023-12-02 22:42:40 I was much more impressed with The Martian. 2023-12-02 22:43:47 Also, I'm not thinking of this as something we should do because Earth is dying. Obviously it will eventually, hence the "borrowed time" thing - but I think it's something we should do just because we can. 2023-12-02 22:44:03 And then they should do it, and the next they and the next they - multiple times over to get a geometric explosion. 2023-12-02 22:44:11 Fill the galaxy. 2023-12-02 22:44:58 Then there would not longer be any such thing as an "extinction event." Humanity would be here to stay, for the long haul. 2023-12-02 22:45:31 I just find that idea pleasing. 2023-12-02 22:46:30 I like imagining a man not too different from me, a hundred thousand years from now, pointing up at a little yellow star in the sky and telling his daughter "That's where we first came to be."