2023-11-08 03:09:55 KipIngram: What if they don't like the options? 2023-11-08 03:12:30 Let's not exagerrate the effect of one vote, it's not having a voice in government, that's ideology. If anything it's a duty 2023-11-08 03:14:07 I consider it a 'duty' in a democracy, but I don't vote, because I don't like any of the options. It seems like all the options are against me and what I believe so I refuse to vote for them 2023-11-08 03:58:50 thrig: What gopher client do you use? 2023-11-08 05:55:04 ACTION is reading https://www.bitsaboutmoney.com/archive/seeing-like-a-bank/ and is astounded by how crappy the Customer Service Tiers the banks have. Ever heard of fricking Jira and its telephone integration? When handing over from Tier One to Tier Two you give Tier Two the ticket number. Same with Tier Three. And if thereis a callback to 2023-11-08 05:55:04 ACTION customer then an calender event gets added that will fire iff no one has called back. 2023-11-08 06:23:42 That's a totally fair point re: not liking the options. In this particular case, though the ballot items were a set of yes/no questions. Basicall a) a collection of proposed state constitution amendments and b) a set of bond issues. 2023-11-08 06:23:55 So it wasn't quite like normal elections with human candidates. 2023-11-08 06:25:00 I generally do not support bond issues - I regard that has grabbing benefits now and sending the bill downstream to our children. 2023-11-08 06:25:08 s/has/as/ 2023-11-08 06:26:30 Most of them were school district bond issues, and I look around at how the distric spends its money and don't think it's spent wisely. Super fancy buildings, bigger and bigger sports stadiums, etc. 2023-11-08 06:27:12 I don't think schools need to be fancy stunning architectural achievements - they need to be FUNCTIONAL. 2023-11-08 06:27:40 I don't mean that I think they should be cheap to the point of being ugly, but there's a very large middle ground there. 2023-11-08 06:29:19 And I'd prefer seeing the money spent on facilities to improve educational quality (like, say, lab facilities for science) rather than on creating more impressive sports spectacles. And on the salaries necessary to acquire high quality teachers. 2023-11-08 06:31:15 The local people, though, are more or less obsessed with American football. Often the distric wins the state championship, and they're quite full of themselves over it. 2023-11-08 06:32:12 I think high school sports are fine - properly run athletics programs can teach "life lessons" that are important. But I do regard them as a "sidebar" to a school's primary purpose. 2023-11-08 06:32:49 All too often, though, the "lesson" that gets delivered is "winning is all that matters." 2023-11-08 06:34:22 I do agree with you, though - in a standard election with people seeking office "I don't support any of them" is a totally valid position. 2023-11-08 06:34:49 In that context a non-vote is actually still a vote. 2023-11-08 06:36:50 Oh, there was one very interesting state amendment on the ballot. An amenndment to empower the state to prohibit one particular county from having a county treasurer. A *named* county - not a general county. Made me wonder what's going on - maybe there's corruption in that county and the state is looking for a way to intervene and end it. 2023-11-08 06:38:51 It's a coastal county that historically has been impacted a lot by hurricanes. Large amounts of emergency money has gone that direction. Maybe the county officials have their hands in the cash register. 2023-11-08 07:01:07 s/has/have/ 2023-11-08 07:01:11 KipIngram: or they are percieved as spend thrifts evrn though the money gets spent apropos 2023-11-08 07:01:43 Yeah, possibly. I felt a little bad that I didn't have any idea what was going on. I probably should pay better attention to my local events and issues. 2023-11-08 07:03:08 I just found it quite odd that the measure was targeted at that one county by name. Not a general expanstion of the power of the state government. No doubt to curry support from other parts of the state. 2023-11-08 07:03:56 Historically the Americans who first came to Texas were leaving behind situations that had made them rather negative toward government power, so they deliberately put their new state government on a pretty short leash. 2023-11-08 07:05:20 governments like all beurocrazies have an documented tendency to self bloat in power and scope 2023-11-08 07:05:31 They do, yes. 2023-11-08 07:06:23 Of course, when those people came here it was basically part of Mexico. We pretty much took it away from them later. :-| 2023-11-08 07:06:33 hence I take the unix view of governmental institutions: each should be small, have limited scope, but be very competent at what they do 2023-11-08 07:06:51 I agree, but it's pretty hard to find. 2023-11-08 07:07:59 it is pretty hard to arrange that such an institution does not get captured by special interest, be it big something, MAGAs or SJWs 2023-11-08 07:08:30 The U.S. didnt directly take it - the people here basically won independence first and then joined the U.S. And now it turns out that Texas is sitting on some truly enormous energy reserves. Back in the 1970's OPEC had us by the short and curlies, but now that they've figured out how to tap shale oil we're pretty much energy independent again. 2023-11-08 07:08:44 I think we still buy some outside energy, but we could get on without it if we needed to. 2023-11-08 07:19:59 What I really want to do with the C "emulator" is set things up so that I'm initially using C code to compile stuff into my image, but also be able to emulate the execution of that code and gradually shift the compilation job over to that Forth code. By the time the whole thing is in place, I'd like to not really be using the C anymore except for emulating the execution of primitives. 2023-11-08 07:21:30 So I think that even at the beginning the variables that the C code uses to keep up with things should be in the image, as Forth variables. The C will access them in a non-Forth way, but those variables need to be wheRE THE Forth can reach them as it begins to execute. 2023-11-08 07:22:03 I don't know what the hell is going on with my keyboard. It just seems to insert capital letters whereever it likes. :-( 2023-11-08 07:22:09 I solved that problem by writing a rather small "assembler" that allows me to implement enough of Forth to parse the rest 2023-11-08 07:22:25 but then again I started with eForth 2023-11-08 07:22:26 Yes, that's the basic idea I'm chasing. 2023-11-08 07:23:16 I made a small run at it a few weeks ago in Python, and at least found that it was pretty straightforward to write Python that "compiled" new words into my image. 2023-11-08 07:23:30 I didn't get far enough into, though, for any kind of "handoff" to begin. 2023-11-08 07:23:32 https://www.ultratechnology.com/meta.html 2023-11-08 07:23:57 I've enjoyed the ultratechnology stuff, GeDaMo. Lots of interest things in all that. 2023-11-08 07:24:20 Ah, that looks right on point; thank you. 2023-11-08 07:24:23 one thing I had going for this assembler is that I used js with promises and just three functions as the core "assembler" exposed to the assembly side: def(), dat() and org() 2023-11-08 07:25:07 I wrote a thing where I allocated a block of memory then all the "target" words compiled to that block 2023-11-08 07:25:20 oh and finish() that goes through the "image" and replaces resolved promises with their values 2023-11-08 07:25:25 The very first step in that Python was some Python code that added all of the vm instruction to the dictionary. 2023-11-08 07:25:27 The block then became the initial Forth on the target 2023-11-08 07:26:04 GeDaMo: Yes, I also plan to compile to blocks. 2023-11-08 07:26:11 Ultimately, at least. 2023-11-08 07:26:31 Certainly later on, when the system recompiles itself, it will do so into blocks. 2023-11-08 07:26:42 "block" in this case wasn't a traditional Forth block, just a chunk of memory 2023-11-08 07:27:02 Yeah. 2023-11-08 07:27:17 (def handles two cases, if the second argument is undefined then the symbol, the first argument, is assigned with the current address, otherwise the second argument) 2023-11-08 07:27:56 The thing that makes Python klunky for this is that you can't really address a block of Python data very flexibly. But in C I can cast a pointer into and get at it any way I like, with any data size, etc. 2023-11-08 07:28:49 The python declared a big array of integers that each represented 32 bits of RAM. Then I had to carefully build up 32-bit values to store into that array. 2023-11-08 07:29:08 I could ONLY access it that way, on those particular 32-bit boundaries. 2023-11-08 07:29:11 Cumbersome. 2023-11-08 07:29:19 Not a byte array? 2023-11-08 07:29:53 I went with a cell array. But any of those options would work - it just moves around where the friction is. 2023-11-08 07:33:48 In the C I'll probably declare it as a byte array, but as noted above I'll be able to access it using any size and alignment I want. 2023-11-08 07:35:19 The goal will be to be able to do the full system Forth development using this tool, and then what will be missing will be the actually virtual instruction implementation that will need to be in the machine code of my target platform. 2023-11-08 08:08:16 Holy cow. It's taking forever to just count how many rows I have in my main "raw data table" in my work MySQL database. 2023-11-08 08:08:26 My disk is almost full - I need to recover some space this morning. 2023-11-08 08:08:46 There's data in there going all the way back to 2015 - at least some of that I can be pretty sure I'll never need. 2023-11-08 08:09:09 Plus there's a different table that contains some summary statistics - I'll keep that. 2023-11-08 09:54:58 http://tumbleforth.hardcoded.net/ 2023-11-08 09:55:47 Wasn't a fan and wouldn't recommend to new people 2023-11-08 09:56:04 Because it seems to encourage writing a forth before writing forth, and that's a bad idea IMO 2023-11-08 09:56:34 there definitely seem to be more forths than programs written in forth 2023-11-08 09:56:53 I think it's mainly about bootstrapping from (almost) nothing 2023-11-08 09:58:43 http://tumbleforth.hardcoded.net/01-duskcc/08-immediate.html#:~:text=Now%2C%20as%20you%20read%20Leo 2023-11-08 10:07:12 there's a lot more people interested in forth-as-an-idea rather than forth-as-a-tool 2023-11-08 10:10:18 I've been guilty of contributing to that. Writing Forths more than writing with Forth, I mean. 2023-11-08 10:10:25 I've done better the last few years, though. 2023-11-08 10:10:44 Well, it's such a *beautiful* idea. 2023-11-08 10:10:56 Yeah the number of total rewrites per annum is down :P 2023-11-08 10:11:23 I always go into new efforts hoping that that will be "the last one." :-) 2023-11-08 10:11:30 Guys if you think that's bad then please write forth code, publish it, or do forth projects and tell us about them. 2023-11-08 10:11:41 If you're out of ideas do advent of code in forth in december 2023-11-08 10:12:37 I'll probably try and do some of those again 2023-11-08 10:16:22 I'll do at least a few 2023-11-08 10:16:23 The whole point of this C tool, though, is to position me to write as much of this next system as possible in Forth from the outset. 2023-11-08 10:21:21 And since it's based on this vm approach, I'm hoping that part of the system will then follow me around across all future platforms. 2023-11-08 10:29:33 I like the vm approach to portability :) 2023-11-08 10:30:30 Yes, I'd historically ruled it out because I just assumed it would have poor performance. But the more I think about the specifics of this plan the more I think it may not - in fact it's remotely possible that it might perform *better* than my previous system. 2023-11-08 10:30:43 Not by any huge factor or anything, but by an "increment." 2023-11-08 10:31:08 At any rate I feel pretty sure it's going to perform "well enough.' 2023-11-08 10:35:26 If your interpreter only has a small amount of machine code, it's more likely to be in the instruction cache 2023-11-08 10:36:08 Right. At least that would be the case in a simple system. Running under an OS there's no telling what else the os is doing that might affect your cache. 2023-11-08 10:36:28 But yes - caches are big enough these days that entire Forth systems could fit in them. 2023-11-08 10:37:08 GeDaMo: assuming your thing is running on an cpu that has instruction cache 2023-11-08 10:38:01 :-) 2023-11-08 10:42:41 If you're on a CPU with separate L1 instruction and data caches, it's best to separate headers, machine code, threaded code and data at the cache line level 2023-11-08 10:43:59 Yes. This system will separate out like that. 2023-11-08 10:44:11 The machine code will be a small solid block, pointed into by a jump table. 2023-11-08 10:44:36 And the vm code will be by itself too, pointed into by headers somewhere else. 2023-11-08 10:45:19 In my current system I didn't get it quite right - my headers p oint into my "bodies," but the definitions in the bodies point back at the headers of component words. 2023-11-08 10:45:43 That won't be the case this time - it'll be possible in principle to completely throw away headers if I don't need them anymore. 2023-11-08 10:46:03 And each vocabulary will have its headers in its own distinct RAM region, so it will be easy to do just that if I choose to. 2023-11-08 11:13:24 KipIngram: re C vs Python, you can get raw bytes and even pass them to a C function you import using ctypes 2023-11-08 11:16:52 Why would anyone compare GC lang with non-GC lang... 2023-11-08 11:27:32 I don't think GC is the big deal breaker for Python 2023-11-08 11:27:35 Hm no argument to gforth to shut up warnings? 2023-11-08 11:27:39 Maybe they're sent to stderr 2023-11-08 11:27:41 warnings off 2023-11-08 11:27:55 Yea 2023-11-08 11:27:57 Oh 2023-11-08 11:27:58 Kewl 2023-11-08 11:28:00 thanks 2023-11-08 11:28:23 Setup for gforth deserves a blog post too olle, if you're looking for ideas 2023-11-08 11:28:30 :)) 2023-11-08 11:28:45 Including stuff like building latest snapshot, turning warnings off, turning that annoying status bar off 2023-11-08 11:28:53 Mm 2023-11-08 11:28:55 No time right now 2023-11-08 11:28:58 You might like status bar but if you don't I think you can remove with -status or something 2023-11-08 11:28:59 But sounds good 2023-11-08 11:30:54 So looks like this vm calls for 14 registers. I don't think I've left anything out, but... gotta stare at it a while. 2023-11-08 11:31:27 Are you going to do this VM incrementally? 2023-11-08 11:31:35 Start with less features and slowly add more? 2023-11-08 11:32:03 Well, I guess I'll implement things in some order. But register map is something I need to be pretty sure of at the outset. 2023-11-08 11:32:18 Don't want to realize after a ton of work that I don't have enough. 2023-11-08 11:33:47 I think the best model is design as much as you can in good detail and then come up with an incremental plan 2023-11-08 11:34:45 I agree with that. 2023-11-08 11:35:13 I always try to have a pretty good "wholistic view" of my architecture before I start writing it, and yes - it's great if you can make bits work one at a time. 2023-11-08 11:36:13 Last go round the first thing I ran was just a build that started up and immediately quit. Then shortly later did the same thing, but from a colon definition, which confirmed docol. And so on. 2023-11-08 11:36:55 When something didn't work, I'd move a quit call through it until I segfaulted instead of clean quitting. Descend and repeat as necessary until I found the issue. 2023-11-08 12:04:24 KipIngram: with the ctypes I mentioned above, you get the big block of bytes I was mentioning before and can load larger types from a byte address 2023-11-08 12:05:01 you get all the C behavior too like wrapping and can access into the array with regular Python array indexing 2023-11-08 12:07:09 so you can just do all your processing in Python if you like since your addressing and arithmetic work the same even if you don't want to write a C function you pass the data to from Python 2023-11-08 15:59:23 Ugh. I just hit enter on a "delete records" MySQL query that should drop the oldest 10% or so of my biggest table. 2023-11-08 15:59:52 hopefully in a transaction 2023-11-08 15:59:52 No telling how long it will take and I'll be nervous the whole time, until it's done and I check a bit to make sure all the newer stuff is still there. 2023-11-08 16:00:21 Yes, I do think it doesn't commit until it's sure. 2023-11-08 16:00:44 And I checked it several ways to make sure it consistently looked like the right thing to do. 2023-11-08 16:01:11 transaction is usually safer, so you can either go commit or rollback afterwards 2023-11-08 16:02:25 See, this is why I think there should be specialists tending to this kind of thing. We shouldn't all have to be database experts. 2023-11-08 16:02:54 Honestly it bugs me that I have to concern myself with full storage at all - someone should be monitoring our infrastructure and just dealing with those things as they come up. 2023-11-08 16:03:02 full stack, baby! 2023-11-08 16:03:48 It's also unnerving to have absolutely no progress indicator. 2023-11-08 16:04:16 or maybe your workplace could have the DBAs have a little course on "school of hard sql knocks" 2023-11-08 16:05:50 I'm thinking from an efficiency perspective. Wouldn't it make more sense to have a team of experts handling everyone's infrastructure needs rather than having everyone need to learn it, regardless of what their own job is? 2023-11-08 16:06:18 Those specialists would be much more likely to have true expertise on the stuff. 2023-11-08 16:06:49 anyway, in a big company like this it seems reasonable to think about having such "service groups." 2023-11-08 16:07:01 have you read "Deschooling Society" by Ivan Illich 2023-11-08 16:09:22 No. 2023-11-08 16:23:56 thrig: This isn't some complicated deletion that deals with a bunch of tables that interlock in a complex way. It's a very simple database. 2023-11-08 16:24:13 There is a "job table," small, one row per job and mostly just associates a job name with a job id. 2023-11-08 16:24:45 Then there is a bundle table, mid-size, that associates a set of data bundles with a job. It gives each bundle an id and tags it with its job number> 2023-11-08 16:25:09 And finally there's a data table - short three-element rows; bundle, independent, dependent. It holds the actual data that makes up a bundle. 2023-11-08 16:25:18 All I'm doing is deleting from that last table. 2023-11-08 16:25:41 So I'll still have the bundles for the old stuff, and there are some averages and stuff computed from the data stored there. 2023-11-08 16:26:06 I will just no longer have the underlying data DETAILS (per second bandwidths, latencies, etc. and latency histogram bin counts). 2023-11-08 16:26:24 my only real fear here is of inadvertently deleting data newer than I meant to. 2023-11-08 16:26:53 And I'm pretty sure I didn't do that - I asked it for the maximum job number on the bundles up through a certain number, and that came back 107. 2023-11-08 16:26:58 My recent jobs are up around 3000. 2023-11-08 16:27:04 if you've checked, twice, in advance you're probably okay but then again... 2023-11-08 16:27:33 Then I just said "delete from data where bundle so it's about as simple as it gets. 2023-11-08 16:28:39 It's just taking forever - going on half an hour now. But i thik we're talking about several hundred million of those little three element rows being deleted. 2023-11-08 16:28:50 I counted earlier and I've got about 6.5 billion of them total. 2023-11-08 16:29:20 Just counting them took half an hour itself. 2023-11-08 16:32:22 I access this database by job number, and drill down to the underlying stuff. And I know for a fact it's been years and years since I used job # 107 or less. 2023-11-08 16:32:36 But you watch - tomorrow there will be some field situation with old equipment. :-) 2023-11-08 16:38:19 no good deed goes unpunished 2023-11-08 17:17:44 Does >r moves or copies? 2023-11-08 17:18:04 Hm looks like moves 2023-11-08 17:18:19 "to r" 2023-11-08 17:18:36 meanwhile MOV in assembly copies 2023-11-08 17:19:30 hehe 2023-11-08 17:19:39 [copy] to r :D 2023-11-08 17:20:15 maybe we'd have more wizards if humans didn't suck at naming things 2023-11-08 17:23:39 language is hard 2023-11-08 17:28:01 sérstaklega þegar lesendur skilja ei málið ; ) (plug that into translate.google.com) 2023-11-08 17:29:09 Iceland? 2023-11-08 17:29:25 read difference environment 2023-11-08 17:29:59 hillarious how bad it is still and translating 2023-11-08 17:30:38 they thought translation would be easy back in the 60s 2023-11-08 17:31:26 at* 2023-11-08 17:32:02 Just a couple of grammar rules and a vocabulary? How hard can it be??? 2023-11-08 17:32:24 Just have to define "meaning" :) 2023-11-08 17:37:35 ... 20 years of mucking about in the philosophy swamp later ... 2023-11-08 17:38:12 a word means what it means, no more nor less 2023-11-08 17:38:32 what it means is a different matter 2023-11-08 17:46:28 lol wittgenstein has entered the chat xD 2023-11-08 18:11:44 \o hi! 2023-11-08 18:36:43 The thought a lot of things back in those early days. Turns out we're more complicated in the old noggin' than they thought. 2023-11-08 18:37:24 Well, my big delete failed. It ran out of lock table space. 2023-11-08 18:37:38 I'm having to do it in chunks; I've finished about a quarter of it. 2023-11-08 18:37:55 probably want a cron job to do this over time 2023-11-08 18:46:02 Yeah. When I put new data in I can count how many rows it is and just delete that many from the oldest ones. 2023-11-08 18:50:15 rrdtool might also be handy for collecting and summarizing data? 2023-11-08 19:21:18 I'm not sure what that does. 2023-11-08 19:21:44 https://dataswamp.org/~solene/2023-02-16-rrdtool-light-monitoring.html 2023-11-08 19:22:52 Hmmm. Looks interesting. I like lean. 2023-11-08 19:48:16 What's up tonight, sirmacik? 2023-11-08 19:51:47 Zarutian_iPad: Problem is that often words mean different things to different people. 2023-11-08 19:53:54 You know, instead of having two different words for single precision multiply and regular precision multiply, you could just have a word that pushes the high order part onto the stack. 2023-11-08 19:54:40 The multiply always produces the full result, and leaves the single precision product in the TOS reg. If you followed * with that high half push, now you have the full double precision result on the stack. 2023-11-08 19:57:03 Having the traditional words would be higher performance, though. The double multiply just requires one call then.