kernel routine
Table of Contents
kernel routine is a PWA schedule management tool to aid reactive workflow, written in clojurescript.
1. current status
I did not orphan it, but because PWA is not terribly useful on ios and I only have access to an iphone7 I sort of just lost the motivation. Plus there’s a lot of features I plan to implement. It could be useful if I could find a way to solve offline service(currently it is not possible to edit and save the schedule due to lack of offline support, which means remote syncing via dropbox or webdav stuff is necessory).
2. the kernel routine model
This model take human operator as the “kernel” and individual activities as “kernel routines” that the “kernel” would perform/execute.
each routine consist of a trigger predicate and a description. The trigger is usually time in the day or completion of other task
3. How kernel routine works
It is a one-page PWA, and a demo should be available in here (note that the bottom KERNEL bar is now temporarily used as hard reset button; if you don’t see anything or need restart, press it)
You can perform the following primitive actions:
- press on an inactive(dim) activity - marking you started doing it(it will start counting time you have spent on it, and pressing other task would pause this and start that.)
- press on an active(bright) activity - marking you have finished it
And new activities should pop off when their predicates are satisfied.
4. options and game
The schedule is intended to be designed in a way that bulk of the activities are threaded (finished wake up => drink hot water pop off, finished drink hot water => gym pop off), with mutual exclusive choices (doing gym would discard meditation in the morning) which can have long-term impact (doing gym would make lunch appear earlier)
In working, there should be about 3 to 5 options to choose from whenever you looked at it, and they will change after you have choosed something, making using it quite game-like, comparable to text-based advanture games.
Additionally, in design the schedule predicates should be clojurescript itself(it is now a custom-implmented lisp with about 3 functions, because I did not find a good way to include a clojurescript runtime, the eval
function, in PWA), so the sequence of event could be super complicated with lots of task sequences, in theory merging every workflow that could be represented as reactive workflow: you can do dedicated session in it, you can do in it, forming an extensible day-to-day adventure system.
On extensiveness, you could have, for example, imported a pack of “kernel routines” initiated by “going to the seaside”, and including all sort of sequences of things you can do in the seaside, with an option “going back home” to discard them all. Or a guide pack “One-day tour in Liverpool”, with places to check out in liverpool, and viable options like “going to the world museum”, “going to walker gallery”, “check out city library” when you finished “get to lime street station” (they are all around lime street station in 5 minutes walk)
Backlinks
projects
Index of all projects I have done
- dedicated session
- kernel routine
- Gehninfel - the website
- I have recorded 2 original piano compositions for my bestie Coco’s birthdays. They are with large portion of improvisation, generally in jazz and pop/new age style, with some chord movements that makes more sense sementically than musically. I’ll attach scores and links to recordings here when I have found them.
- I have recorded 1 original piano soundtrack for a mini-film coursework on procrastination. It is very confusing with lots of chromatic chord movements. I’ll attach scores and links to recordings here when I have them.
- I upload sketches to my deviantArt account. It is not a project per se, but is something that I do.
- developmental luc steels’ mars explorer