Monday, February 16, 2009 
Fragment of Cyclops script

I'm about halfway through the 60,000-word Circe chapter of Ulysses, converting it to LaTeX.

For several years, I took the plaintext from the Project Gutenberg etext, prepared the script in XML, used XSLT to transform it into HTML, tarted it up with CSS, and then saved it as a PDF. You can see a screenshot above.

I'll write up tomorrow why I switched to LaTeX last year.

posted on Monday, February 16, 2009 8:43:25 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Sunday, February 15, 2009 
Father and Son Warwick Hats

My talented wife got back today from four days at the Madrona Fiber Arts Festival in Tacoma. As you can see from Emma's Flickr page, she's knit a lot of beautiful pieces.

I'm hoping she will revive her dormant blog and write more about some of her projects. She does have some writeups at Ravelry (Facebook for knitters) under her username Emma, but that's only visible to members.

posted on Sunday, February 15, 2009 9:10:24 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Saturday, February 14, 2009 
Bleeding Kansas
Title: Bleeding Kansas
Author: Sara Paretsky
Rating: 4 stars out of 5
Publisher: Signet
Copyright: 2008
Pages: 593
Keywords: fiction
Reading period: 4–13 February, 2009

In the 1850s, three anti-slavery families settled next to each other in rural Kansas: the Grelliers, the Schapens, and the rich Fremantles. Seven generations later, the last of the Fremantles is gone, the Grelliers are progressive farmers, and the Schapens are belligerent fundamentalists. Gina Haring, a Wiccan lesbian from New York, housesits the Fremantle mansion, while she tries to pick up the pieces of her life. Inadvertently, she triggers a cascade of changes. Most notably, the Grellier son, at odds with his anti-war mother, enlists and is killed in Iraq, sending her into a deep depression.

Paretsky has moved her focus from her series of novels about V.I. Warshawski, a female PI in Chicago, to rural Kansas, where she grew up. It's her take on What's the Matter With Kansas?, the transformation of a populist anti-slavery state into a deep-red locus of reactionaries.

It's a mostly sympathetic portrait of beleagured farmers. The main characters, Jim Grellier; his 14-year-old daughter, Lara; and Robbie Schapen, the 14-year-old misfit, are well-drawn and believable. The romance that develops between Lara and Robbie is tender and touching. The rest of the Schapens, though, are something of a caricature.

posted on Sunday, February 15, 2009 7:19:25 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Friday, February 13, 2009 
Gran Torino
Title: Gran Torino
Director: Clint Eastwood
Rating: 4 stars out of 5
Copyright: 2008

Clint Eastwood directs himself as Walt Kowalski, a retired auto worker. Newly widowed, estranged from his sons, and haunted by his Korean War experiences, Walt is a bitter, racist old bastard.

He doesn't like the Hmong immigrants who live next door and he nearly shoots the teenage boy, Thao, when he catches Thao trying to steal his beloved 1972 Gran Torino. The theft was to be the reluctant Thao's gang initiation. The gang come by to punish Thao and Walt runs the “gooks” off his lawn at gunpoint. The Hmong neighbors start bringing over food and flowers in gratitude. Walt is confounded and wants to be left alone. Then Walt rescues Thao's sister, Sue, from some “spooks”, and she invites him over to a celebration.

Walt slowly thaws as he realizes that he has more in common with the Hmong than he does with his own children. Thao is sent over to work for Walt as penance for the attempted theft. You guessed it, Walt and Thao begin to bond. Things go well for a while, then the gang comes back.

Eastwood is convincing as the flinty-eyed old son of a bitch who can stare down gangbangers a quarter of his age. And convincing too as the damaged, lonely old man, with a good heart under the foul-mouthed exterior.

Less convincing was the overly neat ending, when Walt goes to deal with the gang.

Recommended.

posted on Saturday, February 14, 2009 7:35:17 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Thursday, February 12, 2009 
Clipboard

I mentioned in my post on reStructuredText that I use a little command-line tool, pbcopy, to pipe the output into the clipboard. I finally found a similar tool for Linux, xsel.

  • Mac: pbcopy (UTF-8 aware, unlike the built-in version of pbcopy) copies its input to the pasteboard (Mac name for the clipboard); pbpaste writes the pasteboard to stdout.
  • Linux: xsel gets and sets the X selection.
  • Windows: winclip reads and writes the clipboard in a variety of formats. Use -m for UTF-8 text. The winclip binary is available as part of the outwit package.
posted on Thursday, February 12, 2009 8:51:18 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Wednesday, February 11, 2009 
Sugar

A good piece in yesterday's New York Times about sugar in the American diet:

How sweet it is! The American diet, that is. While the current recommendation is a maximum intake of eight teaspoons of sugars a day, one 12-ounce can of regular soda (or a 20-ounce bottle of VitaminWater) delivers eight or nine teaspoons. That means you are at or over the limit before you’ve eaten a single cookie or container of fruit-flavored yogurt, or even some commercial tomato soups or salad dressings with added sugars. The result is an average daily intake of more than 20 teaspoons of sweet calories.

Marshall Brain demonstrated the amount of sugar in soda. Eight teaspoons of sugar is a startling amount when it's placed in one pile.

In the early to mid-90s, I drank about a liter of Coke a day. It caught up with me. I long ago kicked that particular habit, to the betterment of my waistline.

posted on Wednesday, February 11, 2009 8:01:59 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Tuesday, February 10, 2009 
Snow over Yesler Street

This is, by far, the snowiest winter that I've ever experienced in Seattle—and I was in Ireland for the worst two weeks.

At least the snow that came down yesterday and today didn't stick.

posted on Wednesday, February 11, 2009 7:14:52 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [2]
Monday, February 09, 2009 
Facebook Groups

As you can see from the attached picture, I just created Facebook Groups for three social organizations that I'm involved in: Freely Speaking Toastmasters, Wild Geese Players of Seattle, and BiNet Seattle.

I set up a LinkedIn group for FSTM too.

posted on Tuesday, February 10, 2009 7:47:24 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Sunday, February 08, 2009 
Taken
Title: Taken
Director: Pierre Morel
Rating: 3 stars out of 5
Copyright: 2008

Liam Neeson is Bryan Mills, a former CIA “preventer” who reluctantly lets his teenaged daughter visit Paris. Kim is abducted by an Albanian prostitution ring and he sets out to rescue her. Non-stop mayhem and action ensue.

Taken works fairly effectively as an action movie in the Bourne mode. The plot moves fast enough that you don't have time to reflect upon the gaping holes or the improbable effectiveness and invincibility of Mills.

Neeson carries the movie, convincing as the pissed-off hardass who'll go to any lengths to find his daughter.

posted on Monday, February 09, 2009 7:28:43 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Saturday, February 07, 2009 
Vincent Reilly

I talked to my mother this afternoon. She's still in Dublin, helping Michelle out with Harry. My father went back to Cape Town in mid-January to enjoy the golf and the South African summer. My parents spend several months a year there.

They have a small cottage in Hout Bay, in a residential complex. The buildings are terraced together. The other night, the cottage two doors down caught fire and the woman inside died. My father slept through the whole commotion forty feet from his bedroom, and knew nothing about it until the next day.

We knew he was a sound sleeper—and a heavy snorer—but this tops everything.

posted on Saturday, February 07, 2009 8:57:54 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [1]
Friday, February 06, 2009 
Circe and the Friends of Ulysses

It's time to start thinking about this year's reading of Ulysses for the Wild Geese Players of Seattle. The next chapter to be tackled is Circe, the nightmare scene in the brothel.

Most chapters require a lot of work to tease apart into a staged reading, to make sense of the different threads of Bloom's inner monologue, or to attribute fragments of conversation to different characters, for example. This chapter is written in the form of a play; attribution is easy.

But Circe is also enormously long: some 60,000 words. For comparison, many novels are in the range 80–100,000 words. Last year's chapter was 20,000 words and I cut 5,000 words off. It took us the best part of two hours to read those 15,000 words. Clearly, we cannot read the whole chapter. Even if we had the stamina to read for six or seven hours, no audience would put up with it.

My task for this weekend, then, is to re-read the chapter and see whether it makes more sense to simply cut the hell out of it, so that we can complete Circe this year, or to divide it into two or three pieces, which will have to be read at different times.

posted on Friday, February 06, 2009 8:00:01 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Thursday, February 05, 2009 
Bowling Score Sheet

There's a flamefest going on at the moment between Robert "Uncle Bob" Martin and Joel Spolsky over the value of Test-Driven Design and the SOLID principles. I find TDD valuable and I'm reading Martin's Clean Code at present.

Poking around in the links led me to Uncle Bob's Bowling Game Kata, a Powerpoint deck demonstrating using TDD to score a bowling game.

Ron Jeffries has a very ugly OO implementation and a cleaner procedural version of the Bowling Game. Digging around in the archives of his XP Magazine turns up many other ruminations on the Bowling Game

At Atlas, I was loaned to one group that used the Bowling Game for a pair-programming interview. I found it to be a valuable exercise. It showed us whether the candidate could actually code or not and it gave us a feel for what it would be like to work with them. It gave the candidate a taste of Agile work practices like TDD and pair programming. Of course, in a real pair-programming exercise, I would have been actively making suggestions instead of holding back.

We interviewed four candidates while I was on that team. Two passed, were hired, and worked out. One failed, failed other interviews, and was eliminated. The fourth candidate was very experienced, gave great whiteboard while talking through the exercise at the beginning, and turned out to be completely horrible. He floundered badly and wrote ugly, buggy code. That eliminated him, even though he had done well on the other rounds.

posted on Thursday, February 05, 2009 8:56:04 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Wednesday, February 04, 2009 
Twitter and Facebook

For a long time, I disliked Facebook. It seemed to consist entirely of annoying acquaintances attacking me with vampires or sending me pointless “gifts”.

I've used Facebook more in the last month and it's been less annoying than I remembered it. I check it once or twice a day and see updates from people I know. More entertaining than exasperating.

Twitter, though, has not clicked for me. Brevity is good, but Twitter is too minimalist. Stream-of-consciousness ejaculations. Opaque URLs disdaining explanation. Feh.

Scott Hanselman has a different take on Twitter.

Maybe I need to “follow” a better class of people.

I'll go and yell at those damn kids to get off my lawn now.

posted on Wednesday, February 04, 2009 8:31:38 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Tuesday, February 03, 2009 
The Outlaw Demon Wails
Title: The Outlaw Demon Wails
Author: Kim Harrison
Rating: 3.5 stars out of 5
Publisher: Eos Books
Copyright: 2008
Pages: 496
Keywords: urban fantasy
Reading period: 28 January–3 February, 2009

Sequel to For a Few Demons More. Best read in sequence.

Rachel Morgan: witch and private investigator. An unknown enemy is summoning a demon every night to kill her. She learns some surprising things about her past and her place in the world.

Previous books were heavy on the action; here it kicks in very late and the book is very talky.

Moderately entertaining but weaker than earlier books in the series.

posted on Tuesday, February 03, 2009 8:07:54 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Monday, February 02, 2009 
http://graphics8.nytimes.com/images/2009/02/01/opinion/01richlarge.jpg

Frank Rich in Sunday's paper on the Republicans who've run out of ideas:

The crisis is at least as grave as the one that confronted us — and, for a time, united us — after 9/11. Which is why the antics among Republicans on Capitol Hill seem so surreal. These are the same politicians who only yesterday smeared the patriotism of any dissenters from Bush’s “war on terror.” Where is their own patriotism now that economic terror is inflicting far more harm on their constituents than Saddam Hussein’s nonexistent W.M.D.?

The current G.O.P. acts as if it — and we — have all the time in the world. It kept hoping in vain that the fast-waning Blago sideshow would somehow impale Obama or Rahm Emanuel. It has come perilously close to wishing aloud that a terrorist attack will materialize to discredit Obama’s reversals of Bush policy on torture, military tribunals and Gitmo. The party’s sole consistent ambition is to play petty politics to gum up the works.

David Leonhardt discusses ideas in The Big Fix in the NYT Magazine:

Rahm’s Doctrine[:] “You never want a serious crisis to go to waste,” Emanuel said. “What I mean by that is that it’s an opportunity to do things you could not do before.”

Germany and Japan, on the other hand, were forced to rebuild their economies and political systems after the war. Their interest groups were wiped away by the defeat. “In a crisis, there is an opportunity to rearrange things, because the status quo is blown up,” Frank Levy, an M.I.T. economist and an Olson admirer, told me recently. If a country slowly glides down toward irrelevance, he said, the constituency for reform won’t take shape. [Mancur] Olson’s insight was that the defeated countries of World War II didn’t rise in spite of crisis. They rose because of it.

ONE GOOD WAY TO UNDERSTAND the current growth slowdown is to think of the debt-fueled consumer-spending spree of the past 20 years as a symbol of an even larger problem. As a country we have been spending too much on the present and not enough on the future. We have been consuming rather than investing. We’re suffering from investment-deficit disorder.

WASHINGTON’S CHALLENGE on energy policy is to rewrite the rules so that the private sector can start building one of tomorrow’s big industries. On health care, the challenge is keeping one of tomorrow’s industries from growing too large.

In Orszag’s final months on Capitol Hill, he specifically argued that health care reform should not wait until the financial system has been fixed. “One of the blessings in the current environment is that we have significant capacity to expand and sell Treasury debt,”

Goldin’s and Katz’s thesis is that the 20th century was the American century in large part because this country led the world in education. The last 30 years, when educational gains slowed markedly, have been years of slower growth and rising inequality.

posted on Monday, February 02, 2009 8:02:21 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Sunday, February 01, 2009 
Irish Famine: Passengers waiting to embark on the trans-Atlantic voyage

On the 9th or 10th of January 1989, I flew from Dublin to New York. That was the last day that I ever lived in Ireland.

I came to the U.S. on a tourist visa. It was no lie. I had a round-the-world ticket and I would go on to Australia in early March. In June, I left Australia and traveled to Bangkok and Hong Kong. Sometime in July, I landed back in Ireland to settle up my affairs. I fit in a trip to the South of France with some old friends.

In August, I would return to America to attend graduate school. I have lived in the U.S. ever since.

I graduated from Trinity College Dublin in 1987 with a B.A. in Computer Science. The Celtic Tiger was not yet on the horizon. Unemployment was high, as it had been for years. There were some software development jobs to be had in Ireland, but the pickings were slim.

After a couple of months, with some help from my former academic advisor, I got a job at InterContinental PhotoComposition (ICPC), a small scientific typesetting company on the northside of Dublin. It didn't pay much, but I got to write a text editor from scratch—unfortunately, in Vax Pascal.

My father urged me to go the United States and get a Master's degree, arguing that it would open more doors for me. He was willing to fund it so I was willing to go.

I knew very little about American universities at the time. The World Wide Web had yet to be invented. I had managed to wangle Usenet access for myself sometime in '86 or '87 on the Maths department computer at Trinity. (The Maths department had a student-run PDP with Usenet access via UUCP. The CS department only let its undergraduates use an unconnected Vax.) From reading the technical newsgroups, I began to notice that certain universities were well represented. This, essentially, was how I decided where to apply.

The first step was to arrange to take the Computer Science GRE. This wasn't held very often in Ireland, but I think I took it in Dublin in the autumn of 1988.

I applied to six colleges. I presume that I had the GRE results back by then, but I can't remember. I recall applying to Brown, Georgia Tech, UC Davis, and Harvey Mudd. I believe the fifth was CMU. I think the sixth might have been MIT or Yale.

More to come.

posted on Monday, February 02, 2009 7:12:57 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Saturday, January 31, 2009 
Eric on BuildBot

[Eric holding forth on BuildBot]

Eric and I attended Northwest Python Day 2009 today at the University of Washington. There were about 50 people present, with a few out-of-town visitors from Portland and Vancouver BC.

It was a mixed bag. I found the afternoon sessions more interesting than the morning ones.

The morning talks started with a set of five-minute lightning talks, including:

  • ctypes being used to crack open a raw binary file with arbitrary bit alignment.
  • Werkzeug: a set of WSGI utilities. Debugger sounds particularly useful.
  • BuildBot: Eric talked about using it for Continuous Integration and how easy it was to configure and extend, compared to CruiseControl.NET.

Browser Interface, Local Server: creating a desktop app that contains, in one process, both a browser app and a local HTTP server, running on separate threads. The browser app can also be used to connect to a remote web server. Used wxPython to host an HTML control for the browser part.

The afternoon lightning talks included:

  • Sphinx: a documentation generator built on top of reStructuredText.
  • NodeBox: a Mac app for creating 2D visuals.
  • vmshell: a not-yet-released toolkit for manipulating virtual machines using libvirt.

Sage is an impressive open-source package for doing mathematics, and a potential alternative to expensive commercial products like Mathematica and Matlab. Browse the Sage Notebook to get a feel for what it can do. Talk a look at today's Sage talk.

Google App Engine is good for a narrow class of apps: HTTP, request+response, time-limited, sandboxed. There are many quotas, known and unknown. The non-relational data store has restricted queries: no joins, only complete entities, limited comparisons.

Cython is a Python to C compiler that seems promising. It requires slight modifications to the classes and functions that will be compiled to C: declare them with the cdef keyword. It offers significant speedups for hotspot code and it's heavily used in Sage.

Ted Leung closed the day by talking about Python at Sun. All of the dynamic languages have been trending upwards in the last few years, hence Sun's (and Microsoft's) interest in dynamic languages. Jython, after years of struggling along, is alive and well. I really have to check out DTrace on Mac or OpenSolaris soon. One way to win mindshare for Python is better tools: NBPython will provide Python support for the NetBeans IDE: code completion, debugger, etc.

There were a handful of other talks that I didn't write up.

My thanks to the organizers for putting together a successful free conference.

posted on Sunday, February 01, 2009 6:58:48 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Friday, January 30, 2009 
January - FromOldBooks.org

What a month!

It opened well, when my nephew Harry was born. Frank died a day later. A cold dragged me down for over a week.

Last week's Obama inauguration cheered me up. He's off to a strong start. My story about attending the Bush Sr. inauguration omitted noting that 20 years ago this month, I emigrated from Ireland. More on that in some future posts.

Then there were the layoffs. Emma lost her contract job last week, primarily from having missed a lot of work due to ill health. And on Monday, some other friends were laid off, as were tens of thousands all around the country.

And my gout has flared up, though in a mild way.

posted on Friday, January 30, 2009 9:14:59 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Thursday, January 29, 2009 
Sherril Huff

There's a little-known special election coming up on February 3rd for the new elective position of Director of Elections for King County.

I recommend that you vote for Sherril Huff, and so do the Seattle Times and the Stranger. Everyone else in the race is unqualified.

posted on Friday, January 30, 2009 7:57:31 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]