George V. Reilly

Preparing Bloomsday Scripts

Bloomsday is less than three months away and the Wild Geese Players need to start rehearsing soon. I made a start on the script at the end of January, but didn’t pick it up again until today.

Three years ago, we completed Ulysses, having started in 1998. Two years ago, we started over, reading chapters 1 and 4 in­ter­leaved. In Chapter 1 (Telemachus), Stephen Dedalus arises in the Martello Tower at Sandymount and feuds with Buck Mulligan. Chapter 4 (Calypso) takes place at the same time as Chapter 1, wherein Leopold Bloom breaks his fast.

Last year, we in­ter­twined chapters 2 and 5. Chapter 2 (Nestor) takes place at the school where Stephen teaches; he continue.

Caucus 2016

The Washington state Democratic Caucus was held today. The final totals aren’t in yet but Bernie Sanders beat Hillary Clinton by a nearly 3:1 margin around the state. Our own precinct, SEA 11-1945, had Sanders 41, Clinton 26, Undecided 2. That translates to 4 Sanders delegates and 2 Clinton delegates in the next level of caucusing.

Emma and I both voted for Sanders. We believe that Sanders represents much-needed change in the party and in the nation. Clinton is un­doubt­ed­ly one of the most qualified candidates ever, with an ex­tra­or­di­nary résumé and a high degree of competence. She’s also too tied to the status quo for my liking.

However, unlike some Sanders partisans, we’ll readily continue.

Profiling

Despite being a bona fide per­for­mance expert—I spent a couple of years as the Per­for­mance Lead for Microsoft’s IIS web server product about 15 years ago—I still forget to measure rather than assume.

I wrote some code today that imported nearly 300,000 nodes into a graph from a 500MB XML file. The code was not par­tic­u­lar­ly fast and I assumed that it was the XML parser. I had been using the built-in streaming parser, cEle­ment­Tree iterparse. I assumed that using the lmxl iterparse would make the code faster. It didn’t.

Then I had the bright idea of tem­porar­i­ly disabling the per-node processing, which left only the XML parsing. Instead of handling 200 continue.

Raising IOError for 'file not found'

I wanted to raise Python’s IOError for a file-not-found condition, but it wasn’t obvious what the parameters to the exception should be.

from errno import ENOENT

if not os.path.isfile(source_file):
    raise IOError(ENOENT, 'Not a file', source_file)
with open(source_file) as fp:
    return fp.read()

IOError can be in­stan­ti­at­ed with 1, 2, or 3 arguments:

IOError(errno, strerror, filename)
These arguments are available on the errno, strerror, and filename attributes of the exception object, re­spec­tive­ly, in both Python 2 and 3. The args attribute contains the verbatim con­struc­tor arguments as a tuple.
IOError(errno, strerror)
These are available on the errno and strerror attributes of the exception, re­spec­tive­ly, in both Python 2 and 3, while the filename continue.

Mole Removal

I had a mole excised today.

I have a few moles on my body, mostly on my legs. My doctor has disliked the look of some of my moles for years. After my most recent annual physical, I went to see a der­ma­tol­o­gist a month ago. There was only one mole that she wanted to treat, low on my left calf. She took a biopsy, using a tiny little saw to peel the top layer off after the area had been numbed with a local anesthetic.

Before Biopsy

The results came back a week later. The mole was “abnormal” but not cancerous. It was rec­om­mend­ed that the rest be removed. The skin is tight on my lower continue.

PuPPy Startup Row Pitch Night

Last night, Adam Porad and I were one of five teams pitching our startups at the PuPPy-organized PyCon Startup Row Pitch Night:

Techstars Seattle and PuPPy [Puget Sound Pro­gram­ming Python] presents PyCon Startup Row Pitch Night. The time has come again for you, the members of PuPPy, to select Seattle’s startup rep­re­sen­ta­tive to travel to PyCon in Portland to represent our Python community and startup scene at the annual conference produced by the Python Software Foundation.

We were pitching MetaBrite and our technology that captures receipts, yielding receipt in­for­ma­tion to users and onsumer insights. We use Python ex­ten­sive­ly—we’ve written 120,000 lines of Python code for web services, web apps, machine learning, image processing, and scripting.

We continue.

Review: A.K.A. Jane

Title: A.K.A. Jane
Author: Maureen Tan
Rating: ★ ★ ★ ★
Publisher: Warner
Copyright: 1997
Pages: 319
Keywords: thriller
Reading period: 13 March, 2016

Jane Nichols, burnt-out MI5 agent and novelist, has gotten out of the Service, but she wants revenge on the man who caused the death of her lover. The target, Jim O’Neil, is a re­spectable busi­ness­man in Savannah, Georgia. Jane rents a room from the Savannah chief of police, sexy Alex Callaghan, posing as the novelist she is, so that she kill O’Neil. She gets tangled up in Callaghan’s serial killer case too.

En­ter­tain­ing, fast-paced thriller with a likeable and believable lead character.

Review: The Annunciate

Title: The Annunciate
Author: Severna Park
Rating: ★ ★ ★ ½
Publisher: Eos
Copyright: 1999
Pages: 294
Keywords: sf
Reading period: 10–13 March, 2016

Three people are nearly all that’s left of the elite “Meshed” caste. They stay one step aside of the hunters and live off the proceeds from making and selling the highly addictive “Staze”. They flee to a long-abandoned planet and discover a new lifeform, which takes over in both meatspace and the shared virtual reality, infecting the dreams of the Staze-addicted.

While there were some in­ter­est­ing ideas in this book, I didn’t enjoy it very much.

Review: The God's Eye View

Title: The God’s Eye View
Author: Barry Eisler
Rating: ★ ★ ★ ★
Publisher: Thomas & Mercer
Copyright: 2016
Pages: 417
Keywords: thriller
Reading period: 3–10 March, 2016

An NSA analyst spots a suspicious cor­re­la­tion between the NSA station chief in Ankara and a crusading journalist, and she reports it to the director of the NSA. The station chief promptly dies in a car crash and the journalist is abducted by Syrian terrorists, and she starts to worry. As the ever-more au­thor­i­tar­i­an director goes further off the deep end, her worry grows—with good reason. And the director’s hatchet man who is assigned to monitor her un­ex­pect­ed­ly turns out to have human feelings.

This is a classic paranoid continue.

Review: Big City, Bad Blood

Title: Big City, Bad Blood
Author: Sean Chercover
Rating: ★ ★ ★ ★
Publisher: Harper­Collins
Copyright: 2007
Pages: 304
Keywords: crime
Reading period: 2–3 March, 2016

Ray Dudgeon is a Chicago PI hired to guard a Hollywood location manager who witnessed the Outfit at work. The client is murdered, Ray gets caught up in a Mafia power struggle, and the body count rises.

A well-written, fast-paced story that I gobbled up.

Previous » « Next