VOOZH about

URL: https://thenewstack.io/how-to-learn-unfamiliar-software-tools-with-chatgpt/

⇱ How to Learn Unfamiliar Software Tools with ChatGPT - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2024-01-30 07:24:13
How to Learn Unfamiliar Software Tools with ChatGPT
tutorial,
AI / Software Development

How to Learn Unfamiliar Software Tools with ChatGPT

ChatGPT's mind-boggling ability to see and react to my coding attempts points to a whole new way of learning how to use software.
Jan 30th, 2024 7:24am by Jon Udell
👁 Featued image for: How to Learn Unfamiliar Software Tools with ChatGPT
Photo by Artturi Jalli on Unsplash.

I regret never having studied calculus in school, and over the years I’ve made a few efforts to fill in that gap in my knowledge. It would have been a different story, I’m sure, if I’d been lucky enough to have Eddie Woo as a math teacher; it’s amazing to have his classes available on demand. I’ve also learned from Sal Khan’s videos, and this time around I went back to Khan Academy to see how its integration of ChatGPT changes the learning experience.

As I began working through an exercise, the Khan site presented me with a chart made with a tool I’d never heard of: GeoGebra. I realized it would be helpful to know how to use that tool to graph the concepts I was working with: a parabolic equation; a secant; and the run, rise and slope of the secant. I got as far as charting the parabola, using f(x)=16-x^(2), but wasn’t sure how to proceed. So I asked ChatGPT.

👁 Image

It provided these GeoGebra inputs:

ChatGPT

 A = (1, 16 - 1^2)
 B = (4, 16 - 4^2)
 line(A, B)

I used those inputs to plot the points and draw the line, and also verified that I could have used the Point and Line tools to do the same things manually.

Then I showed my progress — by pasting in another screenshot! — and asked about the slope of the line. (You can’t yet do this with Khan’s integrated assistant, but you can do it directly in ChatGPT.)

ChatGPT
The equation of the secant line is provided in the GeoGebra output as y = -5x + 20. This means the line falls 5 units vertically for every 1 unit it moves horizontally to the right.
Jon
How can I add rise and run to illustrate that?

ChatGPT

 perpendicularLine[A, x-axis]
 
 perpendicularLine[B, y-axis]

That didn’t work, as ChatGPT acknowledged when I showed it the result of its instructions.

👁 Image

It had already shown me the recipe that those erroneous inputs were intended to shortcut: create a triangle with A, B and a new point C directly to the right of A and directly above B. Now it repeated those instructions for doing these things manually, using the Line tool, and also gave me new shortcuts.

ChatGPT

 RunLine: Line[A, A + (1, 0)]
 
 RiseLine: Line[B, B + (0, 1)]

That worked, but by now I was getting the hang of GeoGebra and realized I really just wanted segments like this.

 C = Point(4,15)
 
 run = Segment(A,C)
 
 rise = Segment(B,C)

Next, I wanted to show the slope and display the lengths of the segments. ChatGPT gave me the right input for the slope: slope = Slope(g). But its recipe for displaying the lengths of the segments entailed adding unnecessary lines, labels, and hardcoded measurements. I found a better way.

Jon
It looks like I can simplify by just setting label and value properties on the segments.
ChatGPT
That’s right. In GeoGebra, setting the label and value properties on the segments is a very efficient way to display the lengths directly on the graph. Your latest image shows the “run = 3” label correctly placed near the horizontal segment and the “rise = 15” label correctly placed near the vertical segment, which is much clearer.

Here was my final result:

👁 Image

It’s a great example of rule 7 from 7 Guiding Principles for Working with LLMs: Learn by Doing. In the pre-LLM era I would have gotten to the same result eventually, but this was a radically better experience. Of course, it would be ideal to work through the exercise with a human coach who knows both the math and the GeoGebra interface, but in reality that’s rarely possible. Iterating on my graph attempts with ChatGPT was a great way to jumpstart my GeoGebra experience. ChatGPT’s knowledge of the tool’s interface, while imperfect, was very helpful. And its mind-boggling ability to see and react to my attempts points to a whole new way of learning how to use software.

Replicating the Experiment

To check whether this was a fluke, I switched to a different task: visualization of query results in Metabase. In this case, I had a lot of experience with the software, but it had been a while since I’d touched Metabase. My knowledge of it was rusty and Metabase had likely changed in the interim.

To start, I pasted an image of a Metabase question that showed a sample of the data, along with the tool’s visualization pane, and asked how to chart commits by month.

👁 Image

ChatGPT

You’ll need to aggregate your data by month. To do this, you can use the “Summarize” option.

In the Summarize menu, look for the “Group by” option.

Choose the “Author Date” column to group by.

Then, you should have the option to adjust the grouping to be by “Month” instead of by “Day” or “Year”.

That was right with respect to Summarize and Group By. But there was no option to group by month. Maybe there used to be, or maybe ChatGPT got that wrong. Poking around in the Metabase interface I rediscovered the ability to create a custom column, and realized I needed to derive a YYYY-MM column from the YYYY-MM-DD-formatted Author Date column. How? ChatGPT provided two plausible approaches, the second of which worked.

👁 Image

Now I wanted to count the number of distinct contributors per month. These instructions worked.

ChatGPT

Use the “Summarize” option again to add a new metric.

You’ll want to add a count of distinct contributors. To do this, you should choose the “Count of distinct…” option, which might be represented as “Count Distinct” or something similar.

For the distinct count, select the “Author Login” column since this is what identifies each contributor.

Metabase should automatically recognize that you have two different metrics and offer you to create a multi-series chart.

It did. At this point I realized the Author Login column contained nulls that I should remove; these were my instructions.

ChatGPT

Open the Filter Menu:

Find the “Filter” button in the query builder interface, which is usually near the “Summarize” button.

Add a New Filter:

Click on “Filter” and then choose to add a new filter.

Select the Column to Filter:

In the filter options, select the “Author Login” column.

Set the Filter Criteria:

Set the criteria to “Is not” or “Does not equal” and then select or type “null”. This tells Metabase to filter out any rows where the “Author Login” is null.

The actual criterion turns out to be not empty. That was obvious to me, but what if you weren’t sure? I showed my screen and asked to verify the choice.

👁 Image

Quite remarkably, ChatGPT not only confirmed that not empty was the right choice, but it could apparently detect that I had already selected it.

ChatGPT
You’ve already selected the correct filter to exclude null values. The “not empty” option will filter out any rows where the “Author Login” field is null or empty.

Now I wanted to count the number of distinct repos per month. That information is implicit in the data — the html_url column includes repo names that just need to be extracted with a regex. I never gave ChatGPT a string like https://github.com/turbot/steampipe/commit/a4b12…, nor a hint about using a regex to extract the repo name (turbot/steampipe, in this case), but there was no need for any of that. It figured out what to do and showed me how.

👁 Image

As it turns out, regexextract is the correct Metabase function, and that was exactly the right incantation for my new custom column.

As with GeoGebra, ChatGPT’s knowledge of Metabase was incomplete but still very helpful. And the workflow, which again entailed showing screenshots of intermediate results, was again shockingly effective.

When Humans and Machines Both Read the Docs

In How to use LLMs for Dynamic Documentation I pointed out that asking LLMs for on-the-fly comments on code can be a useful complement to comments written by code authors. It looks like LLMs will be able to usefully complement software documentation in a similar way.

Ideally, tools like GeoGebra and Metabase provide interfaces so intuitive that you rarely need to read the docs, and you can learn the software just by poking around in it. In reality, of course, we need those docs — and they still need to be excellent. But now, we’ll extract a new benefit from them. When we can partner with machines that have read the docs, and can look over our shoulders as we try to do the things described in the docs, we’ll turbocharge our ability to dive into unfamiliar software tools and quickly learn how to use them.

TRENDING STORIES
Jon Udell is an author and software developer who explores software tools and technologies and explains them in writing, audio, and video. He is the author of the cult classic Practical Internet Groupware. Past gigs include Lotus, BYTE magazine, Safari...
Read more from Jon Udell
SHARE THIS STORY
TRENDING STORIES
TNS owner Insight Partners is an investor in: Metabase.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.