Mastering Markdown with MarkText

A few years back, I learned about Markdown. I had never heard of it until I started exploring Jupyter Notebooks. Markdown was a familiar skill to many of my writing colleagues. It remained an uncharted territory for me.

Markdown is a universal method for composing text, employing concise notation to apply to style. For instance, rather than relying on a button click to emphasize a word, you envelop the word with two asterisks **word**.

Markdown holds a significant edge in its reliance on intuitive notations, often drawing from our ingrained habits. Employing asterisks for emphasis, and utilizing characters to distinguish headlines – these practices align seamlessly with our natural inclinations.

While its merits were extolled by many, I remained uncertain about the necessity of acquiring markdown skills. My inherent curiosity, however, drove me to delve into the realm of markdown, investigating how it could integrate into my writing endeavors.

As I underwent the learning process, I found an excellent Markdown cheat sheet online and discovered that I could write Markdown in any simple text editor like ‘nano’, ‘vim’, or ‘gedit’. While it is technically possible to use almost any text editor to write Markdown, it is much more powerful to use an editor specifically designed to output Markdown formatted documents.

I stumbled upon MarkText, a platform equipped with features that streamline markdown writing while presenting an unobtrusive interface. This tool boasts six themes, comprising three light and three dark options. I find the dark themes more comfortable to work with. Notably, the user documentation is comprehensive, and a dedicated resource for markdown syntax assistance is also available.

MarkText presents a clean, minimalistic interface with a real-time preview feature. It accommodates several markdown specifications, including Commonmark, Github Flavored Markdown, and Pandoc Markdown. Its official website shows MarkText supports markdown enhancements like KaTex, front matter, and emoji usage. The application is capable of generating both HTML and PDF output files.

Within Mark Text, you’ll find diverse editing modes such as typewriter mode, source code mode, and focus mode. Incorporating images is effortlessly achieved by copying and pasting them directly from the clipboard.

For added convenience, a pop-up situated in the upper-left corner of the Mark Text interface provides a continuous tally of the characters and paragraphs that have been entered. This proves particularly advantageous for writers.

Saving files is a straightforward task accessible via the upper-left menu of the MarkText window or by employing the Ctrl+S shortcut. Remarkably, the menus within Mark Text bear a friendly and recognizable resemblance to those found in fundamental text editors or word processors, creating a sense of familiarity for users.

The versatility of Mark Text truly impresses me, as it effortlessly accommodates many formats through simple keystroke shortcuts. These include table blocks, diagrams, inline formats, math formula blocks, and other code blocks.

You can acquire Mark Text for your respective operating system through the following links:

Mark Text is an open-source project governed by the MIT license. The latest version can always be obtained via download.

Alternatively, on macOS, you can install Mark Text using

brew install --cask mark-text

On Windows, installation can be accomplished through Chocolatey by running

choco install marktext.

Mark Text continually seeks the support of sponsors and developers. The project provides a guide for those interested in contributing. Furthermore, you can back the project on Patreon and Open Collective.

This article is adapted from Why MarkText is my favorite markdown editor 

Reviving Vintage Laptops: A Tale of Linux Mint and Broadcom Woes

A week ago, I met Gary at the local library; who was having trouble with his aging Dell laptop that he had purchased from a refurbisher. Troubleshooting revealed that the laptop was fine but needed an operating system. Gary chose to let me install Linux Mint Cinnamon on his computer.

A few days ago Gary emailed me to ask if I could help him with another laptop he’d purchased from a refurbisher. Similar models are currently selling for $45 online. I started the laptop with a USB with Linux Mint 21.2 Cinnamon edition and used ‘inxi‘ from the command line to determine what the processor, RAM, and wireless card were. This one Dell Latitude D630, which is vintage 2007, had an Intel Core 2 Duo T7500 processor with 4 gigabytes of RAM and a Broadcom 4311 wireless card.

I quickly decided that Linux Mint XFCE was a better OS choice than Cinnamon due to the processor and RAM. Fortunately for us, we were in the public library, and I had no trouble downloading Linux Mint 21.2 XFCE. I wrote the image to the USB drive and began the installation process on D630. The computer started up well and loaded Mint XFCE very well. I chose to install it, and after twenty minutes, we had a laptop with Mint XFCE adequately installed.

However, this D630 had Broadcom wireless, so the wireless card wasn’t recognized out of the fresh install. I have encountered this issue before with Dell laptops and knew immediately what to do. An internet search led me to Ubuntu’s excellent documentation of how to install Broadcom wireless drivers. I followed the command sequence below to update the drivers easily and restarted the Latitude D630.

sudo apt update
sudo apt install firmware-b43-installer
sudo apt install linux-firmware
sudo reboot

Once the computer was restarted, the tiny wireless indicator light began to glow as it should. I knew we were in business and could finish the update process and add additional software to this vintage Dell laptop. Gary had a big grin and once again thanked me for rescuing another old laptop from the landfill.

Happy Birthday Dara


Men truly grasp their masculinity once a daughter enters their lives. My journey towards complete maturity initiated precisely thirty-six years ago today with the arrival of our daughter, Dara Maria. Until that moment, our son had occupied the core of our existence. His birth, a wondrous occurrence, had reshaped our lives, altering my perception of divine love and the responsibilities of parenthood.

During that era, the absence of gender reveal festivities and advanced technologies left us without any clues about the heartwarming gift that graced our lives on the afternoon of August 10, 1987. We had pondered names for both a boy and a girl. ‘Dylan’ was reserved for a boy, while ‘Dara Maria’ awaited a girl’s arrival. As fate would have it, Dylan never joined us, but Dara Maria did. She arrived petite compared to her brother, exuding a serene demeanor. Unlike her brother, she peacefully slumbered through the nights, initially nestled in a bassinet beside our bed, then in a crib adjacent to our room, and eventually in her pink-adorned space.

Sibling rivalries and disputes over toys emerged. As did debates over her allegiance to a National Football League team, Our son ardently supported the Buffalo Bills and insisted that Dara align herself with the Kansas City Chiefs. She forged friendships within our neighborhood and later at school. A participant in street hockey games with the local boys, she willingly accepted the “permanent all-time goalie role.” Excelling in both academics and athletics, she graduated third in her class. The school superintendent crafted an award exclusively for her, recognizing her exceptional achievements.

Her departure for college arrived too swiftly, and the void her absence left in our daily lives was keenly felt.  A father’s affection extends equally to both sons and daughters, yet the bond between him and his daughter is unique. Frequent journeys to her college ensued, introducing us to new acquaintances and guiding us through fresh locales and dining establishments along the picturesque Erie Canal.

The college years were a tapestry of intellectual achievements, culminating in Dara’s graduation with Summa Cum Laude honors, boasting an impressive 3.97 GPA. Her educational path led her to graduate school at St. Bonaventure University, where she continued her exceptional streak with a perfect 4.0 GPA.

Amidst this period, she made her way to Buffalo, cultivating fresh relationships and forging new connections. The notion of her life in the “Queen City” initially evoked apprehension within her parents, yet Dara’s own experiences gradually dismantled our preconceived beliefs regarding urban life and safety. Additionally, she embarked on a teaching vocation, transitioning from her initial role in First Grade to becoming a reading educator for middle school students.

In due course, her path intertwined with Shaun’s, and their bond flourished, eventually culminating in a splendid wedding ceremony at Christ the King Chapel, nestled within the serene grounds of Canisius University.

After two years, Dara and Shaun gave us the gift of Edison, gracing us with his arrival on his mother’s 30th birthday. This addition seamlessly wove another thread of delight into our family’s narrative.

In unison and during times of separation, we navigated the challenges posed by the COVID-19 pandemic. A revelation came our way approximately a year ago—news of impending fraternal twins. We embraced the wait with hope and patience, curious about the new dimensions these tiny newcomers would introduce to our familial tapestry. The eagerly anticipated moment arrived in March of this year when Emmet and Mae entered, bringing their precious presence and further enriching our lives.

Happy Birthday! Your presence and boundless enthusiasm for life and love have brought about a profound transformation in our lives. With love, Dad.

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.

Customize an Intel NUC 11

In the previous year, I acquired a Hewlett-Packard DevOne to replace an Intel NUC 10, which had been serving as my primary workstation. I set up the DevOne with a docking solution detailed in an article I wrote last year, aiming to replace both the NUC and an older Darter Pro I had been using. However, I gradually realized that the DevOne wasn’t quite suitable for me due to its smaller fourteen-inch screen. Given my aging eyes, I needed to adjust accessibility settings, which work better with larger displays.

I must acknowledge that the DevOne is an impressive laptop—crafted with quality and firm performance. Nevertheless, the idea of docking a computer that I never use in a laptop mode started to seem less logical. After careful consideration, I recently decided to transition back to a dedicated desktop setup. Despite being four years old, I plan to retain the Darter Pro, which continues to serve me well during my travels and while assisting clients at their residences.

A lot of research for a bit of PC

Embarking on constructing your computer brings forth a distinct feeling of liberation. Instead of accepting pre-determined choices from a computer manufacturer, you can handpick each component that constitutes your system. Engaging in a do-it-yourself PC project entails an element of risk and adventure and lends a greater sense of accomplishment than a mere purchase.

I diligently conducted research to ensure the compatibility and viability of my selected NUC and its associated components. As part of this process, I switched from Pop!_OS 22.04 to Linux Mint 21.2, which also draws from the Ubuntu 22.04 base. I have relied on Cronopete as my chosen backup solution throughout my journey. Anticipating a smooth installation of Mint, I’m confident that I can seamlessly restore my files, reassuring me of the feasibility of my chosen path.

Assembling the NUC

When the package arrived, I was eager to assemble my new computer. I took the NUC out of its box and looked at the directions. The NUC has four screws in the base, which I loosened until I could easily remove the bottom plate. Once the case was opened, it was easy to see where the RAM chips belonged. I gingerly removed them from their packaging and, one by one, inserting them into their places.

Installing the SSD drive was a bit more complicated. I had to remove a tiny mounting screw before inserting the NVMe drive. A good screwdriver with a magnetic tip is an excellent aid when securing the NVME drive.

It was finally time to see the fruits of my labor. I connected the NUC to a monitor with an HDMI cable, attached the keyboard and mouse to the USB ports, and turned on the device. As the directions instructed, I pressed the F10 key at startup to enter the BIOS and selected the USB drive on which I had previously installed Linux Mint 21.2.

Booting Linux on a NUC

After connecting the NUC to my Logitech wireless keyboard and mouse and a Sceptre 27-inch monitor, I was ready to begin the installation. My first boot was unsuccessful, so I turned off the ‘Secure boot’ option, and on the second boot, Linux Mint came up! A quick check revealed that the wireless was fine, and the keyboard and mouse were both working. The installation took only about 10 minutes. I added my favorite applications, including the Chrome browser, and began to have some fun.

The NUC is certified on several Linux distributions, including Ubuntu, OpenSuse, and Clear Linux.

Once the operating system and updates were installed, boot time was much quicker than the NUC 10 I replaced a year ago. I used ‘Neofetch’ for a brief overview of the system.

Give it a try

I use my system primarily for writing, coding, video conferencing, virtualizing other operating systems, and reading. If you are considering building your compact Linux system, this is an excellent option.

Discovering System Information with ‘inxi’

In the world of Linux, where power and flexibility reign supreme, one of the most valuable tools at a user’s disposal is the command line utility ‘inxi.’ This versatile tool allows users to gather detailed system information concisely and organized, making it an indispensable aid for troubleshooting, hardware identification, and overall system assessment.

The ‘inxi’ command operates under the GPLv3 license and finds its inclusion in many Linux distributions. You can install ‘inxi’ from your distribution’s software repository. from the command line on Fedora and ‘RPM’ based distributions as follows

$ sudo dnf install inxi

On Debian, Elementary, Linux Mint and Ubuntu based systems:

$ sudo apt install inxi

Running inxi without any flags will generate output related to the system’s CPU, kernel, uptime, memory size, hard disk size, number of processes, client used, and the Inxi version.

don@pluto:~$ inxi
CPU: quad core Intel Core i7-8565U (-MT MCP-) speed/min/max: 900/400/4600 MHz
Kernel: 5.15.0-78-generic x86_64 Up: 1h 41m Mem: 2855.0/15700.3 MiB (18.2%)
Storage: 232.89 GiB (11.1% used) Procs: 322 Shell: Bash inxi: 3.3.13

For a basic overview of your system use ‘inxi -b’:

don@pluto:~$ inxi -b
  Host: pluto Kernel: 5.15.0-78-generic x86_64 bits: 64
    Desktop: Cinnamon 5.8.4 Distro: Linux Mint 21.2 Victoria
  Type: Laptop System: System76 product: Darter Pro v: darp5
    serial: <superuser required>
  Mobo: System76 model: Darter Pro v: darp5 serial: <superuser required>
    UEFI: INSYDE v: 1.07.07-1 date: 06/24/2019
  ID-1: BAT0 charge: 45.1 Wh (100.0%) condition: 45.1/53.2 Wh (84.9%)
  Info: quad core Intel Core i7-8565U [MT MCP] speed (MHz): avg: 799
    min/max: 400/4600
  Device-1: Intel WhiskeyLake-U GT2 [UHD Graphics 620] driver: i915 v: kernel
  Device-2: Chicony USB2.0 Camera type: USB driver: uvcvideo
  Display: x11 server: X.Org v: driver: X: loaded: modesetting
    unloaded: fbdev,vesa gpu: i915 resolution: 1600x900~60Hz
  OpenGL: renderer: Mesa Intel UHD Graphics 620 (WHL GT2)
    v: 4.6 Mesa 23.0.4-0ubuntu1~22.04.1

Determine the battery status of your laptop with ‘inxi -B’:

don@pluto:~$ inxi -B
  ID-1: BAT0 charge: 45.1 Wh (100.0%) condition: 45.1/53.2 Wh (84.9%)

You can determine the make and model of your laptop or desktop PC with ‘inxi -M’:

don@pluto:~$ inxi -M
  Type: Laptop System: System76 product: Darter Pro v: darp5
    serial: <superuser required>
  Mobo: System76 model: Darter Pro v: darp5 serial: <superuser required>
    UEFI: INSYDE v: 1.07.07-1 date: 06/24/2019

Determine the network and associated information with ‘inxi -n’:

don@pluto:~$ inxi -n
  Device-1: Intel Cannon Point-LP CNVi [Wireless-AC] driver: iwlwifi
  IF: wlp0s20f3 state: up mac: 18:56:80:53:58:b3
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    driver: r8169
  IF: enp57s0f1 state: down mac: 80:fa:5b:65:ba:55

The ‘inxi’ command line utility proves itself to be an indispensable tool for any Linux user. Its ability to provide an extensive range of system information concisely and well-organized simplifies the task of understanding your system’s hardware and software configuration. Whether you’re a seasoned Linux user or a newcomer to the open-source world, ‘inxi’ is a must-have in your toolkit. By empowering users to make informed decisions, troubleshoot effectively, and optimize their systems, ‘inxi’ reaffirms Linux’s reputation as a platform tailored for true enthusiasts and professionals.

Why Linux Mint Could be Your Perfect OS Choice

I have owned several MacBooks and purchased one for my wife a few years ago. She’s not a power user, mainly utilizing it for shopping, email, and discovery. As it approaches the end of its life, each new OS upgrade renders it less usable. Although my wife has never used a Linux computer, transitioning might be smooth. After all, many of her applications are readily available on Linux Mint. Upgrading to Linux Mint could be the best option for her.

Here are five reasons why Linux Mint might be a better choice for the average user than purchasing a new MacBook.

Customizability and Flexibility:

Linux Mint offers a high level of customizability and flexibility. Users can choose from various desktop environments (Cinnamon, MATE, and Xfce) and tweak the system to suit their needs. This level of control is not as readily available in macOS, which is designed to offer a consistent user experience across its devices.

Cost and Accessibility:

Linux Mint offers an open-source and free-to-use platform, while macOS remains exclusive to Apple hardware, leading to higher costs than comparable PCs. For budget-conscious users or those seeking the freedom to install the OS on a wide range of hardware, Linux Mint presents a more affordable and accessible alternative. It’s even possible to install Linux Mint on her MacBook Air.

Software Repository:

Linux Mint gains a significant advantage from its vast software repository, offering users a plethora of free and open-source software. The package manager (APT) streamlines application installation and updates. While macOS also features an extensive collection of applications through the App Store, it fails to rival the sheer number and variety available in Linux’s repositories.

Community and Support:

The Linux Mint community exudes passion and activity, always eager to assist newcomers and experienced users. Online forums, documentation, and community-driven support offer many resources to troubleshoot issues and delve deeper into the OS. While macOS also boasts a strong user base, the open-source community’s nature often fosters more accessible and diverse support channels.

Privacy and Data Control:

Linux Mint empowers users with greater control over their data and privacy. Unlike macOS, which tightly integrates with Apple’s ecosystem and services, Linux Mint enables users to determine data-sharing preferences and recipients. Moreover, being open-source, the operating system’s inner workings remain transparent, facilitating auditing for potential security and privacy concerns.

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,, 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

4 Ways Open Source Software Can Improve Education

Everyone deserves an equal opportunity for a good education. But, we all know that some folks have monetary constraints that make those educational opportunities less likely to occur. I taught in a school district with a high percentage of rural poverty and our students did not have access to the opportunities that their urban and suburban peers. Closing that gap was always on our minds. That’s when we discovered open source software. Here are four ways that open source software levels the playing field for students.

  1. Cost-effectiveness. Open source software like LibreOffice, provides students with state of the art software that ensures that any document they create is theirs to keep and share with their teachers and classmates. Access to the same software with identical file formats ensures that everyone can share information easily. This is especially important for schools and universities that are operating on tight budgets.
  2. Flexibility. Open source software is typically very flexible and customizable.. There is no vendor lock-in. There are no contractual limits on deployment. Every student and teacher can have a copy of the software and they are free to share it with their family too. Support from active communities of users and excellent documentation are key selling points.
  3. Security. The source code of open source software can be inspected by anyone making it less likely that malicious code could be hidden from view and can more easily be found by security teams. Open source software is updated more regularly than proprietary products. This is because the open source community is constantly working to improve the software, and they are able to release updates more quickly.
  4. Collaboration. The open source community is a large and vibrant community of developers who are constantly working to improve open source software. This means that educational institutions can tap into a wealth of expertise and resources when using open source software.

Here are some examples of open source projects and communities that have a direct connection to education.

  • Moodle: Moodle is an open source learning management system (LMS) that is used by millions of students and teachers around the world. Moodle is highly flexible and can be customized to meet the needs of any educational institution.
  • Jupyter Notebooks: Jupyter Notebooks are a popular open source tool for creating and sharing interactive documents that contain code, text, and visualizations. Jupyter Notebooks are an excellent way for students to learn how to code and to share their work with others.
  • GCompris: Gcompris is a free and open-source educational software suite for children aged 2 to 10. It includes a wide range of activities.
  • Gimp: Gimp is a free and open source raster graphics editing package that is used for image editing and manipulation. Gimp is available on Linux, MacOS and Windows.