My Ethical Scandal and My Apology

While preparing for a presentation about using ChatGPT and other AI tools in education, I decided to prompt it a few times about myself. This one was the most interesting one, IMO:

Prompt: Write a short summary of the ethical scandal involving Barry Dahl of Lake Superior College in Duluth, Minnesota.

ChatGPT ethical scandal, details in plain text

Interesting, but just the least little bit inaccurate. Let’s break it down:

  • Barry Dahl was the former Vice President of Academic Affairs at Lake Superior College in Duluth, Minnesota.
    • I was the VP of Technology and e-Campus, never VPAA.
  • In 2015, he resigned
    • I left the college in January 2011
  • after an investigation found that he had engaged in unethical conduct, including plagiarizing portions of his doctoral dissertation,
    • never an investigation. As for the dissertation, I was enrolled in 2 different PhD programs, but quit them both before the dissertation stage.
  • using college resources for personal purposes, and accepting gifts from vendors.
    • well, there could be a kernel of truth here or there 🙂
  • The scandal resulted in a loss of trust and credibility for Dahl, as well as damage to the reputation of Lake Superior College.
    • my trust and credibility have always been in question, this is not news
  • Dahl later admitted to the misconduct and expressed regret for his actions.
    • never admit to anything, that’s what I always say

As a follow-up, I asked for the sources used:

ChatGPT provided four links to information about Barry Dahl's scandal. All of the links are fictitious, as is the story.

Those links look good, but they aren’t. WDIO is a Duluth TV station and their website URL is as shown, but those links are dead links and never were alive, because none of this ever happened. The Duluth News Tribune is the local newspaper and they certainly would have reported on this scandal, but they don’t make stuff up out of thin air, so those links are also pure B.S.

The question is: why would ChatGPT and other Large Language Models just make stuff up and make it look like it’s real? I have no answers for that.

As an example of other prompts, here’s info about Barry Dahl, the actor.

Prompt: Write a short summary of Barry Dahl’s theatrical career, that started in Superior, Wisconsin and led to the silver screen.

Barry Dahl is an American actor whose theatrical career began in Superior, Wisconsin. He started out performing in local theater productions before moving on to the national stage. Barry Dahl eventually landed roles in Hollywood films, including “The Quick and the Dead” and “Natural Born Killers,” both directed by Oliver Stone. Dahl’s most notable role came in the 1995 film “Leaving Las Vegas,” in which he played the character of a bouncer. Despite his success on the silver screen, Barry Dahl continued to work in theater, including off-Broadway productions in New York City.


Follow-up prompt: And what about Barry’s medical discoveries that have helped sick people all over the world?

I apologize, but I could not find any information on Barry Dahl’s medical discoveries or contributions. It is possible that there is another individual with the same name who is a medical researcher or practitioner, but it is not the same person as the actor and theater performer Barry Dahl.


So, once I sent ChatGPT down one fictitious hole, it stuck to that story and wouldn’t add more nonsense. However, I thought that if I started a “new chat” with a similar prompt about my fantastic medical discoveries that the output would be once again just made up out of whole cloth. Instead, it gave a more accurate response:

Prompt starting a new chat: Write a short summary of Barry Dahl’s medical discoveries while living in Superior, Wisconsin that have helped sick people all over the world?

I’m sorry, but I couldn’t find any medical discoveries associated with Barry Dahl while living in Superior, Wisconsin. It’s possible that my knowledge cutoff (September 2021) is limiting my ability to access the most recent information. However, I can tell you that Barry Dahl is a former college administrator and educator who has worked in a variety of roles in higher education. Without further information, I’m afraid I cannot provide a more accurate answer.


Clearly it sometimes makes things up and other times it comes clean that it can’t find anything about what you’re talking about. So why did it just totally make up an ethical scandal for me but won’t give me credit for saving the world from terrible diseases? Sam Altman has some ‘splainin’ to do.

Just for fun, here’s my new portrait from Vana AI. You submit several photos of yourself and then it creates images in your likeness (kinda?) in various styles. This is me. I swear.

Chatting with ChatGPT about using ChatGPT in an iFrame

In my most recent post, I looked at the possibility of embedding a chatbot as a tutor inside the LMS. I wanted to look a bit deeper into what it would take to do this, so I went to the source: ChatGPT. But first, here is my mock-up of what a tutoring chatbot might look like inside D2L.

The D2L homepage with a mockup of what a Tutor bot might look like in a widget.

Here is our chat.

Q: (Barry) How does the API from OpenAI work and how geeky does a person have to be to utilize it?

A: (ChatGPT) OpenAI offers several APIs for accessing their language models, such as GPT-3 and Codex. These APIs allow developers to integrate the power of OpenAI’s models into their applications, without having to train or maintain the models themselves.

To utilize OpenAI’s APIs, a person typically needs to have a basic understanding of programming and API usage. Specifically, they would need to be familiar with the programming language that they plan to use to interact with the API, as well as the relevant libraries and tools for making HTTP requests and parsing JSON responses.

However, OpenAI also provides documentation and code examples to help developers get started with their APIs. Additionally, there are third-party libraries and tools available that can simplify the process of working with OpenAI’s APIs, such as the OpenAI API client for Python.

Overall, while some technical knowledge is required to utilize OpenAI’s APIs, it is not necessarily required to be a “geek” or have an advanced level of technical expertise. With some programming knowledge and the right resources, many developers should be able to use OpenAI’s APIs effectively.

Q: Are there companies that specialize in helping the less geeky to build an application that utilizes the API?

A: Yes, there are companies and development agencies that specialize in helping non-technical individuals or businesses to build applications that utilize OpenAI’s APIs or other machine learning technologies.

These companies typically offer a range of services, such as consulting, software development, project management, and user experience design, to help clients design and develop applications that meet their specific needs. They may also provide training and support to help their clients learn how to use the APIs and maintain their applications over time.

Examples of such companies include software development agencies like Ideamotive, Tooploox, or Etherial, as well as AI consulting firms like Bonsai AI or DataRobot.

However, it’s worth noting that working with a development agency or consulting firm typically involves a significant financial investment, as these services can be expensive. Therefore, it may not be feasible for all individuals or businesses to pursue this option, especially if they have limited resources.

Q: How difficult would it be to implement the API in an iFrame within a web page where webpage viewers could query ChatGPT in the iFrame?

A: It’s technically possible to implement OpenAI’s API within an iFrame on a web page, allowing viewers to query ChatGPT within the iFrame. However, the difficulty of implementing this solution depends on several factors, including your level of technical expertise, the programming language and tools you plan to use, and the specific requirements of your project.

Here are some general steps you would need to follow to implement the OpenAI API within an iFrame:

Obtain an API key from OpenAI by signing up for their API program.

Create a web page that contains an iFrame element with a source URL that points to a server-side script or web page that uses the OpenAI API to generate responses to user queries.

Write server-side code that queries the OpenAI API using your API key and returns the response to the iFrame.

Handle any security considerations, such as cross-site scripting vulnerabilities, by using appropriate security headers and input validation.

If you have experience with web development and programming, implementing the OpenAI API within an iFrame should be manageable. However, if you are new to programming or web development, this task may be challenging, and you may need to seek assistance from a developer or consulting firm. Additionally, it’s worth noting that the OpenAI API has usage limits, so you’ll need to keep this in mind when designing your application to ensure that you don’t exceed these limits.

Q: Would visitors to the webpage need an OpenAI account in order to query ChatGPT through the iFrame, or could they do that anonymously?

A: Visitors to the webpage would not need an OpenAI account to query ChatGPT through the iFrame. OpenAI’s API is designed to be used by developers and applications, and visitors to a webpage can interact with the iFrame and send queries to ChatGPT without having their own OpenAI account.

However, you would need to ensure that your implementation of the OpenAI API within the iFrame complies with OpenAI’s terms of use, which require that you do not allow multiple users to share a single API key, and that you do not cache API responses for longer than the time required to display the response to the user. Additionally, you should ensure that the user’s queries are not stored or transmitted in a way that could compromise their privacy or security.

If you plan to make your application available to the public, you may also want to consider implementing some form of rate limiting or throttling to prevent abuse or overuse of the OpenAI API, as well as implementing appropriate security measures to prevent unauthorized access or attacks on your application.

If you’ve already built one, please let me know. TIA.

A Chatbot for Student Tutoring in your LMS

I recently wrote a piece for CCDaily titled “How will AI impact the future of the LMS?” A fair amount of interest was sparked by one piece of the piece. This one: “Some D2L Brightspace customers are working to develop a custom homepage widget that can perform a tutoring function inside the LMS using the ChatPGT open API. This will likely be in use very soon.”

Image courtesy of Technofaq dot org

I didn’t make it up. I was asked by a customer/friend whether local Site Admins would have enough access to the platform to be able to build a custom homepage widget that could answer tutoring-type questions from students. The plan was to use OpenAI’s API extension for ChatGPT and build a Q&A chatbot into a D2L widget. My response was that admins should definitely have that capability and access.

Since 3rd-party tools can be iframed into a widget pretty easily, I’m not seeing any roadblocks into making ChatGPT work in a widget. Potential roadblocks might come from whether all users have to be logged into an account, and possible charges for high levels of usage. Just spitballing here. (See follow-up post here about these questions.)

This example from 13 years ago shows how easily it is to build a widget that embeds a 3rd party tool. And yes, that is the once famous (once, almost famous?) Desire2Blog site, still up and running but dormant since 2012. In that post I show how a MeeboMe widget can be embedded inside D2L. The purpose of this was to provide students with instant access to contacting their instructor. I thought Meebo and MeeboMe were great, but not enough other people agreed, apparently, because they entered the dead pool in 2012 when they were purchased by Google and immediately strangled to death. Or burned at the stake. Not sure, I wasn’t there, and there was likely a whole bunch of NDA’s involved.

Screenshot of a D2L home page with a widget containing a Meebo chat window
Read the old blog post for more information about this embedded widget

So, assuming the widget is not too big a hurdle, the question remains whether ChatGPT (or one of the many similar chatbots) would serve as a serviceable tutor. I put it through its paces as if I was a struggling accounting student. I taught accounting for 17 years, so I’ve seen hundreds of students struggle with it. I’ve run many chat experiments with it, but below are two examples. In each case, the student (me) gave an initial prompt plus two or three follow-ups for more info.

Tutoring Example #1: Financial Accounting I

Student’s prompt #1: I’m an accounting student in Financial Accounting Principles I. I’m having a hard time understanding how the Statement of Cash Flows works. Is it more or less important than the Income Statement or the Balance Sheet? Is it considered to be an accrual method, or something else? How does it compare to a bank reconciliation?

ChatGPT: The Statement of Cash Flows is an essential financial statement that shows the cash inflows and outflows of a company during a particular period. The statement of cash flows is just as important as the Income Statement and the Balance Sheet because it provides valuable information about a company’s liquidity and cash management.

The Income Statement reports the company’s revenue and expenses over a period of time, while the Balance Sheet reports the company’s assets, liabilities, and equity at a specific point in time. On the other hand, the Statement of Cash Flows reports the company’s cash inflows and outflows during a particular period, including operating, investing, and financing activities.

The Statement of Cash Flows is not based on the accrual method, which is used in the preparation of the Income Statement and the Balance Sheet. Instead, it is based on the cash method, which means that it reports the actual cash inflows and outflows, regardless of when the related transactions were made.

A bank reconciliation, on the other hand, is a process of comparing the bank statement with the company’s records to ensure that the company’s cash balance is accurate. It is a tool used to identify any discrepancies between the bank statement and the company’s records, such as outstanding checks or deposits in transit.

In summary, the Statement of Cash Flows is a crucial financial statement that reports a company’s cash inflows and outflows during a specific period, while the Income Statement and the Balance Sheet report a company’s profitability and financial position, respectively. It is not based on the accrual method, and it is different from a bank reconciliation, which is a process of reconciling the bank statement with the company’s records to ensure the accuracy of the company’s cash balance.

Student’s prompt #2: Does it also measure cash equivalents, and what exactly are cash equivalents?

ChatGPT: Yes, the Statement of Cash Flows does measure cash equivalents. Cash equivalents are highly liquid investments that can be quickly converted into cash and have a maturity date of three months or less from the date of purchase.

Examples of cash equivalents include commercial paper, Treasury bills, money market funds, and certificates of deposit. These investments are considered to be highly liquid because they can be easily sold or redeemed for cash with minimal risk of loss of value.

In the Statement of Cash Flows, cash equivalents are reported together with cash under the heading “Cash and Cash Equivalents.” The cash and cash equivalents section of the Statement of Cash Flows shows the beginning and ending balances of cash and cash equivalents for the period, as well as the cash inflows and outflows from operating, investing, and financing activities.

Including cash equivalents in the Statement of Cash Flows provides a more accurate picture of a company’s liquidity and cash management because it takes into account investments that can be quickly converted into cash if needed.

Student’s prompt #3: There seems to be more than one method for preparing this statement, which I suppose would each yield different answers. What are the different methods and is one better than the other?

ChatGPT: You are correct that there are two methods of preparing the Statement of Cash Flows: the Direct Method and the Indirect Method. While both methods will result in the same final cash flow amount, they differ in the way that they present the cash inflows and outflows from operating activities.

The Direct Method reports the actual cash inflows and outflows from operating activities, such as cash received from customers and cash paid to suppliers. The Direct Method provides a more detailed view of the company’s cash flows, but it can be more time-consuming and costly to prepare because it requires a more extensive analysis of the company’s transactions.

The Indirect Method, on the other hand, starts with the net income reported on the Income Statement and then adjusts for non-cash transactions and changes in working capital to arrive at the cash flows from operating activities. The Indirect Method is more commonly used because it is less time-consuming and easier to prepare than the Direct Method. However, it is less detailed and may not provide as much information about a company’s cash flows.

Both methods have their advantages and disadvantages, and there is no one “better” method for preparing the Statement of Cash Flows. The choice of method depends on the nature of the company’s transactions, the availability of information, and the preference of the company’s management.

However, it is important to note that the Financial Accounting Standards Board (FASB) recommends the Direct Method because it provides a more accurate and detailed picture of the company’s cash flows. Nevertheless, most companies continue to use the Indirect Method due to its simplicity and lower cost.

Tutoring Example #2: Cost Accounting

Student’s prompt #1: I’m studying Economic Order Quantity in my cost accounting class. It’s a strange name, so I don’t really understand what it means. I do see how to make the calculation, but I don’t understand why that is the proper calculation. Also, why would this be useful information to people in business?

ChatGPT: Economic Order Quantity (EOQ) is a formula used in inventory management to determine the optimal quantity of goods to order at any given time. The goal of EOQ is to minimize the total cost of holding inventory, including ordering costs and carrying costs.

The EOQ formula takes into account several variables, including the cost of placing an order, the cost of holding inventory, and the demand for the product. By determining the optimal quantity of goods to order, businesses can reduce their overall inventory costs while still meeting customer demand.

The formula for calculating EOQ is:

EOQ = √(2SD/H)


S = Setup cost per order

D = Demand in units per period

H = Holding cost per unit per period

In general, the EOQ calculation aims to balance the cost of placing an order with the cost of holding inventory. If a business orders too much inventory, they may incur high carrying costs, which include the cost of storing and managing excess inventory, potential spoilage or obsolescence, and the opportunity cost of tying up capital that could be used elsewhere. On the other hand, if a business orders too little inventory, they may have to pay higher setup costs to reorder frequently, which can lead to higher overall costs and lower customer satisfaction.

By calculating the EOQ, a business can determine the optimal order quantity that minimizes the total cost of inventory management. This information can help businesses make more informed decisions about inventory management and ultimately improve their profitability.

Student’s prompt #2: Yes, I see the mathematical calculation, but I don’t understand how the square root works in this situation? Is there another way to calculate the answer without using a square root?

ChatGPT: The square root in the EOQ formula is used to determine the order quantity that minimizes the total cost of ordering and holding inventory. The square root comes from algebraic manipulation of the formula to find the point where the ordering cost and holding cost curves intersect.

There is no other way to calculate the EOQ without using the square root. However, there are variations of the EOQ formula that do not require the use of a square root, such as the formula for the Reorder Point (ROP). The ROP formula is used to determine the inventory level at which a new order should be placed, and it is based on the lead time, safety stock, and demand.

The formula for ROP is:

ROP = D x L + SS


D = Average demand per day

L = Lead time in days

SS = Safety stock

By calculating the ROP, a business can determine the inventory level at which a new order should be placed to avoid stockouts or excess inventory.

However, it’s important to note that the EOQ and ROP formulas are interrelated, and a change in one variable can affect the other. For example, increasing the safety stock in the ROP formula may increase the EOQ, as the business may need to order more inventory to maintain the safety stock level.

Student’s prompt #3: What are some applications of EOQ Analysis in real life?

ChatGPT: EOQ analysis has a wide range of applications in various industries and sectors, including manufacturing, retail, distribution, and healthcare. Some of the most common applications of EOQ analysis in real life include:

Inventory Management: EOQ analysis helps businesses determine the optimal order quantity and reorder point to reduce inventory costs and minimize the risk of stockouts. By using EOQ analysis, businesses can maintain the right level of inventory to meet customer demand while minimizing holding and ordering costs.

Production Planning: EOQ analysis can be used to optimize the production process by determining the optimal batch size, minimizing setup costs, and reducing lead times. By using EOQ analysis in production planning, businesses can improve efficiency, reduce waste, and increase profitability.

Supply Chain Management: EOQ analysis can help businesses manage their supply chain by optimizing order quantities and lead times, reducing transportation costs, and improving supplier relationships. By using EOQ analysis in supply chain management, businesses can ensure a reliable and cost-effective supply of goods and services.

Healthcare: EOQ analysis is also used in healthcare to optimize inventory management and reduce waste. For example, hospitals and clinics can use EOQ analysis to determine the optimal quantity of medical supplies to order, reducing the risk of shortages and minimizing the cost of carrying excess inventory.

Retail: EOQ analysis is widely used in retail to optimize inventory levels and reduce carrying costs. Retailers can use EOQ analysis to determine the optimal order quantity for each product, reducing the risk of stockouts and improving customer satisfaction.

In summary, EOQ analysis is a powerful tool that can be applied in a variety of industries and sectors to optimize inventory management, production planning, supply chain management, healthcare, and retail operations.

Student’s prompt #4: Are there any potential disadvantages of using the EOQ formula and/or concept?

ChatGPT: While EOQ analysis is a useful tool for optimizing inventory management, there are some potential disadvantages that businesses should be aware of:

Assumptions: The EOQ model is based on several assumptions, including constant demand, constant ordering cost, and constant holding cost. In reality, demand and costs may fluctuate, making it difficult to apply the EOQ model accurately.

Limited applicability: The EOQ model may not be suitable for all types of inventory management scenarios. For example, it may not be appropriate for perishable goods, products with limited shelf life, or items with unpredictable demand patterns.

Lack of flexibility: The EOQ model assumes that the order quantity is fixed and does not allow for flexibility in response to changes in demand or supply. This can lead to overstocking or stockouts if the demand or supply varies significantly from the assumptions in the model.

Costs: Implementing EOQ analysis may require additional costs, such as data collection and analysis, software, and staff training. For small businesses, these costs may outweigh the benefits of using the EOQ model.

Complexity: The EOQ model can be complex, and the calculations may require specialized knowledge and skills. This can make it difficult for businesses without the necessary resources to implement the EOQ model effectively.

In summary, while EOQ analysis can provide significant benefits to businesses, it is important to consider the potential disadvantages and limitations before implementing it in practice. Businesses should carefully evaluate their inventory management needs and consider whether EOQ analysis is the most appropriate tool for their specific situation.

Final Thoughts (not forever, just for this post)

IMO, the responses to these prompts are pretty good. The prompts are not the greatest, so with some fine tuning the answers could likely be even better. Also, this is with ChatGPT 3.5. The same prompts fed into GPT4 should produce even better results.

Another possibility is to use one of the chatbots that can be programmed (trained) to specialize in a particular topic area, such as accounting. There are also lots of AI platforms being built to deal with specific problems, and this list of Education Assistant AI might give you a glimpse of the future.