Apps

This is the place where I showcase my "apps" - that is, reusable applications for the Django web framework. The development process always seems to follow the same pattern. I'm trying to find out something about something else, such as "Which fonts support which characters?" or "which scales contain which chords?" I write a simple script in Python that gives me the answers I want. Unfortunately, the script is not terribly "user friendly". So I have the idea of creating a web app that does the same thing, is easier for me to use, may be of use to others, and thus better at promoting my programming skills. I succeed, but it takes two or three times as long as I expected.

I got these applications working for website 1.0, but they weren't particularly reusable; Some of them may had hardcoded CSS links in the templates, among other flaws. Fortunately, I have tweaked all of them to be compatible with Mezzanine (or any other Django project that extends "base.html"). They should now "play better" with others.

All of these apps can be installed with the Python package manager pip, and all source is available on GitHub. Please read below for more details.

Is it YAML?

YAML is a data-serialization-in-text format that I've been interested in since 2001 or so. It doesn't have the overhead of XML, and it has more flexibility than JSON. It never took off as I originally anticipated, but neither is it dead; the main personnel behind its development are busy with other things, and no-one has taken up the slack.

At one stage, I was interested in writing a "YPath" specification - intended to be to YAML what XPath is to XML. Alas, other things intervened, and I became too busy to do anything. However, I had time to create my own "Is it YAML?" web application to check whether text was actually YAML or not. There was an official web-based reference parser, but I never liked how it rendered non-ASCII characters using escape sequences, and now the page appears to be 404. 

There is a GitHub repository for Is it YAML? The app can be installed via:

pip install isityaml

Chord Generator

When I was a wee lad, and learning the guitar as many wee lads do, my parents gace me a copy of The Guitar Handbook as a present. It's a well-regarded book, and justifiably so. One of the things that amazed I was the number of chords that one could play on the guitar - not just "major" and "minor", but "seventh minus ninth minus fifth", to take an example plucked from the air. The handbook also described lots of scales, such as "Harmonic Minor", and "Melodic Minor" both ascending and descending. What wasn't clear is which chords went with which scales.

As a teenager, I tried to solve the problem with paper and pen. As a young adult, I wrote some program in Visual Basic, but the output wasn't very clear to read. As an older adult, I wrote Chord Generator for the same task. HTML tables are far easier to read.

These days, I prefer the bass guitar, but I am having difficulty finding time to play any instrument.

Yes, there is also a GitHub repository for ChordGenerator (and there is an additional repository for musictheory, which ChordGenerator depends on). Or you can install the app via:

pip install chordgenerator

Glyphviewer

Glyphviewer is that "Which fonts support which characters?" application I referred to above. I think I've said enough in the documentation; just give it a go. Yes, there's a GitHub repository, and you install it via:

pip install glyphviewer

Recent Tweets