Open-source is cool Ever since I started learning programming, I knew I wanted to align myself with the open-source community, because of the following characteristics I found admirable: the way people built software in collaboration, with developers contributing from across the world, and the genuine care for good documentation, including internationalization (i18n) efforts. the impact…
Machine maketh the em The em dash—heavily stigmatized as a hallmark of LLMs like ChatGPT—has suddenly become the most heavily scrutinized punctuation mark on the internet. It is not, however, a recent invention, tracing its roots back to the printing press of the 15th century. As the printing press made the written word accessible to the masses, replacing painstakingly hand-copied manuscripts, a…
Introduction After a 3-year break from learning Spanish, I decided to find a fun and efficient way to reconnect with the language -- creating an AI document translation app that generates bilingual documents, readable from my Obsidian-inspired Markdown Viewer web app. Both applications run on my VPS, the Markdown Viewer being publicly exposed via Caddy. The Translation Structure The following is…
Backstory My search started with me looking for a good open-source notes app as I realized that my UpNote premium subscription was costing me the same as my VPS per year. I also felt excited to scratch the itch to tinker with technology, which I’ve had for quite some time now. My two main requirements were that the app needed to support all Markdown features while preferably offering some…
Introduction I am developing an application for the game Path of Exile, that will predict item prices based on the item quantity and the item price history throughout the season. It is a straightforward implementation that updates the prices for items at a fixed frequency, and requires items and their categories to be pre-populated in the database. I am running my MongoDB server on the Atlas Free…
Introduction I recently setup a CI/CD pipeline using GitHub Actions , to automate code quality management, testing and Docker image deployment for my Python webapp . The CI workflow triggers on every commit to the main branch and formats, lints and tests the code. It uses a Redis service container since the integration tests call the API endpoints, which use a caching layer before accessing…
Introduction spoti-dl , a Python-based CLI song downloading tool was the first “proper” application that I developed. It acted as a proof-of-concept of my programming skills as a self-taught developer, and helped me land my first job. However, it lacked some basic features, mainly- no parallel downloads for albums and playlists. I recently added a few new features and re-wrote its core…
Introduction O’Reilly’s Programming Rust book walks us through optimizing a part of a pipeline, in Chapter 19 Concurrency . It explains how a channel-based pipeline can encounter slowdowns and high memory usage if one of the consumer threads is much slower than one of the producer threads. The producer keeps adding tasks to the queue, but the consumer is unable to consume them at a satisfactory…
Intro The title is a bit devious – it’s not my first open-source contribution per se. I have made a couple of documentation fixes but those don’t count. I just made my first proper, meaningful open-source contribution on June 9th, 2023. This is a small but still meaningful step for me in the right direction, as someone who wants to get going with making significant open-source contributions in the…