Posts
431
Comments
253
Trackbacks
1
Wednesday, October 08, 2008
Obscure Musical Gems: Roger Waters – Amused To Death

This work is why I created this series in the first place.  I have another entry that is Pink-Floyd-ish coming up, but will branch out afterwards.

Roger Waters is a strange cat.  No two ways about it.  As the initial post about The Final Cut should make clear, he writes what he writes because of what interests/inspires him, and sometimes, those themes are not what you would usually expect.  Because his father died during World War Two, he often writes anti-war-themish stuff (gee, that’s a surprise), and in Amused to Death that is one of the themes that comes up.  There’s also general stuff about alienation and the current culture and whatnot.

This work is not for the faint of heart or ‘I hope there is something I can dance to” set.  It is a concept album (like almost everything he writes) and very serious.  The opening track ‘The Ballad of Bill Hubbard’ makes this very clear, as it has a snippet of an interview with a World War One (not Two, One) vet talking about a soldier named ‘Bill Hubbard’ who he found wounded (mortally as it turned out) and tried to rescue, but had to abandon.  Like I said, this is not stuff for the faint of heart.

Another theme that is present in this work is anti-god/religion.

side note:  I’m going on memory here so if I get the details wrong, sue me/correct me, but there was this guy called Dr. Jack Kevorkian, also known as ‘Dr. Death’ who helped people kill themselves until he was (thankfully) sent to prison.  For reasons not clear to my memory, he would only assent to being interviewed by Andy Rooney from 60 Minutes.  As I grew older, the more I learned/heard about Rooney, the less I liked/respected him, but there was one part of his interview with Kevorkian that was brilliant.  He asked Dr. Death ‘Do you believe in God/religion.’  Kevorkian’s response was ‘Yes, but not in the traditional sense’ to which Rooney responded immediately without a beat of hesitation, ‘In other words, no.’  This was a brilliant insight.  If you don’t get why, you need to re-examine your own thoughts about God/religion.  If this suggestion offends you, too bad.

The various tracks about ‘What God Wants’ (parts 1-3) lay out this theme in various ways.

Since I’m lazy, I will just tell you to Google it, but in remarks about The Final Cut, Waters says that you can hear the tension he felt in his voice (about the near violent friction between him and Gilmour), and my thought is always “Compared to what?”  Roger often times gives up any pretense to singing his lines, or even trying to get the lyrics to rhyme.  This has never bothered me, but I can understand why some might not be so forgiving.  Within this work, he does this often (Bob Dylan is another artist who gives up similar pretenses, though that’s a bit misleading).

As with all of Waters’ work, the potential result can vary wildly from absolutely horrible (Radio KAOS is a horrible album, and ‘Leaving Beirut’ is right up there with Ani Defranco’s ‘Evolve’ and the Shaggs’ ‘My Pal Foot Foot’ as the worst rock/pop song ever recorded) to absolutely brilliant, and I think many of the tracks in Amused to Death are the latter. 

When I was younger and had hopes and dreams and more creativity, I wrote a rock opera about Tiananmen Square and the massacre there called A Song for Beijing and ‘Watching TV’ recalls the same events (with shared lead vocals from Don Henley) with great power.  In parts, he completely abandons the need to rhyme.

‘The Bravery of Being Out of Range’, with its’ lyrics ‘old timer/who you going to kill next’ is equally powerful in its ability to evoke a theme/feeling (regardless of what you think about it overall).

Waters’ solo work has included session guitarists to brilliant (I’m being redundant, whatever) effect, and here Jeff Beck, who isn’t note for note technically skilled like a Steve Vai, lays down wickedly moving solos throughout the piece.

The ‘concept’ of the album has something to do with a monkey watching TV and/or alien anthropologists trying to determine how the human species died.  This is almost completely irrelevant.

The Wikipedia article on this work states that there is an ‘uplifting’ ending, where the vet who had to abandon Bill Hubbard recounts seeing his name on a memorial and feeling a sense of relief.  I think this is completely wrong.  The vet is recounting the fact that he lived 60+ years of his life with a sense of powerful regret and sadness.  I guess it is better than dying with the regret, but it seems clear to me that the point of the narrative within the song  is to highlight the regret, not the sense of relief so many years later.  Regardless of what one might think about the necessity (or lack thereof) of war, maybe it is my personality type, but that overall sense of regret “if there was something  else I could have done…and that always sort of worried me” is searing (“when I was 87…1984, 1984”).  When I think about who I am and what I do for a living, I realize how far short I reach from those that who have done truly great things (fixing T-SQL vs…. yeah).

In any event, don’t expect you can dance to this, but I highly recommend a listen, if you can take it.  It is not a typical album.  It isn’t even a typical ‘progressive rock’ album.  I can’t imagine that ‘most’ people would like it, however that is to be judged.  But if you do ‘get’ it (whatever that means), this will be one of your most favorite albums.  It is that good.

posted @ Wednesday, October 08, 2008 9:03 PM | Feedback (5)
Monday, October 06, 2008
Obscure Musical Gems: Pink Floyd – The Final Cut

Another of my (unnumbered) series, I talk about works of music (usually albums (“daddy, what’s an album?”), sometimes songs) that I think are obscure (based on my opinion, of course) but also really, really good, and thus a gem.

There’s another gem that actually sparked this thought (coming soon), but I might as well start with something that might be used as a definitional example, and that’s Pink Floyd’s The Final Cut.

When one thinks of Pink Floyd, one thinks of the Wall or Dark Side of the Moon, not this one.  Yet, despite the general weirdness of the work, it is very strong.

The last release of the ‘real’ Pink Floyd (Gilmour and Waters together, not that the other members of the band didn’t matter, but…well, they really didn’t in the grand scheme of things) is obscure because it is, well, really kind of odd, a work of music sparked by the Falklands War.  As Roger Waters’ lyrics describe it:

Brezhnev took Afghanistan
Begin took Beirut
Galtiery took the Union Jack
And Maggie over lunch one day
Took a cruiser with all hands
Apparently to make him give it back

- Pink Floyd, ‘Get Your Filthy Hands Off My Desert”

Roger Waters’ father died during WW2, and so anti-war themes have long been a part of the work of Pink Floyd and Roger Waters’ solo work.  No surprise there.  There’s also general themes of alienation and whatnot (the title track ties in the anti-war theme with the personal).  Given the dissolution of the band that was going on during the time, it is no surprise that David Gilmour basically hated the album, but his guitar work is (thus) remarkably strong throughout, especially during ‘The Fletcher Memorial Home’, ‘The Final Cut’, and ‘Not Now John’, along with great sax work by Raphael Ravenscroft (especially on ‘The Gunner’s Dream’ and ‘Two Suns in the Sunset’).

The lyrical obscurity of the work, based on the war in the Falklands, contributes to the obscurity of the whole piece (I mean, it’s sparked by the Falklands War, think about it, it’s like writing a work based on the Contras in Nicaragua), but while I understand why many fans of Pink Floyd don’t like it, I think overall, it is a very strong effort and enjoy it whenever I listen to it.  Even if the anti-war theme doesn’t do a lot for you, ‘Southampton Dock’ is pretty powerful, especially as it flows into the title track.

And if I show you my dark side
Will you still hold me tonight?
And if I open my heart to you
And show you my weak side
What would you do?

- Pink Floyd, ‘The Final Cut’
posted @ Monday, October 06, 2008 8:27 PM | Feedback (1)
Setting up for TFS Installation on Windows Server 2005/2008

Again, I keep forgetting this, so this post.

You need to create/extend a site within SharePoint/WSS to install TFS.  But, you have to do more than create/extend a site.  You also have to create a site collection on that site after you create/extend it, otherwise, you will end up with 404 errors when running the TFS installation wizard.

posted @ Monday, October 06, 2008 7:11 PM | Feedback (0)
Guilty Musical Pleasures: Lou Gramm – Midnight Blue

This is part of yet another new series (not going to number them) where I mention rock/pop songs/albums/bands that I enjoy, even though I know I probably shouldn’t.

This entry is for Lou Gramm’s “Midnight Blue” song.  I think all that needs to be done to indicate why this song should not be liked is to relate the following lyrics:

I remember what my father said
He said "Son, life is simple"
It's either cherry red or...
Midnight Blue...

or

I won't apologize for
The things I've done and said
But when I win your heart,
I'm gonna paint it cherry red

 

Okay, so are you supposed to favor ‘Cherry Red’ or ‘Midnight Blue’?  The title suggests the latter, but then why is he going to paint his love’s heart the former?

And yet, I really enjoy listening to this song.  It needs a ripping guitar solo, but otherwise, it’s a lot of fun.  In a pathetic, guilty pleasure sort of way.

posted @ Monday, October 06, 2008 6:35 PM | Feedback (2)
Saturday, October 04, 2008
Using SQL Server with WSS 3.0 SP1

I keep forgetting this, so putting up this post.

When it asks, choose advance over basic, and then choose web front-end.  It will then ask you for database connection information during the provisioning step.

posted @ Saturday, October 04, 2008 4:07 PM | Feedback (0)
Wednesday, October 01, 2008
On TDD

Roy Osherove has been posting a bit about testing, OOP, TDD, and the like.  You can go to his post and find tons of comments, links and so forth.  Because of all the different interpretations people have put forth, it’s hard to summarize the discussion without prejudicing it.

But what the hell, it’s my blog, so here’s a thumbnail sketch:  the adoption of unit testing is hindered by it being tied to TDD, design considerations, and confusing terminology (“a mock?  a mock what?”). 

A very good post by Udi Dahan takes a pragmatic stance about the whole issue, but contains two things that I want to comment on.

The first is this:

“In a well designed system, most ‘logic’ will be contained in two ‘layers’ - the controllers and the domain model. These classes should be independent of any and all technological concerns. You can and should get high unit test coverage on classes in these layers…Most other layers have some dependence on technology that makes unit tests relatively less valuable. Coverage on these layers is most meaningless. My guidance is to take the effort that would have been spent on unit testing these other layers and invest it all in automated integration tests.”

The second is a comment by Casey that Udi agrees with:

“I think, and hope, what you are saying is any code that does not add *business* value is of low value, and tests that have no clear purpose, or that further concrete an already weak design, will ultimately decrease business value.”

I agree with both of these, but in my own special way.

 

In almost any business environment (I can think of a lot of other systems/environments where the following isn’t true…a health diagnostic system for instance), software exists primarily to deliver business value.  Or at least, it should.  One of my strongest gripes with Alt.NET is that while I think just about everyone would give lip service agreement to this notion, it is quite often de-emphasized, and the focus is placed on ‘reducing friction’ or ‘increasing maintainability.'  And clearly, if you do those things, you increase business value, right?

Not so fast.  Notions like ‘friction’ and ‘maintainability’ are relative, usually to the developer in question.  Various people have blogged in great and painful detail about what reduces friction or increases maintainability, but what they advocate often times makes it clear that what they advocate is something that would reduce friction and increase maintainability *for them*, but which would do the reverse for most everyone else.  Since this post is about TDD, I’ll use that as an example in a minute, but just to throw out another example:  anyone who is advocating ‘deprecating the database.’  It isn’t that there is necessarily a *technical* argument against it (though I think there could be), but there are so many other considerations that go into software development that the technical merits or demerits of software design is almost always a very minor aspect (I’m betraying my roots in operations/deployment/production support here).  There is almost no environment where ‘deprecating the database’ is even a possible solution.

side note:  I’ve made the following point in many different ways, and in many different places, but I think it right to make it again.  In large part, I 'follow’ Alt.NET (even helped to create the Chicago Alt.NET user group, not sure how that happened…think there was drinking involved) out of laziness and greed.  I am trying to ‘shortcut’ my way out of learning many techniques through experience, because learning through experience is usually painful, and hurts someone else (usually a business/client).  You can’t completely do this, obviously, and I know that, but whether it is learning how to implement IValidator, IMapper<Domain Object, DTO> or other techniques that I’ve ‘stolen’ (if you can’t tell, I just spent 15 seconds looking at one of my code bases), I hope to be able to avoid learning through the mistakes, and just learn from the end results of developers who I already know are better than I am.  Developers will be developers, so there will always be some numb-nut advocating a technically stupid design under the Alt.NET rubric, but in general, if you want to learn how to be a technically better developer, just read the Alt.NET blogosphere.  And if you don’t know what that is or what counts, look it up.  Google is your friend.

 

TDD is one of those techniques that has its fair share of evangelists/advocates, and that can decrease business value if done incorrectly.  On one of my code bases, I am forcing myself to use it as stringently as possible.  In almost every client situation I have come across it, it has been implemented poorly (and in the obvious case I can think of where it wasn’t, it was because of the single-minded determination and/or skill of the developer implementing it).  Like agile advocates, TDD advocates seem to be painfully addicted to confirmation bias (“I did it myself once and it worked great!!!!”), but that, in and of itself, has more to do with advocation (is that a word?) than TDD.  But it is pretty clear that in order to do TDD ‘the right way’ requires a lot of training, an eye of newt, and a lot of luck and/or skill.  In and of itself, this makes me skeptical of it, because any methodology that requires near-perfection in its implementation is essentially doomed to failure in the long run.

BUT, if it provides business value, which it can, you should use it.  I like very much what Udi said about layers that have dependencies on technology (I will expand this to include ‘protocols’ in a second) and what Casey said.  I’ve long advocated (yes, using that word on purpose) integration tests over unit tests (since there is always a limit on time and effort, if you have to limit what you can test, test the code that is actually in production.  Not mocks, not stubs, your production code.  If you have to run, e.g., Waitn tests, suck it up and do it), because of the ‘business value’ position.  No one in the business will generally give a crap about the latest developer ‘fad’ (since they generally neither know or care what counts as true progress versus fad, since they can’t judge it), but a set of tests that catch actual bugs in production code, before it actually gets to production, that usually gets people’s attention (if you are really good, your non-integration, TDD tests will give you the same, if not better, results…in theory, see side note).

How can you tell if you are providing business value or not?  That’s hard to say.  But, I will offer the following thought experiment (though it is based on a real-life example) as a guide:

Suppose you need to write code that will use FTP to go out to a site and download a file.  This is a typical requirement in almost every single business shop in the world.  If you immediately thought of creating an IFTPService interface, you have problems, and are probably part of the problem.  The FTP protocol is not going to be re-designed and neither should your FTP code.  Once it is built, it is done.  “But what about testing how the code handles different response codes from FTP?”  Setup a local FTP site that does whatever you want it to do, and create integration tests.  If you think an IFTPService interface is a good idea, not only are you wasting people’s time, but you are losing the semantic argument.  If you already have a TDD and/or top-heavy unit testing organization in place, then creating stupid interfaces like this is potentially okay because you can write the ‘extra’ code in a few minutes, but any seasoned developer is going to (rightfully) laugh you out of the arena if you think an IFTPService is a good idea.  Which will kill any chance you have of getting TDD in where and when it matters and can supply business value.

 

Business value, good.  Useless tests written because someone you read somewhere said you needed to have 100% code coverage, bad.

BDD, really bad.  But that’s another post.

posted @ Wednesday, October 01, 2008 8:26 PM | Feedback (12)
Sunday, September 21, 2008
Deep Thoughts by John Madden, from Sunday Night Football

On cheese: “The first guy who ever made cheese, how did he know he was done?  You have your curds, and you have your whey, at what point did that guy say, ‘That’s it fellas, let’s eat’?”

posted @ Sunday, September 21, 2008 9:37 PM | Feedback (0)
Saturday, September 20, 2008
The State of College Football Broadcasting

Is poor.  Very, very poor.

Maybe I’m just paying more attention this year than in recent years, but the inability of announcers to follow what is happening on the field, to consistently get calls incorrect (including whether someone gains a first down or not), and to botch instant replay predictions is amazing.  They still get stuck trying to fit games into their pre-conceived, pre-game analysis, not matter what happens in the actual game, but they’ve been doing that for forever.

Even though it has been more than a week, take a good example from the Rutgers-North Carolina game a few Thursdays ago.  North Carolina put a beatdown on Rutgers, beating them in every aspect of the game.  There were a couple of lucky bounces that went NC’s way, and a couple of unlucky bounces that went against Rutgers.  The announcers (Tirico’s team) decided to ‘analyze’ the bounces ad nauseum and that’s fine.  But then, there was a punt, and NC appeared to down it on the 6 inch line.  The announcers go nuts and go on and on and on, with multiple replays, analyzing footwork at the goal line, blah blah, ‘isn’t it amazing how every bounce is going there way’, etc. etc. etc.  Except in every replay, the referee was clearly signalling a touchback.  60 seconds later, play resumes.  At the 20.  Because it was a touchback.  NONE of the announcers point this out, even though they just rambled for 90 seconds about how NC downed it inside the one.

One thing that is pretty obvious at this point is that they don’t have a screen that shows the electronic first-down line, because they seem to be way too inaccurate in figuring out whether a play gained a first down or not.  “And he makes that extra move to gain a first down.”  Uh, no, he’s a yard and a half short.

And one other thing.  Pay attention to the officiating crew.  When the officials are all in a huddle, that’s usually a sign there was a penalty, you might want to bring it up and stop showing multiple replays of a play that’s coming back.  If they signal incomplete, that means the receiver didn’t catch the ball.  If they signal a catch, it isn’t incomplete.

And so on.

posted @ Saturday, September 20, 2008 9:03 PM | Feedback (0)
Friday, September 12, 2008
Marillion releases 'Happiness is the Road' for free

Sort of.  Kind of.

http://news.bbc.co.uk/1/hi/entertainment/7606029.stm

I was one of those who pre-ordered the release, and though I wasn't really aware of it at the time, the 'extra' money charged helped the group to pre-pay for all of the studio time, etc. to record the music without worries.  At least that's what I gather from the info in the link and through various emails from the band.

Anyway, looks like they want to 'flood' all of the file-sharing sites with versions of the music that somehow let the band 'market' various purchasing opportunities to people who download those versions.  Since I didn't have any intention of uploading the music, I had the option (which I took) of downloading the release in 'not quite CD quality' format (with a video message from the band saying it was okay to download each song).  To be honest, the quality of the music files seems good to me.

Now that it is in the open, I take this to mean that it is kosher to post a review of the new release.  I may do so in detail at some point soon, but here's the mini-review:

For me, the Hogarth version of Marillion has always been hit and miss.  I think Brave was really good, and I think Marbles was excellent, but most everything else has been spotty.  Their previous release, Somewhere Else, was a perfect example.  I think the title song is brilliant, but outside of one or two other cuts, I thought it was mediocre at best, disappointingly boring at worst.  Having listened to it a few times, my initial reaction is that Happiness is the Road approaches Brave in quality, but probably doesn't hit the brilliance of Marbles.  'Side one' (the first 10 songs) works really well, while maybe a few of the songs on 'Side two' (the second set of 10) aren't quite as good.  Steve Rothery never really cuts loose, in my mind, on any particular track, but the melodies and lyrics (that I can tell...need the forthcoming full lyric sheet to know for sure) are solid throughout most of the effort.  It certainly isn't disappointing in the way Somewhere Else was to me.

But, that's a first reaction.

posted @ Friday, September 12, 2008 11:29 PM | Feedback (0)
Follow-up to Chicago Alt.NET September 2008 Meeting

Below is from Sergio.  Thanks to everyone who attended.

 

**********************************************************************************************

 

I'd like to thank all that came to our meeting on Wednesday. A few people emailed me asking the name or site of some things mentioned both in the talk and in the discussion portions. I thought I'd send a list of things that were mentioned. This type of thing would belong in our site, which isn't ready yet, but sit tight, it's coming.

Structure Map
http://structuremap.sourceforge.net/

Code Better blogs
http://codebetter.com/

Jeremy D Miller's blog
http://codebetter.com/blogs/jeremy.miller/default.aspx

Rob Conery's MVC Storefront Videos
http://blog.wekeroad.com/mvc-storefront/

Los Techies blogs
http://www.lostechies.com/

Chad Myers' blog
http://www.lostechies.com/blogs/chad_myers/default.aspx

Robert C Martin SOLID Principles
http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod

Other IoC Containers

Windsor
http://www.castleproject.org/container/index.html

Ninject
http://ninject.org/

Spring.NET
http://www.springframework.net/

Unity
http://www.codeplex.com/unity

ORM discussion

NHibernate
http://www.hibernate.org/343.html

SubSonic
http://subsonicproject.com/

posted @ Friday, September 12, 2008 8:33 AM | Feedback (1)