LLMs are a general-purpose technology with seemingly endless use cases. Among my favorite is unlocking the potential of other technologies.
For example, all modern “desktop” OSs come with shell environments. If you know a bit of scripting, you can automate tasks in ways that go beyond what you can do in the default WIMP UI.
But “know a bit of scripting” is a tall ask. Command line shells harken to an earlier era of computing when the usability/power balance skewed toward power. Learning shell scripting is hard and it’s easy to make catastrophic mistakes.
That’s where AI comes in. LLMs “know” a lot more about esoteric computing environments than you. If you know enough to know what shell scripts are, how they work, and what they can do for you, you can ask LLMs to write scripts for you. They likely won’t be perfect at first, but you’ll have a starting point – and learn in the process.
Note that in this scenario, the LLM doesn’t provide net new functionality. Instead, it unlocks latent potential in your existing stack. Shell scripting is decades old. But if you’ve never used it, it’s new to you. And LLMs know more about older stuff than newer stuff. The more established the technology, the more reliable the results.
Case in point: yesterday, I had an astonishingly helpful interaction with ChatGPT. Here’s the scenario. This week, I kicked off a new client engagement. As usual, I’m sifting through lots of research materials.
Here’s what I was trying to do. I have two text documents with long outlines of bullet points documenting user personas. Each bullet point has the following format:
Headline of the item: A longer description that explains
what the item is about, including examples and such.
Like I said, there were lots of these bullet points structured in categories (a branch for a set of points.) I wanted to make sense of them: find patterns, high-level groupings, etc. I’d prefer to turn them into “stickies” in a canvas where I can cluster them and such.
My favorite way of doing this is using Tinderbox, a hypertext note-taking tool that lets you explore textual data. I don’t blame you if you’ve never heard of it: even though it’s been around for a long time, it’s a niche product. It’s also complex and has a steep learning curve.
I wanted to import the text into Tinderbox notes, one note per bullet. I wanted the text before the colon (e.g., “This is a summary of the item”) to be the note’s title and the text following the colon should the note’s body.
Tinderbox can easily import texts and break them up at arbitrary delimiters. But there were two problems with the default approach:
- If I used paragraph breaks as the delimiter, the entire bullet text would become the title.
- If I used the colon as the delimiter, then the stuff to the left of the colon would become one note and the stuff after the colon another note.
Neither was what I wanted. I opted to import the whole note using paragraph breaks and then clean up the resulting titles by dropping everything after the colon.
The obvious problem: doing this manually is time-consuming. Fortunately, Tinderbox provides several ways of automating tasks. It has at least one proprietary scripting language. There’s good documentation, but because Tinderbox is a niche product, it’s hard to find examples of the exact thing you’re trying to do.
I’ve spent hundreds of hours trying to solve these kinds of problems. I know the tool can do what I want, but don’t know what magical incantation unlocks the functionality. So I peruse documentation and Substack and try one thing after another until I hit something that works. It’s frustrating.
This is exactly the kind of scenario where LLMs help. So I opened ChatGPT and typed:
ME: Are you familiar with Eastgate’s Tinderbox?
CHATGPT: Yes, I’m familiar with Eastgate’s Tinderbox. It’s a sophisticated tool for note-taking, personal knowledge management, and idea visualization. Tinderbox allows users to create, organize, and analyze notes in various formats, including maps, outlines, and timelines. It’s especially useful for writers, researchers, and thinkers who want to explore complex ideas and connections.
Some key features of Tinderbox include:
- Dynamic Notes: Notes can include metadata, links, and scripts to automate processes.
- Visualization: Multiple ways to view and interact with your notes, like maps, outlines, and attribute-based dashboards.
- Prototyping: Templates and rules to create dynamic relationships between notes.
- Export: Flexible exporting options for sharing or integrating with other tools.
- Customizability: Users can tailor the interface and behavior to their specific workflows.
If you’re using it or considering it for your projects, let me know–I’d be happy to help brainstorm ways to make the most of it!
I started here because I wanted to validate we were talking about the same tool. There might be other applications named Tinderbox; I wanted to set the right context from the start. ChatGPT’s answer gave me confidence that we were in the right neighborhood.
With that out of the way, the next step was asking ChatGPT for help with my specific need. When doing this, I try to be as specific as possible. In this case, I knew Tinderbox has a feature called stamps that lets you automatically run scripts on notes. It’s the right approach for this problem; I just needed help with the script itself.
So this is what I typed:
ME: Please help me create a stamp for Tinderbox. I want to make a little script that truncates a note title at a delimiter (:), losing the second half of the title. Does this explanation make sense?
Note that I’m asking for confirmation that my instructions make sense. ChatGPT acknowledges that it does and gives me confirmation by explaining what it knows about stamps. Again, this builds my confidence in the proposed solution:
CHATGPT: Yes, that makes perfect sense! A stamp in Tinderbox is essentially a small script that you can apply to notes for specific actions. Here’s a script for your desired functionality:
Stamp Script
$Name = $Name.split(":")[0];
Explanation:
- $Name: Refers to the note’s title in Tinderbox.
- .split(“:”): Splits the note’s title into an array using the colon (:) as the delimiter.
- $Name =: Assigns this truncated value back to the note’s title.
Steps to Create the Stamp:
- Open Tinderbox and go to the Stamps menu.
- Select Edit Stamps….
- In the Stamps editor, create a new stamp and name it (e.g., “Truncate Title at Colon”).
- Paste the script above into the script area for the stamp.
- Click OK to save.
Now, you can apply this stamp to any note, and it will truncate the title at the first colon, discarding everything after it. Let me know if you need further clarification!
I followed these instructions and applied the stamp to my notes. It worked on the first try.
Now, let’s unpack what’s happened here. First, a task that would’ve taken me several hours took a few minutes. That’s great. But second, and perhaps more importantly, ChatGPT’s answer is helpfully annotated. The explanation, in particular, concisely unpacks the script to tell me what it’s doing. This doesn’t just build my confidence in the answer, it also teaches me stamp scripting.
An analogy: I’m convinced using Grammarly for a few years made me a better writer. Yes, it’s great that it corrected my writing. But that wasn’t the only benefit. Seeing the same error come up time after time made me realize how my writing fell short – in a context where I could do something about it.
LLMs do the same thing but for… everything. English is a damned powerful API! Frankly, I was blown away that this worked in the first try. Tinderbox is a not a mainstream application,
Obviously, this includes venerable – yet esoteric – tools like Tinderbox and sed. I’ll never be a Tinderbox master. But I know enough to know what to ask for – and LLMs are there to provide it. I saved enough time in this fifteen-minute interaction to pay for an entire year of ChatGPT Plus.