Title: The Mercy of the Night
Author: David Corbett
Rating: ★ ★ ★ ★
Publisher: Thomas & Mercer
Reading period: 5 March–2 April, 2016
Jacqi Garza was abducted when she was eight.
She got away but her life has gone far off course in decade since.
Now she’s the prime witness to a murder.
Phelan Tierney, a former lawyer, has taken her under his wing,
but she’s not easy to help.
This is dark and disturbing, if ultimately hopeful.
It’s a portrait of a town in distress
and of some of its citizens.
Some are still trying to make a difference,
while others are too lost in their own pain and …continue.
I moved to Seattle in 1992 and spent the next 13 years commuting to the Eastside,
largely across the SR-520 Floating Bridge.
Ten of those years were at Microsoft; the rest, elsewhere in Redmond and Bothell.
It was immediately obvious that 520 needed more capacity.
Only now, 24 years later, are we getting that extra capacity:
a new bridge that will replace the old, worn-out bridge.
The old bridge has only two lanes in either direction and there’s no shoulder.
If anything happens, like a flat tire or a stalled car,
one lane immediately grinds to a halt.
The second lane promptly jams up as everyone merges into it.
The oncoming …continue.
Advertising would make you think that acne is a problem only for teenagers.
It’s never entirely gone away for me.
I often find spots on my nose.
Less often, on my chin or forehead.
I’ve even had a few spots inside my ears.
For some reason, I woke up with three spots this morning:
on the side of my nose;
under my jawline, hidden by my beard;
and on the back of my neck, near the hairline.
I got a new MacBook Pro on Monday:
a 13" Retina with 16GB RAM and 500GB SSD,
which doubles both the RAM and the disk capacity
of its late-2013 predecessor.
8GB wasn’t really enough for software development.
By the time you run Chrome and PyCharm and Docker,
you don’t have much RAM left.
And I was constantly having to run Grand Perspective
to clean up disk space.
For the first time, I used the Migration Assistant and a Thunderbolt cable
to transfer settings from the old laptop to the new.
I was pleasantly surprised at how well it worked.
In one hour, the new machine had all the files and just about all …continue.
Title: Trap Line
Author: Carl Hiaasen & Bill Montalbano
Rating: ★ ★ ★ ★
Publisher: Open Road Media
Reading period: 10–17 March, 2016
The drug smugglers who bring their merchandise in through the Florida Keys
need some local expertise and decide that Breeze Albury is their man.
Although he has no desire to be involved,
they force him to take part.
When they need a convenient fall guy and set him up,
he turns on The Machine and on the corrupt local cops.
Revenge is sweet.
Although it’s set in Florida,
this early Hiaasen novel lacks the humor of his more famous books.
Still, Breeze is an engaging character and the …continue.
Title: Run Jane Run
Author: Maureen Tan
Rating: ★ ★ ★ ★
Reading period: 13 March, 2016
Sequel to A.K.A. Jane.
Jane Nichols’ parents were murdered in front of her on a Greek hillside
when she was six.
An MI5 operation triggers some dormant memories
and she starts to suspect who was responsible.
An attempt on her life confirms that she’s not imagining it.
She returns to her life in Savannah to lay a trap.
Another entertaining entry in the Jane series.
The last, presumably, since it’s nearly 20 years old.
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 interleaved.
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 intertwined chapters 2 and 5.
Chapter 2 (Nestor) takes place at the school where Stephen teaches;
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 undoubtedly one of the most qualified candidates ever,
with an extraordinary 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.
Despite being a bona fide performance expert—I spent a couple of years as the Performance 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 particularly fast and I assumed that it was the XML parser.
I had been using the built-in streaming parser, cElementTree iterparse.
I assumed that using the lmxl iterparse would make the code faster.
Then I had the bright idea of temporarily disabling the per-node processing,
which left only the XML parsing.
Instead of handling 200 …continue.
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:
IOError can be instantiated 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,
respectively, in both Python 2 and 3.
The args attribute contains the verbatim constructor arguments as a tuple.
- IOError(errno, strerror)
- These are available on the errno and strerror attributes of the exception,
respectively, in both Python 2 and 3,
while the filename …continue.