WoeUSB-ng to the rescue

Frequently, I’m approached by individuals seeking assistance in rescuing Windows computers that have encountered locking or damage issues. I occasionally utilize a Linux USB boot drive to access Windows partitions effectively. This enables me to transfer and safeguard files from these compromised systems securely.

Sometimes, clients misplace their passwords or lock themselves out of their login accounts. One viable method to restore account access involves generating a Windows boot disk to initiate repairs on the computer. Microsoft provides the option to obtain Windows copies via its official website and tools designed for crafting a USB boot device. However, utilizing these tools necessitates access to a Windows computer, posing a challenge for me as a Linux user. Consequently, I’ve sought alternative approaches for creating a bootable DVD or USB drive. My go-to tools, such as Etcher.io, Popsicle (for Pop!_OS), UNetbootin, and even utilizing the command line utility ‘dd’ for crafting bootable media, have yielded limited success. Since my daily driver is Linux, it was near impossible to create a USB drive with a bootable Windows version.

A few years ago, I learned about WoeUSB and the subsequent project WoeUSB-ng. WoeUSB-ng is a software utility used for creating bootable Windows USB drives using Windows ISO images and effectively transferring them onto a USB drive, making it possible to install or repair Windows operating systems from that USB drive. On Linux systems, the WoeUSB-ng software package. The “ng” in its name stands for “next generation,” indicating that it’s a successor or evolution of the original WoeUSB tool. I have used it to create bootable Windows drives with both Windows 10 and Windows 11. WoeUSB-ng is open source with a GPL v3 license.

The project website lists several install options for Linux users.

Fedora users can use the following commands to install the software necessary to support WoeUSB-ng.

sudo dnf install git p7zip p7zip-plugins python3-pip python3-wxpython4

Ubuntu/Linux Mint users can use the following commands to install the software necessary to support WoeUSB-ng.

sudo apt install git p7zip-full python3-pip python3-wxgtk4.0 grub2-common grub-pc-bin parted dosfstools ntfs-3g

Then issue the following commands to install WoeUSB-ng on your system.

git clone https://github.com/WoeUSB/WoeUSB-ng.git
cd WoeUSB-ng
sudo pip3 install .

Once the software is installed, creating a bootable Windows drive is very straightforward.

Click install, and depending on the processor and RAM in your machine, you should have a bootable Windows 10 or Windows 11 drive in very little time. This article is adapted from Use this bootable USB drive on Linux.

Reviving a ‘Dead’ Laptop: A Linux Mint Success Story at the Local Library

An urgent plea for assistance reached me from our local library director concerning a patron grappling with an unresponsive Dell laptop. Upon arriving at the library, I encountered the early-morning visitor facing this issue. Activating the laptop, it became evident that it refused to boot, displaying no prompts to access the startup disk via F1 or F2. I proceeded to explain to the individual that their hard drive was likely damaged or that crucial startup files had been lost, particularly given the laptop’s eleven-year history.

I arrived equipped with my own Linux laptop and a bootable USB drive containing Linux Mint 21.2 Cinnamon. Placing the USB drive into the ailing laptop, I powered it on and initiated the startup using the Dell Laptop’s standard F12 key for USB boot selection. The process proved successful, allowing me to test run Linux Mint. After connecting to the wireless network, which was promptly recognized, I investigated the mounted hard disk, revealing the absence of vital startup files. I took the time to illustrate to the individual that their computer was indeed functional, but the Windows 10 operating system was malfunctioning.

Inquiring about any valuable data stored on the laptop, the patron confirmed there was none. With their consent to explore Linux Mint, I initiated the installation process. The laptop’s BIOS hailed from 2012, armed with 4 gigabytes of RAM and an Intel i3 processor—not a powerhouse by any means, and possibly not the ideal candidate for Linux Mint Cinnamon. Although Xfce might have been more suitable, it wasn’t an available option. Despite the gradual pace, the installation was eventually complete, resulting in a fresh instance of Linux Mint Cinnamon 21.2.

The laptop owner Gary expressed his enthusiasm as this seemingly ‘defunct’ device was revitalized. I invested time in updating the system and guiding him through installing desired software like Google Chrome. I offered instructions on startup, shutdown, login procedures, and wireless connectivity for when he returned home. Additionally, I assisted him in configuring LibreOffice Writer, allowing him to save files in ‘.docx’ format for sharing with his friends.

Once my assistance concluded, I returned the laptop to Gary, who inquired about compensation. I informed him that, as a library volunteer, my aid and installation services were free, suggesting he pay the kindness forward to someone else. Grateful, he remarked that my help had spared him $170—the amount he had spent on the refurbished computer. I believe that Linux and open-source contributions are imbued with positive karma and that introducing yet another individual to the merits of free software will ultimately bring forth something positive.

New Paths for the Turtle

Turtle graphics, a popular approach to introducing young learners to programming, traces its roots back to the original Logo programming language. Logo, an educational programming language designed by Seymour Papert and others in 1967, played a significant role in the development of this technique.

My personal journey with Logo began during my time as a graduate student in education. As a young adult, I struggled with mathematics, finding abstract concepts elusive and distant, while others seemed to grasp them effortlessly. Mathematics became an enigma, something I couldn’t connect with. However, everything changed when I entered graduate school and was given the task of teaching geometry to a fifth-grade student using a special curriculum that leveraged Logo and its Turtle graphics feature.”

A friend suggested several years ago that I learn Python. I had dabbled with computer programming but never stuck with it. He invited me to sit in on a staff development session on using Python in educational settings. Fortunately for me, he introduced them to the Python ‘turtle module.’ There was a connection immediately to my earlier experiences with Apple LOGO, and I began to experiment. I was comfortable on the command line but new to the Python REPL. Nonetheless, I opened a new session and began by importing the ‘turtle module.’

don@pop-os:~$ python3
Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

I imported the turtle module and followed my friend’s example. He was on a MacOS computer while I was using a Linux laptop. The results were nearly identical, though.

I enjoyed moving the turtle around the screen and drawing some simple shapes. The true potential of Turtle lies not merely in its capacity to execute commands but in its ability to foster procedural thinking and encourage students to reflect on their thought processes. With the aid of Turtle graphics, programming students can receive instant visual feedback from their code and simultaneously explore mathematical concepts, such as estimation and variability.

Reading books like “Teach Your Kids to Code” by Bryson Payne and “Python for Kids” by Jason Briggs, I learned more about the ‘Turtle’ and Python in general. My love of learning and teaching invited me to think of how I could share this with others. In the past half dozen years, I have taught homeschool classes and conducted workshops in public libraries.

I recently completed a three-day session in a nearby public library. Each of the participating youngsters received a Raspberry Pi 400, which they learned to set up and connect to library-supplied displays and the local area network. The main focus of our classes was getting them started programming with Python. We used the Mu editor included with the Raspberry Pi operating system. In a bit less than three days, the students learned how to program the turtle using simple commands at first, then progressed to ‘for’ loops and the ‘random’ module. Each of the participants was able to take their library-supplied Raspberry Pi 400 home with them.

There is nothing more exciting than seeing students excited about learning. I encourage you to share your skills with young learners wherever and whenever you can.

The Library as a Creative Hub: Exploring New Roles in the Age of Broadband Access

Public libraries have been a staple of communities for generations, serving as a place for individuals to access knowledge, literature, and resources they may not have had access to otherwise. However, with the rapid rise of technology, public libraries have become much more than a simple repository of books. In many small communities, public libraries now serve as co-working spaces, offering access to broadband internet, meeting rooms, and other resources supporting economic development and entrepreneurship.

In today’s knowledge-based economy, access to broadband internet is critical for businesses and individuals alike. Unfortunately, many small communities lack the necessary infrastructure to provide high-speed internet access to their residents. This lack of access can be a significant barrier to economic development. Businesses and entrepreneurs may hesitate to establish themselves in areas without reliable internet access. Public libraries can help level the playing field by providing broadband access to the community, making it easier for businesses to flourish in small communities. In addition to providing broadband access, public libraries are well-suited to serve as co-working spaces. These spaces offer entrepreneurs and freelancers an affordable and flexible alternative to traditional office spaces, which can be prohibitively expensive. Public libraries can foster collaboration, networking, and knowledge sharing among small business owners by providing a communal workspace, creating a more supportive and connected business community.

Furthermore, public libraries offer resources and programming that can support entrepreneurship and economic development. Libraries often offer free access to business resources like databases, market research tools, and business planning resources. They also frequently host workshops, training sessions, and networking events to help entrepreneurs develop the skills and knowledge needed to succeed. By providing these resources, public libraries can play a vital role in supporting the growth and development of small businesses and entrepreneurs.

In conclusion, public libraries with broadband access are essential to economic development in small communities. As small communities face economic challenges, public libraries can be critical in fostering a more prosperous and connected community. Libraries can help level the playing field and support entrepreneurship and small business development by providing access to high-speed internet, co-working spaces, and other resources.

Being Woke: A Path to Justice, Love and Equality

 

I asked ChatGPT to write a poem about being “Woke.” It came out better than I expected. It’s another reason to like this new AI technology and the perfect response to those who would discourage others from caring deeply about social issues.

“Being woke is a state of mind, Where truth and justice we hope to find. It’s a path to consciousness and light, Where prejudices and biases take flight.

With eyes wide open, we see the truth, The struggles and hardships of those who were deemed uncouth. We stand for the marginalized, for their rights to be heard, And strive for a world where love and equality are revered.

Being woke is more than just a trend, It’s a call to action and a commitment we tend. To make the world a better place, with love and respect, Where every person, no matter their race, is truly accepted.

So let us rise, and never rest, In this quest for justice, love and success. For being woke is not a destination, It’s a journey towards a world of peace and liberation.”

What is an AI Writer?

An AI writer is a type of artificial intelligence (AI) technology that can generate written content. AI writers are powered by natural language processing (NLP) and natural language generation (NLG) algorithms that enable them to understand and generate written content. AI writers can be used to create content for a variety of applications, including content creation, automated news reports, and automated social media posts.

Natural Language Generation (NLG): NLG is a type of AI technology that enables machines to generate written content from structured data. NLG algorithms are used to analyze data and generate written content that is both accurate and engaging.

Natural Language Processing (NLP): NLP is a type of AI technology that enables machines to understand written content. NLP algorithms are used to analyze written content and extract meaning from it.

AI writers learn by analyzing large amounts of data. They use machine learning algorithms to identify patterns in the data and generate written content that is both accurate and engaging.

AI writers use machine learning algorithms to generate written content. Machine learning algorithms enable AI writers to identify patterns in data and generate written content that is both accurate and engaging.

AI writers can be used to create content for a variety of applications, including website content, blog posts, and articles. AI writers can generate content that is both accurate and engaging, making them a valuable tool for content creators.

AI writers can analyze data and generate written content that is both accurate and engaging, making them a valuable tool for news organizations.

AI writers can be used to generate automated social media posts. AI writers can analyze data and generate written content that is both accurate and engaging, making them a valuable tool for social media marketers.

AI writers can be prone to bias if they are not trained properly. AI writers can learn from the data they are given, so it is important to ensure that the data is unbiased and representative of the population.

AI writers are limited by the data they are given. AI writers can only generate content that is based on the data they are given, so it is important to ensure that the data is accurate and representative of the population.

AI writers are a powerful tool for content creation, automated news reports, and automated social media posts. However, there are some challenges with AI writers, including bias and limitations. It is important to ensure that AI writers are trained properly and given accurate data in order to ensure that the content they generate is both accurate and engaging. Despite these challenges, AI writers have the potential to revolutionize the way we create content and communicate with each other.

This blog post was created by HyperwriterAI.

An intelligent approach to eggs

I’m not a fan of eggs in the morning so the rising prices will not effect my breakfast. But I am a fan of cookies, cakes, casseroles and breads that do use eggs. The rising cost of eggs will affect baking and many food items that use eggs. Many Americans are not aware that there are ingredients that can be substituted for eggs and the cost of the items they’re making will be reduced and maybe they’ll have lower cholesterol as well. Eggs are a wonderful ingredient but maybe there are other ingredients that are even better. I asked ChatGPT to supply a list of egg substitutes that can be used in baking and cooking. Here are five possible solutions to your baking woes:

  1. Applesauce: This can be used as a substitute for eggs in many recipes, and can be used in a 1:1 ratio (i.e., 1/4 cup applesauce can be used in place of 1 egg).
  2. Banana: Mashed bananas can also be used as a substitute for eggs in many recipes, and can be used in a 1:1 ratio.
  3. Flaxseed meal: Mixing 1 tablespoon of flaxseed meal with 3 tablespoons of water can be used as a substitute for one egg in many recipes.
  4. Commercial egg replacer: There are many commercial egg replacer products on the market that can be used as a substitute for eggs in cooking and baking. These products are typically made from a combination of starches and other ingredients, and can be used in a 1:1 ratio.

It’s important to note that not all substitutes work well in all recipes, so it’s best to experiment and see which ones work best for the specific dish you’re making.

I mentioned in an earlier post that I’ve been experimenting with artificial intelligence solutions to improve my own writing and research. I used ChatGPT and HyperWrite in this blog post.

Using ChatGPT

Earlier today I decided to begin using ChatGPT. Curiosity got the best of me. I asked ChatGPT to draw a square with Python. I’m very familiar with the ‘turtle’ module in Python and regularly use it in classes I teach for middle school students. The solution offered by ChatGPT was not one I had ever seen nor demonstrated for students. I was impressed and shared this on Fosstodon.org . Later I asked ChatGPT to draw and ‘isosceles’ triangle. I expected that it might use the ‘turtle’ module again but instead this time it used ‘matplotlib.’ Another unique solution. A response to my post on Fosstodon stated that the AI powered solution was merely repeating information that could be found with a ‘Google search.’ I liked the response and didn’t disagree. Fast forward six hours and I used ChatGPT to draw a circle with ‘C++.’ The code appeared once again. This time AI provided two possible solutions. I asked it to give me a Python program that would write haiku. Once again the answer was a code snippet I would not have thought of.

import random

haiku = [
    "Autumn leaves fall gently",
    "As the cool breeze blows softly",
    "Nature's symphony"
]

print(random.choice(haiku))

I ‘Googled’ the same request and yes the answers were there but I had to sift through a couple of blog posts to find the code examples. I think AI is going to significantly change how we interact with knowledge from the internet and other databases that are connected to these learning engines. What are your thoughts?

Time for change

Gasoline is $1.53 a liter in Ontario adjusted for US dollars and Joe Biden isn’t president either. Gasoline has historically cost more in Canada and the rest of the world. According to my brother gasoline is $8.88 a gallon in Zurich Switzerland. It’s long past time to find other modes of transportation. If you aren’t a farmer or a construction worker you don’t need a 1/2 or 3/4 ton pickup truck with all wheel drive. That’s ego and it will always cost more. My parents lived through WWII when gas was rationed. In 1974 after the Yom Kippur War gas prices doubled and tripled. I had to plan my leave and liberty around the calendar because in NYS you could only buy gas on even or odd days based on your license plate numbers. The national speed limit was set to 55 mph. In the past 40 plus years we’ve listened to politicians and others who convinced us we could drive like maniacs,own SUVs and Humvees that got atrocious mileage and live large otherwise. It just isn’t realistic. Electric cars and sustainable fuels are the future. Don’t let politicians and pundits bullshit you into believing it’s not possible. We won WWII. We put people on the moon because we believed we could. It’s time to reimagine our world and worldview.

Relearning Moodle

I’m going to write an article about how Moodle can be used by teachers forced to be socially distanced from their students during this pandemic. Eleven years ago I set up a Moodle server which I used in a class on digital citizenship. I can’t remember what version of Moodle that was. I liked Moodle because it fit the curriculum I was teaching and the students could access the server from home. It was a virtual machine that I downloaded from Turnkey Linux. My latest install of Moodle is also a VM but it’s running in Virtualbox on a MacBook Pro. I’m running it within my home network.

I wrote an article several years ago about MoodleBox which was a implementation of Moodle with a Raspberry Pi. It was a great implementation of Moodle. One of the new developments for me is that it doesn’t seem to be possible to download ready made courses for Moodle anymore. That used to be a feature. If anyone reading this blog can point me in the direction of pre-made Moodle content I’d appreciate it

I’m also looking for good videos that explain the nuances of Moodle Administration and content creation. Please feel free to comment.