Empowering Writing with Markdown

I’ve long been a writer, but writing and publishing have been challenging. Pencil or pen and paper and then endless sheets of paper for rewrites. My writing took off when my parents sent me to college with a typewriter. Lots paper and ink were used, but the writing process became easier. Then came word processing. What a gift to be able to write, revise and rewrite without killing anymore trees or using more ink.

My journey with word processing began with FredWriter and AppleWorks. These tools allowed me to write with ease, highlight text, and cut or copy and paste. The ability to save changes to disk for later use was a game-changer. As time passed, I encountered MacWrite, MaxWrite, Microsoft Word, StarOffice Writer, Libreoffice Writer, and many more. Each new tool brought with it an evolution in the writing process, making it better yet more complex, a journey that never ceased to intrigue me.

Most of the writing I do is for the web and it’s not easy to convert from from Writer or Word to HTML. But it does not have to be that way because in 2004 John Gruber created Markdown. Finally a writing format easily accessible to all that can be created in the most inelegant text editor yet transformed into beautiful written content for the web. Markdown is easily mastered and could be taught to students as early as third grade.

In addition to providing an easily accessible word processor at minimal cost, students can also be introduced to the basics of programming. Markdown converts plain text into structured HTML, making it a simple tool for creating complex documents that can be easily shared with teachers and fellow students.

Markdown’s versatility is a game-changer, making it accessible to everyone, including students with varying technical skills. With a minimal learning curve, students can quickly start using Markdown to format text, create lists, insert links, and embed images. The fact that Markdown can be shared across various platforms, from mobile phones to PCs, regardless of the operating system, empowers students to use it for a wide range of tasks, from note-taking to essay writing and presentation creation. 

Learning Markdown also increases students digital literacy  by familiarizing them with basic concepts of markup languages and text formatting. It bridges the gap between plain text and more complex coding languages providing a foundation for further learning and web development.  Platforms like Github and Gitlab rely on Markdown for documentation. Markdown is used in scientific documentation and most of the output from ChatGPT, Microsoft CoPilot and other LLMs is provided in Markdown format. 

You don’t need a wordprocessor to create Markdown. You can use Wordpad on Windows, TextEdit on MacOS, gedit or vim on Linux. You will need to use the following tags and save your work with the .md file extension.

Headers:

# Header 1
## Header 2
### Header 3
#### Header 4
##### Header 5
###### Header 6

Emphasis:

*Italic* or _Italic_
**Bold** or __Bold__
***Bold and Italic*** or ___Bold and Italic___

Lists:

Unordered lists:

- Item 1
- Item 2
  - Subitem 1
  - Subitem 2

Ordered lists:

1. First item
2. Second item
   1. Subitem 1
   2. Subitem 2

Links:

[Link Text](http://url.com)

Images:

![Alt Text](http://url.com/image.jpg)

Block quotes:

> This is a blockquote.

Code:

Inline code`code block`
Code block: 3 back ticks on the line before the code and three back ticks on the line after the code. 

Horizontal rule:

---

For more information on formatting be sure to consult this excellent guide on Github. Happy writing!

Joplin is My Go-To Note-Taking App

I spend much of my day on the go whether walking around the village where I live or traveling nearby. During those walks and drives I’m often listening to podcasts or just thinking about content I read on blogs and other sources of information. I have found it useful to have an app where I can jot down a few notes or paste web content to refer to later. Sometimes I emall intereting articles to myself but more and more I use my favorite note taking app which is Joplin.

I love Joplin because it’s works across all of the platforms I use. That includes iPhone, MacBook or Linux desktop. Joplin is an open-source note-taking and to-do app that allows you to organize your thoughts and ideas efficiently. It supports markdown and syncing across devices and offers various features like tagging, searching, and encryption.

Joplin is available on Windows, MacOS, Linux, iOS, and Android. Before I started using Joplin my notetaking was limited to the an assortment of different applications depening on which platform I was using. Joplin aims to remain independent of any specific company or service, such as Evernote, Google, or Microsoft. Its synchronization system is designed to avoid relying on any particular platform. Joplin supports synchronization with various services, including Joplin Cloud, Nextcloud, S3, WebDAV, Dropbox, OneDrive, or the local filesystem. Synchrornization occurs in the background whenever it is running or when you click on the ‘Synchronize’ button in the Joplin interface.

It is easy to install Joplin as project has excellent documentation regardless of your particular platform. The project also provides extensive documentation on how you can use Joplin on your particular platform.

Joplin is open source and has a AGPL license. The project maintains a news site where you can discover the latest news about the application. You can follow Joplin on social media: Mastodon, LinkedIn, and X, You can support the project on Patreon.

Unleashing the Future: BlueSky and Its Open-Source Vision for Social Networking

Social networks have proliferated and they are at the center of much of our modern discourse. They can provide a level of sharing and learning that is not easily matched. Their asynchronous communication means that users do not have to be online at the same time. I joined Twitter in 2008 at the behest of the NYSCATE conference where I was presenting that year. I used it sparingly at first not knowing exactly how or what to share but over time I became a prolific user of the platform and the Twitterverse became integral to my pursuit of lifelong learning. Later when I started writing for Opensource.com it became a way to share our article for a wider audience.

That experience worked quite well for a while but we learned at a community conference in 2018 that what we were sharing wasn’t getting the traction it used to get as the medium was becoming increasingly controlled by algorithms that didn’t allow us to share our posts as we had. I don’t give up easily but in 2022 I began to move away from the Twitterverse and begin to explore Mastodon. It was a new gig and it took some time to learn how to share and find others who were open source nerds like me.

Then a new star emerged in the social media constellation when public signups for BlueSky in February 2024. BlueSky was launched by Twitter co-founder Jack Dorsey. BlueSky embraces decentralization, giving users more control over their data and interactions. This approach fosters greater privcacy and security while encouraging a diverse and vibrant community. BlueSky is deeply rooted in open source principles. The platform runs on the AT protocol which is open source and allows for decentralized social networking. The AT protocol does not connect with ActivityPub which is the protocol that Mastodon and the rest of the Fediverse runs on. BlueSky users can post three hundred character ‘skeets’ which are what user shared sare called. Mastodon users are used to five hundred character shares which are called ‘toots.’

Regardless of whether you are skeeting or tooting there is a great deal to celebrate with BlueSky. I signed up yesterday and it’s been great. The signup process is easy and there is a friendly algorithm to based on the people you follow and the ‘skeets’ you like. I have found it easy to connect with open source folks I have followed on the other platforms too. Though the platform is decentralized I have found following folks I know was much easier than follwing Mastdon users. According to ZDNet BlueSky currently has about 16.7 million users.

My primary interests are in Linux, open source and education. I found it easy to connect with folks in those areas and to easily connect and share what I’m learning. You can follow the Linux FoundationFedora LinuxLinux Mint, David BothAll Things Open. You can follow me on BlueSky. Happy skeeting!

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.



The Perfect Open Source Solution for Creating Stunning Photo Collages on Linux

Open source software is amazing and it seems like there are always solutions that come in handy when I look hard enough. Today was one of those days when a internet search for a query I read on Mastodon netted another open source solution. Mastodon user, Bryan Mitchell asked “Are there any photo editing software programs out there where you can put a set of photos into a collage?” Bryan had used Google’s Picasa formerly but that is no longer available. A quick search revealed an open source project called Photocollage. It is an easy to use software package written in Python with a GPL 2.0 license. It was easy for me to find the correct install script for Linux Mint.

$ sudo apt install photocollage

You can also install Photocollage on RPM based distributions by using the following command:

$ sudo dnf install photocollage

You can elect to install it with Python by using the following command.

sudo pip3 install photocollage

It can be launched from the command line or in my case from the “Graphics” submenu of my Cinnamon desktop. Click on the ‘Add images..’ button and start adding pictures to your collage.

Screen Picture by Don Watkins CC by SA 4.0

In short order I added a number of pictures from a directory on my computer. There is a button to ‘Save poster’, two buttons in the middle of the panel to ‘go back’ or ‘go forward” and one more at the end to ‘Regenerate’ the collage.’

Screen Shot by Don Watkins CC by SA 4.0

The last button on the panel is for ‘Settings’ to allow you to choose different picture sizes and templates. You can select border thickness and background color.

Screen picture by Don Watkins CC by SA 4.0

This software is easy to use and the results a very good. Images can be saved in ten different formats including: bit map paint, jpeg, gif, Microsoft Paint, pcx, png, tga, tiff, WebP and xbm. The software integrates with GNOME and is available in English, French, German, Czech, Italian, Bulgarian, Dutch, Russian, Spanish, Polish and Ukrainian. Lead developer is Adrien Verge and there are over twenty other contributors.

Open WebUI: A nuanced approach to locally hosted Ollama

Open WebUI offers a robust, feature-packed, and intuitive self-hosted interface that operates seamlessly offline. It supports  various large language models like Ollama and OpenAI-compatible APIs,  Open WebUI is open source with an MIT license. It is easy to download and install and it has excellent documentation. I chose to install it on both my Linux computer and on the M2 MacBook Air. The software is written in Svelte, Python, and TypeScript and has a community of over two-hundred thirty developers working on it.

The documentation states that one of its key features is effortless setup. It was a easy to install. I chose to use the Docker. It boasts a number of other great features including OpenAI API integration, full Markdown and Latex support, a model builder to easily create Ollama models within the application. Be sure to check the documentation for all nuances of this amazing software.

I decided to install Open WebUI with bundled Ollam support for CPU only since my Linux computer does not have a GPU. This container Image unites the power of both Open-WebUI and Ollama for an effortless setup. I used the following Docker install script copied from the Github repository.

$ docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama

On the MacBook I chose a slightly different install opting to use the existing Ollama install as I wanted to conserve space on the smaller host drive. I used the following command taken from the Github repository.

% docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

Once the install was complete I pointed my browser to:

http://localhost:3000/auth

I was presented with a login page and asked to supply my email and a password.

Screen picture by Don Watkins CC by SA 4.0

First time login will use the ‘Sign up’ link and provide your name, email and a password. Subsequent logins require email and password. After logging in the first time you are presented with “What’s New” about the project and software.

After pressing “Okay, Let’s Go!” I am presented with this display.

Screen picture by Don Watkins CC by SA 4.0

Now I am ready to start using Open WebUI.

The first thing you want to do is ‘Select a Model’ at the top left of the display. You can search for models that are available from the Ollama project.

Screen picture by Don Watkins CC by SA 4.0

On initial install you will need to download a model from Ollama.com. I enter the model name I want in the search window and press ‘Enter.’ The software downloads the model to my computer.

Screen picture by Don Watkins CC by SA 4.0

Now that the model is downloaded and verified I am ready to begin using Open WebUI with my locally hosted Phi3.5 model. Other models can be downloaded and easily installed as well. Be sure to consult the excellent getting started guide and have fun using this feature rich interface. The project has some tutorials to assist new users. In conclusion, launching into an immersive experience through their intuitively designed interface allows users of Open-WebUI to fully leverage its comprehensive array of features.

Discovering New Passions: Writing, Linux, and Sharing Open Source Stories

Our children gifted with a subscription to Storyworth for Father’s Day this year and each week a new writing prompt arrives in my email inbox. This week the prompt was what are some hobbies you have pursued or want to pursue in your retirement. It took me a while to think about that topic. I am not a guy to put together model planes and I don’t have a train set. I don’t play golf.

I walk, tinker with computers and write. I didn’t think of writing as a hobby until this week and maybe it’s not exaclty a hobby in the traditional sense but it’s a way for me to share my thoughts and journey with the wider world. I have been blogging frequently since early 2006 and have written over nineteen hundred articles for my own blog. In addition I have written hundreds of articles that have been published on a variety of sites including Both.org where I am a regular contributor. I also write for Allthingsopen.org and TechnicallyWeWrite.com.

I have created most of my content this year for Both.org, where we focus on Linux and open source. We are seeking individuals who would like to share their Linux and open source journey with our audience. Our website has been attracting more and more visitors. If you have an open source story to share, we encourage you to join us. Later this month, I’ll be traveling to Raleigh, NC to attend All Things Open. This will be my tenth ATO, and I am excited to learn from the people I will meet.

Write for us! We have a style sheet with guidelines and we’d love for you to share your open source journey with us.

Empowering Creators with Open Source Software

As we welcome another academic year, the integration of creative arts within school curriculums remains vital. Among open source resources that empower students to engage with digital soundscapes is Audacity, a free and versatile audio recording and editing software cherished by educators for its simplicity and power in the classroom setting. Audacity’s capacity has only grown, making it an indispensable tool not just today but as we look ahead to 2025 with ever-evolving educational needs:

Podcasting Platform of Choice: Connectivity through Sound
Teachers and students alike have adopted Audacity for crafting podcasts, serving an array of purposes from explaining classroom procedures directly within lessons to delivering language learning content. This interactive form has become a cornerstone in modern pedagogy by facilitating out-of-class communication that supplement the traditional teaching experience and offering students additional access points into course material through auditory means, which can enhance comprehension for many learners.

Language Acquisition with Audio Engagement: Learning Languages Through Listening
For language education, Audacity has been transformative by providing a platform where foreign language pupils record their spoken lessons and listen to them repeatedly—all within the safety net of open source software that champions accessibility for all students. This feature nurtures self-directed learning as well as peer interaction in multi-language classrooms, setting up an immersive auditory environment akin to real-world conversational scenarios.

Creative Expression Through Sound: Student Audio Projects Evolving with Time and Technology
Students’ love for sound extends beyond passive listening; they are creators in their own right using Audacity to produce unique audio projects such as bird songs, oceanic ambient tracks, or even creating custom narrations over chosen background music. This engagement stimulates imagination while providing a practical understanding of digital tools and copyright laws through exploring resources from Creative Commons and Wikimedia sound collections—a learning process that teaches respect for intellectual property alongside technical skills in audio manipulation.

Interviews as Interactive Learning: Engaging with Experts Through Sound Waves
Audacity allows students to conduct interviews, integrating them into their educational activities by adding layers of personal experience and expert insight directly through the auditory channel—a method that not only humanizes learning but also bridges generations within a classroom setting as older family members share experiences with younger ones. This formative approach promotes active listening skills while fostering familial bonds, an essential lesson beyond academics alone.

From Capture to Share: Effective Audio File Management for the Modern Classroom Stage and Beyond (2024 Edition)
Education today is not just about content but also delivery methodologies—therefore Audacity’s importance as a tool in helping students understand how different audio file formats serve various platforms. From .aup files that facilitate ongoing educational collaboration, to MP3 and WAV for final projects suitable for wider sharing via streaming web servers or digital portfolios, the software prepares young minds not only with technical skills but also industry standards they will encounter in professional spheres such as podcasting careers.

Open Source Software: A Lesson on Rights (2024 Update) and Legacy of Ubuntu’s Free Audio Education Toolkit
With its GNU GPLv2 license, Audacity is more than a mere software—it’s an educational journey itself with room for dialogue about copyright laws. This invites students into the world of intellectual property rights discussions that are increasingly relevant in our digital age and offers Linux users straightforward installation processes through standard repositories:

$ sudo apt-get install audacity
or with Fedora
$sudo dnf install audacity 

The software continues to stand its ground against the backdrop of continually developing technology with instructions provided for Mac OS X and Windows users ensuring no one is left behind in leveraging this educational powerhouse. Audacity is also available for Linux users as a Flatpak.

According to Wikipedia, “Audacity is the most popular download at FossHub,] with over 114.2 million downloads since March 2015.” Thus as we advance into 2025 and beyond, Audacity remains at the forefront of integrating creativity with digital sound technologies to enrich our classrooms while providing essential open source knowledge sharing that prepares students for a connected world where audio artistry goes hand-in-hand alongside academic excellence.

This article was adapted and rewritten using Ollama and the Phi3.5 model. Text was taken from an article originally published for Opensource.com in 2016.

Taking a look at financial data with Ollama

Several weeks ago a person asked me to assist her with organizing her financial records to take them to a tax professional. This person does not use a financial program like GnuCash which could make that project much easier. Instead we downloaded a csv file from her bank and then she used Microsoft Excel to add a category to each expense. This was a tedious process. I used a pivot table to further organize and display her data which she took to the tax preparer.

Recently while working on other projects with Ollama I wondered if it might be possible to use a local large language model to accomplish the same task. It is easy to download Ollama. If you are a LInux user like I am you can enter the following command in a terminal.

curl -fsSL https://ollama.com/install.sh | sh

I experimented with phi3.5 and Llama3.2 and found the latter to work better for me. It is easy to pull the model down to your computer with the following command:

$ ollama pull Llama3.2

Once the model was downloaded to my computer I wanted to make my own custom model to analyze my financial data set which was a csv file from the bank. I created a model file which I called financial using nano. Here is the text of the modelfile I created for this activity:

FROM llama3.2

# set the temperature to 1 [higher is more creative, lower is more coherent]

PARAMETER temperature .6

# set the system message

SYSTEM “””

You are a financial analyst. Analyze the financial information I supply.

“””

I used the model file to to create the custom model for this financial analysis. I set the temperature PARAMETER to .6 to make the work more accurate. I entered the following command in the terminal:

$ ollama create financial -f financial

This created the unique LLM based on Llama3.2 to perform the financial analysis. I made sure that the csv file from my financial institution was in the same directory as I was currently operating. This is important and then entered the following command to pull the csv file into the custom LLM.

ollama run financial:latest "$(cat data.csv)", Summarize my transactions. 

This gave me a complete summary of the debits and credits that were included in the small csv file. I have encountered some errors and I plan to keep working with the model and reading. I’m encoueraged by the results.

Pandoc: The Ultimate Document Conversion Tool

Pandoc is a versatile command-line tool that facilitates seamless file conversions between different markup formats. It supports an extensive range of input and output formats, making it indispensable for writers, researchers, and developers. I have found it particularly useful when converting output from LLMs to to HTML or more common word processing formats.

Pandoc’s strength lies in its support for various input formats, including Markdown, HTML, LaTeX, Open Document, and Microsoft Word. It can convert those documents to PDF, HTML, EPUB, and even PowerPoint presentations. This flexibility makes Pandoc an invaluable tool for individuals working with documents across different platforms and tools.

Here are some specific examples that may fit your use case.

1. Converting Markdown to HTML:

Markdown, known for its simplicity and readability, is widely used for creating content for the web. With Pandoc, you can effortlessly convert Markdown files to HTML, enabling seamless web content publishing. For instance, the following command can be used to convert a Markdown file named “example. md” to HTML:

$ pandoc example.md -o example.html

2. Generating PDF from LaTeX:

LaTeX, renowned for its powerful typesetting capabilities, is favored for academic and technical documents. Pandoc seamlessly converts LaTeX files to PDF, producing high-quality documents suitable for printing or digital distribution. Consider the following command to convert a LaTeX file named “paper.tex” to PDF:

$ pandoc paper.tex -o paper.pdf

3. Transforming Word documents to Markdown:

Many writers and researchers prefer working with Markdown due to its simplicity and portability. With Pandoc, you can convert Microsoft Word documents to Markdown, allowing editing and collaboration using lightweight, text-based tools. Use the following command to convert a Word document named “report.docx” to Markdown:

$ pandoc report.docx -o report.md

4. Creating EPUB from HTML:

EPUB, a popular e-book format compatible with a wide range of e-readers and mobile devices, is a common choice for digital content distribution. If you have content in HTML format, Pandoc can assist in converting it to EPUB for convenient distribution and reading. Here’s an example command to convert an HTML file named “book.html” to EPUB:

$ pandoc book.html -o book.epub

5. Convert Markdown file to a PowerPoint presentation using Pandoc, you can use the command

$ pandoc myslides.md -o myslides.pptx

You can open the resulting .pptx file in PowerPoint

In addition to these examples, Pandoc offers extensive customization options for fine-tuning the output of document conversions. Users can specify styling, metadata, and other parameters to ensure the converted files meet their specific requirements.

In conclusion, Pandoc stands as a robust and versatile tool for document conversion, offering support for a wide array of input and output formats. Pandoc can help streamline your workflow and enhance your document management capabilities, whether you’re a writer, researcher, or developer.