Mad Men

madmen

The second season of Mad Men begins tonight on AMC.  If you haven’t seen it, then I highly recommend that you do and that you also rent the first season on DVD or through your favorite peer-to-peer network and catch up on this beautiful piece of television.

Mad Men is about Madison Avenue advertising executives in the early 1960’s, when the 60’s looked like the 50’s in the same way that what we think of as the 60’s is really the 70’s.  It is a world in which men smoke and drink, swagger and get things done.  They were veterans of either Korea or WWII, and knew how to accomplish great things.  In the process they created a wonderland that was America at its height, which had within it the seeds of America’s decline.  In Mad Men, we are afforded the opportunity to see it all.

There is something peculiar about enjoying Mad Men.  The sleezy misogyny and petty racism of the period is laid out for us to see.  Yet despite this, there is a sense that men were really men back then — and certainly not Robert Bly-reading tree hugging faux-woodsmen trying to recapture something we didn’t realized we had lost.  They are the real deal — a generation that gave us James Bond as well as a militant communist-hating wing of the Democratic party.  Damn those were the days.

It is, in a sense, an antidote to The Office, the satirical show about office work that makes us feel like we all suck and it’s alright — a show about spin going out of control to the point that the criteria for success and failure are utterly open to interpretation.

In Mad Men, there is no ambiguity about what success and failure entail.  Success means a well-padded expense account, an attractive secretary and a corner office with a bar built into the wall.  Failure means being denied these things.

And yet the world of the mad men have led us to the place where we are now.  They may have been men of character in their own way, but they created a world in which spin matters more than character, and one manages not by example but by personality tests and manipulation.  Perhaps the world of the mad men was no less corrupt, but they attempted to hide it and build something more beautiful, while we tend to cover it up with self-effacing humor ala John Stewart, Stephen Colbert and Conan O’Brien, our contemporary zeitgeist-setters whose humor shares the common conceit that they know they are privileged and have no intention of giving it up, but they are more than willing to feel bad about it.

In Mad Men, no one seems to have regrets, and a bold face is the essence of a moral stance.  The warts are all there to see, and they are ugly indeed.  But at the same time there is a sense of style and elegance that we no longer find in the modern office, and it draws the viewer like a slow seduction into something we know is not good for us.

Geek Chic

huey

Tom Wolfe’s 1970 essay Radical Chic captured a peculiar phenomenon in American culture — the courting by wealthy New York socialites of political radicals and revolutionaries like the Black Panthers — people who, in turn, should have despised the socialites trying to cultivate them.  You can read an excerpt here.  Perhaps it was an example of opposites attracting, or perhaps it was merely an extreme exercise in mauvais fois.

I don’t mean to rain on anyone’s parade, however.  I mean only to point out that when socialite courtesans like Paris Hilton date the likes of Jimmy Wales, founder of Wikipedia, we know that the trend continues, but instead of the Huey Newtons of the world, it is nerds who are now being pursued.

It has been a long time since Robert Carradine and Anthony Edwards (Louis and Gilbert) showed the world back in 1984 that nerds could sleep with cheerleaders.  This was followed up by Val Kilmer’s more testosterone fueled portrayal of the nerd archetype in Real Genius.  All the while, Bill Gates and Steve Jobs were busy demonstrating to the world and Wall Street the power of Geek culture, and now we find ourselves where we are today, with nerds making inroads into every area of society, and kids wanting to grow up and be like them.  As Eryn Loeb wrote for Salon:

"The information age has been good to nerds. No longer are they relegated to getting sand kicked in their faces by that other familiar archetype, the jock. We’ve gotten used to watching Steve Jobs grin awkwardly as he announces the latest hot techie toy, and when it comes to pop culture, nerds like Superbad writer/star Seth Rogen are increasingly in control of their own image."

We’ve come a long way, baby.  But perhaps not as far as we think.

revenge

The only way to truly measure the influence of a sub-culture is to compare it with another one.  This month’s Ebony has a feature article on the 25 Coolest Brothers of All Time.  When one peruses the list, one realizes how much the accomplishments of nerds fall short, and how fragile their claim to  chic really is.  The mere fact that Ebony can talk about the brothers is insta-cool.  Many a nerd would give up his pocket protector to be called brother by an actual black man.

Billy Dee Williams is on the list.  Like Barack Obama, who is also on the list, he has cross-cultural appeal and stands out as an icon of both Geek culture and Black culture, though for vastly different reasons.  Ebony mentions Billy Dee’s swagger, his confidence and his effortless style.  On the other hand, Wikipedia (in case you ever doubted its firm position as a cornerstone of Geek culture) begins its entry on Billy Dee with this:

"Billy Dee Williams (born April 6, 1937) is an African American actor and writer, best known for his role as Lando Calrissian in the Star Wars film series."

The entry for Harrison Ford, interestingly, begins like this:

"Harrison Ford (born July 13, 1942) is an Academy Award- and BAFTA-nominated, as well as Golden Globe-winning, American actor." 

Ford’s association with the Star Wars franchise isn’t mentioned until the second sentence.

 

miles

The full list of 25 Coolest Brothers follows, in no particular order.  I find little to quibble about here except for the presence on the list of Obama, with whom I don’t naturally associate coolness — although, like many others, I admire his Dickensian life story.

Barack Obama
Don Cheadle
Billy Dee Williams
Sidney Poitier
Quincy Jones
Lenny Kravitz
Jimi Hendrix
Richard Roundtree
Denzel Washington
Sammy Davis, Jr.
Bob Marley
Ed Bradley
Tupac Shakur
Adam Clayton Powell, Jr.
Gordon Parks
Muhammad Ali
Miles Davis
Walt Frazier
Shawn ‘Jay-Z’ Carter
Samuel L. Jackson
Malcolm X
Snoop Dogg
Prince
Michael Jordan
Marvin Gaye

 

billy bill

Concerning Samovars

samovar

We have two in the house.  Passed down through the generations in my wife’s family, they currently sit in our living room as decorations, whispering to us of bygone times.

They once played a central role in the cultural life of the Russian emigre intelligentsia.  Alexandra Kropotkin evokes images of this bygone world in her wonderful book on Russian Cooking:

Among Russians who have gone away to dwell in other countries, it is easy enough to arouse mild attacks of homesick longing for Russian life and Russian flavors.  But to launch the expatriate Russian soul on a really unbridled jag of nostalgia, try mentioning our vechernyi t’chai, our evening tea.

There is the magic phrase that reawakens all out dearest memories of home!

When the samovar goes on the dining-room table, usually about 10 o’clock in the evening, the entire family gathers for the most intimate kind of get-together.  This is the hour of comfortable relaxation, with old and young meeting as equals in talk, drinking innumerable glasses and cups of tea while wandering conversationally into all fields of anecdote and gossip, of thought and speculation.

The babies and younger children are in bed.  The adolescents feel grown up.  The oldsters are sure of an audience.  And guests always drop in.  It is perfectly correct for friends to drop in, uninvited, for evening tea at any time between 10 P.M. and midnight.  The lady of the house is not expected to set out anything special for company.  There is no fuss or formality.  The scene is cozy and homelike.  When you come for evening tea, you take potluck with the family.

The dining-room table is covered with an embroidered tablecloth.  Beside the lady of the house, at her right hand, the steaming samovar stands on a little table of its own.  Or if there is no side table, the samovar will be standing directly on the dining-room table, with the hostess peeking around it to see and take part in whatever is going on.

A small china teapot fits into a metal fixture on top of the samovar.  The hostess herself has measured tea leaves into the china teapot, has brewed the tea with boiling water from the samovar, and has set the pot of tea on top of the samovar to keep on brewing.

The tea is made as strong as household supplies permit.  A few drops of this strong tea from the small china pot will be poured into each cup or glass, which will then be filled with hot water from the samovar.

Tea glasses in metal or silver holders that have handles, like American ice-cream-soda glasses, are set out for the men.  In Russia the men drink tea from glasses, adn the women drink tea from cups.

On our evening tea table are plates of cold cuts and plates of sliced cheese.  We don’t serve fish at evening tea unless the season is Lent, or when times are particularly hard.  The bread basket offers slices of black bread and slices of white.  Unsalted butter is on the table in a pretty dish … Plenty of sweet things will be arrayed in front of us in any case.  There will be homemade preserves, crystallized fruits, fruit confections known as pastilla, and the semi-jellied fruit candies that Russians call marmelade …

At vechernyi t’chai, it seemed that the tea was consumed endlessly, most Russians taking it with thin slices of lemon.  The hostess always sliced the lemon herself with a special silver knife.  After cutting the lemon she always held the knife for a moment in the steam from the samovar to prevent the knife from tarnishing.

Everyone at the tea table had a plate and a small saucer, usually of cut glass.  The saucer was for preserves, which you either ate with a spoon or put into your tea.  Many Russians like preserves better than sugar as a sweetening for their tea.  After years in America it still irks me not to be able to find saucers of the right size for preserves to go with Russian tea.  We call these saucers blewdichki dlia vareniya.  They are about 3 inches across.  Very few Russians take milk or cream in their evening tea.  They take it that way on for breakfast.

The best breakfast in the world, of course, is a hot bowl of pho, which is a part of my cultural heritage.  My mother makes it for us whenever she visits, and I generally have it for lunch at least two or three times a month.  Nevertheless, the best time of day for ph? is the morning.  It includes a strong beef broth for protein, noodles for carbs, and spices to help you wake up as well as a variety of herbs, bean sprouts and citrus. 

Andrea Nguyen has written an excellent series of articles about pho for the Mercury News which covers the history and the rituals surrounding the flavorful soup.  She even provides a recipe, though it is a bit of a lark since few people will have the patience to actually try it out.  It requires some unusual herbs as well as long hours of boiling bones and meat for the broth.  My mother typically boils two chickens (either Vietnamese or Thai chickens, since she says American chickens have no flavor) as well as a large beef bone for about 8 hours until the meat has practically disintegrated into the broth.

Garnishing pho is like putting together your own hamburger — you can have it your way. So, before putting any pho into your mouth, add your own finishing touches. Then dive in with a two-handed approach: chopsticks in one hand to pick up the noodles, the soup spoon in the other to scoop up broth and other goodies.

Your pho ritual may include:

Bean sprouts: Add them raw for crunch or blanch them first.

Chiles: Dip and wiggle thin slices of hot chile in the hot broth to release the oil. Leave them in if you dare. For best fragrance and taste, try Southeast Asian chiles such as Thai bird or dragon rather than jalapeños. Serranos are better than jalapeños.

Herbs: Strip fresh herb leaves from their stems, tear up the leaves and drop them into your bowl. Available at Viet markets, pricey ngo gai (culantro, thorny cilantro, saw-leaf herb) imparts heady cilantro notes. The ubiquitous purple-stemmed Asian/Thai basil (hung que) contributes sweet anise-like flavors. Spearmint (hung lui), popular in the north, adds zip. [For details, see Essential Viet herb page on this site.]

Lime: A squeeze of lime gives the broth a tart edge, especially nice if the broth is too sweet or bland.

Sauces: Many people squirt hoisin (tuong) or Sriracha hot sauce directly into the bowl. I don’t favor this practice because it obliterates a well-prepared, nuanced broth. But I do reach for the hoisin and Sriracha bottles to make a dipping sauce for the beef meatballs (bo vien).

I typically do put both hoisin and Sriracha in my soup because this is the way my mother has always made it for me.  Additionally, I squirt some of each into a dipping bowl, pick out thin slices of rare beef out of my soup bowl with chopsticks and alternate between dipping the slices in the chile sauce and the sweet hoisin.

Unlike the Russian tea ritual, the Vietnamese pho ritual is no time to talk about politics or religion.  Eating soup is a serious business, and involves the constant motion of chewing on noodles and preparing carefully for the moment when one swallows one’s noodles by synchronized hand motions, with the chopstick hand picking out pieces of meat from the bowl and dipping them in the sauce dish, while the soup spoon hand gathers more noodles to chase the slices of beef.

Talking generally resumes after the meal, as all participants look with satisfaction at the empty soup bowls and the pieces of discarded herbs and sprouts strewn across the table.

The Vietnamese are a coffee rather than a tea people, having been colonized by the French rather than the English.  For breakfast I like a strong cup of coffee with my pho, and I like to sweeten it with condensed milk.  A meal like this generally leaves me full well into the dinner hour.

Hellboy 2: When Elves Go Bad

hellboy

Hellboy is, at its heart, a conceit that allows Mike Mignola, the comic book author,  to riff on various horror and fantasy motifs by inserting a gun-toting, cigar-smoking modern action hero (albeit one with a tail) into genres where he does not belong.  The payoff in the comic books, sometimes successful and sometimes not, is simply in seeing how events unwrap.

There is a naturalness to adapting Hellboy for the big screen, since this is where this type of action hero was originally born.  In Guillermo del Toro’s hands, what occurs is a reversal of the transposition Mike Mignola accomplishes in his graphic novels.  We import into the action movie genre elements that do not natively belong to it and see what happens.  As with the comic books, this is sometimes successful and sometimes not.

The original movie played with themes from H.P. Lovecraft’s Cthulu stories.  The monsters were beautifully realized using CGI effects, but the incomprehensible horror that typically drove Lovecraft’s stories were displaced.  They simply cannot exist in a world that revolves around an indefatigable hero.

The Hellboy sequel in turn plays, more than anything else, with Tolkien’s elves.  The elves in The Golden Army are tall and filled with martial virtue.  They are also masters of magic, and preservers of nature.  Part of the high concept behind Peter Jackson’s production of Lord of the Rings was to bring out the nature loving motifs in every elven design, while highlight the industrial aspects of orc culture.  As National Geographic (among others) points out:

Tolkien’s concern for nature echoes throughout The Lord of the Rings. Evil beings of Middle-earth dominate nature and abuse it to bolster their own power. For example, Saruman, the corrupt wizard, devastates an ancient forest as he builds his army.

The Elves, in contrast, live in harmony with nature, appreciating its beauty and power, and reflecting a sense of enchantment and wonder in their artful songs.

Orcs, however, always exist in some sense as placeholders for modern men.  In The Golden Army, del Toro asks what would happen if Tolkien’s elves ever saw what we have now become.  Del Toro’s answer is that they would go to war with us in order to preserve what remained of their world.

Visually, we once again see the Hieronomous Bosch inspired monsters we first glimpsed in Pan’s Labyrinth.  They are beautiful and horrible at the same time — horrible enough to justify Hellboy as a hero as he battles them, but so beautiful at times that it seems a shame.  It is this second aspect of the film, and Del Toro’s constant affection for outsiders, that undercuts the film as a participant in the action genre.  Instead, the battles become exhausting over time, and we wish they would go away so we can enjoy the gentle details of Del Toro’s exotic world which have always been his specialty.

Hayao Miyazaki’s films can be identified as another influence on the visuals and mood of this film.  One of the monsters from Hellboy II seems to be pulled right out of Princess Mononoke.  The bestiary we encounter in the Goblin Market, likewise, recalls the parade of grotesques from Spirited Away.  More than anything else, however, what is borrowed from Miyazaki is the device of placing a child in the middle of the battle between good and evil.  We are forced to see the world through the eyes of a child who finds both good and evil to be ambiguous, which is the emotional location of all fairy tales.  In Del Toro’s film, Anna Walton performs this role as Princess Nuala, the sister to the elf protagonist of the story who, with her big yellow eyes and zombie-like complexion, is strangely affecting and sympathetic.

All in all, the film is not successful — not because it does not know what it wants to be, whether action movie or heroic fantasy, but because there is nothing for it to be.  These genres do not combine easily, and what we are left with instead is a plotline and a set of overlapping genres that provide Del Toro with a canvas upon which he paints detailed images that could not make an appearance in any other way.  Those details were, for me, well worth the price of admission.

The big question is what Del Toro will do when he gets his hands on a real fantasy property.  He is slated to direct the highly anticipated Hobbit movie, with Peter Jackson producing.  There is, of course, what the movie ought to be — a continuation of the epic fantasy genre, done with the same accomplishment that Jackson achieved with The Lord of the Rings.  If The Golden Army is any indication, however, this is unlikely to be what we will get.  Del Toro’s recent interviews point to the same conclusion:

I was never into heroic fantasy. At all. I don’t like little guys and dragons, hairy feet, hobbits — I’ve never been into that at all. I don’t like sword and sorcery, I hate all that stuff.

This is fine with me.  I’ve always been a fan of the Rankin/ Bass cartoon (with music by Glen Yarborough), and don’t see any reason to try to improve upon it.  Seeing Del Toro take another stab at twisting the genre to his own ends is well worth waiting for.

The Devil’s Triad

brokenkeys

According to tradition, the tritone was called the Devil’s Chord or the Diabolis in Musica, a sound so dissonant and so puissant it was believed to be capable of raising the Lord of Hell himself.  For this reason, in it’s irrationality, the Roman Catholic Church banned the Devil’s Triad, on pain of excommunication.  Today, of course, bands such as Metallica and Black Sabbath  use the tritone on a regular basis with no adverse effects.

The irrational is a powerful force that may be harnessed, dear reader, by those willing play on the fringes of reality.  Three magical phrases, irrational yet powerful and well known to the practitioners of the dark arts, can be invoked by anyone who desires to kill a technical project they dislike.  Today, dear reader, I will teach you these three phrases.

But first, a word about motivations.  According to Nietzsche, the driving force behind modern man’s desire for power is, tout court, resentment.  We all resent the guy who comes in the middle of a software project and starts making suggestions about how to improve it.  As the new guy, in turn, we resent the old and crusty way things are done, as if the way things are done is the only way.  Resentment, in other words, is the mother of invention when it comes to technology, and we each, in our own way, embrace it as we strive toward a new tomorrow.  In a perfect world, we may all act as the angels, but in the real world, we may occasionally be forced to make deals ex inferis.  Which is not to recommend what I am about to teach you.  I ask you, moreover, to use these techniques judiciously.  One should not call upon the powers of the underworld lightly.  But should you find yourself in a situation where rational discourse is no longer possible, and rhetorical brute force is required, then these phrases may be of use to you.

1. It’s too complex.  It’s not maintainable.

This is a wonderful phrase.  It is universally applicable since any useful piece of code will end up being complex, and one can never overemphasize the incompetence of one’s peers when discussing maintainability.  And with luminaries like Joel Spolsky and Jeff Atwood backing you, how can you go wrong?  If you want to kill any technology — WCF, WPF, .NET Remoting, 3-tier architecture — just invoke this magic phrase and it will wither away.

2. It’s not scalable.

Amazingly enough, this diabolical mantra can be called upon without any evidence.  No one will ever turn around and ask you to justify your claim — be it with a load tester or anything.  Simply say these magic words and your enemies will cower before you.  Anything cool — like reflection, say — will cause a certain amount of performance degradation.  This is normal of course.  In software there are always tradeoffs, and exchanging performance for other advantages such as robustness and decoupling are the norm.  Unless, of course, you make trade offs impossible.  The magic phrase “It’s not scalable” instantly makes any trade off seem impossible.  It’s very well, after all, to lose 5 milliseconds on a transaction, but what happens when you have a gazillion transactions?!!!  That’s 5 milli-gazillion units of time that you have cost the company, and time is money!  That’s 5 milli-gazillion dollars you’ve cost the company!   By golly, this solution is not scalable!

3. It will push us beyond our deadline.

“The solution you have provided is all well and good, and I mean neither to question your integrity nor your intelligence, but given the fact that it is not maintainable and not scalable, I fear that trying to implement it will push us beyond our deadline.”  I’ve never worked on a project that wasn’t “time sensitive” and rarely on one that wasn’t needed “yesterday”.  There’s no better way to kill an idea, even when it comes out of  the mouth of someone who refuses to say definitively when a project will in fact be completed, than to say that it will push us past our deadline.  I’ve seen this used when determining which architecture to use.  I’ve even seen it used in determining which textbox control to use.  If you ever find yourself in a position where you have an idea that is competing with someone else’s idea, you can quickly sweep your adversary’s idea aside by invoking this occult phrase: It will push us beyond our deadline.

Why are these magic phrases never tested?  Why are they impervious to standards of verifiability traditionally expected in other fields?  The reason is simple.  Software development is always seen, from the outside, as a kind of magic, and any successful project has at its heart some secret sauce, some magic code, that makes it all possible.

This is the magic unicorn principle.  At the heart of any successful application stands a magic unicorn.  You feed it data, no matter how disorganized or moldy, and it comes out the other end a rainbow.  Data in.  Rainbows out.  It’s beautiful in its simplicity.

In my next post, I will demonstrate how to build a DIRO magic assembly.  Stay tuned …

Ajax AutoComplete Extender with WCF

blackstone

The problem with conjuring tricks is that they lose practically all their glamour once you find out how they are done.  It’s very cool to see David Blaine walk down the street, do a few passes over his hand, and resurrect a fly which proceeds to flee.  It’s rather disappointing to do a google search and discover that in order to prepare for this trick, the first requirement is that you freeze a fly.

My trick is to make an autocomplete extender from the Ajax Control Toolkit call a WCF service instead of an asmx service.  For this recipe, I assume that you are already familiar with the autocomplete extender, and that you are using Visual Studio 2008.  I warn you in advance — my trick disappoints.  It is so trivially easy that, once the technique spreads, it is very unlikely to impress your colleagues at work, much less get you a date with a supermodel.

Start by creating a new web project called AutocompleteWCF.  Add a reference to the AjaxControlToolkit.dll.  Open up the default aspx page that is generated with your project, and add the following code to:

    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>
            <asp:TextBox runat="server" ID="myTextBox" Width="300" autocomplete="off" />
            <ajaxToolkit:AutoCompleteExtender
                runat="server" 
                BehaviorID="AutoCompleteEx"
                ID="autoComplete1" 
                TargetControlID="myTextBox"
                ServicePath="Autocomplete.svc" 
                ServiceMethod="GetCompletionList"
                MinimumPrefixLength="0" 
                CompletionInterval="1000"
                EnableCaching="true">
            </ajaxToolkit:AutoCompleteExtender>
    </div>
    </form>

 

This is the standard demo code that is shipped with the Ajax Control Toolkit Sample Website.  I’ve simplified it a bit by removing the animations.  The only significant change I’ve made is to change the ServicePath from Autocomplete.asmx to Autocomplete.svc, the latter being the extension for a WCF service.

The next step is to create our service and add a GetCompletionList operation to it.  The easiest way to do this is to go to Add | New Item and just select the Ajax-enabled WCF Service item template, but this would be so easy that it is hardly worth doing.

Instead, create a new WCF Service using the WCF Service Item Template and call it Autocomplete.svc.  Visual Studio will automatically generate a service interface for you.  Delete the interface.  We don’t need it.  (To be more specific, I don’t know how to get this to work with an interface, so I’m just going to ignore that it is possible.)

Again, I am going to rip off the ACT sample app and just borrow the code from their webservice and place it in our WCF service.  The WCF service class (Autocomplete.svc.cs) will look like this:

    [ServiceContract(Namespace = "")]

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

    public class Autocomplete

    {

 

        [OperationContract]

        public string[] GetCompletionList(string prefixText, int count)

        {

            if (count == 0)

            {

                count = 10;

            }

 

            if (prefixText.Equals("xyz"))

            {

                return new string[0];

            }

 

            Random random = new Random();

            List<string> items = new List<string>(count);

            for (int i = 0; i < count; i++)

            {

                char c1 = (char)random.Next(65, 90);

                char c2 = (char)random.Next(97, 122);

                char c3 = (char)random.Next(97, 122);

 

                items.Add(prefixText + c1 + c2 + c3);

            }

 

            return items.ToArray();

        }

 

A few things worth noting:

1. Autocomplete does not implement the IAutocomplete Interface.  Even though this is generated automatically, with the WCF Service item template, you should remove it.

2. The service contract has a blank Namespace explicitly declared. 

3. The ASPNetCompatibilityRequirements attribute must be added to our class.

 

This takes care of the code that calls the WCF service, as well as the service itself.  We now have rig up the web.config file.  If you’ve been working with WCF for any length of time, then you know that this is where the problems usually occur.  Fortunately, the configuration is fairly simple.  You need to set up an endpoint behavior for your service that enables web scripting (much the way asmx web services must be decorated with the ScriptService attribute in order to be called from client-script).  You also will need to turn AspNetCompatibilityEanbled on for the hosting environment.

 

    <system.serviceModel>

        <behaviors>

            <endpointBehaviors>

                <behavior name="AjaxBehavior">

                    <enableWebScript/>

                </behavior>

            </endpointBehaviors>

        </behaviors>

        <serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

        <services>

            <service name="AutocompleteWCF.Autocomplete">

                <endpoint address="" behaviorConfiguration="AjaxBehavior" binding="webHttpBinding" contract="AutocompleteWCF.Autocomplete"/>

            </service>

        </services>

    </system.serviceModel>

 

And that is all you need to do make the AutoComplete Extender work with a WCF service instead of an asmx web service.  I told you it would be unimpressive.

Of course, using a WCF service for Ajax has all the limitations that using an asmx file for Ajax did.  First of all, you can’t call a service that is in a different domain than the page which hosts your client-code.  This is a security feature, to prevent malicious code from redirecting your harmless javascript to something nasty on the world wide web.

Second, you can’t call just any service from your client-side code.  The service must be explicitly marked as something that can be called from client code.  In asmx web services, we used ScriptService for this.  In WCF services, we similarly use EnableWebScript binding property.

Now I feel like I’ve wasted your time, so here’s a YouTube video of David Blaine to make up for it.  And remember, David Blaine is to Chris Angel what Daisy Duke was to Alexis Carrington.  It’s an existential thing, and at some point, you’ve just got to pick sides and stay put in a way that will determine who you are for the rest of your life.

Are you a David Blaine/Daisy Duke kind of person or are you a Chris Angel/Alexis Carrington sort?  Do some soul searching and please let me know what you learn about yourself.

The Self-Correcting Process

carnival

Science is all about making proposals that can be tested (especially after Karl Popper’s formulation of the Falsifiability Criterion), and then undergoing the experience of having that proposal rejected.  This is the essence of any successful process — not that it eliminates errors altogether, but rather that it is able to make corrections despite these errors so that the target need never shift.

Professor Alain Connes recently gave his opinion of Xin-Jing Li’s proof for the Riemann Hypothesis — a proof which relies in part on Professor Connes’ work –  in a blog comment to his own blog (by way of Slashdot):

I dont like to be too negative in my comments. Li’s paper is an attempt to prove a variant of the global trace formula of my paper in Selecta. The "proof" is that of Theorem 7.3 page 29 in Li’s paper, but I stopped reading it when I saw that he is extending the test function h from ideles to adeles by 0 outside ideles and then using Fourier transform (see page 31). This cannot work and ideles form a set of measure 0 inside adeles (unlike what happens when one only deals with finitely many places).

 

Self-correcting extends to other professions, as well.  Scott Hanselman recently posted to correct an opinion he discovered here which he felt required some testing.  Through his own tests, he discovered that nesting a using directive inside a  namespace declaration provides no apparent performance benefit over placing it outside the namespace.

This leads him to draw these important lesson:

  • Don’t believe everything you read, even on a Microsoft Blog.
  • Don’t believe this blog, either!
  • Decide for yourself with experiments if you need a tiebreaker!

 

The sentiment recalls Ralph Waldo Emerson’s memorable words:

 

There is a time in every man’s education when he arrives at the conviction that envy is ignorance; that imitation is suicide; that he must take himself for better, for worse, as his portion; that though the wide universe is full of good, no kernel of nourishing corn can come to him but through his toil bestowed on that plot of ground which is given to him to till. The power which resides in him is new in nature, and none but he knows what that is which he can do, nor does he know until he has tried.

Trust thyself: every heart vibrates to that iron string. Accept the place the divine providence has found for you, the society of your contemporaries, the connection of events.

 

A similar sentiment is expressed in Hobbes’ Leviathan, though with a wicked edge:

 

And as to the faculties of the mind, setting aside the arts grounded upon words, and especially that skill of proceeding upon general and infallible rules, called science, which very few have and but in few things, as being not a native faculty born with us, nor attained, as prudence, while we look after somewhat else, I find yet a greater equality amongst men than that of strength. For prudence is but experience, which equal time equally bestows on all men in those things they equally apply themselves unto. That which may perhaps make such equality incredible is but a vain conceit of one’s own wisdom, which almost all men think they have in a greater degree than the vulgar; that is, than all men but themselves, and a few others, whom by fame, or for concurring with themselves, they approve. For such is the nature of men that howsoever they may acknowledge many others to be more witty, or more eloquent or more learned, yet they will hardly believe there be many so wise as themselves; for they see their own wit at hand, and other men’s at a distance. But this proveth rather that men are in that point equal, than unequal. For there is not ordinarily a greater sign of the equal distribution of anything than that every man is contented with his share. [emphasis mine]

 

We find it again expressed in Descartes’ Discours de la méthode. Descartes, it might be remembered, occasionally exchanged letters with Hobbes:

 

Le bon sens est la chose du monde la mieux partagée; car chacun pense en être si bien pourvu, que ceux même qui sont les plus difficiles à contenter en toute autre chose n’ont point coutume d’en désirer plus qu’ils en ont.

 

Both Hobbes and Descartes formulate their defense of common sense somewhat ironically.  In a recent post, Steve Yegge takes out the irony (or perhaps takes out the kernel of truth and leaves nothing but the irony) in his argument against Joel Spolsky’s widely aknowledged criteria for a desirable employee: "smart, and gets things done."

According to Yegge, the crux of the problem is this:

 

Unfortunately, smart is a generic enough concept that pretty much everyone in the world thinks [he’s] smart.

So looking for Smart is a bit problematic, since we aren’t smart enough to distinguish it from B.S. The best we can do is find people who we think are smart because they’re a bit like us.

So, like, what kind of people is this Smart, and Gets Things Done adage actually hiring?

 

And yet the self-correcting process continues, on the principle that we are all smart enough, collectively, to solve our problems in the aggregate, even if we can’t solve them as individuals.

Presidential candidate Barack Obama recently held a news conference to correct a misunderstanding he had made a few hours earlier about his stance on the Iraq War.  According to CNN:

 

Obama on Thursday denied that he’s shying away from his proposed 16-month phased withdrawal of all combat troops from Iraq, calling it "pure speculation" and adding that his "position has not changed."

However, he told reporters questioning his stance that he will "continue to refine" his policies as warranted.

His comments prompted the Republican National Committee to put out an e-mail saying the presumed Democratic nominee was backing away from his position on withdrawal.

Obama called a second news conference later Thursday to reiterate that he is not changing his position.

 

This is, of course, merely a blip in the history of self-correction.  A more significant one can be found in Bakhtin’s attempt to interpret the works of Rabelais, and to demonstrate (convincingly) that everyone before him misunderstood the father of Gargantua. 

Bakhtin’s analysis of Rabelais in turn brought to light one of the great discoveries of his career: The Carnival — though a colleague once found an earlier reference to the concept in one of Ernst Cassirer’s works.  Against the notion of a careful and steady self-correcting mechanism in history, Bakhtin introduced the metaphor of the Medieval Carnival:

 

The essential principle of grotesque realism is degradation, that is, the lowering of all that is high, spiritual, ideal, abstract; it is a transfer to the material level, to the sphere of earth and body in their indissoluble unity.

Degradation and debasement of the higher do not have a formal and relative character in grotesque realism. "Upward" and "downward" have here an absolute and strictly topographical meaning….Earth is an element that devours, swallows up (the grave, the womb) and at the same time an element of birth, of renascence (the maternal breasts)….Degradation digs a bodily grave for a new birth….To degrade an object does not imply merely hurling it into the void of nonexistence, into absolute destruction, but to hurl it down to the reproductive lower stratum, the zone in which conception and a new birth take place.

 

The Carnival serves to correct inequalities and resentments in society and its subcultures not by setting it upon a surer footing, but rather by affording us an opportunity to air our grievances publicly in a controlled ceremony which allows society and its hierarchical institutions to continue as they are.  It is a release, rather than an adjustment.  A pot party at a rock festival rather than a general strike.

As for the Internet, it is sometimes hard to say what is actually occurring in the back-and-forth that occurs between various blogs.  Have we actually harnessed the wisdom of crowds and created a self-correcting process that responds more rapidly to intellectual propositions, nudging them over a very short time to the correct solution, or have we in fact recreated the Medieval Carnival, a massive gathering of people in one location which breaks down the normal distinctions between wisdom and folly, knowledge and error, competence and foolhardiness? 

The Apocryphal Employee and Some Apocryphal Books

nancy

Nancy Davolio was a fictitious employee in the Microsoft Access 97 Northwind sample database.  Many office workers became smitten with her furtive smile and stylish hair, and while she continued to exist as an employee in later releases of the Northwind database, her employee photo changed, leading many to suspect that something untoward had happened to the real Nancy.

As most people know, "Nancy Davolio" is an anagram for "A Navy Cod Loin", which provides a hint about her origins and eventual fate.  For a list of further Nancy Davolio anagrams, I recommend the Internet Anagram Generator here, where may find more of the 1394 or so anagrams derived from Nancy’s name, for instance:

Cavil Noonday
A Viand Colony
A Divan Colony
A Vainly Condo
Canal Void Yon
Canola Nod Ivy
Canola Don Ivy

Ado Van Coy Nil
Vandal Coin Yo
Vandal Icon Yo
Vandal Coo Yin
Vandal Coy Ion
Avail Cony Nod
Avail Cony Don

And La Coy Vino
And Oval Icy On
And Oval Icy No
And Oval Cony I

Avian Cold Yon
Avian Clod Yon
Avian Doc Only
Day Van Cool In
Day Van Loco In
Day Van Con Oil

Coda Via Nylon

A Navy Cod Loin, however, seems particularly significant, inasmuch as Rabelais has a whole chapter devoted to playing on the word "cod".  Rabelais was a master of lists, as well as a master of profanity.  It has often been suggested that the French simply are much more versatile at cursing than we English speakers, and there may be some truth to this, though you don’t need to understand French to enjoy Book III Chapter 28 of Gargantua and Patagruel (since I’ve found a translation for you):

"And if so be it was preordinated for thee, wouldst thou be so impious as not to acquiesce in thy destiny? Speak, thou jaded cod.

"Faded cod. Louting cod. Appellant cod.
Mouldy cod. Discouraged cod. Swagging cod.
Musty cod. Surfeited cod. Withered cod.
Paltry cod. Peevish cod. Broken-reined cod.
Senseless cod. Translated cod. Defective cod.
Foundered cod. Forlorn cod. Crestfallen cod.
Distempered cod. Unsavoury cod. Felled cod.
Bewrayed cod. Worm-eaten cod. Fleeted cod.
Inveigled cod. Overtoiled cod. Cloyed cod.
Dangling cod. Miserable cod. Squeezed cod.
Stupid cod. Steeped cod. Resty cod.
Seedless cod. Kneaded-with-cold- Pounded cod.
Soaked cod. water cod. Loose cod.
Coldish cod. Hacked cod. Fruitless cod.
Pickled cod. Flaggy cod. Riven cod.
Churned cod. Scrubby cod. Pursy cod.
Filliped cod. Drained cod. Fusty cod.
Singlefied cod. Haled cod. Jadish cod.
Begrimed cod. Lolling cod. Fistulous cod.
Wrinkled cod. Drenched cod. Languishing cod.
Fainted cod. Burst cod. Maleficiated cod.
Extenuated cod. Stirred up cod. Hectic cod.
Grim cod. Mitred cod. Worn out cod.
Wasted cod. Peddlingly furnished Ill-favoured cod.
Inflamed cod. cod. Duncified cod.
Unhinged cod. Rusty cod. Macerated cod.
Scurfy cod. Exhausted cod. Paralytic cod.
Straddling cod. Perplexed cod. Degraded cod.
Putrefied cod. Unhelved cod. Benumbed cod.
Maimed cod. Fizzled cod. Bat-like cod.
Overlechered cod. Leprous cod. Fart-shotten cod.
Druggely cod. Bruised cod. Sunburnt cod.
Mitified cod. Spadonic cod. Pacified cod.
Goat-ridden cod. Boughty cod. Blunted cod.
Weakened cod. Mealy cod. Rankling tasted cod.
Ass-ridden cod. Wrangling cod. Rooted out cod.
Puff-pasted cod. Gangrened cod. Costive cod.
St. Anthonified cod. Crust-risen cod. Hailed on cod.
Untriped cod. Ragged cod. Cuffed cod.
Blasted cod. Quelled cod. Buffeted cod.
Cut off cod. Braggadocio cod. Whirreted cod.
Beveraged cod. Beggarly cod. Robbed cod.
Scarified cod. Trepanned cod. Neglected cod.
Dashed cod. Bedusked cod. Lame cod.
Slashed cod. Emasculated cod. Confused cod.
Enfeebled cod. Corked cod. Unsavoury cod.
Whore-hunting cod. Transparent cod. Overthrown cod.
Deteriorated cod. Vile cod. Boulted cod.
Chill cod. Antedated cod. Trod under cod.
Scrupulous cod. Chopped cod. Desolate cod.
Crazed cod. Pinked cod. Declining cod.
Tasteless cod. Cup-glassified cod. Stinking cod.
Sorrowful cod. Harsh cod. Crooked cod.
Murdered cod. Beaten cod. Brabbling cod.
Matachin-like cod. Barred cod. Rotten cod.
Besotted cod. Abandoned cod. Anxious cod.
Customerless cod. Confounded cod. Clouted cod.
Minced cod. Loutish cod. Tired cod.
Exulcerated cod. Borne down cod. Proud cod.
Patched cod. Sparred cod. Fractured cod.
Stupified cod. Abashed cod. Melancholy cod.
Annihilated cod. Unseasonable cod. Coxcombly cod.
Spent cod. Oppressed cod. Base cod.
Foiled cod. Grated cod. Bleaked cod.
Anguished cod. Falling away cod. Detested cod.
Disfigured cod. Smallcut cod. Diaphanous cod.
Disabled cod. Disordered cod. Unworthy cod.
Forceless cod. Latticed cod. Checked cod.
Censured cod. Ruined cod. Mangled cod.
Cut cod. Exasperated cod. Turned over cod.
Rifled cod. Rejected cod. Harried cod.
Undone cod. Belammed cod. Flawed cod.
Corrected cod. Fabricitant cod. Froward cod.
Slit cod. Perused cod. Ugly cod.
Skittish cod. Emasculated cod. Drawn cod.
Spongy cod. Roughly handled cod. Riven cod.
Botched cod. Examined cod. Distasteful cod.
Dejected cod. Cracked cod. Hanging cod.
Jagged cod. Wayward cod. Broken cod.
Pining cod. Haggled cod. Limber cod.
Deformed cod. Gleaning cod. Effeminate cod.
Mischieved cod. Ill-favoured cod. Kindled cod.
Cobbled cod. Pulled cod. Evacuated cod.
Embased cod. Drooping cod. Grieved cod.
Ransacked cod. Faint cod. Carking cod.
Despised cod. Parched cod. Disorderly cod.
Mangy cod. Paltry cod. Empty cod.
Abased cod. Cankered cod. Disquieted cod.
Supine cod. Void cod. Besysted cod.
Mended cod. Vexed cod. Confounded cod.
Dismayed cod. Bestunk cod. Hooked cod.
Divorous cod. Winnowed cod. Unlucky cod.
Wearied cod. Decayed cod. Sterile cod.
Sad cod. Disastrous cod. Beshitten cod.
Cross cod. Unhandsome cod. Appeased cod.
Vain-glorious cod. Stummed cod. Caitiff cod.
Poor cod. Barren cod. Woeful cod.
Brown cod. Wretched cod. Unseemly cod.
Shrunken cod. Feeble cod. Heavy cod.
Abhorred cod. Cast down cod. Weak cod.
Troubled cod. Stopped cod. Prostrated cod.
Scornful cod. Kept under cod. Uncomely cod.
Dishonest cod. Stubborn cod. Naughty cod.
Reproved cod. Ground cod. Laid flat cod.
Cocketed cod. Retchless cod. Suffocated cod.
Filthy cod. Weather-beaten cod. Held down cod.
Shred cod. Flayed cod. Barked cod.
Chawned cod. Bald cod. Hairless cod.
Short-winded cod. Tossed cod. Flamping cod.
Branchless cod. Flapping cod. Hooded cod.
Chapped cod. Cleft cod. Wormy cod.
Failing cod. Meagre cod.
Deficient cod. Dumpified cod. Faulty cod.
Lean cod. Suppressed cod. Bemealed cod.
Consumed cod. Hagged cod. Mortified cod.
Used cod. Jawped cod. Scurvy cod.
Puzzled cod. Havocked cod. Bescabbed cod.
Allayed cod. Astonished cod. Torn cod.
Spoiled cod. Dulled cod. Subdued cod.
Clagged cod. Slow cod. Sneaking cod.
Palsy-stricken cod. Plucked up cod. Bare cod.
Amazed cod. Constipated cod. Swart cod.
Bedunsed cod. Blown cod. Smutched cod.
Extirpated cod. Blockified cod. Raised up cod.
Banged cod. Pommelled cod. Chopped cod.
Stripped cod. All-to-bemauled cod. Flirted cod.
Hoary cod. Fallen away cod. Blained cod.
Blotted cod. Stale cod. Rensy cod.
Sunk in cod. Corrupted cod. Frowning cod.
Ghastly cod. Beflowered cod. Limping cod.
Unpointed cod. Amated cod. Ravelled cod.
Beblistered cod. Blackish cod. Rammish cod.
Wizened cod. Underlaid cod. Gaunt cod.
Beggar-plated cod. Loathing cod. Beskimmered cod.
Douf cod. Ill-filled cod. Scraggy cod.
Clarty cod. Bobbed cod. Lank cod.
Lumpish cod. Mated cod. Swashering cod.
Abject cod. Tawny cod. Moiling cod.
Side cod. Whealed cod. Swinking cod.
Choked up cod. Besmeared cod. Harried cod.
Backward cod. Hollow cod. Tugged cod.
Prolix cod. Pantless cod. Towed cod.
Spotted cod. Guizened cod. Misused cod.
Crumpled cod. Demiss cod. Adamitical cod.
Frumpled cod. Refractory cod."

Rabelais is also famous for his list of apocryphal books, of which here are a few:

In his abode there he found the library of St. Victor a very stately and magnific one, especially in some books which were there, of which followeth the Repertory and Catalogue, Et primo,

The for Godsake of Salvation.
The Codpiece of the Law.
The Slipshoe of the Decretals.
The Pomegranate of Vice.
The Clew-bottom of Theology.
The Duster or Foxtail-flap of Preachers, composed by Turlupin.
The Churning Ballock of the Valiant.
The Henbane of the Bishops.
Marmotretus de baboonis et apis, cum Commento Dorbellis.
Decretum Universitatis Parisiensis super gorgiasitate muliercularum
  ad placitum.
The Apparition of Sancte Geltrude to a Nun of Poissy, being in
  travail at the bringing forth of a child.
Ars honeste fartandi in societate, per Marcum Corvinum (Ortuinum).
The Mustard-pot of Penance.
The Gamashes, alias the Boots of Patience.
Formicarium artium.
De brodiorum usu, et honestate quartandi, per Sylvestrem Prioratem
  Jacobinum.
The Cosened or Gulled in Court.
The Frail of the Scriveners.
The Marriage-packet.
The Cruizy or Crucible of Contemplation.
The Flimflams of the Law.
The Prickle of Wine.
The Spur of Cheese.
Ruboffatorium (Decrotatorium) scholarium.
Tartaretus de modo cacandi.
The Bravades of Rome.
Bricot de Differentiis Browsarum.
The Tailpiece-Cushion, or Close-breech of Discipline.
The Cobbled Shoe of Humility.
The Trivet of good Thoughts.
The Kettle of Magnanimity.
The Cavilling Entanglements of Confessors.
The Snatchfare of the Curates.
Reverendi patris fratris Lubini, provincialis Bavardiae, de gulpendis
  lardslicionibus libri tres.
Pasquilli Doctoris Marmorei, de capreolis cum artichoketa comedendis,
  tempore Papali ab Ecclesia interdicto.
The Invention of the Holy Cross, personated by six wily Priests.
The Spectacles of Pilgrims bound for Rome.
Majoris de modo faciendi puddinos.
The Bagpipe of the Prelates.
Beda de optimitate triparum.
The Complaint of the Barristers upon the Reformation of Comfits.
The Furred Cat of the Solicitors and Attorneys.
Of Peas and Bacon, cum Commento.
The Small Vales or Drinking Money of the Indulgences.
Praeclarissimi juris utriusque Doctoris Maistre Pilloti, &c.,
  Scrap-farthingi de botchandis glossae Accursianae Triflis repetitio
  enucidi-luculidissima.
Stratagemata Francharchiaeri de Baniolet.
Carlbumpkinus de Re Militari cum Figuris Tevoti.
De usu et utilitate flayandi equos et equas, authore Magistro nostro
  de Quebecu.
The Sauciness of Country-Stewards.
M.N. Rostocostojambedanesse de mustarda post prandium servienda,
  libri quatuordecim, apostillati per M. Vaurillonis.
The Covillage or Wench-tribute of Promoters.
(Jabolenus de Cosmographia Purgatorii.)
Quaestio subtilissima, utrum Chimaera in vacuo bonbinans possit
  comedere secundas intentiones; et fuit debatuta per decem
  hebdomadas in Consilio Constantiensi.
The Bridle-champer of the Advocates.
Smutchudlamenta Scoti.
The Rasping and Hard-scraping of the Cardinals.
De calcaribus removendis, Decades undecim, per M. Albericum de Rosata.
Ejusdem de castramentandis criminibus libri tres.
The Entrance of Anthony de Leve into the Territories of Brazil.
(Marforii, bacalarii cubantis Romae) de peelandis aut unskinnandis
  blurrandisque Cardinalium mulis.
The said Author’s Apology against those who allege that the Pope’s
  mule doth eat but at set times.
Prognosticatio quae incipit, Silvii Triquebille, balata per M.N., the
  deep-dreaming gull Sion.
Boudarini Episcopi de emulgentiarum profectibus Aeneades novem,
  cum privilegio Papali ad triennium et postea non.
The Shitabranna of the Maids.
The Bald Arse or Peeled Breech of the Widows.
The Cowl or Capouch of the Monks.
The Mumbling Devotion of the Celestine Friars.
The Passage-toll of Beggarliness.
The Teeth-chatter or Gum-didder of Lubberly Lusks.
The Paring-shovel of the Theologues.
The Drench-horn of the Masters of Arts.
The Scullions of Olcam, the uninitiated Clerk.
Magistri N. Lickdishetis, de garbellisiftationibus horarum canonicarum,
  libri quadriginta.
Arsiversitatorium confratriarum, incerto authore.
The Gulsgoatony or Rasher of Cormorants and Ravenous Feeders.
The Rammishness of the Spaniards supergivuregondigaded by Friar Inigo.
The Muttering of Pitiful Wretches.
Dastardismus rerum Italicarum, authore Magistro Burnegad.
R. Lullius de Batisfolagiis Principum.
Calibistratorium caffardiae, authore M. Jacobo Hocstraten hereticometra.
Codtickler de Magistro nostrandorum Magistro nostratorumque beuvetis,
  libri octo galantissimi.
The Crackarades of Balists or stone-throwing Engines, Contrepate
  Clerks, Scriveners, Brief-writers, Rapporters, and Papal
  Bull-despatchers lately compiled by Regis.
A perpetual Almanack for those that have the gout and the pox.
Manera sweepandi fornacellos per Mag. Eccium.
The Shable or Scimetar of Merchants.
The Pleasures of the Monarchal Life.
The Hotchpot of Hypocrites.
The History of the Hobgoblins.
The Ragamuffinism of the pensionary maimed Soldiers.
The Gulling Fibs and Counterfeit shows of Commissaries.
The Litter of Treasurers.
The Juglingatorium of Sophisters.
Antipericatametanaparbeugedamphicribrationes Toordicantium.
The Periwinkle of Ballad-makers.
The Push-forward of the Alchemists.
The Niddy-noddy of the Satchel-loaded Seekers, by Friar Bindfastatis.
The Shackles of Religion.
The Racket of Swag-waggers.
The Leaning-stock of old Age.
The Muzzle of Nobility.
The Ape’s Paternoster.
The Crickets and Hawk’s-bells of Devotion.
The Pot of the Ember-weeks.
The Mortar of the Politic Life.
The Flap of the Hermits.
The Riding-hood or Monterg of the Penitentiaries.
The Trictrac of the Knocking Friars.
Blockheadodus, de vita et honestate bragadochiorum.
Lyrippii Sorbonici Moralisationes, per M. Lupoldum.
The Carrier-horse-bells of Travellers.
The Bibbings of the tippling Bishops.
Dolloporediones Doctorum Coloniensium adversus Reuclin.
The Cymbals of Ladies.
The Dunger’s Martingale.
Whirlingfriskorum Chasemarkerorum per Fratrem Crackwoodloguetis.
The Clouted Patches of a Stout Heart.
The Mummery of the Racket-keeping Robin-goodfellows.
Gerson, de auferibilitate Papae ab Ecclesia.
The Catalogue of the Nominated and Graduated Persons.
Jo. Dytebrodii, terribilitate excommunicationis libellus acephalos.
Ingeniositas invocandi diabolos et diabolas, per M. Guingolphum.
The Hotchpotch or Gallimaufry of the perpetually begging Friars.
The Morris-dance of the Heretics.
The Whinings of Cajetan.
Muddisnout Doctoris Cherubici, de origine Roughfootedarum, et
  Wryneckedorum ritibus, libri septem.
Sixty-nine fat Breviaries.
The Nightmare of the five Orders of Beggars.
The Skinnery of the new Start-ups extracted out of the fallow-butt,
  incornifistibulated and plodded upon in the angelic sum.
The Raver and idle Talker in cases of Conscience.
The Fat Belly of the Presidents.
The Baffling Flouter of the Abbots.
Sutoris adversus eum qui vocaverat eum Slabsauceatorem, et quod
  Slabsauceatores non sunt damnati ab Ecclesia.
Cacatorium medicorum.
The Chimney-sweeper of Astrology.
Campi clysteriorum per paragraph C.
The Bumsquibcracker of Apothecaries.
The Kissbreech of Chirurgery.
Justinianus de Whiteleperotis tollendis.
Antidotarium animae.
Merlinus Coccaius, de patria diabolorum.
The Practice of Iniquity, by Cleuraunes Sadden.
The Mirror of Baseness, by Radnecu Waldenses.
The Engrained Rogue, by Dwarsencas Eldenu.
The Merciless Cormorant, by Hoxinidno the Jew.

I wonder if Nancy Davolio has read any of these books.

If you happen to be curious about some of the Latin titles, the Decretum Universitatis Parisiensis super gorgiasitate muliercularum ad placitum translates as The Decree of the University of Paris which Permits Young Ladies to Bare Their Throats at Will.   Campi clysteriorum per is The Field of Enemas.  The Cacatorium medicorum is The Doctor’s Chamberpot.

There are also apocryphal computer books, of course, which, oddly enough, I have the feeling I have read before.  Graham Nelson cites Tedium and Gnawfinger’s Elements of Batch Processing in COBOL-66: third edition and Mr Blobby’s Blobby Book of Computer Fun (h/t @ Paul).

I might also add to the list The Complete Idiot’s Guide to Multithreaded Applications, How Agile Will Make You So Productive The Code Will Write Itself, and Essential Project Management: Lying to the people under you, Lying to the people above you, and Making it all work out.

Whither Ajax?

ajax

Ajax, the fleet son of Oileus, commanded the Locrians. He was not so great, nor nearly so great, as Ajax the son of Telamon. He was a little man, and his breastplate was made of linen, but in use of the spear he excelled all the Hellenes and the Achaeans. —The Iliad

Ajax son of Oileus is traditionally called Ajax the Lesser, while Ajax Telamon’s son is Ajax the Greater.  The Trojan War  is often portrayed as a battle between the national heroes of two great armies, Hector on one side, and Achilles on the other.  What makes the arraying of the sides peculiar is that, in fact, the Achaeans have two heroes that can defeat the war chief of the Trojans.  Both Achilles and Ajax the Greater are superior warriors to Hector.  This feature was actually a giveaway to many classicists back in 1959 that the newly released western Warlock was based on The Iliad.

Two years ago Microsoft began a campaign to carve out a niche in the Ajax world.  They did so with the release of .NET 3.0 and later .NET 3.5.  One of the innovated approaches they took to being a player in Ajax was to support an open source project called the Ajax Control Toolkit.

According to one of the contributors to the Toolkit, however, there have been no releases of the Toolkit for five months, and apparently no suggestions of any plans for the Toolkit:  http://forums.asp.net/t/1283218.aspx .

So is the Toolkit dead?  Is Microsoft’s determination to be a player in the Ajax domain waned, to be replaced by a greater interest in making Silverlight the Flash-killer?

Microsoft says no, and has published a new document explaining Microsoft’s Ajax roadmap  http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=14924.  When it comes to RIAs, Microsoft is insisting that it is going forward with both Silverlight and Ajax. 

The specifics about the Toolkit are admittedly vague, however.  Somewhat more peculiar, a check of the contributors to the Toolkit project on Codeplex shows that at least half of them have not checked in any code for the past 60 days.

Which leads one to wonder: is ASP.NET AJAX named after Ajax son of Oileus, or Ajax son of Telamon?

My Co-Worker is Certified

borat

Joe DeCarlo, a colleague from my Turner Broadcasting days, was recently awarded the MCA.  That is, he is now a Microsoft Certified Architect.  Kirk Evans posted an interview with him about the program here.  It is a difficult program to get into, and requires a recommendation from at least one MCA, as well as vetting by other MCA’s.  They are a rather elite circle of professionals with a strong interest in maintaining the high standards of excellence of their self-selecting club.   Hats off to Joe for making it.

While articulating what an architect’s specific role in a company actually is can be difficult — which is one of the reasons Microsoft began this program — the outlines are fairly simple.  The architect is there to make sure that the contractors don’t screw you when you need some work done on your house, or when you need a new enterprise application built for your company.  Anything beyond that, like making sure the roof doesn’t fall in once you start running a million transactions a day through your new edifice, is gravy.