BobbyMoss.com

Bobby Moss's Code Projects


Glimpse

Fork of GNU Image Manipulation Program

Version: N/A
License: GNU GPLv3
Platforms: Linux, Mac, Windows
Languages: C, GTK
Link: https://github.com/glimpse-editor/Glimpse
First started:
My Roles: Creator, Maintainer, Community Manager
Status: Active

Glimpse is a code fork of a popular free software image editor called the GNU Image Manipulation Program. It provides general purpose image editing, manipulation and creation tools that rival well-known commercial alternatives.

As you may have noticed, the upstream name is problematic! The acronym forms the word "gimp" and in English-speaking countries that is considered an ableist slur, a playground insult, and can be linked to certain sexual acts. It is a blocker to the project being taken more seriously in professional and academic environments because "gimp" is the name everyone (including the project itself and its documentation) uses informally for the software.

Repeated attempts to change it have fallen on deaf ears for over 13 years, and a number of users have also become frustrated that long-standing problems with the user interface, tools and "easter eggs" have been ignored, dismissed or deprioritised. The Glimpse fork emerged as a result of end users becoming frustrated about these issues and choosing to exercise their rights as users of "free software".

The primary aim for the first release is to rebrand the project with a new name, logo and updated user interface. Other long-standing issues with the current codebase will be addressed in subsequent releases. There is also some early talk about a potential code rewrite that may run in parallel.

I originally created the Glimpse project after seeing a thread on the GNOME gitlab where a request to change the "gimp" name with well-justified reasoning was shouted down for political reasons by people who were not even involved with the project. The torrent of racist and ableist abuse the original reporter received was disgraceful, and the actions of those trolls motivated me to act on the long-standing frustrations I feel as someone that has used the GNU Image Manipulation Program since . Dozens of other people feel the same way, and despite the hostility they may have received from a handful of overly-vocal individuals, they have still contributed to the project and publicly indicated their support for it.

The project is run "by consensus and by consent", which means that there is a governing team that must reach consensus about all decisions, and all decisions must be made in the open so project community members can provide their opinions and expertise as part of the decision-making process. This so far seems to be working well, and we aim to provide our first release before .


Florence Mastodon

Fork of Mastodon social network as seen from Mozilla Firefox

Version: 0.0.1.1
License: GNU Affero GPL
Platforms: Web
Languages: Ruby, JavaScript, CSS, HTML
Link: https://github.com/TrechNex/mastodon-fork
First started:
My Roles: Project Contributor, Server Admin
Status: Active

Florence Mastodon is a code fork of "Mastodon", a fully-free social network intended to rival commercial microblogging services like Twitter. You can find out more about the project here.

It works by enabling people to host their own servers while at the same time allowing those servers to interconnect or "federate" so they behave as though they are the same website. The local administrator decides which servers they want to connect with and police how their users should behave, and if a user is not okay with their choices they are free to move to another server or host their own. These are advantages Twitter lacks because users cannot host their own data, have little choice about the content they consume and are entirely at the mercy of that company's moderation decisions.

Florence is a project that has been created by a group of like-minded individuals who believe that collective decision-making yields better results than relying on a single fallible software developer. They also prioritise the prevention of abuse and harassment above adding new features intended to attract Twitter users across to the fediverse.

I have followed this project from its inception and created one of the very first Florence Mastodon instances in existence after its initial pre-release. That same instance (Bobadon.co.uk) was the very first that was open for others to join. Recently I made some minor code contributions and I intend to continue providing my expertise with their technical documentation efforts.


Mastodome

Mastodome client application for the desktop

Version: 0.3.5
License: MIT
Platforms: Linux, Windows
Languages: Python, Qt
Link: https://github.com/TrechNex/mastodome-legacy
First started:
My Roles: Creator, Maintainer
Status: Active

This is a Linux desktop client I created for Mastodon, a federated open source alternative to Twitter. It can perform a range of basic functions like sending new posts, displaying different feeds and fetching notifications. It uses PyQt for the GUI, Mastodon.py for the REST API calls and keyring to securely store authentication tokens.

The application can fully manage logins and user-switching between different servers. Users can optionally apply a content warning or increased privacy level, just like they can in the official browser-based UI. Each fetched post displays an avatar image, username, timestamp and the contents. Content warnings and images are displayed as plain text, and input text is validated against the character limit before creating a new post is permitted.

I still periodically apply patches to the existing codebase, but I Intend to do a code rewrite with a machine-compiled language so future versions will still be performant as UI complexity increases.


BobBrowse

Simple tabbed web browser for the desktop

Version: 1.1
License: MIT
Platforms: Linux, Mac, Windows
Languages: C++, Qt
Link: https://github.com/TrechNex/bobbrowse
First started:
My Roles: Creator, Maintainer
Status: Inactive since

A tabbed web browser that I originally created as an assignment in my Computer Science degree course. Two years later I updated the project to support Qt5 and fixed a number of bugs, then released the code under an open source license so others can use it for tutorial purposes.

In addition to the core functionality a fixed tab called "Starred Sites" enables users to set their homepage, change the default search engine the navigation bar uses and manage their saved bookmarks. The browser itself is built on WebKit (the same engine used by Safari), so modern websites should work without any problems.


OpenRAMS

Web-based database front-end

Version: 1.0.1
License: MIT
Platforms: Windows Server
Languages: ASP.NET C#, HTML
Link: https://github.com/TrechNex/openrams
First started:
My Roles: Creator, Maintainer
Status: Inactive since

The final year project for my Computer Science degree course was inspired by a placement year I spent in Belgium working in the IT department of an international school. "Open Resource Allocation & Maintenance System" was intended to be a browser-based database front-end that would replace a number of expensive-to-license legacy tools designed to track room bookings and work tickets. This influenced the front-end design and the underlying data model.

It was initially hosted on Codeplex in a Subversion repository, but that service has since been deprecated so it was migrated to Github.


ScorchOS

Command line interface for hobby kernel

Version: 0.1.6
License: MIT
Platforms: Linux, Windows
Languages: C, x86 Assembly
Link: https://github.com/TrechNex/scorchos
First started:
My Roles: Creator, Maintainer
Status: Inactive since

As a teenager I was fascinated by hobby operating kernel projects like MikeOS and Bran's Kernel Development. This forks the latter with additional contributions from other enthusiastic teenagers, and it was my second attempt at writing my own kernel (after "Apollo OS").

The original project is still on SourceForge in a Subversion repository, but it has since been migrated to Github.