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.

My open source story

In 1995, an email from my brother introduced me to Linux. Although I had heard of a high school student using Linux to build a web server, my knowledge was limited. Intrigued by my brother’s recommendation, I purchased a copy of Red Hat 5.0 from a nearby computer store. However, my initial attempt to explore it on an older computer resulted in a command prompt without success in running Xserver, leaving me unimpressed. A year later, I stumbled upon Red Hat 6.0 during another visit to the store. Taking it to work, I successfully installed Gnome on a Hewlett-Packard Vectra 75 with a Cyrix processor upgrade. This experience sparked my interest further.

The Red Hat 6.0 distribution came bundled with fascinating software like the Mozilla browser and OpenOffice 1.0, which I hadn’t encountered before. Excited about this discovery, I shared it with my IT team, and together we experimented with another machine. While we could browse Yahoo Mail using the browser, our workplace’s official email system, Lotus Notes, remained inaccessible. It was around early 2001 when I expressed my dissatisfaction with content filters to a vendor, and he suggested I build my own using Linux. This suggestion was an epiphany for me.

With minimal knowledge of Linux and no prior experience building a content filter, I embarked on a rapid learning journey. Armed with a Dell Optiplex GX1 equipped with a Pentium II-300 processor, I upgraded the hard disk and purchased Suse Linux 7. Through my exploration, I came across Squid and Squidguard and discovered Mandrake Linux, which appealed to me for various reasons. I also learned about the Red Hat Package Manager. Leveraging these newfound tools, I successfully built the first non-proprietary content filter in the history of Western New York’s public schools. Initially using Mandrake and later Fedora Core 1 on the older Dell machine, I employed Squid and Dansguardian to meet the requirements of CIPA compliance with E-rate. Although I faced some resistance from other technicians, I gradually demonstrated the legality and practicality of this solution over time.

This was just the beginning of my Linux journey. While developing the content filter, I delved into Samba and created our first network-attached storage device, providing our teachers with a reliable file backup solution. Subsequently, we built a Samba server running Fedora Core 1 and 2. I found stories of other schools utilizing Linux and learned about the K12 Linux Terminal Server Project. I taught myself Linux and Linux system administration through online forums, Google searches, and several books. I became a passionate advocate for open source, often promoting it at regional technology coordinator gatherings.

Using idle computers tucked away in closets across our school, I assembled a working demonstration of the K12 Linux Terminal Server. With an old Pentium II-300 boasting a mere 192 megabytes of RAM, I acquired special boot ROMs and repurposed additional older computers as thin clients for the server. One of our principals was so impressed with the results that he suggested implementing this solution in one of our computer labs. The success of the trial led to equipping two computer labs and numerous computers in classrooms and libraries with the K12LTSP solution. As the project expanded, we needed a more robust server and acquired a Dell PowerEdge with an advanced RAID controller. However, this setup proved incompatible with K12LTSP packages on Fedora Core 4. That’s when I discovered K12LTSP on CentOS. We adopted the CentOS 4 LTSP server as our DHCP server, seamlessly integrating it with Microsoft’s Active Directory. It served us well for over three years until we eventually virtualized our servers using VMWare ESX.

My foray into learning Linux empowered me to explore and create in ways I never imagined possible. Initially, open source presented challenges, with some components requiring unfamiliar configurations. However, I overcame these obstacles by relying on search engines and reading forums on the internet on Red Hat, Fedora, and other Linux user groups. Subsequently, I secured grants funded by our New York State Legislature, allowing me to attend Red Hat System Administration training in March 2003. A year later, another grant facilitated my participation in the Linux Boot Camp hosted by Training Camp and taught by Ross Brunson. Brunson’s teaching method involved building a system “from the ground up” with Red Hat 7.0, starting with the command line and gradually transitioning to a graphical user interface.

Equipped with experience and training, I became a resource for other regional school districts. Recognizing the tremendous potential of teaching students Linux, I seized every opportunity to do so. Unlike other operating systems, Linux allowed students to learn the fundamentals and progress to building their files and web servers. I utilized tools like VirtualBox to virtualize other Linux systems, such as Ubuntu and Debian, providing students with additional learning opportunities. Beyond developing a deep understanding of the operating system, my students and I familiarized ourselves with various open-source projects such as Audacity, OpenOffice.org, Apache, WordPress, Drupal, and Moodle, to name just a few.

The open-source ethos resonated with my desire to serve individuals and small businesses, which continues to this day as I work as a consultant for my own information technology business.

The foundational knowledge that propelled me toward advanced studies continues to animate my life and career. I teach young people and adults about Linux using platforms like the Raspberry Pi computer at our local library and other venues. Linux and open-source software have also spurred my exploration of social entrepreneurship, heavily influenced by what I have learned and witnessed within the open-source community. Later this month, I will be able to teach middle school students how to use Raspberry Pi 400 computers and Python at a local library.

This article is adapted from https://opensource.com/life/15/6/my-linux-story-don-watkins

Why Flatpaks on Linux Make Sense for Users

Introduction

Linux is celebrated for its flexibility and customization options. However, one aspect that has historically presented challenges for users is software installation and management. Thankfully, the advent of Flatpak has revolutionized the Linux ecosystem, offering a solution that simplifies software deployment and enhances user experience.

Streamlined Software Distribution

Flatpak, a universal package management system, allows users to install and update software from a central repository effortlessly—no need to look for the latest package or manually resolve complex dependencies. With Flatpaks, you no longer need to worry about conflicting library versions or package compatibility issues, as applications are bundled with all their necessary dependencies, creating a self-contained environment. This streamlined software distribution ensures a seamless experience, freeing users from the burdensome tasks of dependency hunting and manual installation.

Enhanced Security

Computer users ‘ security is a paramount concern, and Flatpaks significantly boosts this area. By encapsulating applications and their dependencies within sandboxes, Flatpak offers a layer of isolation that helps prevent software vulnerabilities from compromising the entire system. Each Flatpak runs in its container, limiting its access to system resources and ensuring any potential security breaches remain within the sandbox. Moreover, with frequent updates and security patches available through the central repository, users can easily stay protected against emerging threats.

Application Portability

One of the standout advantages of Flatpak is its ability to run applications consistently across different Linux distributions. By packaging applications with their necessary libraries, Flatpaks eliminate compatibility issues and allow users to enjoy their favorite software regardless of the underlying distribution. This application portability level dramatically simplifies switching between different Linux flavors or even sharing applications with friends and colleagues. With Flatpak, you can say goodbye to the frustrating search for software that works on your specific distribution.

Isolated Environments for Testing

Flatpak provides an excellent environment for testing new software without the risk of destabilizing your system. Creating isolated application sandboxes allows you to freely experiment with beta versions, bleeding-edge releases, or even unfamiliar software without worrying about potential conflicts or unintended consequences. This remote testing environment safeguards your system from potential harm and allows you to explore and discover new software confidently.

Community-driven Collaboration

Flatpak is an open-source project that benefits from a thriving community of developers and enthusiasts. This collaborative ecosystem ensures a wide variety of software is available in Flatpak format, with developers actively contributing to the central repository. Moreover, Flatpak empowers users to provide feedback, report bugs, and even contribute to the packaging efforts, fostering a sense of ownership and community participation. By embracing Flatpak, users become part of a more significant movement that aims to enhance the Linux experience for everyone.

Conclusion

In conclusion, adopting Flatpaks on Linux offers users various compelling advantages. From streamlined software distribution to enhanced security and application portability, Flatpak simplifies the once-complex landscape of software management on Linux. With isolated testing environments and a vibrant community-driven ecosystem, Flatpak paves the way for a more user-friendly and inclusive Linux experience. 

This article was written with an assist from ChatGPT.

From Windows to Linux: My Experience Helping a Friend Switch to Linux Mint

Yesterday I helped a friend restore two laptops to good working order using Linux Mint 21.1. My daily driver is Pop!_OS but my friend is new to Linux and I thought Linux Mint with a Cinnamon desktop would be a good place for him to start his Linux journey.  I saved his files from the first laptop on a USB drive and then began the install of Mint from another USB drive that I had prepared for that purpose. The candidate was a three year old Hewlett-Packard Laptop with a lightweight AMD processor and 4 GB or RAM. The computer had really gotten slow and was showing signs of a malware infestation when I suggested to my friend that he let me help him give Linux Mint a try.

The install of Mint went very well and we were done in about fifteen minutes which included adding updates and restoring his word processing and image files from the Windows 10 operating system that had existed on this laptop just a few minutes before. My friend was so excited by the results and the new life in his laptop that he invited me to try Mint on an extra Acer Aspire laptop that he had in a cupboard in his home. The Acer was a great candidate. Eight gigabytes of RAM, i5 processor and 250 GB SSD drive. My friend is quite happy with his two laptops now that they are running Linux Mint. I am always delighted when I can share the gift of Linux and open source software with anyone.

Managing your money on Linux

GnuCash is a popular open-source personal finance or small business accounting for Linux users. It is a full-featured double-entry accounting system that supports multiple accounts, investments, and currency conversions. The app also provides a variety of helpful financial tools, including budgeting, reporting, invoicing and more. GnuCash is a great choice for users who are looking for a comprehensive and powerful financial management solution. GnuCash is my own personal favorite that I have been using everyday for over six years. GnuCash can be installed from the command line or as a Flatpak depending on your distribution and/or personal choice. GnuCash is licensed with Gnu Public License. GnuCash is also available for MacOS and Windows users too.

Homebank is a free, open-source personal finance app for Linux, Windows and MacOS users. It easily imports files from Quicken, Microsoft Money and other software. It also imports from popular bank formats OFX/QFX, QIF and CSV. The source code for Homebank is freely available and licensed with GPL v 2.0. The project provides information about how to download and install on your distribution or operating system.

KMyMoney is a cross-platform double-entry bookkeeping system for personal finance management built on KDE. It’s similar in operation to popular proprietary personal finance applications. KMyMoney also supports multiple accounts and currencies, making it a great choice for users who need to manage their finances in multiple countries. It’s latest stable release was June 2021. It is licensed with Gnu Public License. The project provides download images for Linux, Windows and MacOS.

Skrooge is open source and available for download and install on Linux and BSD. It’s also available on Windows and MacOS. You can import accounts from many sources including AFB120, QIF, CSV, MT940, OFX, QFX. According to their website Skrooge is able to import directly transactions from all your banks web sites in one click. Skrooge provides excellent documentation too.

Free Software is Freedom

I’m blogging tonight using my System76 Darter Pro which is now nearly three years old. The laptop came with Pop!_OS installed on it and I kept using that Linux distribution for much of the first two years. Last year I made the switch to Linux Mint and I enjoy that very much. Whether I’m running Pop!_OS or Linux Mint my computer runs as well as it did when it was new nearly three years ago. Linux and free software provide the best value for most users and yet daily I encounter folks who have never heard of Linux or free software. Last week I helped a friend access their inaccessible Microsoft Word and Excel files by installing LibreOffice 7.2 on their Windows laptop. I hoped to encourage this person to upgrade their Windows 7 operating system which is out of date with the Linux option. Their computer which is a Hewlett-Packard DM4-2070us is an excellent candidate. It has an i5 processor and six GB RAM. One of the impediments for my friend is the need to edit PES files for a Brother embroidery machine. I found an open source workaround using the Inkstitch extension with Inkscape. I wish I was more proficient with that application than I am.

Vostro 1520 Restored with Linux

Today when I came home there was a box sitting in the house waiting for me. My wife said it was a computer my brother-in-law had used in his business. She said, “Dave wanted you to have this computer back now that he’s retired.” I vaguely remember helping Dave get this computer about ten years ago. It’s a Dell Vostro 1520. Checking on the Dell support website I found that the warranty expired nine years ago. The computer came with Windows XP which is what he needed at the time. I checked out the BIOS and determined it had a Core 2 Duo CPU with 2 gigabytes of RAM. It has 300 gigabyte SATA hard disk and Intel wireless.

It was a perfect candidate for Linux Mint XFCE. I made the Mint XFCE 20.1 thumb drive with my desktop computer and fired up the Vostro. I pressed F12 to boot from the USB drive and the install went really well. I ordered a new battery and a memory upgrade to bring it up to 4 GB of RAM. I’ve got a spare 120 GB SSD drive to put into it. Someone will soon be getting a lovely refurbished Dell Vostro 1520 that’s been refitted with Linux. You just have to love Linux and open source. It’s the gift that keeps giving.

Are you looking for a password manager?

Are you looking for a password manager? Password managers abound and many are open source. Which one will you choose? I was letting a browser store my passwords until an upgrade to my system left my browser based solution wanting. That’s when I started looking for a password manager. I looked in the software store of my Linux distribution. I downloaded and tried out a number of them. That list included Keepassx, Keepass2.and Bitwarden. Then I opted for a free proprietary solution. That worked until recently when the free solution put some conditions on the use of their product. 

Last week while listening to Linux Unplugged I heard Chris Fisher recommend Bitwarden. Hindsight is 20/20 and now I wonder why I didn’t choose Bitwarden in the first place. There is value in making mistakes and learning from them. I like that I can install Bitwarden on my computer and have it backed up in the cloud or in my own self hosted solution

The software runs on Windows, MacOS and Linux. You can integrate Bitwarden into your favorite web browser and that list includes Firefox, Chrome, Opera, Safari, Microsoft Edge and others. Bitwarden is mobile too. You can download it for iOS and Android. You can opt to install the software from the command line too. I like that I can access Bitwarden from any computer via the web vault too. I love that the data is fully encrypted end to end with AES-256. Learn more about Bitwarden’s security resources

You can create a Bitwarden account for free. Bitwarden is open source and released under GPL v. 3.0.  You can easily inspect the code. The Bitwarden community is vibrant and it is easy to become a part of that by visiting their forum to learn more about the software and pose questions. You can follow Bitwarden on Twitter and Reddit. The project maintains excellent documentation to help you use it well. 

What is your favorite open source password management solution?

Moving to Mint

I’ve been a Linux user for more than twenty years. I started with Red Hat 6.1 in the late 1990’s. Since then I’ve used a number of distributions and have loved the experience and freedom of open source software. My journey has taken me from Red Hat to Suse then Mandrake. Fedora 1 to Fedora 5 and then Centos and Ubuntu 5.04 in 2005. In the past couple of years I have been running Pop_OS! which I really like. It’s a great implementation of Ubuntu. It’s better than the stock release of Ubuntu Desktop in my estimation.

I first heard of Linux Mint a dozen or more years ago when a community member shared that he used that distribution. Last year a friend asked me to install Linux on an under powered Windows laptop that they owned. In my search to find the right distribution I settled on Linux Mint XFCE. It worked well. Then came the pandemic.

Since March of last year I’ve been helping folks get connected to Zoom and other video conferencing solutions and in all but one case I’ve used Linux. Several of the units I’ve purchased on Ebay came from Free Geek which is a non-profit in Portland, Oregon. Those laptops have come with Linux Mint installed. Most of the time I reinstalled Pop_OS on them. Recently when looking for a Linux solution for an aging Acer laptop with a Pentium processor I opted to install Linux Mint XFCE. It fit the bill perfectly. The client was very happy that a computer that was in their storage closet would now be the solution to their problem created when Google nixed cloud printing and made it impossible to print from their Chromebook to a two year old HP LaserJet multi-function device.

In helping a client find a Linux solution to his problem I decided it was time to try Mint on my System76 Darter Pro. I installed the Cinnamon desktop and had fun learning the nuances of this new interface. I liked it so well that I decided to use it on my Intel NUC desktop. I backed up my files and had Linux Mint 20.1 installed. I’m having fun configuring it the way I like it. Mint comes with a backup solution of it’s own but I opted to install Cronopete which is my favorite backup software. There’s always a learning curve with any new distribution. I’m looking forward to the experience. Thank you Linux for the freedom to choose.

Handbrake to the rescue

Recently my son asked me if I could locate a video of him scoring 35 points in one half of a high school basketball game. The game happened about eighteen or nineteen years ago. Fortunately many years ago I transferred the VHS-C format video to a digital format and created DVD’s of each of the games from his senior season. Thank goodness my wife is much more organized than me and she remembered where the DVD collection was. Now the problem was moving from the DVD format to digital video that could be loaded onto our son’s iOS device for playback. That’s where Handbrake came to my rescue. If you’re not familiar Handbrake is a great tool for video transcoding. Add to that it’s open source too.

My daily driver is a System76 Darter Pro and it’s currently running Pop!_OS 20.04. I had to install Handbrake which is easy from the command line, $ sudo apt install handbrake. After that I attached a USB connected DVD drive and in about thirty minutes I created a video which can be uploaded to my son’s iPad. Open source software is an incredible bargain and tools like Handbrake are great. You can run Handbrake on Windows and MacOS if you don’t have a Linux computer.