Wednesday, July 29, 2009

Literal Total Eclipse of the Heart

RT: @notspam1: Give it time, but literal version of Total Eclipse of the Heart is great: http://tinyurl.com/nacjd8

UPDATE: A good follow-up is the literal version of "Anything for Love"...

Friday, July 24, 2009

Installing docutils for Mercurial (rst2man and rst2html)

If you're building Mercurial from its source, you might notice that the latest versions are using reStructuredText to markup their documentation. Hence, you'll need to install docutils. Additionally:
  • You'll have to install the rst2man tool that is presently only available in the docutils "Sandbox," which you have to download separately.
  • You'll have to make sure you have the new rst2man.py tool accessible in your PATH as rst2man.
  • You'll have to make sure you have the included rst2html.py tool accessible in your PATH as rst2html.
So it's no surprise that yet-another-Python-related-adventure is yet-another-Python-related-headache. Here's how to get up and running. Things should get substantially simpler if and when docutils starts including rst2man as part of their standard distribution (however, you'll probably still have to make the simlinks unless Mercurial's installer is able to call the rst scripts with their .py extension). Meanwhile, here are some steps that will hopefully get you (the UNIX or Mac/OS X user) moving in the right direction.
  • First, go to the docutils website and download the docutils snapshot as well as the docutils sandbox snapshot.
  • tar zxf those tarballs to extract the docutils source code. That should give docutils and sandbox directories.
  • Copy sandbox/manpage-writer/tools/rst2man.py to somewhere in your PATH (e.g., /usr/local/bin/rst2man.py or ~/bin/rst2man.py if you have ~/bin in your PATH).
  • Create a symbolic link in your PATH from the rst2man.py you just placed there to rst2man. For example, symlink /usr/local/bin/rst2man.py to /usr/local/bin/rst2man by doing ln -s rst2man.py rst2man in the /usr/local/bin directory.
  • Copy sandbox/manpage-writer/docutils/writers/manpage.py to docutils/docutils/writers/manpage.py.
  • In the docutils directory, run python setup.py install (for a global installation) or python setup.py install --home ~ (for a home installation).
  • Copy docutils/rst2html.py to somewhere in your PATH (e.g., /usr/local/bin/rst2html.py or ~/bin/rst2html.py).
  • Create a symbolic link in your PATH from the rst2html.py you just placed there to rst2html. For example, ln -s rst2html.py rst2html inside your /usr/local/bin or ~/bin directory.
  • Fetch the latest version of Mercurial and build it. Assuming you have all of the other dependencies, it should build OK.
Of course, YMMV, but I hope that at least helps get you on your way.

Friday, July 17, 2009

#HiaWWF: Hatred is a Weak Word For

Definition for the purpose of tagging tweets with #HiaWWF: Hatred is a Weak Word For (HiaWWF)

Thursday, July 16, 2009

pine, mutt, elm, and mousetraps

The web hosting provider for tedpavlic.com recently upgraded their UNIX boxes to a 64-bit platform, and the websites I host with them had to be moved over. There were a few small hiccups (primarily due to 32-bit apps I built that needed to be re-built), but most of the issues afterwards had to deal with apps that I asked them to install on the old machine that I then had to ask them to install again on the new machine. One of those apps was (al)pine, which is the console-based e-mail client that I use. They installed pine for me, but the guy in charge was curious. Here's a response to a question he had about my request. It's my justification for using pine (and throwing away the mouse).
But I must ask, for the few odd requests I get for pine, I am curious as to if you actually use it on a day to day basis or just for testing. I remember using it back in the day (good ol'e ISDN!), but it seems a bit redundant and quaint now that we have webmail and Thunderbird and such.
Gosh – pine is far more powerful than either of those. For example:

*) Does webmail support IMAP tags? Pine does. Thunderbird just started, and it's support is still limited.

*) When managing large folders of mail, it's often much easier to query and process the messages with pine. I can quickly select a batch of messages, invert the selection, view the selection as its own folder, etc. etc. I have much more efficacy in pine.

*) If I'm at a remote computer, it's much more convenient for me to ssh into gemini and run pine than to use webmail (which is slow and clunky) or setup Thunderbird for my one time use.

*) If I'm at a remote computer *with* pine, if I run THAT pine and point it at gemini's IMAP server, pine will use the pine configuration (and address book) that is stored in a special IMAP folder. Hence, pine is much more portable than Thunderbird.

*) With very few exceptions, I'm much happier with console-mode (or near-console-mode) apps. Similarly, I use vim on every machine I have. Not only does it give me a uniform editing environment wherever I am, but with the addons packaged with any standard vim installation, vim will download, edit, and upload networked files automatically for me without much extra work on my part.

*) Oh, and don't forget that once upon a time you could only get pico with pine. Now, IIRC, nano comes separately.

My officemate uses mutt, and I used to be a major elm fan because it integrated better with vim. I shifted to pine because it's just so very powerful.

Have you heard of Vimperator? It's an add-on for Firefox that makes it act like Vim. The same people also brought out Muttator – it's an addon for Thunderbird that makes it act like mutt.

So there are lots of us out there that are dissatisfied with the GUI. Console-mode developers don't put a lot of time into perfecting the shading of the chrome. Instead, they add features, and they make the apps fast.

(note: applications like Quicksilver, Spotlight, and Microsoft's latest knock-off are bringing people back to the keyboard. People would rather *type* the app they want to launch rather than clicking through folders. Eventually, people will realize where the mouse belongs – dead in a trap stuck in the garbage out in the garage)

Thanks. :) –
Ted