The Great Lies of Software Architecture

NEW YORK - MAY 22:  People walk towards Manhat...
Image by Getty Images via Daylife

I was staggering through my RSS feeds tonight, wondering how many more blatant insanities our elected officials would be able to unleash on us this week, when Jeremy Miller's blog post tonight reminded me that we've no further to look than our own trade.  Take a minute and go read it - it's a narrowly-targeted rant, and a quick read:

Separate Assemblies != Loose Coupling

I agree with Jeremy on all counts, but I'll add a couple more logs on the fire.  The bit about "can you change one thing without messing up others" struck a nerve, but I've seen multiple architectures recently that seem to be even worse than this.

It's bad enough, after all, to inadvertently create a fragile architecture stack such that you "may" have to propagate change from assembly to assembly, but I'm seeing a lot of solution stacks where the normal development use case is to have to make changes in a half-dozen or more assemblies every time the smallest change is required.

Continue reading "The Great Lies of Software Architecture"

Selling Architecture, Redux

Construction works at a prefabricated house
Image via Wikipedia

Architecture is a tough sell.  It rarely is linked directly to the delivery of a feature, much less is a feature.  And without that tie-in, business leaders won't approve the time and expense to build or improve your architecture.

Of course, as software professionals, we understand why architecture is important.  You can build almost any individual feature without investing in any meaningful architecture, but it probably won't work well, and it's certain to be difficult to maintain.  A good architecture can make development proceed more quickly, make it more likely that you'll hit your delivery dates, and make maintenance far easier.

Continue reading "Selling Architecture, Redux"

Use a null SMTP server for testing

Note: While the article here is still correct in general, the links and technologies are pretty badly dated. One of the more popular contemporary alternatives is MailTrap -- their site includes some great additional background on mail protocols, too.

[Updated 3/2020]

It's not uncommon for companies to have SMTP servers locked down so that only a limited set of machines are able to send email. They might do this by requiring authentication or by blocking port 25 for all but "known" server hardware. This makes a great deal of sense in the face of zombies and spam and all manner of email-propagated evil, but when you're testing an email-enabled application, it can put a real cramp on your progress.

In some cases, you can get away with running a full-blown SMTP / POP server on your desktop, or maybe you've got the freedom to set up a machine or a VM. This can be more hassle than it's worth, though, in some cases. It's a hassle to set up, it's going to suck up a noticeable chunk of resources on your desktop, and maybe the biggest issue - you don't really want to deliver all those emails!

Continue reading "Use a null SMTP server for testing"

Get to the “Wow!”

I read a blog post on the signal to noise site today that made me reflect on the perils of selling software.  Matt was reacting to a video he saw for a new handheld reader, and he noted that the demo in the video cuts directly to the "wow" factor for this device, and then points out that the company's web site completely fails to do this.

This sure sounds easy, doesn't it?

Live demos are really hard to pull off well.  I remember trying to sell a software product a few years ago, and it just didn't leap off the screen in demo situations.  The technology was good, but the "wow" factor was just a little too subtle for most people to appreciate.  I don't recall ever having an exciting demo until our CEO slipped on one conference call and told our prospect that the next release of our software was going to have "virgin control"!

Continue reading "Get to the “Wow!”"

Drive Backup 9.0 Express – a really bad start

I'm slowly weaning myself off Vista on my home PC and onto Ubuntu, because Vista just continues to disappoint me day after day.  I've pared my Vista install down to just the basics now, and I'm setting it up to dual-boot to either Vista or Ubuntu.

Paragon Software Group

Before I go messing with boot sectors, though, I plan to take a backup of my system.  The last experience I had with Windows Backup wasn't stellar, and as luck would have it, I just read a blog post announcing a free personal backup program from Paragon Software Group called Drive Backup Express.  It's supposed to be really simple, and really foolproof.  Perfect, I thought - I'm in!

Continue reading "Drive Backup 9.0 Express – a really bad start"

What Chrome means for developers

google_chromeBy now, you've surely seen every blogger on the planet sound off on Google's new browser.  There are dozens of reasons why this is an important development, and hundreds more if you speculate on ulterior motives.  I'll leave you to consider the overall market impact of this new browser, but if you develop web applications, there are some specific implications that I believe we're going to see in the next 18 months or so.

First, consider how Google's introduction of Chrome differs from the birth of any other browser.  After all, it's been a long time since a new browser garnered this sort of attention.  Not since Microsoft introduced Internet Explorer have we seen a browser hit the market as a predestined market contender.  Firefox, Opera, and Apple's Safari have built sizeable market share since their introductions, but it's happened over time.

Continue reading "What Chrome means for developers"

English grammar no longer required for CNN editorship

This is the dateline from a real CNN article:

NEW YORK ( -- Hurricane Gustav could inflict as much as $10 billion in damage, making it one of the more costliest storms in U.S. history.

Image via Wikipedia

As a software professional, I'm constantly amazed at the number of people I work with on a daily basis who routinely master dozens of computer languages, but butcher English.  Granted, the "grammar checking" tools available to us can't hold a candle to the syntax help we get with most IDE's, but I think the point is still valid.

Sadly, though, it appears that the typical American continues to become less proficient in the use of the English language as each year passes.  You can hang the blame on everything from our schools to the rise of IM and texting, but it's clear that people just don't give a damn about grammar anymore.
Continue reading "English grammar no longer required for CNN editorship"