Development Journal No. 1

I want to provide brief notes about what I am working on. I usually have multiple projects in development at the same time. Not all of them take equal amount of my time. I tend to switch my attention depending on what currently sparks my interest. I am composing those notes for my benefit as well as anyone who might find them interesting. I hope to provide updates periodically.

Comments on the blog

This blog never had a comments section. It has always been built as a static HTML website (either with my own HTML generator or with Hugo). I have recently decided to add comments, mostly as an experiment. (Website itself remains built statically.)

To make it work, I’ve implemented a backend API and a simple JavaScript frontend. At the moment, the API, written in Rust, has capability to save comments to a SQLite database. Each comment is assigned a particular topic (such as a blog post). Comments can, of course, be retrieved using the API.

Frontend consists of a simple vanilla JavaScript application that can be embedded into HTML content. It communicates with the API to load and save messages. It should work fine with any blog generator such as Hugo, Jekyll etc.

At the moment, the basic version works but I would like to make improvements such as ability of an administrator to approve comments before they are visible. I am also planning to build a functional admin panel for the purpose of managing comments.

Web application facilitating learning foreign languages

I used to work on a language learning application called Language Monster. It was focused on helping people learn foreign vocabulary using simple games. By playing one of the available games, students would memorise words belonging to one of the predefined sets.

Now, I have begun working on a different application, with the similar goal of making learning a foreign language more approachable.

The goal is to make reading text written in a foreign language easier. Normally, you would have to find an article at your level, and then whilst going through it, look up any unknown words. My project intends to reduce that friction and instead make it trivial to look up any words in a text by means of a built-in dictionary.

File manager

I’m working on a file manager, intended to be used in terminals in a Linux environment. There is plenty of different file managers available. Many of them are good: Vifm, nnn, Ranger, Dired, just to name a few. They’re full of features and it’s largely of a matter of personal preference which one to use.

What I’m working on will initially have only a fundamental set of features compared to the applications I had mentioned. Dired (file manager from Emacs) and Krusader are the ones that I have used the most and I will be working on replicating things I like about them.

Application launcher

I have been using my application launcher, xstarter, for a number of years now. It’s an alternative to programs such as dmenu. It works entirely inside terminal and allows users to browse installed applications. It also tracks recently launched applications so that they’re conveniently available. All together, it has been useful. A few additional features will make their way into xstarter. I am also considering redesigning the UI.

Platform game

I tend have at least one small video game that I am working on. Usually, it occupies me for a while and then I might get bored with it. Getting even a tiny video game to a playable state is no easy task.

This time I took one of the games I have worked on for a game jam a few years back and I am using it to develop something new. In particular, it’s a platform game and I would like to develop it so that it can handle online and offline gaming.

As I had mentioned at the beginning, I would like to provide those kinds of updates regularly, so you will see a continuation when I have something new to report.