Tuesday, December 28, 2010

Untangled

Katy and I decided to go out and see a movie this evening, and settled on the 7PM showing of Tangled at Fresh Pond Entertainment Cinemas. This movie theater is never my first choice; the theaters are small, the sound insulation between them is poor, and they're expensive. Usually I try to go to one of these:

But Fresh Pond was the closest place we could find with Tangled, so off we went - only to return home without seeing the movie. The sound level was extremely low (as opposed to the usual ear-splitting over volume...) and the image jittery. As soon as the previews started and the problem became apparent I went out the lobby and notified a theater employee; nothing happened. Eventually the actual movies started, and we walked out.

The manager was very polite, and refunded our money without any hassle, but it just seemed so pathetic. Evidently there is so much automation that the one "projectionist" they have was unable to actually do any troubleshooting.

The price of two adult tickets is $18.50; that's about the price of most Blu-Ray movies on Amazon (plain old DVDs are even cheaper). With this kind of experience, how long do the movie theaters think they can stay in business?

Wednesday, December 22, 2010

Now it can be told...

Today we released expressor Studio 3.0. We've worked really hard over the past year for this moment.

(This is from a more recent release...)


We also had a great Yankee swap and Chinese take-out lunch. I got a cool Lava Lamp out of the deal!

Monday, December 20, 2010

Lord of the Dance

I'm a member of of the Pinewoods Morris Men; we dance every year in the Christmas Revels at Sanders Theatre in Cambridge. The traditional ending of the first act is always a performance of the Lord of the Dance, which ends with the Morris dancers leading the audience into the lobby for intermission. Here's a video clip of my teammates Steve and Joe (along with cast member David Coffin) at a recent Revels (not this year):




Well, last night Owen and I had the privilege of performing the dance together, one of the few father/son pairs to do so.

Merry Christmas!

Wednesday, December 8, 2010

More about Torrent

I found a brochure from 1997. 


Pretty cool/scary looking, eh?

Wednesday, November 24, 2010

symbolic links on Windows

Windows "shortcuts" are not the same thing as Unix symbolic links. In fact, Windows (at least, pre-Vista Windows) doesn't have symbolic links. Bummer.

BUT - it turns out that Windows 2000 and later do have a feature called junction points.These can be used to produce the moral equivalent of a symbolic link for directories only, not individual files. Since I mostly use directory symlinks anyway, this is useful for me. Thank you, Mike Nordell, for your little makelink command line tool!

Monday, November 22, 2010

Hey - it worked!

Nearly 16 years ago, I got call more-or-less out of the blue from a fellow named Rob Utzschneider, who wanted to interview me for a parallel processing start-up named Applied Parallel Technologies. Rob and his co-founder, Ed Zyszkowski, had just received funding under the Advanced Technology Program, a program run by NIST, an agency of the U.S. Commerce Department. The intent of ATP was, "...to spur the development of path-breaking new technologies by providing cost-shared funding for potentially valuable but high-risk R&D projects." Over a two year period, ATP put about $1.1million into Applied Parallel Technologies (APT - confusingly similar to ATP...), which paid our salaries, bought us workstations, gave us an Internet connection and who knows what else.


Over time, APT morphed into Torrent Systems, acquired VC funding, and was eventually acquired by Ascential Software and, ultimately, IBM. The system we developed - Orchestrate - is still at the heart of IBM's Information Server software. Given its continued survival, we must have done something right.

Evidently NIST thought so, too. I just stumbled over an ATP report describing the performance of the first 50 completed ATP projects. Our work earned 4 stars - the highest possible rating - and was among the 8 top-ranked projects. The project summary brought back a lot of memories.

So - I guess that, at least in our case, a government program actually did just what it was supposed to do. The ATP grant got Torrent off the ground, and we were successful enough that venture capital followed. We built a working system that helped bring parallel processing into the mainstream. The MapReduce software used by Google is a variation on the flow-based, data parallel concepts embodied in Orchestrate.

Cool.

Saturday, November 20, 2010

Doesn't anyone care?

This morning I was out in the lawn raking leaves at about 10:30 when I spotted delivery truck preparing to turn the wrong way up our one-way street (from Miller to Orchard). I yelled to him that it was a one way street, but he kept coming - and in the process tore down the phone lines that cross the street at that corner. He stopped the truck, and I yelled to him that he had taken down wires, but he ignored me, backed his truck down Orchard, paused, and then turned down Blake and left.

I went inside, discovered that among the lines he took out were our phone lines, and called the Cambridge police to report the incident. The Cambridge Fire Department promptly sent a truck out to inspect the downed lines and get them off the street.

I then called Verizon to report the downed lines, a real exercise in frustration. They force you to listen to ads for FIOS before giving you a chance to enter any options, and you're then forced through a voice response system that never offers you a chance to talk to a human. I tried contacting them on the web; that was just as fruitless. I wonder if Verizon has any clue how infuriating their customer support is.

Finally, I called back the Cambridge police department to see if they wanted any of the information I had, so they could follow up with the driver and/or trucking company. There was no interest at all.

SO - since it seems there will be no official action, I can at least publish what I have. First, the raw information:

  • License plate: MA 248 0924
  • DOT 949278
  • MC 640842
  • The truck was labeled DB Schenker and QTX, Salem, NH, and was a white box truck.
The U.S. Department of Transportation provides a lookup page for DOT/MC numbers, which provided these details on the trucking company:

Legal NameQUATIERI TRUCKING INC
DBA NameQTX TRANSPORTATION
Physical and
Mailing Address
ONE LISETTE DR
SALEM, NH 03079
Phone(617) 201-0897
USDOT Number949278
MC NumberMC-640842

I got a good look at the driver, since he got out of the truck before driving off and asked me, "Is there a problem here?" in a threatening tone. He's a bit shorter than me (maybe 5'6"), mid 20's to mid 30's, black mustache, a little heavy. This was one time I regret not having a cell phone camera.

I'm still trying to figure out who, if anyone, I can report this incident to. It doesn't seem right that a guy can deliberately turn the wrong way on a one-way street, tear down phone lines, and just drive off.

Update: I filed a complaint (ID 100045255) with the Federal Motor Carrier Safety Admnistration.

Update, early January 2011: I got a response from the DOT, stating that they have opened an investigation.


Update, March 2011: I got another letter from the DOT; they are preparing an "enforcement action." Who knows what that means, but it should at least get the attention of the trucking company. Sometimes the system does work!

Thursday, November 11, 2010

C++ exceptions and dynamic loading

[Note: non-geeks can click away right now...]

I just spent a chunk of my afternoon trying to figure out why my C++ exception handlers were not being invoked on Linux, using g++. I could see the exception being thrown in the debugger, but the catch block that caught the exception was the "catch(...)" block, rather than my type-specific block.

It looks like it's a problem with the g++ exception mechanism. What appears to be happening is that the selection of the catch block uses the addresses of type_info blocks, rather than string comparisons on the exception names (which, I've been led to believe, is what Visual Studio C++ does - where my code works fine). If you are using a dynamically loaded module, and there are multiple copies of the RTTI information (easy to do if you are statically linking some libraries, which I am...), and you throw across the loaded module boundary, SPLAT!

This mailing list thread helped me figure this out. I learned a few other useful factoids in the process:

  • gdb's catch command makes it easy to break on exceptions being thrown and caught:
    • catch throw
    • catch catch
  • It's possible to dig around in the g++ runtime system within the body of a catch(...) block and get to the type_info for the exception, which will give you a (platform-dependent) type name - handy for a debug message.
Thank you, web denizens...

Tuesday, November 9, 2010

Algorithm 199

I'm blogging this just so I don't lose this useful reference to CACM Algorithm 199, a magic set of routines for converting between Gregorian (calendar) and Julian dates. Someday I'd love to read the original article and find out where all the magic numbers come from.

Sunday, October 17, 2010

Decisions, Decisions

On Tuesday, November 2 (about 2 weeks away as I write), Massachusetts voters will deciding the fate of three statewide initiatives. Questions 1 and 3 would roll back various state taxes, and are no-brainers as far as I'm concerned; we simply can't afford to cut the sales tax right now (Question 3), and I fail to see why alcoholic beverages deserve an exemption from the sales tax (Question 1). Question 2, though, is less straightforward; it's a bid to overturn the so-called "anti-snob zoning statute", Chapter 40B. The statute basically enables developers to override local zoning and environmental protection laws in return for making 20% of the units in the project "affordable".

The definition of "affordable" means, roughly, "can be afforded by someone earning 70% of the median town income." Hence, the level varies from town to town. The units are not affordable in perpetuity; rather, they revert to market rate units once the initial unit financing is paid off.

I've read the arguments for and against the initiative, and I'm pretty sure now that I'll be voting yes (to overturn 40B). The statute seems to be a very blunt instrument for creating affordable housing, and it's not at all clear to me that it really works.

While doing my research on this topic, I had a hard time finding out which communities are subject to 40B (towns with less than 10% affordable housing). I finally found the Subsidized Housing Inventory, but it's a PDF, which makes it difficult to pull into a spreadsheet and sort. Well, I ground my way through the exercise (thank you, emacs!), and here's the information in a more digestible form. Have fun!

Chapter 40B Subsidized Housing Inventory (SHI)
Department of Housing and Community Development
as of September 28, 2010*

Community|2000 Census Year Round Housing Units|Total Development Units|SHI Units|% 
Abington|5,332|504|471|8.8
Acton|7,645|897|519|6.8
Acushnet|3,879|127|97|2.5
Adams|4,352|324|324|7.4
Agawam|11,588|504|472|4.1
Alford|173|0|0|0.0
Amesbury|6,570|859|495|7.5
Amherst|9,020|1,125|1,023|11.3
Andover|11,513|1,326|1,043|9.1
Aquinnah|155|41|41|26.5
Arlington|19,358|1,307|1,102|5.7
Ashburnham|1,997|147|32|1.6
Ashby|1,000|0|0|0.0
Ashfield|770|2|2|0.3
Ashland|5,781|348|243|4.2
Athol|4,775|255|255|5.3
Attleboro|16,519|1,198|1,198|7.3
Auburn|6,551|212|212|3.2
Avon|1,737|74|74|4.3
Ayer|3,141|463|293|9.3
Barnstable|20,266|1,858|1,369|6.8
Barre|1,981|82|82|4.1
Becket|739|0|0|0.0
Bedford|4,692|979|857|18.3
Belchertown|5,002|396|370|7.4
Bellingham|5,632|582|532|9.4
Belmont|9,936|328|328|3.3
Berkley|1,870|130|15|0.8
Berlin|891|182|60|6.7
Bernardston|862|24|24|2.8
Beverly|16,150|1,935|1,859|11.5
Billerica|13,055|1,432|1,186|9.1
Blackstone|3,321|165|123|3.7
Blandford|472|2|2|0.4
Bolton|1,472|192|63|4.3
Boston|250,367|50,116|48,503|19.4
Bourne|7,787|1,189|568|7.3
Boxborough|1,900|324|24|1.3
Boxford|2,602|64|23|0.9
Boylston|1,602|26|26|1.6
Braintree|12,924|1,646|1,125|8.7
Brewster|4,379|299|252|5.8
Bridgewater|7,639|222|214|2.8
Brimfield|1,287|89|89|6.9
Brockton|34,794|4,486|4,486|12.9
Brookfield|1,259|46|40|3.2
Brookline|26,224|2,554|2,122|8.1
Buckland|812|5|5|0.6
Burlington|8,395|1,383|981|11.7
Cambridge|44,138|7,207|7,117|16.1
Canton|8,129|965|860|10.6
Carlisle|1,647|26|20|1.2
Carver|4,063|126|126|3.1
Charlemont|576|6|6|1.0
Charlton|3,868|52|52|1.3
Chatham|3,596|174|174|4.8
Chelmsford|12,981|1,293|966|7.4
Chelsea|12,317|2,192|2,187|17.8
Cheshire|1,458|0|0|0.0
Chester|528|50|50|9.5
Chesterfield|462|27|27|5.8
Chicopee|24,337|2,598|2,561|10.5
Chilmark|406|3|3|0.7
Clarksburg|683|8|8|1.2
Clinton|5,817|560|560|9.6
Cohasset|2,752|89|89|3.2
Colrain|749|4|4|0.5
Concord|6,095|738|363|6.0
Conway|716|0|0|0.0
Cummington|401|16|16|4.0
Dalton|2,831|160|160|5.7
Danvers|9,712|1,362|999|10.3
Dartmouth|10,839|975|934|8.6
Dedham|8,893|1,142|1,097|12.3
Deerfield|2,045|32|32|1.6
Dennis|8,079|351|337|4.2
Dighton|2,261|408|150|6.6
Douglas|2,510|183|140|5.6
Dover|1,874|69|18|1.0
Dracut|10,597|928|588|5.5
Dudley|3,877|99|99|2.6
Dunstable|933|30|0|0.0
Duxbury|5,103|224|189|3.7
East Bridgewater|4,423|229|167|3.8
East Brookfield|797|0|0|0.0
East Longmeadow|5,350|499|431|8.1
Eastham|2,642|58|49|1.9
Easthampton|7,058|531|475|6.7
Easton|7,596|351|248|3.3
Edgartown|1,718|84|84|4.9
Egremont|624|0|0|0.0
Erving|625|2|2|0.3
Essex|1,357|40|40|2.9
Everett|15,886|1,304|1,304|8.2
Fairhaven|6,853|495|495|7.2
Fall River|41,757|4,858|4,762|11.4
Falmouth|14,440|1,224|960|6.6
Fitchburg|15,963|1,667|1,666|10.4
Florida|279|0|0|0.0
Foxborough|6,260|595|555|8.9
Framingham|26,588|2,901|2,901|10.9
Franklin|10,296|1,567|1,069|10.4
Freetown|2,991|106|88|2.9
Gardner|8,804|1,243|1,243|14.1
Georgetown|2,601|374|362|13.9
Gill|550|25|25|4.5
Gloucester|12,997|907|899|6.9
Goshen|380|8|8|2.1
Gosnold|49|0|0|0.0
Grafton|5,820|531|318|5.5
Granby|2,288|68|68|3.0
Granville|578|10|10|1.7
Great Barrington|3,116|291|219|7.0
Greenfield|8,274|1,175|1,165|14.1
Groton|3,339|269|197|5.9
Groveland|2,090|132|75|3.6
Hadley|1,943|259|259|13.3
Halifax|2,804|28|28|1.0
Hamilton|2,717|124|84|3.1
Hampden|1,843|60|60|3.3
Hancock|341|0|0|0.0
Hanover|4,440|438|438|9.9
Hanson|3,167|265|143|4.5
Hardwick|1,054|33|33|3.1
Harvard|2,156|237|62|2.9
Harwich|5,862|292|292|5.0
Hatfield|1,420|47|47|3.3
Haverhill|23,675|2,306|2,084|8.8
Hawley|165|0|0|0.0
Heath|416|2|2|0.5
Hingham|7,307|2,283|522|7.1
Hinsdale|775|0|0|0.0
Holbrook|4,145|439|439|10.6
Holden|5,806|541|193|3.3
Holland|947|29|29|3.1
Holliston|4,861|316|200|4.1
Holyoke|16,180|3,570|3,515|21.7
Hopedale|2,284|111|111|4.9
Hopkinton|4,521|299|150|3.3
Hubbardston|1,348|53|53|3.9
Hudson|7,144|904|733|10.3
Hull|4,679|100|100|2.1
Huntington|847|62|62|7.3
Ipswich|5,414|517|445|8.2
Kingston|4,370|347|170|3.9
Lakeville|3,385|701|150|4.4
Lancaster|2,103|192|104|4.9
Lanesborough|1,299|20|20|1.5
Lawrence|25,540|3,807|3,788|14.8
Lee|2,542|173|176|6.9
Leicester|3,790|148|148|3.9
Lenox|2,354|179|179|7.6
Leominster|16,937|1,455|1,418|8.4
Leverett|642|0|0|0.0
Lexington|11,274|1,441|1,326|11.8
Leyden|288|2|2|0.7
Lincoln|2,076|299|227|10.9
Littleton|3,018|396|245|8.1
Longmeadow|5,832|267|267|4.6
Lowell|39,381|5,247|5,212|13.2
Ludlow|7,815|182|182|2.3
Lunenburg|3,605|132|132|3.7
Lynn|34,569|4,424|4,423|12.8
Lynnfield|4,249|626|313|7.4
Malden|23,561|2,706|2,638|11.2
Manchester|2,219|122|110|5.0
Mansfield|8,083|980|934|11.6
Marblehead|8,746|399|332|3.8
Marion|2,095|101|90|4.3
Marlborough|14,846|1,656|1,592|10.7
Marshfield|9,117|743|536|5.9
Mashpee|5,578|240|224|4.0
Mattapoisett|2,634|70|70|2.7
Maynard|4,398|365|365|8.3
Medfield|4,038|203|185|4.6
Medford|22,631|1,666|1,640|7.2
Medway|4,243|279|227|5.3
Melrose|11,200|969|894|8.0
Mendon|1,870|106|49|2.6
Merrimac|2,281|402|146|6.4
Methuen|16,848|1,925|1,636|9.7
Middleborough|7,195|768|413|5.7
Middlefield|229|18|18|7.9
Middleton|2,337|94|94|4.0
Milford|10,682|997|724|6.8
Millbury|5,086|244|221|4.3
Millis|3,060|164|113|3.7
Millville|956|20|20|2.1
Milton|9,142|567|435|4.8
Monroe|66|0|0|0.0
Monson|3,184|169|169|5.3
Montague|3,826|427|395|10.3
Monterey|417|0|0|0.0
Montgomery|254|0|0|0.0
Mount Washington|69|0|0|0.0
Nahant|1,676|48|48|2.9
Nantucket|4,040|180|122|3.0
Natick|13,337|1,620|1,361|10.2
Needham|10,793|850|834|7.7
New Ashford|107|0|0|0.0
New Bedford|41,403|5,195|5,164|12.5
New Braintree|325|0|0|0.0
New Marlborough|630|0|0|0.0
New Salem|399|1|1|0.3
Newbury|2,614|94|94|3.6
Newburyport|7,717|722|629|8.2
Newton|31,857|2,537|2,444|7.7
Norfolk|2,851|144|111|3.9
North Adams|7,061|885|873|12.4
North Andover|9,896|1,193|694|7.0
North Attleborough|10,600|293|293|2.8
North Brookfield|1,889|142|142|7.5
North Reading|4,839|607|536|11.1
Northampton|12,282|1,515|1,452|11.8
Northborough|4,983|711|598|12.0
Northbridge|4,930|393|378|7.7
Northfield|1,194|30|30|2.5
Norton|5,942|723|413|7.0
Norwell|3,299|294|139|4.2
Norwood|11,911|731|719|6.0
Oak Bluffs|1,677|155|146|8.7
Oakham|583|0|0|0.0
Orange|3,236|441|377|11.7
Orleans|3,317|324|294|8.9
Otis|600|0|0|0.0
Oxford|5,209|402|402|7.7
Palmer|5,371|436|378|7.0
Paxton|1,455|12|12|0.8
Peabody|18,838|2,111|1,996|10.6
Pelham|551|3|3|0.5
Pembroke|5,834|778|630|10.8
Pepperell|3,905|137|122|3.1
Peru|334|0|0|0.0
Petersham|453|0|0|0.0
Phillipston|598|6|6|1.0
Pittsfield|21,000|2,076|2,022|9.6
Plainfield|262|15|15|5.7
Plainville|3,088|223|189|6.1
Plymouth|19,008|901|861|4.5
Plympton|865|43|43|5.0
Princeton|1,185|20|20|1.7
Provincetown|2,062|168|127|6.2
Quincy|39,912|4,093|4,093|10.3
Randolph|11,497|1,265|1,265|11.0
Raynham|4,197|602|487|11.6
Reading|8,811|883|684|7.8
Rehoboth|3,588|108|36|1.0
Revere|20,102|2,121|2,121|10.6
Richmond|718|0|0|0.0
Rochester|1,619|8|8|0.5
Rockland|6,632|454|408|6.2
Rockport|3,652|136|136|3.7
Rowe|183|0|0|0.0
Rowley|1,985|118|88|4.4
Royalston|470|3|3|0.6
Russell|634|18|18|2.8
Rutland|2,316|93|93|4.0
Salem|18,103|2,549|2,350|13.0
Salisbury|3,456|514|298|8.6
Sandisfield|351|0|0|0.0
Sandwich|7,574|545|309|4.1
Saugus|10,111|831|742|7.3
Savoy|313|14|14|4.5
Scituate|6,869|359|314|4.6
Seekonk|4,927|86|83|1.7
Sharon|6,006|386|386|6.4
Sheffield|1,422|30|30|2.1
Shelburne|873|51|51|5.8
Sherborn|1,449|41|34|2.3
Shirley|2,140|60|60|2.8
Shrewsbury|12,606|856|856|6.8
Shutesbury|680|2|2|0.3
Somerset|7,124|277|258|3.6
Somerville|32,389|3,226|3,118|9.6
South Hadley|6,757|379|379|5.6
Southampton|2,003|44|44|2.2
Southborough|2,988|441|117|3.9
Southbridge|7,486|496|496|6.6
Southwick|3,488|221|195|5.6
Spencer|4,816|276|240|5.0
Springfield|61,001|10,375|10,098|16.6
Sterling|2,611|270|163|6.2
Stockbridge|1,066|117|117|11.0
Stoneham|9,231|508|502|5.4
Stoughton|10,429|1,746|1,249|12.0
Stow|2,108|301|143|6.8
Sturbridge|3,141|262|211|6.7
Sudbury|5,582|419|280|5.0
Sunderland|1,658|6|6|0.4
Sutton|2,869|127|45|1.6
Swampscott|5,804|217|211|3.6
Swansea|6,032|256|245|4.1
Taunton|22,874|1,883|1,771|7.7
Templeton|2,492|483|205|8.2
Tewksbury|10,125|1,264|666|6.6
Tisbury|1,755|122|110|6.3
Tolland|183|0|0|0.0
Topsfield|2,126|142|124|5.8
Townsend|3,162|166|126|4.0
Truro|999|10|10|1.0
Tyngsborough|3,784|521|194|5.1
Tyringham|146|0|0|0.0
Upton|2,083|223|178|8.5
Uxbridge|4,080|372|245|6.0
Wakefield|9,914|936|602|6.1
Wales|690|61|61|8.8
Walpole|8,202|475|475|5.8
Waltham|23,749|1,773|1,764|7.4
Ware|4,285|446|446|10.4
Wareham|8,650|884|754|8.7
Warren|2,004|112|112|5.6
Warwick|314|0|0|0.0
Washington|210|0|0|0.0
Watertown|14,959|1,161|998|6.7
Wayland|4,703|280|216|4.6
Webster|7,343|733|692|9.4
Wellesley|8,789|514|482|5.5
Wellfleet|1,430|37|37|2.6
Wendell|405|2|2|0.5
Wenham|1,310|169|116|8.9
West Boylston|2,454|288|189|7.7
West Bridgewater|2,507|125|63|2.5
West Brookfield|1,436|62|62|4.3
West Newbury|1,414|82|28|2.0
West Springfield|12,196|442|442|3.6
West Stockbridge|632|0|0|0.0
West Tisbury|1,081|38|23|2.1
Westborough|6,729|721|671|10.0
Westfield|15,362|1,095|1,095|7.1
Westford|6,877|643|347|5.0
Westhampton|557|0|0|0.0
Westminster|2,609|273|86|3.3
Weston|3,796|250|138|3.6
Westport|5,545|458|224|4.0
Westwood|5,218|615|497|9.5
Weymouth|22,471|1,857|1,833|8.2
Whately|647|2|2|0.3
Whitman|5,100|218|218|4.3
Wilbraham|5,021|256|255|5.1
Williamsburg|1,057|76|76|7.2
Williamstown|2,926|147|147|5.0
Wilmington|7,141|939|711|10.0
Winchendon|3,563|345|345|9.7
Winchester|7,860|150|148|1.9
Windsor|378|0|0|0.0
Winthrop|8,009|642|642|8.0
Woburn|15,312|1,305|1,137|7.4
Worcester|70,408|9,603|9,591|13.6
Worthington|522|22|22|4.2
Wrentham|3,477|268|164|4.7
Yarmouth|12,056|514|407|3.4

Totals|2,526,963|271,397|243,630|9.6

Thursday, October 14, 2010

Falling Leaves

It's mid-October and the leaves around Boston are finally turning - a little late this year, it seems to me. Each day my drive into work gives me more glorious, multi-colored trees. I'll need to start the raking this weekend.

With autumn as background, today I received the sad news that Deborah Goessling, the wife of my former colleague and friend Dan Goesssling, died unexpectedly this past Monday night. I didn't know Deb well, but I was close to Dan during my 5 year stint at IBM, and we've stayed in touch.

I only just discovered that Deb has been blogging for the past two years, with the focus of her blog being her lived experience with ALS. Her most recent entry was two weeks ago. I wish I'd known about her blog earlier; it offered a vivid and upbeat window into her life.

Tuesday, August 31, 2010

The New (3rd gen) Kindle

Yesterday I received my new 3rd generation, Wifi-only Kindle in the mail. So far it's been a bit of a mixed bag, relative to my 2-year-old original Kindle.

Good things:

  • it is, of course, smaller and lighter .
  • The contrast is noticeably better, and the quality of images is dramatically better.
  • Page turns are a lot faster.
  • The software offers some nice new features (notably, collections).
  • The wifi connectivity was easy to set up, including multiple networks.
  • The wifi-only version is finally reasonably priced (call it $140).
Bad things:
  • I can't find a way to set the sleep timeout; it seems like it's pretty short, and since I have a password set, that means I have to retype the password too often.
  • The first time I tried to download new (as opposed to previously purchased content from my old Kindle), the items got stuck in a "pending - 0%" state. I called CS, and they had me restart the Kindle (which takes about a minute; it's shockingly slow, for a dedicated device...). That unclogged it, but I won't be happy if I have to do this very often. I got the distinct impression from the CS guy that "pending first downloads" is a common problem.
  • To my surprise, I don't like the "arrow quad" for navigation as well as I did the old "roller strip". The roller was very fast, and since it used a display other than the main display (with a different technology), it was very responsive. Feedback from the new arrow quad is on the main (e-ink) display, which means it can't be very fast; and it feels glitchy; the quad is small enough that I find myself pressing the center "select" button inadvertently.
  • Related to the quad vs. roller - the dictionary lookup is different, too. On the old Kindle, you scrolled to the line containing the word to be looked up, depressed the roller, and selected "lookup" on the menu that appeared. All the words on that line were searched for. On the new Kindle, you actually have to select a specific word, which requires more careful navigation with the arrow quad.
It may be that some of the negatives (like the use of the quad) go away as I become more adept with the device - but it distinctly feels like a more complicated gadget. I fear that Amazon has fallen prey to feeping creaturism. The real beauty of the first generation device was that it was dead-up simple to use as a book. This new Kindle has more features, but may not be as good a book reader - and if it tries to go head-to-head with the iPad, it's sure to lose.

The main reason I got a new Kindle was for sharing; I've been really annoyed that, unlike a book, I've had no way to lend out books on the Kindle to friends. Now that I have a second gadget, I can loan out the old one. 

Given that up to six Kindles can share an account, I can imagine a group of friends, or even a book group, getting together to share books. I bet Amazon - and the publishing cabal - would hate that.

Sunday, August 1, 2010

Looking at Wheels

Yesterday I looked at wheels of various sorts. Last weekend RuthAnne and I took the Basic Rider Course from Training Wheels in Plympton and passed the exam to get our motorcycle licenses. I've wanted to know how to ride - and be able to do so legally - since my long trip to India in 2007, when it became clear that a 2-wheeler would have been the ideal way for me to get around. More recently, my daily commute to Burlington by bus has been getting me down; it takes an extra hour out of my day to go by bus than by car, yet I don't want to do all that driving, so I've been thinking a high-MPG 2-wheeler would be a good choice.

So - I stopped first at Boston Motor Sports in Arlington and looked at scooters. They carry scooters from (among others) Kymco and Suzuki. I was especially interested in the new Kymco Downtown 300i, but it's unfortunately not going to be available until the fall. It looks like a sweet vehicle; 60MPG, top speed of about 80MPH, large wheels (for a scooter), lightweight, FUN. While there, I looked at the Kymco People S 250, a similar scooter; it looked pretty good. I also checked out a used 2008 Aprilia 250 with 3000 miles, for $3200, including rear box.

I unfortunately couldn't ride anything; Boston Motor Sports (not unreasonably) requires a full license for test drives, not just a permit, and I'm still waiting for mine to come in the mail. After leering at metal for a while, I wandered upstairs to their gear department and checked out, helmets, gloves, jackets and such. One of the sales guys was particularly helpful, and I tried on a lot of stuff.

A helmet is a completely indispensible piece of safety gear, and I tried on helmets from Shoei and Arai. The Arai Vector medium fit me particularly well; it's about $450. I checked on the Internet (of course), and that's a very reasonably price for that helmet. I did price checks on everything I looked at at Boston Motor Sports, and they alway came in just a little over the best Internet prices. So I'll be buying locally!

For gloves, the Power Trip Grand National medium fit well and felt comfortable; $45/pair. For jackets, there were several that seemed pretty reasonable, costing between $250 and $450 for a complete system (outer shell with protective inserts, removable inner insulation layers). Chaps or other overpants seem like a wise idea, and boots wouldn't hurt, either. So I could be looking at about $1000 worth of protective gear before I even get a machine...

I left Arlington and went out to Framingham to look at a Sym Citycom 300 at Metrowest Scooters. They were a bit more laid back about the license requirement, and I got to take the citycom out for a spin. I was a bit disappointed with the acceleration; there's clearly a big performance difference between motorcycles and scooters with similar engine sizes. But the scoot handled bumps smoothly and was, of course, insanely easy to operate.

Finally, for something completely different, I stopped at Ace Wheelworks ( a few blocks from home) and took out a Trek Allant for a test ride. It was really fun being back on a bicycle, and this one is even pretty affordable. The 20" frame was right for me, and I had no trouble (aside from my terrible out-of-shapedness) gtting it up hills and stopped on the way down.

I'm sure I won't be making any purchase real soon, but it was fun to look.

Wednesday, June 30, 2010

Senator Robert Byrd is gone

Senator Robert Byrd of West Virginia died on Monday, at the age of 92. I'll leave the obituaries to more capable hands, but I have one particularly powerful memory of Byrd I'd like to relate.

In early October of 2002, the Senate debated - and ultimately passed -  what became known as the Iraq War resolution. This pre-dated my blog, but I wrote about it on an earlier incarnation of my web site:

I headed up I-95 toward Pete's house in Casco, Maine on Friday afternoon, October 4th. The weather forecast had been changing all week, going from fair to bad to fair; on Thursday night we decided to just go for it, and hope the weather gods would take pity on us. I drove north through grey skies and occasional drizzle, which matched my rather somber mood. The Senate had taken up Bush's request for a free hand with Iraq. The debate between Senators Robert Byrd and John Warner was a rare display of passionate, yet civil debate. Byrd said at one point:
  The Framers were very wise when they determined that these two
  matters--the decision to go to war and the making of war--should
  be in two different places. The decision, the determination to
  declare war, should flow from this branch, the people's branch,
  and the matter of making war should be in the hands of a unified
  commander, the Commander in Chief.

  What are we doing? In my view, if we accept this resolution as it
  is written, we are saying both of these vital functions would be 
  placed in the hands of one man. And what did Madison say? He 
  said: The trust and the temptation are too great for any one man.

Pretty heady stuff, considering the usual tone of Washington politics.
You can find the full text of the debate on Thomas, the the official home of the Congressional Record. It's a little tricky to link to a specific page on Thomas, but if you follow this link and then find the link to page S9955, you'll be able to find it. The transcript is well worth reading.

Byrd was one of only 23 senators who ultimately voted against the war. Among those who voted for the authorization to go to war:

  • John Kerry
  • Hillary Clinton
  • Harry Reid
  • Christopher Dodd
  • Dianne Feinstein
  • Charles Schumer
Imagine how different the world would be if Byrd's eloquence had won over more of his colleagues.

Sunday, June 27, 2010

Links of the day

Weekends are, for me, highly variable in their effectiveness in unplugging me from the pressures of the work week. This weekend, though, is turning out nicely. Yesterday was a "getting things done" day - bill paying, grocery shopping, laundry, all that stuff I either can't or won't do on weekday evenings. Today is a "recharge" day. It opened with a few hours of reading (the New Yorker, the Sunday New York Times, the comics), followed by food prep for this evening and the upcoming week while listening to the radio.


From the The New Yorker came A Man of Letters, a fascinating look at the neurology of reading and writing. In the summer of 2001, the novelist Howard Engel suffered a stroke that destroyed his ability to read - but left him otherwise essentially unimpaired. Curiously, his ability to write was not affected - though he was incapable of reading what he had just written! 

Then, as I puttered around the kitchen cooking, I listened to Speaking of Faith. SoF is variable in quality, but this week it's outstanding. Krista Tippets' guest is physicist and professor Arthur Zajonc, and the explore the relationship between science and meditation. Zajonc points to meditation as a powerful tool for focussing attention - a crucual skill for a scientist. He also muses about the increasingly large gap between the complexity and inner working of everyday objects (such as cell phones and computers) and the understanding most people of them.

Checking out the web page for the broadcast too me to this great little (3 minute) TEDtalk about our increasing online availability, and its effect on our face-to-face relationships.

Wednesday, May 5, 2010

An Imperfect Novel...


...but only because it's a delightful collection of short stories. I'm reading Tom Rachman's first novel The Imperfectionists, after reading a glowing review in the Sunday NYTimes Book Review. As I finished the devastating chapter "U.S. General Optimistic on War", it struck me that this book is much like two of my other favorite collections of linked short stories: Tillie Olson's Tell Me a Riddle and Gloria Naylor's The Women of Brewster Place.

I'm enjoying this so much that I'll probably polish it off (very late...) this evening - the curse of a good book.

Sunday, May 2, 2010

May Day 2010

My Morris team danced out on May Day, along with Clownfish Rapper and Commonwealth Morris. We started in Davis Square, a few blocks from my home, then danced for the Revels May Day celebration, Verrill Farm in Concord, and finally concluded the day with a feast at Tom's home in Sudbury. A fine time was had by all.


Sean Smith caught this nice moment of Dan and me in mid-leap. Thanks, Sean!

Sunday, April 4, 2010

Ah, the Old Same Place

My buddy Dave spent some time yesterday walking our alma mater (stretching the term, in my case...) and sent me pictures. Thanks, Dave.

2010 FTU, er, UCF virtual tour

Thursday, April 1, 2010

XKCD's April Fool hack

Go visit xkcd now, because I suspect it will be back to, ah, "normal" tomorrow.

Some cheats in the comments.

Update: The 2010 April Fools' Day xkcd hack will live on.

Saturday, March 27, 2010

The Gamble and Stones Into Schools

My two most recent reads have been The Gamble, by Thomas Ricks (the atuhor of Fiasco, which I read several years ago), and Stones into Schools, Greg Mortenson's follow-up to Three Cups of Tea. They were both impulse purchases from Porter Square Books; I should know better than to wander in there with my wallet.

The Gamble continues Ricks' description and analysis of the war in Iraq. It's a good follow-up to The Fourth Star, as it deals with many of the same people and issues. Ricks does a great job explaining how "the surge" became U.S. policy, why it succeeded - and why the war so far has been only a prelude to what promises to be a long saga. The successful revolution in U.S. military thinking brought about by General David Petraeus and his like-minded colleagues is extraordinary, but it can't make up for the preceding years of mismanagement and woefully misguided civilian leadership. Ultimately, the surge succeeded in its goal of providing "breathing space" for Iraqi politicians, but the politicians failed to use it. General Ray Odierno, who succeeded Petraeus as the top military commander in Iraq, said, "As Iraq has become more secure, they've [Iraqi politicians] moved backwards, in some cases, to their hardline positions..." Ricks believes that,like it or not, the U.S. is going to be in Iraq for a long time, and closes the book with the words, "...the events for which the Iraq war will be remembered probably have not yet happened."

Stones into Schools is similarly a good foil to Sarah Chayes'The Punishment of Virtue. Chayes' experience in in southwestern Afghanistan, while Mortenson has focused on the northeastern areas (as well as Pakistan), so their perspectives are very different. Where they agree is on the increasing competence of the U.S. military in Afghanistan over the past decade of war. They disagree somewhat on their outlook for the future. Mortenson is relentlessly optimistic; Chayes is much more guarded. For the sake of the people of Afghanistan, I hope Mortenson is right.

Tuesday, March 9, 2010

Regrets

One of my coworkers just said this, and I just had to pass it on:

In my entire career, I've never written a line of code that I didn't live to regret.
Sigh. Welcome to the world of programming.

Friday, March 5, 2010

SkypePhishing

I use Skype as an intant messaging and VOIP service. Periodically I receive spam and phishing attempts - a more-or-less inevitable consequence of allowing anyone to contact me. Today's was cute; talk about high speed!

This scary-looking message from Update Registry popped up just as I got back from lunch:

[1:40:17 PM] Update Registry: WINDOWS REQUIRES IMMEDIATE ATTENTION
URGENT SYSTEM SCAN NOTIFICATION ! PLEASE READ CAREFULLY !!

http://www.onlinemt.org/

For the link to become active, please click on 'Add to contacts' skype button or type it in manually into your web browser !

FULL DETAILS OF SCAN RESULT BELOW
****************************************

WINDOWS REQUIRES IMMEDIATE ATTENTION

ATTENTION ! Security Center has detected
malware on your computer !

Affected Software:

Microsoft Windows Vista
Microsoft Windows XP
Microsoft Windows 2000
Microsoft Windows Server 2003

Impact of Vulnerability: Remote Code Execution / Virus Infection /
Unexpected shutdowns

Recommendation: Users running vulnerable version should install a repair utility immediately

Your system IS affected, download the patch from the address below !
Failure to do so may result in severe computer malfunction.

http://www.onlinemt.org/

For the link to become active, please click on 'Add to contacts' skype button or type it in manually into your web browser!
I immediately clicked "block this user" button. Then, curious, I looked up the domain registration for onlinemt.org at whois.net:


Domain ID:D158521179-LROR
Domain Name:ONLINEMT.ORG
Created On:05-Mar-2010 13:05:57 UTC
Last Updated On:05-Mar-2010 13:05:59 UTC
Expiration Date:05-Mar-2011 13:05:57 UTC
Sponsoring Registrar:eNom, Inc. (R39-LROR)
Status:CLIENT TRANSFER PROHIBITED
Status:TRANSFER PROHIBITED
Status:ADDPERIOD
Registrant ID:2d91db7f97e279f8
Registrant Name:Andrej  Marsol
Registrant Organization:-
Registrant Street1:Najikal 21
Registrant Street2:
Registrant Street3:
Registrant City:Prague
Registrant State/Province:CZ
Registrant Postal Code:21800
Registrant Country:CZ
Registrant Phone:+420.2319981
Registrant Phone Ext.:
Registrant FAX:+420.2319981
Registrant FAX Ext.:
Registrant Email:andrejmars912@gmail.com

So the registration was all of about 5 hours old when I received this phishing attempt. Pretty zippy!

Update, in response to the comment from my buddy, Philip:

I browsed to www.sarahchayes.net with Chrome and was rewarded with this:



Thanks for the heads-up! I've emailed a warning to Ms. Chayes and (for now) removed the link.

Monday, February 15, 2010

MapReduce Patented? Bullshit!

I just learned (somewhat ironically, via a Google Alert...) that Google has just received a patent on MapReduce! I haven't yet waded through the actual patent, but I have looked at a nicely formatted copy of the first claim.

It's a patent on partitioned parallel processing.

This is bullshit! I notice that they don't reference either of these two patents:


I'm an inventor on the first of these (filed when I was at Torrent Systems), and I know the inventors on the second (filed by our, ah, colleagues at Ab Initio). Both of these are directly relevant to Google's patent, and I would argue that the Google patent either overlaps these two or is obvious to a skilled practitioner.

Maybe Google plans to release this patent for unrestricted use. I don't care. Patents like this are an abuse of the patent system.

Saturday, February 13, 2010

The Punishment of Virtue and The Fourth Star


I'm currently reading The Punishment of Virtue, by Sarah Chayes, and enjoying it immensely. Chayes covered the fall of the Taliban as an NPR correspondent in and around Kandahar. She left Kandahar in mid January, 2002, and returned a few months later, not as a journalist, but as a field director for Afghans for Civil Society. She has lived in Afghanistan episodically since then and has a unique perspective on Afghan society and politics.

Chayes has done three interviews with  Terry Gross on the NPR program Fresh Air. All of them are riveting, but I really urge you to listen to the most recent, from February 2009. Chayes argued (just at the outset of the Obama administration) that the U.S. should drastically increase its military presence in Afghanistan, as a necessary, but not sufficient, condition for bringing stability to Afghanistan.

Chayes clearly loves living in Afghanistan, and her words resonate with my own experiences of living in India. Rather than residing in the "journalist colony" in Kandahar, she lived just outside of town with an Afghan family, enabling her to largely escape the kind of western bubble I found so stifling during my first trip to Hyderabad. She also shares my dismay with the state of U.S. and western society. As she was about to leave Quetta in January 2002, she was asked by Hamid Karzai's uncle, Aziz Khan, to return to help rebuild Afghanistan. She relates her feelings at this request:
...this was, unwittingly, what I was waiting for. Well before 9/11, a part of me had been casting about for such a sense of potential as I was feeling now. I could no longer bear to watch our Atlantic democracies go through the motions, in a business of democracy, while half our people didn't even vote. That couldn't be right. Through my reporting, I had gained the conviction that somewhere out there, from one of these post-conflict disaster areas, a phoenix was going to rise. Someone from some other place - not America or Western Europe - was going to winch us up out of this rut.
I have one stylistic complaint about the book: the references are relegated to the back of the book, rather than footnoted the bottom of the referencing page. Chayes' footnotes are very much worth reading, and I wish they more easily accessible.






The evolution in U.S. military thinking that leads Chayes to call for in increase in troop levels in Afghanistan is skillfully chronicled in The Fourth Star: Four Generals and the Epic Struggle for the Future of the United States Army, by Greg Jaffe and David Cloud. This is an interwoven account of the careers, through early 2009, of John Abizaid, George Casey Jr., Peter Chiarelli and David Petraeus, four key officers in the U.S. response to 9/11. For someone like me who has never served in the U.S. military, this book provides a terrific description of how the system operates, and especially how West Point culture and the "up or out" career path affect military policy, for both good and bad. We're very fortunate to have a system that produces leaders like these, especially Petraeus and Abizaid. It's tragic that the civilian leadership of the Bush era fell so far short of their quality.

Update: I removed the link to Chayes' web site, www.sarahchayes.net, because it seems to contain malware. Thank you, paz, for pointing this out.

Updated Update: The URL now belongs to someone else entirely. But here's a link to the 2010 version of www.sarahchayes.net, courtesy of the Internet Wayback Machine,

Saturday, January 23, 2010

The Reading List

I like to read. I start most days with at least a cursory reading of the New York Times (which we have delivered) and usually spend at least a few minutes reading before popping off to sleep at night. I like to think my taste in prose is pretty eclectic, but in reality, it's not. My favorite categories are:

  • news and periodicals (the NYTimes, The New Yorker, National Geographic, AMC Outdoors, sometimes The Economist)
  • science fiction (Neal Stephenson, William Gibson and Kim Stanley Robinson are exemplars of the kind of writers I favor)
  • mountaineering and orther outdoor adventure writing
  • politics and history (leftward leaning...)
  • novels, especially if they relate in some way to current life events (such as The Namesake, which I read on my way to India for the first time in April 2005)

I've decided I'm going to start blogging what I read, in part so that I can simply remember what I read. I'm often reading several books concurrently, and while I usually recall what I like and don't like, titles and authors don't necessarily stick. This has gotten worse since I've started doing much of my reading on a Kindle; I no longer see book covers very often (an interesting side effect of the Kindle...).

I'll tag these entries with "reading". I'll start by listing a few of the books I've read "recently" (for large and selective values of "recently"...).

Midnight's Children, Salman Rushdie. I borrowed this from my friends Dan & Sue; it's a novel about a man born into a Muslim family at midnight on August 15, 1947 - the date of India's independence. It's nearly impossible to summarize, but because it's set in Srinagar, Bombay, Delhi, Karachi, Bangladesh and contains characters that ring very true to my experience of India, I really enjoyed it. I found it hard to start, but once I finished "Book 1" (of 3), I was into it.

Forever on the Mountain, James Tabor. My coworker Bill loaned me this tale of the summer, 1967 ascent of Denali that left 7 of the 12 climbers dead. Reading this motivated the next book:

Minus 148 Degrees, Art Davidson. This is the story of the first winter ascent (in early 1967) of Denali (aka Mt. McKinley), written by the climber who conceived of the expedition. Only fair - the story is compelling, but the writing is only so-so.

The Last War, Ana Menendez. This novel is a veiled autobiographical account of a portion of the author's life as a war correspondent and photographer in "the war on terror." The setting for most of the book is Istanbul, with forays to Afghanistan and elsewhere. Her partner, "Brando", is Dexter Filkins. I loved this book. If you read it, I encourage you to first read...

The Forever War, Dexter Filkins. Filkins is a highly-published foreign correspondent, whose articles have appeared regularly in the New York Times and elsewhere. This book is a deeply personal account of what it was like to be that correspondent.

More to come.

Monday, January 11, 2010

Hercules

I need some sample IBM mainframe COBOL data at work for some testing, so I decided to have a go at installing the latest version of Hercules, an IBM mainframe simulator. It was remarkably easy, although having been an MVS systems programmer in a prior lifetime no doubt helped.

The key pieces are:
  • The Hercules simulator itself, which simulates the hardware.
  • The Turnkey MVS 3.8 system, which contains a full, ready-to-run MVS operating system, including compilers for COBOL, PL/I, FORTRAN and Algol 60 from the last release of MVT.
  • A slick little Windows program that provides a nice front panel GUI. It also includes a utility for submitting jobs to MVS.
  • x3270, a Windows tn3270 client; you need such a client for the MVS console and to log in to TSO.
It took perhaps two hours to get all this stuff downloaded and running.

It's striking just how small system software used to be. The entire MVS 3.8 download, including the pregenerated MVS disk volumes, source for much of the operating system, compilers, utilities, etc. is under 500MB.

Update: My buddy Dave has installed Hercules on his "high-zoot cell phone", with this scary result: