Unlocking Knowledge with Kiwix: Your Offline Digital Library

Emmanuel Engelhart and Renaud Gaudin wanted everyone to have access to Wikipedia, and in 2007, the dream became a reality with the creation of Kiwix. The project aimed at making knowledge accessible offline and the idea was born out of the need to provide Wikipedia and other educational content to people without reliable internet access.

How Does Kiwix Work?

Kiwix operates by compressing large content files into a format known as ZIM (Zeno IMproved). These ZIM files are essentially archives of text, images, and other media, allowing offline access to entire websites or collections of knowledge.

Why use Kiwix?

Offline Access to Knowledge: Whether you’re in a remote area, traveling, or facing unreliable internet access, Kiwix allows you to access a vast amount of educational and informational content without an internet connection. Imagine having the entirety of Wikipedia at your fingertips, anytime, anywhere.

Cost-Effective Learning: Downloading content once and accessing it offline saves on data costs. This can be especially important when internet access is expensive or data limits are stringent. Kiwix provides a budget-friendly way to stay informed and continue learning without breaking the bank.

Educational Tool: Kiwix is a fantastic resource for schools and academic institutions, particularly in regions with limited internet access. It provides students and teachers with valuable learning materials and resources, helping to bridge the digital divide and promote equal access to knowledge.

What content is available

Wikipedia: The entire Wikipedia database, available in multiple languages, is one of the flagship contents of Kiwix. You can access articles, images, and other Wikipedia media without an internet connection.

Wiktionary: The free dictionary offers definitions, translations, etymologies, and usage examples in multiple languages.

Wikivoyage: A free travel guide with comprehensive information on destinations worldwide, including maps, cultural insights, and travel tips.

Project Gutenberg: A vast collection of public domain books, including classic literature, non-fiction, and historical texts.

TED Talks: A selection of inspiring and educational TED Talks, available as videos or transcripts.

Available on multiple platforms

Kiwix is offered as a native app for operating systems, including Android, Linux, Mac OS, iOS, and Windows. Additionally, it can be accessed through extensions for Chrome, Firefox, and Edge. You can install the Kiwix server on Raspberry Pi.

Get Involved

Kiwix is looking for folks who want to participate in the project. You can donate to support the project. Kiwix is open source with a GPL v 3.0 license.

Etherpad: The open source tool for collaboration

A conversation with a friend today led me to remember Etherpad. In an age of digital collaboration, finding the right tool to facilitate effective teamwork is crucial. Etherpad is a real-time, open-source collaborative text editor designed to streamline teamwork and boost efficiency. I’m a long-time user of Google Drive, and I consider it an excellent tool for collaboration, but what if you have team members who don’t have access or don’t want to set up a Google account? That’s where Etherpad comes to the fore.

Etherpad’s simplicity makes it an ideal solution for teams needing a straightforward and powerful tool for collaborative writing. You can install Etherpad locally on Linux, MacOS, and Windows. There are public sites that host Etherpad so that you and your team can use it without setting up your server. One of those sites is hosted by Wikimedia.

When you first launch Etherpad you are greeted with the following display:

Screen picture by Don Watkins CC by SA 4.0

You can open a previously used Pad or start a “New Pad”. There is a welcome message from the Wikimedia Foundation, some notes on how to use the pad, and some limitations. Looking at the menu bar on top and the far right, you are invited to enter your name. Next button to the left is the ‘Share’ button which provides some options for sharing this pad.

Screen picture by Don Watkins CC by SA 4.0

You have the option to make the pad ‘Read only’ and also the link to share with other members of your team as well as an Embed URL. Next to that is the ‘Settings’ button, where you are provided with several options, including whether you will enable a chat window, font settings, authorship colors, and line numbers.

The following menu option to the left, which looks like a clock, is the ‘Timeslider.’ The Etherpad Timeslider is a feature that allows users to review the history of a document. It provides a visual timeline of all the changes made to the document, showing who made each edit and when. Next on the menu to the left are a couple of horizontal arrows. This menu item allows you to import or export documents. You can upload any text file or document. Only plain text and HTML documents can be imported. You can export HTML, Plain text, or Etherpad documents. Next is an eye-shaped object that allows for the clearing of authorship colors. It cannot be undone. Next are ‘Undo’ and ‘Redo’ buttons and then ‘Outdent’ and ‘Indent’ buttons. Next to that, the ‘Unordered list button’ and then an ‘Ordered list’ button. The last four menu choices are strikethrough, underline, italic, and bold.

Etherpad is a simple yet effective way to work collaboratively with a team. The project is open source with an Apache 2.0 license and excellent documentation that provides detailed installation instructions, including how to set up Etherpad on Docker. The project maintains a wiki with exceptional directions for developers.

Bitwarden: Secure Password Management

Managing passwords is no easy task. There was a time when I relied on the browser to remember my passwords. Those passwords were easily remembered and probably easily guessed. That changed five years ago when I began to use a commercial password manager that automated the process, provided stronger passwords, and hopefully made my life more secure. About a year after I started using this proprietary password management solution, I received an email that stated that the terms of use were changing. I would only be able to access the password manager from one computer. I’m always on the go, and accessing the password manager from my mobile phone and/or desktop computer is essential.

That’s when I began looking for another solution, and this time, after listening to one of my favorite weekly Linux talk shows, I decided to try Bitwarden. Bitwarden came highly recommended, and best of all, it is open source. Initially released in 2016 by Kyle Spearrin Bitwarden, it does not limit me as my previous password manager did. Bitwarden applications are offered for Windows, macOS, and Linux. Browser extensions are available for Chrome, Firefox, Safari, Edge, Opera, Vivaldi, Arc, Brave, and Tor. Mobile apps can be downloaded for Android and iOS. Bitwarden’s client licenses are GPL v3, and if you choose to self-host your own Bitwarden server, its server license is AGPL v.3.

A key feature that sets Bitwarden apart is its end-to-end encryption. With this technology, your passwords are encrypted on your device before being stored on Bitwarden’s servers, ensuring that even Bitwarden cannot access your sensitive information. This robust security measure is essential for safeguarding your data against potential breaches.

Bitwarden provides a range of security features to protect your data. These include two-factor authentication (2FA), which enhances security by requiring a second verification method, such as a text message or a biometric scan.

Bitwarden provides a generous free plan with unlimited password storage. Secure all your apps, websites, and accounts at no cost. Access Bitwarden on any device, anytime, anywhere. A premium account will only cost ten dollars per year. This plan includes encrypted file storage, priority customer support, and advanced 2FA options. You can import your current passwords to Bitwarden from LastPass, 1Password, Firefox, Google, Microsoft Edge, and others.

Using the Web Clipper with the Joplin Note-Taking App

Joplin is my favorite note taking app. It allows me to save ideas and content across all the platforms I use everyday. In my case that’s Linux, MacOS and iOS. Joplin has really revolutionized and organized those notes whether they’re a daily journal or the latest development I come across while I’m out walking or sitting at my desk reading. Until recently I had not used Joplin’s ‘Web Clipper.’ Joplin Web Clipper allows saving web pages and screenshots from your browser to Joplin. The ability to use the Web Clipper has added a new dimension to my notetaking.

It’s easy to use but first you need to enable it in the software. On my Linux computer that involves opening the Joplin app and navigating to the ‘Tools’ menu which is at the far right next to ‘Help.’ Then select ‘Options’ which is at the top and navigate to ‘Web Clipper’ option which is on the left and second from the last at the bottom left. Then ‘Enable’ the clipper service. Install the extension for Google Chrome or Firefox. On MacOS the settings to enable Web Clipper are on the ‘Settings’ menu at the far left under the ‘Joplin’ menu. There is a Safari web extension for using Web Clipper if that is your preferred browser.

Screen picture by Don Watkins CC by SA 4.0

The Web Clipper enhances Joplin’s functionality by enabling users to seamlessly save web content for later reference. Here are a few key benefits:

With a simple click, you can capture articles, blog posts, research papers, and other web content, ensuring that valuable information is stored in one organized place. Saved content is available offline, making it easy to access important information without relying on an internet connection. By having all your research and resources in one location, you can streamline your workflow and increase productivity. Joplin’s end-to-end encryption ensures that your data remains secure and private, unlike some other note-taking applications.

Using the Web Clipper is easy. Once the option is enabled, open the Joplin application and then navigate with your web browser to the information you want to save to your notebook. Click the Joplin Web Clipper icon in your browser’s toolbar.

Screen picture by Don Watkins CC by SA 4.0

You can select which notebook you want to add the content to at the bottom of the dialog box. Then you can choose how you will save the content from the options displayed which include. Clip simplified page, clip complete page (Markdown), clip complete page (HTML), clip selection, clip screenshot or clip URL.

Screen picture by Don Watkins CC by SA 4.0

I chose to clip complete page in Markdown and I am presented with the options to save my notebook in ‘Articles’ or another notebook. Joplin uses the web article title for the title. That can be edited and then click to ‘Confirm’ and the article is saved for later reference.

Screen picture by Don Watkins CC by SA 4.0

The Joplin Web Clipper is an invaluable tool for anyone looking to save and organize web content efficiently. By capturing and storing information directly into Joplin, you can enhance your productivity, ensure offline access to critical resources, and maintain the privacy and security of your data. Whether you’re a student, researcher, or professional, the Joplin Web Clipper can help you streamline your workflow and keep your digital life organized

Transforming Family Photos into Festive Holiday Cards with AI

There are several open-source tools available this year for creating holiday cards. If you have a wonderful photo of your family or grandchildren, but it was taken during a different season and you’d like to change the background, there’s a Python module called rembg that can help you with that. To get started, you’ll need to set up a Python virtual environment and install the necessary dependencies. I created a directory named rembg using the following command:

$ mkdir rembg 

Then I setup a Python virtual environment.

python3 -m venv /home/don/rembg

Then I activate the environment with the following command.

source /home/don/rembg/bin/activate

Then I install rembg:

pip3 install rembg

I want to use rembg from the command line so I make the following additional installation:

pip3 install "rembg[cli]"

Then I install onnxruntime which is a machine learning accelerator.

pip3 install onnxruntime

Now I am ready to remove the background from the image that I have chosen. This is a recent picture of my wife and I taken in the fall of the year. I like the picture but I want it to have a festive background.

Photo by https://www.sissyhorch.com/

I make sure that my image is in the rembg folder and then execute the following command. The i switch means that I am operating at the file level.

rembg i grandparents.jpg grandparents_no_bg.jpg

In the command above I renamed the output file so that I would still have my original just in case I wanted to use it again. You can see below that the background has been removed from the image above.

I can create a nice background for my card with InkScape and add some festive lettering and use a Pointsettia I downloaded from Openclipart.org. The completed card is shown below.

Created with InkScape, OpenClipart.org by Don Watkins CC by SA 4.0

Rembg is open source with an MIT License. Onnxruntime is open source with an MIT License.

Celebrating the Holidays with Open Source

The holiday season is upon us once again, and this year I decided to celebrate in an open source way. Like a particular famous holiday busybody, I have a long list (and I do intend to check it twice) of holiday tasks: create a greeting card (with addressed envelopers) to send to family and friends, make a photo montage or video to a suitably festive song, and decorate my virtual office. There are plenty of open source applications and resources making my job easier. Here’s what I use.

Inkscape and clip art

One of my favorite resources is FreeSVG.org (formerly Openclipart.org). It’s easy to find your favorite holiday, including Hanukkah, Christmas, New Year’s, and more. The clip art is all contributed by users like you and me, and Creative Commons Zero (CC0), so you don’t even need to provide attribution. When possible, I still do give attribution, to ensure that FreeSVG and its artists get visibility.

Here’s an example of some clip art from FreeSVG:

A cartoon of a brown cornucopia with red apples, an orange pumpkin, and brown nuts spilling out

Using Inkscape’s Text to Path tool, I added my own text to the image, which I used on a card. With a little more preparation, I could also use the graphic on some custom cups or placemats.

A cartoon of a brown cornucopia with red apples, an orange pumpkin, and brown nuts spilling out, with the words "We Give Thanks" in an arch over the top

Word processing

LibreOffice Writer can be used to create greeting cards and posters for use around your home or distributing to your friends and family. Create a database of your family and friends using LibreOffice Calc and then use that resource to simplify making mailing labels with the mail merge function.

Creative Commons pictures and graphics

There’s also art on search.creativecommons.org. Mind the license type: give proper credit to anything requiring attribution. This image (“Thanksgiving Dealies”) came from the Creative Commons image search. It’s by Martin Cathrae and is licensed under CC BY-SA 2.0, so it can be adapted, reused, and shared under the same license.

A candlelight centerpiece using pumpkin shells as flower holders for small red and yellow floral bouquets.

I took this same image and added some of my own text to it with GIMP. You can use Inkscape to do the same thing. 

A candlelight centerpiece using pumpkin shells as flower holders for small red and yellow floral bouquets, with the words "Happy Holidays" at the top left of the image

Creative Commons offers plenty of image options that would make for a festive background during your next video conference.

Videos and live streaming

You can also incorporate images like these along with some of your own and create a short video clip using OpenShot video editor. You can easily add narration by recording a separate voice track using Audacity. Sound effects can be added in Audacity, saved to file, and imported into a soundtrack on OpenShot video editor. Find legal background music to add to your video.

Livestream your holiday gatherings with Open Broadcaster Software. It’s easy to use OBS to present an engaging holiday show for your friends and family using the software, or you can save the program as a Matroska or MP4 file for later viewing.

Reading material

Project Gutenberg is an excellent source of free holiday reading material to share. Dickens’ Christmas Carol is one such resource that is easily read on the web or downloaded as an EPUB or in a format for your favorite eReader. You can also find royalty-free reading materials, like “The Feast of Lights” from Librivox, in mp3 format so they can be downloaded and played in your favorite browser or media player.

Holiday fun

The most important aspect of the holiday season is that they’re relaxing and fun times with friends and family. If you’ve got family members curious about computers, take a moment to share some of your favorite open source resources with them.

Beyond Code: Ways to Contribute to Open Source Projects

I have been using open-source software for almost twenty-five years now. I was a user and an evangelist for open source for the first fifteen years that I used open source software. I didn’t see myself as a coder so how could I give back to the community. That changed in 2011 when I began writing for Opensource.com. I felt guilty that I didn’t do more to support the community.. I failed to realize that there is much more than coding and evangelizing that contributes to an open source community.

Here are some ways you can contribute to open source without being a community evangelist or a programmer. Documentation is one of the most important aspects of any project. It may not be intuitive how to use the software. Take WordPress and Drupal for example. It’s become easier now that you can spin up a virtual machine or a Docker image but there are still many nuances that are not intuitive and that is where good documentation plays an important role.

User testing is another way to contribute. How does the software operate on a variety of different platforms and operating systems. Providing feedback on usability and bugs. Community support by participating in forums and wikis by answering questions and provide support to other users. I have been a Linux user since the late 1990’s and in the early days before the World Wide Web existed the chief method of support was joining listservs and bulletin board. Now there are more resources for users but community support continues to be a great help even for experienced users.

Financial contributions help maintain and develop the project. One of the ways you can support open source is through the Github Secure Open Source Fund. I am a Linux Mint user and I have made regular contributions to the project. GnuCash is another project I contribute to. Consider contributing to podcasters like LateNight Linux. You can support Fosstodon and other Mastodon instances.

Advocacy is one of the principal ways I support open source. You can too. Advocate for the adoption of open-source solutions in organizations, educational institutions, and among peers. There are still many folks in communities around the globe that know nothing of open source and the benefits of using open source software. Thirty-three years after the advent of Linux a majority of the folks I come in contact with everyday have never used it nor do they understand the tremendouse personal and professional benefits they might enjoy as a user.

I advocated for the Chautauqua-Cattaraugus Library System to move away from a proprietary library system. The system adopted Koha which is supported by Bywater Solutions. The library system saved over $60,000 per year and were ready for the pandemic when libaries were forced to close their doors. Moving from an expensive client-server proprietary system to an open source one that needed only a FireFox browser to navigate was a game changer. I learned about Bywater and Koha from an open source using library director.

Consider sharing your open source experience by writing and sharing your journey with technology blogs like Allthingsopen.org. You might consider sharing your journey with others. Volunteer at meetups, workshops and hackathons and open source conferences. Offer others your open source journey at public libraries. There are many ways to give back.

How to Easily Remove Metadata from Photos with ExifCleaner

In today’s world, nearly everyone owns a digital camera. Cameras are now integral components of smartphones and laptops. If you use consumer electronics, you likely have access to a digital camera.

As a result, billions of digital images are available on the Internet from various devices and sources. Each image taken with a digital camera includes Exchangeable Image File Format (Exif) metadata, which provides information about when and where the picture was taken, the camera used, file size, MIME type, color space, and much more.

Every picture you capture with a digital camera contains numerous tags with a wealth of information, some of which may be considered confidential. Major social media platforms claim to remove this metadata to protect users from cybercrime; however, this is not true for individuals who run their blogs or wikis and post images of family gatherings or classrooms. Someone could download an image from these sites and potentially access sensitive personal information stored in the metadata.

Viewing Exif Data

How can you check what metadata is included in the images you share, and how can you remove it? I recently discovered an open-source project called ExifCleaner. ExifCleaner is a cross-platform tool that easily removes all Exif metadata from images, videos, PDFs, and other file types.

Installing EXIFCleaner

ExifCleaner is released under the MIT license and is easy to use and install. Download and install the AppImage, deb or rpm file for your distribution. MacOS and Windows downloads are available too. If you are a Homebrew user you can install Exifcleaner with the following command:

brew install --cask exifcleaner

Exifcleaner was built for Intel MacOS exifcleaner and so requires Rosetta 2 to be installed.

Use ExifCleaner

Once installed, launch the graphical application. You can drag and drop an image into the window or use the “Open” option from the File menu to load an image. Multiple images can be loaded at once.

Screen picture by Don Watkins CC by SA 4.0
Screen picture by Don Watkins CC by SA 4.0

Once loaded, ExifCleaner clears all metadata instantly. There’s no further action required, but there’s also no confirmation or warning. Only open files in ExifCleaner that you want to scrub metadata from.ExifCleaner can process dozens of file types, including JPG, 3G2, 3GP2, AAX, CR2, MOV, PDF, PNG, etc.

Try ExifCleaner

ExifCleaner is available in twenty-four languages and boasts a large development community. If you’re interested in contributing to the project’s development, contact the team and check out the source code. To learn more about ExifCleaner, visit the official website.



From web to client: The Mastodon experience

Mastodon is an open-source social networking platform for microblogging. While it has a web-based interface, many users prefer to use a client to access Mastodon. Clients are programs or applications that allow users to access and interact with the Mastodon platform from various devices, including computers, tablets, and phones. I moved to Fosstodon in 2019, and it has become my primary social networking site.

Web Interface

Like most users, I started using the Mastodon web app by pointing my browser at joinmastodon.org. I found an instance to join, created an account, and logged in. I used the web app to read, like, and reblog posts from my favorite Mastodon users. I also replied to posts without ever having to install anything locally. It was a familiar experience based on other social media websites.

The disadvantage of the web app is that it lacks the richness of a dedicated Mastodon client. Clients provide a more organized and streamlined interface, which makes it easier to navigate, manage notifications, and interact with others in the fediverse. Clients also make it easier to find and generate useful hashtags, which are essential to sharing your message in a non-algorithm-driven environment.

Mastodon is open source, though, so you have options. In addition to the web apps, there are a number of Mastodon clients. According to Mastodon, there are nearly sixty clients for Mastodon available for desktop, tablet or phone.

Clients

Each client app has its own unique features, UI design, and functionality. But they all ultimately provide access to the Mastodon platform:

I started my client journey with the Mastodon app for iOS. The app is easy to use and is open source. The app is written in Swift. It is the official iOS app for Mastodon.

I moved to MetaText which is no longer being developed. I liked the Metatext interface. It made interacting with Mastodon easier on my iPhone. Metatext is open source with a GPL v3 license.

I am currently using Ice Cubes which is my favorite Mastodon app for both iOS and MacOS. Ice Cubes has everything I was looking for in a Mastodon client. Crafted using SwiftUI technology exclusively, this application boasts impressive speed, minimal resource consumption, as well as user-friendly functionality. It features an intuitive design framework on iOS devices like iPhone/iPad and MacOS systems.

My favorite desktop Linux app for Mastodon is Tuba. It is available as a Flatpak. It’s intuitive and easy to use. Tuba is open source with a GPL v3 license.

Screen picture by Don Watkins CC by SA 4.0

How is Mastodon changing your reading habits? What are your favorite apps? Be sure to comment.

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