Skef: a language for developer lab notes
========================================
2016-11-06
For years I have been carrying around a small black notebook
containing all my work notes. This is all nice and dandy,
but it's not very convenient. This is why I decided to move
my main notetaking to the PC. There's already a big bunch of
applications, systems, cloud thingamajigs that provide all
kinds of note taking and categorization goodness, but it
doesn't tickle my particular terminal loving fancy.
When I take notes I really don't want to deal with a lot of
sub windows, having to move the mouse around and even the
excellent ORG-mode feels too complicated for this -
previously - simple task. It's a typical phenomenon where
something simple in the flesh translates to a big collection
of complex digital counter parts.
Cue Skef
--------
That's why I decided to create a small language that allows
me to take my notes in my favorite text editor, having all
the neat features like tagging, todos, time tracking..etc
while maintainig this simple workflow of editing just one
document.
Let me give you a quick example of an entry:
[Fri Sep 02 2016 - 2016/09/02]
This is a line of text that is just a general little
untaxonomized line of text that will be filed under
September 2nd.
[project]
This text is filed under "project". I will be able
to run queries that gather all my entries filed
under this tag.
[subproject]
You can even nest projects, nifty wifty.
[todo mow the grass]
As you can see above here, we're able to setup
todos. The basic idea is that you'll be able to run
the Skef commandline utility that retrieves all
todos for a project, or simply all of them in one
go. It outputs these todos on the commandline and
you'll be able to setup your favorite text editor in
such a way that it's piped into a new editor buffer.
[todo bft]
Sometimes you'll need more space to explain what
to do. You can create a whole lot of text under
one todo if you like, but you probably won't,
because this means a lot of things that will
require taking your lazy bum of the couch.
[time 4.5h pondering about mowing the grass]
We can have entries for tracking time. Skef will be
able to retrieve all these time entries, output them
as a CSV, or on the commandline for easy viewing.
[done noticed the relatively high grass length]
After you're done with a "todo", you can simply
replace "todo" with done and it'll be marked as done
:-). You can also use "skip" or "postpone", but the
Getting Thing's Done philosphy says you shouldn't
(which we don't care about of course, silly busy
people).
As you can see the Skef language has significate whitespace.
This prevents a lot of hassle with closing blocks, and wears
down your keyboard just a little bit less.
I'm already using Skef as my work journal, but I'm going to
add a couple of tools to make it more useful. They will
allow you to search for certain projects, get all your
current todos and generate a CSV with your time entries. I
also want to add VIM support so I'll get to have all the
pretty colors in my fav editor :-).
-----------------------------------------------------------
Tags: english