From Linux to macOS: Embracing Open Source Everywhere

Open-source software is not restricted to Linux. While I spend most of my time reading, writing, and developing on Linux, I can also use many tools I love on macOS and Windows platforms. Last fall, after returning from All Things Open, I purchased an M3 MacBook Air because I wanted to experiment with some of the artificial intelligence applications I had seen at the conference in Raleigh.

As most of you know, Mac computers have a great supply of Apple-developed software, which works well for many folks. However, being a person who is used to the freedom afforded by open source, it didn’t take long before I had installed HomeBrew and then began installing my favorite open source applications.

The first app I installed was Ollama, which I used almost daily to experiment with locally run large language models. Ollama is available under the MIT license. Additionally, I experimented with Hollama, a minimal web user interface for Ollama, which also carries an MIT license. Apple Silicon processors, including the M1, M2, M3, and M4, provide excellent platforms for running locally hosted large language models.

Output from these LLMs is in Markdown, and several open-source Markdown editors are available for MacOS. I prefer MarkText on Linux, but I had trouble installing it on MacOS, so I opted for MacDown, a fine open-source Markdown editor easily installed.

% brew install --cask macdown

Apple supplies its own word processor, spreadsheet, and presentation software, but I chose LibreOffice, my favorite. It is also easily installed with HomeBrew. I also installed Joplin, my favorite cross-platform notetaking app. The world of open-source supplies all my needs.

I recently wrote about Krita and decided to install it on the M3 MacBook, too. It was easy to install with Homebrew. My experience with Krita led me to install Darktable, another open-source graphic program available on macOS. Both are easily installed with Homebrew.

% brew install --cask darktable 
% brew install --cask krita

Gimp and Inkscape are my favorite open-source graphics programs. I regularly use both of them to modify images and create vector graphics. I use VSCodium when writing and learning more about Python code on the Mac.

I installed VideoLan (VLC) on the Mac. VLC is a free, open-source, cross-platform multimedia player and framework that plays most multimedia files.

I also installed DiffusionBee, which has allowed me to explore AI image creation on my desktop.

Completing my list of favorite open-source applications that can be installed and run locally is Bitwarden, my top choice for a password manager. I have been using Bitwarden for nearly six years and highly recommend it.

All of these applications can be easily installed by downloading and installing the .dmg files or by using Homebrew from the command line. I prefer the latter as upgrading all the applications simultaneously is much easier. The number of open-source applications that run on macOS is quite lengthy. I have only shared the ones that I use, but there are many more. I discovered a comprehensive list of them on Github.

Fastfetch: High-Performance Alternative to Neofetch for System Information Display

Yesterday I wrote about Neofetch which is a tool that I have used in the past on Linux systems I owned. It was an easy way to provide a good snapshot of the distribution I was running and some other pertinent information about my computing environment. One of my readers replied to let me know that the project was no longer being maintained. It was last updated in August 2020. The commenter suggested that I check out Fastfetch. I thanked the reader and followed the link he provided to the Github repository for Fastfetch.

The project maintains that it is, “An actively maintained, feature-rich and performance oriented, neofetch like system information tool.” It is easy to install and provides much of the same information that was provided by Neofetch. However, it does supply your IP address but the project maintains that presents no privacy risk. The installation for Fedora and RPM based distributions is familiar by entering the following command.

$ sudo dnf install fastfetch

If you are a Ubuntu based distribution like my Linux Mint daily driver then the installation requires the download of the appropriate .deb file. Once the package was installed on my system I decided to try it.

Screen picture by Don Watkins CC by SA 4.00

Fastfetch can be easily installed on a MacOS with Homebrew. I decided to try it on my MacBook.

Screen picture by Don Watkins CC by SA 4.0
% brew install fastfetch

Fastfetch is written in C with 132 contributors. It is open source with an MIT license. In addition to Linux and MacOS systems you can install Fastfetch on Windows with Chocolatey. The project states that Fastfetch is faster than Neofetch and it is actively maintained. Fastfetch has a greater number of features than it’s predecessor and if you want to see them all enter the following command. For more information and examples be sure to visit the project wiki

Neofetch: The Universal System Info Display Tool

Neofetch, hosted on the reputable and active project homepage at the Github repository, is designed to create system configuration screenshots on various platforms. The primary difference between Neofetch and ScreenFetch lies in its broader support; it extends beyond Fedora, RHEL, or CentOS and provides compatibility with almost 150 different operating systems, including lesser-known ones like Minix and AIX!

The Neofetch installation procedure is equally straightforward:

Debian and Ubuntu users use the following command:

$ sudo apt install neofetch

For Fedora and other RPM-based distributions use the following command:

$ sudo dnf install neofetch
Screen picture by Don Watkins CC by SA 4.0

You can also install neofetch on other operating systems including MacOS.

$ brew install neofetch
Screen picture by Don Watkins CC by SA 4.0

Once installed, Neofetch provides a standard system info display that can be further modified for your specific preference: image files, ASCII art, or even wallpaper, to name a few; all these customizations are stored in the .config/neofetch/ directory of the user’s home folder.

New MacBook Air M2

It’s been a few years since I purchased a MacBook. My last Mac was a MacBook Pro I bought in the spring of 2020. Since then, I’ve been using Linux exclusively. My desktop is an Intel NUC 11 that’s running Linux Mint Cinnamon, and I’ve no plans to change that anytime soon. However, I’ve heard lots of good reviews of Apple Silicon. I experimented with a MacMini with the M1 chip a bit over a year ago but sent it back and purchased an HP DevOne, which I had docked for just about a year.

When I upgraded to the NUC 11, the DevOne became an extra laptop. I’ve been using it since August in that capacity. Last month I took it to All Things Open and used it for note-taking, writing, and tooting. I was disappointed in its battery life and the 14-inch display was not enough for a guy who’s used to more desktop real estate.

I was attracted to the MacBook Air M2’s 15.3-inch display. My eyes aren’t what they used to be, and I need bigger fonts on a bigger display. I read many reviews and visited the Apple Store nearby to inspect this new Mac. I was impressed and almost purchased a unit that day. I decided to walk around the mall and left without purchasing the MacBook. More positive reviews and commentary from some of the open-source podcasts I listen to.  That led me to purchase this unit on a ‘Black Friday’ deal from Amazon. The MacBook Air arrived today and got it configured the way I wanted to. I installed the latest Python from Python.org and Visual Studio Code .

I wanted to ensure that I could use this new laptop to continue to hone my Python skills.

I used HomeBrew to install some of my other favorite open-source apps which included GnuCash, MacDown, and Joplin. I’m not doing any heavy lifting with this laptop but I was attracted by its reported long battery life. This MacBook Air M2 came with 256 GB SSD and 8 GB RAM. I like the feel of the keyboard and the overall performance and build quality. There are no readily apparent downsides to this new purchase.

 

 

 

Crafting a Universal Linux Live USB Drive

I frequently create USB boot devices for Linux to troubleshoot ailing Windows computers. I also use these drives to introduce new users to the beauty and utility of using Linux as their primary operating system. If you are a Fedora user, you can easily create bootable media using the Fedora Media Writer. It is usually included by default with Fedora, but if not, you can easily create your media by installing the software on your computer with the following command.

sudo dnf install liveusb-creator

Pop!_OS users can use Popsicle. Popsicle, an open-source application designed for Linux, empowers users to securely and effortlessly write images onto USB drives. This software comes pre-installed in Pop!_OS versions 18.04 and newer. Popsicle has an MIT license.

Linux Mint users have Mintstick which is part of the default install of LinuxMint Cinnamon 21.2. Like Popsicle it can be used to create live USB drives from any Linux ISO you can download. It is open source with a GPL v2 license.

Ubuntu users have a similar tool designed to create bootable USB drives for Ubuntu. The Fedora and Ubuntu tools are great to make bootable media for those distributions. But what if you create a bootable drive for Linux Mint or Pop!_OS? Neither of the previous tools will create that media. There is an excellent open-source tool that allows you to make the media you need regardless of the host operating system you are using. It’s Balena Etcher.

According to the project’s Github repository, “Etcher is a powerful OS image flasher built with web technologies to ensure flashing an SDCard or USB drive is a pleasant and safe experience. It protects you from accidentally writing to your hard-drives, ensures every byte of data was written correctly, and much more. It can also directly flash Raspberry Pi devices that support USB device boot mode

Etcher is also available for installation of MacOS 10.10 and later and Microsoft Windows too. If you are on a Debian or Ubuntu based system you can install Etcher easily with the following command sequence. Download the latest release for Debian/Ubuntu.

  sudo add-apt-repository universe
  cd Downloads
  sudo apt install ./balena-etcher_*_amd64.deb

Fedora users can install Etcher using ‘dnf’,

   sudo dnf upgrade --refresh
   wget https://github.com/balena-io/etcher/releases/download/v1.18.12/balena-etcher-1.18.12.x86_64.rpm
   sudo dnf install balena-etcher-1.18.12.x86_64.rpm

If you are a Windows user, you can install Etcher using Chocolatey.

choco install etcher

MacOS users can install it by downloading the disk image.

Etcher has excellent documentation and an Apache 2.0 license.

GnuCash 3.3 on MacOS Mojave

A week ago as I pondered upgrading to MacOS Mojave I wondered would I be able to use GnuCash on which I’ve grown to depend. Some of the research I had done on support sites indicated that the older 2.xx version of GnuCash that I was using on MacOS High Sierra might not work. I took the necessary steps to back up my files and then set out for the upgrade.

Sure enough when I had completed the upgrade to Mojave, GnuCash would not launch. I had a backup plan to use GnuCash on a Linux laptop. However I did come across a support discussion that indicated that GnuCash 3.2 and 3.3 would work. I downloaded the image files from SourceForge and set to work. When I first launched the program my register fonts were very small. I remembered that in GnuCash 2.6 that I had to edit a configuration file in the home directory ~/’.gtkrc-2.0.gnucash‘. That configuration file let me specify a larger font and different typeface.

Now, however GnuCash 3.3 required a different configuration option which I am going to share. Once I created and edited this file my new installation worked fine and the register appeared more readable. To accomplish this you need to open a terminal on your Mac. In the terminal you need to change directories to the following: Library/Application\Support/Gnucash/config/gtk-3.0/. Once you’re in that directory you will need to create a file named, ‘gtk.css’. I created the file with the ‘touch’ command and then edited it with ‘nano’. The contents of that file gave me the results I was looking for. You can edit the font and point size to your own tastes.
{
font:12pt arial, sans-serif;
}

I hope this helps other GnuCash 3.3 users.