Monday, September 20, 2010 
MetaGame
Title: MetaGame
Author: Sam Landstrom
Rating: 2 stars out of 5
Publisher: Smashwords
Copyright: 2009
Pages: 400
Keywords: science fiction
Reading period: 15 September, 2010

A free ebook that I quickly gave up on because I couldn't stand the leaden writing and the heavyhanded exposition.

posted on Monday, September 20, 2010 7:00:18 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Monday, September 13, 2010 
The Unsuspecting Mage: the Morcyth Saga I
Title: The Unsuspecting Mage: the Morcyth Saga I
Author: Brian S. Pratt
Rating: 2.5 stars out of 5
Publisher: PUBLISHER
Copyright: YEAR
Pages: 311
Keywords: fantasy
Reading period: 12 September, 2010

Teenage D&D-playing bookworm responds to a help-wanted ad, steps through a door, and finds himself wandering in a forest where he can do simple magic.

I couldn't take more than an hour of the clumsy writing in this free ebook.

posted on Monday, September 13, 2010 6:40:24 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Hostile Intent
Title: Hostile Intent
Author: Michael Walsh
Rating: 2 stars out of 5
Publisher: Pinnacle
Copyright: 2009
Pages: 360
Keywords: thriller
Reading period: 9–10 September, 2010

Superspy Devlin, head of the U.S. government's most secret black ops team, is on the run, apparently having being framed by someone with inside knowledge.

Second-rate ripoff of Robert Ludlum and Tom Clancy. Ludicrous plot, cliched characters, risible technobabble. I gave it longer than I should before abandoning it.

Avoid.

posted on Monday, September 13, 2010 6:34:38 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Tuesday, August 18, 2009 

Barney Frank Confronts Woman at Town Hall

Those town halls are getting uglier.

A dozen gun-toting paranoid guys walking around at Obama's town hall in Arizona yesterday, some of them with ties to the violent Viper Militia.

In the video above, Barney Frank takes a question from some woman who's comparing Obama to a Nazi and tells her she's talking “vile, contemptible nonsense”.

I hope it's not going to escalate into outright violence.

posted on Wednesday, August 19, 2009 6:16:47 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Friday, July 10, 2009 
Humongous JIT memory leak

I mentioned three weeks ago that I had just repaved my work dev box and installed the 64-bit version of the Windows 7 RC. Nine or ten years after I first ported parts of IIS to Win64, I am finally running my main desktop on 64-bit Windows. With one exception, it's been painless. Programs have just worked, devices have just worked. There are relatively few native x64 applications, but for the most part it doesn't matter. The cases where it does matter—e.g., shell extensions such as TortoiseSVN—are available as 64-bit binaries.

I briefly flirted with using the 64-bit build of Python, but realized that I would have to recompile several eggs as 64-bit binaries. That was too painful and the 32-bit binary did everything I needed.

Building in Visual Studio 2005 is noticeably faster. I'm not sure how much of it was due to accumulated cruft after 18 months on Vista, but builds there were very slow.

The one exception was a major problem for the first week and a half. Whenever I ran our ASP.NET web application, it would go berserk, eat up all 4GB of my physical RAM, push the working set of IIS's w3wp.exe to 12GB, and max out one of my 4 cores! The only way to maintain any sanity was to run iisreset every 20 minutes to gently kill the process.

WinDbg and Process Explorer showed that the rogue thread was stuck in a loop in mscorjit!LifetimesListInteriorBlocksHelperIterative. I passed a minidump on to my former colleagues in IIS, who sent it to the CLR team. They said:

The only thing I can tell is that it is Regex, and some regex expression compiled down to a method with 456KB of IL. That is huge, and yes 12GB of RAM consumed for something like that is expected.

With that clue, I was able to track down the problem, a particularly foul regex, built from a 10KB string, with 32 alternating expressions, each of which contains dozens of alternated subexpressions. The string is built from many smaller strings, so it's not obvious in the source just how ugly it is. I commented out the new Regex() and my problems went away.

Regardless of how ugly the regex is, this is a major regression in the CLR. This code has been working without blatant problems for two years on the 32-bit flavors of XP, Server 2003, Vista, and Server 2008. I've been meaning to try this code on 32-bit Windows 7, but have been too busy.

(The original, long-gone author was apparently aware that the regex is expensive to create because he runs a background thread to new the regex, which should have told him something. We'll fix the code that uses the regex to do something saner, soon.)

All that aside, I've been happy with the 64-bit version of Windows 7.

posted on Saturday, July 11, 2009 6:12:02 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Friday, June 12, 2009 
Display driver lddmkm stopped responding and has successfully recovered

This morning, the video adapters on my Vista dev box were resetting 2–3 times per minute.

After a pile of Windows Updates landed on my machine at 3am yesterday, it would occasionally freeze solid for a few seconds. Once in a while, all the monitors would go black briefly, then restore. Each time, I would see a status update pop up from the system tray, "Display driver nvlddmkm stopped responding and has successfully recovered."

This was irritating enough that I downloaded the latest NVidia drivers this morning, 185.85_desktop_winvista_32bit_english_whql.exe. That really screwed me. The video adapters started resetting 2–3 times per minute, rendering the machine almost unusable. I have two video adapters, NVidia GeForce 8600 GT and NVidia GeForce 7600 GT.

The eventlog was full of Event ID 4101 - Display Driver Timeout Detection and Recovery.

I reverted to the 178.24 drivers and that helped. When I'm not touching the machine, the adapters only get reset every few minutes instead of several times a minute. When I am using it, something as simple as clicking a window to bring it to the foreground can trigger a reset.

It's very irritating but I can live with it for a little while, unlike the other. I don't want to repave my box: apart from the time loss, I'm not convinced that it would help if I got the same driver config all over again.

I contacted a friend at Microsoft who tried to hook me up with a driver guy, who is unfortunately out of office. I'm hoping that it can be fixed early next week or my temper is going to fray rapidly.

Update: June 19th: See When Video Cards Go Bad.

posted on Friday, June 12, 2009 7:27:43 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Friday, May 22, 2009 
Irish Reformatory

Nine years ago, the Ryan Commission was set up to produce a report on physical, emotional, and sexual abuse of children in Catholic Church–run reformatories in Ireland. This week, they released a 2600-page report detailing abuse to tens of thousands of children from the 1930s to the 1990s. The abuse and violence were systemic and institutionalized, if not universal, and they were hushed up and overlooked for decades. The stories of the abused, in their own words, make for horrifying reading. It's a national disgrace.

The Christian Brothers come off the worst of the many religious orders who are implicated. Even in their day schools, they long had a reputation as brutal and thuggish. Most of the religious orders are still trying to evade responsibility and show little appetite for serious reform.

By no means every priest, nun, or brother was a paedophile or a sadist, but there were so many of them for so long with so little done to stop them, that it's clear that there's something rotten in the Catholic Church. Part of it is surely the chastity requirement—the Protestant churches have fewer paedophiles.

Fie on them.

posted on Saturday, May 23, 2009 6:52:50 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Sunday, May 17, 2009 
CrossLoop for Mac

I mentioned CrossLoop before, as a tool for remotely helping someone out. It uses VNC to share desktops.

The last time I looked, it was Windows only. Now there's a Mac client too.

I had to use it to help my father out in Dublin. Somehow he had managed to delete both Adobe Reader and Adobe Flash—I haven't figured out how.

It was painful, painful, painful. The connection was dropped repeatedly and the link couldn't begin to keep up with the amount of graphical data being transferred. Even though CrossLoop reduces the color depth, actions like switching tabs in Firefox cause huge amounts of data to be sent. I couldn't tell why the connection was being dropped. There are so many places where things could go wrong: my client, my connection, the CrossLoop server, his connection, his client, some random router.

All in all, it took about 90 minutes, but it would likely have been even longer and more confusing without a shared desktop.

posted on Monday, May 18, 2009 4:04:42 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Saturday, April 18, 2009 
Office Mess (Not Mine)

I fear going into my home office. It's a huge mess of clutter, books piled everywhere, boxes of unsorted papers, crap all over my desk. (No, it's not as bad as the accompanying photo.)

My office overwhelms me. As a result, I don't go in there, except to drop more stuff off and make it worse. I rarely use the desktop system there.

The living room couch has become my sub-office. I sit there of an evening and surf the web from my laptop. I pull out the bills every couple of weeks and take care of them from the couch. Then I dump them in the office.

I know what the solution is. I've known for a long time. I should go into the office for an hour at a time and impose order on some section of it. Repeat often enough and the office will feel welcoming again. I just spent an hour in there tonight and dealt with a big pile of books. The odds of my doing more sorting anytime soon are low, though, so the problem will persist.

posted on Sunday, April 19, 2009 6:23:03 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Friday, April 17, 2009 
iKeePass

One app that I really want for my iPhone is iKeePass, an port of the KeePass password safe. I've mentioned it before. I'm up to about 400 entries now. It's completely indispensable to me for keeping track of not just passwords, but identities, and which websites I've registered on.

Apple is holding up approval of iKeePass, apparently indefinitely. It seems to be some combination of not wanting to approve strong encryption for export and hangups about open source. Or something. Whatever it is, it's damned annoying.

KeePassX works on Mac and Linux and means that I can move my password database back and forth to Windows without problem. Only my iPhone is without some form of KeePass.

posted on Saturday, April 18, 2009 6:58:21 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [2]
Tuesday, March 17, 2009 
AIG

It takes a special … talent? … chutzpah? … to fuck up the global economic system to the point where you need four enormous bailouts totaling $170 billion and then to give your senior people $165 million in bonuses.

It's like they're taunting the lynch mob.

posted on Tuesday, March 17, 2009 7:40:29 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Sunday, March 01, 2009 
Law of Conservation of Energy

A few years ago, after watching one too many whodunnit TV mysterys, I coined my

Law of Economy of Characters
The killer is innocuously introduced in the first 20 minutes

In real life, the killer may not be known until late in the investigation—if ever.

In a TV mystery, any non-recurring character who gets more than a few lines has to be a potential suspect—to the audience. The character is not there gratuitously. Their salary is being paid for a reason.

It's not universally true, but it works more often than not. It's less true in books, where throwaway characters are easy to introduce.

Googling around, I found the following, attributed to Roger Ebert:

Ebert's Law of Conservation of Characters
Any main character whose purpose is not readily apparent must be more important than he or she seems

I'm in good company.

posted on Monday, March 02, 2009 6:06:53 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Tuesday, February 24, 2009 
Safari 4 coverflow

Apple launched the public Safari 4 beta today.

It runs beautifully on Vista and it's the fastest browser that I've seen, noticeably faster than Chrome. Everything that I tried worked fairly well; I saw only a few minor glitches.

I installed it on my MacBook at home this evening. It crashes at startup every time that I attempt to run it. Fortunately, it comes with an uninstaller so that I could revert to Safari 3.21.

Back to Opera for now.

posted on Wednesday, February 25, 2009 7:18:48 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Monday, February 23, 2009 
Programming Sudoku
Title: Programming Sudoku
Author: Wei-Ming Lee
Rating: 2.5 stars out of 5
Publisher: Apress
Copyright: 2006
Pages: 214
Keywords: programming, introductory
Reading period: 22 February, 2009

I was Toastmaster of the Day at this evening's meeting of Freely Speaking Toastmasters. My theme was software development and I wanted to give the non-developer audience a taste for what it's like to write a program. I talked about writing a simple Sudoku game.

Yesterday, I read Programming Sudoku for background. I bought this book for Emma after reading about it on Scott Hanselman's blog. It's targeted at beginning programmers and walks them through building a Sudoku game and solver. I was hoping to get Emma more interested in programming–unsuccessfully. She found it repetitious and a little confusing, and she found some typos in the code.

Pedagogically, the book is good. It starts by creating a simple WinForms application in Visual Basic to play a Sudoku game. Then it builds a solver for simple games and refines the solver to handle harder games. Next, it adds a puzzle generator. It concludes with a brief chapter on a similar game, Kakuro. The explanation of gameplay is clear; the approach seems reasonable.

The code, however, is horrible. It's ugly, it's verbose, and it's repetitive. Consider that the code for doing some operation to a row is almost identical to doing the same operation to a column, but no attempt is made to abstract such operations into helper functions.

Or how about this unexplained fragment to see if a column is complete, which is repeated often, with minor variations:

pattern = "123456789"
For r = 1 To 9
    pattern = pattern.Replace(actual(c,r).ToString(), String.Empty)
Next
If pattern.Length > 0 Then
    Return False
End If

To me, it's obvious that this is a poor man's set difference operation. To a novice programmer, I doubt it.

Examples should be exemplary and held to a higher standard than code that is not intended for public view. All too often, sample code ends up in production. When I wrote samples for classic ASP, I took care to make them good code.

The book is short. The author could have shown some ugly code as an initial solution, then cleaned it up and explained why the new code was better. That would have done his readers a greater service.

I cannot recommend this book to novices: they won't learn good habits from it.

posted on Monday, February 23, 2009 8:20:16 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]
Monday, January 26, 2009 
Pope Benedict XVI

The Pope has reinstated four excommunicated bishops:

Pope Benedict XVI, reaching out to the far-right of the Roman Catholic Church, revoked the excommunications of four schismatic bishops on Saturday, including one whose comments denying the Holocaust have provoked outrage.

Pam has more. Newsweek has context.

Last month, the Pope said:

that saving humanity from homosexual or transsexual behaviour was just as important as saving the rainforest from destruction.

Shit like this reminds me of why I am no longer a Catholic.

I was raised Catholic in Ireland and spent eleven years at a priest-run school. It didn't take; I had lost my faith by my mid-teens.

But even if I still believed in God, I'd have a hard time being Catholic. I don't have anything Catholics per se, and I've known individual Catholic priests that I respected, but I can't stand the Catholic Hierarchy.

James Joyce said of the Irish, “we are an unfortunate priest-ridden race and always were and always will be”. It's no longer quite true—many Irish people only see the inside of a church now for “hatches, matches, and dispatches” (baptisms, weddings, and funerals). But it was certainly true in the Seventies and Eighties when I was growing up.

The Catholic Church had a stranglehold on life in the Republic of Ireland. Contraception was illegal until the Eighties, and, when first introduced, was available only to married couples with a prescription. Divorce only became legal about a decade ago. Homosexuality was decriminalized not long before that. Most of the national (public) schools were controlled by parish priests, and most private schools were run by religious orders. (Still largely true today, I believe.) Until 1970, no Catholic could attend the traditionally Protestant Trinity College Dublin without a dispensation from a bishop.

Education, the modern world, the European Union, out-of-wedlock births, declining vocations: all of these have loosened the Church's grasp in Ireland. The Bishop Casey affair (he had a son and embezzled for nearly 20 years to support the boy), the Irish pedophile priest coverups, and other scandals shook many people's faith.

In the larger picture, Popes John Paul II and Benedict have spent the last 30 years trying to roll back the liberalizing effects of Vatican II. They've stacked the hierarchy with conservative bishops and cardinals, ensuring their influence will last for decades after their own deaths.

The Catholic Church is becoming increasingly irrelevant, and I welcome it.

posted on Tuesday, January 27, 2009 7:36:00 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Friday, January 23, 2009 
Waiting in line at Salumi's

Salumi's has the best selection of charcuterie in Seattle. The range and quality of their cured meats is truly impressive. The flavor, excellent. Their counter staff, friendly and family-like. The line goes out the door.

But. But. But.

Their service is wretched. That line moves at a glacial pace. I've never taken less than 20 minutes to get a sandwich; sometimes twice that. The staff are slow and inefficient. Their stations are badly laid out and they have to fumble around each other in their pokey little store.

Every time I watch them at work—and I always have plenty of time to watch them work—I want to drag them over to Jimmy John's or Bakeman's. Jimmy John's is fast, efficient, and cheerful. Bakeman's is fast, brusque, and serves up a side of attitude. But, by God, you get a sandwich in five minutes or less.

Salumi's could double their speed and still be Salumi's. I wish they would.

posted on Friday, January 23, 2009 8:30:17 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Saturday, January 17, 2009 
Metro Won't Get You There

Seattle's Metro Transit is changing a number of routes in South Seattle. They're proposing to close the #39.

Here's my letter to Metro:

Subject: Please keep the #39 open

I live two blocks from the busstop at 15th and S. Nevada, served by routes #39, #60, and #36. Metro is proposing to close the one really useful route, the #39 which takes me to work in Pioneer Square. The #60 gets me to 12th and S. Jackson, nearly a mile from work. The #36 only runs down 15th in the evenings; otherwise it runs through Jefferson Park, half a mile away.

The new #50 route will be a poor replacement, getting me only as far as the busway at Lander Street, about halfway to Pioneer Square. Transfers are inevitably tedious and it's all too easy to miss your connection, especially coming home in the evening.

The Beacon Hill Light Rail station is a mile away from me. It's unlikely that I will use it much, even though I work next to the Pioneer Square station.

Closing the #39 leaves me and my wife with poor transit options. But's it's not just me.

There are a lot of people on Beacon Hill who ride the #39, many of them low-income or immigrants. Every stop north of me on 15th and Columbian has plenty of riders. The VA Hospital is just to the south of me and the #39 stops at the front door. I see veterans on the #39 every morning; I don't know how the more disabled ones will manage.

I urge you to keep the #39 running. If you don't, please route the #36 along Columbian Way all the time, so that there's a direct bus between downtown and Beacon Hill.

We'll be attending the open house:

Tuesday, Jan. 27, 6:30-8:30 pm,
Jefferson Community Center,
3801 Beacon Ave S.
posted on Saturday, January 17, 2009 8:01:28 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Sunday, December 14, 2008 
Icy Roads

It snowed in Seattle yesterday. We drove over to Sammamish last night to my CEO's house for the Holiday Party. The snow wasn't sticking to the roads, so although visibility wasn't great, getting there and back was not difficult.

It was cold today and colder tonight. I saw only a light dusting of snow fall today, but the snow that was melting earlier has refrozen.

We had to go out this evening, over to Burien to see Frank. The main roads were fine, but we had a slightly alarming descent on a hill near us as we headed over there. Coming home, we had a couple of unpleasant minutes trying to get up a hill near Frank's. The wheels spun and spun, but the car wouldn't go forward. Several times, I deliberately let it slide backwards a few feet, hoping to find some traction further down. In the end, that worked.

I don't much like snow, but I hate ice. I hate walking on ice. I hate the lack of control. I'm always fearful that I'll slip and fall, that my feet will fly from under me and that I'll crack my head. Or that I'll break an arm when I try to break my fall.

I hate driving on icy roads. The skidding. The uncontrolled drift. The wheels spinning.

That's why I live in a climate where we don't get a lot of snow or ice.

posted on Monday, December 15, 2008 6:13:27 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Tuesday, November 18, 2008 
Maxtor OneTouch III disassembly

My formerly trusty Casio Exilim EX-Z1000 camera went berserk one night in September. The zoom lens wedged open and nothing I did would persuade it to retract into the case or take more photos. The zoom had grown a little tempermental in the preceding month, but I didn't expect catastrophic failure.

The other hardware failure was far more upsetting.

From Christmas until August, I ripped most of our CD collection with Exact Audio Copy to FLAC (Free Lossless Audio Codec). Since FLAC is lossless and open source, I figured I'd never need to rip the CDs again. I also wrote a Python script to convert the FLACs to MP3s with LAME, since MP3s are far smaller and all players handle MP3s. I stored the FLACs on a Maxtor OneTouch III drive, twin 750GB SATA drives configured as NTFS on mirrored RAID 1.

A few minutes changing CDs here and there; a few more minutes entering album metadata into Readerware AW. Over the months, it really added up: 775 albums, 250 GB of FLACs, 45GB of MP3s. The MP3s were replicated on several machines, but the FLACs and the Readerware AW database were stored only on the OneTouch's mirrored drives. This drive became my primary backup solution. When I had copied the latest data to it, I'd power it down and store it in the fire safe.

You can guess what's coming next. The OneTouch stopped working one day. Refused to do a damn thing on any machine that I connected it to. I was very unhappy.

I was going to return it to Maxtor, until I read the fine print. They'd replace it, but they'd send me back different drives and would make no attempt to get the data off the old drives.

Well, that was completely unacceptable! I found the Maxtor OneTouch III disassembly guide online, but didn't get around to doing anything about it until tonight. I bought two 3.5" external enclosures at Fry's yesterday. A couple of hours ago, I voided the warranty by prising the case off, extracting the drives, and putting them into the enclosures.

They worked! Both of them appear to be fine and the data is accessible. Until tonight, I wasn't completely sure that I would be able to get the data off the disks even if they were okay. I had visions of having to extract sectors and rebuild the files by hand.

Presumably it's the RAID controller or something else in the Maxtor case that died. I'm going to throw that piece of crap away. One of the drives is undergoing a full chkdsk; the other will get the same treatment tomorrow.

Not only that, but I also plugged the camera in for the first time since it had died. The battery had completely drained and I had to reset the clock. And now it's decided to work too. I'm not sure that I trust it, but should it die again, it's no great loss.

posted on Tuesday, November 18, 2008 9:21:07 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Monday, November 17, 2008 
Nader

Via AmericaBlog, I see that Kos is ridiculing Nader and his diehard supporters.

I was mildly sympathetic to Nader in 2000, though I emphatically disagreed with him that Gore and Bush were Tweedledum and Tweedledee. Eric Alterman argues that Nader cost Gore the election.

I was pissed when Nader ran in 2004, after going dark for three years. He had built up a big movement in 2000. Nearly three million people voted for him. If he was remotely serious about the issues he was campaigning on in 2000, he would have done something in 2001–2003. God knows there was plenty of things that needed fighting. He could have made a difference. But he didn't. He didn't do a damn thing until he ran in 2004. After that, we didn't hear from him again until he ran in 2008.

Hypocritical, egotistical bastard.

posted on Monday, November 17, 2008 8:02:43 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Sunday, August 31, 2008 
Somebody Else
Title: Somebody Else
Author: Reggie Nadelson
Rating: 2.5 stars out of 5
Publisher: Faber and Faber
Copyright: 2003
Pages: 274
Keywords: mystery
Reading period: 16–28 August, 2008

Betsy Thornhill had a face lift. It worked so well that she now passes for her mid-thirties, instead of 51. After decades in London, she moves back to Manhattan a few months after 9/11. Within days, a man who came on to her is dead, and she's the main suspect.

I didn't like this book or Betsy. I couldn't believe that all the male characters would throw themselves at her—she looks great, but her personality and confidence are lacking. Implausibly, Betsy fails to think about her estranged daughter, Franny, for 160 pages, despite the strain of being a murder suspect and despite the importance of Franny for the rest of the book.

Don't bother.

posted on Monday, September 01, 2008 5:54:22 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Wednesday, March 14, 2007 

http://www.commonsensemom.com/images/Buttons/smThink.gif

In Damn Right We're Angry, Paul Waldman lets loose with a long list of why progressives are justifiably angry with what's happened to the US over the last few years:

We’re angry because of what has happened to our country, because of how we’ve been treated, and because of the innumerable crimes the conservatives have committed. We’re angry at the president, we’re angry at the Congress, we’re angry at the news media. And we have every right to be.

Yes, we’re angry at George W. Bush. We’re not angry at him because of who he sleeps with, and we’re not angry at him because we think he represents some socio-cultural movement we didn’t like 40 years ago, or because he hung out with a different crowd than we did in high school. We’re angry at him because of what he’s done.

... 

Yes, we’re angry about Iraq, and we may be for the rest of our lives. ...

We’re angry that when we talk about ending this monstrous war, the soulless hypocrites who are glad to send more and more men and women to be scarred and maimed and killed in Iraq have the gall to accuse us of not “supporting the troops.” We’re angry that people whose actions exhibit nothing but contempt for freedom and liberty and justice, who wouldn’t know real patriotism if it came up and smacked them across the face, pin a little flag on their lapel and say that we’re the ones who hate America.

... 

We’re angry that America may now be the only country in the world in which torture is an officially sanctioned policy, proclaimed proudly in public. ...

And we’re angry that Bush has made our nation so hated around the world. We’re angry that the next time a Democrat gets elected, most of their time will be spent cleaning up the god-awful mess Bush has made of everything.

We’re angry that we and our children and our grandchildren will have to keep paying off the nation’s debt, which now stands at nearly $9 trillion. We’re angry because every other industrialized country in the world has a single-payer health care system that works, and we pay more for ours than any of them, yet we have 45 million people with no health insurance. We’re angry that the insurance companies have convinced their obedient servants in Congress that the Rube Goldberg perpetual paperwork machine we have now is somehow “the best health care in the world” and preferable to a system in which you go to your doctor, get treated and go home, without having to fill out 10 forms and get down on your knees before the gods of the HMO bureaucracy to get a partial repayment minus your deductible and your co-pay.

We’re angry that the federal government is brimming with people fundamentally opposed to the mission of the agencies over which they preside, the anti-environmentalists who run the Interior department, the mining company lobbyists in charge of mine safety and the union-busters in charge of worker safety.

Read it for yourself.

posted on Wednesday, March 14, 2007 6:04:48 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Thursday, September 28, 2006 

In the past few weeks, I've received not one but two letters from Christine Gregoire, the governor of Washington State, looking for support in re-electing her. The thing is, is that she's running in 2008, not 2006.

I threw away the first one. On the second one, I wrote something like this and mailed it back:

If this had come in December, I have been willing to support you. But not six weeks from a high-stakes election. What the hell are you thinking? Don't bother me again before 2008.

Sheer idiocy. Why would anyone send her money at the moment, instead of making donations towards the mid-term elections?

posted on Thursday, September 28, 2006 11:39:20 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Friday, July 28, 2006 

content/binary/epetitions_preview.png

I got an email earlier today from one of my relatives who has ties to South Africa, which read:

Last week a 3 year old girl (in South Africa ) was beaten and raped. She is still alive. The man responsible was released on bail yesterday. He is walking the streets. If you are too busy to read this then just sign your name and forward this on. The Government is planning to close the child protection unit and this is a petition against it. This is a very important petition. It is an essential part of the justice system for children. You may have already heard that there's a myth in South Africa that having sex with a virgin will cure AIDS. The younger the virgin, the more potent the cure. This has led to an epidemic of rapes by infected males, with the correspondent infection of innocent kids. Many have died in these cruel rapes. Recently in Cape Town, a 9-month-old baby was raped by 6 men. Please think about that for a moment. The child abuse situation is now reaching catastrophic proportions and if we don't do something, then who will?

Kindly add your name to the bottom of the list and please pass this on to as many people as you know. If you are signature no.: 120 please forward the mail-list to childprotectpca@saps.org.za

Please don't be complacent, do something about the kids of South Africa. You can make a difference. That child is fighting for life. This is just 1of the million cases of child abuse, so please pledge your support and help keep CPU (CHILD PROTECTION UNIT) open. Please give your support to the petition and ensure that it goes to as many people as possible. Please don't just leave it, make a difference. In order to write your name copy this messege and paste it in a new mail (compose). Or click on forward and add your name to the list and send it on to others.

Again, if you are number 120 please send this to childprotectpca@saps.org.za

[Lots of forwards stripped, as well as 97 signatures from South Africa, India, Nepal, the UK, and Australia.]

My immediate reaction was that this has to be a hoax. It has all the hallmarks:

  • Alarmist subject matter

  • Unsubstantiated assertions (but see note below)

  • Pass this letter on to everyone you know

  • No dates, no end dates

  • No provenance

Admittedly, many well-meaning but incompetently written petitions share the same problems.

Here's what I wrote back to everyone whose email address I could mine out of what I had been sent:

Stop! It's a hoax. Do NOT uncritically believe everything you get in email.

First thing you should do when you get a chain letter urging you to send email to everyone you know, is to Google around to see if it's horseshit. Nine times out of ten it will be.

The first link that shows up when you google for "childprotectpca chain letter" is this:

http://www.joewein.net/hoax/hoax-saps-child-protection-unit.htm

Which led me to the South African Police Service:

http://www.saps.gov.za/_dynamicModules/internetSite/faqBuild.asp?myURL=242

Snopes.com is the go-to site for all Internet hoaxes. Here's what they have to say about this one:

http://www.snopes.com/inboxer/petition/babyrape.htm

If you read any of these links, read this one. Then look around the Snopes website and get a feel for some of the crap that's out there.

Now, please go and forward THIS email to everyone you forwarded the previous email to, and also send this email to everyone who sent you the chain letter in the first place. Stamp it out before it spreads any further.

(Note: Snopes indicates that some of the rape stories mentioned in this letter are true. A nine-month-old girl really was raped, though it turns out that it wasn't the six men who were initially arrested, but the ex-boyfriend of the mother.)

I later followed up with the somewhat softer:

Let me just add this.

Hoax chain letters are a bad thing because some twit thinks it's fun to cause trouble and spread lies. This one has been circulating for four years. I'm sure it will still be turning up in four years' time.

About their only redeeming feature is that they get good-natured, if naive, people such as yourselves to do a little something in an attempt to make the world a better place. If these hoax letters actually achieved something constructive, I wouldn't mind nearly so much.

I've shot down a few chain letters before. Every single time, Snopes has already written up an extensive page about it.

posted on Friday, July 28, 2006 7:52:52 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Saturday, June 03, 2006 

The Ninth Ward of New Orleans, as shot by Scout Prime.

Christy at FireDogLake has written a post about this year's hurricane season, which officially started on June 1st.

New Orleans and the rest of the Gulf is still a disaster area: watch the video linked to above. Disaster preparedness is far from where it should be. The levee improvements are inadequate. Reconstruction is mired in bureaucracy and stalled in incompetence. The money promised has not materialized. Only one-third of New Orleans residents have returned.

Christy links to a report put together by Nancy Pelosi, detailing the incompetence and cronyism of the Republicans, both in the immediate response and in the long-term followup.

  • Up to $1 billion dollars in waste and fraud for housing contractors and payments made by the government, mainly to contractors from outside the Gulf Region.

  • The SBA has rejected more than 60% of small business loan applications in the wake of Katrina. Of those that have been approved, only 4% of funds have been disbursed to small business owners at this point. (Oh yeah, I got yer business friendly environment here. What was that Republican talking point that small business is the backbone of American jobs and communities?)

  • Less than 2% of all Federal aid that has gone to the Gulf Coast has been used for education expenditures.

  • The Rubber Stamp Republican Congress still refuses to ease Medicare restrictions for children in the Gulf Coast region, despite the fact that there is a substantial health care crisis for children in the region, stemming from infections and other issues arising from prolonged exposure to pathogens from flood waters, stress, and other factors. (1/3 of all children living in FEMA trailer parks have been found to have a chronic illness.)

  • 40,000 families are still waiting for some sort of housing assistance, meanwhile there are 10,000 FEMA trailers still parked in the mud, just sitting there unused.

  • Contractors with a political connection to the Bush Administration were paid up to 15 times the actual cost of jobs contracted.

posted on Sunday, June 04, 2006 4:13:47 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Saturday, May 20, 2006 

I mentioned last week that my parents have no aptitude for computers.

My father emailed me with a list of computer woes; notably, he was getting messages about no firewall. There was no way I was going to get to the bottom of the issue just by email or talking to him on the phone. It's 5,000 miles from Seattle to Dublin, so I can't drop by to take a look at the computer in person--much as my parents would like to have me visit.

I had tried using the built-in Windows Remote Assistance to troubleshoot issues on their laptop a couple of years ago, while they were on a protracted stay in Cape Town. I had solved the problem, but that had been fairly painful for me. The primary problem was the horrible sluggishness of the connection: they were on a slow dialup connection and the latency is something fierce. Another problem was the fragility of my control: if I dismissed a dialog by hitting Escape, I stopped controlling the remote desktop, and as a longtime vi user, I have certain deeply ingrained reflexes that are hard to overcome.

I decided to try out Joel Spolsky's Copilot. The Copilot service builds on TightVNC. The helper and the person being helped both make outbound connections to a Copilot server, which proxies the virtual session, neatly avoiding all kinds of NAT issues that can arise when you try to make a direct connection through a firewall. It's also supposedly easy to configure, requiring only a visit to the Copilot website and typing in an email address or a 12-digit number, before downloading a half-megabyte executable. It wasn't too painful to talk my father through making the connection, though the first time that he did it, he "lost" the binary and had to download it again. We initially tried the two-minute trial version, but that wasn't nearly enough time to do anything, so I shelled out the $10 for a day pass.

In Dublin, as in Cape Town, he dials up to the Internet on a 56K modem, and that once again proved to be the primary source of pain for me. It seemed a little less sluggish than I remembered Remote Assistance being, but I wasn't about to subject myself to trying that out too. The experience varied between tolerable and infuriating, but there's only so much that can be done at a little over 3Kbps.

The second reason the experience was so painful was that I ended up needing to repair the eTrust installation, and to download a full set of antivirus signatures, and I simply couldn't do it. The eTrust FTP site kept dropping the connection, and the full signature package takes over 20 minutes to download. I blame the FTP server, as I was VPN'd in to his laptop the whole time, so his Internet connection was obviously working. I eventually gave up at 4AM PDT, in utter frustration.

Verdict. Copilot works fairly well, although it can be painful over a dialup connection. I would have killed for a file-transfer facility so that I could send files directly between his computer and mine. $10 for a day pass isn't cheap, but he gets to pay it in future! I use Terminal Server and Virtual PC regularly: both of them provide ways to press all of the Windows keys (Terminal Server, Virtual PC); Copilot doesn't.

posted on Saturday, May 20, 2006 11:08:45 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Sunday, May 14, 2006 

I sometimes joke that I must be adopted because my parents have no aptitude for computers. I could make a similar joke about writing. Many of my immediate family, despite decent educations, seem to be incapable of writing a simple English sentence, much less a coherent paragraph.

One relative writes emails that are bereft of punctuation: neither a comma nor a full stop (period) is to be found. Capital letters occur, but too randomly for my liking. And everything is linked into one paragraph, no matter how long or disjointed. Yet, I've received adequately punctuated handwritten letters and postcards from him. I attribute his email slovenliness to a combination of laziness and hunt-and-peck typing. Whatever the cause, it reflects poorly on him.

John Scalzi has some Writing Tips for Non-Writers Who Don't Want to Work at Writing. Here's the summary:

  1. Speak what you write ... If what you're writing is hard to speak, what makes you think it's going to be easy to read? It won't be. ...

  2. Punctuate, damn you: For God's sake, is it really so hard to know where to put a comma? ...

  3. With sentences, shorter is better than longer.

  4. Learn to friggin' spell.

  5. Don't use words you don't really know.

  6. Grammar matters, but not as much as anal grammar Nazis think it does.

  7. Front-load your point.

  8. Try to write well every single time you write.

  9. Read people who write well.

  10. When in doubt, simplify.

  11. Speak what you write.

Go read the whole thing.

I found some useful links in the comments that follow Scalzi's Tips:

And here's a few tips of my own:

  • One thought per paragraph. Run-on paragraphs offend me and annoy me. If a paragraph has more than four sentences, it's probably too long.

  • Pick up something that was written by a competent writer who you enjoy and analyze a page. Why did they choose to break sentences where they did? Why are the commas placed where they are? Do the paragraph breaks make sense? What about the word choice? Did it clearly and succinctly convey their ideas, their tone? (Hell, just analyze this post.)

  • Think before you write. Before you dive in headlong, what is it you're trying to convey? This doesn't have to take you very long. A few seconds before a short email is enough.

  • Reread what you wrote, before you send it off. Revising mistakes is so easy on a computer that you have no excuse for not bothering.

This isn't enough to turn you into a professional writer, but it will make a marked improvement in what you write.

posted on Monday, May 15, 2006 6:56:18 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Saturday, December 10, 2005 

Harold Pinter's speech on accepting the 2005 Nobel Prize for Literature.

I put to you that the United States is without doubt the greatest show on the road. Brutal, indifferent, scornful and ruthless it may be but it is also very clever. As a salesman it is out on its own and its most saleable commodity is self love. It's a winner. Listen to all American presidents on television say the words, 'the American people', as in the sentence, 'I say to the American people it is time to pray and to defend the rights of the American people and I ask the American people to trust their president in the action he is about to take on behalf of the American people.'

It's a scintillating stratagem. Language is actually employed to keep thought at bay. The words 'the American people' provide a truly voluptuous cushion of reassurance. You don't need to think. Just lie back on the cushion. The cushion may be suffocating your intelligence and your critical faculties but it's very comfortable. This does not apply of course to the 40 million people living below the poverty line and the 2 million men and women imprisoned in the vast gulag of prisons, which extends across the US.

posted on Saturday, December 10, 2005 11:52:20 PM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Thursday, December 08, 2005 

I cannot look at a 16-digit credit card number and tell whether I've mistyped it or not. And neither can anyone else. I can, however, easily examine four separate four-digit numbers and spot typos.

1341329913245890 or 1341 3299 1324 5890? The choice is obvious. Yet most websites will not accept anything but the 16-digit string. It's a trivial matter to strip the spaces and normalize the credit card number, and it speaks to the incompetence of many website developers that they don't do this. The cognitive burden should be pushed onto the programmer, not the user.

On a related note, Irish people write phone numbers as a seven-digit string. I can't parse 6274986 at a glance either, but I can parse the US-style form, 627-4986.

posted on Friday, December 09, 2005 12:48:10 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]
Tuesday, November 15, 2005 

Last Wednesday night, Emma emailed a dozen of our friends, inviting them to join us for Thanksgiving dinner. One reply arrived the next morning. Then nothing.

By Sunday evening, I had grown exasperated enough to send out a snarky followup:

The courtesy of a belated reply would be appreciated. So far, we've got exactly one RSVP.

It served its purpose. Replies cascaded in. Most, alas, said "no"; they had other plans.

Would that this were an isolated incident. Time and again, I've issued invitations that were not responded to. A simple "yes" or "no" is ideal. A "maybe" is acceptable too, especially if you follow up with a "yes" or a "no".

RSVP is not a meaningless formality. It's a vital planning aid. I need to know ahead of time whether to expect three or thirteen for a dinner party. It's rude and thoughtless to leave me hanging in limbo. If I assume that everyone who's been invited will show up, and cater accordingly, and many of them don't come, I've gone to needless expense and effort. If I guess that only half those invited will turn up, and I underestimate, then I'm embarrassed by not being able to feed my guests properly.

It's almost as big a sin for you to say "yes", then fail to show, without a word of warning.

When the stakes are low, such as a large drinks party, the lack of RSVPs is a minor matter. For a major production, it's inconsiderate at best.

posted on Wednesday, November 16, 2005 3:11:45 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [1]