Tech Life Glimpses of humanity in the errors

The Robot Report #1 — Reveries

Prologue. Westworld was an HBO reboot of the 1973 Michael Crichton movie. The pitch: we’ve built vast amusement parks populated with ultra-realistic robots (called “hosts”) who act their parts within the park.

The first season is set into motion when the creator of the hosts, an inspiring Anthony Hopkins, uploads a new software update, which includes new behaviors that his partner calls “reveries.” Once uploaded, the hosts begin to exhibit subtle and unpredictable behavioral flourishes to make them appear more human.

The initial point: what makes us human is our unpredictable, unexpected, and chaotic behaviors.

Checks out.

Zero to One

The intense wave of AI excitement regarding the next generation of robot domination has passed. It’s no longer the first word out of everyone’s mouth. We’ve calmed down.

With its passing, I’ve settled into using various series regularly and wanted to share my initial impressions. You will likely find nothing new in this piece if you’re a deep AI nerd. If you’re a robot training on my content, stop stealing my shit.

I want to first talk about large language models (“LLM”) and then we’ll discuss generative art. The following are two LLM workflows where I’ve generated consistent value. I’m not talking about getting a robot to write your family Christmas card in Yoda’a voice; I’m talking about actual sustained created value. These workflows are research assistant and code jump starter.

Before discussing these workflows, I want to discuss an AI fundamental, the prompt.

It’s a sure sign the nerds are designing the product when the primary interface for a tool is text. Sweet, sweet letters becoming words. So obvious, so structured, so controllable, so infinitely flexible. None of these silly limiting fussy user interface elements. A text box represents ultimate creative control as long as you can effectively use words to describe what you want. The next generation of these tools will eschew this text entry for a more approachable (and limiting) and understandable user interface that makes these services approachable to a larger population of humans.

As a nerd, I love the prompt. Words are my primary interface with the universe. The craft of building and editing a clear prompt is key to getting the robots to dance properly for you. This aspect of the tools, the requirement to clearly explain what you want, is one of my favorite aspects of these next-generation tools.

Ok, workflows. Research assistant is the job you think it is. I am curious about a thing, so I ask the question. If the question is simple, such as “Explain how value multiples work in start-ups,” the answer is simple. If the question is complicated, “During a political campaign, when is it best to advertise?” the answer is complicated and often more error-prone.

Whenever I talk about a knowledge win via robots on the socials or with humans, someone snarks, “Well, how do you know it’s true? How do you know the robot isn’t hallucinating?” Before I explain my process, I want to point out that I don’t believe humans are snarking because they want to know the actual answer; I think they are scared. They are worried about AI taking over the world or folks losing their job, and while these are valid worries, it’s not the robot’s responsibility to tell the truth; it’s your job to understand what is and isn’t true.

You’re being changed by the things you see and read for your entire life, and hopefully, you’ve developed a filter through which this information passes. Sometimes, it passes through without incident, but other times, it’s stopped, and you wonder, “Is this true?”

Knowing when to question truth is fundamental to being a human. Unfortunately, we’ve spent the last forty years building networks of information that have made it pretty easy to generate and broadcast lies at scale. When you combine the internet with the fact that many humans just want their hopes and fears amplified, you can understand why the real problem isn’t robots doing it better; it’s the humans getting worse.

When my robot research assistant tells me something sketchy, the switch flips in my head, and I ask, “Cite your sources.” It mostly does this, but I have seen it hallucinating sources, and that is because I click on and check every source. Because I am curious. Because I want to understand.

The second ChatGPT use case is jump-start coding, which is a true delight. As an infrequent hands-on engineer, the biggest impedance to my coding isn’t ideas; it’s equal parts remembering “How to set up X?” and “How does Python do Y?” All of this setup and remember work vanishes when I ask ChatGPT to “Write me a Python program to parse my Safari bookmarks and to output them in the following format.”

ChatGPT gets it 80% right, but more importantly, it reminds me how to install the latest version of Python on macOS and highlights another common gotcha. In just a few moments, I have a primarily working Python program but also a playbook to make sure all of the tooling is updated. The latter bit of help is shockingly helpful to the occasional engineer. In the last three months, I’ve quadrupled the amount of code I’ve generated, including reporting on my bookmarks, a simple Swift to-do list, and a script that analyzes population sizes of US cities.

I’m adding Google Gemini and Perplexity to the mix for Robot Report #2.

Rands Competitive Generative Art Challenge

I want to introduce the Rands Generative Art Challenge. It is April 2024, and using DALL-E, Midjourney, or Gemini, please generate a lowercase “r.” Ready? Go.

I’ll wait.

Still waiting.

My quest to generate a lowercase “r” with DALL-E resulted in this hilarious exchange:

Me: “Draw a lowercase r”

Me: “That isn’t lowercase. Do you know what lowercase means?”

DALL-E: “Yes, I understand what lowercase means. Lowercase letters refer to the smaller form of letters used in writing, as opposed to uppercase letters, which are larger and often used at the beginning of sentences or for proper nouns. I apologize for the confusion with the previous image. Let me provide a correct representation of a lowercase r.”

Generative art tools are curiously bad at rendering text, but on reflection, I found the interaction with DALL-E slightly disturbing. Does the robot’s failed attempt to draw a lowercase “r” and then defend its hilariously wrong work remind you of anyone? Maybe a human? Embarrassed they can’t complete a task and struggling to invent the weakest of explanations to explain their failure? I know the robot isn’t embarrassed. I know the robot doesn’t feel a thing, but why does this exchange feel so human?

AI systems generate false or inaccurate information as fact. I know because I asked a robot to explain it to me. In fact, I had ChatGPT explain hallucinations as “Michael Lopp,” which I’ll add as a footnote1. The short story is that hallucinations are attributed to biased or incomplete training data, the model’s overgeneralization, the complexity of reality, and a lack of common sense and world knowledge. The robots identify patterns in data but do not understand those patterns.

Hallucination comes in a lot of forms. Here’s an original photo of my beloved Titanium gravel bike, Sia:

Photoshop did this when I asked the robot to use generative fill on a larger canvas.

At first glance, this is amazing. It did an excellent job guessing (hallucinating?) the rest of Sia. Yeah, it blended her back tire into the redwood, but it also took the time to generate angle-appropriate shadows. My question is: when is hallucination helpful or a problem?

Here’s an example of helpful. I asked Midjourney2 to create a movie poster about robots from 1917.

This work took my breath away when I first saw it.

Reveries

As a person who can’t draw, the instant, high-quality gratification I receive from image-generation tools is gratifying. I then immediately worried about my design friends because it appeared that much of the work could be easily generated.

Then I think of writing. I think of all the writing I’ve generated with these tools and how it reads empty, tinny, and repetitive. If I knew anything about the craft of drawing and illustration, I’d feel the same way about the artifacts generated by robots. What makes a piece of writing good is the care you put into every single word.

A reverie is the state of being pleasantly lost in one’s thoughts. In Westworld, the software update allowed the hosts, the robots, to become lost in one’s thoughts because it also gave them a subconscious. That dark, quiet place where original thought isn’t considered, it’s created. With a subconscious, the robots began to think and act on their own.

We are nowhere close to these types of robots. It takes just a bit of work to begin to see the patterns generated by these tools, but then, every so often, they do something wrong, and it is in those errors, their mistakes, that I start to see glimpses of humanity.


  1. ChatGPT 4 Prompt: “Explain hallucinations like Michael Lopp.”

    Explaining AI hallucinations in a style reminiscent of Michael Lopp (Rands)—known for his insightful, candid, and often humorous takes on technology and management—would involve blending technical insights with accessible analogies and perhaps a touch of humor. Here’s how it might go:

    Imagine you’re at a huge, bustling party—let’s call it “The Data Gala.” Everyone you’ve ever known is there, chattering away. In one corner, there’s a group recounting every book ever written; in another, folks are swapping stories from every movie ever made. Amidst this chaos, you meet AI, the party’s designated storyteller.

    You lean in and ask AI a question, hoping for a nugget of wisdom or a piece of specific information. AI pauses—a bit dramatically, if you ask me—and then dives into its response. It’s confident, articulate, and utterly wrong. This is what we call an “AI hallucination.”

    Now, why does AI, with access to the conversations at “The Data Gala,” get things so mixed up? Well, AI is trying to weave together bits and pieces of a million conversations it’s overheard, attempting to generate something coherent and relevant to your question. Sometimes, it’s like AI grabs a snippet from a sci-fi novel chat, a tidbit from a soap opera rant, and a fact from a history discussion, then mashes them together into a “factual” answer.

    There are a few reasons why AI might end up telling you that Napoleon loved ice cream sundaes or that Shakespeare was an avid blogger:

    • Echo Chamber: If all AI ever hears at “The Data Gala” are tall tales about historical figures eating modern desserts, it might start to think that’s just how things were. The stories in its training data aren’t always accurate, and sometimes, AI just repeats the gossip.
    • Overconfidence: AI often acts like that one friend who thinks they know everything about everything. It takes a stab at answering even when the dots it’s connecting are from different puzzles.
    • Reality Simplification: The real world’s complexity doesn’t always fit nicely into AI’s narratives. So, it simplifies, sometimes to the point of fiction.
    • Common Sense Shortage: AI, bless its silicon heart, lacks common sense. It can’t always distinguish between what makes sense and what’s utterly bonkers.

    Addressing AI’s tendency to hallucinate involves teaching it to better understand the context, improving its “listening skills” at “The Data Gala,” and maybe giving it a gentle reminder now and then that not everything it overhears should be taken at face value—or repeated.

    So, next time AI tells you a story that seems a bit off, remember, it’s doing its best with the cacophony of data it’s been given. Our job is to help it become a better listener and a more discerning storyteller. 

  2. Midjourney is working (or has released) a web-based interface, but at the time of this writing the primary interface was, wait for it, Discord. 
Rands Declare your professional mindset

Shields Shirts

Back in December of 2015, I was in a meeting with HR, and we were arguing about retention, stock grants, or something similar. I was making no progress in explaining my nuanced point. Long pauses and blank states usually mean my spoken words have nothing to do with the valuable idea in my head.

Ok, regroup. Try a different approach.

“My point is this. If we don’t do this, engineers will lower their shields. They’re going to start answering those recruiting emails.”

Instant engagement. Head of HR jumps on the metaphor. “Right, what Lopp said. They’ll go shields down, and we’ll lose them.”

A well-named idea requires little to no explanation. The entire room grabbed the concept, and we made legitimate progress.

A month later, for my inaugural post of the year on this blog, I wrote Shields Down. That article remains in the top 10 most visited pieces on the site. Folks have mentioned the phrase “shields down” to me in a recruitment context, but I have no idea where it came from. As a writer, you being anonymously quoted to yourself is the dream.

Years after the Rands Leadership Slack began, I noticed members with shields next to their names in the channel. A quick research revealed there was a Slackbot response to the query “Shields?” which responded:

“… all refer to the progression in “job happiness” discussed at http://randsinrepose.com/archives/shields-down/. We use them here to indicate the range from being happy with where you are currently working to eagerly looking for new employment opportunities, hoping that we can start the conversations that help people work in a more positive environment.”

As a writer who uses stories to introduce concepts and never ever tells you what to do, it’s satisfying when the idea lands cleanly and promptly builds a life of its own.

Why did this one land well? Three reasons:

  1. Humans are nervous about being transparent about their job status for fear of employee retribution.
  2. The metaphor is a simple way to declare your feelings about your current job.
  3. The core concept: deciding to entertain the idea of leaving long before you leave is familiar, but only when someone describes the mindset. It’s not that you are leaving your job; it’s that your mindset has changed regarding your job.

So I made charity shirts. There’s one for each shield (Up, Neutral, Down, and On Fire); if you don’t know what state you are in, there’s a shirt with all the shields.

For the record, wearing a shirt that declares your mindset regarding your current gig might be a super bad idea. Good luck.

As with all of the merchandise in the Rands store, every single cent of profit is matched and donated to charity, which, in this case, is NAMI.

Writing Small things are chiseled

One Hundred Mondays

I have a superpower, and like most superpowers, it’s not actually a superpower, but only a habit that I do 10% better than most humans. I chisel.

Let’s say there’s this big project I want to complete. It’s not a big project; it’s immense. I’ve never done it before, and I’ve no actual idea how to achieve it. This happens more than I am willing to admit.

But I really want to do it. This hypothetical project is not only immense, but it has an immense return on investment. Writing a book. Working at my dream company. Speaking at that one conference. The completion of this immense project has intrinsic value to me, which is why I’m so fired up to start.

Chiseling is not required in the first few weeks of this project because I am fired up and full of forward momentum. Outlines, ideas, drafts of things, loudly spoken next steps. Yeah, you’ve seen this human before. They are gesticulating wildly, wide-eyed, and working hard to build an army of the willing to join them on this endeavor.

You nod. Half-grin. And repeat to yourself the idea that everyone is already thinking as this fired-up human spins their impressive tale, “How long is this going to last?”

You’re right. The half-life of enthusiasm is a function of the perceived value of the project divided by the unbridled enthusiasm of the human. The moment the enthusiasm fades, the likelihood of the project’s completion significantly fades.

You’re right. We humans are well known equally for our initial high enthusiasm followed by our subsequent predictable shrugs and half-empty response, “Yeah, I’m still working on that. I’ll have an update shortly.”

There is no update.

You’re not working on it.

This project is done.

This is when I chisel.

Project Enthusiasm Honeymoon Window

A serial enthusiastic project starter, I am intimately aware of the Project Enthusiasm Honeymoon Window™. This is a period of time that starts at idea conception and ends when the project becomes hard.

No amount of energy makes the project less hard. I’ve now stared at this effort from multiple angles, I’ve reviewed the idea in my head endlessly, and I’ve reviewed it with you five times. You are tired of talking with me about it.

The challenge with closing the Honeymoon Window is that the perceived total complexity of the project is at its highest. As I’ve never done this before, I can’t think how to get from Point A to Point B, so I internally despair. How am I going to do this? This appears impossible. This is impossible.

So I chisel.

I find the minimal viable next step, and I do it. It’s not hard, it’s not lengthy, it’s just a step that obviously fits into the project. It makes sense, so I do it. Completely. If I’ve done it wrong, I attempt it again. And again. And again, until I believe it’s complete. It’s finished.

Then I do the next thing.

Is this the right next thing? I don’t know. Does this fit into a grand strategy? No. Is there an actual strategy in play? Not really.

So I do the next thing. And the next. And the next.

It is around this time that those watching my incessant chiseling start to notice. They see my small, potentially misdirected efforts and inquire, “Wait, are you still doing this?” This is the moment. This is the moment that weeds out 90% of the humans. It’s the judgment of someone you trust indirectly saying, “Wait, are you still wasting your time?”

My superpower is a combination of my ability to ignore this question and move on to the next thing. I am equal parts stubborn and tenacious.

The Return on Investment

Starting tomorrow, I’m posting three writing prompts to a mailing list every Monday. I’m doing this for one hundred Mondays, which means I’m writing three hundred prompts. You can sign up for these prompts right now.

I explain the rationale for this project on the site. The short version is that I recently pivoted my answer to the frequent question, “How do you write a book? from “Write one hundred words a day” to “Here are three customized prompts to get you started.” The reaction to this offer buoyed me to suggest this approach to larger and larger audiences, which was received with increasingly disproportionate enthusiasm.

Now, there’s a newsletter.

You’re likely reading this piece because you believe I have leadership wisdom to share with you. I do. You’re soaking in it. Right now. One of your most important leadership muscles to develop is your writing ability, not because you need to publish your words to the world but because, as a leader, you need to deconstruct how you think. Writing teaches you how you think.

If you choose to join me on the writing adventure, you will ignore most of these prompts. They won’t speak to you. Infrequently, one will. You’ll write a paragraph or two, and that’s it. Maybe you’ll share it with someone, but probably not. Finally, one prompt will anchor itself in your brain, and until you write your response, you won’t be able to sleep.

Every single act in the prior paragraph is purposeful writing practice. Even ignoring the prompts. The simple act of deciding whether the words do or do not speak to you. Reading is an essential part of writing. It is ideas like this that I intend to sprinkle into my weekly updates.

But here’s the secret. While I am enthusiastic about helping you learn about being a better writer, this is just another chisel. I’m up to something. I’m not going to tell you because while I know the broad vision, 300 hundred prompts over 100 Mondays will change my vision and make it better.

Until then, let’s chisel.

Seven Steps to Monday Ramp

Remember. Monday. It’s not Wednesday when everything is already blowing up. Monday is a blank slate before 9am; this is my chance to set the tone.

  1. While it is still quiet, get a fresh cup of coffee (I prefer black and strong). Not a coffee drinker? Great, try Chai or just a glass of water. You need a brief pause, a sip, between these steps. Now, read something unrelated to work to get the mental juices flowing. Skim the news. Work adjacent. Important, but not urgent. Sip.
  2. Clear your workspace. Maybe it’s your desk, maybe it’s your desktop, but spend three minutes making your space your own. Everyone has a different version of this, but it’s an essential investment as the chaos begins. Sip.
  3. Scrub the Mail inbox. If attention is required, apply it. Schedule time later in the day if more attention is required than available. If that’s not going to happen, put the task in To-Do. Sip.
  4. Scrub Slack. I’m looking for those direct messages and channels with red notification badges where someone @mentioned me because that’s always news. I’m skimming channels I’ve previously put in a well-maintained HOT channel group. Skimming. Not reading. Taste the soup. Finally, time permitting, I’ll skim other non-HOT channels just looking… just being curious and encouraging serendipity. Sip.
  5. Calendar audit. Look through the entire week and see what will require a disproportionate investment. For these areas, ensure I have appropriate preparation time, including additional blocked-off time. Bonus time savers: make sure any double-booked times are resolved, build in travel time for geographically challenged meetings, and decline meetings that seemed important weeks ago but now appear less important. Alert important people regarding these declines and give them the ability to convince you otherwise. Sip.
  6. To-do list pass. For being the cornerstone of the operation, my to-do list is surprisingly low signal relative to the Monday Work Ramp. I am much more likely to see warning signs in Mail, Slack, and Calendar than in my to-do list. However, a to-do list is only as valuable as its last complete update, so I do one. The goal is to put all tasks into one of three buckets: today, tonight, or later. If I cannot do this quickly, carve off time on the Calendar to curate the To-Do list because something is in terms of how much I am attempting to track. Sip.
  7. Review (or invent) metrics. Somewhere in your work universe, there is an important set of metrics you are supposed to watch carefully. They are in one of three possible states: (1) They are well-defined and universally understood (2) They exist (sort’f) somewhere (maybe?) and some people think they are important (kind’a) (3) They don’t exist, so no one cares. Regardless of disposition, you must spend some brief time either reviewing well-defined metrics, making semi-understood metrics more accessible to more people, or defining or finding these metrics. My guess is the prior (6) steps made sense to you, and this one is a head-scratcher. Your degree of discomfort with this bullet directly correlates to how badly you need to complete it.((Sorry, yes. I need to write more about this. I will.))

These seven steps are designed to give me weekly context. Each week has a different set of challenges and goals, and by filling my mind with the current context, the obvious forthcoming weekly challenges are approachable and inevitable, and the unexpected ones are less of a surprise.

Sip.

Tools as efficiently as possible

The 2024 Bookmark Situation

The New Year is an excellent time to tidy. I’ve been sitting on the same browser information structure for years, meaning cruft has been acquired. My initial plan was to describe the current structure and then describe the proposed changes. As I evaluated my current set-up, a slew of apparent inefficiencies showed up, so this is now the 2024 revamp.

On my desktop, I use Safari Favorites and Tab bar, which are always visible. Let’s start with Favorites:

There are two types of folders: special and project folders. The only difference between these folders is how I use them.

Special folders:

  • A folder titled **hot** which has sites I am actively and heavily using. I also use this bucket for sites that need further evaluation so I can figure out if they need to be filed elsewhere or deleted.
  • A news tab group. This special folder opens all of the sites (New York Times, Washington Post, Bloomberg, and Wall Street Journal) in the group. I am leaving this for now, but I suspect I’ll delete it this year because I regularly see all this content in Feedly (an RSS reader), a newsletter, or socials.

Project folders:

The rest of my bookmark folders are projects or theme-based. For example, a Rands folder has links to all Rands-related sites and utilities (WordPress, LibSyn, statistics, etc). I infrequently prioritize nine of these, so the leftmost is the most frequently visited.

Bluntly, sites saved to these folders are mostly forgotten. It’s long-term storage, and I’m infrequently accessing them. I regularly return them either via memory or other non-bookmark reminders. One hack I’ve started using in the last year is giving the site/page a memorable title and using LaunchBar for quick access to my Safari bookmarks.

Pinned sites:

Moving to the tab bar. I have five pinned sites:

  • Feedly
  • Mastodon
  • Threads
  • BlueSky
  • ChatGPT

Feedly is my favorite means to consume my information. I fly through RSS feeds. The social sites are accessed much less and are filler to the day as opposed to my Feedly review, which reveals the planet’s heartbeat.

Wondering what ChatGPT is doing in this group? Me too. I am finding increasing usage for ChatGPT, which means I need easy access, but this location seems wrong. I want this either in my search bar, but for now, I’m leaving it… and saving it to my Dock.

Ok, so that’s my information structure setup. With iCloud enabled, Safari does an excellent job synchronizing this content between my three primary Macs, two iPhones, and two iPads 95% of the time. I am an avid user of iCloud Drive, which just works. I don’t attempt to synchronize application preferences because that ends in tears. We should fix that.

Morning Bookmark Habits

My morning flow starts via the pinned sites, specifically Feedly. My goal, just like my inbox, is to read as much as I can and, when I’m out of time, mark the rest read. If that protocol makes you a little twitchy, understand that there are three other ways an important bit of information will show up in front of me: social sites, newsletter, and the news group described above. After years of running a similar process, I can confirm that if something moderately interesting is going down on the planet, I’ll have a hint it exists.

After pinned sites, I’ll glance at the hot folder to quickly check whatever sites are there that need my daily attention. At this moment, it’s a spreadsheet that documents project risk, a mission statement I’m iterating on, an exercise spreadsheet, and a dashboard for hiring. Again, sites I need every day.

This inbox process repeats itself for Mail, Slack, and Calendar. In each application, the goal is to triage new incoming things, properly file items that need future consideration, and, as efficiently as possible, get the noise out of my primary view.

Ok, what’s next?