On Quality, Speed, Practice: Software Development links for October 18th, 2009

Microsoft Research: Janie Chang: Exploding Software-Engineering Myths:

…there is one point that gives this software-engineering myth buster a great deal of satisfaction.

“I feel that we’ve closed the loop,” Nagappan says. “It started with Conway’s Law, which Brooks cited in The Mythical Man-Month; now, we can show that, yes, the design of the organization building the software system is as crucial as the system itself.”

Bruce Eckel: 5-2-03 Strong Typing vs. Strong Testing

Random Thoughts: TDD is not test-first. TDD is specify-first and test-last.

97 Things Every Programmer Should Know: Uncle Bob: Speed Kills:

If you want to be a professional, if you want to be a craftsman, then you must not rush. You must keep your code clean. So clean it barely needs comments.

Coding Horror: The Xanadu Dream:

Consider the reality of what’s actually possible, what people can understand, and what us all too human programmers can practically implement. It might not be the Xanadu you dreamed of — heck, it might even suck — but it’ll at least have a fighting chance of existing in reality rather than fantasy.

Dare Obasanjo: Duct Tape Programmers and the Culture of Complexity in Software Projects:

The urge the reduce the complexity of the tools used to solve software problems is one that every software developer should share. However even more important is reducing the complexity of the actual solutions that are delivered to your customers at the end of the day. End users can’t tell if you used complicated C++ techniques like template metaprogramming and mixins to build the application. They can tell when your application fails to solve their actual problems in a straightforward way or is so late to ship due to project delays that they lose interest in waiting for you to solve their problems.

On the future of CMS (is NPR actually there already?) – CMS Links for October 18th, 2009 –

Justin Cormack recently completed a three part series on the future of CMS that I think nails it. I might be biased because it’s what we’ve been building towards at CIM for the past few years. Go read: “CMS technology choices”, “Content Enabled Vertical Applications and taking the CMS apart”, and “Content enabled vertical applications (composite content applications) – executive briefing” – quote from the second link:

At the application layer, as Stéphane says, everything is a mashup, content from different systems, content from other APIs, this is the we application layer. It needs to be content aware, very much so, but it needs to be an application development environment. This is where most people will see the value added in the content management business, although in fact the value here is in implementation, design and integration services, not the technology itself. Application development environments no longer make a lot of money, and again they are dominated by open source (think Java, Eclipse, JBoss, Django).

Once you take out content infrastructure and application development, and the other tools like search, workflow, there is a core of tools for working with content, to support reuse, refactoring, cleaning, import and export, that one might call a Content Workbench. There is a lot of potential value if these types of tools are the value added end of the business, as they can differentiate vendors and add value. Interfaces for merging changes and so on would be part of this type of toolkit. This is the stuff where good UX means timesaving for content workers, but it is difficult to build on a customized per-project basis, so this still offers value from a particular vendor.

Overall then we see a picture where the monolithic CMS starts to break apart into infrastructure, application and toolkit layers, that can perhaps gradually be mixed and matched together to build content applications. We are just seeing the beginnings of this now.

Peter Monks had a reply to his pieces here: The Future of CMS Technologies.

Meanwhile, NPR is live with a CMS solution that resembles this. Read NPR’s Daniel Jacobson’s guest post on Programmable Web: “COPE: Create Once, Publish Everywhere”.

Content Here’s Seth Gottlieb explains how this approach might be too much for those who need less capability still, he concludes:

…at the very least, every publisher needs to start thinking on this level: creating and storing content in presentation neutral way to keep options open.

This conversation was kicked off by Julian Wraith. Check there for more.

I plan on doing my own round-up, as there are many, many interesting posts worthy of sharing. In addition, I think I’ll share some of my own thoughts as well. Would be great to contribute to the discussion Julian Wraith started instead of staying meta for once 🙂

Who said conversation doesn’t happen across bloggers anymore ?

And on another note, the CMS Myth just had its second anniversary: Two Years On: Still Puncturing Myths & Taking Names

“Programming is an exercise in overcoming how wrong you’ve been in the past.”

Kickingbear: “Blog Archive » Don’t Be A Dick: Compiled Flash and You.”:

Programming is an exercise in overcoming how wrong you’ve been in the past. At first you’ll overcome the syntax errors, then you’ll overcome the structural errors, and then you’ll come to align your code with the standards of a greater community and you’ll feel safe and like you’ve made it. You haven’t – you’re still wrong because you’re always wrong. You are playing a game you cannot win. And let’s face it – if it was a game you could win you’d not be playing at all.

via Arpit’s Web Quotes tumblr

Comic books dealing with mental illness

Darryl Cunningham is a comic book creator, blogger, sculptor and more. He also spent time working in a psychiatric ward.

He is chronicling his experience working in a psychiatric ward in a new graphic novel titled “Psychiatric Tales”. He’s been posting draft chapters of of the book on his blog over the past year.

Every chapter has been speaking to me on one level or another, but I want to call out two for now: “It Could Be You” and “People With Mental Illness Enhance Our Lives”

Along a similar vein is “LOGICOMIX”, a graphic novel documenting the experience of some of the largest names in mathematics, and what they sacrificed to make their contributions, including, sometimes, their mental health.

It’s too easy to go for sound bites and miss the real story – on re-reading “The Freak Revolution Manifesto”

I am guilty of living in the place “The Freak Manifesto” is meant to reach.

Consuming news media 24-7. Not just CNN, but news on every station I can tune into. All the while subscribing to over a hundred RSS feeds tracking stories from innumerable sources on subjects ranging from software engineering to politics, to the future of news journalism, to comic books. Facebook. Twitter. Blogging. Email. Cycle, rinse, repeat.

I feel constantly at odds with myself over the time I spend at home, at work, trying to sharpen the saw and keep myself open friends, family, new experiences. Be a good dad. A good husband. A good co-worker. A good brother, a good friend. Amidst this, trying to figure out how to make a positive change in the world some how, never feeling as though I’ve repaid my debts to those who took a chance on me.

I pretty much feel like I serve all my cares poorly, the guitar on the wall gathering dust.

In that original context I reviewed “The Freak Manifesto”, and in that context I absorbed the headings and pull quotes and missed the greater context of the whole document, which is a bit of a rallying cry for people such as myself, and probably you too if you can relate (I’m sure you can).

Upon re-reading, I don’t find myself agreeing with just 6 of the 44 pages – those that prescribe disconnecting from the control paradigm. It’s not the goal I have a problem with – the goal is admirable and something to work towards – it’s the how.

For example, this section rightly calls out the ills in public education and then suggests home schooling as the solution. I want to *fix* public education, not withdraw from it. A very radical choice here would be to encourage those not attending parent teacher meetings and school board meetings to get involved. Be heard. Fight loud. Hopefully we will live up to this when my daughter starts school – public or otherwise.

Honestly, we (Richelle, my wife, and I) might be looking back at this and realize our choices were incorrect. So our views on this are liable to change over time to those more in agreement with the paper or maybe in some other direction. Parenting is definitively learn-as-you-go and we’re going to adjust as we do so for what works Emma, our daughter.

Then there is the section also advocates opting out of politics. My generation had already done that prior to 2000 and look what happened – George Bush Jr. was elected. My generations’ belief that politics were inconsequential had real consequence. No one thinks the last ten years would have been the same had Al Gore been president. I’m happy to see my generation opting in now. Hopefully its not too late. Sure politics is a game within a game as the paper rightly posits. But change is more likely to happen when there are those on the inside as well as out fighting for it.

And its that last thought that carries for me. Read it. Be challenged. Think.

Don’t do like I did – don’t skim. Read it and let it stir. The world needs people awake and aware. The only way that happens is by confronting ourselves with things that don’t fit our comfort zones, and instead of violently screaming out ‘You Lie!’ – taking a deep breath and recognizing not only are there different points of view, but maybe they have something to teach us. That’s what the “The Freak Manifesto” ultimately is about to me.

I owe the authors an apology for that original interpretation – Thank you for writing it and getting it out here.