Saturday, October 11, 2014

Brian Weissman, Paul Pantera, and twenty years of The Deck

I remember the day when Paul Pantera posted to mtg-strategy-l about a deck that some in the northwest were calling "The Deck". It seemed an impossibly pompous name for a particular deck list. Then again, the post was somewhat pretentious itself.

Since that day, and even quite recently, I've seen a bunch of deck lists that purport to be "The Deck", but not from either Paul or Brian. I thought I might post some data from the archives to clarify what was and was not in the earlier versions.

To be fair, the deck list was very fluid at the time - the rules of magic were young. The DCI was just starting to gel as something separate from WoTC. There weren't many rules about how things went on and off the restricted and banned lists, and that made them pretty fluid, with things being added, removed, and re-added relatively often. If you see a list with two Demonic Tutors, and then a later one with four Mind Twists, that could be exactly right.

People now think of The Deck as the quintessential control / card-advantage deck: discard, draw, and counter. That said, Brian's decks before and after the eponymous one, were based on large creatures, counters, and removal.

Early 1994

According to Brian himself in a recent interview with SvenskaMagic.com, the following decklist was what he was playing before legends came out, so it represents an early state of The Deck.


Pre-Legends
Three color Counter-Stompy
Sets available: AL, BT, UL, RV, AN, AQ
BlueArtifacts
4Counterspell1Chaos Orb
4Mahamoti Djinn1Ivory Tower
1Ancestral Recall4Juggernaut
1Time WalkMana
1Timetwister5Moxen
2Control Magic1Sol Ring
Black1Black Lotus
4Mind Twist4Mana Vault
White4Tundra
4Disenchant4Underground Sea
4Swords to Plowshares4Library of Alexandria
2Balance2Strip Mine
2Argivian Archaeologist3Scrubland
36 spells, 27 mana (63 cards)


The core of the deck is 8 stompies with evasion potential, blue manipulation, white removal, and Mind Twist.

Blue had gotten way out in front of the rest of the colors with Ancestral Recall, Time Walk and Time Twister, so pretty much everyone was splashing blue for those. This led to what Brian and Paul later referred to as "the presumption of blue".

Trivia: Ancestral Recall was originally going to be a common, part of a group called the Boons, a 3-for-1 effect for each color: White: Healing Salve, Green: Giant Growth, Red: Lightening Bolt, Black: Dark Ritual, Blue: Ancestral Recall. Playtesting seemed to indicate that Ancestral Recall might be overpowered, so it was promoted to a rare, and Unstable Mutation was swapped in as the blue Boon.


Early 1995

Rules changes abound. Library of Alexandria and Mind Twist are restricted. There is discussion about whether Strip Mine should be restricted but it is not. Brian and others recognize the power of Balance and lobby unsuccessfully to restrict or even ban it, but it remains unlisted. Discussions about banning Chaos Orb entirely (because of its difficult mechanics and their impact on play) also do not come to fruition. All these restrictions will later be enacted.

During this period, Legends, The Dark, Fallen Empires, and 4th edition are released. Fallen Empires and 4th edition bring nothing of interest. Legends brings Recall (which is immediately restricted) as well as Mana Drain and Moat. All three will be staples of The Deck for the years to come.


Everyone is playing blue now. Much like "Black Summer" two years later, there is a virtual monoculture. No one is playing much that doesn't include the entire blue restricted list (Ancestral Recall, Timetwister, Time Walk, Recall) as well as Counterspell and Mana Drain. Those that aren't playing blue are building decks specifically tailored to defeat it.

According to Brian himself, this is the next version he played.

Pre-Ice Age
Five color Card Advantage
Sets available: AL, BT, UL, RV, AN, AQ, LG, DK, FE, 4E
BlueArtifacts
4Counterspell1Chaos Orb
4Mana Drain1Jayemdae Tome
1Ancestral Recall2Disrupting Scepter
1Time WalkMana
1Timetwister5Moxes
1Recall1Sol Ring
Black1Black Lotus
1Mind Twist4City of Brass
1Demonic Tutor4Underground Sea
White4Tundra
4Disenchant2Volcanic Island
4Swords to Plowshares1Library of Alexandria
2Balance2Strip Mine
2Serra Angel2Scrubland
2Moat
Red
1Red Elemental Blast
Green
1Regrowth
34 spells, 26 mana (60 cards)

Red is splashed exclusively for Red Elemental Blast (there are more in the sideboard, all to stop early blue countermagic and Ancestral Recall) and green exclusively for Regrowth.

The win methods are drastically reduced: two Serra Angels. Someone notes that if you use Tormod's Crypt (often in the sideboard of this deck) at a sufficiently late moment in the game, you can kill someone with Timetwister.

August 1995

Over the next few months, Balance was restricted, and Chaos Orb was banned. The presumption of blue became even more certain. Other major formats were mono-black Juzam/discard and land destruction.

In August 1995, Paul Pantera posted this version on mtg-strategy-l. It was somewhat different. Paul even included a sideboard description, something we don't have for earlier versions. The deck now looked like this:


Pantera
Five color Card Advantage
Sets available: AL, BT, UL, RV, AN, AQ, LG, DK, FE, 4E, IA
BlueArtifactsSideboard
4Mana Drain2Disrupting Scepter2Blood Moon
2Counterspell1Jayemdae Tome2COP: Red
1Ancestral Recall1Ivory Tower2Control Magic
1Time WalkMana2Divine Offering
1Timetwister5Moxes1Disrupting Sceptre
1Recall1Sol Ring1Counterspell
1Braingeyser1Black Lotus1Moat
Black4Island1Plains
1Mind Twist4Tundra1Jayemdae Tome
1Demonic Tutor3Plains1Tormod's Crypt
White3City of Brass
4Disenchant2Strip Mine
4Swords to Plowshares2Volcanic Island
2Serra Angel1Underground Sea
2Moat1Plateau
Red1Library of Alexandria
2Red Elemental Blast
Green
1Regrowth
32 spells, 28 mana (60 cards)


Just days later Brian Weissman posts from his account at netcom,with essentially the same card list.

There are some really quirky things about this deck:
  1. There are two Red Elemental Blasts in the main deck. Blue was so predominant that having two maindeck REBs and sometimes a third one in the sideboard was completely appropriate.
  2. At the time this came out, Ice Age had been released for 3 months, but this version doesn't include a Zuran Orb in the main deck or the sideboard. It's the last published version that doesn't.
  3. This is the only tournament deck I've ever seen with basic land in the sideboard. Apparently land destruction was so harmful to this deck that occasionally you'd want to put in an extra plains.
And it was different from many other decks currently in play:
  1. Braingeyser was added for a third "kill" card: a big Mana Drain could give an even bigger Braingeyser, forcing the opponent to draw out. Other than Millstone, this was a rarely used kill method.
  2. At this time, running 28 mana was considered serious overkill: a lot of tournament decks were running 20-24. Brian was ahead of the curve here, noting that failing to play land on turns 1-4 is often fatal with this particular deck.

Variations on the theme

Patrick Chapin, in a well-researched article, shows a version of the deck containing Mirror Universe as a kill method. At this time, your life totals were checked only when the stack was empty, so you could tap and activate the Mirror Universe, putting the life-swap effect on the stack, and then bring your life to zero (perhaps by tapping a City of Brass). When the stack cleared your opponent had zero life.

Some versions of the deck include one or more Amnesia from The Dark to supplement the discard power lost by the now-restricted Mind Twist.

Ice Age (Later 1995-1996)


Most post-Ice Age versions of The Deck feature a Zuran Orb, and that's how you can tell it's a somewhat later version. Likewise Jester's Mask.

Late in 1995 Brian  posted a Type II deck list featuring a simpler card list. Brian referred to it as a Type II implementation of The Deck.


Type II "The Deck"
Three color Card Advantage
Sets available: AL, BT, UL, RV, AN, AQ, LG, DK, FE, 4E, IA
WhiteArtifactsSideboard
4Disenchant4Jayemdae Tome4Divine Offering
4Swords to Plowshares1Zuran Orb3Meekstone
4Savannah Lions1Feldon's Cane3Red Elemental Blast
3Serra Angel1Jester's Cap2Pyroclasm
BlueMana3COP: Red
2Deflection4Plains
1Recall4Mountains
Red4Adarkar Wastes
4Lightning Bolt3City of Brass
3Fireball4Strip Mine
1Pyrotechnics4Mishra's Factory
4Fellwar Stone
 33 spells, 27 mana (60 cards)


It had many adherents (including myself) but never achieved a great deal of success. The card advantage seemingly offered by Deflection was rarely capitalized upon. The Serra / Fireball overlap for win conditions and the comparatively slow action of the tomes and the cap contributed to a diminished pace that kept it out of the top tier.

1997


In 1997 Brian posted a Type-I deck list that he thought could reliably beat The Deck: It was called (by most) The Roc Deck. It returned to the "eight hard-to-stop creatures plus blue manipulation" system from the original pre-legends version. The Juggernaut and Mahamoti Djinn were replaced with Roc of Kher Ridges and Phantom Monster (flying 3/3 creatures for 3R and 3U respectively) along with the usual blue/black support. Oscar tan writes about it here. This deck never really took off, most players preferred some variation of The Zoo, with its undercosted creatures and Black Vises.


Modern


Many people have tried to update The Deck to use the whole panoply of blue now available: 4 Force of Will become standard, Morphlings instead of Serras. Mostly these devolve into U/B/... decks chock full of tutors to take the early lead and hold it, rather the opposite of the original slow constriction.

People who use The Deck as a starting point for modern decks start from a position of weakness. The game just isn't the same now: Type I is mostly about dropping a turn 1/2/3 combo and winning before your opponent can drop a 4th land.

Sunday, February 23, 2014

Microsoft: Why do some technical people hate it so?

To be clear, I have been an active dis-advocate of Microsoft for a long time, but I do enjoy reading pieces from all points of view.

Recently Scott Hanselman wrote a piece called "Microsoft Killed My Pappy" Scott and I actually have a lot in common so I find his confusion a little disingenuous. It is true that over the years I've heard a lot about Microsoft and why it's so evil, and most of it just doesn't wash. Scott's comments are absolutely right about that: Most of the anti-MS arguments you hear just don't ring true.

He writes:
One person said that he was still mad about the Microsoft Anti-Trust thing. "Hey, 10 years ago Microsoft did this..." That was initiated in 1998 for actions in 1994.
And goes on to say, essentially "Even if there was a bad, anticompetitive, perjuring Microsoft way-back-when, there's nothing to fuss about now".

More data: I have friends who work there, and actually at least one of my old professors does as well. They like it. They have their own office (a rare perq in Silicon Valley), the housing is cheap, the stock options are nice, and their bosses do NOT belong in a Dilbert cartoon. There's much to like at Microsoft. I've been on campus several different times, and it's always made a positive impression. The MS vision of the future, with the model houses and cool tech are definitely inspiring. It's not like good, smart people can't like Microsoft.

That does not, however, mean that there isn't something fundamentally wrong at the company. I think there is, and it's taken me a very long time to be able to articulate it

My first encounter


One of the earliest times I remember having a twinge about Microsoft and sitting down to think about it was regarding the AARD Code.

At this time Microsoft and Digital research had competing (and completely compatible) versions of DOS. Companies could use either one, and all the software running on them worked identically. This was true for the "Win.exe" executable which, back then, was how Windows 1, 2, 3, and 3.1 worked: win.exe was just another DOS application.

The AARD code was a small chunk of machine language written into the windows executable that would detect which version of DOS was running, and if it wasn't MS DOS, it would (occasionally, through a random number generator) put up an error window with a meaningless error message. The user could dismiss it, and everything went along fine.

All the new code did was make a previously perfectly functioning part of Microsoft Windows code work a little less well by throwing up an obscure error message that the user had to clear.

Business-wise, it was brilliant:  System administrators would eventually notice that the error message only happened on DR-DOS boxes, and switch people over to MS-DOS for their windows boxes to cut down on the annoying support calls. Market-share increases, stockholders rejoice!

User-wise, it was awful: It gave the user the impression that the software was not running perfectly, and held up long-running jobs at random places because the user had to hit return to keep the process going, essentially making DR-DOS boxes running big programs to be constantly monitored.

This was a designed and implemented feature. At heart I am a Capitalist: I think it should be OK for competitors to get sneaky with one another, but somehow this was different. I tried to explain what I didn't like to a couple of friends, and they responded as I normally would: "It's a competition thing. It's cool."

But that wasn't what bothered me. Think about the effort required:
  • Someone had to write that code (in assembly language)
  • Someone had to test it exhaustively (it would be bad if it ever flagged a MS DOS installation).
  • They had to set up the flag in the build configuration system, because it was build-time configurable.
  • They had to write (and perhaps translate) the error message, making it just creepy enough to scare people without making it overtly obvious they were slagging a competitor.
  • They had to check that it would be legal. Because when you do something like this to a competitor, and you're as big as MS was even then, you always check with legal.
All in all, that's time from engineering, testing, ops, marketing, and legal departments that went into this one tiny piece of code. Probably half a dozen people plus a manager to get it out the door.

Different context, same thinking: font tech


There came a time, after Jobs left Apple, when there was a sea-change in the computing world. As is well known, Jobs had taken classes in calligraphy at his university, and he often talked about how that informed the ways that the font system of the Mac worked. They were, in apple tradition, beautiful on the screen. I have never owned a mac, but I acknowledge that for the 80s and a lot of the 90s, they were the leader in making fonts look good on a screen.

But then two things changed: Jobs left Apple, and MS poured a ton of money into research and development of subpixel positioning for their graphics engine and antialiasing fonts. The following version of windows was a complete leapfrog of Apple... Microsoft had taken the lead in this field.

And it was cool tech. It went in the rendering engine, not in the font itself, so when the code was run, everything, everywhere, looked great. It was a leap forward for all MS users and it worked for hundreds and hundreds of fonts, regardless of who made the font or what program used them. Almost. In fact, in all but one. One font which, regardless of whether IE, AutoCad, or Netscape Navigator requested it, would remain old-looking.

More research showed that this was entirely intentional: There was a conditional check in the code "If the font requested is such-and-such, do not smooth it". One font. Further checking by the press was that if you took the conditional out, the font smoothed just fine - it wasn't a problem with the algorithm or the font itself. In fact, some people just patched their machines to take the conditional out, and all was well. So why beat up this one font? It was the default serif font for one product: Netscape Navigator.

All the new code did was make a previously perfectly functioning part of Microsoft Windows code work a little less well by making one font among hundreds not render with the new engine.

Business-wise, it was brilliant. People would see, every day, that Netscape looked clunky while everything else looked great. Every day, some people would switch to IE from Netscape just because of eyestrain. Market-share increases, stockholders rejoice!

User-wise, it was awful: If you were someone who had specified that font in a document (say, for a quote in the middle of a Word document) then your entire presentation would look odd on the screen because the fonts were not rendered in the same fashion. In addition, any website that specified that font would render poorly. If you had designed your website using it, and your customer upgraded their OS, your website looked like crap whether it was in IE or Navigator.

As above, it's a change to the operating system: You have to code it, test it, get both code and test cases checked into the build system, and lastly check with legal to make sure you haven't made any promises about treating all fonts equally.

A pattern emerges


The examples I have given are (intentionally) very old, but according to direct experience and first-hand testimony, the mindset lives on:
  • Labor goes in so that a small amount of functionality comes out.

Microsoft is willing to put engineering and labor into things that make the user experience worse in specific and controlled ways. They are willing to take things that always work and turn them into things that don't always work. To most engineers I know, that is extremely offensive. To do it to your own user base in order to enrich yourself may be legally ok but is morally bankrupt.

The (current and continuing) pattern that keeps me from using Microsoft products at all (I have none in my house) is the evil triad:
  1. To increase shareholder value, Microsoft will
  2. engineer something into a worse condition than it started, at the
  3. expense of its own users
The fact that many of their users don't know it's happening (and thus don't care) has got nothing to do with my distaste for this practice. Nor does the fact that it's usually a relatively small burden. In my opinion, it's just wrong. I think a lot of other people feel the same way, even if they can't quite put words to it.

I don't think everyone agrees, nor should they, but Scott's puzzlement may belie a dearth of deeper investigation into the reasons people give, rather than an absence of reasons in the first place.

Thursday, December 12, 2013

Bitcoin: Why all the excitement?

I am writing this post for two reasons: First, I have been flabbergasted by the amount of just-plain-wrong information being distributed by Bloomberg, Alan Greenspan, and other sources about the nature of bitcoin. Second, because I'm the computer geek, members of my family have asked me about it. This is my response to both issues.

The basic metaphor


There is a worldwide, collective bulletin board where people can post two kinds of messages: transfers and discoveries. This log is shared and replicated (and secured) by hundreds of computers worldwide. It's public information and can't be easily blocked or modified without someone having access to every computer with a copy.

Transfers notes say "I, Jeff, give Kimberly 100 bitcoins". (Well, Jeff and Kimberly are account numbers, but you get the idea)

Discoveries say "I am posting a number which solves {some very very difficult well known mathematical problem} for which I am entitled to 10 bitcoins" (Where "I" is also an account number)

For various reasons, no one can forge either kind of message, or post it to the blog if it is not true. (Very complicated and well researched cryptography makes this possible)

Since the bulletin board is a log, and not a summary, every bitcoin account can be checked for balance by everyone else in the world by just looking up all the transfers in and out of it since the beginning of time (in 2009) You could do it with pencil and paper if you wanted to, just like in college accounting.

Why is this exciting for people?


First, it's anonymous cash. Since addresses are completely anonymous and easy to generate, a real person might have a thousand or more of them as places to which money can be sent and from which it can be spent. Of course you'd need to keep a lot of virtual  checkbooks to do that, but computers are good at things like that. Since all the accounts are effectively anonymous, it means that it's not clear which "checks" in the ledger are between different people, and which ones are just a person transferring money between their accounts.

Second, the maximum number of bitcoins that can be "discovered" is finite: about 21,000,000. This means that there can never be "inflation" in the bitcoin world. No bank can make it worthless by printing more.

Third, since there are no "coins", only "balances", it can't be counterfeited. Anyone who posted a message saying "I transfer 100 bitcoins from account X to account Y" can be ignored if the account X had a balance under 100 coins. Thus, it cannot be counterfeited.

In summary: Anonymity makes it hard to track, tax and regulate. A medium which is proof against both inflation and counterfeiting makes it hard to devalue. These are things which make it very attractive to people.

So there's no downside?


Well, No. There are two potential downsides.

First, there is no country or bank backing up the value of the currency. It's literally worth exactly as much as the average user of the currency is willing to pay. That means its value can go up and down very rapidly in the short term. In the long term its inflation-proof nature will cause it to slowly increase in value over time.

Second, in the modern world, there's almost always some way to reverse a transaction. You can dispute a charge-card charge, you can cancel a check, you could even get a judge to order the vending machine company to give you your quarter back. With bitcoin, all transfers are absolutely and permanently final. There is no "undo" key. Some users see this as an advantage, but others see it as a disadvantage. The expression "caveat emptor" has never been embodied so completely in a medium of exchange than it has in bitcoin.

So there you have it. What it is, why it's exciting, and the downsides. Go forth in wisdom, and teach others!

For the more technically minded or curious:

Thursday, August 16, 2012

Democracy: Why it might not appeal to some people

Let me set the stage:
  • You are married and have kids.
  • You believe strongly in a God, attend a church, and the leader of the church isn't the ultimate moral authority, but helps interpret the will of God.
  • In the past five years, you've heard at least one suicide bomb, and at least one plane-delivered bomb detonate near you. At least one of your neighbors has been killed by a bomb in the last ten years.
  • You have enough to eat, but you have personal memory of food shortages that threatened the lives of your family. Clean water is in short supply, but you have enough to drink.
  • You have no deed to the house in which you live; it's yours by social convention. Deeds are literally just pieces of paper - meaningless. There are no mortgages or loans because no local bank lasts long enough to receive the payments.
  • The government has only changed hands once since you were an adult. You have personal memory of the deadly fighting and purges that occurred in the wake of that transition. Your parents remember two more such transitions, each with their own similar bloodshed. Your grandparents would remember a couple more. This is "how things have been" for hundreds of years.
  • The government currently in power is corrupt, but it is the "normal" kind of corruption: mostly nepotism. That is also "how things are". You aren't associated with the top of the social structure under the current government, but things have been much worse, and you'd rather play by their rules than incite further troubles and bloodshed via revolution.
That's your life.

Now imagine that the government of your country does something that irritates a foreign country. You have no idea what the problem was, and wouldn't have known it would be an issue if you had known. The irritated nation invades your country and removes your government from power.

You are given the opportunity to choose your own new government.

Which would you prefer:
  1. Selecting a morally strong (and hopefully less corrupt) new government that will cling forcefully to power and thus provide many decades of stability. This will have the side effect of demonstrating to yourself, your family, your neighbors, and God that you wish to live peacefully with your fellow people in a morally upright society.
  2. A new system where the government changes hands every 4 years according to the whim of the people, with all the associated tribulations involved with a change of government. This is the government favored by the people whose military just invaded your land and killed your countrymen.
I am not saying I agree with the perpetuate-the-problem choice many people make in circumstances similar to these. I am saying that I understand, and suggesting that members of a stable western democracy might lack the perspective of those people faced with such a situation.

Friday, September 9, 2011

Corporate tool choice: Why products beat tools every time.

Are you like me at all? Every time I see a "GoTo my PC" or "GoTo Meeting" commercial, I grind my teeth. These "hot new" technologies for Windows have been standard fare on UNIX for over 20 years, and yet UNIX is still viewed as unusable by many corporate types.

As a long-long term computer programmer and tech geek, I had always assumed that the reason that hacker-born tools don't get wide acceptance in corporate environments was because they didn't have salesmen schmoozing the VP into making badly informed policy decisions. This attitude is widespread among my kind, and, well, we're completely wrong.


I have one word for you, Joel: Bootstrapping.


Our geek-myopia is a product of our personal evolution: most of us learned under the wing of someone else. A teacher, guru, or just another geek learned something we thought was cool, and we learned it through conversations and one-on-one teaching..

Life in the dozens-to-hundreds scale

I'll fall back on a simile: the massive success of World of Warcraft. A prior game, Dark Age of Camelot, had better and more scalable PvP, more realistic rendering, and better in-game economics years before WoW even hit alpha testing. Despite that, WoW became an immediate hit. It emptied DAoC's servers almost overnight, with a product that was less "deep" and less stable.

How did they do that?

One difference was a single wart in WoW's graphical environment: the exclamation points hanging over questgiver's heads. They totally "broke the metaphor" of the virtual world, but they gave new users a very good idea where to click first. At that time in DAoC's visual environment, other players, inert NPCs and questgiver NPCs were almost indistinguishable, so there were no cues as to what to do/click first. Chasing after avatars that were players and trying to click on them was both very challenging, and yielded nothing anyway. (Clicking on a player didn't do anything) It was easy to get frustrated.

Further, WoW had extensive beginner quests where the dialogues led the new users through most of the basic parts of the game. The fact was that a new user completely unfamiliar with WoW could become a padawan in a matter of minutes. Not so in DAoC, where things as basic as the "r to reply" key were undocumented and you ended up using "/send blackhawk This conversation interface is really inconvenient" for ages until someone told you about the "reply" key.

If you had been given the task: "Get 80 people in your company to 10th level this Saturday", it would have been nearly hopeless in DAoC, and almost trivial in WoW.

The self-taught path is vital


When you're trying to get a corporation (think dozens or even hundreds of programmers) to use a new tool, there just isn't enough time to chat with all of them and bring them up to speed. A typical tool switch has to be pretty much complete in a week or so. In order to even approach this capability, the product absolutely must have a smooth, bulletproof, and thorough new-user bootstrapping experience. A man page, some screenshots, and an HTML monograph from the designer just aren't good enough to bring 50 people onto a new platform in a week, and that is really what large organizations require. It's not that they want it. They can't actually don't have more resources to throw at the switch and still keep their existing products working.


Many know the expression For want of a nail, the kingdom was lost.

I saw this in perfect detail today as I tried to get started using Eclipse. I saw Eclipse for the first time years ago in version 0.0.0.0.0.0.1 or thereabouts. I knew it was an IDE, I knew it was by-hackers-for-hackers and it was supposed to fill a similar space to Visual-Blarg from Microsoft.

Here's a tick-tock of my experience:
  1. I install eclipse with "sudo apt-get install ..." onto my Ubuntu-10 desktop. It nicely adds a "Programming" submenu to "Applications", and places itself in that.
  2. I start it up- and wait. For a distressingly long time, actually, before even the splash page appears.
  3. It prompts me to pick a workspace directory before it will let me go any farther. This is clunky. It's essentially asking a configuration question before you can even get to the "help" screen to ask what you're doing. By analogy: DAoC used to make you choose the stats for your character before it told you what they did. Both are examples of cart-before-the-noobie processes.
  4. It gives me a bigger splash screen with some icons. The upper-left one is marked "Overview". I click on it, which brings up a (very nice) Overview screen with a link "Workbench Basics". I click on that.
  5. There is another long-ish pause while the help browser appears in another window. It's long enough that I click on the link a couple more times to make sure I did it right.
  6. The help facility window appears, and everything goes to hell. Look at the next three screenshots, as I click on the links:

The "characters are cut off on the left edge" looked to me like bad HTML "div" formatting, so I blew it off and clicked on "Getting Started", then "Basic Tutorial"



Here I waited, and waited, for whatever video or content was supposed to come up next. Nothing. I clicked  backwards and forwards. I even used the (almost invisibly tiny) arrows in the upper right toolbar. The forward (right) arrow did nothing. No error, but no action. Weird that it wouldn't be greyed-out out if it did nothing, so I waited for a media player to pop up or something. Nothing. I tried clicking on the next entry (Concepts) but that obviously took me "too far". Well past the "Basic Tutorial" anyway.

After a long and frustrating series of clicks backward and forward, etc., I gave up and punted: I Googled "Eclipse Basic Tutorial" and found this page at UPenn: Getting Started with Eclipse which includes the useful tidbit:

This opens up and you can click on Basic tutorial, which is a link that opens a page that says "Basic tutorial" and little else.
Then it goes on to talk about "plusses" and clicking on them to open things up. I looked all over the image above for anything resembling a plus... no dice.

Status at this point in time: I'm at a dead stop trying to get to the "Basic Tutorial", with nothing obvious left to try. Even the Google search confirmed my problem but didn't give me a solution.

I assure you that at this point, anyone, anywhere, that is trying to make plans to bring 50 developers to a new platform like Eclipse will mentally up the cost in time and money by a factor of 5-10, which will essentially knock it out of contention.

And it's all because of a stupid help-screen UI issue... a horizontal scrollbar that defaults to a center position:


This seemingly minor glitch has hidden the "magic plus signs" which are the only possible route to the basic tutorial.

There are a variety of things that could be done to solve this:
  1. Fix the help utility UI so it doesn't do that by default. Text missing ON THE RIGHT of the screen will get people looking for a scrollbar
  2. Rework the minute upper-right scrollbar so that the buttons that do nothing are greyed/stippled and the "Show in Table of Contents" button (which is a hidden back-path to the magic plusses) is among the things people might click
  3. Override the scrollbar's initial setting from the command line or environment.
  4. Add a "Next Section" link (as occur in almost all of the other help segments) in the "Basic Tutorial" Page.
Items 1 and 2 are the essence of the sorts of things that should be simple, fast, and clean in open source software environments such as produce the help utility.

Items 3 and 4 are completely under Eclipse's control, and would be totally obvious... if the developers had detected the problem in the first place by watching someone new walk through the bootstrap process.

Lessons Learned


If "the good news" was that it wasn't an absence of salespeople, "the bad news" may be just as frustrating: Your bootstrap process is absolutely essential to your adoption in larger environments.

Hitting a hard-stop in your forward progress when you're familiar with a tool and trust it is a completely different thing than hitting a hard-stop trying to find your way to the tutorial. The former will result in a user experimenting, Googling, and chatting their way to a solution. The latter will get hands thrown in the air, and a return to the known-to-work alternative, regardless of how much worse it is.

As a programmer, I know that finding these kinds of things takes easily 20% as much time as is spent creating, testing, and polishing the tools in the first place, maybe even more, and I am loathe to spend that kind of time. But without that time getting spent, the tool might as well not exist as far as larger organizations are concerned.

Just something I noticed.

Friday, October 30, 2009

Terrorism: the macro version of SARS

SARS,or Severe Acute Resperatory Syndrome, was a front and center issue in 2002 and 2003. It killed over 8,000 people worldwide, and received a lot of news coverage. Interestingly, the thing that sets SARS apart from most other diseases, the fact that it killed a disproportionate number of healthy adults, was not something that received a lot of followup. Most diseases affect the young and the elderly in larger numbers than the mid-adult population, SARS bucked that trend.

Without getting into a lot of technical mumbojumbo about pulmonary edema and antibody response, the reason SARS kills more of the healthy population is pretty simple: the virus that causes the illness (SARS-CoV) is ineffective and clumsy. People with suppressed immune systems have survived where healthy people have not. The reason for this is that it is the body's immune response (killing the virus and trying to get rid its waste) that causes the victim's lungs to fill with fluid. The stronger the immune system, the stronger the response, and the more rapidly the victim's lungs fill with fluid. In essence, the more healthy the victim, the faster their life is put in danger. It's the body's own reaction that puts the victim at risk by perverting disease-fighting resources to a self-destructive end.

In conventional war the goal is control. Control requires resources: people, productivity, etc. When fighting a war, one group of resources (governments, industries, populations) allied with one controlling entity try to destroy similar resources which support a rival. For the human race, this is pretty old-hat. Wars are documented in all societies from the stone age forward. Happily, societies with comparable productivity are usually mutually tolerant. Wholly incompatible societies are usually separated widely enough on the resource-and-capability scale that most wars are relatively short. Yes, there are exceptions, but many wars are so brief that they're decided fact before they make the news. It averages out.

Terrorism is quite different. It has two pathologies: intimidation and perversion. Intimidation is the most overt of the two which is why on the surface terrorism seems to fail so blatantly. From the Gunpowder Plot of Guy Fawkes to the 9/11 hijackings of Al Qaeda, the targetted population wasn't swayed in the direction of the attackers. It was completely and strongly against. Seemingly, terrorism had failed.

That, unfortunately, is only half of the story. Like SARS, terrorism's main damage is dealt by perverting normally healthy responses to destructive ends. Terrorist attacks can redirect a huge amount of resource toward ends which benefit the country virtually nothing, stunting its normal growth. On the order of a trillion dollars have already been spent by the United States trying to prevent additional plane-related attacks. In all likelihood, virtually every dollar was wasted. The other reaction: waging war upon Afghanistan, exerted sufficient control in the area that any similar hijacking plans which may have been in the offing were completely distrupted. Beyond that, the TSA, the DHS, etc., were merely public-facing efforts to put people at ease, and today represent billions in misspent resources.

Imagine for a moment the alternative history where reaction to the hijackings is delayed for a year: Al Qaeda kills 3,000 people on 9/11. The next day, everyone goes straight back to work and continues on. There are 3,000 less workers today, and there is some societal capability lost, but the other 339,997,000 Americans go back to work. On 9/12, Al Qaeda sacrifices another 20 of its zealots and kills another 3,000 americans. Rinse and repeat for one year. This assumes that Al Qaeda could field and fund over 7,000 suicidal zealots and find 365 locales densely populated enough to kill 3,000 people every day. In the course of this "year at war",the United States would have lost less than one third of one percent of its population. Finally the United States launches a war in Afghanistan, removes the support Al Qaeda was receiving, and then goes back to normal operations. In the past 10 years, that United States would have had a trillion government dollars to spend on health care, spaceflight, and fighting off the mortage crisis; in short on everything else the United States does.

Nineteen hijackers in exchange for three thousand dead Americans and "a woken, angry giant" is a lousy trade. Nineteen hijackers in exchange for removing $100 billion per year from the US economy could be considered quite a coup. Perhaps, as the 10th anniversary of these attacks approaches, we should consider rethinking our priorities.

Sunday, October 18, 2009

Widely separated dots: Skills in parenting and computer usage

In foggy memory of a college course in sociology I took many years ago, I remember hearing about a study where a parent and their kindergarden-age child were paired off and given a pile of toy automobiles. Half of the toys were red and half were blue. Half were trucks, and half were cars, with each combination being about 1/4 of the vehicles. The task was to separate the toys into piles with common attributes, but only the child could touch the toys. It wasn't specified how the toys should be divided.

A pattern that emerged was that one group of parents tended to accomplish the task by making the child an extension of themselves:  "Take that truck, put it in the pile over there", lots of pointing and direct instruction. A different group of parents tended to explain the goal to a greater degree, and let the child act on their own: "Put the red toys in one pile and the blue toys in another". The groupings seemed to correlate with all sorts of interesting things: education level, income, wealth, etc. I seem to remember thinking that maybe they had cause/effect backwards: that perhaps a tendency for direction vs delegation could drive the parents' ability to learn, earn, and conserve wealth. Unfortunately the groupthink of coordinated nodding got to me, and I didn't raise the issue.

Many years later, I was working with a talented friend at a software company. He and I were each project lead on two separate but related projects. He was an OO evangelist, to which I had not yet been assimilated, but have since adopted. In short, he was a very smart guy whose opinion I did (and still do) respect. Another difference between us was that he absolutely loved Microsoft Windows. I loathed it, preferring a UNIX command line. We had long since agreed to a friendly disagreement.

One day, we were working on a common chunk of code in his office. He demonstrated a test run, which consisted of going to the database window and creating a fresh database, going to a filesystem window, selecting a range of output files and deleting them, going to the system profiler window and clearing the cache, and lastly going to the application window, and (with a mere 6 more clicks or so) starting the app, which ran to completion and generated the desired data. He spoke at some length about how easy all this was, compared to the days he'd had to use UNIX for programming. (his college days) Just point, click, and it all worked! (If I were accurately reflecting his tone, I'd've used three exclamation points there) I asked him to come to my office and see me do the same thing, and he agreed. We got to my command prompt, I typed "runtest", and the script did everything that four window selection and dozens of clicks had done, only it was less error prone and faster.

He wasn't swayed, and his objection stays with me: "But you had to write that script!". He was eminently satisfied with a system that required his presence and direction. He wanted a tool:, I wanted an assistant, and  was willing to take the time to train one (write the script). He really didn't want to waste time writing scripts, feeling that the goals changed often enough that you ended up spending more time writing than you saved by using them.

Two years ago I got a chance to follow up on that. At an offsite programmers' lunch for a  different software company, I asked: "What is your computer doing for our company right now while you are at lunch?" Some folks said "Compilling", some said "Building datasets", others "Planning a new rack layout", etc. But by far the most said "nothing". Both groups were mystified that the other group was so big.

Hegl long ago separated "self" from "other", and I don't know if there's an official separation of "other" into "tool" and "agent". In the sociologic test, some parents were employing their kids as tools to accomplish the task, while others were using them as agents. It might be interesting to poll people who have become successful in various fields and ask them about how they think their parents might've approached the original test