Monthly Archives: April 2009

Announcing A New Ning Community: Compiler Experts

I have just created a new community at Ning, Compiler Experts. This is intended to provide a web presence for members of the LinkedIN Group Compiler Experts.

I have set the privacy settings to be fully public. Any interested party is invited to join. Anyone can view the content.

I created this community in part so I could poll fellow members about assembly language programming skills.

I am presenting a talk at the next meeting of MHVLUG, the Mid-Hudson Valley Linux User Group. The talk will be at 6:40PM on May 6th, in Poughkeepsie, New York: Lost Art of Programming in Assembly Language.

I will post the content of the talk once I have written it. I also plan to record the presentation with a new digital video camera I got for fifty dollars at Radio Shack.

I first tried out the camera this morning when I used it to record an installation of kubuntu 9.04 for amd 64 bit. I’ll post that when time permits.

links for 2009-04-29

On Programming: Writing a Python Program to Help Win an Election

I am a candidate for election to the Board of the Chappaqua, New York, library.

As part of my campaign I was asked to prepare short statements, including why I should be elected.

I have written over 900 blog posts to date, and so wanted to prepare a list of the ones that mention libraries.

Just yesterday I finally got around to writing the first Python program in what I call the “WordPress Blogger Toolkit.” The toolkit is a set of programs for working with the WordPress “export” xml files that let you download your blog as an xml document.

I will publish that program shortly in a separate post. I needed to compile the list by the end of business today, so I adapted the program to search all my posts for those that contain the string “librar,” which is found in both “library” and “libraries.”

The result of running the program can be found in my previous post: My Writings on Libraries: February 2006 to April 2009

<a href=";My Writings on Libraries: February 2006 to April 2009

Here then, the code:

# - write list of links to the posts in a wordpress blog
# containing a specified string
# Copyright (C) 2009, David Shields
# Licensed under "License Dave Shields for Software",
# Usage:    python -s seek exportfile
#   Read wordpress xml export file and write a list of links to all
#   its blog posts containing the specified string to standard output.
#   All the posts are written if the string is empty.
# Released 29 April 2009

import codecs
import string
import sys
import xml.sax

subject = "fdaveirst"       # desired string
trace = True                # set to get debug output

class Handler(xml.sax.ContentHandler):
    count = 0               # number of posts
    elements = 0            # number of elements
    found = False           # set when post contains instance of seek
    posts = {}              # map from post number to its link
    seek = ""               # desired string
    seeking = True          # True when seeking a match, this is set False if one found in a post
    tags = {}               # map from tags to list of number of posts with the tag
    tags_this = set()       # set of tags for current post
    url = ""                # post url
    title = ""              # post title
    within_title = False    # set when processing title
    within_url = False      # set when processing url

    def __init__(self, string): = string.lower()
    def characters(self, data): = data
        if self.within_title:
            self.within_title = False
        # see if subject occurs in this block of data
        if self.seeking:      # look for instance if haven't yet seen one
            data_lower = data.lower()
            if data_lower.find( >= 0:
                self.found = True
                self.seeking = False
        words = string.split(data)
        if len(words) > 0:
            word0 = words[0].lower()
            words = words[1:]
            word0 = None
    def endElement(self, tag):
        if tag == "description": # this tag follows the title, the link and the content elements
            if self.found and self.url.find("200") >= 0: # post contains year, otherwise have static url
                line = '<a href="' +  self.url + '">' + self.title + '</a>'
                self.posts[self.count] = line
                if False and self.tags_this != None and len(self.tags_this) > 0: # suppress for library list
                   tag_list = list(self.tags_this)
                   for t in tag_list:
                       line = line + " tag:" + t
                line = line + "\n\n"
                except UnicodeDecodeError:
                    print "unicode decode error ", line
        elif tag == "link":
            self.url =
        elif tag == "title":
            self.title =
            self.within_url = True

    def getElementCount(self):
        return self.elements

    def getPostCount(self):
        return self.count
    def startElement(self, tag, attributes):
        self.elements = self.elements + 1
        match = False
        if tag == "category":
            tag_name = attributes.get("nicename")
            if tag_name:
                if self.tags_this == None:
                    self.tags_this = set()
                if tag_name != None and tag_name not in self.tags_this:
        if tag == "title":
            self.count += 1
            self.found = False
            self.seeking = True 
            self.title = ""
            self.tags_this = set()
#            self.url = ""
            self.within_title = True
            self.within_url = False
name = sys.argv[1]
parser = xml.sax.make_parser()
handler = Handler("librar")
file = sys.stdin
xmlfile = + ".xml", "rb", "utf-8")
txtfile = + ".txt", "wb", "utf-8")

BUFSIZE = 8192

word_count = 0
data_length = 0

while True:
    data =
    data_length += len(data)
    words = data.split()
    word_count += len(words)
    data = data.encode('utf-8')
    if not data: break

if trace:
    print "data:     ", data_length
    print "posts:    ", handler.getPostCount()
    print "elements: ", handler.getElementCount()
    print "words:    ", word_count
except xml.sax.SAXException:
    print "exception after ", feeds, " feeds."

My Writings on Libraries: February 2006 to April 2009

I have prepared the following list of my blog posts about libraries as part of my campaign for election to the Board of the Chappaqua Library:

TWWP Puzzler: Name The U.S. Presidents Known To Have Made Use of The Library of Congress

On Open Content: Libraries Shun Deals to Place Books on Web

An Authoritative Opinion on Libraries and Authoritative Opinions

On Libraries: The Ernie Pyle Memorial Home/Library

On Libraries: The Library of Temple Beth El of Northern Westchester

On Libraries: On Searching for the Meaning of “Sabbath Kristallnacht”

Thomas J. Watson Library: The Gates of Paradise

On the Authority of Librarians

Technology and the Library

Promoting Open Technologies in Libraries

Talk to CUNY Librarians: Trip Report

terraputer xo-laptop xo-library: Cataloging the Internet/Web Using the XO Laptop

Followup from Steve Ovadia on the CUNY Librarians Presentation

What the Blank is Wrong at the Chappaqua Library?

Announcing the Jacob T. “Jack” Schwartz Memorial Library

Dave Shields’s New Job: Under Assistant East Coast Library Man at the Jacob T. Schwartz Memorial Library

On Starting a Library: Unpacking the Books – Audio

Statement by Dave Shields as a Candidate for the Board of Directors of the Chappaqua Library

WordPress Quick Edit Mode Is Great

I just started to add “tags” to all my posts. I’ve published over nine hundred to date, and so expected this would take some time.

I decided to use WordPress “Quick Edit” mode to see what it does, and within a minute or so discovered that I wish I had tried it sooner.

Quick Edit lets you edit a published post inline. It is very easy to add tags.

Thanks WordPress!

Keep up the good work.

links for 2009-04-28

Statement by Dave Shields as a Candidate for the Board of Directors of the Chappaqua Library


I have been self-supporting since 1963. I made programming my profession in 1965. I spent most of my working career at New York Unversity and IBM Research, doing research programming, mainly in compilers and programming tools.

I am now an independent computer software professional, specializing in open-source:


B.S., Mathematics, California Institute of Technology

Ph.D., Computer Science, Courant Institute of Mathematical Sciences, New York University

Interests / Community Involvement

Assistant soccer coach for one year

Baseball coach, Babe Ruth league, one year

Assistant scoutmaster for Troop2 in the 90’s

In process of joining Chappaqua Rotary Club

Supporting a scholarship fund in honor of SSgt. Kyu Hyuk Chay, whose name was added to our War Memorial in May, 2007:

Number of years in Chappaqua: 22 this July

How often do you go to the library? At least once a week

How many library board meetings have you attended? None

What experience and skills do you bring to this position?

I am a lifelong reader. We had no car until I was fifteen, so I spent much of my childhood in the Ernie Pyle Memorial Library in Albuquerque, New Mexico.

I have been an active volunteer for over three years, writing over 900 posts. I combine my desire to help our
educators and librarians in their vital mission with my interest in teaching computer programming skills to high-school students, in the hope of attracting them to a career in computer science, engineering, mathematics, medicine, and allied fields.

Here are some of my writings about education and libraries, especially:

See also, in the order written:

What are the main issues you would address?

Our library has a director and staff that are as dedicated as they are skilled. I will not meddle.

Ignorance is the most unnatural of maladies. It is the work not of nature, but of man.

The only cure for ignorance is education. Just as hospitals treat disease, we attempt to prevent ignorance by the education we provide in our schools.

Our librarians are both educators and the custodians of our past — the guardians of all the knowledge that mankind has created.

I want to try to use some of my computer expertise to help make our library even better.

I will also do what I can to see that our librarians get more of the respect that is their due.

Classmates Shows More Class : Highland High School, Albuquerque, New Mexico

I joined Classmates several years ago. I was able to link up with one of my classmates from the Class of 1962, Highland High School Class, Albuquerque, New Mexico, but it petered out after only a couple of emails.

Soon thereafter I found Classmates to be a constant source of email of a very spam-like nature, and so I ignored the site for the past few years.

I recently found myself back at the site courtesy of trying another site that said it would help my find my fellow HHS alums. The site redirected me to Classmates. I took a look and found the site much improved, so I took the plunge and signed up for a trial membership.

There are now several hundred people who attended HHS in the same period I did, 1959 to 1962. I have connected with several of them. Just seeing some of the names of my fellow alums has brought back some fond memories.

I was last in ABQ in late 1982 for my mother’s funeral. My first trip back will be around June 20th, when I will return for several days to attend the wedding of the son of a close friend, and I hope I’ll be able to meet some of my fellow alums in person.

Highland High School, Home of the Hornets, was a great school when I was a student. It had a very diverse population then, and I find it still does. According to the Wikipedia entry Highland High School (Albuquerque, New Mexico):

Highland High school has a very diverse population with students from many cultures and all socio-economic backgrounds. Many foreign exchange students also attend the school each year. The school has a strong International Students Club that produces an annual Multicultural Assembly that showcases performance arts from the various cultures represented at Highland and is performed by both students and staff members.

The Wikipedia article also speaks of HHS, television and the movies:

Highland High School is the basis of the Highland High in Beavis and Butthead, as creator Mike Judge grew up in Albuquerque.

A number of movies and TV shows have been filmed at Highland including Doubting Thomas, starring Taylor Gilster as Pickleman, a nice little boy who ends up falling in love with his pet rock, and the pilot episode for Terminator: The Sarah Connor Chronicles.

I also learned in the article that HHS “operates out of the oldest school building in Albuquerque.” Nearby is another old building, the Hiland Theater.

My mother worked for the local movie chain from 1950 to 1955 or so. I was fortunate in that I could attend any movie for free, just by signing my name. During those years I met many of the theater managers, notably Blanche Hatton and Joe Abouzleman. I first met Ms. Hatton when she was manager of the Lobo Theater, which was within a ten minute walk of our house. She was later manager at the Hiland, as did Joe. Joe later ran a former Dairy Queen in the Nob Hill district on Route 66, where he made the best hamburgers I have ever had. My mother and I dined there often during my years at HHS, since we both worked: she at Sandia Labs, and I at a small company called Teaching Machines Incorporated (TMI).

It was at the Lobo that in the early 1950’s that I saw almost all the wonderful comedies starring Alec Guiness, including Kind Hearts and Coronets (“I shot an arrow into the air, it fell somewhere in Grenville Square”) , Lavender Hill Mob (the first movie appearance of Audrey Hepburn, as a waitress in a Brazilian nightclub), The Captain’s Paradise (with the famed rotating picture of the wives), and my all-time favorite, The Man in The White Suit, a cautionary tale on the unforeseen consequences of technological innovation, and the source of two of the great sounds in cinema — the sound made by the machine invented by the hero of the tale (played by Alec Guiness) and one of the sexiest voices ever, that of Joan Greenwood

I also there saw the darker The Ladykillers, as well as one of Guiness’s great performances, that of Herbert Pocket in Great Expectations, perhaps the best movie based on the work of Charles Dickens.

The Hiland was built by Joe Barnett, a legendary figure in the early days of New Mexico. His protoge, Frank Peloso, managed his estate and many of his holdings. He was president of the theater chain, and my mother admired no one more than him.

Frank Peloso was a man of immense integrity. My mother died suddenly in December, 1982, just a few months after retiring. I invited Mr. Peloso to come to the funeral. Even though my mother had last worked for him almost twenty years earlier, he came to the funeral. While there, I asked for his help settling the estate, and he directed me to the firm of Keleher & McCloud. I was familiar with the name since the Keleher stood for William Keleher, who was not only an attorney but a historian of the first rank. He was the author of the classic Violence in Lincoln County, 1869-1881. The most notable incident of the violence was the shootout in which Pat Garrett killed Billy The Kid.

Because of Mr. Peloso’s reputation, I met with a senior partner in the firm, Mr. Keleher’s son. He directed me to another attorney in the firm, who handled the estate with great dispatch and at a modest cost. I remain grateful to this day for their help in those troubling days.

Thanks for cleaning up your act, Classmates. You have shown some real class.

  • Pages

  • April 2009
    M T W T F S S
    « Mar   May »
  • RSS The Wayward Word Press

  • Recent Comments

    dave porter on On being the maintainer, sole…
    daveshields on On being the maintainer, sole…
    Paul Tallett on On being the maintainer, sole…
    mrrdev on On being the maintainer, sole…
    KT on On being the maintainer, sole…
  • Archives

  • Blog Stats

  • Top Posts

  • Top Rated

  • Recent Posts

  • Archives

  • Top Rated