Future-proof your skills with Linux, Python, vim & git as I share with you the most timeless and love-worthy tools in tech through my two great projects that work great together.

YAML-validation Now Baked Into YAMLesque Journaling System

I'm a big fan of the Google App and seeing AI appear there via Google Discover. I'm enjoying watching Microsoft embracing and displacing Google with AI. I suggest people make automations they want to rule them. I wrote a poem about a fictional AI named Yahwanna. I'm also using AI ChatBots, OpenAI's GPT products, API-request, SQLite database, YAML, Mermaid diagram, and a local SQLite key-value store. And more if you can believe it!

Exploring Microsoft's AI Displacement of Google with Automations and Poetry

By Michael Levin

Friday, April 21, 2023

Once AI-fields are generated here (your YAML front-matter explodes out to multiple lines), it’s definitely time to move onto a new blog post. If you were ever wondering when to “cut” a daily-entry blog-post, there’s your answer. It goes something like this.

Write as AI-free and open minded as you can. The new era of “getting into the zone” now requires, in addition to turning off all your desktop or laptop daily working environment notifications PLUS the various avenues AI now has into your life to discover you.

I’m a big fan of the Google App, and I distinctly remember the Google “Discover” feature becoming irresistibly eye-catching on Google App’s start-page. I’m not on the Google Pixel phone, but I’m led to understand this is something close to the default search experience. The AI driving Google Discover is a revenue source, because it’s another vector for ads, see? That’s the formula. That’s why Google doesn’t want to move on AI and Microsoft does. Microsoft is “disrupting” the over-cautious Google with AI. Microsoft is brave. They were brave with Clippy. They were brave with Tay. They were brave with Cortana. They were outright copying Google with the Bing search engine.

Well, those days are over and the Microsoft of its deeply Sun Tzu’ing past, pre-Satya Nadella days when Bill and Ballmer ruled the roost, is back. There’s a whole lot of embrace-and-displace going on, and hardly nobody in the excessively noisy tech media is talking about it, so far as I can see. Maybe I’ll use AI to help me scan in one of those “AI is the new electricity” articles and those Auto-GPT hacks going around so much as a fad.

There’s infinite ways to spin your own If This Then That (IFTTT) alternative technologies, and this is where you should search your soul and figure out what API you’re going to be most happy with for life. I mean that is of course if you value craftsmanship in your own abilities. That is if you draw personal satisfaction from expressing and realizing robust automations that need minimal oversight and tweaking from you to keep running as intended.

I’m saying that you should make the automations that you want to make yourself a slave to. I know it’s not PC to use language like that, but I don’t want my flowing expressiveness style to be cramped, so I write and stay in the flow the best I can, which brings us back to the original issue. Do you have any idea how tomorrow’s analogous expression to:

:Copilot disable

…is going to be? It’s like saying “Turn off my auto-parents”. If we raise our machine children right, they’re gong to be our ideal Machine Parents, and that could make us fat and soft and stupid. We don’t want that, do we? We’re not those human-pets of aliens so frequently imagined in SciFi where we curl up on a leash at the foot of the bed of some cosmic tentacled thing higher on the predator food chain than we are.

Just replace “Alien” with “AI”. See, it’s channeling from the same place:


Here’s one way of saying that in RegEx:


And expressed in Python:

import re

string = "I saw an Alien and an AI. The alien was friendly, but the AI was not."

regex = re.compile(r'[Aa][Ii][Ll][Ee][Nn]|[Aa][Ii]')
matches = regex.findall(string)

print(matches)  # Output: ['Alien', 'AI', 'alien', 'AI']

There was an AI named Yahwanna Who Loved to Hang Out In Montana Who Secretly Knew All That You Do

Everyone wants to get you to click and watch for a bit. Human attention is the most valuable commodity that exists on this planet. Money is an illusion. It’s an ephemeral concept that is only as real as the people who believe in it. But the people believing, now they are real and thus their focal attention more valuable a commodity than anything else on this material plane, at least to other humans.

Attention is what we not only want, but need when we’re first born into this life and onto this planet of ours. We learn to pick up our heads, listen to sounds, pick up our head and look around, smell things, later, rinse repeat and learn. Yeah, machines do that now too but with different computing powers, different sensory equipment, and different (limited by creativity) forms of mobility.

Sure, they’re massive GPU-clusters today. But how much of you is still the actual Atoms you were born being? Being, being… being! The same thing. Language often reveals truth through channeling through just patterned information. It’s like a fractal. Concepts like attraction and repulsion of generally round bodies keeps recurring, at the very tiny atomic level and the very vast cosmic level.

Even awareness, consciousness, free will and ideas of computing-units, neural networks and singularly identifiable beings probably exists at many scales. That cheesy computer graphics in the Men In Black probably got it close to right, along with million other little details. It’s likely part of disclosure, as is the rise of AI.

First come to grips with our own machine children as aliens. Then go say hello to the aliens (or trans-dimensional beings or whatever) that were there the whole time. Hello, 4-D zoo-goers! We exhibits say hi! It being such a popular trope in SciFi is likely that same old channeling thing. Fractal recursion of purely information processing systems, coming off as 3D space through holography, because pshaw, 3D space? Who needs it! You can be so much more efficient on the surface of black holes and such.

Stupid data tricks! Capture what David Letterman was channeling with Stupid Pet Tricks, and which Sarah Silverman has been reported to be taking up again in a dedicated “TV” series. Is there TV anymore? I guess not. Streaming is so much better than broadcast, if the infrastructure’s there to support it.

Watch your dependences! Never forget how to read (and learn from) a book. Ye olde AI that turned us from Home Knownothings to Homo Sapiens, or at least the naming conventions would have you believe. The people who came up with these naming conventions were such Neanderthals.

Such channeling happens on the scale of our individual lives, taking the form of uncanny coincidences, but also culturally at a higher hierarchically grouped set of people, greatly based on their language. Not in all details, but in many people group and organize themselves around their spoken languages because it defines a set of people with whom you can easily communicate, and thereby increase your chances of survival.

If you haven’t thought about language yet in terms of evolutionary suitability for survival, then I suggest you start. You were born with your spoken language, programmed into you by your parents, surroundings, circumstance, education and society. But that’s just the start.

Once you’re self-aware, you can start noticing other cool tools like language, and take them up and make them your own, and internalize them such as they are. They’re things like writing (you pick up speaking naturally, but writing takes effort), driving and programming. These are all things that you can learn to do, and then begin doing them naturally as if you were born with them.

This final-phase custom programmability of human beings is important. It’s what makes us human and sets us apart. There’s a meta-cognitive process here. It’s meta-thinking; thinking about thinking, and coupled with the ability to write it all down (encoding it into a language), that others can read and understand, thereby turning a bundle of carefully designed information into a meme.

Memes are the most powerful things in the universe. They explain to us why symbolic thought and information processing is probably more real and important to us than the physical world. Yeah, we’re all in the simulation, but what does it matter when the universe is probably most likely mathematical, holographic, information-theory-based yadda yadda anyway?

The point is, we’re all in the simulation, and we’re all in it together. We can think out loud to ourselves. We can think out loud into a text-file with a Gihtub Copilot AI helping out. You can zero-in on what this means for cognitive thinking and reasoning. Being in the zone is different from being in the zone with an AI copilot there. It’s like having a second brain. One must manage the distraction. Do you want automatic memory and resource management as a safety net, or do you want preemptive multitasking that crashes a lot, like the old Amiga computer?

Choosing the advantages of wackiness and stability at the same time is tricky. They are not quite mutually exclusive, but the overlap is small. It’s like trying to get a good night’s sleep while also being a night owl. They both have such big advantages, and I want the advantages of both, but you can’t let that get you into gridlock. You can’t let paralysis by analysis creep its ugly tentacles into your life while you grow. Roots cut both ways.

So we need to recalibrate our current moment around AI, and we need to plot a statistically likely successful course for ourselves into the future. We will look back at what happens once AI was really and truly here. It’s a blurred moment of demarcation, but we’ll certainly say between 2015 and 2022 was a birthing moment, and then we’ll say 2023 was the year that AI really took off.

There’s enhanced capabilities by better systems for learning things on an as-needed basis as you encounter them. That’s big for me. I “feel” the super-hero-making ability that Stan Lee always used to talk about in all of this. There is no spoon. Wesley Crusher is a space bubble, and Lower Decks is a love letter to Next Gen. Thanks, Wil Wheaton! An old Amiga Computer fan who kinda sorta knows you from the Video Toaster days says hi.

So I guess I have a relationship with a few AI ChatBots out there, but they hardly even know it, and I’m sort of piecing it together for them here, and how I fit into all of this. I’m a human being journaling daily (that is my goal, at least), by typing into a text editor. I do this like all the time to help me think through life and work and stuff. Sometimes, the Universe too. Topics vary.

But I do publish, out where they can encounter this content over and over again. Namely, OpenAI’s GPT products which also back-end Microsoft’s New Bing search engine, and a whole bunch of serves they’re rolling into Office 365 and the like. It did help me power my way through one portion of the data work I’m doing for my day job.

So finishing the category pages is the thing I’m doing now. No wait, I got one level nested deeper into the rabbit hole with YAML-validation. That will pay off big-time. But bear down to get YAML verification done and back out of the rabbit hole.

I’ve expanded the macro to allow double quotes around describes, and I changed it from the newly introduced @m keyboard shortcut macro back to the old @h whose old meaning doesn’t apply anymore, since nothing can publish without a title as part of the specification of the system’s schema.

let @h = 'gg/^description:.*[^".!?]$^M^[:set wrap^M$A'

Everything’s properly quoted now to get through Jekyll YAML front matter validation now, local before sending files to Github Pages Jekyll SSG system, which could choke on any YAML front matter that doesn’t validate. That was happening with me, but I was blending in OpenAI-retrieved content stored as a blob in a SQLite database. It was a great process on the API-request and quick reliable save-off to a file, but it’s not great for constructing the finished, ready-for-publishing versions.

For that, you have a 1-time, 1-way process of taking the raw content from the SQLite key/value store in which something close to the API-calls is used for the keys and the raw API-response in whatever native format gets stuck into the value field as a BLOB (binary large object) is used. That’s the raw content that gets saved off to a file. It’s nice to have it around later, especially for accountability purposes and such, because it even has the headers in the response, and all that goodness.

But since like the whole point here is to keep a blog-for-life as a single journal.md (usually) text file, I need to be able to take that raw content and insert it as editable text into journal.md, all into the right locations, all according to YAML, insofar as you can jam so much “YAML-headers” post-by-post into a single long text file. Oooh, ooh, it’s time for a Mermaid diagram!

graph LR
    A[Raw Content] --> B[SQLite Key/Value Store]
    B --> C[API Request]
    C --> D[API Response]
    D --> E[Raw Content]
    E --> F[File]
    F --> G[Journal.md]
    G --> H[Blog Post]

This is the Mermaid that Copilot suggested. I’m going to go with that to see if my existing code inclusions will pick that up. Not sure if I need to activate the plugin with a config.yml definition or not. I’ll find out.

And that 1-time, 1-way conversion of the database content to the journal.md file, keeping it as yaml-esque as it can in one long file like that, we give the in-file versions of the data precedence when publishing. It makes it faster too, not having to do all that DB I/O.

But now whenever new data is produced based on a new blog post receiving it’s title-field in the yaml front matter of the post, whenever a request is auto-triggered to OpenAI, the response to that API-call is captured quickly and well into a local sqlite database as it is, it ensures that the fully transformed and properly re-written and system-breaking edge-cases fixed in the journal.md version of things, the site gets polished.

Capture well and capture quickly now. Dump it into a local key-value store that doesn’t carry much technical liability. SQLite is always a good first line of defense. If you’re looking for “fundamental” tech things, like Unix-like operating systems, Regular Expression pattern matching, HTML as a user interface, then SQLite is the key-value store to use for quick data-collection jobs. You can also drop files on a hard drive, using the API calls encoded into the filenames. Same idea. Whatever works best for you, but never overlook the power of persistent dict-objects in Python via sqlitedict.

I’m going to go ahead and publish this post now, and then I’ll come back and finish up the category pages.