Sunday, April 12, 2015

I Hate Microsoft

[Written a long time ago; some updates in []'s.] 

If your Windows computer has stopped responding to your commands, you have probably entered: *** The Microsoft Zone ***, a horrifying realm beyond space and time, where bug-choked software derails all your efforts to get your computer to do your bidding.

In my paranoid fantasies the world of Microsoft is an adversarial video game where Bill Gates scores points by wasting my time –  putting my computer into a coma, destroying my files, letting in viruses, and so on – while I score points when I manage to get anything done in spite of the software landmines he has loaded my computer with.

I have a number of theories about why Microsoft software is so bad, most of them concocted during time spent in what I call the Microsoft Zone, i.e., waiting for my computer to come out of a nonresponsive coma. Counting crashing, rebooting, comas, and the like, I would guess I spend ½ hour to an hour of each working day in “the Zone”, so there are plenty of opportunities to theorize. One theory is the Porsche/Cocaine/Stock Option theory: that Microsoft software developers spend a good part of every day snorting coke in the parking lot while sitting in the Porsches they bought with their ill-gotten stock option gains, and that this explains the quality of the code they produce. On occasion I have seen Microsoft people interviewed  on TV, and they looked less like coke-addled young yuppies than middle-aged, pudgy, balding, engineers (not unlike me, if truth be told), so I don’t give this theory too much credence, though it can be satisfying to revisit when I am deep in “the Zone”, as for example when I am waiting to see whether the only copy of a document I have been working on for weeks has just been destroyed in an application freezeup. Of course it is possible that these middle-aged engineers are just a later stage in the life cycle of the coke-addled stock option millionaire, and that they burned out whatever programming talent they had back in the day, when their Porsches were new and coke was still fashionable…

            Other theories for Microsoft software quality relate to Bill Gates personally. I will be the first to admit great admiration for the high philanthropic purposes to which the Bill and Melinda Gates Foundation has directed its considerable resources: curing malaria and what not. However this does not excuse the fact that the money was generated by choking the computer revolution to death in its cradle with bad software.

As I survey the range of Microsoft software products I interact with daily – and are a source of daily frustration – I suppose I must, in fairness, distinguish between Office and Windows. Office has a fair amount of functionality, and my complaints with those applications often revolve around pushing them to their admittedly rather narrow limits where the slapdash quality control becomes apparent. A second source of unreliability in Office may be the underlying Windows platform itself. Which brings us to the real villain of the Microsoft world, and the Bill Gates psychology theory. How is it that Windows, the core of the Microsoft empire, has consistently failed to innovate or improve through many developer-centuries of work? If we go back to the origin of Microsoft, we see a young Bill Gates getting enormous financial positive reinforcement for the relatively simple task of creating a stripped-down UNIX-like operating system that could fit on a personal computer. Its as if you took the gears off a racing bicycle and announced to the world “Look! I have invented the first gearless bike!”, and the world not only paid you attention but, as a result of some odd momentary market glitch, gave you a billion dollars. You might be excused in such circumstances for believing yourself to be a great inventor. And therein, perhaps, lies the genesis of the peculiar Microsoft psychology: thinking you are innovative when you perpetually trail the competition by decades; thinking you are great engineers and yet turning out version after version of unstable and poorly designed software; thinking you are giving your customers what they want while never bothering to check (think Clippie…), and so on. Incredibly, when Bill first stepped down as chief executive of MSFT, he retained the title of Chief Software Architect, suggesting he really sees himself as this high-powered software engineer. This would be comical if it weren’t so sad. This syndrome, of people getting an inflated sense of their own abilities as a result of early fortuitious windfalls, I call “being a prisoner of one’s own success”. Unfortunately for me, I am the one who is a prisoner of Bill’s success, doomed to eat his dogfood. (“Eating our own dogfood” was a surprisingly candid expression among MSFT engineers, referring to their practice of being users of the systems they were developing. Unfortunately for the rest of us, it turns out they like the taste of dogfood.)

Some may accuse me of self-indulgent whining. I plead guilty to the charge of whining, but not self-indulgence; mine is the cry of the unjustly persecuted, my grievances are real. As far as the whining, I try to ration myself so that I spend no more time whining about Microsoft than I do actually in the Microsoft Zone – ideally the same time, though I admit since I started this I am starting to spend time complaining that I could be using for other purposes.

Contrary to what some may guess, I am not a clueless newbie: I have a Ph.D. in Computer Science and a  job title [at the time this was written] of Vice-President of IT and Informatics at a biotechnology startup. This means I know, or should know, a little about computers. My first programs were on punchcards (google it). I was on the internet when it was still the Arpanet and connected only half a dozen university computer science departments. I have worked on IBM OS 360, VMS, Lisp Machines, Unices of various flavors, Macs and any number of generations of that misbegotten software monstrosity called Windows.  My complaints are not because I know nothing but because I know better: there is no excuse for software this unreliable, particularly for a company that has the resources and development years of MS at its disposal.

            Nor am I MS-na├»ve. I may not be the most extreme power-user (I think of myself more as a powerless user, hence this rant) but I use most of Office on a daily basis; I have edited a book in Word; I routinely attempt to manipulate 100MB spreadsheets in Excel (not recommended);  I once attempted to coordinate activities of a 200-person R&D organization using MS Project (not recommended), have several times attempted to do something useful with MS Access (without success), and have lately become an occasional VisualStudio/C#/.NET/SQL Server developer. Moreover my organization uses less well known MS products such as Commerce Server (for e-commerce), CRM (for the sales organization) and NAVision (for financials), and I have oversight responsibility for the interconnections of these. So I feel like I know something about the MS product line.

Almost useful

            You may wonder why I use MS software if I think it is so bad. The answer is that I inhabit a world of corporate standards where having a common standard, even a bad one, is better than having a Tower of software Babel where people exchange incompatible documents. Dislodging Microsoft’s hold on my companies’ systems would be an expensive proposition, and one that even I will admit is rarely a justifiable business priority. Thus I am, like Howard the Duck, trapped in a world I never made. And this, of course, is what Microsoft counts on: inertia and standardization rather than quality. Who cares about quality when you control the desktop? That was and is the strategy, and it succeeds; Microsoft control of the desktop remains essentially unchallenged despite a breathtaking contempt for quality control and a what-me-worry attitude towards system security. It represents the triumph of marketing muscle over engineering prowess: why bother debugging the code when your customers will buy it anyway? They have to. That should be the motto of the firm: “Our customers have no choice”.

I remember tube TVs and stereos that had to warm up for a minute or so before they reached the temperature that allowed electrons to flow and let them do their thing. Then transistors came along and we had appliances that turned on immediately, at the touch of a button. Then Microsoft came along and undid that revolution with transistor-based devices that take minutes to boot up, come out of hibernation or even resume after a brief standby. The limitation this time is not technology but competence. The MS folk never seem to get that the computer is an appliance. It is supposed to do what the user wants, when the user asks, not when the guys in Redmond think the user ought to get it. Why is that hard to understand?

Every keystroke must be saved to disk. I am a compulsive ^S user. Type 5 key strokes, then ^S. Everything after the last ^S is at risk, vulnerable to becoming Bill points. Not that ^S is any guarantee – I have had plenty of files trashed on disk, or things supposedly saved that weren’t really saved. But without ^S you are really asking for trouble. At least at the end of every sentence, if you value your prose. Don’t say I didn’t warn you. Office Applications have AutoSave, which is supposed to back up your file to the disk at regular intervals and protect you in case of a crash. If MS can’t be trusted to write apps that don’t crash, seize up, go comatose, etc., at astonishingly frequent intervals, then how on earth can they be trusted to back up your file? You are supposed to trust them to protect you from their own incompetence. Well, not surprisingly, sometimes it works, sometimes it doesn’t. One time in 20, perhaps, a crash is nonrecoverable. It is best to scatter copies of high value files in multiple locations on different computers.

Excel performance on large complex spreadsheets is unpredictable. Sometimes clearing a bunch of rows can take 20 minutes; sometimes recomputing formulas will take 30 seconds, sometimes 3 minutes (on the same spreadsheet!). Part of the adventure of Microsoft is never having any idea when your computer will suddenly become unavailable for useful work for an unpredictable amount of time.

At the core of spreadsheets is the problem of efficient incremental computing. There is a body of computer science research on this, including seminal results such as the Rete algorithm and Scott Hudson’s PhD thesis. I don’t know if MS programmers have thought much about it. Excel does not seem to have the smarts to figure out which formulas need recomputing based on which data items changed – it recomputes everything, which is easy on the programmer, tough on the user. Typical Microsoft tradeoff. Our customers have no choice! (Did post office workers become nicer when FedEx started making inroads on their monopoly? Maybe Google and Apple can teach MS some manners.)[Written ~2008; Google and Apple have indeed ratcheted up the competition in the interim, though not clear that MSFT has become customer-focused in response.]

I view [the late] Steve Jobs as a secondary villain in the Microsoft tragedy, since he has functioned over the years as a Gates-enabler, by stubbornly forcing Apple to focus solely on the high end of the consumer market, leaving Microsoft unchallenged access to the lion’s share. Apple, with its vastly superior software, has always had the edge in technology; why could they never translate that into market dominance? [This has changed.] Part of the answer is that the need for standardization in the business world creates an enormous inertia and provides a huge advantage to whoever gets there first, regardless of quality. However, economics also plays a part. Why did Apple never target its superior operating system at commodity Intel machines, the cheapest and most widely used computing platform? Why did they never attempt to compete with MS on price, so that consumers could have a cost-neutral choice of technologies? Instead they linked their software to an expensive (though admittedly innovative) proprietary hardware platform. It is almost as if, despite their vaunted technical prowess, they were afraid to really go head to head with MS. So they ended up with a 5% market share and a sense of aggrieved superiority. Meanwhile, the huddled masses they might have saved ended up at the mercy of their Microsoft tormentors. In my more paranoid moments I wonder if Gates could have been slipping Jobs a few billion on the side to pull his punches. (I often have the same thought about the Democrats, who often act like that team that played against the Harlem Globetrotters, or Colmes of Hannity and Colmes – a foil that exists to lose so that others may win.)

Random Notes from the Zone

Windows security has created job opportunities for legions of Eastern European identity thieves.

An essential tool for any Microsoft user is the task manager, brought up by the rather arcane combination of keystrokes ctrl/alt/del, chosen long ago by someone who wanted a “chord” that was unlikely to occur by accident. The task manager can help you decide whether your comatose computer is likely to return from the Microsoft Zone or not. For example, if you sort processes by CPU, and the process you last interacted with before entering the “Zone”  is the top process, it is clearly doing something, and there is a chance it may eventually stop doing it and return control of your computer to you. If it shows a low level of activity, it is probably a zombie, and should be killed be any means necessary: first by End Process, repeated as many times as it takes to convince you that it will not work, and then by rebooting.

Here’s a new phenotype: Excel is stuck at 5% recomputing, but the CPU is alternating between the two cores!

After closing the lid on the thinkpad and reopening, Windows is confused: the screen is blank, but it acts like it is on. Will it force me to reboot? By careful juggling of settings and opening and closing the list I trick it into coming back to life.

Nonlinear progress indicators: don’t you love those %complete things that go
:….5%......10%......15%.....20%...........................................................................................................................................................................................................................................................................................................................................................................................................................25%..........................................: Microsoft uses Einsteinian curved time.

Sometimes doubleclicking a folder icon opens the folder. Other times it just sits there. The outer frame of the Windows explorer disappears, the window won’t refresh. Process window shows nothing. I can right click on a folder to get a menu, but selecting Open does nothing. This is the core of the operating system!! Rotten to the core.

Moments later I get a frameless popup window with a red X saying “You cannot drop an item onto a button on the taskbar. However if you drag the item over a button without releasing the mouse button, the window will open after a moment, allowing you to drop the item inside the winow.” Underneath is a reassuring-looking “OK” button, which does nothing when I click it. This windowless text stays above all other windows as I close them. The toolbar is nonresponsive, it gives a little “ding” whenever I click on an icon. Probably waiting for me to dismiss the window, which I can’t. Now what? Reboot? First try ctrl/alt/del. It shows explorer consuming 36-46% of CPU. This could be a known (but, of course, not fixed) bug in a recent Windows update in which explorer runs amok. 20 minutes later it still consuming 40% of CPU, clearly not coming back. OK Bill: you got me this time. Reboot. Can I at least do a graceful shutdown and save my files? No: some file save dialog box pops up invisibly, locks everything, can’t be dismissed. Hard shutdown with the power button (I call this "rebooting with a ball-peen hammer"), all open files at risk. 100 points for Bill. 15 minute penalty to get back to working state.

Bill must be so happy. I just lost 2 hours work on an Excel crash. It went into a coma, I had to kill it. When I got back to my xls, it was 2 hours out of date.

12/28/07. One of the cuter tricks my laptop sometimes plays is when I close the lid, instead of going into standby mode as usual, it waits until sometime later when I open the lid again, and then goes into standby. So not only do I waste power when I should have been on standby, but I have to wait to go into standby and out of it. 10 points for Bill. Also the temperature rises dangerously when this happens in a backback -- could fry the laptop, or start a fire on an airplane...
My father sometimes looks at my desktop and says look at all the windows you have open; no wonder your computer is acting strange. Multitasking is my normal mode of operation. I typically have 8-10 applications open at a time, each with potentially 4-10 documents. Some of this multitasking is an adaptation to the unreliability of Windows. When one application freezes, I will switch to an unfrozen one, if I can, so I can be productive in spite of Bill.

Word freezes up while doing a “background save” – hey idiots, don’t you know what “background” means? It means you aren’t supposed to bother me while you do it. Freezing the machine kind of violates the spirit of that, don’t you think?

When I have too many windows open, Windows will refuse to allocate any more – won’t pop up a menu, open a Taskbar group, nothing, just blinks when I ask it to, action pretty much grinds to a halt until I kill some processes. Fortunately the Task Manager can usually be conjured with crtl/alt/del in that situation, so I am not completely helpless. The trick is recognizing that this is what is happening and not one of the innumerable other reasons Windows might become nonresponsive.

Sometimes when I come out of standby there is 30 seconds or more of windows popping up on top of each other, resizing, rearranging, kind of like a dog shaking itself after a swim. Its almost cute, in a way, until you think that Macs just turn on. Period. Press button, computer on. As simple as that. Suddenly its not cute anymore, but depressingly sad.

1/24/08. A bad day in the Microsoft Zone. Checked my mail before going to work – stupid thing to do. Explorer put up a borderless uncancellable window, had to reboot. 15 minutes lost.

Then an Excel spreadsheet that shouldn’t have had any links wanted to update links at startup. I tried to delete the links through Edit Links, but the delete button, though active, doesn’t do anything. I searched for and removed all references to the other spreadsheet in formulas. Link is still there. Googled, found article  saying “One of Excel’s strengths is its ability to get information by linking to other data sources, including other workbooks. However, sometimes those connections can cause problems, especially when they are hidden or deleted. To its credit, Microsoft recognized the problem and created a Delete Links Add-In wizard to locate and delete links.” Excuse me? To its credit? Is it to its credit that they eventually occasional notice one of the bugs in their bug-infested applications? And then instead of fixing the application they provide an Add-In. Charming. 

After installing the Delete Links Wizard I restart Excel. The Wizard is no longer invocable even though it shows as installed. I have to deinstall and reinstall. Personal.xls is not evident; Unhide is greyed out, when I hide and unhide only the current workbook shows. I click OK. Nothing happens. End up fixing the problem by disabling autoupdate of links on open; the link cannot be excorcised.

1/31/2008. My family became mixed yesterday in yet another way: my wife got a Mac. She has  always found Windows machines too frustrating to use, and has felt cut off from the benefits of computing and the Internet as a result. I was curious as to whether she was cyberphobic generally, or simply Windows-phobic. I wanted to see how far she could get on her own with the new Mac, especially since most new Windows machines require 8-10 hours of tech support calls to get into what passes for a functional state. I had to leave the house as she was unpacking it, and when I got back she was up and running, needing only a network password from me. I gave her a few tips – “the red ball closes the program”—but she is already (after 1 hour) functioning better than she ever did on Windows. So the verdict is definitely Windows-phobic, not cyber-phobic. Her inability to tolerate Windows actually reflects a refined esthetic sensibility rather than some kind of impaired skill-set. Conversely, those of us who, grudgingly or not, consent to live in the Windows prison, are perhaps, by virtue of our high pain thresholds, acting as enablers of Microsoft incompetence.

            The Mac comes out of the box with its battery fully-charged. I have never before seen an electronic product that shipped with the battery charged. That small detail speaks volumes for their customer focus. It has a Sleep indicator light that waxes and wanes in intensity with a rhythm like breathing. Silly, really, and probably a waste of energy. I assume they want the owner to view the box as a sort of pet.

            I am jealous, watching her interact with a computer with delight instead of head-banging frustration. I feel like a citizen (or inmate) of East Berlin during the Cold War, peering over the wall at the glamorous life on the other side, so close, and yet so unattainable. 

Neuronal Politics

To be written: on the links from genes to neuronal proteins to brain wiring to brain nuclei / emotional centers predisposing to particular behavior patterns to social structures engendered by those emotions. Can a mutation change politics?

Law is Software

To be written: Law is software. Let's get rid of the lawyers and put the software engineers (not Microsoft!) in charge.

Computational Theology

This post revisits a line of thought I first discussed in this article.

The Turing Test for nonhuman intelligence is overly anthropocentric. It privileges the ability to act human as the sole criterion for intelligence. A spacefaring species of aliens would not pass the test, for example. Indeed humans have historically had difficulty recognizing intelligence even in other humans, as the history of contacts between "advanced" and "savage" humans makes clear. (Orson Scott Card made our inability to recognize the "humanity" of intelligent aliens the central focus of the first two books of the Ender series.)

The Turing Test also privileges the human timescale. If an intelligent being were to "think" on a cosmological timescale we would have a hard time holding a conversation with it, even if it was very smart, because we might have to wait a million years to get an answer to a question.

Is it possible to formulate a non-anthropocentric definition of intelligence which captures our intuitions but is not restricted by our prejudices about physical embodiment or spatial or temporal scale? What are some of the characteristics that an intelligence must posess regardless of its embodiment?

One idea is problem solving, which was the focus of a lot of early AI research. Problem solving in turn implies goals, since without goals there are no problems; problems are thwarted goals, requiring action by the agent possessing the goal to unthwart them.

An additional feature of intelligence is learning: it should get better at solving similar problems as it encounters them repeatedly. Learning, in turn, implies memory, i.e., the storage of information in a physical medium, and the accessing of that stored information so as to improve performance on future instances of problems similar to those solved in the past.

Improvements in the ability to retain and deploy information about solutions to previously encountered problems have been critical in the evolution of human intelligence. Such improvements include the evolution, development or invention of learning ability, language, writing, the printing press, and the computer.

Animals clearly have the ability to store information about solutions to problems in their brains, but to a lesser degree. Notably, they have minimal ability to accumulate cultural knowledge across generations.

Are there any other systems that demonstrate any of these abilities? Life includes an information storage medium (DNA) that is accessed by living things to solve problems. It has the "goal" of reproducing itself, and it improves its problem solving ability over time. It thus satisfies the definition of intelligence described above.

The notion of "intelligent life" is reversed from its normal meaning -- not that some specific form of life has crossed the threshold of intelligence, but that life itself satisfies a non-anthropocentric definition of intelligence.

This idea raises what might be called the segmentation problem. If life is intelligent, is it one intelligence, or many? Could we divide life on earth into subsets, each having their own goals, memories, problem solving and learning abilities? Of course: we ourselves are an example; we regard ourselves as distinct intelligences, not as parts of some generalized intelligence of life on earth. We also divide ourselves into superindividuals -- tribes, nations, sects, corporations -- each of which exhibits a degree of intelligence.


Gospel of Judas

Easter 2015: idea for a short story or novel. Working title, "Gospel of Judas", unfortunately already claimed by a recently discovered Gnostic Gospel. This is different.

The idea is that an imposter was crucified in Jesus' stead, thereby enabling his resurrection via a somewhat less miraculous mechanism - he was never killed in the first place. Jesus in this view is a religiously inspired anti-Roman terrorist, in the mold of today's jihadis. The unfortunate imposter, I am thinking, is a sort of simpleton apostle wannabe -- maybe his name is Simkin-- who hangs out on the fringes of Jesus' crew: a hearer of voices / village idiot type with an astonishing gift for mimicry. His favorite target is Jesus: his imitations of Jesus' mannerisms and preaching style, overlaid with absurdist content, regularly send the apostles into fits of hysterical laughter, while annoying the hell out of Jesus, whose sense of humor does not extend to self-mockery. When it becomes clear that the Romans' tolerance for Jesus' rabblerousing is wearing dangerously thin, and that an arrest is probably imminent, Jesus and Judas come up with a plan to simultaneously neutralize the Roman threat and rid Jesus of this annoying fanboy. Judas negotiates with the authorities to lead them to Jesus and help them identify him. In Gethsemene Judas kisses not Jesus but Simkin, who is most pleased to be taken as Jesus by the Romans, and rises to the part, spouting off some of his more outrageous megalomaniac riffs for this unexpectedly important audience. As he becomes more and more the center of attention, he becomes progressively more unhinged, regaling Pilate and Caiaphas with delusions of grandeur -- King of the Jews, Son of God, etc. -- all the while remaining in character as Jesus. Jesus keeps a low profile while this is going on, not wanting to alert the Romans to the mistaken identity. He and Judas had expected that Simkin would be arrested, maybe spend a few days in jail, but that he would be released once the Romans realized that he was deranged and not the real Jesus, by which time Jesus would be safely away to Galilee. They never meant Simkin to come to any serious harm. However Simkin's tirades have had the effect of provoking the authorities, who never realize they are dealing with a madman. Before Jesus and Judas quite realize what has happened, Simkin has been tried, flogged and crucified. The other disciples, having fled when the Romans arrived in the garden, hear second hand the news that Jesus has been executed. They are aghast, and immediately go underground; Peter denies having any connection to Jesus' secessionist activities.  Several weeks later they are invited to a secret meeting in a Jerusalem pub, where a hooded stranger reveals himself to be none other than Jesus, miraculously alive following his crucifixion. He is vague on how this came about, due to his guilt over the fate of poor Simkin, and because the disciples' astonished response to this "miracle" is rather gratifying. The whole episode, however, has shown him just how perilous his jihadi activities have become, and like so many other terrorists since, he decides to grow up and get a real job, settling down with Mary Magdalene in Nazareth to raise a family and make furniture. He remains a respected figure among the next generation of rebels, who call him Rabbi and come to him for advice on anti-Roman guerrilla warfare techniques. But his own days on the front lines are over; there is nothing like a near-death experience to bring you to your senses.