24 days of Perl code from RJBS! Feed

Restoring The Traditions of our Forefathers

Git::Fingerd - 2009-12-19

The War on "Finger"

I'll admit it: I am a traditionalist. I believe in honoring the protocols that were left to us by our forefathers. Maybe that makes me "old-fashioned" or "short sighted" or "terminally irrelevant," but I see no reason I should have to abandon technologies that have existed for 30 years just because they are "horrible" and "obsolete" and "full of security holes." What does HTTP really give us over Gopher? Why should I use BitTorrent instead of FTP? How is Wave any better than Ytalk?

...and then there's finger. People try to replace finger more than anything else. First "the home page" and then "MySpace" and "Classmates" and now I think the hot new thing is "Orkut." Well, the .plan file will live forever in my heart.

I wanted to provide a suitable tribute to my favorite ancient protocol, and what better way than to pair it up with one of the trendy technologies that I do enjoy. Git might only be relevant for a short while, but it's giving us all kinds of good ideas to backport to Arch.

Finger My Git

Git::Fingerd is a Net::Finger::Server-powered repository information delivery platform that allows you to easily access information about a server's git repositories from any finger-enabled operating system like Mac OS X. Here you can see the result of fingering one of my git servers:

  ~$ finger @git.codesimply.com
  Repository                          Description
  Acme-Canadian                       Canooks in your code, eh?
  Acme-Lingua-EN-Inflect-Modern       modernize Lingua::EN::Inflect rule's
  Acme-ProgressBar                    a simple progress bar for the patient
  Acme-Studly                         convertBetween various_well_known Id...
  Amce-CNA                            a moer tolernat verison of mehtod lo...
  App-Addex                           generate mail tool configuration fro...
  App-Addex-AddressBook-Abook         use the "abook" program as the addex...
  [ ... ]

If I want to learn more about a repository, it's easy:

  ~$ finger Rx@git.codesimply.com
  Project  : Rx
  Desc.    : simple, extensible schemata
  Clone URL: git://git.codesimply.com/Rx.git

  master          = 38633c138f2c149ccbb7434a711975173f51a6ca
  struct-fail     = 4c8449e0693c4bac3033c8f093be6bf26a54ac34

  0.003           = b0ecc50fed4e6e84c6350cd12d9be33de926bebb
  0.004           = e625d75cfae4f43f51e43491b2b184a8396b8d50
  perl-0.001      = 602b746868d227e0a72144e6677b0d4a14a668cd
  perl-0.002      = 4b3102379609957b0ca2202f47a7a050ad6c42ee

  Rx is really cool, yadda yadda, whatever...

The Future!

As time goes on, we can forwardport more ancient protocols into the future, making sure that the future is just as technologically advanced as the past! Imagine using Net::GitHub and Gopher::Server to create a Gopher interface to Github! git push via UUCP, or git clone across telnet! The future will be so bright that we'll have to wear Wayfarers.

See Also