ChatGPT: The Future, Like It Or Not

I’ve spent some time dabbling with large language models like ChatGPT and Bard.

I’m absolutely convinced that AI and large language models, despite their challenges, are the future.

I thought I would try putting into words what it is I think they offer, and also recognize some of their limitations.

What is an LLM and Generative AI?

It might help to level-set a little bit by providing a simple description of what a large language model is. Think of it as a large data set and a self-supervised learning algorithm to understand and summarize statistical relationships in information. The result is a program that can generally understand language and generate probably accurate responses.

I’m adding extra emphasis on probably because it’s important to understand that the algorithm is a probability engine. This means that the algorithm will sometimes get it wrong, leading to some interesting results. The other challenge with the algorithm is with the quality of the data set. Humans are also prone to errors and bias, which can show up in data and influence the outcome.

However, people are also influenced by poor data and the bias of others. It doesn’t change the fact that an AI algorithm is very good at learning processes and systems that people create for themselves for the efficiency of repetitive tasks.

Tasks that can potentially be augmented

AI will shine as an augmentation tool in any kind of repetive process. I suggest this includes fields that have defined “best practices”, including in my field of design and development. I emphasize augmentation because there is a fallacy in the argument that AI will negate the need for people: The data to train AI has to come from experienced people, and experienced people have to start from the bottom.

There are already some instances where AI is used in the market. Chatbots and fraud detection are some examples. But surprisingly, AI is also being tested and used in these fields.

Medical

The pattern-recognition capabilities of AI has been helpful in diagnostic imaging and cancer care. Recently, A generative AI discovered and designed drug for Idiopathic Pulmonary Fibrosis has been in clinical trial.

In another study, AI was found to provide clinical accuracy and safety comparable to that of human doctors, while also providing safer triage recommendations.

Law, specifically Paralegal

AI is already used in law for processes like e-discovery: Collecting, storing, reviewing, and exchanging information related to a case in digital format. It’s also useful to expedite searching for information in case documents. Contract-related functions is another area where an AI is useful, being able to draw from market standard publicly-filed examples.

Education

AI is a capable tutor. Its ability to generate natural reading language makes it useful to explain complicated math problems.

Graphic Design and Web Development

I have to admit, this one is a little scary for me as it’s my wheelhouse. There are several graphic-generating engines available online, such as DALL·E. There are potential issues with using tools like this (see “What About Copyright?”). AI can also write code, in just about any language. I have personal experience using it to write complicated Regular Expressions (see next section).

What About Copyright?

The challenge with LLMs is that due to their being generative, it’s producing content based on probable statistical relationships. Unless a subsequent check is performed afterward, there is no way to know whether it reproduced a copyright-protected work.

This happens in the creative world too — but there are measures for accountability in these instances. We don’t yet have a good understanding of accountability for the recreation and usage of copyrighted works produced by an AI.

Personal Experience

I have some personal experiences using LLMs. I find ChatGPT is great for less volatile scenarios that rely on a mature knowledge base. In my case, this includes: Writing complicated regular expressions and summarizing video captions into a blog post. But there’s one particular example that I want to dive into:

“Patient Symptom Game”

In May 2023, I decided to tinker with ChatGPT to test a hypothesis. My hypothesis was that, if instructed to do so, ChatGPT was potentially a useful model for diagnosing difficult medical cases based on seemingly isolated symptoms.

The cool thing about tools like ChatGPT is that, if you don’t think it’s giving you responses that are leading in the right direction, you iterate on your prompt to anticipate that. After a few iterations, I arrived at this prompt:

"I'm going to give you a patient's symptoms, one at a time. You will present a possible list of diagnoses in order or most likely to least likely. You will also ask me any clarifying questions to aid in your diagnoses. With each additional symptom I present, you will revise your diagnoses from most likely to least likely, and ask further clarifying questions to aid in your diagnoses."

I began to input the symptoms my son Toby was having over the course of a year, before we later learned he was sick with cancer — fibrolamellar hepatocellular carcinoma. This type of cancer that there is little data on how many people have it. It is thought to make up anywhere between 1-5% of all liver cancers. Until the tumor gets larger, many people with this cancer do not experience symptoms. When they do, they can include:

  • Pain in the abdomen, shoulder, or back
  • Nausea and vomiting
  • Appetite and weight loss
  • Malaise (having less energy or just feeling unwell)

Toby did have these symptoms, but not at the same time. Complicating this was the fact that his family doctor at the time was dismissive of Toby’s symptoms, so we started taking him directly to the hospital. Then, COVID-19 locked everything down.

Around summer of 2019, Toby was ususually sweaty, often.

In February of 2020, he experienced night nausea.

That summer, he appeared to be losing weight and had less energy.

In August, he looked thin and pale.

In August/September his back was hurting. But his liver hadn’t failed yet, and at this point ChatGPT was correctly diagnosing an issue either with his liver and/or cancer. By October, Toby’s liver had failed and he received his cancer diagnosis.

It is said that with cancer, early diagnosis is key to maximizing chances of survival. Toby’s case was challenging because even after his liver failed, diagnostic imaging was having trouble locating the tumour that they knew was there. So, it’s possible that they would not have been as persistent in scanning for a liver tumour if his liver hadn’t failed yet.

But, there’s also a chance that, with enough compelling data, they might have known where to look and find the tumour. They they might have gotten Toby onto immunotherapy sooner, before his liver failed, and that it might have been sufficient to shrink the tumour to the point where it could have been resected, and that he might still be alive today, 3 years later — long enough to be able to trial a promising vaccine that might be viable for managing the tumour.

Diagnosing a month or two sooner could have given Toby years more of life. AI augmented diagnostics will absolutely make a difference for countless cancer patients in the future.


Some Changes

We’re coming up on one year since Toby died.

1 year. 12 months. 365 days. 8,760 hours, since I last told Toby that I love him. Since I heard him say he loves me. Since I’ve heard anything come from his voice at all.

It still weighs on me, clearly. I understand from other parents that have also lost their children that this is normal. It could take years to feel “normal” again, if it happens at all — which brings me to the point of this post.

I’m making, and have made, some changes.

Brampton Cycling Advisory Committee

In September of 2021, I formally resigned from the Brampton Cycling Advisory Committee. I think the letter I submitted with my resignation explains my reasons best.

“The death of my son Toby to cancer has forced me into a position where I have been re-evaluating everything in my life. One of those things is a greater emphasis on spending time with my family.

I don’t feel that I have the same energy or mental fortitude that I did when I applied for the committee. I’m not the same person that I was — the person that was appointed to serve this committee and the City of Brampton.”

Don’t get me wrong: I still think bicycles are awesome. But my style of advocacy, for better or worse, was confrontational. This was intentional. The reason was not just to be a pain in the ass (though that was kind of fun for a while), but because growth takes time in politics, undoing growth happens quickly. Transparently challenging ideas is a fast way to evaluate whether they hold any water, even though, generally, people don’t like being challenged.

The reason why I mention this is that I’m actually an introvert. Any speaking engagement I’ve ever been to has relied on careful preparation, anticipation, and attention, which left me feeling exhausted at the end every single time. I simply do not have the energy for that anymore — or at least for now. While advocacy was something I certainly cared (and still care) about, perhaps because I’ve already invested so much time in it, I don’t know that it’s something that brings me joy. It feels like an obligation, somehow. An obligation that feels misaligned with my priority of spending time with my family.

Work

Because of the often confrontational nature of my advocacy, and observing a phenomenon called “doxing”, there were certain things I kept mostly private — or at least wasn’t very vocal about — including my full-time employment because of instances I observed where friends were reported to their employers over disagreements on Twitter.

Doxing or doxxing: To publicly identify or publish private information about (someone) especially as a form of punishment or revenge

https://www.merriam-webster.com/dictionary/dox

I want to start changing that up a little bit. My work has been an important part of my life too.

For the last 11 years, I’ve been a full-time employee, in some capacity or another, for the AIR MILES Reward Program. Most recently, my role was “Sr. Content Specialist, Publishing” for Marketing Shared Services. For many years, I was able to put some of my design, and a lot of my development skills, to work within this role. But not full-time.

I recently accepted a new role, starting in January 2022, within the AIR MILES Program of “Developer, Productivity Tools”. With this move, I hope to get myself back into a headspace of designing and developing useful products for the AIR MILES marketing team, full-time.

Papineau Homes

My family has decided that it’s time for a change of scenery. We’re co-purchasing land in Northern Ontario, and will be documenting the process of creating new dwellings there — ultimately with the intent of monetizing the content to help pay for “nice to haves”. We’re calling this project Papineau Homes. We’ve already released a few videos, mostly introductory stuff. We don’t really have a release schedule yet, but I encourage anyone who is interested to subscribe to the Papineau Homes YouTube channel for updates.

The Bikeport

The pandemic has continued to take its toll on cycle training lessons for The Bikeport. I’ve been continuing to offer a service agreement for data aggregation with BikeBrampton, and starting to prototype other services that could be offered province-wide as I prepare to move to Northern Ontario. I’m also looking for ways to make it easier to manage an online shop using affiliate marketing and drop shipping services.

Other Development Stuff

Gradually, I’ve been getting back into web development. I’ve released a WordPress theme on GitHub that I use as the parent theme on all of my websites. However, I feel that the pièce de résistance of my recent development effort is converting a proof of concept I had for web typography framework, and producing a WordPress typography plug-in with it. In my mind, if you feel inclined to check out these projects, these should be considered perpetual alpha versions. I update and support them as I need to, they’re not intended for general use on WordPress sites. If they were, I would have submitted them to the official WordPress repository. 🙂

I’ll try to remember to write more on these projects later.

In the meantime, a fair amount of personal development time is going into creating my own personal finance software, using custom WordPress post types. *LOL* I’m just not happy with solutions on the market right now. Especially when it comes to creating reports on my finances that I want to see but cannot have, but could create myself for free. I might share some screen captures of that work later, but it’s definitely intended to run on personal web servers on local computers only!


Image: Calculating Ideal Font Size


Carfree 1.1

Hi Everyone.

I feel like I owe everyone a thank you, and an apology. A thank you because the Carfree webapp started seeing steady use earlier than I expected. This resulted in one of the APIs I was using, specifically one to do an approximate geolocation based on IP address, to reach a request limit. This in turn, caused the Carfree webapp to fail. So, I thank you, and apologize for that.

I’ve switched to a new IP geolocate provider, and the webapp *should* see more stability for a while. At least, where geolocation is concerned.

So, please do continue planning trips with it, and by all means get in touch with me if you have any questions about or ideas to improve the Carfree webapp.

 


Carfree

 

It’s taken me a few months, but I finally have a Carfree app that I’m ready to share with everyone.

What is Carfree?

Whether you’re trying to go “car light”, or remove your dependency on a car altogether, this app should help you decide the best way to get to where you want to go, without using a car. It has a few features that I hope you’ll find neat.

The Blue Circle

When the map first loads, you’ll see a blue circle located where you are, as best the app can tell. Any place in the circle is within a 7km ride, or about 30 minutes. Most of the time, you can cycle to these locations faster than taking transit. The map itself also colour codes bike-friendly infrastructure, and roads labelled as highway or arterial, to help you choose the route you want to take.

Your Preference of Cycling or Transit

Whether you prefer to take your bike or take your local transit, the app will give you the ideal route to take to where you’re going. When you search for destinations, the ones closest to you are favoured.

Categorized Locations

Looking for places to visit? The app can show you places nearby and give you the best route to get there. Step-by-step instructions are available for both cycling and transit options.

 

Whether you’re trying to go car light, or car free altogether, give this app a try. Your feedback is welcome!

 

Carfree

 

Carfree lives on Github. You can also send comments to me on Twitter.


Typeset. A JQuery Plug-In

 

In July 2012, I wrote a blog post on calculating the ideal font size for any viewing device. I’ve since written a JQuery plugin that typesets elements on a page automatically. I call it TypeSet. All settings are applied inline, for now, using relative em units. I still consider it a work in progress, it will probably have bugs, but I encourage you to check it out and give feedback!

 

Check out TypeSet

 

The plug-in queries your monitor resolution and uses it to calculate what your ideal font size should be, and is designed to be future-friendly.

 

You might be wondering: What about mobile devices? Their screens are quite small, wouldn’t that shrink that calculated font size? In this case, TypeSet gets the users default font size, compares it to its calculation, and uses the larger of the two.

 

Enjoy!

 


9YO all done colouring

image


9YO adding shading and highlighting into her picture.

image


Be Strong With Emphasis: Semantics

There are advantages of using <strong> over <b>, and <em> (as in emphasis) over <i>. I’ll try to explain the differences of these semantics as simply as possible.

In HTML, <b> tells the browser to display type as bold, and <i> tells the browser to display type in italics. The problem with this is that these terms are only applicable to visual display, and become problematic when you are trying to make your site compatible for accessibility devices.

Enter <strong> and <em>. While in a browser display they might look no different to their <b> and <i> counterparts, they can semantically have meaning for accessibility devices such as screen readers, and can be rendered accordingly for the device a website visitor is using.

There are additional arguments also about separating style from the document structure. This is called Semantic HTML. In this case, bold and italic styles should be contained within the CSS of your site, rather than in the HTML using <b> and <i> tags. What’s interesting about this is that <strong> and <em> does not have to mean “make bold” or “make italic” if you decide to redefine it’s style to simply a change of color.


8YO designs her first cereal box. :)

image