A Sequel to Wagner’s "Effective C#" in the works

indiana-jones-fedora

Can a sequel be better than the original?  With movies this is usually not the case, though we are all holding our breaths for the new installment in the  Indiana Jones franchise.  Technical books, however, are a different matter.  They have to be updated on a regular basis because the technology changes so rapidly.  My bookshelf is full of titles like Learning JAVA 1.3  and Professional Active Server Pages 2.0 which, to be frank, are currently useless.  Worse, they are heavy and take up a lot of room.  I’ve tried to throw them away, but the trash service refuses to take them due to environmental concerns, and there isn’t a technical books collection center in my area.  In Indiana Jones and the Last Crusade (made before the word "Crusade" got a bad rap) there is a comic scene of a book burning in Berlin, and though I am not in favor of book burnings in general — you’d think we would have learned our lesson after the Library of Alexandria burned down — still, occasionally, I dream of building a bonfire around COM Programming for Dummies and its ilk.

Scott Hanselman recently posted asking about the great technical books of the past ten years, and one of the titles that came up repeatedly is Bill Wagner’s Effective C#: 50 Specific Ways to Improve Your C#.  The book is great for .NET programmers because it goes beyond simply explaining how to write Hello, world! programs, but instead tries to show how one can become a better developer.  The conceit of the book is simple.  For each of his 50 topics, he explains that there are at least two ways to accomplish a given task, and then explains why you should prefer one way to the other.  In the process of going through five or six of these topics, the reader comes to realize that what Bill Wagner is actually doing is explaining what makes for good code, and when both paths are equally good,what makes for elegant code.  This helps the reader to form a certain habit of thinking concerning his own code.  The novice programmer is constantly worried about finding the right way to write code.  The experienced programmer already knows the various right ways to do a given task, and becomes preoccupied with finding the better way.

The way I formulated that last thought is a bit awkward.  I think I could have written it better.  A semicolon is probably in order, and the sentences should be shorter.  Perhaps

The novice programmer is preoccupied with finding the right way to perform a task; the experienced programmer knows that there are various right ways, and is more concerned with finding the most elegant way.

or maybe

The novice is preoccupied with finding the right way to get something done; the expert is aware that in programming there are always many paths, and his objective is to find the most elegant one.

Alas I am no Le Rochefoucauld, but you get the idea.  This is something that prose writers have always considered a part of their craft.  Raymond Queneau once wrote an amazing book that simply takes the same scene on a bus and reformulates it some fifty times.  Perhaps Amazon can pair up Bill Wagner’s Effective C# with Queneau’s Exercises in Style in one of their "…or buy both for only…" deals, since they effectively reinforce the same point in two different genres, to wit: there is no best way to write, but there is always a better way.

If you do get on a Queneau kick, moreover, then I highly recommend this book, a pulp novel about Irish terrorists, which has a remarkably un-PC title, and for which reason I am not printing it here.  I assure you, the contents are better than the title.

The only shortcoming of Bill Wagner’s book is that it was written for C# 1.0, while we are currently at iteration 3.0.  It is still a remarkably useful book that has aged well — but alas, it has aged.  It was with great excitement, then, that I read on Bill’s blog that he is currently working on a title called More Effective C# available for pre-order on Amazon and as a Rough Cut on SafariBooksOnline

The current coy subtitle is (#TBD) Specific Ways to Improve Your C#. To fulfill the promise implicit in the book’s title, More Effective C#, doesn’t the final #TBD number of Specific Ways have to be at least 51?

Battlestar Galactica: Corso e Ricorso

six

Tonight the final season of Battlestar Galactica commences.  Whereas the original 80’s science fiction series was based on Biblical themes, perhaps even Mormon themes, the re-imagining of the series in the 00’s uses pagan mythology as a backdrop, along with references to straight-from-the-headlines contemporary politics as well as a post-modern self-referentially — due not least to the fact that it is a remake of a popular series.

There is a fantastic quality to childhood that cannot be recaptured, and probably one should not make the attempt.  The Big Mac, I have found as an adult, does not taste as good as it did to my ten year old self.  It is almost inedible.  It also seems smaller.  Going back to see the original Star Wars is an exercise in nostalgia, but along with it is the sense that those movies weren’t really that good after all.  The Catcher In The Rye is a similar disappointment, and the brilliant insights I once thought I gleaned from it are now embarrassing to recall.  (But the literary journey with Holden Caulfield had seemed so deep at the time.)

Which brings us to the original Battlestar Galactica, which I caught a glimpse of a few months ago on the SciFi Channel, and found to be virtually unwatchable.

Giambattista Vico, the 18th century philologist, used this unsatisfactory experience of reviewing the past as his starting point for his interpretation of history.  The prior centuries had been dominated by notions of an Ancient Wisdom which the Renaissance was supposed to be recovering, or re-birthing (re-naissance).  This included, of course, the rediscovery of Plato in the original Greek, of course, preserved by Islamic scholars and philosophers when Europe was suffering through its Dark Age.  It was also intended to include, however, works purported to be written by ancient Egyptian wise men known as The Corpus Hermeticum.

Vico had a particular take on all of this.  He divides the history of various cultures into three distinct phases: the age of gods, the age of heroes, and the age of men.  These three phases mirror the three phases of human development: childhood, adolescence, and maturity. 

A child, as any parent can tell you, finds endless entertainment in a cardboard box, and will play with that in lieu of the fantastic educational toys you bought for their birthdays, and which came in said cardboard box.  The adult, seeking to capture this childhood experience will try to magnify the significance of the box in order to make it seem as worthy of his adult attention, and in order to justify his youthful affection for cardboard.  If you read any psychoanalytic works from the 60’s and 70’s, you’ll discover that this is a recurring theme.

For Vico, a similar thing occurs when we look at history.  Because we read ancient writings and find people who worship, say, stone circles, we sometimes jump to the conclusion that there was — and still is – something remarkable about those circles.  The mistake comes from thinking that our younger selves see the world the same way we do today.

This makes it seem as if Vico is merely a historicist, or the sort of historical colonialist who tends to look down on the past.  This is far from the case.  For Vico, each advancement in culture comes at a price.  With cultural maturity comes a loss of vitality and a certain amount of cynicism.  While in the modern world we might speak of freedom and the rights of man, we fail to think of them with the frank sincerity of our ancestors.  And the ability to treat these ideal notions as if they were real is something enviable, but difficult to achieve for the modern (much less the post-modern).  How does one go back to one’s youth?

Did I say above that Vico divides history into three phases?  I misspoke.  He actually divides it into six phases, for the three cultural phases occur once, and then recur.  The first series he calls the corso, while the second he calls the ricorso.  The same things, in a sense, occur in both the corso and the ricorso.  In each, there is an age of gods, then an age of heroes, then an age of men.  What distinguishes them is that while in the first series everything happens newly, in the second we can achieve some sort of awareness of what is happening to us, because it has all happened before.  Whether this serves us in a way that allows us to shape the unfolding of the ricorso, following Santayana’s dictum, is hard to say.  Probably not. 

But it does give us a special appreciation for what is going on, in the least.  The modern can draw parallels between the current age of men and the last age of men that came with the slow dissolution of the Roman Empire.  He can find signs of more vital cultures that parallel that of the German tribes, say, who were still in the age of heroes after Rome had long abandoned it, and try to find similar circumstances today that can slow the cultural dissolution that a cynical society portends.  Or perhaps not.  Perhaps all that Vico provides us is a tragic framework in which to view cultural history, since the essential power of all tragedies, whether it is that of Oedipus or that of Willy Loman, is that the audience always knows how the play will end.

For those who have not been watching Battlestar Galactica, the new series, now in its fourth season, is about humans in a far off star system — it is unclear whether they are from our future or from our past — who are almost entirely annihilated by a race of robots called Cylons.  Out of the billions of people who once lived in this system, only some forty thousand survive.  They are on a blind mission across the universe, attempting to escape the Cylons who are still trying to eradicate them.  They try to keep up their spirits through their faith though, unlike in the original series, and more like the world in which the audience for Battlestar Galactica lives, their faith waxes and wanes, sometimes bolstered by adversity but more often destroyed by it.  The central tenet of their peculiar religion is a variation on Nietzsche’s eternal recurrence, "All of this has happened before, all of this will happen again," which they repeat to themselves throughout the series.  In order to preserve good order in the face of a hopeless situation, the last leaders of the human race, in an act of bad faith, tell their followers that they are headed toward an ancient planet known, in their mythologies, as Earth. 

It’s Miller Time

miller

When it’s time to relax, when it’s time to celebrate, it’s time to break open the champagne of beers. 

Today I began my new career as a Magenic Technologies consultant.  I first became acquainted with Magenic through my work a few years ago with the CSLA framework which, during a time when business objects were all the rage, was one of the few technologies that implemented the concept well.  Even better, the framework dovetailed perfectly with the emerging interest in code generation, and all of the major code generators, de rigueur, are obliged to support templates for CSLA due to its central place in the development of the field.  After all, what’s the point of having a code generator if you don’t know what you are going to build with it?

CSLA is the brainchild of Rocky Lhotka, whose book Visual Basic 6 Business Objects not only introduced many VB programmers, including myself, to the world of Object Oriented programming, but probably helped pave the way for the later success of C#.  Rocky Lhotka, in turn, is a principal consultant for Magenic.

If any of these claims seems a bit grandiose, I suppose it is fair to say that I am somewhat partisan at this point — though I feel confident that had I written this yesterday, I would have said much the same.  And since I have in effect attempted what is commonly referred to as a "full disclosure", I might also add that Magenic has a reputation for having some of the smartest people doing software development today — which begs the question of why they hired me, but I’ll leave that for a later post … maybe …

The only fly in my vocational ointment is the fact that Bill Ryan, with whom I was looking forward to working, who actually tech interviewed me for the consulting position and helped me to get the job, is now leaving Magenic.  For some reason I had gotten it into my mind that he would mentor me in the ways of the modern software consultant, would guide me through my first book writing venture, would lead me through the dazzling new technologies coming out of Redmond — but instead he is heading off to form a (undoubtedly successful) consulting business of his own in South Carolina.

And if I now come across as a bit lugubrious, it is probably due to the fact that I am somewhat tipsy.  Not from Miller High Life, however — a noxious beverage, all things considered, which cannot hold a candle to the fine brews I lived on for a year in Central Europe.  Instead I’m drinking a lovely distillation my wife bought for me for Christmas: Labrot and Graham’s Woodford Reserve Distiller’s Select Kentucky Straight Bourbon.  I horde it like a miser, only bringing it out for special occasions, drinking it neat with a splash of water, rather than iced down as I normally do with whiskey.  It’s just too good to be wasted due to the dissipation of melted ice.  While I’m on the topic of distilled liquors, I might also recommend Chopin Potato Vodka, for those who have a taste for it.  It is best served fresh out of the freezer, to give it the proper syrupy quality, poured into a tall shot glass, and thrown down the hatch with a toast and a chaser.

Here’s to the changing of the seasons, to the friends we might have made, and to the friends we hope to make.

The Bonobo, the Potato, and the Giant

bonobo.jpg


Beth at Cup-Of-Coffey has a new entry about why she loves the Internet involving a video of hundreds of inmates at a filipino prison performing Michael Jackson’s Thriller.  It’s a testament to the human spirit, sort of, but more importantly it is a testament to the peculiar character of our modern world in which wonder can be inspired simply by clicking a link.


The New Yorker has an article about Bonobo apes — also known as hippie apes due to their gentle natures, compared to humans and chimps, as well as their sexual promiscuity — in which one of the leading researchers in the field comments, regarding field work:



“You always think there’s going to be something round the next bend, but there never is.”


My experience this week on the web has been quite the opposite.  The Internet is much better than I have been led to believe, and here are a few reasons why.


Conrad H. Roth, over at Varieties of Unreligious Experience, has a film-review of the 1966 documentary Africa Addio unlike any film review I have ever read.  The film itself is a disturbing and violent portrayal of the chaos of post-colonial Africa, but Conrad’s explanation and recommendation of the film raises it to the level of a dark portrayal of the human condition.  Conrad brings up the petite-tyrant Roger Ebert’s review, summed up in the words ‘brutal, dishonest, racist’, only to convince us not only of Ebert’s smallness of character but also how this basically accurate description of Africa Addio is part of what makes the movie great.  It is all this and more.


The Polyglot Vegetarian, who hadn’t posted anything since April, has finally blogged about the Potato.  PV has picked out a special niche in the blogosphere — he blogs eruditely about veggies, giving their linguistic and social history.  He makes the lowly noble.


If you liked The Da Vinci Code, or if you happened to prefer the original version by Baigent and Leigh, then you will certainly enjoy Raminagrobis’s explanation of “the much and justly maligned” Claude-Sosthène Grasset d’Orcet’s theories about how to decode Rabelais’s Gargantua and Pantagruel through the discovery of the proper uses of punning.


Finally, the Beta 2 of Visual Studio 2008 has just be released for download, as explained on Scott Guthrie’s blog.  In certain corners of the world, this is a fairly momentous event, but falling in such an interesting week, it is a bit underwhelming for me against the backdrop of dancing prisoners, darkest Africa, the bonobo, the potato, and the giant.