99% Chimpanzee - 1% Human

Thu, 30 Sep 2004

Quadriceps Strain

Tonight, I lasted all of one-and-a-half innings. Was fielding a center field hit when both quadriceps went south. Pain pain pain. I was able to walk around in the outfield for the rest of the inning, though, barely.

My at bat scored us one run, but I could barely make it to first, and had to have a substitute runner for the rest of my play. Soon after, Amber took me home to a hot bath, Icy Hot, Gentleman Jack and a heating pad (all, by the way, is strictly verboten for this type of injury).

Tonight, I've added a few Lisp blogs to my subscription. People I've read about and seen around in quite a few different fora:

I'm excited to be learning Lisp again (it's about time again), and I've got two systems to play with: OpenMCL and SBCL. Both seem to integrate nicely with Emacs via Slime, and both seem to work with Uncommon Web.

[22:59] | [/play] | [#] | [G] | [Comments: 0]
When Reels Attack

When_Reels_Attack

Last night Amber and I attended the Seventh Annual Attack of the 50-foot Reels presentation by the Richmond Moving Image Co-Op. Premise is simple: sign up and get one 50-foot reel of 8mm film (about 3 minutes), shoot it, editing only in-camera, and turn it in. No one gets to see the results until the festival in the fall.

Last year, the results excited us enough to want to participate (which we did not do), and this year was no less exciting. I'm not certain that we'll participate next year, but thinking about it is awful fun.

[09:15] | [/play] | [#] | [G] | [Comments: 0]

Tue, 28 Sep 2004

A Blast from the Past

Amber and I spent a year in Key West, Florida working at Subtropic Dive Center. They take photos of the passengers and post them to the web. Since the photos are such low resolution, they keep them forever. We just dug through and grabbed all we could find with us in them, as well as some with friends and coworkers. They're in chronological order (September 1998 - August 1999).

Sep02_03 Sep19_50 Oct12_06a

Oct22_18 Oct22_22 Nov20_10

Nov24_06 Nov24_11 Jan11_07

Jan15_10 Feb12_25 Feb16_11

Feb19_10 Mar01_12 Mar01_26

Mar08_04a Mar08_06a Mar13_22

Mar21_26 Apr12_09 Apr12_10

Apr12_16 Apr15_07 Apr17_04

Apr22_41 Apr22_43 Apr24_11

May23_15 May30_34b Jun25_01a

Jun25_03a Jun25_05a Jul08_17a

Jul20_05a Aug11_06a Aug13_08b

[23:13] | [/home] | [#] | [G] | [Comments: 0]
Some Recent Pictures

This is a composite I made from several pics of our bathroom. I was so happy to get all the tile down. Now we still have to grout it, but the worst is over. I hope.

Bathroom Tile

Some photos from recent life:

DSCN2656 DSCN2853 DSCN3201 DSCN3278 DSCN2729 DSCN2966 DSCN3209 DSCN3291 DSCN2813 DSCN3183 DSCN3250 DSCN3310

[21:34] | [/home] | [#] | [G] | [Comments: 0]
Situated

The transition was surprisingly simple. The things I had feared the most about moving to a non-Zope system (or at least, a non-ZODB system) are absolutely non-issues with PyBlosxom. The biggest hangup I had with other systems was their reliance on an RDBMS, which I feel I've kinda gotten over since working with Zope/Python. PyBlosxom doesn't at all. All the content resides on the filesystem as plain text files, even the comments.

This was the direction I found myself headed as I was refining just what I wanted my home-grown system to do. With the ZODB, we strive so hard to make the object database mimic a filesystem. For something like this, why not just use it?

PyBlosxom supports (through its plugin architecture) reStructuredText as an entry formatter. I had planned on using reST as the basis for all my entries in my homegrown system. One more reason to just use PyBlosxom. At this point, I think I'll pass on writing my own system (at least for the foreseeable future).


Because it's such a simple setup, I've got my entire PyBlosxom site replicated here on my PowerBook, and when it's time to publish, I just rsync my web directory to my server. I don't even have to use Hobo. Since I'm running Apache locally, I can even vet the whole system before publishing. I had to make some slight changes at the top of my config.py:

import os

host = os.uname()[1]
bits = { 'fbyc.net' : { 'web_dir' : '/home/urbanape/html',
                        'base_url' : 'http://www.urbanape.com' } }

web_dir = bits.get(host, {}).get('web_dir', '/Users/zbir/Sites')

These let me do things like this:

# Plugin directories:
# You can now specify where you plugins all lives, there are two types
# of plugindirectories, the standard pyblosxom plugins, and the xmlrpc
# plugins.  You can list out as many directories you want, but they
# should only contain the related plugins.
# Example: py['plugin_dirs'] = ['/opt', '/usr/bin']
p_dir = "%s/cgi-bin/plugins" % web_dir
py['plugin_dirs'] = [p_dir]

# Where are this blog's entries kept?
py['datadir'] = "%s/blog" % web_dir

# Where should PyBlosxom log files be kept?
py['logdir'] = "%s/log" % web_dir

# What should this blog use as its base url?
py['base_url'] = bits.get(host, {}).get('base_url',
                                        "http://localhost/~zbir")

So that I don't have to change anything else about the system. I can rsync the entries, flavors, comments, and images and have exactly the same setup on my PowerBook. Very keen.

My Apache configuration directive on the PowerBook is contained in /etc/httpd/users/zbir.conf:

<Directory "/Users/zbir/Sites/">
  Options Indexes MultiViews
  AllowOverride None
  Order allow,deny
  Allow from all
</Directory>

Alias /~zbir/images/ /Users/zbir/Sites/images/
ScriptAlias /~zbir/ /Users/zbir/Sites/cgi-bin/pyblosxom.cgi/

The VirtualHost directive on the server is similar:

<VirtualHost 8.7.96.33:80>
  ServerName www.urbanape.com
  ServerAlias www.urbanape.org
  ServerAlias urbanape.com
  ServerAlias urbanape.org
  ErrorLog logs/www.urbanape.com-error_log
  CustomLog logs/www.urbanape.com-access_log common
  DocumentRoot /home/urbanape/html
  Alias /images/ /home/urbanape/html/images/
  ScriptAlias / /home/urbanape/html/cgi-bin/pyblosxom.cgi/
  RewriteEngine On
  RewriteLog "logs/www.urbanape.com-rewrite_log"
  RewriteLogLevel 1
  RewriteRule ^/rdf10_xml /index.rss [P]
</VirtualHost>

That last rewrite rule is to support feed subscribers that are subscribed to my old blog's feed. This way, they'll continue to work.

Lastly, to perform the actual synchronization, I wrote a dead-simple shell script, called sync_blog:

#!/bin/sh

RSYNC='/usr/bin/rsync -urvz -e /usr/bin/ssh'
BASE_LOCAL='/Users/zbir/Sites'
BASE_REMOTE='urbanape@urbanape.com:/home/urbanape/html'

echo 'Synching blog entries and templates... ' && \
    $RSYNC $BASE_LOCAL/blog/ $BASE_REMOTE/blog/

echo 'Synching images... ' && \
    $RSYNC $BASE_LOCAL/images/ $BASE_REMOTE/images/

This forces the sync from the PowerBook to my site. I still need to see whether/how this will affect comments. I don't believe it will, but it's worth testing.


After a brief look into static rendering of the site, I think I'm going to pass for the time being. It seems to prevent commenting. I'm looking for more information/example configurations that allow periodic static rendering, while still allowing for dynamic commenting.

[21:34] | [/home] | [#] | [G] | [Comments: 0]
Fresh Start

So, I'm trying to make a fresh start. For the longest time now, I've been piddling away at trying to write blog software from scratch. It was going to be everything I needed from such software. I would write my entries in Mail, and they'd be sucked into a ZODB storage. The front-end would be easily templated in either Zope (2 or 3, it's gone through several iterations) or Twisted and Nevow (I'm still leaning in this direction), but practicality won over ambition. Time stretched out longer and longer between posts. There's so much going on right now that I've wanted to get out, but I've been so stubborn trying to get the system down first. I realized today that I'd rather write about my life than write software to write about my life.

So, I'm trying PyBlosxom, a Blosxom clone written in Python. While I'll maintain an interest in writing the software I want to use, it seems at least easy enough to get going.

I tried writing my entries with MarsEdit, a blog editor by Brent Simmons, of NetNewsWire fame. I'd been beta testing NetNewsWire 2.0, and MarsEdit is the blogging tool that was previously bundled in the software. Unfortunately, it doesn't play well with PyBlosxom, so I'm using my trusty text editor, Emacs with Hobo.

So much has been happening in the past several months since I've been blogging. Some quick recaps follow, from most recent to least.


I've just turned 31. My wonderful neighbors, friends, and family have loaded me up with presents:


I've joined a softball league. Right now I'm playing an outfield position, and I've gotten 6 R.B.I.s. We absolutely crushed the other team our second game, 13-2. Strangely enough, I don't feel nearly as out of shape as I feared I would.


Our upstairs renovation is coming along nicely. By year-end we will have gone from a two-bedroom, one-bath Cape Cod to a four-bedroom, two-bath dream palace. Our upstairs master bathroom will have a six-foot-long claw-foot bathtub, two pedestal sinks, one commode, and an eight-foot-by-four-foot shower with twin showerheads. So far, we've got the paint on the walls in the office, master bedroom, and walk-in closet, and the tile down on the floor of the bathroom proper. I laid all the tiles by hand, and poured the cement for the shower pan. Next up is finishing the shower area with Hardibacker and tile, and laying red oak tongue-and-groove hardwood flooring all throughout the upstairs. Then we'll pass plumbing and final inspection and can move in.


Amber and I took our summer vacation sailing for a week in the British Virgin Islands aboard a Sunsail Charter. She used to work for Sail Caribbean, who now charters with Sunsail, and we had a discount for their twenty-fifth anniversary. It was incredible. Ten days aboard a fifty-foot sailboat was just heaven. We spent quite a lot of time at the Baths on Virgin Gorda, secluded in Savannah Bay, snorkeling in the Caves on Norman Island, and partaking of too much rum.


I'm hoping that the ease of writing entries (even if in an interim fashion) will enable me to keep my friends up-to-date while I pursue my ideal goal of a home-grown blogging system.

[21:33] | [/home] | [#] | [G] | [Comments: 0]
September 2004 >
SuMoTuWeThFrSa
    1 2 3 4
5 6 7 8 91011
12131415161718
19202122232425
2627282930  
Latest Software
Flickr
www.flickr.com
This is a Flickr badge showing public photos from urbanape. Make your own badge here.
Categories
all: (159)
  home: (36)
  play: (87)
  software: (32)
  work: (4)
Archives
On Tap
On the Nightstand
Douglas Hofstadter's Gödel, Escher, Bach: an Eternal Golden Braid
Syndication