Migration, URL poll, and comments

This coming weekend, I’ll be migrating the weblog to Movable Type.
Blogger has been a great way to get started quickly, but I always wanted the opportunity to play around with the form and the tools, and Moveable Type is more open.
Does anyone have an opinion about whether to go with http://www.alevin.com/bookblog or http://bookblog.alevin.com? Please send comments, or, if the comments engine is off, send me email at alevin [at] alevin [dot] com. For the curious, those urls don’t have anything there yet, and alevin.com just points you back here 🙂
By the way, I’ve turned the comments feature off for the last few days because enetation has been struggling to keep up with the server load. I hope that Rob is able to get enough money to keep the servers up and running because it is a very useful service.

More email/weblog discussion

In the conversation over at O’Reilly, Giles Turnbull writes that he simulcasts his mailing list as a weblog.
I like this idea, though my personal preference is the inverse of Giles; I try to keep the number of inbound mailing lists down to a critical few, and prefer going out and browsing a wider variety of blogs and list archives. Keeps the inbox cleaner and the guilt level down.
I was planning on writing a utility to generate an email version of the blog once the site goes live with Movable Type. The added wrinkle is that I want to set up the lists by topic, so people can subscribe to posts on personal updates, or complex systems, or technology, or politics.
In the weblog, Giles has an interesting proposal for a service that would convert mailing lists to newsfeeds and back, along the lines of Aaron Swartz’ rss2email utility, but operated as a web service accessible to non-hackers.
Nice idea, but vulnerable to the type of performance woes that afflict popular free services.

Email-to-Movable Type

This weekend I wrote a small Python program to post entries to MovableType via email. I used Mark Pilgrim’s Python wrapper for the Blogger XML-RPC API, PyBlogger, and Mark Lutz’ examples of Python email programming. The ‘mailblog’ pulls mail from a pop3 email address used only for blog posting. The script also works to post to Blogger, but Blogger Pro already has the feature.
Benefits:

  • Post via email is the one indispensable feature that Blogger has and MT doesn’t
  • Mailblog lets you address an email post with a friend in the to: field and the blog email address in the bcc: field. Can’t do that with the Blogger feature. This exactly duplicates the intent I have in publishing the blog, which is to share with more people things that I was already writing via private email, without committing spam.
  • Drawbacks:

  • Need to manually trigger the script to pull the email into the CMS. This is not a big drawback. In some ways it’s more convenient than the blogger implementation, which apparently works by polling the mail server ever 5 minutes, so email posts take a while to show up. The “blogmail” script generates the post instantly. I could avoid the manual step by writing a server-side procmail script to instigate the post when the email is received. But first I need to learn procmail.
  • Pyra hasn’t yet published the API for the title field, so email posts need to be titled manually. MT doesn’t complain.
  • What I learned:

  • Mark Pilgrim’s PyBlogger is lovely. Written for other people to read and use, not just for the computer to interpret. The code is clear, the variables are words, and the comments/inline docs are lucid and unambigous. Docs and comments so often contain grammatically correct English sentences with more than one possible logical meaning.
  • PYTHONPATH. The biggest stumbling block was figuring out how to include files that lived in faraway directories. Mark Lutz’ directions and the PythonWin IDE were unclear. Fortunately for my self-confidence, numerous others have described the topic as confusing, including the esteemed Python guru, Tim Peters. The polite way to do this is add references to the required files in the header of your program, in this manner: sys.path.append(‘C:\\Program Files\Zope\lib\python’).
  • Austin Blog Meetup

    Went to the Austin Blog MeetUp tonight. It was good to meet fellow bloggers; Kathryn, Adam Rice, Prentiss Riddle, David Nunez.
    There were several interesting conversational threads….
    * On blogging and personal disclosure. We talked about Mark Pilgrim’s
    moving blog-published story of addiction and recovery, which got him
    fired from one job and hired at the next, and about Kathryn’s experience
    with friends who reacted very badly to blog entries causing a conflict
    that hasn’t yet been resolved.
    As for my thoughts on the topic: I am not much of an exhibitionist. Part
    of this is wimpiness; I don’t want to write things that I wouldn’t want
    potential employers to read. Part of it is concern for you, the reader;
    my private fears, worries and doubts are compelling to me, but I don’t
    imagine they would be interesting to anyone I don’t know in real life.
    Part of it is a desire for security: it feels safer to share personal
    stories, in person, with people I know well and trust.
    * On maintaining social norms in online community. There seems to be a
    continuum starting with small discussion groups where people use their
    own names, in which people maintain face-to-face social norms; to larger
    mailing lists, where people sometimes flame, but social norms can keep
    misbehavior in check; to large forums that use automated tools to help
    implement social norms (SlashDot moderation); to large, anonomyous
    forums which devolve into incoherent hostility (Usenet, Yahoo messages).
    * On blogging and community. We talked about using comments and log
    reports to get a sense of feedback from blogging, and brainstormed a
    couple ideas to increase blog-related community. It would be wildly cool
    to be able to aggregate blog comments into a distributed threaded
    discussion. I was thinking about how to implement this last weekend; and
    found that that the MoveableType crew is working on it. It should be
    some combination of talkback and RSS syndication/aggregation. That way,
    people who happened to be reading the same book at the same time could
    share a conversation. Prentiss suggested a sort of LivePerson IM for
    blogs; where a reader could click a “talk to the blogger” button and
    chat. That would need to be implemented with IM-style controls:
    invitations to indicate to readers when the blogger was available, and
    “keep out” features to repel antisocial visitors, so that a “hey baby
    wanna” visitor would go away instantly and permanently.
    * On Moveable Type and CSS. Adam kindly explained some subtleties of
    about using CSS elegantly to support the structure of your information.
    I spent last weekend learning basic CSS, and plan to spend some time
    this weekend playing with MoveableType, the better to categorize the
    blog for people who are interested in some topics much more than others.
    * On MeetUp. The revenue model for MeetUp is to make referral fees from
    the venues where people meet; so MeetUp suggests a ballot of places to
    meet, and visitors vote. This time round, MeetUp suggested a Starbucks,
    a bowling alley, and a video arcade. Not as bad a ballot as “Saddam
    Hussein”, or “slow, painful death from torture”, but still not great.
    Two venues wholly unsuitable for the group, and a chain coffeeshop in a
    city with plenty of fine independents. Hopefully, MeetUp will accept
    suggestions for independent businesses.
    Despite the flaws in the venue selection, it was a good and useful
    service; helped people find each other based on a common interest, and
    automated some of the labor-intensive aspects of organizing a meeting,
    like sending out reminders, with location, address and phone number.
    What with the dot.com bust, people downplay the internet; but there are
    plenty of ways still that the internet provides helpful new tools for
    people to connect and the interenet.
    And a couple of reflections on the meeting.
    * You know you’ve been in Austin too long when the weather is perfectly
    pleasant (mid-60s), yet you go out underdressed.
    * MeetUps need colored table tents to attract people who don’t know each
    other. Prentiss and Kathryn, and Adam and I met separately, and we
    didn’t meet each other until David Nunez showed up, whom I recognized
    from EFF Austin.
    * I know better than to have caffeine at 9pm. It was cold outside, and they
    were out of decaf, so I ordered a chai latte for the warmth, and it’s 2am now.