I couldn’t stand it anymore.

Objectively, it wasn’t that time-consuming. Subjectively?

I’m talking about how I’ve been publishing KJR for years. It’s been … less than elegant.

It is connected to running IT. I think. Bear with me.

I use WordPress to manage the KJR archives. I embed them in my main site on the archives page, courtesy of an <iframe> tag.

But I put the current column and ManagementSpeak on the carefully formatted issurvivor.com home page. That’s been a cut-and-paste operation — three separate cut-and-paste operations — one from MS Word into WordPress, the second from WordPress onto the home page, and the third from the home page into the email transmission. Worse, the headline, sub-head, ManagementSpeak and column text all required separate handling.

It’s been annoying because: It’s cumbersome; it takes about a half hour a week; and it’s stupid.

So I finally bit the bullet. Time to make the current ManagementSpeak and column material automagically appear on the issurvivor.com home page from WordPress.

I’ll spare you [some of] the details, which involved much more about PHP, WordPress, and cascading style sheets than I’d ever wanted to know.

But along the way I was reminded of some principles that also apply to much larger operations than mine. Starting with:

Wrapper your data: WordPress runs on MySQL. Going after the database with SQL code would have been way too much work, starting with figuring out the WordPress table structure.

Fortunately, WordPress spared me that particular agony. It provides functions that navigate the database for me.

Do the same. Give everyone canned data views to work with. It makes everyone faster and makes debugging much easier.

Strategize first. Re-strategize second. And sometimes third. Then code. My first thought was to retrieve the week’s posts via their unique WordPress identifier, then call up the page invoking a custom template. But that meant … oh, never mind. I promised to spare you the details. Short version: After a couple of blind alleys I figured out I could get the job done quite efficiently using categories.

The point: Choose the right programming strategy carefully and everything that follows is a lot easier.

Assume the tools are there: Same example, different lesson. Far too many companies that implement large COTS solutions mess with core code or build satellite applications, assuming the COTS solution doesn’t come with tools that will get the job done for you within the solution architecture.

Maybe not, but don’t assume it. Instead, invest in creating system gurus who know the system inside and out. Solutions that use the systems architecture are almost always less expensive, more robust, and easier to maintain than the alternatives.

And they’re usually there. In my case, WordPress had everything I needed to get the job done, other than positioning things on the home page which I was able to accomplish with a <table> and a couple of <iframe> tags.

There’s always one more complication: I needed different header fonts for the home page than for the archives. I had to figure out how to add them to the .css file, and how to invoke them from a template.

I also needed a header that didn’t include the top-bar … the bar that includes tabs and a search box. That mean figuring out how to add and invoke an alternative header file.

Read the syntax carefully: Turns out, alternative WordPress header files must have names structured as “header-xxxxx” but are invoked by “xxxxx“. That took me a half-hour to figure out.

Also (I’m embarrassed about this one) … if you don’t put a </iframe> tag after your <iframe> tag, nothing else will render on your page. That only took fifteen minutes to debug.

Know when good enough is good enough: The new home page looks marginally less attractive. To compare, go to https://issurvivor.com. You’ll find an “Old Home” link at the bottom.

Also: In the archives, click on the current column or ManagementSpeak. You’ll find they look pretty raw. I figured, who’s going to do that when they’re already formatted quite nicely on the home page?

The way I figure it, saving twenty minutes and the feeling of doing things stupidly every week makes these minor cosmetic deficiencies worthwhile trade-offs.

There’s something peculiarly satisfying about writing code that works: If you’ve ever written code for a living, you know this. If you haven’t, you probably don’t, but if you lead developers you need to.

Because knowing what makes the people you lead tick makes you a better leader.

The U.S. system for issuing software patents is completely broken, and easily fixed.

The fix first: All Congress has to do is add these words to the existing body of patent legislation: Notwithstanding the above, no patents shall be issued for any software inventions and existing software patents shall be summarily revoked.

Disagree? Hold that thought.

Search for commentary on what’s broken about the software patent system and how to fix it and you’ll find no shortage (the best: Joel Spolsky’s “Victory Lap for Ask Patents,” Joel on Software 7/22/2013).

The widespread consensus is that the software patent system is broken.

Some numbers: The U.S. Patent and Trademark Office (PTO) receives about 40,000 new applications a year for software patents, swamping the ability of patent inspectors to separate the few grains of wheat from the abundant chaff. Because seriously, based on your knowledge, experience, and judgment, do you think there are 40,000 non-obvious ideas each year about something new and interesting that software can do? Me neither.

Take a SWAG for the time each patent application requires. Call it maybe 100 hours of total effort on the part of the software engineers responsible for these “inventions,” the attorneys responsible for shepherding them through the process, and the patent examiners who have to process them?

This is a very conservative estimate, and it means the filing process alone drains four million hours of work each year out of the economy on the part of people who have some smarts and talent to offer.

Add the cost of litigation. The courts process more than 4,000 infringement cases each year, which on average cost about $2 million to defend, and about half of which are for software patents. That’s $4 billion a year in direct costs spent defending against software patent infringement cases, not including the large but impossible-to-estimate opportunity cost of time and effort not available for innovation.

Is this crippling? No, if you think it’s mostly spent by the likes of IBM, Oracle, Apple, and Microsoft. Also no in the context of the amounts spent on research and development: $4 billion a year is about 1 percent of U.S. R&D spending.

But in the context of where software innovation comes from, $4 billion is a lot of money, because a lot of software innovation comes from small players that can’t afford to defend themselves against patent trolls, and instead choose the cheaper alternative of buying them off.

But never mind all that. To understand why Congress should abolish all software patents, we all need to recognize a major and widespread misunderstanding about the purpose of the whole patent system.

Blame the legal community. They’ve taught us to use phrases like “Intellectual Property” to describe what patents and copyrights are supposed to protect.

As Orwell pointed out, control vocabulary and you control thought. Patents and copyrights actually have nothing at all to do with property rights. Don’t believe me? Here are the exact words as they appear in Section 8 of the United States Constitution: The Congress shall have power … to promote the progress of science and useful arts, by securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries …

See the word “property”? Me neither. The purpose of having patents at all is to promote the progress of science (and, presumably, technology), not to protect property rights.

Look, more software innovation comes from the open source community these days than from anywhere else. The cloud relies heavily on open-source technologies. Nearly every new programming language that’s appeared in the last decade is open source. Most blogging is done using open-source toolkits.

And in open-source-land the only intellectual property protection software receives is protection from intellectual property protection.

It’s abundantly clear that the main impact patent protection has on software innovation is to stifle it.

The inference is inescapable. Software patents subvert the clear words of the Constitution — they are, in a word, unconstitutional.

Which in a better world would mean Congress wouldn’t even need to act, because the Supremes could take care of the whole problem in a single, easy-to-explain precedent.

Don’t hold your breath. Not because it’s unlikely, but because I’ve applied for a patent on breath-holding as a method for accelerating results.

You could defend yourself against the infringement suit I’ll otherwise file against you, but really, wouldn’t it be easier to just send me a check to make me go away?

* * *

Yes, I know. Unless you’re a member of Congress there’s nothing in here this week that’s of any practical value to you. Sorry. Next week for sure.