December 08, 2007 | Comments: (0)
Jews Singing Gospel for Chanukah
Our Temple has an idiosyncratic, if not unique, tradition of hosting a Gospel choir as part of the celebration after a Friday night service during Chanukah, and having the Temple choir members join in on a few numbers. That was last night.
For a variety of reasons, the Temple choir was under-rehearsed on the music we were scheduled to sing with the Gospel choir: we had gone through everything once, but that was about it. I would normally have memorized the material on my own, but my practice time was being monopolized by preparation for the mostly Renaissance and Baroque holiday concert my other choir is singing next Saturday in North Andover. (If you're in the Boston area, you should come: see the NECS Web site.)
By the time we had sung our own pieces and sat down, we Temple choir members were discussing our options for the Gospel numbers. A few quietly left for the evening. A few more intended to hide in the back with their music open and lip-synch when they weren't sure of the piece.
I was tempted by both of these options. On the other hand, I wanted to sing, and participate fully. If I so much as brought my music up with me, I wouldn't be able to clap, and I'd have difficulty watching the conductor.
I decided to go for broke. The music stayed on my seat, and I took a place in the second row of the tenor section. I had two strong tenors right behind me, a good view of the conductor, and my hands were free.
As it worked out, that was all that mattered. The conductor not only brought us in, he mouthed the words. Singing in the middle of a section that knew what it was doing, it didn't matter that I'd only sung the pieces once before: that was enough. By watching and listening and remembering, I knew what was coming, and was able to sing, not to mention rock and clap, as though I actually knew what I was doing.
As Nero Wolfe might say, it was "Satisfactory. Most Satisfactory."
Posted by Martin Heller on December 8, 2007 10:46 AM
November 07, 2007 | Comments: (0)
- Update the rest of my Windows computers to the released version of Windows Live. (The upgrade went fine on this computer; I'm blogging with the released version of Windows Live Writer.)
- Look at the Infragistics Aikido CTP. This is a new Web User Interface Framework built using the Microsoft ASP.NET AJAX Framework and new controls, that makes the Web look a lot like the desktop, if the screen shots are to be believed.
- Compare the OpenSocial API with the Facebook API.
- Figure out whether there's a business model in OpenSocial and/or Facebook applications that makes sense for me or any of my clients.
- Try out the TI ez430-rf wireless embedded device SDK.
- Monday, November 12th: Look at the Android SDK release at http://www.openhandsetalliance.com/developers.html. How hard is it going to be to develop for the "Google Phone"?
- Early December: Build or buy a new desktop system for Visual Studio 2008 development.
Any suggestions from the peanut gallery?
Posted by Martin Heller on November 7, 2007 11:11 AM
July 05, 2007 | Comments: (0)
My Verizon Wireless (VZW) cell phone contract was up for renewal in August. I thought I might want an iPhone, so I kept resisting the repeated calls asking me to renew my contract early. I figured I'd wait until my contract was up, and then switch.
After reading and watching Tom Yager's and David Pogue's iPhone coverage at the end of June and beginning of July, I was quickly cured of most of my iPhone lust: AT&T-only? No memory card? No GPS? Sealed battery? EDGE, not 3G? $500 to $600? Nope, not for me.
I should explain about the AT&T issue, since that was the real kicker. For years, the only cell phone carrier that had decent service in Andover was VZW. That was certainly true when my oldest daughter got the first cell phone in the family, and it was still true when my second daughter and I got the next two phones. Verizon is also the only carrier with decent service at the University of Rochester, where my second daughter is at school, so almost all her school friends are on VZW. My son-in-law and my second daughter's boyfriend are also on VZW. For good measure, my second daughter has given up on land lines: the only ways to reach her are email and her cell phone.
Given the cost structure that makes cell-to-cell conversations within a single carrier free, and causes cross-carrier conversations to consume scarce daytime minutes, I pretty much had to stick with VZW or cut myself off from my kids and their significant others. No matter how much I like the iPhone user interface, and how crummy the interfaces are on the phones and smart phones VZW offers, VZW has me locked in because of its long-term investment in infrastructure and its "IN calling" strategy.
In the end, I got on the VZW Web site and took advantage of my $100 "new every 2" credit and an online "buy one, get one" offer to upgrade two lines to the LG VX8300 phone and media player shown at the upper left, for free. OK, I blew 30 bucks on a USB cable and stereo ear buds, and another $21 on a 2 GB microSD card, but that's a tenth of the up-front cost of the iPhone.
Yes, the user interface is Baroque, and yes, the Windows Vista drivers for the USB device won't be available for another week, and yes, it doesn't have anything like the coolness factor of an iPhone, but it seems like it'll meet my needs. Not only that, it actually gets service in my house and office. Imagine, a cell phone you that can use where you are most of the time.
Posted by Martin Heller on July 5, 2007 02:57 PM
June 04, 2007 | Comments: (0)
Road Signs, the Scan Button, and a Reunion
Seen on the Merritt Parkway near Fairfield, Connecticut:
Caution: Depressed Storm Drains
This brought up a mental image of Marvin the Paranoid Android. Then I imagined storm drains with a Point of View gun. As you can imagine from this state of mind, I was driving alone.
Now, why was a man who lives in Andover, Massachusetts and "never goes anywhere" driving alone on the Merritt Parkway? To get to my 35th Reunion at Haverford College. I might have skipped it, but since I'm Class Chair that would have been seriously bad form.
It's a long drive from Andover to Haverford, and there are several places where the radio stations from one metropolitan area fade out and the ones from another fade in. I can't usually remember what the station frequencies are in places like Hartford and New Haven that I don't often visit, so I use the scan function on the car radio. This gives a classic disjointed radio experience:
"...football fans were injured in a post-game... Africa cup. The final score was five nil...."
"...y mucho mas!..."
<fragment of a Beethoven overture>
<..."shana na na na nana na na na...">
As it turns out, the scan function was a good warmup for the reunion. I was often involved in multiple simultaneous conversations, while hearing several more around me:
"...back from Mexico, and the last I heard working in Portland again..."
"...still delivering babies, but it's hard without malpractice insurance..."
"...divorced 9 or 10 years ago, but she still keeps his name. I don't know why...."
"...I wasn't looking, really. They found me. The same thing happened when I came here...."
"...isn't really fun being the adult. The house is falling apart, and none of us have enough..."
"...can't really fool anyone here, can we? We all know each other's age, and who did what with whom, and what drugs we took..."
"...writing software, writing about computers, and blogging at InfoWorld.... three girls and a boy... I'd update ActiveSync and see if it helps... You did? It didn't? Oh, well..."
It was great seeing old friends, and talking late into the night. If late-night discussions could save the world, however, heaven knows that we would already have done it back in college.

Posted by Martin Heller on June 4, 2007 06:00 AM
April 25, 2007 | Comments: (0)
Not quite 20 years ago, I was consulting for Symbolics, working on a Windows front end for PC Macsyma. I was writing Windows code in C, and working closely with a Symbolics LISP programmer named Frank.
One day the two of us were in my office trying to debug my callback interface between Windows help and the Macsyma engine, which enabled running live demos from help files. After watching me sweat out the semicolons and curly-brace-matching and the pairing of LocalAlloc calls with LocalFree calls and the obsessive care about resource leaks that writing Windows C code required, Frank said "Y'know, Martin, you should switch to LISP. It would be like a little vacation for you."
Of course, it was true: compared to LISP on a Symbolics workstation, I was working with flint knives and bear claws. I think I had an 80386-based PC, and was developing for Windows 3.1 using Microsoft C and the Brief editor.
Fast forward to 2007. I'm still tackling the hard stuff, but it's C++ with ATL, in ActiveX controls. I have much better editing and debugging tools, but I still have to be obsessive about resource leaks. I do get to go on a "little vacation" once in a while, but it's not to write LISP: it's to write C#, or sometimes Python.
I'm just finishing up a little sample site in C# and ASP.NET: my vacation is almost over. Pretty soon, it'll be back to the C++ salt mines for me.
Actually, I'm kind of looking forward to it.
Posted by Martin Heller on April 25, 2007 06:25 AM
March 05, 2007 | Comments: (0)
Years -- no, decades -- ago, I moderated several forums on BIX, the Byte Magazine Information Exchange, an early threaded online discussion system. We would frequently encounter blind zealotry in support of operating systems, programming languages, or computer models. We called what happened when opposing parties of zealots came up against each other RWars, short for religious wars.
Microsoft was often a target of RWars. Tipoffs that the person posting had a grudge against Microsoft included gratuitous misspellings, like "Micro$oft" or "Windoze," and personal rants against Bill Gates, often accusing him of being the Antichrist or Satan. The worst zealots by far were the Amigoids, supporters and defenders of the Amiga computer, who would compulsively attack any mention of other computers and operating systems (meaning not just PCs, DOS, and Windows, but also the Macs, Ataris, and various Unixes of the time) that didn't acknowledge the inherent superiority of the Amiga.
We all have Amiga computers on our desks now, right? So that was a great strategy.
The other day, I posted a blog entry entitled In Praise of ASP.NET. I tried to keep it factual and balanced. I wrote about my personal, hands-on experience developing a site with ASP.NET 2.0, and I wrote it when I was deep into the development of a new version of the site, because that was what was on my mind at the time. I also mentioned having had a good experience developing a site with Ruby on Rails. I didn't mention all the other technologies I have used to build Web sites over the years: that would be a very long list.
I was gratified to see that the first commenter got what I was saying. I was disappointed, but not surprised, that the next commenter went on a rant against Microsoft, and came close to accusing me of being paid to post good things about Microsoft. After all the times I have roundly criticized Microsoft in print and online, that would be a little hard to credit.
I have written for, edited for, developed software and sites for, and managed projects for lots of clients. Is one of them Microsoft? Of course. It's no secret: I disclose that whenever it is relevant, for example whenever I mention a book in the Microsoft .NET Development Series, for which I was an editor for several years.
Does Microsoft or any other client of mine influence the content of my work for InfoWorld, or any other publication for whom I write? Not at all. One or two have tried, unsuccessfully; Microsoft was not among them.
When I write under my own byline, I say what I think, not what anyone else wants me to say, and I do my best to support everything I say with verifiable facts based on hands-on experience. Transparency is hard to achieve, both in user interfaces and in life, but I do try.
Posted by Martin Heller on March 5, 2007 06:00 AM
February 21, 2007 | Comments: (0)
When Thomas Pynchon's new novel Against the Day came out last November, I read all the reviews I could find. For example, Michiko Kakutani led with this scathing description in the November 20th New York Times:
Thomas Pynchon's new novel, "Against the Day," reads like the sort of imitation of a Thomas Pynchon novel that a dogged but ungainly fan of this author's might have written on quaaludes. It is a humongous, bloated jigsaw puzzle of a story, pretentious without being provocative, elliptical without being illuminating, complicated without being rewardingly complex.
The opinions were not uniform, by any means. Less than a week later, Liesl Schillinger ran a much more favorable review in the New York Times Sunday Book Review:
IN "Against the Day," his sixth, his funniest and arguably his most accessible novel, Thomas Pynchon doles out plenty of vertigo, just as he has for more than 40 years. But this time his fevered reveries and brilliant streams of words, his fantastical plots and encrypted references, are bound together by a clear message that others can unscramble without mental meltdown. Its import emerges only gradually, camouflaged by the sprawling absurdist jumble of themes that can only be described as Pynchonesque, over the only time frame Pynchon recognizes as real: the hours (that stretch into days) it takes to relay one of his sweeping narratives, hours that do "not so much elapse as grow less relevant."
That's right: one Times reviewer hated it, and another liked it. Louis Menand, writing in the New Yorker, came in mixed:
Thomas Pynchon is the apostle of imperfection, so it is arguably some sort of commendation to say that his new novel, "Against the Day" (Penguin; $35), is a very imperfect book. Imperfect not in the sense of "Ambitious but flawed." Imperfect in the sense of "What was he thinking?"
By the way, MetaCritic has a list of the reviews of Against the Day here, ordered by favorability. There are 9 opinions rated outstanding, 6 favorable, 4 mixed, and 6 unfavorable. Kakutani ends the list.
Now, I have read and enjoyed all of Pynchon's other novels, some more than once, and I eagerly anticipated this one. But when I picked up a copy of Against the Day at a local bookstore and browsed through it with Menand's criticism fresh in my mind, I could really see his points, and found what I was reading irritating. Despite the 30% discount on offer, I put the book back on the shelf.
Three months later, my wife came across a copy in our local library. "At least read a few chapters with an open mind," she told me. "If you don't like it, I'll take it back to the library. If you do like it, I'm sure I can find one at a discount through Alibris."
And in fact, this time I really enjoyed the initial chapters. I now have my own copy, and am about a third of the way through the book.
What does all of this have to do with InfoWorld? One of my roles is reviewer. InfoWorld almost never has the luxury of running multiple reviews of a product. If I hate a product like Kakutani hated Against the Day, there is no Schillinger to offer an opposing opinion.
Reviewing is a special kind of journalism. Reviewing, by definition, is not just about reporting the facts: as a reviewer, I also have to say what I think. And here is where I have to consider the anxiety of influence.
I try to suggest that readers try a product for themselves, and I try to describe who might and might not find a product useful. But if I have set expectations with my strongly voiced opinions, I can color your initial evaluation, like Menand's review colored my initial impression of Against the Day.
Most software gives you a 30-day evaluation period. Is that enough for you to shake my opinions out of your mind and decide what you think? Is software quality and applicability easier or harder to evaluate than the "goodness" of a Pynchon novel? Am I doing you a service by telling you what I think about a product, or am I leading you astray?
Posted by Martin Heller on February 21, 2007 06:00 AM
February 05, 2007 | Comments: (0)
Blogging with Windows Live Writer
I have been preparing this weblog with Windows Live Writer (WLW), a free Microsoft beta-test tool. Why in the world would I use a tool still in beta test for real work? As Bob Frankston asked me one night twenty-odd years ago over pizza after a Boston Computer Society meeting when I was moaning about the instability of the latest OS/2 developer drop, "If it isn't beta, why run it?"
I had some initial problems setting up WLW for my blog, because I was trying to be too clever about it, given the absence of documentation that typifies beta-test software: I tried giving WLW the Movable Type (MT) publishing platform page used for management of the blog, and then the URL used for the Movable Type API. What it really wanted, as I soon discovered, was simply the blog's home display page. Once WLW had that and my login credentials, it not only figured out what URL to use for the MT API, it downloaded the site's categories as well as its CSS and content for preview purposes.
My second set of problems came when I tried to post an entry with a picture. It looked fine locally, but when I uploaded the entry the image did not display. When I looked at the entry online on the MT editing form, it was clear that the image path was messed up. I posted my image through the Web interface, fixed up the HTML on the editing form, and finally the entry displayed with the image as I intended.
Then I went to the WLW forum and asked about the problem. Joe Cheng had it figured out within an hour, and once the administrator at InfoWorld edited the mt.cfg file for my blog, I could post entries with images.
I write my entries before I post them, to give myself time to consider what I've said, and do an edit pass. Initially, I saved my drafts on the local hard disk of one of the computers in my office, and published them from there on my three-times-a-week schedule. I wanted to post drafts to the MT server, but the option to do that in WLW was grayed out.
When I asked about that in the WLW forum, Joe explained why it was the case:
"By default, Movable Type doesn't support drafts from third-party clients, so we disabled it in Writer for Movable Type blogs. You would have to set NoPublishMeansDraft in mt.cfg to make it support drafts. If you've done this, then you can work around the problem in Writer by changing a registry key."
Once InfoWorld took care of the NoPublishMeansDraft setting, I figured out where in my computer's registry I need to make the change, and got back to Joe privately. He explained that WLW has two providers for Movable Type: one for MovableType, the blog software by SixApart, and another for MovableType, the generic API documented by SixApart. The former is the default. Providers are identified in the registry by GUIDs; Joe gave me the GUID for the MT API provider, and once I put that in the registry I could post drafts.
Once I could post drafts, I started setting their dates to the future time I wanted to publish them. MT has an option on its Web interface to set an entry's status to Future instead of Draft; that tells the server to automatically publish them at the time set.
Unfortunately, the old version of MT that InfoWorld currently runs isn't smart enough to recognize that an entry posted from the MT API with a custom date in the future should be set to Future status, so I still have to post drafts from WLW, and set them to Future status using MT's Web interface. It's an extra step, but it works. Maybe that will be fixed the next time we upgrade our server: who knows?
Posted by Martin Heller on February 5, 2007 06:00 AM
December 27, 2006 | Comments: (0)
A conversation with Martin Heller about his new blog
Jon Udell wrote the blog "Jon's Radio" and the column and feed "Strategic Developer" for InfoWorld until December 15th, 2006. He announced his departure, to work for Microsoft, in his blog and podcast on December 8th. Jon continues to blog on his own site as well as for Microsoft, on Channels 9 and 10. Martin Heller will be writing this "Strategic Developer" blog, which will become part of the feed by the same name.
In the spirit of Jon's departure announcement, Martin decided to interview himself about his new blog. The podcast, alas, has mysteriously disappeared, but the transcript follows.
Q: Tell us a little about yourself, Martin.
A: I'm kind of a dilettante. As an undergraduate I got degrees in Physics and Music—I played the fiddle, sang, and composed—and I went on to a doctorate in high-energy physics in the hope of being able to eat on a regular basis. Along the way I got interested in computers.
Q: When was this?
A: I'd rather not say. <laughter> OK. I think I wrote my first program in the mid-1960s—I was maybe 14—and started writing serious amounts of code in grad school in the mid-1970s. Programming became part of my first real job as a physicist, and became more of my job as an energy systems analyst and then as manager of the software publishing division of a research company. By the time I went out on my own as a consultant in 1986, I was starting to write professionally about computers as well as program them.
Q: What about languages?
A: I started with English and Yiddish, then learned Latin, Russian, Chinese...
Q: I meant computer languages.
A: Sorry. I started with hex machine code, if you count that as a language. After that, Fortran II seemed simple, and Fortran IV was absolute luxury. <laughter> I wrote a lot of assembly language, too, when Fortran didn't do what I needed, or I was using a minicomputer that didn't have enough core for a useful Fortran compiler. Later on, PL/1 taught me about data structures, and Pascal woke me up to structured code.
There was a very funny essay written in 1983 called Real Programmers Don't Use PASCAL, that said something like "If you can't do it in FORTRAN, do it in assembly language. If you can't do it in assembly language, it isn't worth doing." I held those attitudes myself until I learned Pascal. You could say that I went from a Real Man to a Quiche-Eater in a matter of weeks.
I wrote a lot of Basic on early Z80 microcomputers, then C when the compilers became available for PCs. My first book, Advanced Windows Programming, used C. My second book, Advanced Win32 Programming, used C++. My reviewer for the introductory C++ chapter was Bjarne Stroustrup, and he was both supportive and devastating: his gentle suggestion about class design made me rewrite all my sample code.
I picked up Visual Basic, Perl, Java, JavaScript, and Python after that. Since the .NET Framework came out, I've written a lot of C# and some Visual Basic .NET. I've also picked up Ruby, and I've still got projects going in unmanaged C++.
Q: What do you plan to cover in your blog?
A: Whatever seems like a good idea at the time. <laughter> Seriously, I'll respond to new developments in the field when they happen. Right now, I'm following many of the same technologies that Jon followed, so readers should feel right at home.
Q: How did you come to be writing this blog?
A: Jon thought I might be good at it. We're old friends. Jon was my technical editor at Byte Magazine in the late 1980s and early 1990s.
Q: Where can we read your old columns?
A: My Byte.com columns from 1999 through mid-2006 are still online, and with any luck they'll stay online. It's to Byte's advantage to keep them where they are. My Windows Magazine and Winmag.com columns and reviews from 1993 to 1998 are also still online. By the way, if the music on my Winmag.com index page annoys you, just press Escape. (I wish I could go back and turn it off, but I can't.) For anything earlier than 1993, like the first year of Windows Magazine and the years I wrote for Byte Magazine, or the articles I wrote for PC Tech Journal, you'd have to find the physical magazines in a library or go to an old CD-ROM periodical collection.
Q: What about your other writing?
A: There's a short story on my personal Web site, called 'Adventure,' which you might enjoy. I think all of my programming books have gone out of print, but I doubt that any of my readers still need to learn how to develop for Windows 3.1. <laughter>
Q: Do you use Firefox, Gmail, and OS X?
A: Yes, yes, and no. I don't currently have any Macs, but I do have several flavors of Linux as well as Windows.
Posted by Martin Heller on December 27, 2006 02:00 PM
TOP STORIES
ADDITIONAL RESOURCES

- Remote Access: Maintain Security and Decrease the Burden on IT
- Beyond AntiVirus: Symantec Endpoint Protection
- What Every Enterprise Needs to Know About VDI

- Monitor the core and troubleshoot the access layer
- Solution for Open Virtualization Provides Server Consolidation
- Help Simplify Virtualization


