Category Archives: Uncategorized

I don’t watch televsion

It occurred to me the other day that telling people (as I do, over and over) that you don’t use Twitter or Facebook is more than a little like telling people how you don’t watch television.

(I did this too, over and over.)

I was going to find a pithy way to put it (“saying I don’t use social networking is the ‘I don’t watch TV’ for our times”, perhaps) and tweet it. Then I thought better of it.

you can lead a horse to water but you can’t stop him from bumping his head on branches bearing low hanging fruit

william shakespeare

She should have died hereafter;
There would have been a time for such a word.
— To-morrow, and to-morrow, and to-morrow,
Creeps in this petty pace from day to day,
To the last syllable of recorded time;
And all our yesterdays have lighted fools
The way to dusty death. Out, out, brief candle!
Life’s but a walking shadow, a poor player
That struts and frets his hour upon the stage
And then is heard no more. It is a tale
Told by an idiot, full of sound and fury
Signifying nothing.

(I had this post private for years. I can’t remember why, although to be sure sure it isn’t the most original passage to quote.)

I think I’m more of a Carl Phillip Emanuel kind of guy than a Johann Sebastian kind of guy.

off yer bike: a follow up of sorts

Long ago I wrote

What I wrote there still, in my opinion, sound advice. Since then, however, after a frustrating period where I was getting flats every two or three weeks, I changed my tires to Schwalbe Marathons. In addition to being far more puncture resistant, these tires are also slightly smaller. As a a result, my bike is much easier to fold than it had been.

In spite of making my bike slightly slower, the Marathons were a worthy upgrade, all the more so because it’s easy to fold again.

Here, Off yer bike explains another workaround, this one requiring tools. But it looks pretty easy to carry out.

M-x kill-rectangle-as-text

Emacs includes some interesting functionality for dealing with rectangular regions of text. But I’ve long felt as though it were only half-complete — there are many useful things that you just can’t easily do with them, such as selecting a rectangle and adding it to the kill ring in such a way that you can later yank it as though it were regular text.

It’s possible, though, if you know how, and fortunately a kind person on freenode helped me to figure out how.

;; via xtreak on freenode
(defun youngfrog/copy-rectangle-to-kill-ring (start end)
  "Saves a rectangle to the normal kill ring. Not suitable for yank-rectangle."
  (interactive "r")
  (let ((lines (extract-rectangle start end)))
      (while lines ;; insert-rectangle, but without the unneeded stuff
        ;; (most importantly no push-mark)
        (insert-for-yank (car lines))
        (insert "\n")
        (setq lines (cdr lines)))
        (kill-ring-save (point-min) (point-max)))))

(defun kill-rectangle-as-text (b e)
  (interactive "r")
  (progn (youngfrog/copy-rectangle-to-kill-ring b e)
  (delete-rectangle b e)))

Then you can select a rectangle as usual and say M-x kill-rectangle-as-text. Later you can C-y as usual.

The elisp looks horrible here, but it looks much better in this gist.