donotturnoff

To-do list

Project ideas

Distributed path tracer

Distributed in the sense of across a network. Clients submit tasks to a scheduler which allocates tasks to workers. Path tracing is inherently very parallelisable, so it is well-suited to this sort of setup.

Scientific programming language

With units as data types, probably for use for quick calculations, for example by students.

Parser generator(s) in C++

To be like lr0, my Java-based parser generator, but improved upon. This would be useful for a lot of my other projects, especially language ones.

Webcaching

An idea which I've been meaning to make for years. Something like Geocaching, but for exploring the web. This could be expanded to a broader scope, being able to tag anything, physical or virtual.

Stop motion JavaScript framework

WoT messenger

Vector printer

Concurrent/distributed programming language

OS based on packages, services and a unified scripting language

Blockchain based domain names

A very small raycaster

A raymarcher

A programmable interpreter or compiler

Given a grammar, a number of rules to check statically (e.g.~typing rules, effect system rules), and a number of small- or big-step evaluation rules, interpret (or compile?) source code.


Current projects

aerend

A networked display server with a focus on IoT devices. My third year project at university.

utlam

An untyped lambda calculus interpreter. I think I will completely re-write what I have of this (perhaps using the programmable interpreter/compiler).

simpledoc


Website

Project documentation

I need to add technical documentation for my projects. I think I'll create a separate page within each project directory for this - perhaps two, one for the user interface and one for the source code.

Add all projects to git

Most of the projects on this site are available from my git repositories or on GitHub, but some still aren't.

Add this site to git

I think it'd be a good idea to keep the site itself under version control too.

Rewrite some project pages

Some of the project pages were written many years ago when I first made this website and don't really suit it now.

Post-receive git hooks

In order to keep live demos and other files up-to-date with the current git branch, I will add some git hooks to automatically create these files.

Makefiles

I currently use textc's inbuilt timestamp comparison system for skipping pages which don't need to be recompiled, but this doesn't offer as much control as using Makefiles, so I want to switch to using Makefiles for deciding whether to recompile (though textc will still be used for the compilation itself).