A dream of reason discussions about this, that, and the other

Lua Transducers

All God does is watch us and kill us when we get boring. We must never, ever be boring.

Chuck Palahniuk

Transducers are one of the cooler bits in Clojure-land. If you are new to transducers, don't worry: with a bit of experimentation, they become straightforward and easy to understand.

Recently, I implemented transducers in Lua, partly because I was curious as to how the underlying implementation works, and partly because I was wondering how they would work with Lua's iterators (which are really just closure factories).

More ...

git-tracker, Take Two

Men have become the tools of their tools.

Henry David Thoreau

git-tracker is now good enough for daily use, so I have marked it as v1.0 accordingly. Only two graphs are used to visualize git activity: a heat map and a tree map (the latter in conjunction with tags).

To use git-tracker effectively, it is recommended to use a machine ssh key (e.g., a ssh key that is not pass-phrase protected and has read-only access to your repositories). I did not want to store ssh pass-phrases, as that is a big security risk, so this is the next best thing.

Even though functionality is fairly limited, I have been using it every day and it is already better than my previous git monitoring tool. Part of this is because I pared away all the extraneous stuff that was not needed. But really, it turns out that what I really cared about was tracking relatively recent git activity (such as in the last three months).

More ...

Happy Holidays, All

More ...

The Illusion of Progress

Progress secularized, progress which pursues only the next invention, progress which pulls thought out of the mind and replaces it with idle slogans, is not progress at all. It is a beckoning mirage in a desert over which stagger the generations of men.

Loren Eiseley, The Firmament of Time

One of the hardest things I have had to learn as a programmer-entrepreneur is the idea that code is not as nearly important to the business as we like to think. After all, even the cleverest algorithms and finest software architecture must necessarily be subservient to the business. Certain aspects may be more important for the business at any given moment: marketing, relationships, customer service, structuring deals... the list goes on.

Indeed, focusing on programming can be a seductive trap in a startup, for it gives the illusion of progress.

More ...

Introducing git-tracker

the self isn’t a historical fiction or a cultural construct

or a linguistic hallucination;

the self is a creature

and it lives in a burrow

under the hillside of history


Tony Hoagland, "Still Life"

And The World Needs This Because...

I have long struggled with keeping and tracking personal data metrics, despite (and perhaps because of) the glut of hardware and software metrics products. It seems like obtaining meaningful statistics about one's overall activities should be easier. For some reason, it is not.

Git is a natural candidate for promoting metrics tracking, since it is so prevalent in the programming world. Furthermore, all of my writing is under git control, including my journals and to-do lists.

Currently, I track my git usage using git_stats, and of course there is the all-pervasive and public GitHub heatmap (available on an user's "view profile" page). But these tools are of limited utility. git_stats has a whole lot of irrelevant statistics, and not all of my projects are on Github.

More ...