If you don't speak Spanish ignore what follows.

s/evento/acontecimiento/. Por favor.

(En el evento que lo de que hablas sea un evento sigue usando evento.)


I like emacs.

Here's some emacs lisp I whipped up yesterday. It helps out when running quilt against new .spec files on old systems. It's a bit crude, but so far it's proven quite the little timesaver -- it's certainly already repaid the 10 minutes I put into writing it.

;; Temporarily comment out %gconf_schemas_prereq, %lang_package,
;; %files lang, etc.
;; Useful when using quilt setup. Don't forget to save. You can
;; undo this with M-x ab-undumb-down-spec.
(require 'cl)
(setf replacements '(("^%gconf_schemas_prereq"
("^%files lang"
"# FILES LANG" "%files lang")

(defun ab-dumb-down-spec ()
(let ((old-pnt (point-marker)))
(progn (mapcar (lambda (arg)
(progn (beginning-of-buffer)
(replace-regexp (first arg) (second arg))))
(goto-char old-pnt))))

(defun ab-undumb-down-spec ()
(let ((old-pnt (point-marker)))
(progn (mapcar (lambda (arg)
(progn (beginning-of-buffer)
(replace-string (second arg) (third arg))))
(goto-char old-pnt))))

Adding new pieces of text to replace and unreplace is easy: add a list containing a regular expression matching the text to destroy, a(n ideally) unique temporary replacement, and the original text to replacements. I use a regexp in the cars in case there's the same text elsewhere, which I wouldn't want to change.

Now I visit a .spec file, run M-x ab-dumb-down-spec, do quilt setup whatever.spec and other quilty things, and then revisit the .spec and do M-x ab-undumb-down-spec prior to doing actual builds.

(By the way, the meat of this post was created by setting a region around this chunk of lisp and running M-x htmlize, although it looks like blogger is eating the colors.)


136 years of solitude

/dev/sda2 has gone 49680 days without being checked, check forced.


back home

I arrived uneventfully in Mexico City last night. Was good to see my wife and cats again. Alma bought a bunch of plants during my absence. They make the apartment feel a little nicer somehow.

I got stuck in an extra small seat from CDG to MEX -- there was a big metal box under the seat in front of me bolted to the floor and occupying about 1/3 of the "legroom". At 193cm tall, I find all seats cramped, but this was ridiculous. Ridiculously uncomfortable, that is.

Being back at home is like stepping into a pair of old, comfortable shoes.


in Germany

I'm in Germany. I haven't been having a great time, though. I felt really sick a day after I arrived, and although I've been feeling steadily better since, my recovery has been quite slow. At least I'm able to eat and enjoy food (assuming it's edible and enjoyable, of course, which most of it is) again, although I get full quickly and stay full for a long time.

Seeing people whom I mostly know as email addresses and IRC nicks has been productive and nice, of course. That's the real value in this sort of trip.


off to Germany

I'm off to Germany in a few hours, to meet and work with colleagues in N├╝rnberg. I'm looking forward to my time there, even if the flight itself will be more than a little unpleasant.

Pork, potatoes, cabbage, and beer, here I come!

think small

Mauro and I have created language subpackages of most gnome packages that will be going into openSUSE 10.3.

Since I was touching so many packages anyway, I've made the install process of virtually all gnome packages call fdupes. Second (and third and fourth and ...) duplicate files in the install root are converted to symlinks to the first. For some packages, this is effectively a no-op, but now it's done nearly everywhere and will help with keeping packages lean and mean in the future.

Both of these changes should result in a nice size reduction, which is especially sweet given that they don't cost anything in features or performance.