wingologA mostly dorky weblog by Andy Wingo2008-04-12T19:11:30Ztekutihttps://wingolog.org/feed/atomAndy Wingohttps://wingolog.org/git: a transcriptional databasehttps://wingolog.org/2008/04/12/git-a-transcriptional-database2008-04-12T19:11:30Z2008-04-12T19:11:30Z

I had a thought yesterday while biking into town. Git is a transcriptional database -- it writes and writes and writes, and what we are left with is its transcript. I wouldn't call it a transactional database, since it has no rollback operator. It doesn't need one. Ref updates either succeed or fail. If they fail, well, write, write again:

The Moving Ref writes; and, having commit,
Moves on: cosmic Rays nor Zero-blit
Shall untrue its blobs, its trees Unbind,
Nor all your Pushes flip a Single bit.

It is perhaps not as beautiful as Fitzgerald's translation, but the bar was set quite high. To compensate, here is what is, to my knowledge, the first translation of Khayyam into Scheme:

(define (git-update-ref refname proc count)
  (let* ((ref (git-rev-parse refname))
         (commit (proc ref)))
    (cond
     ((zero? count) #f) ; failure
     ((false-if-git-error
         (git "update-ref" refname commit ref))
      commit)
     (else
      (git-update-ref (git-rev-parse refname) (1- count))))))

The rest of the text may be found in tekuti.

Andy Wingohttps://wingolog.org/random ruleshttps://wingolog.org/2008/03/16/random-rules2008-03-16T18:40:38Z2008-03-16T18:40:38Z

Edward Tufte speaks and writes about the iPhone. Interesting stuff. Tufte's radical perspectives on interface are quite interesting to me as a marginal player in the computing world[1].

The things I do are a bit odd, off-beat, but that's fine: I don't have many institutional constraints. I can build any kind of pixel combination that I want[2]. So onward minimal infocentric interfaces, and onward those hacking for unchanneled goals.

verses, favorite

I am terribly, terribly ignorant regarding poetry. Still, in reference to verse: WCW's This is just to say. Yeats' The second coming. And regarding the rest: ignorance. Unknown territories worthy of exploration? Please comment.

[1] radical: of or going to the root or origin; fundamental
[2] I just mistyped "build" as "guile"