I wanted to wrap up 2023 with another post looking back at the projects I worked on over the year, and also have a think about what 2024 could bring.
I can’t quite remember where I said it, but I remember thinking at the end of 2022, I really wanted to work on another app. Thankfully I did just that, and I managed to develop and release a universal (iOS, iPadOS, and macOS) app that takes in various parameters and generates a “text shot”, Text Shot.
It’s a simple idea, and the app itself is very utilitarian. But from what I’ve heard, quite a few people have found it useful, including myself. It was originally developed to be a way to share quotes from websites (blogs), but after some feedback, I ended up making it more general. So you can provide up to four parameters: a title, source, author, and the quote. And on top of that I added some extra features like font options, themes, basic Markdown formatting, and also the option to export Alt text for those that wanted to add it to their Mastodon posts.
This is by no means a new project. But 2023 brought a few small changes to Text Case, along with an entirely new form.
Apart from some small visual tweaks and bug fixes, I added back a “scratchpad” feature, which shows a piece of text in all formats and flows at once, similar to the original version of Text Case, there were new colour options added, and also, it became a totally free app! The tip jar still exists, but I decided to make all versions of the app free.
The new form that Text Case took in 2023 was a command line application. Partly because I wanted the functionality myself, along with wanting to work on something new, and also open-source1. It’s made with Swift, and it shares a lot of the underlying logic, although I have been refactoring where necessary as it’s now public. I had planned at one point to distribute it alongside the Mac App Store version, and also as a publicly available executable, but the various processes like code signing, Developer ID certificates, app notarization, etc. made me decide to distribute it via Homebrew instead.
Apart from the two relatively big projects that I’ve already mentioned, I worked on a few more smaller projects that were both for fun, and for when I had a quick idea or need for something to exist. None of them are groundbreaking, but they were certainly enjoyable, and I think I learned at least something from all of them.
This was something that I’ve seen on other peoples websites, and it’s a way to
have a static list of links, and randomly, a subset are displayed as a list on
quite minimal (purposely). All you do is define a
JSON file with a few links
(only a title and URL is needed), include the script on the website, and then
specify a HTML element where you want the links to be displayed.
Very similar to blogroll.js, this is another script that I built that uses similar logic, but instead only presents a single random link at a time.
I started to appreciate statically generated websites earlier this year (which is why my blog now runs via Hugo), and I also wanted to write some more Python, so I decided to make another static blog generator, named Arbok. It was an interesting project, although I doubt it will be used (I’m starting to notice a trend). However, I did have to write some Python code to manipulate files at work earlier this year, and what I learned writing this project helped me complete that. So I guess it can be classed a success.
Hugo Post Organiser
As mentioned above, my blog is now built using Hugo. But previously, it was based on Ghost. And while I managed to export the content from my Ghost blog into suitable files ready for Hugo, they lacked organisation. So I decided to built a tool that could organise a single directory of markdown files, and organise them into subdirectories by year and month, both taken from the source frontmatter in each file.
I have yet to use this for my live blog, but I wanted to see if it was feasible to accomplish. Thankfully it was, and it’s something I still may use. But I decided to not go ahead with using it just yet, because I was reminded many times about the benefit of not changing URLs and breaking any links to my blog posts.
Plans for 2024
I don’t have any detailed plans for 2024. Just some over arching ideas that I hope to at least be following for the first half of the year.
Who knows, maybe my next open-source project will be Java-based?
I certainly enjoyed the process of working in public with the CLI version of Text Case, and even if not open-source, I’m beginning to become more a fan of making free software. So I would definitely expect that to continue.
There may be a better term for it than open-source, because I’m not really encouraging contributions, so it’s more “public source”. ↩︎