Educator, Thinker, Moodler, Podcaster, Open-source advocate. Check out the world's longest running middle school focused podcast at https://middleschoolmatters.com
Recently I was asked to create a Lock Down environment for students writing essays. This is definitely a direct response to ChatGPT and similar tools.
I’ve set up Moodle with Safe Exam Browser. This is well supported by Moodle. However, I had to make sure to add a “Quit Password” to the assignment. It is also easiest to let Moodle take care of the configuration. It is absolutely crucial to set a “Quit Password”.
Next, the teacher wants two things:
A Word Count for students
Indented paragraphs
The good news is that there is a plugin for the Atto Editor called Word Count. Not surprisingly, that provides a Word Count feature directly within the Atto editor. Once you add that plug-in (AND add “count = count” to the Toolbar config within the Atto Editor settings – this makes the button visible), students have access to see how many words they have written with the click of a button. This is AWESOME!
I’m still trying to solve the indenting a paragraph issue. Since hitting the tab key moves to the next component for websites, that is a no-starter. However, I’m reviewing some plugins that may help. I’ve tried Components for Learning (c4l), but that doesn’t have what I need. It is a great plugin, just doesn’t solve this issue.
Currently, I’m taking a look at the Atto Editor to see if there is anything there that I can do.
I was approached about helping to organize the volunteer sign-in sheet. The Admin Assistant had already created a Google Form to collect information. There was a Google Spreadsheet set to collect the information from the Form. Then, there was a tab per day to copy and paste to. (* Copy and pasting is rife with unintentional error possibilities.)
What they really wanted at the end was a sign-in sheet that could be printed. As the volunteers come in, they could physically sign in. There are also additional forms that need to be in place. So, the desire was a sign-in sheet that looked something like this:
Since I prefer for these things to be automated, I started by creating an additional column for the Date. This date is auto-populated from the spreadsheet. By using Data Validation, this can then be a drop-down. No more additional tabs for the spreadsheet, simply pick the date and print.
We now have two tabs:
Form Responses – where the Form Responses automatically go
Print Date – this is the printable sheet.
I selected the “Print Date” tab. To set up the Date, I clicked into Cell A2 (this is where I want the pickable date). Then, I went to Data | Data validation. In Apply to range, I chose ‘Print Date’!A2 (note the single quote marks – they encapsulate the name of the tab). In Criteria, I picked “Dropdown (from a range)”. Now it’s time for some magic. I used the formula: =’Form Responses 3′!$L$2:$R. Let’s break that down. The equal sign (=) denotes a formula. The ‘Form Responses 3’ (again, note the single quote marks), indicates the sheet to pull the information from. The bang (!) is crucial to using a different sheet. The dollar signs ($) go row by row. The L2:R is the range.
(* Quick side note. They had asked if this was a one time volunteer situation or recurring. However, they didn’t want to make the Form too complex, so it is a Start/End date question. I moved the “Start Date” to the end of the columns, then added six addtional colums. The Admin Asssistant will have to add dates if recurring into those columns.).
So, now the Print Date tab has drop-down menu of dates (from Form Responses) that will automatically update with dates.
Next is to pull the Volunteer information into the Print Date tab. I tried a FILTER function, but that only will test one column. That’s a problem since I want to check multiple columns (columns L-R).
After a bit too much overthinking, FILTER is the correct answer. There just needs to be multiple FILTER criteria involved.
In Cell D2; the following formula does what we need:
Let’s break down that formula a bit. FILTER is the command. The FILTER function goes like this: =FILTER(range,condition1, [condition2,…]). We only want one condition. But, we want that one condition to apply to multiple columns.
Range: ‘Form Responses 3′(again, note the single quotes and their location) refers to another tab. The first part of this is pulling the information that we want copied (F2 through K – this equates to Teacher Name, Volunteer Last Name, Volunteer First Name, Awareness Training, Volunteer Registration, and Criminal Background). Condition – The next bit is wrapped in paratheses since we are going to have multiples. We add a plus sign between each condition. You’ll note that the only thing that changes in each of these conditions is the column reference.
I then turned Columns G, H, & I into checkboxes. (* Otherwise these will report as TRUE/FALSE since they are checkboxes on the other tab – Form Responses). This is simply selecting the columns (Command-click on the headers to deselect those) and choosing Insert | Checkbox.
Finally, I deleted most of the rows so that printing the tab Print Date will only print one page.
I advised the Admin Assist to turn on Notifications so that they know when Form has been completed. They can then add additional dates if needed (Columns M-R). They click the appropriate checkboxes for the required information:
Volunteer Awareness Training
Volunteer Registration Form
Criminal Background Check
Now the usage is pretty simple. In the morning, the Admin Assistant opens the Spreadsheet. That person clicks on the Date dropdown in Cell A2. If that date doesn’t appear, there are no volunteers. If the date does appear, they print out that sheet and post it. When the Volunteer arrives, they can sign in and add the time of arrival.
I got a deal on electrical outlets with USB plugs built in from the OWC garage sale. I decided that my office was the perfect place to install one of them as I generally have something charging plugged in. The electrical box is a pretty large piece of kit. Basically, it takes up most of the outlet box. This proved to be an issue. The outlet box that they used when redoing the house is attached via screws inside the box.
Unfortunately, this style doesn’t leave enough room for the new electrical outlet. Thus, I’ll need to pull the outlet box out and replace it with a traditional “old work” 1 gang box.
Sigh, something that should’ve been incredibly easy.
Public Domain Pictures in browser
I”ve been using the wonderful Library of Congress- Free to Use Browser Extension for a bit now. I can’t tell you how much I enjoy the bit of serendipity that it adds to my day. Essentially, every time you open a new tab, instead of a blank page, you get an image that is free of copyright restrictions. These pictures frequently incite me to think about what is going on in the picture.
This may be horrific if you are trying to maximize every second of your day (or avoid distractions), but for me, the little bit of serendipity is well worth the potential distraction.
Orange Wine
We had some Oranage Wine (Experimental Orange 2020) ) from Black Star Farms the other night. It is not made from oranges, but is named for its orange hue. Orange wine is made with white grapes that are fermented with the skins. The wine had a complex taste to it. I was reminded in some ways of whiskey tasting in that there was some complex finish notes.
Date Night
We had date night the other evening. We went to see Living at a small local theater. The movie stars the wonderful Bill Nighy as a bureaucrat in London in the 50’s. After receiving a grim diagnosis, he decides to take some action. Sad but wonderful.
Ford Sync Frustration
Ford really has struggled with Sync. Those struggles continue for me. According to my Bronco Sport, Sync is up to date (I’ve connected to my WiFi). However, according to Ford records when connecting to my online account, there is a Sync update.
I tried to run this at the end of January. I gave it a few days and checked again. Ford Sync within the Bronco still says that it is up to date. The web site says there is an update.
So, OK, I’ll use the USB drive option. I prepare the USB drive. Hm, it says that you need a USB:
But then the next line says:
What is exFAT?
Hm. “previous than SYNC 3”? Notice the odd wording. Not “previous to SYNC 3” or version prior to SYNC 3. I have SYNC version 3. So, I’m going to guess that I need exFAT. I prep a USB drive, follow the directions to download the update and unzip it (using Unarchiver only) directly on the drive, and move the files back to the root level of the drive.
Out to the car and plug it in (to the front USB port since the rear is charge only). There is no indication that the update is starting (the directions do not mention any indication will be provided). The directions state that it can take up to five minutes for the update to start and another thirty minutes to complete. Once it completes, you will get a notification. So, great, I need to run the car for 35 minutes hoping that it is updating?
It didn’t work.
Mastodon
Why do people stay? There is no UX that works to “addict” the users. Rather, it is the people.
This may be one of the most underrated, and potentially positive, developments in the adoption of the Fediverse.
Someone told me that “at least you are getting a normal Maine winter”. This is my second winter in Maine. Last winter was very mild.
The funny thing is that people wonder how I’m handling Maine winters. I grew up in Michigan. I’m guessing that they don’t know that Michigan gets snow and cold as well?
So, we have gotten a good bit of snow this year. We got 16.1 inches in January (which is a good bit more than Dearborn received in January of this year – 4.4 inches). So, a good bit of snow, but it’s not like we don’t get snow in Michigan.
Remote Work
One of the things that strikes me is the change in the acceptability of remote work. I’ve had a job where I could work from anywhere for over a decade. Prior to COVID, I tried to get some of the meetings that I had to convert to video conferences. There was much resistance. I would spend over an hour driving for a meeting that took 15 minutes. These were meetings that were very focused. However, others weren’t ready for that.
With COVID, lots of people became comfortable (or at least accepting) video conferencing. So at times, I can work remotely and everyone is OK with that. There is still real value in getting together with people most of the time. However, some things really can be handled via video conferencing. So, if we have a day with lots of ice on the roads warnings, snow safety warnings, or similar, I can take a look at my calendar and decide if I should work remotely. This is a huge change for the good.
AI Continuing Discussions
The AI discussions are continuing. There are lots of blogs, posts, and more about AI. Some teachers are using it for their benefit. Some are freaking out about how they are going to “test kids”.
I’m feeling the discussion will continue. I’m not sure where we’ll all end up. I’ve written about this topic a couple of times already.
One of the posts about AI started with this line:
During my time on this earth,…
I love this line. I may use it in the future.
Bridge Up
My usual path to work involves crossing a draw bridge. I’ve never hit it up on the way in to work, until this week. Of course, this was compounded by a bit of construction. Still, the delay wasn’t very long.
Hazel Update
Hazel loves to run around. She’s not bothered by the snow or cold at all. She is doing really well with her last out of the night.
Cold
This weekend is projected to be COLD. Currently, the temperature outside is sitting at -15 degrees Fahrenheit (-26 Celsius). That’s without the wind chill. The “feels like” temperature is -39. So, it’s cold. Saturday should be rocking a high of 6 degrees.
I don’t have much planned for outside, and Hazel will bummed as I’ll watch how much she is out. But mostly, I’ll be working around the house and layering up if I’m going outside.
This is a tutorial on having ChatGPT write questions to be imported into Moodle using the GIFT format. I’m going to use BBEdit as my text editor, but you can use a different one. The free version of BBEdit should do everything in these steps (* NOTE: Google Docs won’t work for the Regular Expression Find and Replace (Step 3). Microsoft Word will.)
Step 1:
Have ChatGPT write your multiple choice questions and format them in a specific way. The key is to include this sentence at the end of your request:
…Use the following format: {1. MCVS:=Right answer/Wrong answer/Wrong answer/Wrong answer}
So, in my example, the search criteria was:
Write 50 Multiple-Choice Question about Maine. Use the following format: {1. MCVS:=Right answer/Wrong answer/Wrong answer/Wrong answer}
This resulted in the following:
Sure, here are 50 multiple-choice questions about the state of Maine:
What is the capital city of Maine? {MCVS:=Augusta/Portland/Bangor/Lewiston} Which river flows through the city of Augusta? {MCVS:=Kennebec River/Androscoggin River/Penobscot River/Saint John River} …
So far so good. However, you need to do some formatting.
GIFT needs a blank line between questions.
Wrong answers need to be marked by an “~” (right answers need an “=”, but we’ve got that already).
“MCVS:” needs to be removed
Step 2: Copy/Paste the questions.
Highlight the questions in ChatGPT and copy them.
Paste the questions into your text editor (preferable over a word processor).
BBEdit:
Since I’m using BBEdit, you can use File | New> (with Clipboard).
Pages, Word, Google Docs
Paste the questions into a blank document.
Step 3: Add a blank line between questions:
No matter how you do this, it is just important that there is a blank line between each question. This is how questions are delineated. You should visually inspect the text to make sure that there is blank line.
BBEdit:
Click on Search | Find…
in the Find box, type: }
In the Replace box, type: }\r
Click the Replace All button.
This will find and replace all of those instances quickly.
Google Docs
This must be done manually in Google Docs. There is not currently an easy way to script this. You’ll need to set the cursor at the end of each answer line and press the return/enter key.
Manually place your cursor and hit return/enter after each “}” at the end of each answer line. This can take a while based on the number of questions.
Step 4: Remove the MCVS:
Click back into the Find window
In the Find box enter: MCVS:
In the Replace box – delete all text so that there is nothing in it
Click Replace All
Step 5: Add an “~” in front of the incorrect answers:
BBEdit:
Click back into the Find window
In the Find box enter: /
In the Replace box, you need two characters: (type a space)~
Click Replace All
Google Docs:
Click on Edit in the Menu bar
Choose Find and Replace
In the Find window, enter: /
In the Replace box, you need two characters: (type a space)~
Click Replace All
Optional Add a category for the quiz questions. This means that in Moodle, these questions will all be identified in a specific category.
Scroll to the very top of the document.
Set the cursor and create a new blank line.
Type “$CATEGORY:XXXX” (Replace XXXX with the category name that you want).*Bonus, you can also create subcategories by adding a “/Subcategory” after your category. Thus, If you wanted a category of World War I, it would look like this:
$CATEGORY: World War I
If you wanted a sub-category of “allies” in World War I, it would look like this:
$CATEGORY: World War I/allies
Create a blank line below the category line.
Save the file
Moodle
Open your Moodle instance. Go to the course that you want to put the questions in.
Click on the More link in the top sub-menu
Select “Question Bank”
Click on the Questions button and select “Import”
Select “GIFT format” radio button
Drag and drop the file (or use the “Choose a file button”) to add the file that you previously saved.
Click “Import” button at the bottom
Read through the questions, scroll down and click “Continue”
That’s it. You’ve now created a bunch of questions and imported them into Moodle, ready to go.
Check the Questions
Please remember the ChatGPT is NOT programmed to be right. It will be confident, but maybe not right. It is crucial to check all the questions for accuracy.
In Moodle, you can utilize the Preview function. You may want to review the questions prior to import. Either will work, it depends on your preference. Do make sure to review the questions though.
A friend used ChatGPT (I know, I know) to create a wide variety of questions for a Geography Bee for school. The questions are all Michigan based questions. ChatGPT created a wide variety of questions. However, these need to go into Moodle.
Moodle has a great quiz question import format (GIFT format). This allows one to write questions in a text editor and import into Moodle. The format is pretty easy, but does require a bit of learning.
Attempts to have ChatGPT export the file as GIFT format were unsuccessful. So, the teachers are doing a good bit of copying/pasting. While this is still WAY faster than writing and typing, I thought that there had to be a better way.
I made a copy of the file that was downloaded from ChatGPT. Then I took the following steps:
Open Ended Questions:
I used Find/Replace function by Finding ” Answer:” and replacing that with “{}”.
Example: What is the capital of Michigan? Answer: Lansing Becomes: What is the capital of Michigan? {Lansing}
I then also added a “}” at the end of each line (manually, need to figure out how to automate that). Plus, I made sure that there was a blank line between each question.
Multiple Choice Questions:
I used Find/Replace to Find: “ A)” and Replace that with “{~“ . This creates the opening bracket for answers (and also marks the first answer as “incorrect” but that will be fixed next.
Next, I added“=” in front of the correct answer AND “~” in front of incorrect answers. This was done manually
I deleted the answer line by triple-clicking it and hitting “Return/Enter”.*This creates the necessary blank line between questions.
Then I used Find/Replace to change the letters to ~ (e.g. “B -> “~”, then “C” ->”~, “D” ->”~). This works as we’ve already removed the A and we’ve replaced letters if the answer is correct.
Example: What is the capital of Michigan? A) Detroit B) Grand Rapids C) Lansing D) Ann Arbor Answer: C) Lansing Becomes: What is the capital of Michigan? {~Detroit ~ Grand Rapids =Lansing ~ Ann Arbor}
Categories:
Next, I added Categories by adding “$CATEGORY: Geography Bee” to create a Category of “Geography Bee” Make sure there is a blank line after this line. In another section, I added “$CATEGORY:Geography Bee/Counties” to create a sub-category of Counties under Geography Bee.
Export:
I then exported (downloaded) the document as a text file (.txt).
Moodle
Next, I went to the Moodle Course where I wanted the quiz.
I clicked on More…| Question Bank.
I clicked on The Questions button to select “Import”
I picked “GIFT format”
I dragged the file into the “Import questions from a file” box.
I clicked the “Import” button
This creates all of the questions in Moodle under the appropriate categories. Now you could edit, assign, move any and all of the questions as you like.
That’s it. I know that it may sound like a lot, but once you understand what is happening, this is really pretty quick.
Special Note:
If there is anything that you don’t want to be included in the import, simply add “//” at the beginning of that line. I used this to explain what was happening to the others involved. This is called commenting something out.
Friday was a snow day. We ended up with about 4 inches of snow. Now, Monday is another snow day. The weekend was cold, but no additional snow. This will be our last traditional snow day. From here on out, we will be utilizing remote learning days.
Heatrak
I purchased some Heatrak mats for the stairs going out the back door (not cheap, but the stairs are seriously dangerous when iced). These have been a great investment. However, one of them has stopped working. (Good news, it is really obvious which one). A call to the company and a replacement is on the way.
NOLEJ
Because of the Snow Day, I finally got a chance to play around with NOLEJ a bit. NOLEJ authors materials (quizzes, flashcards,glossaries, etc) based on a resource. So, I took a YouTube video (Gettysburg: Animated Map) and let it create material. The material is created as H5P resources. I then put that into Moodle. You can check it out in the MasterMoodle course (no registration required, but you may have to click on the Login as Guest button). These are the raw files, no additional editing. Obviously, they can (and should be edited). The questions fall into basic knowledge category and some grammar needs to be corrected. This could be a way to quickly create some of the basics of a course though. The teacher would need to add higher level thinking material, questions, and learning opportunities.
Free to Use Browser Extension
I’m enjoying the Free to Use Browser Extension even more than I thought that I would. Basically, this extension displays a Public Domain image in your browser window whenever you open a new tab.
Extension sets the background of blank tabs to a photo from the Library of Congress collections that is free to use and reuse.
I just find these random pictures a source of great joy. I frequently pause for just a minute to wonder what is going on in the picture.
Books
I’ve finished “Poguemahone” by Patrick McCabe. I liked it a ton. This is really different than most of the books that I’ve been reading. It is written in free-verse focusing around the 1970’s and music. Kind of. Sort of. Largely the story of Una and her reflections.
I’m starting Frederick Backman’s Us Against You. This is a follow up to the wonderful “Beartown”. Fredrick Backman is one of my favorite authors. He has several books out. I recommend all of them that I’ve read so far.
COVID finally caught up with me. Thankfully, I’m fully vaccinated, so the disease wasn’t fatal for me. Relatively, this was a like a pretty bad head cold for me. Be safe, and take precautions.
We got to spend some times with the kids around Christmas. This is one of the biggest reasons that we moved to Maine. It is great to have those opportunities.
We also got to spend some time with some new good friends.
Christmas with Kennerly
We did attend “Christmas with Kennerly” at the Portland Symphony. It was a good show and help us get into the Christmas mood.
After Twitter
“The internet’s town square should never have been one specific website with its own specific rules and incentives. It should have been, and should be, the web itself.” Brent Simmons
I’ve pretty consistently heard Twitter referred to as the digital “Town Square”. However, Town Square as a privately owned rather than a publicly available place seems to be heading in the wrong direction. Whenever one person has complete control of the Town Square, it no longer becomes the Town Square, but a Square of an individual.
This is part of the balance that should be in America. America should really be reflective of three different components: People, Business, Goverment. There should be tension amongst those three. However, far too many people believe that Business (this is often pushed in terms of “freedom”), should be the default for everything. This leads to abuse by businesses. Business is designed to make money. This is partly why the stratification of wealth is continuing to be skewed. Business has managed to bake into the American psyche that freedom, letting business do what it wants, is what makes America great.
Twitter is proving to be a place that I don’t want to be. I’m working at making sure that I control my information. This is another thing that sounds great but takes effort. Mastodon is having a moment, but there are issues with Mastodon as well. Lots of people have moved to Mastodon, many looking for it to be “Twitter”, but the experience is different.
At the end of the day, people tend to want easy. Dr. Doug Belshaw and I have had a couple of conversations about this. I still believe that people want things to be very obvious and don’t want to learn how to control things. Dr. Belshaw is more optimistic.
With people moving to Mastodon, there is talk about the “return of the web”. This refers to blogging, and really people owning their own data. I’m still not convinced. The smallest roadblocks can be experience enders for many. People need to have something clear and easy to start with.
As one example, I’ve been hearing about how Linux is going to be the big thing this year.
Linux
I heard for years about how “this year is going to be the year of Linux”. It is finally as easy to use as Windows, gives you much more power, you can do so much, …. And, yet, we still haven’t gotten to the “year of Linux”. Yes, Linux is just about everywhere. But, it is “unseen”. Linux is used as an embedded system.
People clearly don’t want the maintenance and effort that Linux requires. People seem to want things that are familiar, and “easy”.
Recently, I posted on the software that I use. I know that I left some valuable resources out. It’s funny how you can use something tons and then not even really think about it when asked.
In some conversations, I realized that I had left out at least one resource that I really like. I’ve received lots of praise for implementing this one. It replaces expensive software that doesn’t work as well.
BookStack – This is wiki software that you can host. It is free and open source. It produces a beautiful site. I use this for documentation sites. (In my job, documentation is undervalued but crucial.) Lots of customization options. Lots of controls. It also supports Markdown (though I leave it at the default of WYSIWYG for others.)
I posted about having students prioritize choices (Ranking The Bill of Rights). I’ve now created a Comic with instructions on how to do this. Although I’ve used the Bill of Rights, this could easily be done with a wide variety of topics.
For example, you could have students prioritize study skills, Presidents, financial goals, geologic characteristics, and more. This is limited only by your content.