Thursday, May 31, 2007

Microsoft, Software Patents, Concavity

Fortune recently ran an article, Microsoft takes on the free world, announcing that Microsoft was going to be asserting its patent rights against patrons of free and open source software (FOSS). The article starts off all gloom and doom for FOSS, but ends up pretty well-balanced.

However, Fortune senior editor Roger Parloff and I are diametrically opposed when it comes to our conclusions. Mr. Parloff refers to Microsoft's claim that FOSS software infringes on 235 Microsoft patents as "a breathtaking number."

My reaction to this number is: 235? That's it? Microsoft examined their patent portfolio and could only find 235 patents that might be infringed upon by the entire corpus of FOSS?!

That's embarassing.

Microsoft has dominated desktop computing for over 15 years. I'd expect them to have a lot more than 235 patents to trot out considering they are claiming infringement in the Operating System and GUIs (Windows), Office Productivity (Office), and E-mail (Outlook) software. I expect they've kept some in reserve as backup ammunition for the ones that get invalidated or circumvented, but it doesn't seem to even be the right order of magnitude for the industry to be concerned.

The fact of the matter is that Microsoft has not been a leading innovator in computing. They aren't even close to holding the good cards in this game. IBM is -- and IBM likes FOSS. IBM was granted the most US patents in 2006 with a total of 3,651. They have been granted the most US patents on an annual basis for 14 years in a row. Microsoft did not make the top ten last year, though HP, Hitachi, Toshiba, and Intel did. Each of these companies makes significant use of FOSS in products or solutions. Microsoft appears to hold between 5000 and 7000 patents total.

Microsoft's announcement is starting to look like a good bit of Fear, Uncertainty, and Doubt (FUD). Ironically, FUD was invented, though not patented, by IBM back when they were trying to crush Amdahl.

The real bad news [for Microsoft and its shareholders] in this story is that it appears Microsoft plans to profit from their patents by:
Smith [Microsoft's general counsel] was not to be deterred. Since the GPL covered only distributors of Linux, nothing stopped Smith from seeking royalties directly from end users - many of which are Fortune 500 companies. He would have to proceed carefully, however, because most of those users were also major Microsoft customers.

Microsoft is going to seek royalties from their own customers when those customers use certain free or open source software. And what will Microsoft do when a customer doesn't want to pay up?
  • Will Microsoft not sell them Microsoft products? Is this an anti-trust violation due to Microsoft's monopoly status?
  • Will Microsoft sue that customer to enjoin them from using the "infringing" software?
  • Will they just move on to the next customer / sucker?
How long will it take for CIOs and Chief Counsels of Microsoft "customers" to start comparing notes about the deals they got? When will they band together and strike back?

I think this "strategy" indicates that Microsoft's shareholder value curve just hit an inflection point and is now concave down after being flat for the last 7 years. If Microsoft continues this course, the best they can hope for is a repeat of SCO's performance, which is not ending well for SCO. Note that SCO is widely considered as a proxy for Microsoft in the FOSS community. The worst thing that could happen for Microsoft and everyone else is for "patent Armageddon" to be unleashed. Microsoft's Smith knows this is a possibility:
"The only real solution that [the free-software] folks have to offer," Smith says, "is that they first burn down the bridge, and then they burn down the patent system. That to me is not a goal that's likely to be achieved, and not a goal that should be achieved."

Not surprisingly, I disagree with Smith. Microsoft will lose quickly, and authoritatively as patent arsenals 10-100x the size of Microsoft's arsenal are unleashed upon it. The downside for the existing leaders of the software industry is that patent Armageddon would inject massive instability as the concept of software patents gets sorted out. Long-term I suspect this might be a good thing as the USPTO is granting many software patents for derivative, obvious, and non-novel work, but it's sure to cause massive blood-letting in the short-term.

Now, I've got to get back to coding my FOSS project. :)

Saturday, May 12, 2007

New Addition to the Family

We (and by we, I mean I) have made a new addition to our family. Please welcome Jeeves. Jeeves is our new bellhop-dog. Not only does Jeeves welcome visitors instead of barking at them, he gladly holds keys and leashes in a most convenient spot next to the front door. We're also teaching him how to take people's coats. This is not going so well, but fortunately for us, this does not come up very often in Phoenix.

If you are interested in a bellhop-dog, check out Bombay Co.

Friday, May 11, 2007

We're Moving

We bought a house and we'll be moving around June 15. For those familiar with Chandler, it's around Ray and McQueen. We have a park and school nearby. Hopefully I can teach Jojo to cool off by jumping in the pool after our runs.

Thursday, April 19, 2007

ClearCase is Dead! Long Live Subversion!

I finally met my limit with ClearCase at work today and migrated to Subversion.

I originally thought this migration would cost me about 3 days. It actually only cost me about 3 hours. Many thanks to the "One-Click" Subversion Installer.

Open Source Rocks.

I quite like Subversion so far.

Thursday, March 29, 2007

Great Article on Load Balancing

Willy Tarreau, the author of HAProxy, has posted a terrific article on Making Applications Scalable with Load Balancing. If I ever build a site needing to serve more than a few hundred thousand sessions per day, I'll be sure to re-read the article.

Wednesday, March 28, 2007

ClearCase Considered Harmful

I'm a big fan of Configuration Management, and I am a long-time user of CVS and short-time user of Subversion. My current project uses ClearCase, which is often considered to be the leading product in the industry. Initially, I was very excited to use ClearCase, because it is [supposedly] designed with the software development process in mind -- especially when using the Unified Configuration Management model. This is in contrast to CVS and Subversion which does not force users to work in any particular way; note that this is often cited as a deficiency of CVS / Subversion.

First the good, ClearCase :
  • is very good at merging changes or at least, I think it is -- I was warned off branches (activities in UCM ClearCase)
  • can show you, continuously, what the combination of arbitrary streams of development would look like (say, a development branch and a release branch)
Now the bad, ClearCase:
  • sometimes decides not to write changes to certain files to disk, so even though changes are hitting the filesystem in some files, they aren't in others. i.e., your editor sees one thing, your compiler and unit tests another. Get set to reboot and rewrite!
  • will not let you make any change to any file that is not checked out; this doesn't sound too bad at first, but think about how many times you just want to crack open a file and put a couple of print statements in it to figure out if you need to change it. This also inhibits refactoring.
  • is slow to perform common operations (checkout, refresh) and fast to perform uncommon ones (baseline, graph history)
  • has many separate user interfaces for no particular reason, as far as I can tell. There's no equivalent of WinCVS or TortoiseSVN. Note, I'd probably rather be using the command-line interface (cleartool), anyway, but I am having such a difficult time grasping it (see next point) that I'm afraid to try it. In particular, the UI presented by the IBM Rational Software Development Platform, which is based on Eclipse, is abysmal. I actually find the ClearCase plugin for NetBeans far more usable, which is pretty amazing considering that the Rational SDP is a product sold / bundled by IBM and the NetBeans plugin isn't.
  • causes everyone around to disavow any knowledge of it -- maybe some people do know it and just don't want to share because they're busy, but I doubt it. Nobody seems to get ClearCase and all mumble about using something easier.
In the end, I think ClearCase is too sophisticated for its own good, even when using the simplified UCM model, especially for small teams. It's clear to me that I'm probably not going to get much better at ClearCase without some training by an experienced user. I've already got one of the best books available for ClearCase and it's not helping.

I think I might just set up a Subversion repository, do all my work there, and check it into ClearCase when I'm done. I'd probably have a net time savings after the first 3 days of use.

Saturday, March 17, 2007

Essential Browser Plugins for Web Developers

I'm developing a web application that makes significant use of AJAX to improve usability. Inspection of the live DOM and JavaScript is the easiest way to debug the code. In Firefox, there is great plugin support for this:

  • HTML Tidy - validates HTML against the referenced DocType; I treat this as sort of a "compile" check
  • Web Developer - supports live DOM inspection, live CSS editing, resizing the window to particular resolutions, cookie and cache management, and much more
  • Firebug - live inspection and debugging of JavaScript, CSS, and DOM
I also found a really nice plugin this week for Internet Explorer, the Internet Explorer Developer Toolbar. This plugin does most of what the Web Developer plugin for Firefox does, except for the live CSS editing.

Being able to "find element by click" makes working in both browsers much easier. I am still looking for a JavaScript inspector / debugger for IE. Unfortunately, the current code's HTML and JavaScript is tied to IE in certain places because I haven't had the chance to add id elements and such so I can't just do the debugging in Firefox. I will probably integrate MochiKit so I don't alert myself to death.

Sunday, February 18, 2007

The Art of SQL - Book Review

The Art of SQL teaches the general skills and describes the subtlties necessary to use a relational database management system (RDBMS) properly. Stephane Faroult focuses on why and when the strategies he details are appropriate. This is not a tips 'n' tricks for [PostgreSQL / Oracle / MySQL] book.

I really enjoyed this book and highly recommend it to anyone responsible for designing an application's data model or improving an existing one.

The Art of SQL is written in a very personal, humorous way and I could tell I was learning from Faroult's hard-earned lessons. I read most of this book while attending an "Art of Teradata" class / seminar taught by a top-shelf Teradata consultant. Both the Art of SQL and Teradata are strong proponents of properly normalized data models and I have to say I've drunk that Kool-Aid. That I've also fixed several de-normalization problems probably helps with that, too.

Remember...schemas are forever. This book can help you to avoid creating a mistake or help you get out of one.

New Job - Avnet

Oops, I've done it again.

I've accepted a position at Avnet and I'm really looking forward to it. I'll be the technical lead for a team building applications to support Avnet's supply chain. Since Avnet's business is distribution of electronics (like what Freescale, my soon-to-be-former employer, manufactures), my work will have a direct impact on the revenue-producing portion of Avnet's business.

This is my favorite place to be.

Sunday, January 21, 2007

LEGO - Circle Circle Dot Dot

I ran across this on YouTube today. If you like LEGO, you gotta check it out:
http://youtube.com/watch?v=O-tkqpHnxTI

The song, 'Circle Circle Dot Dot' is from Jamie Kennedy's 'Blowin Up' album. I'm going to have to check that out...

If you've personally posted something on YouTube, please send me a link.

Sunday, December 31, 2006

I Love Poppers - the T-Shirt

Our friends Allie and Jason gave me an custom made t-shirt that says:
I LOVE POPPERS
on the front above a Jalapeno.

I love this t-shirt.

The shirt has entered my favorite t-shirts rotation and will be making bi-weekly appearances at Costco and Target. See you there.

The t-shirt was made at uberprints.com.

Friday, December 29, 2006

'95 Eclipse GSX - For Sale

My 1995 Mitsubishi Eclipse GSX is for sale:


The car has a lot of performance parts installed and is in good shape, mechanically. Full details and more pictures are available. I am asking $6,250.

If you or anyone you know is interested, drop an e-mail to skuenzli "at" gmail "dot" com.

Monday, December 25, 2006

Merry Christmas!

Love,
Stephen, Jen, and Jojo

Monday, December 04, 2006

We Set a Date

Jen and I are going to get married on November 3, 2007. The location is Poolenalena Beach on Maui, HI.

I, and my groomsmen, will be wearing Hawaiian shirts. No joke.

I love Jen.

Monday, November 13, 2006

What goes with poppers?

I love poppers.

Sometimes I eat them plain, or with ranch dressing (worlds collide!). Today, I tried them with Mrs. Renfro's Habanero Salsa. That's some good snackin' -- the best yet.

I need to whip up some spicy guacamole. That could be a good match.

Are you partial to a particular popper pairing?

Tuesday, November 07, 2006

Hidden Value - Book Review

Stephen: Honestly? No, I wouldn't hire you as a sustainer.
Jen: Are you kidding? I sustained RTD and MID for years!
Stephen: [hmm...the truth might not have been a good idea]

Hidden Value is a book by Charles O'Reilly about people, companies, culture -- and how the right mix can accomplish great things. I'd go so far as to call it a great, even inspiring, book. I took notes.

The central idea of the book is that by fostering an environment of:
  • teamwork
  • accountability
  • collaboration
  • autonomy
  • trust
companies can yield the benefits of employees who take ownership of their work environment and do the right thing to improve it.

Manage less, trust and verify more.

Nice.

Hidden Value also emphasizes the importance of hiring people that fit will fit into the company's culture. Cultural fit is considered more important than an aptitude for specific skills. Herb Kellher, longtime CEO of Southwest Airlines is quoted as saying:
"We draft great attitudes. If you don't have a good attitude, we don't want you, no matter how skilled you are. We can change skill levels through training. We can't change attitude."
This is a fabulous approach for a large company, especially one such as Southwest Airlines where a star pilot is probably not more than 10% better than the median pilot. This probably still applies to a good extent in a small software company. The difference between a star and the median developer in the software industry is probably 100-1000% when measuring both quantity and quality. However, I don't think it's possible to hide a bad attitude from a customer in a small company. The attitude of developers is bound to bleed into a small software company's products and services.

If a company treats its people like people, and not assets, then it is in a great position to ask its people to treat its customers like people too. Customers like being treated like people because they are people. Having happy customers makes it a lot easier to get and maintain a positive income statement.

QED or something like that.

So, would I still tell Jen I wouldn't hire her as a sustainer? I don't know. I do know I would have broadened my "interview" question from:
"Have you used Perl or another scripting language to automate system maintenance?"
to:
"Have you ever written a program to automate something you found repetitive or error-prone?"
I think this is a much better question because it focuses more on the desired behavior than a particular skillset. I certainly agree with Herb that a scripting language skill can be taught, whereas the desire to automate work that can be automated is not likely to be taught. It's probably best not to pay someone while you wait for a behavior "light" to come on.

Sunday, October 22, 2006

The Purple Nugget

Here is the story of our engagement weekend...


The Occasion
Our friend Horacio is in the Navy and is headed to Iraq. I offered to drive his vehicle from his home in San Diego to his family in Tucson. I asked Jen if she wanted to go to San Diego with me. She asked if we could go to the Hotel Del Coronado in order to check a box in the 1000 Places to See book and also to the diamond district in L.A. So, not only did she set the stage for the proposal, she also pretty much told me what the answer would be.

In baseball, this situation is what is referred to as a meatball.

The Del
We earned our checkmark at the Del with a tour of the hotel and a couple glasses of wine. There was a wedding and reception in progress, which naturally turned the conversation to the lovely question of "when are we getting married?" My answer of "I don't know, I'm not sure," garnered a frown, but such is the stuff of great dramas.

Sensing now was the time for a change of venue, I paid the check and suggested a walk down the Silver Strand.

The Question
We chatted about our future as we walked along the beach. Just before dusk hit its head on the horizon, I:
  1. dropped one knee into the sand
  2. pulled out The Purple Nugget
  3. asked Jen if she would marry me
Jen responded with:
  1. shock
  2. laughter
  3. a huge smile, and one word:



"Yes"






She also said "oh my God, it's hideous" and "do I have to wear it?" So...I count three yeses.





The Ring

Intrepid reader: She laughed? Isn't that a bad thing?
Me: Nope, this was by design. You see, it is pretty unreasonable for someone who wears blue whenever he can to pick out an engagement ring. Believe me, there were plenty of hints along the way indicating that she wanted to be "involved" in that process.

So how do you surprise your honey with a ring and let her pick her engagement ring? By giving her a reference to an engagement ring, of course!

Enter The Purple Nugget:


The Purple Nugget is somewhat of an inside joke, as whenever we make one of our frequent trips to Kohl's we get to look at all the jewelry. The Mystic Topaz rings are a prominent, hard-to-miss feature in the case. Now, I actually think the ring is nice enough that it can make appearances at parties and such in our future. Jen's initial reaction of shock and (horrified) laughter made this look doubtful, but she has become quite fond of it since. We decided that it makes Jen look like the female counterpart to a certain superhero.

Afterword
Jen and I spent a week ring shopping and the real deal is scheduled to arrive soon. So, The Purple Nugget may be going to the right hand or in a jewelry box, but we will always have the story.

Wednesday, October 18, 2006

We're Engaged!

I proposed to Jen this past weekend. She made me very happy by saying yes. We are both very excited. I will post the full story and pictures later, but for now you'll have to do with a simple FAQ:

Q: Are you crazy?
A: Yes, though I prefer you to use the term eccentric.

Q: Have you picked a date, location, etc yet?
A: No, but I am sure these details will be posted here or at kuenzli.org when they become available. Have faith in the SuperNerd.

Q: What does the ring look like?
A: It's round and has a giant rock on top...but actually that will be changing due to the way the proposal "went down." The previously-promised full story will clarify this bit.

Q: Are you excited/pumped/ecstatic?
A: Absolutely. Jen is the bomb and I think we are perfect for each other.

Q: Who is this mysterious "Jen" and why doesn't she have a blog?
A: Hmmm... That is an excellent two-part question. I will have to talk to her about getting a blog so that she can reveal all sorts of exciting details. For now, you can look through my pictures at kuenzli.org starting with Costa Rica and later. If there is a girl in the picture, it is probably Jen.

Tuesday, September 12, 2006

Florida Pictures Available

Our Florida pictures are available here:
http://kuenzli.org/stephen/

We had a great time. Our itinerary was:
  1. Manatees in Crystal River
  2. Florida Aquarium in Tampa Bay
  3. Dali Museum in St. Petersburg
  4. Epcot Center at DisneyWorld, Orlando
  5. Tara and Wes' Wedding on the Boardwalk at DisneyWorld, Orlando
  6. Kennedy Space Center in Cape Canaveral
  7. Little Havana in Miami
  8. The Everglades
  9. Miami Beach, South Beach, Key Largo, Coconut Grove, Coral Gables 'in Miami'
I love Cuban food.

Thursday, August 31, 2006

New J-O-B

I accepted a new position on the Enterprise Portal and Intranet Applications (EPIA) team within Freescale IT. We are responsible for maintaining a lot of Freescale's internal websites. We don't do the external site (www.freescale.com), but we sit next to the people who do.

On the technology front, I'm looking forward to learning a lot of new stuff, like Struts, Python, and NetWeaver. I'm also looking forward to sharing what I know about Spring, Rails, and Maven.

On the people and experience front, I am excited to meet Freescalers from many different parts of the business: sales, engineering, finance, and human resources.

On to the next chapter...