WordPress SEO optimization ROCKS!

Image representing WordPress as depicted in Cr...
Image via CrunchBase

One of the things I noticed shortly after switching this blog to WordPress was the terrific support for SEO optimization.  WordPress does a very good job of this itself, with good support for keywords, Meta tags, and so on, but there are also some really fantastic plugins for WordPress that kick it up a notch - I'm using one called All in One SEO Pack that I like a lot.

City of Columbus
Image via Wikipedia

I suspected that this was helping to boost my search rankings, but I just saw a pretty clear indication of the extent.  The post directly under this is all about the 2.Ohio event that was held last night here in Columbus.  As the event was drawing near, the organizers asked the community to tag any related posts with "2dotohio08", and I was happy to oblige.  Today, I noticed that tag among the "searched-for" terms that led someone here, so I googled "2dotohio08" and was really happy to see that post down there sitting right up near the top of the results.

I wish I could take personal credit for that search ranking, but an awful lot of it is due to great standards support from WordPress and the All in One SEO Pack.  If you run the search, you'll also see its entry on MyBlogLog, which seems to help a bit, too.  If you've got a web presence, you really need to pay attention to this stuff, because it's not difficult, and it matters!

Reblog this post [with Zemanta]

2.Ohio was Great!

Thanks to Ben Blanquera and Angela Siefer for putting on a terrific event tonight.  Reid Hoffman and Judy Estrin had some really insightful thoughts on innovation and networking, and Michael Nelson walked us through the effect of government policies on IT.  Craig Newmark also dropped by to add to the celebrity guest list.

As a technology leader, I appreciate the value of Web 2.0 tools and social networking.  All things being equal, we should all be able to log onto LinkedIn and Twitter and conduct our Web 2.0 business without regard for our location.  Columbus, Ohio should be just as hoppin' as Silicon Valley, but it's not.

Continue reading "2.Ohio was Great!"

It’s about time…

Mono
Image via Wikipedia

Mono is going to be represented at Microsoft's PDC this yearMiguel de Icaza, who leads the open-source Mono effort, is going to present a session about Mono and .Net.  If you search this blog for "mono", you'll see that I've been paying attention to these guys for quite a while now, and wondering the whole time why Microsoft isn't paying closer attention.

I'm really encouraged to see that Miguel and the Mono team are getting some exposure.  I still believe there's a lot for both Mono and Microsoft to gain by strengthening this partnership.  Microsoft needs to embrace Linux more than ever before, and frankly, Linux could really stand a little bit of leadership to help that platform coalesce.

Good luck, Miguel!

Reblog this post [with Zemanta]

What is the next VB 1.0?

The four colored boxes is the logo of VBA, and...
Image via Wikipedia

Visual Basic has to be one of the most polarizing technologies of the last twenty years.  No technology is at once as revered as the tool that brought Windows development to the masses, while also being maligned and looked down-upon by "real" developers.  Personally, I don't think there's a bit of doubt about the former, and I think the latter is a sad commentary on the people who trash-talk VB.

Even though I've largely converted to C# development myself, I've got a pretty huge soft spot for VB, because (yes, it's true) it's how I got my start in Windows development.  I wasn't alone; huge numbers of developers flocked to Microsoft development technologies because of VB.  Try as they might, Microsoft hasn't been able to catch lightning in a jar a second time.  They need to -- pretty badly -- if they're to regain dominance in a web world.

Continue reading "What is the next VB 1.0?"

ExpectedException – Doh!

Every time I learn an easier way to do something, I'm glad I learned it, but I feel like an idiot for not finding it sooner.  Here's a perfect example.  Here's the hard way to check for an expected exception in a VSTS unit test:


/// <summary>
/// Test for an expected exception - the hard way
/// </summary>
[TestMethod]
public void TestForExceptionWorse()
{
bool caughtErr = false;
try
{
MyClass.MethodThatThrowsException();
}
catch (SpecificExceptionToCatch)
{
caughtErr = true;
}
Assert.IsTrue(caughtErr, "Expected SpecificExceptionToCatch, but none was thrown.");
}

It turns out there's an easier way to do this:


/// <summary>
/// Test for an expected exception - the easy way
/// </summary>
[TestMethod, ExpectedException(typeof(SpecificExceptionToCatch),
"Expected SpecificExceptionToCatch, but none was thrown.")]
public void TestForExceptionBetter()
{
MyClass.MethodThatThrowsException();
}

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!”"