-
Not Just Another Day Either:
03/06/2026 at 14:34 • 0 commentsLike I said elsewhere, I have what quite possibly might be a few megabytes of material of various types that I have created over the years, and for various reasons. Even if I don't keep a "dream diary" or anything like that, I do sometimes come up with some strange, even if intentionally so, stream of consciousness pieces. Some of this stuff is, of course, intentionally strange for the express purpose of wanting to see what effect it might have on a the behavior of a chat-bot, i.e.., if it is inserted into the training data. And since I also have an ongoing experiment where I am building a chat bot that is trained for the most part on every project, including every log entry that I have ever created for the Hackaday, I just realized that an AI aware DOOM engine just might be a worthwhile adventure, and thus the following material might be a useful thing to include for the narrative for an NPC, or worse:
I am having a nice dream about a girl. I hear the alarm going off. My dream was interrupted. I am getting out of bed. I can see how much light there is in the room. It is daytime. It is early in the morning. I need to find some clean clothes. I am checking my blankets to see if they are starting to smell bad enough that I have to wash them. I don't want to get up. I am not going to make breakfast. I am going to get some work done today. I am looking for a new job. I don't want to waste any more time. I am thirsty.
I need to take my medication. I need to brush my teeth. I am wondering if I should get a haircut. I would like to go to Australia. I am gathering my dirty laundry. I tend to wash a lot of stuff together. I never sort my clothes before I wash them. I want to move soon. I have been having a lot of bad days. I never watch much TV. I have really cut back on my drinking. I don't really care to buy an aquarium. I like to drink Coca-Cola. (As of 1997 when this was written) Bill Clinton is the current President of the United States. I am gathering up my clothes. I am heading for the garage. I am opening the lid of the washing machine. I am making sure that the washing machine is empty.
I am putting my clothes into the washing machine. I am using a cup to get some soap out of the box of detergent. The box of detergent is empty. I do not have another box of soap. I am going to go to the store. I am looking for my keys. I cannot find my keys. I have not done my taxes. I need to find my keys so that I can go to the store and get some soap so that I can do my laundry. I am looking for my keys. I already have my wallet. I am looking through some papers on the desk. I found my keys under some papers. I am heading for the door. I am looking for my car in the driveway. My car is right where I expected it to be. I am using my key to unlock my car. I am putting the key into the key slot on the door. I am turning the key until the door unlocks. I am not turning the key so hard that I might break the key. I am returning the key back to a neutral position. I am removing the key from the lock. I am putting my hand on the door handle. I am operating the door handle. I am opening the door of my car by using the door handle. I am holding the door open. The door will now stay open by itself. I am getting into my car.
I am sitting in the driver's seat. I am putting the key into the ignition. I am turning the key. I can hear the motor starting to turn over. I can hear the engine starting to pick up speed. I am releasing the key. I am putting my foot on the accelerator. I am checking to see that the gear shift is in neutral. I am depressing the clutch. I am releasing the parking brake. I am putting my foot on the regular brake. I am putting the transmission into reverse. I am looking at my mirrors. I am turning my head to see behind me and out through the windows. I am looking for hazards.
I am checking the transmission. I am checking to make sure that I put the transmission into reverse. I am releasing the clutch. I am taking my foot off of the brake. I am putting my right foot on the accelerator. I am starting to roll backward. The car is beginning to move backwards. I can feel the acceleration. The car is backing out of the driveway. The weather ifs very nice today. I am turning the wheel to the left. The car is starting to become parallel to the street. The car is parallel to the street. The car is out of the driveway. I am taking my foot off of the gas. I am straightening out the steering wheel. I am watching for traffic. I am putting my left foot on the clutch. I am putting my right foot on the brake.
I am moving the gear shift from reverse to the first gear. I am taking my left foot off of the brake. I am putting my right foot on gas pedal. I am depressing the pedal slightly. I am slowly releasing my left foot from the clutch. I am depressing my right foot further onto the gas pedal. I am looking for traffic. I am checking to see if the sun is going to bother me. I am adjusting my visor. I am depressing the gas pedal further. I am looking at the speedometer. I am looking at the road. I am checking my progress. I am thinking about going to the store to get some soap so that I can do my laundry. I am getting tired of my neighbors dog barking every night. I want to find a nice girlfriend. I am looking at the speedometer. I am listening to the engine. I am looking to see that the car is no going 15 miles per hour.
There is a stop sign 100 feet from my house. I am taking my right foot off of the gas. I am placing my left foot on the clutch. I am placing my right foot on the brake. I am approaching the stop sign. I am looking to see how far the stop sign is away from me now. I am looking for the limit line. I am making sure that I am behind the limit line. I am pushing the clutch all of the way in with my left foot. I am placing my right foot firmly on the brake. I am pressing the brake with my left foot. I am noting that the car has come to a stop. I always notice a lurch as the suspension settles when the car comes to a full and complete stop. I am putting my right foot on the gas. I am looking to the left to see if there is any traffic coming. I do not want to get hit by an oncoming car. I am looking to the right to see that there is not a pedestrian or and an obstacle in the road. I am looking right in front of me to see that it is safe to proceed. I am pressing gently on the gas pedal with my right foot. I am looking to the left to see if there is a car coming. I am slowly releasing my foot from the clutch. I am turning the steering wheel to make a right turn.
The car is beginning to move forward. The car is starting to make a right turn. I am pressing my foot farther on the gas. I am adjusting the steering wheel to make sure that the right turn continues properly. I am straightening out the wheel. I am pressing the clutch with my left foot. I am taking my right hand off of the steering wheel and putting it onto the gear shift. I am moving the gear shift from first to second gear with my right hand. I am putting my right-hand back on the steering wheel. I am adjusting my right foot so as to not to over-rev the engine. I am releasing my left foot from the clutch. I am depressing the gas pedal with my right foot. I am straightening out the wheel with both hands so that the car goes forward in the lane that I am in.
I am entering the store. I keep putting one foot in front of the other as I walk. I am looking around my environment in this store. I am going to use a shopping cart. I am pulling a cart out from the collection of carts. My hands are on the handle bar for the shopping cart. I am steering the shopping cart a lot like the way that I steer a bicycle. The shopping cart does not have a motor. The shopping cart does not have a gas pedal. The shopping cart does not have a computer. There are some shopping carts now that have computers that help you find things in the store. I am looking for an aisle where there is soap. I see an aisle where there are magazines. I see an aisle where there are fruits and vegetables. I see lettuce and carrots. I see a series of freezer cabinets where there is ice-cream. I see the check out area. I found an aisle where there is a box of soap. I am putting the box of soap into the shopping cart. I will go home now. My car does not have a trunk, so I am putting my purchase in the back seat.
I am approaching the house. I am parking my car. I am getting out of my car. I am locking my car. I am going toward the front door of the house. I am walking along the path. I am looking in the mailbox to see if there is mail. I am taking the mail out of the mailbox. I am unlocking the front door. I leave the front door locked to discourage burglars. I am opening the front door. I am pushing the door open. The front door opens inward. The screen door opens outward. The screen door was already open. I am entering the house. I am lifting my foot to step over the threshold. I am stepping over the threshold with my left foot. I am entering the house. I am putting the mail on the table. I am going into the garage. I am opening the garage door. I am going out the garage door and back to my car. I am getting the box of soap out of my car. I am taking the box of soap into the garage. I am entering the garage and I am carrying the box of soap. I am going over to the washing machine. I am opening the box of soap. I am using the cup to get some soap for the wash. I am pouring the soap from the box into the cup. I am going to add the soap to the wash.
I am adding the soap to the wash. I am pouring the soap onto the dirty clothes by tilting the cup so that the soap falls out of the cup under the influence of gravity. I am closing the lid on the washing machine. I am selecting the load size. I am selecting the temperature. I am selecting the wash cycle. I am starting the washing machine. I am listening to the washing machine. The tub is filling with water. I am listening to the washing machine. The tub has stopped filling with water. I am listening to the washing machine. The agitator has started. I am listening to the washing machine. The agitator has stopped. I am listening to the washing machine. The tub is draining. I can hear the water going out the drain pipe. I am listening to the washing machine. The spin cycle is starting. I am listening to the washing machine. The spin cycle is going. I am listening to the washing machine. The spin cycle is stopping. I am listening to the washing machine. The tub is filling with water. I am listening to the washing machine. The tub has stopped filling with water. I am listening to the washing machine. The agitator has started. I am listening to the washing machine. The agitator has stopped. I am listening to the washing machine. The tub is draining. I can hear the water going out the drain pipe. I am listening to the washing machine. The spin cycle is starting. I am listening to the washing machine. The spin cycle is going. I am listening to the washing machine. The spin cycle is stopping. I am listening to the washing machine. The laundry is now washed.
I am hungry. I would like to get something to eat. When I am hungry I usually try to find some food. A jungle creature hunts. gathers and sometimes kills for food. I am not a jungle creature, yet I am a meat eater. I do like my hamburger well done, thank you. I like garlic butter on my toast. I rarely eat breakfast. I eat a lot more fast food than I should. McDonalds has over 11 billion served. There are at least 50 million cows in the U.S. Jewish people do not normally eat pork. I don't believe that there is such a thing as a sacred cow. Some people apply the term sacred cow to a number of other ideas. There are certainly plenty of cultural taboos. One can always try to get off of a subject by trying to lift the context frame into some sort of generalization. Then one goes forward in whatever direction seems appropriate. One thing that I could do is to look for all of the thens and therefores and thereafters within a script. The word then often indicates a conclusion or subsequent event. Whenever one encounters a then, then - one should ponder whether or not it indicates a conclusion or whether it indicates a subsequent event. When there is no food in the house, then I usually go to the store or to a fast-food place.There is of course no point to this, or maybe there is. Maybe there are also some real questions that need to be asked, and that is not just "can we trust AI", but also "how do we know if we can trust AI?" Are "open weights sufficient?" "Why does AI always seem to choose nuclear war, according to some?"
![]()
Creating a model space from scratch, as well as a game engine that works with it, is of course, non-trivial. But then there are the NPCs, or other virtual inhabitants, of such a model space, and the things that they "think of", or do, as "they" go about their virtual days. Maybe I should look into how much GPU power is needed to run "the matrix awakens" locally. Obviously, Epic Games did an amazing job when they created their "virtual city." And yet, hopefully, creativity is not dead. Otherwise, it is pretty scary that within the next couple of years, fifty percent of so-called white collar jobs will no longer be needed, as the work that those workers are presently doing, will be able to be done more cheaply by AI.
Yet what if there is still something missing, whether it is "the human factor", or not, or whether even that can be vibe coded, if somehow, someone dares to dig deep into the minutiae of not only what it means to exist, but to also have "experience".
This also, will be added to the training data. Which will therefore become a part of the collective. So maybe using vibe coding to improve the performance of so-called LLMs is the right approach. At least, I think it will improve auditability, and perhaps predictability. Yet obviously, if I train a chat-bot on the preceding narrative, it won't have the knowledge to answer a simple question like "Describe the Zen of folding Laundry?" And yet that raises another interesting question, and that is "what is the minimum word count that is needed to create a narrative that covers most of the things that most people do, in order to get through their day-to-day lives?" Besides, "lather, rinse, repeat" that is.
So I was thinking of setting a goal to write, maybe 3000 words a day, or thereabouts, about some random thing or another, whether it is about dark energy and the meaning of space-time, or protein folding, or folding laundry. Maybe it doesn't matter all that much, even if I risk repeating myself.
The use of repetition in the narrative, is of course intentional, since one of the ways that a Markov-model based language model works is by building a database of sentence fragments, like this:
![]()
So obviously, a narrative that contains a lot of "I am" statements might lead one to fall into that particular maze of twisty little passages, perhaps more often than it should. Yet if the evaluation function for the original Mega-Hal chat-bot looked at a combination of probability, modified according to some metric associated with the "entropy of surprise", so that it should prefer "novelty over exact repetition" or perhaps reconstruction. Yet, at this same time, if we consider something that Einstein may have once said, and that was that he "didn't have a definition of intelligence, but stupidity is trying the same thing over and over again and expecting a different result."
Fortunately, nobody has yet tried full-scale nuclear war, solely for the "sake of novelty." Yet therein lies another dilemma, and that is, if we make the bot immune from being spammed, by in effect pivoting according to the penultimate, so as to "prefer the road less travelled", that is, unless certain choices are obligatory. Then what?
Perhaps the alternative to the alternative, so to speak, will turn out to be the inevitable reconstruction of the original path through the maze, as it were. That is, if we continue to contemplate a language model that turns a collection of text objects into some kind of railroad diagram, as it were, that is, as an analogy with respect to one interpretation of those models that are based on Markov chains.
Hence, another thing that should be clear, therefore, and that must follow accordingly, that is, in and among many other things, is that since in effect what we are trying to imply is that there must be some set of conditions, which ideally should be thought of as being not only necessary and sufficient for such purposes as our rhetoric would seem to require, even if not absolutely so, but for at least, in most cases, to a high degree of probability, nonetheless.
Perhaps parallelism in "chain of thought" might be easy to deduce, more or less, according to sentence structure, therefore allowing for the exploration of alternatives within our model space within reasonable computational constraints, without begging the question, henceforth, as to whether certain "infinite number of monkeys" style digressions are inherently NP hard.
Parallelism, therefore, should be explored, not merely as a metaphor, but as a template, and not merely as a template in the abstract sense, but according to such forms or fashion, so as ought to be subject to construction, that is, so also according to such methods of derivation, as are to be developed.
-
In Praise of INTERCAL
12/18/2025 at 05:00 • 0 commentsINTERCAL is a programming language that I know almost nothing about, other than that I have read some things online about it being a joke or parody language from the 60's or perhaps 70's, or whenever, that I now think should perhaps be taken a bit more seriously, Right now the only thing that I can remember about INTERCAL is that (I think) that INTERCAL is a BASIC or FORTRAN like language that has some weird requirements, like the requirement that every INTERCAL program must contain exactly four or five PLEASE statements. So maybe an INTERCAL variant of BASIC, if such a thing could exist, might look like this:
10 PRINT "Hello World" 20 FOR X=1 TO 10 30 PLEASE PRINT X 35 PLEASE LET Y = X*X 40 NEXT X 50 PLEASE GOTO 100 60 PLEASE PRINT "Error - Goto Failure" 70 PRINT "Thanks for Playing" 80 WHEN "The Sun comes up", DISPENSE "Cat Food" 100 PLEASE ENDIt is easy to see that in this proposed version of INTERCAL BASIC, the requirement that there be exactly four, or five PLEASE statements is satisfied, so hopefully the interpreter or compiler won't issue an error that the program is too rude or too sycophantic. So, one way to implement a version of INTECAL BASIC would be to have a preprocessor that checks for the required number of PLEASE statements, while possibly emitting a "Feature not supported" warning, with respect to the otherwise unreachable WHEN statement. This, of course, could get messy, very messy, very fast. Like what if in some version of INTERCAL the PLEASE statement does nothing, and the statement following the PLEASE statement simply executes as if the PLEASE statement were not there.
Yet, then again, what if PLEASE statements in BASIC programs could be used to tell the interpreter or compiler that the program should attempt to launch a separate execution thread for the statement that follows the PLEASE statement? Now, things could get very interesting if all of the needed locks, semaphores, signals, or event handles could be taken care of automatically. Then some operations, such as I/O, might be handled asynchronously, with any needed FIFOs, message queues, or other ways of storing intermediate values of various calculations queued up and processed accordingly.
Yet what would that imply with respect to how to interpret statements like PLEASE GOTO, or PLEASE END? Perhaps a PLEASE GOTO might imply that the runtime should fork a copy of the currently running application, which on a system that has virtual memory with copy only upon modify semantics, might actually be able to be implemented with fairly good efficiency. Thus, the currently running copy might be suspended before the branch is taken, and a forked copy might take over at the branch target, in effect taking a snapshot of all currently active variables, along with an appropriate time stamp, in effect creating an execution checkpoint, which might then turn out to be useful for such things as implementing transactional, or "journaling" file systems, with or without certain features such as "commit" or "roll back", as needed. Yes, this is a VERY tricky problem, indeed. Thus, it is also easy to see that INTERCAL's already included FORGET statement might come in useful. Yet, like I said, VERY messy indeed.
Then there is the lack of a usable WHEN statement in most, if not all, programming languages that I know of, which is another matter that I will have something more to say about, that is to say, when I get around to it.
Now obviously, if you look up the Wikipedia article on INTERCAL, you will see that my proposed version of INTERCAL BASIC is substantially different from the original INTERCAL, being similar only in the use of the PLEASE statement, along with my very own new and improved proposed WHEN statement. Thus, I could perhaps make INTERCAL BASIC more INTERCAL-like by making use of READ IN and WRITE OUT, for example, instead of INPUT and PRINT, like this:
10 WRITE OUT "Hello World" 20 FOR X=1 TO 10 30 PLEASE WRITE OUT X 35 PLEASE LET Y = X*X 40 TAKE IT TO THE TOP 50 PLEASE GOTO 100 60 PLEASE WRITE OUT "Error - Goto Failure" 70 WRITE OUT "Thanks for Playing" 80 WHEN "The Sun comes up", DISPENSE "Cat Food" 100 PLEASE ENDThe astute reader will notice that I mixed in a little bit of ROCKSTAR into the code. Yet, maybe, just maybe, this is the direction where things might be headed. Imagine using AI to create hybrid programming languages upon mere whim, some of which might have 1000's of well-defined keywords, or idioms, according the the needs of the application developer. Consider this lovely quotation from "DR. JOHNSON'S ORIGINAL FOLIO EDITION, AND HIS GRAMMAR OF THE ENGLISH LANGUAGE.1812." which is available in public domain form from the Guttenberg library.
The agent, or person acting, is denoted by the syllable er added to the
verb, as lover, frighter, striker.
Substantives, adjectives, and sometimes other parts of speech, are changed
into verbs: in which case the vowel is often lengthened, or the consonant
softened; as, a house, to house; brass, to braze; glass, to glaze; grass,
to graze; price, to prize; breath, to breathe; a fish, to fish; oil, to
oil; further, to further; forward, to forward; hinder, to hinder.
Sometimes the termination en is added, especially to adjectives; as, haste,
to hasten; length, to lengthen; strength, to strengthen; short, to shorten;
fast, to fasten; white, to whiten; black, to blacken; hard, to harden;
soft, to soften.
From substantives are formed adjectives of plenty, by adding the
termination y: as a louse, lousy; wealth, wealthy; health, healthy; might,
mighty; worth, worthy; wit, witty; lust, lusty; water, watery, earth,
earthy; wood, (a wood) woody; air, airy; a heart, hearty; a hand, handy.
From substantives are formed adjectives of plenty, by adding the
termination ful, denoting abundance; as, joy, joyful; fruit, fruitful;
youth, youthful; care, careful; use, useful; delight, delightful; plenty,
plentiful; help, helpful.
Sometimes in almost the same sense, but with some kind of diminution
thereof, the termination some is added, denoting something, or in some
degree; as delight, delightsome; game, gamesome; irk, irksome; burden,
burdensome; trouble, troublesome; light, lightsome; hand, handsome; alone,
lonesome; toil, toilsome.O.K. then, what if there are what seems like an endless list of rules for forming verbs from nouns, or nouns from verbs, adverbs from adjectives, and so on, even while we should be mindful of the fact that usually nouns are most likely to be associated with objects in OOP, while verbs are more likely to be associated with method calls, even as far back as the Apollo Guidance Computer, even then, back in the day, in its very own, properly functional, howbeit arcane fashion.
So I think that there is definitely something to be said about ad-hoc programming languages having an important place in an increasingly AI-driven landscape. Yet I feel I must point out something from an earlier project, that always comes to mind, especially when I am given to consider the implications of the theory of so-called context-free grammars, and that is this partially sucessful effort to create a file called "pascal.h" that in theory would allow any sufficiently capable C/C++ pre-processor to chow down on PASCAL programs, or at least the occasional inclusion of some PASCAL code within a C/C++ function, by performing all needed conversions at compile time.
#define { /* #define } */ #define PROCUEDURE void #define BEGIN { #define END } #define := ASSIGN_EQ #define = COMPARE_EQ #define IF if ( #define ASSIGN_EQ = #define COMPARE_EQ == #define THEN ) #define REPEAT do { #define UNTIL } UNTIL_CAPTURE #define UNTIL_CAPTURE (!\ #define ; );\ #undef UNTIL_CAPTURE #define ; ); #define = [ = SET(\ #define ] )\ #define ) \ #undef = [\ #undef ] // so far so good .... #define WITH ????????Thus, hopefully, the reader understands the idea of there being an equivalence class that exists between the general theory of context-free grammars, and how the #define statement works in the C/C++ preprocessor, then hopefully it will be just as clear that whenever we need some "contextuality" inside a context-free grammar, we can create it, and un-create it as needed, as I am suggesting here as for one way to try to capture the conditional part of a PASCAL style REPEAT ... UNTIL statement, and turn into a functionally equivalent C/C++ style do ... while statement.
Quite simply put, therefore, the C/C++ preprocessor just hasn't been getting enough abuse lately, so there, at least for now. Enjoy the chaos. Even if this project, at least for now, still does nothing.
glgorman
