Posts
872
Comments
762
Trackbacks
1
Tuesday, April 30, 2013
Robert Fripp and The Orchestra Of Crafty Guitarists VI – Caorle, Italy, April 19th, 2013

For largely personal reasons, I have been in Italy for a few weeks, and when I was planning the trip, by luck, I happened to come across this

I’ve heard various versions/recordings/concerts/whatever of various incarnations of the crafties since they first started recording, and I’ve always thought it would be interesting to attend one of the classes/workshops/whatever someday.

Anyway, I noticed they had a performance at the end of this incarnation and inquired as to whether it would be public or not.  It wasn’t, but I was grateful when I was added to the guest list (along with the person I came to Italy to see).

As with all of the other incarnations I had heard, the performance was very much like, while also being very unlike, any of the others.  There tends to be quite a combination of beauty and dissonance (often simultaneously) and it can definitely be challenging to listen to (there was a 9 year old boy sitting in front of us who might certainly attest to that), though I was certainly quite pleased to hear the renditions of a few King Crimson songs. included in the ‘set’.  I don’t think I will hear ‘21st Schizoid Man’ the same again.

It was a wonderful experience, and I was quite glad to be present for it.

The beginning procession can be seen below (the back of my head is visible, making it probably my first and last YouTube appearance).

Enjoy.

posted @ Tuesday, April 30, 2013 3:48 PM | Feedback (0)
Tuesday, April 16, 2013
Repost: Unraveling the Developer Bias in Agile Development Practices

There is a little bit of irony in reposting this, as I think the concept of “Enterprise Architect” is not only bankrupt, but almost always harmful.  In fact, I read most of Nick’s posts and think to myself something along the lines of “it’s kind of a shame to be doing something largely pointless.”

But, I tend to agree with most of what he says here, especially little things like this:

“As an agilest, I value people over processes.  That means I value the contribution of individual experts on my team to do their work with excellence, and I will show them respect for the work that they do, and the unique value that they contribute.  I will do so by allowing them to do their work without the ‘supervision and assistance’ of a developer.”

Enjoy.

posted @ Tuesday, April 16, 2013 10:08 AM | Feedback (0)
Thursday, March 28, 2013
Marillion Montreal Weekend 2013 – Brave

“Brave” was a seminal release in Marillion’s career.  It came maybe a couple of years after they dropped off the planet for me (94 maybe), so I never knew it existed until 5 years ago, or whenever I rediscovered the group thanks to Porcupine Tree (Stephen Wilson helped produce one of their albums (I think), “Marbles”, which is my favorite of theirs).  So, there’s a bit of an emotional distance there for me.

But, I’m willing to bet that for many people in the crowd, this was one of their all-time favorites, and there were grown men, giddy like school boys at the thought of their favorite band playing their favorite songs.  One guy beside me (somewhere in his 40s or 50s) was literally jumping up and down in anticipation of one song.

Like other of their works, it was ‘inspired’ by a ‘true life story’ that Hogarth (lead singer, likes to call himself ‘h’ but that’s way too hard to follow in an email) then used to create the lyrics for the entire piece.  A woman was saved from jumping off of a bridge to her death (for some reason, I’m thinking Hogarth heard this while it was happening on a police scanner or something), and when asked who she was or how she got there (both literally and figuratively), she simply refused to speak.

So, “Brave” is Hogarth imagining who this woman was, and what her life had been like.  As you can imagine, it contains a lot of happy light-hearted ditties.  Not.

The thing that always struck me about it, is that it comes to a resounding crescendo on the second to last song, and then there’s this acoustic number that, I don’t know, it doesn’t quite fit in.

At times, the band has had to stop the crowd from applauding, as a lot of the songs flow together, so you can see various members motioning to the crowd, and since the crowd gets it, they will quiet down.  But at the end of the second to last song “Great Escape”, they let the crowd go, and they/we gave them a roughly five minute ovation, before they finally played “Made Again.”

I have mentioned previously on blog posts about the sense of community between this band and their fans.  Musical preferences are, almost by definition, very personal, people like what they like.  But the love affair was obvious and mutual.

In the Q&A the next day, Hogarth mentioned that he had never “heard that sort of sound” (talking about the crowd reaction) in his entire career.

I don’t know that it was the best music I’ve ever heard in a concert, but it was, for lack of a better word, transcendent to be there.  At the end of their performance, couples embraced, men wept openly (I may have shed a tear).  It was an absolutely fucking brilliant performance, a band setting an expectation and then rising above it.

It was an honor to be there.

posted @ Thursday, March 28, 2013 1:57 AM | Feedback (0)
Wednesday, March 13, 2013
Yet another reason why the software craftsmanship movement sucks

Here’s the description of the talk:

“In this talk Robert C. Martin outlines the practices used by software craftsmen to maintain their professional ethics. He resolves the dilemma of speed vs. quality, and mess vs schedule. He provides a set of principles and simple Dos and Don’ts for teams who want to be counted as professional craftsmen.”

The video sounds like it was recorded next to a cocktail party.  You can always hear what Uncle Bob says, I never had a problem with that.  Just keep that in mind if you listen to it.

Now, as often happens, the ‘blurb’ doesn’t exactly describe what he talked about, but that’s okay.

The issue is with the phrase “professional ethics.”

It’s bad enough when a set of programming practices is shoved down people’s throats as being “the right thing” in a narrow-minded, elitist fashion.  Now, apparently, there are some consultants who have decided that they are ethical experts.  That’s just fantastic (do you smell that?  that’s sarcasm).

I suppose stealing clients money counts as professional ethics (since in most cases that’s what TDD can get you, and don’t get me started on Scrum).  Right.

To use a reference almost no one will get, he reminds me of the philosopher W.V.O Quine.  He was a very influential, very intelligent philosopher who had a lot to say about a lot of things, but one of the topics he discussed for which he was most famous was meaning within the philosophy of language.  He had a very strict behaviorist theory of how people learn language, and that theory informed a lot of what we wrote about.

The problem, of course, is that behaviorism is demonstrably false in just about every field, but especially when it comes to language and meaning.  So, it didn’t matter how intelligent he was or how sophisticated his other work was, it rested on a false premise.

This “not using TDD is unethical” garbage is not just false, but total crap.  It’s harmful, especially since Uncle Bob has some (otherwise largely well-deserved) influence.  It’s sad to think of how many people who will be led astray by this stuff.

posted @ Wednesday, March 13, 2013 9:31 PM | Feedback (0)
Monday, March 11, 2013
Another reason not to hire software craftsmen

From this:

“While I love software, I love code more. If you ask my past employers and customers, they will tell you that I can get stuff done, too. However, I often code just to learn. This is an aspect of Software Craftmanship that is sometimes overlooked: Yes, we want to ship working software. However, we must always strive to become better at our craft, and that means practice. That means writing code for code's sake. That means obsessing over details.”

And when are you going to write code for code’s sake?  On my time or yours?

And how are you going to determine when you are becoming better?  Based on your own whims?  The whims of whatever the latest obsession is?

And what else could you be doing?  Talking with the business and learning more and more about the domain on which you are tasked to work, perhaps?

By all means, people should strive to get better at what they do, but not in some dogmatic, unthinking, wasteful way.

Dan North said it well (and read the whole thing, if you do and still think you should unit test properties, you are part of the problem, not the solution):

“I would love to see someone rewrite the Software Craftsmanship Manifesto in terms of getting results and delighting customers. I don’t want “steadily adding value,” I want “amazing their customers every day!” Software craftsmen should be egoless, humble, with a focus on the outcome rather than the code or the process. I’d like a call to arms to stop navel-gazing and treat programming as the skilled trade that it is.

No-one wants your steenking software – they want the capabilities it gives them, and they want those yesterday.”

Exactly.

posted @ Monday, March 11, 2013 12:41 PM | Feedback (0)
Wednesday, March 06, 2013
Software Craftsman Myopia

Uncle Bob:

“In another 10 or 15 years TDD will likely be as prevalent and important to programmers as hand-washing is to surgeons or double-entry bookkeeping is to accountants. I stand a good chance of seeing that happen.”

Alexander Tarnowski:

“The ability to deliver tested and integrated software whenever we want to will be taken for granted. There will be no holy test and staging environments that some hero set up once and nobody dares to touch (for they’d break anyway). ”

Bullshit.  Bet very very heavily on the under here.

posted @ Wednesday, March 06, 2013 11:29 AM | Feedback (0)
Uncle Bob is a consultant

Not that there’s anything wrong with being a consultant, of course.

<rant>

Apparently Uncle Bob has never heard of Twitter (the company, not the technology).

Here’s his latest “please hire me at hundreds of dollars an hour to peddle dogma, and if you question me, I’m going to use ‘I’m old’ as a response” post.

I think the saddest thing about the Software Kraftsman Kult is this desperate clinging to shibboleths.  “TDD simply must be right, in every instance and at all times!!!!!”  Whenever some peddler wants to peddle some ‘Best Practices’ shit, remember the truth: there are no best practices.

Besides, anyone with a brain knows that TDD is garbage.  If you aren’t doing BDD, you should consider a different career (there’s an inside joke in there).

</rant>

posted @ Wednesday, March 06, 2013 11:20 AM | Feedback (2)
Friday, March 01, 2013
Well said about WCF

Had one of ‘those’ discussions recently about WCF.  Ugh.

“As a side note, a part of me still thinks that WCF was built on a bit of a dare or as an experiment to see if Microsoft could make even the nicest person (not me) curse like an irate and drunken pirate when trying to deploy WCF apps out into the wild. I've never encountered anything more heavily coupled, horribly overbuilt, and tediously demanding of error-prone configuration, reconfiguration, subconfiguration in my entire life.”

From:

http://www.devproconnections.com/article/development/json-net-serialization-145323?elqCampaignId=1252

posted @ Friday, March 01, 2013 11:50 PM | Feedback (0)
Steven Wilson – The Raven That Refused to Sing (and other songs)

Steven Wilson’s latest release is arguably bittersweet for any Porcupine Tree fan, for while he has emphatically rejected making any sort of grand pronouncement about the permanent demise of the band, it is clear that it is on the back burner for him for the foreseeable future.

Nevertheless, for anyone that is a fan of what is contentiously labeled “progressive rock,”, I urge you to give this a listen.  Having only listened to it a few times, I am not sure, but it might arguably be, on many levels, the greatest work that he has ever produced.

A professed atheist, his driving theme for this work is based on the notion of ghost stories, and feelings of regret that some might feel coming to the end of their lives, thinking they had not accomplished what they wanted to accomplish in their lives, not been with the person they should have been with, and so on.  I’m tempted to add “and yada yada yada” as I’ve never felt that (Roger Waters excepting, with his work with Pink Floyd on The Final Cut and his own Amused to Death), concept albums are rarely ever really all that cohesive.  I gather that there is actually a written ghost story for each of the songs, but don’t actually care to read them in any way.

Regardless, though there are hints of King Crimson, Yes, and Jethro Tull in this work, it should not, in any sense, be thought to be derivative.  It is a fundamentally original and enthralling work.  For people who are into that sort of thing, the extended guitar solo that Guthrie Govan puts in for the last 2 minutes of “Drive Home” is nothing short of astonishing to me.

There are enough reviews out there that put together a song by song examination, so I need not try to add to that here.  But the title track deserves special mention.  It will not seem unfamiliar to anyone who is a Steven Wilson fan.  But it is reminiscent to me of King Crimson’s “Islands” in taking ‘simple’ music, and making it brilliant.  The heartfelt and heartbreaking repeated use of “Please” is terribly moving to my ears (for many reasons, most of them personal).

Please
Come to me
Please
Stay with me

Sing to me, Raven
I miss you so much

Give it a listen.  Enjoy.

posted @ Friday, March 01, 2013 11:05 PM | Feedback (0)
Thursday, February 21, 2013
Delivery vs Quality

I realize that just about anybody reading this will immediately think “but we can have both.”  I understand that.  This is just an example.

At a client once, I came aboard with a bunch of other consultants around the same time (sometimes organizations do these weird things like letting entire groups of consultants go, along with their gained knowledge, and then have to pay the cost of having that knowledge needing to be relearned.  There are ways that organizations can learn to do such things better, but I digress).  With a large installed base of applications, various consultants were given various of these applications.

It’s always fun to think that your inherited application is the worst written application of all time.  It isn’t always the case, but there are certain things that always jump out at you.  I wonder if there is a term out there for an application that appears to want to violate Separation of Concerns in as many ways as possible.  Let’s posit that some of these applications we inherited followed that ‘pattern.’

One developer decided that, in order to promote the long-term health of their application, it needed to be significantly refactored, in the usual sense of the phrase: Adding little to no new functionality while fixing the broken internals to increase its maintainability (in some sense of the word).  Since I don’t want to debate their refactoring ability, let’s go ahead and accept that what they did was a significant improvement.  There were actual ‘metrics’ available, such as a reduction of the size of the code base by something amazing like 90%, a consolidation of the various random technologies used to a consistent few, and other things that from most perspectives can only be viewed as positive.

Another developer focused on the ‘business state’ of the application.  In particular, he knew that the business users were very frustrated at what they viewed as a lack of progress in the progression of the application.  Business requests were stagnating.  This developer decided to focus on identifying the highest priority business requests and implementing them, even though the ‘nasty’ state of the application made that, well, difficult, to say the least.  Can anyone say ‘copy and paste?”

Now, everyone knows where I’m going with this.  In six months time, the refactored application had zero releases, while the nasty application had three. 

One of the things that has always struck me is that ‘unmaintainable’ applications actually are.  It sucks to high hell to have to do it, but it is remarkable how much bad code is fairly supportable.

Delivering high-quality code often is an admirable goal to strive for.  When starting ‘from scratch’ it is much much easier to achieve this.  When supporting a ‘legacy’ app (meaning, any app I didn’t create), sometimes you may find yourself making choices you wouldn’t otherwise make, and justifiably so.

posted @ Thursday, February 21, 2013 11:44 AM | Feedback (0)