If you live near Lafayette IN and you're interested in local raw cheese, join us for bulk orders at Meadow Valley Farm. more »
Meadow Valley Farm: Indiana raw cheese
Firefox tweaks
If you're going to use Firefox, I've found the following essential. more »
Fuzzy Time (and an updating bash prompt)
So today's the Solemnity of the Assumption, which means this freelancer takes the day off. And what better way to spend free time than to take time to blog about time? About altering your very conception of time. In short, about fuzzy time.
"Fuzzy time" means using phrases like "half past three" and "quarter to one" instead of 3:37 or 12:41. This casual rounding happens all the time in conversation, but internally, I at least tend to watch the minute hand, if not the second hand. What does that do to my sense of time passing?
You may suppose me, for the sake of argument, sitting at lunch in one of those quick-lunch restaurants in the City where men take their food so fast that it has none of the quality of food...They all wore tall shiny hats as if they could not lose an instant even to hang them on a peg, and they all had one eye a little off, hypnotised by the huge eye of the clock. In short, they were the slaves of the modern bondage, you could hear their fetters clanking. Each was, in fact, bound by a chain; the heaviest chain ever tied to a man--it is called a watch-chain.
Chesterton, "The Angry Street"
I remember my Spanish teacher explaining that when North Americans are waiting for someone, they get irritated in five-minute increments, but Central Americans tend to get irritated in increments of a half hour. Of course, as a freelancer on a computer, the tardiness I'm generally fuming at is my own. That's an awful lot of angry energy to be wielding all the day long; I'm on both the giving and the receiving end.
A computer is singularly equipped to provoke this malaise because a tiny clock can be so conveniently placed in constant view. Chesterton, I think, would have turned his screen clock off entirely, with a mild oath, but I decided to try a pleasant compromise. More than a compromise, perhaps; for already my fuzzy clocks are getting me to think in terms of "five to ten" and "half past six". With no clock at all, I'd probably still be incessantly wondering (and checking) the "real" time.
I first found out about fuzzy time during the brief fuzzy-headed time when I was running KDE. The clock on the KDE panel has a fuzzy time setting. I don't remember the exact way to set it, but I'm sure you can find out how easily enough if you want. There may be similar settings on Windows and Mac applications. I saw at least one "Fuzzy Clock" Mac app in my searches. But of course I must leave that sort of thing to those who want it.
A fuzzy clock for Firefox
If you spend a lot of time browsing, Firefox is a great place to put your first fuzzy clock. The Fuzzy Time addon puts a "fuzzy clock" in your status bar. You can set the fuzziness level, and even learn a little bit of Spanish or Hebrew by choosing a different locale.
A fuzzy clock on your bash prompt.
But if you spend lots of time on the command line, you'll
want fuzzy time on the prompt. First, we'll need a command
line tool that simply spits out the current fuzzy time, and
there's already a great one in Python.
I'm not sure I found
the site of the original source, but I got myself a copy of
fuzzyclock
here
(sig)
and it works. It installs like any normal Python script, and
also lets you set the fuzziness level.
fuzzyclock
gives you the time in a five-minute increment, while
fuzzyclock -f 2
gives a fifteen-minute increment, and
fuzzyclock -f 3
only tells the hour. I'll leave level 4 for you to discover.
Now, how do we get this to show on our prompt? The default bash prompt is usually something like:
you@yourhost $
Of course, you can set this to something more interesting by
setting the PS1 variable. You can try it right now with
export PS1="Hi, Mom, I'm in \w and it's \t $ "
Usually, this variable is set in your $HOME/.bashrc or
$HOME/.bash_profile or whatever gets sourced when you log
in. The \w prints your current working directory, and the
\t prints the time. If you fire up man bash and scroll down to
PROMPTING, you'll find all kinds of neat codes you can use
in PS1 to give you other updated information. This is probably worth
a look if you've never customized your prompt. You can even
do colors (though that's another post).
Until recently, I'd had the prompt displaying the "real", or rather conventional, time for years. Every command reiterated the current minute, and it could start to feel like a death by a thousand cuts.
So how can we replace this with the soothing continuity of
fuzzy time? There's another secret bash variable called
PROMPT_COMMAND, which will get run every time you hit
Enter and get a new prompt. If you use PROMPT_COMMAND to
export a new value PS1, you can update your prompt every
time.
Now, the obvious thing to do is this:
PROMPT_COMMAND='export PS1="\u$( fuzzyclock ) $"'
(Note \u for user; you can put whatever other text you
want in the prompt.) However, this technique will cause a
slight delay, as fuzzyclock has to get called every time
you hit Enter. This gets frustrating quickly. Also, unless
you only run one command every fifteen minutes, it seems
out of line with the overall fuzzy time concept.
Fortunately, bash can cat a short file very quickly. (It
could probably display an environment variable even more
quickly, but, embarrassingly, I couldn't get that to work
with a cron job.) So all we need to do is write a short
script that saves the current time in a short file, and then
use cron to run that script every minute (or fifteen). Then,
we use PROMPT_COMMAND to display this short file whenever
we get a prompt.
First, in your $HOME/.bashrc (or $HOME/.bash_profile):
PROMPT_COMMAND='export PS1="\u$( cat $HOME/.cronprompt ) $ "'
Put whatever else you want in that PS1, remember.
Then in your crontab file (perhaps $HOME/.crontab):
*/1 * * * * /PATH/TO/cronprompt.sh &> /dev/null
*/1 means once a minute, which I think is often enough for
our fuzzy purposes. You could run it every five minutes
(*/5) if you're extremely jealous of wasted CPU cycles.
The &> /dev/null is rather important, unless you want an
confirmation email every minute.
Don't forget to update cron by
crontab $HOME/.crontab
or wherever your put your crontab file. Just changing your
crontab file won't do anything without actually running
crontab on it. You can check that it "took" with crontab
-l.
You'll need cronprompt.sh actually to be where
you told cron it is. This script can be as short as one
line:
echo ": {$( fuzzyclock )}" > $HOME/.cronprompt
Whenever cron runs cronprompt.sh, .cronprompt is
updated. Thanks to our setting for $PROMPT_COMMAND above,
.cronprompt gets output afresh every time you get a
prompt.
You can use this cronprompt.sh concept to add other cool
updated information, such as a reminder using remind, but
I'm going to save that for another post.
(Note: after I did all this, I found a script called uberprompt, which seems to have a similar approach for setting a prompt title on the fly, but I didn't try it.)
A fuzzy clock for Vim
Now that you've gone to all this trouble to have fuzzy time on the command line, why not put it on the status line in Vim?
In your $HOME/.vimrc:
"fuzzytime
function! Cronprompt()
"Note that you must change YOU to your user name.
"For some reason, $HOME doesn't expand in .vimrc, at least for me.
for line in readfile("/home/YOU/.cronprompt",'',1)
return line
endfor
endfunction
se statusline=%-5F %m%r%w%y%=%{strftime('%a %e %b %I:%M %p')}%6L%{'L'}%3{' b'}%n %{Cronprompt()} (%l,%c)%5P
Again, note that you must change YOU to your user name, so
that Vim can find .cronprompt. You don't need all that
stuff I have in statusline, just %{Cronprompt()} (though you
probably want handy items like the name of the file you're
editing). I just thought I'd show you my statusline. Note
that I've kept a strftime function that includes the
conventional time too. This might defeat the purpose, but
presently I still time my work day, and sometimes the Vim
clock helps because it stays "frozen" if I get up from the
computer. Maybe fuzzy time will help me stop this habit. But
see :h statusline if you want to customize this arcane
variable.
Go forth and saunter
I wouldn't be surprised to find that if there were some way of totaling the amount of time I sometimes spend worrying over and checking the time, it would come to fifteen minutes or even a half hour a day. Like all slaveries, a hyper time sense might turn out to be inefficient, even by its own standards. I like fuzzy time so far, and I hope you give it a try.
Nathaniel David Arrives Early
Here is a picture of our third child:

You can almost imagine he's smiling, which is not bad for the evening of his birth.

Unfortunately, even the healthiest of babies seems to look a little beat up when they first get out. Fortunately, the skin clears up surprisingly fast.


I wrote a minor epic when our first child was born, and waxed at some length for our second. For Nathaniel, I trust you'll be satisfied with this interesting fact: Nathaniel arrived early -- that is, he arrived before the midwife. And that arrival was lovely.
As you can deduce from the pictures, it has been rather awhile since he was born (cough), and Nathaniel has even been duly baptized. He was a little young for the snappy white suit that one of the other boys sported, but I'm starting to wonder if our plan to use one unisex baptismal gown for all the kids is going to work.

I'm just glad that whoever stuffs other people's babies into flower suits and fake pots and courts future lawsuits by hawking them on greeting cards wasn't around to get visions of Mother Ginger.
(Which reminds me: all baby pictures on this site are copyrighted and may not be used for anything except excessive viewing by friends and relatives. I've been considering a more distributist license for most of my online content, but family pictures will be locked up permanently, or until such greeting cards finally inspire universal cultural outrage. Go wear your own sunflower suit.)
Anyhow, I'd forgotten what a newborn is like. I'm beginning to despair of even attempting to describe certain happenings until I learn how to draw or write verse. But here Nathaniel is, whole and entire, another stranger claiming Preferred Member Status in our little club. We all give him a warm welcome, and look forward to a fuller acquaintance.
The Dangers of Linux
Linux Addiction?
I'll be surprised if this comic isn't all over the place in a few hours, but you may as well see it here.
Of course, writing drivers for hardware is a wee bit easier when the companies actually talk to you. The laugh for me might not be what the author intends; not because peripherals are always broken on Linux (they aren't) but because the power of Linux makes the newbie redefine "broken" so rapidly. In Windows, "broken" used to mean that the computer crashed more than once or twice a day. In Linux, a "broken" Xorg might just mean that some default setting in the distribution prevents me from running multiple instances at the same time. "Broken" starts to mean, "it won't do exactly what I'm imagining it could." Linux can become the most addicting computer game ever devised.
The Distributist Review
Another long absence, and again a lovely excuse. I invite you to peruse The Distributist Review.
How To Read a Book
I'd like to start taking some notes on books I read for this blog (I mean den), on the off chance that someone will find them useful. And what better book to begin with than How to Read a Book by Mortimer Adler?
Unfortunately, this entry also happens to be an experiment in combatting insomnia, and the experiment is rapidly succeeding. I'll get what I can for now.
There are piles of books on how to read books. I think I read this one because when I flipped it open, he was talking about Aristotle or Aquinas, or probably both. Also, you can open to any page and immediately get a crisp, didactic fellow; it doesn't take long to see why he likes Aristotle.
It's been a few days since I finished it, and I have yet to return and review (I'm attempting this major new habit, for reasons which will eventually be explained), but there are at least two tremendous insights in this book.
- Dive into the index.
- A book doesn't stretch your understanding unless you don't understand it the first time through.
Since even one such major insight is coming to seem above par for the average book, I'm quite pleased.
Dive into the index.
Adler presents a somewhat typical "preview" method, which includes the table of contents and the first and last chapter. If you don't have the habit of reading (not skimming) the table of contents, that itself can change your whole outlook of a book. Instead of dripping it word by word into your system, as from an IV, you soar at once over the whole sea, getting the lay of the coasts, the coves, the treacherous reefs.
But Adler takes it a step further; the index. If the table of contents is a birds-eye view, the index is an enchanted ball pit. I don't think Chuck E. Cheese had come on the scene yet when this book was written (though this was the revised edition); if it had, I'm sure Adler would have seized the metaphor. Even after making an index, I had never stopped to think what a brilliant pile of jewels is carefully stashed in a book's back room; you can dive right in and swim about through a jumble of all the book's main ideas. You can touch any enchanted word, and be carried right into the thick of the book.
In the past, I'd seen indexes as purely utilitarian, only consulting them when I already (thought) I knew what I wanted, grumpily sifting through the rainbow to find my particular dented yellow ball. Now, Adler suggests reading the thing, perusing it, noting which words have oodles of references; in short, swimming about.
Or again, perhaps the index is a sort of "Wood between the Worlds," as in the Magician's Nephew, or even a world of magic doorways like in Monsters, Inc.
Freed from the constraints of conventional prose, the index is almost solid idea; few prepositions, no articles or adverbs, no mitigating phrases. Try to read and visualize even one page of an index. You'll find yourself flying all over your mental landscape.
No substitute for reading the book, of course. But the relationships that leap into view may not even have been sensed by the author. You really can feel that you're diving, that real things crowd and squirm and wiggle about you like fish in the sea.
Read books you don't understand.
Adler reserved his enthusiasm for great books; in fact, he helped edit the Brittannica edition of "Great Books of the Western World," which still graces many a library shelf. Up to now, the series has seemed sufficiently cumbersome and intimidating to ward me away, although I do think that even as a child I liked the variation in the binding color scheme (so unlike an encyclopedia). I've read some of the authors, but avoided that edition. Now perhaps I'll check it out.
Adler thinks that if you understand a book too well on your first read, it doesn't have much new understanding to give you. You can always find new information, but the book that will really knock you over is the one that stretches your very understanding of the world. And, obvious as this ought to have been to me, your understanding can only be stretched if at first it doesn't reach.
This opens whole new vistas of actually reading some of the more intimidating names. Not only might I not mind those initial sensations of inertia and despair as the air thickens and grows dense; I might begin to welcome them. The usual signs of panic might become signs of promise. In this direction likes an uncharted cavern; I can tell by the closeness of the air.
The Syntopicon
Sleep is coming for me, and I'll have more to say on this soon, I hope. I'd like to summarize his techniques (so I can use them myself), and I'd also like to peruse his Syntopicon, volumes 2 and 3 of the Great Book state which were a nearly epic attempt to categorize and index over a hundred main ideas throughout the Great Books set. Adler wanted you to be able to compare quickly what was said by, say, Aquinas and Freud, on, say, the subject of love.
At first glance, this seems like a job for The Internet, but I'm not so sure. The Wikipedia article on the Syntopicon currently includes the main ideas, each of which is linked (in a slightly self-congratulatory fashion) to that idea's page on Wikipedia. You can judge for yourself whether the current Wikipedia page on any of these topics is comparable to a hundred passages or so from the "great writers", even if you do feel compelled to keep them at bay in quotation marks.
On the flip side, the idea of cross-referencing all these ideas in English translation is somewhat depressing. I say that as a college-educated monolinguist, still trudging my native slopes while the children of illegal immigrants gleefully navigate multiple worlds. Call me a wannabe philologist, but if they were going to spend all that money, Homer should have been in Greek. Maybe I'd learn it.
Speaking of money, that Wikipedia article has a fascinating (and hopefully true) account of just how expensive it was to cross-reference all these Great Books. Today, the two volumes of the Syntopicon aren't even on the shelf at the Purdue library; the rest of the Great Books series is there, but you have to go to the repository for the Syntopicon.
I have to actually read the thing a bit before praising it too much. But the idea is exciting. And the name sounds awfully cool. And the thought of multiple people getting paid for multiple years to read these books makes me wish they were releasing a revised edition.
On the other hand, it only really works if it piques you into reading at least some of the books in full. Otherwise you're depending on Adler & Co. not to have missed anything.
Reading techniques
Getting back to the actual book I did read, I also liked the various techniques Adler presented for reading. But through the wiki-like magic of the den, I will leave this tantalizing information for a future revision. (Though you can start here if you're impatient.) Good night.
Frequently Aggravating Questions
Confused by the site? Stop in here. more »
Penny Justice Update
Sorry I've been away, but I've been updating Penny Justice. Take a look.
Contact
I suggest something called e-mail. It's nifty. more »

![[Powered by PyBloxsom]](/img/banners/pb_pyblosxom.gif)