Playing with ChatGPT

Large Language Models – or LLMs – have been in the news for well over a year now as people explore various ways these sorts of tools can be used in any number of situations. Like many people, I've dabbled with some of these as well. The locally-run models are interesting and terribly slow while the public services are rapid and most certainly not free1.

Last year I was curious to see whether this technology could be used at the day job in order to provide a more complete description of student development in the written sections of progress reports. This is generally an area where specificity is useful, but the time needed to write a detailed analysis of someone's growth is often greater than the amount of time that teachers have available. The idea that I wanted to test was this: given we already know a person's attendance, participation, past progress scores, and material coverage, can a 400-word summary be provided to the teacher ahead of time? This would allow them to read through the feedback and make edits where appropriate, while ensuring the students have realistic, evidence-based feedback to help them with future studies.

After a couple of days worth of effort, it was clear that there were two LLMs capable of delivering the core of what I was looking for. One even had the added benefit of being able to translate across multiple languages, making it a clear winner. I delivered my findings to senior management at the day job who agreed that it was an interesting area of study, but they decided to not pursue any sort of automated feedback system just yet. The one or two vague sentences from the bulk of our over-worked teachers was clearly sufficient in their eyes, so I set my investigations of LLMs aside given that none of my personal computers really had the power to use them in a realistic fashion2.

However, as LLMs, image generators, and video creation engines become more powerful, this isn't something that makes sense to completely ignore. There are a number of areas where these sorts of tools would be incredibly useful, particularly the Large Language Models which can be trained on the writings of an individual.

Jordan Peterson has mentioned on a few occasions how people he works with are doing things like putting the entirety of Christian texts into LLMs in order to ask the machine questions. Peterson Academy will do something similar, putting entire courses into an LLM so that students can "ask the course" a question. Dr. Peterson has even had all of his writings put into an LLM so that he could essentially ask himself a question. His glowing reviews of this budding technology has made me incredibly curious.

Could a Large Language Model be used to generate course material that is customised to an individual student? Could it take into account their strengths and weaknesses? Could it recommend further study on matters the student may require to successfully complete a course? This would be an incredibly interesting area of study, but it's a bit beyond my abilities at the moment. Before getting into something like this, it might be better to start testing LLMs with personalised data.

Dabbling with ChatGPT

Looking at the hardware requirements to run a Large Language Model system locally, I would need to invest about $3,500 at a minimum into a workstation. Several avenues were explored to reduce costs, including starting with a used system that could be upgraded in sections. Unfortunately, the cost always worked out to somewhere in the vicinity of $3,500 to $4,000 in the first year, not including the cost of electricity and network bandwidth. This is several thousand dollars more than I am willing to invest at this time, so a cheaper option was required.

Fortunately, OpenAI has a $20/month offering for a fully-featured ChatGPT account. Last night I created an account and started playing around by asking the machine questions, hoping it would provide answers that I already knew3. In each case the response was correct and, in one instance, the answer included information that I had never heard before. Within five minutes I discovered two other sources that corroborated the new information and was impressed because ChatGPT taught me something new while I was testing its ability to understand my words.

Next I wanted to see how well the DALL-E image generator worked. The first request was "Show me a paper airplane flying over the surface of Mars with the Curiosity rover in the distance". This is what I received back:

Paper Airplane on Mars

I then uploaded a picture of Ayumi and asked "Show me a picture of Ayumi playing a game of Go against a cat". This is how DALL-E responded:

A Shiba Inu playing Go with a Cat

Very interesting.

But could it write something the same way I might? Would it know to use an excessive number of commas, ellipses, and relative clauses?

Today I tested this out by uploading my entire public blogging archive dating from 2006 to today, as well as every public social post I have ever written to Twitter, App.Net, and Nice.social. This amounts to almost 4,000 blog posts and over a quarter-million social posts. Replies and any post shorter than 100 characters was excluded, as they would lack any context to work with.

To test, I kept the request vague: "Can you write a blog post using my writing style?"

What came back was interesting:

Embracing the Unfamiliar: My Journey with Ayumi and the Art of Coding

In the ever-evolving landscape of life, I find myself continually drawn to the unfamiliar, seeking growth at the crossroads of personal adventure and technological exploration. This journey, accompanied by my faithful Shiba Inu, Ayumi, mirrors the unpredictable nature of coding - a realm where each challenge is a step towards mastering the art.

Ayumi, with her spirited demeanor, teaches me the value of curiosity and resilience. Our travels across Japan, from the bustling streets of Tokyo to the serene landscapes of Kyoto, are more than mere physical movements; they are a metaphor for navigating the complexities of coding interfaces, databases, and APIs. Each destination, much like every coding challenge, presents its own set of puzzles, demanding adaptability, patience, and an eagerness to learn.

The philosophy of coding, much like life itself, is an endless loop of learning and unlearning. It's about embracing the bugs and errors as stepping stones, not stumbling blocks. Ayumi's unwavering spirit in the face of new territories and her joy in discovery remind me of the satisfaction found in solving a particularly stubborn bug or deploying a feature that perfectly serves its purpose.

Our adventures are more than just tales of a man and his dog; they are a narrative of the symbiosis between technology and human experience. As Ayumi explores new landscapes with fervor, I delve into the intricacies of coding, each of us on our own quest for understanding, yet together on a journey of mutual growth.

In this dance with the unknown, Ayumi and I find harmony. The challenges of the road and code, rather than daunting, become sources of inspiration. They remind us that at the heart of every adventure, whether it be through the forests of Japan or the virtual forests of code, lies the opportunity for discovery, learning, and, ultimately, a deeper connection with the world around us.

Screenshot of Request

Lots of commas. Relative clauses galore. Even a pair of semi-colons. The only thing missing was an ellipsis in the first or second paragraph. The intertwining of disparate ideas in a semi-unresolved manner also seems to capture some of my longer-form blog posts from years past where I tried – and failed – to hone the craft of writing thoughtful articles exploring a philosophy that I could not yet lay down in words.

Absolutely remarkable.

Bringing this whole thing back to the idea of using LLMs with personalised education, using a tool with this sort of perspicacity would make it possible to construct personalities for one or more "teachers" who could interact as realistic avatars with people studying a topic. While this would not eliminate the isolation a person feels when learning something on their own, it could drastically reduce the need to find secondary or tertiary sources for answers. An LLM with an entire library of materials on astrophysics, for example, could answer questions from students in the persona of the teacher leading the course or – if such things were permitted – through the voice and mannerisms of Stephen Hawking, Michio Kaku, Neil deGrasse Tyson, or Edna Krabappel. This could drastically improve "engagement" in a learning environment; something that is often a challenge with students who are easily distracted or bored.

At the moment, no artificial teacher can replace a real human who is invested in teaching people a subject they are passionate about. We still have a long way to go before technology can completely replace the benefits of learning from physically present educators. However, a well-trained digital assistant could go a long way to reducing the workload of a teacher or professor, answering the simpler questions or repeating the same points for students who need the repetition. This would allow digital systems to be where skills and knowledge are acquired so that classrooms can be dedicated to the application of the skills and knowledge.

A pie in the sky dream? Perhaps. But we are a lot closer to this being a reality than a lot of people might realise.


  1. Yes, there are free offerings out there, but these services generally offer the previous version of their software or an incredibly limited subset of functions. When exploring a tool with as much press coverage and potential as an LLM, it's generally better to invest some resources in order to build a better understanding of what potential may exist.

  2. I do have a decent computer … I think. It's just not decent enough to run LLMs with any sort of velocity. A single question can take upwards of 30 ~ 45 minutes to answer. Maybe one day I'll invest in a dedicated machine for this purpose … but not for a long while.

  3. Do not blindly believe anything found on the Internet.

Not Worried at All

My mother asked me a question during our most recent phone call that tech bloggers and pundits have discussed for well over a decade: Is it a good thing to teach kids how to code in school?

On the surface, the most obvious answer to this question is a simple "Yes", but I wanted to know why my mum asked this question, given that she doesn't even own a computer and sees them as conveniences, but not essential.

If more people can write code, then why wouldn't a company just replace programmers after a couple of years to keep costs low?

Ah … the IBM Way™ of running a business.

The question came about as I was describing the philosophy that I adhere to when writing code and how it can create friction with management teams who expect absolute obedience from their people. So, with this in mind, the question could probably be phrased like:

Aren't you worried that you will be replaced with a younger person who knows the basics of coding and won't question authority?

Short answer to this question is "No" and I would encourage everyone to learn even a little bit about how to make computers work for them rather than the other way around. There are professional data analysts who earn six figures a year just because they discovered the power of VLOOKUP in Excel and launched themselves into a new career as a result. There are musicians who learned a dozen commands in Python to create a custom pattern synthesiser which resulted in a long career. There are kids all over the world with beat up computers who discover that a little bit of PHP can be the start of a career writing plugins for many of the most popular website engines that are currently in use. With just a little bit of knowledge, computers transform from "magical black boxes" to "tools that enable work to be done". If someone learns a little bit and makes a little money, they are free to decide whether they take the plunge to build their skillset or move on to other things.

An example I gave to my mother went along the lines of "How is learning to code any different from learning a language?" Is anyone threatened when there's another human who can speak (or sign) a language? Most of us can communicate with our mouths, hands, and even eyes. If a billion people were to learn Esperanto, would that be a net negative for anybody who is currently fluent in that tongue? At the very least, it would open up a new market for art and culture.

Going further, we all have our first languages. Some people use it better than others, and those who put it to great use earn the greatest benefits.

So … no. I am not worried at all when schools teach kids how to write code. I am not worried at all if management is upset when I refuse to do something the way they want because it conflicts with a philosophy I adhere to. I am not worried at all if I am replaced, as it's bound to happen eventually. What I am worried about is people not having the opportunity to learn a skill that may help them solve a problem they'll face at some point in life.