#FreeSoftwareAdvent
Day 1: Joplin
Inspired by @, each day until the 24th, I posted about one piece of open source software that I use, under the #FreeSoftwareAdvent hashtag on my fediverse account. All 24 entries are included here.
When I decided to do that, I immediately created a notebook in Joplin. Both as a place to list what software I was going to toot about, and to draft those toots.
So it seems appropriate to start with Joplin. It’s a note-taking app that organises notes in a tree-based hierarchy, and is available for Android, iOS, Linux, Mac, and Windows.
It can synchronise notes, so you can switch quickly between devices. Synchronisation can be done through various services. Initially, I used the Joplin cloud, then moved to using my own Nextcloud instance. Both work very well. If conflicts are found during a sync, they appear in a special “Conflicts” notebook, so you can check both versions of the note and resolve any issues.
Notes are formatted in Markdown, and it has a formatting toolbar for anyone who isn’t familiar with Markdown syntax.
I have two profiles set up. One for general notes, the other for research related to the book I’m currently writing. There are lots of plugins available to add extra functionality - I have plugins installed to do automatic backups, allow me to have some notes pinned for quick access, and to show an outline of the current note. The latter two are most useful for when I’m using Joplin for research.
Day 2: Signal
I’ve read some posts recently suggesting that other messengers are more secure for various reasons. I’ve also seen posts rebutting those points, and saying that Signal is better for certain scenarios, or in general.
Ultimately, I don’t know enough to be able to determine which messenger is the most secure for my use case. But Signal is easy to use and sign up for, and that was an important factor in getting other people to use it. The most secure messenger in the world is of no use to me if I can’t use it to talk to the people I want to talk to.
Day 3: Calibre
Soon after I started reading ebooks in about 2010, I discovered Calibre, and I’ve been using it to manage my ebook collection ever since.
It’s an excellent all-purpose tool for ebooks. As long as the book doesn’t have DRM, it can convert between any format. So if you bought a book from the Kindle store, you can convert it to ePub to read on other ereaders or apps.
There are plugins available that will remove DRM from any books that have it, and these work automagically when you add a book to Calibre. So I don’t have to think about whether a book has DRM, I just add it to Calibre, where I keep all of my ebooks.
Day 4: COPS
Calibre is great, but it’s on my laptop, and that’s not much use if I’m out and about. Plus, my youngest in particular likes to download ebooks to his phone, and it would be a faff if he had to plug his phone into my computer.
Calibre has options to send books over WiFi or via OPDS, but that still requires me to be at my laptop. It does have a content server built in, which presents a website and OPDS feed, but I prefer COPS.
It presents a simple website, which my youngest uses to download new books. I use the OPDS feed to get books into KoReader. Both options work well.
It has to be self-hosted, which is obviously not for everyone, but I like it.
https://github.com/mikespub-org/seblucas-cops
Day 5: StreetComplete
StreetComplete is an Android app that displays local data from OpenStreetMap, and asks questions to improve/update the data.
I joined OpenStreetMap in 2006, back when many roads simply weren’t mapped. I remember reading an article (probably around that time) which predicted that OpenStreetMap would get progressively out of date.
The author said that adding new things to the map was fun and exciting, but there were challenges with keeping the map up to date.
First, people wouldn’t want to fire up something as big as JOSM just to make a small change. Second, updating the map was much less interesting, so people wouldn’t bother.
The inevitable result, the author said, would be that OpenStreetMap’s data would degrade and it would gradually become unusable.
StreetComplete addresses that issue by making it easy and fun to keep the map up to date. You can’t use it to add a missing road to the map, but you can use it to add details like whether or not the road has lighting.
It will also periodically check that things are correct, so when StreetComplete asks “Is this rubbish bin still here?” and the user selects “No”, the bin is removed from the map.
I’ve made over 19,000 edits using StreetComplete. If I’d had to use JOSM, I wouldn’t have done most of them. It’s an excellent app, and I thoroughly recommend it.
Day 6: KoReader
Earlier this year, I installed KoReader on my Kobo ereader and my phone. It works beautifully, and synchronises my position in books, so I can stop reading on my Kobo and pick up where I left off on my phone.
I blogged about it earlier this year, so if you want to read more, check that out.
Day 7: Zotero
I use Zotero to organise the research for my books. Every book, document, email, etc goes into Zotero. Everything is organised into collections, one for each book, and others for more general research that might be useful for future books. Zotero also generates footnotes for citations, and the bibliography for the book.
Documents stored in Zotero can be synced to Zotero’s servers or a WebDav server. Doing so means that you can use Zotero on multiple devices. I’ve recently set up a WebDav server for synchronising, and it works flawlessly. That’s very useful for me, since it means that I can access my research on my Android tablet as well as my laptop.
Day 8: Geany
Geany is my text editor of choice. I have it configured to display the main text window in the middle, with sidebars on both sides.
The left sidebar usually displays “Symbols”. If I’m in a Markdown document, headings will be displayed here. If I’m in code, functions and the like will be displayed.
The right sidebar generally displays “Tasks”, which shows me anywhere I’ve got something like FIXME or TODO in the current file. If I’m editing Markdown, I usually switch it to show me a preview of the file I’m editing.
For me, Geany is the Goldilocks of text editors. It has just enough features, not too few nor too many.
Day 9: LocalSend
I only discovered LocalSend recently, but I soon became a big fan. It does one thing well: securely transfers files between devices on the same local network.
Because it only does that one thing, the interface is simple. I have it on my phone, tablet, and laptop, which means when I just want to send a single file from one device to another, it’s quick and easy.
It’s available for Windows, MacOS, Linux, Android, and iOS. A web version is in beta.
Day 10: gLabels
gLabels is another piece of software that does a single job well. Every now and then I need to print some labels, and for that, I use gLabels. I select the type and size of labels, and design one label. Nowadays, I usually want multiple copies of a single design, but in the past I gave it a .csv file to print address labels.
In the print dialogue, I set which label to start at and which one to end at. So if I have a sheet that has already had the first four labels used, I set it to start at label five. And if I only want three labels, I set it to end at label seven. A preview shows which labels will be printed.
It’s very simple, but also very effective. It does exactly what I need without any fuss.
Day 11: Dokuwiki
I use Dokuwiki a lot. I have a private wiki for personal notes, my business has a private wiki for documentation, I maintain an RPG website that is a wiki, and there are others. I even write my books in a modified Dokuwiki.
I particularly like that pages are stored as plain text files. On some of my wikis, I’ve taken advantage of that by writing bash scripts to check or edit files.
Day 12: GoToSocial
I first came to the fediverse in 2022, with an account on mas.to. I like the defederated nature of the fediverse, and that most fediverse software is open source.
Earlier this year, Jen and I talked about hosting our own instance, and we decided that GoToSocial would be a good option. I’ve had no issues hosting it, the documentation is very good, and upgrades have been straightforward.
Unlike Mastodon, it doesn’t have a built-in web client, but I use Statuzer on the web, and Tusky on Android. GoToSocial is still in beta, but it works well for us.
https://codeberg.org/superseriousbusiness/gotosocial
Day 13: Thunderbird
I’ve used various open source email clients over the years, but right now, my email client of choice is Thunderbird, on desktop and mobile. When I installed the mobile app, I was pleased to find that I could create a QR code on the desktop that my phone could scan to set up my accounts there. Much simpler and quicker than manually entering all the account details.
One of Thunderbird’s killer features for me is the Send Later add-on. I have it configured so that when I click “Send” on an email, it delays sending by five minutes. That gives me a chance to realise that I’d missed something, and edit the email before sending.
But it can also set a much longer delay. Sometimes I work in the evening, but any emails that I write then are scheduled to be sent the next morning at a more sensible time.
Day 14: SyncThing
SyncThing is a great solution for syncing files between machines without a central server. I use it primarily for files related to my business and writing. We could use Nextcloud, and I do have a Nextcloud server for other things, but I prefer not to take up space on my server for these fiiles.
We use SyncThing on Linux and Mac, but it is also available for Windows and mobile clients. I’ve used it on Android in the past, and have used it to share files with people on Windows.
It’s reasonably straightforward to set up, and once that’s done, it just runs in the background and can be igored, although if you want to, there is a web GUI for checking on status etc.
Day 15: Nextcloud
SyncThing is great for synchronising files, but I also have a self-hosted Nextcloud server. If I only wanted to synchronise files, I’d probably just use SyncThing, but I use Nextcloud for things like CalDav for calendars and CardDav for contacts as well as files.
More recently, I’ve also started using Nextcloud apps. In particular, I use News for RSS feeds, Notes for simple notes, and RePod for podcasts. The apps accessed through the Nextcloud dashboard on the web have minimal functionality, but it’s enough for me. In the case of News and Notes, I also use the official Android clients, which also offer mininal functionality, but again, I don’t need any more. For podcasts, I mostly listen using AntennaPod on Android, which I’ll talk about tomorrow.
It’s worth noting that there are companies that will host Nextcloud for you if you don’t want to self-host. At least some of them have a free tier if you don’t need a lot of space.
Day 16: AntennaPod
I listen to a lot of podcasts, and I’ve tried various podcast clients. I mostly listen on my Android phone, but every now and then it’s useful to listen on my laptop, so it’s handy to have a way of synchronising the list of podcasts, progress, etc.
AntennaPod synchronises with RePod on my Nextcloud install, so I can switch between phone and laptop more or less seamlessly. Plus, if I change phone, once AntennaPod is installed, it gets the list of podcasts and downloads the episodes I haven’t yet listened to.
Day 17: CoMaps
I mentioned earlier this month that I joined OpenStreetMap in 2006. Back then, many areas were blank or only sparsely mapped.
That was nineteen years ago. At some point between then and now, coverage became comprehensive enough that it’s feasible to use OpenStreetMap as a route planner.
That’s what I use CoMaps for. Maps are downloaded and stored on my phone, so there’s no need for a data connection. It can provide routes for driving, walking, or cycling. The only thing it doesn’t have is traffic information.
Day 18: GadgetBridge
A little while ago, I bought a PineTime watch. GadgetBridge is the software I use to connect it to my phone, so that it can display notifications etc.
It works well for me. It shows me graphs of battery life and steps over time, and I’ve used it to update the firmware on my phone.
Day 19: Tusky
I joined the fediverse in late 2022, and I soon discovered Tusky, a Mastodon client for Android. I’ve been using it ever since.
Nowadays my account is on GoToSocial rather than Mastodon, but Tusky works just as well with GoToSocial.
Day 20: Sympl
I’ve been running my own servers for years, always with Debian. I use Sympl to simplify the management of them.
It’s a collection of scripts and templates. If I want to set up a new website, I create the folder for it in the appropriate place, and Sympl creates the Apache virtual server.
If I want email for that site, I just create a “mailboxes” directory, with a subdirectory for each user. Various configuration settings can be tweaked by creating empty files with the right name.
I could do all of this manually, but I’m happy with the configuration that Sympl creates, and it’s much quicker and easier.
Day 21: Thunar
Thunar is the XFCE file manager. I don’t use XFCE, although I have used it in the past on old machines. I don’t use Thunar as a general file manager, but I do use the bulk rename functionality, which I find very useful.
I’ve tried other bulk rename programs, but I prefer Thunar. The interface is fairly straightforward, with a list of files to be renamed in the left column, and a preview of what they will be renamed to in the right column.
Below that is the renaming functionality. There are various options, including inserting/overwriting, numbering, search/replace (with optional regular expressions), etc.
Whenever I need to rename multiple files, I find Thunar to be a quick and easy way to do it.
https://docs.xfce.org/xfce/thunar/
Day 22: Kanboard
Kanboard is the project management software we use at Author Help. As the name suggests, it uses a kanban model. We set up a swimlane for each project, with “To do”, “In progress”, and “Done” columns. Each task gets a card in the “To do” column.
Kanboard has an API which is straightforward to use, and over the years, I’ve written lots of scripts to do common tasks like setting up a new book project with all the required tasks.
Day 23: F-Droid
F-Droid is my preferred app store for Android. I use the Google Play store to install apps that I can’t find in F-Droid, but where possible, I install apps from F-Droid. Some of the Android apps I’ve mentioned this month aren’t available on the Google Play Store, but are available in F-Droid.
Installing via F-Droid is a bit more involved, largely because Google want everyone to use their app store. I was concerned that it was going to get more difficult, but it appears that Google have stepped back from plans to do that.
Day 24: Ubuntu Mate
I’ve saved the biggest until last. I’ve been using Ubuntu on the desktop since 2004 with 4.10. I’d been using various distributions, and hadn’t really settled on any, then a member of Cumbria LUG mentioned Ubuntu. I tried it, found that it just worked, and I’ve been using it ever since.
My first experiences with Linux were using fvwm, then I switched to KDE, but Ubuntu defaulted to Gnome, and I soon got used to that. I never really got on with Gnome 3 though, so I was pleased to discover the Mate desktop, especially as there’s an official Ubuntu flavour.