Monday, June 30, 2008

fingerprint

Microsoft has a technology called Media Center Extender that basically allows you to use your XBOX 360 as a media center.  All that's required is that you have a computer connected to your XBOX over a network with the Media Center software installed (it comes standard with Vista Premier) and turned on.  The XBOX can then be used to play movies and music files located on your harddrive.

I haven't looked at this much until recently, when I found out about vmcNetFlix.  vmcNetFlix is one of those great ideas.  The developer saw that NetFlix was allowing subscribers to download movies to their desktops, and that Microsoft was allowing people to stream movies to their TV's through an XBOX, and he put in the final pieces to connect all of this together.  vmcNetFlix has its issues at times, but hey, it's one guy providing a solution on his own time and it's free.

Before I could get any of this working, however, I had to get my very sweet HP entertainment laptop to talk to my XBOX, and kept running into the same issues with the XBOX complaining that it could not connect the media center extender to my laptop, despite my repeated attempts to reboot both systems and clear out caches and certificates and blowing on both ends of my ethernet cable for no particular reason except that some guy on some newsgroup told me to.

Finally, based on another internet tip, I uninstalled the nice biometric software that came with my laptop and everything started working.  For whatever reason, every piece of biometric software, which allows you to scan in your fingerprint to identify yourself to the operating system rather than type in a password, interferes with Media Center.  I was using DigitalPersona, but it appears that the problem is not unique to them.

So now the fingerprint scanner on my laptop doesn't do anything.  This is because it turned out to be a technological bottleneck.  On the other hand, I can now stream movies, including BlueRay movies, to my HD TV anytime I want using free technology built in someone's basement that removes bottlenecks.  Is it worth it?

Well, yes. Not only can I watch any episode of Buck Rogers in the 25th century whenever I want, but I've also got most of the Werner Herzog and Rainer Werner Fassbinder catalogs ready for instant streaming.  That's hot.  That's Erin Grey hot.

posted by J Ashley on Monday, June 30, 2008 2:09:17 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Monday, June 23, 2008

beyonder

Two important WCF resources came out last week.  The first is the source code for StockTrader 2.0, Microsoft's reference app for .NET 3.5 using, in particular, CF and PF.  The download is available here http://msdn.microsoft.com/en-us/netframework/bb499684.aspx.  This is fairly significant since there are not (as far as I have been able to tell) any guidelines generally available on how to build a distributed application using the Communications Foundation.  In the project I am currently working on, we have been trying and stopping as we go, trading frequent emails with various Microsoft insiders to try to find out if what we are doing makes sense (so far it has). 

Now we have the opportunity to compare our app against StockTrader and see where the differences lie.  I'm not sure if this is an artifice or not, but I like being able to take two ideas and decide which one better as I work through an architecture.  This is a necessary exercise in working towards the "right" architecture.  The approach resembles, in some ways, the Mirror of Nature that Richard Rorty made his name on attacking, except that it is concerned with practice rather than with epistemology.  I think that there is a right way to do things of which I am unaware.  To use Don Rumsfeld's memorable phrase, it is one of the things I know I don't know.  I then work, through trial and error as well as a comparison of alternatives, towards an intellectual representation of what that correct way of getting things done might be. 

I've talked to other developers who feel that speaking about the "right way" to do things is simply a trap we all fall into or, worse, a fiction that serves only to generate artificial conflicts and slow down actual development.  As one developer told me, "There are many arguments on either side of any issue, and we're not going to be able to resolve here which ones are better, since we come to it with preconceptions and prejudices we can't get over easily."  While visiting my brother at college once, I attended a lecture in which Alan Dershowitz, the civil rights lawyer, argued very much the same case.  He insisted that he could go about seven levels behind any argument, and then seven levels behind the case against him.  The peeling of levels (usually it only takes two or three) gives the false impression that we are actually getting to the bottom of things, whereas Dershowitz himself had reached the point in his career where he felt it was merely an exercise in cleverness for lawyers and for philosophers an exercise in futility.

This may all be true, and yet I feel I need this fiction, if it is a fiction, in order to do my job well.

The second important release this week is Juval Lowy's presention on WCF: Beyond the Endpoints (you will need to have Microsoft Live Meeting installed to listen to it).  In this presentation you will come to realize what many people already know: Mr. Lowy is either a genius or a madman, and had he lived in another era, he would have made a good Jules Verne villain.  Based on his WCF book, I had taken his position to be that CF solves many distributed programming problems, and in the big picture serves as the fulfillment (or successor) to component based programming -- the notion that based upon common and established conventions we can pass messages between disparate technologies.

In Beyond the Endpoints, Mr. Lowy tops even those grand pronouncements.  Here he argues that CF is actually the successor to all of our current .NET programming conventions in C# and VB.NET, and is in fact a new programming model.  With specific examples from the Singleton pattern to class level isolation, he demonstrates various low level ways in which WCF provides better ways to do our most common programming tasks.  He makes clear in the Q&A session afterwards that he basically sees something in CF that even Microsoft doesn't see in their technology.  His vision for WCF veers wildly away from Microsoft's vision.  When asked what the performance penalty for using CF as a programming model would be, he insists that sending messages over a wire in WCF is actually faster than working with traditional in-proc objects (given certain unspecified conditions).  Moreover, the performance cost is irrelevant.  Mr. Lowy appeals to history in order to explain his vision for CF.  COM, for instance, started off as simply a way to embed files inside of Microsoft Word documents.  In order to get Object Linking and Embedding to work, however, Microsoft's engineers were oblige to solve fundamental problems that in turn produced what we now know as COM.  CF, for Juval Lowy, is headed very much along the same track.

It is a truly amazing presentation, ambitious in scope and broad in vision, and I highly recommend it to anyone interested in the inherent potential of the Communications Foundation.

posted by J Ashley on Monday, June 23, 2008 8:41:50 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Sunday, June 22, 2008

vfemmes_album

Here's Gone Daddy Gone performed by the Violent Femmes back in 1982.   Gnarls Barkeley covered it in 2006.  Here's their video of the song.  The lyrics are based on a Muddy Waters classic, I Just Want To Make Love To You, YouTube videos for which are available in both risque and non-risque versions, penned by Willie Dixon.

The Femmes have recently returned the favor with a cover of Gnarls Barkeley's Crazy.

posted by J Ashley on Sunday, June 22, 2008 6:04:50 AM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Friday, June 20, 2008

caillou bob

So this is how I start the day when I work from home.  I wake up at 5 in the morning, after which I have about 3 hours before anyone else is up.  At 8, the kids start filtering down from upstairs, so I turn PBS Sprout on for them and move from the living room to my office.  PBS Sprout is PBS's lineup of children's shows, and our cable provider gives us On Demand access to the episodes, which allows the kids to watch their shows without commercials (oh yes, PBS does have commercials).  My children (at least the youngest) has a fondness for a bald toddler named Caillou.  According to the official site, "the Caillou website and television series features everyday experiences and events that resonate with all children."   I think most parents find him a bit disturbing -- but not as disturbing as Teletubbies, of course.

Before Caillou came on today there was a brief intro for PBS Sprout, and in the background was an interesting rendition of Bob Marley's Three Little Birds which brought back a flood of memories.  The version of the song played by PBS Sprout is by Elizabeth Mitchell.  No, not that Elizabeth Mitchell.  This Elizabeth Mitchell.

Elizabeth Mitchell is married to Daniel Littleton, and in fact Daniel and their son perform on that particular Marley track.  Dan Littleton, in turn, used to play in a punk rock band in Annapolis, Maryland where I went to college.  For my first few years on campus, I used to find chalk drawings all over the sidewalks of Annapolis of The Hated without knowing what it meant.  Then Dan Littleton ended up going to my college (he was a faculty brat, after all) and it all became clear.

Not only that, but I used to hang out with Mark Fisher, who had played guitar and vocals for The Hated, though by the time I met him he was wearing tweed jackets and translating Greek (I think I did the Philoctetes with him), so I never suspected.

And mutatis mutandis, now not only has Bob Marley been gentrified for daytime cartoons, but the founder of The Hated has helped to make it possible.  Is this what middle-age feels like? 

Hear for yourself.

Bob Marley and the Wailers 

Elizabeth Mitchell and family

posted by J Ashley on Friday, June 20, 2008 1:58:06 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]
 Sunday, June 15, 2008

mrwizard

Sergey Barskiy, a colleague at Magenic, likes to say that there is no magic in software development.  There's only hard work.

Every few months, another software management process is promoted, a new tool is developed, or a new snowclone, "X-driven development", is coined to make software developers more productive, and in general they all promote themselves as the magic that will radically change the way we deliver software, and in general they don't really pan out.  Instead we just end up with different schools of software development.  Physiology, metoposcopy, chiromancy, theurgia, goetia, necromancy, cabalie, geomancy, hydromancy, aeromancy, prymancy and suffumigations -- does one method really provide a better way to deliver software than another?  Or should we simply pick the techniques that work best for us and stick with them?  What is ultimately disappointing, and this is at the heart of Sergey's rule, is that once one immerses oneself in any of these techniques, one discovers, like a teenage goth working through Alaister Crowley's Magick, Liber ABA, that things don't ever go quite quite according to plan.

But does this mean there is no magic?  Perhaps we are looking in the wrong place. 

Last Friday, on June 6th, Microsoft released the beta 2 of Silverlight 2.  Almost immediately, several prominent bloggers published entries not only about the release, but also full code samples demonstrating how to use the new release.  Scott Guthrie, Jeff Wilcox, Kirupa Chinnathambi, Brad Abrams and Ashish Shetty all had immediate posts (Mr. Shetty's was actually a day early), but this is to be expected as they are all Microsoft employees closely associated with Silverlight.

More impressively, non-Microsoft employees like Shawn Wildermuth, Peter McGrattan, Walt Ritscher and several others had immediate code to publish around this release.  No amount of hard work can make that possible. 

What is the occult, after all, but something hidden?  Even for people who once believed in such things, metoposcopy, geomancy and chiromancy were simply techniques for dealing with the hidden world not commonly understood.  Along with alchemy and astrology, cryptography was once considered one of the areas of expertise of a renaissance magus.  Both Johannes Trithemius and Giambattista Della Porta wrote about it.  What made cryptography go so well with other fields such as necromancy and hydromancy is that its secrets were possessed only by the few, and knowledge of it helped preserve one's monopoly on secret knowledge.

Software development is full of secrets.  Developers call what they do "coding", for no obvious reason other than that it is generally incomprehensible to anyone but a fellow initiate of a particular coding language.  The code, in turn, is a set of instructions which must be translated into another code, assembly, the mystical language of all our virtual worlds, which is actually incomprehensible to nearly everyone.

Dame Francis Yates called this kind of magic "practical" magic.  It is simply a way of getting things done.  Whether one instructs a demon to sour one's neighbor's milk, or uses chemicals to acidify it, the effect is basically the same -- all that differs is the particular technique one employs to accomplish one's goal.  One is clearly going to be more effective than the other, but the difference between the occult and the mundane surely does not turn on mere efficacy. 

The other kind of magic is a "spiritual" magic, which is a different sort of secret.  In a chapter entitled "113" in Umberto Eco's Foucault's Pendulum, Eco quotes from Ja?far al-?adiq, the sixth Imam:

"Our cause is a secret within a secret, a secret that only another secret can explain; it is a secret about a secret that is veiled by a secret."

Spiritual magic, in this case, is the way one gains influence by either having special access to secrets, or by appearing to have such access.  One begins to be an initiate into its mysteries simply by recognizing that it exists.  In his history of Secret Societies, Arkon Daraul describes an actual case of a young man becoming a Sufi:

"His first contact with a Sufi was when he was working as a part-time assistant in a restaurant.  Here he noticed a man among the customers who always seemed 'on top of every situation.  His methods of discussion with the people who came into the place were so controlled, and his perception, especially of atmosphere, so profound, that I plucked up enough courage to ask him how one did it.'"

The initiate is then tested for suitability, and finally takes the oaths required of him to learn more of the Sufi way.  Ahmad Yasawi, a thirteenth century Sufi, laid down rules for initiates, of which the seventh is possibly the most important.

"Utter silence of secrets is my oath; and I will show respect for those who are set up over me, without quibble.  I am the friend of the friends of the Order and the Murshid who exemplifies it; the enemy of the enemies of the same."

Today this would perhaps be called an NDA.  The rituals change over time, but the patterns are always recognizable.

The patterns of success are imprinted upon the human mind and its shape appears again and again throughout history.  Secret societies exist in every field, whether we recognize them as such or not.  I do not claim that Microsoft has such a structure, nor do I deny it.  I only suggest that if there is any magic in software development, this is where you will find it.

posted by J Ashley on Sunday, June 15, 2008 3:19:18 PM (Eastern Standard Time, UTC-05:00)  #    Comments [0]