👋 Welcome
Hi, I'm James. I'm a coder who is interested in creating software
that is:
- Thoughtful
- Clear
- Robust
- Efficient
I have a large, long-term project:
Felt is work-in-progress, early-stage software written in
Odin.
Currently, it does has CLI interface and can read
Gemtext markup
from file, parse it, and render it to a GUI using
Clay UI
and Raylib.
Long-term, the goal is to be able to render
Djot
documents with richer content and to have a daemon/IPC server
that allows Felt to interact with or be controlled by other
programs.
That said, Felt is designed to be as-simple-as-is-reasonable software that
focuses on doing one thing well (rendering markup) and otherwise acts
as a good member of the larger CLI ecosystem.
I also have several smaller projects, mostly being developed
as part of the Felt project above:
A
Gemtext markup
parsing library written in Odin.
While Odini works, it still needs to be optimized and tested further.
Djot markup
parsing library written in Odin.
Not currently working and still very early-stage. Continued work on
Felt and Odini will be prioritized first.
A snapshot testing library Odin.
Working and mostly complete.
Osnap is designed to be simple: it compares two files and byte-by-byte
and fails the test if any differences are found. It also provides
robust handling and reporting of any errors that may happen before
the two files are compared.
Some of my favorite books are:
📘 The Elements of Style
by William Strunk Jr. and E.B. White
This is The Elements of Style, the classic style manual.
This "little book" conveys the principles of English style with a
unique tone, wit and charm.
📗 The Elements of Friendly Software Design
by Paul Heckel
A classic of software design that definitively lays out
software design as a communications craft.
📙 The Pragmatic Programmer
by David Thomas and Andrew Hunt
There are certain tips and tricks that apply at all levels of
software development. However, these approaches are rarely documented.
This book brings these ideas and processes together in one place.